thirdweb 5.53.1-nightly-865c5e3b16af70c3660f30ba8cffc5d6e360a389-20240911000352 → 5.54.0

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 (971) 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/actions/get-compiler-metadata.js +2 -1
  6. package/dist/cjs/contract/actions/get-compiler-metadata.js.map +1 -1
  7. package/dist/cjs/contract/deployment/deploy-deterministic.js +19 -0
  8. package/dist/cjs/contract/deployment/deploy-deterministic.js.map +1 -1
  9. package/dist/cjs/contract/deployment/deploy-via-autofactory.js +3 -1
  10. package/dist/cjs/contract/deployment/deploy-via-autofactory.js.map +1 -1
  11. package/dist/cjs/contract/deployment/deploy-with-abi.js +51 -6
  12. package/dist/cjs/contract/deployment/deploy-with-abi.js.map +1 -1
  13. package/dist/cjs/contract/deployment/utils/bootstrap.js +22 -7
  14. package/dist/cjs/contract/deployment/utils/bootstrap.js.map +1 -1
  15. package/dist/cjs/contract/deployment/utils/clone-factory.js +1 -2
  16. package/dist/cjs/contract/deployment/utils/clone-factory.js.map +1 -1
  17. package/dist/cjs/contract/deployment/utils/infra.js +38 -2
  18. package/dist/cjs/contract/deployment/utils/infra.js.map +1 -1
  19. package/dist/cjs/contract/deployment/zksync/zkDeployContract.js +7 -1
  20. package/dist/cjs/contract/deployment/zksync/zkDeployContract.js.map +1 -1
  21. package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js +2 -1
  22. package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -1
  23. package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js +5 -4
  24. package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js.map +1 -1
  25. package/dist/cjs/exports/deploys.js +7 -3
  26. package/dist/cjs/exports/deploys.js.map +1 -1
  27. package/dist/cjs/exports/modules.js +65 -2
  28. package/dist/cjs/exports/modules.js.map +1 -1
  29. package/dist/cjs/exports/thirdweb.js +7 -2
  30. package/dist/cjs/exports/thirdweb.js.map +1 -1
  31. package/dist/cjs/exports/utils.js +3 -1
  32. package/dist/cjs/exports/utils.js.map +1 -1
  33. package/dist/cjs/exports/wallets.js +3 -1
  34. package/dist/cjs/exports/wallets.js.map +1 -1
  35. package/dist/cjs/extensions/airdrop/write/airdropERC1155WithSignature.js +2 -2
  36. package/dist/cjs/extensions/airdrop/write/airdropERC20WithSignature.js +2 -2
  37. package/dist/cjs/extensions/airdrop/write/airdropERC721WithSignature.js +2 -2
  38. package/dist/cjs/extensions/airdrop/write/claimERC1155.js +1 -1
  39. package/dist/cjs/extensions/airdrop/write/claimERC20.js +1 -1
  40. package/dist/cjs/extensions/airdrop/write/claimERC721.js +1 -1
  41. package/dist/cjs/extensions/airdrop/write/merkleInfoERC1155.js +1 -1
  42. package/dist/cjs/extensions/airdrop/write/merkleInfoERC20.js +1 -1
  43. package/dist/cjs/extensions/airdrop/write/merkleInfoERC721.js +1 -1
  44. package/dist/cjs/extensions/airdrop/write/saveSnapshot.js +1 -1
  45. package/dist/cjs/extensions/erc20/drops/read/getActiveClaimCondition.js +12 -0
  46. package/dist/cjs/extensions/erc20/drops/read/getActiveClaimCondition.js.map +1 -1
  47. package/dist/cjs/extensions/erc20/write/getApprovalForTransaction.js +1 -1
  48. package/dist/cjs/extensions/erc721/write/updateTokenURI.js +3 -0
  49. package/dist/cjs/extensions/erc721/write/updateTokenURI.js.map +1 -1
  50. package/dist/cjs/extensions/marketplace/offers/write/makeOffer.js +0 -1
  51. package/dist/cjs/extensions/marketplace/offers/write/makeOffer.js.map +1 -1
  52. package/dist/cjs/extensions/modules/BatchMetadataERC1155/uploadMetadata.js +28 -3
  53. package/dist/cjs/extensions/modules/BatchMetadataERC1155/uploadMetadata.js.map +1 -1
  54. package/dist/cjs/extensions/modules/BatchMetadataERC721/uploadMetadata.js +24 -0
  55. package/dist/cjs/extensions/modules/BatchMetadataERC721/uploadMetadata.js.map +1 -1
  56. package/dist/cjs/extensions/modules/ClaimableERC1155/mint.js +1 -1
  57. package/dist/cjs/extensions/modules/ClaimableERC1155/setClaimConditions.js +20 -0
  58. package/dist/cjs/extensions/modules/ClaimableERC1155/setClaimConditions.js.map +1 -1
  59. package/dist/cjs/extensions/modules/ClaimableERC20/mint.js +1 -1
  60. package/dist/cjs/extensions/modules/ClaimableERC20/setClaimConditions.js +19 -0
  61. package/dist/cjs/extensions/modules/ClaimableERC20/setClaimConditions.js.map +1 -1
  62. package/dist/cjs/extensions/modules/ClaimableERC721/mint.js +1 -1
  63. package/dist/cjs/extensions/modules/ClaimableERC721/setClaimConditions.js +19 -0
  64. package/dist/cjs/extensions/modules/ClaimableERC721/setClaimConditions.js.map +1 -1
  65. package/dist/cjs/extensions/modules/MintableERC1155/mintWithRole.js +1 -1
  66. package/dist/cjs/extensions/modules/MintableERC1155/mintWithSignature.js +2 -2
  67. package/dist/cjs/extensions/modules/MintableERC20/mintWithRole.js +1 -1
  68. package/dist/cjs/extensions/modules/MintableERC20/mintWithSignature.js +2 -2
  69. package/dist/cjs/extensions/modules/MintableERC721/mintWithRole.js +1 -1
  70. package/dist/cjs/extensions/modules/MintableERC721/mintWithSignature.js +2 -2
  71. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.js +1 -1
  72. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/module/install.js +7 -6
  73. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/module/install.js.map +1 -1
  74. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/read/encodeBytesOnInstall.js +3 -3
  75. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/read/getAllMetadataBatches.js +3 -3
  76. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC1155/write/uploadMetadata.js +4 -4
  77. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.js +1 -1
  78. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/module/install.js +7 -6
  79. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/module/install.js.map +1 -1
  80. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/read/encodeBytesOnInstall.js +3 -3
  81. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/read/getAllMetadataBatches.js +3 -3
  82. package/dist/cjs/extensions/modules/__generated__/BatchMetadataERC721/write/uploadMetadata.js +4 -4
  83. package/dist/cjs/extensions/modules/__generated__/ClaimableERC1155/module/install.js +9 -7
  84. package/dist/cjs/extensions/modules/__generated__/ClaimableERC1155/module/install.js.map +1 -1
  85. package/dist/cjs/extensions/modules/__generated__/ClaimableERC1155/read/getClaimConditionByTokenId.js +5 -5
  86. package/dist/cjs/extensions/modules/__generated__/ClaimableERC1155/read/getSaleConfig.js +3 -3
  87. package/dist/cjs/extensions/modules/__generated__/ClaimableERC1155/write/setClaimConditionByTokenId.js +4 -4
  88. package/dist/cjs/extensions/modules/__generated__/ClaimableERC1155/write/setSaleConfig.js +4 -4
  89. package/dist/cjs/extensions/modules/__generated__/ClaimableERC20/module/install.js +9 -7
  90. package/dist/cjs/extensions/modules/__generated__/ClaimableERC20/module/install.js.map +1 -1
  91. package/dist/cjs/extensions/modules/__generated__/ClaimableERC20/read/getClaimCondition.js +3 -3
  92. package/dist/cjs/extensions/modules/__generated__/ClaimableERC20/read/getSaleConfig.js +3 -3
  93. package/dist/cjs/extensions/modules/__generated__/ClaimableERC20/write/setClaimCondition.js +4 -4
  94. package/dist/cjs/extensions/modules/__generated__/ClaimableERC20/write/setSaleConfig.js +4 -4
  95. package/dist/cjs/extensions/modules/__generated__/ClaimableERC721/module/install.js +9 -7
  96. package/dist/cjs/extensions/modules/__generated__/ClaimableERC721/module/install.js.map +1 -1
  97. package/dist/cjs/extensions/modules/__generated__/ClaimableERC721/read/getClaimCondition.js +3 -3
  98. package/dist/cjs/extensions/modules/__generated__/ClaimableERC721/read/getSaleConfig.js +3 -3
  99. package/dist/cjs/extensions/modules/__generated__/ClaimableERC721/write/setClaimCondition.js +4 -4
  100. package/dist/cjs/extensions/modules/__generated__/ClaimableERC721/write/setSaleConfig.js +4 -4
  101. package/dist/cjs/extensions/modules/__generated__/ERC1155Core/write/burn.js +4 -4
  102. package/dist/cjs/extensions/modules/__generated__/ERC1155Core/write/initialize.js +4 -4
  103. package/dist/cjs/extensions/modules/__generated__/ERC1155Core/write/mint.js +4 -4
  104. package/dist/cjs/extensions/modules/__generated__/ERC1155Core/write/mintWithSignature.js +4 -4
  105. package/dist/cjs/extensions/modules/__generated__/ERC20Core/write/burn.js +4 -4
  106. package/dist/cjs/extensions/modules/__generated__/ERC20Core/write/initialize.js +4 -4
  107. package/dist/cjs/extensions/modules/__generated__/ERC20Core/write/mint.js +4 -4
  108. package/dist/cjs/extensions/modules/__generated__/ERC20Core/write/mintWithSignature.js +4 -4
  109. package/dist/cjs/extensions/modules/__generated__/ERC721Core/read/totalMinted.js +3 -3
  110. package/dist/cjs/extensions/modules/__generated__/ERC721Core/write/burn.js +4 -4
  111. package/dist/cjs/extensions/modules/__generated__/ERC721Core/write/initialize.js +4 -4
  112. package/dist/cjs/extensions/modules/__generated__/ERC721Core/write/mint.js +4 -4
  113. package/dist/cjs/extensions/modules/__generated__/ERC721Core/write/mintWithSignature.js +4 -4
  114. package/dist/cjs/extensions/modules/__generated__/MintableERC1155/events/MetadataUpdate.js +1 -1
  115. package/dist/cjs/extensions/modules/__generated__/MintableERC1155/events/MintableTokenURIUpdated.js +1 -1
  116. package/dist/cjs/extensions/modules/__generated__/MintableERC1155/module/install.js +9 -7
  117. package/dist/cjs/extensions/modules/__generated__/MintableERC1155/module/install.js.map +1 -1
  118. package/dist/cjs/extensions/modules/__generated__/MintableERC1155/read/getSaleConfig.js +3 -3
  119. package/dist/cjs/extensions/modules/__generated__/MintableERC1155/write/setSaleConfig.js +4 -4
  120. package/dist/cjs/extensions/modules/__generated__/MintableERC1155/write/setTokenURI.js +4 -4
  121. package/dist/cjs/extensions/modules/__generated__/MintableERC20/module/install.js +9 -7
  122. package/dist/cjs/extensions/modules/__generated__/MintableERC20/module/install.js.map +1 -1
  123. package/dist/cjs/extensions/modules/__generated__/MintableERC20/read/getSaleConfig.js +3 -3
  124. package/dist/cjs/extensions/modules/__generated__/MintableERC20/write/setSaleConfig.js +4 -4
  125. package/dist/cjs/extensions/modules/__generated__/MintableERC721/events/BatchMetadataUpdate.js +1 -1
  126. package/dist/cjs/extensions/modules/__generated__/MintableERC721/events/NewMetadataBatch.js +1 -1
  127. package/dist/cjs/extensions/modules/__generated__/MintableERC721/module/install.js +9 -7
  128. package/dist/cjs/extensions/modules/__generated__/MintableERC721/module/install.js.map +1 -1
  129. package/dist/cjs/extensions/modules/__generated__/MintableERC721/read/getSaleConfig.js +3 -3
  130. package/dist/cjs/extensions/modules/__generated__/MintableERC721/write/setSaleConfig.js +4 -4
  131. package/dist/cjs/extensions/modules/__generated__/OpenEditionMetadataERC721/events/BatchMetadataUpdate.js +1 -1
  132. package/dist/cjs/extensions/modules/__generated__/OpenEditionMetadataERC721/events/SharedMetadataUpdated.js +1 -1
  133. package/dist/cjs/extensions/modules/__generated__/OpenEditionMetadataERC721/module/install.js +7 -6
  134. package/dist/cjs/extensions/modules/__generated__/OpenEditionMetadataERC721/module/install.js.map +1 -1
  135. package/dist/cjs/extensions/modules/__generated__/OpenEditionMetadataERC721/read/encodeBytesOnInstall.js +3 -3
  136. package/dist/cjs/extensions/modules/__generated__/OpenEditionMetadataERC721/read/onTokenURI.js +5 -5
  137. package/dist/cjs/extensions/modules/__generated__/OpenEditionMetadataERC721/write/setSharedMetadata.js +4 -4
  138. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/events/DefaultRoyaltyUpdated.js +1 -1
  139. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/events/TokenRoyaltyUpdated.js +1 -1
  140. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/events/TransferValidatorUpdated.js +1 -1
  141. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/module/install.js +9 -7
  142. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/module/install.js.map +1 -1
  143. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/read/getDefaultRoyaltyInfo.js +3 -3
  144. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/read/getRoyaltyInfoForToken.js +5 -5
  145. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/read/getTransferValidationFunction.js +3 -3
  146. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/read/getTransferValidator.js +3 -3
  147. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/read/royaltyInfo.js +5 -5
  148. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/write/setDefaultRoyaltyInfo.js +4 -4
  149. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/write/setRoyaltyInfoForToken.js +4 -4
  150. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC1155/write/setTransferValidator.js +4 -4
  151. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/events/DefaultRoyaltyUpdated.js +1 -1
  152. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/events/TokenRoyaltyUpdated.js +1 -1
  153. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/events/TransferValidatorUpdated.js +1 -1
  154. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/module/install.js +9 -7
  155. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/module/install.js.map +1 -1
  156. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/read/getDefaultRoyaltyInfo.js +3 -3
  157. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/read/getRoyaltyInfoForToken.js +5 -5
  158. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/read/getTransferValidationFunction.js +3 -3
  159. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/read/getTransferValidator.js +3 -3
  160. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/read/royaltyInfo.js +5 -5
  161. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/write/setDefaultRoyaltyInfo.js +4 -4
  162. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/write/setRoyaltyInfoForToken.js +4 -4
  163. package/dist/cjs/extensions/modules/__generated__/RoyaltyERC721/write/setTransferValidator.js +4 -4
  164. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.js +7 -6
  165. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.js.map +1 -1
  166. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.js +3 -3
  167. package/dist/cjs/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getNextTokenId.js +3 -3
  168. package/dist/cjs/extensions/modules/__generated__/TransferableERC1155/module/install.js +7 -6
  169. package/dist/cjs/extensions/modules/__generated__/TransferableERC1155/module/install.js.map +1 -1
  170. package/dist/cjs/extensions/modules/__generated__/TransferableERC1155/read/encodeBytesOnInstall.js +3 -3
  171. package/dist/cjs/extensions/modules/__generated__/TransferableERC1155/read/isTransferEnabled.js +3 -3
  172. package/dist/cjs/extensions/modules/__generated__/TransferableERC1155/read/isTransferEnabledFor.js +5 -5
  173. package/dist/cjs/extensions/modules/__generated__/TransferableERC1155/write/setTransferable.js +4 -4
  174. package/dist/cjs/extensions/modules/__generated__/TransferableERC1155/write/setTransferableFor.js +4 -4
  175. package/dist/cjs/extensions/modules/__generated__/TransferableERC20/module/install.js +7 -6
  176. package/dist/cjs/extensions/modules/__generated__/TransferableERC20/module/install.js.map +1 -1
  177. package/dist/cjs/extensions/modules/__generated__/TransferableERC20/read/encodeBytesOnInstall.js +3 -3
  178. package/dist/cjs/extensions/modules/__generated__/TransferableERC20/read/isTransferEnabled.js +3 -3
  179. package/dist/cjs/extensions/modules/__generated__/TransferableERC20/read/isTransferEnabledFor.js +5 -5
  180. package/dist/cjs/extensions/modules/__generated__/TransferableERC20/write/setTransferable.js +4 -4
  181. package/dist/cjs/extensions/modules/__generated__/TransferableERC20/write/setTransferableFor.js +4 -4
  182. package/dist/cjs/extensions/modules/__generated__/TransferableERC721/module/install.js +7 -6
  183. package/dist/cjs/extensions/modules/__generated__/TransferableERC721/module/install.js.map +1 -1
  184. package/dist/cjs/extensions/modules/__generated__/TransferableERC721/read/encodeBytesOnInstall.js +3 -3
  185. package/dist/cjs/extensions/modules/__generated__/TransferableERC721/read/isTransferEnabled.js +3 -3
  186. package/dist/cjs/extensions/modules/__generated__/TransferableERC721/read/isTransferEnabledFor.js +5 -5
  187. package/dist/cjs/extensions/modules/__generated__/TransferableERC721/write/setTransferable.js +4 -4
  188. package/dist/cjs/extensions/modules/__generated__/TransferableERC721/write/setTransferableFor.js +4 -4
  189. package/dist/cjs/extensions/modules/common/getOrDeployModule.js +45 -11
  190. package/dist/cjs/extensions/modules/common/getOrDeployModule.js.map +1 -1
  191. package/dist/cjs/extensions/modules/common/grantMinterRole.js +16 -0
  192. package/dist/cjs/extensions/modules/common/grantMinterRole.js.map +1 -1
  193. package/dist/cjs/extensions/modules/common/installPublishedModule.js +2 -2
  194. package/dist/cjs/extensions/modules/common/installPublishedModule.js.map +1 -1
  195. package/dist/cjs/extensions/modules/common/uninstallModuleByProxy.js +1 -1
  196. package/dist/cjs/extensions/modules/common/uninstallPublishedModule.js +2 -3
  197. package/dist/cjs/extensions/modules/common/uninstallPublishedModule.js.map +1 -1
  198. package/dist/cjs/extensions/prebuilts/deploy-erc1155.js +0 -1
  199. package/dist/cjs/extensions/prebuilts/deploy-erc1155.js.map +1 -1
  200. package/dist/cjs/extensions/prebuilts/deploy-erc20.js +0 -1
  201. package/dist/cjs/extensions/prebuilts/deploy-erc20.js.map +1 -1
  202. package/dist/cjs/extensions/prebuilts/deploy-erc721.js +0 -1
  203. package/dist/cjs/extensions/prebuilts/deploy-erc721.js.map +1 -1
  204. package/dist/cjs/extensions/prebuilts/deploy-marketplace.js +5 -7
  205. package/dist/cjs/extensions/prebuilts/deploy-marketplace.js.map +1 -1
  206. package/dist/cjs/extensions/prebuilts/deploy-modular.js +34 -29
  207. package/dist/cjs/extensions/prebuilts/deploy-modular.js.map +1 -1
  208. package/dist/cjs/extensions/prebuilts/deploy-published.js +98 -28
  209. package/dist/cjs/extensions/prebuilts/deploy-published.js.map +1 -1
  210. package/dist/cjs/extensions/prebuilts/deploy-split.js +0 -1
  211. package/dist/cjs/extensions/prebuilts/deploy-split.js.map +1 -1
  212. package/dist/cjs/extensions/prebuilts/deploy-vote.js +0 -1
  213. package/dist/cjs/extensions/prebuilts/deploy-vote.js.map +1 -1
  214. package/dist/cjs/extensions/prebuilts/get-required-transactions.js +66 -0
  215. package/dist/cjs/extensions/prebuilts/get-required-transactions.js.map +1 -0
  216. package/dist/cjs/extensions/split/read/getRecipientSplitPercentage.js +13 -0
  217. package/dist/cjs/extensions/split/read/getRecipientSplitPercentage.js.map +1 -1
  218. package/dist/cjs/react/core/hooks/others/useProfiles.js +1 -1
  219. package/dist/cjs/react/core/social/useSocialProfiles.js +2 -0
  220. package/dist/cjs/react/core/social/useSocialProfiles.js.map +1 -1
  221. package/dist/cjs/react/core/utils/defaultTokens.js +14 -0
  222. package/dist/cjs/react/core/utils/defaultTokens.js.map +1 -1
  223. package/dist/cjs/react/native/ui/components/Address.js +1 -3
  224. package/dist/cjs/react/native/ui/components/Address.js.map +1 -1
  225. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +7 -0
  226. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  227. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +20 -3
  228. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  229. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +7 -0
  230. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  231. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +7 -0
  232. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  233. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +7 -0
  234. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
  235. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +49 -0
  236. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  237. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +28 -12
  238. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -1
  239. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +20 -0
  240. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  241. package/dist/cjs/social/profiles.js +2 -1
  242. package/dist/cjs/social/profiles.js.map +1 -1
  243. package/dist/cjs/utils/abi/normalizeFunctionParams.js +24 -0
  244. package/dist/cjs/utils/abi/normalizeFunctionParams.js.map +1 -0
  245. package/dist/cjs/utils/any-evm/compute-published-contract-address.js +14 -2
  246. package/dist/cjs/utils/any-evm/compute-published-contract-address.js.map +1 -1
  247. package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js +17 -4
  248. package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
  249. package/dist/cjs/utils/caching/lru.js +15 -14
  250. package/dist/cjs/utils/caching/lru.js.map +1 -1
  251. package/dist/cjs/version.js +1 -1
  252. package/dist/cjs/version.js.map +1 -1
  253. package/dist/cjs/wallets/in-app/core/eip5972/in-app-wallet-calls.js +3 -13
  254. package/dist/cjs/wallets/in-app/core/eip5972/in-app-wallet-calls.js.map +1 -1
  255. package/dist/cjs/wallets/in-app/core/users/getUser.js +70 -0
  256. package/dist/cjs/wallets/in-app/core/users/getUser.js.map +1 -0
  257. package/dist/cjs/wallets/smart/index.js +2 -0
  258. package/dist/cjs/wallets/smart/index.js.map +1 -1
  259. package/dist/cjs/wallets/smart/lib/userop.js +48 -7
  260. package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
  261. package/dist/esm/analytics/track.js +17 -0
  262. package/dist/esm/analytics/track.js.map +1 -1
  263. package/dist/esm/chains/chain-definitions/polygon.js +1 -1
  264. package/dist/esm/chains/chain-definitions/polygon.js.map +1 -1
  265. package/dist/esm/contract/actions/get-compiler-metadata.js +2 -1
  266. package/dist/esm/contract/actions/get-compiler-metadata.js.map +1 -1
  267. package/dist/esm/contract/deployment/deploy-deterministic.js +19 -1
  268. package/dist/esm/contract/deployment/deploy-deterministic.js.map +1 -1
  269. package/dist/esm/contract/deployment/deploy-via-autofactory.js +3 -1
  270. package/dist/esm/contract/deployment/deploy-via-autofactory.js.map +1 -1
  271. package/dist/esm/contract/deployment/deploy-with-abi.js +51 -6
  272. package/dist/esm/contract/deployment/deploy-with-abi.js.map +1 -1
  273. package/dist/esm/contract/deployment/utils/bootstrap.js +22 -8
  274. package/dist/esm/contract/deployment/utils/bootstrap.js.map +1 -1
  275. package/dist/esm/contract/deployment/utils/clone-factory.js +1 -2
  276. package/dist/esm/contract/deployment/utils/clone-factory.js.map +1 -1
  277. package/dist/esm/contract/deployment/utils/infra.js +38 -4
  278. package/dist/esm/contract/deployment/utils/infra.js.map +1 -1
  279. package/dist/esm/contract/deployment/zksync/zkDeployContract.js +7 -1
  280. package/dist/esm/contract/deployment/zksync/zkDeployContract.js.map +1 -1
  281. package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js +2 -1
  282. package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -1
  283. package/dist/esm/contract/deployment/zksync/zkDeployProxy.js +5 -4
  284. package/dist/esm/contract/deployment/zksync/zkDeployProxy.js.map +1 -1
  285. package/dist/esm/exports/deploys.js +3 -1
  286. package/dist/esm/exports/deploys.js.map +1 -1
  287. package/dist/esm/exports/modules.js +63 -1
  288. package/dist/esm/exports/modules.js.map +1 -1
  289. package/dist/esm/exports/thirdweb.js +4 -0
  290. package/dist/esm/exports/thirdweb.js.map +1 -1
  291. package/dist/esm/exports/utils.js +1 -0
  292. package/dist/esm/exports/utils.js.map +1 -1
  293. package/dist/esm/exports/wallets.js +1 -0
  294. package/dist/esm/exports/wallets.js.map +1 -1
  295. package/dist/esm/extensions/airdrop/write/airdropERC1155WithSignature.js +2 -2
  296. package/dist/esm/extensions/airdrop/write/airdropERC20WithSignature.js +2 -2
  297. package/dist/esm/extensions/airdrop/write/airdropERC721WithSignature.js +2 -2
  298. package/dist/esm/extensions/airdrop/write/claimERC1155.js +1 -1
  299. package/dist/esm/extensions/airdrop/write/claimERC20.js +1 -1
  300. package/dist/esm/extensions/airdrop/write/claimERC721.js +1 -1
  301. package/dist/esm/extensions/airdrop/write/merkleInfoERC1155.js +1 -1
  302. package/dist/esm/extensions/airdrop/write/merkleInfoERC20.js +1 -1
  303. package/dist/esm/extensions/airdrop/write/merkleInfoERC721.js +1 -1
  304. package/dist/esm/extensions/airdrop/write/saveSnapshot.js +1 -1
  305. package/dist/esm/extensions/erc20/drops/read/getActiveClaimCondition.js +12 -0
  306. package/dist/esm/extensions/erc20/drops/read/getActiveClaimCondition.js.map +1 -1
  307. package/dist/esm/extensions/erc20/write/getApprovalForTransaction.js +1 -1
  308. package/dist/esm/extensions/erc721/write/updateTokenURI.js +3 -0
  309. package/dist/esm/extensions/erc721/write/updateTokenURI.js.map +1 -1
  310. package/dist/esm/extensions/marketplace/offers/write/makeOffer.js +0 -1
  311. package/dist/esm/extensions/marketplace/offers/write/makeOffer.js.map +1 -1
  312. package/dist/esm/extensions/modules/BatchMetadataERC1155/uploadMetadata.js +27 -2
  313. package/dist/esm/extensions/modules/BatchMetadataERC1155/uploadMetadata.js.map +1 -1
  314. package/dist/esm/extensions/modules/BatchMetadataERC721/uploadMetadata.js +24 -0
  315. package/dist/esm/extensions/modules/BatchMetadataERC721/uploadMetadata.js.map +1 -1
  316. package/dist/esm/extensions/modules/ClaimableERC1155/mint.js +1 -1
  317. package/dist/esm/extensions/modules/ClaimableERC1155/setClaimConditions.js +20 -0
  318. package/dist/esm/extensions/modules/ClaimableERC1155/setClaimConditions.js.map +1 -1
  319. package/dist/esm/extensions/modules/ClaimableERC20/mint.js +1 -1
  320. package/dist/esm/extensions/modules/ClaimableERC20/setClaimConditions.js +19 -0
  321. package/dist/esm/extensions/modules/ClaimableERC20/setClaimConditions.js.map +1 -1
  322. package/dist/esm/extensions/modules/ClaimableERC721/mint.js +1 -1
  323. package/dist/esm/extensions/modules/ClaimableERC721/setClaimConditions.js +19 -0
  324. package/dist/esm/extensions/modules/ClaimableERC721/setClaimConditions.js.map +1 -1
  325. package/dist/esm/extensions/modules/MintableERC1155/mintWithRole.js +1 -1
  326. package/dist/esm/extensions/modules/MintableERC1155/mintWithSignature.js +2 -2
  327. package/dist/esm/extensions/modules/MintableERC20/mintWithRole.js +1 -1
  328. package/dist/esm/extensions/modules/MintableERC20/mintWithSignature.js +2 -2
  329. package/dist/esm/extensions/modules/MintableERC721/mintWithRole.js +1 -1
  330. package/dist/esm/extensions/modules/MintableERC721/mintWithSignature.js +2 -2
  331. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.js +1 -1
  332. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/module/install.js +6 -4
  333. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/module/install.js.map +1 -1
  334. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/read/encodeBytesOnInstall.js +3 -3
  335. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/read/getAllMetadataBatches.js +3 -3
  336. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC1155/write/uploadMetadata.js +4 -4
  337. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.js +1 -1
  338. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/module/install.js +6 -4
  339. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/module/install.js.map +1 -1
  340. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/read/encodeBytesOnInstall.js +3 -3
  341. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/read/getAllMetadataBatches.js +3 -3
  342. package/dist/esm/extensions/modules/__generated__/BatchMetadataERC721/write/uploadMetadata.js +4 -4
  343. package/dist/esm/extensions/modules/__generated__/ClaimableERC1155/module/install.js +6 -4
  344. package/dist/esm/extensions/modules/__generated__/ClaimableERC1155/module/install.js.map +1 -1
  345. package/dist/esm/extensions/modules/__generated__/ClaimableERC1155/read/getClaimConditionByTokenId.js +5 -5
  346. package/dist/esm/extensions/modules/__generated__/ClaimableERC1155/read/getSaleConfig.js +3 -3
  347. package/dist/esm/extensions/modules/__generated__/ClaimableERC1155/write/setClaimConditionByTokenId.js +4 -4
  348. package/dist/esm/extensions/modules/__generated__/ClaimableERC1155/write/setSaleConfig.js +4 -4
  349. package/dist/esm/extensions/modules/__generated__/ClaimableERC20/module/install.js +6 -4
  350. package/dist/esm/extensions/modules/__generated__/ClaimableERC20/module/install.js.map +1 -1
  351. package/dist/esm/extensions/modules/__generated__/ClaimableERC20/read/getClaimCondition.js +3 -3
  352. package/dist/esm/extensions/modules/__generated__/ClaimableERC20/read/getSaleConfig.js +3 -3
  353. package/dist/esm/extensions/modules/__generated__/ClaimableERC20/write/setClaimCondition.js +4 -4
  354. package/dist/esm/extensions/modules/__generated__/ClaimableERC20/write/setSaleConfig.js +4 -4
  355. package/dist/esm/extensions/modules/__generated__/ClaimableERC721/module/install.js +6 -4
  356. package/dist/esm/extensions/modules/__generated__/ClaimableERC721/module/install.js.map +1 -1
  357. package/dist/esm/extensions/modules/__generated__/ClaimableERC721/read/getClaimCondition.js +3 -3
  358. package/dist/esm/extensions/modules/__generated__/ClaimableERC721/read/getSaleConfig.js +3 -3
  359. package/dist/esm/extensions/modules/__generated__/ClaimableERC721/write/setClaimCondition.js +4 -4
  360. package/dist/esm/extensions/modules/__generated__/ClaimableERC721/write/setSaleConfig.js +4 -4
  361. package/dist/esm/extensions/modules/__generated__/ERC1155Core/write/burn.js +4 -4
  362. package/dist/esm/extensions/modules/__generated__/ERC1155Core/write/initialize.js +4 -4
  363. package/dist/esm/extensions/modules/__generated__/ERC1155Core/write/mint.js +4 -4
  364. package/dist/esm/extensions/modules/__generated__/ERC1155Core/write/mintWithSignature.js +4 -4
  365. package/dist/esm/extensions/modules/__generated__/ERC20Core/write/burn.js +4 -4
  366. package/dist/esm/extensions/modules/__generated__/ERC20Core/write/initialize.js +4 -4
  367. package/dist/esm/extensions/modules/__generated__/ERC20Core/write/mint.js +4 -4
  368. package/dist/esm/extensions/modules/__generated__/ERC20Core/write/mintWithSignature.js +4 -4
  369. package/dist/esm/extensions/modules/__generated__/ERC721Core/read/totalMinted.js +3 -3
  370. package/dist/esm/extensions/modules/__generated__/ERC721Core/write/burn.js +4 -4
  371. package/dist/esm/extensions/modules/__generated__/ERC721Core/write/initialize.js +4 -4
  372. package/dist/esm/extensions/modules/__generated__/ERC721Core/write/mint.js +4 -4
  373. package/dist/esm/extensions/modules/__generated__/ERC721Core/write/mintWithSignature.js +4 -4
  374. package/dist/esm/extensions/modules/__generated__/MintableERC1155/events/MetadataUpdate.js +1 -1
  375. package/dist/esm/extensions/modules/__generated__/MintableERC1155/events/MintableTokenURIUpdated.js +1 -1
  376. package/dist/esm/extensions/modules/__generated__/MintableERC1155/module/install.js +6 -4
  377. package/dist/esm/extensions/modules/__generated__/MintableERC1155/module/install.js.map +1 -1
  378. package/dist/esm/extensions/modules/__generated__/MintableERC1155/read/getSaleConfig.js +3 -3
  379. package/dist/esm/extensions/modules/__generated__/MintableERC1155/write/setSaleConfig.js +4 -4
  380. package/dist/esm/extensions/modules/__generated__/MintableERC1155/write/setTokenURI.js +4 -4
  381. package/dist/esm/extensions/modules/__generated__/MintableERC20/module/install.js +6 -4
  382. package/dist/esm/extensions/modules/__generated__/MintableERC20/module/install.js.map +1 -1
  383. package/dist/esm/extensions/modules/__generated__/MintableERC20/read/getSaleConfig.js +3 -3
  384. package/dist/esm/extensions/modules/__generated__/MintableERC20/write/setSaleConfig.js +4 -4
  385. package/dist/esm/extensions/modules/__generated__/MintableERC721/events/BatchMetadataUpdate.js +1 -1
  386. package/dist/esm/extensions/modules/__generated__/MintableERC721/events/NewMetadataBatch.js +1 -1
  387. package/dist/esm/extensions/modules/__generated__/MintableERC721/module/install.js +6 -4
  388. package/dist/esm/extensions/modules/__generated__/MintableERC721/module/install.js.map +1 -1
  389. package/dist/esm/extensions/modules/__generated__/MintableERC721/read/getSaleConfig.js +3 -3
  390. package/dist/esm/extensions/modules/__generated__/MintableERC721/write/setSaleConfig.js +4 -4
  391. package/dist/esm/extensions/modules/__generated__/OpenEditionMetadataERC721/events/BatchMetadataUpdate.js +1 -1
  392. package/dist/esm/extensions/modules/__generated__/OpenEditionMetadataERC721/events/SharedMetadataUpdated.js +1 -1
  393. package/dist/esm/extensions/modules/__generated__/OpenEditionMetadataERC721/module/install.js +6 -4
  394. package/dist/esm/extensions/modules/__generated__/OpenEditionMetadataERC721/module/install.js.map +1 -1
  395. package/dist/esm/extensions/modules/__generated__/OpenEditionMetadataERC721/read/encodeBytesOnInstall.js +3 -3
  396. package/dist/esm/extensions/modules/__generated__/OpenEditionMetadataERC721/read/onTokenURI.js +5 -5
  397. package/dist/esm/extensions/modules/__generated__/OpenEditionMetadataERC721/write/setSharedMetadata.js +4 -4
  398. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/events/DefaultRoyaltyUpdated.js +1 -1
  399. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/events/TokenRoyaltyUpdated.js +1 -1
  400. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/events/TransferValidatorUpdated.js +1 -1
  401. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/module/install.js +6 -4
  402. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/module/install.js.map +1 -1
  403. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/read/getDefaultRoyaltyInfo.js +3 -3
  404. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/read/getRoyaltyInfoForToken.js +5 -5
  405. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/read/getTransferValidationFunction.js +3 -3
  406. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/read/getTransferValidator.js +3 -3
  407. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/read/royaltyInfo.js +5 -5
  408. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/write/setDefaultRoyaltyInfo.js +4 -4
  409. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/write/setRoyaltyInfoForToken.js +4 -4
  410. package/dist/esm/extensions/modules/__generated__/RoyaltyERC1155/write/setTransferValidator.js +4 -4
  411. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/events/DefaultRoyaltyUpdated.js +1 -1
  412. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/events/TokenRoyaltyUpdated.js +1 -1
  413. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/events/TransferValidatorUpdated.js +1 -1
  414. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/module/install.js +6 -4
  415. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/module/install.js.map +1 -1
  416. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/read/getDefaultRoyaltyInfo.js +3 -3
  417. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/read/getRoyaltyInfoForToken.js +5 -5
  418. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/read/getTransferValidationFunction.js +3 -3
  419. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/read/getTransferValidator.js +3 -3
  420. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/read/royaltyInfo.js +5 -5
  421. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/write/setDefaultRoyaltyInfo.js +4 -4
  422. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/write/setRoyaltyInfoForToken.js +4 -4
  423. package/dist/esm/extensions/modules/__generated__/RoyaltyERC721/write/setTransferValidator.js +4 -4
  424. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.js +6 -4
  425. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.js.map +1 -1
  426. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.js +3 -3
  427. package/dist/esm/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getNextTokenId.js +3 -3
  428. package/dist/esm/extensions/modules/__generated__/TransferableERC1155/module/install.js +6 -4
  429. package/dist/esm/extensions/modules/__generated__/TransferableERC1155/module/install.js.map +1 -1
  430. package/dist/esm/extensions/modules/__generated__/TransferableERC1155/read/encodeBytesOnInstall.js +3 -3
  431. package/dist/esm/extensions/modules/__generated__/TransferableERC1155/read/isTransferEnabled.js +3 -3
  432. package/dist/esm/extensions/modules/__generated__/TransferableERC1155/read/isTransferEnabledFor.js +5 -5
  433. package/dist/esm/extensions/modules/__generated__/TransferableERC1155/write/setTransferable.js +4 -4
  434. package/dist/esm/extensions/modules/__generated__/TransferableERC1155/write/setTransferableFor.js +4 -4
  435. package/dist/esm/extensions/modules/__generated__/TransferableERC20/module/install.js +6 -4
  436. package/dist/esm/extensions/modules/__generated__/TransferableERC20/module/install.js.map +1 -1
  437. package/dist/esm/extensions/modules/__generated__/TransferableERC20/read/encodeBytesOnInstall.js +3 -3
  438. package/dist/esm/extensions/modules/__generated__/TransferableERC20/read/isTransferEnabled.js +3 -3
  439. package/dist/esm/extensions/modules/__generated__/TransferableERC20/read/isTransferEnabledFor.js +5 -5
  440. package/dist/esm/extensions/modules/__generated__/TransferableERC20/write/setTransferable.js +4 -4
  441. package/dist/esm/extensions/modules/__generated__/TransferableERC20/write/setTransferableFor.js +4 -4
  442. package/dist/esm/extensions/modules/__generated__/TransferableERC721/module/install.js +6 -4
  443. package/dist/esm/extensions/modules/__generated__/TransferableERC721/module/install.js.map +1 -1
  444. package/dist/esm/extensions/modules/__generated__/TransferableERC721/read/encodeBytesOnInstall.js +3 -3
  445. package/dist/esm/extensions/modules/__generated__/TransferableERC721/read/isTransferEnabled.js +3 -3
  446. package/dist/esm/extensions/modules/__generated__/TransferableERC721/read/isTransferEnabledFor.js +5 -5
  447. package/dist/esm/extensions/modules/__generated__/TransferableERC721/write/setTransferable.js +4 -4
  448. package/dist/esm/extensions/modules/__generated__/TransferableERC721/write/setTransferableFor.js +4 -4
  449. package/dist/esm/extensions/modules/common/getOrDeployModule.js +43 -8
  450. package/dist/esm/extensions/modules/common/getOrDeployModule.js.map +1 -1
  451. package/dist/esm/extensions/modules/common/grantMinterRole.js +16 -0
  452. package/dist/esm/extensions/modules/common/grantMinterRole.js.map +1 -1
  453. package/dist/esm/extensions/modules/common/installPublishedModule.js +2 -2
  454. package/dist/esm/extensions/modules/common/installPublishedModule.js.map +1 -1
  455. package/dist/esm/extensions/modules/common/uninstallModuleByProxy.js +1 -1
  456. package/dist/esm/extensions/modules/common/uninstallPublishedModule.js +2 -3
  457. package/dist/esm/extensions/modules/common/uninstallPublishedModule.js.map +1 -1
  458. package/dist/esm/extensions/prebuilts/deploy-erc1155.js +0 -1
  459. package/dist/esm/extensions/prebuilts/deploy-erc1155.js.map +1 -1
  460. package/dist/esm/extensions/prebuilts/deploy-erc20.js +0 -1
  461. package/dist/esm/extensions/prebuilts/deploy-erc20.js.map +1 -1
  462. package/dist/esm/extensions/prebuilts/deploy-erc721.js +0 -1
  463. package/dist/esm/extensions/prebuilts/deploy-erc721.js.map +1 -1
  464. package/dist/esm/extensions/prebuilts/deploy-marketplace.js +5 -7
  465. package/dist/esm/extensions/prebuilts/deploy-marketplace.js.map +1 -1
  466. package/dist/esm/extensions/prebuilts/deploy-modular.js +35 -30
  467. package/dist/esm/extensions/prebuilts/deploy-modular.js.map +1 -1
  468. package/dist/esm/extensions/prebuilts/deploy-published.js +99 -28
  469. package/dist/esm/extensions/prebuilts/deploy-published.js.map +1 -1
  470. package/dist/esm/extensions/prebuilts/deploy-split.js +0 -1
  471. package/dist/esm/extensions/prebuilts/deploy-split.js.map +1 -1
  472. package/dist/esm/extensions/prebuilts/deploy-vote.js +0 -1
  473. package/dist/esm/extensions/prebuilts/deploy-vote.js.map +1 -1
  474. package/dist/esm/extensions/prebuilts/get-required-transactions.js +63 -0
  475. package/dist/esm/extensions/prebuilts/get-required-transactions.js.map +1 -0
  476. package/dist/esm/extensions/split/read/getRecipientSplitPercentage.js +13 -0
  477. package/dist/esm/extensions/split/read/getRecipientSplitPercentage.js.map +1 -1
  478. package/dist/esm/react/core/hooks/others/useProfiles.js +1 -1
  479. package/dist/esm/react/core/social/useSocialProfiles.js +2 -0
  480. package/dist/esm/react/core/social/useSocialProfiles.js.map +1 -1
  481. package/dist/esm/react/core/utils/defaultTokens.js +14 -0
  482. package/dist/esm/react/core/utils/defaultTokens.js.map +1 -1
  483. package/dist/esm/react/native/ui/components/Address.js +1 -3
  484. package/dist/esm/react/native/ui/components/Address.js.map +1 -1
  485. package/dist/esm/react/web/ui/ConnectWallet/Details.js +7 -0
  486. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  487. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +20 -3
  488. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  489. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +7 -0
  490. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  491. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +7 -0
  492. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  493. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +7 -0
  494. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
  495. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +49 -0
  496. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
  497. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +28 -12
  498. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -1
  499. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +20 -0
  500. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  501. package/dist/esm/social/profiles.js +2 -1
  502. package/dist/esm/social/profiles.js.map +1 -1
  503. package/dist/esm/utils/abi/normalizeFunctionParams.js +21 -0
  504. package/dist/esm/utils/abi/normalizeFunctionParams.js.map +1 -0
  505. package/dist/esm/utils/any-evm/compute-published-contract-address.js +15 -3
  506. package/dist/esm/utils/any-evm/compute-published-contract-address.js.map +1 -1
  507. package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js +16 -4
  508. package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
  509. package/dist/esm/utils/caching/lru.js +15 -14
  510. package/dist/esm/utils/caching/lru.js.map +1 -1
  511. package/dist/esm/version.js +1 -1
  512. package/dist/esm/version.js.map +1 -1
  513. package/dist/esm/wallets/in-app/core/eip5972/in-app-wallet-calls.js +3 -13
  514. package/dist/esm/wallets/in-app/core/eip5972/in-app-wallet-calls.js.map +1 -1
  515. package/dist/esm/wallets/in-app/core/users/getUser.js +67 -0
  516. package/dist/esm/wallets/in-app/core/users/getUser.js.map +1 -0
  517. package/dist/esm/wallets/smart/index.js +3 -1
  518. package/dist/esm/wallets/smart/index.js.map +1 -1
  519. package/dist/esm/wallets/smart/lib/userop.js +44 -7
  520. package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
  521. package/dist/types/analytics/track.d.ts +15 -0
  522. package/dist/types/analytics/track.d.ts.map +1 -1
  523. package/dist/types/contract/actions/get-compiler-metadata.d.ts +2 -1
  524. package/dist/types/contract/actions/get-compiler-metadata.d.ts.map +1 -1
  525. package/dist/types/contract/deployment/deploy-deterministic.d.ts +12 -1
  526. package/dist/types/contract/deployment/deploy-deterministic.d.ts.map +1 -1
  527. package/dist/types/contract/deployment/deploy-via-autofactory.d.ts.map +1 -1
  528. package/dist/types/contract/deployment/deploy-with-abi.d.ts +33 -10
  529. package/dist/types/contract/deployment/deploy-with-abi.d.ts.map +1 -1
  530. package/dist/types/contract/deployment/utils/bootstrap.d.ts +8 -3
  531. package/dist/types/contract/deployment/utils/bootstrap.d.ts.map +1 -1
  532. package/dist/types/contract/deployment/utils/clone-factory.d.ts.map +1 -1
  533. package/dist/types/contract/deployment/utils/infra.d.ts +24 -1
  534. package/dist/types/contract/deployment/utils/infra.d.ts.map +1 -1
  535. package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts +2 -1
  536. package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts.map +1 -1
  537. package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts +1 -1
  538. package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts.map +1 -1
  539. package/dist/types/contract/deployment/zksync/zkDeployProxy.d.ts.map +1 -1
  540. package/dist/types/exports/deploys.d.ts +3 -1
  541. package/dist/types/exports/deploys.d.ts.map +1 -1
  542. package/dist/types/exports/modules.d.ts +62 -1
  543. package/dist/types/exports/modules.d.ts.map +1 -1
  544. package/dist/types/exports/thirdweb.d.ts +4 -0
  545. package/dist/types/exports/thirdweb.d.ts.map +1 -1
  546. package/dist/types/exports/utils.d.ts +1 -0
  547. package/dist/types/exports/utils.d.ts.map +1 -1
  548. package/dist/types/exports/wallets.d.ts +1 -0
  549. package/dist/types/exports/wallets.d.ts.map +1 -1
  550. package/dist/types/extensions/airdrop/write/airdropERC1155WithSignature.d.ts +3 -3
  551. package/dist/types/extensions/airdrop/write/airdropERC20WithSignature.d.ts +3 -3
  552. package/dist/types/extensions/airdrop/write/airdropERC721WithSignature.d.ts +3 -3
  553. package/dist/types/extensions/airdrop/write/claimERC1155.d.ts +2 -2
  554. package/dist/types/extensions/airdrop/write/claimERC20.d.ts +2 -2
  555. package/dist/types/extensions/airdrop/write/claimERC721.d.ts +2 -2
  556. package/dist/types/extensions/airdrop/write/merkleInfoERC1155.d.ts +2 -2
  557. package/dist/types/extensions/airdrop/write/merkleInfoERC20.d.ts +2 -2
  558. package/dist/types/extensions/airdrop/write/merkleInfoERC721.d.ts +2 -2
  559. package/dist/types/extensions/airdrop/write/saveSnapshot.d.ts +2 -2
  560. package/dist/types/extensions/erc20/drops/read/getActiveClaimCondition.d.ts +12 -0
  561. package/dist/types/extensions/erc20/drops/read/getActiveClaimCondition.d.ts.map +1 -1
  562. package/dist/types/extensions/erc20/write/getApprovalForTransaction.d.ts +1 -1
  563. package/dist/types/extensions/erc721/write/updateTokenURI.d.ts +3 -0
  564. package/dist/types/extensions/erc721/write/updateTokenURI.d.ts.map +1 -1
  565. package/dist/types/extensions/marketplace/offers/write/makeOffer.d.ts.map +1 -1
  566. package/dist/types/extensions/modules/BatchMetadataERC1155/uploadMetadata.d.ts +27 -2
  567. package/dist/types/extensions/modules/BatchMetadataERC1155/uploadMetadata.d.ts.map +1 -1
  568. package/dist/types/extensions/modules/BatchMetadataERC721/uploadMetadata.d.ts +24 -0
  569. package/dist/types/extensions/modules/BatchMetadataERC721/uploadMetadata.d.ts.map +1 -1
  570. package/dist/types/extensions/modules/ClaimableERC1155/mint.d.ts +1 -1
  571. package/dist/types/extensions/modules/ClaimableERC1155/setClaimConditions.d.ts +20 -0
  572. package/dist/types/extensions/modules/ClaimableERC1155/setClaimConditions.d.ts.map +1 -1
  573. package/dist/types/extensions/modules/ClaimableERC20/mint.d.ts +1 -1
  574. package/dist/types/extensions/modules/ClaimableERC20/setClaimConditions.d.ts +19 -0
  575. package/dist/types/extensions/modules/ClaimableERC20/setClaimConditions.d.ts.map +1 -1
  576. package/dist/types/extensions/modules/ClaimableERC721/mint.d.ts +1 -1
  577. package/dist/types/extensions/modules/ClaimableERC721/setClaimConditions.d.ts +19 -0
  578. package/dist/types/extensions/modules/ClaimableERC721/setClaimConditions.d.ts.map +1 -1
  579. package/dist/types/extensions/modules/MintableERC1155/mintWithRole.d.ts +1 -1
  580. package/dist/types/extensions/modules/MintableERC1155/mintWithSignature.d.ts +2 -2
  581. package/dist/types/extensions/modules/MintableERC20/mintWithRole.d.ts +1 -1
  582. package/dist/types/extensions/modules/MintableERC20/mintWithSignature.d.ts +2 -2
  583. package/dist/types/extensions/modules/MintableERC721/mintWithRole.d.ts +1 -1
  584. package/dist/types/extensions/modules/MintableERC721/mintWithSignature.d.ts +2 -2
  585. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.d.ts +1 -1
  586. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/module/install.d.ts +4 -4
  587. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/module/install.d.ts.map +1 -1
  588. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/read/encodeBytesOnInstall.d.ts +3 -3
  589. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/read/getAllMetadataBatches.d.ts +3 -3
  590. package/dist/types/extensions/modules/__generated__/BatchMetadataERC1155/write/uploadMetadata.d.ts +4 -4
  591. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.d.ts +1 -1
  592. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/module/install.d.ts +4 -4
  593. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/module/install.d.ts.map +1 -1
  594. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/read/encodeBytesOnInstall.d.ts +3 -3
  595. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/read/getAllMetadataBatches.d.ts +3 -3
  596. package/dist/types/extensions/modules/__generated__/BatchMetadataERC721/write/uploadMetadata.d.ts +4 -4
  597. package/dist/types/extensions/modules/__generated__/ClaimableERC1155/module/install.d.ts +5 -5
  598. package/dist/types/extensions/modules/__generated__/ClaimableERC1155/module/install.d.ts.map +1 -1
  599. package/dist/types/extensions/modules/__generated__/ClaimableERC1155/read/getClaimConditionByTokenId.d.ts +5 -5
  600. package/dist/types/extensions/modules/__generated__/ClaimableERC1155/read/getSaleConfig.d.ts +3 -3
  601. package/dist/types/extensions/modules/__generated__/ClaimableERC1155/write/setClaimConditionByTokenId.d.ts +4 -4
  602. package/dist/types/extensions/modules/__generated__/ClaimableERC1155/write/setSaleConfig.d.ts +4 -4
  603. package/dist/types/extensions/modules/__generated__/ClaimableERC20/module/install.d.ts +5 -5
  604. package/dist/types/extensions/modules/__generated__/ClaimableERC20/module/install.d.ts.map +1 -1
  605. package/dist/types/extensions/modules/__generated__/ClaimableERC20/read/getClaimCondition.d.ts +3 -3
  606. package/dist/types/extensions/modules/__generated__/ClaimableERC20/read/getSaleConfig.d.ts +3 -3
  607. package/dist/types/extensions/modules/__generated__/ClaimableERC20/write/setClaimCondition.d.ts +4 -4
  608. package/dist/types/extensions/modules/__generated__/ClaimableERC20/write/setSaleConfig.d.ts +4 -4
  609. package/dist/types/extensions/modules/__generated__/ClaimableERC721/module/install.d.ts +5 -5
  610. package/dist/types/extensions/modules/__generated__/ClaimableERC721/module/install.d.ts.map +1 -1
  611. package/dist/types/extensions/modules/__generated__/ClaimableERC721/read/getClaimCondition.d.ts +3 -3
  612. package/dist/types/extensions/modules/__generated__/ClaimableERC721/read/getSaleConfig.d.ts +3 -3
  613. package/dist/types/extensions/modules/__generated__/ClaimableERC721/write/setClaimCondition.d.ts +4 -4
  614. package/dist/types/extensions/modules/__generated__/ClaimableERC721/write/setSaleConfig.d.ts +4 -4
  615. package/dist/types/extensions/modules/__generated__/ERC1155Core/write/burn.d.ts +4 -4
  616. package/dist/types/extensions/modules/__generated__/ERC1155Core/write/initialize.d.ts +4 -4
  617. package/dist/types/extensions/modules/__generated__/ERC1155Core/write/mint.d.ts +4 -4
  618. package/dist/types/extensions/modules/__generated__/ERC1155Core/write/mintWithSignature.d.ts +4 -4
  619. package/dist/types/extensions/modules/__generated__/ERC20Core/write/burn.d.ts +4 -4
  620. package/dist/types/extensions/modules/__generated__/ERC20Core/write/initialize.d.ts +4 -4
  621. package/dist/types/extensions/modules/__generated__/ERC20Core/write/mint.d.ts +4 -4
  622. package/dist/types/extensions/modules/__generated__/ERC20Core/write/mintWithSignature.d.ts +4 -4
  623. package/dist/types/extensions/modules/__generated__/ERC721Core/read/totalMinted.d.ts +3 -3
  624. package/dist/types/extensions/modules/__generated__/ERC721Core/write/burn.d.ts +4 -4
  625. package/dist/types/extensions/modules/__generated__/ERC721Core/write/initialize.d.ts +4 -4
  626. package/dist/types/extensions/modules/__generated__/ERC721Core/write/mint.d.ts +4 -4
  627. package/dist/types/extensions/modules/__generated__/ERC721Core/write/mintWithSignature.d.ts +4 -4
  628. package/dist/types/extensions/modules/__generated__/MintableERC1155/events/MetadataUpdate.d.ts +1 -1
  629. package/dist/types/extensions/modules/__generated__/MintableERC1155/events/MintableTokenURIUpdated.d.ts +1 -1
  630. package/dist/types/extensions/modules/__generated__/MintableERC1155/module/install.d.ts +5 -5
  631. package/dist/types/extensions/modules/__generated__/MintableERC1155/module/install.d.ts.map +1 -1
  632. package/dist/types/extensions/modules/__generated__/MintableERC1155/read/getSaleConfig.d.ts +3 -3
  633. package/dist/types/extensions/modules/__generated__/MintableERC1155/write/setSaleConfig.d.ts +4 -4
  634. package/dist/types/extensions/modules/__generated__/MintableERC1155/write/setTokenURI.d.ts +4 -4
  635. package/dist/types/extensions/modules/__generated__/MintableERC20/module/install.d.ts +5 -5
  636. package/dist/types/extensions/modules/__generated__/MintableERC20/module/install.d.ts.map +1 -1
  637. package/dist/types/extensions/modules/__generated__/MintableERC20/read/getSaleConfig.d.ts +3 -3
  638. package/dist/types/extensions/modules/__generated__/MintableERC20/write/setSaleConfig.d.ts +4 -4
  639. package/dist/types/extensions/modules/__generated__/MintableERC721/events/BatchMetadataUpdate.d.ts +1 -1
  640. package/dist/types/extensions/modules/__generated__/MintableERC721/events/NewMetadataBatch.d.ts +1 -1
  641. package/dist/types/extensions/modules/__generated__/MintableERC721/module/install.d.ts +5 -5
  642. package/dist/types/extensions/modules/__generated__/MintableERC721/module/install.d.ts.map +1 -1
  643. package/dist/types/extensions/modules/__generated__/MintableERC721/read/getSaleConfig.d.ts +3 -3
  644. package/dist/types/extensions/modules/__generated__/MintableERC721/write/setSaleConfig.d.ts +4 -4
  645. package/dist/types/extensions/modules/__generated__/OpenEditionMetadataERC721/events/BatchMetadataUpdate.d.ts +1 -1
  646. package/dist/types/extensions/modules/__generated__/OpenEditionMetadataERC721/events/SharedMetadataUpdated.d.ts +1 -1
  647. package/dist/types/extensions/modules/__generated__/OpenEditionMetadataERC721/module/install.d.ts +4 -4
  648. package/dist/types/extensions/modules/__generated__/OpenEditionMetadataERC721/module/install.d.ts.map +1 -1
  649. package/dist/types/extensions/modules/__generated__/OpenEditionMetadataERC721/read/encodeBytesOnInstall.d.ts +3 -3
  650. package/dist/types/extensions/modules/__generated__/OpenEditionMetadataERC721/read/onTokenURI.d.ts +5 -5
  651. package/dist/types/extensions/modules/__generated__/OpenEditionMetadataERC721/write/setSharedMetadata.d.ts +4 -4
  652. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/events/DefaultRoyaltyUpdated.d.ts +1 -1
  653. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/events/TokenRoyaltyUpdated.d.ts +1 -1
  654. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/events/TransferValidatorUpdated.d.ts +1 -1
  655. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/module/install.d.ts +5 -5
  656. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/module/install.d.ts.map +1 -1
  657. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/read/getDefaultRoyaltyInfo.d.ts +3 -3
  658. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/read/getRoyaltyInfoForToken.d.ts +5 -5
  659. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/read/getTransferValidationFunction.d.ts +3 -3
  660. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/read/getTransferValidator.d.ts +3 -3
  661. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/read/royaltyInfo.d.ts +5 -5
  662. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/write/setDefaultRoyaltyInfo.d.ts +4 -4
  663. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/write/setRoyaltyInfoForToken.d.ts +4 -4
  664. package/dist/types/extensions/modules/__generated__/RoyaltyERC1155/write/setTransferValidator.d.ts +4 -4
  665. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/events/DefaultRoyaltyUpdated.d.ts +1 -1
  666. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/events/TokenRoyaltyUpdated.d.ts +1 -1
  667. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/events/TransferValidatorUpdated.d.ts +1 -1
  668. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/module/install.d.ts +5 -5
  669. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/module/install.d.ts.map +1 -1
  670. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/read/getDefaultRoyaltyInfo.d.ts +3 -3
  671. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/read/getRoyaltyInfoForToken.d.ts +5 -5
  672. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/read/getTransferValidationFunction.d.ts +3 -3
  673. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/read/getTransferValidator.d.ts +3 -3
  674. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/read/royaltyInfo.d.ts +5 -5
  675. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/write/setDefaultRoyaltyInfo.d.ts +4 -4
  676. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/write/setRoyaltyInfoForToken.d.ts +4 -4
  677. package/dist/types/extensions/modules/__generated__/RoyaltyERC721/write/setTransferValidator.d.ts +4 -4
  678. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.d.ts +4 -4
  679. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.d.ts.map +1 -1
  680. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.d.ts +3 -3
  681. package/dist/types/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getNextTokenId.d.ts +3 -3
  682. package/dist/types/extensions/modules/__generated__/TransferableERC1155/module/install.d.ts +4 -4
  683. package/dist/types/extensions/modules/__generated__/TransferableERC1155/module/install.d.ts.map +1 -1
  684. package/dist/types/extensions/modules/__generated__/TransferableERC1155/read/encodeBytesOnInstall.d.ts +3 -3
  685. package/dist/types/extensions/modules/__generated__/TransferableERC1155/read/isTransferEnabled.d.ts +3 -3
  686. package/dist/types/extensions/modules/__generated__/TransferableERC1155/read/isTransferEnabledFor.d.ts +5 -5
  687. package/dist/types/extensions/modules/__generated__/TransferableERC1155/write/setTransferable.d.ts +4 -4
  688. package/dist/types/extensions/modules/__generated__/TransferableERC1155/write/setTransferableFor.d.ts +4 -4
  689. package/dist/types/extensions/modules/__generated__/TransferableERC20/module/install.d.ts +4 -4
  690. package/dist/types/extensions/modules/__generated__/TransferableERC20/module/install.d.ts.map +1 -1
  691. package/dist/types/extensions/modules/__generated__/TransferableERC20/read/encodeBytesOnInstall.d.ts +3 -3
  692. package/dist/types/extensions/modules/__generated__/TransferableERC20/read/isTransferEnabled.d.ts +3 -3
  693. package/dist/types/extensions/modules/__generated__/TransferableERC20/read/isTransferEnabledFor.d.ts +5 -5
  694. package/dist/types/extensions/modules/__generated__/TransferableERC20/write/setTransferable.d.ts +4 -4
  695. package/dist/types/extensions/modules/__generated__/TransferableERC20/write/setTransferableFor.d.ts +4 -4
  696. package/dist/types/extensions/modules/__generated__/TransferableERC721/module/install.d.ts +4 -4
  697. package/dist/types/extensions/modules/__generated__/TransferableERC721/module/install.d.ts.map +1 -1
  698. package/dist/types/extensions/modules/__generated__/TransferableERC721/read/encodeBytesOnInstall.d.ts +3 -3
  699. package/dist/types/extensions/modules/__generated__/TransferableERC721/read/isTransferEnabled.d.ts +3 -3
  700. package/dist/types/extensions/modules/__generated__/TransferableERC721/read/isTransferEnabledFor.d.ts +5 -5
  701. package/dist/types/extensions/modules/__generated__/TransferableERC721/write/setTransferable.d.ts +4 -4
  702. package/dist/types/extensions/modules/__generated__/TransferableERC721/write/setTransferableFor.d.ts +4 -4
  703. package/dist/types/extensions/modules/common/getOrDeployModule.d.ts +41 -6
  704. package/dist/types/extensions/modules/common/getOrDeployModule.d.ts.map +1 -1
  705. package/dist/types/extensions/modules/common/grantMinterRole.d.ts +16 -0
  706. package/dist/types/extensions/modules/common/grantMinterRole.d.ts.map +1 -1
  707. package/dist/types/extensions/modules/common/installPublishedModule.d.ts +3 -3
  708. package/dist/types/extensions/modules/common/installPublishedModule.d.ts.map +1 -1
  709. package/dist/types/extensions/modules/common/uninstallModuleByProxy.d.ts +2 -2
  710. package/dist/types/extensions/modules/common/uninstallPublishedModule.d.ts +2 -3
  711. package/dist/types/extensions/modules/common/uninstallPublishedModule.d.ts.map +1 -1
  712. package/dist/types/extensions/prebuilts/deploy-erc1155.d.ts.map +1 -1
  713. package/dist/types/extensions/prebuilts/deploy-erc20.d.ts.map +1 -1
  714. package/dist/types/extensions/prebuilts/deploy-erc721.d.ts.map +1 -1
  715. package/dist/types/extensions/prebuilts/deploy-marketplace.d.ts.map +1 -1
  716. package/dist/types/extensions/prebuilts/deploy-modular.d.ts +3 -2
  717. package/dist/types/extensions/prebuilts/deploy-modular.d.ts.map +1 -1
  718. package/dist/types/extensions/prebuilts/deploy-published.d.ts +37 -6
  719. package/dist/types/extensions/prebuilts/deploy-published.d.ts.map +1 -1
  720. package/dist/types/extensions/prebuilts/deploy-split.d.ts.map +1 -1
  721. package/dist/types/extensions/prebuilts/deploy-vote.d.ts.map +1 -1
  722. package/dist/types/extensions/prebuilts/get-required-transactions.d.ts +26 -0
  723. package/dist/types/extensions/prebuilts/get-required-transactions.d.ts.map +1 -0
  724. package/dist/types/extensions/split/read/getRecipientSplitPercentage.d.ts +13 -0
  725. package/dist/types/extensions/split/read/getRecipientSplitPercentage.d.ts.map +1 -1
  726. package/dist/types/react/core/hooks/others/useProfiles.d.ts +1 -1
  727. package/dist/types/react/core/social/useSocialProfiles.d.ts +2 -0
  728. package/dist/types/react/core/social/useSocialProfiles.d.ts.map +1 -1
  729. package/dist/types/react/core/utils/defaultTokens.d.ts +14 -0
  730. package/dist/types/react/core/utils/defaultTokens.d.ts.map +1 -1
  731. package/dist/types/react/native/ui/components/Address.d.ts.map +1 -1
  732. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  733. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  734. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.d.ts.map +1 -1
  735. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
  736. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.d.ts.map +1 -1
  737. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
  738. package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts.map +1 -1
  739. package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts.map +1 -1
  740. package/dist/types/social/profiles.d.ts +2 -1
  741. package/dist/types/social/profiles.d.ts.map +1 -1
  742. package/dist/types/utils/abi/normalizeFunctionParams.d.ts +3 -0
  743. package/dist/types/utils/abi/normalizeFunctionParams.d.ts.map +1 -0
  744. package/dist/types/utils/any-evm/compute-published-contract-address.d.ts +2 -2
  745. package/dist/types/utils/any-evm/compute-published-contract-address.d.ts.map +1 -1
  746. package/dist/types/utils/any-evm/compute-published-contract-deploy-info.d.ts +17 -2
  747. package/dist/types/utils/any-evm/compute-published-contract-deploy-info.d.ts.map +1 -1
  748. package/dist/types/utils/caching/lru.d.ts +4 -13
  749. package/dist/types/utils/caching/lru.d.ts.map +1 -1
  750. package/dist/types/utils/extensions/drops/types.d.ts +3 -1
  751. package/dist/types/utils/extensions/drops/types.d.ts.map +1 -1
  752. package/dist/types/version.d.ts +1 -1
  753. package/dist/types/version.d.ts.map +1 -1
  754. package/dist/types/wallets/in-app/core/eip5972/in-app-wallet-calls.d.ts.map +1 -1
  755. package/dist/types/wallets/in-app/core/users/getUser.d.ts +45 -0
  756. package/dist/types/wallets/in-app/core/users/getUser.d.ts.map +1 -0
  757. package/dist/types/wallets/smart/index.d.ts.map +1 -1
  758. package/dist/types/wallets/smart/lib/userop.d.ts +3 -0
  759. package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
  760. package/package.json +16 -21
  761. package/src/analytics/track.ts +29 -0
  762. package/src/chains/chain-definitions/polygon.ts +1 -1
  763. package/src/contract/actions/get-compiler-metadata.ts +2 -1
  764. package/src/contract/deployment/deploy-deterministic.test.ts +16 -5
  765. package/src/contract/deployment/deploy-deterministic.ts +35 -2
  766. package/src/contract/deployment/deploy-via-autofactory.test.ts +0 -2
  767. package/src/contract/deployment/deploy-via-autofactory.ts +3 -0
  768. package/src/contract/deployment/deploy-with-abi.ts +64 -24
  769. package/src/contract/deployment/utils/bootstrap.test.ts +3 -2
  770. package/src/contract/deployment/utils/bootstrap.ts +35 -11
  771. package/src/contract/deployment/utils/clone-factory.ts +1 -2
  772. package/src/contract/deployment/utils/infra.ts +61 -5
  773. package/src/contract/deployment/zksync/zkDeployContract.ts +13 -2
  774. package/src/contract/deployment/zksync/zkDeployDeterministic.ts +4 -3
  775. package/src/contract/deployment/zksync/zkDeployProxy.ts +5 -4
  776. package/src/exports/deploys.ts +12 -5
  777. package/src/exports/modules.ts +71 -1
  778. package/src/exports/thirdweb.ts +8 -0
  779. package/src/exports/utils.ts +2 -0
  780. package/src/exports/wallets.ts +5 -0
  781. package/src/extensions/airdrop/write/airdropERC1155WithSignature.test.ts +4 -1
  782. package/src/extensions/airdrop/write/airdropERC1155WithSignature.ts +3 -3
  783. package/src/extensions/airdrop/write/airdropERC20WithSignature.test.ts +4 -1
  784. package/src/extensions/airdrop/write/airdropERC20WithSignature.ts +3 -3
  785. package/src/extensions/airdrop/write/airdropERC721WithSignature.test.ts +4 -1
  786. package/src/extensions/airdrop/write/airdropERC721WithSignature.ts +3 -3
  787. package/src/extensions/airdrop/write/claimERC1155.test.ts +4 -1
  788. package/src/extensions/airdrop/write/claimERC1155.ts +2 -2
  789. package/src/extensions/airdrop/write/claimERC20.test.ts +4 -1
  790. package/src/extensions/airdrop/write/claimERC20.ts +2 -2
  791. package/src/extensions/airdrop/write/claimERC721.test.ts +4 -1
  792. package/src/extensions/airdrop/write/claimERC721.ts +2 -2
  793. package/src/extensions/airdrop/write/merkleInfoERC1155.ts +2 -2
  794. package/src/extensions/airdrop/write/merkleInfoERC20.ts +2 -2
  795. package/src/extensions/airdrop/write/merkleInfoERC721.ts +2 -2
  796. package/src/extensions/airdrop/write/saveSnapshot.ts +2 -2
  797. package/src/extensions/erc1155/write/updateTokenURI.test.ts +54 -0
  798. package/src/extensions/erc20/drops/read/getActiveClaimCondition.ts +12 -0
  799. package/src/extensions/erc20/write/getApprovalForTransaction.test.ts +112 -0
  800. package/src/extensions/erc20/write/getApprovalForTransaction.ts +1 -1
  801. package/src/extensions/erc20/write/transferFrom.test.ts +104 -0
  802. package/src/extensions/erc4337/account/permissions.test.ts +4 -1
  803. package/src/extensions/erc721/drops/write/updateMetadata.test.ts +29 -0
  804. package/src/extensions/erc721/write/updateTokenURI.test.ts +56 -0
  805. package/src/extensions/erc721/write/updateTokenURI.ts +3 -0
  806. package/src/extensions/marketplace/offers/offers.test.ts +0 -1
  807. package/src/extensions/marketplace/offers/write/makeOffer.ts +0 -1
  808. package/src/extensions/modules/BatchMetadataERC1155/uploadMetadata.ts +30 -2
  809. package/src/extensions/modules/BatchMetadataERC721/uploadMetadata.ts +24 -0
  810. package/src/extensions/modules/ClaimableERC1155/mint.ts +1 -1
  811. package/src/extensions/modules/ClaimableERC1155/setClaimConditions.ts +20 -0
  812. package/src/extensions/modules/ClaimableERC20/mint.ts +1 -1
  813. package/src/extensions/modules/ClaimableERC20/setClaimConditions.ts +19 -0
  814. package/src/extensions/modules/ClaimableERC721/mint.ts +1 -1
  815. package/src/extensions/modules/ClaimableERC721/setClaimConditions.ts +19 -0
  816. package/src/extensions/modules/MintableERC1155/mintWithRole.ts +1 -1
  817. package/src/extensions/modules/MintableERC1155/mintWithSignature.ts +2 -2
  818. package/src/extensions/modules/MintableERC20/mintWithRole.ts +1 -1
  819. package/src/extensions/modules/MintableERC20/mintWithSignature.ts +2 -2
  820. package/src/extensions/modules/MintableERC721/mintWithRole.ts +1 -1
  821. package/src/extensions/modules/MintableERC721/mintWithSignature.ts +2 -2
  822. package/src/extensions/modules/__generated__/BatchMetadataERC1155/events/BatchMetadataUpdate.ts +1 -1
  823. package/src/extensions/modules/__generated__/BatchMetadataERC1155/module/install.ts +6 -4
  824. package/src/extensions/modules/__generated__/BatchMetadataERC1155/read/encodeBytesOnInstall.ts +3 -3
  825. package/src/extensions/modules/__generated__/BatchMetadataERC1155/read/getAllMetadataBatches.ts +3 -3
  826. package/src/extensions/modules/__generated__/BatchMetadataERC1155/write/uploadMetadata.ts +4 -4
  827. package/src/extensions/modules/__generated__/BatchMetadataERC721/events/BatchMetadataUpdate.ts +1 -1
  828. package/src/extensions/modules/__generated__/BatchMetadataERC721/module/install.ts +6 -4
  829. package/src/extensions/modules/__generated__/BatchMetadataERC721/read/encodeBytesOnInstall.ts +3 -3
  830. package/src/extensions/modules/__generated__/BatchMetadataERC721/read/getAllMetadataBatches.ts +3 -3
  831. package/src/extensions/modules/__generated__/BatchMetadataERC721/write/uploadMetadata.ts +4 -4
  832. package/src/extensions/modules/__generated__/ClaimableERC1155/module/install.ts +6 -4
  833. package/src/extensions/modules/__generated__/ClaimableERC1155/read/getClaimConditionByTokenId.ts +5 -5
  834. package/src/extensions/modules/__generated__/ClaimableERC1155/read/getSaleConfig.ts +3 -3
  835. package/src/extensions/modules/__generated__/ClaimableERC1155/write/setClaimConditionByTokenId.ts +4 -4
  836. package/src/extensions/modules/__generated__/ClaimableERC1155/write/setSaleConfig.ts +4 -4
  837. package/src/extensions/modules/__generated__/ClaimableERC20/module/install.ts +6 -4
  838. package/src/extensions/modules/__generated__/ClaimableERC20/read/getClaimCondition.ts +3 -3
  839. package/src/extensions/modules/__generated__/ClaimableERC20/read/getSaleConfig.ts +3 -3
  840. package/src/extensions/modules/__generated__/ClaimableERC20/write/setClaimCondition.ts +4 -4
  841. package/src/extensions/modules/__generated__/ClaimableERC20/write/setSaleConfig.ts +4 -4
  842. package/src/extensions/modules/__generated__/ClaimableERC721/module/install.ts +6 -4
  843. package/src/extensions/modules/__generated__/ClaimableERC721/read/getClaimCondition.ts +3 -3
  844. package/src/extensions/modules/__generated__/ClaimableERC721/read/getSaleConfig.ts +3 -3
  845. package/src/extensions/modules/__generated__/ClaimableERC721/write/setClaimCondition.ts +4 -4
  846. package/src/extensions/modules/__generated__/ClaimableERC721/write/setSaleConfig.ts +4 -4
  847. package/src/extensions/modules/__generated__/ERC1155Core/write/burn.ts +4 -4
  848. package/src/extensions/modules/__generated__/ERC1155Core/write/initialize.ts +4 -4
  849. package/src/extensions/modules/__generated__/ERC1155Core/write/mint.ts +4 -4
  850. package/src/extensions/modules/__generated__/ERC1155Core/write/mintWithSignature.ts +4 -4
  851. package/src/extensions/modules/__generated__/ERC20Core/write/burn.ts +4 -4
  852. package/src/extensions/modules/__generated__/ERC20Core/write/initialize.ts +4 -4
  853. package/src/extensions/modules/__generated__/ERC20Core/write/mint.ts +4 -4
  854. package/src/extensions/modules/__generated__/ERC20Core/write/mintWithSignature.ts +4 -4
  855. package/src/extensions/modules/__generated__/ERC721Core/read/totalMinted.ts +3 -3
  856. package/src/extensions/modules/__generated__/ERC721Core/write/burn.ts +4 -4
  857. package/src/extensions/modules/__generated__/ERC721Core/write/initialize.ts +4 -4
  858. package/src/extensions/modules/__generated__/ERC721Core/write/mint.ts +4 -4
  859. package/src/extensions/modules/__generated__/ERC721Core/write/mintWithSignature.ts +4 -4
  860. package/src/extensions/modules/__generated__/MintableERC1155/events/MetadataUpdate.ts +1 -1
  861. package/src/extensions/modules/__generated__/MintableERC1155/events/MintableTokenURIUpdated.ts +1 -1
  862. package/src/extensions/modules/__generated__/MintableERC1155/module/install.ts +6 -4
  863. package/src/extensions/modules/__generated__/MintableERC1155/read/getSaleConfig.ts +3 -3
  864. package/src/extensions/modules/__generated__/MintableERC1155/write/setSaleConfig.ts +4 -4
  865. package/src/extensions/modules/__generated__/MintableERC1155/write/setTokenURI.ts +4 -4
  866. package/src/extensions/modules/__generated__/MintableERC20/module/install.ts +6 -4
  867. package/src/extensions/modules/__generated__/MintableERC20/read/getSaleConfig.ts +3 -3
  868. package/src/extensions/modules/__generated__/MintableERC20/write/setSaleConfig.ts +4 -4
  869. package/src/extensions/modules/__generated__/MintableERC721/events/BatchMetadataUpdate.ts +1 -1
  870. package/src/extensions/modules/__generated__/MintableERC721/events/NewMetadataBatch.ts +1 -1
  871. package/src/extensions/modules/__generated__/MintableERC721/module/install.ts +6 -4
  872. package/src/extensions/modules/__generated__/MintableERC721/read/getSaleConfig.ts +3 -3
  873. package/src/extensions/modules/__generated__/MintableERC721/write/setSaleConfig.ts +4 -4
  874. package/src/extensions/modules/__generated__/OpenEditionMetadataERC721/events/BatchMetadataUpdate.ts +1 -1
  875. package/src/extensions/modules/__generated__/OpenEditionMetadataERC721/events/SharedMetadataUpdated.ts +1 -1
  876. package/src/extensions/modules/__generated__/OpenEditionMetadataERC721/module/install.ts +6 -4
  877. package/src/extensions/modules/__generated__/OpenEditionMetadataERC721/read/encodeBytesOnInstall.ts +3 -3
  878. package/src/extensions/modules/__generated__/OpenEditionMetadataERC721/read/onTokenURI.ts +5 -5
  879. package/src/extensions/modules/__generated__/OpenEditionMetadataERC721/write/setSharedMetadata.ts +4 -4
  880. package/src/extensions/modules/__generated__/RoyaltyERC1155/events/DefaultRoyaltyUpdated.ts +1 -1
  881. package/src/extensions/modules/__generated__/RoyaltyERC1155/events/TokenRoyaltyUpdated.ts +1 -1
  882. package/src/extensions/modules/__generated__/RoyaltyERC1155/events/TransferValidatorUpdated.ts +1 -1
  883. package/src/extensions/modules/__generated__/RoyaltyERC1155/module/install.ts +6 -4
  884. package/src/extensions/modules/__generated__/RoyaltyERC1155/read/getDefaultRoyaltyInfo.ts +3 -3
  885. package/src/extensions/modules/__generated__/RoyaltyERC1155/read/getRoyaltyInfoForToken.ts +5 -5
  886. package/src/extensions/modules/__generated__/RoyaltyERC1155/read/getTransferValidationFunction.ts +3 -3
  887. package/src/extensions/modules/__generated__/RoyaltyERC1155/read/getTransferValidator.ts +3 -3
  888. package/src/extensions/modules/__generated__/RoyaltyERC1155/read/royaltyInfo.ts +5 -5
  889. package/src/extensions/modules/__generated__/RoyaltyERC1155/write/setDefaultRoyaltyInfo.ts +4 -4
  890. package/src/extensions/modules/__generated__/RoyaltyERC1155/write/setRoyaltyInfoForToken.ts +4 -4
  891. package/src/extensions/modules/__generated__/RoyaltyERC1155/write/setTransferValidator.ts +4 -4
  892. package/src/extensions/modules/__generated__/RoyaltyERC721/events/DefaultRoyaltyUpdated.ts +1 -1
  893. package/src/extensions/modules/__generated__/RoyaltyERC721/events/TokenRoyaltyUpdated.ts +1 -1
  894. package/src/extensions/modules/__generated__/RoyaltyERC721/events/TransferValidatorUpdated.ts +1 -1
  895. package/src/extensions/modules/__generated__/RoyaltyERC721/module/install.ts +6 -4
  896. package/src/extensions/modules/__generated__/RoyaltyERC721/read/getDefaultRoyaltyInfo.ts +3 -3
  897. package/src/extensions/modules/__generated__/RoyaltyERC721/read/getRoyaltyInfoForToken.ts +5 -5
  898. package/src/extensions/modules/__generated__/RoyaltyERC721/read/getTransferValidationFunction.ts +3 -3
  899. package/src/extensions/modules/__generated__/RoyaltyERC721/read/getTransferValidator.ts +3 -3
  900. package/src/extensions/modules/__generated__/RoyaltyERC721/read/royaltyInfo.ts +5 -5
  901. package/src/extensions/modules/__generated__/RoyaltyERC721/write/setDefaultRoyaltyInfo.ts +4 -4
  902. package/src/extensions/modules/__generated__/RoyaltyERC721/write/setRoyaltyInfoForToken.ts +4 -4
  903. package/src/extensions/modules/__generated__/RoyaltyERC721/write/setTransferValidator.ts +4 -4
  904. package/src/extensions/modules/__generated__/SequentialTokenIdERC1155/module/install.ts +6 -4
  905. package/src/extensions/modules/__generated__/SequentialTokenIdERC1155/read/encodeBytesOnInstall.ts +3 -3
  906. package/src/extensions/modules/__generated__/SequentialTokenIdERC1155/read/getNextTokenId.ts +3 -3
  907. package/src/extensions/modules/__generated__/TransferableERC1155/module/install.ts +6 -4
  908. package/src/extensions/modules/__generated__/TransferableERC1155/read/encodeBytesOnInstall.ts +3 -3
  909. package/src/extensions/modules/__generated__/TransferableERC1155/read/isTransferEnabled.ts +3 -3
  910. package/src/extensions/modules/__generated__/TransferableERC1155/read/isTransferEnabledFor.ts +5 -5
  911. package/src/extensions/modules/__generated__/TransferableERC1155/write/setTransferable.ts +4 -4
  912. package/src/extensions/modules/__generated__/TransferableERC1155/write/setTransferableFor.ts +4 -4
  913. package/src/extensions/modules/__generated__/TransferableERC20/module/install.ts +6 -4
  914. package/src/extensions/modules/__generated__/TransferableERC20/read/encodeBytesOnInstall.ts +3 -3
  915. package/src/extensions/modules/__generated__/TransferableERC20/read/isTransferEnabled.ts +3 -3
  916. package/src/extensions/modules/__generated__/TransferableERC20/read/isTransferEnabledFor.ts +5 -5
  917. package/src/extensions/modules/__generated__/TransferableERC20/write/setTransferable.ts +4 -4
  918. package/src/extensions/modules/__generated__/TransferableERC20/write/setTransferableFor.ts +4 -4
  919. package/src/extensions/modules/__generated__/TransferableERC721/module/install.ts +6 -4
  920. package/src/extensions/modules/__generated__/TransferableERC721/read/encodeBytesOnInstall.ts +3 -3
  921. package/src/extensions/modules/__generated__/TransferableERC721/read/isTransferEnabled.ts +3 -3
  922. package/src/extensions/modules/__generated__/TransferableERC721/read/isTransferEnabledFor.ts +5 -5
  923. package/src/extensions/modules/__generated__/TransferableERC721/write/setTransferable.ts +4 -4
  924. package/src/extensions/modules/__generated__/TransferableERC721/write/setTransferableFor.ts +4 -4
  925. package/src/extensions/modules/common/getOrDeployModule.ts +45 -13
  926. package/src/extensions/modules/common/grantMinterRole.ts +16 -0
  927. package/src/extensions/modules/common/installPublishedModule.ts +4 -4
  928. package/src/extensions/modules/common/uninstallModuleByProxy.ts +2 -2
  929. package/src/extensions/modules/common/uninstallPublishedModule.ts +3 -11
  930. package/src/extensions/prebuilts/deploy-erc1155.ts +0 -1
  931. package/src/extensions/prebuilts/deploy-erc20.ts +0 -1
  932. package/src/extensions/prebuilts/deploy-erc721.ts +0 -1
  933. package/src/extensions/prebuilts/deploy-marketplace.ts +6 -8
  934. package/src/extensions/prebuilts/deploy-modular-core.test.ts +63 -2
  935. package/src/extensions/prebuilts/deploy-modular.ts +52 -40
  936. package/src/extensions/prebuilts/deploy-published.test.ts +74 -4
  937. package/src/extensions/prebuilts/deploy-published.ts +161 -47
  938. package/src/extensions/prebuilts/deploy-split.ts +0 -1
  939. package/src/extensions/prebuilts/deploy-vote.ts +0 -1
  940. package/src/extensions/prebuilts/get-required-transactions.test.ts +61 -0
  941. package/src/extensions/prebuilts/get-required-transactions.ts +110 -0
  942. package/src/extensions/split/read/getRecipientSplitPercentage.ts +13 -0
  943. package/src/react/core/hooks/others/useProfiles.ts +1 -1
  944. package/src/react/core/social/useSocialProfiles.ts +2 -0
  945. package/src/react/core/utils/defaultTokens.ts +14 -0
  946. package/src/react/native/ui/components/Address.tsx +1 -3
  947. package/src/react/web/ui/ConnectWallet/Details.tsx +7 -0
  948. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +31 -3
  949. package/src/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.tsx +7 -0
  950. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +7 -0
  951. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.tsx +7 -0
  952. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +53 -0
  953. package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx +77 -34
  954. package/src/react/web/ui/TransactionButton/TransactionModal.tsx +21 -0
  955. package/src/social/profiles.ts +2 -1
  956. package/src/transaction/actions/zksync/send-eip712-transaction.test.ts +13 -13
  957. package/src/utils/abi/normalizeFunctionParams.ts +29 -0
  958. package/src/utils/any-evm/compute-published-contract-address.ts +17 -8
  959. package/src/utils/any-evm/compute-published-contract-deploy-info.ts +31 -11
  960. package/src/utils/bytecode/resolveImplementation.test.ts +7 -5
  961. package/src/utils/caching/lru.test.ts +38 -0
  962. package/src/utils/caching/lru.ts +18 -14
  963. package/src/utils/extensions/drops/types.ts +3 -1
  964. package/src/version.ts +1 -1
  965. package/src/wallets/in-app/core/eip5972/in-app-wallet-calls.ts +3 -14
  966. package/src/wallets/in-app/core/users/getUser.ts +112 -0
  967. package/src/wallets/smart/index.ts +4 -0
  968. package/src/wallets/smart/lib/userop.ts +64 -19
  969. package/src/wallets/smart/smart-wallet-integration-v07.test.ts +55 -0
  970. package/src/wallets/smart/smart-wallet-integration.test.ts +55 -0
  971. package/src/wallets/smart/smart-wallet-zksync.test.ts +1 -1
@@ -35,19 +35,19 @@ describe("sendEip712Transaction", () => {
35
35
  client: TEST_CLIENT,
36
36
  chain: zkSyncSepolia, // TODO make zksync fork chain work
37
37
  account: TEST_ACCOUNT_A,
38
- contractId: "DropERC1155",
39
- contractParams: [
40
- TEST_ACCOUNT_A.address, // defaultAdmin
41
- "test", // name
42
- "", // symbol
43
- "", // contractURI
44
- [], // trustedForwarders
45
- TEST_ACCOUNT_A.address, // saleRecipient
46
- TEST_ACCOUNT_A.address, // royaltyRecipient
47
- 0n, // royaltyBps
48
- 0n, // platformFeeBps
49
- TEST_ACCOUNT_A.address, // platformFeeRecipient
50
- ],
38
+ contractId: "DropERC721",
39
+ contractParams: {
40
+ defaultAdmin: TEST_ACCOUNT_A.address, // defaultAdmin
41
+ name: "test", // name
42
+ symbol: "test", // symbol
43
+ contractURI: "", // contractURI
44
+ trustedForwarders: [], // trustedForwarders
45
+ saleRecipient: TEST_ACCOUNT_A.address, // saleRecipient
46
+ royaltyRecipient: TEST_ACCOUNT_A.address, // royaltyRecipient
47
+ royaltyBps: 0n, // royaltyBps
48
+ platformFeeBps: 0n, // platformFeeBps
49
+ platformFeeRecipient: TEST_ACCOUNT_A.address, // platformFeeRecipient
50
+ },
51
51
  });
52
52
  console.log("deployed address", address);
53
53
  expect(address).toBeDefined();
@@ -0,0 +1,29 @@
1
+ import type { AbiConstructor, AbiFunction } from "abitype";
2
+
3
+ export function normalizeFunctionParams(
4
+ abiFunction: AbiFunction | AbiConstructor | undefined,
5
+ params: Record<string, unknown> = {},
6
+ ): unknown[] {
7
+ if (!abiFunction) {
8
+ return [];
9
+ }
10
+ if (abiFunction.inputs?.length !== Object.keys(params).length) {
11
+ throw new Error(
12
+ `Expected ${abiFunction.inputs?.length || 0} parameters, but got ${Object.keys(params).length}`,
13
+ );
14
+ }
15
+ return abiFunction.inputs.map((input, index) => {
16
+ const value = input.name;
17
+ if (value === undefined) {
18
+ throw new Error(
19
+ `Missing named parameter for ${"name" in abiFunction ? abiFunction.name : "constructor"} at index ${index}`,
20
+ );
21
+ }
22
+ const valueWithoutUnderscore = value.replace(/^_+/, "");
23
+ const normalizedValue = params[value] ?? params[valueWithoutUnderscore]; // handle _name, _symbol, etc passed without underscore in the keys
24
+ if (normalizedValue === undefined) {
25
+ throw new Error(`Missing value for parameter ${value} at index ${index}`);
26
+ }
27
+ return normalizedValue;
28
+ });
29
+ }
@@ -1,10 +1,8 @@
1
1
  import type { Chain } from "../../chains/types.js";
2
2
  import type { ThirdwebClient } from "../../client/client.js";
3
+ import { fetchPublishedContractMetadata } from "../../contract/deployment/publisher.js";
3
4
  import { computeDeploymentAddress } from "./compute-deployment-address.js";
4
- import {
5
- computeDeploymentInfoFromContractId,
6
- computeDeploymentInfoFromMetadata,
7
- } from "./compute-published-contract-deploy-info.js";
5
+ import { computeDeploymentInfoFromMetadata } from "./compute-published-contract-deploy-info.js";
8
6
  import type { FetchDeployMetadataResult } from "./deploy-metadata.js";
9
7
 
10
8
  /**
@@ -34,13 +32,24 @@ export async function computePublishedContractAddress(args: {
34
32
  client: ThirdwebClient;
35
33
  chain: Chain;
36
34
  contractId: string;
37
- constructorParams: unknown[];
35
+ constructorParams?: Record<string, unknown>;
38
36
  publisher?: string;
39
37
  version?: string;
40
38
  salt?: string;
41
39
  }): Promise<string> {
42
- const info = await computeDeploymentInfoFromContractId(args);
43
- return computeDeploymentAddress(info);
40
+ const contractMetadata = await fetchPublishedContractMetadata({
41
+ client: args.client,
42
+ contractId: args.contractId,
43
+ publisher: args.publisher,
44
+ version: args.version,
45
+ });
46
+ return computeContractAddress({
47
+ client: args.client,
48
+ chain: args.chain,
49
+ contractMetadata,
50
+ constructorParams: args.constructorParams,
51
+ salt: args.salt,
52
+ });
44
53
  }
45
54
 
46
55
  /**
@@ -50,7 +59,7 @@ export async function computeContractAddress(args: {
50
59
  client: ThirdwebClient;
51
60
  chain: Chain;
52
61
  contractMetadata: FetchDeployMetadataResult;
53
- constructorParams: unknown[];
62
+ constructorParams?: Record<string, unknown>;
54
63
  salt?: string;
55
64
  }): Promise<string> {
56
65
  const info = await computeDeploymentInfoFromMetadata(args);
@@ -1,9 +1,12 @@
1
- import type { AbiConstructor } from "abitype";
1
+ import type { Abi, AbiConstructor } from "abitype";
2
2
  import type { Chain } from "../../chains/types.js";
3
3
  import type { ThirdwebClient } from "../../client/client.js";
4
4
  import { fetchPublishedContractMetadata } from "../../contract/deployment/publisher.js";
5
5
  import { computeCreate2FactoryAddress } from "../../contract/deployment/utils/create-2-factory.js";
6
6
  import { encodeAbiParameters } from "../abi/encodeAbiParameters.js";
7
+ import { normalizeFunctionParams } from "../abi/normalizeFunctionParams.js";
8
+ import { ensureBytecodePrefix } from "../bytecode/prefix.js";
9
+ import type { Hex } from "../encoding/hex.js";
7
10
  import type { FetchDeployMetadataResult } from "./deploy-metadata.js";
8
11
  import { getInitBytecodeWithSalt } from "./get-init-bytecode-with-salt.js";
9
12
 
@@ -14,7 +17,7 @@ export async function computeDeploymentInfoFromContractId(args: {
14
17
  client: ThirdwebClient;
15
18
  chain: Chain;
16
19
  contractId: string;
17
- constructorParams: unknown[];
20
+ constructorParams?: Record<string, unknown>;
18
21
  publisher?: string;
19
22
  version?: string;
20
23
  salt?: string;
@@ -42,22 +45,39 @@ export async function computeDeploymentInfoFromMetadata(args: {
42
45
  client: ThirdwebClient;
43
46
  chain: Chain;
44
47
  contractMetadata: FetchDeployMetadataResult;
45
- constructorParams: unknown[];
48
+ constructorParams?: Record<string, unknown>;
46
49
  salt?: string;
47
50
  }) {
48
- const { client, chain, contractMetadata, constructorParams, salt } = args;
51
+ return computeDeploymentInfoFromBytecode({
52
+ client: args.client,
53
+ chain: args.chain,
54
+ abi: args.contractMetadata.abi,
55
+ bytecode: args.contractMetadata.bytecode,
56
+ constructorParams: args.constructorParams,
57
+ salt: args.salt,
58
+ });
59
+ }
60
+
61
+ export async function computeDeploymentInfoFromBytecode(args: {
62
+ client: ThirdwebClient;
63
+ chain: Chain;
64
+ abi: Abi;
65
+ bytecode: Hex;
66
+ constructorParams?: Record<string, unknown>;
67
+ salt?: string;
68
+ }) {
69
+ const { client, chain, constructorParams, salt } = args;
49
70
  const create2FactoryAddress = await computeCreate2FactoryAddress({
50
71
  client,
51
72
  chain,
52
73
  });
53
- const bytecode = contractMetadata.bytecode;
54
- const constructorAbi =
55
- (contractMetadata.abi.find(
56
- (abi) => abi.type === "constructor",
57
- ) as AbiConstructor) || [];
74
+ const bytecode = ensureBytecodePrefix(args.bytecode);
75
+ const constructorAbi = args.abi.find((abi) => abi.type === "constructor") as
76
+ | AbiConstructor
77
+ | undefined;
58
78
  const encodedArgs = encodeAbiParameters(
59
- constructorAbi.inputs ?? [],
60
- constructorParams,
79
+ constructorAbi?.inputs ?? [],
80
+ normalizeFunctionParams(constructorAbi, constructorParams),
61
81
  );
62
82
  const initBytecodeWithsalt = getInitBytecodeWithSalt({
63
83
  bytecode,
@@ -1,4 +1,4 @@
1
- import type { AbiConstructor } from "abitype";
1
+ import type { Abi } from "abitype";
2
2
  import { describe, expect, it } from "vitest";
3
3
  import {
4
4
  DUMMY_BYTECODE,
@@ -46,8 +46,7 @@ describe("Resolve implementation", async () => {
46
46
  chain: ANVIL_CHAIN,
47
47
  account: TEST_ACCOUNT_A,
48
48
  bytecode: DUMMY_BYTECODE,
49
- constructorAbi: {} as AbiConstructor,
50
- constructorParams: [],
49
+ abi: [],
51
50
  });
52
51
 
53
52
  const proxyAddress = await deployContract({
@@ -55,8 +54,11 @@ describe("Resolve implementation", async () => {
55
54
  chain: ANVIL_CHAIN,
56
55
  account: TEST_ACCOUNT_A,
57
56
  bytecode: ERC1967_PROXY_BYTECODE,
58
- constructorAbi: ERC1967_PROXY_CONSTRUCTOR_ABI as AbiConstructor,
59
- constructorParams: [implementationAddress, ""],
57
+ abi: ERC1967_PROXY_CONSTRUCTOR_ABI as Abi,
58
+ constructorParams: {
59
+ logic: implementationAddress,
60
+ data: "",
61
+ },
60
62
  });
61
63
 
62
64
  const proxy = getContract({
@@ -0,0 +1,38 @@
1
+ import { expect, test } from "vitest";
2
+ import { LruMap } from "./lru.js";
3
+
4
+ test("default", () => {
5
+ const cache = new LruMap(5);
6
+ cache.set("a", 1);
7
+ cache.set("b", 2);
8
+ cache.set("c", 3);
9
+ cache.set("d", 4);
10
+ cache.set("e", 5);
11
+ cache.set("f", 6);
12
+ cache.set("g", 7);
13
+ expect(cache.size).toBe(5);
14
+ expect(cache.has("a")).toBe(false);
15
+ expect(cache.has("b")).toBe(false);
16
+ expect(cache.get("c")).toBe(3);
17
+ expect(cache.get("d")).toBe(4);
18
+ expect(cache.get("e")).toBe(5);
19
+ expect(cache.get("f")).toBe(6);
20
+ expect(cache.get("g")).toBe(7);
21
+ });
22
+
23
+ test("update touched keys", () => {
24
+ const cache = new LruMap(5);
25
+ cache.set("a", 1);
26
+ cache.set("b", 2);
27
+ cache.set("c", 3);
28
+ cache.set("d", 4);
29
+ cache.set("e", 5);
30
+ expect(cache.size).toBe(5);
31
+ cache.get("a");
32
+ cache.set("f", 6);
33
+ cache.set("g", 7);
34
+ expect(cache.has("a")).toBe(true);
35
+ expect(cache.has("b")).toBe(false);
36
+ expect(cache.has("c")).toBe(false);
37
+ expect(cache.has("d")).toBe(true);
38
+ });
@@ -1,30 +1,34 @@
1
1
  /**
2
- * Represents a Least Recently Used (LRU) Map.
3
- * Extends the built-in Map class.
2
+ * Map with a LRU (Least recently used) policy.
3
+ *
4
+ * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
4
5
  */
5
6
  export class LruMap<value = unknown> extends Map<string, value> {
6
7
  maxSize: number;
7
8
 
8
- /**
9
- *
10
- * @param size
11
- * @internal
12
- */
13
9
  constructor(size: number) {
14
10
  super();
15
11
  this.maxSize = size;
16
12
  }
17
13
 
18
- /**
19
- *
20
- * @param key
21
- * @param value
22
- * @internal
23
- */
14
+ override get(key: string) {
15
+ const value = super.get(key);
16
+
17
+ if (super.has(key) && value !== undefined) {
18
+ this.delete(key);
19
+ super.set(key, value);
20
+ }
21
+
22
+ return value;
23
+ }
24
+
24
25
  override set(key: string, value: value) {
25
26
  super.set(key, value);
26
27
  if (this.maxSize && this.size > this.maxSize) {
27
- this.delete(this.keys().next().value);
28
+ const firstKey = this.keys().next().value;
29
+ if (firstKey) {
30
+ this.delete(firstKey);
31
+ }
28
32
  }
29
33
  return this;
30
34
  }
@@ -55,7 +55,9 @@ export type ClaimCondition = {
55
55
 
56
56
  /**
57
57
  * Represents the input data for creating a claim condition for a Modular Drop contract.
58
- * @extension MODULAR
58
+ * @modules ClaimableERC20
59
+ * @modules ClaimableERC721
60
+ * @modules ClaimableERC1155
59
61
  */
60
62
  export type ClaimConditionInput = {
61
63
  /**
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.53.1-nightly-865c5e3b16af70c3660f30ba8cffc5d6e360a389-20240911000352";
1
+ export const version = "5.54.0";
@@ -3,6 +3,7 @@ import { eth_getTransactionReceipt } from "../../../../rpc/actions/eth_getTransa
3
3
  import { getRpcClient } from "../../../../rpc/rpc.js";
4
4
  import { sendAndConfirmTransaction } from "../../../../transaction/actions/send-and-confirm-transaction.js";
5
5
  import { sendBatchTransaction } from "../../../../transaction/actions/send-batch-transaction.js";
6
+ import { LruMap } from "../../../../utils/caching/lru.js";
6
7
  import type { Hex } from "../../../../utils/encoding/hex.js";
7
8
  import { randomBytesHex } from "../../../../utils/random.js";
8
9
  import type { PreparedSendCall } from "../../../eip5792/send-calls.js";
@@ -13,19 +14,7 @@ import type {
13
14
  } from "../../../eip5792/types.js";
14
15
  import type { Account, Wallet } from "../../../interfaces/wallet.js";
15
16
 
16
- const bundlesToTransactions = new Map<string, Hex[]>();
17
- const MAX_BUNDLE_ENTRIES = 1000;
18
-
19
- /**
20
- * @internal
21
- */
22
- function setBundleId(bundleId: Hex, hashes: Hex[]) {
23
- if (bundlesToTransactions.size >= MAX_BUNDLE_ENTRIES) {
24
- const lru = bundlesToTransactions.keys().next().value;
25
- bundlesToTransactions.delete(lru);
26
- }
27
- bundlesToTransactions.set(bundleId, hashes);
28
- }
17
+ const bundlesToTransactions = new LruMap<Hex[]>(1000);
29
18
 
30
19
  /**
31
20
  * @internal
@@ -45,7 +34,7 @@ export async function inAppWalletSendCalls(args: {
45
34
  transactions: calls,
46
35
  });
47
36
  hashes.push(receipt.transactionHash);
48
- setBundleId(bundleId, hashes);
37
+ bundlesToTransactions.set(bundleId, hashes);
49
38
  } else {
50
39
  for (const tx of calls) {
51
40
  const receipt = await sendAndConfirmTransaction({
@@ -0,0 +1,112 @@
1
+ import type { ThirdwebClient } from "../../../../client/client.js";
2
+ import { getThirdwebBaseUrl } from "../../../../utils/domains.js";
3
+ import { getClientFetch } from "../../../../utils/fetch.js";
4
+ import type { OneOf, Prettify } from "../../../../utils/type-utils.js";
5
+ import type { Profile } from "../authentication/types.js";
6
+
7
+ export type GetUserResult = {
8
+ userId: string;
9
+ walletAddress: string;
10
+ email?: string;
11
+ phone?: string;
12
+ createdAt: string;
13
+ profiles: Profile[];
14
+ };
15
+
16
+ /**
17
+ * Gets user based on the provided query parameters.
18
+ * @note This function is only available on the server (a secret key is required in the client).
19
+ *
20
+ * @param options - The options for the find users function.
21
+ * @param options.client - The Thirdweb client with a secret key included.
22
+ * @param [options.walletAddress] - The wallet address to query by.
23
+ * @param [options.email] - The email to query by.
24
+ * @param [options.phone] - The phone number to query by.
25
+ * @param [options.id] - The user ID to query by.
26
+ *
27
+ * @returns An array of user objects.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * import { getUser } from "thirdweb/wallets";
32
+ *
33
+ * const user = await getUser({
34
+ * client,
35
+ * walletAddress: "0x123...",
36
+ * });
37
+ * ```
38
+ *
39
+ * @wallet
40
+ */
41
+ export async function getUser({
42
+ client,
43
+ walletAddress,
44
+ email,
45
+ phone,
46
+ id,
47
+ }: Prettify<
48
+ {
49
+ client: ThirdwebClient;
50
+ } & OneOf<{
51
+ walletAddress?: string;
52
+ email?: string;
53
+ phone?: string;
54
+ id?: string;
55
+ }>
56
+ >): Promise<GetUserResult | null> {
57
+ if (!client.secretKey) {
58
+ throw new Error(
59
+ "A secret key is required to query for users. If you're making this request from the server, please add a secret key to your client.",
60
+ );
61
+ }
62
+
63
+ const url = new URL(
64
+ `${getThirdwebBaseUrl("inAppWallet")}/api/2023-11-30/embedded-wallet/user-details`,
65
+ );
66
+
67
+ if (walletAddress) {
68
+ url.searchParams.set("queryBy", "walletAddress");
69
+ url.searchParams.set("walletAddress", walletAddress);
70
+ } else if (email) {
71
+ url.searchParams.set("queryBy", "email");
72
+ url.searchParams.set("email", email);
73
+ } else if (phone) {
74
+ url.searchParams.set("queryBy", "phone");
75
+ url.searchParams.set("phone", phone);
76
+ } else if (id) {
77
+ url.searchParams.set("queryBy", "id");
78
+ url.searchParams.set("id", id);
79
+ } else {
80
+ throw new Error(
81
+ "Please provide a walletAddress, email, phone, or id to query for users.",
82
+ );
83
+ }
84
+
85
+ const clientFetch = getClientFetch(client);
86
+
87
+ const res = await clientFetch(url.toString());
88
+
89
+ if (!res.ok) {
90
+ throw new Error("Failed to get profiles");
91
+ }
92
+
93
+ const data = (await res.json()) as {
94
+ userId: string;
95
+ walletAddress: string;
96
+ email?: string;
97
+ phone?: string;
98
+ createdAt: string;
99
+ linkedAccounts: Profile[];
100
+ }[];
101
+
102
+ return (
103
+ data.map((item) => ({
104
+ userId: item.userId,
105
+ walletAddress: item.walletAddress,
106
+ email: item.email,
107
+ phone: item.phone,
108
+ createdAt: item.createdAt,
109
+ profiles: item.linkedAccounts,
110
+ }))[0] || null
111
+ );
112
+ }
@@ -45,6 +45,7 @@ import {
45
45
  } from "./lib/calls.js";
46
46
  import { getDefaultAccountFactory } from "./lib/constants.js";
47
47
  import {
48
+ clearAccountDeploying,
48
49
  createUnsignedUserOp,
49
50
  signUserOp,
50
51
  waitForUserOpReceipt,
@@ -597,6 +598,9 @@ async function _sendUserOp(args: {
597
598
  userOpHash,
598
599
  });
599
600
 
601
+ // reset the isDeploying flag after every transaction
602
+ clearAccountDeploying(options.accountContract);
603
+
600
604
  return {
601
605
  client: options.client,
602
606
  chain: options.chain,
@@ -49,6 +49,24 @@ import { getPackedUserOperation } from "./packUserOp.js";
49
49
  import { getPaymasterAndData } from "./paymaster.js";
50
50
  import { generateRandomUint192 } from "./utils.js";
51
51
 
52
+ const isDeployingSet: Set<string> = new Set();
53
+
54
+ const getKey = (accountContract: ThirdwebContract) => {
55
+ return `${accountContract.chain.id}:${accountContract.address}`;
56
+ };
57
+
58
+ export const markAccountDeploying = (accountContract: ThirdwebContract) => {
59
+ isDeployingSet.add(getKey(accountContract));
60
+ };
61
+
62
+ export const clearAccountDeploying = (accountContract: ThirdwebContract) => {
63
+ isDeployingSet.delete(getKey(accountContract));
64
+ };
65
+
66
+ export const isAccountDeploying = (accountContract: ThirdwebContract) => {
67
+ return isDeployingSet.has(getKey(accountContract));
68
+ };
69
+
52
70
  /**
53
71
  * Wait for the user operation to be mined.
54
72
  * @param args - The options and user operation hash
@@ -266,17 +284,25 @@ async function populateUserOp_v0_7(args: {
266
284
  maxPriorityFeePerGas,
267
285
  } = args;
268
286
  const { chain, client } = bundlerOptions;
269
- const factory = isDeployed ? undefined : factoryContract.address;
270
- const factoryData = isDeployed
271
- ? "0x"
272
- : await encode(
273
- prepareCreateAccount({
274
- factoryContract: factoryContract,
275
- adminAddress,
276
- accountSalt: overrides?.accountSalt,
277
- createAccountOverride: overrides?.createAccount,
278
- }),
279
- );
287
+
288
+ let factory: string | undefined;
289
+ let factoryData: Hex;
290
+ // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
291
+ if (isDeployed || isAccountDeploying(accountContract)) {
292
+ factoryData = "0x";
293
+ await waitForAccountDeployed(accountContract);
294
+ } else {
295
+ factory = factoryContract.address;
296
+ factoryData = await encode(
297
+ prepareCreateAccount({
298
+ factoryContract: factoryContract,
299
+ adminAddress,
300
+ accountSalt: overrides?.accountSalt,
301
+ createAccountOverride: overrides?.createAccount,
302
+ }),
303
+ );
304
+ markAccountDeploying(accountContract);
305
+ }
280
306
 
281
307
  const partialOp: UserOperationV07 = {
282
308
  sender: accountContract.address,
@@ -395,14 +421,21 @@ async function populateUserOp_v0_6(args: {
395
421
  maxPriorityFeePerGas,
396
422
  } = args;
397
423
  const { chain, client } = bundlerOptions;
398
- const initCode = isDeployed
399
- ? "0x"
400
- : await getAccountInitCode({
401
- factoryContract: factoryContract,
402
- adminAddress,
403
- accountSalt: overrides?.accountSalt,
404
- createAccountOverride: overrides?.createAccount,
405
- });
424
+ let initCode: Hex;
425
+
426
+ // lock until account is deployed if needed to avoid 'sender already created' errors when sending multiple transactions in parallel
427
+ if (isDeployed || isAccountDeploying(accountContract)) {
428
+ initCode = "0x";
429
+ await waitForAccountDeployed(accountContract);
430
+ } else {
431
+ initCode = await getAccountInitCode({
432
+ factoryContract: factoryContract,
433
+ adminAddress,
434
+ accountSalt: overrides?.accountSalt,
435
+ createAccountOverride: overrides?.createAccount,
436
+ });
437
+ markAccountDeploying(accountContract);
438
+ }
406
439
 
407
440
  const partialOp: UserOperationV06 = {
408
441
  sender: accountContract.address,
@@ -688,3 +721,15 @@ export async function createAndSignUserOp(options: {
688
721
  });
689
722
  return signedUserOp;
690
723
  }
724
+
725
+ async function waitForAccountDeployed(accountContract: ThirdwebContract) {
726
+ const startTime = Date.now();
727
+ while (isAccountDeploying(accountContract)) {
728
+ if (Date.now() - startTime > 60000) {
729
+ throw new Error(
730
+ "Account deployment is taking too long (over 1 minute). Please try again.",
731
+ );
732
+ }
733
+ await new Promise((resolve) => setTimeout(resolve, 500));
734
+ }
735
+ }
@@ -202,5 +202,60 @@ describe.runIf(process.env.TW_SECRET_KEY).sequential(
202
202
  expect(logs.some((l) => l.args.signer === newAdmin.address)).toBe(true);
203
203
  expect(logs.some((l) => l.args.isAdmin)).toBe(true);
204
204
  });
205
+
206
+ it("can execute a 2 tx in parallel", async () => {
207
+ const newSmartWallet = smartWallet({
208
+ chain,
209
+ gasless: true,
210
+ overrides: {
211
+ accountSalt: "test",
212
+ },
213
+ });
214
+ const newSmartAccount = await newSmartWallet.connect({
215
+ client: TEST_CLIENT,
216
+ personalAccount,
217
+ });
218
+ console.log("newSmartAccount", newSmartAccount.address);
219
+ const newSmartAccountContract = getContract({
220
+ address: newSmartAccount.address,
221
+ chain,
222
+ client,
223
+ });
224
+ let isDeployed = await isContractDeployed(newSmartAccountContract);
225
+ expect(isDeployed).toEqual(false);
226
+
227
+ // sending transactions in parallel should deploy the account and not cause errors
228
+ const txs = await Promise.all([
229
+ sendAndConfirmTransaction({
230
+ transaction: claimTo({
231
+ contract,
232
+ quantity: 1n,
233
+ to: newSmartAccount.address,
234
+ tokenId: 0n,
235
+ }),
236
+ account: newSmartAccount,
237
+ }),
238
+ sendAndConfirmTransaction({
239
+ transaction: claimTo({
240
+ contract,
241
+ quantity: 1n,
242
+ to: newSmartAccount.address,
243
+ tokenId: 0n,
244
+ }),
245
+ account: newSmartAccount,
246
+ }),
247
+ ]);
248
+ expect(txs.length).toEqual(2);
249
+ expect(txs.every((t) => t.transactionHash.length === 66)).toBe(true);
250
+
251
+ isDeployed = await isContractDeployed(newSmartAccountContract);
252
+ expect(isDeployed).toEqual(true);
253
+ const balance = await balanceOf({
254
+ contract,
255
+ owner: newSmartAccountContract.address,
256
+ tokenId: 0n,
257
+ });
258
+ expect(balance).toEqual(2n);
259
+ });
205
260
  },
206
261
  );