viem 2.17.11 → 2.18.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +8 -2
- package/_cjs/account-abstraction/accounts/createWebAuthnCredential.js +6 -0
- package/_cjs/account-abstraction/accounts/createWebAuthnCredential.js.map +1 -0
- package/_cjs/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js +688 -0
- package/_cjs/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js.map +1 -0
- package/_cjs/account-abstraction/accounts/implementations/toSoladySmartAccount.js +704 -0
- package/_cjs/account-abstraction/accounts/implementations/toSoladySmartAccount.js.map +1 -0
- package/_cjs/account-abstraction/accounts/toSmartAccount.js +93 -0
- package/_cjs/account-abstraction/accounts/toSmartAccount.js.map +1 -0
- package/_cjs/account-abstraction/accounts/toWebAuthnAccount.js +24 -0
- package/_cjs/account-abstraction/accounts/toWebAuthnAccount.js.map +1 -0
- package/_cjs/account-abstraction/accounts/types.js +3 -0
- package/_cjs/account-abstraction/accounts/types.js.map +1 -0
- package/_cjs/account-abstraction/actions/bundler/estimateUserOperationGas.js +37 -0
- package/_cjs/account-abstraction/actions/bundler/estimateUserOperationGas.js.map +1 -0
- package/_cjs/account-abstraction/actions/bundler/getSupportedEntryPoints.js +7 -0
- package/_cjs/account-abstraction/actions/bundler/getSupportedEntryPoints.js.map +1 -0
- package/_cjs/account-abstraction/actions/bundler/getUserOperation.js +22 -0
- package/_cjs/account-abstraction/actions/bundler/getUserOperation.js.map +1 -0
- package/_cjs/account-abstraction/actions/bundler/getUserOperationReceipt.js +15 -0
- package/_cjs/account-abstraction/actions/bundler/getUserOperationReceipt.js.map +1 -0
- package/_cjs/account-abstraction/actions/bundler/prepareUserOperation.js +239 -0
- package/_cjs/account-abstraction/actions/bundler/prepareUserOperation.js.map +1 -0
- package/_cjs/account-abstraction/actions/bundler/sendUserOperation.js +36 -0
- package/_cjs/account-abstraction/actions/bundler/sendUserOperation.js.map +1 -0
- package/_cjs/account-abstraction/actions/bundler/waitForUserOperationReceipt.js +48 -0
- package/_cjs/account-abstraction/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
- package/_cjs/account-abstraction/actions/paymaster/getPaymasterData.js +34 -0
- package/_cjs/account-abstraction/actions/paymaster/getPaymasterData.js.map +1 -0
- package/_cjs/account-abstraction/actions/paymaster/getPaymasterStubData.js +34 -0
- package/_cjs/account-abstraction/actions/paymaster/getPaymasterStubData.js.map +1 -0
- package/_cjs/account-abstraction/clients/createBundlerClient.js +18 -0
- package/_cjs/account-abstraction/clients/createBundlerClient.js.map +1 -0
- package/_cjs/account-abstraction/clients/createPaymasterClient.js +17 -0
- package/_cjs/account-abstraction/clients/createPaymasterClient.js.map +1 -0
- package/_cjs/account-abstraction/clients/decorators/bundler.js +24 -0
- package/_cjs/account-abstraction/clients/decorators/bundler.js.map +1 -0
- package/_cjs/account-abstraction/clients/decorators/paymaster.js +12 -0
- package/_cjs/account-abstraction/clients/decorators/paymaster.js.map +1 -0
- package/_cjs/account-abstraction/constants/abis.js +1318 -0
- package/_cjs/account-abstraction/constants/abis.js.map +1 -0
- package/_cjs/account-abstraction/constants/address.js +6 -0
- package/_cjs/account-abstraction/constants/address.js.map +1 -0
- package/_cjs/account-abstraction/errors/bundler.js +813 -0
- package/_cjs/account-abstraction/errors/bundler.js.map +1 -0
- package/_cjs/account-abstraction/errors/userOperation.js +91 -0
- package/_cjs/account-abstraction/errors/userOperation.js.map +1 -0
- package/_cjs/account-abstraction/index.js +90 -0
- package/_cjs/account-abstraction/index.js.map +1 -0
- package/_cjs/account-abstraction/types/account.js +3 -0
- package/_cjs/account-abstraction/types/account.js.map +1 -0
- package/_cjs/account-abstraction/types/entryPointVersion.js +3 -0
- package/_cjs/account-abstraction/types/entryPointVersion.js.map +1 -0
- package/_cjs/account-abstraction/types/rpc.js +3 -0
- package/_cjs/account-abstraction/types/rpc.js.map +1 -0
- package/_cjs/account-abstraction/types/userOperation.js +3 -0
- package/_cjs/account-abstraction/types/userOperation.js.map +1 -0
- package/_cjs/account-abstraction/utils/errors/getBundlerError.js +186 -0
- package/_cjs/account-abstraction/utils/errors/getBundlerError.js.map +1 -0
- package/_cjs/account-abstraction/utils/errors/getUserOperationError.js +87 -0
- package/_cjs/account-abstraction/utils/errors/getUserOperationError.js.map +1 -0
- package/_cjs/account-abstraction/utils/formatters/userOperation.js +24 -0
- package/_cjs/account-abstraction/utils/formatters/userOperation.js.map +1 -0
- package/_cjs/account-abstraction/utils/formatters/userOperationGas.js +18 -0
- package/_cjs/account-abstraction/utils/formatters/userOperationGas.js.map +1 -0
- package/_cjs/account-abstraction/utils/formatters/userOperationReceipt.js +18 -0
- package/_cjs/account-abstraction/utils/formatters/userOperationReceipt.js.map +1 -0
- package/_cjs/account-abstraction/utils/formatters/userOperationRequest.js +43 -0
- package/_cjs/account-abstraction/utils/formatters/userOperationRequest.js.map +1 -0
- package/_cjs/account-abstraction/utils/userOperation/getUserOperationHash.js +88 -0
- package/_cjs/account-abstraction/utils/userOperation/getUserOperationHash.js.map +1 -0
- package/_cjs/account-abstraction/utils/userOperation/toPackedUserOperation.js +44 -0
- package/_cjs/account-abstraction/utils/userOperation/toPackedUserOperation.js.map +1 -0
- package/_cjs/accounts/index.js +1 -3
- package/_cjs/accounts/index.js.map +1 -1
- package/_cjs/accounts/privateKeyToAccount.js +4 -0
- package/_cjs/accounts/privateKeyToAccount.js.map +1 -1
- package/_cjs/accounts/toAccount.js +1 -0
- package/_cjs/accounts/toAccount.js.map +1 -1
- package/_cjs/accounts/utils/parseAccount.js.map +1 -1
- package/_cjs/accounts/utils/sign.js +8 -2
- package/_cjs/accounts/utils/sign.js.map +1 -1
- package/_cjs/accounts/utils/signMessage.js +1 -3
- package/_cjs/accounts/utils/signMessage.js.map +1 -1
- package/_cjs/accounts/utils/signTypedData.js +2 -3
- package/_cjs/accounts/utils/signTypedData.js.map +1 -1
- package/_cjs/actions/wallet/sendTransaction.js +35 -22
- package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
- package/_cjs/actions/wallet/signMessage.js +1 -1
- package/_cjs/actions/wallet/signMessage.js.map +1 -1
- package/_cjs/actions/wallet/signTransaction.js +1 -2
- package/_cjs/actions/wallet/signTransaction.js.map +1 -1
- package/_cjs/actions/wallet/signTypedData.js +1 -1
- package/_cjs/actions/wallet/signTypedData.js.map +1 -1
- package/_cjs/constants/abis.js +0 -3
- package/_cjs/constants/abis.js.map +1 -1
- package/_cjs/constants/address.js +3 -1
- package/_cjs/constants/address.js.map +1 -1
- package/_cjs/errors/account.js +17 -2
- package/_cjs/errors/account.js.map +1 -1
- package/_cjs/errors/contract.js +1 -1
- package/_cjs/errors/contract.js.map +1 -1
- package/_cjs/errors/rpc.js +6 -6
- package/_cjs/errors/rpc.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/errors/version.js.map +1 -1
- package/_cjs/index.js +5 -3
- package/_cjs/index.js.map +1 -1
- package/_cjs/types/eip1193.js.map +1 -1
- package/_cjs/utils/buildRequest.js +4 -2
- package/_cjs/utils/buildRequest.js.map +1 -1
- package/_cjs/utils/errors/getNodeError.js +1 -2
- package/_cjs/utils/errors/getNodeError.js.map +1 -1
- package/_cjs/utils/index.js +3 -1
- package/_cjs/utils/index.js.map +1 -1
- package/_cjs/utils/signature/serializeErc6492Signature.js +6 -2
- package/_cjs/utils/signature/serializeErc6492Signature.js.map +1 -1
- package/_cjs/utils/signature/serializeSignature.js +6 -2
- package/_cjs/utils/signature/serializeSignature.js.map +1 -1
- package/_cjs/utils/signature/verifyHash.js +10 -0
- package/_cjs/utils/signature/verifyHash.js.map +1 -0
- package/_esm/account-abstraction/accounts/createWebAuthnCredential.js +3 -0
- package/_esm/account-abstraction/accounts/createWebAuthnCredential.js.map +1 -0
- package/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js +709 -0
- package/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js.map +1 -0
- package/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js +718 -0
- package/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js.map +1 -0
- package/_esm/account-abstraction/accounts/toSmartAccount.js +96 -0
- package/_esm/account-abstraction/accounts/toSmartAccount.js.map +1 -0
- package/_esm/account-abstraction/accounts/toWebAuthnAccount.js +26 -0
- package/_esm/account-abstraction/accounts/toWebAuthnAccount.js.map +1 -0
- package/_esm/account-abstraction/accounts/types.js +2 -0
- package/_esm/account-abstraction/accounts/types.js.map +1 -0
- package/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js +61 -0
- package/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js.map +1 -0
- package/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js +25 -0
- package/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js.map +1 -0
- package/_esm/account-abstraction/actions/bundler/getUserOperation.js +42 -0
- package/_esm/account-abstraction/actions/bundler/getUserOperation.js.map +1 -0
- package/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js +35 -0
- package/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js.map +1 -0
- package/_esm/account-abstraction/actions/bundler/prepareUserOperation.js +323 -0
- package/_esm/account-abstraction/actions/bundler/prepareUserOperation.js.map +1 -0
- package/_esm/account-abstraction/actions/bundler/sendUserOperation.js +60 -0
- package/_esm/account-abstraction/actions/bundler/sendUserOperation.js.map +1 -0
- package/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js +68 -0
- package/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
- package/_esm/account-abstraction/actions/paymaster/getPaymasterData.js +56 -0
- package/_esm/account-abstraction/actions/paymaster/getPaymasterData.js.map +1 -0
- package/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js +56 -0
- package/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js.map +1 -0
- package/_esm/account-abstraction/clients/createBundlerClient.js +15 -0
- package/_esm/account-abstraction/clients/createBundlerClient.js.map +1 -0
- package/_esm/account-abstraction/clients/createPaymasterClient.js +14 -0
- package/_esm/account-abstraction/clients/createPaymasterClient.js.map +1 -0
- package/_esm/account-abstraction/clients/decorators/bundler.js +21 -0
- package/_esm/account-abstraction/clients/decorators/bundler.js.map +1 -0
- package/_esm/account-abstraction/clients/decorators/paymaster.js +9 -0
- package/_esm/account-abstraction/clients/decorators/paymaster.js.map +1 -0
- package/_esm/account-abstraction/constants/abis.js +1315 -0
- package/_esm/account-abstraction/constants/abis.js.map +1 -0
- package/_esm/account-abstraction/constants/address.js +3 -0
- package/_esm/account-abstraction/constants/address.js.map +1 -0
- package/_esm/account-abstraction/errors/bundler.js +774 -0
- package/_esm/account-abstraction/errors/bundler.js.map +1 -0
- package/_esm/account-abstraction/errors/userOperation.js +84 -0
- package/_esm/account-abstraction/errors/userOperation.js.map +1 -0
- package/_esm/account-abstraction/index.js +31 -0
- package/_esm/account-abstraction/index.js.map +1 -0
- package/_esm/account-abstraction/types/account.js +2 -0
- package/_esm/account-abstraction/types/account.js.map +1 -0
- package/_esm/account-abstraction/types/entryPointVersion.js +2 -0
- package/_esm/account-abstraction/types/entryPointVersion.js.map +1 -0
- package/_esm/account-abstraction/types/rpc.js +2 -0
- package/_esm/account-abstraction/types/rpc.js.map +1 -0
- package/_esm/account-abstraction/types/userOperation.js +2 -0
- package/_esm/account-abstraction/types/userOperation.js.map +1 -0
- package/_esm/account-abstraction/utils/errors/getBundlerError.js +183 -0
- package/_esm/account-abstraction/utils/errors/getBundlerError.js.map +1 -0
- package/_esm/account-abstraction/utils/errors/getUserOperationError.js +85 -0
- package/_esm/account-abstraction/utils/errors/getUserOperationError.js.map +1 -0
- package/_esm/account-abstraction/utils/formatters/userOperation.js +21 -0
- package/_esm/account-abstraction/utils/formatters/userOperation.js.map +1 -0
- package/_esm/account-abstraction/utils/formatters/userOperationGas.js +15 -0
- package/_esm/account-abstraction/utils/formatters/userOperationGas.js.map +1 -0
- package/_esm/account-abstraction/utils/formatters/userOperationReceipt.js +15 -0
- package/_esm/account-abstraction/utils/formatters/userOperationReceipt.js.map +1 -0
- package/_esm/account-abstraction/utils/formatters/userOperationRequest.js +40 -0
- package/_esm/account-abstraction/utils/formatters/userOperationRequest.js.map +1 -0
- package/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js +85 -0
- package/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js.map +1 -0
- package/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js +41 -0
- package/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js.map +1 -0
- package/_esm/accounts/index.js +0 -1
- package/_esm/accounts/index.js.map +1 -1
- package/_esm/accounts/privateKeyToAccount.js +4 -0
- package/_esm/accounts/privateKeyToAccount.js.map +1 -1
- package/_esm/accounts/toAccount.js +2 -0
- package/_esm/accounts/toAccount.js.map +1 -1
- package/_esm/accounts/utils/parseAccount.js.map +1 -1
- package/_esm/accounts/utils/sign.js +9 -3
- package/_esm/accounts/utils/sign.js.map +1 -1
- package/_esm/accounts/utils/signMessage.js +1 -3
- package/_esm/accounts/utils/signMessage.js.map +1 -1
- package/_esm/accounts/utils/signTypedData.js +2 -3
- package/_esm/accounts/utils/signTypedData.js.map +1 -1
- package/_esm/actions/wallet/sendTransaction.js +37 -24
- package/_esm/actions/wallet/sendTransaction.js.map +1 -1
- package/_esm/actions/wallet/signMessage.js +1 -1
- package/_esm/actions/wallet/signMessage.js.map +1 -1
- package/_esm/actions/wallet/signTransaction.js +1 -2
- package/_esm/actions/wallet/signTransaction.js.map +1 -1
- package/_esm/actions/wallet/signTypedData.js +1 -1
- package/_esm/actions/wallet/signTypedData.js.map +1 -1
- package/_esm/constants/abis.js +0 -3
- package/_esm/constants/abis.js.map +1 -1
- package/_esm/constants/address.js +2 -0
- package/_esm/constants/address.js.map +1 -1
- package/_esm/errors/account.js +15 -1
- package/_esm/errors/account.js.map +1 -1
- package/_esm/errors/contract.js +1 -1
- package/_esm/errors/contract.js.map +1 -1
- package/_esm/errors/rpc.js +6 -6
- package/_esm/errors/rpc.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/errors/version.js.map +1 -1
- package/_esm/index.js +1 -0
- package/_esm/index.js.map +1 -1
- package/_esm/types/eip1193.js.map +1 -1
- package/_esm/utils/buildRequest.js +4 -2
- package/_esm/utils/buildRequest.js.map +1 -1
- package/_esm/utils/errors/getNodeError.js +1 -2
- package/_esm/utils/errors/getNodeError.js.map +1 -1
- package/_esm/utils/index.js +1 -0
- package/_esm/utils/index.js.map +1 -1
- package/_esm/utils/signature/serializeErc6492Signature.js +6 -2
- package/_esm/utils/signature/serializeErc6492Signature.js.map +1 -1
- package/_esm/utils/signature/serializeSignature.js +6 -2
- package/_esm/utils/signature/serializeSignature.js.map +1 -1
- package/_esm/utils/signature/verifyHash.js +19 -0
- package/_esm/utils/signature/verifyHash.js.map +1 -0
- package/_types/account-abstraction/accounts/createWebAuthnCredential.d.ts +2 -0
- package/_types/account-abstraction/accounts/createWebAuthnCredential.d.ts.map +1 -0
- package/_types/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.d.ts +648 -0
- package/_types/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.d.ts.map +1 -0
- package/_types/account-abstraction/accounts/implementations/toSoladySmartAccount.d.ts +464 -0
- package/_types/account-abstraction/accounts/implementations/toSoladySmartAccount.d.ts.map +1 -0
- package/_types/account-abstraction/accounts/toSmartAccount.d.ts +14 -0
- package/_types/account-abstraction/accounts/toSmartAccount.d.ts.map +1 -0
- package/_types/account-abstraction/accounts/toWebAuthnAccount.d.ts +32 -0
- package/_types/account-abstraction/accounts/toWebAuthnAccount.d.ts.map +1 -0
- package/_types/account-abstraction/accounts/types.d.ts +174 -0
- package/_types/account-abstraction/accounts/types.d.ts.map +1 -0
- package/_types/account-abstraction/actions/bundler/estimateUserOperationGas.d.ts +62 -0
- package/_types/account-abstraction/actions/bundler/estimateUserOperationGas.d.ts.map +1 -0
- package/_types/account-abstraction/actions/bundler/getSupportedEntryPoints.d.ts +30 -0
- package/_types/account-abstraction/actions/bundler/getSupportedEntryPoints.d.ts.map +1 -0
- package/_types/account-abstraction/actions/bundler/getUserOperation.d.ts +57 -0
- package/_types/account-abstraction/actions/bundler/getUserOperation.d.ts.map +1 -0
- package/_types/account-abstraction/actions/bundler/getUserOperationReceipt.d.ts +39 -0
- package/_types/account-abstraction/actions/bundler/getUserOperationReceipt.d.ts.map +1 -0
- package/_types/account-abstraction/actions/bundler/prepareUserOperation.d.ts +106 -0
- package/_types/account-abstraction/actions/bundler/prepareUserOperation.d.ts.map +1 -0
- package/_types/account-abstraction/actions/bundler/sendUserOperation.d.ts +60 -0
- package/_types/account-abstraction/actions/bundler/sendUserOperation.d.ts.map +1 -0
- package/_types/account-abstraction/actions/bundler/waitForUserOperationReceipt.d.ts +52 -0
- package/_types/account-abstraction/actions/bundler/waitForUserOperationReceipt.d.ts.map +1 -0
- package/_types/account-abstraction/actions/paymaster/getPaymasterData.d.ts +49 -0
- package/_types/account-abstraction/actions/paymaster/getPaymasterData.d.ts.map +1 -0
- package/_types/account-abstraction/actions/paymaster/getPaymasterStubData.d.ts +55 -0
- package/_types/account-abstraction/actions/paymaster/getPaymasterStubData.d.ts.map +1 -0
- package/_types/account-abstraction/clients/createBundlerClient.d.ts +66 -0
- package/_types/account-abstraction/clients/createBundlerClient.d.ts.map +1 -0
- package/_types/account-abstraction/clients/createPaymasterClient.d.ts +27 -0
- package/_types/account-abstraction/clients/createPaymasterClient.d.ts.map +1 -0
- package/_types/account-abstraction/clients/decorators/bundler.d.ts +206 -0
- package/_types/account-abstraction/clients/decorators/bundler.d.ts.map +1 -0
- package/_types/account-abstraction/clients/decorators/paymaster.d.ts +60 -0
- package/_types/account-abstraction/clients/decorators/paymaster.d.ts.map +1 -0
- package/_types/account-abstraction/constants/abis.d.ts +1468 -0
- package/_types/account-abstraction/constants/abis.d.ts.map +1 -0
- package/_types/account-abstraction/constants/address.d.ts +3 -0
- package/_types/account-abstraction/constants/address.d.ts.map +1 -0
- package/_types/account-abstraction/errors/bundler.d.ts +391 -0
- package/_types/account-abstraction/errors/bundler.d.ts.map +1 -0
- package/_types/account-abstraction/errors/userOperation.d.ts +41 -0
- package/_types/account-abstraction/errors/userOperation.d.ts.map +1 -0
- package/_types/account-abstraction/index.d.ts +34 -0
- package/_types/account-abstraction/index.d.ts.map +1 -0
- package/_types/account-abstraction/types/account.d.ts +11 -0
- package/_types/account-abstraction/types/account.d.ts.map +1 -0
- package/_types/account-abstraction/types/entryPointVersion.d.ts +9 -0
- package/_types/account-abstraction/types/entryPointVersion.d.ts.map +1 -0
- package/_types/account-abstraction/types/rpc.d.ts +9 -0
- package/_types/account-abstraction/types/rpc.d.ts.map +1 -0
- package/_types/account-abstraction/types/userOperation.d.ts +157 -0
- package/_types/account-abstraction/types/userOperation.d.ts.map +1 -0
- package/_types/account-abstraction/utils/errors/getBundlerError.d.ts +8 -0
- package/_types/account-abstraction/utils/errors/getBundlerError.d.ts.map +1 -0
- package/_types/account-abstraction/utils/errors/getUserOperationError.d.ts +15 -0
- package/_types/account-abstraction/utils/errors/getUserOperationError.d.ts.map +1 -0
- package/_types/account-abstraction/utils/formatters/userOperation.d.ts +6 -0
- package/_types/account-abstraction/utils/formatters/userOperation.d.ts.map +1 -0
- package/_types/account-abstraction/utils/formatters/userOperationGas.d.ts +6 -0
- package/_types/account-abstraction/utils/formatters/userOperationGas.d.ts.map +1 -0
- package/_types/account-abstraction/utils/formatters/userOperationReceipt.d.ts +6 -0
- package/_types/account-abstraction/utils/formatters/userOperationReceipt.d.ts.map +1 -0
- package/_types/account-abstraction/utils/formatters/userOperationRequest.d.ts +7 -0
- package/_types/account-abstraction/utils/formatters/userOperationRequest.d.ts.map +1 -0
- package/_types/account-abstraction/utils/userOperation/getUserOperationHash.d.ts +13 -0
- package/_types/account-abstraction/utils/userOperation/getUserOperationHash.d.ts.map +1 -0
- package/_types/account-abstraction/utils/userOperation/toPackedUserOperation.d.ts +3 -0
- package/_types/account-abstraction/utils/userOperation/toPackedUserOperation.d.ts.map +1 -0
- package/_types/accounts/index.d.ts +0 -1
- package/_types/accounts/index.d.ts.map +1 -1
- package/_types/accounts/privateKeyToAccount.d.ts +2 -1
- package/_types/accounts/privateKeyToAccount.d.ts.map +1 -1
- package/_types/accounts/toAccount.d.ts.map +1 -1
- package/_types/accounts/types.d.ts +14 -7
- package/_types/accounts/types.d.ts.map +1 -1
- package/_types/accounts/utils/parseAccount.d.ts +1 -1
- package/_types/accounts/utils/parseAccount.d.ts.map +1 -1
- package/_types/accounts/utils/sign.d.ts +9 -6
- package/_types/accounts/utils/sign.d.ts.map +1 -1
- package/_types/accounts/utils/signMessage.d.ts +1 -2
- package/_types/accounts/utils/signMessage.d.ts.map +1 -1
- package/_types/accounts/utils/signTypedData.d.ts +1 -2
- package/_types/accounts/utils/signTypedData.d.ts.map +1 -1
- package/_types/actions/wallet/sendTransaction.d.ts +2 -1
- package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
- package/_types/actions/wallet/signMessage.d.ts.map +1 -1
- package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
- package/_types/chains/definitions/lisk.d.ts +2 -2
- package/_types/chains/definitions/playfiAlbireo.d.ts +2 -2
- package/_types/chains/definitions/zkSync.d.ts +2 -2
- package/_types/chains/definitions/zkSyncInMemoryNode.d.ts +2 -2
- package/_types/chains/definitions/zkSyncLocalNode.d.ts +2 -2
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +2 -2
- package/_types/chains/definitions/zkSyncTestnet.d.ts +2 -2
- package/_types/clients/decorators/public.d.ts +1 -1
- package/_types/clients/decorators/public.d.ts.map +1 -1
- package/_types/constants/abis.d.ts +0 -3
- package/_types/constants/abis.d.ts.map +1 -1
- package/_types/constants/address.d.ts +2 -0
- package/_types/constants/address.d.ts.map +1 -1
- package/_types/errors/account.d.ts +11 -0
- package/_types/errors/account.d.ts.map +1 -1
- package/_types/errors/rpc.d.ts +9 -3
- package/_types/errors/rpc.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/errors/version.d.ts.map +1 -1
- package/_types/index.d.ts +5 -3
- package/_types/index.d.ts.map +1 -1
- package/_types/types/eip1193.d.ts +239 -2
- package/_types/types/eip1193.d.ts.map +1 -1
- package/_types/types/multicall.d.ts +1 -1
- package/_types/types/multicall.d.ts.map +1 -1
- package/_types/utils/buildRequest.d.ts.map +1 -1
- package/_types/utils/errors/getNodeError.d.ts.map +1 -1
- package/_types/utils/formatters/transaction.d.ts +1 -1
- package/_types/utils/index.d.ts +1 -0
- package/_types/utils/index.d.ts.map +1 -1
- package/_types/utils/signature/hashTypedData.d.ts +2 -2
- package/_types/utils/signature/hashTypedData.d.ts.map +1 -1
- package/_types/utils/signature/serializeErc6492Signature.d.ts +7 -4
- package/_types/utils/signature/serializeErc6492Signature.d.ts.map +1 -1
- package/_types/utils/signature/serializeSignature.d.ts +8 -2
- package/_types/utils/signature/serializeSignature.d.ts.map +1 -1
- package/_types/utils/signature/verifyHash.d.ts +30 -0
- package/_types/utils/signature/verifyHash.d.ts.map +1 -0
- package/_types/zksync/chainConfig.d.ts +2 -2
- package/_types/zksync/formatters.d.ts +2 -2
- package/account-abstraction/accounts/createWebAuthnCredential.ts +7 -0
- package/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.ts +817 -0
- package/account-abstraction/accounts/implementations/toSoladySmartAccount.ts +794 -0
- package/account-abstraction/accounts/toSmartAccount.ts +126 -0
- package/account-abstraction/accounts/toWebAuthnAccount.ts +56 -0
- package/account-abstraction/accounts/types.ts +208 -0
- package/account-abstraction/actions/bundler/estimateUserOperationGas.ts +170 -0
- package/account-abstraction/actions/bundler/getSupportedEntryPoints.ts +33 -0
- package/account-abstraction/actions/bundler/getUserOperation.ts +85 -0
- package/account-abstraction/actions/bundler/getUserOperationReceipt.ts +64 -0
- package/account-abstraction/actions/bundler/prepareUserOperation.ts +637 -0
- package/account-abstraction/actions/bundler/sendUserOperation.ts +149 -0
- package/account-abstraction/actions/bundler/waitForUserOperationReceipt.ts +139 -0
- package/account-abstraction/actions/paymaster/getPaymasterData.ts +135 -0
- package/account-abstraction/actions/paymaster/getPaymasterStubData.ts +138 -0
- package/account-abstraction/clients/createBundlerClient.ts +155 -0
- package/account-abstraction/clients/createPaymasterClient.ts +78 -0
- package/account-abstraction/clients/decorators/bundler.ts +296 -0
- package/account-abstraction/clients/decorators/paymaster.ts +81 -0
- package/account-abstraction/constants/abis.ts +1404 -0
- package/account-abstraction/constants/address.ts +4 -0
- package/account-abstraction/errors/bundler.ts +781 -0
- package/account-abstraction/errors/userOperation.ts +111 -0
- package/account-abstraction/index.ts +228 -0
- package/account-abstraction/package.json +6 -0
- package/account-abstraction/types/account.ts +21 -0
- package/account-abstraction/types/entryPointVersion.ts +24 -0
- package/account-abstraction/types/rpc.ts +29 -0
- package/account-abstraction/types/userOperation.ts +262 -0
- package/account-abstraction/utils/errors/getBundlerError.ts +309 -0
- package/account-abstraction/utils/errors/getUserOperationError.ts +153 -0
- package/account-abstraction/utils/formatters/userOperation.ts +31 -0
- package/account-abstraction/utils/formatters/userOperationGas.ts +26 -0
- package/account-abstraction/utils/formatters/userOperationReceipt.ts +24 -0
- package/account-abstraction/utils/formatters/userOperationRequest.ts +53 -0
- package/account-abstraction/utils/userOperation/getUserOperationHash.ts +138 -0
- package/account-abstraction/utils/userOperation/toPackedUserOperation.ts +64 -0
- package/accounts/index.ts +1 -1
- package/accounts/privateKeyToAccount.ts +5 -0
- package/accounts/toAccount.ts +3 -0
- package/accounts/types.ts +34 -12
- package/accounts/utils/parseAccount.ts +6 -3
- package/accounts/utils/sign.ts +24 -8
- package/accounts/utils/signMessage.ts +1 -7
- package/accounts/utils/signTypedData.ts +2 -7
- package/actions/wallet/sendTransaction.ts +48 -27
- package/actions/wallet/signMessage.ts +2 -1
- package/actions/wallet/signTransaction.ts +1 -2
- package/actions/wallet/signTypedData.ts +1 -1
- package/clients/decorators/public.ts +1 -1
- package/constants/abis.ts +0 -3
- package/constants/address.ts +4 -0
- package/errors/account.ts +22 -1
- package/errors/contract.ts +1 -1
- package/errors/rpc.ts +6 -6
- package/errors/version.ts +1 -1
- package/index.ts +20 -3
- package/package.json +7 -1
- package/types/eip1193.ts +314 -2
- package/types/multicall.ts +1 -1
- package/utils/buildRequest.ts +4 -2
- package/utils/errors/getNodeError.ts +1 -2
- package/utils/index.ts +6 -0
- package/utils/signature/hashTypedData.ts +6 -6
- package/utils/signature/serializeErc6492Signature.ts +17 -8
- package/utils/signature/serializeSignature.ts +24 -4
- package/utils/signature/verifyHash.ts +54 -0
@@ -0,0 +1,111 @@
|
|
1
|
+
import { BaseError } from '../../errors/base.js'
|
2
|
+
import { prettyPrint } from '../../errors/transaction.js'
|
3
|
+
import type { Hash } from '../../types/misc.js'
|
4
|
+
import { formatGwei } from '../../utils/index.js'
|
5
|
+
import type { UserOperation } from '../types/userOperation.js'
|
6
|
+
|
7
|
+
export type UserOperationExecutionErrorType = UserOperationExecutionError & {
|
8
|
+
name: 'UserOperationExecutionError'
|
9
|
+
}
|
10
|
+
export class UserOperationExecutionError extends BaseError {
|
11
|
+
override cause: BaseError
|
12
|
+
|
13
|
+
override name = 'UserOperationExecutionError'
|
14
|
+
|
15
|
+
constructor(
|
16
|
+
cause: BaseError,
|
17
|
+
{
|
18
|
+
callData,
|
19
|
+
callGasLimit,
|
20
|
+
docsPath,
|
21
|
+
factory,
|
22
|
+
factoryData,
|
23
|
+
initCode,
|
24
|
+
maxFeePerGas,
|
25
|
+
maxPriorityFeePerGas,
|
26
|
+
nonce,
|
27
|
+
paymaster,
|
28
|
+
paymasterAndData,
|
29
|
+
paymasterData,
|
30
|
+
paymasterPostOpGasLimit,
|
31
|
+
paymasterVerificationGasLimit,
|
32
|
+
preVerificationGas,
|
33
|
+
sender,
|
34
|
+
signature,
|
35
|
+
verificationGasLimit,
|
36
|
+
}: UserOperation & {
|
37
|
+
docsPath?: string | undefined
|
38
|
+
},
|
39
|
+
) {
|
40
|
+
const prettyArgs = prettyPrint({
|
41
|
+
callData,
|
42
|
+
callGasLimit,
|
43
|
+
factory,
|
44
|
+
factoryData,
|
45
|
+
initCode,
|
46
|
+
maxFeePerGas:
|
47
|
+
typeof maxFeePerGas !== 'undefined' &&
|
48
|
+
`${formatGwei(maxFeePerGas)} gwei`,
|
49
|
+
maxPriorityFeePerGas:
|
50
|
+
typeof maxPriorityFeePerGas !== 'undefined' &&
|
51
|
+
`${formatGwei(maxPriorityFeePerGas)} gwei`,
|
52
|
+
nonce,
|
53
|
+
paymaster,
|
54
|
+
paymasterAndData,
|
55
|
+
paymasterData,
|
56
|
+
paymasterPostOpGasLimit,
|
57
|
+
paymasterVerificationGasLimit,
|
58
|
+
preVerificationGas,
|
59
|
+
sender,
|
60
|
+
signature,
|
61
|
+
verificationGasLimit,
|
62
|
+
})
|
63
|
+
|
64
|
+
super(cause.shortMessage, {
|
65
|
+
cause,
|
66
|
+
docsPath,
|
67
|
+
metaMessages: [
|
68
|
+
...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),
|
69
|
+
'Request Arguments:',
|
70
|
+
prettyArgs,
|
71
|
+
].filter(Boolean) as string[],
|
72
|
+
})
|
73
|
+
this.cause = cause
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
export type UserOperationReceiptNotFoundErrorType =
|
78
|
+
UserOperationReceiptNotFoundError & {
|
79
|
+
name: 'UserOperationReceiptNotFoundError'
|
80
|
+
}
|
81
|
+
export class UserOperationReceiptNotFoundError extends BaseError {
|
82
|
+
override name = 'UserOperationReceiptNotFoundError'
|
83
|
+
constructor({ hash }: { hash: Hash }) {
|
84
|
+
super(
|
85
|
+
`User Operation receipt with hash "${hash}" could not be found. The User Operation may not have been processed yet.`,
|
86
|
+
)
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
export type UserOperationNotFoundErrorType = UserOperationNotFoundError & {
|
91
|
+
name: 'UserOperationNotFoundError'
|
92
|
+
}
|
93
|
+
export class UserOperationNotFoundError extends BaseError {
|
94
|
+
override name = 'UserOperationNotFoundError'
|
95
|
+
constructor({ hash }: { hash: Hash }) {
|
96
|
+
super(`User Operation with hash "${hash}" could not be found.`)
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
export type WaitForUserOperationReceiptTimeoutErrorType =
|
101
|
+
WaitForUserOperationReceiptTimeoutError & {
|
102
|
+
name: 'WaitForUserOperationReceiptTimeoutError'
|
103
|
+
}
|
104
|
+
export class WaitForUserOperationReceiptTimeoutError extends BaseError {
|
105
|
+
override name = 'WaitForUserOperationReceiptTimeoutError'
|
106
|
+
constructor({ hash }: { hash: Hash }) {
|
107
|
+
super(
|
108
|
+
`Timed out while waiting for User Operation with hash "${hash}" to be confirmed.`,
|
109
|
+
)
|
110
|
+
}
|
111
|
+
}
|
@@ -0,0 +1,228 @@
|
|
1
|
+
// biome-ignore lint/performance/noBarrelFile: entrypoint
|
2
|
+
export {
|
3
|
+
type CreateWebAuthnCredentialParameters,
|
4
|
+
type CreateWebAuthnCredentialReturnType,
|
5
|
+
type P256Credential,
|
6
|
+
createWebAuthnCredential,
|
7
|
+
} from './accounts/createWebAuthnCredential.js'
|
8
|
+
export {
|
9
|
+
type CoinbaseSmartAccountImplementation,
|
10
|
+
type ToCoinbaseSmartAccountParameters,
|
11
|
+
type ToCoinbaseSmartAccountReturnType,
|
12
|
+
toCoinbaseSmartAccount,
|
13
|
+
} from './accounts/implementations/toCoinbaseSmartAccount.js'
|
14
|
+
export {
|
15
|
+
type SoladySmartAccountImplementation,
|
16
|
+
type ToSoladySmartAccountParameters,
|
17
|
+
type ToSoladySmartAccountReturnType,
|
18
|
+
toSoladySmartAccount,
|
19
|
+
} from './accounts/implementations/toSoladySmartAccount.js'
|
20
|
+
export {
|
21
|
+
type ToSmartAccountParameters,
|
22
|
+
type ToSmartAccountReturnType,
|
23
|
+
toSmartAccount,
|
24
|
+
} from './accounts/toSmartAccount.js'
|
25
|
+
export {
|
26
|
+
type ToWebAuthnAccountParameters,
|
27
|
+
type ToWebAuthnAccountReturnType,
|
28
|
+
type ToWebAuthnAccountErrorType,
|
29
|
+
toWebAuthnAccount,
|
30
|
+
} from './accounts/toWebAuthnAccount.js'
|
31
|
+
export {
|
32
|
+
type SmartAccount,
|
33
|
+
type SmartAccountImplementation,
|
34
|
+
type WebAuthnAccount,
|
35
|
+
} from './accounts/types.js'
|
36
|
+
|
37
|
+
export {
|
38
|
+
type EstimateUserOperationGasErrorType,
|
39
|
+
type EstimateUserOperationGasParameters,
|
40
|
+
type EstimateUserOperationGasReturnType,
|
41
|
+
estimateUserOperationGas,
|
42
|
+
} from './actions/bundler/estimateUserOperationGas.js'
|
43
|
+
export {
|
44
|
+
type GetSupportedEntryPointsErrorType,
|
45
|
+
type GetSupportedEntryPointsReturnType,
|
46
|
+
getSupportedEntryPoints,
|
47
|
+
} from './actions/bundler/getSupportedEntryPoints.js'
|
48
|
+
export {
|
49
|
+
type GetUserOperationErrorType,
|
50
|
+
type GetUserOperationParameters,
|
51
|
+
type GetUserOperationReturnType,
|
52
|
+
getUserOperation,
|
53
|
+
} from './actions/bundler/getUserOperation.js'
|
54
|
+
export {
|
55
|
+
type GetUserOperationReceiptErrorType,
|
56
|
+
type GetUserOperationReceiptParameters,
|
57
|
+
type GetUserOperationReceiptReturnType,
|
58
|
+
getUserOperationReceipt,
|
59
|
+
} from './actions/bundler/getUserOperationReceipt.js'
|
60
|
+
export {
|
61
|
+
type PrepareUserOperationParameters,
|
62
|
+
type PrepareUserOperationParameterType,
|
63
|
+
type PrepareUserOperationReturnType,
|
64
|
+
type PrepareUserOperationErrorType,
|
65
|
+
type PrepareUserOperationRequest,
|
66
|
+
prepareUserOperation,
|
67
|
+
} from './actions/bundler/prepareUserOperation.js'
|
68
|
+
export {
|
69
|
+
type SendUserOperationErrorType,
|
70
|
+
type SendUserOperationParameters,
|
71
|
+
type SendUserOperationReturnType,
|
72
|
+
sendUserOperation,
|
73
|
+
} from './actions/bundler/sendUserOperation.js'
|
74
|
+
export {
|
75
|
+
type WaitForUserOperationReceiptErrorType,
|
76
|
+
type WaitForUserOperationReceiptParameters,
|
77
|
+
type WaitForUserOperationReceiptReturnType,
|
78
|
+
waitForUserOperationReceipt,
|
79
|
+
} from './actions/bundler/waitForUserOperationReceipt.js'
|
80
|
+
|
81
|
+
export {
|
82
|
+
type BundlerActions,
|
83
|
+
bundlerActions,
|
84
|
+
} from './clients/decorators/bundler.js'
|
85
|
+
export {
|
86
|
+
type PaymasterActions,
|
87
|
+
paymasterActions,
|
88
|
+
} from './clients/decorators/paymaster.js'
|
89
|
+
export {
|
90
|
+
type BundlerClient,
|
91
|
+
type BundlerClientConfig,
|
92
|
+
type CreateBundlerClientErrorType,
|
93
|
+
createBundlerClient,
|
94
|
+
} from './clients/createBundlerClient.js'
|
95
|
+
export {
|
96
|
+
type PaymasterClient,
|
97
|
+
type PaymasterClientConfig,
|
98
|
+
type CreatePaymasterClientErrorType,
|
99
|
+
createPaymasterClient,
|
100
|
+
} from './clients/createPaymasterClient.js'
|
101
|
+
|
102
|
+
export { entryPoint06Abi, entryPoint07Abi } from './constants/abis.js'
|
103
|
+
export {
|
104
|
+
entryPoint06Address,
|
105
|
+
entryPoint07Address,
|
106
|
+
} from './constants/address.js'
|
107
|
+
|
108
|
+
export {
|
109
|
+
AccountNotDeployedError,
|
110
|
+
type AccountNotDeployedErrorType,
|
111
|
+
FailedToSendToBeneficiaryError,
|
112
|
+
type FailedToSendToBeneficiaryErrorType,
|
113
|
+
GasValuesOverflowError,
|
114
|
+
type GasValuesOverflowErrorType,
|
115
|
+
HandleOpsOutOfGasError,
|
116
|
+
type HandleOpsOutOfGasErrorType,
|
117
|
+
InitCodeMustCreateSenderError,
|
118
|
+
type InitCodeMustCreateSenderErrorType,
|
119
|
+
InitCodeMustReturnSenderError,
|
120
|
+
type InitCodeMustReturnSenderErrorType,
|
121
|
+
InsufficientPrefundError,
|
122
|
+
type InsufficientPrefundErrorType,
|
123
|
+
InternalCallOnlyError,
|
124
|
+
type InternalCallOnlyErrorType,
|
125
|
+
InitCodeFailedError,
|
126
|
+
type InitCodeFailedErrorType,
|
127
|
+
InvalidAggregatorError,
|
128
|
+
type InvalidAggregatorErrorType,
|
129
|
+
InvalidBeneficiaryError,
|
130
|
+
type InvalidBeneficiaryErrorType,
|
131
|
+
InvalidPaymasterAndDataError,
|
132
|
+
type InvalidPaymasterAndDataErrorType,
|
133
|
+
PaymasterDepositTooLowError,
|
134
|
+
type PaymasterDepositTooLowErrorType,
|
135
|
+
PaymasterFunctionRevertedError,
|
136
|
+
type PaymasterFunctionRevertedErrorType,
|
137
|
+
PaymasterNotDeployedError,
|
138
|
+
type PaymasterNotDeployedErrorType,
|
139
|
+
PaymasterPostOpFunctionRevertedError,
|
140
|
+
type PaymasterPostOpFunctionRevertedErrorType,
|
141
|
+
SenderAlreadyConstructedError,
|
142
|
+
type SenderAlreadyConstructedErrorType,
|
143
|
+
SmartAccountFunctionRevertedError,
|
144
|
+
type SmartAccountFunctionRevertedErrorType,
|
145
|
+
UserOperationExpiredError,
|
146
|
+
type UserOperationExpiredErrorType,
|
147
|
+
UserOperationPaymasterExpiredError,
|
148
|
+
type UserOperationPaymasterExpiredErrorType,
|
149
|
+
UserOperationPaymasterSignatureError,
|
150
|
+
type UserOperationPaymasterSignatureErrorType,
|
151
|
+
UserOperationSignatureError,
|
152
|
+
type UserOperationSignatureErrorType,
|
153
|
+
VerificationGasLimitExceededError,
|
154
|
+
type VerificationGasLimitExceededErrorType,
|
155
|
+
VerificationGasLimitTooLowError,
|
156
|
+
type VerificationGasLimitTooLowErrorType,
|
157
|
+
UnknownBundlerError,
|
158
|
+
type UnknownBundlerErrorType,
|
159
|
+
} from './errors/bundler.js'
|
160
|
+
export {
|
161
|
+
UserOperationExecutionError,
|
162
|
+
type UserOperationExecutionErrorType,
|
163
|
+
UserOperationNotFoundError,
|
164
|
+
type UserOperationNotFoundErrorType,
|
165
|
+
UserOperationReceiptNotFoundError,
|
166
|
+
type UserOperationReceiptNotFoundErrorType,
|
167
|
+
WaitForUserOperationReceiptTimeoutError,
|
168
|
+
type WaitForUserOperationReceiptTimeoutErrorType,
|
169
|
+
} from './errors/userOperation.js'
|
170
|
+
|
171
|
+
export type {
|
172
|
+
DeriveSmartAccount,
|
173
|
+
GetSmartAccountParameter,
|
174
|
+
} from './types/account.js'
|
175
|
+
export type {
|
176
|
+
DeriveEntryPointVersion,
|
177
|
+
EntryPointVersion,
|
178
|
+
GetEntryPointVersionParameter,
|
179
|
+
} from './types/entryPointVersion.js'
|
180
|
+
export type {
|
181
|
+
RpcEstimateUserOperationGasReturnType,
|
182
|
+
RpcGetUserOperationByHashReturnType,
|
183
|
+
RpcUserOperation,
|
184
|
+
RpcUserOperationReceipt,
|
185
|
+
RpcUserOperationRequest,
|
186
|
+
} from './types/rpc.js'
|
187
|
+
export type {
|
188
|
+
UserOperation,
|
189
|
+
UserOperationReceipt,
|
190
|
+
UserOperationRequest,
|
191
|
+
PackedUserOperation,
|
192
|
+
UserOperationCall,
|
193
|
+
UserOperationCalls,
|
194
|
+
} from './types/userOperation.js'
|
195
|
+
|
196
|
+
export {
|
197
|
+
type GetBundlerErrorParameters,
|
198
|
+
type GetBundlerErrorReturnType,
|
199
|
+
getBundlerError,
|
200
|
+
} from './utils/errors/getBundlerError.js'
|
201
|
+
export {
|
202
|
+
type GetUserOperationErrorParameters,
|
203
|
+
type GetUserOperationErrorReturnType,
|
204
|
+
type GetUserOperationErrorErrorType,
|
205
|
+
getUserOperationError,
|
206
|
+
} from './utils/errors/getUserOperationError.js'
|
207
|
+
export {
|
208
|
+
type FormatUserOperationErrorType,
|
209
|
+
formatUserOperation,
|
210
|
+
} from './utils/formatters/userOperation.js'
|
211
|
+
export {
|
212
|
+
type FormatUserOperationGasErrorType,
|
213
|
+
formatUserOperationGas,
|
214
|
+
} from './utils/formatters/userOperationGas.js'
|
215
|
+
export {
|
216
|
+
type FormatUserOperationReceiptErrorType,
|
217
|
+
formatUserOperationReceipt,
|
218
|
+
} from './utils/formatters/userOperationReceipt.js'
|
219
|
+
export {
|
220
|
+
type FormatUserOperationRequestErrorType,
|
221
|
+
formatUserOperationRequest,
|
222
|
+
} from './utils/formatters/userOperationRequest.js'
|
223
|
+
export {
|
224
|
+
type GetUserOperationHashParameters,
|
225
|
+
type GetUserOperationHashReturnType,
|
226
|
+
getUserOperationHash,
|
227
|
+
} from './utils/userOperation/getUserOperationHash.js'
|
228
|
+
export { toPackedUserOperation } from './utils/userOperation/toPackedUserOperation.js'
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import type { IsUndefined } from '../../types/utils.js'
|
2
|
+
import type { SmartAccount } from '../accounts/types.js'
|
3
|
+
|
4
|
+
export type DeriveSmartAccount<
|
5
|
+
account extends SmartAccount | undefined,
|
6
|
+
accountOverride extends SmartAccount | undefined,
|
7
|
+
> = accountOverride extends SmartAccount ? accountOverride : account
|
8
|
+
|
9
|
+
export type GetSmartAccountParameter<
|
10
|
+
account extends SmartAccount | undefined = SmartAccount | undefined,
|
11
|
+
accountOverride extends SmartAccount | undefined = SmartAccount,
|
12
|
+
required extends boolean = true,
|
13
|
+
> = IsUndefined<account> extends true
|
14
|
+
? required extends true
|
15
|
+
? {
|
16
|
+
account: IsUndefined<accountOverride> extends true
|
17
|
+
? SmartAccount
|
18
|
+
: accountOverride | SmartAccount
|
19
|
+
}
|
20
|
+
: { account?: accountOverride | SmartAccount | undefined }
|
21
|
+
: { account?: accountOverride | SmartAccount | undefined }
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import type { SmartAccount } from '../accounts/types.js'
|
2
|
+
|
3
|
+
/** @link https://github.com/eth-infinitism/account-abstraction/releases */
|
4
|
+
export type EntryPointVersion = '0.6' | '0.7'
|
5
|
+
|
6
|
+
export type DeriveEntryPointVersion<account extends SmartAccount | undefined> =
|
7
|
+
account extends SmartAccount
|
8
|
+
? account['entryPoint']['version']
|
9
|
+
: EntryPointVersion
|
10
|
+
|
11
|
+
/** @internal */
|
12
|
+
export type GetEntryPointVersionParameter<
|
13
|
+
version extends EntryPointVersion | undefined,
|
14
|
+
versionOverride extends EntryPointVersion | undefined =
|
15
|
+
| EntryPointVersion
|
16
|
+
| undefined,
|
17
|
+
> = {
|
18
|
+
entryPointVersion?:
|
19
|
+
| version
|
20
|
+
| versionOverride
|
21
|
+
| EntryPointVersion
|
22
|
+
| null
|
23
|
+
| undefined
|
24
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import type { Hex } from '../../types/misc.js'
|
2
|
+
import type { EntryPointVersion } from './entryPointVersion.js'
|
3
|
+
import type {
|
4
|
+
EstimateUserOperationGasReturnType,
|
5
|
+
GetUserOperationByHashReturnType,
|
6
|
+
UserOperation,
|
7
|
+
UserOperationReceipt,
|
8
|
+
UserOperationRequest,
|
9
|
+
} from './userOperation.js'
|
10
|
+
|
11
|
+
export type RpcEstimateUserOperationGasReturnType<
|
12
|
+
entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
13
|
+
> = EstimateUserOperationGasReturnType<entryPointVersion, Hex>
|
14
|
+
|
15
|
+
export type RpcGetUserOperationByHashReturnType<
|
16
|
+
entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
17
|
+
> = GetUserOperationByHashReturnType<entryPointVersion, Hex>
|
18
|
+
|
19
|
+
export type RpcUserOperation<
|
20
|
+
entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
21
|
+
> = UserOperation<entryPointVersion, Hex>
|
22
|
+
|
23
|
+
export type RpcUserOperationReceipt<
|
24
|
+
entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
25
|
+
> = UserOperationReceipt<entryPointVersion, Hex, Hex, Hex>
|
26
|
+
|
27
|
+
export type RpcUserOperationRequest<
|
28
|
+
entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
29
|
+
> = UserOperationRequest<entryPointVersion, Hex>
|
@@ -0,0 +1,262 @@
|
|
1
|
+
import type { AbiStateMutability, Address } from 'abitype'
|
2
|
+
import type { ContractFunctionParameters } from '../../types/contract.js'
|
3
|
+
import type { Log } from '../../types/log.js'
|
4
|
+
import type { Hash, Hex } from '../../types/misc.js'
|
5
|
+
import type { GetMulticallContractParameters } from '../../types/multicall.js'
|
6
|
+
import type { TransactionReceipt } from '../../types/transaction.js'
|
7
|
+
import type { OneOf, Prettify, UnionPartialBy } from '../../types/utils.js'
|
8
|
+
import type { EntryPointVersion } from './entryPointVersion.js'
|
9
|
+
|
10
|
+
/** @link https://eips.ethereum.org/EIPS/eip-4337#-eth_estimateuseroperationgas */
|
11
|
+
export type EstimateUserOperationGasReturnType<
|
12
|
+
entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
13
|
+
uint256 = bigint,
|
14
|
+
> = OneOf<
|
15
|
+
| (entryPointVersion extends '0.7'
|
16
|
+
? {
|
17
|
+
preVerificationGas: uint256
|
18
|
+
verificationGasLimit: uint256
|
19
|
+
callGasLimit: uint256
|
20
|
+
paymasterVerificationGasLimit?: uint256 | undefined
|
21
|
+
paymasterPostOpGasLimit?: uint256 | undefined
|
22
|
+
}
|
23
|
+
: never)
|
24
|
+
| (entryPointVersion extends '0.6'
|
25
|
+
? {
|
26
|
+
preVerificationGas: uint256
|
27
|
+
verificationGasLimit: uint256
|
28
|
+
callGasLimit: uint256
|
29
|
+
}
|
30
|
+
: never)
|
31
|
+
>
|
32
|
+
|
33
|
+
/** @link https://eips.ethereum.org/EIPS/eip-4337#-eth_getuseroperationbyhash */
|
34
|
+
export type GetUserOperationByHashReturnType<
|
35
|
+
entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
36
|
+
uint256 = bigint,
|
37
|
+
> = {
|
38
|
+
blockHash: Hash
|
39
|
+
blockNumber: uint256
|
40
|
+
entryPoint: Address
|
41
|
+
transactionHash: Hash
|
42
|
+
userOperation: UserOperation<entryPointVersion, uint256>
|
43
|
+
}
|
44
|
+
|
45
|
+
/** @link https://eips.ethereum.org/EIPS/eip-4337#entrypoint-definition */
|
46
|
+
export type PackedUserOperation = {
|
47
|
+
/** Concatenation of {@link UserOperation`verificationGasLimit`} (16 bytes) and {@link UserOperation`callGasLimit`} (16 bytes) */
|
48
|
+
accountGasLimits: Hex
|
49
|
+
/** The data to pass to the `sender` during the main execution call. */
|
50
|
+
callData: Hex
|
51
|
+
/** Concatenation of {@link UserOperation`factory`} and {@link UserOperation`factoryData`}. */
|
52
|
+
initCode: Hex
|
53
|
+
/** Concatenation of {@link UserOperation`maxPriorityFee`} (16 bytes) and {@link UserOperation`maxFeePerGas`} (16 bytes) */
|
54
|
+
gasFees: Hex
|
55
|
+
/** Anti-replay parameter. */
|
56
|
+
nonce: bigint
|
57
|
+
/** Concatenation of paymaster fields (or empty). */
|
58
|
+
paymasterAndData: Hex
|
59
|
+
/** Extra gas to pay the bunder. */
|
60
|
+
preVerificationGas: bigint
|
61
|
+
/** The account making the operation. */
|
62
|
+
sender: Address
|
63
|
+
/** Data passed into the account to verify authorization. */
|
64
|
+
signature: Hex
|
65
|
+
}
|
66
|
+
|
67
|
+
/** @link https://eips.ethereum.org/EIPS/eip-4337#useroperation */
|
68
|
+
export type UserOperation<
|
69
|
+
entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
70
|
+
uint256 = bigint,
|
71
|
+
> = OneOf<
|
72
|
+
| (entryPointVersion extends '0.7'
|
73
|
+
? {
|
74
|
+
/** The data to pass to the `sender` during the main execution call. */
|
75
|
+
callData: Hex
|
76
|
+
/** The amount of gas to allocate the main execution call */
|
77
|
+
callGasLimit: uint256
|
78
|
+
/** Account factory. Only for new accounts. */
|
79
|
+
factory?: Address | undefined
|
80
|
+
/** Data for account factory. */
|
81
|
+
factoryData?: Hex | undefined
|
82
|
+
/** Maximum fee per gas. */
|
83
|
+
maxFeePerGas: uint256
|
84
|
+
/** Maximum priority fee per gas. */
|
85
|
+
maxPriorityFeePerGas: uint256
|
86
|
+
/** Anti-replay parameter. */
|
87
|
+
nonce: uint256
|
88
|
+
/** Address of paymaster contract. */
|
89
|
+
paymaster?: Address | undefined
|
90
|
+
/** Data for paymaster. */
|
91
|
+
paymasterData?: Hex | undefined
|
92
|
+
/** The amount of gas to allocate for the paymaster post-operation code. */
|
93
|
+
paymasterPostOpGasLimit?: uint256 | undefined
|
94
|
+
/** The amount of gas to allocate for the paymaster validation code. */
|
95
|
+
paymasterVerificationGasLimit?: uint256 | undefined
|
96
|
+
/** Extra gas to pay the bunder. */
|
97
|
+
preVerificationGas: uint256
|
98
|
+
/** The account making the operation. */
|
99
|
+
sender: Address
|
100
|
+
/** Data passed into the account to verify authorization. */
|
101
|
+
signature: Hex
|
102
|
+
/** The amount of gas to allocate for the verification step. */
|
103
|
+
verificationGasLimit: uint256
|
104
|
+
}
|
105
|
+
: never)
|
106
|
+
| (entryPointVersion extends '0.6'
|
107
|
+
? {
|
108
|
+
/** The data to pass to the `sender` during the main execution call. */
|
109
|
+
callData: Hex
|
110
|
+
/** The amount of gas to allocate the main execution call */
|
111
|
+
callGasLimit: uint256
|
112
|
+
/** Account init code. Only for new accounts. */
|
113
|
+
initCode?: Hex | undefined
|
114
|
+
/** Maximum fee per gas. */
|
115
|
+
maxFeePerGas: uint256
|
116
|
+
/** Maximum priority fee per gas. */
|
117
|
+
maxPriorityFeePerGas: uint256
|
118
|
+
/** Anti-replay parameter. */
|
119
|
+
nonce: uint256
|
120
|
+
/** Paymaster address with calldata. */
|
121
|
+
paymasterAndData?: Hex | undefined
|
122
|
+
/** Extra gas to pay the bunder. */
|
123
|
+
preVerificationGas: uint256
|
124
|
+
/** The account making the operation. */
|
125
|
+
sender: Address
|
126
|
+
/** Data passed into the account to verify authorization. */
|
127
|
+
signature: Hex
|
128
|
+
/** The amount of gas to allocate for the verification step. */
|
129
|
+
verificationGasLimit: uint256
|
130
|
+
}
|
131
|
+
: never)
|
132
|
+
>
|
133
|
+
|
134
|
+
export type UserOperationRequest<
|
135
|
+
entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
136
|
+
uint256 = bigint,
|
137
|
+
> = OneOf<
|
138
|
+
| (entryPointVersion extends '0.7'
|
139
|
+
? UnionPartialBy<
|
140
|
+
UserOperation<'0.7', uint256>,
|
141
|
+
// We are able to calculate these via `prepareUserOperation`.
|
142
|
+
| keyof EstimateUserOperationGasReturnType<'0.7'>
|
143
|
+
| 'callData'
|
144
|
+
| 'maxFeePerGas'
|
145
|
+
| 'maxPriorityFeePerGas'
|
146
|
+
| 'nonce'
|
147
|
+
| 'sender'
|
148
|
+
| 'signature'
|
149
|
+
>
|
150
|
+
: never)
|
151
|
+
| (entryPointVersion extends '0.6'
|
152
|
+
? UnionPartialBy<
|
153
|
+
UserOperation<'0.6', uint256>,
|
154
|
+
// We are able to calculate these via `prepareUserOperation`.
|
155
|
+
| keyof EstimateUserOperationGasReturnType<'0.6'>
|
156
|
+
| 'callData'
|
157
|
+
| 'maxFeePerGas'
|
158
|
+
| 'maxPriorityFeePerGas'
|
159
|
+
| 'nonce'
|
160
|
+
| 'sender'
|
161
|
+
| 'signature'
|
162
|
+
>
|
163
|
+
: never)
|
164
|
+
>
|
165
|
+
|
166
|
+
/** @link https://eips.ethereum.org/EIPS/eip-4337#-eth_getuseroperationreceipt */
|
167
|
+
export type UserOperationReceipt<
|
168
|
+
_entryPointVersion extends EntryPointVersion = EntryPointVersion,
|
169
|
+
uint256 = bigint,
|
170
|
+
int32 = number,
|
171
|
+
status = 'success' | 'reverted',
|
172
|
+
> = {
|
173
|
+
/** Actual gas cost. */
|
174
|
+
actualGasCost: uint256
|
175
|
+
/** Actual gas used. */
|
176
|
+
actualGasUsed: uint256
|
177
|
+
/** Entrypoint address. */
|
178
|
+
entryPoint: Address
|
179
|
+
/** Logs emitted during execution. */
|
180
|
+
logs: Log<uint256, int32, false>[]
|
181
|
+
/** Anti-replay parameter. */
|
182
|
+
nonce: uint256
|
183
|
+
/** Paymaster for the user operation. */
|
184
|
+
paymaster?: Address | undefined
|
185
|
+
/** Revert reason, if unsuccessful. */
|
186
|
+
reason?: string | undefined
|
187
|
+
/** Transaction receipt of the user operation execution. */
|
188
|
+
receipt: TransactionReceipt<uint256, int32, status>
|
189
|
+
sender: Address
|
190
|
+
/** If the user operation execution was successful. */
|
191
|
+
success: boolean
|
192
|
+
/** Hash of the user operation. */
|
193
|
+
userOpHash: Hash
|
194
|
+
}
|
195
|
+
|
196
|
+
export type UserOperationCall = {
|
197
|
+
to: Hex
|
198
|
+
data?: Hex | undefined
|
199
|
+
value?: bigint | undefined
|
200
|
+
}
|
201
|
+
|
202
|
+
export type UserOperationCalls<
|
203
|
+
calls extends readonly unknown[],
|
204
|
+
///
|
205
|
+
result extends readonly any[] = [],
|
206
|
+
> = calls extends readonly [] // no calls, return empty
|
207
|
+
? readonly []
|
208
|
+
: calls extends readonly [infer call] // one call left before returning `result`
|
209
|
+
? readonly [
|
210
|
+
...result,
|
211
|
+
Prettify<
|
212
|
+
OneOf<
|
213
|
+
| (Omit<
|
214
|
+
GetMulticallContractParameters<call, AbiStateMutability>,
|
215
|
+
'address'
|
216
|
+
> & {
|
217
|
+
to: Address
|
218
|
+
value?: bigint | undefined
|
219
|
+
})
|
220
|
+
| UserOperationCall
|
221
|
+
>
|
222
|
+
>,
|
223
|
+
]
|
224
|
+
: calls extends readonly [infer call, ...infer rest] // grab first call and recurse through `rest`
|
225
|
+
? UserOperationCalls<
|
226
|
+
[...rest],
|
227
|
+
[
|
228
|
+
...result,
|
229
|
+
Prettify<
|
230
|
+
OneOf<
|
231
|
+
| (Omit<
|
232
|
+
GetMulticallContractParameters<call, AbiStateMutability>,
|
233
|
+
'address'
|
234
|
+
> & {
|
235
|
+
to: Address
|
236
|
+
value?: bigint | undefined
|
237
|
+
})
|
238
|
+
| UserOperationCall
|
239
|
+
>
|
240
|
+
>,
|
241
|
+
]
|
242
|
+
>
|
243
|
+
: readonly unknown[] extends calls
|
244
|
+
? calls
|
245
|
+
: // If `calls` is *some* array but we couldn't assign `unknown[]` to it, then it must hold some known/homogenous type!
|
246
|
+
// use this to infer the param types in the case of Array.map() argument
|
247
|
+
calls extends readonly (infer call extends OneOf<
|
248
|
+
| (Omit<ContractFunctionParameters, 'address'> & {
|
249
|
+
to: Address
|
250
|
+
value?: bigint | undefined
|
251
|
+
})
|
252
|
+
| UserOperationCall
|
253
|
+
>)[]
|
254
|
+
? readonly Prettify<call>[]
|
255
|
+
: // Fallback
|
256
|
+
readonly OneOf<
|
257
|
+
| (Omit<ContractFunctionParameters, 'address'> & {
|
258
|
+
to: Address
|
259
|
+
value?: bigint | undefined
|
260
|
+
})
|
261
|
+
| UserOperationCall
|
262
|
+
>[]
|