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.
- 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 +4 -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/ConnectWallet/screens/SignatureScreen.js +12 -10
- package/dist/cjs/react/web/ui/ConnectWallet/screens/SignatureScreen.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/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -1
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.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/ecosystem/is-ecosystem-wallet.js +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/core/wallet/in-app-core.js +8 -4
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/ecosystem.js +1 -1
- package/dist/cjs/wallets/in-app/web/in-app.js +2 -2
- 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 +45 -172
- package/dist/cjs/wallets/smart/index.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/bundler.js +2 -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/constants.js +21 -1
- package/dist/cjs/wallets/smart/lib/constants.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 +20 -5
- 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 +1 -1
- 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 +3 -1
- 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/ConnectWallet/screens/SignatureScreen.js +12 -10
- package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.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/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -1
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.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/ecosystem/is-ecosystem-wallet.js +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/core/wallet/in-app-core.js +9 -5
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/esm/wallets/in-app/web/ecosystem.js +1 -1
- package/dist/esm/wallets/in-app/web/in-app.js +2 -2
- 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 +44 -171
- package/dist/esm/wallets/smart/index.js.map +1 -1
- package/dist/esm/wallets/smart/lib/bundler.js +2 -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/constants.js +20 -0
- package/dist/esm/wallets/smart/lib/constants.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 +21 -6
- 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 +1 -1
- 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 +2 -1
- 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/ConnectWallet/screens/SignatureScreen.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/ecosystem/get-ecosystem-wallet-auth-options.d.ts +1 -1
- package/dist/types/wallets/ecosystem/get-ecosystem-wallet-auth-options.d.ts.map +1 -1
- 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/in-app/core/wallet/in-app-core.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/ecosystem.d.ts +1 -1
- package/dist/types/wallets/in-app/web/in-app.d.ts +2 -2
- 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 +9 -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/constants.d.ts +4 -0
- package/dist/types/wallets/smart/lib/constants.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 +3 -3
- package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
- package/dist/types/wallets/smart/types.d.ts +30 -13
- 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 +4 -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/ConnectWallet/screens/SignatureScreen.test.tsx +287 -0
- package/src/react/web/ui/ConnectWallet/screens/SignatureScreen.tsx +13 -5
- 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/react/web/wallets/shared/ConnectWalletSocialOptions.test.tsx +87 -0
- package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +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/ecosystem/get-ecosystem-wallet-auth-options.ts +1 -1
- package/src/wallets/ecosystem/is-ecosystem-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/core/wallet/in-app-core.test.ts +270 -0
- package/src/wallets/in-app/core/wallet/in-app-core.ts +16 -5
- package/src/wallets/in-app/web/ecosystem.ts +1 -1
- package/src/wallets/in-app/web/in-app.ts +2 -2
- 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 +68 -235
- package/src/wallets/smart/lib/bundler.ts +18 -7
- package/src/wallets/smart/lib/calls.ts +4 -2
- package/src/wallets/smart/lib/constants.ts +23 -0
- 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 +34 -10
- 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-tokenpaymaster.test.ts +117 -0
- package/src/wallets/smart/smart-wallet.ts +4 -6
- package/src/wallets/smart/smart.test.ts +87 -0
- package/src/wallets/smart/types.ts +39 -12
- 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,149 @@
|
|
1
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../../../transaction/types.js";
|
6
|
+
import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
|
7
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
8
|
+
import { once } from "../../../../../utils/promise/once.js";
|
9
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Represents the parameters for the "execute" function.
|
13
|
+
*/
|
14
|
+
export type ExecuteParams = WithOverrides<{
|
15
|
+
mode: AbiParameterToPrimitiveType<{ type: "bytes32"; name: "mode" }>;
|
16
|
+
executionCalldata: AbiParameterToPrimitiveType<{
|
17
|
+
type: "bytes";
|
18
|
+
name: "executionCalldata";
|
19
|
+
}>;
|
20
|
+
}>;
|
21
|
+
|
22
|
+
export const FN_SELECTOR = "0xe9ae5c53" as const;
|
23
|
+
const FN_INPUTS = [
|
24
|
+
{
|
25
|
+
type: "bytes32",
|
26
|
+
name: "mode",
|
27
|
+
},
|
28
|
+
{
|
29
|
+
type: "bytes",
|
30
|
+
name: "executionCalldata",
|
31
|
+
},
|
32
|
+
] as const;
|
33
|
+
const FN_OUTPUTS = [] as const;
|
34
|
+
|
35
|
+
/**
|
36
|
+
* Checks if the `execute` method is supported by the given contract.
|
37
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
38
|
+
* @returns A boolean indicating if the `execute` method is supported.
|
39
|
+
* @extension ERC7579
|
40
|
+
* @example
|
41
|
+
* ```ts
|
42
|
+
* import { isExecuteSupported } from "thirdweb/extensions/erc7579";
|
43
|
+
*
|
44
|
+
* const supported = isExecuteSupported(["0x..."]);
|
45
|
+
* ```
|
46
|
+
*/
|
47
|
+
export function isExecuteSupported(availableSelectors: string[]) {
|
48
|
+
return detectMethod({
|
49
|
+
availableSelectors,
|
50
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
51
|
+
});
|
52
|
+
}
|
53
|
+
|
54
|
+
/**
|
55
|
+
* Encodes the parameters for the "execute" function.
|
56
|
+
* @param options - The options for the execute function.
|
57
|
+
* @returns The encoded ABI parameters.
|
58
|
+
* @extension ERC7579
|
59
|
+
* @example
|
60
|
+
* ```ts
|
61
|
+
* import { encodeExecuteParams } from "thirdweb/extensions/erc7579";
|
62
|
+
* const result = encodeExecuteParams({
|
63
|
+
* mode: ...,
|
64
|
+
* executionCalldata: ...,
|
65
|
+
* });
|
66
|
+
* ```
|
67
|
+
*/
|
68
|
+
export function encodeExecuteParams(options: ExecuteParams) {
|
69
|
+
return encodeAbiParameters(FN_INPUTS, [
|
70
|
+
options.mode,
|
71
|
+
options.executionCalldata,
|
72
|
+
]);
|
73
|
+
}
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Encodes the "execute" function into a Hex string with its parameters.
|
77
|
+
* @param options - The options for the execute function.
|
78
|
+
* @returns The encoded hexadecimal string.
|
79
|
+
* @extension ERC7579
|
80
|
+
* @example
|
81
|
+
* ```ts
|
82
|
+
* import { encodeExecute } from "thirdweb/extensions/erc7579";
|
83
|
+
* const result = encodeExecute({
|
84
|
+
* mode: ...,
|
85
|
+
* executionCalldata: ...,
|
86
|
+
* });
|
87
|
+
* ```
|
88
|
+
*/
|
89
|
+
export function encodeExecute(options: ExecuteParams) {
|
90
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
91
|
+
// we can do this because we know the specific formats of the values
|
92
|
+
return (FN_SELECTOR +
|
93
|
+
encodeExecuteParams(options).slice(2)) as `${typeof FN_SELECTOR}${string}`;
|
94
|
+
}
|
95
|
+
|
96
|
+
/**
|
97
|
+
* Prepares a transaction to call the "execute" function on the contract.
|
98
|
+
* @param options - The options for the "execute" function.
|
99
|
+
* @returns A prepared transaction object.
|
100
|
+
* @extension ERC7579
|
101
|
+
* @example
|
102
|
+
* ```ts
|
103
|
+
* import { sendTransaction } from "thirdweb";
|
104
|
+
* import { execute } from "thirdweb/extensions/erc7579";
|
105
|
+
*
|
106
|
+
* const transaction = execute({
|
107
|
+
* contract,
|
108
|
+
* mode: ...,
|
109
|
+
* executionCalldata: ...,
|
110
|
+
* overrides: {
|
111
|
+
* ...
|
112
|
+
* }
|
113
|
+
* });
|
114
|
+
*
|
115
|
+
* // Send the transaction
|
116
|
+
* await sendTransaction({ transaction, account });
|
117
|
+
* ```
|
118
|
+
*/
|
119
|
+
export function execute(
|
120
|
+
options: BaseTransactionOptions<
|
121
|
+
| ExecuteParams
|
122
|
+
| {
|
123
|
+
asyncParams: () => Promise<ExecuteParams>;
|
124
|
+
}
|
125
|
+
>,
|
126
|
+
) {
|
127
|
+
const asyncOptions = once(async () => {
|
128
|
+
return "asyncParams" in options ? await options.asyncParams() : options;
|
129
|
+
});
|
130
|
+
|
131
|
+
return prepareContractCall({
|
132
|
+
contract: options.contract,
|
133
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
134
|
+
params: async () => {
|
135
|
+
const resolvedOptions = await asyncOptions();
|
136
|
+
return [resolvedOptions.mode, resolvedOptions.executionCalldata] as const;
|
137
|
+
},
|
138
|
+
value: async () => (await asyncOptions()).overrides?.value,
|
139
|
+
accessList: async () => (await asyncOptions()).overrides?.accessList,
|
140
|
+
gas: async () => (await asyncOptions()).overrides?.gas,
|
141
|
+
gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
|
142
|
+
maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
|
143
|
+
maxPriorityFeePerGas: async () =>
|
144
|
+
(await asyncOptions()).overrides?.maxPriorityFeePerGas,
|
145
|
+
nonce: async () => (await asyncOptions()).overrides?.nonce,
|
146
|
+
extraGas: async () => (await asyncOptions()).overrides?.extraGas,
|
147
|
+
erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
|
148
|
+
});
|
149
|
+
}
|
@@ -0,0 +1,158 @@
|
|
1
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../../../transaction/types.js";
|
6
|
+
import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
|
7
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
8
|
+
import { once } from "../../../../../utils/promise/once.js";
|
9
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Represents the parameters for the "executeFromExecutor" function.
|
13
|
+
*/
|
14
|
+
export type ExecuteFromExecutorParams = WithOverrides<{
|
15
|
+
mode: AbiParameterToPrimitiveType<{ type: "bytes32"; name: "mode" }>;
|
16
|
+
executionCalldata: AbiParameterToPrimitiveType<{
|
17
|
+
type: "bytes";
|
18
|
+
name: "executionCalldata";
|
19
|
+
}>;
|
20
|
+
}>;
|
21
|
+
|
22
|
+
export const FN_SELECTOR = "0xd691c964" as const;
|
23
|
+
const FN_INPUTS = [
|
24
|
+
{
|
25
|
+
type: "bytes32",
|
26
|
+
name: "mode",
|
27
|
+
},
|
28
|
+
{
|
29
|
+
type: "bytes",
|
30
|
+
name: "executionCalldata",
|
31
|
+
},
|
32
|
+
] as const;
|
33
|
+
const FN_OUTPUTS = [
|
34
|
+
{
|
35
|
+
type: "bytes[]",
|
36
|
+
name: "returnData",
|
37
|
+
},
|
38
|
+
] as const;
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Checks if the `executeFromExecutor` method is supported by the given contract.
|
42
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
43
|
+
* @returns A boolean indicating if the `executeFromExecutor` method is supported.
|
44
|
+
* @extension ERC7579
|
45
|
+
* @example
|
46
|
+
* ```ts
|
47
|
+
* import { isExecuteFromExecutorSupported } from "thirdweb/extensions/erc7579";
|
48
|
+
*
|
49
|
+
* const supported = isExecuteFromExecutorSupported(["0x..."]);
|
50
|
+
* ```
|
51
|
+
*/
|
52
|
+
export function isExecuteFromExecutorSupported(availableSelectors: string[]) {
|
53
|
+
return detectMethod({
|
54
|
+
availableSelectors,
|
55
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
56
|
+
});
|
57
|
+
}
|
58
|
+
|
59
|
+
/**
|
60
|
+
* Encodes the parameters for the "executeFromExecutor" function.
|
61
|
+
* @param options - The options for the executeFromExecutor function.
|
62
|
+
* @returns The encoded ABI parameters.
|
63
|
+
* @extension ERC7579
|
64
|
+
* @example
|
65
|
+
* ```ts
|
66
|
+
* import { encodeExecuteFromExecutorParams } from "thirdweb/extensions/erc7579";
|
67
|
+
* const result = encodeExecuteFromExecutorParams({
|
68
|
+
* mode: ...,
|
69
|
+
* executionCalldata: ...,
|
70
|
+
* });
|
71
|
+
* ```
|
72
|
+
*/
|
73
|
+
export function encodeExecuteFromExecutorParams(
|
74
|
+
options: ExecuteFromExecutorParams,
|
75
|
+
) {
|
76
|
+
return encodeAbiParameters(FN_INPUTS, [
|
77
|
+
options.mode,
|
78
|
+
options.executionCalldata,
|
79
|
+
]);
|
80
|
+
}
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Encodes the "executeFromExecutor" function into a Hex string with its parameters.
|
84
|
+
* @param options - The options for the executeFromExecutor function.
|
85
|
+
* @returns The encoded hexadecimal string.
|
86
|
+
* @extension ERC7579
|
87
|
+
* @example
|
88
|
+
* ```ts
|
89
|
+
* import { encodeExecuteFromExecutor } from "thirdweb/extensions/erc7579";
|
90
|
+
* const result = encodeExecuteFromExecutor({
|
91
|
+
* mode: ...,
|
92
|
+
* executionCalldata: ...,
|
93
|
+
* });
|
94
|
+
* ```
|
95
|
+
*/
|
96
|
+
export function encodeExecuteFromExecutor(options: ExecuteFromExecutorParams) {
|
97
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
98
|
+
// we can do this because we know the specific formats of the values
|
99
|
+
return (FN_SELECTOR +
|
100
|
+
encodeExecuteFromExecutorParams(options).slice(
|
101
|
+
2,
|
102
|
+
)) as `${typeof FN_SELECTOR}${string}`;
|
103
|
+
}
|
104
|
+
|
105
|
+
/**
|
106
|
+
* Prepares a transaction to call the "executeFromExecutor" function on the contract.
|
107
|
+
* @param options - The options for the "executeFromExecutor" function.
|
108
|
+
* @returns A prepared transaction object.
|
109
|
+
* @extension ERC7579
|
110
|
+
* @example
|
111
|
+
* ```ts
|
112
|
+
* import { sendTransaction } from "thirdweb";
|
113
|
+
* import { executeFromExecutor } from "thirdweb/extensions/erc7579";
|
114
|
+
*
|
115
|
+
* const transaction = executeFromExecutor({
|
116
|
+
* contract,
|
117
|
+
* mode: ...,
|
118
|
+
* executionCalldata: ...,
|
119
|
+
* overrides: {
|
120
|
+
* ...
|
121
|
+
* }
|
122
|
+
* });
|
123
|
+
*
|
124
|
+
* // Send the transaction
|
125
|
+
* await sendTransaction({ transaction, account });
|
126
|
+
* ```
|
127
|
+
*/
|
128
|
+
export function executeFromExecutor(
|
129
|
+
options: BaseTransactionOptions<
|
130
|
+
| ExecuteFromExecutorParams
|
131
|
+
| {
|
132
|
+
asyncParams: () => Promise<ExecuteFromExecutorParams>;
|
133
|
+
}
|
134
|
+
>,
|
135
|
+
) {
|
136
|
+
const asyncOptions = once(async () => {
|
137
|
+
return "asyncParams" in options ? await options.asyncParams() : options;
|
138
|
+
});
|
139
|
+
|
140
|
+
return prepareContractCall({
|
141
|
+
contract: options.contract,
|
142
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
143
|
+
params: async () => {
|
144
|
+
const resolvedOptions = await asyncOptions();
|
145
|
+
return [resolvedOptions.mode, resolvedOptions.executionCalldata] as const;
|
146
|
+
},
|
147
|
+
value: async () => (await asyncOptions()).overrides?.value,
|
148
|
+
accessList: async () => (await asyncOptions()).overrides?.accessList,
|
149
|
+
gas: async () => (await asyncOptions()).overrides?.gas,
|
150
|
+
gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
|
151
|
+
maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
|
152
|
+
maxPriorityFeePerGas: async () =>
|
153
|
+
(await asyncOptions()).overrides?.maxPriorityFeePerGas,
|
154
|
+
nonce: async () => (await asyncOptions()).overrides?.nonce,
|
155
|
+
extraGas: async () => (await asyncOptions()).overrides?.extraGas,
|
156
|
+
erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
|
157
|
+
});
|
158
|
+
}
|
@@ -0,0 +1,164 @@
|
|
1
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../../../transaction/types.js";
|
6
|
+
import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
|
7
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
8
|
+
import { once } from "../../../../../utils/promise/once.js";
|
9
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Represents the parameters for the "installModule" function.
|
13
|
+
*/
|
14
|
+
export type InstallModuleParams = WithOverrides<{
|
15
|
+
moduleTypeId: AbiParameterToPrimitiveType<{
|
16
|
+
type: "uint256";
|
17
|
+
name: "moduleTypeId";
|
18
|
+
}>;
|
19
|
+
module: AbiParameterToPrimitiveType<{ type: "address"; name: "module" }>;
|
20
|
+
initData: AbiParameterToPrimitiveType<{ type: "bytes"; name: "initData" }>;
|
21
|
+
}>;
|
22
|
+
|
23
|
+
export const FN_SELECTOR = "0x9517e29f" as const;
|
24
|
+
const FN_INPUTS = [
|
25
|
+
{
|
26
|
+
type: "uint256",
|
27
|
+
name: "moduleTypeId",
|
28
|
+
},
|
29
|
+
{
|
30
|
+
type: "address",
|
31
|
+
name: "module",
|
32
|
+
},
|
33
|
+
{
|
34
|
+
type: "bytes",
|
35
|
+
name: "initData",
|
36
|
+
},
|
37
|
+
] as const;
|
38
|
+
const FN_OUTPUTS = [] as const;
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Checks if the `installModule` method is supported by the given contract.
|
42
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
43
|
+
* @returns A boolean indicating if the `installModule` method is supported.
|
44
|
+
* @extension ERC7579
|
45
|
+
* @example
|
46
|
+
* ```ts
|
47
|
+
* import { isInstallModuleSupported } from "thirdweb/extensions/erc7579";
|
48
|
+
*
|
49
|
+
* const supported = isInstallModuleSupported(["0x..."]);
|
50
|
+
* ```
|
51
|
+
*/
|
52
|
+
export function isInstallModuleSupported(availableSelectors: string[]) {
|
53
|
+
return detectMethod({
|
54
|
+
availableSelectors,
|
55
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
56
|
+
});
|
57
|
+
}
|
58
|
+
|
59
|
+
/**
|
60
|
+
* Encodes the parameters for the "installModule" function.
|
61
|
+
* @param options - The options for the installModule function.
|
62
|
+
* @returns The encoded ABI parameters.
|
63
|
+
* @extension ERC7579
|
64
|
+
* @example
|
65
|
+
* ```ts
|
66
|
+
* import { encodeInstallModuleParams } from "thirdweb/extensions/erc7579";
|
67
|
+
* const result = encodeInstallModuleParams({
|
68
|
+
* moduleTypeId: ...,
|
69
|
+
* module: ...,
|
70
|
+
* initData: ...,
|
71
|
+
* });
|
72
|
+
* ```
|
73
|
+
*/
|
74
|
+
export function encodeInstallModuleParams(options: InstallModuleParams) {
|
75
|
+
return encodeAbiParameters(FN_INPUTS, [
|
76
|
+
options.moduleTypeId,
|
77
|
+
options.module,
|
78
|
+
options.initData,
|
79
|
+
]);
|
80
|
+
}
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Encodes the "installModule" function into a Hex string with its parameters.
|
84
|
+
* @param options - The options for the installModule function.
|
85
|
+
* @returns The encoded hexadecimal string.
|
86
|
+
* @extension ERC7579
|
87
|
+
* @example
|
88
|
+
* ```ts
|
89
|
+
* import { encodeInstallModule } from "thirdweb/extensions/erc7579";
|
90
|
+
* const result = encodeInstallModule({
|
91
|
+
* moduleTypeId: ...,
|
92
|
+
* module: ...,
|
93
|
+
* initData: ...,
|
94
|
+
* });
|
95
|
+
* ```
|
96
|
+
*/
|
97
|
+
export function encodeInstallModule(options: InstallModuleParams) {
|
98
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
99
|
+
// we can do this because we know the specific formats of the values
|
100
|
+
return (FN_SELECTOR +
|
101
|
+
encodeInstallModuleParams(options).slice(
|
102
|
+
2,
|
103
|
+
)) as `${typeof FN_SELECTOR}${string}`;
|
104
|
+
}
|
105
|
+
|
106
|
+
/**
|
107
|
+
* Prepares a transaction to call the "installModule" function on the contract.
|
108
|
+
* @param options - The options for the "installModule" function.
|
109
|
+
* @returns A prepared transaction object.
|
110
|
+
* @extension ERC7579
|
111
|
+
* @example
|
112
|
+
* ```ts
|
113
|
+
* import { sendTransaction } from "thirdweb";
|
114
|
+
* import { installModule } from "thirdweb/extensions/erc7579";
|
115
|
+
*
|
116
|
+
* const transaction = installModule({
|
117
|
+
* contract,
|
118
|
+
* moduleTypeId: ...,
|
119
|
+
* module: ...,
|
120
|
+
* initData: ...,
|
121
|
+
* overrides: {
|
122
|
+
* ...
|
123
|
+
* }
|
124
|
+
* });
|
125
|
+
*
|
126
|
+
* // Send the transaction
|
127
|
+
* await sendTransaction({ transaction, account });
|
128
|
+
* ```
|
129
|
+
*/
|
130
|
+
export function installModule(
|
131
|
+
options: BaseTransactionOptions<
|
132
|
+
| InstallModuleParams
|
133
|
+
| {
|
134
|
+
asyncParams: () => Promise<InstallModuleParams>;
|
135
|
+
}
|
136
|
+
>,
|
137
|
+
) {
|
138
|
+
const asyncOptions = once(async () => {
|
139
|
+
return "asyncParams" in options ? await options.asyncParams() : options;
|
140
|
+
});
|
141
|
+
|
142
|
+
return prepareContractCall({
|
143
|
+
contract: options.contract,
|
144
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
145
|
+
params: async () => {
|
146
|
+
const resolvedOptions = await asyncOptions();
|
147
|
+
return [
|
148
|
+
resolvedOptions.moduleTypeId,
|
149
|
+
resolvedOptions.module,
|
150
|
+
resolvedOptions.initData,
|
151
|
+
] as const;
|
152
|
+
},
|
153
|
+
value: async () => (await asyncOptions()).overrides?.value,
|
154
|
+
accessList: async () => (await asyncOptions()).overrides?.accessList,
|
155
|
+
gas: async () => (await asyncOptions()).overrides?.gas,
|
156
|
+
gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
|
157
|
+
maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
|
158
|
+
maxPriorityFeePerGas: async () =>
|
159
|
+
(await asyncOptions()).overrides?.maxPriorityFeePerGas,
|
160
|
+
nonce: async () => (await asyncOptions()).overrides?.nonce,
|
161
|
+
extraGas: async () => (await asyncOptions()).overrides?.extraGas,
|
162
|
+
erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
|
163
|
+
});
|
164
|
+
}
|
@@ -0,0 +1,167 @@
|
|
1
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../../../transaction/types.js";
|
6
|
+
import { prepareContractCall } from "../../../../../transaction/prepare-contract-call.js";
|
7
|
+
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
|
8
|
+
import { once } from "../../../../../utils/promise/once.js";
|
9
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Represents the parameters for the "uninstallModule" function.
|
13
|
+
*/
|
14
|
+
export type UninstallModuleParams = WithOverrides<{
|
15
|
+
moduleTypeId: AbiParameterToPrimitiveType<{
|
16
|
+
type: "uint256";
|
17
|
+
name: "moduleTypeId";
|
18
|
+
}>;
|
19
|
+
module: AbiParameterToPrimitiveType<{ type: "address"; name: "module" }>;
|
20
|
+
deInitData: AbiParameterToPrimitiveType<{
|
21
|
+
type: "bytes";
|
22
|
+
name: "deInitData";
|
23
|
+
}>;
|
24
|
+
}>;
|
25
|
+
|
26
|
+
export const FN_SELECTOR = "0xa71763a8" as const;
|
27
|
+
const FN_INPUTS = [
|
28
|
+
{
|
29
|
+
type: "uint256",
|
30
|
+
name: "moduleTypeId",
|
31
|
+
},
|
32
|
+
{
|
33
|
+
type: "address",
|
34
|
+
name: "module",
|
35
|
+
},
|
36
|
+
{
|
37
|
+
type: "bytes",
|
38
|
+
name: "deInitData",
|
39
|
+
},
|
40
|
+
] as const;
|
41
|
+
const FN_OUTPUTS = [] as const;
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Checks if the `uninstallModule` method is supported by the given contract.
|
45
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
46
|
+
* @returns A boolean indicating if the `uninstallModule` method is supported.
|
47
|
+
* @extension ERC7579
|
48
|
+
* @example
|
49
|
+
* ```ts
|
50
|
+
* import { isUninstallModuleSupported } from "thirdweb/extensions/erc7579";
|
51
|
+
*
|
52
|
+
* const supported = isUninstallModuleSupported(["0x..."]);
|
53
|
+
* ```
|
54
|
+
*/
|
55
|
+
export function isUninstallModuleSupported(availableSelectors: string[]) {
|
56
|
+
return detectMethod({
|
57
|
+
availableSelectors,
|
58
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
59
|
+
});
|
60
|
+
}
|
61
|
+
|
62
|
+
/**
|
63
|
+
* Encodes the parameters for the "uninstallModule" function.
|
64
|
+
* @param options - The options for the uninstallModule function.
|
65
|
+
* @returns The encoded ABI parameters.
|
66
|
+
* @extension ERC7579
|
67
|
+
* @example
|
68
|
+
* ```ts
|
69
|
+
* import { encodeUninstallModuleParams } from "thirdweb/extensions/erc7579";
|
70
|
+
* const result = encodeUninstallModuleParams({
|
71
|
+
* moduleTypeId: ...,
|
72
|
+
* module: ...,
|
73
|
+
* deInitData: ...,
|
74
|
+
* });
|
75
|
+
* ```
|
76
|
+
*/
|
77
|
+
export function encodeUninstallModuleParams(options: UninstallModuleParams) {
|
78
|
+
return encodeAbiParameters(FN_INPUTS, [
|
79
|
+
options.moduleTypeId,
|
80
|
+
options.module,
|
81
|
+
options.deInitData,
|
82
|
+
]);
|
83
|
+
}
|
84
|
+
|
85
|
+
/**
|
86
|
+
* Encodes the "uninstallModule" function into a Hex string with its parameters.
|
87
|
+
* @param options - The options for the uninstallModule function.
|
88
|
+
* @returns The encoded hexadecimal string.
|
89
|
+
* @extension ERC7579
|
90
|
+
* @example
|
91
|
+
* ```ts
|
92
|
+
* import { encodeUninstallModule } from "thirdweb/extensions/erc7579";
|
93
|
+
* const result = encodeUninstallModule({
|
94
|
+
* moduleTypeId: ...,
|
95
|
+
* module: ...,
|
96
|
+
* deInitData: ...,
|
97
|
+
* });
|
98
|
+
* ```
|
99
|
+
*/
|
100
|
+
export function encodeUninstallModule(options: UninstallModuleParams) {
|
101
|
+
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
|
102
|
+
// we can do this because we know the specific formats of the values
|
103
|
+
return (FN_SELECTOR +
|
104
|
+
encodeUninstallModuleParams(options).slice(
|
105
|
+
2,
|
106
|
+
)) as `${typeof FN_SELECTOR}${string}`;
|
107
|
+
}
|
108
|
+
|
109
|
+
/**
|
110
|
+
* Prepares a transaction to call the "uninstallModule" function on the contract.
|
111
|
+
* @param options - The options for the "uninstallModule" function.
|
112
|
+
* @returns A prepared transaction object.
|
113
|
+
* @extension ERC7579
|
114
|
+
* @example
|
115
|
+
* ```ts
|
116
|
+
* import { sendTransaction } from "thirdweb";
|
117
|
+
* import { uninstallModule } from "thirdweb/extensions/erc7579";
|
118
|
+
*
|
119
|
+
* const transaction = uninstallModule({
|
120
|
+
* contract,
|
121
|
+
* moduleTypeId: ...,
|
122
|
+
* module: ...,
|
123
|
+
* deInitData: ...,
|
124
|
+
* overrides: {
|
125
|
+
* ...
|
126
|
+
* }
|
127
|
+
* });
|
128
|
+
*
|
129
|
+
* // Send the transaction
|
130
|
+
* await sendTransaction({ transaction, account });
|
131
|
+
* ```
|
132
|
+
*/
|
133
|
+
export function uninstallModule(
|
134
|
+
options: BaseTransactionOptions<
|
135
|
+
| UninstallModuleParams
|
136
|
+
| {
|
137
|
+
asyncParams: () => Promise<UninstallModuleParams>;
|
138
|
+
}
|
139
|
+
>,
|
140
|
+
) {
|
141
|
+
const asyncOptions = once(async () => {
|
142
|
+
return "asyncParams" in options ? await options.asyncParams() : options;
|
143
|
+
});
|
144
|
+
|
145
|
+
return prepareContractCall({
|
146
|
+
contract: options.contract,
|
147
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
148
|
+
params: async () => {
|
149
|
+
const resolvedOptions = await asyncOptions();
|
150
|
+
return [
|
151
|
+
resolvedOptions.moduleTypeId,
|
152
|
+
resolvedOptions.module,
|
153
|
+
resolvedOptions.deInitData,
|
154
|
+
] as const;
|
155
|
+
},
|
156
|
+
value: async () => (await asyncOptions()).overrides?.value,
|
157
|
+
accessList: async () => (await asyncOptions()).overrides?.accessList,
|
158
|
+
gas: async () => (await asyncOptions()).overrides?.gas,
|
159
|
+
gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
|
160
|
+
maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
|
161
|
+
maxPriorityFeePerGas: async () =>
|
162
|
+
(await asyncOptions()).overrides?.maxPriorityFeePerGas,
|
163
|
+
nonce: async () => (await asyncOptions()).overrides?.nonce,
|
164
|
+
extraGas: async () => (await asyncOptions()).overrides?.extraGas,
|
165
|
+
erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
|
166
|
+
});
|
167
|
+
}
|
package/src/extensions/erc7579/__generated__/ModularAccountFactory/events/OwnershipTransferred.ts
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
import { prepareEvent } from "../../../../../event/prepare-event.js";
|
2
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
3
|
+
|
4
|
+
/**
|
5
|
+
* Represents the filters for the "OwnershipTransferred" event.
|
6
|
+
*/
|
7
|
+
export type OwnershipTransferredEventFilters = Partial<{
|
8
|
+
oldOwner: AbiParameterToPrimitiveType<{
|
9
|
+
type: "address";
|
10
|
+
name: "oldOwner";
|
11
|
+
indexed: true;
|
12
|
+
}>;
|
13
|
+
newOwner: AbiParameterToPrimitiveType<{
|
14
|
+
type: "address";
|
15
|
+
name: "newOwner";
|
16
|
+
indexed: true;
|
17
|
+
}>;
|
18
|
+
}>;
|
19
|
+
|
20
|
+
/**
|
21
|
+
* Creates an event object for the OwnershipTransferred event.
|
22
|
+
* @param filters - Optional filters to apply to the event.
|
23
|
+
* @returns The prepared event object.
|
24
|
+
* @extension ERC7579
|
25
|
+
* @example
|
26
|
+
* ```ts
|
27
|
+
* import { getContractEvents } from "thirdweb";
|
28
|
+
* import { ownershipTransferredEvent } from "thirdweb/extensions/erc7579";
|
29
|
+
*
|
30
|
+
* const events = await getContractEvents({
|
31
|
+
* contract,
|
32
|
+
* events: [
|
33
|
+
* ownershipTransferredEvent({
|
34
|
+
* oldOwner: ...,
|
35
|
+
* newOwner: ...,
|
36
|
+
* })
|
37
|
+
* ],
|
38
|
+
* });
|
39
|
+
* ```
|
40
|
+
*/
|
41
|
+
export function ownershipTransferredEvent(
|
42
|
+
filters: OwnershipTransferredEventFilters = {},
|
43
|
+
) {
|
44
|
+
return prepareEvent({
|
45
|
+
signature:
|
46
|
+
"event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)",
|
47
|
+
filters,
|
48
|
+
});
|
49
|
+
}
|