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.
- package/dist/cjs/adapters/ethers5.js +2 -2
- package/dist/cjs/adapters/ethers5.js.map +1 -1
- package/dist/cjs/adapters/ethers6.js.map +1 -1
- package/dist/cjs/auth/verify-hash.js +2 -1
- package/dist/cjs/auth/verify-hash.js.map +1 -1
- package/dist/cjs/auth/verify-signature.js.map +1 -1
- package/dist/cjs/contract/actions/resolve-abi.js +4 -0
- package/dist/cjs/contract/actions/resolve-abi.js.map +1 -1
- package/dist/cjs/exports/wallets/smart.js +3 -1
- package/dist/cjs/exports/wallets/smart.js.map +1 -1
- package/dist/cjs/extensions/erc1271/checkContractWalletSignedTypedData.js +6 -2
- package/dist/cjs/extensions/erc1271/checkContractWalletSignedTypedData.js.map +1 -1
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js +27 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js +27 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js +71 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js +132 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js +121 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js +114 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js +114 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/execute.js +127 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/execute.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js +132 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js +139 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js +139 -0
- package/dist/cjs/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js +32 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js +31 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js +70 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js +70 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js +122 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js +71 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js +71 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js +117 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js +157 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js +51 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js +117 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js +51 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js +117 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js +139 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js.map +1 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js +117 -0
- package/dist/cjs/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js.map +1 -0
- package/dist/cjs/extensions/marketplace/direct-listings/write/buyFromListing.js +6 -0
- package/dist/cjs/extensions/marketplace/direct-listings/write/buyFromListing.js.map +1 -1
- package/dist/cjs/extensions/pack/createNewPack.js +1 -0
- package/dist/cjs/extensions/pack/createNewPack.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/balance.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/balance.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js.map +1 -1
- package/dist/cjs/react/web/utils/usePreloadWalletProviders.js +1 -1
- package/dist/cjs/react/web/utils/usePreloadWalletProviders.js.map +1 -1
- package/dist/cjs/transaction/actions/estimate-gas.js.map +1 -1
- package/dist/cjs/transaction/actions/gasless/providers/biconomy.js.map +1 -1
- package/dist/cjs/transaction/actions/gasless/providers/engine.js.map +1 -1
- package/dist/cjs/transaction/actions/gasless/providers/openzeppelin.js.map +1 -1
- package/dist/cjs/transaction/actions/sign-transaction.js +4 -7
- package/dist/cjs/transaction/actions/sign-transaction.js.map +1 -1
- package/dist/cjs/transaction/actions/to-serializable-transaction.js.map +1 -1
- package/dist/cjs/transaction/actions/zksync/getEip721Domain.js.map +1 -1
- package/dist/cjs/transaction/serialize-transaction.js +76 -9
- package/dist/cjs/transaction/serialize-transaction.js.map +1 -1
- package/dist/cjs/utils/any-evm/keyless-transaction.js +25 -4
- package/dist/cjs/utils/any-evm/keyless-transaction.js.map +1 -1
- package/dist/cjs/utils/hashing/hashMessage.js +2 -2
- package/dist/cjs/utils/hashing/hashMessage.js.map +1 -1
- package/dist/cjs/utils/hashing/hashTypedData.js +8 -6
- package/dist/cjs/utils/hashing/hashTypedData.js.map +1 -1
- package/dist/cjs/utils/signatures/helpers/{parseTypedData.js → parse-typed-data.js} +4 -4
- package/dist/cjs/utils/signatures/helpers/parse-typed-data.js.map +1 -0
- package/dist/cjs/utils/signatures/sign-message.js +12 -6
- package/dist/cjs/utils/signatures/sign-message.js.map +1 -1
- package/dist/cjs/utils/signatures/sign-typed-data.js +11 -8
- package/dist/cjs/utils/signatures/sign-typed-data.js.map +1 -1
- package/dist/cjs/utils/signatures/sign.js +4 -4
- package/dist/cjs/utils/signatures/sign.js.map +1 -1
- package/dist/cjs/utils/signatures/signature-to-hex.js +17 -10
- package/dist/cjs/utils/signatures/signature-to-hex.js.map +1 -1
- package/dist/cjs/utils/types.js +5 -0
- package/dist/cjs/utils/types.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/coinbase/{coinbaseMobileSDK.js → coinbase-mobile.js} +1 -1
- package/dist/cjs/wallets/coinbase/coinbase-mobile.js.map +1 -0
- package/dist/cjs/wallets/coinbase/coinbase-wallet.js +2 -2
- package/dist/cjs/wallets/coinbase/coinbase-wallet.js.map +1 -1
- package/dist/cjs/wallets/coinbase/{coinbaseWebSDK.js → coinbase-web.js} +11 -11
- package/dist/cjs/wallets/coinbase/coinbase-web.js.map +1 -0
- package/dist/cjs/wallets/create-wallet.js +2 -2
- package/dist/cjs/wallets/create-wallet.js.map +1 -1
- package/dist/cjs/wallets/eip5792/get-calls-status.js +3 -3
- package/dist/cjs/wallets/eip5792/get-calls-status.js.map +1 -1
- package/dist/cjs/wallets/eip5792/get-capabilities.js +3 -3
- package/dist/cjs/wallets/eip5792/get-capabilities.js.map +1 -1
- package/dist/cjs/wallets/eip5792/send-calls.js +3 -3
- package/dist/cjs/wallets/eip5792/send-calls.js.map +1 -1
- package/dist/cjs/wallets/eip5792/show-calls-status.js +3 -3
- package/dist/cjs/wallets/eip5792/show-calls-status.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/actions/sign-typed-data.enclave.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js +2 -2
- package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js +3 -3
- package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
- package/dist/cjs/wallets/injected/index.js +2 -2
- package/dist/cjs/wallets/injected/index.js.map +1 -1
- package/dist/cjs/wallets/native/create-wallet.js +2 -2
- package/dist/cjs/wallets/native/create-wallet.js.map +1 -1
- package/dist/cjs/wallets/private-key.js +2 -5
- package/dist/cjs/wallets/private-key.js.map +1 -1
- package/dist/cjs/wallets/smart/index.js +26 -160
- package/dist/cjs/wallets/smart/index.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/bundler.js +1 -1
- package/dist/cjs/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/calls.js +2 -2
- package/dist/cjs/wallets/smart/lib/calls.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/paymaster.js +7 -6
- package/dist/cjs/wallets/smart/lib/paymaster.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/signing.js +166 -0
- package/dist/cjs/wallets/smart/lib/signing.js.map +1 -0
- package/dist/cjs/wallets/smart/lib/userop.js +1 -1
- package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
- package/dist/cjs/wallets/smart/presets/7579.js +218 -0
- package/dist/cjs/wallets/smart/presets/7579.js.map +1 -0
- package/dist/cjs/wallets/smart/presets/index.js +6 -0
- package/dist/cjs/wallets/smart/presets/index.js.map +1 -0
- package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/cjs/wallets/smart/types.js.map +1 -1
- package/dist/cjs/wallets/wallet-connect/controller.js +2 -2
- package/dist/cjs/wallets/wallet-connect/controller.js.map +1 -1
- package/dist/esm/adapters/ethers5.js +2 -2
- package/dist/esm/adapters/ethers5.js.map +1 -1
- package/dist/esm/adapters/ethers6.js.map +1 -1
- package/dist/esm/auth/verify-hash.js +2 -1
- package/dist/esm/auth/verify-hash.js.map +1 -1
- package/dist/esm/auth/verify-signature.js.map +1 -1
- package/dist/esm/contract/actions/resolve-abi.js +4 -0
- package/dist/esm/contract/actions/resolve-abi.js.map +1 -1
- package/dist/esm/exports/wallets/smart.js +2 -0
- package/dist/esm/exports/wallets/smart.js.map +1 -1
- package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js +6 -2
- package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js.map +1 -1
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js +24 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js +24 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js +65 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/accountId.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js +124 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js +113 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js +106 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js +106 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/execute.js +120 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/execute.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js +125 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js +132 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/installModule.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js +132 -0
- package/dist/esm/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js +29 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js +28 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js +64 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js +64 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js +114 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js +65 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js +65 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js +110 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js +150 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js +46 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js +110 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js +46 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js +110 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js +132 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.js.map +1 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js +110 -0
- package/dist/esm/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.js.map +1 -0
- package/dist/esm/extensions/marketplace/direct-listings/write/buyFromListing.js +6 -0
- package/dist/esm/extensions/marketplace/direct-listings/write/buyFromListing.js.map +1 -1
- package/dist/esm/extensions/pack/createNewPack.js +1 -0
- package/dist/esm/extensions/pack/createNewPack.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/balance.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/balance.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/name.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/name.js.map +1 -1
- package/dist/esm/react/web/utils/usePreloadWalletProviders.js +1 -1
- package/dist/esm/react/web/utils/usePreloadWalletProviders.js.map +1 -1
- package/dist/esm/transaction/actions/estimate-gas.js +3 -3
- package/dist/esm/transaction/actions/estimate-gas.js.map +1 -1
- package/dist/esm/transaction/actions/gasless/providers/biconomy.js.map +1 -1
- package/dist/esm/transaction/actions/gasless/providers/engine.js.map +1 -1
- package/dist/esm/transaction/actions/gasless/providers/openzeppelin.js.map +1 -1
- package/dist/esm/transaction/actions/sign-transaction.js +5 -8
- package/dist/esm/transaction/actions/sign-transaction.js.map +1 -1
- package/dist/esm/transaction/actions/to-serializable-transaction.js.map +1 -1
- package/dist/esm/transaction/actions/zksync/getEip721Domain.js.map +1 -1
- package/dist/esm/transaction/serialize-transaction.js +76 -9
- package/dist/esm/transaction/serialize-transaction.js.map +1 -1
- package/dist/esm/utils/any-evm/keyless-transaction.js +26 -5
- package/dist/esm/utils/any-evm/keyless-transaction.js.map +1 -1
- package/dist/esm/utils/hashing/hashMessage.js +2 -2
- package/dist/esm/utils/hashing/hashMessage.js.map +1 -1
- package/dist/esm/utils/hashing/hashTypedData.js +8 -6
- package/dist/esm/utils/hashing/hashTypedData.js.map +1 -1
- package/dist/esm/utils/signatures/helpers/parse-typed-data.js +15 -0
- package/dist/esm/utils/signatures/helpers/parse-typed-data.js.map +1 -0
- package/dist/esm/utils/signatures/sign-message.js +12 -6
- package/dist/esm/utils/signatures/sign-message.js.map +1 -1
- package/dist/esm/utils/signatures/sign-typed-data.js +11 -8
- package/dist/esm/utils/signatures/sign-typed-data.js.map +1 -1
- package/dist/esm/utils/signatures/sign.js +4 -4
- package/dist/esm/utils/signatures/sign.js.map +1 -1
- package/dist/esm/utils/signatures/signature-to-hex.js +17 -10
- package/dist/esm/utils/signatures/signature-to-hex.js.map +1 -1
- package/dist/esm/utils/types.js +4 -1
- package/dist/esm/utils/types.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/coinbase/{coinbaseMobileSDK.js → coinbase-mobile.js} +1 -1
- package/dist/esm/wallets/coinbase/coinbase-mobile.js.map +1 -0
- package/dist/esm/wallets/coinbase/coinbase-wallet.js +2 -2
- package/dist/esm/wallets/coinbase/coinbase-wallet.js.map +1 -1
- package/dist/esm/wallets/coinbase/{coinbaseWebSDK.js → coinbase-web.js} +11 -11
- package/dist/esm/wallets/coinbase/coinbase-web.js.map +1 -0
- package/dist/esm/wallets/create-wallet.js +1 -1
- package/dist/esm/wallets/create-wallet.js.map +1 -1
- package/dist/esm/wallets/eip5792/get-calls-status.js +2 -2
- package/dist/esm/wallets/eip5792/get-calls-status.js.map +1 -1
- package/dist/esm/wallets/eip5792/get-capabilities.js +2 -2
- package/dist/esm/wallets/eip5792/get-capabilities.js.map +1 -1
- package/dist/esm/wallets/eip5792/send-calls.js +2 -2
- package/dist/esm/wallets/eip5792/send-calls.js.map +1 -1
- package/dist/esm/wallets/eip5792/show-calls-status.js +2 -2
- package/dist/esm/wallets/eip5792/show-calls-status.js.map +1 -1
- package/dist/esm/wallets/in-app/core/actions/sign-typed-data.enclave.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js +1 -1
- package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js +2 -2
- package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
- package/dist/esm/wallets/injected/index.js +1 -1
- package/dist/esm/wallets/injected/index.js.map +1 -1
- package/dist/esm/wallets/native/create-wallet.js +1 -1
- package/dist/esm/wallets/native/create-wallet.js.map +1 -1
- package/dist/esm/wallets/private-key.js +2 -5
- package/dist/esm/wallets/private-key.js.map +1 -1
- package/dist/esm/wallets/smart/index.js +24 -158
- package/dist/esm/wallets/smart/index.js.map +1 -1
- package/dist/esm/wallets/smart/lib/bundler.js +1 -1
- package/dist/esm/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/esm/wallets/smart/lib/calls.js +2 -2
- package/dist/esm/wallets/smart/lib/calls.js.map +1 -1
- package/dist/esm/wallets/smart/lib/paymaster.js +7 -6
- package/dist/esm/wallets/smart/lib/paymaster.js.map +1 -1
- package/dist/esm/wallets/smart/lib/signing.js +161 -0
- package/dist/esm/wallets/smart/lib/signing.js.map +1 -0
- package/dist/esm/wallets/smart/lib/userop.js +1 -1
- package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
- package/dist/esm/wallets/smart/presets/7579.js +215 -0
- package/dist/esm/wallets/smart/presets/7579.js.map +1 -0
- package/dist/esm/wallets/smart/presets/index.js +2 -0
- package/dist/esm/wallets/smart/presets/index.js.map +1 -0
- package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/esm/wallets/smart/types.js.map +1 -1
- package/dist/esm/wallets/wallet-connect/controller.js +1 -1
- package/dist/esm/wallets/wallet-connect/controller.js.map +1 -1
- package/dist/types/adapters/ethers5.d.ts.map +1 -1
- package/dist/types/adapters/ethers6.d.ts.map +1 -1
- package/dist/types/auth/verify-hash.d.ts.map +1 -1
- package/dist/types/auth/verify-signature.d.ts +2 -2
- package/dist/types/auth/verify-signature.d.ts.map +1 -1
- package/dist/types/contract/actions/resolve-abi.d.ts.map +1 -1
- package/dist/types/exports/wallets/smart.d.ts +1 -0
- package/dist/types/exports/wallets/smart.d.ts.map +1 -1
- package/dist/types/exports/wallets.d.ts +1 -1
- package/dist/types/exports/wallets.d.ts.map +1 -1
- package/dist/types/exports/wallets.native.d.ts +1 -1
- package/dist/types/exports/wallets.native.d.ts.map +1 -1
- package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts +4 -4
- package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts.map +1 -1
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.d.ts +29 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.d.ts +29 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/accountId.d.ts +44 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/accountId.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.d.ts +97 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.d.ts +90 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.d.ts +83 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.d.ts +83 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/execute.d.ts +86 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/execute.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.d.ts +86 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/installModule.d.ts +93 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/installModule.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.d.ts +93 -0
- package/dist/types/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.d.ts +51 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.d.ts +41 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.d.ts +44 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.d.ts +44 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.d.ts +90 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.d.ts +44 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.d.ts +44 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.d.ts +79 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.d.ts +107 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.d.ts +33 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.d.ts +79 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.d.ts +33 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.d.ts +79 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.d.ts +93 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.d.ts.map +1 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.d.ts +79 -0
- package/dist/types/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.d.ts.map +1 -0
- package/dist/types/extensions/marketplace/direct-listings/write/buyFromListing.d.ts.map +1 -1
- package/dist/types/extensions/pack/createNewPack.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/name.d.ts.map +1 -1
- package/dist/types/transaction/actions/gasless/providers/biconomy.d.ts +2 -2
- package/dist/types/transaction/actions/gasless/providers/biconomy.d.ts.map +1 -1
- package/dist/types/transaction/actions/gasless/providers/engine.d.ts +2 -2
- package/dist/types/transaction/actions/gasless/providers/engine.d.ts.map +1 -1
- package/dist/types/transaction/actions/gasless/providers/openzeppelin.d.ts +2 -2
- package/dist/types/transaction/actions/gasless/providers/openzeppelin.d.ts.map +1 -1
- package/dist/types/transaction/actions/gasless/send-gasless-transaction.d.ts +2 -2
- package/dist/types/transaction/actions/gasless/send-gasless-transaction.d.ts.map +1 -1
- package/dist/types/transaction/actions/sign-transaction.d.ts +2 -2
- package/dist/types/transaction/actions/sign-transaction.d.ts.map +1 -1
- package/dist/types/transaction/actions/to-serializable-transaction.d.ts.map +1 -1
- package/dist/types/transaction/actions/zksync/getEip721Domain.d.ts +2 -2
- package/dist/types/transaction/actions/zksync/getEip721Domain.d.ts.map +1 -1
- package/dist/types/transaction/serialize-transaction.d.ts +24 -4
- package/dist/types/transaction/serialize-transaction.d.ts.map +1 -1
- package/dist/types/utils/any-evm/keyless-transaction.d.ts +6 -4
- package/dist/types/utils/any-evm/keyless-transaction.d.ts.map +1 -1
- package/dist/types/utils/hashing/hashMessage.d.ts +3 -2
- package/dist/types/utils/hashing/hashMessage.d.ts.map +1 -1
- package/dist/types/utils/hashing/hashTypedData.d.ts +3 -3
- package/dist/types/utils/hashing/hashTypedData.d.ts.map +1 -1
- package/dist/types/utils/signatures/helpers/parse-typed-data.d.ts +6 -0
- package/dist/types/utils/signatures/helpers/parse-typed-data.d.ts.map +1 -0
- package/dist/types/utils/signatures/sign-message.d.ts.map +1 -1
- package/dist/types/utils/signatures/sign-typed-data.d.ts +3 -4
- package/dist/types/utils/signatures/sign-typed-data.d.ts.map +1 -1
- package/dist/types/utils/signatures/sign.d.ts +6 -2
- package/dist/types/utils/signatures/sign.d.ts.map +1 -1
- package/dist/types/utils/signatures/signature-to-hex.d.ts +7 -3
- package/dist/types/utils/signatures/signature-to-hex.d.ts.map +1 -1
- package/dist/types/utils/types.d.ts +13 -0
- package/dist/types/utils/types.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/coinbase/{coinbaseMobileSDK.d.ts → coinbase-mobile.d.ts} +2 -2
- package/dist/types/wallets/coinbase/coinbase-mobile.d.ts.map +1 -0
- package/dist/types/wallets/coinbase/{coinbaseWebSDK.d.ts → coinbase-web.d.ts} +1 -1
- package/dist/types/wallets/coinbase/coinbase-web.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/actions/sign-typed-data.enclave.d.ts +3 -4
- package/dist/types/wallets/in-app/core/actions/sign-typed-data.enclave.d.ts.map +1 -1
- package/dist/types/wallets/interfaces/wallet.d.ts +6 -4
- package/dist/types/wallets/interfaces/wallet.d.ts.map +1 -1
- package/dist/types/wallets/private-key.d.ts.map +1 -1
- package/dist/types/wallets/smart/index.d.ts +3 -2
- package/dist/types/wallets/smart/index.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/bundler.d.ts +3 -3
- package/dist/types/wallets/smart/lib/bundler.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/calls.d.ts +2 -2
- package/dist/types/wallets/smart/lib/calls.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/paymaster.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/signing.d.ts +20 -0
- package/dist/types/wallets/smart/lib/signing.d.ts.map +1 -0
- package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
- package/dist/types/wallets/smart/presets/7579.d.ts +34 -0
- package/dist/types/wallets/smart/presets/7579.d.ts.map +1 -0
- package/dist/types/wallets/smart/presets/index.d.ts +2 -0
- package/dist/types/wallets/smart/presets/index.d.ts.map +1 -0
- package/dist/types/wallets/smart/smart-wallet.d.ts +2 -2
- package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
- package/dist/types/wallets/smart/types.d.ts +23 -9
- package/dist/types/wallets/smart/types.d.ts.map +1 -1
- package/dist/types/wallets/wallet-types.d.ts +1 -1
- package/dist/types/wallets/wallet-types.d.ts.map +1 -1
- package/package.json +23 -23
- package/src/adapters/ethers5.test.ts +92 -0
- package/src/adapters/ethers5.ts +6 -5
- package/src/adapters/ethers6.ts +3 -2
- package/src/adapters/viem.test.ts +5 -4
- package/src/auth/verify-hash.ts +2 -1
- package/src/auth/verify-signature.ts +2 -2
- package/src/contract/actions/resolve-abi.ts +6 -0
- package/src/exports/wallets/smart.ts +3 -0
- package/src/exports/wallets.native.ts +1 -1
- package/src/exports/wallets.ts +1 -1
- package/src/extensions/erc1271/checkContractWalletSignedTypedData.ts +9 -5
- package/src/extensions/erc7579/__generated__/IERC7579Account/events/ModuleInstalled.ts +24 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/events/ModuleUninstalled.ts +24 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/read/accountId.ts +71 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/read/isModuleInstalled.ts +153 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/read/isValidSignature.ts +133 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/read/supportsExecutionMode.ts +132 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/read/supportsModule.ts +128 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/write/execute.ts +149 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/write/executeFromExecutor.ts +158 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/write/installModule.ts +164 -0
- package/src/extensions/erc7579/__generated__/IERC7579Account/write/uninstallModule.ts +167 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.ts +49 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/events/Upgraded.ts +40 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/accountImplementation.ts +70 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/entrypoint.ts +70 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/getAddress.ts +134 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/implementation.ts +71 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/read/owner.ts +71 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/addStake.ts +138 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.ts +193 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/renounceOwnership.ts +50 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/transferOwnership.ts +139 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/unlockStake.ts +50 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/upgradeTo.ts +140 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/withdraw.ts +159 -0
- package/src/extensions/erc7579/__generated__/ModularAccountFactory/write/withdrawStake.ts +137 -0
- package/src/extensions/marketplace/direct-listings/direct-listings.test.ts +74 -14
- package/src/extensions/marketplace/direct-listings/write/buyFromListing.ts +6 -0
- package/src/extensions/pack/createNewPack.ts +1 -0
- package/src/react/web/ui/prebuilt/Account/avatar.tsx +1 -0
- package/src/react/web/ui/prebuilt/Account/balance.tsx +1 -0
- package/src/react/web/ui/prebuilt/Account/name.tsx +1 -0
- package/src/react/web/utils/usePreloadWalletProviders.ts +1 -1
- package/src/transaction/actions/estimate-gas.ts +3 -3
- package/src/transaction/actions/gasless/providers/biconomy.ts +3 -2
- package/src/transaction/actions/gasless/providers/engine.ts +2 -2
- package/src/transaction/actions/gasless/providers/openzeppelin.ts +2 -2
- package/src/transaction/actions/gasless/send-gasless-transaction.ts +2 -2
- package/src/transaction/actions/sign-transaction.test.ts +8 -15
- package/src/transaction/actions/sign-transaction.ts +9 -11
- package/src/transaction/actions/to-serializable-transaction.ts +2 -2
- package/src/transaction/actions/zksync/getEip721Domain.ts +2 -2
- package/src/transaction/serialize-transaction.test.ts +135 -229
- package/src/transaction/serialize-transaction.ts +131 -22
- package/src/utils/any-evm/keyless-transaction.test.ts +91 -0
- package/src/utils/any-evm/keyless-transaction.ts +43 -14
- package/src/utils/hashing/hashMessage.ts +4 -3
- package/src/utils/hashing/hashTypedData.ts +24 -27
- package/src/utils/signatures/helpers/parse-typed-data.test.ts +56 -0
- package/src/utils/signatures/helpers/parse-typed-data.ts +29 -0
- package/src/utils/signatures/sign-message.ts +15 -6
- package/src/utils/signatures/sign-typed-data.ts +18 -12
- package/src/utils/signatures/sign.ts +5 -6
- package/src/utils/signatures/signature-to-hex.ts +29 -13
- package/src/utils/types.ts +17 -0
- package/src/version.ts +1 -1
- package/src/wallets/coinbase/coinbase-mobile.test.ts +69 -0
- package/src/wallets/coinbase/{coinbaseMobileSDK.ts → coinbase-mobile.ts} +1 -1
- package/src/wallets/coinbase/coinbase-wallet.ts +2 -2
- package/src/wallets/coinbase/coinbase-web.test.ts +176 -0
- package/src/wallets/coinbase/{coinbaseWebSDK.ts → coinbase-web.ts} +13 -17
- package/src/wallets/create-wallet.ts +1 -1
- package/src/wallets/eip5792/get-calls-status.ts +2 -2
- package/src/wallets/eip5792/get-capabilities.ts +2 -2
- package/src/wallets/eip5792/send-calls.ts +2 -2
- package/src/wallets/eip5792/show-calls-status.ts +2 -2
- package/src/wallets/in-app/core/actions/sign-typed-data.enclave.ts +3 -4
- package/src/wallets/in-app/core/wallet/enclave-wallet.ts +1 -1
- package/src/wallets/in-app/web/lib/iframe-wallet.ts +2 -2
- package/src/wallets/injected/index.ts +1 -1
- package/src/wallets/interfaces/wallet.ts +7 -11
- package/src/wallets/native/create-wallet.ts +1 -1
- package/src/wallets/private-key.ts +16 -14
- package/src/wallets/smart/index.ts +31 -218
- package/src/wallets/smart/lib/bundler.ts +5 -4
- package/src/wallets/smart/lib/calls.ts +4 -2
- package/src/wallets/smart/lib/paymaster.ts +8 -6
- package/src/wallets/smart/lib/signing.ts +231 -0
- package/src/wallets/smart/lib/userop.ts +3 -2
- package/src/wallets/smart/presets/7579.ts +269 -0
- package/src/wallets/smart/presets/index.ts +1 -0
- package/src/wallets/smart/smart-wallet-dev.test.ts +5 -4
- package/src/wallets/smart/smart-wallet-integration-v07.test.ts +299 -0
- package/src/wallets/smart/smart-wallet-integration.test.ts +399 -0
- package/src/wallets/smart/smart-wallet-modular.test.ts +134 -0
- package/src/wallets/smart/smart-wallet.ts +3 -5
- package/src/wallets/smart/smart.test.ts +87 -0
- package/src/wallets/smart/types.ts +31 -8
- package/src/wallets/wallet-connect/controller.ts +1 -1
- package/src/wallets/wallet-connect/receiver/session-request.test.ts +5 -5
- package/src/wallets/wallet-types.ts +1 -1
- package/dist/cjs/utils/signatures/helpers/parseTypedData.js.map +0 -1
- package/dist/cjs/wallets/coinbase/coinbaseMobileSDK.js.map +0 -1
- package/dist/cjs/wallets/coinbase/coinbaseWebSDK.js.map +0 -1
- package/dist/esm/utils/signatures/helpers/parseTypedData.js +0 -15
- package/dist/esm/utils/signatures/helpers/parseTypedData.js.map +0 -1
- package/dist/esm/wallets/coinbase/coinbaseMobileSDK.js.map +0 -1
- package/dist/esm/wallets/coinbase/coinbaseWebSDK.js.map +0 -1
- package/dist/types/utils/signatures/helpers/parseTypedData.d.ts +0 -7
- package/dist/types/utils/signatures/helpers/parseTypedData.d.ts.map +0 -1
- package/dist/types/wallets/coinbase/coinbaseMobileSDK.d.ts.map +0 -1
- package/dist/types/wallets/coinbase/coinbaseWebSDK.d.ts.map +0 -1
- package/src/utils/signatures/helpers/parseTypedData.ts +0 -25
@@ -0,0 +1,231 @@
|
|
1
|
+
import type * as ox__TypedData from "ox/TypedData";
|
2
|
+
import { serializeErc6492Signature } from "../../../auth/serialize-erc6492-signature.js";
|
3
|
+
import { verifyHash } from "../../../auth/verify-hash.js";
|
4
|
+
import {
|
5
|
+
type ThirdwebContract,
|
6
|
+
getContract,
|
7
|
+
} from "../../../contract/contract.js";
|
8
|
+
import { encode } from "../../../transaction/actions/encode.js";
|
9
|
+
import { readContract } from "../../../transaction/read-contract.js";
|
10
|
+
import { encodeAbiParameters } from "../../../utils/abi/encodeAbiParameters.js";
|
11
|
+
import type { Hex } from "../../../utils/encoding/hex.js";
|
12
|
+
import { hashMessage } from "../../../utils/hashing/hashMessage.js";
|
13
|
+
import { hashTypedData } from "../../../utils/hashing/hashTypedData.js";
|
14
|
+
import type { SignableMessage } from "../../../utils/types.js";
|
15
|
+
import type { SmartAccountOptions } from "../types.js";
|
16
|
+
import { prepareCreateAccount } from "./calls.js";
|
17
|
+
|
18
|
+
export async function deployAndSignMessage({
|
19
|
+
accountContract,
|
20
|
+
factoryContract,
|
21
|
+
options,
|
22
|
+
message,
|
23
|
+
}: {
|
24
|
+
accountContract: ThirdwebContract;
|
25
|
+
factoryContract: ThirdwebContract;
|
26
|
+
options: SmartAccountOptions;
|
27
|
+
message: SignableMessage;
|
28
|
+
}) {
|
29
|
+
const originalMsgHash = hashMessage(message);
|
30
|
+
const is712Factory = await checkFor712Factory({
|
31
|
+
factoryContract,
|
32
|
+
accountContract,
|
33
|
+
originalMsgHash,
|
34
|
+
});
|
35
|
+
|
36
|
+
let sig: `0x${string}`;
|
37
|
+
if (is712Factory) {
|
38
|
+
const wrappedMessageHash = encodeAbiParameters(
|
39
|
+
[{ type: "bytes32" }],
|
40
|
+
[originalMsgHash],
|
41
|
+
);
|
42
|
+
|
43
|
+
sig = await options.personalAccount.signTypedData({
|
44
|
+
domain: {
|
45
|
+
name: "Account",
|
46
|
+
version: "1",
|
47
|
+
chainId: options.chain.id,
|
48
|
+
verifyingContract: accountContract.address,
|
49
|
+
},
|
50
|
+
primaryType: "AccountMessage",
|
51
|
+
types: { AccountMessage: [{ name: "message", type: "bytes" }] },
|
52
|
+
message: { message: wrappedMessageHash },
|
53
|
+
});
|
54
|
+
} else {
|
55
|
+
sig = await options.personalAccount.signMessage({ message });
|
56
|
+
}
|
57
|
+
|
58
|
+
const deployTx = prepareCreateAccount({
|
59
|
+
factoryContract,
|
60
|
+
adminAddress: options.personalAccount.address,
|
61
|
+
accountSalt: options.overrides?.accountSalt,
|
62
|
+
createAccountOverride: options.overrides?.createAccount,
|
63
|
+
});
|
64
|
+
if (!deployTx) {
|
65
|
+
throw new Error("Create account override not provided");
|
66
|
+
}
|
67
|
+
const initCode = await encode(deployTx);
|
68
|
+
const erc6492Sig = serializeErc6492Signature({
|
69
|
+
address: factoryContract.address,
|
70
|
+
data: initCode,
|
71
|
+
signature: sig,
|
72
|
+
});
|
73
|
+
|
74
|
+
// check if the signature is valid
|
75
|
+
const isValid = await verifyHash({
|
76
|
+
hash: originalMsgHash,
|
77
|
+
signature: erc6492Sig,
|
78
|
+
address: accountContract.address,
|
79
|
+
chain: accountContract.chain,
|
80
|
+
client: accountContract.client,
|
81
|
+
});
|
82
|
+
|
83
|
+
if (isValid) {
|
84
|
+
return erc6492Sig;
|
85
|
+
}
|
86
|
+
throw new Error(
|
87
|
+
"Unable to verify signature on smart account, please make sure the admin wallet has permissions and the signature is valid.",
|
88
|
+
);
|
89
|
+
}
|
90
|
+
|
91
|
+
export async function deployAndSignTypedData<
|
92
|
+
const typedData extends ox__TypedData.TypedData | Record<string, unknown>,
|
93
|
+
primaryType extends keyof typedData | "EIP712Domain" = keyof typedData,
|
94
|
+
>({
|
95
|
+
accountContract,
|
96
|
+
factoryContract,
|
97
|
+
options,
|
98
|
+
typedData,
|
99
|
+
}: {
|
100
|
+
accountContract: ThirdwebContract;
|
101
|
+
factoryContract: ThirdwebContract;
|
102
|
+
options: SmartAccountOptions;
|
103
|
+
typedData: ox__TypedData.Definition<typedData, primaryType>;
|
104
|
+
}) {
|
105
|
+
const isSelfVerifyingContract =
|
106
|
+
(
|
107
|
+
typedData.domain as ox__TypedData.Domain
|
108
|
+
)?.verifyingContract?.toLowerCase() ===
|
109
|
+
accountContract.address?.toLowerCase();
|
110
|
+
|
111
|
+
if (isSelfVerifyingContract) {
|
112
|
+
// if the contract is self-verifying, we can just sign the message with the EOA (ie. adding a session key)
|
113
|
+
return options.personalAccount.signTypedData(typedData);
|
114
|
+
}
|
115
|
+
|
116
|
+
const originalMsgHash = hashTypedData(typedData);
|
117
|
+
// check if the account contract supports EIP721 domain separator based signing
|
118
|
+
const is712Factory = await checkFor712Factory({
|
119
|
+
factoryContract,
|
120
|
+
accountContract,
|
121
|
+
originalMsgHash,
|
122
|
+
});
|
123
|
+
|
124
|
+
let sig: `0x${string}`;
|
125
|
+
if (is712Factory) {
|
126
|
+
const wrappedMessageHash = encodeAbiParameters(
|
127
|
+
[{ type: "bytes32" }],
|
128
|
+
[originalMsgHash],
|
129
|
+
);
|
130
|
+
sig = await options.personalAccount.signTypedData({
|
131
|
+
domain: {
|
132
|
+
name: "Account",
|
133
|
+
version: "1",
|
134
|
+
chainId: options.chain.id,
|
135
|
+
verifyingContract: accountContract.address,
|
136
|
+
},
|
137
|
+
primaryType: "AccountMessage",
|
138
|
+
types: { AccountMessage: [{ name: "message", type: "bytes" }] },
|
139
|
+
message: { message: wrappedMessageHash },
|
140
|
+
});
|
141
|
+
} else {
|
142
|
+
sig = await options.personalAccount.signTypedData(typedData);
|
143
|
+
}
|
144
|
+
|
145
|
+
const deployTx = prepareCreateAccount({
|
146
|
+
factoryContract,
|
147
|
+
adminAddress: options.personalAccount.address,
|
148
|
+
accountSalt: options.overrides?.accountSalt,
|
149
|
+
createAccountOverride: options.overrides?.createAccount,
|
150
|
+
});
|
151
|
+
if (!deployTx) {
|
152
|
+
throw new Error("Create account override not provided");
|
153
|
+
}
|
154
|
+
const initCode = await encode(deployTx);
|
155
|
+
const erc6492Sig = serializeErc6492Signature({
|
156
|
+
address: factoryContract.address,
|
157
|
+
data: initCode,
|
158
|
+
signature: sig,
|
159
|
+
});
|
160
|
+
|
161
|
+
// check if the signature is valid
|
162
|
+
const isValid = await verifyHash({
|
163
|
+
hash: originalMsgHash,
|
164
|
+
signature: erc6492Sig,
|
165
|
+
address: accountContract.address,
|
166
|
+
chain: accountContract.chain,
|
167
|
+
client: accountContract.client,
|
168
|
+
});
|
169
|
+
|
170
|
+
if (isValid) {
|
171
|
+
return erc6492Sig;
|
172
|
+
}
|
173
|
+
throw new Error(
|
174
|
+
"Unable to verify signature on smart account, please make sure the admin wallet has permissions and the signature is valid.",
|
175
|
+
);
|
176
|
+
}
|
177
|
+
|
178
|
+
export async function confirmContractDeployment(args: {
|
179
|
+
accountContract: ThirdwebContract;
|
180
|
+
}) {
|
181
|
+
const { accountContract } = args;
|
182
|
+
const startTime = Date.now();
|
183
|
+
const timeout = 60000; // wait 1 minute max
|
184
|
+
const { isContractDeployed } = await import(
|
185
|
+
"../../../utils/bytecode/is-contract-deployed.js"
|
186
|
+
);
|
187
|
+
let isDeployed = await isContractDeployed(accountContract);
|
188
|
+
while (!isDeployed) {
|
189
|
+
if (Date.now() - startTime > timeout) {
|
190
|
+
throw new Error(
|
191
|
+
"Timeout: Smart account deployment not confirmed after 1 minute",
|
192
|
+
);
|
193
|
+
}
|
194
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
195
|
+
isDeployed = await isContractDeployed(accountContract);
|
196
|
+
}
|
197
|
+
}
|
198
|
+
|
199
|
+
async function checkFor712Factory({
|
200
|
+
factoryContract,
|
201
|
+
accountContract,
|
202
|
+
originalMsgHash,
|
203
|
+
}: {
|
204
|
+
factoryContract: ThirdwebContract;
|
205
|
+
accountContract: ThirdwebContract;
|
206
|
+
originalMsgHash: Hex;
|
207
|
+
}) {
|
208
|
+
try {
|
209
|
+
const implementationAccount = await readContract({
|
210
|
+
contract: factoryContract,
|
211
|
+
method: "function accountImplementation() public view returns (address)",
|
212
|
+
});
|
213
|
+
// check if the account contract supports EIP721 domain separator or modular based signing
|
214
|
+
const is712Factory = await readContract({
|
215
|
+
contract: getContract({
|
216
|
+
address: implementationAccount,
|
217
|
+
chain: accountContract.chain,
|
218
|
+
client: accountContract.client,
|
219
|
+
}),
|
220
|
+
method:
|
221
|
+
"function getMessageHash(bytes32 _hash) public view returns (bytes32)",
|
222
|
+
params: [originalMsgHash],
|
223
|
+
})
|
224
|
+
.then((res) => res !== "0x")
|
225
|
+
.catch(() => false);
|
226
|
+
|
227
|
+
return is712Factory;
|
228
|
+
} catch {
|
229
|
+
return false;
|
230
|
+
}
|
231
|
+
}
|
@@ -632,6 +632,7 @@ async function getAccountInitCode(options: {
|
|
632
632
|
accountSalt?: string;
|
633
633
|
createAccountOverride?: (
|
634
634
|
factoryContract: ThirdwebContract,
|
635
|
+
adminAddress: string,
|
635
636
|
) => PreparedTransaction;
|
636
637
|
}): Promise<Hex> {
|
637
638
|
const { factoryContract, adminAddress, accountSalt, createAccountOverride } =
|
@@ -651,7 +652,7 @@ async function getAccountNonce(options: {
|
|
651
652
|
client: ThirdwebClient;
|
652
653
|
entrypointAddress?: string;
|
653
654
|
getNonceOverride?: (accountContract: ThirdwebContract) => Promise<bigint>;
|
654
|
-
}) {
|
655
|
+
}): Promise<bigint> {
|
655
656
|
const {
|
656
657
|
accountContract,
|
657
658
|
chain,
|
@@ -662,7 +663,7 @@ async function getAccountNonce(options: {
|
|
662
663
|
if (getNonceOverride) {
|
663
664
|
return getNonceOverride(accountContract);
|
664
665
|
}
|
665
|
-
return getNonce({
|
666
|
+
return await getNonce({
|
666
667
|
contract: getContract({
|
667
668
|
address: entrypointAddress || ENTRYPOINT_ADDRESS_v0_6,
|
668
669
|
chain,
|
@@ -0,0 +1,269 @@
|
|
1
|
+
import { AbiParameters, Hex } from "ox";
|
2
|
+
import { serializeErc6492Signature } from "../../../auth/serialize-erc6492-signature.js";
|
3
|
+
import { verifyHash } from "../../../auth/verify-hash.js";
|
4
|
+
import { ZERO_ADDRESS } from "../../../constants/addresses.js";
|
5
|
+
import {
|
6
|
+
type ThirdwebContract,
|
7
|
+
getContract,
|
8
|
+
} from "../../../contract/contract.js";
|
9
|
+
import { getNonce } from "../../../extensions/erc4337/__generated__/IEntryPoint/read/getNonce.js";
|
10
|
+
import { execute } from "../../../extensions/erc7579/__generated__/IERC7579Account/write/execute.js";
|
11
|
+
import { createAccountWithModules } from "../../../extensions/erc7579/__generated__/ModularAccountFactory/write/createAccountWithModules.js";
|
12
|
+
import { encode } from "../../../transaction/actions/encode.js";
|
13
|
+
import type { PreparedTransaction } from "../../../transaction/prepare-transaction.js";
|
14
|
+
import { readContract } from "../../../transaction/read-contract.js";
|
15
|
+
import { encodeAbiParameters } from "../../../utils/abi/encodeAbiParameters.js";
|
16
|
+
import { getAddress } from "../../../utils/address.js";
|
17
|
+
import { hashMessage } from "../../../utils/hashing/hashMessage.js";
|
18
|
+
import { hashTypedData } from "../../../utils/hashing/hashTypedData.js";
|
19
|
+
import type { Account } from "../../interfaces/wallet.js";
|
20
|
+
import { ENTRYPOINT_ADDRESS_v0_7 } from "../lib/constants.js";
|
21
|
+
import { generateRandomUint192 } from "../lib/utils.js";
|
22
|
+
import type { SmartWalletOptions } from "../types.js";
|
23
|
+
|
24
|
+
export type ERC7579Config = SmartWalletOptions & {
|
25
|
+
validatorAddress: string;
|
26
|
+
factoryAddress: string;
|
27
|
+
};
|
28
|
+
|
29
|
+
/**
|
30
|
+
* Config for a ERC7579 modular smart wallet.
|
31
|
+
*
|
32
|
+
* This configuration is in BETA, expect breaking changes.
|
33
|
+
*
|
34
|
+
* @param options - Optional overrides for the smart wallet.
|
35
|
+
* @returns The smart wallet options.
|
36
|
+
*
|
37
|
+
* @example
|
38
|
+
* ```typescript
|
39
|
+
* import { sepolia } from "thirdweb/chains";
|
40
|
+
* import { smartWallet, Config } from "thirdweb/wallets/smart";
|
41
|
+
*
|
42
|
+
* const modularSmartWallet = smartWallet(
|
43
|
+
* Config.erc7579({
|
44
|
+
* chain: sepolia,
|
45
|
+
* sponsorGas: true,
|
46
|
+
* factoryAddress: "0x...", // the 7579 factory address
|
47
|
+
* validatorAddress: "0x...", // the default validator module address
|
48
|
+
* }),
|
49
|
+
* });
|
50
|
+
* ```
|
51
|
+
*
|
52
|
+
* @wallet
|
53
|
+
* @extension ERC7579
|
54
|
+
* @beta
|
55
|
+
*/
|
56
|
+
export function erc7579(options: ERC7579Config): SmartWalletOptions {
|
57
|
+
const saltHex =
|
58
|
+
options.overrides?.accountSalt &&
|
59
|
+
Hex.validate(options.overrides.accountSalt)
|
60
|
+
? options.overrides.accountSalt
|
61
|
+
: Hex.fromString(options.overrides?.accountSalt ?? "");
|
62
|
+
const defaultValidator = getAddress(options.validatorAddress);
|
63
|
+
const modularAccountOptions: SmartWalletOptions = {
|
64
|
+
...options,
|
65
|
+
factoryAddress: options.factoryAddress,
|
66
|
+
overrides: {
|
67
|
+
entrypointAddress: ENTRYPOINT_ADDRESS_v0_7,
|
68
|
+
createAccount(factoryContract, admin) {
|
69
|
+
// TODO (msa) - let ppl pass whatever modules they want here
|
70
|
+
return createAccountWithModules({
|
71
|
+
contract: factoryContract,
|
72
|
+
asyncParams: async () => {
|
73
|
+
// default validator
|
74
|
+
const modules = [
|
75
|
+
{
|
76
|
+
moduleTypeId: 1n, // validator type id
|
77
|
+
module: defaultValidator,
|
78
|
+
initData: Hex.fromString(""),
|
79
|
+
},
|
80
|
+
];
|
81
|
+
return {
|
82
|
+
owner: admin,
|
83
|
+
salt: saltHex,
|
84
|
+
modules,
|
85
|
+
};
|
86
|
+
},
|
87
|
+
});
|
88
|
+
},
|
89
|
+
async predictAddress(factoryContract, admin) {
|
90
|
+
return readContract({
|
91
|
+
contract: factoryContract,
|
92
|
+
method:
|
93
|
+
"function getAddress(address owner, bytes salt) returns (address)",
|
94
|
+
params: [admin, saltHex],
|
95
|
+
});
|
96
|
+
},
|
97
|
+
execute(accountContract, transaction) {
|
98
|
+
return execute({
|
99
|
+
contract: accountContract,
|
100
|
+
async asyncParams() {
|
101
|
+
return {
|
102
|
+
mode: Hex.padRight("0x00", 32), // single execution
|
103
|
+
executionCalldata: AbiParameters.encodePacked(
|
104
|
+
["address", "uint256", "bytes"],
|
105
|
+
[
|
106
|
+
transaction.to || ZERO_ADDRESS,
|
107
|
+
transaction.value || 0n,
|
108
|
+
transaction.data || "0x",
|
109
|
+
],
|
110
|
+
),
|
111
|
+
};
|
112
|
+
},
|
113
|
+
});
|
114
|
+
},
|
115
|
+
executeBatch(accountContract, transactions) {
|
116
|
+
return execute({
|
117
|
+
contract: accountContract,
|
118
|
+
async asyncParams() {
|
119
|
+
return {
|
120
|
+
mode: Hex.padRight("0x01", 32), // batch execution
|
121
|
+
executionCalldata: AbiParameters.encode(
|
122
|
+
[
|
123
|
+
{
|
124
|
+
type: "tuple[]",
|
125
|
+
components: [
|
126
|
+
{ type: "address", name: "to" },
|
127
|
+
{ type: "uint256", name: "value" },
|
128
|
+
{ type: "bytes", name: "data" },
|
129
|
+
],
|
130
|
+
},
|
131
|
+
],
|
132
|
+
[
|
133
|
+
transactions.map((t) => ({
|
134
|
+
to: t.to || ZERO_ADDRESS,
|
135
|
+
value: t.value || 0n,
|
136
|
+
data: t.data || "0x",
|
137
|
+
})),
|
138
|
+
],
|
139
|
+
),
|
140
|
+
};
|
141
|
+
},
|
142
|
+
});
|
143
|
+
},
|
144
|
+
async getAccountNonce(accountContract) {
|
145
|
+
const entryPointNonce = await getNonce({
|
146
|
+
contract: getContract({
|
147
|
+
address: ENTRYPOINT_ADDRESS_v0_7,
|
148
|
+
chain: accountContract.chain,
|
149
|
+
client: accountContract.client,
|
150
|
+
}),
|
151
|
+
key: generateRandomUint192(),
|
152
|
+
sender: accountContract.address,
|
153
|
+
});
|
154
|
+
// TODO (msa) - could be different if validator for the deployed account is different
|
155
|
+
const withValidator = Hex.from(
|
156
|
+
`${defaultValidator}${Hex.fromNumber(entryPointNonce).slice(42)}`,
|
157
|
+
);
|
158
|
+
return Hex.toBigInt(withValidator);
|
159
|
+
},
|
160
|
+
async signMessage(options) {
|
161
|
+
const { accountContract, factoryContract, adminAccount, message } =
|
162
|
+
options;
|
163
|
+
const originalMsgHash = hashMessage(message);
|
164
|
+
const createAccount = modularAccountOptions.overrides?.createAccount;
|
165
|
+
if (!createAccount) {
|
166
|
+
throw new Error("Create account override not provided");
|
167
|
+
}
|
168
|
+
return generateSignature({
|
169
|
+
accountContract,
|
170
|
+
factoryContract,
|
171
|
+
adminAccount,
|
172
|
+
originalMsgHash,
|
173
|
+
defaultValidator,
|
174
|
+
createAccount,
|
175
|
+
});
|
176
|
+
},
|
177
|
+
async signTypedData(options) {
|
178
|
+
const { accountContract, factoryContract, adminAccount, typedData } =
|
179
|
+
options;
|
180
|
+
const originalMsgHash = hashTypedData(typedData);
|
181
|
+
const createAccount = modularAccountOptions.overrides?.createAccount;
|
182
|
+
if (!createAccount) {
|
183
|
+
throw new Error("Create account override not provided");
|
184
|
+
}
|
185
|
+
return generateSignature({
|
186
|
+
accountContract,
|
187
|
+
factoryContract,
|
188
|
+
adminAccount,
|
189
|
+
originalMsgHash,
|
190
|
+
defaultValidator,
|
191
|
+
createAccount,
|
192
|
+
});
|
193
|
+
},
|
194
|
+
...options.overrides,
|
195
|
+
},
|
196
|
+
};
|
197
|
+
return modularAccountOptions;
|
198
|
+
}
|
199
|
+
|
200
|
+
async function generateSignature(options: {
|
201
|
+
accountContract: ThirdwebContract;
|
202
|
+
factoryContract: ThirdwebContract;
|
203
|
+
adminAccount: Account;
|
204
|
+
originalMsgHash: Hex.Hex;
|
205
|
+
defaultValidator: string;
|
206
|
+
createAccount: (
|
207
|
+
factoryContract: ThirdwebContract,
|
208
|
+
admin: string,
|
209
|
+
) => PreparedTransaction;
|
210
|
+
}) {
|
211
|
+
const {
|
212
|
+
accountContract,
|
213
|
+
factoryContract,
|
214
|
+
adminAccount,
|
215
|
+
originalMsgHash,
|
216
|
+
defaultValidator,
|
217
|
+
createAccount,
|
218
|
+
} = options;
|
219
|
+
const wrappedMessageHash = encodeAbiParameters(
|
220
|
+
[{ type: "bytes32" }],
|
221
|
+
[originalMsgHash],
|
222
|
+
);
|
223
|
+
|
224
|
+
const rawSig = await adminAccount.signTypedData({
|
225
|
+
domain: {
|
226
|
+
// TODO (msa) - assumes our default validator here
|
227
|
+
name: "DefaultValidator",
|
228
|
+
version: "1",
|
229
|
+
chainId: accountContract.chain.id,
|
230
|
+
verifyingContract: defaultValidator,
|
231
|
+
},
|
232
|
+
primaryType: "AccountMessage",
|
233
|
+
types: { AccountMessage: [{ name: "message", type: "bytes" }] },
|
234
|
+
message: { message: wrappedMessageHash },
|
235
|
+
});
|
236
|
+
|
237
|
+
// add the validator address to the signature
|
238
|
+
const sig = encodeAbiParameters(
|
239
|
+
[{ type: "address" }, { type: "bytes" }],
|
240
|
+
[defaultValidator, rawSig],
|
241
|
+
);
|
242
|
+
|
243
|
+
const deployTx = createAccount(factoryContract, adminAccount.address);
|
244
|
+
if (!deployTx) {
|
245
|
+
throw new Error("Create account override not provided");
|
246
|
+
}
|
247
|
+
const initCode = await encode(deployTx);
|
248
|
+
const erc6492Sig = serializeErc6492Signature({
|
249
|
+
address: factoryContract.address,
|
250
|
+
data: initCode,
|
251
|
+
signature: sig,
|
252
|
+
});
|
253
|
+
|
254
|
+
// check if the signature is valid
|
255
|
+
const isValid = await verifyHash({
|
256
|
+
hash: originalMsgHash,
|
257
|
+
signature: erc6492Sig,
|
258
|
+
address: accountContract.address,
|
259
|
+
chain: accountContract.chain,
|
260
|
+
client: accountContract.client,
|
261
|
+
});
|
262
|
+
|
263
|
+
if (!isValid) {
|
264
|
+
throw new Error(
|
265
|
+
`Something went wrong generating the signature for modular smart account: ${accountContract.address} on chain ${accountContract.chain.id}`,
|
266
|
+
);
|
267
|
+
}
|
268
|
+
return erc6492Sig;
|
269
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { erc7579, type ERC7579Config } from "./7579.js";
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { beforeAll, describe, expect, it } from "vitest";
|
2
2
|
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
3
|
+
import { TEST_ACCOUNT_A } from "../../../test/src/test-wallets.js";
|
3
4
|
import { defineChain } from "../../chains/utils.js";
|
4
5
|
import { type ThirdwebContract, getContract } from "../../contract/contract.js";
|
5
6
|
import { balanceOf } from "../../extensions/erc1155/__generated__/IERC1155/read/balanceOf.js";
|
@@ -12,7 +13,6 @@ import type { Address } from "../../utils/address.js";
|
|
12
13
|
import { isContractDeployed } from "../../utils/bytecode/is-contract-deployed.js";
|
13
14
|
import { setThirdwebDomains } from "../../utils/domains.js";
|
14
15
|
import type { Account, Wallet } from "../interfaces/wallet.js";
|
15
|
-
import { generateAccount } from "../utils/generateAccount.js";
|
16
16
|
import { smartWallet } from "./smart-wallet.js";
|
17
17
|
|
18
18
|
let wallet: Wallet;
|
@@ -41,9 +41,10 @@ describe.runIf(process.env.TW_SECRET_KEY).skip.sequential(
|
|
41
41
|
storage: "storage.thirdweb-dev.com",
|
42
42
|
bundler: "bundler.thirdweb-dev.com",
|
43
43
|
});
|
44
|
-
personalAccount =
|
45
|
-
|
46
|
-
|
44
|
+
personalAccount = TEST_ACCOUNT_A;
|
45
|
+
// personalAccount = await generateAccount({
|
46
|
+
// client,
|
47
|
+
// });
|
47
48
|
wallet = smartWallet({
|
48
49
|
chain,
|
49
50
|
gasless: true,
|