thirdweb 5.73.1-nightly-33c23e789e577bd6463e135cec4e25cfcfc9964a-20241205000340 → 5.75.0-nightly-ec84ed37d6db8281d3afb12bc47a20ccc5fe9713-20241207000341

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 (597) 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 +4 -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/ConnectWallet/screens/SignatureScreen.js +12 -10
  70. package/dist/cjs/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
  71. package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js +1 -0
  72. package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
  73. package/dist/cjs/react/web/ui/prebuilt/Account/balance.js +1 -0
  74. package/dist/cjs/react/web/ui/prebuilt/Account/balance.js.map +1 -1
  75. package/dist/cjs/react/web/ui/prebuilt/Account/name.js +1 -0
  76. package/dist/cjs/react/web/ui/prebuilt/Account/name.js.map +1 -1
  77. package/dist/cjs/react/web/utils/usePreloadWalletProviders.js +1 -1
  78. package/dist/cjs/react/web/utils/usePreloadWalletProviders.js.map +1 -1
  79. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -1
  80. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  81. package/dist/cjs/transaction/actions/estimate-gas.js.map +1 -1
  82. package/dist/cjs/transaction/actions/gasless/providers/biconomy.js.map +1 -1
  83. package/dist/cjs/transaction/actions/gasless/providers/engine.js.map +1 -1
  84. package/dist/cjs/transaction/actions/gasless/providers/openzeppelin.js.map +1 -1
  85. package/dist/cjs/transaction/actions/sign-transaction.js +4 -7
  86. package/dist/cjs/transaction/actions/sign-transaction.js.map +1 -1
  87. package/dist/cjs/transaction/actions/to-serializable-transaction.js.map +1 -1
  88. package/dist/cjs/transaction/actions/zksync/getEip721Domain.js.map +1 -1
  89. package/dist/cjs/transaction/serialize-transaction.js +76 -9
  90. package/dist/cjs/transaction/serialize-transaction.js.map +1 -1
  91. package/dist/cjs/utils/any-evm/keyless-transaction.js +25 -4
  92. package/dist/cjs/utils/any-evm/keyless-transaction.js.map +1 -1
  93. package/dist/cjs/utils/hashing/hashMessage.js +2 -2
  94. package/dist/cjs/utils/hashing/hashMessage.js.map +1 -1
  95. package/dist/cjs/utils/hashing/hashTypedData.js +8 -6
  96. package/dist/cjs/utils/hashing/hashTypedData.js.map +1 -1
  97. package/dist/cjs/utils/signatures/helpers/{parseTypedData.js → parse-typed-data.js} +4 -4
  98. package/dist/cjs/utils/signatures/helpers/parse-typed-data.js.map +1 -0
  99. package/dist/cjs/utils/signatures/sign-message.js +12 -6
  100. package/dist/cjs/utils/signatures/sign-message.js.map +1 -1
  101. package/dist/cjs/utils/signatures/sign-typed-data.js +11 -8
  102. package/dist/cjs/utils/signatures/sign-typed-data.js.map +1 -1
  103. package/dist/cjs/utils/signatures/sign.js +4 -4
  104. package/dist/cjs/utils/signatures/sign.js.map +1 -1
  105. package/dist/cjs/utils/signatures/signature-to-hex.js +17 -10
  106. package/dist/cjs/utils/signatures/signature-to-hex.js.map +1 -1
  107. package/dist/cjs/utils/types.js +5 -0
  108. package/dist/cjs/utils/types.js.map +1 -1
  109. package/dist/cjs/version.js +1 -1
  110. package/dist/cjs/wallets/coinbase/{coinbaseMobileSDK.js → coinbase-mobile.js} +1 -1
  111. package/dist/cjs/wallets/coinbase/coinbase-mobile.js.map +1 -0
  112. package/dist/cjs/wallets/coinbase/coinbase-wallet.js +2 -2
  113. package/dist/cjs/wallets/coinbase/coinbase-wallet.js.map +1 -1
  114. package/dist/cjs/wallets/coinbase/{coinbaseWebSDK.js → coinbase-web.js} +11 -11
  115. package/dist/cjs/wallets/coinbase/coinbase-web.js.map +1 -0
  116. package/dist/cjs/wallets/create-wallet.js +2 -2
  117. package/dist/cjs/wallets/create-wallet.js.map +1 -1
  118. package/dist/cjs/wallets/ecosystem/is-ecosystem-wallet.js +1 -1
  119. package/dist/cjs/wallets/eip5792/get-calls-status.js +3 -3
  120. package/dist/cjs/wallets/eip5792/get-calls-status.js.map +1 -1
  121. package/dist/cjs/wallets/eip5792/get-capabilities.js +3 -3
  122. package/dist/cjs/wallets/eip5792/get-capabilities.js.map +1 -1
  123. package/dist/cjs/wallets/eip5792/send-calls.js +3 -3
  124. package/dist/cjs/wallets/eip5792/send-calls.js.map +1 -1
  125. package/dist/cjs/wallets/eip5792/show-calls-status.js +3 -3
  126. package/dist/cjs/wallets/eip5792/show-calls-status.js.map +1 -1
  127. package/dist/cjs/wallets/in-app/core/actions/sign-typed-data.enclave.js.map +1 -1
  128. package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js +2 -2
  129. package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
  130. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +8 -4
  131. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  132. package/dist/cjs/wallets/in-app/web/ecosystem.js +1 -1
  133. package/dist/cjs/wallets/in-app/web/in-app.js +2 -2
  134. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js +3 -3
  135. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  136. package/dist/cjs/wallets/injected/index.js +2 -2
  137. package/dist/cjs/wallets/injected/index.js.map +1 -1
  138. package/dist/cjs/wallets/native/create-wallet.js +2 -2
  139. package/dist/cjs/wallets/native/create-wallet.js.map +1 -1
  140. package/dist/cjs/wallets/private-key.js +2 -5
  141. package/dist/cjs/wallets/private-key.js.map +1 -1
  142. package/dist/cjs/wallets/smart/index.js +45 -172
  143. package/dist/cjs/wallets/smart/index.js.map +1 -1
  144. package/dist/cjs/wallets/smart/lib/bundler.js +2 -1
  145. package/dist/cjs/wallets/smart/lib/bundler.js.map +1 -1
  146. package/dist/cjs/wallets/smart/lib/calls.js +2 -2
  147. package/dist/cjs/wallets/smart/lib/calls.js.map +1 -1
  148. package/dist/cjs/wallets/smart/lib/constants.js +21 -1
  149. package/dist/cjs/wallets/smart/lib/constants.js.map +1 -1
  150. package/dist/cjs/wallets/smart/lib/paymaster.js +7 -6
  151. package/dist/cjs/wallets/smart/lib/paymaster.js.map +1 -1
  152. package/dist/cjs/wallets/smart/lib/signing.js +166 -0
  153. package/dist/cjs/wallets/smart/lib/signing.js.map +1 -0
  154. package/dist/cjs/wallets/smart/lib/userop.js +20 -5
  155. package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
  156. package/dist/cjs/wallets/smart/presets/7579.js +218 -0
  157. package/dist/cjs/wallets/smart/presets/7579.js.map +1 -0
  158. package/dist/cjs/wallets/smart/presets/index.js +6 -0
  159. package/dist/cjs/wallets/smart/presets/index.js.map +1 -0
  160. package/dist/cjs/wallets/smart/smart-wallet.js +1 -1
  161. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  162. package/dist/cjs/wallets/smart/types.js.map +1 -1
  163. package/dist/cjs/wallets/wallet-connect/controller.js +2 -2
  164. package/dist/cjs/wallets/wallet-connect/controller.js.map +1 -1
  165. package/dist/esm/adapters/ethers5.js +2 -2
  166. package/dist/esm/adapters/ethers5.js.map +1 -1
  167. package/dist/esm/adapters/ethers6.js.map +1 -1
  168. package/dist/esm/auth/verify-hash.js +2 -1
  169. package/dist/esm/auth/verify-hash.js.map +1 -1
  170. package/dist/esm/auth/verify-signature.js.map +1 -1
  171. package/dist/esm/contract/actions/resolve-abi.js +4 -0
  172. package/dist/esm/contract/actions/resolve-abi.js.map +1 -1
  173. package/dist/esm/exports/wallets/smart.js +3 -1
  174. package/dist/esm/exports/wallets/smart.js.map +1 -1
  175. package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js +6 -2
  176. package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js.map +1 -1
  177. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js +24 -0
  178. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js.map +1 -0
  179. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js +24 -0
  180. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js.map +1 -0
  181. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js +65 -0
  182. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js.map +1 -0
  183. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js +124 -0
  184. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js.map +1 -0
  185. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js +113 -0
  186. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js.map +1 -0
  187. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js +106 -0
  188. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js.map +1 -0
  189. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js +106 -0
  190. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js.map +1 -0
  191. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/execute.js +120 -0
  192. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/execute.js.map +1 -0
  193. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js +125 -0
  194. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js.map +1 -0
  195. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js +132 -0
  196. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js.map +1 -0
  197. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js +132 -0
  198. package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js.map +1 -0
  199. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js +29 -0
  200. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js.map +1 -0
  201. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js +28 -0
  202. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js.map +1 -0
  203. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js +64 -0
  204. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js.map +1 -0
  205. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js +64 -0
  206. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js.map +1 -0
  207. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js +114 -0
  208. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js.map +1 -0
  209. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js +65 -0
  210. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js.map +1 -0
  211. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js +65 -0
  212. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js.map +1 -0
  213. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js +110 -0
  214. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js.map +1 -0
  215. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js +150 -0
  216. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js.map +1 -0
  217. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js +46 -0
  218. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js.map +1 -0
  219. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js +110 -0
  220. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js.map +1 -0
  221. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js +46 -0
  222. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js.map +1 -0
  223. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js +110 -0
  224. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js.map +1 -0
  225. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js +132 -0
  226. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js.map +1 -0
  227. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js +110 -0
  228. package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js.map +1 -0
  229. package/dist/esm/extensions/marketplace/direct-listings/write/buyFromListing.js +6 -0
  230. package/dist/esm/extensions/marketplace/direct-listings/write/buyFromListing.js.map +1 -1
  231. package/dist/esm/extensions/pack/createNewPack.js +1 -0
  232. package/dist/esm/extensions/pack/createNewPack.js.map +1 -1
  233. package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.js +12 -10
  234. package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
  235. package/dist/esm/react/web/ui/prebuilt/Account/avatar.js +1 -0
  236. package/dist/esm/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
  237. package/dist/esm/react/web/ui/prebuilt/Account/balance.js +1 -0
  238. package/dist/esm/react/web/ui/prebuilt/Account/balance.js.map +1 -1
  239. package/dist/esm/react/web/ui/prebuilt/Account/name.js +1 -0
  240. package/dist/esm/react/web/ui/prebuilt/Account/name.js.map +1 -1
  241. package/dist/esm/react/web/utils/usePreloadWalletProviders.js +1 -1
  242. package/dist/esm/react/web/utils/usePreloadWalletProviders.js.map +1 -1
  243. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -1
  244. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  245. package/dist/esm/transaction/actions/estimate-gas.js +3 -3
  246. package/dist/esm/transaction/actions/estimate-gas.js.map +1 -1
  247. package/dist/esm/transaction/actions/gasless/providers/biconomy.js.map +1 -1
  248. package/dist/esm/transaction/actions/gasless/providers/engine.js.map +1 -1
  249. package/dist/esm/transaction/actions/gasless/providers/openzeppelin.js.map +1 -1
  250. package/dist/esm/transaction/actions/sign-transaction.js +5 -8
  251. package/dist/esm/transaction/actions/sign-transaction.js.map +1 -1
  252. package/dist/esm/transaction/actions/to-serializable-transaction.js.map +1 -1
  253. package/dist/esm/transaction/actions/zksync/getEip721Domain.js.map +1 -1
  254. package/dist/esm/transaction/serialize-transaction.js +76 -9
  255. package/dist/esm/transaction/serialize-transaction.js.map +1 -1
  256. package/dist/esm/utils/any-evm/keyless-transaction.js +26 -5
  257. package/dist/esm/utils/any-evm/keyless-transaction.js.map +1 -1
  258. package/dist/esm/utils/hashing/hashMessage.js +2 -2
  259. package/dist/esm/utils/hashing/hashMessage.js.map +1 -1
  260. package/dist/esm/utils/hashing/hashTypedData.js +8 -6
  261. package/dist/esm/utils/hashing/hashTypedData.js.map +1 -1
  262. package/dist/esm/utils/signatures/helpers/parse-typed-data.js +15 -0
  263. package/dist/esm/utils/signatures/helpers/parse-typed-data.js.map +1 -0
  264. package/dist/esm/utils/signatures/sign-message.js +12 -6
  265. package/dist/esm/utils/signatures/sign-message.js.map +1 -1
  266. package/dist/esm/utils/signatures/sign-typed-data.js +11 -8
  267. package/dist/esm/utils/signatures/sign-typed-data.js.map +1 -1
  268. package/dist/esm/utils/signatures/sign.js +4 -4
  269. package/dist/esm/utils/signatures/sign.js.map +1 -1
  270. package/dist/esm/utils/signatures/signature-to-hex.js +17 -10
  271. package/dist/esm/utils/signatures/signature-to-hex.js.map +1 -1
  272. package/dist/esm/utils/types.js +4 -1
  273. package/dist/esm/utils/types.js.map +1 -1
  274. package/dist/esm/version.js +1 -1
  275. package/dist/esm/wallets/coinbase/{coinbaseMobileSDK.js → coinbase-mobile.js} +1 -1
  276. package/dist/esm/wallets/coinbase/coinbase-mobile.js.map +1 -0
  277. package/dist/esm/wallets/coinbase/coinbase-wallet.js +2 -2
  278. package/dist/esm/wallets/coinbase/coinbase-wallet.js.map +1 -1
  279. package/dist/esm/wallets/coinbase/{coinbaseWebSDK.js → coinbase-web.js} +11 -11
  280. package/dist/esm/wallets/coinbase/coinbase-web.js.map +1 -0
  281. package/dist/esm/wallets/create-wallet.js +1 -1
  282. package/dist/esm/wallets/create-wallet.js.map +1 -1
  283. package/dist/esm/wallets/ecosystem/is-ecosystem-wallet.js +1 -1
  284. package/dist/esm/wallets/eip5792/get-calls-status.js +2 -2
  285. package/dist/esm/wallets/eip5792/get-calls-status.js.map +1 -1
  286. package/dist/esm/wallets/eip5792/get-capabilities.js +2 -2
  287. package/dist/esm/wallets/eip5792/get-capabilities.js.map +1 -1
  288. package/dist/esm/wallets/eip5792/send-calls.js +2 -2
  289. package/dist/esm/wallets/eip5792/send-calls.js.map +1 -1
  290. package/dist/esm/wallets/eip5792/show-calls-status.js +2 -2
  291. package/dist/esm/wallets/eip5792/show-calls-status.js.map +1 -1
  292. package/dist/esm/wallets/in-app/core/actions/sign-typed-data.enclave.js.map +1 -1
  293. package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js +1 -1
  294. package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
  295. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +9 -5
  296. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  297. package/dist/esm/wallets/in-app/web/ecosystem.js +1 -1
  298. package/dist/esm/wallets/in-app/web/in-app.js +2 -2
  299. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js +2 -2
  300. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  301. package/dist/esm/wallets/injected/index.js +1 -1
  302. package/dist/esm/wallets/injected/index.js.map +1 -1
  303. package/dist/esm/wallets/native/create-wallet.js +1 -1
  304. package/dist/esm/wallets/native/create-wallet.js.map +1 -1
  305. package/dist/esm/wallets/private-key.js +2 -5
  306. package/dist/esm/wallets/private-key.js.map +1 -1
  307. package/dist/esm/wallets/smart/index.js +44 -171
  308. package/dist/esm/wallets/smart/index.js.map +1 -1
  309. package/dist/esm/wallets/smart/lib/bundler.js +2 -1
  310. package/dist/esm/wallets/smart/lib/bundler.js.map +1 -1
  311. package/dist/esm/wallets/smart/lib/calls.js +2 -2
  312. package/dist/esm/wallets/smart/lib/calls.js.map +1 -1
  313. package/dist/esm/wallets/smart/lib/constants.js +20 -0
  314. package/dist/esm/wallets/smart/lib/constants.js.map +1 -1
  315. package/dist/esm/wallets/smart/lib/paymaster.js +7 -6
  316. package/dist/esm/wallets/smart/lib/paymaster.js.map +1 -1
  317. package/dist/esm/wallets/smart/lib/signing.js +161 -0
  318. package/dist/esm/wallets/smart/lib/signing.js.map +1 -0
  319. package/dist/esm/wallets/smart/lib/userop.js +21 -6
  320. package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
  321. package/dist/esm/wallets/smart/presets/7579.js +215 -0
  322. package/dist/esm/wallets/smart/presets/7579.js.map +1 -0
  323. package/dist/esm/wallets/smart/presets/index.js +2 -0
  324. package/dist/esm/wallets/smart/presets/index.js.map +1 -0
  325. package/dist/esm/wallets/smart/smart-wallet.js +1 -1
  326. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  327. package/dist/esm/wallets/smart/types.js.map +1 -1
  328. package/dist/esm/wallets/wallet-connect/controller.js +1 -1
  329. package/dist/esm/wallets/wallet-connect/controller.js.map +1 -1
  330. package/dist/types/adapters/ethers5.d.ts.map +1 -1
  331. package/dist/types/adapters/ethers6.d.ts.map +1 -1
  332. package/dist/types/auth/verify-hash.d.ts.map +1 -1
  333. package/dist/types/auth/verify-signature.d.ts +2 -2
  334. package/dist/types/auth/verify-signature.d.ts.map +1 -1
  335. package/dist/types/contract/actions/resolve-abi.d.ts.map +1 -1
  336. package/dist/types/exports/wallets/smart.d.ts +2 -1
  337. package/dist/types/exports/wallets/smart.d.ts.map +1 -1
  338. package/dist/types/exports/wallets.d.ts +1 -1
  339. package/dist/types/exports/wallets.d.ts.map +1 -1
  340. package/dist/types/exports/wallets.native.d.ts +1 -1
  341. package/dist/types/exports/wallets.native.d.ts.map +1 -1
  342. package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts +4 -4
  343. package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts.map +1 -1
  344. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.d.ts +29 -0
  345. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.d.ts.map +1 -0
  346. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.d.ts +29 -0
  347. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.d.ts.map +1 -0
  348. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/accountId.d.ts +44 -0
  349. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/accountId.d.ts.map +1 -0
  350. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.d.ts +97 -0
  351. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.d.ts.map +1 -0
  352. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.d.ts +90 -0
  353. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.d.ts.map +1 -0
  354. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.d.ts +83 -0
  355. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.d.ts.map +1 -0
  356. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.d.ts +83 -0
  357. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.d.ts.map +1 -0
  358. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/execute.d.ts +86 -0
  359. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/execute.d.ts.map +1 -0
  360. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.d.ts +86 -0
  361. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.d.ts.map +1 -0
  362. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/installModule.d.ts +93 -0
  363. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/installModule.d.ts.map +1 -0
  364. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.d.ts +93 -0
  365. package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.d.ts.map +1 -0
  366. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.d.ts +51 -0
  367. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.d.ts.map +1 -0
  368. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.d.ts +41 -0
  369. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.d.ts.map +1 -0
  370. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.d.ts +44 -0
  371. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.d.ts.map +1 -0
  372. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.d.ts +44 -0
  373. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.d.ts.map +1 -0
  374. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.d.ts +90 -0
  375. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.d.ts.map +1 -0
  376. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.d.ts +44 -0
  377. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.d.ts.map +1 -0
  378. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.d.ts +44 -0
  379. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.d.ts.map +1 -0
  380. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.d.ts +79 -0
  381. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.d.ts.map +1 -0
  382. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.d.ts +107 -0
  383. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.d.ts.map +1 -0
  384. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.d.ts +33 -0
  385. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.d.ts.map +1 -0
  386. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.d.ts +79 -0
  387. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.d.ts.map +1 -0
  388. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.d.ts +33 -0
  389. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.d.ts.map +1 -0
  390. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.d.ts +79 -0
  391. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.d.ts.map +1 -0
  392. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.d.ts +93 -0
  393. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.d.ts.map +1 -0
  394. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.d.ts +79 -0
  395. package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.d.ts.map +1 -0
  396. package/dist/types/extensions/marketplace/direct-listings/write/buyFromListing.d.ts.map +1 -1
  397. package/dist/types/extensions/pack/createNewPack.d.ts.map +1 -1
  398. package/dist/types/react/web/ui/ConnectWallet/screens/SignatureScreen.d.ts.map +1 -1
  399. package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts.map +1 -1
  400. package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts.map +1 -1
  401. package/dist/types/react/web/ui/prebuilt/Account/name.d.ts.map +1 -1
  402. package/dist/types/transaction/actions/gasless/providers/biconomy.d.ts +2 -2
  403. package/dist/types/transaction/actions/gasless/providers/biconomy.d.ts.map +1 -1
  404. package/dist/types/transaction/actions/gasless/providers/engine.d.ts +2 -2
  405. package/dist/types/transaction/actions/gasless/providers/engine.d.ts.map +1 -1
  406. package/dist/types/transaction/actions/gasless/providers/openzeppelin.d.ts +2 -2
  407. package/dist/types/transaction/actions/gasless/providers/openzeppelin.d.ts.map +1 -1
  408. package/dist/types/transaction/actions/gasless/send-gasless-transaction.d.ts +2 -2
  409. package/dist/types/transaction/actions/gasless/send-gasless-transaction.d.ts.map +1 -1
  410. package/dist/types/transaction/actions/sign-transaction.d.ts +2 -2
  411. package/dist/types/transaction/actions/sign-transaction.d.ts.map +1 -1
  412. package/dist/types/transaction/actions/to-serializable-transaction.d.ts.map +1 -1
  413. package/dist/types/transaction/actions/zksync/getEip721Domain.d.ts +2 -2
  414. package/dist/types/transaction/actions/zksync/getEip721Domain.d.ts.map +1 -1
  415. package/dist/types/transaction/serialize-transaction.d.ts +24 -4
  416. package/dist/types/transaction/serialize-transaction.d.ts.map +1 -1
  417. package/dist/types/utils/any-evm/keyless-transaction.d.ts +6 -4
  418. package/dist/types/utils/any-evm/keyless-transaction.d.ts.map +1 -1
  419. package/dist/types/utils/hashing/hashMessage.d.ts +3 -2
  420. package/dist/types/utils/hashing/hashMessage.d.ts.map +1 -1
  421. package/dist/types/utils/hashing/hashTypedData.d.ts +3 -3
  422. package/dist/types/utils/hashing/hashTypedData.d.ts.map +1 -1
  423. package/dist/types/utils/signatures/helpers/parse-typed-data.d.ts +6 -0
  424. package/dist/types/utils/signatures/helpers/parse-typed-data.d.ts.map +1 -0
  425. package/dist/types/utils/signatures/sign-message.d.ts.map +1 -1
  426. package/dist/types/utils/signatures/sign-typed-data.d.ts +3 -4
  427. package/dist/types/utils/signatures/sign-typed-data.d.ts.map +1 -1
  428. package/dist/types/utils/signatures/sign.d.ts +6 -2
  429. package/dist/types/utils/signatures/sign.d.ts.map +1 -1
  430. package/dist/types/utils/signatures/signature-to-hex.d.ts +7 -3
  431. package/dist/types/utils/signatures/signature-to-hex.d.ts.map +1 -1
  432. package/dist/types/utils/types.d.ts +13 -0
  433. package/dist/types/utils/types.d.ts.map +1 -1
  434. package/dist/types/version.d.ts +1 -1
  435. package/dist/types/wallets/coinbase/{coinbaseMobileSDK.d.ts → coinbase-mobile.d.ts} +2 -2
  436. package/dist/types/wallets/coinbase/coinbase-mobile.d.ts.map +1 -0
  437. package/dist/types/wallets/coinbase/{coinbaseWebSDK.d.ts → coinbase-web.d.ts} +1 -1
  438. package/dist/types/wallets/coinbase/coinbase-web.d.ts.map +1 -0
  439. package/dist/types/wallets/ecosystem/get-ecosystem-wallet-auth-options.d.ts +1 -1
  440. package/dist/types/wallets/ecosystem/get-ecosystem-wallet-auth-options.d.ts.map +1 -1
  441. package/dist/types/wallets/in-app/core/actions/sign-typed-data.enclave.d.ts +3 -4
  442. package/dist/types/wallets/in-app/core/actions/sign-typed-data.enclave.d.ts.map +1 -1
  443. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
  444. package/dist/types/wallets/in-app/web/ecosystem.d.ts +1 -1
  445. package/dist/types/wallets/in-app/web/in-app.d.ts +2 -2
  446. package/dist/types/wallets/interfaces/wallet.d.ts +6 -4
  447. package/dist/types/wallets/interfaces/wallet.d.ts.map +1 -1
  448. package/dist/types/wallets/private-key.d.ts.map +1 -1
  449. package/dist/types/wallets/smart/index.d.ts +3 -2
  450. package/dist/types/wallets/smart/index.d.ts.map +1 -1
  451. package/dist/types/wallets/smart/lib/bundler.d.ts +9 -3
  452. package/dist/types/wallets/smart/lib/bundler.d.ts.map +1 -1
  453. package/dist/types/wallets/smart/lib/calls.d.ts +2 -2
  454. package/dist/types/wallets/smart/lib/calls.d.ts.map +1 -1
  455. package/dist/types/wallets/smart/lib/constants.d.ts +4 -0
  456. package/dist/types/wallets/smart/lib/constants.d.ts.map +1 -1
  457. package/dist/types/wallets/smart/lib/paymaster.d.ts.map +1 -1
  458. package/dist/types/wallets/smart/lib/signing.d.ts +20 -0
  459. package/dist/types/wallets/smart/lib/signing.d.ts.map +1 -0
  460. package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
  461. package/dist/types/wallets/smart/presets/7579.d.ts +34 -0
  462. package/dist/types/wallets/smart/presets/7579.d.ts.map +1 -0
  463. package/dist/types/wallets/smart/presets/index.d.ts +2 -0
  464. package/dist/types/wallets/smart/presets/index.d.ts.map +1 -0
  465. package/dist/types/wallets/smart/smart-wallet.d.ts +3 -3
  466. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  467. package/dist/types/wallets/smart/types.d.ts +30 -13
  468. package/dist/types/wallets/smart/types.d.ts.map +1 -1
  469. package/dist/types/wallets/wallet-types.d.ts +1 -1
  470. package/dist/types/wallets/wallet-types.d.ts.map +1 -1
  471. package/package.json +23 -23
  472. package/src/adapters/ethers5.test.ts +92 -0
  473. package/src/adapters/ethers5.ts +6 -5
  474. package/src/adapters/ethers6.ts +3 -2
  475. package/src/adapters/viem.test.ts +5 -4
  476. package/src/auth/verify-hash.ts +2 -1
  477. package/src/auth/verify-signature.ts +2 -2
  478. package/src/contract/actions/resolve-abi.ts +6 -0
  479. package/src/exports/wallets/smart.ts +4 -0
  480. package/src/exports/wallets.native.ts +1 -1
  481. package/src/exports/wallets.ts +1 -1
  482. package/src/extensions/erc1271/checkContractWalletSignedTypedData.ts +9 -5
  483. package/src/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.ts +24 -0
  484. package/src/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.ts +24 -0
  485. package/src/extensions/erc7579/__generated__/IERC7579Account/read/accountId.ts +71 -0
  486. package/src/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.ts +153 -0
  487. package/src/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.ts +133 -0
  488. package/src/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.ts +132 -0
  489. package/src/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.ts +128 -0
  490. package/src/extensions/erc7579/__generated__/IERC7579Account/write/execute.ts +149 -0
  491. package/src/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.ts +158 -0
  492. package/src/extensions/erc7579/__generated__/IERC7579Account/write/installModule.ts +164 -0
  493. package/src/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.ts +167 -0
  494. package/src/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.ts +49 -0
  495. package/src/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.ts +40 -0
  496. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.ts +70 -0
  497. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.ts +70 -0
  498. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.ts +134 -0
  499. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.ts +71 -0
  500. package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.ts +71 -0
  501. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.ts +138 -0
  502. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.ts +193 -0
  503. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.ts +50 -0
  504. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.ts +139 -0
  505. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.ts +50 -0
  506. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.ts +140 -0
  507. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.ts +159 -0
  508. package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.ts +137 -0
  509. package/src/extensions/marketplace/direct-listings/direct-listings.test.ts +74 -14
  510. package/src/extensions/marketplace/direct-listings/write/buyFromListing.ts +6 -0
  511. package/src/extensions/pack/createNewPack.ts +1 -0
  512. package/src/react/web/ui/ConnectWallet/screens/SignatureScreen.test.tsx +287 -0
  513. package/src/react/web/ui/ConnectWallet/screens/SignatureScreen.tsx +13 -5
  514. package/src/react/web/ui/prebuilt/Account/avatar.tsx +1 -0
  515. package/src/react/web/ui/prebuilt/Account/balance.tsx +1 -0
  516. package/src/react/web/ui/prebuilt/Account/name.tsx +1 -0
  517. package/src/react/web/utils/usePreloadWalletProviders.ts +1 -1
  518. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.test.tsx +87 -0
  519. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +1 -1
  520. package/src/transaction/actions/estimate-gas.ts +3 -3
  521. package/src/transaction/actions/gasless/providers/biconomy.ts +3 -2
  522. package/src/transaction/actions/gasless/providers/engine.ts +2 -2
  523. package/src/transaction/actions/gasless/providers/openzeppelin.ts +2 -2
  524. package/src/transaction/actions/gasless/send-gasless-transaction.ts +2 -2
  525. package/src/transaction/actions/sign-transaction.test.ts +8 -15
  526. package/src/transaction/actions/sign-transaction.ts +9 -11
  527. package/src/transaction/actions/to-serializable-transaction.ts +2 -2
  528. package/src/transaction/actions/zksync/getEip721Domain.ts +2 -2
  529. package/src/transaction/serialize-transaction.test.ts +135 -229
  530. package/src/transaction/serialize-transaction.ts +131 -22
  531. package/src/utils/any-evm/keyless-transaction.test.ts +91 -0
  532. package/src/utils/any-evm/keyless-transaction.ts +43 -14
  533. package/src/utils/hashing/hashMessage.ts +4 -3
  534. package/src/utils/hashing/hashTypedData.ts +24 -27
  535. package/src/utils/signatures/helpers/parse-typed-data.test.ts +56 -0
  536. package/src/utils/signatures/helpers/parse-typed-data.ts +29 -0
  537. package/src/utils/signatures/sign-message.ts +15 -6
  538. package/src/utils/signatures/sign-typed-data.ts +18 -12
  539. package/src/utils/signatures/sign.ts +5 -6
  540. package/src/utils/signatures/signature-to-hex.ts +29 -13
  541. package/src/utils/types.ts +17 -0
  542. package/src/version.ts +1 -1
  543. package/src/wallets/coinbase/coinbase-mobile.test.ts +69 -0
  544. package/src/wallets/coinbase/{coinbaseMobileSDK.ts → coinbase-mobile.ts} +1 -1
  545. package/src/wallets/coinbase/coinbase-wallet.ts +2 -2
  546. package/src/wallets/coinbase/coinbase-web.test.ts +176 -0
  547. package/src/wallets/coinbase/{coinbaseWebSDK.ts → coinbase-web.ts} +13 -17
  548. package/src/wallets/create-wallet.ts +1 -1
  549. package/src/wallets/ecosystem/get-ecosystem-wallet-auth-options.ts +1 -1
  550. package/src/wallets/ecosystem/is-ecosystem-wallet.ts +1 -1
  551. package/src/wallets/eip5792/get-calls-status.ts +2 -2
  552. package/src/wallets/eip5792/get-capabilities.ts +2 -2
  553. package/src/wallets/eip5792/send-calls.ts +2 -2
  554. package/src/wallets/eip5792/show-calls-status.ts +2 -2
  555. package/src/wallets/in-app/core/actions/sign-typed-data.enclave.ts +3 -4
  556. package/src/wallets/in-app/core/wallet/enclave-wallet.ts +1 -1
  557. package/src/wallets/in-app/core/wallet/in-app-core.test.ts +270 -0
  558. package/src/wallets/in-app/core/wallet/in-app-core.ts +16 -5
  559. package/src/wallets/in-app/web/ecosystem.ts +1 -1
  560. package/src/wallets/in-app/web/in-app.ts +2 -2
  561. package/src/wallets/in-app/web/lib/iframe-wallet.ts +2 -2
  562. package/src/wallets/injected/index.ts +1 -1
  563. package/src/wallets/interfaces/wallet.ts +7 -11
  564. package/src/wallets/native/create-wallet.ts +1 -1
  565. package/src/wallets/private-key.ts +16 -14
  566. package/src/wallets/smart/index.ts +68 -235
  567. package/src/wallets/smart/lib/bundler.ts +18 -7
  568. package/src/wallets/smart/lib/calls.ts +4 -2
  569. package/src/wallets/smart/lib/constants.ts +23 -0
  570. package/src/wallets/smart/lib/paymaster.ts +8 -6
  571. package/src/wallets/smart/lib/signing.ts +231 -0
  572. package/src/wallets/smart/lib/userop.ts +34 -10
  573. package/src/wallets/smart/presets/7579.ts +269 -0
  574. package/src/wallets/smart/presets/index.ts +1 -0
  575. package/src/wallets/smart/smart-wallet-dev.test.ts +5 -4
  576. package/src/wallets/smart/smart-wallet-integration-v07.test.ts +299 -0
  577. package/src/wallets/smart/smart-wallet-integration.test.ts +399 -0
  578. package/src/wallets/smart/smart-wallet-modular.test.ts +134 -0
  579. package/src/wallets/smart/smart-wallet-tokenpaymaster.test.ts +117 -0
  580. package/src/wallets/smart/smart-wallet.ts +4 -6
  581. package/src/wallets/smart/smart.test.ts +87 -0
  582. package/src/wallets/smart/types.ts +39 -12
  583. package/src/wallets/wallet-connect/controller.ts +1 -1
  584. package/src/wallets/wallet-connect/receiver/session-request.test.ts +5 -5
  585. package/src/wallets/wallet-types.ts +1 -1
  586. package/dist/cjs/utils/signatures/helpers/parseTypedData.js.map +0 -1
  587. package/dist/cjs/wallets/coinbase/coinbaseMobileSDK.js.map +0 -1
  588. package/dist/cjs/wallets/coinbase/coinbaseWebSDK.js.map +0 -1
  589. package/dist/esm/utils/signatures/helpers/parseTypedData.js +0 -15
  590. package/dist/esm/utils/signatures/helpers/parseTypedData.js.map +0 -1
  591. package/dist/esm/wallets/coinbase/coinbaseMobileSDK.js.map +0 -1
  592. package/dist/esm/wallets/coinbase/coinbaseWebSDK.js.map +0 -1
  593. package/dist/types/utils/signatures/helpers/parseTypedData.d.ts +0 -7
  594. package/dist/types/utils/signatures/helpers/parseTypedData.d.ts.map +0 -1
  595. package/dist/types/wallets/coinbase/coinbaseMobileSDK.d.ts.map +0 -1
  596. package/dist/types/wallets/coinbase/coinbaseWebSDK.d.ts.map +0 -1
  597. package/src/utils/signatures/helpers/parseTypedData.ts +0 -25
@@ -0,0 +1,287 @@
1
+ import { userEvent } from "@testing-library/user-event";
2
+ import { beforeEach, describe, expect, it, vi } from "vitest";
3
+ import { TEST_ACCOUNT_A } from "~test/test-wallets.js";
4
+ import { render, waitFor } from "../../../../../../test/src/react-render.js";
5
+ import { TEST_CLIENT } from "../../../../../../test/src/test-clients.js";
6
+ import { createWallet } from "../../../../../wallets/create-wallet.js";
7
+ import { useActiveWallet } from "../../../../core/hooks/wallets/useActiveWallet.js";
8
+ import type { ConnectLocale } from "../locale/types.js";
9
+ import { SignatureScreen } from "./SignatureScreen.js";
10
+
11
+ const mockAuth = vi.hoisted(() => ({
12
+ doLogin: vi.fn().mockResolvedValue(undefined),
13
+ doLogout: vi.fn().mockResolvedValue(undefined),
14
+ getLoginPayload: vi.fn().mockResolvedValue(undefined),
15
+ isLoggedIn: vi.fn().mockResolvedValue(true),
16
+ }));
17
+
18
+ vi.mock("../../../../core/hooks/auth/useSiweAuth", () => ({
19
+ useSiweAuth: () => mockAuth,
20
+ }));
21
+
22
+ vi.mock("../../../../core/hooks/wallets/useActiveWallet", () => ({
23
+ useActiveWallet: vi.fn().mockReturnValue(createWallet("io.metamask")),
24
+ }));
25
+
26
+ vi.mock("../../../../core/hooks/wallets/useActiveAccount", () => ({
27
+ useActiveAccount: () => vi.fn().mockReturnValue(TEST_ACCOUNT_A),
28
+ }));
29
+
30
+ vi.mock("../../../../core/hooks/wallets/useAdminWallet", () => ({
31
+ useAdminWallet: () => vi.fn().mockReturnValue(null),
32
+ }));
33
+
34
+ const mockConnectLocale = {
35
+ signatureScreen: {
36
+ title: "Sign In",
37
+ instructionScreen: {
38
+ title: "Sign Message",
39
+ instruction: "Please sign the message",
40
+ signInButton: "Sign In",
41
+ disconnectWallet: "Disconnect",
42
+ },
43
+ signingScreen: {
44
+ title: "Signing",
45
+ inProgress: "Signing in progress...",
46
+ failedToSignIn: "Failed to sign in",
47
+ prompt: "Please check your wallet",
48
+ tryAgain: "Try Again",
49
+ },
50
+ },
51
+ agreement: {
52
+ prefix: "By connecting, you agree to our",
53
+ termsOfService: "Terms of Service",
54
+ and: "and",
55
+ privacyPolicy: "Privacy Policy",
56
+ },
57
+ } as unknown as ConnectLocale;
58
+
59
+ describe("SignatureScreen", () => {
60
+ beforeEach(() => {
61
+ vi.clearAllMocks();
62
+ mockAuth.doLogin.mockResolvedValue(undefined);
63
+ });
64
+
65
+ it("renders initial state correctly", () => {
66
+ const { getByTestId } = render(
67
+ <SignatureScreen
68
+ onDone={() => {}}
69
+ modalSize="wide"
70
+ connectLocale={mockConnectLocale}
71
+ client={TEST_CLIENT}
72
+ auth={mockAuth}
73
+ />,
74
+ { setConnectedWallet: true },
75
+ );
76
+
77
+ expect(getByTestId("sign-in-button")).toBeInTheDocument();
78
+ expect(getByTestId("disconnect-button")).toBeInTheDocument();
79
+ });
80
+
81
+ it("handles signing flow", async () => {
82
+ const onDoneMock = vi.fn();
83
+ const { getByRole, getByText } = render(
84
+ <SignatureScreen
85
+ onDone={onDoneMock}
86
+ modalSize="wide"
87
+ connectLocale={mockConnectLocale}
88
+ client={TEST_CLIENT}
89
+ auth={mockAuth}
90
+ />,
91
+ { setConnectedWallet: true },
92
+ );
93
+
94
+ const signInButton = getByRole("button", { name: "Sign In" });
95
+ await userEvent.click(signInButton);
96
+
97
+ // Should show signing in progress
98
+ await waitFor(() => {
99
+ expect(getByText("Signing in progress...")).toBeInTheDocument();
100
+ });
101
+ });
102
+
103
+ it("shows loading state when wallet is undefined", async () => {
104
+ vi.mocked(useActiveWallet).mockReturnValueOnce(undefined);
105
+
106
+ const { queryByTestId } = render(
107
+ <SignatureScreen
108
+ onDone={() => {}}
109
+ modalSize="wide"
110
+ connectLocale={mockConnectLocale}
111
+ client={TEST_CLIENT}
112
+ auth={mockAuth}
113
+ />,
114
+ { setConnectedWallet: true },
115
+ );
116
+
117
+ expect(queryByTestId("sign-in-button")).not.toBeInTheDocument();
118
+ });
119
+
120
+ it("handles error state", async () => {
121
+ mockAuth.doLogin.mockRejectedValueOnce(new Error("Signing failed"));
122
+ const { getByTestId, getByRole, getByText } = render(
123
+ <SignatureScreen
124
+ onDone={() => {}}
125
+ modalSize="wide"
126
+ connectLocale={mockConnectLocale}
127
+ client={TEST_CLIENT}
128
+ auth={mockAuth}
129
+ />,
130
+ { setConnectedWallet: true },
131
+ );
132
+
133
+ const signInButton = await waitFor(() => {
134
+ return getByTestId("sign-in-button");
135
+ });
136
+ await userEvent.click(signInButton);
137
+
138
+ // Should show error state
139
+ await waitFor(
140
+ () => {
141
+ expect(getByText("Signing failed")).toBeInTheDocument();
142
+ expect(getByRole("button", { name: "Try Again" })).toBeInTheDocument();
143
+ },
144
+ {
145
+ timeout: 2000,
146
+ },
147
+ );
148
+ });
149
+
150
+ describe("HeadlessSignIn", () => {
151
+ const mockWallet = createWallet("inApp");
152
+ beforeEach(() => {
153
+ vi.mocked(useActiveWallet).mockReturnValue(mockWallet);
154
+ });
155
+
156
+ it("automatically triggers sign in on mount", async () => {
157
+ render(
158
+ <SignatureScreen
159
+ onDone={() => {}}
160
+ modalSize="wide"
161
+ connectLocale={mockConnectLocale}
162
+ client={TEST_CLIENT}
163
+ auth={mockAuth}
164
+ />,
165
+ { setConnectedWallet: true },
166
+ );
167
+
168
+ await waitFor(() => {
169
+ expect(mockAuth.doLogin).toHaveBeenCalledTimes(1);
170
+ });
171
+ });
172
+
173
+ it("shows signing message during signing state", async () => {
174
+ const { getByText } = render(
175
+ <SignatureScreen
176
+ onDone={() => {}}
177
+ modalSize="wide"
178
+ connectLocale={mockConnectLocale}
179
+ client={TEST_CLIENT}
180
+ auth={mockAuth}
181
+ />,
182
+ { setConnectedWallet: true },
183
+ );
184
+
185
+ await waitFor(() => {
186
+ expect(getByText("Signing")).toBeInTheDocument();
187
+ });
188
+ });
189
+
190
+ it("shows error and retry button when signing fails", async () => {
191
+ mockAuth.doLogin.mockRejectedValueOnce(
192
+ new Error("Headless signing failed"),
193
+ );
194
+
195
+ const { getByText, getByRole } = render(
196
+ <SignatureScreen
197
+ onDone={() => {}}
198
+ modalSize="wide"
199
+ connectLocale={mockConnectLocale}
200
+ client={TEST_CLIENT}
201
+ auth={mockAuth}
202
+ />,
203
+ { setConnectedWallet: true },
204
+ );
205
+
206
+ await waitFor(
207
+ () => {
208
+ expect(getByText("Headless signing failed")).toBeInTheDocument();
209
+ expect(
210
+ getByRole("button", { name: "Try Again" }),
211
+ ).toBeInTheDocument();
212
+ },
213
+ { timeout: 2000 },
214
+ );
215
+ });
216
+
217
+ it("allows retry after failure", async () => {
218
+ mockAuth.doLogin
219
+ .mockRejectedValueOnce(new Error("Failed first time"))
220
+ .mockResolvedValueOnce(undefined);
221
+
222
+ const { getByRole, getByText } = render(
223
+ <SignatureScreen
224
+ onDone={() => {}}
225
+ modalSize="wide"
226
+ connectLocale={mockConnectLocale}
227
+ client={TEST_CLIENT}
228
+ auth={mockAuth}
229
+ />,
230
+ { setConnectedWallet: true },
231
+ );
232
+
233
+ // Wait for initial failure
234
+ await waitFor(
235
+ () => {
236
+ expect(getByText("Failed first time")).toBeInTheDocument();
237
+ },
238
+ { timeout: 2000 },
239
+ );
240
+
241
+ // Click retry
242
+ const retryButton = getByRole("button", { name: "Try Again" });
243
+ await userEvent.click(retryButton);
244
+
245
+ // Should show loading again
246
+ await waitFor(() => {
247
+ expect(getByText("Signing")).toBeInTheDocument();
248
+ });
249
+
250
+ // Should have called login twice
251
+ expect(mockAuth.doLogin).toHaveBeenCalledTimes(2);
252
+ });
253
+
254
+ it("allows disconnecting wallet after failure", async () => {
255
+ const mockDisconnect = vi.fn().mockResolvedValue(undefined);
256
+ mockAuth.doLogin.mockRejectedValueOnce(new Error("Failed"));
257
+ vi.mocked(useActiveWallet).mockReturnValueOnce({
258
+ ...createWallet("io.metamask"),
259
+ disconnect: mockDisconnect,
260
+ });
261
+
262
+ const { getByTestId } = render(
263
+ <SignatureScreen
264
+ onDone={() => {}}
265
+ modalSize="wide"
266
+ connectLocale={mockConnectLocale}
267
+ client={TEST_CLIENT}
268
+ auth={mockAuth}
269
+ />,
270
+ { setConnectedWallet: true },
271
+ );
272
+
273
+ // Wait for failure and click disconnect
274
+ await waitFor(
275
+ () => {
276
+ return getByTestId("disconnect-button");
277
+ },
278
+ { timeout: 2000 },
279
+ ).then((button) => userEvent.click(button));
280
+
281
+ // Should have attempted to disconnect
282
+ await waitFor(() => {
283
+ expect(mockDisconnect).toHaveBeenCalled();
284
+ });
285
+ });
286
+ });
287
+ });
@@ -51,24 +51,26 @@ export const SignatureScreen: React.FC<{
51
51
  const adminWallet = useAdminWallet();
52
52
  const activeAccount = useActiveAccount();
53
53
  const siweAuth = useSiweAuth(wallet, activeAccount, props.auth);
54
- const [status, setStatus] = useState<Status>("idle");
54
+ const [error, setError] = useState<string | undefined>(undefined);
55
+ const [status, setStatus] = useState<Status>(error ? "failed" : "idle");
55
56
  const { disconnect } = useDisconnect();
56
57
  const locale = connectLocale.signatureScreen;
57
58
 
58
59
  const signIn = useCallback(async () => {
59
60
  try {
61
+ setError(undefined);
60
62
  setStatus("signing");
61
63
  await siweAuth.doLogin();
62
64
  onDone?.();
63
65
  } catch (err) {
64
66
  await wait(1000);
67
+ setError((err as Error).message);
65
68
  setStatus("failed");
66
- console.error("failed to log in", err);
67
69
  }
68
70
  }, [onDone, siweAuth]);
69
71
 
70
72
  if (!wallet) {
71
- return <LoadingScreen />;
73
+ return <LoadingScreen data-testid="loading-screen" />;
72
74
  }
73
75
 
74
76
  if (
@@ -78,6 +80,7 @@ export const SignatureScreen: React.FC<{
78
80
  ) {
79
81
  return (
80
82
  <HeadlessSignIn
83
+ error={error}
81
84
  signIn={signIn}
82
85
  status={status}
83
86
  connectLocale={connectLocale}
@@ -126,6 +129,7 @@ export const SignatureScreen: React.FC<{
126
129
  <Button
127
130
  fullWidth
128
131
  variant="accent"
132
+ data-testid="sign-in-button"
129
133
  onClick={signIn}
130
134
  style={{
131
135
  alignItems: "center",
@@ -138,6 +142,7 @@ export const SignatureScreen: React.FC<{
138
142
  <Button
139
143
  fullWidth
140
144
  variant="secondary"
145
+ data-testid="disconnect-button"
141
146
  onClick={() => {
142
147
  disconnect(wallet);
143
148
  }}
@@ -162,7 +167,7 @@ export const SignatureScreen: React.FC<{
162
167
  <Container flex="column" gap="md" animate="fadein" key={status}>
163
168
  <Text size="lg" center color="primaryText">
164
169
  {status === "failed"
165
- ? locale.signingScreen.failedToSignIn
170
+ ? error || locale.signingScreen.failedToSignIn
166
171
  : locale.signingScreen.inProgress}
167
172
  </Text>
168
173
 
@@ -224,12 +229,14 @@ export const SignatureScreen: React.FC<{
224
229
 
225
230
  function HeadlessSignIn({
226
231
  signIn,
232
+ error,
227
233
  status,
228
234
  connectLocale,
229
235
  wallet,
230
236
  }: {
231
237
  signIn: () => void;
232
238
  status: Status;
239
+ error: string | undefined;
233
240
  connectLocale: ConnectLocale;
234
241
  wallet: Wallet;
235
242
  }) {
@@ -262,7 +269,7 @@ function HeadlessSignIn({
262
269
  <Container>
263
270
  <Spacer y="lg" />
264
271
  <Text size="lg" center color="danger">
265
- {locale.signingScreen.failedToSignIn}
272
+ {error || locale.signingScreen.failedToSignIn}
266
273
  </Text>
267
274
 
268
275
  <Spacer y="lg" />
@@ -288,6 +295,7 @@ function HeadlessSignIn({
288
295
  onClick={() => {
289
296
  disconnect(wallet);
290
297
  }}
298
+ data-testid="disconnect-button"
291
299
  style={{
292
300
  alignItems: "center",
293
301
  padding: spacing.md,
@@ -206,6 +206,7 @@ export function AccountAvatar({
206
206
 
207
207
  throw new Error("Failed to resolve social + ens avatar");
208
208
  },
209
+ retry: false,
209
210
  ...queryOptions,
210
211
  });
211
212
 
@@ -179,6 +179,7 @@ export function AccountBalance({
179
179
  tokenAddress,
180
180
  });
181
181
  },
182
+ retry: false,
182
183
  ...queryOptions,
183
184
  });
184
185
 
@@ -160,6 +160,7 @@ export function AccountName({
160
160
  }
161
161
  return formatFn ? formatFn(name) : name;
162
162
  },
163
+ retry: false,
163
164
  ...queryOptions,
164
165
  });
165
166
 
@@ -21,7 +21,7 @@ export function usePreloadWalletProviders({
21
21
  switch (true) {
22
22
  case COINBASE === w.id: {
23
23
  const { getCoinbaseWebProvider } = await import(
24
- "../../../wallets/coinbase/coinbaseWebSDK.js"
24
+ "../../../wallets/coinbase/coinbase-web.js"
25
25
  );
26
26
  await getCoinbaseWebProvider(
27
27
  w.getConfig() as CreateWalletArgs<typeof COINBASE>[1],
@@ -0,0 +1,87 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import {
3
+ fireEvent,
4
+ render,
5
+ screen,
6
+ } from "../../../../../test/src/react-render.js";
7
+ import { TEST_CLIENT } from "../../../../../test/src/test-clients.js";
8
+ import { createWallet } from "../../../../wallets/create-wallet.js";
9
+ import { ConnectWalletSocialOptions } from "./ConnectWalletSocialOptions.js";
10
+ import en from "./locale/en.js";
11
+
12
+ describe("ConnectWalletSocialOptions", () => {
13
+ const mockSelect = vi.fn();
14
+ const mockDone = vi.fn();
15
+
16
+ const defaultProps = {
17
+ select: mockSelect,
18
+ done: mockDone,
19
+ locale: en,
20
+ chain: undefined,
21
+ client: TEST_CLIENT,
22
+ size: "compact" as const,
23
+ isLinking: false,
24
+ disabled: false,
25
+ };
26
+
27
+ it("renders Sign in with Wallet button when enabled and not linking", () => {
28
+ render(
29
+ <ConnectWalletSocialOptions
30
+ {...defaultProps}
31
+ wallet={createWallet("inApp", {
32
+ auth: {
33
+ options: ["wallet"],
34
+ },
35
+ })}
36
+ />,
37
+ );
38
+
39
+ const walletButton = screen.getByRole("button", {
40
+ name: /sign in with wallet/i,
41
+ });
42
+
43
+ expect(walletButton).toBeInTheDocument();
44
+ expect(walletButton).toHaveTextContent("Sign in with Wallet");
45
+ });
46
+
47
+ it("does not render Sign in with Wallet button when isLinking is true", () => {
48
+ render(
49
+ <ConnectWalletSocialOptions
50
+ {...defaultProps}
51
+ isLinking={true}
52
+ wallet={createWallet("inApp", {
53
+ auth: {
54
+ options: ["wallet"],
55
+ },
56
+ })}
57
+ />,
58
+ );
59
+
60
+ const walletButton = screen.queryByRole("button", {
61
+ name: /sign in with wallet/i,
62
+ });
63
+
64
+ expect(walletButton).not.toBeInTheDocument();
65
+ });
66
+
67
+ it("calls handleWalletLogin when Sign in with Wallet button is clicked", () => {
68
+ render(
69
+ <ConnectWalletSocialOptions
70
+ {...defaultProps}
71
+ wallet={createWallet("inApp", {
72
+ auth: {
73
+ options: ["wallet"],
74
+ },
75
+ })}
76
+ />,
77
+ );
78
+
79
+ const walletButton = screen.getByRole("button", {
80
+ name: /sign in with wallet/i,
81
+ });
82
+
83
+ fireEvent.click(walletButton);
84
+
85
+ expect(mockSelect).toHaveBeenCalled();
86
+ });
87
+ });
@@ -474,7 +474,7 @@ export const ConnectWalletSocialOptions = (
474
474
  )}
475
475
 
476
476
  {/* SIWE login */}
477
- {siweEnabled && (
477
+ {siweEnabled && !props.isLinking && (
478
478
  <WalletTypeRowButton
479
479
  client={props.client}
480
480
  icon={OutlineWalletIcon}
@@ -3,7 +3,7 @@ import { roundUpGas } from "../../gas/op-gas-fee-reducer.js";
3
3
  import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js";
4
4
  import type { Prettify } from "../../utils/type-utils.js";
5
5
  import type { Account } from "../../wallets/interfaces/wallet.js";
6
- import { extractError as parseEstimationError } from "../extract-error.js";
6
+ import { extractError } from "../extract-error.js";
7
7
  import type { PreparedTransaction } from "../prepare-transaction.js";
8
8
 
9
9
  export type EstimateGasOptions = Prettify<
@@ -83,7 +83,7 @@ export async function estimateGas(
83
83
  }
84
84
  return gas;
85
85
  } catch (error) {
86
- throw await parseEstimationError({
86
+ throw await extractError({
87
87
  error,
88
88
  contract: options.transaction.__contract,
89
89
  });
@@ -120,7 +120,7 @@ export async function estimateGas(
120
120
  }
121
121
  return gas;
122
122
  } catch (error) {
123
- throw await parseEstimationError({
123
+ throw await extractError({
124
124
  error,
125
125
  contract: options.transaction.__contract,
126
126
  });
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "abitype";
2
- import { type TransactionSerializable, encodeAbiParameters } from "viem";
2
+ import { encodeAbiParameters } from "viem";
3
3
  import { ZERO_ADDRESS } from "../../../../constants/addresses.js";
4
4
  import { getContract } from "../../../../contract/contract.js";
5
5
  import { isHex } from "../../../../utils/encoding/helpers/is-hex.js";
@@ -8,6 +8,7 @@ import { stringify } from "../../../../utils/json.js";
8
8
  import type { Account } from "../../../../wallets/interfaces/wallet.js";
9
9
  import type { PreparedTransaction } from "../../../prepare-transaction.js";
10
10
  import { readContract } from "../../../read-contract.js";
11
+ import type { SerializableTransaction } from "../../../serialize-transaction.js";
11
12
  import type { WaitForReceiptOptions } from "../../wait-for-tx-receipt.js";
12
13
 
13
14
  /**
@@ -27,7 +28,7 @@ type SendBiconomyTransactionOptions = {
27
28
  // TODO: update this to `Transaction<"prepared">` once the type is available to ensure only prepared transactions are accepted
28
29
  // biome-ignore lint/suspicious/noExplicitAny: library function that accepts any prepared transaction type
29
30
  transaction: PreparedTransaction<any>;
30
- serializableTransaction: TransactionSerializable;
31
+ serializableTransaction: SerializableTransaction;
31
32
  gasless: BiconomyOptions;
32
33
  };
33
34
 
@@ -1,10 +1,10 @@
1
1
  import type { Address } from "abitype";
2
- import type { TransactionSerializable } from "viem";
3
2
  import { getContract } from "../../../../contract/contract.js";
4
3
  import { stringify } from "../../../../utils/json.js";
5
4
  import type { Account } from "../../../../wallets/interfaces/wallet.js";
6
5
  import type { PreparedTransaction } from "../../../prepare-transaction.js";
7
6
  import { readContract } from "../../../read-contract.js";
7
+ import type { SerializableTransaction } from "../../../serialize-transaction.js";
8
8
  import {
9
9
  type WaitForReceiptOptions,
10
10
  waitForReceipt,
@@ -28,7 +28,7 @@ type SendengineTransactionOptions = {
28
28
  // TODO: update this to `Transaction<"prepared">` once the type is available to ensure only prepared transactions are accepted
29
29
  // biome-ignore lint/suspicious/noExplicitAny: library function that accepts any prepared transaction type
30
30
  transaction: PreparedTransaction<any>;
31
- serializableTransaction: TransactionSerializable;
31
+ serializableTransaction: SerializableTransaction;
32
32
  gasless: EngineOptions;
33
33
  };
34
34
 
@@ -1,11 +1,11 @@
1
1
  import type { Address } from "abitype";
2
- import type { TransactionSerializable } from "viem";
3
2
  import { getContract } from "../../../../contract/contract.js";
4
3
  import { isHex } from "../../../../utils/encoding/helpers/is-hex.js";
5
4
  import { stringify } from "../../../../utils/json.js";
6
5
  import type { Account } from "../../../../wallets/interfaces/wallet.js";
7
6
  import type { PreparedTransaction } from "../../../prepare-transaction.js";
8
7
  import { readContract } from "../../../read-contract.js";
8
+ import type { SerializableTransaction } from "../../../serialize-transaction.js";
9
9
  import type { WaitForReceiptOptions } from "../../wait-for-tx-receipt.js";
10
10
 
11
11
  /**
@@ -26,7 +26,7 @@ type SendOpenZeppelinTransactionOptions = {
26
26
  // TODO: update this to `Transaction<"prepared">` once the type is available to ensure only prepared transactions are accepted
27
27
  // biome-ignore lint/suspicious/noExplicitAny: library function that accepts any prepared transaction type
28
28
  transaction: PreparedTransaction<any>;
29
- serializableTransaction: TransactionSerializable;
29
+ serializableTransaction: SerializableTransaction;
30
30
  gasless: OpenZeppelinOptions;
31
31
  };
32
32
 
@@ -1,6 +1,6 @@
1
- import type { TransactionSerializable } from "viem";
2
1
  import type { Account } from "../../../wallets/interfaces/wallet.js";
3
2
  import type { PreparedTransaction } from "../../prepare-transaction.js";
3
+ import type { SerializableTransaction } from "../../serialize-transaction.js";
4
4
  import { addTransactionToStore } from "../../transaction-store.js";
5
5
  import type { WaitForReceiptOptions } from "../wait-for-tx-receipt.js";
6
6
  import type { GaslessOptions } from "./types.js";
@@ -10,7 +10,7 @@ type SendGaslessTransactionOptions = {
10
10
  // TODO: update this to `Transaction<"prepared">` once the type is available to ensure only prepared transactions are accepted
11
11
  // biome-ignore lint/suspicious/noExplicitAny: library function that accepts any prepared transaction type
12
12
  transaction: PreparedTransaction<any>;
13
- serializableTransaction: TransactionSerializable;
13
+ serializableTransaction: SerializableTransaction;
14
14
  gasless: GaslessOptions;
15
15
  };
16
16