thirdweb 5.74.0 → 5.75.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 (553) hide show
  1. package/dist/cjs/adapters/ethers5.js +2 -2
  2. package/dist/cjs/adapters/ethers5.js.map +1 -1
  3. package/dist/cjs/adapters/ethers6.js.map +1 -1
  4. package/dist/cjs/auth/verify-hash.js +2 -1
  5. package/dist/cjs/auth/verify-hash.js.map +1 -1
  6. package/dist/cjs/auth/verify-signature.js.map +1 -1
  7. package/dist/cjs/contract/actions/resolve-abi.js +4 -0
  8. package/dist/cjs/contract/actions/resolve-abi.js.map +1 -1
  9. package/dist/cjs/exports/wallets/smart.js +3 -1
  10. package/dist/cjs/exports/wallets/smart.js.map +1 -1
  11. package/dist/cjs/extensions/erc1271/checkContractWalletSignedTypedData.js +6 -2
  12. package/dist/cjs/extensions/erc1271/checkContractWalletSignedTypedData.js.map +1 -1
  13. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js +27 -0
  14. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js.map +1 -0
  15. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js +27 -0
  16. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js.map +1 -0
  17. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js +71 -0
  18. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js.map +1 -0
  19. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js +132 -0
  20. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js.map +1 -0
  21. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js +121 -0
  22. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js.map +1 -0
  23. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js +114 -0
  24. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js.map +1 -0
  25. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js +114 -0
  26. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js.map +1 -0
  27. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/execute.js +127 -0
  28. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/execute.js.map +1 -0
  29. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js +132 -0
  30. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js.map +1 -0
  31. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js +139 -0
  32. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js.map +1 -0
  33. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js +139 -0
  34. package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js.map +1 -0
  35. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js +32 -0
  36. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js.map +1 -0
  37. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js +31 -0
  38. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js.map +1 -0
  39. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js +70 -0
  40. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js.map +1 -0
  41. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js +70 -0
  42. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js.map +1 -0
  43. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js +122 -0
  44. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js.map +1 -0
  45. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js +71 -0
  46. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js.map +1 -0
  47. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js +71 -0
  48. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js.map +1 -0
  49. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js +117 -0
  50. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js.map +1 -0
  51. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js +157 -0
  52. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js.map +1 -0
  53. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js +51 -0
  54. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js.map +1 -0
  55. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js +117 -0
  56. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js.map +1 -0
  57. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js +51 -0
  58. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js.map +1 -0
  59. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js +117 -0
  60. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js.map +1 -0
  61. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js +139 -0
  62. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js.map +1 -0
  63. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js +117 -0
  64. package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js.map +1 -0
  65. package/dist/cjs/extensions/marketplace/direct-listings/write/buyFromListing.js +6 -0
  66. package/dist/cjs/extensions/marketplace/direct-listings/write/buyFromListing.js.map +1 -1
  67. package/dist/cjs/extensions/pack/createNewPack.js +1 -0
  68. package/dist/cjs/extensions/pack/createNewPack.js.map +1 -1
  69. package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js +1 -0
  70. package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
  71. package/dist/cjs/react/web/ui/prebuilt/Account/balance.js +1 -0
  72. package/dist/cjs/react/web/ui/prebuilt/Account/balance.js.map +1 -1
  73. package/dist/cjs/react/web/ui/prebuilt/Account/name.js +1 -0
  74. package/dist/cjs/react/web/ui/prebuilt/Account/name.js.map +1 -1
  75. package/dist/cjs/react/web/utils/usePreloadWalletProviders.js +1 -1
  76. package/dist/cjs/react/web/utils/usePreloadWalletProviders.js.map +1 -1
  77. package/dist/cjs/transaction/actions/estimate-gas.js.map +1 -1
  78. package/dist/cjs/transaction/actions/gasless/providers/biconomy.js.map +1 -1
  79. package/dist/cjs/transaction/actions/gasless/providers/engine.js.map +1 -1
  80. package/dist/cjs/transaction/actions/gasless/providers/openzeppelin.js.map +1 -1
  81. package/dist/cjs/transaction/actions/sign-transaction.js +4 -7
  82. package/dist/cjs/transaction/actions/sign-transaction.js.map +1 -1
  83. package/dist/cjs/transaction/actions/to-serializable-transaction.js.map +1 -1
  84. package/dist/cjs/transaction/actions/zksync/getEip721Domain.js.map +1 -1
  85. package/dist/cjs/transaction/serialize-transaction.js +76 -9
  86. package/dist/cjs/transaction/serialize-transaction.js.map +1 -1
  87. package/dist/cjs/utils/any-evm/keyless-transaction.js +25 -4
  88. package/dist/cjs/utils/any-evm/keyless-transaction.js.map +1 -1
  89. package/dist/cjs/utils/hashing/hashMessage.js +2 -2
  90. package/dist/cjs/utils/hashing/hashMessage.js.map +1 -1
  91. package/dist/cjs/utils/hashing/hashTypedData.js +8 -6
  92. package/dist/cjs/utils/hashing/hashTypedData.js.map +1 -1
  93. package/dist/cjs/utils/signatures/helpers/{parseTypedData.js → parse-typed-data.js} +4 -4
  94. package/dist/cjs/utils/signatures/helpers/parse-typed-data.js.map +1 -0
  95. package/dist/cjs/utils/signatures/sign-message.js +12 -6
  96. package/dist/cjs/utils/signatures/sign-message.js.map +1 -1
  97. package/dist/cjs/utils/signatures/sign-typed-data.js +11 -8
  98. package/dist/cjs/utils/signatures/sign-typed-data.js.map +1 -1
  99. package/dist/cjs/utils/signatures/sign.js +4 -4
  100. package/dist/cjs/utils/signatures/sign.js.map +1 -1
  101. package/dist/cjs/utils/signatures/signature-to-hex.js +17 -10
  102. package/dist/cjs/utils/signatures/signature-to-hex.js.map +1 -1
  103. package/dist/cjs/utils/types.js +5 -0
  104. package/dist/cjs/utils/types.js.map +1 -1
  105. package/dist/cjs/version.js +1 -1
  106. package/dist/cjs/wallets/coinbase/{coinbaseMobileSDK.js → coinbase-mobile.js} +1 -1
  107. package/dist/cjs/wallets/coinbase/coinbase-mobile.js.map +1 -0
  108. package/dist/cjs/wallets/coinbase/coinbase-wallet.js +2 -2
  109. package/dist/cjs/wallets/coinbase/coinbase-wallet.js.map +1 -1
  110. package/dist/cjs/wallets/coinbase/{coinbaseWebSDK.js → coinbase-web.js} +11 -11
  111. package/dist/cjs/wallets/coinbase/coinbase-web.js.map +1 -0
  112. package/dist/cjs/wallets/create-wallet.js +2 -2
  113. package/dist/cjs/wallets/create-wallet.js.map +1 -1
  114. package/dist/cjs/wallets/eip5792/get-calls-status.js +3 -3
  115. package/dist/cjs/wallets/eip5792/get-calls-status.js.map +1 -1
  116. package/dist/cjs/wallets/eip5792/get-capabilities.js +3 -3
  117. package/dist/cjs/wallets/eip5792/get-capabilities.js.map +1 -1
  118. package/dist/cjs/wallets/eip5792/send-calls.js +3 -3
  119. package/dist/cjs/wallets/eip5792/send-calls.js.map +1 -1
  120. package/dist/cjs/wallets/eip5792/show-calls-status.js +3 -3
  121. package/dist/cjs/wallets/eip5792/show-calls-status.js.map +1 -1
  122. package/dist/cjs/wallets/in-app/core/actions/sign-typed-data.enclave.js.map +1 -1
  123. package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js +2 -2
  124. package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
  125. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js +3 -3
  126. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  127. package/dist/cjs/wallets/injected/index.js +2 -2
  128. package/dist/cjs/wallets/injected/index.js.map +1 -1
  129. package/dist/cjs/wallets/native/create-wallet.js +2 -2
  130. package/dist/cjs/wallets/native/create-wallet.js.map +1 -1
  131. package/dist/cjs/wallets/private-key.js +2 -5
  132. package/dist/cjs/wallets/private-key.js.map +1 -1
  133. package/dist/cjs/wallets/smart/index.js +26 -160
  134. package/dist/cjs/wallets/smart/index.js.map +1 -1
  135. package/dist/cjs/wallets/smart/lib/bundler.js +1 -1
  136. package/dist/cjs/wallets/smart/lib/bundler.js.map +1 -1
  137. package/dist/cjs/wallets/smart/lib/calls.js +2 -2
  138. package/dist/cjs/wallets/smart/lib/calls.js.map +1 -1
  139. package/dist/cjs/wallets/smart/lib/paymaster.js +7 -6
  140. package/dist/cjs/wallets/smart/lib/paymaster.js.map +1 -1
  141. package/dist/cjs/wallets/smart/lib/signing.js +166 -0
  142. package/dist/cjs/wallets/smart/lib/signing.js.map +1 -0
  143. package/dist/cjs/wallets/smart/lib/userop.js +1 -1
  144. package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
  145. package/dist/cjs/wallets/smart/presets/7579.js +218 -0
  146. package/dist/cjs/wallets/smart/presets/7579.js.map +1 -0
  147. package/dist/cjs/wallets/smart/presets/index.js +6 -0
  148. package/dist/cjs/wallets/smart/presets/index.js.map +1 -0
  149. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  150. package/dist/cjs/wallets/smart/types.js.map +1 -1
  151. package/dist/cjs/wallets/wallet-connect/controller.js +2 -2
  152. package/dist/cjs/wallets/wallet-connect/controller.js.map +1 -1
  153. package/dist/esm/adapters/ethers5.js +2 -2
  154. package/dist/esm/adapters/ethers5.js.map +1 -1
  155. package/dist/esm/adapters/ethers6.js.map +1 -1
  156. package/dist/esm/auth/verify-hash.js +2 -1
  157. package/dist/esm/auth/verify-hash.js.map +1 -1
  158. package/dist/esm/auth/verify-signature.js.map +1 -1
  159. package/dist/esm/contract/actions/resolve-abi.js +4 -0
  160. package/dist/esm/contract/actions/resolve-abi.js.map +1 -1
  161. package/dist/esm/exports/wallets/smart.js +2 -0
  162. package/dist/esm/exports/wallets/smart.js.map +1 -1
  163. package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js +6 -2
  164. package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js.map +1 -1
  165. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js +24 -0
  166. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js.map +1 -0
  167. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js +24 -0
  168. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js.map +1 -0
  169. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js +65 -0
  170. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js.map +1 -0
  171. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js +124 -0
  172. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js.map +1 -0
  173. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js +113 -0
  174. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js.map +1 -0
  175. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js +106 -0
  176. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js.map +1 -0
  177. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js +106 -0
  178. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js.map +1 -0
  179. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/execute.js +120 -0
  180. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/execute.js.map +1 -0
  181. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js +125 -0
  182. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js.map +1 -0
  183. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js +132 -0
  184. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js.map +1 -0
  185. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js +132 -0
  186. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js.map +1 -0
  187. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js +29 -0
  188. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js.map +1 -0
  189. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js +28 -0
  190. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js.map +1 -0
  191. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js +64 -0
  192. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js.map +1 -0
  193. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js +64 -0
  194. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js.map +1 -0
  195. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js +114 -0
  196. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js.map +1 -0
  197. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js +65 -0
  198. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js.map +1 -0
  199. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js +65 -0
  200. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js.map +1 -0
  201. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js +110 -0
  202. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js.map +1 -0
  203. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js +150 -0
  204. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js.map +1 -0
  205. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js +46 -0
  206. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js.map +1 -0
  207. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js +110 -0
  208. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js.map +1 -0
  209. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js +46 -0
  210. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js.map +1 -0
  211. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js +110 -0
  212. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js.map +1 -0
  213. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js +132 -0
  214. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js.map +1 -0
  215. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js +110 -0
  216. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js.map +1 -0
  217. package/dist/esm/extensions/marketplace/direct-listings/write/buyFromListing.js +6 -0
  218. package/dist/esm/extensions/marketplace/direct-listings/write/buyFromListing.js.map +1 -1
  219. package/dist/esm/extensions/pack/createNewPack.js +1 -0
  220. package/dist/esm/extensions/pack/createNewPack.js.map +1 -1
  221. package/dist/esm/react/web/ui/prebuilt/Account/avatar.js +1 -0
  222. package/dist/esm/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
  223. package/dist/esm/react/web/ui/prebuilt/Account/balance.js +1 -0
  224. package/dist/esm/react/web/ui/prebuilt/Account/balance.js.map +1 -1
  225. package/dist/esm/react/web/ui/prebuilt/Account/name.js +1 -0
  226. package/dist/esm/react/web/ui/prebuilt/Account/name.js.map +1 -1
  227. package/dist/esm/react/web/utils/usePreloadWalletProviders.js +1 -1
  228. package/dist/esm/react/web/utils/usePreloadWalletProviders.js.map +1 -1
  229. package/dist/esm/transaction/actions/estimate-gas.js +3 -3
  230. package/dist/esm/transaction/actions/estimate-gas.js.map +1 -1
  231. package/dist/esm/transaction/actions/gasless/providers/biconomy.js.map +1 -1
  232. package/dist/esm/transaction/actions/gasless/providers/engine.js.map +1 -1
  233. package/dist/esm/transaction/actions/gasless/providers/openzeppelin.js.map +1 -1
  234. package/dist/esm/transaction/actions/sign-transaction.js +5 -8
  235. package/dist/esm/transaction/actions/sign-transaction.js.map +1 -1
  236. package/dist/esm/transaction/actions/to-serializable-transaction.js.map +1 -1
  237. package/dist/esm/transaction/actions/zksync/getEip721Domain.js.map +1 -1
  238. package/dist/esm/transaction/serialize-transaction.js +76 -9
  239. package/dist/esm/transaction/serialize-transaction.js.map +1 -1
  240. package/dist/esm/utils/any-evm/keyless-transaction.js +26 -5
  241. package/dist/esm/utils/any-evm/keyless-transaction.js.map +1 -1
  242. package/dist/esm/utils/hashing/hashMessage.js +2 -2
  243. package/dist/esm/utils/hashing/hashMessage.js.map +1 -1
  244. package/dist/esm/utils/hashing/hashTypedData.js +8 -6
  245. package/dist/esm/utils/hashing/hashTypedData.js.map +1 -1
  246. package/dist/esm/utils/signatures/helpers/parse-typed-data.js +15 -0
  247. package/dist/esm/utils/signatures/helpers/parse-typed-data.js.map +1 -0
  248. package/dist/esm/utils/signatures/sign-message.js +12 -6
  249. package/dist/esm/utils/signatures/sign-message.js.map +1 -1
  250. package/dist/esm/utils/signatures/sign-typed-data.js +11 -8
  251. package/dist/esm/utils/signatures/sign-typed-data.js.map +1 -1
  252. package/dist/esm/utils/signatures/sign.js +4 -4
  253. package/dist/esm/utils/signatures/sign.js.map +1 -1
  254. package/dist/esm/utils/signatures/signature-to-hex.js +17 -10
  255. package/dist/esm/utils/signatures/signature-to-hex.js.map +1 -1
  256. package/dist/esm/utils/types.js +4 -1
  257. package/dist/esm/utils/types.js.map +1 -1
  258. package/dist/esm/version.js +1 -1
  259. package/dist/esm/wallets/coinbase/{coinbaseMobileSDK.js → coinbase-mobile.js} +1 -1
  260. package/dist/esm/wallets/coinbase/coinbase-mobile.js.map +1 -0
  261. package/dist/esm/wallets/coinbase/coinbase-wallet.js +2 -2
  262. package/dist/esm/wallets/coinbase/coinbase-wallet.js.map +1 -1
  263. package/dist/esm/wallets/coinbase/{coinbaseWebSDK.js → coinbase-web.js} +11 -11
  264. package/dist/esm/wallets/coinbase/coinbase-web.js.map +1 -0
  265. package/dist/esm/wallets/create-wallet.js +1 -1
  266. package/dist/esm/wallets/create-wallet.js.map +1 -1
  267. package/dist/esm/wallets/eip5792/get-calls-status.js +2 -2
  268. package/dist/esm/wallets/eip5792/get-calls-status.js.map +1 -1
  269. package/dist/esm/wallets/eip5792/get-capabilities.js +2 -2
  270. package/dist/esm/wallets/eip5792/get-capabilities.js.map +1 -1
  271. package/dist/esm/wallets/eip5792/send-calls.js +2 -2
  272. package/dist/esm/wallets/eip5792/send-calls.js.map +1 -1
  273. package/dist/esm/wallets/eip5792/show-calls-status.js +2 -2
  274. package/dist/esm/wallets/eip5792/show-calls-status.js.map +1 -1
  275. package/dist/esm/wallets/in-app/core/actions/sign-typed-data.enclave.js.map +1 -1
  276. package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js +1 -1
  277. package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
  278. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js +2 -2
  279. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  280. package/dist/esm/wallets/injected/index.js +1 -1
  281. package/dist/esm/wallets/injected/index.js.map +1 -1
  282. package/dist/esm/wallets/native/create-wallet.js +1 -1
  283. package/dist/esm/wallets/native/create-wallet.js.map +1 -1
  284. package/dist/esm/wallets/private-key.js +2 -5
  285. package/dist/esm/wallets/private-key.js.map +1 -1
  286. package/dist/esm/wallets/smart/index.js +24 -158
  287. package/dist/esm/wallets/smart/index.js.map +1 -1
  288. package/dist/esm/wallets/smart/lib/bundler.js +1 -1
  289. package/dist/esm/wallets/smart/lib/bundler.js.map +1 -1
  290. package/dist/esm/wallets/smart/lib/calls.js +2 -2
  291. package/dist/esm/wallets/smart/lib/calls.js.map +1 -1
  292. package/dist/esm/wallets/smart/lib/paymaster.js +7 -6
  293. package/dist/esm/wallets/smart/lib/paymaster.js.map +1 -1
  294. package/dist/esm/wallets/smart/lib/signing.js +161 -0
  295. package/dist/esm/wallets/smart/lib/signing.js.map +1 -0
  296. package/dist/esm/wallets/smart/lib/userop.js +1 -1
  297. package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
  298. package/dist/esm/wallets/smart/presets/7579.js +215 -0
  299. package/dist/esm/wallets/smart/presets/7579.js.map +1 -0
  300. package/dist/esm/wallets/smart/presets/index.js +2 -0
  301. package/dist/esm/wallets/smart/presets/index.js.map +1 -0
  302. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  303. package/dist/esm/wallets/smart/types.js.map +1 -1
  304. package/dist/esm/wallets/wallet-connect/controller.js +1 -1
  305. package/dist/esm/wallets/wallet-connect/controller.js.map +1 -1
  306. package/dist/types/adapters/ethers5.d.ts.map +1 -1
  307. package/dist/types/adapters/ethers6.d.ts.map +1 -1
  308. package/dist/types/auth/verify-hash.d.ts.map +1 -1
  309. package/dist/types/auth/verify-signature.d.ts +2 -2
  310. package/dist/types/auth/verify-signature.d.ts.map +1 -1
  311. package/dist/types/contract/actions/resolve-abi.d.ts.map +1 -1
  312. package/dist/types/exports/wallets/smart.d.ts +1 -0
  313. package/dist/types/exports/wallets/smart.d.ts.map +1 -1
  314. package/dist/types/exports/wallets.d.ts +1 -1
  315. package/dist/types/exports/wallets.d.ts.map +1 -1
  316. package/dist/types/exports/wallets.native.d.ts +1 -1
  317. package/dist/types/exports/wallets.native.d.ts.map +1 -1
  318. package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts +4 -4
  319. package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts.map +1 -1
  320. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.d.ts +29 -0
  321. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.d.ts.map +1 -0
  322. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.d.ts +29 -0
  323. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.d.ts.map +1 -0
  324. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/accountId.d.ts +44 -0
  325. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/accountId.d.ts.map +1 -0
  326. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.d.ts +97 -0
  327. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.d.ts.map +1 -0
  328. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.d.ts +90 -0
  329. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.d.ts.map +1 -0
  330. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.d.ts +83 -0
  331. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.d.ts.map +1 -0
  332. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.d.ts +83 -0
  333. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.d.ts.map +1 -0
  334. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/execute.d.ts +86 -0
  335. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/execute.d.ts.map +1 -0
  336. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.d.ts +86 -0
  337. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.d.ts.map +1 -0
  338. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/installModule.d.ts +93 -0
  339. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/installModule.d.ts.map +1 -0
  340. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.d.ts +93 -0
  341. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.d.ts.map +1 -0
  342. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.d.ts +51 -0
  343. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.d.ts.map +1 -0
  344. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.d.ts +41 -0
  345. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.d.ts.map +1 -0
  346. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.d.ts +44 -0
  347. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.d.ts.map +1 -0
  348. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.d.ts +44 -0
  349. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.d.ts.map +1 -0
  350. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.d.ts +90 -0
  351. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.d.ts.map +1 -0
  352. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.d.ts +44 -0
  353. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.d.ts.map +1 -0
  354. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.d.ts +44 -0
  355. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.d.ts.map +1 -0
  356. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.d.ts +79 -0
  357. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.d.ts.map +1 -0
  358. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.d.ts +107 -0
  359. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.d.ts.map +1 -0
  360. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.d.ts +33 -0
  361. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.d.ts.map +1 -0
  362. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.d.ts +79 -0
  363. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.d.ts.map +1 -0
  364. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.d.ts +33 -0
  365. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.d.ts.map +1 -0
  366. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.d.ts +79 -0
  367. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.d.ts.map +1 -0
  368. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.d.ts +93 -0
  369. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.d.ts.map +1 -0
  370. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.d.ts +79 -0
  371. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.d.ts.map +1 -0
  372. package/dist/types/extensions/marketplace/direct-listings/write/buyFromListing.d.ts.map +1 -1
  373. package/dist/types/extensions/pack/createNewPack.d.ts.map +1 -1
  374. package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts.map +1 -1
  375. package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts.map +1 -1
  376. package/dist/types/react/web/ui/prebuilt/Account/name.d.ts.map +1 -1
  377. package/dist/types/transaction/actions/gasless/providers/biconomy.d.ts +2 -2
  378. package/dist/types/transaction/actions/gasless/providers/biconomy.d.ts.map +1 -1
  379. package/dist/types/transaction/actions/gasless/providers/engine.d.ts +2 -2
  380. package/dist/types/transaction/actions/gasless/providers/engine.d.ts.map +1 -1
  381. package/dist/types/transaction/actions/gasless/providers/openzeppelin.d.ts +2 -2
  382. package/dist/types/transaction/actions/gasless/providers/openzeppelin.d.ts.map +1 -1
  383. package/dist/types/transaction/actions/gasless/send-gasless-transaction.d.ts +2 -2
  384. package/dist/types/transaction/actions/gasless/send-gasless-transaction.d.ts.map +1 -1
  385. package/dist/types/transaction/actions/sign-transaction.d.ts +2 -2
  386. package/dist/types/transaction/actions/sign-transaction.d.ts.map +1 -1
  387. package/dist/types/transaction/actions/to-serializable-transaction.d.ts.map +1 -1
  388. package/dist/types/transaction/actions/zksync/getEip721Domain.d.ts +2 -2
  389. package/dist/types/transaction/actions/zksync/getEip721Domain.d.ts.map +1 -1
  390. package/dist/types/transaction/serialize-transaction.d.ts +24 -4
  391. package/dist/types/transaction/serialize-transaction.d.ts.map +1 -1
  392. package/dist/types/utils/any-evm/keyless-transaction.d.ts +6 -4
  393. package/dist/types/utils/any-evm/keyless-transaction.d.ts.map +1 -1
  394. package/dist/types/utils/hashing/hashMessage.d.ts +3 -2
  395. package/dist/types/utils/hashing/hashMessage.d.ts.map +1 -1
  396. package/dist/types/utils/hashing/hashTypedData.d.ts +3 -3
  397. package/dist/types/utils/hashing/hashTypedData.d.ts.map +1 -1
  398. package/dist/types/utils/signatures/helpers/parse-typed-data.d.ts +6 -0
  399. package/dist/types/utils/signatures/helpers/parse-typed-data.d.ts.map +1 -0
  400. package/dist/types/utils/signatures/sign-message.d.ts.map +1 -1
  401. package/dist/types/utils/signatures/sign-typed-data.d.ts +3 -4
  402. package/dist/types/utils/signatures/sign-typed-data.d.ts.map +1 -1
  403. package/dist/types/utils/signatures/sign.d.ts +6 -2
  404. package/dist/types/utils/signatures/sign.d.ts.map +1 -1
  405. package/dist/types/utils/signatures/signature-to-hex.d.ts +7 -3
  406. package/dist/types/utils/signatures/signature-to-hex.d.ts.map +1 -1
  407. package/dist/types/utils/types.d.ts +13 -0
  408. package/dist/types/utils/types.d.ts.map +1 -1
  409. package/dist/types/version.d.ts +1 -1
  410. package/dist/types/wallets/coinbase/{coinbaseMobileSDK.d.ts → coinbase-mobile.d.ts} +2 -2
  411. package/dist/types/wallets/coinbase/coinbase-mobile.d.ts.map +1 -0
  412. package/dist/types/wallets/coinbase/{coinbaseWebSDK.d.ts → coinbase-web.d.ts} +1 -1
  413. package/dist/types/wallets/coinbase/coinbase-web.d.ts.map +1 -0
  414. package/dist/types/wallets/in-app/core/actions/sign-typed-data.enclave.d.ts +3 -4
  415. package/dist/types/wallets/in-app/core/actions/sign-typed-data.enclave.d.ts.map +1 -1
  416. package/dist/types/wallets/interfaces/wallet.d.ts +6 -4
  417. package/dist/types/wallets/interfaces/wallet.d.ts.map +1 -1
  418. package/dist/types/wallets/private-key.d.ts.map +1 -1
  419. package/dist/types/wallets/smart/index.d.ts +3 -2
  420. package/dist/types/wallets/smart/index.d.ts.map +1 -1
  421. package/dist/types/wallets/smart/lib/bundler.d.ts +3 -3
  422. package/dist/types/wallets/smart/lib/bundler.d.ts.map +1 -1
  423. package/dist/types/wallets/smart/lib/calls.d.ts +2 -2
  424. package/dist/types/wallets/smart/lib/calls.d.ts.map +1 -1
  425. package/dist/types/wallets/smart/lib/paymaster.d.ts.map +1 -1
  426. package/dist/types/wallets/smart/lib/signing.d.ts +20 -0
  427. package/dist/types/wallets/smart/lib/signing.d.ts.map +1 -0
  428. package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
  429. package/dist/types/wallets/smart/presets/7579.d.ts +34 -0
  430. package/dist/types/wallets/smart/presets/7579.d.ts.map +1 -0
  431. package/dist/types/wallets/smart/presets/index.d.ts +2 -0
  432. package/dist/types/wallets/smart/presets/index.d.ts.map +1 -0
  433. package/dist/types/wallets/smart/smart-wallet.d.ts +2 -2
  434. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  435. package/dist/types/wallets/smart/types.d.ts +23 -9
  436. package/dist/types/wallets/smart/types.d.ts.map +1 -1
  437. package/dist/types/wallets/wallet-types.d.ts +1 -1
  438. package/dist/types/wallets/wallet-types.d.ts.map +1 -1
  439. package/package.json +23 -23
  440. package/src/adapters/ethers5.test.ts +92 -0
  441. package/src/adapters/ethers5.ts +6 -5
  442. package/src/adapters/ethers6.ts +3 -2
  443. package/src/adapters/viem.test.ts +5 -4
  444. package/src/auth/verify-hash.ts +2 -1
  445. package/src/auth/verify-signature.ts +2 -2
  446. package/src/contract/actions/resolve-abi.ts +6 -0
  447. package/src/exports/wallets/smart.ts +3 -0
  448. package/src/exports/wallets.native.ts +1 -1
  449. package/src/exports/wallets.ts +1 -1
  450. package/src/extensions/erc1271/checkContractWalletSignedTypedData.ts +9 -5
  451. package/src/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.ts +24 -0
  452. package/src/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.ts +24 -0
  453. package/src/extensions/erc7579/__generated__/IERC7579Account/read/accountId.ts +71 -0
  454. package/src/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.ts +153 -0
  455. package/src/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.ts +133 -0
  456. package/src/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.ts +132 -0
  457. package/src/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.ts +128 -0
  458. package/src/extensions/erc7579/__generated__/IERC7579Account/write/execute.ts +149 -0
  459. package/src/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.ts +158 -0
  460. package/src/extensions/erc7579/__generated__/IERC7579Account/write/installModule.ts +164 -0
  461. package/src/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.ts +167 -0
  462. package/src/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.ts +49 -0
  463. package/src/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.ts +40 -0
  464. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.ts +70 -0
  465. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.ts +70 -0
  466. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.ts +134 -0
  467. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.ts +71 -0
  468. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.ts +71 -0
  469. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.ts +138 -0
  470. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.ts +193 -0
  471. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.ts +50 -0
  472. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.ts +139 -0
  473. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.ts +50 -0
  474. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.ts +140 -0
  475. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.ts +159 -0
  476. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.ts +137 -0
  477. package/src/extensions/marketplace/direct-listings/direct-listings.test.ts +74 -14
  478. package/src/extensions/marketplace/direct-listings/write/buyFromListing.ts +6 -0
  479. package/src/extensions/pack/createNewPack.ts +1 -0
  480. package/src/react/web/ui/prebuilt/Account/avatar.tsx +1 -0
  481. package/src/react/web/ui/prebuilt/Account/balance.tsx +1 -0
  482. package/src/react/web/ui/prebuilt/Account/name.tsx +1 -0
  483. package/src/react/web/utils/usePreloadWalletProviders.ts +1 -1
  484. package/src/transaction/actions/estimate-gas.ts +3 -3
  485. package/src/transaction/actions/gasless/providers/biconomy.ts +3 -2
  486. package/src/transaction/actions/gasless/providers/engine.ts +2 -2
  487. package/src/transaction/actions/gasless/providers/openzeppelin.ts +2 -2
  488. package/src/transaction/actions/gasless/send-gasless-transaction.ts +2 -2
  489. package/src/transaction/actions/sign-transaction.test.ts +8 -15
  490. package/src/transaction/actions/sign-transaction.ts +9 -11
  491. package/src/transaction/actions/to-serializable-transaction.ts +2 -2
  492. package/src/transaction/actions/zksync/getEip721Domain.ts +2 -2
  493. package/src/transaction/serialize-transaction.test.ts +135 -229
  494. package/src/transaction/serialize-transaction.ts +131 -22
  495. package/src/utils/any-evm/keyless-transaction.test.ts +91 -0
  496. package/src/utils/any-evm/keyless-transaction.ts +43 -14
  497. package/src/utils/hashing/hashMessage.ts +4 -3
  498. package/src/utils/hashing/hashTypedData.ts +24 -27
  499. package/src/utils/signatures/helpers/parse-typed-data.test.ts +56 -0
  500. package/src/utils/signatures/helpers/parse-typed-data.ts +29 -0
  501. package/src/utils/signatures/sign-message.ts +15 -6
  502. package/src/utils/signatures/sign-typed-data.ts +18 -12
  503. package/src/utils/signatures/sign.ts +5 -6
  504. package/src/utils/signatures/signature-to-hex.ts +29 -13
  505. package/src/utils/types.ts +17 -0
  506. package/src/version.ts +1 -1
  507. package/src/wallets/coinbase/coinbase-mobile.test.ts +69 -0
  508. package/src/wallets/coinbase/{coinbaseMobileSDK.ts → coinbase-mobile.ts} +1 -1
  509. package/src/wallets/coinbase/coinbase-wallet.ts +2 -2
  510. package/src/wallets/coinbase/coinbase-web.test.ts +176 -0
  511. package/src/wallets/coinbase/{coinbaseWebSDK.ts → coinbase-web.ts} +13 -17
  512. package/src/wallets/create-wallet.ts +1 -1
  513. package/src/wallets/eip5792/get-calls-status.ts +2 -2
  514. package/src/wallets/eip5792/get-capabilities.ts +2 -2
  515. package/src/wallets/eip5792/send-calls.ts +2 -2
  516. package/src/wallets/eip5792/show-calls-status.ts +2 -2
  517. package/src/wallets/in-app/core/actions/sign-typed-data.enclave.ts +3 -4
  518. package/src/wallets/in-app/core/wallet/enclave-wallet.ts +1 -1
  519. package/src/wallets/in-app/web/lib/iframe-wallet.ts +2 -2
  520. package/src/wallets/injected/index.ts +1 -1
  521. package/src/wallets/interfaces/wallet.ts +7 -11
  522. package/src/wallets/native/create-wallet.ts +1 -1
  523. package/src/wallets/private-key.ts +16 -14
  524. package/src/wallets/smart/index.ts +31 -218
  525. package/src/wallets/smart/lib/bundler.ts +5 -4
  526. package/src/wallets/smart/lib/calls.ts +4 -2
  527. package/src/wallets/smart/lib/paymaster.ts +8 -6
  528. package/src/wallets/smart/lib/signing.ts +231 -0
  529. package/src/wallets/smart/lib/userop.ts +3 -2
  530. package/src/wallets/smart/presets/7579.ts +269 -0
  531. package/src/wallets/smart/presets/index.ts +1 -0
  532. package/src/wallets/smart/smart-wallet-dev.test.ts +5 -4
  533. package/src/wallets/smart/smart-wallet-integration-v07.test.ts +299 -0
  534. package/src/wallets/smart/smart-wallet-integration.test.ts +399 -0
  535. package/src/wallets/smart/smart-wallet-modular.test.ts +134 -0
  536. package/src/wallets/smart/smart-wallet.ts +3 -5
  537. package/src/wallets/smart/smart.test.ts +87 -0
  538. package/src/wallets/smart/types.ts +31 -8
  539. package/src/wallets/wallet-connect/controller.ts +1 -1
  540. package/src/wallets/wallet-connect/receiver/session-request.test.ts +5 -5
  541. package/src/wallets/wallet-types.ts +1 -1
  542. package/dist/cjs/utils/signatures/helpers/parseTypedData.js.map +0 -1
  543. package/dist/cjs/wallets/coinbase/coinbaseMobileSDK.js.map +0 -1
  544. package/dist/cjs/wallets/coinbase/coinbaseWebSDK.js.map +0 -1
  545. package/dist/esm/utils/signatures/helpers/parseTypedData.js +0 -15
  546. package/dist/esm/utils/signatures/helpers/parseTypedData.js.map +0 -1
  547. package/dist/esm/wallets/coinbase/coinbaseMobileSDK.js.map +0 -1
  548. package/dist/esm/wallets/coinbase/coinbaseWebSDK.js.map +0 -1
  549. package/dist/types/utils/signatures/helpers/parseTypedData.d.ts +0 -7
  550. package/dist/types/utils/signatures/helpers/parseTypedData.d.ts.map +0 -1
  551. package/dist/types/wallets/coinbase/coinbaseMobileSDK.d.ts.map +0 -1
  552. package/dist/types/wallets/coinbase/coinbaseWebSDK.d.ts.map +0 -1
  553. package/src/utils/signatures/helpers/parseTypedData.ts +0 -25
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isIsValidSignatureSupported = isIsValidSignatureSupported;
5
+ exports.encodeIsValidSignatureParams = encodeIsValidSignatureParams;
6
+ exports.encodeIsValidSignature = encodeIsValidSignature;
7
+ exports.decodeIsValidSignatureResult = decodeIsValidSignatureResult;
8
+ exports.isValidSignature = isValidSignature;
9
+ const read_contract_js_1 = require("../../../../../transaction/read-contract.js");
10
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
11
+ const viem_1 = require("viem");
12
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
13
+ exports.FN_SELECTOR = "0x1626ba7e";
14
+ const FN_INPUTS = [
15
+ {
16
+ type: "bytes32",
17
+ name: "hash",
18
+ },
19
+ {
20
+ type: "bytes",
21
+ name: "data",
22
+ },
23
+ ];
24
+ const FN_OUTPUTS = [
25
+ {
26
+ type: "bytes4",
27
+ },
28
+ ];
29
+ /**
30
+ * Checks if the `isValidSignature` method is supported by the given contract.
31
+ * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
32
+ * @returns A boolean indicating if the `isValidSignature` method is supported.
33
+ * @extension ERC7579
34
+ * @example
35
+ * ```ts
36
+ * import { isIsValidSignatureSupported } from "thirdweb/extensions/erc7579";
37
+ * const supported = isIsValidSignatureSupported(["0x..."]);
38
+ * ```
39
+ */
40
+ function isIsValidSignatureSupported(availableSelectors) {
41
+ return (0, detectExtension_js_1.detectMethod)({
42
+ availableSelectors,
43
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
44
+ });
45
+ }
46
+ /**
47
+ * Encodes the parameters for the "isValidSignature" function.
48
+ * @param options - The options for the isValidSignature function.
49
+ * @returns The encoded ABI parameters.
50
+ * @extension ERC7579
51
+ * @example
52
+ * ```ts
53
+ * import { encodeIsValidSignatureParams } from "thirdweb/extensions/erc7579";
54
+ * const result = encodeIsValidSignatureParams({
55
+ * hash: ...,
56
+ * data: ...,
57
+ * });
58
+ * ```
59
+ */
60
+ function encodeIsValidSignatureParams(options) {
61
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [options.hash, options.data]);
62
+ }
63
+ /**
64
+ * Encodes the "isValidSignature" function into a Hex string with its parameters.
65
+ * @param options - The options for the isValidSignature function.
66
+ * @returns The encoded hexadecimal string.
67
+ * @extension ERC7579
68
+ * @example
69
+ * ```ts
70
+ * import { encodeIsValidSignature } from "thirdweb/extensions/erc7579";
71
+ * const result = encodeIsValidSignature({
72
+ * hash: ...,
73
+ * data: ...,
74
+ * });
75
+ * ```
76
+ */
77
+ function encodeIsValidSignature(options) {
78
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
79
+ // we can do this because we know the specific formats of the values
80
+ return (exports.FN_SELECTOR +
81
+ encodeIsValidSignatureParams(options).slice(2));
82
+ }
83
+ /**
84
+ * Decodes the result of the isValidSignature function call.
85
+ * @param result - The hexadecimal result to decode.
86
+ * @returns The decoded result as per the FN_OUTPUTS definition.
87
+ * @extension ERC7579
88
+ * @example
89
+ * ```ts
90
+ * import { decodeIsValidSignatureResult } from "thirdweb/extensions/erc7579";
91
+ * const result = decodeIsValidSignatureResultResult("...");
92
+ * ```
93
+ */
94
+ function decodeIsValidSignatureResult(result) {
95
+ return (0, viem_1.decodeAbiParameters)(FN_OUTPUTS, result)[0];
96
+ }
97
+ /**
98
+ * Calls the "isValidSignature" function on the contract.
99
+ * @param options - The options for the isValidSignature function.
100
+ * @returns The parsed result of the function call.
101
+ * @extension ERC7579
102
+ * @example
103
+ * ```ts
104
+ * import { isValidSignature } from "thirdweb/extensions/erc7579";
105
+ *
106
+ * const result = await isValidSignature({
107
+ * contract,
108
+ * hash: ...,
109
+ * data: ...,
110
+ * });
111
+ *
112
+ * ```
113
+ */
114
+ async function isValidSignature(options) {
115
+ return (0, read_contract_js_1.readContract)({
116
+ contract: options.contract,
117
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
118
+ params: [options.hash, options.data],
119
+ });
120
+ }
121
+ //# sourceMappingURL=isValidSignature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidSignature.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.ts"],"names":[],"mappings":";;;AA4CA,kEAKC;AAgBD,oEAEC;AAgBD,wDAOC;AAaD,oEAEC;AAmBD,4CAQC;AAnID,kFAA2E;AAE3E,4FAAsF;AACtF,+BAA2C;AAE3C,yFAAgF;AAUnE,QAAA,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG;IAChB;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,MAAM;KACb;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM;KACb;CACO,CAAC;AACX,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,QAAQ;KACf;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,SAAgB,2BAA2B,CAAC,kBAA4B;IACtE,OAAO,IAAA,iCAAY,EAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,4BAA4B,CAAC,OAA+B;IAC1E,OAAO,IAAA,4CAAmB,EAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,sBAAsB,CAAC,OAA+B;IACpE,iFAAiF;IACjF,oEAAoE;IACpE,OAAO,CAAC,mBAAW;QACjB,4BAA4B,CAAC,OAAO,CAAC,CAAC,KAAK,CACzC,CAAC,CACF,CAAqC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,4BAA4B,CAAC,MAAW;IACtD,OAAO,IAAA,0BAAmB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,gBAAgB,CACpC,OAAuD;IAEvD,OAAO,IAAA,+BAAY,EAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;KACrC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isSupportsExecutionModeSupported = isSupportsExecutionModeSupported;
5
+ exports.encodeSupportsExecutionModeParams = encodeSupportsExecutionModeParams;
6
+ exports.encodeSupportsExecutionMode = encodeSupportsExecutionMode;
7
+ exports.decodeSupportsExecutionModeResult = decodeSupportsExecutionModeResult;
8
+ exports.supportsExecutionMode = supportsExecutionMode;
9
+ const read_contract_js_1 = require("../../../../../transaction/read-contract.js");
10
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
11
+ const viem_1 = require("viem");
12
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
13
+ exports.FN_SELECTOR = "0xd03c7914";
14
+ const FN_INPUTS = [
15
+ {
16
+ type: "bytes32",
17
+ name: "encodedMode",
18
+ },
19
+ ];
20
+ const FN_OUTPUTS = [
21
+ {
22
+ type: "bool",
23
+ },
24
+ ];
25
+ /**
26
+ * Checks if the `supportsExecutionMode` method is supported by the given contract.
27
+ * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
28
+ * @returns A boolean indicating if the `supportsExecutionMode` method is supported.
29
+ * @extension ERC7579
30
+ * @example
31
+ * ```ts
32
+ * import { isSupportsExecutionModeSupported } from "thirdweb/extensions/erc7579";
33
+ * const supported = isSupportsExecutionModeSupported(["0x..."]);
34
+ * ```
35
+ */
36
+ function isSupportsExecutionModeSupported(availableSelectors) {
37
+ return (0, detectExtension_js_1.detectMethod)({
38
+ availableSelectors,
39
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
40
+ });
41
+ }
42
+ /**
43
+ * Encodes the parameters for the "supportsExecutionMode" function.
44
+ * @param options - The options for the supportsExecutionMode function.
45
+ * @returns The encoded ABI parameters.
46
+ * @extension ERC7579
47
+ * @example
48
+ * ```ts
49
+ * import { encodeSupportsExecutionModeParams } from "thirdweb/extensions/erc7579";
50
+ * const result = encodeSupportsExecutionModeParams({
51
+ * encodedMode: ...,
52
+ * });
53
+ * ```
54
+ */
55
+ function encodeSupportsExecutionModeParams(options) {
56
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [options.encodedMode]);
57
+ }
58
+ /**
59
+ * Encodes the "supportsExecutionMode" function into a Hex string with its parameters.
60
+ * @param options - The options for the supportsExecutionMode function.
61
+ * @returns The encoded hexadecimal string.
62
+ * @extension ERC7579
63
+ * @example
64
+ * ```ts
65
+ * import { encodeSupportsExecutionMode } from "thirdweb/extensions/erc7579";
66
+ * const result = encodeSupportsExecutionMode({
67
+ * encodedMode: ...,
68
+ * });
69
+ * ```
70
+ */
71
+ function encodeSupportsExecutionMode(options) {
72
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
73
+ // we can do this because we know the specific formats of the values
74
+ return (exports.FN_SELECTOR +
75
+ encodeSupportsExecutionModeParams(options).slice(2));
76
+ }
77
+ /**
78
+ * Decodes the result of the supportsExecutionMode function call.
79
+ * @param result - The hexadecimal result to decode.
80
+ * @returns The decoded result as per the FN_OUTPUTS definition.
81
+ * @extension ERC7579
82
+ * @example
83
+ * ```ts
84
+ * import { decodeSupportsExecutionModeResult } from "thirdweb/extensions/erc7579";
85
+ * const result = decodeSupportsExecutionModeResultResult("...");
86
+ * ```
87
+ */
88
+ function decodeSupportsExecutionModeResult(result) {
89
+ return (0, viem_1.decodeAbiParameters)(FN_OUTPUTS, result)[0];
90
+ }
91
+ /**
92
+ * Calls the "supportsExecutionMode" function on the contract.
93
+ * @param options - The options for the supportsExecutionMode function.
94
+ * @returns The parsed result of the function call.
95
+ * @extension ERC7579
96
+ * @example
97
+ * ```ts
98
+ * import { supportsExecutionMode } from "thirdweb/extensions/erc7579";
99
+ *
100
+ * const result = await supportsExecutionMode({
101
+ * contract,
102
+ * encodedMode: ...,
103
+ * });
104
+ *
105
+ * ```
106
+ */
107
+ async function supportsExecutionMode(options) {
108
+ return (0, read_contract_js_1.readContract)({
109
+ contract: options.contract,
110
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
111
+ params: [options.encodedMode],
112
+ });
113
+ }
114
+ //# sourceMappingURL=supportsExecutionMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supportsExecutionMode.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.ts"],"names":[],"mappings":";;;AA0CA,4EAKC;AAeD,8EAIC;AAeD,kEASC;AAaD,8EAEC;AAkBD,sDAQC;AAlID,kFAA2E;AAE3E,4FAAsF;AACtF,+BAA2C;AAE3C,yFAAgF;AAYnE,QAAA,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG;IAChB;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,aAAa;KACpB;CACO,CAAC;AACX,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,MAAM;KACb;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,SAAgB,gCAAgC,CAAC,kBAA4B;IAC3E,OAAO,IAAA,iCAAY,EAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,iCAAiC,CAC/C,OAAoC;IAEpC,OAAO,IAAA,4CAAmB,EAAC,SAAS,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,2BAA2B,CACzC,OAAoC;IAEpC,iFAAiF;IACjF,oEAAoE;IACpE,OAAO,CAAC,mBAAW;QACjB,iCAAiC,CAAC,OAAO,CAAC,CAAC,KAAK,CAC9C,CAAC,CACF,CAAqC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,iCAAiC,CAAC,MAAW;IAC3D,OAAO,IAAA,0BAAmB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAA4D;IAE5D,OAAO,IAAA,+BAAY,EAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isSupportsModuleSupported = isSupportsModuleSupported;
5
+ exports.encodeSupportsModuleParams = encodeSupportsModuleParams;
6
+ exports.encodeSupportsModule = encodeSupportsModule;
7
+ exports.decodeSupportsModuleResult = decodeSupportsModuleResult;
8
+ exports.supportsModule = supportsModule;
9
+ const read_contract_js_1 = require("../../../../../transaction/read-contract.js");
10
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
11
+ const viem_1 = require("viem");
12
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
13
+ exports.FN_SELECTOR = "0xf2dc691d";
14
+ const FN_INPUTS = [
15
+ {
16
+ type: "uint256",
17
+ name: "moduleTypeId",
18
+ },
19
+ ];
20
+ const FN_OUTPUTS = [
21
+ {
22
+ type: "bool",
23
+ },
24
+ ];
25
+ /**
26
+ * Checks if the `supportsModule` method is supported by the given contract.
27
+ * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
28
+ * @returns A boolean indicating if the `supportsModule` method is supported.
29
+ * @extension ERC7579
30
+ * @example
31
+ * ```ts
32
+ * import { isSupportsModuleSupported } from "thirdweb/extensions/erc7579";
33
+ * const supported = isSupportsModuleSupported(["0x..."]);
34
+ * ```
35
+ */
36
+ function isSupportsModuleSupported(availableSelectors) {
37
+ return (0, detectExtension_js_1.detectMethod)({
38
+ availableSelectors,
39
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
40
+ });
41
+ }
42
+ /**
43
+ * Encodes the parameters for the "supportsModule" function.
44
+ * @param options - The options for the supportsModule function.
45
+ * @returns The encoded ABI parameters.
46
+ * @extension ERC7579
47
+ * @example
48
+ * ```ts
49
+ * import { encodeSupportsModuleParams } from "thirdweb/extensions/erc7579";
50
+ * const result = encodeSupportsModuleParams({
51
+ * moduleTypeId: ...,
52
+ * });
53
+ * ```
54
+ */
55
+ function encodeSupportsModuleParams(options) {
56
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [options.moduleTypeId]);
57
+ }
58
+ /**
59
+ * Encodes the "supportsModule" function into a Hex string with its parameters.
60
+ * @param options - The options for the supportsModule function.
61
+ * @returns The encoded hexadecimal string.
62
+ * @extension ERC7579
63
+ * @example
64
+ * ```ts
65
+ * import { encodeSupportsModule } from "thirdweb/extensions/erc7579";
66
+ * const result = encodeSupportsModule({
67
+ * moduleTypeId: ...,
68
+ * });
69
+ * ```
70
+ */
71
+ function encodeSupportsModule(options) {
72
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
73
+ // we can do this because we know the specific formats of the values
74
+ return (exports.FN_SELECTOR +
75
+ encodeSupportsModuleParams(options).slice(2));
76
+ }
77
+ /**
78
+ * Decodes the result of the supportsModule function call.
79
+ * @param result - The hexadecimal result to decode.
80
+ * @returns The decoded result as per the FN_OUTPUTS definition.
81
+ * @extension ERC7579
82
+ * @example
83
+ * ```ts
84
+ * import { decodeSupportsModuleResult } from "thirdweb/extensions/erc7579";
85
+ * const result = decodeSupportsModuleResultResult("...");
86
+ * ```
87
+ */
88
+ function decodeSupportsModuleResult(result) {
89
+ return (0, viem_1.decodeAbiParameters)(FN_OUTPUTS, result)[0];
90
+ }
91
+ /**
92
+ * Calls the "supportsModule" function on the contract.
93
+ * @param options - The options for the supportsModule function.
94
+ * @returns The parsed result of the function call.
95
+ * @extension ERC7579
96
+ * @example
97
+ * ```ts
98
+ * import { supportsModule } from "thirdweb/extensions/erc7579";
99
+ *
100
+ * const result = await supportsModule({
101
+ * contract,
102
+ * moduleTypeId: ...,
103
+ * });
104
+ *
105
+ * ```
106
+ */
107
+ async function supportsModule(options) {
108
+ return (0, read_contract_js_1.readContract)({
109
+ contract: options.contract,
110
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
111
+ params: [options.moduleTypeId],
112
+ });
113
+ }
114
+ //# sourceMappingURL=supportsModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supportsModule.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.ts"],"names":[],"mappings":";;;AA0CA,8DAKC;AAeD,gEAEC;AAeD,oDAOC;AAaD,gEAEC;AAkBD,wCAQC;AA9HD,kFAA2E;AAE3E,4FAAsF;AACtF,+BAA2C;AAE3C,yFAAgF;AAYnE,QAAA,WAAW,GAAG,YAAqB,CAAC;AACjD,MAAM,SAAS,GAAG;IAChB;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,cAAc;KACrB;CACO,CAAC;AACX,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,MAAM;KACb;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACH,SAAgB,yBAAyB,CAAC,kBAA4B;IACpE,OAAO,IAAA,iCAAY,EAAC;QAClB,kBAAkB;QAClB,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,0BAA0B,CAAC,OAA6B;IACtE,OAAO,IAAA,4CAAmB,EAAC,SAAS,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAAC,OAA6B;IAChE,iFAAiF;IACjF,oEAAoE;IACpE,OAAO,CAAC,mBAAW;QACjB,0BAA0B,CAAC,OAAO,CAAC,CAAC,KAAK,CACvC,CAAC,CACF,CAAqC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,0BAA0B,CAAC,MAAW;IACpD,OAAO,IAAA,0BAAmB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,cAAc,CAClC,OAAqD;IAErD,OAAO,IAAA,+BAAY,EAAC;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,mBAAW,EAAE,SAAS,EAAE,UAAU,CAAU;QACrD,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isExecuteSupported = isExecuteSupported;
5
+ exports.encodeExecuteParams = encodeExecuteParams;
6
+ exports.encodeExecute = encodeExecute;
7
+ exports.execute = execute;
8
+ const prepare_contract_call_js_1 = require("../../../../../transaction/prepare-contract-call.js");
9
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
10
+ const once_js_1 = require("../../../../../utils/promise/once.js");
11
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
12
+ exports.FN_SELECTOR = "0xe9ae5c53";
13
+ const FN_INPUTS = [
14
+ {
15
+ type: "bytes32",
16
+ name: "mode",
17
+ },
18
+ {
19
+ type: "bytes",
20
+ name: "executionCalldata",
21
+ },
22
+ ];
23
+ const FN_OUTPUTS = [];
24
+ /**
25
+ * Checks if the `execute` method is supported by the given contract.
26
+ * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
27
+ * @returns A boolean indicating if the `execute` method is supported.
28
+ * @extension ERC7579
29
+ * @example
30
+ * ```ts
31
+ * import { isExecuteSupported } from "thirdweb/extensions/erc7579";
32
+ *
33
+ * const supported = isExecuteSupported(["0x..."]);
34
+ * ```
35
+ */
36
+ function isExecuteSupported(availableSelectors) {
37
+ return (0, detectExtension_js_1.detectMethod)({
38
+ availableSelectors,
39
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
40
+ });
41
+ }
42
+ /**
43
+ * Encodes the parameters for the "execute" function.
44
+ * @param options - The options for the execute function.
45
+ * @returns The encoded ABI parameters.
46
+ * @extension ERC7579
47
+ * @example
48
+ * ```ts
49
+ * import { encodeExecuteParams } from "thirdweb/extensions/erc7579";
50
+ * const result = encodeExecuteParams({
51
+ * mode: ...,
52
+ * executionCalldata: ...,
53
+ * });
54
+ * ```
55
+ */
56
+ function encodeExecuteParams(options) {
57
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [
58
+ options.mode,
59
+ options.executionCalldata,
60
+ ]);
61
+ }
62
+ /**
63
+ * Encodes the "execute" function into a Hex string with its parameters.
64
+ * @param options - The options for the execute function.
65
+ * @returns The encoded hexadecimal string.
66
+ * @extension ERC7579
67
+ * @example
68
+ * ```ts
69
+ * import { encodeExecute } from "thirdweb/extensions/erc7579";
70
+ * const result = encodeExecute({
71
+ * mode: ...,
72
+ * executionCalldata: ...,
73
+ * });
74
+ * ```
75
+ */
76
+ function encodeExecute(options) {
77
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
78
+ // we can do this because we know the specific formats of the values
79
+ return (exports.FN_SELECTOR +
80
+ encodeExecuteParams(options).slice(2));
81
+ }
82
+ /**
83
+ * Prepares a transaction to call the "execute" function on the contract.
84
+ * @param options - The options for the "execute" function.
85
+ * @returns A prepared transaction object.
86
+ * @extension ERC7579
87
+ * @example
88
+ * ```ts
89
+ * import { sendTransaction } from "thirdweb";
90
+ * import { execute } from "thirdweb/extensions/erc7579";
91
+ *
92
+ * const transaction = execute({
93
+ * contract,
94
+ * mode: ...,
95
+ * executionCalldata: ...,
96
+ * overrides: {
97
+ * ...
98
+ * }
99
+ * });
100
+ *
101
+ * // Send the transaction
102
+ * await sendTransaction({ transaction, account });
103
+ * ```
104
+ */
105
+ function execute(options) {
106
+ const asyncOptions = (0, once_js_1.once)(async () => {
107
+ return "asyncParams" in options ? await options.asyncParams() : options;
108
+ });
109
+ return (0, prepare_contract_call_js_1.prepareContractCall)({
110
+ contract: options.contract,
111
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
112
+ params: async () => {
113
+ const resolvedOptions = await asyncOptions();
114
+ return [resolvedOptions.mode, resolvedOptions.executionCalldata];
115
+ },
116
+ value: async () => (await asyncOptions()).overrides?.value,
117
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
118
+ gas: async () => (await asyncOptions()).overrides?.gas,
119
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
120
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
121
+ maxPriorityFeePerGas: async () => (await asyncOptions()).overrides?.maxPriorityFeePerGas,
122
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
123
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
124
+ erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
125
+ });
126
+ }
127
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc7579/__generated__/IERC7579Account/write/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isExecuteFromExecutorSupported = isExecuteFromExecutorSupported;
5
+ exports.encodeExecuteFromExecutorParams = encodeExecuteFromExecutorParams;
6
+ exports.encodeExecuteFromExecutor = encodeExecuteFromExecutor;
7
+ exports.executeFromExecutor = executeFromExecutor;
8
+ const prepare_contract_call_js_1 = require("../../../../../transaction/prepare-contract-call.js");
9
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
10
+ const once_js_1 = require("../../../../../utils/promise/once.js");
11
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
12
+ exports.FN_SELECTOR = "0xd691c964";
13
+ const FN_INPUTS = [
14
+ {
15
+ type: "bytes32",
16
+ name: "mode",
17
+ },
18
+ {
19
+ type: "bytes",
20
+ name: "executionCalldata",
21
+ },
22
+ ];
23
+ const FN_OUTPUTS = [
24
+ {
25
+ type: "bytes[]",
26
+ name: "returnData",
27
+ },
28
+ ];
29
+ /**
30
+ * Checks if the `executeFromExecutor` method is supported by the given contract.
31
+ * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
32
+ * @returns A boolean indicating if the `executeFromExecutor` method is supported.
33
+ * @extension ERC7579
34
+ * @example
35
+ * ```ts
36
+ * import { isExecuteFromExecutorSupported } from "thirdweb/extensions/erc7579";
37
+ *
38
+ * const supported = isExecuteFromExecutorSupported(["0x..."]);
39
+ * ```
40
+ */
41
+ function isExecuteFromExecutorSupported(availableSelectors) {
42
+ return (0, detectExtension_js_1.detectMethod)({
43
+ availableSelectors,
44
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
45
+ });
46
+ }
47
+ /**
48
+ * Encodes the parameters for the "executeFromExecutor" function.
49
+ * @param options - The options for the executeFromExecutor function.
50
+ * @returns The encoded ABI parameters.
51
+ * @extension ERC7579
52
+ * @example
53
+ * ```ts
54
+ * import { encodeExecuteFromExecutorParams } from "thirdweb/extensions/erc7579";
55
+ * const result = encodeExecuteFromExecutorParams({
56
+ * mode: ...,
57
+ * executionCalldata: ...,
58
+ * });
59
+ * ```
60
+ */
61
+ function encodeExecuteFromExecutorParams(options) {
62
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [
63
+ options.mode,
64
+ options.executionCalldata,
65
+ ]);
66
+ }
67
+ /**
68
+ * Encodes the "executeFromExecutor" function into a Hex string with its parameters.
69
+ * @param options - The options for the executeFromExecutor function.
70
+ * @returns The encoded hexadecimal string.
71
+ * @extension ERC7579
72
+ * @example
73
+ * ```ts
74
+ * import { encodeExecuteFromExecutor } from "thirdweb/extensions/erc7579";
75
+ * const result = encodeExecuteFromExecutor({
76
+ * mode: ...,
77
+ * executionCalldata: ...,
78
+ * });
79
+ * ```
80
+ */
81
+ function encodeExecuteFromExecutor(options) {
82
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
83
+ // we can do this because we know the specific formats of the values
84
+ return (exports.FN_SELECTOR +
85
+ encodeExecuteFromExecutorParams(options).slice(2));
86
+ }
87
+ /**
88
+ * Prepares a transaction to call the "executeFromExecutor" function on the contract.
89
+ * @param options - The options for the "executeFromExecutor" function.
90
+ * @returns A prepared transaction object.
91
+ * @extension ERC7579
92
+ * @example
93
+ * ```ts
94
+ * import { sendTransaction } from "thirdweb";
95
+ * import { executeFromExecutor } from "thirdweb/extensions/erc7579";
96
+ *
97
+ * const transaction = executeFromExecutor({
98
+ * contract,
99
+ * mode: ...,
100
+ * executionCalldata: ...,
101
+ * overrides: {
102
+ * ...
103
+ * }
104
+ * });
105
+ *
106
+ * // Send the transaction
107
+ * await sendTransaction({ transaction, account });
108
+ * ```
109
+ */
110
+ function executeFromExecutor(options) {
111
+ const asyncOptions = (0, once_js_1.once)(async () => {
112
+ return "asyncParams" in options ? await options.asyncParams() : options;
113
+ });
114
+ return (0, prepare_contract_call_js_1.prepareContractCall)({
115
+ contract: options.contract,
116
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
117
+ params: async () => {
118
+ const resolvedOptions = await asyncOptions();
119
+ return [resolvedOptions.mode, resolvedOptions.executionCalldata];
120
+ },
121
+ value: async () => (await asyncOptions()).overrides?.value,
122
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
123
+ gas: async () => (await asyncOptions()).overrides?.gas,
124
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
125
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
126
+ maxPriorityFeePerGas: async () => (await asyncOptions()).overrides?.maxPriorityFeePerGas,
127
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
128
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
129
+ erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
130
+ });
131
+ }
132
+ //# sourceMappingURL=executeFromExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeFromExecutor.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.ts"],"names":[],"mappings":"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"}