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
@@ -1,4 +1,5 @@
|
|
1
|
-
import type
|
1
|
+
import type * as ox__Address from "ox/Address";
|
2
|
+
import type * as ox__TypedData from "ox/TypedData";
|
2
3
|
import type { Chain } from "../../chains/types.js";
|
3
4
|
import type { ThirdwebClient } from "../../client/client.js";
|
4
5
|
import type { ThirdwebContract } from "../../contract/contract.js";
|
@@ -6,7 +7,14 @@ import type { PreparedTransaction } from "../../transaction/prepare-transaction.
|
|
6
7
|
import type { TransactionReceipt } from "../../transaction/types.js";
|
7
8
|
import type { Hex } from "../../utils/encoding/hex.js";
|
8
9
|
import type { Prettify } from "../../utils/type-utils.js";
|
10
|
+
import type { SignableMessage } from "../../utils/types.js";
|
9
11
|
import type { Account, SendTransactionOption } from "../interfaces/wallet.js";
|
12
|
+
export type TokenPaymasterConfig = {
|
13
|
+
chainId: number;
|
14
|
+
paymasterAddress: string;
|
15
|
+
tokenAddress: string;
|
16
|
+
balanceStorageSlot: bigint;
|
17
|
+
};
|
10
18
|
export type SmartWalletOptions = Prettify<{
|
11
19
|
chain: Chain;
|
12
20
|
factoryAddress?: string;
|
@@ -15,16 +23,25 @@ export type SmartWalletOptions = Prettify<{
|
|
15
23
|
accountAddress?: string;
|
16
24
|
accountSalt?: string;
|
17
25
|
entrypointAddress?: string;
|
18
|
-
|
19
|
-
address: string;
|
20
|
-
token: string;
|
21
|
-
};
|
26
|
+
tokenPaymaster?: TokenPaymasterConfig;
|
22
27
|
paymaster?: (userOp: UserOperationV06 | UserOperationV07) => Promise<PaymasterResult>;
|
23
|
-
predictAddress?: (factoryContract: ThirdwebContract) => Promise<string>;
|
24
|
-
createAccount?: (factoryContract: ThirdwebContract) => PreparedTransaction;
|
28
|
+
predictAddress?: (factoryContract: ThirdwebContract, admin: string) => Promise<string>;
|
29
|
+
createAccount?: (factoryContract: ThirdwebContract, admin: string) => PreparedTransaction;
|
25
30
|
execute?: (accountContract: ThirdwebContract, transaction: SendTransactionOption) => PreparedTransaction;
|
26
31
|
executeBatch?: (accountContract: ThirdwebContract, transactions: SendTransactionOption[]) => PreparedTransaction;
|
27
32
|
getAccountNonce?: (accountContract: ThirdwebContract) => Promise<bigint>;
|
33
|
+
signMessage?: (options: {
|
34
|
+
adminAccount: Account;
|
35
|
+
accountContract: ThirdwebContract;
|
36
|
+
factoryContract: ThirdwebContract;
|
37
|
+
message: SignableMessage;
|
38
|
+
}) => Promise<Hex>;
|
39
|
+
signTypedData?: <const typedData extends ox__TypedData.TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(options: {
|
40
|
+
adminAccount: Account;
|
41
|
+
accountContract: ThirdwebContract;
|
42
|
+
factoryContract: ThirdwebContract;
|
43
|
+
typedData: ox__TypedData.Definition<typedData, primaryType>;
|
44
|
+
}) => Promise<Hex>;
|
28
45
|
};
|
29
46
|
} & ({
|
30
47
|
/**
|
@@ -54,7 +71,7 @@ export type SmartWalletConnectionOptions = {
|
|
54
71
|
chain?: Chain;
|
55
72
|
};
|
56
73
|
export type UserOperationV06 = {
|
57
|
-
sender: Address;
|
74
|
+
sender: ox__Address.Address;
|
58
75
|
nonce: bigint;
|
59
76
|
initCode: Hex;
|
60
77
|
callData: Hex;
|
@@ -95,7 +112,7 @@ export type PackedUserOperation = {
|
|
95
112
|
signature: Hex;
|
96
113
|
};
|
97
114
|
export type UserOperationV06Hexed = {
|
98
|
-
sender: Address;
|
115
|
+
sender: ox__Address.Address;
|
99
116
|
nonce: Hex;
|
100
117
|
initCode: Hex;
|
101
118
|
callData: Hex;
|
@@ -149,17 +166,17 @@ export type GasPriceResult = {
|
|
149
166
|
maxPriorityFeePerGas: bigint;
|
150
167
|
};
|
151
168
|
export type PmTransactionData = {
|
152
|
-
paymaster: Address;
|
169
|
+
paymaster: ox__Address.Address;
|
153
170
|
paymasterInput: Hex;
|
154
171
|
};
|
155
172
|
export type UserOperationReceipt = {
|
156
173
|
receipt: TransactionReceipt;
|
157
174
|
logs: TransactionReceipt["logs"];
|
158
175
|
userOpHash: Hex;
|
159
|
-
entryPoint: Address;
|
160
|
-
sender: Address;
|
176
|
+
entryPoint: ox__Address.Address;
|
177
|
+
sender: ox__Address.Address;
|
161
178
|
nonce: bigint;
|
162
|
-
paymaster: Address;
|
179
|
+
paymaster: ox__Address.Address;
|
163
180
|
actualGasUsed: bigint;
|
164
181
|
actualGasCost: bigint;
|
165
182
|
success: boolean;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/types.ts"],"names":[],"mappings":"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"}
|
@@ -2,7 +2,7 @@ import type { AdapterWalletOptions } from "../adapters/wallet-adapter.js";
|
|
2
2
|
import type { Chain } from "../chains/types.js";
|
3
3
|
import type { ThirdwebClient } from "../client/client.js";
|
4
4
|
import type { DeepLinkSupportedWalletIds, InjectedSupportedWalletIds, WCSupportedWalletIds } from "./__generated__/wallet-ids.js";
|
5
|
-
import type { CoinbaseSDKWalletConnectionOptions, CoinbaseWalletCreationOptions } from "./coinbase/
|
5
|
+
import type { CoinbaseSDKWalletConnectionOptions, CoinbaseWalletCreationOptions } from "./coinbase/coinbase-web.js";
|
6
6
|
import type { COINBASE } from "./constants.js";
|
7
7
|
import type { EcosystemWalletAutoConnectOptions, EcosystemWalletConnectionOptions, EcosystemWalletCreationOptions } from "./ecosystem/types.js";
|
8
8
|
import type { InAppWalletAutoConnectOptions, InAppWalletConnectionOptions, InAppWalletCreationOptions } from "./in-app/core/wallet/types.js";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wallet-types.d.ts","sourceRoot":"","sources":["../../../src/wallets/wallet-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,kCAAkC,EAClC,6BAA6B,EAC9B,MAAM,
|
1
|
+
{"version":3,"file":"wallet-types.d.ts","sourceRoot":"","sources":["../../../src/wallets/wallet-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "thirdweb",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.75.0-nightly-ec84ed37d6db8281d3afb12bc47a20ccc5fe9713-20241207000341",
|
4
4
|
"repository": {
|
5
5
|
"type": "git",
|
6
6
|
"url": "git+https://github.com/thirdweb-dev/js.git#main"
|
@@ -199,7 +199,7 @@
|
|
199
199
|
"!tsconfig.build.json"
|
200
200
|
],
|
201
201
|
"dependencies": {
|
202
|
-
"@coinbase/wallet-sdk": "4.2.
|
202
|
+
"@coinbase/wallet-sdk": "4.2.4",
|
203
203
|
"@emotion/react": "11.13.5",
|
204
204
|
"@emotion/styled": "11.13.5",
|
205
205
|
"@google/model-viewer": "2.1.1",
|
@@ -210,16 +210,15 @@
|
|
210
210
|
"@radix-ui/react-focus-scope": "1.1.0",
|
211
211
|
"@radix-ui/react-icons": "1.3.2",
|
212
212
|
"@radix-ui/react-tooltip": "1.1.4",
|
213
|
-
"@tanstack/react-query": "5.62.
|
213
|
+
"@tanstack/react-query": "5.62.2",
|
214
214
|
"@walletconnect/ethereum-provider": "2.17.2",
|
215
215
|
"@walletconnect/sign-client": "2.17.2",
|
216
|
-
"abitype": "1.0.
|
216
|
+
"abitype": "1.0.7",
|
217
217
|
"fuse.js": "7.0.0",
|
218
218
|
"input-otp": "^1.4.1",
|
219
219
|
"mipd": "0.0.7",
|
220
|
-
"ox": "0.4.0",
|
221
220
|
"uqr": "0.1.2",
|
222
|
-
"viem": "2.21.
|
221
|
+
"viem": "2.21.54"
|
223
222
|
},
|
224
223
|
"peerDependencies": {
|
225
224
|
"@aws-sdk/client-lambda": "^3",
|
@@ -230,7 +229,8 @@
|
|
230
229
|
"ethers": "^5 || ^6",
|
231
230
|
"expo-linking": "^6",
|
232
231
|
"expo-web-browser": "^13 || ^14",
|
233
|
-
"
|
232
|
+
"ox": "0.4.0",
|
233
|
+
"react": "^18 || ^19",
|
234
234
|
"react-native": "*",
|
235
235
|
"react-native-aes-gcm-crypto": "^0.2",
|
236
236
|
"react-native-passkey": "^3",
|
@@ -302,18 +302,18 @@
|
|
302
302
|
"@mobile-wallet-protocol/client": "0.1.2",
|
303
303
|
"@react-native-async-storage/async-storage": "2.1.0",
|
304
304
|
"@size-limit/preset-big-lib": "11.1.6",
|
305
|
-
"@storybook/addon-essentials": "8.4.
|
306
|
-
"@storybook/addon-interactions": "8.4.
|
307
|
-
"@storybook/addon-links": "8.4.
|
308
|
-
"@storybook/addon-onboarding": "8.4.
|
309
|
-
"@storybook/react": "8.4.
|
310
|
-
"@storybook/react-vite": "8.4.
|
311
|
-
"@storybook/test": "8.4.
|
305
|
+
"@storybook/addon-essentials": "8.4.7",
|
306
|
+
"@storybook/addon-interactions": "8.4.7",
|
307
|
+
"@storybook/addon-links": "8.4.7",
|
308
|
+
"@storybook/addon-onboarding": "8.4.7",
|
309
|
+
"@storybook/react": "8.4.7",
|
310
|
+
"@storybook/react-vite": "8.4.7",
|
311
|
+
"@storybook/test": "8.4.7",
|
312
312
|
"@testing-library/jest-dom": "^6.6.3",
|
313
|
-
"@testing-library/react": "^16.
|
313
|
+
"@testing-library/react": "^16.1.0",
|
314
314
|
"@testing-library/user-event": "^14.5.2",
|
315
315
|
"@types/cross-spawn": "^6.0.6",
|
316
|
-
"@types/react": "
|
316
|
+
"@types/react": "19.0.0",
|
317
317
|
"@viem/anvil": "0.0.10",
|
318
318
|
"@vitejs/plugin-react": "^4.3.4",
|
319
319
|
"@vitest/coverage-v8": "2.1.8",
|
@@ -325,23 +325,23 @@
|
|
325
325
|
"expo-linking": "7.0.3",
|
326
326
|
"expo-web-browser": "14.0.1",
|
327
327
|
"happy-dom": "15.11.7",
|
328
|
-
"knip": "5.39.
|
328
|
+
"knip": "5.39.2",
|
329
329
|
"msw": "2.6.6",
|
330
330
|
"prettier": "3.3.3",
|
331
|
-
"react": "19.0.0
|
332
|
-
"react-dom": "19.0.0
|
331
|
+
"react": "19.0.0",
|
332
|
+
"react-dom": "19.0.0",
|
333
333
|
"react-native": "0.76.3",
|
334
334
|
"react-native-aes-gcm-crypto": "0.2.2",
|
335
335
|
"react-native-passkey": "3.0.0",
|
336
|
-
"react-native-quick-crypto": "0.7.
|
336
|
+
"react-native-quick-crypto": "0.7.8",
|
337
337
|
"react-native-svg": "15.9.0",
|
338
338
|
"rimraf": "6.0.1",
|
339
339
|
"sharp": "^0.33.5",
|
340
340
|
"size-limit": "11.1.6",
|
341
|
-
"storybook": "8.4.
|
342
|
-
"typedoc": "0.27.
|
341
|
+
"storybook": "8.4.7",
|
342
|
+
"typedoc": "0.27.3",
|
343
343
|
"typescript": "5.7.2",
|
344
|
-
"vite": "6.0.
|
344
|
+
"vite": "6.0.3",
|
345
345
|
"vitest": "2.1.8"
|
346
346
|
},
|
347
347
|
"scripts": {
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import * as ethers5 from "ethers5";
|
2
|
+
import * as ethers6 from "ethers6";
|
2
3
|
import { describe, expect, it, test } from "vitest";
|
3
4
|
import { USDT_CONTRACT } from "~test/test-contracts.js";
|
4
5
|
import { ANVIL_CHAIN, FORKED_ETHEREUM_CHAIN } from "../../test/src/chains.js";
|
@@ -10,6 +11,7 @@ import { randomBytesBuffer } from "../utils/random.js";
|
|
10
11
|
import { privateKeyToAccount } from "../wallets/private-key.js";
|
11
12
|
import {
|
12
13
|
fromEthersContract,
|
14
|
+
fromEthersSigner,
|
13
15
|
toEthersContract,
|
14
16
|
toEthersProvider,
|
15
17
|
toEthersSigner,
|
@@ -149,4 +151,94 @@ describe("ethers5 adapter", () => {
|
|
149
151
|
const _decimals = await decimals({ contract: thirdwebContract });
|
150
152
|
expect(_decimals).toBe(6);
|
151
153
|
});
|
154
|
+
|
155
|
+
test("toEthersProvider should return a valid provider", async () => {
|
156
|
+
const provider = toEthersProvider(ethers5, TEST_CLIENT, ANVIL_CHAIN);
|
157
|
+
expect(provider).toBeDefined();
|
158
|
+
expect(provider.getBlockNumber).toBeDefined();
|
159
|
+
|
160
|
+
// Test if the provider can fetch the block number
|
161
|
+
const blockNumber = await provider.getBlockNumber();
|
162
|
+
expect(typeof blockNumber).toBe("number");
|
163
|
+
});
|
164
|
+
|
165
|
+
test("toEthersProvider should throw error with invalid ethers version", () => {
|
166
|
+
const invalidEthers = ethers6;
|
167
|
+
expect(() =>
|
168
|
+
// biome-ignore lint/suspicious/noExplicitAny: Testing invalid data
|
169
|
+
toEthersProvider(invalidEthers as any, TEST_CLIENT, ANVIL_CHAIN),
|
170
|
+
).toThrow(
|
171
|
+
"You seem to be using ethers@6, please use the `ethers6Adapter()`",
|
172
|
+
);
|
173
|
+
});
|
174
|
+
});
|
175
|
+
|
176
|
+
describe("fromEthersSigner", () => {
|
177
|
+
it("should convert an ethers5 Signer to an Account", async () => {
|
178
|
+
const wallet = new ethers5.Wallet(ANVIL_PKEY_A);
|
179
|
+
const account = await fromEthersSigner(wallet);
|
180
|
+
|
181
|
+
expect(account).toBeDefined();
|
182
|
+
expect(account.address).toBe(await wallet.getAddress());
|
183
|
+
});
|
184
|
+
|
185
|
+
it("should sign a message", async () => {
|
186
|
+
const wallet = new ethers5.Wallet(ANVIL_PKEY_A);
|
187
|
+
const account = await fromEthersSigner(wallet);
|
188
|
+
|
189
|
+
const message = "Hello, world!";
|
190
|
+
const signature = await account.signMessage({ message });
|
191
|
+
|
192
|
+
expect(signature).toBe(await wallet.signMessage(message));
|
193
|
+
});
|
194
|
+
|
195
|
+
it("should sign a transaction", async () => {
|
196
|
+
const wallet = new ethers5.Wallet(
|
197
|
+
ANVIL_PKEY_A,
|
198
|
+
ethers5.getDefaultProvider(),
|
199
|
+
);
|
200
|
+
const account = await fromEthersSigner(wallet);
|
201
|
+
|
202
|
+
const transaction = {
|
203
|
+
to: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",
|
204
|
+
value: 1n,
|
205
|
+
};
|
206
|
+
|
207
|
+
const signedTransaction = await account.signTransaction?.(transaction);
|
208
|
+
|
209
|
+
expect(signedTransaction).toBe(await wallet.signTransaction(transaction));
|
210
|
+
});
|
211
|
+
|
212
|
+
it("should sign typed data", async () => {
|
213
|
+
const wallet = new ethers5.Wallet(ANVIL_PKEY_A);
|
214
|
+
const account = await fromEthersSigner(wallet);
|
215
|
+
|
216
|
+
const domain = {
|
217
|
+
name: "Ether Mail",
|
218
|
+
version: "1",
|
219
|
+
chainId: 1,
|
220
|
+
verifyingContract: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",
|
221
|
+
};
|
222
|
+
|
223
|
+
const types = {
|
224
|
+
Person: [
|
225
|
+
{ name: "name", type: "string" },
|
226
|
+
{ name: "wallet", type: "address" },
|
227
|
+
],
|
228
|
+
};
|
229
|
+
|
230
|
+
const value = {
|
231
|
+
name: "Alice",
|
232
|
+
wallet: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",
|
233
|
+
};
|
234
|
+
|
235
|
+
const signature = await account.signTypedData({
|
236
|
+
primaryType: "Person",
|
237
|
+
domain,
|
238
|
+
types,
|
239
|
+
message: value,
|
240
|
+
});
|
241
|
+
|
242
|
+
expect(signature).toBeDefined();
|
243
|
+
});
|
152
244
|
});
|
package/src/adapters/ethers5.ts
CHANGED
@@ -2,7 +2,7 @@ import type { Abi } from "abitype";
|
|
2
2
|
import * as universalethers from "ethers";
|
3
3
|
import type * as ethers5 from "ethers5";
|
4
4
|
import type * as ethers6 from "ethers6";
|
5
|
-
import type { AccessList, Hex
|
5
|
+
import type { AccessList, Hex } from "viem";
|
6
6
|
import type { Chain } from "../chains/types.js";
|
7
7
|
import { getRpcUrlForChain } from "../chains/utils.js";
|
8
8
|
import type { ThirdwebClient } from "../client/client.js";
|
@@ -10,6 +10,7 @@ import { type ThirdwebContract, getContract } from "../contract/contract.js";
|
|
10
10
|
import { toSerializableTransaction } from "../transaction/actions/to-serializable-transaction.js";
|
11
11
|
import { waitForReceipt } from "../transaction/actions/wait-for-tx-receipt.js";
|
12
12
|
import type { PreparedTransaction } from "../transaction/prepare-transaction.js";
|
13
|
+
import type { SerializableTransaction } from "../transaction/serialize-transaction.js";
|
13
14
|
import { toHex } from "../utils/encoding/hex.js";
|
14
15
|
import type { Account } from "../wallets/interfaces/wallet.js";
|
15
16
|
|
@@ -39,7 +40,7 @@ function assertEthers5(
|
|
39
40
|
): asserts ethers is typeof ethers5 {
|
40
41
|
if (!isEthers5(ethers)) {
|
41
42
|
throw new Error(
|
42
|
-
"You seem to be using ethers@6, please use the `ethers6Adapter()",
|
43
|
+
"You seem to be using ethers@6, please use the `ethers6Adapter()`",
|
43
44
|
);
|
44
45
|
}
|
45
46
|
}
|
@@ -279,6 +280,7 @@ export function toEthersProvider(
|
|
279
280
|
client: ThirdwebClient,
|
280
281
|
chain: Chain,
|
281
282
|
): ethers5.providers.Provider {
|
283
|
+
assertEthers5(ethers);
|
282
284
|
const url = getRpcUrlForChain({ chain, client });
|
283
285
|
const headers: HeadersInit = {
|
284
286
|
"Content-Type": "application/json",
|
@@ -588,7 +590,7 @@ export async function toEthersSigner(
|
|
588
590
|
* @internal
|
589
591
|
*/
|
590
592
|
function alignTxToEthers(
|
591
|
-
tx:
|
593
|
+
tx: SerializableTransaction,
|
592
594
|
): ethers5.ethers.utils.Deferrable<ethers5.ethers.providers.TransactionRequest> {
|
593
595
|
const { to: viemTo, type: viemType, gas, ...rest } = tx;
|
594
596
|
// massage "to" to fit ethers
|
@@ -623,8 +625,7 @@ function alignTxToEthers(
|
|
623
625
|
gasLimit: gas,
|
624
626
|
to,
|
625
627
|
type,
|
626
|
-
|
627
|
-
};
|
628
|
+
} as ethers5.ethers.utils.Deferrable<ethers5.ethers.providers.TransactionRequest>;
|
628
629
|
}
|
629
630
|
|
630
631
|
async function alignTxFromEthers(
|
package/src/adapters/ethers6.ts
CHANGED
@@ -2,13 +2,14 @@ import type { Abi } from "abitype";
|
|
2
2
|
import * as universalethers from "ethers";
|
3
3
|
import type * as ethers5 from "ethers5";
|
4
4
|
import type * as ethers6 from "ethers6";
|
5
|
-
import type { AccessList, Hex
|
5
|
+
import type { AccessList, Hex } from "viem";
|
6
6
|
import type { Chain } from "../chains/types.js";
|
7
7
|
import { getRpcUrlForChain } from "../chains/utils.js";
|
8
8
|
import type { ThirdwebClient } from "../client/client.js";
|
9
9
|
import { type ThirdwebContract, getContract } from "../contract/contract.js";
|
10
10
|
import { toSerializableTransaction } from "../transaction/actions/to-serializable-transaction.js";
|
11
11
|
import type { PreparedTransaction } from "../transaction/prepare-transaction.js";
|
12
|
+
import type { SerializableTransaction } from "../transaction/serialize-transaction.js";
|
12
13
|
import { toHex } from "../utils/encoding/hex.js";
|
13
14
|
import { resolvePromisedValue } from "../utils/promise/resolve-promised-value.js";
|
14
15
|
import type { Account } from "../wallets/interfaces/wallet.js";
|
@@ -493,7 +494,7 @@ export function toEthersSigner(
|
|
493
494
|
* @returns The aligned transaction object.
|
494
495
|
* @internal
|
495
496
|
*/
|
496
|
-
function alignTxToEthers(tx:
|
497
|
+
function alignTxToEthers(tx: SerializableTransaction) {
|
497
498
|
const { type: viemType, ...rest } = tx;
|
498
499
|
|
499
500
|
// massage "type" to fit ethers
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import type { Account as ViemAccount } from "viem";
|
2
2
|
import { privateKeyToAccount as viemPrivateKeyToAccount } from "viem/accounts";
|
3
3
|
import { beforeAll, describe, expect, test } from "vitest";
|
4
4
|
import { USDT_ABI } from "~test/abis/usdt.js";
|
@@ -6,7 +6,7 @@ import {
|
|
6
6
|
USDT_CONTRACT_ADDRESS,
|
7
7
|
USDT_CONTRACT_WITH_ABI,
|
8
8
|
} from "~test/test-contracts.js";
|
9
|
-
import { ANVIL_PKEY_A } from "~test/test-wallets.js";
|
9
|
+
import { ANVIL_PKEY_A, TEST_ACCOUNT_B } from "~test/test-wallets.js";
|
10
10
|
import { typedData } from "~test/typed-data.js";
|
11
11
|
|
12
12
|
import { ANVIL_CHAIN, FORKED_ETHEREUM_CHAIN } from "../../test/src/chains.js";
|
@@ -87,6 +87,7 @@ describe("walletClient.toViem", () => {
|
|
87
87
|
if (!walletClient.account) {
|
88
88
|
throw new Error("Account not found");
|
89
89
|
}
|
90
|
+
|
90
91
|
const txHash = await walletClient.sendTransaction({
|
91
92
|
account: walletClient.account,
|
92
93
|
chain: {
|
@@ -101,8 +102,8 @@ describe("walletClient.toViem", () => {
|
|
101
102
|
decimals: ANVIL_CHAIN.nativeCurrency?.decimals || 18,
|
102
103
|
},
|
103
104
|
},
|
104
|
-
to:
|
105
|
-
value:
|
105
|
+
to: TEST_ACCOUNT_B.address,
|
106
|
+
value: 10n,
|
106
107
|
});
|
107
108
|
expect(txHash).toBeDefined();
|
108
109
|
expect(txHash.slice(0, 2)).toBe("0x");
|
package/src/auth/verify-hash.ts
CHANGED
@@ -129,7 +129,8 @@ export async function verifyHash({
|
|
129
129
|
try {
|
130
130
|
const result = await eth_call(rpcRequest, verificationData);
|
131
131
|
return hexToBool(result);
|
132
|
-
} catch {
|
132
|
+
} catch (err) {
|
133
|
+
console.error("Error verifying ERC-6492 signature", err);
|
133
134
|
// Some chains do not support the eth_call simulation and will fail, so we fall back to regular EIP1271 validation
|
134
135
|
const validEip1271 = await verifyEip1271Signature({
|
135
136
|
hash,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { type Signature, recoverAddress } from "viem";
|
1
|
+
import { type SignableMessage, type Signature, recoverAddress } from "viem";
|
2
2
|
import type { Chain } from "../chains/types.js";
|
3
3
|
import type { ThirdwebClient } from "../client/client.js";
|
4
4
|
import { type Hex, isHex } from "../utils/encoding/hex.js";
|
@@ -10,7 +10,7 @@ import { verifyHash } from "./verify-hash.js";
|
|
10
10
|
* @auth
|
11
11
|
*/
|
12
12
|
export type VerifyEOASignatureParams = {
|
13
|
-
message: string;
|
13
|
+
message: string | SignableMessage;
|
14
14
|
signature: string | Uint8Array | Signature;
|
15
15
|
address: string;
|
16
16
|
};
|
@@ -41,6 +41,12 @@ export function resolveContractAbi<abi extends Abi>(
|
|
41
41
|
if (contract.abi) {
|
42
42
|
return contract.abi as abi;
|
43
43
|
}
|
44
|
+
|
45
|
+
// for local chains, we need to resolve the composite abi from bytecode
|
46
|
+
if (contract.chain.id === 31337 || contract.chain.id === 1337) {
|
47
|
+
return await resolveCompositeAbi(contract as ThirdwebContract);
|
48
|
+
}
|
49
|
+
|
44
50
|
// try to get it from the api
|
45
51
|
try {
|
46
52
|
return await resolveAbiFromContractApi(contract, contractApiBaseUrl);
|
@@ -30,9 +30,13 @@ export type {
|
|
30
30
|
PaymasterResult,
|
31
31
|
} from "../../wallets/smart/types.js";
|
32
32
|
|
33
|
+
// all preset configs
|
34
|
+
export * as Config from "../../wallets/smart/presets/index.js";
|
35
|
+
|
33
36
|
export {
|
34
37
|
ENTRYPOINT_ADDRESS_v0_6,
|
35
38
|
ENTRYPOINT_ADDRESS_v0_7,
|
36
39
|
DEFAULT_ACCOUNT_FACTORY_V0_6,
|
37
40
|
DEFAULT_ACCOUNT_FACTORY_V0_7,
|
41
|
+
TokenPaymaster,
|
38
42
|
} from "../../wallets/smart/lib/constants.js";
|
@@ -107,7 +107,7 @@ export const authenticateWithRedirect = () => {
|
|
107
107
|
export type {
|
108
108
|
CoinbaseWalletCreationOptions,
|
109
109
|
CoinbaseSDKWalletConnectionOptions,
|
110
|
-
} from "../wallets/coinbase/
|
110
|
+
} from "../wallets/coinbase/coinbase-web.js";
|
111
111
|
|
112
112
|
export type {
|
113
113
|
WalletEmitter,
|
package/src/exports/wallets.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import * as ox__TypedData from "ox/TypedData";
|
2
2
|
import type { ThirdwebContract } from "../../contract/contract.js";
|
3
3
|
import { isHex } from "../../utils/encoding/hex.js";
|
4
4
|
import { isValidSignature } from "./__generated__/isValidSignature/read/isValidSignature.js";
|
@@ -7,11 +7,11 @@ import { isValidSignature } from "./__generated__/isValidSignature/read/isValidS
|
|
7
7
|
* @extension ERC1271
|
8
8
|
*/
|
9
9
|
export type CheckContractWalletSignTypedDataOptions<
|
10
|
-
typedData extends TypedData | Record<string, unknown>,
|
10
|
+
typedData extends ox__TypedData.TypedData | Record<string, unknown>,
|
11
11
|
primaryType extends keyof typedData | "EIP712Domain" = keyof typedData,
|
12
12
|
> = {
|
13
13
|
contract: ThirdwebContract;
|
14
|
-
data:
|
14
|
+
data: ox__TypedData.Definition<typedData, primaryType>;
|
15
15
|
signature: string;
|
16
16
|
};
|
17
17
|
const MAGIC_VALUE = "0x1626ba7e";
|
@@ -42,7 +42,7 @@ const MAGIC_VALUE = "0x1626ba7e";
|
|
42
42
|
* @returns A promise that resolves with a boolean indicating if the signature is valid.
|
43
43
|
*/
|
44
44
|
export async function checkContractWalletSignedTypedData<
|
45
|
-
typedData extends TypedData | Record<string, unknown>,
|
45
|
+
typedData extends ox__TypedData.TypedData | Record<string, unknown>,
|
46
46
|
primaryType extends keyof typedData | "EIP712Domain" = keyof typedData,
|
47
47
|
>(options: CheckContractWalletSignTypedDataOptions<typedData, primaryType>) {
|
48
48
|
if (!isHex(options.signature)) {
|
@@ -50,7 +50,11 @@ export async function checkContractWalletSignedTypedData<
|
|
50
50
|
}
|
51
51
|
const result = await isValidSignature({
|
52
52
|
contract: options.contract,
|
53
|
-
hash:
|
53
|
+
hash: ox__TypedData.hashStruct({
|
54
|
+
primaryType: options.data.primaryType,
|
55
|
+
data: options.data.message as Record<string, unknown>,
|
56
|
+
types: options.data.types as ox__TypedData.Definition["types"],
|
57
|
+
}),
|
54
58
|
signature: options.signature,
|
55
59
|
});
|
56
60
|
return result === MAGIC_VALUE;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { prepareEvent } from "../../../../../event/prepare-event.js";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Creates an event object for the ModuleInstalled event.
|
5
|
+
* @returns The prepared event object.
|
6
|
+
* @extension ERC7579
|
7
|
+
* @example
|
8
|
+
* ```ts
|
9
|
+
* import { getContractEvents } from "thirdweb";
|
10
|
+
* import { moduleInstalledEvent } from "thirdweb/extensions/erc7579";
|
11
|
+
*
|
12
|
+
* const events = await getContractEvents({
|
13
|
+
* contract,
|
14
|
+
* events: [
|
15
|
+
* moduleInstalledEvent()
|
16
|
+
* ],
|
17
|
+
* });
|
18
|
+
* ```
|
19
|
+
*/
|
20
|
+
export function moduleInstalledEvent() {
|
21
|
+
return prepareEvent({
|
22
|
+
signature: "event ModuleInstalled(uint256 moduleTypeId, address module)",
|
23
|
+
});
|
24
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { prepareEvent } from "../../../../../event/prepare-event.js";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Creates an event object for the ModuleUninstalled event.
|
5
|
+
* @returns The prepared event object.
|
6
|
+
* @extension ERC7579
|
7
|
+
* @example
|
8
|
+
* ```ts
|
9
|
+
* import { getContractEvents } from "thirdweb";
|
10
|
+
* import { moduleUninstalledEvent } from "thirdweb/extensions/erc7579";
|
11
|
+
*
|
12
|
+
* const events = await getContractEvents({
|
13
|
+
* contract,
|
14
|
+
* events: [
|
15
|
+
* moduleUninstalledEvent()
|
16
|
+
* ],
|
17
|
+
* });
|
18
|
+
* ```
|
19
|
+
*/
|
20
|
+
export function moduleUninstalledEvent() {
|
21
|
+
return prepareEvent({
|
22
|
+
signature: "event ModuleUninstalled(uint256 moduleTypeId, address module)",
|
23
|
+
});
|
24
|
+
}
|