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,270 @@
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
2
|
+
import { baseSepolia } from "../../../../chains/chain-definitions/base-sepolia.js";
|
3
|
+
import { createThirdwebClient } from "../../../../client/client.js";
|
4
|
+
import { getEcosystemInfo } from "../../../ecosystem/get-ecosystem-wallet-auth-options.js";
|
5
|
+
import type { Account } from "../../../interfaces/wallet.js";
|
6
|
+
import type { InAppConnector } from "../interfaces/connector.js";
|
7
|
+
import { createInAppWallet } from "./in-app-core.js";
|
8
|
+
import { autoConnectInAppWallet, connectInAppWallet } from "./index.js";
|
9
|
+
|
10
|
+
vi.mock("../../../../analytics/track/connect.js", () => ({
|
11
|
+
trackConnect: vi.fn(),
|
12
|
+
}));
|
13
|
+
|
14
|
+
vi.mock("./index.js", () => ({
|
15
|
+
autoConnectInAppWallet: vi.fn(),
|
16
|
+
connectInAppWallet: vi.fn(),
|
17
|
+
}));
|
18
|
+
|
19
|
+
vi.mock("../../../ecosystem/get-ecosystem-wallet-auth-options.js", () => ({
|
20
|
+
getEcosystemInfo: vi.fn(),
|
21
|
+
}));
|
22
|
+
|
23
|
+
describe("createInAppWallet", () => {
|
24
|
+
const mockClient = createThirdwebClient({
|
25
|
+
clientId: "test-client",
|
26
|
+
});
|
27
|
+
const mockChain = baseSepolia;
|
28
|
+
const mockAccount = { address: "0x123" } as Account;
|
29
|
+
|
30
|
+
const mockConnectorFactory = vi.fn(() =>
|
31
|
+
Promise.resolve({
|
32
|
+
connect: vi.fn(),
|
33
|
+
logout: vi.fn(() => Promise.resolve({ success: true })),
|
34
|
+
authenticate: vi.fn(),
|
35
|
+
getAccounts: vi.fn(),
|
36
|
+
getAccount: vi.fn(),
|
37
|
+
getProfiles: vi.fn(),
|
38
|
+
getUser: vi.fn(),
|
39
|
+
linkProfile: vi.fn(),
|
40
|
+
preAuthenticate: vi.fn(),
|
41
|
+
} as InAppConnector),
|
42
|
+
);
|
43
|
+
|
44
|
+
beforeEach(() => {
|
45
|
+
vi.clearAllMocks();
|
46
|
+
});
|
47
|
+
|
48
|
+
it("should connect successfully", async () => {
|
49
|
+
vi.mocked(connectInAppWallet).mockResolvedValue([mockAccount, mockChain]);
|
50
|
+
|
51
|
+
const wallet = createInAppWallet({
|
52
|
+
connectorFactory: mockConnectorFactory,
|
53
|
+
});
|
54
|
+
|
55
|
+
const result = await wallet.connect({
|
56
|
+
client: mockClient,
|
57
|
+
chain: mockChain,
|
58
|
+
strategy: "email",
|
59
|
+
email: "",
|
60
|
+
verificationCode: "",
|
61
|
+
});
|
62
|
+
|
63
|
+
expect(result).toBe(mockAccount);
|
64
|
+
expect(connectInAppWallet).toHaveBeenCalledWith(
|
65
|
+
expect.objectContaining({
|
66
|
+
client: mockClient,
|
67
|
+
chain: mockChain,
|
68
|
+
}),
|
69
|
+
undefined,
|
70
|
+
expect.any(Object),
|
71
|
+
);
|
72
|
+
});
|
73
|
+
|
74
|
+
it("should auto connect successfully", async () => {
|
75
|
+
vi.mocked(autoConnectInAppWallet).mockResolvedValue([
|
76
|
+
mockAccount,
|
77
|
+
mockChain,
|
78
|
+
]);
|
79
|
+
|
80
|
+
const wallet = createInAppWallet({
|
81
|
+
connectorFactory: mockConnectorFactory,
|
82
|
+
});
|
83
|
+
|
84
|
+
const result = await wallet.autoConnect({
|
85
|
+
client: mockClient,
|
86
|
+
chain: mockChain,
|
87
|
+
});
|
88
|
+
|
89
|
+
expect(result).toBe(mockAccount);
|
90
|
+
expect(autoConnectInAppWallet).toHaveBeenCalledWith(
|
91
|
+
expect.objectContaining({
|
92
|
+
client: mockClient,
|
93
|
+
chain: mockChain,
|
94
|
+
}),
|
95
|
+
undefined,
|
96
|
+
expect.any(Object),
|
97
|
+
);
|
98
|
+
});
|
99
|
+
|
100
|
+
it("should handle ecosystem wallet connection with smart account settings", async () => {
|
101
|
+
vi.mocked(getEcosystemInfo).mockResolvedValue({
|
102
|
+
smartAccountOptions: {
|
103
|
+
defaultChainId: mockChain.id,
|
104
|
+
sponsorGas: true,
|
105
|
+
accountFactoryAddress: "0x456",
|
106
|
+
},
|
107
|
+
authOptions: [],
|
108
|
+
name: "hello world",
|
109
|
+
slug: "test-ecosystem",
|
110
|
+
});
|
111
|
+
|
112
|
+
vi.mocked(connectInAppWallet).mockResolvedValue([mockAccount, mockChain]);
|
113
|
+
|
114
|
+
const wallet = createInAppWallet({
|
115
|
+
connectorFactory: mockConnectorFactory,
|
116
|
+
ecosystem: { id: "ecosystem.test-ecosystem" },
|
117
|
+
});
|
118
|
+
|
119
|
+
const result = await wallet.connect({
|
120
|
+
client: mockClient,
|
121
|
+
chain: mockChain,
|
122
|
+
strategy: "email",
|
123
|
+
email: "",
|
124
|
+
verificationCode: "",
|
125
|
+
});
|
126
|
+
|
127
|
+
expect(result).toBe(mockAccount);
|
128
|
+
expect(connectInAppWallet).toHaveBeenCalledWith(
|
129
|
+
expect.objectContaining({
|
130
|
+
client: mockClient,
|
131
|
+
chain: mockChain,
|
132
|
+
}),
|
133
|
+
expect.objectContaining({
|
134
|
+
smartAccount: expect.objectContaining({
|
135
|
+
chain: mockChain,
|
136
|
+
sponsorGas: true,
|
137
|
+
factoryAddress: "0x456",
|
138
|
+
}),
|
139
|
+
}),
|
140
|
+
expect.any(Object),
|
141
|
+
);
|
142
|
+
});
|
143
|
+
it("should handle ecosystem wallet connection with smart account settings even when no chain is set", async () => {
|
144
|
+
vi.mocked(getEcosystemInfo).mockResolvedValue({
|
145
|
+
smartAccountOptions: {
|
146
|
+
defaultChainId: mockChain.id,
|
147
|
+
sponsorGas: true,
|
148
|
+
accountFactoryAddress: "0x456",
|
149
|
+
},
|
150
|
+
authOptions: [],
|
151
|
+
name: "hello world",
|
152
|
+
slug: "test-ecosystem",
|
153
|
+
});
|
154
|
+
|
155
|
+
vi.mocked(connectInAppWallet).mockResolvedValue([mockAccount, mockChain]);
|
156
|
+
|
157
|
+
const wallet = createInAppWallet({
|
158
|
+
connectorFactory: mockConnectorFactory,
|
159
|
+
ecosystem: { id: "ecosystem.test-ecosystem" },
|
160
|
+
});
|
161
|
+
|
162
|
+
const result = await wallet.connect({
|
163
|
+
client: mockClient,
|
164
|
+
strategy: "email",
|
165
|
+
email: "",
|
166
|
+
verificationCode: "",
|
167
|
+
});
|
168
|
+
|
169
|
+
expect(result).toBe(mockAccount);
|
170
|
+
expect(connectInAppWallet).toHaveBeenCalledWith(
|
171
|
+
expect.objectContaining({
|
172
|
+
client: mockClient,
|
173
|
+
}),
|
174
|
+
expect.objectContaining({
|
175
|
+
smartAccount: expect.objectContaining({
|
176
|
+
chain: mockChain,
|
177
|
+
sponsorGas: true,
|
178
|
+
factoryAddress: "0x456",
|
179
|
+
}),
|
180
|
+
}),
|
181
|
+
expect.any(Object),
|
182
|
+
);
|
183
|
+
});
|
184
|
+
|
185
|
+
it("should handle ecosystem wallet auto connection with smart account settings", async () => {
|
186
|
+
vi.mocked(getEcosystemInfo).mockResolvedValue({
|
187
|
+
smartAccountOptions: {
|
188
|
+
defaultChainId: mockChain.id,
|
189
|
+
sponsorGas: true,
|
190
|
+
accountFactoryAddress: "0x456",
|
191
|
+
},
|
192
|
+
authOptions: [],
|
193
|
+
name: "hello world",
|
194
|
+
slug: "test-ecosystem",
|
195
|
+
});
|
196
|
+
|
197
|
+
vi.mocked(autoConnectInAppWallet).mockResolvedValue([
|
198
|
+
mockAccount,
|
199
|
+
mockChain,
|
200
|
+
]);
|
201
|
+
|
202
|
+
const wallet = createInAppWallet({
|
203
|
+
connectorFactory: mockConnectorFactory,
|
204
|
+
ecosystem: { id: "ecosystem.test-ecosystem" },
|
205
|
+
});
|
206
|
+
|
207
|
+
const result = await wallet.autoConnect({
|
208
|
+
client: mockClient,
|
209
|
+
chain: mockChain,
|
210
|
+
});
|
211
|
+
|
212
|
+
expect(result).toBe(mockAccount);
|
213
|
+
expect(autoConnectInAppWallet).toHaveBeenCalledWith(
|
214
|
+
expect.objectContaining({
|
215
|
+
client: mockClient,
|
216
|
+
chain: mockChain,
|
217
|
+
}),
|
218
|
+
expect.objectContaining({
|
219
|
+
smartAccount: expect.objectContaining({
|
220
|
+
chain: mockChain,
|
221
|
+
sponsorGas: true,
|
222
|
+
factoryAddress: "0x456",
|
223
|
+
}),
|
224
|
+
}),
|
225
|
+
expect.any(Object),
|
226
|
+
);
|
227
|
+
});
|
228
|
+
|
229
|
+
it("should handle ecosystem wallet auto connection with smart account settings even when no chain is set", async () => {
|
230
|
+
vi.mocked(getEcosystemInfo).mockResolvedValue({
|
231
|
+
smartAccountOptions: {
|
232
|
+
defaultChainId: mockChain.id,
|
233
|
+
sponsorGas: true,
|
234
|
+
accountFactoryAddress: "0x456",
|
235
|
+
},
|
236
|
+
authOptions: [],
|
237
|
+
name: "hello world",
|
238
|
+
slug: "test-ecosystem",
|
239
|
+
});
|
240
|
+
|
241
|
+
vi.mocked(autoConnectInAppWallet).mockResolvedValue([
|
242
|
+
mockAccount,
|
243
|
+
mockChain,
|
244
|
+
]);
|
245
|
+
|
246
|
+
const wallet = createInAppWallet({
|
247
|
+
connectorFactory: mockConnectorFactory,
|
248
|
+
ecosystem: { id: "ecosystem.test-ecosystem" },
|
249
|
+
});
|
250
|
+
|
251
|
+
const result = await wallet.autoConnect({
|
252
|
+
client: mockClient,
|
253
|
+
});
|
254
|
+
|
255
|
+
expect(result).toBe(mockAccount);
|
256
|
+
expect(autoConnectInAppWallet).toHaveBeenCalledWith(
|
257
|
+
expect.objectContaining({
|
258
|
+
client: mockClient,
|
259
|
+
}),
|
260
|
+
expect.objectContaining({
|
261
|
+
smartAccount: expect.objectContaining({
|
262
|
+
chain: mockChain,
|
263
|
+
sponsorGas: true,
|
264
|
+
factoryAddress: "0x456",
|
265
|
+
}),
|
266
|
+
}),
|
267
|
+
expect.any(Object),
|
268
|
+
);
|
269
|
+
});
|
270
|
+
});
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import { trackConnect } from "../../../../analytics/track/connect.js";
|
2
2
|
import type { Chain } from "../../../../chains/types.js";
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
getCachedChain,
|
5
|
+
getCachedChainIfExists,
|
6
|
+
} from "../../../../chains/utils.js";
|
4
7
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
5
8
|
import { stringify } from "../../../../utils/json.js";
|
6
9
|
import { getEcosystemInfo } from "../../../ecosystem/get-ecosystem-wallet-auth-options.js";
|
@@ -74,12 +77,16 @@ export function createInAppWallet(args: {
|
|
74
77
|
const ecosystemOptions = await getEcosystemInfo(ecosystem.id);
|
75
78
|
const smartAccountOptions = ecosystemOptions?.smartAccountOptions;
|
76
79
|
if (smartAccountOptions) {
|
77
|
-
const
|
80
|
+
const { defaultChainId } = ecosystemOptions.smartAccountOptions;
|
81
|
+
const preferredChain =
|
82
|
+
options.chain ??
|
83
|
+
(defaultChainId ? getCachedChain(defaultChainId) : undefined);
|
78
84
|
if (!preferredChain) {
|
79
85
|
throw new Error(
|
80
|
-
|
86
|
+
`A chain must be provided either via 'chain' in connect options or 'defaultChainId' in ecosystem configuration. Please pass it via connect() or update the ecosystem configuration.`,
|
81
87
|
);
|
82
88
|
}
|
89
|
+
|
83
90
|
createOptions = {
|
84
91
|
...createOptions,
|
85
92
|
smartAccount: {
|
@@ -123,12 +130,16 @@ export function createInAppWallet(args: {
|
|
123
130
|
const ecosystemOptions = await getEcosystemInfo(ecosystem.id);
|
124
131
|
const smartAccountOptions = ecosystemOptions?.smartAccountOptions;
|
125
132
|
if (smartAccountOptions) {
|
126
|
-
const
|
133
|
+
const { defaultChainId } = ecosystemOptions.smartAccountOptions;
|
134
|
+
const preferredChain =
|
135
|
+
options.chain ??
|
136
|
+
(defaultChainId ? getCachedChain(defaultChainId) : undefined);
|
127
137
|
if (!preferredChain) {
|
128
138
|
throw new Error(
|
129
|
-
|
139
|
+
`A chain must be provided either via 'chain' in connect options or 'defaultChainId' in ecosystem configuration. Please pass it via connect() or update the ecosystem configuration.`,
|
130
140
|
);
|
131
141
|
}
|
142
|
+
|
132
143
|
createOptions = {
|
133
144
|
...createOptions,
|
134
145
|
smartAccount: {
|
@@ -7,7 +7,7 @@ import type {
|
|
7
7
|
import { createInAppWallet } from "../core/wallet/in-app-core.js";
|
8
8
|
|
9
9
|
/**
|
10
|
-
* Creates an [Ecosystem Wallet](https://portal.thirdweb.com/connect/
|
10
|
+
* Creates an [Ecosystem Wallet](https://portal.thirdweb.com/connect/wallet/overview) based on various authentication methods. Full list of available authentication methods [here](/connect/wallet/sign-in-methods/configure).
|
11
11
|
*
|
12
12
|
* Can also be configured to use Account Abstraction to directly connect to a ERC4337 smart account based on those authentication methods.
|
13
13
|
*
|
@@ -4,7 +4,7 @@ import type { CreateWalletArgs } from "../../wallet-types.js";
|
|
4
4
|
import { createInAppWallet } from "../core/wallet/in-app-core.js";
|
5
5
|
|
6
6
|
/**
|
7
|
-
* Creates an app scoped wallet for users based on various authentication methods. Full list of available authentication methods [here](https://portal.thirdweb.com/connect/wallet/sign-in-methods/
|
7
|
+
* Creates an app scoped wallet for users based on various authentication methods. Full list of available authentication methods [here](https://portal.thirdweb.com/connect/wallet/sign-in-methods/configure).
|
8
8
|
*
|
9
9
|
* Can also be configured to use Account Abstraction to directly connect to a ERC4337 smart account based on those authentication methods.
|
10
10
|
*
|
@@ -27,7 +27,7 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
|
|
27
27
|
* });
|
28
28
|
* ```
|
29
29
|
*
|
30
|
-
* [View all available social auth methods](https://portal.thirdweb.com/connect/wallet/sign-in-methods/
|
30
|
+
* [View all available social auth methods](https://portal.thirdweb.com/connect/wallet/sign-in-methods/configure)
|
31
31
|
*
|
32
32
|
* ### Login with email
|
33
33
|
*
|
@@ -8,7 +8,7 @@ import { getRpcClient } from "../../../../rpc/rpc.js";
|
|
8
8
|
import { getAddress } from "../../../../utils/address.js";
|
9
9
|
import { getThirdwebDomains } from "../../../../utils/domains.js";
|
10
10
|
import { type Hex, hexToString } from "../../../../utils/encoding/hex.js";
|
11
|
-
import { parseTypedData } from "../../../../utils/signatures/helpers/
|
11
|
+
import { parseTypedData } from "../../../../utils/signatures/helpers/parse-typed-data.js";
|
12
12
|
import type { Prettify } from "../../../../utils/type-utils.js";
|
13
13
|
import type {
|
14
14
|
Account,
|
@@ -316,7 +316,7 @@ export class IFrameWallet implements IWebWallet {
|
|
316
316
|
parsedTypedData.types as SignerProcedureTypes["signTypedDataV4"]["types"],
|
317
317
|
message:
|
318
318
|
parsedTypedData.message as SignerProcedureTypes["signTypedDataV4"]["message"],
|
319
|
-
chainId: chainId || 1,
|
319
|
+
chainId: Number.parseInt(BigInt(chainId || 1).toString()),
|
320
320
|
partnerId,
|
321
321
|
rpcEndpoint: `https://${chainId}.${RPC_URL}`, // TODO (ew) shouldnt be needed
|
322
322
|
},
|
@@ -16,7 +16,7 @@ import {
|
|
16
16
|
stringToHex,
|
17
17
|
uint8ArrayToHex,
|
18
18
|
} from "../../utils/encoding/hex.js";
|
19
|
-
import { parseTypedData } from "../../utils/signatures/helpers/
|
19
|
+
import { parseTypedData } from "../../utils/signatures/helpers/parse-typed-data.js";
|
20
20
|
import type { InjectedSupportedWalletIds } from "../__generated__/wallet-ids.js";
|
21
21
|
import type { Account, SendTransactionOption } from "../interfaces/wallet.js";
|
22
22
|
import type { DisconnectFn, SwitchChainFn } from "../types.js";
|
@@ -1,16 +1,12 @@
|
|
1
1
|
import type { Address } from "abitype";
|
2
|
-
import type
|
3
|
-
|
4
|
-
SignableMessage,
|
5
|
-
TransactionSerializable,
|
6
|
-
TypedData,
|
7
|
-
TypedDataDefinition,
|
8
|
-
} from "viem";
|
2
|
+
import type * as ox__TypedData from "ox/TypedData";
|
3
|
+
import type { Hex, SignableMessage } from "viem";
|
9
4
|
import type { Chain } from "../../chains/types.js";
|
10
5
|
import type {
|
11
6
|
EIP712TransactionOptions,
|
12
7
|
PreparedTransaction,
|
13
8
|
} from "../../transaction/prepare-transaction.js";
|
9
|
+
import type { SerializableTransaction } from "../../transaction/serialize-transaction.js";
|
14
10
|
import type { SendTransactionResult } from "../../transaction/types.js";
|
15
11
|
import type { WalletEmitter } from "../wallet-emitter.js";
|
16
12
|
import type {
|
@@ -20,7 +16,7 @@ import type {
|
|
20
16
|
WalletId,
|
21
17
|
} from "../wallet-types.js";
|
22
18
|
|
23
|
-
export type SendTransactionOption =
|
19
|
+
export type SendTransactionOption = SerializableTransaction & {
|
24
20
|
chainId: number;
|
25
21
|
eip712?: EIP712TransactionOptions;
|
26
22
|
};
|
@@ -191,10 +187,10 @@ export type Account = {
|
|
191
187
|
* ```
|
192
188
|
*/
|
193
189
|
signTypedData: <
|
194
|
-
const typedData extends TypedData | Record<string, unknown>,
|
190
|
+
const typedData extends ox__TypedData.TypedData | Record<string, unknown>,
|
195
191
|
primaryType extends keyof typedData | "EIP712Domain" = keyof typedData,
|
196
192
|
>(
|
197
|
-
_typedData:
|
193
|
+
_typedData: ox__TypedData.Definition<typedData, primaryType>,
|
198
194
|
) => Promise<Hex>;
|
199
195
|
|
200
196
|
// OPTIONAL
|
@@ -222,7 +218,7 @@ export type Account = {
|
|
222
218
|
* }
|
223
219
|
* ```
|
224
220
|
*/
|
225
|
-
signTransaction?: (tx:
|
221
|
+
signTransaction?: (tx: SerializableTransaction) => Promise<Hex>;
|
226
222
|
/**
|
227
223
|
* Send the given array of transactions to the blockchain in a single batch
|
228
224
|
*
|
@@ -6,8 +6,8 @@ import type { Chain } from "../../chains/types.js";
|
|
6
6
|
import { getCachedChainIfExists } from "../../chains/utils.js";
|
7
7
|
import { nativeLocalStorage } from "../../utils/storage/nativeStorage.js";
|
8
8
|
import type { WCSupportedWalletIds } from "../__generated__/wallet-ids.js";
|
9
|
+
import { getCoinbaseMobileProvider } from "../coinbase/coinbase-mobile.js";
|
9
10
|
import { coinbaseWalletSDK } from "../coinbase/coinbase-wallet.js";
|
10
|
-
import { getCoinbaseMobileProvider } from "../coinbase/coinbaseMobileSDK.js";
|
11
11
|
import { COINBASE } from "../constants.js";
|
12
12
|
import { isEcosystemWallet } from "../ecosystem/is-ecosystem-wallet.js";
|
13
13
|
import { ecosystemWallet } from "../in-app/native/ecosystem.js";
|
@@ -1,19 +1,16 @@
|
|
1
1
|
import { secp256k1 } from "@noble/curves/secp256k1";
|
2
|
-
import type
|
3
|
-
SignableMessage,
|
4
|
-
TransactionSerializable,
|
5
|
-
TypedData,
|
6
|
-
TypedDataDefinition,
|
7
|
-
} from "viem";
|
2
|
+
import type * as ox__TypedData from "ox/TypedData";
|
8
3
|
import { publicKeyToAddress } from "viem/utils";
|
9
4
|
import { getCachedChain } from "../chains/utils.js";
|
10
5
|
import type { ThirdwebClient } from "../client/client.js";
|
11
6
|
import { eth_sendRawTransaction } from "../rpc/actions/eth_sendRawTransaction.js";
|
12
7
|
import { getRpcClient } from "../rpc/rpc.js";
|
13
8
|
import { signTransaction } from "../transaction/actions/sign-transaction.js";
|
9
|
+
import type { SerializableTransaction } from "../transaction/serialize-transaction.js";
|
14
10
|
import { type Hex, toHex } from "../utils/encoding/hex.js";
|
15
11
|
import { signMessage } from "../utils/signatures/sign-message.js";
|
16
12
|
import { signTypedData } from "../utils/signatures/sign-typed-data.js";
|
13
|
+
import type { Prettify } from "../utils/type-utils.js";
|
17
14
|
import type { Account } from "./interfaces/wallet.js";
|
18
15
|
|
19
16
|
export type PrivateKeyToAccountOptions = {
|
@@ -46,6 +43,13 @@ export type PrivateKeyToAccountOptions = {
|
|
46
43
|
privateKey: string;
|
47
44
|
};
|
48
45
|
|
46
|
+
type Message = Prettify<
|
47
|
+
| string
|
48
|
+
| {
|
49
|
+
raw: Hex | Uint8Array;
|
50
|
+
}
|
51
|
+
>;
|
52
|
+
|
49
53
|
/**
|
50
54
|
* Get an `Account` object from a private key.
|
51
55
|
* @param options - The options for `privateKeyToAccount`
|
@@ -69,14 +73,12 @@ export function privateKeyToAccount(
|
|
69
73
|
const privateKey = `0x${options.privateKey.replace(/^0x/, "")}` satisfies Hex;
|
70
74
|
|
71
75
|
const publicKey = toHex(secp256k1.getPublicKey(privateKey.slice(2), false));
|
72
|
-
const address = publicKeyToAddress(publicKey);
|
76
|
+
const address = publicKeyToAddress(publicKey);
|
73
77
|
|
74
78
|
const account = {
|
75
79
|
address,
|
76
80
|
sendTransaction: async (
|
77
|
-
|
78
|
-
// maybe we *do* actually have to take in a tx object instead of the raw tx?
|
79
|
-
tx: TransactionSerializable & { chainId: number },
|
81
|
+
tx: SerializableTransaction & { chainId: number },
|
80
82
|
) => {
|
81
83
|
const rpcRequest = getRpcClient({
|
82
84
|
client: client,
|
@@ -94,24 +96,24 @@ export function privateKeyToAccount(
|
|
94
96
|
transactionHash,
|
95
97
|
};
|
96
98
|
},
|
97
|
-
signMessage: async ({ message }: { message:
|
99
|
+
signMessage: async ({ message }: { message: Message }) => {
|
98
100
|
return signMessage({
|
99
101
|
message,
|
100
102
|
privateKey,
|
101
103
|
});
|
102
104
|
},
|
103
105
|
signTypedData: async <
|
104
|
-
const typedData extends TypedData | Record<string, unknown>,
|
106
|
+
const typedData extends ox__TypedData.TypedData | Record<string, unknown>,
|
105
107
|
primaryType extends keyof typedData | "EIP712Domain" = keyof typedData,
|
106
108
|
>(
|
107
|
-
_typedData:
|
109
|
+
_typedData: ox__TypedData.Definition<typedData, primaryType>,
|
108
110
|
) => {
|
109
111
|
return signTypedData({
|
110
112
|
..._typedData,
|
111
113
|
privateKey,
|
112
114
|
});
|
113
115
|
},
|
114
|
-
signTransaction: async (tx:
|
116
|
+
signTransaction: async (tx: SerializableTransaction) => {
|
115
117
|
return signTransaction({
|
116
118
|
transaction: tx,
|
117
119
|
privateKey,
|