permissionless 0.1.48 → 0.1.49
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/_cjs/accounts/biconomy/abi/BiconomySmartAccountAbi.js +102 -0
- package/_cjs/accounts/biconomy/abi/BiconomySmartAccountAbi.js.map +1 -0
- package/_cjs/accounts/biconomy/privateKeyToBiconomySmartAccount.js +14 -0
- package/_cjs/accounts/biconomy/privateKeyToBiconomySmartAccount.js.map +1 -0
- package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js +233 -0
- package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js.map +1 -0
- package/_cjs/accounts/index.js +30 -0
- package/_cjs/accounts/index.js.map +1 -0
- package/_cjs/accounts/kernel/abi/KernelAccountAbi.js +84 -0
- package/_cjs/accounts/kernel/abi/KernelAccountAbi.js.map +1 -0
- package/_cjs/accounts/kernel/abi/KernelV3AccountAbi.js +110 -0
- package/_cjs/accounts/kernel/abi/KernelV3AccountAbi.js.map +1 -0
- package/_cjs/accounts/kernel/abi/KernelV3MetaFactoryAbi.js +21 -0
- package/_cjs/accounts/kernel/abi/KernelV3MetaFactoryAbi.js.map +1 -0
- package/_cjs/accounts/kernel/constants.js +27 -0
- package/_cjs/accounts/kernel/constants.js.map +1 -0
- package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js +332 -0
- package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +1 -0
- package/_cjs/accounts/kernel/utils/encodeCallData.js +90 -0
- package/_cjs/accounts/kernel/utils/encodeCallData.js.map +1 -0
- package/_cjs/accounts/kernel/utils/getExecMode.js +15 -0
- package/_cjs/accounts/kernel/utils/getExecMode.js.map +1 -0
- package/_cjs/accounts/kernel/utils/getNonceKey.js +25 -0
- package/_cjs/accounts/kernel/utils/getNonceKey.js.map +1 -0
- package/_cjs/accounts/kernel/utils/isKernelV2.js +9 -0
- package/_cjs/accounts/kernel/utils/isKernelV2.js.map +1 -0
- package/_cjs/accounts/kernel/utils/signMessage.js +29 -0
- package/_cjs/accounts/kernel/utils/signMessage.js.map +1 -0
- package/_cjs/accounts/kernel/utils/signTypedData.js +41 -0
- package/_cjs/accounts/kernel/utils/signTypedData.js.map +1 -0
- package/_cjs/accounts/kernel/utils/wrapMessageHash.js +20 -0
- package/_cjs/accounts/kernel/utils/wrapMessageHash.js.map +1 -0
- package/_cjs/accounts/light/privateKeyToLightSmartAccount.js +14 -0
- package/_cjs/accounts/light/privateKeyToLightSmartAccount.js.map +1 -0
- package/_cjs/accounts/light/signerToLightSmartAccount.js +256 -0
- package/_cjs/accounts/light/signerToLightSmartAccount.js.map +1 -0
- package/_cjs/accounts/safe/privateKeyToSafeSmartAccount.js +14 -0
- package/_cjs/accounts/safe/privateKeyToSafeSmartAccount.js.map +1 -0
- package/_cjs/accounts/safe/signerToSafeSmartAccount.js +1012 -0
- package/_cjs/accounts/safe/signerToSafeSmartAccount.js.map +1 -0
- package/_cjs/accounts/simple/privateKeyToSimpleSmartAccount.js +14 -0
- package/_cjs/accounts/simple/privateKeyToSimpleSmartAccount.js.map +1 -0
- package/_cjs/accounts/simple/signerToSimpleSmartAccount.js +259 -0
- package/_cjs/accounts/simple/signerToSimpleSmartAccount.js.map +1 -0
- package/_cjs/accounts/toSmartAccount.js +84 -0
- package/_cjs/accounts/toSmartAccount.js.map +1 -0
- package/_cjs/accounts/trust/privateKeyToTrustSmartAccount.js +14 -0
- package/_cjs/accounts/trust/privateKeyToTrustSmartAccount.js.map +1 -0
- package/_cjs/accounts/trust/signerToTrustSmartAccount.js +134 -0
- package/_cjs/accounts/trust/signerToTrustSmartAccount.js.map +1 -0
- package/_cjs/accounts/trust/utils/encodeCallData.js +74 -0
- package/_cjs/accounts/trust/utils/encodeCallData.js.map +1 -0
- package/_cjs/accounts/trust/utils/getAccountAddress.js +19 -0
- package/_cjs/accounts/trust/utils/getAccountAddress.js.map +1 -0
- package/_cjs/accounts/trust/utils/getDummySignature.js +8 -0
- package/_cjs/accounts/trust/utils/getDummySignature.js.map +1 -0
- package/_cjs/accounts/trust/utils/getFactoryData.js +43 -0
- package/_cjs/accounts/trust/utils/getFactoryData.js.map +1 -0
- package/_cjs/accounts/trust/utils/signMessage.js +9 -0
- package/_cjs/accounts/trust/utils/signMessage.js.map +1 -0
- package/_cjs/accounts/trust/utils/signTransaction.js +9 -0
- package/_cjs/accounts/trust/utils/signTransaction.js.map +1 -0
- package/_cjs/accounts/trust/utils/signUserOperation.js +19 -0
- package/_cjs/accounts/trust/utils/signUserOperation.js.map +1 -0
- package/_cjs/accounts/types.js +23 -0
- package/_cjs/accounts/types.js.map +1 -0
- package/_cjs/actions/bundler/chainId.js +11 -0
- package/_cjs/actions/bundler/chainId.js.map +1 -0
- package/_cjs/actions/bundler/estimateUserOperationGas.js +49 -0
- package/_cjs/actions/bundler/estimateUserOperationGas.js.map +1 -0
- package/_cjs/actions/bundler/getUserOperationByHash.js +47 -0
- package/_cjs/actions/bundler/getUserOperationByHash.js.map +1 -0
- package/_cjs/actions/bundler/getUserOperationReceipt.js +52 -0
- package/_cjs/actions/bundler/getUserOperationReceipt.js.map +1 -0
- package/_cjs/actions/bundler/sendUserOperation.js +23 -0
- package/_cjs/actions/bundler/sendUserOperation.js.map +1 -0
- package/_cjs/actions/bundler/supportedEntryPoints.js +11 -0
- package/_cjs/actions/bundler/supportedEntryPoints.js.map +1 -0
- package/_cjs/actions/bundler/waitForUserOperationReceipt.js +67 -0
- package/_cjs/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
- package/_cjs/actions/erc7579/accountId.js +66 -0
- package/_cjs/actions/erc7579/accountId.js.map +1 -0
- package/_cjs/actions/erc7579/installModule.js +65 -0
- package/_cjs/actions/erc7579/installModule.js.map +1 -0
- package/_cjs/actions/erc7579/installModules.js +65 -0
- package/_cjs/actions/erc7579/installModules.js.map +1 -0
- package/_cjs/actions/erc7579/isModuleInstalled.js +86 -0
- package/_cjs/actions/erc7579/isModuleInstalled.js.map +1 -0
- package/_cjs/actions/erc7579/supportsExecutionMode.js +95 -0
- package/_cjs/actions/erc7579/supportsExecutionMode.js.map +1 -0
- package/_cjs/actions/erc7579/supportsModule.js +84 -0
- package/_cjs/actions/erc7579/supportsModule.js.map +1 -0
- package/_cjs/actions/erc7579/uninstallModule.js +65 -0
- package/_cjs/actions/erc7579/uninstallModule.js.map +1 -0
- package/_cjs/actions/erc7579/uninstallModules.js +65 -0
- package/_cjs/actions/erc7579/uninstallModules.js.map +1 -0
- package/_cjs/actions/erc7579.js +33 -0
- package/_cjs/actions/erc7579.js.map +1 -0
- package/_cjs/actions/index.js +25 -0
- package/_cjs/actions/index.js.map +1 -0
- package/_cjs/actions/pimlico/getUserOperationGasPrice.js +25 -0
- package/_cjs/actions/pimlico/getUserOperationGasPrice.js.map +1 -0
- package/_cjs/actions/pimlico/getUserOperationStatus.js +11 -0
- package/_cjs/actions/pimlico/getUserOperationStatus.js.map +1 -0
- package/_cjs/actions/pimlico/sendCompressedUserOperation.js +16 -0
- package/_cjs/actions/pimlico/sendCompressedUserOperation.js.map +1 -0
- package/_cjs/actions/pimlico/sponsorUserOperation.js +43 -0
- package/_cjs/actions/pimlico/sponsorUserOperation.js.map +1 -0
- package/_cjs/actions/pimlico/validateSponsorshipPolicies.js +16 -0
- package/_cjs/actions/pimlico/validateSponsorshipPolicies.js.map +1 -0
- package/_cjs/actions/pimlico.js +17 -0
- package/_cjs/actions/pimlico.js.map +1 -0
- package/_cjs/actions/public/getAccountNonce.js +38 -0
- package/_cjs/actions/public/getAccountNonce.js.map +1 -0
- package/_cjs/actions/public/getSenderAddress.js +59 -0
- package/_cjs/actions/public/getSenderAddress.js.map +1 -0
- package/_cjs/actions/smartAccount/deployContract.js +38 -0
- package/_cjs/actions/smartAccount/deployContract.js.map +1 -0
- package/_cjs/actions/smartAccount/prepareUserOperationRequest.js +195 -0
- package/_cjs/actions/smartAccount/prepareUserOperationRequest.js.map +1 -0
- package/_cjs/actions/smartAccount/sendTransaction.js +43 -0
- package/_cjs/actions/smartAccount/sendTransaction.js.map +1 -0
- package/_cjs/actions/smartAccount/sendTransactions.js +45 -0
- package/_cjs/actions/smartAccount/sendTransactions.js.map +1 -0
- package/_cjs/actions/smartAccount/sendUserOperation.js +21 -0
- package/_cjs/actions/smartAccount/sendUserOperation.js.map +1 -0
- package/_cjs/actions/smartAccount/signMessage.js +16 -0
- package/_cjs/actions/smartAccount/signMessage.js.map +1 -0
- package/_cjs/actions/smartAccount/signTypedData.js +34 -0
- package/_cjs/actions/smartAccount/signTypedData.js.map +1 -0
- package/_cjs/actions/smartAccount/writeContract.js +21 -0
- package/_cjs/actions/smartAccount/writeContract.js.map +1 -0
- package/_cjs/actions/smartAccount.js +20 -0
- package/_cjs/actions/smartAccount.js.map +1 -0
- package/_cjs/actions/stackup/accounts.js +12 -0
- package/_cjs/actions/stackup/accounts.js.map +1 -0
- package/_cjs/actions/stackup/sponsorUserOperation.js +32 -0
- package/_cjs/actions/stackup/sponsorUserOperation.js.map +1 -0
- package/_cjs/actions/stackup.js +10 -0
- package/_cjs/actions/stackup.js.map +1 -0
- package/_cjs/clients/createBundlerClient.js +17 -0
- package/_cjs/clients/createBundlerClient.js.map +1 -0
- package/_cjs/clients/createSmartAccountClient.js +20 -0
- package/_cjs/clients/createSmartAccountClient.js.map +1 -0
- package/_cjs/clients/decorators/bundler.js +24 -0
- package/_cjs/clients/decorators/bundler.js.map +1 -0
- package/_cjs/clients/decorators/pimlico.js +25 -0
- package/_cjs/clients/decorators/pimlico.js.map +1 -0
- package/_cjs/clients/decorators/smartAccount.js +43 -0
- package/_cjs/clients/decorators/smartAccount.js.map +1 -0
- package/_cjs/clients/decorators/stackup.js +14 -0
- package/_cjs/clients/decorators/stackup.js.map +1 -0
- package/_cjs/clients/pimlico.js +31 -0
- package/_cjs/clients/pimlico.js.map +1 -0
- package/_cjs/clients/stackup.js +20 -0
- package/_cjs/clients/stackup.js.map +1 -0
- package/_cjs/errors/account.js +311 -0
- package/_cjs/errors/account.js.map +1 -0
- package/_cjs/errors/bundler.js +61 -0
- package/_cjs/errors/bundler.js.map +1 -0
- package/_cjs/errors/estimateUserOperationGas.js +53 -0
- package/_cjs/errors/estimateUserOperationGas.js.map +1 -0
- package/_cjs/errors/gas.js +113 -0
- package/_cjs/errors/gas.js.map +1 -0
- package/_cjs/errors/index.js +35 -0
- package/_cjs/errors/index.js.map +1 -0
- package/_cjs/errors/paymaster.js +228 -0
- package/_cjs/errors/paymaster.js.map +1 -0
- package/_cjs/errors/sendUserOperation.js +37 -0
- package/_cjs/errors/sendUserOperation.js.map +1 -0
- package/_cjs/errors/utils.js +18 -0
- package/_cjs/errors/utils.js.map +1 -0
- package/_cjs/experimental/eip7677/actions/getPaymasterData.js +41 -0
- package/_cjs/experimental/eip7677/actions/getPaymasterData.js.map +1 -0
- package/_cjs/experimental/eip7677/actions/getPaymasterStubData.js +51 -0
- package/_cjs/experimental/eip7677/actions/getPaymasterStubData.js.map +1 -0
- package/_cjs/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js +21 -0
- package/_cjs/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js.map +1 -0
- package/_cjs/experimental/eip7677/index.js +10 -0
- package/_cjs/experimental/eip7677/index.js.map +1 -0
- package/_cjs/experimental/eip7677/types/paymaster.js +3 -0
- package/_cjs/experimental/eip7677/types/paymaster.js.map +1 -0
- package/_cjs/experimental/index.js +5 -0
- package/_cjs/experimental/index.js.map +1 -0
- package/_cjs/index.js +37 -0
- package/_cjs/index.js.map +1 -0
- package/_cjs/package.json +1 -0
- package/_cjs/types/bundler.js +3 -0
- package/_cjs/types/bundler.js.map +1 -0
- package/_cjs/types/entrypoint.js +3 -0
- package/_cjs/types/entrypoint.js.map +1 -0
- package/_cjs/types/index.js +3 -0
- package/_cjs/types/index.js.map +1 -0
- package/_cjs/types/pimlico.js +3 -0
- package/_cjs/types/pimlico.js.map +1 -0
- package/_cjs/types/stackup.js +3 -0
- package/_cjs/types/stackup.js.map +1 -0
- package/_cjs/types/userOperation.js +3 -0
- package/_cjs/types/userOperation.js.map +1 -0
- package/_cjs/utils/decodeNonce.js +12 -0
- package/_cjs/utils/decodeNonce.js.map +1 -0
- package/_cjs/utils/deepHexlify.js +31 -0
- package/_cjs/utils/deepHexlify.js.map +1 -0
- package/_cjs/utils/encode7579CallData.js +81 -0
- package/_cjs/utils/encode7579CallData.js.map +1 -0
- package/_cjs/utils/encodeNonce.js +11 -0
- package/_cjs/utils/encodeNonce.js.map +1 -0
- package/_cjs/utils/errors/getBundlerError.js +124 -0
- package/_cjs/utils/errors/getBundlerError.js.map +1 -0
- package/_cjs/utils/errors/getEstimateUserOperationGasError.js +19 -0
- package/_cjs/utils/errors/getEstimateUserOperationGasError.js.map +1 -0
- package/_cjs/utils/errors/getSendUserOperationError.js +19 -0
- package/_cjs/utils/errors/getSendUserOperationError.js.map +1 -0
- package/_cjs/utils/getAddressFromInitCodeOrPaymasterAndData.js +15 -0
- package/_cjs/utils/getAddressFromInitCodeOrPaymasterAndData.js.map +1 -0
- package/_cjs/utils/getEntryPointVersion.js +16 -0
- package/_cjs/utils/getEntryPointVersion.js.map +1 -0
- package/_cjs/utils/getPackedUserOperation.js +106 -0
- package/_cjs/utils/getPackedUserOperation.js.map +1 -0
- package/_cjs/utils/getRequiredPrefund.js +27 -0
- package/_cjs/utils/getRequiredPrefund.js.map +1 -0
- package/_cjs/utils/getUserOperationHash.js +94 -0
- package/_cjs/utils/getUserOperationHash.js.map +1 -0
- package/_cjs/utils/index.js +38 -0
- package/_cjs/utils/index.js.map +1 -0
- package/_cjs/utils/isSmartAccountDeployed.js +15 -0
- package/_cjs/utils/isSmartAccountDeployed.js.map +1 -0
- package/_cjs/utils/observe.js +44 -0
- package/_cjs/utils/observe.js.map +1 -0
- package/_cjs/utils/providerToSmartAccountSigner.js +32 -0
- package/_cjs/utils/providerToSmartAccountSigner.js.map +1 -0
- package/_cjs/utils/signUserOperationHashWithECDSA.js +58 -0
- package/_cjs/utils/signUserOperationHashWithECDSA.js.map +1 -0
- package/_cjs/utils/walletClientToSmartAccountSigner.js +23 -0
- package/_cjs/utils/walletClientToSmartAccountSigner.js.map +1 -0
- package/_cjs/vitest.config.js +31 -0
- package/_cjs/vitest.config.js.map +1 -0
- package/_esm/accounts/biconomy/abi/BiconomySmartAccountAbi.js +105 -0
- package/_esm/accounts/biconomy/abi/BiconomySmartAccountAbi.js.map +1 -0
- package/_esm/accounts/biconomy/privateKeyToBiconomySmartAccount.js +15 -0
- package/_esm/accounts/biconomy/privateKeyToBiconomySmartAccount.js.map +1 -0
- package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js +268 -0
- package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js.map +1 -0
- package/_esm/accounts/index.js +15 -0
- package/_esm/accounts/index.js.map +1 -0
- package/_esm/accounts/kernel/abi/KernelAccountAbi.js +87 -0
- package/_esm/accounts/kernel/abi/KernelAccountAbi.js.map +1 -0
- package/_esm/accounts/kernel/abi/KernelV3AccountAbi.js +107 -0
- package/_esm/accounts/kernel/abi/KernelV3AccountAbi.js.map +1 -0
- package/_esm/accounts/kernel/abi/KernelV3MetaFactoryAbi.js +18 -0
- package/_esm/accounts/kernel/abi/KernelV3MetaFactoryAbi.js.map +1 -0
- package/_esm/accounts/kernel/constants.js +24 -0
- package/_esm/accounts/kernel/constants.js.map +1 -0
- package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js +395 -0
- package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +1 -0
- package/_esm/accounts/kernel/utils/encodeCallData.js +89 -0
- package/_esm/accounts/kernel/utils/encodeCallData.js.map +1 -0
- package/_esm/accounts/kernel/utils/getExecMode.js +11 -0
- package/_esm/accounts/kernel/utils/getExecMode.js.map +1 -0
- package/_esm/accounts/kernel/utils/getNonceKey.js +21 -0
- package/_esm/accounts/kernel/utils/getNonceKey.js.map +1 -0
- package/_esm/accounts/kernel/utils/isKernelV2.js +5 -0
- package/_esm/accounts/kernel/utils/isKernelV2.js.map +1 -0
- package/_esm/accounts/kernel/utils/signMessage.js +25 -0
- package/_esm/accounts/kernel/utils/signMessage.js.map +1 -0
- package/_esm/accounts/kernel/utils/signTypedData.js +39 -0
- package/_esm/accounts/kernel/utils/signTypedData.js.map +1 -0
- package/_esm/accounts/kernel/utils/wrapMessageHash.js +16 -0
- package/_esm/accounts/kernel/utils/wrapMessageHash.js.map +1 -0
- package/_esm/accounts/light/privateKeyToLightSmartAccount.js +15 -0
- package/_esm/accounts/light/privateKeyToLightSmartAccount.js.map +1 -0
- package/_esm/accounts/light/signerToLightSmartAccount.js +258 -0
- package/_esm/accounts/light/signerToLightSmartAccount.js.map +1 -0
- package/_esm/accounts/safe/privateKeyToSafeSmartAccount.js +15 -0
- package/_esm/accounts/safe/privateKeyToSafeSmartAccount.js.map +1 -0
- package/_esm/accounts/safe/signerToSafeSmartAccount.js +1014 -0
- package/_esm/accounts/safe/signerToSafeSmartAccount.js.map +1 -0
- package/_esm/accounts/simple/privateKeyToSimpleSmartAccount.js +15 -0
- package/_esm/accounts/simple/privateKeyToSimpleSmartAccount.js.map +1 -0
- package/_esm/accounts/simple/signerToSimpleSmartAccount.js +261 -0
- package/_esm/accounts/simple/signerToSimpleSmartAccount.js.map +1 -0
- package/_esm/accounts/toSmartAccount.js +80 -0
- package/_esm/accounts/toSmartAccount.js.map +1 -0
- package/_esm/accounts/trust/privateKeyToTrustSmartAccount.js +15 -0
- package/_esm/accounts/trust/privateKeyToTrustSmartAccount.js.map +1 -0
- package/_esm/accounts/trust/signerToTrustSmartAccount.js +138 -0
- package/_esm/accounts/trust/signerToTrustSmartAccount.js.map +1 -0
- package/_esm/accounts/trust/utils/encodeCallData.js +70 -0
- package/_esm/accounts/trust/utils/encodeCallData.js.map +1 -0
- package/_esm/accounts/trust/utils/getAccountAddress.js +15 -0
- package/_esm/accounts/trust/utils/getAccountAddress.js.map +1 -0
- package/_esm/accounts/trust/utils/getDummySignature.js +4 -0
- package/_esm/accounts/trust/utils/getDummySignature.js.map +1 -0
- package/_esm/accounts/trust/utils/getFactoryData.js +42 -0
- package/_esm/accounts/trust/utils/getFactoryData.js.map +1 -0
- package/_esm/accounts/trust/utils/signMessage.js +5 -0
- package/_esm/accounts/trust/utils/signMessage.js.map +1 -0
- package/_esm/accounts/trust/utils/signTransaction.js +5 -0
- package/_esm/accounts/trust/utils/signTransaction.js.map +1 -0
- package/_esm/accounts/trust/utils/signUserOperation.js +15 -0
- package/_esm/accounts/trust/utils/signUserOperation.js.map +1 -0
- package/_esm/accounts/types.js +19 -0
- package/_esm/accounts/types.js.map +1 -0
- package/_esm/actions/bundler/chainId.js +29 -0
- package/_esm/actions/bundler/chainId.js.map +1 -0
- package/_esm/actions/bundler/estimateUserOperationGas.js +72 -0
- package/_esm/actions/bundler/estimateUserOperationGas.js.map +1 -0
- package/_esm/actions/bundler/getUserOperationByHash.js +65 -0
- package/_esm/actions/bundler/getUserOperationByHash.js.map +1 -0
- package/_esm/actions/bundler/getUserOperationReceipt.js +70 -0
- package/_esm/actions/bundler/getUserOperationReceipt.js.map +1 -0
- package/_esm/actions/bundler/sendUserOperation.js +44 -0
- package/_esm/actions/bundler/sendUserOperation.js.map +1 -0
- package/_esm/actions/bundler/supportedEntryPoints.js +29 -0
- package/_esm/actions/bundler/supportedEntryPoints.js.map +1 -0
- package/_esm/actions/bundler/waitForUserOperationReceipt.js +83 -0
- package/_esm/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
- package/_esm/actions/erc7579/accountId.js +62 -0
- package/_esm/actions/erc7579/accountId.js.map +1 -0
- package/_esm/actions/erc7579/installModule.js +61 -0
- package/_esm/actions/erc7579/installModule.js.map +1 -0
- package/_esm/actions/erc7579/installModules.js +61 -0
- package/_esm/actions/erc7579/installModules.js.map +1 -0
- package/_esm/actions/erc7579/isModuleInstalled.js +82 -0
- package/_esm/actions/erc7579/isModuleInstalled.js.map +1 -0
- package/_esm/actions/erc7579/supportsExecutionMode.js +90 -0
- package/_esm/actions/erc7579/supportsExecutionMode.js.map +1 -0
- package/_esm/actions/erc7579/supportsModule.js +79 -0
- package/_esm/actions/erc7579/supportsModule.js.map +1 -0
- package/_esm/actions/erc7579/uninstallModule.js +61 -0
- package/_esm/actions/erc7579/uninstallModule.js.map +1 -0
- package/_esm/actions/erc7579/uninstallModules.js +61 -0
- package/_esm/actions/erc7579/uninstallModules.js.map +1 -0
- package/_esm/actions/erc7579.js +22 -0
- package/_esm/actions/erc7579.js.map +1 -0
- package/_esm/actions/index.js +12 -0
- package/_esm/actions/index.js.map +1 -0
- package/_esm/actions/pimlico/getUserOperationGasPrice.js +42 -0
- package/_esm/actions/pimlico/getUserOperationGasPrice.js.map +1 -0
- package/_esm/actions/pimlico/getUserOperationStatus.js +30 -0
- package/_esm/actions/pimlico/getUserOperationStatus.js.map +1 -0
- package/_esm/actions/pimlico/sendCompressedUserOperation.js +37 -0
- package/_esm/actions/pimlico/sendCompressedUserOperation.js.map +1 -0
- package/_esm/actions/pimlico/sponsorUserOperation.js +64 -0
- package/_esm/actions/pimlico/sponsorUserOperation.js.map +1 -0
- package/_esm/actions/pimlico/validateSponsorshipPolicies.js +47 -0
- package/_esm/actions/pimlico/validateSponsorshipPolicies.js.map +1 -0
- package/_esm/actions/pimlico.js +8 -0
- package/_esm/actions/pimlico.js.map +1 -0
- package/_esm/actions/public/getAccountNonce.js +60 -0
- package/_esm/actions/public/getAccountNonce.js.map +1 -0
- package/_esm/actions/public/getSenderAddress.js +80 -0
- package/_esm/actions/public/getSenderAddress.js.map +1 -0
- package/_esm/actions/smartAccount/deployContract.js +62 -0
- package/_esm/actions/smartAccount/deployContract.js.map +1 -0
- package/_esm/actions/smartAccount/prepareUserOperationRequest.js +195 -0
- package/_esm/actions/smartAccount/prepareUserOperationRequest.js.map +1 -0
- package/_esm/actions/smartAccount/sendTransaction.js +85 -0
- package/_esm/actions/smartAccount/sendTransaction.js.map +1 -0
- package/_esm/actions/smartAccount/sendTransactions.js +87 -0
- package/_esm/actions/smartAccount/sendTransactions.js.map +1 -0
- package/_esm/actions/smartAccount/sendUserOperation.js +17 -0
- package/_esm/actions/smartAccount/sendUserOperation.js.map +1 -0
- package/_esm/actions/smartAccount/signMessage.js +58 -0
- package/_esm/actions/smartAccount/signMessage.js.map +1 -0
- package/_esm/actions/smartAccount/signTypedData.js +128 -0
- package/_esm/actions/smartAccount/signTypedData.js.map +1 -0
- package/_esm/actions/smartAccount/writeContract.js +17 -0
- package/_esm/actions/smartAccount/writeContract.js.map +1 -0
- package/_esm/actions/smartAccount.js +10 -0
- package/_esm/actions/smartAccount.js.map +1 -0
- package/_esm/actions/stackup/accounts.js +30 -0
- package/_esm/actions/stackup/accounts.js.map +1 -0
- package/_esm/actions/stackup/sponsorUserOperation.js +53 -0
- package/_esm/actions/stackup/sponsorUserOperation.js.map +1 -0
- package/_esm/actions/stackup.js +5 -0
- package/_esm/actions/stackup.js.map +1 -0
- package/_esm/clients/createBundlerClient.js +32 -0
- package/_esm/clients/createBundlerClient.js.map +1 -0
- package/_esm/clients/createSmartAccountClient.js +35 -0
- package/_esm/clients/createSmartAccountClient.js.map +1 -0
- package/_esm/clients/decorators/bundler.js +21 -0
- package/_esm/clients/decorators/bundler.js.map +1 -0
- package/_esm/clients/decorators/pimlico.js +64 -0
- package/_esm/clients/decorators/pimlico.js.map +1 -0
- package/_esm/clients/decorators/smartAccount.js +39 -0
- package/_esm/clients/decorators/smartAccount.js.map +1 -0
- package/_esm/clients/decorators/stackup.js +10 -0
- package/_esm/clients/decorators/stackup.js.map +1 -0
- package/_esm/clients/pimlico.js +64 -0
- package/_esm/clients/pimlico.js.map +1 -0
- package/_esm/clients/stackup.js +35 -0
- package/_esm/clients/stackup.js.map +1 -0
- package/_esm/errors/account.js +298 -0
- package/_esm/errors/account.js.map +1 -0
- package/_esm/errors/bundler.js +56 -0
- package/_esm/errors/bundler.js.map +1 -0
- package/_esm/errors/estimateUserOperationGas.js +49 -0
- package/_esm/errors/estimateUserOperationGas.js.map +1 -0
- package/_esm/errors/gas.js +106 -0
- package/_esm/errors/gas.js.map +1 -0
- package/_esm/errors/index.js +8 -0
- package/_esm/errors/index.js.map +1 -0
- package/_esm/errors/paymaster.js +218 -0
- package/_esm/errors/paymaster.js.map +1 -0
- package/_esm/errors/sendUserOperation.js +33 -0
- package/_esm/errors/sendUserOperation.js.map +1 -0
- package/_esm/errors/utils.js +14 -0
- package/_esm/errors/utils.js.map +1 -0
- package/_esm/experimental/eip7677/actions/getPaymasterData.js +37 -0
- package/_esm/experimental/eip7677/actions/getPaymasterData.js.map +1 -0
- package/_esm/experimental/eip7677/actions/getPaymasterStubData.js +47 -0
- package/_esm/experimental/eip7677/actions/getPaymasterStubData.js.map +1 -0
- package/_esm/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js +18 -0
- package/_esm/experimental/eip7677/clients/decorators/paymasterActionsEip7677.js.map +1 -0
- package/_esm/experimental/eip7677/index.js +5 -0
- package/_esm/experimental/eip7677/index.js.map +1 -0
- package/_esm/experimental/eip7677/types/paymaster.js +2 -0
- package/_esm/experimental/eip7677/types/paymaster.js.map +1 -0
- package/_esm/experimental/index.js +2 -0
- package/_esm/experimental/index.js.map +1 -0
- package/_esm/index.js +20 -0
- package/_esm/index.js.map +1 -0
- package/_esm/package.json +1 -0
- package/_esm/types/bundler.js +2 -0
- package/_esm/types/bundler.js.map +1 -0
- package/_esm/types/entrypoint.js +2 -0
- package/_esm/types/entrypoint.js.map +1 -0
- package/_esm/types/index.js +2 -0
- package/_esm/types/index.js.map +1 -0
- package/_esm/types/pimlico.js +2 -0
- package/_esm/types/pimlico.js.map +1 -0
- package/_esm/types/stackup.js +2 -0
- package/_esm/types/stackup.js.map +1 -0
- package/_esm/types/userOperation.js +2 -0
- package/_esm/types/userOperation.js.map +1 -0
- package/_esm/utils/decodeNonce.js +8 -0
- package/_esm/utils/decodeNonce.js.map +1 -0
- package/_esm/utils/deepHexlify.js +30 -0
- package/_esm/utils/deepHexlify.js.map +1 -0
- package/_esm/utils/encode7579CallData.js +77 -0
- package/_esm/utils/encode7579CallData.js.map +1 -0
- package/_esm/utils/encodeNonce.js +7 -0
- package/_esm/utils/encodeNonce.js.map +1 -0
- package/_esm/utils/errors/getBundlerError.js +121 -0
- package/_esm/utils/errors/getBundlerError.js.map +1 -0
- package/_esm/utils/errors/getEstimateUserOperationGasError.js +18 -0
- package/_esm/utils/errors/getEstimateUserOperationGasError.js.map +1 -0
- package/_esm/utils/errors/getSendUserOperationError.js +15 -0
- package/_esm/utils/errors/getSendUserOperationError.js.map +1 -0
- package/_esm/utils/getAddressFromInitCodeOrPaymasterAndData.js +11 -0
- package/_esm/utils/getAddressFromInitCodeOrPaymasterAndData.js.map +1 -0
- package/_esm/utils/getEntryPointVersion.js +11 -0
- package/_esm/utils/getEntryPointVersion.js.map +1 -0
- package/_esm/utils/getPackedUserOperation.js +94 -0
- package/_esm/utils/getPackedUserOperation.js.map +1 -0
- package/_esm/utils/getRequiredPrefund.js +37 -0
- package/_esm/utils/getRequiredPrefund.js.map +1 -0
- package/_esm/utils/getUserOperationHash.js +111 -0
- package/_esm/utils/getUserOperationHash.js.map +1 -0
- package/_esm/utils/index.js +19 -0
- package/_esm/utils/index.js.map +1 -0
- package/_esm/utils/isSmartAccountDeployed.js +11 -0
- package/_esm/utils/isSmartAccountDeployed.js.map +1 -0
- package/_esm/utils/observe.js +47 -0
- package/_esm/utils/observe.js.map +1 -0
- package/_esm/utils/providerToSmartAccountSigner.js +28 -0
- package/_esm/utils/providerToSmartAccountSigner.js.map +1 -0
- package/_esm/utils/signUserOperationHashWithECDSA.js +76 -0
- package/_esm/utils/signUserOperationHashWithECDSA.js.map +1 -0
- package/_esm/utils/walletClientToSmartAccountSigner.js +19 -0
- package/_esm/utils/walletClientToSmartAccountSigner.js.map +1 -0
- package/_esm/vitest.config.js +29 -0
- package/_esm/vitest.config.js.map +1 -0
- package/_types/accounts/biconomy/abi/BiconomySmartAccountAbi.d.ts +59 -0
- package/_types/accounts/biconomy/abi/BiconomySmartAccountAbi.d.ts.map +1 -0
- package/_types/accounts/biconomy/privateKeyToBiconomySmartAccount.d.ts +13 -0
- package/_types/accounts/biconomy/privateKeyToBiconomySmartAccount.d.ts.map +1 -0
- package/_types/accounts/biconomy/signerToBiconomySmartAccount.d.ts +29 -0
- package/_types/accounts/biconomy/signerToBiconomySmartAccount.d.ts.map +1 -0
- package/_types/accounts/index.d.ts +15 -0
- package/_types/accounts/index.d.ts.map +1 -0
- package/_types/accounts/kernel/abi/KernelAccountAbi.d.ts +68 -0
- package/_types/accounts/kernel/abi/KernelAccountAbi.d.ts.map +1 -0
- package/_types/accounts/kernel/abi/KernelV3AccountAbi.d.ts +135 -0
- package/_types/accounts/kernel/abi/KernelV3AccountAbi.d.ts.map +1 -0
- package/_types/accounts/kernel/abi/KernelV3MetaFactoryAbi.d.ts +24 -0
- package/_types/accounts/kernel/abi/KernelV3MetaFactoryAbi.d.ts.map +1 -0
- package/_types/accounts/kernel/constants.d.ts +21 -0
- package/_types/accounts/kernel/constants.d.ts.map +1 -0
- package/_types/accounts/kernel/signerToEcdsaKernelSmartAccount.d.ts +44 -0
- package/_types/accounts/kernel/signerToEcdsaKernelSmartAccount.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/encodeCallData.d.ts +13 -0
- package/_types/accounts/kernel/utils/encodeCallData.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/getExecMode.d.ts +7 -0
- package/_types/accounts/kernel/utils/getExecMode.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/getNonceKey.d.ts +5 -0
- package/_types/accounts/kernel/utils/getNonceKey.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/isKernelV2.d.ts +4 -0
- package/_types/accounts/kernel/utils/isKernelV2.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/signMessage.d.ts +4 -0
- package/_types/accounts/kernel/utils/signMessage.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/signTypedData.d.ts +4 -0
- package/_types/accounts/kernel/utils/signTypedData.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/wrapMessageHash.d.ts +11 -0
- package/_types/accounts/kernel/utils/wrapMessageHash.d.ts.map +1 -0
- package/_types/accounts/light/privateKeyToLightSmartAccount.d.ts +14 -0
- package/_types/accounts/light/privateKeyToLightSmartAccount.d.ts.map +1 -0
- package/_types/accounts/light/signerToLightSmartAccount.d.ts +22 -0
- package/_types/accounts/light/signerToLightSmartAccount.d.ts.map +1 -0
- package/_types/accounts/safe/privateKeyToSafeSmartAccount.d.ts +13 -0
- package/_types/accounts/safe/privateKeyToSafeSmartAccount.d.ts.map +1 -0
- package/_types/accounts/safe/signerToSafeSmartAccount.d.ts +61 -0
- package/_types/accounts/safe/signerToSafeSmartAccount.d.ts.map +1 -0
- package/_types/accounts/simple/privateKeyToSimpleSmartAccount.d.ts +13 -0
- package/_types/accounts/simple/privateKeyToSimpleSmartAccount.d.ts.map +1 -0
- package/_types/accounts/simple/signerToSimpleSmartAccount.d.ts +20 -0
- package/_types/accounts/simple/signerToSimpleSmartAccount.d.ts.map +1 -0
- package/_types/accounts/toSmartAccount.d.ts +26 -0
- package/_types/accounts/toSmartAccount.d.ts.map +1 -0
- package/_types/accounts/trust/privateKeyToTrustSmartAccount.d.ts +13 -0
- package/_types/accounts/trust/privateKeyToTrustSmartAccount.d.ts.map +1 -0
- package/_types/accounts/trust/signerToTrustSmartAccount.d.ts +27 -0
- package/_types/accounts/trust/signerToTrustSmartAccount.d.ts.map +1 -0
- package/_types/accounts/trust/utils/encodeCallData.d.ts +12 -0
- package/_types/accounts/trust/utils/encodeCallData.d.ts.map +1 -0
- package/_types/accounts/trust/utils/getAccountAddress.d.ts +10 -0
- package/_types/accounts/trust/utils/getAccountAddress.d.ts.map +1 -0
- package/_types/accounts/trust/utils/getDummySignature.d.ts +3 -0
- package/_types/accounts/trust/utils/getDummySignature.d.ts.map +1 -0
- package/_types/accounts/trust/utils/getFactoryData.d.ts +10 -0
- package/_types/accounts/trust/utils/getFactoryData.d.ts.map +1 -0
- package/_types/accounts/trust/utils/signMessage.d.ts +4 -0
- package/_types/accounts/trust/utils/signMessage.d.ts.map +1 -0
- package/_types/accounts/trust/utils/signTransaction.d.ts +5 -0
- package/_types/accounts/trust/utils/signTransaction.d.ts.map +1 -0
- package/_types/accounts/trust/utils/signUserOperation.d.ts +9 -0
- package/_types/accounts/trust/utils/signUserOperation.d.ts.map +1 -0
- package/_types/accounts/types.d.ts +32 -0
- package/_types/accounts/types.d.ts.map +1 -0
- package/_types/actions/bundler/chainId.d.ts +27 -0
- package/_types/actions/bundler/chainId.d.ts.map +1 -0
- package/_types/actions/bundler/estimateUserOperationGas.d.ts +91 -0
- package/_types/actions/bundler/estimateUserOperationGas.d.ts.map +1 -0
- package/_types/actions/bundler/getUserOperationByHash.d.ts +39 -0
- package/_types/actions/bundler/getUserOperationByHash.d.ts.map +1 -0
- package/_types/actions/bundler/getUserOperationReceipt.d.ts +58 -0
- package/_types/actions/bundler/getUserOperationReceipt.d.ts.map +1 -0
- package/_types/actions/bundler/sendUserOperation.d.ts +39 -0
- package/_types/actions/bundler/sendUserOperation.d.ts.map +1 -0
- package/_types/actions/bundler/supportedEntryPoints.d.ts +27 -0
- package/_types/actions/bundler/supportedEntryPoints.d.ts.map +1 -0
- package/_types/actions/bundler/waitForUserOperationReceipt.d.ts +43 -0
- package/_types/actions/bundler/waitForUserOperationReceipt.d.ts.map +1 -0
- package/_types/actions/erc7579/accountId.d.ts +6 -0
- package/_types/actions/erc7579/accountId.d.ts.map +1 -0
- package/_types/actions/erc7579/installModule.d.ts +16 -0
- package/_types/actions/erc7579/installModule.d.ts.map +1 -0
- package/_types/actions/erc7579/installModules.d.ts +18 -0
- package/_types/actions/erc7579/installModules.d.ts.map +1 -0
- package/_types/actions/erc7579/isModuleInstalled.d.ts +12 -0
- package/_types/actions/erc7579/isModuleInstalled.d.ts.map +1 -0
- package/_types/actions/erc7579/supportsExecutionMode.d.ts +15 -0
- package/_types/actions/erc7579/supportsExecutionMode.d.ts.map +1 -0
- package/_types/actions/erc7579/supportsModule.d.ts +11 -0
- package/_types/actions/erc7579/supportsModule.d.ts.map +1 -0
- package/_types/actions/erc7579/uninstallModule.d.ts +16 -0
- package/_types/actions/erc7579/uninstallModule.d.ts.map +1 -0
- package/_types/actions/erc7579/uninstallModules.d.ts +20 -0
- package/_types/actions/erc7579/uninstallModules.d.ts.map +1 -0
- package/_types/actions/erc7579.d.ts +30 -0
- package/_types/actions/erc7579.d.ts.map +1 -0
- package/_types/actions/index.d.ts +20 -0
- package/_types/actions/index.d.ts.map +1 -0
- package/_types/actions/pimlico/getUserOperationGasPrice.d.ts +40 -0
- package/_types/actions/pimlico/getUserOperationGasPrice.d.ts.map +1 -0
- package/_types/actions/pimlico/getUserOperationStatus.d.ts +32 -0
- package/_types/actions/pimlico/getUserOperationStatus.d.ts.map +1 -0
- package/_types/actions/pimlico/sendCompressedUserOperation.d.ts +35 -0
- package/_types/actions/pimlico/sendCompressedUserOperation.d.ts.map +1 -0
- package/_types/actions/pimlico/sponsorUserOperation.d.ts +52 -0
- package/_types/actions/pimlico/sponsorUserOperation.d.ts.map +1 -0
- package/_types/actions/pimlico/validateSponsorshipPolicies.d.ts +56 -0
- package/_types/actions/pimlico/validateSponsorshipPolicies.d.ts.map +1 -0
- package/_types/actions/pimlico.d.ts +10 -0
- package/_types/actions/pimlico.d.ts.map +1 -0
- package/_types/actions/public/getAccountNonce.d.ts +36 -0
- package/_types/actions/public/getAccountNonce.d.ts.map +1 -0
- package/_types/actions/public/getSenderAddress.d.ts +48 -0
- package/_types/actions/public/getSenderAddress.d.ts.map +1 -0
- package/_types/actions/smartAccount/deployContract.d.ts +36 -0
- package/_types/actions/smartAccount/deployContract.d.ts.map +1 -0
- package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts +28 -0
- package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts.map +1 -0
- package/_types/actions/smartAccount/sendTransaction.d.ts +54 -0
- package/_types/actions/smartAccount/sendTransaction.d.ts.map +1 -0
- package/_types/actions/smartAccount/sendTransactions.d.ts +64 -0
- package/_types/actions/smartAccount/sendTransactions.d.ts.map +1 -0
- package/_types/actions/smartAccount/sendUserOperation.d.ts +10 -0
- package/_types/actions/smartAccount/sendUserOperation.d.ts.map +1 -0
- package/_types/actions/smartAccount/signMessage.d.ts +51 -0
- package/_types/actions/smartAccount/signMessage.d.ts.map +1 -0
- package/_types/actions/smartAccount/signTypedData.d.ts +105 -0
- package/_types/actions/smartAccount/signTypedData.d.ts.map +1 -0
- package/_types/actions/smartAccount/writeContract.d.ts +58 -0
- package/_types/actions/smartAccount/writeContract.d.ts.map +1 -0
- package/_types/actions/smartAccount.d.ts +10 -0
- package/_types/actions/smartAccount.d.ts.map +1 -0
- package/_types/actions/stackup/accounts.d.ts +30 -0
- package/_types/actions/stackup/accounts.d.ts.map +1 -0
- package/_types/actions/stackup/sponsorUserOperation.d.ts +38 -0
- package/_types/actions/stackup/sponsorUserOperation.d.ts.map +1 -0
- package/_types/actions/stackup.d.ts +7 -0
- package/_types/actions/stackup.d.ts.map +1 -0
- package/_types/clients/createBundlerClient.d.ts +28 -0
- package/_types/clients/createBundlerClient.d.ts.map +1 -0
- package/_types/clients/createSmartAccountClient.d.ts +40 -0
- package/_types/clients/createSmartAccountClient.d.ts.map +1 -0
- package/_types/clients/decorators/bundler.d.ts +175 -0
- package/_types/clients/decorators/bundler.d.ts.map +1 -0
- package/_types/clients/decorators/pimlico.d.ts +142 -0
- package/_types/clients/decorators/pimlico.d.ts.map +1 -0
- package/_types/clients/decorators/smartAccount.d.ts +330 -0
- package/_types/clients/decorators/smartAccount.d.ts.map +1 -0
- package/_types/clients/decorators/stackup.d.ts +55 -0
- package/_types/clients/decorators/stackup.d.ts.map +1 -0
- package/_types/clients/pimlico.d.ts +52 -0
- package/_types/clients/pimlico.d.ts.map +1 -0
- package/_types/clients/stackup.d.ts +29 -0
- package/_types/clients/stackup.d.ts.map +1 -0
- package/_types/errors/account.d.ts +121 -0
- package/_types/errors/account.d.ts.map +1 -0
- package/_types/errors/bundler.d.ts +24 -0
- package/_types/errors/bundler.d.ts.map +1 -0
- package/_types/errors/estimateUserOperationGas.d.ts +14 -0
- package/_types/errors/estimateUserOperationGas.d.ts.map +1 -0
- package/_types/errors/gas.d.ts +47 -0
- package/_types/errors/gas.d.ts.map +1 -0
- package/_types/errors/index.d.ts +8 -0
- package/_types/errors/index.d.ts.map +1 -0
- package/_types/errors/paymaster.d.ts +85 -0
- package/_types/errors/paymaster.d.ts.map +1 -0
- package/_types/errors/sendUserOperation.d.ts +14 -0
- package/_types/errors/sendUserOperation.d.ts.map +1 -0
- package/_types/errors/utils.d.ts +5 -0
- package/_types/errors/utils.d.ts.map +1 -0
- package/_types/experimental/eip7677/actions/getPaymasterData.d.ts +51 -0
- package/_types/experimental/eip7677/actions/getPaymasterData.d.ts.map +1 -0
- package/_types/experimental/eip7677/actions/getPaymasterStubData.d.ts +63 -0
- package/_types/experimental/eip7677/actions/getPaymasterStubData.d.ts.map +1 -0
- package/_types/experimental/eip7677/clients/decorators/paymasterActionsEip7677.d.ts +11 -0
- package/_types/experimental/eip7677/clients/decorators/paymasterActionsEip7677.d.ts.map +1 -0
- package/_types/experimental/eip7677/index.d.ts +6 -0
- package/_types/experimental/eip7677/index.d.ts.map +1 -0
- package/_types/experimental/eip7677/types/paymaster.d.ts +52 -0
- package/_types/experimental/eip7677/types/paymaster.d.ts.map +1 -0
- package/_types/experimental/index.d.ts +2 -0
- package/_types/experimental/index.d.ts.map +1 -0
- package/_types/index.d.ts +33 -0
- package/_types/index.d.ts.map +1 -0
- package/_types/types/bundler.d.ts +110 -0
- package/_types/types/bundler.d.ts.map +1 -0
- package/_types/types/entrypoint.d.ts +6 -0
- package/_types/types/entrypoint.d.ts.map +1 -0
- package/_types/types/index.d.ts +27 -0
- package/_types/types/index.d.ts.map +1 -0
- package/_types/types/pimlico.d.ts +93 -0
- package/_types/types/pimlico.d.ts.map +1 -0
- package/_types/types/stackup.d.ts +49 -0
- package/_types/types/stackup.d.ts.map +1 -0
- package/_types/types/userOperation.d.ts +93 -0
- package/_types/types/userOperation.d.ts.map +1 -0
- package/_types/utils/decodeNonce.d.ts +5 -0
- package/_types/utils/decodeNonce.d.ts.map +1 -0
- package/_types/utils/deepHexlify.d.ts +6 -0
- package/_types/utils/deepHexlify.d.ts.map +1 -0
- package/_types/utils/encode7579CallData.d.ts +16 -0
- package/_types/utils/encode7579CallData.d.ts.map +1 -0
- package/_types/utils/encodeNonce.d.ts +5 -0
- package/_types/utils/encodeNonce.d.ts.map +1 -0
- package/_types/utils/errors/getBundlerError.d.ts +11 -0
- package/_types/utils/errors/getBundlerError.d.ts.map +1 -0
- package/_types/utils/errors/getEstimateUserOperationGasError.d.ts +10 -0
- package/_types/utils/errors/getEstimateUserOperationGasError.d.ts.map +1 -0
- package/_types/utils/errors/getSendUserOperationError.d.ts +5 -0
- package/_types/utils/errors/getSendUserOperationError.d.ts.map +1 -0
- package/_types/utils/getAddressFromInitCodeOrPaymasterAndData.d.ts +3 -0
- package/_types/utils/getAddressFromInitCodeOrPaymasterAndData.d.ts.map +1 -0
- package/_types/utils/getEntryPointVersion.d.ts +8 -0
- package/_types/utils/getEntryPointVersion.d.ts.map +1 -0
- package/_types/utils/getPackedUserOperation.d.ts +39 -0
- package/_types/utils/getPackedUserOperation.d.ts.map +1 -0
- package/_types/utils/getRequiredPrefund.d.ts +21 -0
- package/_types/utils/getRequiredPrefund.d.ts.map +1 -0
- package/_types/utils/getUserOperationHash.d.ts +31 -0
- package/_types/utils/getUserOperationHash.d.ts.map +1 -0
- package/_types/utils/index.d.ts +16 -0
- package/_types/utils/index.d.ts.map +1 -0
- package/_types/utils/isSmartAccountDeployed.d.ts +3 -0
- package/_types/utils/isSmartAccountDeployed.d.ts.map +1 -0
- package/_types/utils/observe.d.ts +17 -0
- package/_types/utils/observe.d.ts.map +1 -0
- package/_types/utils/providerToSmartAccountSigner.d.ts +5 -0
- package/_types/utils/providerToSmartAccountSigner.d.ts.map +1 -0
- package/_types/utils/signUserOperationHashWithECDSA.d.ts +45 -0
- package/_types/utils/signUserOperationHashWithECDSA.d.ts.map +1 -0
- package/_types/utils/walletClientToSmartAccountSigner.d.ts +4 -0
- package/_types/utils/walletClientToSmartAccountSigner.d.ts.map +1 -0
- package/_types/vitest.config.d.ts +3 -0
- package/_types/vitest.config.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { encodeFunctionData } from "viem";
|
|
2
|
+
export const encodeCallData = async ({ args }) => {
|
|
3
|
+
if (Array.isArray(args)) {
|
|
4
|
+
const argsArray = args;
|
|
5
|
+
return encodeFunctionData({
|
|
6
|
+
abi: [
|
|
7
|
+
{
|
|
8
|
+
inputs: [
|
|
9
|
+
{
|
|
10
|
+
internalType: "address[]",
|
|
11
|
+
name: "dest",
|
|
12
|
+
type: "address[]"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
internalType: "uint256[]",
|
|
16
|
+
name: "value",
|
|
17
|
+
type: "uint256[]"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
internalType: "bytes[]",
|
|
21
|
+
name: "func",
|
|
22
|
+
type: "bytes[]"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
name: "executeBatch",
|
|
26
|
+
outputs: [],
|
|
27
|
+
stateMutability: "nonpayable",
|
|
28
|
+
type: "function"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
functionName: "executeBatch",
|
|
32
|
+
args: [
|
|
33
|
+
argsArray.map((a) => a.to),
|
|
34
|
+
argsArray.map((a) => a.value),
|
|
35
|
+
argsArray.map((a) => a.data)
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const { to, value, data } = args;
|
|
40
|
+
return encodeFunctionData({
|
|
41
|
+
abi: [
|
|
42
|
+
{
|
|
43
|
+
inputs: [
|
|
44
|
+
{
|
|
45
|
+
internalType: "address",
|
|
46
|
+
name: "dest",
|
|
47
|
+
type: "address"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
internalType: "uint256",
|
|
51
|
+
name: "value",
|
|
52
|
+
type: "uint256"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
internalType: "bytes",
|
|
56
|
+
name: "func",
|
|
57
|
+
type: "bytes"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
name: "execute",
|
|
61
|
+
outputs: [],
|
|
62
|
+
stateMutability: "nonpayable",
|
|
63
|
+
type: "function"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
functionName: "execute",
|
|
67
|
+
args: [to, value, data]
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=encodeCallData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encodeCallData.js","sourceRoot":"","sources":["../../../../accounts/trust/utils/encodeCallData.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACjC,IAAI,EAaP,EAAE,EAAE;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAIf,CAAA;QAEH,OAAO,kBAAkB,CAAC;YACtB,GAAG,EAAE;gBACD;oBACI,MAAM,EAAE;wBACJ;4BACI,YAAY,EAAE,WAAW;4BACzB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,WAAW;yBACpB;wBACD;4BACI,YAAY,EAAE,WAAW;4BACzB,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,WAAW;yBACpB;wBACD;4BACI,YAAY,EAAE,SAAS;4BACvB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,SAAS;yBAClB;qBACJ;oBACD,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,EAAE;oBACX,eAAe,EAAE,YAAY;oBAC7B,IAAI,EAAE,UAAU;iBACnB;aACJ;YACD,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE;gBACF,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAC/B;SACJ,CAAC,CAAA;IACN,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAI3B,CAAA;IAED,OAAO,kBAAkB,CAAC;QACtB,GAAG,EAAE;YACD;gBACI,MAAM,EAAE;oBACJ;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,EAAE;gBACX,eAAe,EAAE,YAAY;gBAC7B,IAAI,EAAE,UAAU;aACnB;SACJ;QACD,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;KAC1B,CAAC,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { concatHex } from "viem";
|
|
2
|
+
import { getSenderAddress } from "../../../actions/public/getSenderAddress.js";
|
|
3
|
+
import { getFactoryData } from "./getFactoryData.js";
|
|
4
|
+
export const getAccountAddress = async (client, { factoryAddress, entryPoint: entryPointAddress, bytes, secp256k1VerificationFacetAddress, index = 0n }) => {
|
|
5
|
+
const factoryData = await getFactoryData({
|
|
6
|
+
bytes,
|
|
7
|
+
index,
|
|
8
|
+
secp256k1VerificationFacetAddress
|
|
9
|
+
});
|
|
10
|
+
return getSenderAddress(client, {
|
|
11
|
+
initCode: concatHex([factoryAddress, factoryData]),
|
|
12
|
+
entryPoint: entryPointAddress
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=getAccountAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAccountAddress.js","sourceRoot":"","sources":["../../../../accounts/trust/utils/getAccountAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,SAAS,EACZ,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAKlC,MAA6C,EAC7C,EACI,cAAc,EACd,UAAU,EAAE,iBAAiB,EAC7B,KAAK,EACL,iCAAiC,EACjC,KAAK,GAAG,EAAE,EAOb,EACe,EAAE;IAClB,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;QACrC,KAAK;QACL,KAAK;QACL,iCAAiC;KACpC,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,MAAM,EAAE;QAC5B,QAAQ,EAAE,SAAS,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAClD,UAAU,EAAE,iBAAgD;KAC/D,CAAC,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDummySignature.js","sourceRoot":"","sources":["../../../../accounts/trust/utils/getDummySignature.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAClC,cAA+D,EACjE,EAAE;IACA,OAAO,sIAA6I,CAAA;AACxJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { encodeFunctionData } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* Wrapped this function to minimize the call to check if account is deployed
|
|
4
|
+
*/
|
|
5
|
+
export const getFactoryData = async ({ bytes, index, secp256k1VerificationFacetAddress }) => {
|
|
6
|
+
return encodeFunctionData({
|
|
7
|
+
abi: [
|
|
8
|
+
{
|
|
9
|
+
inputs: [
|
|
10
|
+
{
|
|
11
|
+
internalType: "address",
|
|
12
|
+
name: "_verificationFacet",
|
|
13
|
+
type: "address"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
internalType: "bytes",
|
|
17
|
+
name: "_owner",
|
|
18
|
+
type: "bytes"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
internalType: "uint256",
|
|
22
|
+
name: "_salt",
|
|
23
|
+
type: "uint256"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
name: "createAccount",
|
|
27
|
+
outputs: [
|
|
28
|
+
{
|
|
29
|
+
internalType: "contract Barz",
|
|
30
|
+
name: "barz",
|
|
31
|
+
type: "address"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
stateMutability: "nonpayable",
|
|
35
|
+
type: "function"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
functionName: "createAccount",
|
|
39
|
+
args: [secp256k1VerificationFacetAddress, bytes, index]
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=getFactoryData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFactoryData.js","sourceRoot":"","sources":["../../../../accounts/trust/utils/getFactoryData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACjC,KAAK,EACL,KAAK,EACL,iCAAiC,EAKpC,EAAE,EAAE;IACD,OAAO,kBAAkB,CAAC;QACtB,GAAG,EAAE;YACD;gBACI,MAAM,EAAE;oBACJ;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,OAAO;qBAChB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE;oBACL;wBACI,YAAY,EAAE,eAAe;wBAC7B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,eAAe,EAAE,YAAY;gBAC7B,IAAI,EAAE,UAAU;aACnB;SACJ;QACD,YAAY,EAAE,eAAe;QAC7B,IAAI,EAAE,CAAC,iCAAiC,EAAE,KAAK,EAAE,KAAK,CAAC;KAC1D,CAAC,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../accounts/trust/utils/signMessage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE9D,MAAM,CAAC,MAAM,WAAW,GAAG,CAIvB,MAA6C,EAC7C,EAAE,OAAO,EAAE,OAAO,EAAoC,EACxD,EAAE;IACA,OAAO,gBAAgB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;AACzD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../../accounts/trust/utils/signTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yCAAyC,EAAE,MAAM,aAAa,CAAA;AAEvE,MAAM,CAAC,MAAM,eAAe,GAAG,CAK3B,YAAyB,EACzB,KAEC,EACH,EAAE;IACA,MAAM,IAAI,yCAAyC,EAAE,CAAA;AACzD,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { getUserOperationHash } from "../../../utils/index.js";
|
|
2
|
+
import { signMessage } from "./signMessage.js";
|
|
3
|
+
export const signUserOperation = async (client, { account, userOperation, entryPoint: entryPointAddress, chainId }) => {
|
|
4
|
+
return signMessage(client, {
|
|
5
|
+
account: account,
|
|
6
|
+
message: {
|
|
7
|
+
raw: getUserOperationHash({
|
|
8
|
+
userOperation,
|
|
9
|
+
entryPoint: entryPointAddress,
|
|
10
|
+
chainId: chainId
|
|
11
|
+
})
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=signUserOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signUserOperation.js","sourceRoot":"","sources":["../../../../accounts/trust/utils/signUserOperation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAKlC,MAA6C,EAC7C,EACI,OAAO,EACP,aAAa,EACb,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAMV,EACH,EAAE;IACA,OAAO,WAAW,CAAC,MAAM,EAAE;QACvB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE;YACL,GAAG,EAAE,oBAAoB,CAAC;gBACtB,aAAa;gBACb,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE,OAAO;aACnB,CAAC;SACL;KACJ,CAAC,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseError } from "viem";
|
|
2
|
+
export class SignTransactionNotSupportedBySmartAccount extends BaseError {
|
|
3
|
+
constructor({ docsPath } = {}) {
|
|
4
|
+
super([
|
|
5
|
+
"A smart account cannot sign or send transaction, it can only sign message or userOperation.",
|
|
6
|
+
"Please send user operation instead."
|
|
7
|
+
].join("\n"), {
|
|
8
|
+
docsPath,
|
|
9
|
+
docsSlug: "account"
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(this, "name", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
writable: true,
|
|
15
|
+
value: "SignTransactionNotSupportedBySmartAccount"
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../accounts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EAIZ,MAAM,MAAM,CAAA;AAWb,MAAM,OAAO,yCAA0C,SAAQ,SAAS;IAEpE,YAAY,EAAE,QAAQ,KAA4B,EAAE;QAChD,KAAK,CACD;YACI,6FAA6F;YAC7F,qCAAqC;SACxC,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;YACI,QAAQ;YACR,QAAQ,EAAE,SAAS;SACtB,CACJ,CAAA;QAXI;;;;mBAAO,2CAA2C;WAAA;IAY3D,CAAC;CACJ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the supported chain id by the bundler service
|
|
3
|
+
*
|
|
4
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/chainId
|
|
5
|
+
*
|
|
6
|
+
* @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
|
|
7
|
+
* @returns Supported chain id
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* import { createClient } from "viem"
|
|
12
|
+
* import { chainId } from "permissionless/actions"
|
|
13
|
+
*
|
|
14
|
+
* const bundlerClient = createClient({
|
|
15
|
+
* chain: goerli,
|
|
16
|
+
* transport: http(BUNDLER_URL)
|
|
17
|
+
* })
|
|
18
|
+
*
|
|
19
|
+
* const bundlerChainId = chainId(bundlerClient)
|
|
20
|
+
* // Return 5n for Goerli
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
export const chainId = async (client) => {
|
|
24
|
+
return Number(await client.request({
|
|
25
|
+
method: "eth_chainId",
|
|
26
|
+
params: []
|
|
27
|
+
}));
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=chainId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chainId.js","sourceRoot":"","sources":["../../../actions/bundler/chainId.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAMxB,MAA0E,EAC5E,EAAE;IACA,OAAO,MAAM,CACT,MAAM,MAAM,CAAC,OAAO,CAAC;QACjB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,EAAE;KACb,CAAC,CACL,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { getEntryPointVersion } from "../../utils/index.js";
|
|
2
|
+
import { deepHexlify } from "../../utils/deepHexlify.js";
|
|
3
|
+
import { getEstimateUserOperationGasError } from "../../utils/errors/getEstimateUserOperationGasError.js";
|
|
4
|
+
/**
|
|
5
|
+
* Estimates preVerificationGas, verificationGasLimit and callGasLimit for user operation
|
|
6
|
+
*
|
|
7
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/estimateUserOperationGas
|
|
8
|
+
*
|
|
9
|
+
* @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
|
|
10
|
+
* @param args {@link EstimateUserOperationGasParameters}
|
|
11
|
+
* @returns preVerificationGas, verificationGasLimit and callGasLimit as {@link EstimateUserOperationGasReturnType}
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* import { createClient } from "viem"
|
|
16
|
+
* import { estimateUserOperationGas } from "permissionless/actions"
|
|
17
|
+
*
|
|
18
|
+
* const bundlerClient = createClient({
|
|
19
|
+
* chain: goerli,
|
|
20
|
+
* transport: http(BUNDLER_URL)
|
|
21
|
+
* })
|
|
22
|
+
*
|
|
23
|
+
* const gasParameters = estimateUserOperationGas(bundlerClient, {
|
|
24
|
+
* serOperation: signedUserOperation,
|
|
25
|
+
* entryPoint: entryPoint
|
|
26
|
+
* })
|
|
27
|
+
*
|
|
28
|
+
* // Return {preVerificationGas: 43492n, verificationGasLimit: 59436n, callGasLimit: 9000n}
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
export const estimateUserOperationGas = async (client, args, stateOverrides) => {
|
|
32
|
+
const { userOperation, entryPoint } = args;
|
|
33
|
+
const userOperationWithBigIntAsHex = deepHexlify(userOperation);
|
|
34
|
+
const stateOverridesWithBigIntAsHex = deepHexlify(stateOverrides);
|
|
35
|
+
try {
|
|
36
|
+
const response = await client.request({
|
|
37
|
+
method: "eth_estimateUserOperationGas",
|
|
38
|
+
params: stateOverrides
|
|
39
|
+
? [
|
|
40
|
+
userOperationWithBigIntAsHex,
|
|
41
|
+
entryPoint,
|
|
42
|
+
stateOverridesWithBigIntAsHex
|
|
43
|
+
]
|
|
44
|
+
: [userOperationWithBigIntAsHex, entryPoint]
|
|
45
|
+
});
|
|
46
|
+
const entryPointVersion = getEntryPointVersion(entryPoint);
|
|
47
|
+
if (entryPointVersion === "v0.6") {
|
|
48
|
+
const responseV06 = response;
|
|
49
|
+
return {
|
|
50
|
+
preVerificationGas: BigInt(responseV06.preVerificationGas || 0),
|
|
51
|
+
verificationGasLimit: BigInt(responseV06.verificationGasLimit || 0),
|
|
52
|
+
callGasLimit: BigInt(responseV06.callGasLimit || 0)
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const responseV07 = response;
|
|
56
|
+
return {
|
|
57
|
+
preVerificationGas: BigInt(responseV07.preVerificationGas || 0),
|
|
58
|
+
verificationGasLimit: BigInt(responseV07.verificationGasLimit || 0),
|
|
59
|
+
callGasLimit: BigInt(responseV07.callGasLimit || 0),
|
|
60
|
+
paymasterVerificationGasLimit: responseV07.paymasterVerificationGasLimit
|
|
61
|
+
? BigInt(responseV07.paymasterVerificationGasLimit)
|
|
62
|
+
: undefined,
|
|
63
|
+
paymasterPostOpGasLimit: responseV07.paymasterPostOpGasLimit
|
|
64
|
+
? BigInt(responseV07.paymasterPostOpGasLimit)
|
|
65
|
+
: undefined
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
throw getEstimateUserOperationGasError(err, args);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=estimateUserOperationGas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateUserOperationGas.js","sourceRoot":"","sources":["../../../actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAEH,gCAAgC,EACnC,MAAM,qDAAqD,CAAA;AAsC5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAMzC,MAA0E,EAC1E,IAA8D,EAC9D,cAA+B,EACwB,EAAE;IACzD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAE1C,MAAM,4BAA4B,GAAG,WAAW,CAAC,aAAa,CAAC,CAAA;IAC/D,MAAM,6BAA6B,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;IAEjE,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAClC,MAAM,EAAE,8BAA8B;YACtC,MAAM,EAAE,cAAc;gBAClB,CAAC,CAAC;oBACI,4BAA4B;oBAC5B,UAAU;oBACV,6BAA6B;iBAChC;gBACH,CAAC,CAAC,CAAC,4BAA4B,EAAE,UAAU,CAAC;SACnD,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;QAE1D,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,QAInB,CAAA;YAED,OAAO;gBACH,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,kBAAkB,IAAI,CAAC,CAAC;gBAC/D,oBAAoB,EAAE,MAAM,CACxB,WAAW,CAAC,oBAAoB,IAAI,CAAC,CACxC;gBACD,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC;aACJ,CAAA;QACvD,CAAC;QAED,MAAM,WAAW,GAAG,QAMnB,CAAA;QAED,OAAO;YACH,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC/D,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,oBAAoB,IAAI,CAAC,CAAC;YACnE,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC;YACnD,6BAA6B,EACzB,WAAW,CAAC,6BAA6B;gBACrC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,6BAA6B,CAAC;gBACnD,CAAC,CAAC,SAAS;YACnB,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;gBACxD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC;gBAC7C,CAAC,CAAC,SAAS;SACgC,CAAA;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,gCAAgC,CAAC,GAAgB,EAAE,IAAI,CAAC,CAAA;IAClE,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ENTRYPOINT_ADDRESS_V06 } from "../../utils/getEntryPointVersion.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns the user operation from userOpHash
|
|
4
|
+
*
|
|
5
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/getUserOperationByHash
|
|
6
|
+
*
|
|
7
|
+
* @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
|
|
8
|
+
* @param args {@link GetUserOperationByHashParameters} UserOpHash that was returned by {@link sendUserOperation}
|
|
9
|
+
* @returns userOperation along with entryPoint, transactionHash, blockHash, blockNumber if found or null
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { createClient } from "viem"
|
|
14
|
+
* import { getUserOperationByHash } from "permissionless/actions"
|
|
15
|
+
*
|
|
16
|
+
* const bundlerClient = createClient({
|
|
17
|
+
* chain: goerli,
|
|
18
|
+
* transport: http(BUNDLER_URL)
|
|
19
|
+
* })
|
|
20
|
+
*
|
|
21
|
+
* getUserOperationByHash(bundlerClient, {hash: userOpHash})
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
export const getUserOperationByHash = async (client, { hash }) => {
|
|
25
|
+
const params = [hash];
|
|
26
|
+
const response = await client.request({
|
|
27
|
+
method: "eth_getUserOperationByHash",
|
|
28
|
+
params
|
|
29
|
+
});
|
|
30
|
+
if (!response)
|
|
31
|
+
return null;
|
|
32
|
+
const { userOperation, entryPoint: entryPointAddress, transactionHash, blockHash, blockNumber } = response;
|
|
33
|
+
return {
|
|
34
|
+
userOperation: (entryPointAddress === ENTRYPOINT_ADDRESS_V06
|
|
35
|
+
? {
|
|
36
|
+
...userOperation,
|
|
37
|
+
nonce: BigInt(userOperation.nonce),
|
|
38
|
+
callGasLimit: BigInt(userOperation.callGasLimit),
|
|
39
|
+
verificationGasLimit: BigInt(userOperation.verificationGasLimit),
|
|
40
|
+
preVerificationGas: BigInt(userOperation.preVerificationGas),
|
|
41
|
+
maxFeePerGas: BigInt(userOperation.maxFeePerGas),
|
|
42
|
+
maxPriorityFeePerGas: BigInt(userOperation.maxPriorityFeePerGas)
|
|
43
|
+
}
|
|
44
|
+
: {
|
|
45
|
+
...userOperation,
|
|
46
|
+
nonce: BigInt(userOperation.nonce),
|
|
47
|
+
callGasLimit: BigInt(userOperation.callGasLimit),
|
|
48
|
+
verificationGasLimit: BigInt(userOperation.verificationGasLimit),
|
|
49
|
+
preVerificationGas: BigInt(userOperation.preVerificationGas),
|
|
50
|
+
maxFeePerGas: BigInt(userOperation.maxFeePerGas),
|
|
51
|
+
maxPriorityFeePerGas: BigInt(userOperation.maxPriorityFeePerGas),
|
|
52
|
+
paymasterVerificationGasLimit: userOperation.paymasterVerificationGasLimit
|
|
53
|
+
? BigInt(userOperation.paymasterVerificationGasLimit)
|
|
54
|
+
: undefined,
|
|
55
|
+
paymasterPostOpGasLimit: userOperation.paymasterVerificationGasLimit
|
|
56
|
+
? BigInt(userOperation.paymasterPostOpGasLimit)
|
|
57
|
+
: undefined
|
|
58
|
+
}),
|
|
59
|
+
entryPoint: entryPointAddress,
|
|
60
|
+
transactionHash: transactionHash,
|
|
61
|
+
blockHash: blockHash,
|
|
62
|
+
blockNumber: BigInt(blockNumber)
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=getUserOperationByHash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserOperationByHash.js","sourceRoot":"","sources":["../../../actions/bundler/getUserOperationByHash.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAczE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAMvC,MAA0E,EAC1E,EAAE,IAAI,EAA8C,EACkB,EAAE;IACxE,MAAM,MAAM,GAAW,CAAC,IAAI,CAAC,CAAA;IAE7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,4BAA4B;QACpC,MAAM;KACT,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,EACF,aAAa,EACb,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EACf,SAAS,EACT,WAAW,EACd,GAAG,QAAQ,CAAA;IAEZ,OAAO;QACH,aAAa,EAAE,CAAC,iBAAiB,KAAK,sBAAsB;YACxD,CAAC,CAAC;gBACI,GAAG,aAAa;gBAChB,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;gBAClC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;gBAChD,oBAAoB,EAAE,MAAM,CACxB,aAAa,CAAC,oBAAoB,CACrC;gBACD,kBAAkB,EAAE,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC;gBAC5D,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;gBAChD,oBAAoB,EAAE,MAAM,CACxB,aAAa,CAAC,oBAAoB,CACrC;aACJ;YACH,CAAC,CAAC;gBACI,GAAG,aAAa;gBAChB,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;gBAClC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;gBAChD,oBAAoB,EAAE,MAAM,CACxB,aAAa,CAAC,oBAAoB,CACrC;gBACD,kBAAkB,EAAE,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC;gBAC5D,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;gBAChD,oBAAoB,EAAE,MAAM,CACxB,aAAa,CAAC,oBAAoB,CACrC;gBACD,6BAA6B,EACzB,aAAa,CAAC,6BAA6B;oBACvC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,CAAC;oBACrD,CAAC,CAAC,SAAS;gBACnB,uBAAuB,EACnB,aAAa,CAAC,6BAA6B;oBACvC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC;oBAC/C,CAAC,CAAC,SAAS;aACtB,CAAoD;QAC3D,UAAU,EAAE,iBAAiB;QAC7B,eAAe,EAAE,eAAe;QAChC,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;KACnC,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { transactionReceiptStatus } from "../../utils/deepHexlify.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns the user operation receipt from userOpHash
|
|
4
|
+
*
|
|
5
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/getUserOperationReceipt
|
|
6
|
+
*
|
|
7
|
+
* @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
|
|
8
|
+
* @param args {@link GetUserOperationReceiptParameters} UserOpHash that was returned by {@link sendUserOperation}
|
|
9
|
+
* @returns user operation receipt {@link GetUserOperationReceiptReturnType} if found or null
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { createClient } from "viem"
|
|
14
|
+
* import { getUserOperationReceipt } from "permissionless/actions"
|
|
15
|
+
*
|
|
16
|
+
* const bundlerClient = createClient({
|
|
17
|
+
* chain: goerli,
|
|
18
|
+
* transport: http(BUNDLER_URL)
|
|
19
|
+
* })
|
|
20
|
+
*
|
|
21
|
+
* getUserOperationReceipt(bundlerClient, {hash: userOpHash})
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
export const getUserOperationReceipt = async (client, { hash }) => {
|
|
25
|
+
const params = [hash];
|
|
26
|
+
const response = await client.request({
|
|
27
|
+
method: "eth_getUserOperationReceipt",
|
|
28
|
+
params
|
|
29
|
+
});
|
|
30
|
+
if (!response)
|
|
31
|
+
return null;
|
|
32
|
+
const userOperationReceipt = {
|
|
33
|
+
userOpHash: response.userOpHash,
|
|
34
|
+
entryPoint: response.entryPoint,
|
|
35
|
+
sender: response.sender,
|
|
36
|
+
nonce: BigInt(response.nonce),
|
|
37
|
+
paymaster: response.paymaster,
|
|
38
|
+
actualGasUsed: BigInt(response.actualGasUsed),
|
|
39
|
+
actualGasCost: BigInt(response.actualGasCost),
|
|
40
|
+
success: response.success,
|
|
41
|
+
reason: response.reason,
|
|
42
|
+
receipt: {
|
|
43
|
+
transactionHash: response.receipt.transactionHash,
|
|
44
|
+
transactionIndex: BigInt(response.receipt.transactionIndex),
|
|
45
|
+
blockHash: response.receipt.blockHash,
|
|
46
|
+
blockNumber: BigInt(response.receipt.blockNumber),
|
|
47
|
+
from: response.receipt.from,
|
|
48
|
+
to: response.receipt.to,
|
|
49
|
+
cumulativeGasUsed: BigInt(response.receipt.cumulativeGasUsed),
|
|
50
|
+
status: transactionReceiptStatus[response.receipt.status],
|
|
51
|
+
gasUsed: BigInt(response.receipt.gasUsed),
|
|
52
|
+
contractAddress: response.receipt.contractAddress,
|
|
53
|
+
logsBloom: response.receipt.logsBloom,
|
|
54
|
+
effectiveGasPrice: BigInt(response.receipt.effectiveGasPrice)
|
|
55
|
+
},
|
|
56
|
+
logs: response.logs.map((log) => ({
|
|
57
|
+
data: log.data,
|
|
58
|
+
blockNumber: BigInt(log.blockNumber),
|
|
59
|
+
blockHash: log.blockHash,
|
|
60
|
+
transactionHash: log.transactionHash,
|
|
61
|
+
logIndex: Number(log.logIndex),
|
|
62
|
+
transactionIndex: Number(log.transactionIndex),
|
|
63
|
+
address: log.address,
|
|
64
|
+
topics: log.topics,
|
|
65
|
+
removed: log.removed
|
|
66
|
+
}))
|
|
67
|
+
};
|
|
68
|
+
return userOperationReceipt;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=getUserOperationReceipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserOperationReceipt.js","sourceRoot":"","sources":["../../../actions/bundler/getUserOperationReceipt.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAiClE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAMxC,MAA0E,EAC1E,EAAE,IAAI,EAA+C,EACM,EAAE;IAC7D,MAAM,MAAM,GAAW,CAAC,IAAI,CAAC,CAAA;IAE7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,6BAA6B;QACrC,MAAM;KACT,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,oBAAoB,GAAsC;QAC5D,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC7C,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE;YACL,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe;YACjD,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC3D,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;YACrC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;YACjD,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;YAC3B,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;YACvB,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAC7D,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;YACzD,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;YACzC,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe;YACjD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;YACrC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;SAChE;QACD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YACpC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC9B,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC9C,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACvB,CAAC,CAAC;KACN,CAAA;IAED,OAAO,oBAAoB,CAAA;AAC/B,CAAC,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { deepHexlify } from "../../utils/deepHexlify.js";
|
|
2
|
+
import { getSendUserOperationError } from "../../utils/errors/getSendUserOperationError.js";
|
|
3
|
+
/**
|
|
4
|
+
* Sends user operation to the bundler
|
|
5
|
+
*
|
|
6
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/sendUserOperation
|
|
7
|
+
*
|
|
8
|
+
* @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
|
|
9
|
+
* @param args {@link SendUserOperationParameters}.
|
|
10
|
+
* @returns UserOpHash that you can use to track user operation as {@link Hash}.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { createClient } from "viem"
|
|
14
|
+
* import { sendUserOperation } from "permissionless/actions"
|
|
15
|
+
*
|
|
16
|
+
* const bundlerClient = createClient({
|
|
17
|
+
* chain: goerli,
|
|
18
|
+
* transport: http(BUNDLER_URL)
|
|
19
|
+
* })
|
|
20
|
+
*
|
|
21
|
+
* const userOpHash = sendUserOperation(bundlerClient, {
|
|
22
|
+
* userOperation: signedUserOperation,
|
|
23
|
+
* entryPoint: entryPoint
|
|
24
|
+
* })
|
|
25
|
+
*
|
|
26
|
+
* // Return '0xe9fad2cd67f9ca1d0b7a6513b2a42066784c8df938518da2b51bb8cc9a89ea34'
|
|
27
|
+
*/
|
|
28
|
+
export const sendUserOperation = async (client, args) => {
|
|
29
|
+
const { userOperation, entryPoint } = args;
|
|
30
|
+
try {
|
|
31
|
+
const userOperationHash = await client.request({
|
|
32
|
+
method: "eth_sendUserOperation",
|
|
33
|
+
params: [
|
|
34
|
+
deepHexlify(userOperation),
|
|
35
|
+
entryPoint
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
return userOperationHash;
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
throw getSendUserOperationError(err, args);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=sendUserOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendUserOperation.js","sourceRoot":"","sources":["../../../actions/bundler/sendUserOperation.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAOxF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAMlC,MAA0E,EAC1E,IAAuD,EAC1C,EAAE;IACf,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAE1C,IAAI,CAAC;QACD,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAC3C,MAAM,EAAE,uBAAuB;YAC/B,MAAM,EAAE;gBACJ,WAAW,CAAC,aAAa,CAExB;gBACD,UAAU;aACb;SACJ,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,yBAAyB,CAC3B,GAAgB,EAChB,IAA+C,CAClD,CAAA;IACL,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the supported entrypoints by the bundler service
|
|
3
|
+
*
|
|
4
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/supportedEntryPoints
|
|
5
|
+
*
|
|
6
|
+
* @param client {@link BundlerClient} that you created using viem's createClient and extended it with bundlerActions.
|
|
7
|
+
* @returns Supported entryPoints
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* import { createClient } from "viem"
|
|
12
|
+
* import { supportedEntryPoints } from "permissionless/actions"
|
|
13
|
+
*
|
|
14
|
+
* const bundlerClient = createClient({
|
|
15
|
+
* chain: goerli,
|
|
16
|
+
* transport: http(BUNDLER_URL)
|
|
17
|
+
* })
|
|
18
|
+
*
|
|
19
|
+
* const entryPointsSupported = supportedEntryPoints(bundlerClient)
|
|
20
|
+
* // Return ['0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789']
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
export const supportedEntryPoints = async (client) => {
|
|
24
|
+
return client.request({
|
|
25
|
+
method: "eth_supportedEntryPoints",
|
|
26
|
+
params: []
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=supportedEntryPoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supportedEntryPoints.js","sourceRoot":"","sources":["../../../actions/bundler/supportedEntryPoints.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAMrC,MAA0E,EACrD,EAAE;IACvB,OAAO,MAAM,CAAC,OAAO,CAAC;QAClB,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,EAAE;KACb,CAAC,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { BaseError, stringify } from "viem";
|
|
2
|
+
import { getAction } from "viem/utils";
|
|
3
|
+
import { observe } from "../../utils/observe.js";
|
|
4
|
+
import { getUserOperationReceipt } from "./getUserOperationReceipt.js";
|
|
5
|
+
export class WaitForUserOperationReceiptTimeoutError extends BaseError {
|
|
6
|
+
constructor({ hash }) {
|
|
7
|
+
super(`Timed out while waiting for user operation with hash "${hash}" to be confirmed.`);
|
|
8
|
+
Object.defineProperty(this, "name", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
configurable: true,
|
|
11
|
+
writable: true,
|
|
12
|
+
value: "WaitForUserOperationReceiptTimeoutError"
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Waits for the User Operation to be included on a [Block](https://viem.sh/docs/glossary/terms.html#block) (one confirmation), and then returns the [User Operation Receipt](https://docs.pimlico.io/permissionless/reference/bundler-actions/getUserOperationReceipt).
|
|
18
|
+
*
|
|
19
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/bundler-actions/waitForUserOperationReceipt
|
|
20
|
+
*
|
|
21
|
+
* @param client - Bundler Client to use
|
|
22
|
+
* @param parameters - {@link WaitForUserOperationReceiptParameters}
|
|
23
|
+
* @returns The transaction receipt. {@link GetUserOperationReceiptReturnType}
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* import { createBundlerClient, waitForUserOperationReceipt, http } from 'viem'
|
|
27
|
+
* import { mainnet } from 'viem/chains'
|
|
28
|
+
*
|
|
29
|
+
* const client = createBundlerClient({
|
|
30
|
+
* chain: mainnet,
|
|
31
|
+
* transport: http(),
|
|
32
|
+
* })
|
|
33
|
+
* const userOperationReceipt = await waitForUserOperationReceipt(client, {
|
|
34
|
+
* hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',
|
|
35
|
+
* })
|
|
36
|
+
*/
|
|
37
|
+
export const waitForUserOperationReceipt = (bundlerClient, { hash, pollingInterval = bundlerClient.pollingInterval, timeout = bundlerClient.transport.timeout }) => {
|
|
38
|
+
const observerId = stringify([
|
|
39
|
+
"waitForUserOperationReceipt",
|
|
40
|
+
bundlerClient.uid,
|
|
41
|
+
hash
|
|
42
|
+
]);
|
|
43
|
+
let userOperationReceipt;
|
|
44
|
+
return new Promise((resolve, reject) => {
|
|
45
|
+
const unobserve = observe(observerId, { resolve, reject }, async (emit) => {
|
|
46
|
+
let timeoutTimer;
|
|
47
|
+
const _removeInterval = setInterval(async () => {
|
|
48
|
+
const done = (fn) => {
|
|
49
|
+
clearInterval(_removeInterval);
|
|
50
|
+
fn();
|
|
51
|
+
unobserve();
|
|
52
|
+
if (timeout)
|
|
53
|
+
clearTimeout(timeoutTimer);
|
|
54
|
+
};
|
|
55
|
+
try {
|
|
56
|
+
const _userOperationReceipt = await getAction(bundlerClient, getUserOperationReceipt, "getUserOperationReceipt")({ hash });
|
|
57
|
+
if (_userOperationReceipt !== null) {
|
|
58
|
+
userOperationReceipt = _userOperationReceipt;
|
|
59
|
+
}
|
|
60
|
+
if (userOperationReceipt) {
|
|
61
|
+
done(() => emit.resolve(userOperationReceipt));
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
done(() => emit.reject(err));
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
}, pollingInterval);
|
|
70
|
+
if (timeout) {
|
|
71
|
+
timeoutTimer = setTimeout(() => {
|
|
72
|
+
clearInterval(_removeInterval);
|
|
73
|
+
unobserve();
|
|
74
|
+
reject(new WaitForUserOperationReceiptTimeoutError({
|
|
75
|
+
hash
|
|
76
|
+
}));
|
|
77
|
+
clearTimeout(timeoutTimer);
|
|
78
|
+
}, timeout);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=waitForUserOperationReceipt.js.map
|