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 @@
|
|
|
1
|
+
{"version":3,"file":"isSmartAccountDeployed.js","sourceRoot":"","sources":["../../utils/isSmartAccountDeployed.ts"],"names":[],"mappings":";;;AACA,0CAA0C;AAEnC,MAAM,sBAAsB,GAAG,KAAK,EACvC,MAAc,EACd,OAAgB,EACA,EAAE;IAClB,MAAM,YAAY,GAAG,MAAM,IAAA,qBAAW,EAAC,MAAM,EAAE;QAC3C,OAAO,EAAE,OAAO;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAA;IACf,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA;AAZY,QAAA,sBAAsB,0BAYlC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.observe = exports.cleanupCache = exports.listenersCache = void 0;
|
|
4
|
+
exports.listenersCache = new Map();
|
|
5
|
+
exports.cleanupCache = new Map();
|
|
6
|
+
let callbackCount = 0;
|
|
7
|
+
function observe(observerId, callbacks, fn) {
|
|
8
|
+
const callbackId = ++callbackCount;
|
|
9
|
+
const getListeners = () => exports.listenersCache.get(observerId) || [];
|
|
10
|
+
const unsubscribe = () => {
|
|
11
|
+
const listeners = getListeners();
|
|
12
|
+
exports.listenersCache.set(observerId, listeners.filter((cb) => cb.id !== callbackId));
|
|
13
|
+
};
|
|
14
|
+
const unwatch = () => {
|
|
15
|
+
const cleanup = exports.cleanupCache.get(observerId);
|
|
16
|
+
if (getListeners().length === 1 && cleanup)
|
|
17
|
+
cleanup();
|
|
18
|
+
unsubscribe();
|
|
19
|
+
};
|
|
20
|
+
const listeners = getListeners();
|
|
21
|
+
exports.listenersCache.set(observerId, [
|
|
22
|
+
...listeners,
|
|
23
|
+
{ id: callbackId, fns: callbacks }
|
|
24
|
+
]);
|
|
25
|
+
if (listeners && listeners.length > 0)
|
|
26
|
+
return unwatch;
|
|
27
|
+
const emit = {};
|
|
28
|
+
for (const key in callbacks) {
|
|
29
|
+
emit[key] = ((...args) => {
|
|
30
|
+
const listeners = getListeners();
|
|
31
|
+
if (listeners.length === 0)
|
|
32
|
+
return;
|
|
33
|
+
for (const listener of listeners) {
|
|
34
|
+
listener.fns[key]?.(...args);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const cleanup = fn(emit);
|
|
39
|
+
if (typeof cleanup === "function")
|
|
40
|
+
exports.cleanupCache.set(observerId, cleanup);
|
|
41
|
+
return unwatch;
|
|
42
|
+
}
|
|
43
|
+
exports.observe = observe;
|
|
44
|
+
//# sourceMappingURL=observe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../utils/observe.ts"],"names":[],"mappings":";;;AAMa,QAAA,cAAc,GAAiB,IAAI,GAAG,EAGhD,CAAA;AACU,QAAA,YAAY,GAAiB,IAAI,GAAG,EAAsB,CAAA;AAOvE,IAAI,aAAa,GAAG,CAAC,CAAA;AAOrB,SAAgB,OAAO,CACnB,UAAkB,EAClB,SAAqB,EACrB,EAA4B;IAE5B,MAAM,UAAU,GAAG,EAAE,aAAa,CAAA;IAElC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,sBAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAE/D,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,sBAAc,CAAC,GAAG,CACd,UAAU,EAEV,SAAS,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CACtD,CAAA;IACL,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,MAAM,OAAO,GAAG,oBAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO;YAAE,OAAO,EAAE,CAAA;QACrD,WAAW,EAAE,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,sBAAc,CAAC,GAAG,CAAC,UAAU,EAAE;QAC3B,GAAG,SAAS;QACZ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE;KACrC,CAAC,CAAA;IAEF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IAErD,MAAM,IAAI,GAAe,EAAgB,CAAA;IACzC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CACT,GAAG,IAA2D,EAChE,EAAE;YACA,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;YAChC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAClC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC/B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;YAChC,CAAC;QACL,CAAC,CAAkD,CAAA;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,oBAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAExE,OAAO,OAAO,CAAA;AAClB,CAAC;AAjDD,0BAiDC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.providerToSmartAccountSigner = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const walletClientToSmartAccountSigner_1 = require("./walletClientToSmartAccountSigner.js");
|
|
6
|
+
const providerToSmartAccountSigner = async (provider, params) => {
|
|
7
|
+
let account;
|
|
8
|
+
if (!params) {
|
|
9
|
+
try {
|
|
10
|
+
;
|
|
11
|
+
[account] = await provider.request({
|
|
12
|
+
method: "eth_requestAccounts"
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
;
|
|
17
|
+
[account] = await provider.request({
|
|
18
|
+
method: "eth_accounts"
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
account = params.signerAddress;
|
|
24
|
+
}
|
|
25
|
+
const walletClient = (0, viem_1.createWalletClient)({
|
|
26
|
+
account: account,
|
|
27
|
+
transport: (0, viem_1.custom)(provider)
|
|
28
|
+
});
|
|
29
|
+
return (0, walletClientToSmartAccountSigner_1.walletClientToSmartAccountSigner)(walletClient);
|
|
30
|
+
};
|
|
31
|
+
exports.providerToSmartAccountSigner = providerToSmartAccountSigner;
|
|
32
|
+
//# sourceMappingURL=providerToSmartAccountSigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerToSmartAccountSigner.js","sourceRoot":"","sources":["../../utils/providerToSmartAccountSigner.ts"],"names":[],"mappings":";;;AAAA,+BAKa;AACb,yFAAqF;AAE9E,MAAM,4BAA4B,GAAG,KAAK,EAC7C,QAAyB,EACzB,MAEC,EACH,EAAE;IACA,IAAI,OAAY,CAAA;IAChB,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,IAAI,CAAC;YACD,CAAC;YAAA,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBAChC,MAAM,EAAE,qBAAqB;aAChC,CAAC,CAAA;QACN,CAAC;QAAC,MAAM,CAAC;YACL,CAAC;YAAA,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBAChC,MAAM,EAAE,cAAc;aACzB,CAAC,CAAA;QACN,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,MAAM,CAAC,aAAa,CAAA;IAClC,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACpC,OAAO,EAAE,OAAc;QACvB,SAAS,EAAE,IAAA,aAAM,EAAC,QAAQ,CAAC;KAC9B,CAAC,CAAA;IACF,OAAO,IAAA,mEAAgC,EAAC,YAAY,CAAC,CAAA;AACzD,CAAC,CAAA;AAzBY,QAAA,4BAA4B,gCAyBxC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.signUserOperationHashWithECDSA = exports.AccountOrClientNotFoundError = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const _1 = require("./index.js");
|
|
6
|
+
const getUserOperationHash_1 = require("./getUserOperationHash.js");
|
|
7
|
+
class AccountOrClientNotFoundError extends viem_1.BaseError {
|
|
8
|
+
constructor({ docsPath } = {}) {
|
|
9
|
+
super([
|
|
10
|
+
"Could not find an Account to execute with this Action.",
|
|
11
|
+
"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the WalletClient."
|
|
12
|
+
].join("\n"), {
|
|
13
|
+
docsPath,
|
|
14
|
+
docsSlug: "account"
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(this, "name", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true,
|
|
20
|
+
value: "AccountOrClientNotFoundError"
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.AccountOrClientNotFoundError = AccountOrClientNotFoundError;
|
|
25
|
+
const signUserOperationHashWithECDSA = async ({ client, account: account_ = client?.account, hash, userOperation, chainId, entryPoint: entryPointAddress }) => {
|
|
26
|
+
if (!account_)
|
|
27
|
+
throw new AccountOrClientNotFoundError({
|
|
28
|
+
docsPath: "/permissionless/reference/utils/signUserOperationHashWithECDSA"
|
|
29
|
+
});
|
|
30
|
+
let userOperationHash;
|
|
31
|
+
if (hash) {
|
|
32
|
+
userOperationHash = hash;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
userOperationHash = (0, getUserOperationHash_1.getUserOperationHash)({
|
|
36
|
+
userOperation,
|
|
37
|
+
chainId,
|
|
38
|
+
entryPoint: entryPointAddress
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
const account = (0, _1.parseAccount)(account_);
|
|
42
|
+
if (account.type === "local")
|
|
43
|
+
return account.signMessage({
|
|
44
|
+
message: {
|
|
45
|
+
raw: userOperationHash
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
if (!client)
|
|
49
|
+
throw new AccountOrClientNotFoundError({
|
|
50
|
+
docsPath: "/permissionless/reference/utils/signUserOperationHashWithECDSA"
|
|
51
|
+
});
|
|
52
|
+
return client.request({
|
|
53
|
+
method: "personal_sign",
|
|
54
|
+
params: [userOperationHash, account.address]
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
exports.signUserOperationHashWithECDSA = signUserOperationHashWithECDSA;
|
|
58
|
+
//# sourceMappingURL=signUserOperationHashWithECDSA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signUserOperationHashWithECDSA.js","sourceRoot":"","sources":["../../utils/signUserOperationHashWithECDSA.ts"],"names":[],"mappings":";;;AAAA,+BAQa;AAOb,yBAAiC;AACjC,iEAA6D;AAuB7D,MAAa,4BAA6B,SAAQ,gBAAS;IAEvD,YAAY,EAAE,QAAQ,KAA4B,EAAE;QAChD,KAAK,CACD;YACI,wDAAwD;YACxD,wHAAwH;SAC3H,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;YACI,QAAQ;YACR,QAAQ,EAAE,SAAS;SACtB,CACJ,CAAA;QAXI;;;;mBAAO,8BAA8B;WAAA;IAY9C,CAAC;CACJ;AAdD,oEAcC;AAyBM,MAAM,8BAA8B,GAAG,KAAK,EAKjD,EACE,MAAM,EACN,OAAO,EAAE,QAAQ,GAAG,MAAM,EAAE,OAAO,EACnC,IAAI,EACJ,aAAa,EACb,OAAO,EACP,UAAU,EAAE,iBAAiB,EAMhC,EAAgB,EAAE;IACf,IAAI,CAAC,QAAQ;QACT,MAAM,IAAI,4BAA4B,CAAC;YACnC,QAAQ,EACJ,gEAAgE;SACvE,CAAC,CAAA;IAEN,IAAI,iBAAuB,CAAA;IAE3B,IAAI,IAAI,EAAE,CAAC;QACP,iBAAiB,GAAG,IAAI,CAAA;IAC5B,CAAC;SAAM,CAAC;QACJ,iBAAiB,GAAG,IAAA,2CAAoB,EAAa;YACjD,aAAa;YACb,OAAO;YACP,UAAU,EAAE,iBAAiB;SAChC,CAAC,CAAA;IACN,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,eAAY,EAAC,QAAQ,CAAC,CAAA;IAEtC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QACxB,OAAO,OAAO,CAAC,WAAW,CAAC;YACvB,OAAO,EAAE;gBACL,GAAG,EAAE,iBAAiB;aACzB;SACJ,CAAC,CAAA;IAEN,IAAI,CAAC,MAAM;QACP,MAAM,IAAI,4BAA4B,CAAC;YACnC,QAAQ,EACJ,gEAAgE;SACvE,CAAC,CAAA;IAEN,OAAO,MAAM,CAAC,OAAO,CAAC;QAClB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC;KAC/C,CAAC,CAAA;AACN,CAAC,CAAA;AAvDY,QAAA,8BAA8B,kCAuD1C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.walletClientToSmartAccountSigner = void 0;
|
|
4
|
+
const actions_1 = require("viem/actions");
|
|
5
|
+
function walletClientToSmartAccountSigner(walletClient) {
|
|
6
|
+
return {
|
|
7
|
+
address: walletClient.account.address,
|
|
8
|
+
type: "local",
|
|
9
|
+
source: "custom",
|
|
10
|
+
publicKey: walletClient.account.address,
|
|
11
|
+
signMessage: async ({ message }) => {
|
|
12
|
+
return walletClient.signMessage({ message });
|
|
13
|
+
},
|
|
14
|
+
async signTypedData(typedData) {
|
|
15
|
+
return (0, actions_1.signTypedData)(walletClient, {
|
|
16
|
+
account: walletClient.account,
|
|
17
|
+
...typedData
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.walletClientToSmartAccountSigner = walletClientToSmartAccountSigner;
|
|
23
|
+
//# sourceMappingURL=walletClientToSmartAccountSigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletClientToSmartAccountSigner.js","sourceRoot":"","sources":["../../utils/walletClientToSmartAccountSigner.ts"],"names":[],"mappings":";;;AAYA,0CAA4C;AAG5C,SAAgB,gCAAgC,CAG5C,YAAsD;IAEtD,OAAO;QACH,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO;QACvC,WAAW,EAAE,KAAK,EAAE,EAChB,OAAO,EACoB,EAAgB,EAAE;YAC7C,OAAO,YAAY,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAChD,CAAC;QACD,KAAK,CAAC,aAAa,CAKjB,SAAwD;YACtD,OAAO,IAAA,uBAAa,EAChB,YAAY,EACZ;gBACI,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,GAAG,SAAS;aACf,CACJ,CAAA;QACL,CAAC;KACJ,CAAA;AACL,CAAC;AA9BD,4EA8BC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_path_1 = require("node:path");
|
|
4
|
+
const config_1 = require("vitest/config");
|
|
5
|
+
exports.default = (0, config_1.defineConfig)({
|
|
6
|
+
test: {
|
|
7
|
+
coverage: {
|
|
8
|
+
all: true,
|
|
9
|
+
provider: "v8",
|
|
10
|
+
reporter: process.env.CI ? ["lcov"] : ["text", "json", "html"],
|
|
11
|
+
include: ["**/permissionless/**"],
|
|
12
|
+
exclude: [
|
|
13
|
+
"**/errors/utils.ts",
|
|
14
|
+
"**/*.test.ts",
|
|
15
|
+
"**/permissionless-test/**",
|
|
16
|
+
"**/_cjs/**",
|
|
17
|
+
"**/_esm/**",
|
|
18
|
+
"**/_types/**"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
sequence: {
|
|
22
|
+
concurrent: false
|
|
23
|
+
},
|
|
24
|
+
fileParallelism: true,
|
|
25
|
+
environment: "node",
|
|
26
|
+
testTimeout: 60_000,
|
|
27
|
+
hookTimeout: 45_000,
|
|
28
|
+
include: [(0, node_path_1.join)(__dirname, "./**/*.test.ts")]
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=vitest.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":";;AAAA,yCAAgC;AAChC,0CAA4C;AAE5C,kBAAe,IAAA,qBAAY,EAAC;IACxB,IAAI,EAAE;QACF,QAAQ,EAAE;YACN,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC9D,OAAO,EAAE,CAAC,sBAAsB,CAAC;YACjC,OAAO,EAAE;gBACL,oBAAoB;gBACpB,cAAc;gBACd,2BAA2B;gBAC3B,YAAY;gBACZ,YAAY;gBACZ,cAAc;aACjB;SACJ;QACD,QAAQ,EAAE;YACN,UAAU,EAAE,KAAK;SACpB;QACD,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,CAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;KAC/C;CACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The exeuctor abi, used to execute transactions on the Biconomy Modular Smart Account
|
|
3
|
+
*/
|
|
4
|
+
export const BiconomyExecuteAbi = [
|
|
5
|
+
{
|
|
6
|
+
inputs: [
|
|
7
|
+
{
|
|
8
|
+
internalType: "address",
|
|
9
|
+
name: "dest",
|
|
10
|
+
type: "address"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
internalType: "uint256",
|
|
14
|
+
name: "value",
|
|
15
|
+
type: "uint256"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
internalType: "bytes",
|
|
19
|
+
name: "func",
|
|
20
|
+
type: "bytes"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
name: "execute_ncC",
|
|
24
|
+
outputs: [],
|
|
25
|
+
stateMutability: "nonpayable",
|
|
26
|
+
type: "function"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
inputs: [
|
|
30
|
+
{
|
|
31
|
+
internalType: "address[]",
|
|
32
|
+
name: "dest",
|
|
33
|
+
type: "address[]"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
internalType: "uint256[]",
|
|
37
|
+
name: "value",
|
|
38
|
+
type: "uint256[]"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
internalType: "bytes[]",
|
|
42
|
+
name: "func",
|
|
43
|
+
type: "bytes[]"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
name: "executeBatch_y6U",
|
|
47
|
+
outputs: [],
|
|
48
|
+
stateMutability: "nonpayable",
|
|
49
|
+
type: "function"
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
/**
|
|
53
|
+
* The init abi, used to initialise Biconomy Modular Smart Account / setup default ECDSA module
|
|
54
|
+
*/
|
|
55
|
+
export const BiconomyInitAbi = [
|
|
56
|
+
{
|
|
57
|
+
inputs: [
|
|
58
|
+
{
|
|
59
|
+
internalType: "address",
|
|
60
|
+
name: "handler",
|
|
61
|
+
type: "address"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
internalType: "address",
|
|
65
|
+
name: "moduleSetupContract",
|
|
66
|
+
type: "address"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
internalType: "bytes",
|
|
70
|
+
name: "moduleSetupData",
|
|
71
|
+
type: "bytes"
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
name: "init",
|
|
75
|
+
outputs: [
|
|
76
|
+
{
|
|
77
|
+
internalType: "address",
|
|
78
|
+
name: "",
|
|
79
|
+
type: "address"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
stateMutability: "nonpayable",
|
|
83
|
+
type: "function"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
inputs: [
|
|
87
|
+
{
|
|
88
|
+
internalType: "address",
|
|
89
|
+
name: "eoaOwner",
|
|
90
|
+
type: "address"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
name: "initForSmartAccount",
|
|
94
|
+
outputs: [
|
|
95
|
+
{
|
|
96
|
+
internalType: "address",
|
|
97
|
+
name: "",
|
|
98
|
+
type: "address"
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
stateMutability: "nonpayable",
|
|
102
|
+
type: "function"
|
|
103
|
+
}
|
|
104
|
+
];
|
|
105
|
+
//# sourceMappingURL=BiconomySmartAccountAbi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BiconomySmartAccountAbi.js","sourceRoot":"","sources":["../../../../accounts/biconomy/abi/BiconomySmartAccountAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aAChB;SACJ;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;aACpB;YACD;gBACI,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;aACpB;YACD;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACnB;CACK,CAAA;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,OAAO;aAChB;SACJ;QACD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACL;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE;YACL;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACnB;CACJ,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { privateKeyToAccount } from "viem/accounts";
|
|
2
|
+
import { signerToBiconomySmartAccount } from "./signerToBiconomySmartAccount.js";
|
|
3
|
+
/**
|
|
4
|
+
* @description Creates a Biconomy Smart Account from a private key.
|
|
5
|
+
*
|
|
6
|
+
* @returns A Private Key Biconomy Smart Account using ECDSA as default validation module.
|
|
7
|
+
*/
|
|
8
|
+
export async function privateKeyToBiconomySmartAccount(client, { privateKey, ...rest }) {
|
|
9
|
+
const privateKeyAccount = privateKeyToAccount(privateKey);
|
|
10
|
+
return signerToBiconomySmartAccount(client, {
|
|
11
|
+
signer: privateKeyAccount,
|
|
12
|
+
...rest
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=privateKeyToBiconomySmartAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privateKeyToBiconomySmartAccount.js","sourceRoot":"","sources":["../../../accounts/biconomy/privateKeyToBiconomySmartAccount.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,EAGH,4BAA4B,EAC/B,MAAM,gCAAgC,CAAA;AAUvC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAKlD,MAMC,EACD,EACI,UAAU,EACV,GAAG,IAAI,EAC8C;IAEzD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACzD,OAAO,4BAA4B,CAKjC,MAAM,EAAE;QACN,MAAM,EAAE,iBAAiB;QACzB,GAAG,IAAI;KACV,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { concatHex, encodeAbiParameters, encodeFunctionData, encodePacked, getContractAddress, hexToBigInt, keccak256, parseAbiParameters } from "viem";
|
|
2
|
+
import { getChainId, signMessage, signTypedData } from "viem/actions";
|
|
3
|
+
import { getAccountNonce } from "../../actions/public/getAccountNonce.js";
|
|
4
|
+
import { getEntryPointVersion } from "../../utils/index.js";
|
|
5
|
+
import { getUserOperationHash } from "../../utils/getUserOperationHash.js";
|
|
6
|
+
import { isSmartAccountDeployed } from "../../utils/isSmartAccountDeployed.js";
|
|
7
|
+
import { toSmartAccount } from "../toSmartAccount.js";
|
|
8
|
+
import { SignTransactionNotSupportedBySmartAccount } from "../types.js";
|
|
9
|
+
import { BiconomyExecuteAbi, BiconomyInitAbi } from "./abi/BiconomySmartAccountAbi.js";
|
|
10
|
+
/**
|
|
11
|
+
* The account creation ABI for Biconomy Smart Account (from the biconomy SmartAccountFactory)
|
|
12
|
+
*/
|
|
13
|
+
const createAccountAbi = [
|
|
14
|
+
{
|
|
15
|
+
inputs: [
|
|
16
|
+
{
|
|
17
|
+
internalType: "address",
|
|
18
|
+
name: "moduleSetupContract",
|
|
19
|
+
type: "address"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
internalType: "bytes",
|
|
23
|
+
name: "moduleSetupData",
|
|
24
|
+
type: "bytes"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
internalType: "uint256",
|
|
28
|
+
name: "index",
|
|
29
|
+
type: "uint256"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
name: "deployCounterFactualAccount",
|
|
33
|
+
outputs: [
|
|
34
|
+
{
|
|
35
|
+
internalType: "address",
|
|
36
|
+
name: "proxy",
|
|
37
|
+
type: "address"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
stateMutability: "nonpayable",
|
|
41
|
+
type: "function"
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
/**
|
|
45
|
+
* Default addresses for Biconomy Smart Account
|
|
46
|
+
*/
|
|
47
|
+
const BICONOMY_ADDRESSES = {
|
|
48
|
+
ECDSA_OWNERSHIP_REGISTRY_MODULE: "0x0000001c5b32F37F5beA87BDD5374eB2aC54eA8e",
|
|
49
|
+
ACCOUNT_V2_0_LOGIC: "0x0000002512019Dafb59528B82CB92D3c5D2423aC",
|
|
50
|
+
FACTORY_ADDRESS: "0x000000a56Aaca3e9a4C479ea6b6CD0DbcB6634F5",
|
|
51
|
+
DEFAULT_FALLBACK_HANDLER_ADDRESS: "0x0bBa6d96BD616BedC6BFaa341742FD43c60b83C1"
|
|
52
|
+
};
|
|
53
|
+
const BICONOMY_PROXY_CREATION_CODE = "0x6080346100aa57601f61012038819003918201601f19168301916001600160401b038311848410176100af578084926020946040528339810103126100aa57516001600160a01b0381168082036100aa5715610065573055604051605a90816100c68239f35b60405162461bcd60e51b815260206004820152601e60248201527f496e76616c696420696d706c656d656e746174696f6e206164647265737300006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060405230546000808092368280378136915af43d82803e156020573d90f35b3d90fdfea2646970667358221220a03b18dce0be0b4c9afe58a9eb85c35205e2cf087da098bbf1d23945bf89496064736f6c63430008110033";
|
|
54
|
+
/**
|
|
55
|
+
* Get the account initialization code for Biconomy smart account with ECDSA as default authorization module
|
|
56
|
+
* @param owner
|
|
57
|
+
* @param index
|
|
58
|
+
* @param factoryAddress
|
|
59
|
+
* @param ecdsaValidatorAddress
|
|
60
|
+
*/
|
|
61
|
+
const getAccountInitCode = async ({ owner, index, ecdsaModuleAddress }) => {
|
|
62
|
+
if (!owner)
|
|
63
|
+
throw new Error("Owner account not found");
|
|
64
|
+
// Build the module setup data
|
|
65
|
+
const ecdsaOwnershipInitData = encodeFunctionData({
|
|
66
|
+
abi: BiconomyInitAbi,
|
|
67
|
+
functionName: "initForSmartAccount",
|
|
68
|
+
args: [owner]
|
|
69
|
+
});
|
|
70
|
+
// Build the account init code
|
|
71
|
+
return encodeFunctionData({
|
|
72
|
+
abi: createAccountAbi,
|
|
73
|
+
functionName: "deployCounterFactualAccount",
|
|
74
|
+
args: [ecdsaModuleAddress, ecdsaOwnershipInitData, index]
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
const getAccountAddress = async ({ factoryAddress, accountLogicAddress, fallbackHandlerAddress, ecdsaModuleAddress, owner, index = BigInt(0) }) => {
|
|
78
|
+
// Build the module setup data
|
|
79
|
+
const ecdsaOwnershipInitData = encodeFunctionData({
|
|
80
|
+
abi: BiconomyInitAbi,
|
|
81
|
+
functionName: "initForSmartAccount",
|
|
82
|
+
args: [owner]
|
|
83
|
+
});
|
|
84
|
+
// Build account init code
|
|
85
|
+
const initialisationData = encodeFunctionData({
|
|
86
|
+
abi: BiconomyInitAbi,
|
|
87
|
+
functionName: "init",
|
|
88
|
+
args: [
|
|
89
|
+
fallbackHandlerAddress,
|
|
90
|
+
ecdsaModuleAddress,
|
|
91
|
+
ecdsaOwnershipInitData
|
|
92
|
+
]
|
|
93
|
+
});
|
|
94
|
+
const deploymentCode = encodePacked(["bytes", "uint256"], [BICONOMY_PROXY_CREATION_CODE, hexToBigInt(accountLogicAddress)]);
|
|
95
|
+
const salt = keccak256(encodePacked(["bytes32", "uint256"], [keccak256(encodePacked(["bytes"], [initialisationData])), index]));
|
|
96
|
+
return getContractAddress({
|
|
97
|
+
from: factoryAddress,
|
|
98
|
+
salt,
|
|
99
|
+
bytecode: deploymentCode,
|
|
100
|
+
opcode: "CREATE2"
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Build a Biconomy modular smart account from a private key, that use the ECDSA signer behind the scene
|
|
105
|
+
* @param client
|
|
106
|
+
* @param privateKey
|
|
107
|
+
* @param entryPoint
|
|
108
|
+
* @param index
|
|
109
|
+
* @param factoryAddress
|
|
110
|
+
* @param accountLogicAddress
|
|
111
|
+
* @param ecdsaModuleAddress
|
|
112
|
+
*/
|
|
113
|
+
export async function signerToBiconomySmartAccount(client, { signer, address, entryPoint: entryPointAddress, index = BigInt(0), factoryAddress = BICONOMY_ADDRESSES.FACTORY_ADDRESS, accountLogicAddress = BICONOMY_ADDRESSES.ACCOUNT_V2_0_LOGIC, fallbackHandlerAddress = BICONOMY_ADDRESSES.DEFAULT_FALLBACK_HANDLER_ADDRESS, ecdsaModuleAddress = BICONOMY_ADDRESSES.ECDSA_OWNERSHIP_REGISTRY_MODULE, nonceKey }) {
|
|
114
|
+
const entryPointVersion = getEntryPointVersion(entryPointAddress);
|
|
115
|
+
if (entryPointVersion !== "v0.6") {
|
|
116
|
+
throw new Error("Only EntryPoint 0.6 is supported");
|
|
117
|
+
}
|
|
118
|
+
// Get the private key related account
|
|
119
|
+
const viemSigner = {
|
|
120
|
+
...signer,
|
|
121
|
+
signTransaction: (_, __) => {
|
|
122
|
+
throw new SignTransactionNotSupportedBySmartAccount();
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
// Helper to generate the init code for the smart account
|
|
126
|
+
const generateInitCode = () => getAccountInitCode({
|
|
127
|
+
owner: viemSigner.address,
|
|
128
|
+
index,
|
|
129
|
+
ecdsaModuleAddress
|
|
130
|
+
});
|
|
131
|
+
// Fetch account address and chain id
|
|
132
|
+
const [accountAddress, chainId] = await Promise.all([
|
|
133
|
+
address ??
|
|
134
|
+
getAccountAddress({
|
|
135
|
+
owner: viemSigner.address,
|
|
136
|
+
ecdsaModuleAddress,
|
|
137
|
+
factoryAddress,
|
|
138
|
+
accountLogicAddress,
|
|
139
|
+
fallbackHandlerAddress,
|
|
140
|
+
index
|
|
141
|
+
}),
|
|
142
|
+
client.chain?.id ?? getChainId(client)
|
|
143
|
+
]);
|
|
144
|
+
if (!accountAddress)
|
|
145
|
+
throw new Error("Account address not found");
|
|
146
|
+
let smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
|
|
147
|
+
return toSmartAccount({
|
|
148
|
+
address: accountAddress,
|
|
149
|
+
async signMessage({ message }) {
|
|
150
|
+
let signature = await signMessage(client, {
|
|
151
|
+
account: viemSigner,
|
|
152
|
+
message
|
|
153
|
+
});
|
|
154
|
+
const potentiallyIncorrectV = Number.parseInt(signature.slice(-2), 16);
|
|
155
|
+
if (![27, 28].includes(potentiallyIncorrectV)) {
|
|
156
|
+
const correctV = potentiallyIncorrectV + 27;
|
|
157
|
+
signature = (signature.slice(0, -2) +
|
|
158
|
+
correctV.toString(16));
|
|
159
|
+
}
|
|
160
|
+
return encodeAbiParameters([{ type: "bytes" }, { type: "address" }], [signature, ecdsaModuleAddress]);
|
|
161
|
+
},
|
|
162
|
+
async signTransaction(_, __) {
|
|
163
|
+
throw new SignTransactionNotSupportedBySmartAccount();
|
|
164
|
+
},
|
|
165
|
+
async signTypedData(typedData) {
|
|
166
|
+
let signature = await signTypedData(client, {
|
|
167
|
+
account: viemSigner,
|
|
168
|
+
...typedData
|
|
169
|
+
});
|
|
170
|
+
const potentiallyIncorrectV = Number.parseInt(signature.slice(-2), 16);
|
|
171
|
+
if (![27, 28].includes(potentiallyIncorrectV)) {
|
|
172
|
+
const correctV = potentiallyIncorrectV + 27;
|
|
173
|
+
signature = (signature.slice(0, -2) +
|
|
174
|
+
correctV.toString(16));
|
|
175
|
+
}
|
|
176
|
+
return encodeAbiParameters([{ type: "bytes" }, { type: "address" }], [signature, ecdsaModuleAddress]);
|
|
177
|
+
},
|
|
178
|
+
client: client,
|
|
179
|
+
publicKey: accountAddress,
|
|
180
|
+
entryPoint: entryPointAddress,
|
|
181
|
+
source: "biconomySmartAccount",
|
|
182
|
+
// Get the nonce of the smart account
|
|
183
|
+
async getNonce(key) {
|
|
184
|
+
return getAccountNonce(client, {
|
|
185
|
+
sender: accountAddress,
|
|
186
|
+
entryPoint: entryPointAddress,
|
|
187
|
+
key: key ?? nonceKey
|
|
188
|
+
});
|
|
189
|
+
},
|
|
190
|
+
// Sign a user operation
|
|
191
|
+
async signUserOperation(userOperation) {
|
|
192
|
+
const hash = getUserOperationHash({
|
|
193
|
+
userOperation: {
|
|
194
|
+
...userOperation,
|
|
195
|
+
signature: "0x"
|
|
196
|
+
},
|
|
197
|
+
entryPoint: entryPointAddress,
|
|
198
|
+
chainId: chainId
|
|
199
|
+
});
|
|
200
|
+
const signature = await signMessage(client, {
|
|
201
|
+
account: viemSigner,
|
|
202
|
+
message: { raw: hash }
|
|
203
|
+
});
|
|
204
|
+
// userOp signature is encoded module signature + module address
|
|
205
|
+
const signatureWithModuleAddress = encodeAbiParameters(parseAbiParameters("bytes, address"), [signature, ecdsaModuleAddress]);
|
|
206
|
+
return signatureWithModuleAddress;
|
|
207
|
+
},
|
|
208
|
+
async getFactory() {
|
|
209
|
+
if (smartAccountDeployed)
|
|
210
|
+
return undefined;
|
|
211
|
+
smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
|
|
212
|
+
if (smartAccountDeployed)
|
|
213
|
+
return undefined;
|
|
214
|
+
return factoryAddress;
|
|
215
|
+
},
|
|
216
|
+
async getFactoryData() {
|
|
217
|
+
if (smartAccountDeployed)
|
|
218
|
+
return undefined;
|
|
219
|
+
smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
|
|
220
|
+
if (smartAccountDeployed)
|
|
221
|
+
return undefined;
|
|
222
|
+
return generateInitCode();
|
|
223
|
+
},
|
|
224
|
+
// Encode the init code
|
|
225
|
+
async getInitCode() {
|
|
226
|
+
if (smartAccountDeployed)
|
|
227
|
+
return "0x";
|
|
228
|
+
smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
|
|
229
|
+
if (smartAccountDeployed)
|
|
230
|
+
return "0x";
|
|
231
|
+
return concatHex([factoryAddress, await generateInitCode()]);
|
|
232
|
+
},
|
|
233
|
+
// Encode the deploy call data
|
|
234
|
+
async encodeDeployCallData(_) {
|
|
235
|
+
throw new Error("Doesn't support account deployment");
|
|
236
|
+
},
|
|
237
|
+
// Encode a call
|
|
238
|
+
async encodeCallData(args) {
|
|
239
|
+
if (Array.isArray(args)) {
|
|
240
|
+
// Encode a batched call
|
|
241
|
+
const argsArray = args;
|
|
242
|
+
return encodeFunctionData({
|
|
243
|
+
abi: BiconomyExecuteAbi,
|
|
244
|
+
functionName: "executeBatch_y6U",
|
|
245
|
+
args: [
|
|
246
|
+
argsArray.map((a) => a.to),
|
|
247
|
+
argsArray.map((a) => a.value),
|
|
248
|
+
argsArray.map((a) => a.data)
|
|
249
|
+
]
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
const { to, value, data } = args;
|
|
253
|
+
// Encode a simple call
|
|
254
|
+
return encodeFunctionData({
|
|
255
|
+
abi: BiconomyExecuteAbi,
|
|
256
|
+
functionName: "execute_ncC",
|
|
257
|
+
args: [to, value, data]
|
|
258
|
+
});
|
|
259
|
+
},
|
|
260
|
+
// Get simple dummy signature for ECDSA module authorization
|
|
261
|
+
async getDummySignature(_userOperation) {
|
|
262
|
+
const moduleAddress = BICONOMY_ADDRESSES.ECDSA_OWNERSHIP_REGISTRY_MODULE;
|
|
263
|
+
const dynamicPart = moduleAddress.substring(2).padEnd(40, "0");
|
|
264
|
+
return `0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000${dynamicPart}000000000000000000000000000000000000000000000000000000000000004181d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b00000000000000000000000000000000000000000000000000000000000000`;
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
//# sourceMappingURL=signerToBiconomySmartAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signerToBiconomySmartAccount.js","sourceRoot":"","sources":["../../../accounts/biconomy/signerToBiconomySmartAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { privateKeyToSimpleSmartAccount } from "./simple/privateKeyToSimpleSmartAccount.js";
|
|
2
|
+
import { signerToSimpleSmartAccount } from "./simple/signerToSimpleSmartAccount.js";
|
|
3
|
+
import { privateKeyToLightSmartAccount } from "./light/privateKeyToLightSmartAccount.js";
|
|
4
|
+
import { signerToLightSmartAccount } from "./light/signerToLightSmartAccount.js";
|
|
5
|
+
import { signerToTrustSmartAccount } from "./trust/signerToTrustSmartAccount.js";
|
|
6
|
+
import { privateKeyToTrustSmartAccount } from "./trust/privateKeyToTrustSmartAccount.js";
|
|
7
|
+
import { privateKeyToSafeSmartAccount } from "./safe/privateKeyToSafeSmartAccount.js";
|
|
8
|
+
import { signerToSafeSmartAccount } from "./safe/signerToSafeSmartAccount.js";
|
|
9
|
+
import { signerToEcdsaKernelSmartAccount } from "./kernel/signerToEcdsaKernelSmartAccount.js";
|
|
10
|
+
import { signerToBiconomySmartAccount } from "./biconomy/signerToBiconomySmartAccount.js";
|
|
11
|
+
import { privateKeyToBiconomySmartAccount } from "./biconomy/privateKeyToBiconomySmartAccount.js";
|
|
12
|
+
import { SignTransactionNotSupportedBySmartAccount } from "./types.js";
|
|
13
|
+
import { toSmartAccount } from "./toSmartAccount.js";
|
|
14
|
+
export { signerToSafeSmartAccount, signerToSimpleSmartAccount, signerToLightSmartAccount, signerToTrustSmartAccount, privateKeyToTrustSmartAccount, SignTransactionNotSupportedBySmartAccount, privateKeyToBiconomySmartAccount, privateKeyToSimpleSmartAccount, privateKeyToLightSmartAccount, privateKeyToSafeSmartAccount, signerToEcdsaKernelSmartAccount, signerToBiconomySmartAccount, toSmartAccount };
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,8BAA8B,EACjC,MAAM,yCAAyC,CAAA;AAEhD,OAAO,EAGH,0BAA0B,EAC7B,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAEH,6BAA6B,EAChC,MAAM,uCAAuC,CAAA;AAE9C,OAAO,EAGH,yBAAyB,EAC5B,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EAGH,yBAAyB,EAC5B,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EAEH,6BAA6B,EAChC,MAAM,uCAAuC,CAAA;AAE9C,OAAO,EAEH,4BAA4B,EAC/B,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAIH,wBAAwB,EAC3B,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAGH,+BAA+B,EAClC,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAGH,4BAA4B,EAC/B,MAAM,yCAAyC,CAAA;AAEhD,OAAO,EAEH,gCAAgC,EACnC,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACH,yCAAyC,EAG5C,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAIH,wBAAwB,EAExB,0BAA0B,EAE1B,yBAAyB,EAEzB,yBAAyB,EACzB,6BAA6B,EAC7B,yCAAyC,EACzC,gCAAgC,EAChC,8BAA8B,EAC9B,6BAA6B,EAE7B,4BAA4B,EAE5B,+BAA+B,EAE/B,4BAA4B,EAC5B,cAAc,EAYjB,CAAA"}
|