thirdweb 5.53.0 → 5.54.0-nightly-c3800d6c0765a9a0b69ac0a4a390d20cec932419-20240912000413

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 (445) hide show
  1. package/dist/cjs/analytics/track.js +18 -0
  2. package/dist/cjs/analytics/track.js.map +1 -1
  3. package/dist/cjs/chains/chain-definitions/polygon.js +1 -1
  4. package/dist/cjs/chains/chain-definitions/polygon.js.map +1 -1
  5. package/dist/cjs/contract/deployment/deploy-deterministic.js +19 -0
  6. package/dist/cjs/contract/deployment/deploy-deterministic.js.map +1 -1
  7. package/dist/cjs/contract/deployment/deploy-via-autofactory.js +3 -1
  8. package/dist/cjs/contract/deployment/deploy-via-autofactory.js.map +1 -1
  9. package/dist/cjs/contract/deployment/deploy-with-abi.js +50 -6
  10. package/dist/cjs/contract/deployment/deploy-with-abi.js.map +1 -1
  11. package/dist/cjs/contract/deployment/utils/bootstrap.js +23 -8
  12. package/dist/cjs/contract/deployment/utils/bootstrap.js.map +1 -1
  13. package/dist/cjs/contract/deployment/utils/clone-factory.js +1 -2
  14. package/dist/cjs/contract/deployment/utils/clone-factory.js.map +1 -1
  15. package/dist/cjs/contract/deployment/utils/infra.js +38 -2
  16. package/dist/cjs/contract/deployment/utils/infra.js.map +1 -1
  17. package/dist/cjs/contract/deployment/zksync/zkDeployContract.js +7 -1
  18. package/dist/cjs/contract/deployment/zksync/zkDeployContract.js.map +1 -1
  19. package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js +2 -1
  20. package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -1
  21. package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js +5 -4
  22. package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js.map +1 -1
  23. package/dist/cjs/exports/contract.js +4 -1
  24. package/dist/cjs/exports/contract.js.map +1 -1
  25. package/dist/cjs/exports/deploys.js +8 -3
  26. package/dist/cjs/exports/deploys.js.map +1 -1
  27. package/dist/cjs/exports/extensions/erc721.js +4 -2
  28. package/dist/cjs/exports/extensions/erc721.js.map +1 -1
  29. package/dist/cjs/exports/utils.js +3 -1
  30. package/dist/cjs/exports/utils.js.map +1 -1
  31. package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +14 -16
  32. package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js.map +1 -1
  33. package/dist/cjs/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js +19 -0
  34. package/dist/cjs/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js.map +1 -1
  35. package/dist/cjs/extensions/erc721/lazyMinting/write/reveal.js +3 -20
  36. package/dist/cjs/extensions/erc721/lazyMinting/write/reveal.js.map +1 -1
  37. package/dist/cjs/extensions/erc721/write/updateTokenURI.js +3 -0
  38. package/dist/cjs/extensions/erc721/write/updateTokenURI.js.map +1 -1
  39. package/dist/cjs/extensions/marketplace/offers/write/makeOffer.js +0 -1
  40. package/dist/cjs/extensions/marketplace/offers/write/makeOffer.js.map +1 -1
  41. package/dist/cjs/extensions/modules/common/getOrDeployModule.js +2 -4
  42. package/dist/cjs/extensions/modules/common/getOrDeployModule.js.map +1 -1
  43. package/dist/cjs/extensions/modules/common/installPublishedModule.js +1 -1
  44. package/dist/cjs/extensions/modules/common/installPublishedModule.js.map +1 -1
  45. package/dist/cjs/extensions/modules/common/uninstallPublishedModule.js +1 -2
  46. package/dist/cjs/extensions/modules/common/uninstallPublishedModule.js.map +1 -1
  47. package/dist/cjs/extensions/prebuilts/deploy-erc1155.js +0 -1
  48. package/dist/cjs/extensions/prebuilts/deploy-erc1155.js.map +1 -1
  49. package/dist/cjs/extensions/prebuilts/deploy-erc20.js +0 -1
  50. package/dist/cjs/extensions/prebuilts/deploy-erc20.js.map +1 -1
  51. package/dist/cjs/extensions/prebuilts/deploy-erc721.js +0 -1
  52. package/dist/cjs/extensions/prebuilts/deploy-erc721.js.map +1 -1
  53. package/dist/cjs/extensions/prebuilts/deploy-marketplace.js +5 -7
  54. package/dist/cjs/extensions/prebuilts/deploy-marketplace.js.map +1 -1
  55. package/dist/cjs/extensions/prebuilts/deploy-modular.js +32 -27
  56. package/dist/cjs/extensions/prebuilts/deploy-modular.js.map +1 -1
  57. package/dist/cjs/extensions/prebuilts/deploy-published.js +121 -35
  58. package/dist/cjs/extensions/prebuilts/deploy-published.js.map +1 -1
  59. package/dist/cjs/extensions/prebuilts/deploy-split.js +0 -1
  60. package/dist/cjs/extensions/prebuilts/deploy-split.js.map +1 -1
  61. package/dist/cjs/extensions/prebuilts/deploy-vote.js +0 -1
  62. package/dist/cjs/extensions/prebuilts/deploy-vote.js.map +1 -1
  63. package/dist/cjs/extensions/prebuilts/get-required-transactions.js +66 -0
  64. package/dist/cjs/extensions/prebuilts/get-required-transactions.js.map +1 -0
  65. package/dist/cjs/react/core/hooks/others/useProfiles.js +1 -1
  66. package/dist/cjs/react/core/social/useSocialProfiles.js +2 -0
  67. package/dist/cjs/react/core/social/useSocialProfiles.js.map +1 -1
  68. package/dist/cjs/react/core/utils/walletIcon.js +5 -1
  69. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
  70. package/dist/cjs/react/native/ui/components/Address.js +1 -3
  71. package/dist/cjs/react/native/ui/components/Address.js.map +1 -1
  72. package/dist/cjs/react/native/ui/components/WalletImage.js +2 -0
  73. package/dist/cjs/react/native/ui/components/WalletImage.js.map +1 -1
  74. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js +1 -0
  75. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  76. package/dist/cjs/react/native/ui/icons/svgs.js +2 -1
  77. package/dist/cjs/react/native/ui/icons/svgs.js.map +1 -1
  78. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +7 -0
  79. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  80. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +20 -3
  81. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  82. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +7 -0
  83. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  84. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +7 -0
  85. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  86. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +7 -0
  87. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
  88. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +49 -0
  89. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  90. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +20 -0
  91. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  92. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -0
  93. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  94. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +1 -0
  95. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  96. package/dist/cjs/social/profiles.js +2 -1
  97. package/dist/cjs/social/profiles.js.map +1 -1
  98. package/dist/cjs/utils/abi/normalizeFunctionParams.js +24 -0
  99. package/dist/cjs/utils/abi/normalizeFunctionParams.js.map +1 -0
  100. package/dist/cjs/utils/any-evm/compute-published-contract-address.js +14 -6
  101. package/dist/cjs/utils/any-evm/compute-published-contract-address.js.map +1 -1
  102. package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js +17 -5
  103. package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
  104. package/dist/cjs/utils/any-evm/deploy-metadata.js +0 -19
  105. package/dist/cjs/utils/any-evm/deploy-metadata.js.map +1 -1
  106. package/dist/cjs/utils/caching/lru.js +15 -14
  107. package/dist/cjs/utils/caching/lru.js.map +1 -1
  108. package/dist/cjs/utils/domains.js +1 -1
  109. package/dist/cjs/utils/domains.js.map +1 -1
  110. package/dist/cjs/utils/ipfs.js +2 -0
  111. package/dist/cjs/utils/ipfs.js.map +1 -1
  112. package/dist/cjs/version.js +1 -1
  113. package/dist/cjs/version.js.map +1 -1
  114. package/dist/cjs/wallets/in-app/core/authentication/types.js +1 -0
  115. package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -1
  116. package/dist/cjs/wallets/in-app/core/eip5972/in-app-wallet-calls.js +3 -13
  117. package/dist/cjs/wallets/in-app/core/eip5972/in-app-wallet-calls.js.map +1 -1
  118. package/dist/cjs/wallets/in-app/native/native-connector.js +2 -0
  119. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  120. package/dist/cjs/wallets/in-app/web/in-app.js +2 -0
  121. package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
  122. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +2 -0
  123. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  124. package/dist/cjs/wallets/types.js +1 -0
  125. package/dist/cjs/wallets/types.js.map +1 -1
  126. package/dist/esm/analytics/track.js +17 -0
  127. package/dist/esm/analytics/track.js.map +1 -1
  128. package/dist/esm/chains/chain-definitions/polygon.js +1 -1
  129. package/dist/esm/chains/chain-definitions/polygon.js.map +1 -1
  130. package/dist/esm/contract/deployment/deploy-deterministic.js +19 -1
  131. package/dist/esm/contract/deployment/deploy-deterministic.js.map +1 -1
  132. package/dist/esm/contract/deployment/deploy-via-autofactory.js +3 -1
  133. package/dist/esm/contract/deployment/deploy-via-autofactory.js.map +1 -1
  134. package/dist/esm/contract/deployment/deploy-with-abi.js +50 -6
  135. package/dist/esm/contract/deployment/deploy-with-abi.js.map +1 -1
  136. package/dist/esm/contract/deployment/utils/bootstrap.js +23 -9
  137. package/dist/esm/contract/deployment/utils/bootstrap.js.map +1 -1
  138. package/dist/esm/contract/deployment/utils/clone-factory.js +1 -2
  139. package/dist/esm/contract/deployment/utils/clone-factory.js.map +1 -1
  140. package/dist/esm/contract/deployment/utils/infra.js +38 -4
  141. package/dist/esm/contract/deployment/utils/infra.js.map +1 -1
  142. package/dist/esm/contract/deployment/zksync/zkDeployContract.js +7 -1
  143. package/dist/esm/contract/deployment/zksync/zkDeployContract.js.map +1 -1
  144. package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js +2 -1
  145. package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -1
  146. package/dist/esm/contract/deployment/zksync/zkDeployProxy.js +5 -4
  147. package/dist/esm/contract/deployment/zksync/zkDeployProxy.js.map +1 -1
  148. package/dist/esm/exports/contract.js +2 -0
  149. package/dist/esm/exports/contract.js.map +1 -1
  150. package/dist/esm/exports/deploys.js +4 -2
  151. package/dist/esm/exports/deploys.js.map +1 -1
  152. package/dist/esm/exports/extensions/erc721.js +3 -3
  153. package/dist/esm/exports/extensions/erc721.js.map +1 -1
  154. package/dist/esm/exports/utils.js +1 -0
  155. package/dist/esm/exports/utils.js.map +1 -1
  156. package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +13 -15
  157. package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js.map +1 -1
  158. package/dist/esm/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js +21 -3
  159. package/dist/esm/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.js.map +1 -1
  160. package/dist/esm/extensions/erc721/lazyMinting/write/reveal.js +1 -20
  161. package/dist/esm/extensions/erc721/lazyMinting/write/reveal.js.map +1 -1
  162. package/dist/esm/extensions/erc721/write/updateTokenURI.js +3 -0
  163. package/dist/esm/extensions/erc721/write/updateTokenURI.js.map +1 -1
  164. package/dist/esm/extensions/marketplace/offers/write/makeOffer.js +0 -1
  165. package/dist/esm/extensions/marketplace/offers/write/makeOffer.js.map +1 -1
  166. package/dist/esm/extensions/modules/common/getOrDeployModule.js +2 -4
  167. package/dist/esm/extensions/modules/common/getOrDeployModule.js.map +1 -1
  168. package/dist/esm/extensions/modules/common/installPublishedModule.js +1 -1
  169. package/dist/esm/extensions/modules/common/installPublishedModule.js.map +1 -1
  170. package/dist/esm/extensions/modules/common/uninstallPublishedModule.js +1 -2
  171. package/dist/esm/extensions/modules/common/uninstallPublishedModule.js.map +1 -1
  172. package/dist/esm/extensions/prebuilts/deploy-erc1155.js +0 -1
  173. package/dist/esm/extensions/prebuilts/deploy-erc1155.js.map +1 -1
  174. package/dist/esm/extensions/prebuilts/deploy-erc20.js +0 -1
  175. package/dist/esm/extensions/prebuilts/deploy-erc20.js.map +1 -1
  176. package/dist/esm/extensions/prebuilts/deploy-erc721.js +0 -1
  177. package/dist/esm/extensions/prebuilts/deploy-erc721.js.map +1 -1
  178. package/dist/esm/extensions/prebuilts/deploy-marketplace.js +5 -7
  179. package/dist/esm/extensions/prebuilts/deploy-marketplace.js.map +1 -1
  180. package/dist/esm/extensions/prebuilts/deploy-modular.js +33 -28
  181. package/dist/esm/extensions/prebuilts/deploy-modular.js.map +1 -1
  182. package/dist/esm/extensions/prebuilts/deploy-published.js +121 -35
  183. package/dist/esm/extensions/prebuilts/deploy-published.js.map +1 -1
  184. package/dist/esm/extensions/prebuilts/deploy-split.js +0 -1
  185. package/dist/esm/extensions/prebuilts/deploy-split.js.map +1 -1
  186. package/dist/esm/extensions/prebuilts/deploy-vote.js +0 -1
  187. package/dist/esm/extensions/prebuilts/deploy-vote.js.map +1 -1
  188. package/dist/esm/extensions/prebuilts/get-required-transactions.js +63 -0
  189. package/dist/esm/extensions/prebuilts/get-required-transactions.js.map +1 -0
  190. package/dist/esm/react/core/hooks/others/useProfiles.js +1 -1
  191. package/dist/esm/react/core/social/useSocialProfiles.js +2 -0
  192. package/dist/esm/react/core/social/useSocialProfiles.js.map +1 -1
  193. package/dist/esm/react/core/utils/walletIcon.js +4 -0
  194. package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
  195. package/dist/esm/react/native/ui/components/Address.js +1 -3
  196. package/dist/esm/react/native/ui/components/Address.js.map +1 -1
  197. package/dist/esm/react/native/ui/components/WalletImage.js +3 -1
  198. package/dist/esm/react/native/ui/components/WalletImage.js.map +1 -1
  199. package/dist/esm/react/native/ui/connect/InAppWalletUI.js +2 -1
  200. package/dist/esm/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  201. package/dist/esm/react/native/ui/icons/svgs.js +1 -0
  202. package/dist/esm/react/native/ui/icons/svgs.js.map +1 -1
  203. package/dist/esm/react/web/ui/ConnectWallet/Details.js +7 -0
  204. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  205. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +20 -3
  206. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  207. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +7 -0
  208. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  209. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +7 -0
  210. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  211. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +7 -0
  212. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
  213. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +49 -0
  214. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  215. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +20 -0
  216. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  217. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -0
  218. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  219. package/dist/esm/react/web/wallets/shared/oauthSignIn.js +1 -0
  220. package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  221. package/dist/esm/social/profiles.js +2 -1
  222. package/dist/esm/social/profiles.js.map +1 -1
  223. package/dist/esm/utils/abi/normalizeFunctionParams.js +21 -0
  224. package/dist/esm/utils/abi/normalizeFunctionParams.js.map +1 -0
  225. package/dist/esm/utils/any-evm/compute-published-contract-address.js +15 -7
  226. package/dist/esm/utils/any-evm/compute-published-contract-address.js.map +1 -1
  227. package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js +16 -5
  228. package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
  229. package/dist/esm/utils/any-evm/deploy-metadata.js +0 -19
  230. package/dist/esm/utils/any-evm/deploy-metadata.js.map +1 -1
  231. package/dist/esm/utils/caching/lru.js +15 -14
  232. package/dist/esm/utils/caching/lru.js.map +1 -1
  233. package/dist/esm/utils/domains.js +1 -1
  234. package/dist/esm/utils/domains.js.map +1 -1
  235. package/dist/esm/utils/ipfs.js +2 -0
  236. package/dist/esm/utils/ipfs.js.map +1 -1
  237. package/dist/esm/version.js +1 -1
  238. package/dist/esm/version.js.map +1 -1
  239. package/dist/esm/wallets/in-app/core/authentication/types.js +1 -0
  240. package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -1
  241. package/dist/esm/wallets/in-app/core/eip5972/in-app-wallet-calls.js +3 -13
  242. package/dist/esm/wallets/in-app/core/eip5972/in-app-wallet-calls.js.map +1 -1
  243. package/dist/esm/wallets/in-app/native/native-connector.js +2 -0
  244. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  245. package/dist/esm/wallets/in-app/web/in-app.js +2 -0
  246. package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
  247. package/dist/esm/wallets/in-app/web/lib/web-connector.js +2 -0
  248. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  249. package/dist/esm/wallets/types.js +1 -0
  250. package/dist/esm/wallets/types.js.map +1 -1
  251. package/dist/types/analytics/track.d.ts +15 -0
  252. package/dist/types/analytics/track.d.ts.map +1 -1
  253. package/dist/types/contract/actions/compiler-metadata.d.ts +2 -2
  254. package/dist/types/contract/actions/compiler-metadata.d.ts.map +1 -1
  255. package/dist/types/contract/actions/get-compiler-metadata.d.ts +1 -1
  256. package/dist/types/contract/actions/get-compiler-metadata.d.ts.map +1 -1
  257. package/dist/types/contract/deployment/deploy-deterministic.d.ts +12 -1
  258. package/dist/types/contract/deployment/deploy-deterministic.d.ts.map +1 -1
  259. package/dist/types/contract/deployment/deploy-via-autofactory.d.ts.map +1 -1
  260. package/dist/types/contract/deployment/deploy-with-abi.d.ts +33 -10
  261. package/dist/types/contract/deployment/deploy-with-abi.d.ts.map +1 -1
  262. package/dist/types/contract/deployment/utils/bootstrap.d.ts +8 -3
  263. package/dist/types/contract/deployment/utils/bootstrap.d.ts.map +1 -1
  264. package/dist/types/contract/deployment/utils/clone-factory.d.ts.map +1 -1
  265. package/dist/types/contract/deployment/utils/infra.d.ts +24 -1
  266. package/dist/types/contract/deployment/utils/infra.d.ts.map +1 -1
  267. package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts +2 -1
  268. package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts.map +1 -1
  269. package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts +1 -1
  270. package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts.map +1 -1
  271. package/dist/types/contract/deployment/zksync/zkDeployProxy.d.ts.map +1 -1
  272. package/dist/types/contract/verification/source-files.d.ts +2 -2
  273. package/dist/types/contract/verification/source-files.d.ts.map +1 -1
  274. package/dist/types/exports/contract.d.ts +1 -0
  275. package/dist/types/exports/contract.d.ts.map +1 -1
  276. package/dist/types/exports/deploys.d.ts +4 -2
  277. package/dist/types/exports/deploys.d.ts.map +1 -1
  278. package/dist/types/exports/extensions/erc721.d.ts +3 -3
  279. package/dist/types/exports/extensions/erc721.d.ts.map +1 -1
  280. package/dist/types/exports/utils.d.ts +1 -0
  281. package/dist/types/exports/utils.d.ts.map +1 -1
  282. package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts +1 -1
  283. package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts.map +1 -1
  284. package/dist/types/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.d.ts +12 -0
  285. package/dist/types/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.d.ts.map +1 -1
  286. package/dist/types/extensions/erc721/lazyMinting/write/reveal.d.ts +1 -0
  287. package/dist/types/extensions/erc721/lazyMinting/write/reveal.d.ts.map +1 -1
  288. package/dist/types/extensions/erc721/write/updateTokenURI.d.ts +3 -0
  289. package/dist/types/extensions/erc721/write/updateTokenURI.d.ts.map +1 -1
  290. package/dist/types/extensions/marketplace/offers/write/makeOffer.d.ts.map +1 -1
  291. package/dist/types/extensions/modules/common/getOrDeployModule.d.ts +0 -2
  292. package/dist/types/extensions/modules/common/getOrDeployModule.d.ts.map +1 -1
  293. package/dist/types/extensions/modules/common/installPublishedModule.d.ts +1 -1
  294. package/dist/types/extensions/modules/common/installPublishedModule.d.ts.map +1 -1
  295. package/dist/types/extensions/modules/common/uninstallPublishedModule.d.ts +0 -1
  296. package/dist/types/extensions/modules/common/uninstallPublishedModule.d.ts.map +1 -1
  297. package/dist/types/extensions/prebuilts/deploy-erc1155.d.ts.map +1 -1
  298. package/dist/types/extensions/prebuilts/deploy-erc20.d.ts.map +1 -1
  299. package/dist/types/extensions/prebuilts/deploy-erc721.d.ts.map +1 -1
  300. package/dist/types/extensions/prebuilts/deploy-marketplace.d.ts.map +1 -1
  301. package/dist/types/extensions/prebuilts/deploy-modular.d.ts +1 -0
  302. package/dist/types/extensions/prebuilts/deploy-modular.d.ts.map +1 -1
  303. package/dist/types/extensions/prebuilts/deploy-published.d.ts +50 -3
  304. package/dist/types/extensions/prebuilts/deploy-published.d.ts.map +1 -1
  305. package/dist/types/extensions/prebuilts/deploy-split.d.ts.map +1 -1
  306. package/dist/types/extensions/prebuilts/deploy-vote.d.ts.map +1 -1
  307. package/dist/types/extensions/prebuilts/get-required-transactions.d.ts +26 -0
  308. package/dist/types/extensions/prebuilts/get-required-transactions.d.ts.map +1 -0
  309. package/dist/types/react/core/hooks/others/useProfiles.d.ts +1 -1
  310. package/dist/types/react/core/social/useSocialProfiles.d.ts +2 -0
  311. package/dist/types/react/core/social/useSocialProfiles.d.ts.map +1 -1
  312. package/dist/types/react/core/utils/storage.d.ts +1 -1
  313. package/dist/types/react/core/utils/storage.d.ts.map +1 -1
  314. package/dist/types/react/core/utils/walletIcon.d.ts +3 -1
  315. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
  316. package/dist/types/react/native/ui/components/Address.d.ts.map +1 -1
  317. package/dist/types/react/native/ui/components/WalletImage.d.ts.map +1 -1
  318. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
  319. package/dist/types/react/native/ui/icons/svgs.d.ts +1 -0
  320. package/dist/types/react/native/ui/icons/svgs.d.ts.map +1 -1
  321. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  322. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  323. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.d.ts.map +1 -1
  324. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
  325. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.d.ts.map +1 -1
  326. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
  327. package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts.map +1 -1
  328. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  329. package/dist/types/react/web/wallets/shared/oauthSignIn.d.ts.map +1 -1
  330. package/dist/types/social/profiles.d.ts +2 -1
  331. package/dist/types/social/profiles.d.ts.map +1 -1
  332. package/dist/types/utils/abi/normalizeFunctionParams.d.ts +3 -0
  333. package/dist/types/utils/abi/normalizeFunctionParams.d.ts.map +1 -0
  334. package/dist/types/utils/any-evm/compute-published-contract-address.d.ts +2 -6
  335. package/dist/types/utils/any-evm/compute-published-contract-address.d.ts.map +1 -1
  336. package/dist/types/utils/any-evm/compute-published-contract-deploy-info.d.ts +17 -2
  337. package/dist/types/utils/any-evm/compute-published-contract-deploy-info.d.ts.map +1 -1
  338. package/dist/types/utils/any-evm/deploy-metadata.d.ts +3 -6
  339. package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
  340. package/dist/types/utils/caching/lru.d.ts +4 -13
  341. package/dist/types/utils/caching/lru.d.ts.map +1 -1
  342. package/dist/types/utils/ipfs.d.ts +1 -1
  343. package/dist/types/utils/ipfs.d.ts.map +1 -1
  344. package/dist/types/version.d.ts +1 -1
  345. package/dist/types/version.d.ts.map +1 -1
  346. package/dist/types/wallets/in-app/core/authentication/types.d.ts +1 -0
  347. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  348. package/dist/types/wallets/in-app/core/eip5972/in-app-wallet-calls.d.ts.map +1 -1
  349. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  350. package/dist/types/wallets/in-app/web/in-app.d.ts +2 -0
  351. package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
  352. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  353. package/dist/types/wallets/types.d.ts +2 -2
  354. package/dist/types/wallets/types.d.ts.map +1 -1
  355. package/package.json +17 -22
  356. package/src/analytics/track.ts +29 -0
  357. package/src/chains/chain-definitions/polygon.ts +1 -1
  358. package/src/contract/actions/compiler-metadata.ts +2 -2
  359. package/src/contract/deployment/deploy-deterministic.test.ts +16 -5
  360. package/src/contract/deployment/deploy-deterministic.ts +35 -2
  361. package/src/contract/deployment/deploy-via-autofactory.test.ts +0 -2
  362. package/src/contract/deployment/deploy-via-autofactory.ts +3 -0
  363. package/src/contract/deployment/deploy-with-abi.ts +63 -24
  364. package/src/contract/deployment/publisher.test.ts +2 -2
  365. package/src/contract/deployment/utils/bootstrap.test.ts +3 -2
  366. package/src/contract/deployment/utils/bootstrap.ts +36 -12
  367. package/src/contract/deployment/utils/clone-factory.ts +1 -2
  368. package/src/contract/deployment/utils/infra.ts +61 -5
  369. package/src/contract/deployment/zksync/zkDeployContract.ts +13 -2
  370. package/src/contract/deployment/zksync/zkDeployDeterministic.ts +4 -3
  371. package/src/contract/deployment/zksync/zkDeployProxy.ts +5 -4
  372. package/src/contract/verification/source-files.ts +2 -2
  373. package/src/exports/contract.ts +6 -0
  374. package/src/exports/deploys.ts +14 -5
  375. package/src/exports/extensions/erc721.ts +3 -1
  376. package/src/exports/utils.ts +2 -0
  377. package/src/extensions/airdrop/write/airdropERC1155WithSignature.test.ts +4 -1
  378. package/src/extensions/airdrop/write/airdropERC20WithSignature.test.ts +4 -1
  379. package/src/extensions/airdrop/write/airdropERC721WithSignature.test.ts +4 -1
  380. package/src/extensions/airdrop/write/claimERC1155.test.ts +4 -1
  381. package/src/extensions/airdrop/write/claimERC20.test.ts +4 -1
  382. package/src/extensions/airdrop/write/claimERC721.test.ts +4 -1
  383. package/src/extensions/erc1155/write/updateTokenURI.test.ts +54 -0
  384. package/src/extensions/erc20/write/getApprovalForTransaction.test.ts +112 -0
  385. package/src/extensions/erc20/write/transferFrom.test.ts +104 -0
  386. package/src/extensions/erc4337/account/permissions.test.ts +4 -1
  387. package/src/extensions/erc721/drops/write/updateMetadata.test.ts +29 -0
  388. package/src/extensions/erc721/lazyMinting/read/getBatchesToReveal.ts +15 -15
  389. package/src/extensions/erc721/lazyMinting/write/createAndReveal.test.ts +84 -0
  390. package/src/extensions/erc721/lazyMinting/write/createDelayedRevealBatch.ts +33 -3
  391. package/src/extensions/erc721/lazyMinting/write/reveal.test.ts +1 -45
  392. package/src/extensions/erc721/lazyMinting/write/reveal.ts +2 -23
  393. package/src/extensions/erc721/write/updateTokenURI.test.ts +56 -0
  394. package/src/extensions/erc721/write/updateTokenURI.ts +3 -0
  395. package/src/extensions/marketplace/offers/offers.test.ts +0 -1
  396. package/src/extensions/marketplace/offers/write/makeOffer.ts +0 -1
  397. package/src/extensions/modules/common/getOrDeployModule.ts +2 -7
  398. package/src/extensions/modules/common/installPublishedModule.ts +2 -2
  399. package/src/extensions/modules/common/uninstallPublishedModule.ts +1 -9
  400. package/src/extensions/prebuilts/deploy-erc1155.ts +0 -1
  401. package/src/extensions/prebuilts/deploy-erc20.ts +0 -1
  402. package/src/extensions/prebuilts/deploy-erc721.ts +0 -1
  403. package/src/extensions/prebuilts/deploy-marketplace.ts +6 -8
  404. package/src/extensions/prebuilts/deploy-modular-core.test.ts +63 -2
  405. package/src/extensions/prebuilts/deploy-modular.ts +50 -38
  406. package/src/extensions/prebuilts/deploy-published.test.ts +61 -4
  407. package/src/extensions/prebuilts/deploy-published.ts +208 -55
  408. package/src/extensions/prebuilts/deploy-split.ts +0 -1
  409. package/src/extensions/prebuilts/deploy-vote.ts +0 -1
  410. package/src/extensions/prebuilts/get-required-transactions.test.ts +61 -0
  411. package/src/extensions/prebuilts/get-required-transactions.ts +110 -0
  412. package/src/react/core/hooks/others/useProfiles.ts +1 -1
  413. package/src/react/core/social/useSocialProfiles.ts +2 -0
  414. package/src/react/core/utils/walletIcon.ts +5 -0
  415. package/src/react/native/ui/components/Address.tsx +1 -3
  416. package/src/react/native/ui/components/WalletImage.tsx +3 -0
  417. package/src/react/native/ui/connect/InAppWalletUI.tsx +2 -0
  418. package/src/react/native/ui/icons/svgs.ts +2 -0
  419. package/src/react/web/ui/ConnectWallet/Details.tsx +7 -0
  420. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +31 -3
  421. package/src/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.tsx +7 -0
  422. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +7 -0
  423. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.tsx +7 -0
  424. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +53 -0
  425. package/src/react/web/ui/TransactionButton/TransactionModal.tsx +21 -0
  426. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +1 -0
  427. package/src/react/web/wallets/shared/oauthSignIn.ts +1 -0
  428. package/src/social/profiles.ts +2 -1
  429. package/src/transaction/actions/zksync/send-eip712-transaction.test.ts +13 -13
  430. package/src/utils/abi/normalizeFunctionParams.ts +29 -0
  431. package/src/utils/any-evm/compute-published-contract-address.ts +17 -12
  432. package/src/utils/any-evm/compute-published-contract-deploy-info.ts +31 -12
  433. package/src/utils/any-evm/deploy-metadata.ts +9 -34
  434. package/src/utils/bytecode/resolveImplementation.test.ts +7 -5
  435. package/src/utils/caching/lru.test.ts +38 -0
  436. package/src/utils/caching/lru.ts +18 -14
  437. package/src/utils/domains.ts +1 -1
  438. package/src/utils/ipfs.ts +3 -1
  439. package/src/version.ts +1 -1
  440. package/src/wallets/in-app/core/authentication/types.ts +1 -0
  441. package/src/wallets/in-app/core/eip5972/in-app-wallet-calls.ts +3 -14
  442. package/src/wallets/in-app/native/native-connector.ts +2 -0
  443. package/src/wallets/in-app/web/in-app.ts +2 -0
  444. package/src/wallets/in-app/web/lib/web-connector.ts +2 -0
  445. package/src/wallets/types.ts +1 -0
@@ -17,9 +17,9 @@ export type AppMetadata = {
17
17
  */
18
18
  logoUrl?: string;
19
19
  };
20
- export declare const socialAuthOptions: readonly ["google", "apple", "facebook", "discord", "farcaster", "telegram"];
20
+ export declare const socialAuthOptions: readonly ["google", "apple", "facebook", "discord", "line", "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"];
22
+ export declare const authOptions: readonly ["google", "apple", "facebook", "discord", "line", "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,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"}
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,sFAQpB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,WAAW,mHAKd,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.53.0",
3
+ "version": "5.54.0-nightly-c3800d6c0765a9a0b69ac0a4a390d20cec932419-20240912000413",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -210,9 +210,9 @@
210
210
  "@radix-ui/react-focus-scope": "1.1.0",
211
211
  "@radix-ui/react-icons": "1.3.0",
212
212
  "@radix-ui/react-tooltip": "1.1.2",
213
- "@tanstack/react-query": "5.54.1",
214
- "@walletconnect/ethereum-provider": "2.15.2",
215
- "@walletconnect/sign-client": "^2.13.3",
213
+ "@tanstack/react-query": "5.55.4",
214
+ "@walletconnect/ethereum-provider": "2.16.1",
215
+ "@walletconnect/sign-client": "2.16.1",
216
216
  "abitype": "1.0.5",
217
217
  "fast-text-encoding": "^1.0.6",
218
218
  "fuse.js": "7.0.0",
@@ -220,15 +220,14 @@
220
220
  "mipd": "0.0.7",
221
221
  "node-libs-browser": "2.2.1",
222
222
  "uqr": "0.1.2",
223
- "viem": "2.21.2"
223
+ "viem": "2.21.4"
224
224
  },
225
225
  "peerDependencies": {
226
226
  "@aws-sdk/client-lambda": "^3",
227
227
  "@aws-sdk/credential-providers": "^3",
228
228
  "@coinbase/wallet-mobile-sdk": "^1",
229
229
  "@mobile-wallet-protocol/client": "^0.0.2",
230
- "@react-native-async-storage/async-storage": "^1",
231
- "@react-native-clipboard/clipboard": "*",
230
+ "@react-native-async-storage/async-storage": "^1 || ^2",
232
231
  "amazon-cognito-identity-js": "^6",
233
232
  "aws-amplify": "^5",
234
233
  "ethers": "^5 || ^6",
@@ -287,9 +286,6 @@
287
286
  "@react-native-async-storage/async-storage": {
288
287
  "optional": true
289
288
  },
290
- "@react-native-clipboard/clipboard": {
291
- "optional": true
292
- },
293
289
  "@coinbase/wallet-mobile-sdk": {
294
290
  "optional": true
295
291
  },
@@ -301,14 +297,13 @@
301
297
  "node": ">=18"
302
298
  },
303
299
  "devDependencies": {
304
- "@aws-sdk/client-lambda": "3.577.0",
305
- "@aws-sdk/credential-providers": "3.577.0",
300
+ "@aws-sdk/client-lambda": "3.592.0",
301
+ "@aws-sdk/credential-providers": "3.592.0",
306
302
  "@chromatic-com/storybook": "^1.5.0",
307
303
  "@codspeed/vitest-plugin": "3.1.1",
308
304
  "@coinbase/wallet-mobile-sdk": "1.0.13",
309
305
  "@mobile-wallet-protocol/client": "0.0.2",
310
- "@react-native-async-storage/async-storage": "^1.23.1",
311
- "@react-native-clipboard/clipboard": "1.14.1",
306
+ "@react-native-async-storage/async-storage": "1.24.0",
312
307
  "@storybook/addon-essentials": "^8.2.9",
313
308
  "@storybook/addon-interactions": "^8.2.9",
314
309
  "@storybook/addon-links": "^8.2.9",
@@ -325,21 +320,21 @@
325
320
  "@vitejs/plugin-react": "^4.3.1",
326
321
  "@vitest/ui": "2.0.5",
327
322
  "amazon-cognito-identity-js": "6.3.12",
328
- "aws-amplify": "5.3.18",
323
+ "aws-amplify": "5.3.19",
329
324
  "cross-spawn": "7.0.3",
330
325
  "ethers5": "npm:ethers@5.7.2",
331
326
  "ethers6": "npm:ethers@6.13.2",
332
327
  "expo-linking": "6.3.1",
333
328
  "expo-web-browser": "13.0.3",
334
329
  "happy-dom": "^14.12.0",
335
- "msw": "^2.3.4",
336
- "react-native": "0.74.5",
330
+ "msw": "2.4.4",
331
+ "react-native": "0.75.2",
337
332
  "react-native-aes-gcm-crypto": "0.2.2",
338
333
  "react-native-passkey": "3.0.0-beta2",
339
334
  "react-native-quick-crypto": "0.7.0-rc.6",
340
335
  "react-native-svg": "15.3.0",
341
336
  "storybook": "^8.2.9",
342
- "typescript": "5.5.4",
337
+ "typescript": "5.6.2",
343
338
  "vite": "5.4.3"
344
339
  },
345
340
  "scripts": {
@@ -352,11 +347,11 @@
352
347
  "build:generate": "bun scripts/generate/generate.ts",
353
348
  "build:generate-wallets": "bun scripts/wallets/generate.ts",
354
349
  "dev": "tsc --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch",
355
- "dev:cjs": "printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json && tsc --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false --watch",
356
- "dev:esm": "printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json && tsc --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch",
350
+ "dev:cjs": "printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json && tsc --noCheck --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false --watch",
351
+ "dev:esm": "printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json && tsc --noCheck --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch",
357
352
  "build": "pnpm clean && pnpm build:cjs && pnpm build:esm && pnpm build:types",
358
- "build:cjs": "tsc --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false && printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json",
359
- "build:esm": "tsc --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm && printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json",
353
+ "build:cjs": "tsc --noCheck --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false && printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json",
354
+ "build:esm": "tsc --noCheck --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm && printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json",
360
355
  "build:types": "tsc --project ./tsconfig.build.json --module esnext --declarationDir ./dist/types --emitDeclarationOnly --declaration --declarationMap",
361
356
  "clean": "rimraf dist",
362
357
  "push": "yalc push",
@@ -20,6 +20,35 @@ export function trackConnect(args: {
20
20
  });
21
21
  }
22
22
 
23
+ /**
24
+ * @internal
25
+ */
26
+ export function trackPayEvent(args: {
27
+ client: ThirdwebClient;
28
+ event: string;
29
+ walletAddress?: string;
30
+ walletType?: string;
31
+ fromToken?: string;
32
+ fromAmount?: string;
33
+ toToken?: string;
34
+ toAmount?: string;
35
+ chainId?: number;
36
+ dstChainId?: number;
37
+ }) {
38
+ track(args.client, {
39
+ source: "pay",
40
+ action: args.event,
41
+ clientId: args.client.clientId,
42
+ chainId: args.chainId,
43
+ walletAddress: args.walletAddress,
44
+ walletType: args.walletType,
45
+ tokenAddress: args.fromToken,
46
+ amountWei: args.fromAmount,
47
+ dstTokenAddress: args.toToken,
48
+ dstChainId: args.chainId,
49
+ });
50
+ }
51
+
23
52
  /**
24
53
  * @internal
25
54
  */
@@ -6,7 +6,7 @@ import { defineChain } from "../utils.js";
6
6
  export const polygon = /*@__PURE__*/ defineChain({
7
7
  id: 137,
8
8
  name: "Polygon",
9
- nativeCurrency: { name: "MATIC", symbol: "MATIC", decimals: 18 },
9
+ nativeCurrency: { name: "POL", symbol: "POL", decimals: 18 },
10
10
  blockExplorers: [
11
11
  {
12
12
  name: "PolygonScan",
@@ -3,7 +3,7 @@ import type { Abi } from "abitype";
3
3
  /**
4
4
  * @contract
5
5
  */
6
- export type PublishedMetadata = {
6
+ export type CompilerMetadata = {
7
7
  name: string;
8
8
  abi: Abi;
9
9
  // biome-ignore lint/suspicious/noExplicitAny: TODO: fix later by updating this type to match the specs here: https://docs.soliditylang.org/en/latest/metadata.html
@@ -27,7 +27,7 @@ export type PublishedMetadata = {
27
27
  * @internal
28
28
  */
29
29
  // biome-ignore lint/suspicious/noExplicitAny: TODO: fix later
30
- export function formatCompilerMetadata(metadata: any): PublishedMetadata {
30
+ export function formatCompilerMetadata(metadata: any): CompilerMetadata {
31
31
  const compilationTarget = metadata.settings.compilationTarget;
32
32
  const targets = Object.keys(compilationTarget);
33
33
  const name = compilationTarget[targets[0] as keyof typeof compilationTarget];
@@ -18,13 +18,19 @@ describe.runIf(process.env.TW_SECRET_KEY)("deployFromMetadata", () => {
18
18
  chain: FORKED_ETHEREUM_CHAIN,
19
19
  client: TEST_CLIENT,
20
20
  contractId: "AccountFactory",
21
- constructorParams: [TEST_ACCOUNT_A.address, ENTRYPOINT_ADDRESS_v0_6],
21
+ constructorParams: {
22
+ defaultAdmin: TEST_ACCOUNT_A.address,
23
+ entrypoint: ENTRYPOINT_ADDRESS_v0_6,
24
+ },
22
25
  });
23
26
  const tx2 = prepareDeterministicDeployTransaction({
24
27
  chain: FORKED_ETHEREUM_CHAIN,
25
28
  client: TEST_CLIENT,
26
29
  contractId: "AccountFactory",
27
- constructorParams: [TEST_ACCOUNT_A.address, ENTRYPOINT_ADDRESS_v0_6],
30
+ constructorParams: {
31
+ defaultAdmin: TEST_ACCOUNT_A.address,
32
+ entrypoint: ENTRYPOINT_ADDRESS_v0_6,
33
+ },
28
34
  });
29
35
  const [tx1Result, tx2Result] = await Promise.all([
30
36
  simulateTransaction({ transaction: tx1 }),
@@ -38,14 +44,20 @@ describe.runIf(process.env.TW_SECRET_KEY)("deployFromMetadata", () => {
38
44
  chain: FORKED_ETHEREUM_CHAIN,
39
45
  client: TEST_CLIENT,
40
46
  contractId: "AccountFactory",
41
- constructorParams: [TEST_ACCOUNT_A.address, ENTRYPOINT_ADDRESS_v0_6],
47
+ constructorParams: {
48
+ defaultAdmin: TEST_ACCOUNT_A.address,
49
+ entrypoint: ENTRYPOINT_ADDRESS_v0_6,
50
+ },
42
51
  salt: "some-salt",
43
52
  });
44
53
  const tx2 = prepareDeterministicDeployTransaction({
45
54
  chain: FORKED_OPTIMISM_CHAIN,
46
55
  client: TEST_CLIENT,
47
56
  contractId: "AccountFactory",
48
- constructorParams: [TEST_ACCOUNT_A.address, ENTRYPOINT_ADDRESS_v0_6],
57
+ constructorParams: {
58
+ defaultAdmin: TEST_ACCOUNT_A.address,
59
+ entrypoint: ENTRYPOINT_ADDRESS_v0_6,
60
+ },
49
61
  });
50
62
  const [tx1Result, tx2Result] = await Promise.all([
51
63
  simulateTransaction({ transaction: tx1 }),
@@ -60,7 +72,6 @@ describe.runIf(process.env.TW_SECRET_KEY)("deployFromMetadata", () => {
60
72
  chain: ANVIL_CHAIN,
61
73
  contractId: "Counter",
62
74
  publisher: "0x4a706de5CE9bfe2f9C37BA945805e396d1810824",
63
- constructorParams: [],
64
75
  });
65
76
 
66
77
  const txResult = await simulateTransaction({ transaction: tx });
@@ -1,5 +1,10 @@
1
+ import type { Abi } from "abitype";
1
2
  import { prepareTransaction } from "../../transaction/prepare-transaction.js";
2
- import { computeDeploymentInfoFromContractId } from "../../utils/any-evm/compute-published-contract-deploy-info.js";
3
+ import {
4
+ computeDeploymentInfoFromBytecode,
5
+ computeDeploymentInfoFromContractId,
6
+ } from "../../utils/any-evm/compute-published-contract-deploy-info.js";
7
+ import type { Hex } from "../../utils/encoding/hex.js";
3
8
  import type { Prettify } from "../../utils/type-utils.js";
4
9
  import type { ClientAndChain } from "../../utils/types.js";
5
10
  import { computeCreate2FactoryAddress } from "./utils/create-2-factory.js";
@@ -10,7 +15,7 @@ import { computeCreate2FactoryAddress } from "./utils/create-2-factory.js";
10
15
  export type DeployDetemisiticParams = Prettify<
11
16
  ClientAndChain & {
12
17
  contractId: string;
13
- constructorParams: unknown[];
18
+ constructorParams?: Record<string, unknown>;
14
19
  publisher?: string;
15
20
  version?: string;
16
21
  salt?: string;
@@ -56,3 +61,31 @@ export function prepareDeterministicDeployTransaction(
56
61
  },
57
62
  });
58
63
  }
64
+
65
+ /**
66
+ * @internal
67
+ */
68
+ export function prepareDeterministicDeployTransactionFromBytecode(
69
+ options: ClientAndChain & {
70
+ abi: Abi;
71
+ bytecode: Hex;
72
+ constructorParams?: Record<string, unknown>;
73
+ salt?: string;
74
+ },
75
+ ) {
76
+ const { client, chain } = options;
77
+ return prepareTransaction({
78
+ client,
79
+ chain,
80
+ to: () =>
81
+ computeCreate2FactoryAddress({
82
+ client,
83
+ chain,
84
+ }),
85
+ data: async () => {
86
+ const infraContractInfo =
87
+ await computeDeploymentInfoFromBytecode(options);
88
+ return infraContractInfo.initBytecodeWithsalt;
89
+ },
90
+ });
91
+ }
@@ -39,7 +39,6 @@ describe.runIf(process.env.TW_SECRET_KEY)("deployFromMetadata", () => {
39
39
  chain: ANVIL_CHAIN,
40
40
  client: TEST_CLIENT,
41
41
  contractId: "DropERC721",
42
- constructorParams: [],
43
42
  });
44
43
  if (!implementationContract) {
45
44
  throw new Error("Clone factory not found");
@@ -87,7 +86,6 @@ describe.runIf(process.env.TW_SECRET_KEY)("deployFromMetadata", () => {
87
86
  chain: ANVIL_CHAIN,
88
87
  client: TEST_CLIENT,
89
88
  contractId: "DropERC721",
90
- constructorParams: [],
91
89
  });
92
90
  if (!implementationContract) {
93
91
  throw new Error("Clone factory not found");
@@ -70,6 +70,7 @@ export async function deployViaAutoFactory(
70
70
  account,
71
71
  cloneFactoryContract,
72
72
  initializeTransaction,
73
+ salt,
73
74
  } = options;
74
75
 
75
76
  if (isZkSyncChain(chain)) {
@@ -79,6 +80,7 @@ export async function deployViaAutoFactory(
79
80
  account,
80
81
  cloneFactoryContract,
81
82
  initializeTransaction,
83
+ salt,
82
84
  });
83
85
  }
84
86
 
@@ -87,6 +89,7 @@ export async function deployViaAutoFactory(
87
89
  client,
88
90
  cloneFactoryContract,
89
91
  initializeTransaction,
92
+ salt,
90
93
  });
91
94
  const receipt = await sendAndConfirmTransaction({
92
95
  transaction: tx,
@@ -1,11 +1,10 @@
1
- import type {
2
- AbiConstructor,
3
- AbiParameter,
4
- AbiParametersToPrimitiveTypes,
5
- } from "abitype";
1
+ import type { Abi, AbiConstructor } from "abitype";
6
2
  import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js";
7
3
  import { prepareTransaction } from "../../transaction/prepare-transaction.js";
8
4
  import { encodeAbiParameters } from "../../utils/abi/encodeAbiParameters.js";
5
+ import { normalizeFunctionParams } from "../../utils/abi/normalizeFunctionParams.js";
6
+ import { computeDeploymentAddress } from "../../utils/any-evm/compute-deployment-address.js";
7
+ import { computeDeploymentInfoFromBytecode } from "../../utils/any-evm/compute-published-contract-deploy-info.js";
9
8
  import { ensureBytecodePrefix } from "../../utils/bytecode/prefix.js";
10
9
  import { concatHex } from "../../utils/encoding/helpers/concat-hex.js";
11
10
  import { type Hex, isHex } from "../../utils/encoding/hex.js";
@@ -16,16 +15,11 @@ import type { Account } from "../../wallets/interfaces/wallet.js";
16
15
  /**
17
16
  * @extension DEPLOY
18
17
  */
19
- export type PrepareDirectDeployTransactionOptions<
20
- TConstructor extends AbiConstructor,
21
- TParams = AbiParametersToPrimitiveTypes<TConstructor["inputs"]>,
22
- > = Prettify<
18
+ export type PrepareDirectDeployTransactionOptions = Prettify<
23
19
  ClientAndChain & {
24
- constructorAbi: TConstructor;
20
+ abi: Abi;
25
21
  bytecode: Hex;
26
- constructorParams: TParams extends readonly AbiParameter[]
27
- ? TParams
28
- : readonly unknown[];
22
+ constructorParams?: Record<string, unknown>;
29
23
  }
30
24
  >;
31
25
 
@@ -51,13 +45,16 @@ export type PrepareDirectDeployTransactionOptions<
51
45
  * ```
52
46
  * @extension DEPLOY
53
47
  */
54
- export function prepareDirectDeployTransaction<
55
- const TConstructor extends AbiConstructor,
56
- >(options: PrepareDirectDeployTransactionOptions<TConstructor>) {
48
+ export function prepareDirectDeployTransaction(
49
+ options: PrepareDirectDeployTransactionOptions,
50
+ ) {
57
51
  const bytecode = ensureBytecodePrefix(options.bytecode);
58
52
  if (!isHex(bytecode)) {
59
53
  throw new Error(`Contract bytecode is invalid.\n\n${bytecode}`);
60
54
  }
55
+ const constructorAbi = options.abi.find(
56
+ (abi) => abi.type === "constructor",
57
+ ) as AbiConstructor | undefined;
61
58
  // prepare the tx
62
59
  return prepareTransaction({
63
60
  chain: options.chain,
@@ -66,8 +63,8 @@ export function prepareDirectDeployTransaction<
66
63
  data: concatHex([
67
64
  bytecode,
68
65
  encodeAbiParameters(
69
- options.constructorAbi.inputs ?? [], // Leave an empty array if there's no constructor
70
- options.constructorParams,
66
+ constructorAbi?.inputs || [], // Leave an empty array if there's no constructor
67
+ normalizeFunctionParams(constructorAbi, options.constructorParams),
71
68
  ),
72
69
  ]),
73
70
  });
@@ -78,6 +75,9 @@ export function prepareDirectDeployTransaction<
78
75
  * @param options - the deploy options
79
76
  * @returns - a promise that resolves to the deployed contract address
80
77
  * @example
78
+ *
79
+ * ## Deploying a regular contract from ABI and bytecode
80
+ *
81
81
  * ```ts
82
82
  * import { deployContract } from "thirdweb/deployContract";
83
83
  *
@@ -85,20 +85,59 @@ export function prepareDirectDeployTransaction<
85
85
  * client,
86
86
  * chain,
87
87
  * bytecode: "0x...",
88
- * constructorAbi: {
89
- * inputs: [{ type: "uint256", name: "value" }],
90
- * type: "constructor",
88
+ * abi: contractAbi,
89
+ * constructorParams: {
90
+ * param1: "value1",
91
+ * param2: 123,
91
92
  * },
92
- * constructorParams: [123],
93
+ * salt, // optional: salt enables deterministic deploys
94
+ * });
95
+ * ```
96
+ *
97
+ * ## Deploying a contract deterministically
98
+ *
99
+ * ```ts
100
+ * import { deployContract } from "thirdweb/deployContract";
101
+ *
102
+ * const address = await deployContract({
103
+ * client,
104
+ * chain,
105
+ * bytecode: "0x...",
106
+ * abi: contractAbi,
107
+ * constructorParams: {
108
+ * param1: "value1",
109
+ * param2: 123,
110
+ * },
111
+ * salt, // passing a salt will enable deterministic deploys
93
112
  * });
94
113
  * ```
95
114
  * @extension DEPLOY
96
115
  */
97
- export async function deployContract<const TConstructor extends AbiConstructor>(
98
- options: PrepareDirectDeployTransactionOptions<TConstructor> & {
116
+ export async function deployContract(
117
+ options: PrepareDirectDeployTransactionOptions & {
99
118
  account: Account;
119
+ salt?: string;
100
120
  },
101
121
  ) {
122
+ if (options.salt !== undefined) {
123
+ // Deploy with CREATE2 if salt is provided
124
+ const info = await computeDeploymentInfoFromBytecode(options);
125
+ sendAndConfirmTransaction({
126
+ account: options.account,
127
+ transaction: prepareTransaction({
128
+ chain: options.chain,
129
+ client: options.client,
130
+ to: info.create2FactoryAddress,
131
+ data: info.initBytecodeWithsalt,
132
+ }),
133
+ });
134
+ return computeDeploymentAddress({
135
+ bytecode: options.bytecode,
136
+ encodedArgs: info.encodedArgs,
137
+ create2FactoryAddress: info.create2FactoryAddress,
138
+ });
139
+ }
140
+
102
141
  const deployTx = prepareDirectDeployTransaction(options);
103
142
  const receipt = await sendAndConfirmTransaction({
104
143
  account: options.account,
@@ -15,7 +15,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("fetchPublishedContract", () => {
15
15
  client: TEST_CLIENT,
16
16
  });
17
17
 
18
- expect(result.extendedMetadata?.version).toEqual("1.0.2");
18
+ expect(result?.version).toEqual("1.0.2");
19
19
  });
20
20
 
21
21
  it("fetches a specific version when specified", async () => {
@@ -26,7 +26,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("fetchPublishedContract", () => {
26
26
  version: "1.0.1",
27
27
  });
28
28
 
29
- expect(result.extendedMetadata?.version).toEqual("1.0.1");
29
+ expect(result?.version).toEqual("1.0.1");
30
30
  });
31
31
 
32
32
  it("throws an error when an invalid version is specified", async () => {
@@ -27,7 +27,6 @@ describe.runIf(process.env.TW_SECRET_KEY)("bootstrap", () => {
27
27
  chain: ANVIL_CHAIN,
28
28
  client: TEST_CLIENT,
29
29
  contractId: "Forwarder",
30
- constructorParams: [],
31
30
  });
32
31
  expect(forwarder).not.toBeNull();
33
32
  if (!forwarder) {
@@ -37,7 +36,9 @@ describe.runIf(process.env.TW_SECRET_KEY)("bootstrap", () => {
37
36
  chain: ANVIL_CHAIN,
38
37
  client: TEST_CLIENT,
39
38
  contractId: "TWCloneFactory",
40
- constructorParams: [forwarder.address],
39
+ constructorParams: {
40
+ _trustedForwarder: forwarder.address,
41
+ },
41
42
  });
42
43
  expect(cloneFactory).not.toBeNull();
43
44
  });
@@ -1,4 +1,5 @@
1
1
  import { sendAndConfirmTransaction } from "../../../transaction/actions/send-and-confirm-transaction.js";
2
+ import type { FetchDeployMetadataResult } from "../../../utils/any-evm/deploy-metadata.js";
2
3
  import { isZkSyncChain } from "../../../utils/any-evm/zksync/isZkSyncChain.js";
3
4
  import type { ClientAndChainAndAccount } from "../../../utils/types.js";
4
5
  import { type ThirdwebContract, getContract } from "../../contract.js";
@@ -13,7 +14,8 @@ import {
13
14
  import {
14
15
  type InfraContractId,
15
16
  getDeployedInfraContract,
16
- prepareInfraContractDeployTransaction,
17
+ getDeployedInfraContractFromMetadata,
18
+ prepareInfraContractDeployTransactionFromMetadata,
17
19
  } from "./infra.js";
18
20
 
19
21
  /**
@@ -22,7 +24,7 @@ import {
22
24
  export async function getOrDeployInfraForPublishedContract(
23
25
  args: ClientAndChainAndAccount & {
24
26
  contractId: string;
25
- constructorParams: unknown[];
27
+ constructorParams?: Record<string, unknown>;
26
28
  publisher?: string;
27
29
  version?: string;
28
30
  },
@@ -46,7 +48,7 @@ export async function getOrDeployInfraForPublishedContract(
46
48
  client,
47
49
  account,
48
50
  });
49
- const { compilerMetadata } = await fetchPublishedContractMetadata({
51
+ const compilerMetadata = await fetchPublishedContractMetadata({
50
52
  client,
51
53
  contractId: `${contractId}_ZkSync`, // different contract id for zkSync
52
54
  publisher,
@@ -124,14 +126,13 @@ export async function deployCloneFactory(options: ClientAndChainAndAccount) {
124
126
  const forwarder = await getOrDeployInfraContract({
125
127
  ...options,
126
128
  contractId: "Forwarder",
127
- constructorParams: [],
128
129
  });
129
130
 
130
131
  // clone factory
131
132
  return getOrDeployInfraContract({
132
133
  ...options,
133
134
  contractId: "TWCloneFactory",
134
- constructorParams: [forwarder.address],
135
+ constructorParams: { _trustedForwarder: forwarder.address },
135
136
  });
136
137
  }
137
138
 
@@ -142,7 +143,7 @@ export async function deployCloneFactory(options: ClientAndChainAndAccount) {
142
143
  export async function deployImplementation(
143
144
  options: ClientAndChainAndAccount & {
144
145
  contractId: string;
145
- constructorParams?: unknown[];
146
+ constructorParams?: Record<string, unknown>;
146
147
  publisher?: string;
147
148
  version?: string;
148
149
  },
@@ -150,7 +151,7 @@ export async function deployImplementation(
150
151
  return getOrDeployInfraContract({
151
152
  ...options,
152
153
  contractId: options.contractId,
153
- constructorParams: options.constructorParams || [],
154
+ constructorParams: options.constructorParams,
154
155
  publisher: options.publisher,
155
156
  version: options.version,
156
157
  });
@@ -163,23 +164,46 @@ export async function deployImplementation(
163
164
  export async function getOrDeployInfraContract(
164
165
  options: ClientAndChainAndAccount & {
165
166
  contractId: InfraContractId;
166
- constructorParams: unknown[];
167
+ constructorParams?: Record<string, unknown>;
167
168
  publisher?: string;
168
169
  version?: string;
169
170
  },
170
171
  ) {
171
- const infraContract = await getDeployedInfraContract(options);
172
+ const contractMetadata = await fetchPublishedContractMetadata({
173
+ client: options.client,
174
+ contractId: options.contractId,
175
+ publisher: options.publisher,
176
+ version: options.version,
177
+ });
178
+ return getOrDeployInfraContractFromMetadata({
179
+ account: options.account,
180
+ chain: options.chain,
181
+ client: options.client,
182
+ constructorParams: options.constructorParams,
183
+ contractMetadata,
184
+ });
185
+ }
186
+
187
+ export async function getOrDeployInfraContractFromMetadata(
188
+ options: ClientAndChainAndAccount & {
189
+ contractMetadata: FetchDeployMetadataResult;
190
+ constructorParams?: Record<string, unknown>;
191
+ },
192
+ ) {
193
+ const infraContract = await getDeployedInfraContractFromMetadata(options);
172
194
  if (infraContract) {
173
195
  return infraContract;
174
196
  }
175
- const transaction = prepareInfraContractDeployTransaction(options);
197
+ const transaction =
198
+ prepareInfraContractDeployTransactionFromMetadata(options);
176
199
  await sendAndConfirmTransaction({
177
200
  transaction,
178
201
  account: options.account,
179
202
  });
180
- const deployedInfraContract = await getDeployedInfraContract(options);
203
+ const deployedInfraContract =
204
+ await getDeployedInfraContractFromMetadata(options);
181
205
  if (!deployedInfraContract) {
182
- throw new Error(`Failed to deploy ${options.contractId}`);
206
+ throw new Error(`Failed to deploy ${options.contractMetadata.name}`);
183
207
  }
184
208
  return deployedInfraContract;
185
209
  }
@@ -9,7 +9,6 @@ export async function getDeployedCloneFactoryContract(args: ClientAndChain) {
9
9
  const forwarder = await getDeployedInfraContract({
10
10
  ...args,
11
11
  contractId: "Forwarder",
12
- constructorParams: [],
13
12
  });
14
13
  if (!forwarder) {
15
14
  return null;
@@ -19,7 +18,7 @@ export async function getDeployedCloneFactoryContract(args: ClientAndChain) {
19
18
  const cloneFactory = await getDeployedInfraContract({
20
19
  ...args,
21
20
  contractId: "TWCloneFactory",
22
- constructorParams: [forwarder.address],
21
+ constructorParams: { _trustedForwarder: forwarder.address },
23
22
  });
24
23
  if (!cloneFactory) {
25
24
  return null;