@aa-sdk/core 4.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +54 -0
- package/dist/cjs/abis/EntryPointAbi_v6.d.ts +1018 -0
- package/dist/cjs/abis/EntryPointAbi_v6.js +1313 -0
- package/dist/cjs/abis/EntryPointAbi_v6.js.map +1 -0
- package/dist/cjs/abis/EntryPointAbi_v7.d.ts +775 -0
- package/dist/cjs/abis/EntryPointAbi_v7.js +661 -0
- package/dist/cjs/abis/EntryPointAbi_v7.js.map +1 -0
- package/dist/cjs/abis/SimpleAccountAbi_v6.d.ts +405 -0
- package/dist/cjs/abis/SimpleAccountAbi_v6.js +528 -0
- package/dist/cjs/abis/SimpleAccountAbi_v6.js.map +1 -0
- package/dist/cjs/abis/SimpleAccountAbi_v7.d.ts +410 -0
- package/dist/cjs/abis/SimpleAccountAbi_v7.js +538 -0
- package/dist/cjs/abis/SimpleAccountAbi_v7.js.map +1 -0
- package/dist/cjs/abis/SimpleAccountFactoryAbi.d.ts +55 -0
- package/dist/cjs/abis/SimpleAccountFactoryAbi.js +78 -0
- package/dist/cjs/abis/SimpleAccountFactoryAbi.js.map +1 -0
- package/dist/cjs/account/base.d.ts +49 -0
- package/dist/cjs/account/base.js +257 -0
- package/dist/cjs/account/base.js.map +1 -0
- package/dist/cjs/account/schema.d.ts +100 -0
- package/dist/cjs/account/schema.js +43 -0
- package/dist/cjs/account/schema.js.map +1 -0
- package/dist/cjs/account/simple.d.ts +14 -0
- package/dist/cjs/account/simple.js +119 -0
- package/dist/cjs/account/simple.js.map +1 -0
- package/dist/cjs/account/smartContractAccount.d.ts +68 -0
- package/dist/cjs/account/smartContractAccount.js +174 -0
- package/dist/cjs/account/smartContractAccount.js.map +1 -0
- package/dist/cjs/account/types.d.ts +30 -0
- package/dist/cjs/account/types.js +3 -0
- package/dist/cjs/account/types.js.map +1 -0
- package/dist/cjs/actions/bundler/estimateUserOperationGas.d.ts +8 -0
- package/dist/cjs/actions/bundler/estimateUserOperationGas.js +18 -0
- package/dist/cjs/actions/bundler/estimateUserOperationGas.js.map +1 -0
- package/dist/cjs/actions/bundler/getSupportedEntryPoints.d.ts +3 -0
- package/dist/cjs/actions/bundler/getSupportedEntryPoints.js +11 -0
- package/dist/cjs/actions/bundler/getSupportedEntryPoints.js.map +1 -0
- package/dist/cjs/actions/bundler/getUserOperationByHash.d.ts +6 -0
- package/dist/cjs/actions/bundler/getUserOperationByHash.js +11 -0
- package/dist/cjs/actions/bundler/getUserOperationByHash.js.map +1 -0
- package/dist/cjs/actions/bundler/getUserOperationReceipt.d.ts +6 -0
- package/dist/cjs/actions/bundler/getUserOperationReceipt.js +11 -0
- package/dist/cjs/actions/bundler/getUserOperationReceipt.js.map +1 -0
- package/dist/cjs/actions/bundler/sendRawUserOperation.d.ts +7 -0
- package/dist/cjs/actions/bundler/sendRawUserOperation.js +11 -0
- package/dist/cjs/actions/bundler/sendRawUserOperation.js.map +1 -0
- package/dist/cjs/actions/smartAccount/buildUserOperation.d.ts +5 -0
- package/dist/cjs/actions/smartAccount/buildUserOperation.js +25 -0
- package/dist/cjs/actions/smartAccount/buildUserOperation.js.map +1 -0
- package/dist/cjs/actions/smartAccount/buildUserOperationFromTx.d.ts +5 -0
- package/dist/cjs/actions/smartAccount/buildUserOperationFromTx.js +39 -0
- package/dist/cjs/actions/smartAccount/buildUserOperationFromTx.js.map +1 -0
- package/dist/cjs/actions/smartAccount/buildUserOperationFromTxs.d.ts +4 -0
- package/dist/cjs/actions/smartAccount/buildUserOperationFromTxs.js +62 -0
- package/dist/cjs/actions/smartAccount/buildUserOperationFromTxs.js.map +1 -0
- package/dist/cjs/actions/smartAccount/checkGasSponsorshipEligibility.d.ts +4 -0
- package/dist/cjs/actions/smartAccount/checkGasSponsorshipEligibility.js +34 -0
- package/dist/cjs/actions/smartAccount/checkGasSponsorshipEligibility.js.map +1 -0
- package/dist/cjs/actions/smartAccount/dropAndReplaceUserOperation.d.ts +5 -0
- package/dist/cjs/actions/smartAccount/dropAndReplaceUserOperation.js +64 -0
- package/dist/cjs/actions/smartAccount/dropAndReplaceUserOperation.js.map +1 -0
- package/dist/cjs/actions/smartAccount/estimateUserOperationGas.d.ts +5 -0
- package/dist/cjs/actions/smartAccount/estimateUserOperationGas.js +23 -0
- package/dist/cjs/actions/smartAccount/estimateUserOperationGas.js.map +1 -0
- package/dist/cjs/actions/smartAccount/getAddress.d.ts +4 -0
- package/dist/cjs/actions/smartAccount/getAddress.js +13 -0
- package/dist/cjs/actions/smartAccount/getAddress.js.map +1 -0
- package/dist/cjs/actions/smartAccount/internal/initUserOperation.d.ts +7 -0
- package/dist/cjs/actions/smartAccount/internal/initUserOperation.js +42 -0
- package/dist/cjs/actions/smartAccount/internal/initUserOperation.js.map +1 -0
- package/dist/cjs/actions/smartAccount/internal/runMiddlewareStack.d.ts +10 -0
- package/dist/cjs/actions/smartAccount/internal/runMiddlewareStack.js +47 -0
- package/dist/cjs/actions/smartAccount/internal/runMiddlewareStack.js.map +1 -0
- package/dist/cjs/actions/smartAccount/internal/sendUserOperation.d.ts +10 -0
- package/dist/cjs/actions/smartAccount/internal/sendUserOperation.js +28 -0
- package/dist/cjs/actions/smartAccount/internal/sendUserOperation.js.map +1 -0
- package/dist/cjs/actions/smartAccount/sendTransaction.d.ts +5 -0
- package/dist/cjs/actions/smartAccount/sendTransaction.js +35 -0
- package/dist/cjs/actions/smartAccount/sendTransaction.js.map +1 -0
- package/dist/cjs/actions/smartAccount/sendTransactions.d.ts +4 -0
- package/dist/cjs/actions/smartAccount/sendTransactions.js +36 -0
- package/dist/cjs/actions/smartAccount/sendTransactions.js.map +1 -0
- package/dist/cjs/actions/smartAccount/sendUserOperation.d.ts +5 -0
- package/dist/cjs/actions/smartAccount/sendUserOperation.js +31 -0
- package/dist/cjs/actions/smartAccount/sendUserOperation.js.map +1 -0
- package/dist/cjs/actions/smartAccount/signMessage.d.ts +6 -0
- package/dist/cjs/actions/smartAccount/signMessage.js +12 -0
- package/dist/cjs/actions/smartAccount/signMessage.js.map +1 -0
- package/dist/cjs/actions/smartAccount/signMessageWith6492.d.ts +4 -0
- package/dist/cjs/actions/smartAccount/signMessageWith6492.js +12 -0
- package/dist/cjs/actions/smartAccount/signMessageWith6492.js.map +1 -0
- package/dist/cjs/actions/smartAccount/signTypedData.d.ts +10 -0
- package/dist/cjs/actions/smartAccount/signTypedData.js +12 -0
- package/dist/cjs/actions/smartAccount/signTypedData.js.map +1 -0
- package/dist/cjs/actions/smartAccount/signTypedDataWith6492.d.ts +6 -0
- package/dist/cjs/actions/smartAccount/signTypedDataWith6492.js +12 -0
- package/dist/cjs/actions/smartAccount/signTypedDataWith6492.js.map +1 -0
- package/dist/cjs/actions/smartAccount/signUserOperation.d.ts +5 -0
- package/dist/cjs/actions/smartAccount/signUserOperation.js +30 -0
- package/dist/cjs/actions/smartAccount/signUserOperation.js.map +1 -0
- package/dist/cjs/actions/smartAccount/types.d.ts +42 -0
- package/dist/cjs/actions/smartAccount/types.js +3 -0
- package/dist/cjs/actions/smartAccount/types.js.map +1 -0
- package/dist/cjs/actions/smartAccount/upgradeAccount.d.ts +4 -0
- package/dist/cjs/actions/smartAccount/upgradeAccount.js +38 -0
- package/dist/cjs/actions/smartAccount/upgradeAccount.js.map +1 -0
- package/dist/cjs/actions/smartAccount/waitForUserOperationTransacation.d.ts +3 -0
- package/dist/cjs/actions/smartAccount/waitForUserOperationTransacation.js +36 -0
- package/dist/cjs/actions/smartAccount/waitForUserOperationTransacation.js.map +1 -0
- package/dist/cjs/chains/index.d.ts +20 -0
- package/dist/cjs/chains/index.js +169 -0
- package/dist/cjs/chains/index.js.map +1 -0
- package/dist/cjs/client/bundlerClient.d.ts +10 -0
- package/dist/cjs/client/bundlerClient.js +51 -0
- package/dist/cjs/client/bundlerClient.js.map +1 -0
- package/dist/cjs/client/decorators/bundlerClient.d.ts +41 -0
- package/dist/cjs/client/decorators/bundlerClient.js +17 -0
- package/dist/cjs/client/decorators/bundlerClient.js.map +1 -0
- package/dist/cjs/client/decorators/smartAccountClient.d.ts +35 -0
- package/dist/cjs/client/decorators/smartAccountClient.js +43 -0
- package/dist/cjs/client/decorators/smartAccountClient.js.map +1 -0
- package/dist/cjs/client/isSmartAccountClient.d.ts +5 -0
- package/dist/cjs/client/isSmartAccountClient.js +18 -0
- package/dist/cjs/client/isSmartAccountClient.js.map +1 -0
- package/dist/cjs/client/schema.d.ts +767 -0
- package/dist/cjs/client/schema.js +63 -0
- package/dist/cjs/client/schema.js.map +1 -0
- package/dist/cjs/client/smartAccountClient.d.ts +33 -0
- package/dist/cjs/client/smartAccountClient.js +93 -0
- package/dist/cjs/client/smartAccountClient.js.map +1 -0
- package/dist/cjs/client/types.d.ts +26 -0
- package/dist/cjs/client/types.js +3 -0
- package/dist/cjs/client/types.js.map +1 -0
- package/dist/cjs/ens/utils.d.ts +6 -0
- package/dist/cjs/ens/utils.js +53 -0
- package/dist/cjs/ens/utils.js.map +1 -0
- package/dist/cjs/entrypoint/0.6.d.ts +1029 -0
- package/dist/cjs/entrypoint/0.6.js +49 -0
- package/dist/cjs/entrypoint/0.6.js.map +1 -0
- package/dist/cjs/entrypoint/0.7.d.ts +792 -0
- package/dist/cjs/entrypoint/0.7.js +88 -0
- package/dist/cjs/entrypoint/0.7.js.map +1 -0
- package/dist/cjs/entrypoint/index.d.ts +8 -0
- package/dist/cjs/entrypoint/index.js +53 -0
- package/dist/cjs/entrypoint/index.js.map +1 -0
- package/dist/cjs/entrypoint/types.d.ts +46 -0
- package/dist/cjs/entrypoint/types.js +3 -0
- package/dist/cjs/entrypoint/types.js.map +1 -0
- package/dist/cjs/errors/account.d.ts +47 -0
- package/dist/cjs/errors/account.js +140 -0
- package/dist/cjs/errors/account.js.map +1 -0
- package/dist/cjs/errors/base.d.ts +18 -0
- package/dist/cjs/errors/base.js +39 -0
- package/dist/cjs/errors/base.js.map +1 -0
- package/dist/cjs/errors/client.d.ts +14 -0
- package/dist/cjs/errors/client.js +44 -0
- package/dist/cjs/errors/client.js.map +1 -0
- package/dist/cjs/errors/entrypoint.d.ts +10 -0
- package/dist/cjs/errors/entrypoint.js +32 -0
- package/dist/cjs/errors/entrypoint.js.map +1 -0
- package/dist/cjs/errors/signer.d.ts +5 -0
- package/dist/cjs/errors/signer.js +20 -0
- package/dist/cjs/errors/signer.js.map +1 -0
- package/dist/cjs/errors/transaction.d.ts +10 -0
- package/dist/cjs/errors/transaction.js +29 -0
- package/dist/cjs/errors/transaction.js.map +1 -0
- package/dist/cjs/errors/useroperation.d.ts +10 -0
- package/dist/cjs/errors/useroperation.js +34 -0
- package/dist/cjs/errors/useroperation.js.map +1 -0
- package/dist/cjs/index.d.ts +63 -0
- package/dist/cjs/index.js +198 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/logger.d.ts +20 -0
- package/dist/cjs/logger.js +60 -0
- package/dist/cjs/logger.js.map +1 -0
- package/dist/cjs/middleware/actions.d.ts +12 -0
- package/dist/cjs/middleware/actions.js +37 -0
- package/dist/cjs/middleware/actions.js.map +1 -0
- package/dist/cjs/middleware/defaults/feeEstimator.d.ts +3 -0
- package/dist/cjs/middleware/defaults/feeEstimator.js +21 -0
- package/dist/cjs/middleware/defaults/feeEstimator.js.map +1 -0
- package/dist/cjs/middleware/defaults/gasEstimator.d.ts +3 -0
- package/dist/cjs/middleware/defaults/gasEstimator.js +26 -0
- package/dist/cjs/middleware/defaults/gasEstimator.js.map +1 -0
- package/dist/cjs/middleware/defaults/paymasterAndData.d.ts +2 -0
- package/dist/cjs/middleware/defaults/paymasterAndData.js +12 -0
- package/dist/cjs/middleware/defaults/paymasterAndData.js.map +1 -0
- package/dist/cjs/middleware/defaults/userOpSigner.d.ts +2 -0
- package/dist/cjs/middleware/defaults/userOpSigner.js +26 -0
- package/dist/cjs/middleware/defaults/userOpSigner.js.map +1 -0
- package/dist/cjs/middleware/noopMiddleware.d.ts +2 -0
- package/dist/cjs/middleware/noopMiddleware.js +8 -0
- package/dist/cjs/middleware/noopMiddleware.js.map +1 -0
- package/dist/cjs/middleware/types.d.ts +21 -0
- package/dist/cjs/middleware/types.js +3 -0
- package/dist/cjs/middleware/types.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/signer/local-account.d.ts +219 -0
- package/dist/cjs/signer/local-account.js +56 -0
- package/dist/cjs/signer/local-account.js.map +1 -0
- package/dist/cjs/signer/schema.d.ts +4 -0
- package/dist/cjs/signer/schema.js +16 -0
- package/dist/cjs/signer/schema.js.map +1 -0
- package/dist/cjs/signer/types.d.ts +15 -0
- package/dist/cjs/signer/types.js +3 -0
- package/dist/cjs/signer/types.js.map +1 -0
- package/dist/cjs/signer/utils.d.ts +15 -0
- package/dist/cjs/signer/utils.js +31 -0
- package/dist/cjs/signer/utils.js.map +1 -0
- package/dist/cjs/signer/wallet-client.d.ts +217 -0
- package/dist/cjs/signer/wallet-client.js +58 -0
- package/dist/cjs/signer/wallet-client.js.map +1 -0
- package/dist/cjs/transport/split.d.ts +9 -0
- package/dist/cjs/transport/split.js +26 -0
- package/dist/cjs/transport/split.js.map +1 -0
- package/dist/cjs/types.d.ts +158 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/bigint.d.ts +10 -0
- package/dist/cjs/utils/bigint.js +55 -0
- package/dist/cjs/utils/bigint.js.map +1 -0
- package/dist/cjs/utils/bytes.d.ts +7 -0
- package/dist/cjs/utils/bytes.js +11 -0
- package/dist/cjs/utils/bytes.js.map +1 -0
- package/dist/cjs/utils/defaults.d.ts +6 -0
- package/dist/cjs/utils/defaults.js +59 -0
- package/dist/cjs/utils/defaults.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +23 -0
- package/dist/cjs/utils/index.js +127 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/schema.d.ts +25 -0
- package/dist/cjs/utils/schema.js +35 -0
- package/dist/cjs/utils/schema.js.map +1 -0
- package/dist/cjs/utils/stateOverride.d.ts +4 -0
- package/dist/cjs/utils/stateOverride.js +52 -0
- package/dist/cjs/utils/stateOverride.js.map +1 -0
- package/dist/cjs/utils/testUtils.d.ts +6 -0
- package/dist/cjs/utils/testUtils.js +33 -0
- package/dist/cjs/utils/testUtils.js.map +1 -0
- package/dist/cjs/utils/types.d.ts +16 -0
- package/dist/cjs/utils/types.js +3 -0
- package/dist/cjs/utils/types.js.map +1 -0
- package/dist/cjs/utils/userop.d.ts +49 -0
- package/dist/cjs/utils/userop.js +75 -0
- package/dist/cjs/utils/userop.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -0
- package/dist/cjs/version.js +5 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/abis/EntryPointAbi_v6.d.ts +1018 -0
- package/dist/esm/abis/EntryPointAbi_v6.js +1310 -0
- package/dist/esm/abis/EntryPointAbi_v6.js.map +1 -0
- package/dist/esm/abis/EntryPointAbi_v7.d.ts +775 -0
- package/dist/esm/abis/EntryPointAbi_v7.js +658 -0
- package/dist/esm/abis/EntryPointAbi_v7.js.map +1 -0
- package/dist/esm/abis/SimpleAccountAbi_v6.d.ts +405 -0
- package/dist/esm/abis/SimpleAccountAbi_v6.js +525 -0
- package/dist/esm/abis/SimpleAccountAbi_v6.js.map +1 -0
- package/dist/esm/abis/SimpleAccountAbi_v7.d.ts +410 -0
- package/dist/esm/abis/SimpleAccountAbi_v7.js +535 -0
- package/dist/esm/abis/SimpleAccountAbi_v7.js.map +1 -0
- package/dist/esm/abis/SimpleAccountFactoryAbi.d.ts +55 -0
- package/dist/esm/abis/SimpleAccountFactoryAbi.js +75 -0
- package/dist/esm/abis/SimpleAccountFactoryAbi.js.map +1 -0
- package/dist/esm/account/base.d.ts +49 -0
- package/dist/esm/account/base.js +253 -0
- package/dist/esm/account/base.js.map +1 -0
- package/dist/esm/account/schema.d.ts +100 -0
- package/dist/esm/account/schema.js +35 -0
- package/dist/esm/account/schema.js.map +1 -0
- package/dist/esm/account/simple.d.ts +14 -0
- package/dist/esm/account/simple.js +115 -0
- package/dist/esm/account/simple.js.map +1 -0
- package/dist/esm/account/smartContractAccount.d.ts +68 -0
- package/dist/esm/account/smartContractAccount.js +167 -0
- package/dist/esm/account/smartContractAccount.js.map +1 -0
- package/dist/esm/account/types.d.ts +30 -0
- package/dist/esm/account/types.js +2 -0
- package/dist/esm/account/types.js.map +1 -0
- package/dist/esm/actions/bundler/estimateUserOperationGas.d.ts +8 -0
- package/dist/esm/actions/bundler/estimateUserOperationGas.js +14 -0
- package/dist/esm/actions/bundler/estimateUserOperationGas.js.map +1 -0
- package/dist/esm/actions/bundler/getSupportedEntryPoints.d.ts +3 -0
- package/dist/esm/actions/bundler/getSupportedEntryPoints.js +7 -0
- package/dist/esm/actions/bundler/getSupportedEntryPoints.js.map +1 -0
- package/dist/esm/actions/bundler/getUserOperationByHash.d.ts +6 -0
- package/dist/esm/actions/bundler/getUserOperationByHash.js +7 -0
- package/dist/esm/actions/bundler/getUserOperationByHash.js.map +1 -0
- package/dist/esm/actions/bundler/getUserOperationReceipt.d.ts +6 -0
- package/dist/esm/actions/bundler/getUserOperationReceipt.js +7 -0
- package/dist/esm/actions/bundler/getUserOperationReceipt.js.map +1 -0
- package/dist/esm/actions/bundler/sendRawUserOperation.d.ts +7 -0
- package/dist/esm/actions/bundler/sendRawUserOperation.js +7 -0
- package/dist/esm/actions/bundler/sendRawUserOperation.js.map +1 -0
- package/dist/esm/actions/smartAccount/buildUserOperation.d.ts +5 -0
- package/dist/esm/actions/smartAccount/buildUserOperation.js +22 -0
- package/dist/esm/actions/smartAccount/buildUserOperation.js.map +1 -0
- package/dist/esm/actions/smartAccount/buildUserOperationFromTx.d.ts +5 -0
- package/dist/esm/actions/smartAccount/buildUserOperationFromTx.js +36 -0
- package/dist/esm/actions/smartAccount/buildUserOperationFromTx.js.map +1 -0
- package/dist/esm/actions/smartAccount/buildUserOperationFromTxs.d.ts +4 -0
- package/dist/esm/actions/smartAccount/buildUserOperationFromTxs.js +58 -0
- package/dist/esm/actions/smartAccount/buildUserOperationFromTxs.js.map +1 -0
- package/dist/esm/actions/smartAccount/checkGasSponsorshipEligibility.d.ts +4 -0
- package/dist/esm/actions/smartAccount/checkGasSponsorshipEligibility.js +30 -0
- package/dist/esm/actions/smartAccount/checkGasSponsorshipEligibility.js.map +1 -0
- package/dist/esm/actions/smartAccount/dropAndReplaceUserOperation.d.ts +5 -0
- package/dist/esm/actions/smartAccount/dropAndReplaceUserOperation.js +60 -0
- package/dist/esm/actions/smartAccount/dropAndReplaceUserOperation.js.map +1 -0
- package/dist/esm/actions/smartAccount/estimateUserOperationGas.d.ts +5 -0
- package/dist/esm/actions/smartAccount/estimateUserOperationGas.js +20 -0
- package/dist/esm/actions/smartAccount/estimateUserOperationGas.js.map +1 -0
- package/dist/esm/actions/smartAccount/getAddress.d.ts +4 -0
- package/dist/esm/actions/smartAccount/getAddress.js +9 -0
- package/dist/esm/actions/smartAccount/getAddress.js.map +1 -0
- package/dist/esm/actions/smartAccount/internal/initUserOperation.d.ts +7 -0
- package/dist/esm/actions/smartAccount/internal/initUserOperation.js +38 -0
- package/dist/esm/actions/smartAccount/internal/initUserOperation.js.map +1 -0
- package/dist/esm/actions/smartAccount/internal/runMiddlewareStack.d.ts +10 -0
- package/dist/esm/actions/smartAccount/internal/runMiddlewareStack.js +43 -0
- package/dist/esm/actions/smartAccount/internal/runMiddlewareStack.js.map +1 -0
- package/dist/esm/actions/smartAccount/internal/sendUserOperation.d.ts +10 -0
- package/dist/esm/actions/smartAccount/internal/sendUserOperation.js +24 -0
- package/dist/esm/actions/smartAccount/internal/sendUserOperation.js.map +1 -0
- package/dist/esm/actions/smartAccount/sendTransaction.d.ts +5 -0
- package/dist/esm/actions/smartAccount/sendTransaction.js +31 -0
- package/dist/esm/actions/smartAccount/sendTransaction.js.map +1 -0
- package/dist/esm/actions/smartAccount/sendTransactions.d.ts +4 -0
- package/dist/esm/actions/smartAccount/sendTransactions.js +32 -0
- package/dist/esm/actions/smartAccount/sendTransactions.js.map +1 -0
- package/dist/esm/actions/smartAccount/sendUserOperation.d.ts +5 -0
- package/dist/esm/actions/smartAccount/sendUserOperation.js +27 -0
- package/dist/esm/actions/smartAccount/sendUserOperation.js.map +1 -0
- package/dist/esm/actions/smartAccount/signMessage.d.ts +6 -0
- package/dist/esm/actions/smartAccount/signMessage.js +8 -0
- package/dist/esm/actions/smartAccount/signMessage.js.map +1 -0
- package/dist/esm/actions/smartAccount/signMessageWith6492.d.ts +4 -0
- package/dist/esm/actions/smartAccount/signMessageWith6492.js +8 -0
- package/dist/esm/actions/smartAccount/signMessageWith6492.js.map +1 -0
- package/dist/esm/actions/smartAccount/signTypedData.d.ts +10 -0
- package/dist/esm/actions/smartAccount/signTypedData.js +8 -0
- package/dist/esm/actions/smartAccount/signTypedData.js.map +1 -0
- package/dist/esm/actions/smartAccount/signTypedDataWith6492.d.ts +6 -0
- package/dist/esm/actions/smartAccount/signTypedDataWith6492.js +8 -0
- package/dist/esm/actions/smartAccount/signTypedDataWith6492.js.map +1 -0
- package/dist/esm/actions/smartAccount/signUserOperation.d.ts +5 -0
- package/dist/esm/actions/smartAccount/signUserOperation.js +26 -0
- package/dist/esm/actions/smartAccount/signUserOperation.js.map +1 -0
- package/dist/esm/actions/smartAccount/types.d.ts +42 -0
- package/dist/esm/actions/smartAccount/types.js +2 -0
- package/dist/esm/actions/smartAccount/types.js.map +1 -0
- package/dist/esm/actions/smartAccount/upgradeAccount.d.ts +4 -0
- package/dist/esm/actions/smartAccount/upgradeAccount.js +34 -0
- package/dist/esm/actions/smartAccount/upgradeAccount.js.map +1 -0
- package/dist/esm/actions/smartAccount/waitForUserOperationTransacation.d.ts +3 -0
- package/dist/esm/actions/smartAccount/waitForUserOperationTransacation.js +32 -0
- package/dist/esm/actions/smartAccount/waitForUserOperationTransacation.js.map +1 -0
- package/dist/esm/chains/index.d.ts +20 -0
- package/dist/esm/chains/index.js +166 -0
- package/dist/esm/chains/index.js.map +1 -0
- package/dist/esm/client/bundlerClient.d.ts +10 -0
- package/dist/esm/client/bundlerClient.js +46 -0
- package/dist/esm/client/bundlerClient.js.map +1 -0
- package/dist/esm/client/decorators/bundlerClient.d.ts +41 -0
- package/dist/esm/client/decorators/bundlerClient.js +13 -0
- package/dist/esm/client/decorators/bundlerClient.js.map +1 -0
- package/dist/esm/client/decorators/smartAccountClient.d.ts +35 -0
- package/dist/esm/client/decorators/smartAccountClient.js +40 -0
- package/dist/esm/client/decorators/smartAccountClient.js.map +1 -0
- package/dist/esm/client/isSmartAccountClient.d.ts +5 -0
- package/dist/esm/client/isSmartAccountClient.js +13 -0
- package/dist/esm/client/isSmartAccountClient.js.map +1 -0
- package/dist/esm/client/schema.d.ts +767 -0
- package/dist/esm/client/schema.js +59 -0
- package/dist/esm/client/schema.js.map +1 -0
- package/dist/esm/client/smartAccountClient.d.ts +33 -0
- package/dist/esm/client/smartAccountClient.js +90 -0
- package/dist/esm/client/smartAccountClient.js.map +1 -0
- package/dist/esm/client/types.d.ts +26 -0
- package/dist/esm/client/types.js +2 -0
- package/dist/esm/client/types.js.map +1 -0
- package/dist/esm/ens/utils.d.ts +6 -0
- package/dist/esm/ens/utils.js +24 -0
- package/dist/esm/ens/utils.js.map +1 -0
- package/dist/esm/entrypoint/0.6.d.ts +1029 -0
- package/dist/esm/entrypoint/0.6.js +47 -0
- package/dist/esm/entrypoint/0.6.js.map +1 -0
- package/dist/esm/entrypoint/0.7.d.ts +792 -0
- package/dist/esm/entrypoint/0.7.js +82 -0
- package/dist/esm/entrypoint/0.7.js.map +1 -0
- package/dist/esm/entrypoint/index.d.ts +8 -0
- package/dist/esm/entrypoint/index.js +46 -0
- package/dist/esm/entrypoint/index.js.map +1 -0
- package/dist/esm/entrypoint/types.d.ts +46 -0
- package/dist/esm/entrypoint/types.js +2 -0
- package/dist/esm/entrypoint/types.js.map +1 -0
- package/dist/esm/errors/account.d.ts +47 -0
- package/dist/esm/errors/account.js +126 -0
- package/dist/esm/errors/account.js.map +1 -0
- package/dist/esm/errors/base.d.ts +18 -0
- package/dist/esm/errors/base.js +35 -0
- package/dist/esm/errors/base.js.map +1 -0
- package/dist/esm/errors/client.d.ts +14 -0
- package/dist/esm/errors/client.js +38 -0
- package/dist/esm/errors/client.js.map +1 -0
- package/dist/esm/errors/entrypoint.d.ts +10 -0
- package/dist/esm/errors/entrypoint.js +27 -0
- package/dist/esm/errors/entrypoint.js.map +1 -0
- package/dist/esm/errors/signer.d.ts +5 -0
- package/dist/esm/errors/signer.js +16 -0
- package/dist/esm/errors/signer.js.map +1 -0
- package/dist/esm/errors/transaction.d.ts +10 -0
- package/dist/esm/errors/transaction.js +24 -0
- package/dist/esm/errors/transaction.js.map +1 -0
- package/dist/esm/errors/useroperation.d.ts +10 -0
- package/dist/esm/errors/useroperation.js +29 -0
- package/dist/esm/errors/useroperation.js.map +1 -0
- package/dist/esm/index.d.ts +63 -0
- package/dist/esm/index.js +48 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/logger.d.ts +20 -0
- package/dist/esm/logger.js +56 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/middleware/actions.d.ts +12 -0
- package/dist/esm/middleware/actions.js +33 -0
- package/dist/esm/middleware/actions.js.map +1 -0
- package/dist/esm/middleware/defaults/feeEstimator.d.ts +3 -0
- package/dist/esm/middleware/defaults/feeEstimator.js +17 -0
- package/dist/esm/middleware/defaults/feeEstimator.js.map +1 -0
- package/dist/esm/middleware/defaults/gasEstimator.d.ts +3 -0
- package/dist/esm/middleware/defaults/gasEstimator.js +22 -0
- package/dist/esm/middleware/defaults/gasEstimator.js.map +1 -0
- package/dist/esm/middleware/defaults/paymasterAndData.d.ts +2 -0
- package/dist/esm/middleware/defaults/paymasterAndData.js +8 -0
- package/dist/esm/middleware/defaults/paymasterAndData.js.map +1 -0
- package/dist/esm/middleware/defaults/userOpSigner.d.ts +2 -0
- package/dist/esm/middleware/defaults/userOpSigner.js +22 -0
- package/dist/esm/middleware/defaults/userOpSigner.js.map +1 -0
- package/dist/esm/middleware/noopMiddleware.d.ts +2 -0
- package/dist/esm/middleware/noopMiddleware.js +4 -0
- package/dist/esm/middleware/noopMiddleware.js.map +1 -0
- package/dist/esm/middleware/types.d.ts +21 -0
- package/dist/esm/middleware/types.js +2 -0
- package/dist/esm/middleware/types.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/signer/local-account.d.ts +219 -0
- package/dist/esm/signer/local-account.js +53 -0
- package/dist/esm/signer/local-account.js.map +1 -0
- package/dist/esm/signer/schema.d.ts +4 -0
- package/dist/esm/signer/schema.js +12 -0
- package/dist/esm/signer/schema.js.map +1 -0
- package/dist/esm/signer/types.d.ts +15 -0
- package/dist/esm/signer/types.js +2 -0
- package/dist/esm/signer/types.js.map +1 -0
- package/dist/esm/signer/utils.d.ts +15 -0
- package/dist/esm/signer/utils.js +26 -0
- package/dist/esm/signer/utils.js.map +1 -0
- package/dist/esm/signer/wallet-client.d.ts +217 -0
- package/dist/esm/signer/wallet-client.js +54 -0
- package/dist/esm/signer/wallet-client.js.map +1 -0
- package/dist/esm/transport/split.d.ts +9 -0
- package/dist/esm/transport/split.js +22 -0
- package/dist/esm/transport/split.js.map +1 -0
- package/dist/esm/types.d.ts +158 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/bigint.d.ts +10 -0
- package/dist/esm/utils/bigint.js +47 -0
- package/dist/esm/utils/bigint.js.map +1 -0
- package/dist/esm/utils/bytes.d.ts +7 -0
- package/dist/esm/utils/bytes.js +7 -0
- package/dist/esm/utils/bytes.js.map +1 -0
- package/dist/esm/utils/defaults.d.ts +6 -0
- package/dist/esm/utils/defaults.js +55 -0
- package/dist/esm/utils/defaults.js.map +1 -0
- package/dist/esm/utils/index.d.ts +23 -0
- package/dist/esm/utils/index.js +88 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/schema.d.ts +25 -0
- package/dist/esm/utils/schema.js +30 -0
- package/dist/esm/utils/schema.js.map +1 -0
- package/dist/esm/utils/stateOverride.d.ts +4 -0
- package/dist/esm/utils/stateOverride.js +48 -0
- package/dist/esm/utils/stateOverride.js.map +1 -0
- package/dist/esm/utils/testUtils.d.ts +6 -0
- package/dist/esm/utils/testUtils.js +28 -0
- package/dist/esm/utils/testUtils.js.map +1 -0
- package/dist/esm/utils/types.d.ts +16 -0
- package/dist/esm/utils/types.js +2 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/esm/utils/userop.d.ts +49 -0
- package/dist/esm/utils/userop.js +62 -0
- package/dist/esm/utils/userop.js.map +1 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/abis/EntryPointAbi_v6.d.ts +1019 -0
- package/dist/types/abis/EntryPointAbi_v6.d.ts.map +1 -0
- package/dist/types/abis/EntryPointAbi_v7.d.ts +776 -0
- package/dist/types/abis/EntryPointAbi_v7.d.ts.map +1 -0
- package/dist/types/abis/SimpleAccountAbi_v6.d.ts +406 -0
- package/dist/types/abis/SimpleAccountAbi_v6.d.ts.map +1 -0
- package/dist/types/abis/SimpleAccountAbi_v7.d.ts +411 -0
- package/dist/types/abis/SimpleAccountAbi_v7.d.ts.map +1 -0
- package/dist/types/abis/SimpleAccountFactoryAbi.d.ts +56 -0
- package/dist/types/abis/SimpleAccountFactoryAbi.d.ts.map +1 -0
- package/dist/types/account/base.d.ts +128 -0
- package/dist/types/account/base.d.ts.map +1 -0
- package/dist/types/account/schema.d.ts +101 -0
- package/dist/types/account/schema.d.ts.map +1 -0
- package/dist/types/account/simple.d.ts +15 -0
- package/dist/types/account/simple.d.ts.map +1 -0
- package/dist/types/account/smartContractAccount.d.ts +69 -0
- package/dist/types/account/smartContractAccount.d.ts.map +1 -0
- package/dist/types/account/types.d.ts +144 -0
- package/dist/types/account/types.d.ts.map +1 -0
- package/dist/types/actions/bundler/estimateUserOperationGas.d.ts +9 -0
- package/dist/types/actions/bundler/estimateUserOperationGas.d.ts.map +1 -0
- package/dist/types/actions/bundler/getSupportedEntryPoints.d.ts +4 -0
- package/dist/types/actions/bundler/getSupportedEntryPoints.d.ts.map +1 -0
- package/dist/types/actions/bundler/getUserOperationByHash.d.ts +7 -0
- package/dist/types/actions/bundler/getUserOperationByHash.d.ts.map +1 -0
- package/dist/types/actions/bundler/getUserOperationReceipt.d.ts +7 -0
- package/dist/types/actions/bundler/getUserOperationReceipt.d.ts.map +1 -0
- package/dist/types/actions/bundler/sendRawUserOperation.d.ts +8 -0
- package/dist/types/actions/bundler/sendRawUserOperation.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/buildUserOperation.d.ts +6 -0
- package/dist/types/actions/smartAccount/buildUserOperation.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/buildUserOperationFromTx.d.ts +45 -0
- package/dist/types/actions/smartAccount/buildUserOperationFromTx.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/buildUserOperationFromTxs.d.ts +75 -0
- package/dist/types/actions/smartAccount/buildUserOperationFromTxs.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/checkGasSponsorshipEligibility.d.ts +33 -0
- package/dist/types/actions/smartAccount/checkGasSponsorshipEligibility.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/dropAndReplaceUserOperation.d.ts +6 -0
- package/dist/types/actions/smartAccount/dropAndReplaceUserOperation.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/estimateUserOperationGas.d.ts +19 -0
- package/dist/types/actions/smartAccount/estimateUserOperationGas.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/getAddress.d.ts +5 -0
- package/dist/types/actions/smartAccount/getAddress.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/internal/initUserOperation.d.ts +22 -0
- package/dist/types/actions/smartAccount/internal/initUserOperation.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/internal/runMiddlewareStack.d.ts +25 -0
- package/dist/types/actions/smartAccount/internal/runMiddlewareStack.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/internal/sendUserOperation.d.ts +18 -0
- package/dist/types/actions/smartAccount/internal/sendUserOperation.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/sendTransaction.d.ts +6 -0
- package/dist/types/actions/smartAccount/sendTransaction.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/sendTransactions.d.ts +5 -0
- package/dist/types/actions/smartAccount/sendTransactions.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/sendUserOperation.d.ts +13 -0
- package/dist/types/actions/smartAccount/sendUserOperation.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/signMessage.d.ts +7 -0
- package/dist/types/actions/smartAccount/signMessage.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/signMessageWith6492.d.ts +5 -0
- package/dist/types/actions/smartAccount/signMessageWith6492.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/signTypedData.d.ts +11 -0
- package/dist/types/actions/smartAccount/signTypedData.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/signTypedDataWith6492.d.ts +7 -0
- package/dist/types/actions/smartAccount/signTypedDataWith6492.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/signUserOperation.d.ts +6 -0
- package/dist/types/actions/smartAccount/signUserOperation.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/types.d.ts +57 -0
- package/dist/types/actions/smartAccount/types.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/upgradeAccount.d.ts +5 -0
- package/dist/types/actions/smartAccount/upgradeAccount.d.ts.map +1 -0
- package/dist/types/actions/smartAccount/waitForUserOperationTransacation.d.ts +4 -0
- package/dist/types/actions/smartAccount/waitForUserOperationTransacation.d.ts.map +1 -0
- package/dist/types/chains/index.d.ts +21 -0
- package/dist/types/chains/index.d.ts.map +1 -0
- package/dist/types/client/bundlerClient.d.ts +17 -0
- package/dist/types/client/bundlerClient.d.ts.map +1 -0
- package/dist/types/client/decorators/bundlerClient.d.ts +74 -0
- package/dist/types/client/decorators/bundlerClient.d.ts.map +1 -0
- package/dist/types/client/decorators/smartAccountClient.d.ts +36 -0
- package/dist/types/client/decorators/smartAccountClient.d.ts.map +1 -0
- package/dist/types/client/isSmartAccountClient.d.ts +22 -0
- package/dist/types/client/isSmartAccountClient.d.ts.map +1 -0
- package/dist/types/client/schema.d.ts +780 -0
- package/dist/types/client/schema.d.ts.map +1 -0
- package/dist/types/client/smartAccountClient.d.ts +34 -0
- package/dist/types/client/smartAccountClient.d.ts.map +1 -0
- package/dist/types/client/types.d.ts +27 -0
- package/dist/types/client/types.d.ts.map +1 -0
- package/dist/types/ens/utils.d.ts +7 -0
- package/dist/types/ens/utils.d.ts.map +1 -0
- package/dist/types/entrypoint/0.6.d.ts +1030 -0
- package/dist/types/entrypoint/0.6.d.ts.map +1 -0
- package/dist/types/entrypoint/0.7.d.ts +793 -0
- package/dist/types/entrypoint/0.7.d.ts.map +1 -0
- package/dist/types/entrypoint/index.d.ts +9 -0
- package/dist/types/entrypoint/index.d.ts.map +1 -0
- package/dist/types/entrypoint/types.d.ts +64 -0
- package/dist/types/entrypoint/types.d.ts.map +1 -0
- package/dist/types/errors/account.d.ts +48 -0
- package/dist/types/errors/account.d.ts.map +1 -0
- package/dist/types/errors/base.d.ts +19 -0
- package/dist/types/errors/base.d.ts.map +1 -0
- package/dist/types/errors/client.d.ts +15 -0
- package/dist/types/errors/client.d.ts.map +1 -0
- package/dist/types/errors/entrypoint.d.ts +11 -0
- package/dist/types/errors/entrypoint.d.ts.map +1 -0
- package/dist/types/errors/signer.d.ts +6 -0
- package/dist/types/errors/signer.d.ts.map +1 -0
- package/dist/types/errors/transaction.d.ts +11 -0
- package/dist/types/errors/transaction.d.ts.map +1 -0
- package/dist/types/errors/useroperation.d.ts +36 -0
- package/dist/types/errors/useroperation.d.ts.map +1 -0
- package/dist/types/index.d.ts +64 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/logger.d.ts +21 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/middleware/actions.d.ts +27 -0
- package/dist/types/middleware/actions.d.ts.map +1 -0
- package/dist/types/middleware/defaults/feeEstimator.d.ts +4 -0
- package/dist/types/middleware/defaults/feeEstimator.d.ts.map +1 -0
- package/dist/types/middleware/defaults/gasEstimator.d.ts +12 -0
- package/dist/types/middleware/defaults/gasEstimator.d.ts.map +1 -0
- package/dist/types/middleware/defaults/paymasterAndData.d.ts +3 -0
- package/dist/types/middleware/defaults/paymasterAndData.d.ts.map +1 -0
- package/dist/types/middleware/defaults/userOpSigner.d.ts +3 -0
- package/dist/types/middleware/defaults/userOpSigner.d.ts.map +1 -0
- package/dist/types/middleware/noopMiddleware.d.ts +10 -0
- package/dist/types/middleware/noopMiddleware.d.ts.map +1 -0
- package/dist/types/middleware/types.d.ts +22 -0
- package/dist/types/middleware/types.d.ts.map +1 -0
- package/dist/types/signer/local-account.d.ts +220 -0
- package/dist/types/signer/local-account.d.ts.map +1 -0
- package/dist/types/signer/schema.d.ts +5 -0
- package/dist/types/signer/schema.d.ts.map +1 -0
- package/dist/types/signer/types.d.ts +28 -0
- package/dist/types/signer/types.d.ts.map +1 -0
- package/dist/types/signer/utils.d.ts +16 -0
- package/dist/types/signer/utils.d.ts.map +1 -0
- package/dist/types/signer/wallet-client.d.ts +218 -0
- package/dist/types/signer/wallet-client.d.ts.map +1 -0
- package/dist/types/transport/split.d.ts +42 -0
- package/dist/types/transport/split.d.ts.map +1 -0
- package/dist/types/types.d.ts +176 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils/bigint.d.ts +56 -0
- package/dist/types/utils/bigint.d.ts.map +1 -0
- package/dist/types/utils/bytes.d.ts +17 -0
- package/dist/types/utils/bytes.d.ts.map +1 -0
- package/dist/types/utils/defaults.d.ts +15 -0
- package/dist/types/utils/defaults.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +63 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/schema.d.ts +29 -0
- package/dist/types/utils/schema.d.ts.map +1 -0
- package/dist/types/utils/stateOverride.d.ts +5 -0
- package/dist/types/utils/stateOverride.d.ts.map +1 -0
- package/dist/types/utils/testUtils.d.ts +7 -0
- package/dist/types/utils/testUtils.d.ts.map +1 -0
- package/dist/types/utils/types.d.ts +39 -0
- package/dist/types/utils/types.d.ts.map +1 -0
- package/dist/types/utils/userop.d.ts +129 -0
- package/dist/types/utils/userop.d.ts.map +1 -0
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +70 -0
- package/src/abis/EntryPointAbi_v6.ts +1309 -0
- package/src/abis/EntryPointAbi_v7.ts +658 -0
- package/src/abis/SimpleAccountAbi_v6.ts +524 -0
- package/src/abis/SimpleAccountAbi_v7.ts +534 -0
- package/src/abis/SimpleAccountFactoryAbi.ts +74 -0
- package/src/account/base.ts +415 -0
- package/src/account/schema.ts +51 -0
- package/src/account/simple.ts +215 -0
- package/src/account/smartContractAccount.ts +406 -0
- package/src/account/types.ts +184 -0
- package/src/actions/bundler/estimateUserOperationGas.ts +32 -0
- package/src/actions/bundler/getSupportedEntryPoints.ts +13 -0
- package/src/actions/bundler/getUserOperationByHash.ts +17 -0
- package/src/actions/bundler/getUserOperationReceipt.ts +17 -0
- package/src/actions/bundler/sendRawUserOperation.ts +20 -0
- package/src/actions/smartAccount/buildUserOperation.ts +52 -0
- package/src/actions/smartAccount/buildUserOperationFromTx.ts +112 -0
- package/src/actions/smartAccount/buildUserOperationFromTxs.ts +168 -0
- package/src/actions/smartAccount/checkGasSponsorshipEligibility.ts +86 -0
- package/src/actions/smartAccount/dropAndReplaceUserOperation.ts +111 -0
- package/src/actions/smartAccount/estimateUserOperationGas.ts +65 -0
- package/src/actions/smartAccount/getAddress.ts +25 -0
- package/src/actions/smartAccount/internal/initUserOperation.ts +93 -0
- package/src/actions/smartAccount/internal/runMiddlewareStack.ts +121 -0
- package/src/actions/smartAccount/internal/sendUserOperation.ts +64 -0
- package/src/actions/smartAccount/sendTransaction.ts +73 -0
- package/src/actions/smartAccount/sendTransactions.ts +53 -0
- package/src/actions/smartAccount/sendUserOperation.ts +65 -0
- package/src/actions/smartAccount/signMessage.ts +28 -0
- package/src/actions/smartAccount/signMessageWith6492.ts +21 -0
- package/src/actions/smartAccount/signTypedData.ts +42 -0
- package/src/actions/smartAccount/signTypedDataWith6492.ts +23 -0
- package/src/actions/smartAccount/signUserOperation.ts +54 -0
- package/src/actions/smartAccount/types.ts +158 -0
- package/src/actions/smartAccount/upgradeAccount.ts +66 -0
- package/src/actions/smartAccount/waitForUserOperationTransacation.ts +58 -0
- package/src/chains/index.ts +194 -0
- package/src/client/bundlerClient.ts +107 -0
- package/src/client/decorators/bundlerClient.ts +129 -0
- package/src/client/decorators/smartAccountClient.ts +177 -0
- package/src/client/isSmartAccountClient.ts +53 -0
- package/src/client/schema.ts +92 -0
- package/src/client/smartAccountClient.ts +276 -0
- package/src/client/types.ts +51 -0
- package/src/ens/utils.ts +37 -0
- package/src/entrypoint/0.6.ts +74 -0
- package/src/entrypoint/0.7.ts +153 -0
- package/src/entrypoint/index.ts +152 -0
- package/src/entrypoint/types.ts +120 -0
- package/src/errors/account.ts +87 -0
- package/src/errors/base.ts +48 -0
- package/src/errors/client.ts +28 -0
- package/src/errors/entrypoint.ts +25 -0
- package/src/errors/signer.ts +13 -0
- package/src/errors/transaction.ts +16 -0
- package/src/errors/useroperation.ts +54 -0
- package/src/index.ts +172 -0
- package/src/logger.ts +58 -0
- package/src/middleware/actions.ts +92 -0
- package/src/middleware/defaults/feeEstimator.ts +50 -0
- package/src/middleware/defaults/gasEstimator.ts +66 -0
- package/src/middleware/defaults/paymasterAndData.ts +13 -0
- package/src/middleware/defaults/userOpSigner.ts +35 -0
- package/src/middleware/noopMiddleware.ts +12 -0
- package/src/middleware/types.ts +49 -0
- package/src/signer/local-account.ts +59 -0
- package/src/signer/schema.ts +16 -0
- package/src/signer/types.ts +46 -0
- package/src/signer/utils.ts +68 -0
- package/src/signer/wallet-client.ts +49 -0
- package/src/transport/split.ts +69 -0
- package/src/types.ts +411 -0
- package/src/utils/bigint.ts +118 -0
- package/src/utils/bytes.ts +23 -0
- package/src/utils/defaults.ts +93 -0
- package/src/utils/index.ts +173 -0
- package/src/utils/schema.ts +52 -0
- package/src/utils/stateOverride.ts +80 -0
- package/src/utils/testUtils.ts +42 -0
- package/src/utils/types.ts +94 -0
- package/src/utils/userop.ts +220 -0
- package/src/version.ts +3 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Chain, Client, Transport } from "viem";
|
|
2
|
+
import {
|
|
3
|
+
type GetEntryPointFromAccount,
|
|
4
|
+
type SmartContractAccount,
|
|
5
|
+
} from "../../account/smartContractAccount.js";
|
|
6
|
+
import { isBaseSmartAccountClient } from "../../client/isSmartAccountClient.js";
|
|
7
|
+
import { AccountNotFoundError } from "../../errors/account.js";
|
|
8
|
+
import { IncompatibleClientError } from "../../errors/client.js";
|
|
9
|
+
import type { UserOperationStruct } from "../../types.js";
|
|
10
|
+
import { _initUserOperation } from "./internal/initUserOperation.js";
|
|
11
|
+
import { _runMiddlewareStack } from "./internal/runMiddlewareStack.js";
|
|
12
|
+
import type {
|
|
13
|
+
BuildUserOperationParameters,
|
|
14
|
+
UserOperationContext,
|
|
15
|
+
} from "./types";
|
|
16
|
+
|
|
17
|
+
export async function buildUserOperation<
|
|
18
|
+
TTransport extends Transport = Transport,
|
|
19
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
20
|
+
TAccount extends SmartContractAccount | undefined =
|
|
21
|
+
| SmartContractAccount
|
|
22
|
+
| undefined,
|
|
23
|
+
TContext extends UserOperationContext | undefined =
|
|
24
|
+
| UserOperationContext
|
|
25
|
+
| undefined,
|
|
26
|
+
TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
|
|
27
|
+
>(
|
|
28
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
29
|
+
args: BuildUserOperationParameters<TAccount, TContext, TEntryPointVersion>
|
|
30
|
+
): Promise<UserOperationStruct<TEntryPointVersion>> {
|
|
31
|
+
const { account = client.account, overrides, context } = args;
|
|
32
|
+
if (!account) {
|
|
33
|
+
throw new AccountNotFoundError();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (!isBaseSmartAccountClient(client)) {
|
|
37
|
+
throw new IncompatibleClientError(
|
|
38
|
+
"BaseSmartAccountClient",
|
|
39
|
+
"buildUserOperation",
|
|
40
|
+
client
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return _initUserOperation(client, args).then((_uo) =>
|
|
45
|
+
_runMiddlewareStack(client, {
|
|
46
|
+
uo: _uo,
|
|
47
|
+
overrides,
|
|
48
|
+
account,
|
|
49
|
+
context,
|
|
50
|
+
})
|
|
51
|
+
);
|
|
52
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Chain,
|
|
3
|
+
type Client,
|
|
4
|
+
type SendTransactionParameters,
|
|
5
|
+
type Transport,
|
|
6
|
+
} from "viem";
|
|
7
|
+
import type {
|
|
8
|
+
GetEntryPointFromAccount,
|
|
9
|
+
SmartContractAccount,
|
|
10
|
+
} from "../../account/smartContractAccount.js";
|
|
11
|
+
import { isBaseSmartAccountClient } from "../../client/isSmartAccountClient.js";
|
|
12
|
+
import { AccountNotFoundError } from "../../errors/account.js";
|
|
13
|
+
import { IncompatibleClientError } from "../../errors/client.js";
|
|
14
|
+
import { TransactionMissingToParamError } from "../../errors/transaction.js";
|
|
15
|
+
import type {
|
|
16
|
+
UserOperationOverrides,
|
|
17
|
+
UserOperationStruct,
|
|
18
|
+
} from "../../types.js";
|
|
19
|
+
import { buildUserOperation } from "./buildUserOperation.js";
|
|
20
|
+
import type { UserOperationContext } from "./types.js";
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Performs [`buildUserOperationFromTx`](./buildUserOperationFromTx.md) in batch and builds into a single, yet to be signed `UserOperation` (UO) struct. The output user operation struct will be filled with all gas fields (and paymaster data if a paymaster is used) based on the transactions data (`to`, `data`, `value`, `maxFeePerGas`, `maxPriorityFeePerGas`) computed using the configured [`ClientMiddlewares`](/packages/aa-core/smart-account-client/middleware/index) on the `SmartAccountClient`
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
import type { RpcTransactionRequest } from "viem";
|
|
28
|
+
import { smartAccountClient } from "./smartAccountClient";
|
|
29
|
+
// [!code focus:99]
|
|
30
|
+
// buildUserOperationFromTx converts a traditional Ethereum transaction and returns
|
|
31
|
+
// the unsigned user operation struct after constructing the user operation struct
|
|
32
|
+
// through the middleware pipeline
|
|
33
|
+
const tx: RpcTransactionRequest = {
|
|
34
|
+
from, // ignored
|
|
35
|
+
to,
|
|
36
|
+
data: encodeFunctionData({
|
|
37
|
+
abi: ContractABI.abi,
|
|
38
|
+
functionName: "func",
|
|
39
|
+
args: [arg1, arg2, ...],
|
|
40
|
+
}),
|
|
41
|
+
};
|
|
42
|
+
const uoStruct = await smartAccountClient.buildUserOperationFromTx(tx);
|
|
43
|
+
|
|
44
|
+
// signUserOperation signs the above unsigned user operation struct built
|
|
45
|
+
// using the account connected to the smart account client
|
|
46
|
+
const request = await smartAccountClient.signUserOperation({ uoStruct });
|
|
47
|
+
|
|
48
|
+
// You can use the BundlerAction `sendRawUserOperation` (packages/core/src/actions/bundler/sendRawUserOperation.ts)
|
|
49
|
+
// to send the signed user operation request to the bundler, requesting the bundler to send the signed uo to the
|
|
50
|
+
// EntryPoint contract pointed at by the entryPoint address parameter
|
|
51
|
+
const entryPointAddress = client.account.getEntryPoint().address;
|
|
52
|
+
const uoHash = await smartAccountClient.sendRawUserOperation({ request, entryPoint: entryPointAddress });
|
|
53
|
+
```
|
|
54
|
+
*
|
|
55
|
+
* @param client the smart account client to use for RPC requests
|
|
56
|
+
* @param args {@link SendTransactionParameters}
|
|
57
|
+
* @param overrides optional {@link UserOperationOverrides} to use for any of the fields
|
|
58
|
+
* @param context if the smart account client requires additinoal context for building UOs
|
|
59
|
+
* @returns a Promise containing the built user operation
|
|
60
|
+
*/
|
|
61
|
+
export async function buildUserOperationFromTx<
|
|
62
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
63
|
+
TAccount extends SmartContractAccount | undefined =
|
|
64
|
+
| SmartContractAccount
|
|
65
|
+
| undefined,
|
|
66
|
+
TChainOverride extends Chain | undefined = Chain | undefined,
|
|
67
|
+
TContext extends UserOperationContext | undefined =
|
|
68
|
+
| UserOperationContext
|
|
69
|
+
| undefined,
|
|
70
|
+
TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
|
|
71
|
+
>(
|
|
72
|
+
client: Client<Transport, TChain, TAccount>,
|
|
73
|
+
args: SendTransactionParameters<TChain, TAccount, TChainOverride>,
|
|
74
|
+
overrides?: UserOperationOverrides<TEntryPointVersion>,
|
|
75
|
+
context?: TContext
|
|
76
|
+
): Promise<UserOperationStruct<TEntryPointVersion>> {
|
|
77
|
+
const { account = client.account, ...request } = args;
|
|
78
|
+
if (!account || typeof account === "string") {
|
|
79
|
+
throw new AccountNotFoundError();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (!request.to) {
|
|
83
|
+
throw new TransactionMissingToParamError();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (!isBaseSmartAccountClient(client)) {
|
|
87
|
+
throw new IncompatibleClientError(
|
|
88
|
+
"BaseSmartAccountClient",
|
|
89
|
+
"buildUserOperationFromTx",
|
|
90
|
+
client
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const _overrides = {
|
|
95
|
+
...overrides,
|
|
96
|
+
maxFeePerGas: request.maxFeePerGas ? request.maxFeePerGas : undefined,
|
|
97
|
+
maxPriorityFeePerGas: request.maxPriorityFeePerGas
|
|
98
|
+
? request.maxPriorityFeePerGas
|
|
99
|
+
: undefined,
|
|
100
|
+
} as UserOperationOverrides<TEntryPointVersion>;
|
|
101
|
+
|
|
102
|
+
return buildUserOperation(client, {
|
|
103
|
+
uo: {
|
|
104
|
+
target: request.to,
|
|
105
|
+
data: request.data ?? "0x",
|
|
106
|
+
value: request.value ? request.value : 0n,
|
|
107
|
+
},
|
|
108
|
+
account: account as SmartContractAccount,
|
|
109
|
+
context,
|
|
110
|
+
overrides: _overrides,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { fromHex, type Chain, type Client, type Transport } from "viem";
|
|
2
|
+
import type {
|
|
3
|
+
GetEntryPointFromAccount,
|
|
4
|
+
SmartContractAccount,
|
|
5
|
+
} from "../../account/smartContractAccount";
|
|
6
|
+
import { isBaseSmartAccountClient } from "../../client/isSmartAccountClient.js";
|
|
7
|
+
import { AccountNotFoundError } from "../../errors/account.js";
|
|
8
|
+
import { IncompatibleClientError } from "../../errors/client.js";
|
|
9
|
+
import { TransactionMissingToParamError } from "../../errors/transaction.js";
|
|
10
|
+
import type { UserOperationOverrides } from "../../types";
|
|
11
|
+
import { bigIntMax } from "../../utils/index.js";
|
|
12
|
+
import { buildUserOperation } from "./buildUserOperation.js";
|
|
13
|
+
import type {
|
|
14
|
+
BuildTransactionParameters,
|
|
15
|
+
BuildUserOperationFromTransactionsResult,
|
|
16
|
+
UserOperationContext,
|
|
17
|
+
} from "./types";
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Performs {@link buildUserOperationFromTx} in batch and builds into a single,
|
|
21
|
+
* yet to be signed `UserOperation` (UO) struct. The output user operation struct
|
|
22
|
+
* will be filled with all gas fields (and paymaster data if a paymaster is used)
|
|
23
|
+
* based on the transactions data (`to`, `data`, `value`, `maxFeePerGas`,
|
|
24
|
+
* `maxPriorityFeePerGas`) computed using the configured
|
|
25
|
+
* [`ClientMiddlewares`](/packages/aa-core/smart-account-client/middleware/index) on the `SmartAccountClient`
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* import type { RpcTransactionRequest } from "viem";
|
|
30
|
+
import { smartAccountClient } from "./smartAccountClient";
|
|
31
|
+
// [!code focus:99]
|
|
32
|
+
// buildUserOperationFromTxs converts traditional Ethereum transactions in batch and returns
|
|
33
|
+
// the unsigned user operation struct after constructing the user operation struct
|
|
34
|
+
// through the middleware pipeline
|
|
35
|
+
const requests: RpcTransactionRequest[] = [
|
|
36
|
+
{
|
|
37
|
+
from, // ignored
|
|
38
|
+
to,
|
|
39
|
+
data: encodeFunctionData({
|
|
40
|
+
abi: ContractABI.abi,
|
|
41
|
+
functionName: "func",
|
|
42
|
+
args: [arg1, arg2, ...],
|
|
43
|
+
}),
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
from, // ignored
|
|
47
|
+
to,
|
|
48
|
+
data: encodeFunctionData({
|
|
49
|
+
abi: ContractABI.abi,
|
|
50
|
+
functionName: "func",
|
|
51
|
+
args: [arg1, arg2, ...],
|
|
52
|
+
}),
|
|
53
|
+
},
|
|
54
|
+
...
|
|
55
|
+
{
|
|
56
|
+
from, // ignored
|
|
57
|
+
to,
|
|
58
|
+
data: encodeFunctionData({
|
|
59
|
+
abi: ContractABI.abi,
|
|
60
|
+
functionName: "func",
|
|
61
|
+
args: [arg1, arg2, ...],
|
|
62
|
+
}),
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
const uoStruct = await smartAccountClient.buildUserOperationFromTxs({
|
|
66
|
+
requests,
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// signUserOperation signs the above unsigned user operation struct built
|
|
70
|
+
// using the account connected to the smart account client
|
|
71
|
+
const request = await smartAccountClient.signUserOperation({ uoStruct });
|
|
72
|
+
|
|
73
|
+
// You can use the BundlerAction `sendRawUserOperation` (packages/core/src/actions/bundler/sendRawUserOperation.ts)
|
|
74
|
+
// to send the signed user operation request to the bundler, requesting the bundler to send the signed uo to the
|
|
75
|
+
// EntryPoint contract pointed at by the entryPoint address parameter
|
|
76
|
+
const entryPointAddress = client.account.getEntryPoint().address;
|
|
77
|
+
const uoHash = await smartAccountClient.sendRawUserOperation({
|
|
78
|
+
request,
|
|
79
|
+
entryPoint: entryPointAddress,
|
|
80
|
+
});
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* @param client the smart account client to use to make RPC calls
|
|
84
|
+
* @param args {@link BuildTransactionParameters} an object containing the requests
|
|
85
|
+
* to build as well as, the account if not hoisted, the context, the overrides, and
|
|
86
|
+
* optionally a flag to enable signing of the UO via the underlying middleware
|
|
87
|
+
* @returns a Promise containing the built user operation
|
|
88
|
+
*/
|
|
89
|
+
export async function buildUserOperationFromTxs<
|
|
90
|
+
TTransport extends Transport = Transport,
|
|
91
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
92
|
+
TAccount extends SmartContractAccount | undefined =
|
|
93
|
+
| SmartContractAccount
|
|
94
|
+
| undefined,
|
|
95
|
+
TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
|
|
96
|
+
TContext extends UserOperationContext | undefined =
|
|
97
|
+
| UserOperationContext
|
|
98
|
+
| undefined
|
|
99
|
+
>(
|
|
100
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
101
|
+
args: BuildTransactionParameters<TAccount, TContext, TEntryPointVersion>
|
|
102
|
+
): Promise<BuildUserOperationFromTransactionsResult<TEntryPointVersion>> {
|
|
103
|
+
const { account = client.account, requests, overrides, context } = args;
|
|
104
|
+
if (!account) {
|
|
105
|
+
throw new AccountNotFoundError();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (!isBaseSmartAccountClient(client)) {
|
|
109
|
+
throw new IncompatibleClientError(
|
|
110
|
+
"BaseSmartAccountClient",
|
|
111
|
+
"buildUserOperationFromTxs",
|
|
112
|
+
client
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const batch = requests.map((request) => {
|
|
117
|
+
if (!request.to) {
|
|
118
|
+
throw new TransactionMissingToParamError();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return {
|
|
122
|
+
target: request.to,
|
|
123
|
+
data: request.data ?? "0x",
|
|
124
|
+
value: request.value ? fromHex(request.value, "bigint") : 0n,
|
|
125
|
+
};
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
const mfpgOverridesInTx = () =>
|
|
129
|
+
requests
|
|
130
|
+
.filter((x) => x.maxFeePerGas != null)
|
|
131
|
+
.map((x) => fromHex(x.maxFeePerGas!, "bigint"));
|
|
132
|
+
const maxFeePerGas =
|
|
133
|
+
overrides?.maxFeePerGas != null
|
|
134
|
+
? overrides?.maxFeePerGas
|
|
135
|
+
: mfpgOverridesInTx().length > 0
|
|
136
|
+
? bigIntMax(...mfpgOverridesInTx())
|
|
137
|
+
: undefined;
|
|
138
|
+
|
|
139
|
+
const mpfpgOverridesInTx = () =>
|
|
140
|
+
requests
|
|
141
|
+
.filter((x) => x.maxPriorityFeePerGas != null)
|
|
142
|
+
.map((x) => fromHex(x.maxPriorityFeePerGas!, "bigint"));
|
|
143
|
+
const maxPriorityFeePerGas =
|
|
144
|
+
overrides?.maxPriorityFeePerGas != null
|
|
145
|
+
? overrides?.maxPriorityFeePerGas
|
|
146
|
+
: mpfpgOverridesInTx().length > 0
|
|
147
|
+
? bigIntMax(...mpfpgOverridesInTx())
|
|
148
|
+
: undefined;
|
|
149
|
+
|
|
150
|
+
const _overrides = {
|
|
151
|
+
maxFeePerGas,
|
|
152
|
+
maxPriorityFeePerGas,
|
|
153
|
+
} as UserOperationOverrides<TEntryPointVersion>;
|
|
154
|
+
|
|
155
|
+
const uoStruct = await buildUserOperation(client, {
|
|
156
|
+
uo: batch,
|
|
157
|
+
account,
|
|
158
|
+
context,
|
|
159
|
+
overrides: _overrides,
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
return {
|
|
163
|
+
uoStruct,
|
|
164
|
+
// TODO: in v4 major version update, remove these as below parameters are not needed
|
|
165
|
+
batch,
|
|
166
|
+
overrides: _overrides,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { Chain, Client, Transport } from "viem";
|
|
2
|
+
import type { SmartContractAccount } from "../../account/smartContractAccount.js";
|
|
3
|
+
import { isBaseSmartAccountClient } from "../../client/isSmartAccountClient.js";
|
|
4
|
+
import { AccountNotFoundError } from "../../errors/account.js";
|
|
5
|
+
import { IncompatibleClientError } from "../../errors/client.js";
|
|
6
|
+
import type { UserOperationStruct } from "../../types.js";
|
|
7
|
+
import { buildUserOperation } from "./buildUserOperation.js";
|
|
8
|
+
import type {
|
|
9
|
+
SendUserOperationParameters,
|
|
10
|
+
UserOperationContext,
|
|
11
|
+
} from "./types";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* This function verifies the eligibility of the connected account for gas sponsorship concerning the upcoming `UserOperation` (UO) that is intended to be sent.
|
|
15
|
+
* Internally, this method invokes [`buildUserOperation`](./buildUserOperation.md), which navigates through the middleware pipeline, including the `PaymasterMiddleware`. Its purpose is to construct the UO struct meant for transmission to the bundler. Following the construction of the UO struct, this function verifies if the resulting structure contains a non-empty `paymasterAndData` field.
|
|
16
|
+
* You can utilize this method before sending the user operation to confirm its eligibility for gas sponsorship. Depending on the outcome, it allows you to tailor the user experience accordingly, based on eligibility.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { smartAccountClient } from "./smartAccountClient";
|
|
21
|
+
// [!code focus:99]
|
|
22
|
+
const eligible = await smartAccountClient.checkGasSponsorshipEligibility({
|
|
23
|
+
uo: {
|
|
24
|
+
data: "0xCalldata",
|
|
25
|
+
target: "0xTarget",
|
|
26
|
+
value: 0n,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
console.log(
|
|
31
|
+
`User Operation is ${
|
|
32
|
+
eligible ? "eligible" : "ineligible"
|
|
33
|
+
} for gas sponsorship.`
|
|
34
|
+
);
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @param client the smart account client to use for making RPC calls
|
|
38
|
+
* @param args {@link SendUserOperationParameters} containing the user operation, account, context, and overrides
|
|
39
|
+
* @returns a Promise containing a boolean indicating if the account is elgibile for sponsorship
|
|
40
|
+
*/
|
|
41
|
+
export function checkGasSponsorshipEligibility<
|
|
42
|
+
TTransport extends Transport = Transport,
|
|
43
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
44
|
+
TAccount extends SmartContractAccount | undefined =
|
|
45
|
+
| SmartContractAccount
|
|
46
|
+
| undefined,
|
|
47
|
+
TContext extends UserOperationContext | undefined =
|
|
48
|
+
| UserOperationContext
|
|
49
|
+
| undefined
|
|
50
|
+
>(
|
|
51
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
52
|
+
args: SendUserOperationParameters<TAccount, TContext>
|
|
53
|
+
): Promise<boolean> {
|
|
54
|
+
const { account = client.account, overrides, context } = args;
|
|
55
|
+
|
|
56
|
+
if (!account) {
|
|
57
|
+
throw new AccountNotFoundError();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (!isBaseSmartAccountClient(client)) {
|
|
61
|
+
throw new IncompatibleClientError(
|
|
62
|
+
"BaseSmartAccountClient",
|
|
63
|
+
"checkGasSponsorshipEligibility",
|
|
64
|
+
client
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return buildUserOperation(client, {
|
|
69
|
+
uo: args.uo,
|
|
70
|
+
account,
|
|
71
|
+
overrides,
|
|
72
|
+
context,
|
|
73
|
+
})
|
|
74
|
+
.then((userOperationStruct) =>
|
|
75
|
+
account.getEntryPoint().version === "0.6.0"
|
|
76
|
+
? (userOperationStruct as UserOperationStruct<"0.6.0">)
|
|
77
|
+
.paymasterAndData !== "0x" &&
|
|
78
|
+
(userOperationStruct as UserOperationStruct<"0.6.0">)
|
|
79
|
+
.paymasterAndData !== null
|
|
80
|
+
: (userOperationStruct as UserOperationStruct<"0.7.0">)
|
|
81
|
+
.paymasterData !== "0x" &&
|
|
82
|
+
(userOperationStruct as UserOperationStruct<"0.7.0">)
|
|
83
|
+
.paymasterData !== null
|
|
84
|
+
)
|
|
85
|
+
.catch(() => false);
|
|
86
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { Chain, Client, Transport } from "viem";
|
|
2
|
+
import type {
|
|
3
|
+
GetEntryPointFromAccount,
|
|
4
|
+
SmartContractAccount,
|
|
5
|
+
} from "../../account/smartContractAccount";
|
|
6
|
+
import { isBaseSmartAccountClient } from "../../client/isSmartAccountClient.js";
|
|
7
|
+
import type { SendUserOperationResult } from "../../client/types";
|
|
8
|
+
import { AccountNotFoundError } from "../../errors/account.js";
|
|
9
|
+
import { IncompatibleClientError } from "../../errors/client.js";
|
|
10
|
+
import type {
|
|
11
|
+
UserOperationOverrides,
|
|
12
|
+
UserOperationRequest,
|
|
13
|
+
UserOperationStruct,
|
|
14
|
+
} from "../../types";
|
|
15
|
+
import { bigIntMax, bigIntMultiply } from "../../utils/index.js";
|
|
16
|
+
import { _runMiddlewareStack } from "./internal/runMiddlewareStack.js";
|
|
17
|
+
import { _sendUserOperation } from "./internal/sendUserOperation.js";
|
|
18
|
+
import type {
|
|
19
|
+
DropAndReplaceUserOperationParameters,
|
|
20
|
+
UserOperationContext,
|
|
21
|
+
} from "./types";
|
|
22
|
+
|
|
23
|
+
export async function dropAndReplaceUserOperation<
|
|
24
|
+
TTransport extends Transport = Transport,
|
|
25
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
26
|
+
TAccount extends SmartContractAccount | undefined =
|
|
27
|
+
| SmartContractAccount
|
|
28
|
+
| undefined,
|
|
29
|
+
TContext extends UserOperationContext | undefined =
|
|
30
|
+
| UserOperationContext
|
|
31
|
+
| undefined,
|
|
32
|
+
TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
|
|
33
|
+
>(
|
|
34
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
35
|
+
args: DropAndReplaceUserOperationParameters<TAccount, TContext>
|
|
36
|
+
): Promise<SendUserOperationResult<TEntryPointVersion>> {
|
|
37
|
+
const { account = client.account, uoToDrop, overrides, context } = args;
|
|
38
|
+
if (!account) {
|
|
39
|
+
throw new AccountNotFoundError();
|
|
40
|
+
}
|
|
41
|
+
if (!isBaseSmartAccountClient(client)) {
|
|
42
|
+
throw new IncompatibleClientError(
|
|
43
|
+
"BaseSmartAccountClient",
|
|
44
|
+
"dropAndReplaceUserOperation",
|
|
45
|
+
client
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const entryPoint = account.getEntryPoint();
|
|
50
|
+
|
|
51
|
+
const uoToSubmit = (
|
|
52
|
+
entryPoint.version === "0.6.0"
|
|
53
|
+
? {
|
|
54
|
+
initCode: (uoToDrop as UserOperationRequest<"0.6.0">).initCode,
|
|
55
|
+
sender: (uoToDrop as UserOperationRequest<"0.6.0">).sender,
|
|
56
|
+
nonce: (uoToDrop as UserOperationRequest<"0.6.0">).nonce,
|
|
57
|
+
callData: (uoToDrop as UserOperationRequest<"0.6.0">).callData,
|
|
58
|
+
signature: await account.getDummySignature(),
|
|
59
|
+
}
|
|
60
|
+
: {
|
|
61
|
+
...((uoToDrop as UserOperationRequest<"0.7.0">).factory &&
|
|
62
|
+
(uoToDrop as UserOperationRequest<"0.7.0">).factoryData
|
|
63
|
+
? {
|
|
64
|
+
factory: (uoToDrop as UserOperationRequest<"0.7.0">).factory,
|
|
65
|
+
factoryData: (uoToDrop as UserOperationRequest<"0.7.0">)
|
|
66
|
+
.factoryData,
|
|
67
|
+
}
|
|
68
|
+
: {}),
|
|
69
|
+
sender: (uoToDrop as UserOperationRequest<"0.7.0">).sender,
|
|
70
|
+
nonce: (uoToDrop as UserOperationRequest<"0.7.0">).nonce,
|
|
71
|
+
callData: (uoToDrop as UserOperationRequest<"0.7.0">).callData,
|
|
72
|
+
signature: await account.getDummySignature(),
|
|
73
|
+
}
|
|
74
|
+
) as UserOperationStruct<TEntryPointVersion>;
|
|
75
|
+
|
|
76
|
+
// Run once to get the fee estimates
|
|
77
|
+
// This can happen at any part of the middleware stack, so we want to run it all
|
|
78
|
+
const { maxFeePerGas, maxPriorityFeePerGas } = await _runMiddlewareStack(
|
|
79
|
+
client,
|
|
80
|
+
{
|
|
81
|
+
uo: uoToSubmit,
|
|
82
|
+
overrides,
|
|
83
|
+
account,
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
const _overrides = {
|
|
88
|
+
...overrides,
|
|
89
|
+
maxFeePerGas: bigIntMax(
|
|
90
|
+
BigInt(maxFeePerGas ?? 0n),
|
|
91
|
+
bigIntMultiply(uoToDrop.maxFeePerGas, 1.1)
|
|
92
|
+
),
|
|
93
|
+
maxPriorityFeePerGas: bigIntMax(
|
|
94
|
+
BigInt(maxPriorityFeePerGas ?? 0n),
|
|
95
|
+
bigIntMultiply(uoToDrop.maxPriorityFeePerGas, 1.1)
|
|
96
|
+
),
|
|
97
|
+
} as UserOperationOverrides<TEntryPointVersion>;
|
|
98
|
+
|
|
99
|
+
const uoToSend = await _runMiddlewareStack(client, {
|
|
100
|
+
uo: uoToSubmit,
|
|
101
|
+
overrides: _overrides,
|
|
102
|
+
account,
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
return _sendUserOperation(client, {
|
|
106
|
+
uoStruct: uoToSend,
|
|
107
|
+
account,
|
|
108
|
+
context,
|
|
109
|
+
overrides: _overrides,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { Chain, Client, Transport } from "viem";
|
|
2
|
+
import {
|
|
3
|
+
type GetEntryPointFromAccount,
|
|
4
|
+
type SmartContractAccount,
|
|
5
|
+
} from "../../account/smartContractAccount.js";
|
|
6
|
+
import { isBaseSmartAccountClient } from "../../client/isSmartAccountClient.js";
|
|
7
|
+
import { AccountNotFoundError } from "../../errors/account.js";
|
|
8
|
+
import { IncompatibleClientError } from "../../errors/client.js";
|
|
9
|
+
import type { UserOperationEstimateGasResponse } from "../../types.js";
|
|
10
|
+
import { deepHexlify, resolveProperties } from "../../utils/index.js";
|
|
11
|
+
import { _initUserOperation } from "./internal/initUserOperation.js";
|
|
12
|
+
import type {
|
|
13
|
+
SendUserOperationParameters,
|
|
14
|
+
UserOperationContext,
|
|
15
|
+
} from "./types.js";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Description SmartAccountClientAction for estimating the gas cost of a user operation
|
|
19
|
+
*
|
|
20
|
+
* @async
|
|
21
|
+
* @template {Transport} TTransport
|
|
22
|
+
* @template {Chain | undefined} TChain
|
|
23
|
+
* @template {SmartContractAccount | undefined} TAccount
|
|
24
|
+
* @template {UserOperationContext | undefined} TContext
|
|
25
|
+
* @template {GetEntryPointFromAccount<TAccount>} TEntryPointVersion
|
|
26
|
+
* @param client smart account client
|
|
27
|
+
* @param args send user operation parameters
|
|
28
|
+
* @returns user operation gas estimate response
|
|
29
|
+
*/
|
|
30
|
+
export async function estimateUserOperationGas<
|
|
31
|
+
TTransport extends Transport = Transport,
|
|
32
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
33
|
+
TAccount extends SmartContractAccount | undefined =
|
|
34
|
+
| SmartContractAccount
|
|
35
|
+
| undefined,
|
|
36
|
+
TContext extends UserOperationContext | undefined =
|
|
37
|
+
| UserOperationContext
|
|
38
|
+
| undefined,
|
|
39
|
+
TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
|
|
40
|
+
>(
|
|
41
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
42
|
+
args: SendUserOperationParameters<TAccount, TContext>
|
|
43
|
+
): Promise<UserOperationEstimateGasResponse<TEntryPointVersion>> {
|
|
44
|
+
const { account = client.account, overrides } = args;
|
|
45
|
+
if (!account) {
|
|
46
|
+
throw new AccountNotFoundError();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (!isBaseSmartAccountClient(client)) {
|
|
50
|
+
throw new IncompatibleClientError(
|
|
51
|
+
"BaseSmartAccountClient",
|
|
52
|
+
"estimateUserOperationGas",
|
|
53
|
+
client
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return _initUserOperation(client, args).then(async (struct) => {
|
|
58
|
+
const request = deepHexlify(await resolveProperties(struct));
|
|
59
|
+
return client.estimateUserOperationGas(
|
|
60
|
+
request,
|
|
61
|
+
account.getEntryPoint().address,
|
|
62
|
+
overrides?.stateOverride
|
|
63
|
+
);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Address } from "abitype";
|
|
2
|
+
import type { Chain, Client, Transport } from "viem";
|
|
3
|
+
import type {
|
|
4
|
+
GetAccountParameter,
|
|
5
|
+
SmartContractAccount,
|
|
6
|
+
} from "../../account/smartContractAccount";
|
|
7
|
+
import { AccountNotFoundError } from "../../errors/account.js";
|
|
8
|
+
|
|
9
|
+
export const getAddress: <
|
|
10
|
+
TTransport extends Transport = Transport,
|
|
11
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
12
|
+
TAccount extends SmartContractAccount | undefined =
|
|
13
|
+
| SmartContractAccount
|
|
14
|
+
| undefined
|
|
15
|
+
>(
|
|
16
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
17
|
+
args: GetAccountParameter<TAccount>
|
|
18
|
+
) => Address = (client, args) => {
|
|
19
|
+
const { account } = args ?? { account: client.account };
|
|
20
|
+
if (!account) {
|
|
21
|
+
throw new AccountNotFoundError();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return account.address;
|
|
25
|
+
};
|