thirdweb 5.47.1-nightly-574ff0295dcbb39f2ddd753c9e8a264498aae99e-20240819000344 → 5.48.0-nightly-cbd6fd87d0120c6013ef354fe8ff22293e4c08e2-20240820000346

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/dist/cjs/exports/utils.js +7 -1
  2. package/dist/cjs/exports/utils.js.map +1 -1
  3. package/dist/cjs/extensions/erc721/read/getOwnedNFTs.js +1 -0
  4. package/dist/cjs/extensions/erc721/read/getOwnedNFTs.js.map +1 -1
  5. package/dist/cjs/react/core/hooks/transaction/transaction-button-utils.js.map +1 -1
  6. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js +10 -1
  7. package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  8. package/dist/cjs/react/core/hooks/wallets/useAddConnectedWallet.js +23 -0
  9. package/dist/cjs/react/core/hooks/wallets/useAddConnectedWallet.js.map +1 -0
  10. package/dist/cjs/react/native/ui/connect/ConnectModal.js +1 -0
  11. package/dist/cjs/react/native/ui/connect/ConnectModal.js.map +1 -1
  12. package/dist/cjs/react/native/ui/transaction/TransactionButton.js +1 -1
  13. package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js +23 -37
  14. package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
  15. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +2 -2
  16. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  17. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js +3 -1
  18. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js.map +1 -1
  19. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +1 -1
  20. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
  21. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js +8 -6
  22. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  23. package/dist/cjs/react/web/ui/ConnectWallet/locale/en.js +1 -1
  24. package/dist/cjs/react/web/ui/ConnectWallet/screens/Details/WalletManagerScreen.js +2 -2
  25. package/dist/cjs/react/web/ui/ConnectWallet/screens/Details/WalletManagerScreen.js.map +1 -1
  26. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +1 -1
  27. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -1
  28. package/dist/cjs/react/web/ui/TransactionButton/index.js +1 -1
  29. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js +4 -0
  30. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  31. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js +70 -0
  32. package/dist/cjs/react/web/wallets/in-app/WalletAuth.js.map +1 -0
  33. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +9 -1
  34. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  35. package/dist/cjs/react/web/wallets/shared/ErrorState.js +14 -0
  36. package/dist/cjs/react/web/wallets/shared/ErrorState.js.map +1 -0
  37. package/dist/cjs/react/web/wallets/shared/LoadingState.js +19 -0
  38. package/dist/cjs/react/web/wallets/shared/LoadingState.js.map +1 -0
  39. package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js +6 -20
  40. package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
  41. package/dist/cjs/react/web/wallets/shared/locale/de.js +1 -0
  42. package/dist/cjs/react/web/wallets/shared/locale/de.js.map +1 -1
  43. package/dist/cjs/react/web/wallets/shared/locale/en.js +2 -1
  44. package/dist/cjs/react/web/wallets/shared/locale/en.js.map +1 -1
  45. package/dist/cjs/react/web/wallets/shared/locale/es.js +1 -0
  46. package/dist/cjs/react/web/wallets/shared/locale/es.js.map +1 -1
  47. package/dist/cjs/react/web/wallets/shared/locale/fr.js +1 -0
  48. package/dist/cjs/react/web/wallets/shared/locale/fr.js.map +1 -1
  49. package/dist/cjs/react/web/wallets/shared/locale/ja.js +1 -0
  50. package/dist/cjs/react/web/wallets/shared/locale/ja.js.map +1 -1
  51. package/dist/cjs/react/web/wallets/shared/locale/kr.js +1 -0
  52. package/dist/cjs/react/web/wallets/shared/locale/kr.js.map +1 -1
  53. package/dist/cjs/react/web/wallets/shared/locale/tl.js +1 -0
  54. package/dist/cjs/react/web/wallets/shared/locale/tl.js.map +1 -1
  55. package/dist/cjs/react/web/wallets/shared/locale/vi.js +1 -0
  56. package/dist/cjs/react/web/wallets/shared/locale/vi.js.map +1 -1
  57. package/dist/cjs/transaction/actions/gasless/providers/biconomy.js.map +1 -1
  58. package/dist/cjs/transaction/actions/gasless/providers/engine.js.map +1 -1
  59. package/dist/cjs/transaction/actions/gasless/providers/openzeppelin.js.map +1 -1
  60. package/dist/cjs/transaction/prepare-contract-call.js +1 -1
  61. package/dist/cjs/transaction/read-contract.js +21 -2
  62. package/dist/cjs/transaction/read-contract.js.map +1 -1
  63. package/dist/cjs/utils/bigint.js +2 -0
  64. package/dist/cjs/utils/bigint.js.map +1 -1
  65. package/dist/cjs/version.js +1 -1
  66. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js +1 -1
  67. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  68. package/dist/cjs/wallets/manager/index.js +0 -1
  69. package/dist/cjs/wallets/manager/index.js.map +1 -1
  70. package/dist/cjs/wallets/types.js +0 -1
  71. package/dist/cjs/wallets/types.js.map +1 -1
  72. package/dist/esm/exports/utils.js +4 -0
  73. package/dist/esm/exports/utils.js.map +1 -1
  74. package/dist/esm/extensions/erc721/read/getOwnedNFTs.js +1 -0
  75. package/dist/esm/extensions/erc721/read/getOwnedNFTs.js.map +1 -1
  76. package/dist/esm/react/core/hooks/transaction/transaction-button-utils.js.map +1 -1
  77. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js +10 -1
  78. package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
  79. package/dist/esm/react/core/hooks/wallets/useAddConnectedWallet.js +20 -0
  80. package/dist/esm/react/core/hooks/wallets/useAddConnectedWallet.js.map +1 -0
  81. package/dist/esm/react/native/ui/connect/ConnectModal.js +1 -1
  82. package/dist/esm/react/native/ui/connect/ConnectModal.js.map +1 -1
  83. package/dist/esm/react/native/ui/transaction/TransactionButton.js +1 -1
  84. package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js +24 -38
  85. package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
  86. package/dist/esm/react/web/ui/ConnectWallet/Details.js +2 -2
  87. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  88. package/dist/esm/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js +3 -1
  89. package/dist/esm/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js.map +1 -1
  90. package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +1 -1
  91. package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
  92. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js +8 -6
  93. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  94. package/dist/esm/react/web/ui/ConnectWallet/locale/en.js +1 -1
  95. package/dist/esm/react/web/ui/ConnectWallet/screens/Details/WalletManagerScreen.js +3 -3
  96. package/dist/esm/react/web/ui/ConnectWallet/screens/Details/WalletManagerScreen.js.map +1 -1
  97. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +1 -1
  98. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -1
  99. package/dist/esm/react/web/ui/TransactionButton/index.js +1 -1
  100. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js +4 -0
  101. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  102. package/dist/esm/react/web/wallets/in-app/WalletAuth.js +67 -0
  103. package/dist/esm/react/web/wallets/in-app/WalletAuth.js.map +1 -0
  104. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +10 -2
  105. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  106. package/dist/esm/react/web/wallets/shared/ErrorState.js +11 -0
  107. package/dist/esm/react/web/wallets/shared/ErrorState.js.map +1 -0
  108. package/dist/esm/react/web/wallets/shared/LoadingState.js +16 -0
  109. package/dist/esm/react/web/wallets/shared/LoadingState.js.map +1 -0
  110. package/dist/esm/react/web/wallets/shared/PassKeyLogin.js +4 -18
  111. package/dist/esm/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
  112. package/dist/esm/react/web/wallets/shared/locale/de.js +1 -0
  113. package/dist/esm/react/web/wallets/shared/locale/de.js.map +1 -1
  114. package/dist/esm/react/web/wallets/shared/locale/en.js +2 -1
  115. package/dist/esm/react/web/wallets/shared/locale/en.js.map +1 -1
  116. package/dist/esm/react/web/wallets/shared/locale/es.js +1 -0
  117. package/dist/esm/react/web/wallets/shared/locale/es.js.map +1 -1
  118. package/dist/esm/react/web/wallets/shared/locale/fr.js +1 -0
  119. package/dist/esm/react/web/wallets/shared/locale/fr.js.map +1 -1
  120. package/dist/esm/react/web/wallets/shared/locale/ja.js +1 -0
  121. package/dist/esm/react/web/wallets/shared/locale/ja.js.map +1 -1
  122. package/dist/esm/react/web/wallets/shared/locale/kr.js +1 -0
  123. package/dist/esm/react/web/wallets/shared/locale/kr.js.map +1 -1
  124. package/dist/esm/react/web/wallets/shared/locale/tl.js +1 -0
  125. package/dist/esm/react/web/wallets/shared/locale/tl.js.map +1 -1
  126. package/dist/esm/react/web/wallets/shared/locale/vi.js +1 -0
  127. package/dist/esm/react/web/wallets/shared/locale/vi.js.map +1 -1
  128. package/dist/esm/transaction/actions/gasless/providers/biconomy.js.map +1 -1
  129. package/dist/esm/transaction/actions/gasless/providers/engine.js.map +1 -1
  130. package/dist/esm/transaction/actions/gasless/providers/openzeppelin.js.map +1 -1
  131. package/dist/esm/transaction/prepare-contract-call.js +1 -1
  132. package/dist/esm/transaction/read-contract.js +21 -2
  133. package/dist/esm/transaction/read-contract.js.map +1 -1
  134. package/dist/esm/utils/bigint.js +2 -0
  135. package/dist/esm/utils/bigint.js.map +1 -1
  136. package/dist/esm/version.js +1 -1
  137. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js +1 -1
  138. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  139. package/dist/esm/wallets/manager/index.js +0 -1
  140. package/dist/esm/wallets/manager/index.js.map +1 -1
  141. package/dist/esm/wallets/types.js +0 -1
  142. package/dist/esm/wallets/types.js.map +1 -1
  143. package/dist/types/exports/transaction.d.ts +7 -0
  144. package/dist/types/exports/transaction.d.ts.map +1 -1
  145. package/dist/types/exports/utils.d.ts +1 -0
  146. package/dist/types/exports/utils.d.ts.map +1 -1
  147. package/dist/types/extensions/erc721/read/getOwnedNFTs.d.ts +1 -0
  148. package/dist/types/extensions/erc721/read/getOwnedNFTs.d.ts.map +1 -1
  149. package/dist/types/react/core/hooks/transaction/transaction-button-utils.d.ts +1 -0
  150. package/dist/types/react/core/hooks/transaction/transaction-button-utils.d.ts.map +1 -1
  151. package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  152. package/dist/types/react/core/hooks/wallets/useAddConnectedWallet.d.ts +16 -0
  153. package/dist/types/react/core/hooks/wallets/useAddConnectedWallet.d.ts.map +1 -0
  154. package/dist/types/react/native/ui/connect/ConnectModal.d.ts +3 -0
  155. package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -1
  156. package/dist/types/react/native/ui/transaction/TransactionButton.d.ts +1 -1
  157. package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts +1 -1
  158. package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts.map +1 -1
  159. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  160. package/dist/types/react/web/ui/ConnectWallet/Modal/AllWalletsUI.d.ts +1 -0
  161. package/dist/types/react/web/ui/ConnectWallet/Modal/AllWalletsUI.d.ts.map +1 -1
  162. package/dist/types/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.d.ts.map +1 -1
  163. package/dist/types/react/web/ui/ConnectWallet/WalletSelector.d.ts +1 -0
  164. package/dist/types/react/web/ui/ConnectWallet/WalletSelector.d.ts.map +1 -1
  165. package/dist/types/react/web/ui/ConnectWallet/screens/LinkProfileScreen.d.ts +3 -0
  166. package/dist/types/react/web/ui/ConnectWallet/screens/LinkProfileScreen.d.ts.map +1 -1
  167. package/dist/types/react/web/ui/TransactionButton/index.d.ts +1 -1
  168. package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts +3 -0
  169. package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts.map +1 -1
  170. package/dist/types/react/web/wallets/in-app/WalletAuth.d.ts +24 -0
  171. package/dist/types/react/web/wallets/in-app/WalletAuth.d.ts.map +1 -0
  172. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts +1 -0
  173. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  174. package/dist/types/react/web/wallets/shared/ErrorState.d.ts +5 -0
  175. package/dist/types/react/web/wallets/shared/ErrorState.d.ts.map +1 -0
  176. package/dist/types/react/web/wallets/shared/LoadingState.d.ts +7 -0
  177. package/dist/types/react/web/wallets/shared/LoadingState.d.ts.map +1 -0
  178. package/dist/types/react/web/wallets/shared/PassKeyLogin.d.ts.map +1 -1
  179. package/dist/types/react/web/wallets/shared/locale/de.d.ts +1 -0
  180. package/dist/types/react/web/wallets/shared/locale/de.d.ts.map +1 -1
  181. package/dist/types/react/web/wallets/shared/locale/en.d.ts +1 -0
  182. package/dist/types/react/web/wallets/shared/locale/en.d.ts.map +1 -1
  183. package/dist/types/react/web/wallets/shared/locale/es.d.ts +1 -0
  184. package/dist/types/react/web/wallets/shared/locale/es.d.ts.map +1 -1
  185. package/dist/types/react/web/wallets/shared/locale/fr.d.ts +1 -0
  186. package/dist/types/react/web/wallets/shared/locale/fr.d.ts.map +1 -1
  187. package/dist/types/react/web/wallets/shared/locale/ja.d.ts +1 -0
  188. package/dist/types/react/web/wallets/shared/locale/ja.d.ts.map +1 -1
  189. package/dist/types/react/web/wallets/shared/locale/kr.d.ts +1 -0
  190. package/dist/types/react/web/wallets/shared/locale/kr.d.ts.map +1 -1
  191. package/dist/types/react/web/wallets/shared/locale/tl.d.ts +1 -0
  192. package/dist/types/react/web/wallets/shared/locale/tl.d.ts.map +1 -1
  193. package/dist/types/react/web/wallets/shared/locale/types.d.ts +1 -0
  194. package/dist/types/react/web/wallets/shared/locale/types.d.ts.map +1 -1
  195. package/dist/types/react/web/wallets/shared/locale/vi.d.ts +1 -0
  196. package/dist/types/react/web/wallets/shared/locale/vi.d.ts.map +1 -1
  197. package/dist/types/transaction/actions/gasless/providers/biconomy.d.ts +3 -0
  198. package/dist/types/transaction/actions/gasless/providers/biconomy.d.ts.map +1 -1
  199. package/dist/types/transaction/actions/gasless/providers/engine.d.ts +3 -0
  200. package/dist/types/transaction/actions/gasless/providers/engine.d.ts.map +1 -1
  201. package/dist/types/transaction/actions/gasless/providers/openzeppelin.d.ts +3 -0
  202. package/dist/types/transaction/actions/gasless/providers/openzeppelin.d.ts.map +1 -1
  203. package/dist/types/transaction/actions/gasless/types.d.ts +12 -0
  204. package/dist/types/transaction/actions/gasless/types.d.ts.map +1 -1
  205. package/dist/types/transaction/prepare-contract-call.d.ts +1 -1
  206. package/dist/types/transaction/read-contract.d.ts +21 -2
  207. package/dist/types/transaction/read-contract.d.ts.map +1 -1
  208. package/dist/types/utils/bigint.d.ts +2 -0
  209. package/dist/types/utils/bigint.d.ts.map +1 -1
  210. package/dist/types/version.d.ts +1 -1
  211. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts +2 -2
  212. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts.map +1 -1
  213. package/dist/types/wallets/manager/index.d.ts.map +1 -1
  214. package/dist/types/wallets/types.d.ts +1 -1
  215. package/dist/types/wallets/types.d.ts.map +1 -1
  216. package/package.json +1 -1
  217. package/src/exports/transaction.ts +8 -0
  218. package/src/exports/utils.ts +5 -0
  219. package/src/extensions/erc721/read/getOwnedNFTs.ts +1 -0
  220. package/src/extensions/lens/read/resolveAddress.test.ts +1 -1
  221. package/src/react/core/hooks/transaction/transaction-button-utils.ts +1 -0
  222. package/src/react/core/hooks/transaction/useSendTransaction.ts +13 -1
  223. package/src/react/core/hooks/wallets/useAddConnectedWallet.ts +20 -0
  224. package/src/react/native/ui/connect/ConnectModal.tsx +1 -1
  225. package/src/react/native/ui/transaction/TransactionButton.tsx +1 -1
  226. package/src/react/web/ui/ConnectWallet/Blobbie.tsx +33 -117
  227. package/src/react/web/ui/ConnectWallet/Details.tsx +2 -1
  228. package/src/react/web/ui/ConnectWallet/Modal/AllWalletsUI.tsx +4 -1
  229. package/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx +1 -0
  230. package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +10 -1
  231. package/src/react/web/ui/ConnectWallet/locale/en.ts +1 -1
  232. package/src/react/web/ui/ConnectWallet/screens/Details/WalletManagerScreen.tsx +3 -3
  233. package/src/react/web/ui/ConnectWallet/screens/LinkProfileScreen.tsx +2 -0
  234. package/src/react/web/ui/TransactionButton/index.tsx +1 -1
  235. package/src/react/web/wallets/in-app/InAppWalletConnectUI.tsx +18 -0
  236. package/src/react/web/wallets/in-app/WalletAuth.tsx +166 -0
  237. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +22 -0
  238. package/src/react/web/wallets/shared/ErrorState.tsx +29 -0
  239. package/src/react/web/wallets/shared/LoadingState.tsx +47 -0
  240. package/src/react/web/wallets/shared/PassKeyLogin.tsx +4 -67
  241. package/src/react/web/wallets/shared/locale/de.ts +1 -0
  242. package/src/react/web/wallets/shared/locale/en.ts +2 -1
  243. package/src/react/web/wallets/shared/locale/es.ts +1 -0
  244. package/src/react/web/wallets/shared/locale/fr.ts +1 -0
  245. package/src/react/web/wallets/shared/locale/ja.ts +1 -0
  246. package/src/react/web/wallets/shared/locale/kr.ts +1 -0
  247. package/src/react/web/wallets/shared/locale/tl.ts +1 -0
  248. package/src/react/web/wallets/shared/locale/types.ts +1 -0
  249. package/src/react/web/wallets/shared/locale/vi.ts +1 -0
  250. package/src/transaction/actions/gasless/providers/biconomy.ts +3 -0
  251. package/src/transaction/actions/gasless/providers/engine.ts +3 -0
  252. package/src/transaction/actions/gasless/providers/openzeppelin.ts +3 -0
  253. package/src/transaction/actions/gasless/types.ts +12 -0
  254. package/src/transaction/prepare-contract-call.ts +1 -1
  255. package/src/transaction/read-contract.ts +21 -2
  256. package/src/utils/bigint.ts +2 -0
  257. package/src/version.ts +1 -1
  258. package/src/wallets/in-app/core/authentication/getLoginPath.ts +4 -4
  259. package/src/wallets/manager/index.ts +0 -2
  260. package/src/wallets/types.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vi.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/wallets/shared/locale/vi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAuD8B"}
1
+ {"version":3,"file":"vi.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/wallets/shared/locale/vi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAwD8B"}
@@ -3,6 +3,9 @@ import { type TransactionSerializable } from "viem";
3
3
  import type { Account } from "../../../../wallets/interfaces/wallet.js";
4
4
  import type { PreparedTransaction } from "../../../prepare-transaction.js";
5
5
  import type { WaitForReceiptOptions } from "../../wait-for-tx-receipt.js";
6
+ /**
7
+ * @transaction
8
+ */
6
9
  export type BiconomyOptions = {
7
10
  provider: "biconomy";
8
11
  relayerForwarderAddress: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"biconomy.d.ts","sourceRoot":"","sources":["../../../../../../src/transaction/actions/gasless/providers/biconomy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,uBAAuB,EAAuB,MAAM,MAAM,CAAC;AAMzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,UAAU,CAAC;IAErB,uBAAuB,EAAE,OAAO,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IAGjB,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAKF;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,EAC/C,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,OAAO,GACR,EAAE,8BAA8B;;;;;;;;;;mBAkEhC;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAmChC"}
1
+ {"version":3,"file":"biconomy.d.ts","sourceRoot":"","sources":["../../../../../../src/transaction/actions/gasless/providers/biconomy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,uBAAuB,EAAuB,MAAM,MAAM,CAAC;AAMzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,UAAU,CAAC;IAErB,uBAAuB,EAAE,OAAO,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IAGjB,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAKF;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,EAC/C,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,OAAO,GACR,EAAE,8BAA8B;;;;;;;;;;mBAkEhC;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAmChC"}
@@ -3,6 +3,9 @@ import type { TransactionSerializable } from "viem";
3
3
  import type { Account } from "../../../../wallets/interfaces/wallet.js";
4
4
  import type { PreparedTransaction } from "../../../prepare-transaction.js";
5
5
  import { type WaitForReceiptOptions } from "../../wait-for-tx-receipt.js";
6
+ /**
7
+ * @transaction
8
+ */
6
9
  export type EngineOptions = {
7
10
  provider: "engine";
8
11
  relayerUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../../../src/transaction/actions/gasless/providers/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,MAAM,CAAC;AAGpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IAGjB,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,OAAO,GACR,EAAE,4BAA4B;;;;;;;;;;;GA8E9B;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAOjB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAQ3B,CAAC;AAEX;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAyChC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../../../src/transaction/actions/gasless/providers/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,MAAM,CAAC;AAGpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IAGjB,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,OAAO,GACR,EAAE,4BAA4B;;;;;;;;;;;GA8E9B;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAOjB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAQ3B,CAAC;AAEX;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAyChC"}
@@ -3,6 +3,9 @@ import type { TransactionSerializable } from "viem";
3
3
  import type { Account } from "../../../../wallets/interfaces/wallet.js";
4
4
  import type { PreparedTransaction } from "../../../prepare-transaction.js";
5
5
  import type { WaitForReceiptOptions } from "../../wait-for-tx-receipt.js";
6
+ /**
7
+ * @transaction
8
+ */
6
9
  export type OpenZeppelinOptions = {
7
10
  provider: "openzeppelin";
8
11
  relayerUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"openzeppelin.d.ts","sourceRoot":"","sources":["../../../../../../src/transaction/actions/gasless/providers/openzeppelin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,MAAM,CAAC;AAIpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AAEF,KAAK,kCAAkC,GAAG;IACxC,OAAO,EAAE,OAAO,CAAC;IAGjB,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,wBAAsB,8BAA8B,CAAC,EACnD,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,OAAO,GACR,EAAE,kCAAkC;;;;;;;;;;;GA8EpC;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAOjB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAQ3B,CAAC;AAEX;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,qBAAqB,CAAC,CAgChC"}
1
+ {"version":3,"file":"openzeppelin.d.ts","sourceRoot":"","sources":["../../../../../../src/transaction/actions/gasless/providers/openzeppelin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,MAAM,CAAC;AAIpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AAEF,KAAK,kCAAkC,GAAG;IACxC,OAAO,EAAE,OAAO,CAAC;IAGjB,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,wBAAsB,8BAA8B,CAAC,EACnD,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,OAAO,GACR,EAAE,kCAAkC;;;;;;;;;;;GA8EpC;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAOjB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAQ3B,CAAC;AAEX;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,qBAAqB,CAAC,CAgChC"}
@@ -1,5 +1,17 @@
1
1
  import type { BiconomyOptions } from "./providers/biconomy.js";
2
2
  import type { EngineOptions } from "./providers/engine.js";
3
3
  import type { OpenZeppelinOptions } from "./providers/openzeppelin.js";
4
+ /**
5
+ * Gasless configs for sending gasless transactions.
6
+ * This config is used in:
7
+ * - [`TransactionButton`](https://portal.thirdweb.com/references/typescript/v5/TransactionButton)
8
+ * - [`sendTransaction`](https://portal.thirdweb.com/references/typescript/v5/sendTransaction)
9
+ * - [`useSendTransaction`](https://portal.thirdweb.com/references/typescript/v5/useSendTransaction)
10
+ * - [`sendAndConfirmTransaction`](https://portal.thirdweb.com/references/typescript/v5/sendAndConfirmTransaction)
11
+ * - [`useSendAndConfirmTransaction`](https://portal.thirdweb.com/references/typescript/v5/useSendAndConfirmTransaction)
12
+ *
13
+ * Please refer to the docs of those components above for more info.
14
+ * @transaction
15
+ */
4
16
  export type GaslessOptions = EngineOptions | OpenZeppelinOptions | BiconomyOptions;
5
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/actions/gasless/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,mBAAmB,GACnB,eAAe,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/actions/gasless/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,mBAAmB,GACnB,eAAe,CAAC"}
@@ -66,7 +66,7 @@ export type PrepareContractCallOptions<TAbi extends Abi = [], TMethod extends Ab
66
66
  * });
67
67
  * ```
68
68
  *
69
- * ### Usage with a the ABI defined on the contract:
69
+ * ### Usage with the ABI defined on the contract:
70
70
  *
71
71
  * ```ts
72
72
  * import { getContract, prepareContractCall } from "thirdweb";
@@ -16,7 +16,7 @@ export type ReadContractOptions<TAbi extends Abi = [], TMethod extends AbiFuncti
16
16
  from?: string;
17
17
  } & ParamsOption<TPreparedMethod[1]> & Omit<PrepareTransactionOptions, "to" | "data" | "chain" | "client">, TAbi>;
18
18
  /**
19
- * Reads state from a deployed smart contract.
19
+ * ### Reads state from a deployed smart contract.
20
20
  *
21
21
  * You can use raw read calls or read [extensions](https://portal.thirdweb.com/typescript/v5/extensions/use) to read from a contract.
22
22
  *
@@ -57,7 +57,26 @@ export type ReadContractOptions<TAbi extends Abi = [], TMethod extends AbiFuncti
57
57
  *
58
58
  * const { data, isLoading } = useReadContract({
59
59
  * contract,
60
- * method: "function tokenURI(uint256 tokenId) returns (string)"});
60
+ * method: "function tokenURI(uint256 tokenId) returns (string)"}),
61
+ * params: [1n],
62
+ * });
63
+ * ```
64
+ *
65
+ * ### Using `resolveMethod`
66
+ * ```ts
67
+ * import { getContract, resolveMethod } from "thirdweb";
68
+ * import { sepolia } from "thirdweb/chains";
69
+ * import { useReadContract } from "thirdweb/react";
70
+ *
71
+ * const contract = getContract({
72
+ * client,
73
+ * address: "0x...",
74
+ * chain: sepolia,
75
+ * });
76
+ *
77
+ * const { data, isLoading } = useReadContract({
78
+ * contract,
79
+ * method: resolveMethod("tokenURI"),
61
80
  * params: [1n],
62
81
  * });
63
82
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"read-contract.d.ts","sourceRoot":"","sources":["../../../src/transaction/read-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAE7B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,kBAAkB,EAAuB,MAAM,MAAM,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,SAAS,YAAY,EAAE,IACpE,OAAO,SAAS;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GACzB,KAAK,GACL,OAAO,SAAS;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAE3B,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAEzC,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAE/C,MAAM,MAAM,mBAAmB,CAC7B,IAAI,SAAS,GAAG,GAAG,EAAE,EACrB,OAAO,SACH,WAAW,GACX,MAAM,GACN,CAAC,CACC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAC7B,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,SAAS;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GACvD,WAAW,GAAG,MAAM,GACpB,uBAAuB,CAAC,IAAI,CAAC,EACjC,eAAe,SAAS,cAAc,CACpC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3B,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAC5C,sBAAsB,CACxB,IAAI,CACF,kBAAkB,EAChB,MAAM,GACN,IAAI,GACJ,MAAM,GACN,OAAO,GACP,YAAY,GACZ,KAAK,GACL,UAAU,GACV,cAAc,GACd,sBAAsB,GACtB,OAAO,CACV,GAAG;IACF,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAClC,IAAI,CAAC,yBAAyB,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC,EACrE,IAAI,CACL,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,YAAY,CAChC,KAAK,CAAC,IAAI,SAAS,GAAG,EACtB,KAAK,CAAC,OAAO,SAAS,IAAI,SAAS;IACjC,MAAM,EAAE,CAAC,CAAC;CACX,GAEO,WAAW,GACX,YAAY,MAAM,EAAE,GACpB,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,GAChE,uBAAuB,CAAC,IAAI,CAAC,EACjC,KAAK,CAAC,eAAe,SAAS,cAAc,CAC1C,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3B,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAE9C,OAAO,EAAE,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,GAC3D,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAiFjD"}
1
+ {"version":3,"file":"read-contract.d.ts","sourceRoot":"","sources":["../../../src/transaction/read-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAE7B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,kBAAkB,EAAuB,MAAM,MAAM,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,SAAS,YAAY,EAAE,IACpE,OAAO,SAAS;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GACzB,KAAK,GACL,OAAO,SAAS;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAE3B,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAEzC,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAE/C,MAAM,MAAM,mBAAmB,CAC7B,IAAI,SAAS,GAAG,GAAG,EAAE,EACrB,OAAO,SACH,WAAW,GACX,MAAM,GACN,CAAC,CACC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAC7B,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,SAAS;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GACvD,WAAW,GAAG,MAAM,GACpB,uBAAuB,CAAC,IAAI,CAAC,EACjC,eAAe,SAAS,cAAc,CACpC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3B,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAC5C,sBAAsB,CACxB,IAAI,CACF,kBAAkB,EAChB,MAAM,GACN,IAAI,GACJ,MAAM,GACN,OAAO,GACP,YAAY,GACZ,KAAK,GACL,UAAU,GACV,cAAc,GACd,sBAAsB,GACtB,OAAO,CACV,GAAG;IACF,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAClC,IAAI,CAAC,yBAAyB,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC,EACrE,IAAI,CACL,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,wBAAsB,YAAY,CAChC,KAAK,CAAC,IAAI,SAAS,GAAG,EACtB,KAAK,CAAC,OAAO,SAAS,IAAI,SAAS;IACjC,MAAM,EAAE,CAAC,CAAC;CACX,GAEO,WAAW,GACX,YAAY,MAAM,EAAE,GACpB,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,GAChE,uBAAuB,CAAC,IAAI,CAAC,EACjC,KAAK,CAAC,eAAe,SAAS,cAAc,CAC1C,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3B,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAE9C,OAAO,EAAE,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,GAC3D,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAiFjD"}
@@ -3,6 +3,7 @@
3
3
  * @param a - The first BigInt value.
4
4
  * @param b - The second BigInt value.
5
5
  * @returns The smaller of the two BigInt values.
6
+ * @utils
6
7
  * @example
7
8
  * ```ts
8
9
  * min(1n, 2n)
@@ -14,6 +15,7 @@ export declare function min(a: bigint, b: bigint): bigint;
14
15
  * @param a - The first BigInt value.
15
16
  * @param b - The second BigInt value.
16
17
  * @returns The larger of the two BigInt values.
18
+ * @utils
17
19
  * @example
18
20
  * ```ts
19
21
  * max(1n, 2n)
@@ -1 +1 @@
1
- {"version":3,"file":"bigint.d.ts","sourceRoot":"","sources":["../../../src/utils/bigint.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAEvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAEvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAe7E"}
1
+ {"version":3,"file":"bigint.d.ts","sourceRoot":"","sources":["../../../src/utils/bigint.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAEvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAEvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAe7E"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.47.1-nightly-574ff0295dcbb39f2ddd753c9e8a264498aae99e-20240819000344";
1
+ export declare const version = "5.48.0-nightly-cbd6fd87d0120c6013ef354fe8ff22293e4c08e2-20240820000346";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -2,14 +2,14 @@ import type { ThirdwebClient } from "../../../../client/client.js";
2
2
  import { type AuthOption } from "../../../../wallets/types.js";
3
3
  import type { Ecosystem } from "../../web/types.js";
4
4
  export declare const getLoginUrl: ({ authOption, client, ecosystem, mode, redirectUrl, }: {
5
- authOption: AuthOption;
5
+ authOption: AuthOption | "wallet";
6
6
  client: ThirdwebClient;
7
7
  ecosystem?: Ecosystem;
8
8
  mode?: "popup" | "redirect" | "mobile";
9
9
  redirectUrl?: string;
10
10
  }) => string;
11
11
  export declare const getLoginCallbackUrl: ({ authOption, client, ecosystem, }: {
12
- authOption: AuthOption;
12
+ authOption: AuthOption | "wallet";
13
13
  client: ThirdwebClient;
14
14
  ecosystem?: Ecosystem;
15
15
  }) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"getLoginPath.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/getLoginPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAcpD,eAAO,MAAM,WAAW,0DAMrB;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,WAwBA,CAAC;AAEF,eAAO,MAAM,mBAAmB,uCAI7B;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,KAAG,MAUH,CAAC"}
1
+ {"version":3,"file":"getLoginPath.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/getLoginPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAcpD,eAAO,MAAM,WAAW,0DAMrB;IACD,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,WAwBA,CAAC;AAEF,eAAO,MAAM,mBAAmB,uCAI7B;IACD,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,KAAG,MAUH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/wallets/manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,cAAc,GAAG,YAAY,CAAC;AAM3E,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY;;;;iCA6CvB,MAAM;+BA+BR,MAAM;oCAuFK,MAAM;sBAjDpB,MAAM,YAAY,qBAAqB;+BA/B5D,MAAM,YACJ,qBAAqB;;;;qCAkHa,KAAK;;;oCA/IZ,MAAM;2BA+Kf,KAAK,EAAE;EAqCtC;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAU1B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAW1B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAWvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/wallets/manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,cAAc,GAAG,YAAY,CAAC;AAM3E,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY;;;;iCA6CvB,MAAM;+BA+BR,MAAM;oCAqFK,MAAM;sBAjDpB,MAAM,YAAY,qBAAqB;+BA7B5D,MAAM,YACJ,qBAAqB;;;;qCAgHa,KAAK;;;oCA7IZ,MAAM;2BA6Kf,KAAK,EAAE;EAqCtC;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAU1B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAW1B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAWvB"}
@@ -19,7 +19,7 @@ export type AppMetadata = {
19
19
  };
20
20
  export declare const socialAuthOptions: readonly ["google", "apple", "facebook", "discord", "farcaster", "telegram"];
21
21
  export type SocialAuthOption = (typeof socialAuthOptions)[number];
22
- export declare const authOptions: readonly ["google", "apple", "facebook", "discord", "farcaster", "telegram", "email", "phone", "passkey", "wallet"];
22
+ export declare const authOptions: readonly ["google", "apple", "facebook", "discord", "farcaster", "telegram", "email", "phone", "passkey"];
23
23
  export type AuthOption = (typeof authOptions)[number];
24
24
  export type DisconnectFn = () => Promise<void>;
25
25
  export type SwitchChainFn = (chain: Chain) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,8EAOpB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,WAAW,qHAMd,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,8EAOpB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,WAAW,2GAKd,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.47.1-nightly-574ff0295dcbb39f2ddd753c9e8a264498aae99e-20240819000344",
3
+ "version": "5.48.0-nightly-cbd6fd87d0120c6013ef354fe8ff22293e4c08e2-20240820000346",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -69,3 +69,11 @@ export {
69
69
  export type { WaitForReceiptOptions } from "../transaction/actions/wait-for-tx-receipt.js";
70
70
 
71
71
  export type { TransactionReceipt } from "viem";
72
+
73
+ /**
74
+ * Gasless types
75
+ */
76
+ export type { GaslessOptions } from "../transaction/actions/gasless/types.js";
77
+ export type { EngineOptions } from "../transaction/actions/gasless/providers/engine.js";
78
+ export type { OpenZeppelinOptions } from "../transaction/actions/gasless/providers/openzeppelin.js";
79
+ export type { BiconomyOptions } from "../transaction/actions/gasless/providers/biconomy.js";
@@ -176,3 +176,8 @@ export {
176
176
  export type { NFTMetadata, NFTInput } from "../utils/nft/parseNft.js";
177
177
 
178
178
  export { parseAbiParams } from "../utils/contract/parse-abi-params.js";
179
+
180
+ // ------------------------------------------------
181
+ // bigint
182
+ // ------------------------------------------------
183
+ export { max, min } from "../utils/bigint.js";
@@ -13,6 +13,7 @@ export type GetOwnedNFTsParams = GetOwnedTokenIdsParams;
13
13
 
14
14
  /**
15
15
  * Retrieves the owned NFTs for a given owner.
16
+ * This extension only works with ERC721 contracts that support the [`tokenOfOwnerByIndex`](https://portal.thirdweb.com/references/typescript/v5/erc721/tokenOfOwnerByIndex) method
16
17
  * @param options - The options for retrieving the owned NFTs.
17
18
  * @returns A promise that resolves to an array of NFTs owned by the specified owner.
18
19
  * @extension ERC721
@@ -3,7 +3,7 @@ import { TEST_CLIENT } from "~test/test-clients.js";
3
3
  import { isAddress } from "../../../utils/address.js";
4
4
  import { resolveAddress } from "./resolveAddress.js";
5
5
 
6
- describe("resolve lens address", () => {
6
+ describe.runIf(process.env.TW_SECRET_KEY)("resolve lens address", () => {
7
7
  it("should resolve to correct address", async () => {
8
8
  const address = await resolveAddress({
9
9
  client: TEST_CLIENT,
@@ -15,6 +15,7 @@ import type {
15
15
 
16
16
  /**
17
17
  * Props for the [`TransactionButton`](https://portal.thirdweb.com/references/typescript/v5/TransactionButton) component.
18
+ * @transaction
18
19
  */
19
20
  export type TransactionButtonProps = {
20
21
  /**
@@ -8,6 +8,7 @@ import type { WaitForReceiptOptions } from "../../../../transaction/actions/wait
8
8
  import type { PreparedTransaction } from "../../../../transaction/prepare-transaction.js";
9
9
  import { resolvePromisedValue } from "../../../../utils/promise/resolve-promised-value.js";
10
10
  import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
11
+ import { getWalletBalance } from "../../../../wallets/utils/getWalletBalance.js";
11
12
  import type { LocaleId } from "../../../web/ui/types.js";
12
13
  import type { Theme } from "../../design-system/index.js";
13
14
  import type { SupportedTokens } from "../../utils/defaultTokens.js";
@@ -157,7 +158,18 @@ export function useSendTransactionCore(args: {
157
158
  const nativeValue = _nativeValue || 0n;
158
159
  const erc20Value = _erc20Value?.amountWei || 0n;
159
160
 
160
- if (nativeValue > 0n || erc20Value > 0n) {
161
+ const balance = await getWalletBalance({
162
+ client: tx.client,
163
+ address: account.address,
164
+ chain: tx.chain,
165
+ tokenAddress: _erc20Value?.tokenAddress,
166
+ });
167
+
168
+ const shouldShowModal =
169
+ (erc20Value > 0n && balance.value < erc20Value) ||
170
+ (nativeValue > 0n && balance.value < nativeValue);
171
+
172
+ if (shouldShowModal) {
161
173
  showPayModal({
162
174
  tx,
163
175
  sendTx,
@@ -0,0 +1,20 @@
1
+ import { useConnectionManagerCtx } from "../../providers/connection-manager.js";
2
+
3
+ /**
4
+ * A hook to add a connected wallet without setting the active wallet.
5
+ * @returns A function that lets you add a connected wallet.
6
+ * @example
7
+ * ```jsx
8
+ * import { useAddConnectedWallet } from "thirdweb/react";
9
+ *
10
+ * const addConnectedWallet = useAddConnectedWallet();
11
+ *
12
+ * // later in your code
13
+ * await addConnectedWallet(wallet);
14
+ * ```
15
+ * @walletConnection
16
+ */
17
+ export function useAddConnectedWallet() {
18
+ const manager = useConnectionManagerCtx("useAddConnectedWallet");
19
+ return manager.handleConnection;
20
+ }
@@ -582,7 +582,7 @@ function SignInView({
582
582
  );
583
583
  }
584
584
 
585
- function OrDivider({ theme }: { theme: Theme }) {
585
+ export function OrDivider({ theme }: { theme: Theme }) {
586
586
  return (
587
587
  <View
588
588
  style={{
@@ -11,7 +11,7 @@ import { ThemedSpinner } from "../components/spinner.js";
11
11
 
12
12
  /**
13
13
  * TransactionButton component is used to render a button that triggers a transaction.
14
- * - It shows a "Switch Network" button if the connected wallet is on a different chain than the transaction.
14
+ * It shows a "Switch Network" button if the connected wallet is on a different chain than the transaction.
15
15
  * @param props - The props for this component.
16
16
  * Refer to [TransactionButtonProps](https://portal.thirdweb.com/references/typescript/v5/TransactionButtonProps) for details.
17
17
  * @example
@@ -1,17 +1,25 @@
1
1
  "use client";
2
2
  import { hexToNumber } from "@noble/curves/abstract/utils";
3
3
  import { useId, useMemo } from "react";
4
- import { type Address, numberToHex } from "viem";
4
+ import type { Address } from "viem";
5
5
 
6
- // Distance between 2 colors (in RGB)
7
- type Color = [number, number, number];
8
- function hexToRgb(hex: string) {
9
- return [
10
- Number(hexToNumber(hex.slice(0, 2))),
11
- Number(hexToNumber(hex.slice(2, 4))),
12
- Number(hexToNumber(hex.slice(4, 6))),
13
- ] satisfies [number, number, number];
14
- }
6
+ const COLOR_OPTIONS = [
7
+ ["#fca5a5", "#b91c1c"],
8
+ ["#fdba74", "#c2410c"],
9
+ ["#fcd34d", "#b45309"],
10
+ ["#fde047", "#a16207"],
11
+ ["#a3e635", "#4d7c0f"],
12
+ ["#86efac", "#15803d"],
13
+ ["#67e8f9", "#0e7490"],
14
+ ["#7dd3fc", "#0369a1"],
15
+ ["#93c5fd", "#1d4ed8"],
16
+ ["#a5b4fc", "#4338ca"],
17
+ ["#c4b5fd", "#6d28d9"],
18
+ ["#d8b4fe", "#7e22ce"],
19
+ ["#f0abfc", "#a21caf"],
20
+ ["#f9a8d4", "#be185d"],
21
+ ["#fda4af", "#be123c"],
22
+ ];
15
23
 
16
24
  /**
17
25
  * A unique gradient avatar based on the provided address.
@@ -21,114 +29,22 @@ function hexToRgb(hex: string) {
21
29
  */
22
30
  export function Blobbie(props: { address: Address; size: number }) {
23
31
  const id = useId();
24
- const colors: [string, string, string] = useMemo(() => {
25
- const color = props.address.slice(2, 8);
26
- const rgb = hexToRgb(color);
27
-
28
- // To get well-paired colors, we use the first rgb hex sequence as our main color then find its two best pairs (split color wheel into thirds)
29
- // To prevent extremely dark colors, which tend to clash, we don't allow values less than 55
30
- const pairing1 = rgb.map((n) => (n + 85 > 255 ? n + 85 - 200 : n + 85));
31
- const pairing2 = rgb.map((n) => (n - 85 < 55 ? n - 85 + 200 : n - 85));
32
- return [
33
- color,
34
- pairing1.map((n) => numberToHex(n).replace("0x", "")).join(""),
35
- pairing2.map((n) => numberToHex(n).replace("0x", "")).join(""),
36
- ];
37
- }, [props.address]);
38
-
39
- const positions: [Color, Color, Color, Color, Color] = useMemo(() => {
40
- const _positions: Color[] = [];
41
- let i = 8;
42
- while (i < 44) {
43
- const values = hexToRgb(props.address.slice(i, i + 6));
44
- _positions.push(values);
45
- i += 6;
46
- }
47
- return _positions as [Color, Color, Color, Color, Color];
48
- }, [props.address]);
49
-
50
- console.log(colors);
32
+ const colors = useMemo(
33
+ () =>
34
+ COLOR_OPTIONS[
35
+ Number(hexToNumber(props.address.slice(2, 4))) % COLOR_OPTIONS.length
36
+ ] as [string, string],
37
+ [props.address],
38
+ );
51
39
 
52
40
  return (
53
- <svg
54
- height={`${props.size}px`}
55
- style={{ background: "#FFFFFF" }}
56
- width={`${props.size}px`}
57
- role="presentation"
58
- viewBox="0 0 500 500"
59
- xmlns="http://www.w3.org/2000/svg"
60
- >
61
- <defs>
62
- {colors.map((color, idx) => {
63
- return (
64
- <radialGradient
65
- id={`${id}_grad${idx + 1}`}
66
- cx="50%"
67
- cy="50%"
68
- r="50%"
69
- key={`grad${
70
- // biome-ignore lint/suspicious/noArrayIndexKey: Jonas said so
71
- idx
72
- }`}
73
- >
74
- <stop
75
- offset="0%"
76
- style={{ stopColor: `#${color}`, stopOpacity: 0.9 }}
77
- />
78
- <stop
79
- offset="100%"
80
- style={{ stopColor: `#${color}`, stopOpacity: 0 }}
81
- />
82
- </radialGradient>
83
- );
84
- })}
85
- </defs>
86
-
87
- <ellipse
88
- cx="250"
89
- cy="250"
90
- rx="500"
91
- ry="500"
92
- fill={`url(#${id}_grad1)`}
93
- opacity={0.5}
94
- />
95
- <ellipse
96
- cx={400 + positions[0][0]}
97
- cy={400 + positions[0][1]}
98
- rx={350 + positions[0][2]}
99
- ry={350 + positions[0][2]}
100
- fill={`url(#${id}_grad1)`}
101
- />
102
- <ellipse
103
- cx={positions[1][0]}
104
- cy={positions[1][1]}
105
- rx={350 + positions[1][2]}
106
- ry={350 + positions[1][2]}
107
- fill={`url(#${id}_grad2)`}
108
- />
109
- <ellipse
110
- cx={400 + positions[2][0]}
111
- cy={positions[2][1]}
112
- rx={350 + positions[2][2]}
113
- ry={350 + positions[2][2]}
114
- fill={`url(#${id}_grad3)`}
115
- />
116
- <ellipse
117
- cx={positions[3][0]}
118
- cy={positions[3][1]}
119
- rx={100 + positions[3][2]}
120
- ry={100 + positions[3][2]}
121
- fill={`url(#${id}_grad2)`}
122
- opacity={0.5}
123
- />
124
- <ellipse
125
- cx={positions[4][0]}
126
- cy={positions[4][1]}
127
- rx={100 + positions[4][2]}
128
- ry={100 + positions[4][2]}
129
- fill={`url(#${id}_grad3)`}
130
- opacity={0.5}
131
- />
132
- </svg>
41
+ <div
42
+ id={id}
43
+ style={{
44
+ width: `${props.size}px`,
45
+ height: `${props.size}px`,
46
+ backgroundImage: `radial-gradient(ellipse at left bottom, ${colors[0]}, ${colors[1]})`,
47
+ }}
48
+ />
133
49
  );
134
50
  }
@@ -213,7 +213,7 @@ export const ConnectedWalletDetails: React.FC<{
213
213
  style={{
214
214
  border: `1px solid ${theme.colors.borderColor}`,
215
215
  textOverflow: "ellipsis",
216
- width: "115px",
216
+ minWidth: "115px",
217
217
  height: "50px",
218
218
  whiteSpace: "nowrap",
219
219
  borderRadius: `0 ${radius.md} ${radius.md} 0`,
@@ -826,6 +826,7 @@ function DetailsModal(props: {
826
826
  }}
827
827
  client={client}
828
828
  locale={locale}
829
+ walletConnect={props.connectOptions?.walletConnect}
829
830
  />
830
831
  );
831
832
  }
@@ -34,6 +34,7 @@ function AllWalletsUI(props: {
34
34
  client: ThirdwebClient;
35
35
  recommendedWallets: Wallet[] | undefined;
36
36
  connectLocale: ConnectLocale;
37
+ disableSelectionDataReset?: boolean;
37
38
  }) {
38
39
  const { itemsToShow, lastItemRef } = useShowMore<HTMLLIElement>(10, 10);
39
40
  const setSelectionData = useSetSelectionData();
@@ -143,7 +144,9 @@ function AllWalletsUI(props: {
143
144
  selectWallet={() => {
144
145
  const wallet = createWallet(walletInfo.id);
145
146
  props.onSelect(wallet);
146
- setSelectionData({});
147
+ if (!props.disableSelectionDataReset) {
148
+ setSelectionData({});
149
+ }
147
150
  }}
148
151
  client={props.client}
149
152
  recommendedWallets={props.recommendedWallets}
@@ -267,6 +267,7 @@ export function AnyWalletConnectUI(props: {
267
267
  chain={props.chain}
268
268
  client={props.client}
269
269
  size={props.size}
270
+ walletConnect={props.walletConnect}
270
271
  connectLocale={props.connectLocale}
271
272
  meta={props.meta}
272
273
  />
@@ -87,6 +87,7 @@ export type WalletSelectorProps = {
87
87
  }
88
88
  | undefined;
89
89
  walletIdsToHide: WalletId[] | undefined;
90
+ disableSelectionDataReset?: boolean;
90
91
  };
91
92
 
92
93
  /**
@@ -278,6 +279,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
278
279
  recommendedWallets={props.recommendedWallets}
279
280
  chain={props.chain}
280
281
  showAllWallets={props.showAllWallets}
282
+ diableSelectionDataReset={props.disableSelectionDataReset}
281
283
  />
282
284
  );
283
285
 
@@ -305,6 +307,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
305
307
  recommendedWallets={props.recommendedWallets}
306
308
  chain={props.chain}
307
309
  showAllWallets={props.showAllWallets}
310
+ diableSelectionDataReset={props.disableSelectionDataReset}
308
311
  />
309
312
  );
310
313
 
@@ -348,6 +351,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
348
351
  recommendedWallets={props.recommendedWallets}
349
352
  chain={props.chain}
350
353
  showAllWallets={props.showAllWallets}
354
+ diableSelectionDataReset={props.disableSelectionDataReset}
351
355
  />
352
356
  {eoaWallets.length > 0 && (
353
357
  <>
@@ -418,6 +422,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
418
422
  recommendedWallets={props.recommendedWallets}
419
423
  chain={props.chain}
420
424
  showAllWallets={props.showAllWallets}
425
+ diableSelectionDataReset={props.disableSelectionDataReset}
421
426
  />
422
427
  </Container>
423
428
 
@@ -456,6 +461,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
456
461
  recommendedWallets={props.recommendedWallets}
457
462
  chain={props.chain}
458
463
  showAllWallets={props.showAllWallets}
464
+ diableSelectionDataReset={props.disableSelectionDataReset}
459
465
  />
460
466
  );
461
467
 
@@ -578,6 +584,7 @@ const WalletSelection: React.FC<{
578
584
  connectLocale: ConnectLocale;
579
585
  client: ThirdwebClient;
580
586
  chain: Chain | undefined;
587
+ diableSelectionDataReset?: boolean;
581
588
  }> = (props) => {
582
589
  const wallets = sortWallets(props.wallets, props.recommendedWallets);
583
590
  const { screen } = useScreenContext();
@@ -615,7 +622,9 @@ const WalletSelection: React.FC<{
615
622
  <WalletEntryButton
616
623
  walletId={wallet.id}
617
624
  selectWallet={() => {
618
- setSelectionData({});
625
+ if (!props.diableSelectionDataReset) {
626
+ setSelectionData({});
627
+ }
619
628
  props.selectWallet(wallet);
620
629
  }}
621
630
  connectLocale={props.connectLocale}