@zerodev/sdk 5.3.25 → 5.4.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_cjs/accounts/index.js.map +1 -1
- package/_cjs/accounts/kernel/createKernelAccount.js +171 -199
- package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_cjs/accounts/kernel/utils/account/ep0_6/encodeCallData.js +13 -9
- package/_cjs/accounts/kernel/utils/account/ep0_6/encodeCallData.js.map +1 -1
- package/_cjs/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js.map +1 -1
- package/_cjs/accounts/kernel/utils/account/ep0_6/encodeModuleInstallCallData.js +18 -17
- package/_cjs/accounts/kernel/utils/account/ep0_6/encodeModuleInstallCallData.js.map +1 -1
- package/_cjs/accounts/kernel/utils/account/ep0_7/encodeCallData.js +12 -8
- package/_cjs/accounts/kernel/utils/account/ep0_7/encodeCallData.js.map +1 -1
- package/_cjs/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js.map +1 -1
- package/_cjs/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
- package/_cjs/accounts/kernel/utils/common/getActionSelector.js +2 -2
- package/_cjs/accounts/kernel/utils/common/getActionSelector.js.map +1 -1
- package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.js +2 -2
- package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.js.map +1 -1
- package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.js +1 -1
- package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.js.map +1 -1
- package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.js +1 -1
- package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.js.map +1 -1
- package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.js +2 -2
- package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.js.map +1 -1
- package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteCall.js +2 -2
- package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteCall.js.map +1 -1
- package/_cjs/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.js.map +1 -1
- package/_cjs/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.js.map +1 -1
- package/_cjs/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.js.map +1 -1
- package/_cjs/accounts/kernel/v1/createKernelAccountV1.js +81 -94
- package/_cjs/accounts/kernel/v1/createKernelAccountV1.js.map +1 -1
- package/_cjs/accounts/kernel/v2/createKernelAccountV0_2.js +104 -110
- package/_cjs/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -1
- package/_cjs/accounts/utils/getCustomNonceKeyFromString.js +2 -4
- package/_cjs/accounts/utils/getCustomNonceKeyFromString.js.map +1 -1
- package/_cjs/accounts/utils/index.js +1 -7
- package/_cjs/accounts/utils/index.js.map +1 -1
- package/_cjs/accounts/utils/multisend.js.map +1 -1
- package/_cjs/accounts/utils/toKernelPluginManager.js +14 -16
- package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_cjs/actions/account-client/changeSudoValidator.js +27 -21
- package/_cjs/actions/account-client/changeSudoValidator.js.map +1 -1
- package/_cjs/actions/account-client/getKernelV3ModuleCurrentNonce.js +8 -6
- package/_cjs/actions/account-client/getKernelV3ModuleCurrentNonce.js.map +1 -1
- package/_cjs/actions/account-client/invalidateNonce.js +20 -15
- package/_cjs/actions/account-client/invalidateNonce.js.map +1 -1
- package/_cjs/actions/account-client/sendTransaction.js +42 -0
- package/_cjs/actions/account-client/sendTransaction.js.map +1 -0
- package/_cjs/actions/account-client/signMessage.js +15 -0
- package/_cjs/actions/account-client/signMessage.js.map +1 -0
- package/_cjs/actions/account-client/signTypedData.js +32 -0
- package/_cjs/actions/account-client/signTypedData.js.map +1 -0
- package/_cjs/actions/account-client/signUserOperation.js +7 -5
- package/_cjs/actions/account-client/signUserOperation.js.map +1 -1
- package/_cjs/actions/account-client/uninstallPlugin.js +13 -12
- package/_cjs/actions/account-client/uninstallPlugin.js.map +1 -1
- package/_cjs/actions/account-client/writeContract.js +21 -0
- package/_cjs/actions/account-client/writeContract.js.map +1 -0
- package/_cjs/actions/index.js +13 -3
- package/_cjs/actions/index.js.map +1 -1
- package/_cjs/actions/paymaster/estimateGasInERC20.js +4 -4
- package/_cjs/actions/paymaster/estimateGasInERC20.js.map +1 -1
- package/_cjs/actions/paymaster/sponsorUserOperation.js +4 -6
- package/_cjs/actions/paymaster/sponsorUserOperation.js.map +1 -1
- package/_cjs/actions/public/getAccountNonce.js +38 -0
- package/_cjs/actions/public/getAccountNonce.js.map +1 -0
- package/_cjs/actions/public/getSenderAddress.js +166 -0
- package/_cjs/actions/public/getSenderAddress.js.map +1 -0
- package/_cjs/actions/public/index.js +8 -0
- package/_cjs/actions/public/index.js.map +1 -0
- package/_cjs/clients/decorators/kernel.js +17 -27
- package/_cjs/clients/decorators/kernel.js.map +1 -1
- package/_cjs/clients/fallbackKernelAccountClient.js.map +1 -1
- package/_cjs/clients/kernelAccountClient.js +27 -45
- package/_cjs/clients/kernelAccountClient.js.map +1 -1
- package/_cjs/clients/paymasterClient.js +7 -18
- package/_cjs/clients/paymasterClient.js.map +1 -1
- package/_cjs/errors/index.js +18 -0
- package/_cjs/errors/index.js.map +1 -0
- package/_cjs/gasTokenAddresses.js +2 -1
- package/_cjs/gasTokenAddresses.js.map +1 -1
- package/_cjs/index.js.map +1 -1
- package/_cjs/providers/KernelEIP1193Provider.js.map +1 -1
- package/_cjs/types/kernel.js.map +1 -1
- package/_cjs/utils.js +27 -7
- package/_cjs/utils.js.map +1 -1
- package/_esm/accounts/index.js.map +1 -1
- package/_esm/accounts/kernel/createKernelAccount.js +181 -217
- package/_esm/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_esm/accounts/kernel/utils/account/ep0_6/encodeCallData.js +13 -9
- package/_esm/accounts/kernel/utils/account/ep0_6/encodeCallData.js.map +1 -1
- package/_esm/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js.map +1 -1
- package/_esm/accounts/kernel/utils/account/ep0_6/encodeModuleInstallCallData.js +18 -17
- package/_esm/accounts/kernel/utils/account/ep0_6/encodeModuleInstallCallData.js.map +1 -1
- package/_esm/accounts/kernel/utils/account/ep0_7/encodeCallData.js +12 -8
- package/_esm/accounts/kernel/utils/account/ep0_7/encodeCallData.js.map +1 -1
- package/_esm/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js.map +1 -1
- package/_esm/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
- package/_esm/accounts/kernel/utils/common/getActionSelector.js +2 -2
- package/_esm/accounts/kernel/utils/common/getActionSelector.js.map +1 -1
- package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.js +2 -2
- package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.js.map +1 -1
- package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.js +1 -1
- package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.js.map +1 -1
- package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.js +1 -1
- package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.js.map +1 -1
- package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.js +2 -2
- package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.js.map +1 -1
- package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteCall.js +2 -2
- package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteCall.js.map +1 -1
- package/_esm/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.js.map +1 -1
- package/_esm/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.js.map +1 -1
- package/_esm/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.js.map +1 -1
- package/_esm/accounts/kernel/v1/createKernelAccountV1.js +91 -98
- package/_esm/accounts/kernel/v1/createKernelAccountV1.js.map +1 -1
- package/_esm/accounts/kernel/v2/createKernelAccountV0_2.js +105 -118
- package/_esm/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -1
- package/_esm/accounts/utils/getCustomNonceKeyFromString.js +2 -4
- package/_esm/accounts/utils/getCustomNonceKeyFromString.js.map +1 -1
- package/_esm/accounts/utils/index.js +0 -5
- package/_esm/accounts/utils/index.js.map +1 -1
- package/_esm/accounts/utils/multisend.js.map +1 -1
- package/_esm/accounts/utils/toKernelPluginManager.js +14 -16
- package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_esm/actions/account-client/changeSudoValidator.js +23 -17
- package/_esm/actions/account-client/changeSudoValidator.js.map +1 -1
- package/_esm/actions/account-client/getKernelV3ModuleCurrentNonce.js +8 -6
- package/_esm/actions/account-client/getKernelV3ModuleCurrentNonce.js.map +1 -1
- package/_esm/actions/account-client/invalidateNonce.js +20 -15
- package/_esm/actions/account-client/invalidateNonce.js.map +1 -1
- package/_esm/actions/account-client/sendTransaction.js +85 -0
- package/_esm/actions/account-client/sendTransaction.js.map +1 -0
- package/_esm/actions/account-client/signMessage.js +58 -0
- package/_esm/actions/account-client/signMessage.js.map +1 -0
- package/_esm/actions/account-client/signTypedData.js +127 -0
- package/_esm/actions/account-client/signTypedData.js.map +1 -0
- package/_esm/actions/account-client/signUserOperation.js +7 -5
- package/_esm/actions/account-client/signUserOperation.js.map +1 -1
- package/_esm/actions/account-client/uninstallPlugin.js +10 -9
- package/_esm/actions/account-client/uninstallPlugin.js.map +1 -1
- package/_esm/actions/account-client/writeContract.js +18 -0
- package/_esm/actions/account-client/writeContract.js.map +1 -0
- package/_esm/actions/index.js +6 -1
- package/_esm/actions/index.js.map +1 -1
- package/_esm/actions/paymaster/estimateGasInERC20.js +3 -3
- package/_esm/actions/paymaster/estimateGasInERC20.js.map +1 -1
- package/_esm/actions/paymaster/sponsorUserOperation.js +3 -5
- package/_esm/actions/paymaster/sponsorUserOperation.js.map +1 -1
- package/_esm/actions/public/getAccountNonce.js +61 -0
- package/_esm/actions/public/getAccountNonce.js.map +1 -0
- package/_esm/actions/public/getSenderAddress.js +191 -0
- package/_esm/actions/public/getSenderAddress.js.map +1 -0
- package/_esm/actions/public/index.js +3 -0
- package/_esm/actions/public/index.js.map +1 -0
- package/_esm/clients/decorators/kernel.js +19 -28
- package/_esm/clients/decorators/kernel.js.map +1 -1
- package/_esm/clients/fallbackKernelAccountClient.js.map +1 -1
- package/_esm/clients/kernelAccountClient.js +28 -46
- package/_esm/clients/kernelAccountClient.js.map +1 -1
- package/_esm/clients/paymasterClient.js +8 -19
- package/_esm/clients/paymasterClient.js.map +1 -1
- package/_esm/errors/index.js +14 -0
- package/_esm/errors/index.js.map +1 -0
- package/_esm/gasTokenAddresses.js +2 -1
- package/_esm/gasTokenAddresses.js.map +1 -1
- package/_esm/index.js.map +1 -1
- package/_esm/providers/KernelEIP1193Provider.js.map +1 -1
- package/_esm/types/kernel.js.map +1 -1
- package/_esm/utils.js +29 -7
- package/_esm/utils.js.map +1 -1
- package/_types/accounts/index.d.ts +2 -2
- package/_types/accounts/index.d.ts.map +1 -1
- package/_types/accounts/kernel/createKernelAccount.d.ts +21 -18
- package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/account/ep0_6/encodeCallData.d.ts +8 -3
- package/_types/accounts/kernel/utils/account/ep0_6/encodeCallData.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.d.ts +3 -2
- package/_types/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/account/ep0_6/encodeModuleInstallCallData.d.ts +0 -1
- package/_types/accounts/kernel/utils/account/ep0_6/encodeModuleInstallCallData.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/account/ep0_7/encodeCallData.d.ts +8 -3
- package/_types/accounts/kernel/utils/account/ep0_7/encodeCallData.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.d.ts +3 -2
- package/_types/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/common/accountMetadata.d.ts +2 -2
- package/_types/accounts/kernel/utils/common/accountMetadata.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/common/getActionSelector.d.ts +1 -1
- package/_types/accounts/kernel/utils/common/getActionSelector.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.d.ts +1 -1
- package/_types/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.d.ts +1 -1
- package/_types/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.d.ts +2 -3
- package/_types/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.d.ts +4 -5
- package/_types/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.d.ts +2 -3
- package/_types/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/types.d.ts +2 -2
- package/_types/accounts/kernel/utils/types.d.ts.map +1 -1
- package/_types/accounts/kernel/v1/createKernelAccountV1.d.ts +18 -9
- package/_types/accounts/kernel/v1/createKernelAccountV1.d.ts.map +1 -1
- package/_types/accounts/kernel/v2/createKernelAccountV0_2.d.ts +9 -7
- package/_types/accounts/kernel/v2/createKernelAccountV0_2.d.ts.map +1 -1
- package/_types/accounts/utils/getCustomNonceKeyFromString.d.ts +2 -2
- package/_types/accounts/utils/getCustomNonceKeyFromString.d.ts.map +1 -1
- package/_types/accounts/utils/index.d.ts +0 -2
- package/_types/accounts/utils/index.d.ts.map +1 -1
- package/_types/accounts/utils/multisend.d.ts +2 -2
- package/_types/accounts/utils/multisend.d.ts.map +1 -1
- package/_types/accounts/utils/toKernelPluginManager.d.ts +4 -4
- package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -1
- package/_types/actions/account-client/changeSudoValidator.d.ts +5 -11
- package/_types/actions/account-client/changeSudoValidator.d.ts.map +1 -1
- package/_types/actions/account-client/getKernelV3ModuleCurrentNonce.d.ts +2 -5
- package/_types/actions/account-client/getKernelV3ModuleCurrentNonce.d.ts.map +1 -1
- package/_types/actions/account-client/invalidateNonce.d.ts +4 -6
- package/_types/actions/account-client/invalidateNonce.d.ts.map +1 -1
- package/_types/actions/account-client/sendTransaction.d.ts +50 -0
- package/_types/actions/account-client/sendTransaction.d.ts.map +1 -0
- package/_types/actions/account-client/signMessage.d.ts +50 -0
- package/_types/actions/account-client/signMessage.d.ts.map +1 -0
- package/_types/actions/account-client/signTypedData.d.ts +104 -0
- package/_types/actions/account-client/signTypedData.d.ts.map +1 -0
- package/_types/actions/account-client/signUserOperation.d.ts +4 -6
- package/_types/actions/account-client/signUserOperation.d.ts.map +1 -1
- package/_types/actions/account-client/uninstallPlugin.d.ts +5 -7
- package/_types/actions/account-client/uninstallPlugin.d.ts.map +1 -1
- package/_types/actions/account-client/writeContract.d.ts +4 -0
- package/_types/actions/account-client/writeContract.d.ts.map +1 -0
- package/_types/actions/index.d.ts +6 -1
- package/_types/actions/index.d.ts.map +1 -1
- package/_types/actions/paymaster/estimateGasInERC20.d.ts +1305 -4
- package/_types/actions/paymaster/estimateGasInERC20.d.ts.map +1 -1
- package/_types/actions/paymaster/sponsorUserOperation.d.ts +1314 -10
- package/_types/actions/paymaster/sponsorUserOperation.d.ts.map +1 -1
- package/_types/actions/public/getAccountNonce.d.ts +34 -0
- package/_types/actions/public/getAccountNonce.d.ts.map +1 -0
- package/_types/actions/public/getSenderAddress.d.ts +46 -0
- package/_types/actions/public/getSenderAddress.d.ts.map +1 -0
- package/_types/actions/public/index.d.ts +3 -0
- package/_types/actions/public/index.d.ts.map +1 -0
- package/_types/clients/decorators/kernel.d.ts +774 -20
- package/_types/clients/decorators/kernel.d.ts.map +1 -1
- package/_types/clients/fallbackKernelAccountClient.d.ts +255 -4
- package/_types/clients/fallbackKernelAccountClient.d.ts.map +1 -1
- package/_types/clients/kernelAccountClient.d.ts +34 -36
- package/_types/clients/kernelAccountClient.d.ts.map +1 -1
- package/_types/clients/paymasterClient.d.ts +10 -24
- package/_types/clients/paymasterClient.d.ts.map +1 -1
- package/_types/errors/index.d.ts +7 -0
- package/_types/errors/index.d.ts.map +1 -0
- package/_types/gasTokenAddresses.d.ts +1 -1
- package/_types/gasTokenAddresses.d.ts.map +1 -1
- package/_types/index.d.ts +1 -1
- package/_types/index.d.ts.map +1 -1
- package/_types/providers/KernelEIP1193Provider.d.ts +3 -4
- package/_types/providers/KernelEIP1193Provider.d.ts.map +1 -1
- package/_types/types/index.d.ts +1 -0
- package/_types/types/index.d.ts.map +1 -1
- package/_types/types/kernel.d.ts +25 -27
- package/_types/types/kernel.d.ts.map +1 -1
- package/_types/utils.d.ts +1310 -4
- package/_types/utils.d.ts.map +1 -1
- package/accounts/index.ts +5 -2
- package/accounts/kernel/createKernelAccount.ts +312 -357
- package/accounts/kernel/utils/account/ep0_6/encodeCallData.ts +22 -12
- package/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.ts +6 -3
- package/accounts/kernel/utils/account/ep0_6/encodeModuleInstallCallData.ts +22 -19
- package/accounts/kernel/utils/account/ep0_7/encodeCallData.ts +21 -11
- package/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.ts +6 -3
- package/accounts/kernel/utils/common/accountMetadata.ts +2 -7
- package/accounts/kernel/utils/common/getActionSelector.ts +3 -3
- package/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.ts +3 -3
- package/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.ts +1 -1
- package/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.ts +1 -1
- package/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.ts +3 -3
- package/accounts/kernel/utils/ep0_7/encodeExecuteCall.ts +2 -2
- package/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.ts +2 -8
- package/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.ts +4 -10
- package/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.ts +2 -8
- package/accounts/kernel/utils/types.ts +2 -2
- package/accounts/kernel/v1/createKernelAccountV1.ts +147 -174
- package/accounts/kernel/v2/createKernelAccountV0_2.ts +135 -179
- package/accounts/utils/getCustomNonceKeyFromString.ts +3 -6
- package/accounts/utils/index.ts +0 -9
- package/accounts/utils/multisend.ts +5 -2
- package/accounts/utils/toKernelPluginManager.ts +23 -27
- package/actions/account-client/changeSudoValidator.ts +61 -85
- package/actions/account-client/getKernelV3ModuleCurrentNonce.ts +12 -51
- package/actions/account-client/invalidateNonce.ts +38 -67
- package/actions/account-client/sendTransaction.ts +134 -0
- package/actions/account-client/signMessage.ts +75 -0
- package/actions/account-client/signTypedData.ts +159 -0
- package/actions/account-client/signUserOperation.ts +31 -63
- package/actions/account-client/uninstallPlugin.ts +35 -54
- package/actions/account-client/writeContract.ts +72 -0
- package/actions/index.ts +15 -6
- package/actions/paymaster/estimateGasInERC20.ts +12 -8
- package/actions/paymaster/sponsorUserOperation.ts +52 -50
- package/actions/public/getAccountNonce.ts +77 -0
- package/actions/public/getSenderAddress.ts +276 -0
- package/actions/public/index.ts +9 -0
- package/clients/decorators/kernel.ts +363 -159
- package/clients/fallbackKernelAccountClient.ts +9 -11
- package/clients/kernelAccountClient.ts +142 -104
- package/clients/paymasterClient.ts +69 -43
- package/errors/index.ts +17 -0
- package/gasTokenAddresses.ts +3 -2
- package/index.ts +5 -2
- package/package.json +2 -3
- package/providers/KernelEIP1193Provider.ts +4 -7
- package/types/index.ts +2 -0
- package/types/kernel.ts +64 -63
- package/utils.ts +41 -13
- package/_cjs/actions/paymaster/sponsorUserOperationEip7677.js +0 -59
- package/_cjs/actions/paymaster/sponsorUserOperationEip7677.js.map +0 -1
- package/_esm/actions/paymaster/sponsorUserOperationEip7677.js +0 -58
- package/_esm/actions/paymaster/sponsorUserOperationEip7677.js.map +0 -1
- package/_types/actions/paymaster/sponsorUserOperationEip7677.d.ts +0 -16
- package/_types/actions/paymaster/sponsorUserOperationEip7677.d.ts.map +0 -1
- package/actions/paymaster/sponsorUserOperationEip7677.ts +0 -152
|
@@ -1,55 +1,57 @@
|
|
|
1
1
|
import {
|
|
2
|
-
ENTRYPOINT_ADDRESS_V06,
|
|
3
2
|
getAccountNonce,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
getUserOperationHash,
|
|
7
|
-
isSmartAccountDeployed
|
|
8
|
-
} from "permissionless"
|
|
9
|
-
import {
|
|
10
|
-
SignTransactionNotSupportedBySmartAccount,
|
|
11
|
-
type SmartAccountSigner
|
|
12
|
-
} from "permissionless/accounts"
|
|
13
|
-
import type {
|
|
14
|
-
ENTRYPOINT_ADDRESS_V06_TYPE,
|
|
15
|
-
EntryPoint
|
|
16
|
-
} from "permissionless/types"
|
|
3
|
+
getSenderAddress
|
|
4
|
+
} from "../../../actions/public/index.js"
|
|
17
5
|
import {
|
|
6
|
+
type Account,
|
|
18
7
|
type Address,
|
|
8
|
+
type Assign,
|
|
19
9
|
type Chain,
|
|
20
10
|
type Client,
|
|
21
|
-
type
|
|
11
|
+
type EIP1193Provider,
|
|
22
12
|
type Hex,
|
|
23
13
|
type LocalAccount,
|
|
24
|
-
type
|
|
25
|
-
type PublicRpcSchema,
|
|
14
|
+
type OneOf,
|
|
26
15
|
type Transport,
|
|
27
16
|
type TypedData,
|
|
28
17
|
type TypedDataDefinition,
|
|
29
|
-
|
|
18
|
+
type WalletClient,
|
|
19
|
+
createNonceManager,
|
|
30
20
|
encodeFunctionData
|
|
31
21
|
} from "viem"
|
|
22
|
+
import {
|
|
23
|
+
type SmartAccount,
|
|
24
|
+
type SmartAccountImplementation,
|
|
25
|
+
entryPoint06Abi,
|
|
26
|
+
entryPoint06Address,
|
|
27
|
+
getUserOperationHash,
|
|
28
|
+
toSmartAccount
|
|
29
|
+
} from "viem/account-abstraction"
|
|
32
30
|
import { toAccount } from "viem/accounts"
|
|
33
|
-
import { getChainId, signMessage
|
|
34
|
-
import type {
|
|
35
|
-
import { wrapSignatureWith6492 } from "../../utils/6492.js"
|
|
36
|
-
import { parseFactoryAddressAndCallDataFromAccountInitCode } from "../../utils/index.js"
|
|
31
|
+
import { getChainId, signMessage } from "viem/actions"
|
|
32
|
+
import type { CallType, GetEntryPointAbi } from "../../../types/kernel.js"
|
|
37
33
|
import {
|
|
38
34
|
MULTISEND_ADDRESS,
|
|
39
35
|
encodeMultiSend,
|
|
40
36
|
multiSendAbi
|
|
41
37
|
} from "../../utils/multisend.js"
|
|
42
|
-
import type { KernelSmartAccount } from "../createKernelAccount.js"
|
|
43
38
|
|
|
44
|
-
export type
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
export type KernelSmartAccountV1Implementation = Assign<
|
|
40
|
+
SmartAccountImplementation<GetEntryPointAbi<"0.6">, "0.6">,
|
|
41
|
+
{
|
|
42
|
+
sign: NonNullable<SmartAccountImplementation["sign"]>
|
|
43
|
+
encodeCalls: (
|
|
44
|
+
calls: Parameters<SmartAccountImplementation["encodeCalls"]>[0],
|
|
45
|
+
callType?: CallType | undefined
|
|
46
|
+
) => Promise<Hex>
|
|
47
|
+
generateInitCode: () => Promise<Hex>
|
|
48
|
+
encodeModuleInstallCallData: () => Promise<Hex>
|
|
49
|
+
}
|
|
51
50
|
>
|
|
52
51
|
|
|
52
|
+
export type CreateKernelAccountV1ReturnType =
|
|
53
|
+
SmartAccount<KernelSmartAccountV1Implementation>
|
|
54
|
+
|
|
53
55
|
const createAccountAbi = [
|
|
54
56
|
{
|
|
55
57
|
inputs: [
|
|
@@ -92,43 +94,33 @@ const KERNEL_V1_ADDRESSES: {
|
|
|
92
94
|
ENTRYPOINT_V0_6: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
|
|
93
95
|
}
|
|
94
96
|
|
|
95
|
-
export async function createKernelAccountV1
|
|
96
|
-
|
|
97
|
-
TTransport extends Transport = Transport,
|
|
98
|
-
TChain extends Chain | undefined = Chain | undefined,
|
|
99
|
-
TSource extends string = string,
|
|
100
|
-
TAddress extends Address = Address
|
|
101
|
-
>(
|
|
102
|
-
client: Client<
|
|
103
|
-
TTransport,
|
|
104
|
-
TChain,
|
|
105
|
-
undefined,
|
|
106
|
-
PublicRpcSchema,
|
|
107
|
-
PublicActions<TTransport, TChain>
|
|
108
|
-
>,
|
|
97
|
+
export async function createKernelAccountV1(
|
|
98
|
+
client: Client,
|
|
109
99
|
{
|
|
110
100
|
signer,
|
|
111
|
-
|
|
101
|
+
address,
|
|
102
|
+
entryPoint,
|
|
112
103
|
index = 0n
|
|
113
104
|
}: {
|
|
114
|
-
signer:
|
|
115
|
-
|
|
105
|
+
signer: OneOf<
|
|
106
|
+
| EIP1193Provider
|
|
107
|
+
| WalletClient<Transport, Chain | undefined, Account>
|
|
108
|
+
| LocalAccount
|
|
109
|
+
>
|
|
110
|
+
entryPoint: {
|
|
111
|
+
address: Address
|
|
112
|
+
version: "0.6"
|
|
113
|
+
}
|
|
114
|
+
address?: Address
|
|
116
115
|
index?: bigint
|
|
117
116
|
}
|
|
118
|
-
): Promise<
|
|
119
|
-
const entryPointVersion = getEntryPointVersion(entryPointAddress)
|
|
120
|
-
|
|
121
|
-
if (
|
|
122
|
-
entryPointVersion !== "v0.6" ||
|
|
123
|
-
entryPointAddress !== ENTRYPOINT_ADDRESS_V06
|
|
124
|
-
) {
|
|
125
|
-
throw new Error("Only EntryPoint 0.6 is supported")
|
|
126
|
-
}
|
|
127
|
-
|
|
117
|
+
): Promise<CreateKernelAccountV1ReturnType> {
|
|
128
118
|
const viemSigner: LocalAccount = {
|
|
129
119
|
...signer,
|
|
130
120
|
signTransaction: (_, __) => {
|
|
131
|
-
throw new
|
|
121
|
+
throw new Error(
|
|
122
|
+
"Smart account signer doesn't need to sign transactions"
|
|
123
|
+
)
|
|
132
124
|
}
|
|
133
125
|
} as LocalAccount
|
|
134
126
|
|
|
@@ -136,43 +128,45 @@ export async function createKernelAccountV1<
|
|
|
136
128
|
const chainId = await getChainId(client)
|
|
137
129
|
|
|
138
130
|
const generateInitCode = async (): Promise<Hex> => {
|
|
139
|
-
return
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
args: [signer.address, index]
|
|
145
|
-
})
|
|
146
|
-
]) as Hex
|
|
131
|
+
return encodeFunctionData({
|
|
132
|
+
abi: createAccountAbi,
|
|
133
|
+
functionName: "createAccount",
|
|
134
|
+
args: [signer.address, index]
|
|
135
|
+
})
|
|
147
136
|
}
|
|
148
137
|
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
initCode,
|
|
154
|
-
entryPoint: entryPointAddress
|
|
138
|
+
const getFactoryArgs = async () => {
|
|
139
|
+
return {
|
|
140
|
+
factory: KERNEL_V1_ADDRESSES.FACTORY_ADDRESS,
|
|
141
|
+
factoryData: await generateInitCode()
|
|
155
142
|
}
|
|
156
|
-
|
|
143
|
+
}
|
|
157
144
|
|
|
158
|
-
|
|
145
|
+
// Fetch account address and chain id
|
|
146
|
+
let accountAddress =
|
|
147
|
+
address ??
|
|
148
|
+
(await (async () => {
|
|
149
|
+
const { factory, factoryData } = await getFactoryArgs()
|
|
150
|
+
|
|
151
|
+
// Get the sender address based on the init code
|
|
152
|
+
return await getSenderAddress(client, {
|
|
153
|
+
factory,
|
|
154
|
+
factoryData,
|
|
155
|
+
entryPointAddress: entryPoint.address
|
|
156
|
+
})
|
|
157
|
+
})())
|
|
159
158
|
|
|
160
|
-
|
|
161
|
-
client,
|
|
162
|
-
accountAddress
|
|
163
|
-
)
|
|
159
|
+
if (!accountAddress) throw new Error("Account address not found")
|
|
164
160
|
|
|
165
161
|
const account = toAccount({
|
|
166
162
|
address: accountAddress,
|
|
167
163
|
async signMessage({ message }) {
|
|
168
|
-
|
|
169
|
-
isSmartAccountDeployed(client, accountAddress),
|
|
170
|
-
signer.signMessage({ message })
|
|
171
|
-
])
|
|
172
|
-
return create6492Signature(isDeployed, signature)
|
|
164
|
+
return viemSigner.signMessage({ message })
|
|
173
165
|
},
|
|
174
166
|
async signTransaction(_, __) {
|
|
175
|
-
throw new
|
|
167
|
+
throw new Error(
|
|
168
|
+
"Smart account signer doesn't need to sign transactions"
|
|
169
|
+
)
|
|
176
170
|
},
|
|
177
171
|
async signTypedData<
|
|
178
172
|
const TTypedData extends TypedData | Record<string, unknown>,
|
|
@@ -180,94 +174,69 @@ export async function createKernelAccountV1<
|
|
|
180
174
|
| keyof TTypedData
|
|
181
175
|
| "EIP712Domain" = keyof TTypedData
|
|
182
176
|
>(typedData: TypedDataDefinition<TTypedData, TPrimaryType>) {
|
|
183
|
-
return signTypedData
|
|
184
|
-
client,
|
|
185
|
-
{
|
|
186
|
-
account: viemSigner,
|
|
187
|
-
...typedData
|
|
188
|
-
}
|
|
189
|
-
)
|
|
177
|
+
return viemSigner.signTypedData(typedData)
|
|
190
178
|
}
|
|
191
179
|
})
|
|
192
180
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
// return (contractCode?.length ?? 0) > 2
|
|
199
|
-
// }
|
|
200
|
-
|
|
201
|
-
const create6492Signature = async (
|
|
202
|
-
isDeployed: boolean,
|
|
203
|
-
signature: Hash
|
|
204
|
-
): Promise<Hash> => {
|
|
205
|
-
if (isDeployed) {
|
|
206
|
-
return signature
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
const [factoryAddress, factoryCalldata] =
|
|
210
|
-
parseFactoryAddressAndCallDataFromAccountInitCode(
|
|
211
|
-
await generateInitCode()
|
|
212
|
-
)
|
|
213
|
-
|
|
214
|
-
return wrapSignatureWith6492({
|
|
215
|
-
factoryAddress,
|
|
216
|
-
factoryCalldata,
|
|
217
|
-
signature
|
|
218
|
-
})
|
|
181
|
+
const _entryPoint = {
|
|
182
|
+
address: entryPoint?.address ?? entryPoint06Address,
|
|
183
|
+
abi: entryPoint06Abi,
|
|
184
|
+
version: entryPoint?.version ?? "0.6"
|
|
219
185
|
}
|
|
220
186
|
|
|
221
|
-
return {
|
|
187
|
+
return toSmartAccount<KernelSmartAccountV1Implementation>({
|
|
222
188
|
...account,
|
|
223
189
|
generateInitCode,
|
|
224
190
|
encodeModuleInstallCallData: async () => {
|
|
225
191
|
throw new Error("Not implemented")
|
|
226
192
|
},
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
source: "kernelSmartAccount",
|
|
231
|
-
async getFactory() {
|
|
232
|
-
if (smartAccountDeployed) return undefined
|
|
233
|
-
|
|
234
|
-
smartAccountDeployed = await isSmartAccountDeployed(
|
|
235
|
-
client,
|
|
236
|
-
accountAddress
|
|
237
|
-
)
|
|
238
|
-
|
|
239
|
-
if (smartAccountDeployed) return undefined
|
|
240
|
-
|
|
241
|
-
return KERNEL_V1_ADDRESSES.FACTORY_ADDRESS
|
|
193
|
+
nonceKeyManager: createNonceManager({source: {get: () => 0, set: () => {}}}),
|
|
194
|
+
async sign({ hash }) {
|
|
195
|
+
return account.signMessage({ message: hash })
|
|
242
196
|
},
|
|
197
|
+
async signMessage({ message }) {
|
|
198
|
+
return account.signMessage({ message })
|
|
199
|
+
},
|
|
200
|
+
async signTypedData<
|
|
201
|
+
const TTypedData extends TypedData | Record<string, unknown>,
|
|
202
|
+
TPrimaryType extends
|
|
203
|
+
| keyof TTypedData
|
|
204
|
+
| "EIP712Domain" = keyof TTypedData
|
|
205
|
+
>(typedData: TypedDataDefinition<TTypedData, TPrimaryType>) {
|
|
206
|
+
return viemSigner.signTypedData(typedData)
|
|
207
|
+
},
|
|
208
|
+
async getAddress() {
|
|
209
|
+
if (accountAddress) return accountAddress
|
|
243
210
|
|
|
244
|
-
|
|
245
|
-
if (smartAccountDeployed) return undefined
|
|
246
|
-
|
|
247
|
-
smartAccountDeployed = await isSmartAccountDeployed(
|
|
248
|
-
client,
|
|
249
|
-
accountAddress
|
|
250
|
-
)
|
|
211
|
+
const { factory, factoryData } = await getFactoryArgs()
|
|
251
212
|
|
|
252
|
-
|
|
213
|
+
// Get the sender address based on the init code
|
|
214
|
+
accountAddress = await getSenderAddress(client, {
|
|
215
|
+
factory,
|
|
216
|
+
factoryData,
|
|
217
|
+
entryPointAddress: entryPoint.address
|
|
218
|
+
})
|
|
253
219
|
|
|
254
|
-
return
|
|
255
|
-
await generateInitCode()
|
|
256
|
-
)[1]
|
|
220
|
+
return accountAddress
|
|
257
221
|
},
|
|
222
|
+
getFactoryArgs,
|
|
223
|
+
client: client,
|
|
224
|
+
entryPoint: _entryPoint,
|
|
258
225
|
async getNonce() {
|
|
259
226
|
return getAccountNonce(client, {
|
|
260
|
-
|
|
261
|
-
|
|
227
|
+
address: accountAddress,
|
|
228
|
+
entryPointAddress: entryPoint.address
|
|
262
229
|
})
|
|
263
230
|
},
|
|
264
231
|
async signUserOperation(userOperation) {
|
|
265
232
|
const hash = getUserOperationHash({
|
|
266
233
|
userOperation: {
|
|
267
234
|
...userOperation,
|
|
235
|
+
sender: userOperation.sender ?? (await this.getAddress()),
|
|
268
236
|
signature: "0x"
|
|
269
237
|
},
|
|
270
|
-
|
|
238
|
+
entryPointAddress: entryPoint.address,
|
|
239
|
+
entryPointVersion: entryPoint.version,
|
|
271
240
|
chainId: chainId
|
|
272
241
|
})
|
|
273
242
|
const signature = await signMessage(client, {
|
|
@@ -276,26 +245,27 @@ export async function createKernelAccountV1<
|
|
|
276
245
|
})
|
|
277
246
|
return signature
|
|
278
247
|
},
|
|
279
|
-
async getInitCode() {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
},
|
|
290
|
-
async
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
248
|
+
// async getInitCode() {
|
|
249
|
+
// if (smartAccountDeployed) return "0x"
|
|
250
|
+
|
|
251
|
+
// smartAccountDeployed = await isSmartAccountDeployed(
|
|
252
|
+
// client,
|
|
253
|
+
// accountAddress
|
|
254
|
+
// )
|
|
255
|
+
|
|
256
|
+
// if (smartAccountDeployed) return "0x"
|
|
257
|
+
// return generateInitCode()
|
|
258
|
+
// },
|
|
259
|
+
async encodeCalls(calls, callType): Promise<Hex> {
|
|
260
|
+
if (calls.length > 1) {
|
|
261
|
+
if (callType === "delegatecall") {
|
|
262
|
+
throw new Error("Cannot batch delegatecall")
|
|
263
|
+
}
|
|
294
264
|
// Encode a batched call using multiSend
|
|
295
265
|
const multiSendCallData = encodeFunctionData({
|
|
296
266
|
abi: multiSendAbi,
|
|
297
267
|
functionName: "multiSend",
|
|
298
|
-
args: [encodeMultiSend(
|
|
268
|
+
args: [encodeMultiSend(calls)]
|
|
299
269
|
})
|
|
300
270
|
|
|
301
271
|
return encodeFunctionData({
|
|
@@ -305,34 +275,37 @@ export async function createKernelAccountV1<
|
|
|
305
275
|
})
|
|
306
276
|
}
|
|
307
277
|
|
|
278
|
+
const call = calls.length === 0 ? undefined : calls[0]
|
|
279
|
+
|
|
280
|
+
if (!call) {
|
|
281
|
+
throw new Error("No calls to encode")
|
|
282
|
+
}
|
|
283
|
+
|
|
308
284
|
// Default to `call`
|
|
309
|
-
if (!
|
|
310
|
-
if (
|
|
311
|
-
return
|
|
285
|
+
if (!callType || callType === "call") {
|
|
286
|
+
if (call.to.toLowerCase() === accountAddress.toLowerCase()) {
|
|
287
|
+
return call.data || "0x"
|
|
312
288
|
}
|
|
313
289
|
|
|
314
290
|
return encodeFunctionData({
|
|
315
291
|
abi: executeAndRevertAbi,
|
|
316
292
|
functionName: "executeAndRevert",
|
|
317
|
-
args: [
|
|
293
|
+
args: [call.to, call.value || 0n, call.data, 0n]
|
|
318
294
|
})
|
|
319
295
|
}
|
|
320
296
|
|
|
321
|
-
if (
|
|
297
|
+
if (callType === "delegatecall") {
|
|
322
298
|
return encodeFunctionData({
|
|
323
299
|
abi: executeAndRevertAbi,
|
|
324
300
|
functionName: "executeAndRevert",
|
|
325
|
-
args: [
|
|
301
|
+
args: [call.to, call.value || 0n, call.data, 1n]
|
|
326
302
|
})
|
|
327
303
|
}
|
|
328
304
|
|
|
329
305
|
throw new Error("Invalid call type")
|
|
330
306
|
},
|
|
331
|
-
async
|
|
332
|
-
return "0x"
|
|
333
|
-
},
|
|
334
|
-
async getDummySignature() {
|
|
307
|
+
async getStubSignature() {
|
|
335
308
|
return "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
|
|
336
309
|
}
|
|
337
|
-
}
|
|
310
|
+
})
|
|
338
311
|
}
|