@zerodev/sdk 4.5.5 → 5.0.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/addressToEmptyAccount.js +25 -0
- package/_cjs/accounts/addressToEmptyAccount.js.map +1 -0
- package/_cjs/accounts/index.js +12 -0
- package/_cjs/accounts/index.js.map +1 -0
- package/{dist/cjs/kernel-zerodev/abis → _cjs/accounts/kernel/abi}/KernelAccountAbi.js +256 -158
- package/_cjs/accounts/kernel/abi/KernelAccountAbi.js.map +1 -0
- package/{dist/cjs/kernel-zerodev/abis → _cjs/accounts/kernel/abi}/KernelFactoryAbi.js +87 -87
- package/_cjs/accounts/kernel/abi/KernelFactoryAbi.js.map +1 -0
- package/{dist/cjs/kernel-zerodev/abis → _cjs/accounts/kernel/abi}/TokenActionsAbi.js +18 -18
- package/_cjs/accounts/kernel/abi/TokenActionsAbi.js.map +1 -0
- package/_cjs/accounts/kernel/createKernelAccount.js +299 -0
- package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -0
- package/_cjs/accounts/utils/index.js +6 -0
- package/_cjs/accounts/utils/index.js.map +1 -0
- package/_cjs/accounts/utils/toKernelPluginManager.js +124 -0
- package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -0
- package/_cjs/actions/account-client/signUserOperation.js +16 -0
- package/_cjs/actions/account-client/signUserOperation.js.map +1 -0
- package/_cjs/actions/index.js +8 -0
- package/_cjs/actions/index.js.map +1 -0
- package/_cjs/actions/paymaster/sponsorUserOperation.js +42 -0
- package/_cjs/actions/paymaster/sponsorUserOperation.js.map +1 -0
- package/_cjs/clients/decorators/index.js +6 -0
- package/_cjs/clients/decorators/index.js.map +1 -0
- package/_cjs/clients/decorators/kernel.js +19 -0
- package/_cjs/clients/decorators/kernel.js.map +1 -0
- package/_cjs/clients/index.js +8 -0
- package/_cjs/clients/index.js.map +1 -0
- package/_cjs/clients/kernelAccountClient.js +20 -0
- package/_cjs/clients/kernelAccountClient.js.map +1 -0
- package/_cjs/clients/paymasterClient.js +17 -0
- package/_cjs/clients/paymasterClient.js.map +1 -0
- package/_cjs/constants.js +12 -0
- package/_cjs/constants.js.map +1 -0
- package/_cjs/index.js +27 -0
- package/_cjs/index.js.map +1 -0
- package/_cjs/package.json +1 -0
- package/_cjs/types/index.js +6 -0
- package/_cjs/types/index.js.map +1 -0
- package/_cjs/types/kernel.js +10 -0
- package/_cjs/types/kernel.js.map +1 -0
- package/_cjs/utils.js +30 -0
- package/_cjs/utils.js.map +1 -0
- package/_esm/accounts/addressToEmptyAccount.js +21 -0
- package/_esm/accounts/addressToEmptyAccount.js.map +1 -0
- package/_esm/accounts/index.js +4 -0
- package/_esm/accounts/index.js.map +1 -0
- package/_esm/accounts/kernel/abi/KernelAccountAbi.js +796 -0
- package/_esm/accounts/kernel/abi/KernelAccountAbi.js.map +1 -0
- package/{dist/esm/kernel-zerodev/abis → _esm/accounts/kernel/abi}/KernelFactoryAbi.js +87 -87
- package/_esm/accounts/kernel/abi/KernelFactoryAbi.js.map +1 -0
- package/{dist/esm/kernel-zerodev/abis → _esm/accounts/kernel/abi}/TokenActionsAbi.js +18 -18
- package/_esm/accounts/kernel/abi/TokenActionsAbi.js.map +1 -0
- package/_esm/accounts/kernel/createKernelAccount.js +344 -0
- package/_esm/accounts/kernel/createKernelAccount.js.map +1 -0
- package/_esm/accounts/utils/index.js +3 -0
- package/_esm/accounts/utils/index.js.map +1 -0
- package/_esm/accounts/utils/toKernelPluginManager.js +124 -0
- package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -0
- package/_esm/actions/account-client/signUserOperation.js +12 -0
- package/_esm/actions/account-client/signUserOperation.js.map +1 -0
- package/_esm/actions/index.js +3 -0
- package/_esm/actions/index.js.map +1 -0
- package/_esm/actions/paymaster/sponsorUserOperation.js +41 -0
- package/_esm/actions/paymaster/sponsorUserOperation.js.map +1 -0
- package/_esm/clients/decorators/index.js +2 -0
- package/_esm/clients/decorators/index.js.map +1 -0
- package/_esm/clients/decorators/kernel.js +14 -0
- package/_esm/clients/decorators/kernel.js.map +1 -0
- package/_esm/clients/index.js +3 -0
- package/_esm/clients/index.js.map +1 -0
- package/_esm/clients/kernelAccountClient.js +17 -0
- package/_esm/clients/kernelAccountClient.js.map +1 -0
- package/_esm/clients/paymasterClient.js +30 -0
- package/_esm/clients/paymasterClient.js.map +1 -0
- package/_esm/constants.js +10 -0
- package/_esm/constants.js.map +1 -0
- package/_esm/index.js +13 -0
- package/_esm/index.js.map +1 -0
- package/_esm/package.json +1 -0
- package/_esm/types/index.js +2 -0
- package/_esm/types/index.js.map +1 -0
- package/_esm/types/kernel.js +8 -0
- package/_esm/types/kernel.js.map +1 -0
- package/_esm/utils.js +25 -0
- package/_esm/utils.js.map +1 -0
- package/_types/accounts/addressToEmptyAccount.d.ts +4 -0
- package/_types/accounts/addressToEmptyAccount.d.ts.map +1 -0
- package/_types/accounts/index.d.ts +4 -0
- package/_types/accounts/index.d.ts.map +1 -0
- package/{dist/cjs/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelAccountAbi.d.ts +82 -0
- package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelAccountAbi.d.ts.map +1 -1
- package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelFactoryAbi.d.ts.map +1 -1
- package/_types/accounts/kernel/abi/TokenActionsAbi.d.ts.map +1 -0
- package/_types/accounts/kernel/createKernelAccount.d.ts +89 -0
- package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -0
- package/_types/accounts/utils/index.d.ts +3 -0
- package/_types/accounts/utils/index.d.ts.map +1 -0
- package/_types/accounts/utils/toKernelPluginManager.d.ts +5 -0
- package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -0
- package/_types/actions/account-client/signUserOperation.d.ts +10 -0
- package/_types/actions/account-client/signUserOperation.d.ts.map +1 -0
- package/_types/actions/index.d.ts +3 -0
- package/_types/actions/index.d.ts.map +1 -0
- package/_types/actions/paymaster/sponsorUserOperation.d.ts +21 -0
- package/_types/actions/paymaster/sponsorUserOperation.d.ts.map +1 -0
- package/_types/clients/decorators/index.d.ts +2 -0
- package/_types/clients/decorators/index.d.ts.map +1 -0
- package/_types/clients/decorators/kernel.d.ts +25 -0
- package/_types/clients/decorators/kernel.d.ts.map +1 -0
- package/_types/clients/index.d.ts +3 -0
- package/_types/clients/index.d.ts.map +1 -0
- package/_types/clients/kernelAccountClient.d.ts +280 -0
- package/_types/clients/kernelAccountClient.d.ts.map +1 -0
- package/_types/clients/paymasterClient.d.ts +36 -0
- package/_types/clients/paymasterClient.d.ts.map +1 -0
- package/_types/constants.d.ts +8 -0
- package/_types/constants.d.ts.map +1 -0
- package/_types/index.d.ts +12 -0
- package/_types/index.d.ts.map +1 -0
- package/_types/types/index.d.ts +3 -0
- package/_types/types/index.d.ts.map +1 -0
- package/_types/types/kernel.d.ts +81 -0
- package/_types/types/kernel.d.ts.map +1 -0
- package/_types/utils.d.ts +12 -0
- package/_types/utils.d.ts.map +1 -0
- package/accounts/addressToEmptyAccount.ts +24 -0
- package/accounts/index.ts +8 -0
- package/{dist/esm/kernel-zerodev/abis/KernelAccountAbi.js → accounts/kernel/abi/KernelAccountAbi.ts} +264 -159
- package/accounts/kernel/abi/KernelFactoryAbi.ts +380 -0
- package/accounts/kernel/abi/TokenActionsAbi.ts +81 -0
- package/accounts/kernel/createKernelAccount.ts +465 -0
- package/accounts/utils/index.ts +2 -0
- package/accounts/utils/toKernelPluginManager.ts +173 -0
- package/actions/account-client/signUserOperation.ts +59 -0
- package/actions/index.ts +11 -0
- package/actions/paymaster/sponsorUserOperation.ts +85 -0
- package/clients/decorators/index.ts +4 -0
- package/clients/decorators/kernel.ts +78 -0
- package/clients/index.ts +9 -0
- package/clients/kernelAccountClient.ts +78 -0
- package/clients/paymasterClient.ts +53 -0
- package/constants.ts +12 -0
- package/index.ts +36 -0
- package/package.json +76 -60
- package/types/index.ts +12 -0
- package/types/kernel.ts +116 -0
- package/utils.ts +41 -0
- package/README.md +0 -5
- package/dist/cjs/index.d.ts +0 -22
- package/dist/cjs/index.js +0 -61
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +0 -162
- package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js +0 -215
- package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/ERC20Abi.d.ts +0 -231
- package/dist/cjs/kernel-zerodev/abis/ERC20Abi.js +0 -157
- package/dist/cjs/kernel-zerodev/abis/ERC20Abi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +0 -158
- package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js +0 -210
- package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/KernelAccountAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/KernelFactoryAbi.d.ts +0 -293
- package/dist/cjs/kernel-zerodev/abis/KernelFactoryAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +0 -150
- package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.js +0 -200
- package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.d.ts +0 -15
- package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.js +0 -24
- package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.d.ts +0 -15
- package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js +0 -24
- package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +0 -212
- package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js +0 -281
- package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.d.ts +0 -237
- package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.js +0 -161
- package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.d.ts +0 -287
- package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.js +0 -377
- package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/TokenActionsAbi.d.ts +0 -63
- package/dist/cjs/kernel-zerodev/abis/TokenActionsAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +0 -340
- package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js +0 -446
- package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js.map +0 -1
- package/dist/cjs/kernel-zerodev/abis/index.d.ts +0 -8
- package/dist/cjs/kernel-zerodev/abis/index.js +0 -18
- package/dist/cjs/kernel-zerodev/abis/index.js.map +0 -1
- package/dist/cjs/kernel-zerodev/account.d.ts +0 -51
- package/dist/cjs/kernel-zerodev/account.js +0 -320
- package/dist/cjs/kernel-zerodev/account.js.map +0 -1
- package/dist/cjs/kernel-zerodev/api/index.d.ts +0 -5
- package/dist/cjs/kernel-zerodev/api/index.js +0 -68
- package/dist/cjs/kernel-zerodev/api/index.js.map +0 -1
- package/dist/cjs/kernel-zerodev/client/create-client.d.ts +0 -11
- package/dist/cjs/kernel-zerodev/client/create-client.js +0 -54
- package/dist/cjs/kernel-zerodev/client/create-client.js.map +0 -1
- package/dist/cjs/kernel-zerodev/constants.d.ts +0 -31
- package/dist/cjs/kernel-zerodev/constants.js +0 -78
- package/dist/cjs/kernel-zerodev/constants.js.map +0 -1
- package/dist/cjs/kernel-zerodev/errors.d.ts +0 -5
- package/dist/cjs/kernel-zerodev/errors.js +0 -12
- package/dist/cjs/kernel-zerodev/errors.js.map +0 -1
- package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.d.ts +0 -31
- package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.js +0 -147
- package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.js.map +0 -1
- package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.d.ts +0 -22
- package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js +0 -116
- package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js.map +0 -1
- package/dist/cjs/kernel-zerodev/middleware/gas-estimator.d.ts +0 -19
- package/dist/cjs/kernel-zerodev/middleware/gas-estimator.js +0 -153
- package/dist/cjs/kernel-zerodev/middleware/gas-estimator.js.map +0 -1
- package/dist/cjs/kernel-zerodev/middleware/paymaster.d.ts +0 -5
- package/dist/cjs/kernel-zerodev/middleware/paymaster.js +0 -63
- package/dist/cjs/kernel-zerodev/middleware/paymaster.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/getCustodialOwner.d.ts +0 -11
- package/dist/cjs/kernel-zerodev/owner/getCustodialOwner.js +0 -80
- package/dist/cjs/kernel-zerodev/owner/getCustodialOwner.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/getRPCProviderOwner.d.ts +0 -2
- package/dist/cjs/kernel-zerodev/owner/getRPCProviderOwner.js +0 -18
- package/dist/cjs/kernel-zerodev/owner/getRPCProviderOwner.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/index.d.ts +0 -2
- package/dist/cjs/kernel-zerodev/owner/index.js +0 -8
- package/dist/cjs/kernel-zerodev/owner/index.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts +0 -8
- package/dist/cjs/kernel-zerodev/owner/passkey/createPasskeyOwner.js +0 -74
- package/dist/cjs/kernel-zerodev/owner/passkey/createPasskeyOwner.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/passkey/exceptions.d.ts +0 -3
- package/dist/cjs/kernel-zerodev/owner/passkey/exceptions.js +0 -16
- package/dist/cjs/kernel-zerodev/owner/passkey/exceptions.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts +0 -6
- package/dist/cjs/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js +0 -48
- package/dist/cjs/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts +0 -7
- package/dist/cjs/kernel-zerodev/owner/passkey/getPasskeyOwner.js +0 -44
- package/dist/cjs/kernel-zerodev/owner/passkey/getPasskeyOwner.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/passkey/index.d.ts +0 -4
- package/dist/cjs/kernel-zerodev/owner/passkey/index.js +0 -12
- package/dist/cjs/kernel-zerodev/owner/passkey/index.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/passkey/types.d.ts +0 -12
- package/dist/cjs/kernel-zerodev/owner/passkey/types.js +0 -3
- package/dist/cjs/kernel-zerodev/owner/passkey/types.js.map +0 -1
- package/dist/cjs/kernel-zerodev/owner/passkey/utils.d.ts +0 -14
- package/dist/cjs/kernel-zerodev/owner/passkey/utils.js +0 -114
- package/dist/cjs/kernel-zerodev/owner/passkey/utils.js.map +0 -1
- package/dist/cjs/kernel-zerodev/paymaster/base.d.ts +0 -18
- package/dist/cjs/kernel-zerodev/paymaster/base.js +0 -63
- package/dist/cjs/kernel-zerodev/paymaster/base.js.map +0 -1
- package/dist/cjs/kernel-zerodev/paymaster/index.d.ts +0 -3
- package/dist/cjs/kernel-zerodev/paymaster/index.js +0 -10
- package/dist/cjs/kernel-zerodev/paymaster/index.js.map +0 -1
- package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.d.ts +0 -15
- package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js +0 -188
- package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js.map +0 -1
- package/dist/cjs/kernel-zerodev/paymaster/types.d.ts +0 -29
- package/dist/cjs/kernel-zerodev/paymaster/types.js +0 -3
- package/dist/cjs/kernel-zerodev/paymaster/types.js.map +0 -1
- package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.d.ts +0 -8
- package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js +0 -22
- package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js.map +0 -1
- package/dist/cjs/kernel-zerodev/provider.d.ts +0 -56
- package/dist/cjs/kernel-zerodev/provider.js +0 -386
- package/dist/cjs/kernel-zerodev/provider.js.map +0 -1
- package/dist/cjs/kernel-zerodev/signer/empty-account.d.ts +0 -10
- package/dist/cjs/kernel-zerodev/signer/empty-account.js +0 -43
- package/dist/cjs/kernel-zerodev/signer/empty-account.js.map +0 -1
- package/dist/cjs/kernel-zerodev/types.d.ts +0 -7
- package/dist/cjs/kernel-zerodev/types.js +0 -3
- package/dist/cjs/kernel-zerodev/types.js.map +0 -1
- package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.d.ts +0 -5
- package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.js +0 -106
- package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.js.map +0 -1
- package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +0 -15
- package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.js +0 -33
- package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.js.map +0 -1
- package/dist/cjs/kernel-zerodev/utils/custom-chains.d.ts +0 -58
- package/dist/cjs/kernel-zerodev/utils/custom-chains.js +0 -57
- package/dist/cjs/kernel-zerodev/utils/custom-chains.js.map +0 -1
- package/dist/cjs/kernel-zerodev/utils.d.ts +0 -20
- package/dist/cjs/kernel-zerodev/utils.js +0 -119
- package/dist/cjs/kernel-zerodev/utils.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator/base.d.ts +0 -57
- package/dist/cjs/kernel-zerodev/validator/base.js +0 -285
- package/dist/cjs/kernel-zerodev/validator/base.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.d.ts +0 -20
- package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.js +0 -97
- package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.d.ts +0 -29
- package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js +0 -118
- package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator/index.d.ts +0 -8
- package/dist/cjs/kernel-zerodev/validator/index.js +0 -21
- package/dist/cjs/kernel-zerodev/validator/index.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.d.ts +0 -22
- package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js +0 -122
- package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator/recovery-validator.d.ts +0 -56
- package/dist/cjs/kernel-zerodev/validator/recovery-validator.js +0 -349
- package/dist/cjs/kernel-zerodev/validator/recovery-validator.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator/session-key-validator.d.ts +0 -84
- package/dist/cjs/kernel-zerodev/validator/session-key-validator.js +0 -501
- package/dist/cjs/kernel-zerodev/validator/session-key-validator.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator/types.d.ts +0 -56
- package/dist/cjs/kernel-zerodev/validator/types.js +0 -3
- package/dist/cjs/kernel-zerodev/validator/types.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator-provider/base.d.ts +0 -29
- package/dist/cjs/kernel-zerodev/validator-provider/base.js +0 -129
- package/dist/cjs/kernel-zerodev/validator-provider/base.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +0 -8
- package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.js +0 -60
- package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +0 -8
- package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.js +0 -64
- package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator-provider/index.d.ts +0 -8
- package/dist/cjs/kernel-zerodev/validator-provider/index.js +0 -21
- package/dist/cjs/kernel-zerodev/validator-provider/index.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +0 -8
- package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.js +0 -64
- package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.d.ts +0 -27
- package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js +0 -278
- package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.d.ts +0 -18
- package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.js +0 -114
- package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.js.map +0 -1
- package/dist/cjs/kernel-zerodev/validator-provider/types.d.ts +0 -29
- package/dist/cjs/kernel-zerodev/validator-provider/types.js +0 -3
- package/dist/cjs/kernel-zerodev/validator-provider/types.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/esm/index.d.ts +0 -22
- package/dist/esm/index.js +0 -17
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +0 -162
- package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js +0 -212
- package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/ERC20Abi.d.ts +0 -231
- package/dist/esm/kernel-zerodev/abis/ERC20Abi.js +0 -154
- package/dist/esm/kernel-zerodev/abis/ERC20Abi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +0 -158
- package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js +0 -207
- package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.d.ts +0 -534
- package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/KernelFactoryAbi.d.ts +0 -293
- package/dist/esm/kernel-zerodev/abis/KernelFactoryAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +0 -150
- package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.js +0 -197
- package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/MultiSendAbi.d.ts +0 -15
- package/dist/esm/kernel-zerodev/abis/MultiSendAbi.js +0 -21
- package/dist/esm/kernel-zerodev/abis/MultiSendAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.d.ts +0 -15
- package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js +0 -21
- package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +0 -212
- package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js +0 -278
- package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.d.ts +0 -237
- package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.js +0 -158
- package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.d.ts +0 -287
- package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.js +0 -374
- package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/TokenActionsAbi.d.ts +0 -63
- package/dist/esm/kernel-zerodev/abis/TokenActionsAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +0 -340
- package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js +0 -443
- package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js.map +0 -1
- package/dist/esm/kernel-zerodev/abis/index.d.ts +0 -8
- package/dist/esm/kernel-zerodev/abis/index.js +0 -9
- package/dist/esm/kernel-zerodev/abis/index.js.map +0 -1
- package/dist/esm/kernel-zerodev/account.d.ts +0 -51
- package/dist/esm/kernel-zerodev/account.js +0 -316
- package/dist/esm/kernel-zerodev/account.js.map +0 -1
- package/dist/esm/kernel-zerodev/api/index.d.ts +0 -5
- package/dist/esm/kernel-zerodev/api/index.js +0 -58
- package/dist/esm/kernel-zerodev/api/index.js.map +0 -1
- package/dist/esm/kernel-zerodev/client/create-client.d.ts +0 -11
- package/dist/esm/kernel-zerodev/client/create-client.js +0 -50
- package/dist/esm/kernel-zerodev/client/create-client.js.map +0 -1
- package/dist/esm/kernel-zerodev/constants.d.ts +0 -31
- package/dist/esm/kernel-zerodev/constants.js +0 -75
- package/dist/esm/kernel-zerodev/constants.js.map +0 -1
- package/dist/esm/kernel-zerodev/errors.d.ts +0 -5
- package/dist/esm/kernel-zerodev/errors.js +0 -6
- package/dist/esm/kernel-zerodev/errors.js.map +0 -1
- package/dist/esm/kernel-zerodev/ethers-provider/account-signer.d.ts +0 -31
- package/dist/esm/kernel-zerodev/ethers-provider/account-signer.js +0 -145
- package/dist/esm/kernel-zerodev/ethers-provider/account-signer.js.map +0 -1
- package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.d.ts +0 -22
- package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js +0 -112
- package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js.map +0 -1
- package/dist/esm/kernel-zerodev/middleware/gas-estimator.d.ts +0 -19
- package/dist/esm/kernel-zerodev/middleware/gas-estimator.js +0 -146
- package/dist/esm/kernel-zerodev/middleware/gas-estimator.js.map +0 -1
- package/dist/esm/kernel-zerodev/middleware/paymaster.d.ts +0 -5
- package/dist/esm/kernel-zerodev/middleware/paymaster.js +0 -59
- package/dist/esm/kernel-zerodev/middleware/paymaster.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/getCustodialOwner.d.ts +0 -11
- package/dist/esm/kernel-zerodev/owner/getCustodialOwner.js +0 -73
- package/dist/esm/kernel-zerodev/owner/getCustodialOwner.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/getRPCProviderOwner.d.ts +0 -2
- package/dist/esm/kernel-zerodev/owner/getRPCProviderOwner.js +0 -15
- package/dist/esm/kernel-zerodev/owner/getRPCProviderOwner.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/index.d.ts +0 -2
- package/dist/esm/kernel-zerodev/owner/index.js +0 -3
- package/dist/esm/kernel-zerodev/owner/index.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts +0 -8
- package/dist/esm/kernel-zerodev/owner/passkey/createPasskeyOwner.js +0 -67
- package/dist/esm/kernel-zerodev/owner/passkey/createPasskeyOwner.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/passkey/exceptions.d.ts +0 -3
- package/dist/esm/kernel-zerodev/owner/passkey/exceptions.js +0 -12
- package/dist/esm/kernel-zerodev/owner/passkey/exceptions.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts +0 -6
- package/dist/esm/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js +0 -41
- package/dist/esm/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts +0 -7
- package/dist/esm/kernel-zerodev/owner/passkey/getPasskeyOwner.js +0 -37
- package/dist/esm/kernel-zerodev/owner/passkey/getPasskeyOwner.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/passkey/index.d.ts +0 -4
- package/dist/esm/kernel-zerodev/owner/passkey/index.js +0 -5
- package/dist/esm/kernel-zerodev/owner/passkey/index.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/passkey/types.d.ts +0 -12
- package/dist/esm/kernel-zerodev/owner/passkey/types.js +0 -2
- package/dist/esm/kernel-zerodev/owner/passkey/types.js.map +0 -1
- package/dist/esm/kernel-zerodev/owner/passkey/utils.d.ts +0 -14
- package/dist/esm/kernel-zerodev/owner/passkey/utils.js +0 -100
- package/dist/esm/kernel-zerodev/owner/passkey/utils.js.map +0 -1
- package/dist/esm/kernel-zerodev/paymaster/base.d.ts +0 -18
- package/dist/esm/kernel-zerodev/paymaster/base.js +0 -56
- package/dist/esm/kernel-zerodev/paymaster/base.js.map +0 -1
- package/dist/esm/kernel-zerodev/paymaster/index.d.ts +0 -3
- package/dist/esm/kernel-zerodev/paymaster/index.js +0 -7
- package/dist/esm/kernel-zerodev/paymaster/index.js.map +0 -1
- package/dist/esm/kernel-zerodev/paymaster/token-paymaster.d.ts +0 -15
- package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js +0 -182
- package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js.map +0 -1
- package/dist/esm/kernel-zerodev/paymaster/types.d.ts +0 -29
- package/dist/esm/kernel-zerodev/paymaster/types.js +0 -2
- package/dist/esm/kernel-zerodev/paymaster/types.js.map +0 -1
- package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.d.ts +0 -8
- package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js +0 -18
- package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js.map +0 -1
- package/dist/esm/kernel-zerodev/provider.d.ts +0 -56
- package/dist/esm/kernel-zerodev/provider.js +0 -382
- package/dist/esm/kernel-zerodev/provider.js.map +0 -1
- package/dist/esm/kernel-zerodev/signer/empty-account.d.ts +0 -10
- package/dist/esm/kernel-zerodev/signer/empty-account.js +0 -40
- package/dist/esm/kernel-zerodev/signer/empty-account.js.map +0 -1
- package/dist/esm/kernel-zerodev/types.d.ts +0 -7
- package/dist/esm/kernel-zerodev/types.js +0 -2
- package/dist/esm/kernel-zerodev/types.js.map +0 -1
- package/dist/esm/kernel-zerodev/utils/ERC4337-utils.d.ts +0 -5
- package/dist/esm/kernel-zerodev/utils/ERC4337-utils.js +0 -100
- package/dist/esm/kernel-zerodev/utils/ERC4337-utils.js.map +0 -1
- package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +0 -15
- package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.js +0 -29
- package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.js.map +0 -1
- package/dist/esm/kernel-zerodev/utils/custom-chains.d.ts +0 -58
- package/dist/esm/kernel-zerodev/utils/custom-chains.js +0 -54
- package/dist/esm/kernel-zerodev/utils/custom-chains.js.map +0 -1
- package/dist/esm/kernel-zerodev/utils.d.ts +0 -20
- package/dist/esm/kernel-zerodev/utils.js +0 -85
- package/dist/esm/kernel-zerodev/utils.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator/base.d.ts +0 -57
- package/dist/esm/kernel-zerodev/validator/base.js +0 -282
- package/dist/esm/kernel-zerodev/validator/base.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator/ecdsa-validator.d.ts +0 -20
- package/dist/esm/kernel-zerodev/validator/ecdsa-validator.js +0 -93
- package/dist/esm/kernel-zerodev/validator/ecdsa-validator.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.d.ts +0 -29
- package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js +0 -114
- package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator/index.d.ts +0 -8
- package/dist/esm/kernel-zerodev/validator/index.js +0 -14
- package/dist/esm/kernel-zerodev/validator/index.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator/kill-switch-validator.d.ts +0 -22
- package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js +0 -118
- package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator/recovery-validator.d.ts +0 -56
- package/dist/esm/kernel-zerodev/validator/recovery-validator.js +0 -344
- package/dist/esm/kernel-zerodev/validator/recovery-validator.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator/session-key-validator.d.ts +0 -84
- package/dist/esm/kernel-zerodev/validator/session-key-validator.js +0 -496
- package/dist/esm/kernel-zerodev/validator/session-key-validator.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator/types.d.ts +0 -56
- package/dist/esm/kernel-zerodev/validator/types.js +0 -3
- package/dist/esm/kernel-zerodev/validator/types.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator-provider/base.d.ts +0 -29
- package/dist/esm/kernel-zerodev/validator-provider/base.js +0 -126
- package/dist/esm/kernel-zerodev/validator-provider/base.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +0 -8
- package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.js +0 -56
- package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +0 -8
- package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.js +0 -60
- package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator-provider/index.d.ts +0 -8
- package/dist/esm/kernel-zerodev/validator-provider/index.js +0 -14
- package/dist/esm/kernel-zerodev/validator-provider/index.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +0 -8
- package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.js +0 -60
- package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.d.ts +0 -27
- package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js +0 -275
- package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.d.ts +0 -18
- package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.js +0 -110
- package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.js.map +0 -1
- package/dist/esm/kernel-zerodev/validator-provider/types.d.ts +0 -29
- package/dist/esm/kernel-zerodev/validator-provider/types.js +0 -2
- package/dist/esm/kernel-zerodev/validator-provider/types.js.map +0 -1
- package/dist/esm/package.json +0 -1
- package/dist/types/index.d.ts +0 -23
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +0 -163
- package/dist/types/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/ERC20Abi.d.ts +0 -232
- package/dist/types/kernel-zerodev/abis/ERC20Abi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +0 -159
- package/dist/types/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/KernelAccountAbi.d.ts +0 -535
- package/dist/types/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +0 -151
- package/dist/types/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/MultiSendAbi.d.ts +0 -16
- package/dist/types/kernel-zerodev/abis/MultiSendAbi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts +0 -16
- package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +0 -213
- package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts +0 -238
- package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/Test_ERC721Abi.d.ts +0 -288
- package/dist/types/kernel-zerodev/abis/Test_ERC721Abi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/TokenActionsAbi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +0 -341
- package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/abis/index.d.ts +0 -9
- package/dist/types/kernel-zerodev/abis/index.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/account.d.ts +0 -52
- package/dist/types/kernel-zerodev/account.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/api/index.d.ts +0 -6
- package/dist/types/kernel-zerodev/api/index.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/client/create-client.d.ts +0 -12
- package/dist/types/kernel-zerodev/client/create-client.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/constants.d.ts +0 -32
- package/dist/types/kernel-zerodev/constants.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/errors.d.ts +0 -6
- package/dist/types/kernel-zerodev/errors.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts +0 -32
- package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts +0 -23
- package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/middleware/gas-estimator.d.ts +0 -20
- package/dist/types/kernel-zerodev/middleware/gas-estimator.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/middleware/paymaster.d.ts +0 -6
- package/dist/types/kernel-zerodev/middleware/paymaster.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/getCustodialOwner.d.ts +0 -12
- package/dist/types/kernel-zerodev/owner/getCustodialOwner.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/getRPCProviderOwner.d.ts +0 -3
- package/dist/types/kernel-zerodev/owner/getRPCProviderOwner.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/index.d.ts +0 -3
- package/dist/types/kernel-zerodev/owner/index.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts +0 -9
- package/dist/types/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/passkey/exceptions.d.ts +0 -4
- package/dist/types/kernel-zerodev/owner/passkey/exceptions.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts +0 -7
- package/dist/types/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts +0 -8
- package/dist/types/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/passkey/index.d.ts +0 -5
- package/dist/types/kernel-zerodev/owner/passkey/index.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/passkey/types.d.ts +0 -13
- package/dist/types/kernel-zerodev/owner/passkey/types.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/owner/passkey/utils.d.ts +0 -15
- package/dist/types/kernel-zerodev/owner/passkey/utils.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/paymaster/base.d.ts +0 -19
- package/dist/types/kernel-zerodev/paymaster/base.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/paymaster/index.d.ts +0 -4
- package/dist/types/kernel-zerodev/paymaster/index.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts +0 -16
- package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/paymaster/types.d.ts +0 -30
- package/dist/types/kernel-zerodev/paymaster/types.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts +0 -9
- package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/provider.d.ts +0 -57
- package/dist/types/kernel-zerodev/provider.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/signer/empty-account.d.ts +0 -11
- package/dist/types/kernel-zerodev/signer/empty-account.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/types.d.ts +0 -8
- package/dist/types/kernel-zerodev/types.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/utils/ERC4337-utils.d.ts +0 -6
- package/dist/types/kernel-zerodev/utils/ERC4337-utils.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +0 -16
- package/dist/types/kernel-zerodev/utils/calc-pre-verification-gas.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/utils/custom-chains.d.ts +0 -59
- package/dist/types/kernel-zerodev/utils/custom-chains.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/utils.d.ts +0 -21
- package/dist/types/kernel-zerodev/utils.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator/base.d.ts +0 -58
- package/dist/types/kernel-zerodev/validator/base.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator/ecdsa-validator.d.ts +0 -21
- package/dist/types/kernel-zerodev/validator/ecdsa-validator.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts +0 -30
- package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator/index.d.ts +0 -9
- package/dist/types/kernel-zerodev/validator/index.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator/kill-switch-validator.d.ts +0 -23
- package/dist/types/kernel-zerodev/validator/kill-switch-validator.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts +0 -57
- package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts +0 -85
- package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator/types.d.ts +0 -57
- package/dist/types/kernel-zerodev/validator/types.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator-provider/base.d.ts +0 -30
- package/dist/types/kernel-zerodev/validator-provider/base.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +0 -9
- package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +0 -9
- package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator-provider/index.d.ts +0 -9
- package/dist/types/kernel-zerodev/validator-provider/index.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +0 -9
- package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts +0 -28
- package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts +0 -19
- package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts.map +0 -1
- package/dist/types/kernel-zerodev/validator-provider/types.d.ts +0 -30
- package/dist/types/kernel-zerodev/validator-provider/types.d.ts.map +0 -1
- package/passkey/package.json +0 -5
- package/src/index.ts +0 -50
- package/src/kernel-zerodev/__tests__/config/index.ts +0 -19
- package/src/kernel-zerodev/__tests__/mocks/mock-signer.ts +0 -24
- package/src/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.ts +0 -211
- package/src/kernel-zerodev/abis/ERC20Abi.ts +0 -153
- package/src/kernel-zerodev/abis/ESCDAValidatorAbi.ts +0 -206
- package/src/kernel-zerodev/abis/KernelAccountAbi.ts +0 -691
- package/src/kernel-zerodev/abis/KernelFactoryAbi.ts +0 -380
- package/src/kernel-zerodev/abis/KillSwitchValidatorAbi.ts +0 -196
- package/src/kernel-zerodev/abis/MultiSendAbi.ts +0 -20
- package/src/kernel-zerodev/abis/RecoveryActionAbi.ts +0 -20
- package/src/kernel-zerodev/abis/SessionKeyValidatorAbi.ts +0 -277
- package/src/kernel-zerodev/abis/Test_ERC20Abi.ts +0 -157
- package/src/kernel-zerodev/abis/Test_ERC721Abi.ts +0 -373
- package/src/kernel-zerodev/abis/TokenActionsAbi.ts +0 -81
- package/src/kernel-zerodev/abis/WeightedValidatorAbi.ts +0 -442
- package/src/kernel-zerodev/abis/index.ts +0 -17
- package/src/kernel-zerodev/account.ts +0 -391
- package/src/kernel-zerodev/api/index.ts +0 -84
- package/src/kernel-zerodev/client/create-client.ts +0 -78
- package/src/kernel-zerodev/constants.ts +0 -114
- package/src/kernel-zerodev/errors.ts +0 -13
- package/src/kernel-zerodev/ethers-provider/account-signer.ts +0 -185
- package/src/kernel-zerodev/ethers-provider/ethers-provider.ts +0 -149
- package/src/kernel-zerodev/middleware/gas-estimator.ts +0 -213
- package/src/kernel-zerodev/middleware/paymaster.ts +0 -86
- package/src/kernel-zerodev/owner/getCustodialOwner.ts +0 -131
- package/src/kernel-zerodev/owner/getRPCProviderOwner.ts +0 -26
- package/src/kernel-zerodev/owner/index.ts +0 -2
- package/src/kernel-zerodev/owner/passkey/createPasskeyOwner.ts +0 -107
- package/src/kernel-zerodev/owner/passkey/exceptions.ts +0 -3
- package/src/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.ts +0 -81
- package/src/kernel-zerodev/owner/passkey/getPasskeyOwner.ts +0 -75
- package/src/kernel-zerodev/owner/passkey/index.ts +0 -4
- package/src/kernel-zerodev/owner/passkey/types.ts +0 -18
- package/src/kernel-zerodev/owner/passkey/utils.ts +0 -174
- package/src/kernel-zerodev/paymaster/base.ts +0 -90
- package/src/kernel-zerodev/paymaster/index.ts +0 -9
- package/src/kernel-zerodev/paymaster/token-paymaster.ts +0 -251
- package/src/kernel-zerodev/paymaster/types.ts +0 -40
- package/src/kernel-zerodev/paymaster/verifying-paymaster.ts +0 -32
- package/src/kernel-zerodev/provider.ts +0 -482
- package/src/kernel-zerodev/signer/empty-account.ts +0 -27
- package/src/kernel-zerodev/types.ts +0 -8
- package/src/kernel-zerodev/utils/ERC4337-utils.ts +0 -161
- package/src/kernel-zerodev/utils/calc-pre-verification-gas.ts +0 -88
- package/src/kernel-zerodev/utils/custom-chains.ts +0 -55
- package/src/kernel-zerodev/utils.ts +0 -155
- package/src/kernel-zerodev/validator/base.ts +0 -320
- package/src/kernel-zerodev/validator/ecdsa-validator.ts +0 -122
- package/src/kernel-zerodev/validator/erc165-session-key-validator.ts +0 -151
- package/src/kernel-zerodev/validator/index.ts +0 -22
- package/src/kernel-zerodev/validator/kill-switch-validator.ts +0 -160
- package/src/kernel-zerodev/validator/recovery-validator.ts +0 -429
- package/src/kernel-zerodev/validator/session-key-validator.ts +0 -696
- package/src/kernel-zerodev/validator/types.ts +0 -129
- package/src/kernel-zerodev/validator-provider/base.ts +0 -178
- package/src/kernel-zerodev/validator-provider/ecdsa-provider.ts +0 -64
- package/src/kernel-zerodev/validator-provider/erc165-session-key-provider.ts +0 -71
- package/src/kernel-zerodev/validator-provider/index.ts +0 -22
- package/src/kernel-zerodev/validator-provider/kill-switch-provider.ts +0 -71
- package/src/kernel-zerodev/validator-provider/recovery-provider.ts +0 -373
- package/src/kernel-zerodev/validator-provider/session-key-provider.ts +0 -150
- package/src/kernel-zerodev/validator-provider/types.ts +0 -42
- /package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelFactoryAbi.d.ts +0 -0
- /package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/TokenActionsAbi.d.ts +0 -0
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
import { getAccountNonce, getSenderAddress } from "permissionless"
|
|
2
|
+
import {
|
|
3
|
+
SignTransactionNotSupportedBySmartAccount,
|
|
4
|
+
type SmartAccount
|
|
5
|
+
} from "permissionless/accounts"
|
|
6
|
+
import {
|
|
7
|
+
type Address,
|
|
8
|
+
type Chain,
|
|
9
|
+
type Client,
|
|
10
|
+
type EncodeDeployDataParameters,
|
|
11
|
+
type Hex,
|
|
12
|
+
type Transport,
|
|
13
|
+
type TypedDataDefinition,
|
|
14
|
+
concatHex,
|
|
15
|
+
decodeFunctionResult,
|
|
16
|
+
encodeAbiParameters,
|
|
17
|
+
encodeDeployData,
|
|
18
|
+
encodeFunctionData,
|
|
19
|
+
getTypesForEIP712Domain,
|
|
20
|
+
hashTypedData,
|
|
21
|
+
keccak256,
|
|
22
|
+
parseAbi,
|
|
23
|
+
stringToHex,
|
|
24
|
+
validateTypedData
|
|
25
|
+
} from "viem"
|
|
26
|
+
import { toAccount } from "viem/accounts"
|
|
27
|
+
import { getBytecode } from "viem/actions"
|
|
28
|
+
import type {
|
|
29
|
+
KernelEncodeCallDataArgs,
|
|
30
|
+
KernelPluginManager,
|
|
31
|
+
KernelPluginManagerParams
|
|
32
|
+
} from "../../types/kernel.js"
|
|
33
|
+
import {
|
|
34
|
+
isKernelPluginManager,
|
|
35
|
+
toKernelPluginManager
|
|
36
|
+
} from "../utils/toKernelPluginManager.js"
|
|
37
|
+
import { KernelExecuteAbi, KernelInitAbi } from "./abi/KernelAccountAbi.js"
|
|
38
|
+
|
|
39
|
+
export type KernelSmartAccount<
|
|
40
|
+
transport extends Transport = Transport,
|
|
41
|
+
chain extends Chain | undefined = Chain | undefined
|
|
42
|
+
> = SmartAccount<"kernelSmartAccount", transport, chain> & {
|
|
43
|
+
kernelPluginManager: KernelPluginManager
|
|
44
|
+
generateInitCode: () => Promise<Hex>
|
|
45
|
+
encodeCallData: (args: KernelEncodeCallDataArgs) => Promise<Hex>
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The account creation ABI for a kernel smart account (from the KernelFactory)
|
|
50
|
+
*/
|
|
51
|
+
const createAccountAbi = [
|
|
52
|
+
{
|
|
53
|
+
inputs: [
|
|
54
|
+
{
|
|
55
|
+
internalType: "address",
|
|
56
|
+
name: "_implementation",
|
|
57
|
+
type: "address"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
internalType: "bytes",
|
|
61
|
+
name: "_data",
|
|
62
|
+
type: "bytes"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
internalType: "uint256",
|
|
66
|
+
name: "_index",
|
|
67
|
+
type: "uint256"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
name: "createAccount",
|
|
71
|
+
outputs: [
|
|
72
|
+
{
|
|
73
|
+
internalType: "address",
|
|
74
|
+
name: "proxy",
|
|
75
|
+
type: "address"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
stateMutability: "payable",
|
|
79
|
+
type: "function"
|
|
80
|
+
}
|
|
81
|
+
] as const
|
|
82
|
+
|
|
83
|
+
// Safe's library for create and create2: https://github.com/safe-global/safe-contracts/blob/0acdd35a203299585438f53885df630f9d486a86/contracts/libraries/CreateCall.sol
|
|
84
|
+
// Address was found here: https://github.com/safe-global/safe-deployments/blob/926ec6bbe2ebcac3aa2c2c6c0aff74aa590cbc6a/src/assets/v1.4.1/create_call.json
|
|
85
|
+
const createCallAddress = "0x9b35Af71d77eaf8d7e40252370304687390A1A52"
|
|
86
|
+
|
|
87
|
+
const createCallAbi = parseAbi([
|
|
88
|
+
"function performCreate(uint256 value, bytes memory deploymentData) public returns (address newContract)",
|
|
89
|
+
"function performCreate2(uint256 value, bytes memory deploymentData, bytes32 salt) public returns (address newContract)"
|
|
90
|
+
])
|
|
91
|
+
|
|
92
|
+
export const EIP1271ABI = [
|
|
93
|
+
{
|
|
94
|
+
type: "function",
|
|
95
|
+
name: "eip712Domain",
|
|
96
|
+
inputs: [],
|
|
97
|
+
outputs: [
|
|
98
|
+
{ name: "fields", type: "bytes1", internalType: "bytes1" },
|
|
99
|
+
{ name: "name", type: "string", internalType: "string" },
|
|
100
|
+
{ name: "version", type: "string", internalType: "string" },
|
|
101
|
+
{ name: "chainId", type: "uint256", internalType: "uint256" },
|
|
102
|
+
{
|
|
103
|
+
name: "verifyingContract",
|
|
104
|
+
type: "address",
|
|
105
|
+
internalType: "address"
|
|
106
|
+
},
|
|
107
|
+
{ name: "salt", type: "bytes32", internalType: "bytes32" },
|
|
108
|
+
{ name: "extensions", type: "uint256[]", internalType: "uint256[]" }
|
|
109
|
+
],
|
|
110
|
+
stateMutability: "view"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: "function",
|
|
114
|
+
name: "isValidSignature",
|
|
115
|
+
inputs: [
|
|
116
|
+
{ name: "data", type: "bytes32", internalType: "bytes32" },
|
|
117
|
+
{ name: "signature", type: "bytes", internalType: "bytes" }
|
|
118
|
+
],
|
|
119
|
+
outputs: [
|
|
120
|
+
{ name: "magicValue", type: "bytes4", internalType: "bytes4" }
|
|
121
|
+
],
|
|
122
|
+
stateMutability: "view"
|
|
123
|
+
}
|
|
124
|
+
] as const
|
|
125
|
+
/**
|
|
126
|
+
* Default addresses for kernel smart account
|
|
127
|
+
*/
|
|
128
|
+
export const KERNEL_ADDRESSES: {
|
|
129
|
+
ACCOUNT_V2_3_LOGIC: Address
|
|
130
|
+
FACTORY_ADDRESS: Address
|
|
131
|
+
ENTRYPOINT_V0_6: Address
|
|
132
|
+
} = {
|
|
133
|
+
ACCOUNT_V2_3_LOGIC: "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab",
|
|
134
|
+
FACTORY_ADDRESS: "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3",
|
|
135
|
+
ENTRYPOINT_V0_6: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Get the account initialization code for a kernel smart account
|
|
140
|
+
* @param index
|
|
141
|
+
* @param factoryAddress
|
|
142
|
+
* @param accountLogicAddress
|
|
143
|
+
* @param ecdsaValidatorAddress
|
|
144
|
+
*/
|
|
145
|
+
const getAccountInitCode = async ({
|
|
146
|
+
index,
|
|
147
|
+
factoryAddress,
|
|
148
|
+
accountLogicAddress,
|
|
149
|
+
validatorAddress,
|
|
150
|
+
enableData
|
|
151
|
+
}: {
|
|
152
|
+
index: bigint
|
|
153
|
+
factoryAddress: Address
|
|
154
|
+
accountLogicAddress: Address
|
|
155
|
+
validatorAddress: Address
|
|
156
|
+
enableData: Hex
|
|
157
|
+
}): Promise<Hex> => {
|
|
158
|
+
// Build the account initialization data
|
|
159
|
+
const initialisationData = encodeFunctionData({
|
|
160
|
+
abi: KernelInitAbi,
|
|
161
|
+
functionName: "initialize",
|
|
162
|
+
args: [validatorAddress, enableData]
|
|
163
|
+
})
|
|
164
|
+
|
|
165
|
+
// Build the account init code
|
|
166
|
+
return concatHex([
|
|
167
|
+
factoryAddress,
|
|
168
|
+
encodeFunctionData({
|
|
169
|
+
abi: createAccountAbi,
|
|
170
|
+
functionName: "createAccount",
|
|
171
|
+
args: [accountLogicAddress, initialisationData, index]
|
|
172
|
+
}) as Hex
|
|
173
|
+
])
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Check the validity of an existing account address, or fetch the pre-deterministic account address for a kernel smart wallet
|
|
178
|
+
* @param client
|
|
179
|
+
* @param entryPoint
|
|
180
|
+
* @param initCodeProvider
|
|
181
|
+
*/
|
|
182
|
+
const getAccountAddress = async <
|
|
183
|
+
TTransport extends Transport = Transport,
|
|
184
|
+
TChain extends Chain | undefined = Chain | undefined
|
|
185
|
+
>({
|
|
186
|
+
client,
|
|
187
|
+
entryPoint,
|
|
188
|
+
initCodeProvider
|
|
189
|
+
}: {
|
|
190
|
+
client: Client<TTransport, TChain, undefined>
|
|
191
|
+
initCodeProvider: () => Promise<Hex>
|
|
192
|
+
entryPoint: Address
|
|
193
|
+
}): Promise<Address> => {
|
|
194
|
+
// Find the init code for this account
|
|
195
|
+
const initCode = await initCodeProvider()
|
|
196
|
+
|
|
197
|
+
// Get the sender address based on the init code
|
|
198
|
+
return getSenderAddress(client, {
|
|
199
|
+
initCode,
|
|
200
|
+
entryPoint
|
|
201
|
+
})
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Build a kernel smart account from a private key, that use the ECDSA signer behind the scene
|
|
206
|
+
* @param client
|
|
207
|
+
* @param privateKey
|
|
208
|
+
* @param entryPoint
|
|
209
|
+
* @param index
|
|
210
|
+
* @param factoryAddress
|
|
211
|
+
* @param accountLogicAddress
|
|
212
|
+
* @param ecdsaValidatorAddress
|
|
213
|
+
* @param deployedAccountAddress
|
|
214
|
+
*/
|
|
215
|
+
export async function createKernelAccount<
|
|
216
|
+
TTransport extends Transport = Transport,
|
|
217
|
+
TChain extends Chain | undefined = Chain | undefined
|
|
218
|
+
>(
|
|
219
|
+
client: Client<TTransport, TChain, undefined>,
|
|
220
|
+
{
|
|
221
|
+
plugins,
|
|
222
|
+
entryPoint = KERNEL_ADDRESSES.ENTRYPOINT_V0_6,
|
|
223
|
+
index = 0n,
|
|
224
|
+
factoryAddress = KERNEL_ADDRESSES.FACTORY_ADDRESS,
|
|
225
|
+
accountLogicAddress = KERNEL_ADDRESSES.ACCOUNT_V2_3_LOGIC,
|
|
226
|
+
deployedAccountAddress
|
|
227
|
+
}: {
|
|
228
|
+
plugins: KernelPluginManagerParams | KernelPluginManager
|
|
229
|
+
entryPoint?: Address
|
|
230
|
+
index?: bigint
|
|
231
|
+
factoryAddress?: Address
|
|
232
|
+
accountLogicAddress?: Address
|
|
233
|
+
deployedAccountAddress?: Address
|
|
234
|
+
}
|
|
235
|
+
): Promise<KernelSmartAccount<TTransport, TChain>> {
|
|
236
|
+
const kernelPluginManager = isKernelPluginManager(plugins)
|
|
237
|
+
? plugins
|
|
238
|
+
: await toKernelPluginManager(client, {
|
|
239
|
+
validator: plugins.validator,
|
|
240
|
+
defaultValidator: plugins.defaultValidator,
|
|
241
|
+
executorData: plugins.executorData,
|
|
242
|
+
pluginEnableSignature: plugins.pluginEnableSignature
|
|
243
|
+
})
|
|
244
|
+
// Helper to generate the init code for the smart account
|
|
245
|
+
const generateInitCode = async () => {
|
|
246
|
+
const validatorInitData =
|
|
247
|
+
await kernelPluginManager.getValidatorInitData()
|
|
248
|
+
return getAccountInitCode({
|
|
249
|
+
index,
|
|
250
|
+
factoryAddress,
|
|
251
|
+
accountLogicAddress,
|
|
252
|
+
validatorAddress: validatorInitData.validatorAddress,
|
|
253
|
+
enableData: validatorInitData.enableData
|
|
254
|
+
})
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// Fetch account address and chain id
|
|
258
|
+
const [accountAddress] = await Promise.all([
|
|
259
|
+
deployedAccountAddress ??
|
|
260
|
+
getAccountAddress<TTransport, TChain>({
|
|
261
|
+
client,
|
|
262
|
+
entryPoint,
|
|
263
|
+
initCodeProvider: generateInitCode
|
|
264
|
+
})
|
|
265
|
+
])
|
|
266
|
+
|
|
267
|
+
if (!accountAddress) throw new Error("Account address not found")
|
|
268
|
+
|
|
269
|
+
const signHashedMessage = async (messageHash: Hex): Promise<Hex> => {
|
|
270
|
+
const domain = await client.request({
|
|
271
|
+
method: "eth_call",
|
|
272
|
+
params: [
|
|
273
|
+
{
|
|
274
|
+
to: accountLogicAddress,
|
|
275
|
+
data: encodeFunctionData({
|
|
276
|
+
abi: EIP1271ABI,
|
|
277
|
+
functionName: "eip712Domain"
|
|
278
|
+
})
|
|
279
|
+
},
|
|
280
|
+
"latest"
|
|
281
|
+
]
|
|
282
|
+
})
|
|
283
|
+
const decoded = decodeFunctionResult({
|
|
284
|
+
abi: [...EIP1271ABI],
|
|
285
|
+
functionName: "eip712Domain",
|
|
286
|
+
data: domain
|
|
287
|
+
})
|
|
288
|
+
|
|
289
|
+
const encoded = encodeAbiParameters(
|
|
290
|
+
[
|
|
291
|
+
{ type: "bytes32" },
|
|
292
|
+
{ type: "bytes32" },
|
|
293
|
+
{ type: "bytes32" },
|
|
294
|
+
{ type: "uint256" },
|
|
295
|
+
{ type: "address" }
|
|
296
|
+
],
|
|
297
|
+
[
|
|
298
|
+
keccak256(
|
|
299
|
+
stringToHex(
|
|
300
|
+
"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
|
|
301
|
+
)
|
|
302
|
+
),
|
|
303
|
+
keccak256(stringToHex(decoded[1])),
|
|
304
|
+
keccak256(stringToHex(decoded[2])),
|
|
305
|
+
decoded[3],
|
|
306
|
+
accountAddress
|
|
307
|
+
]
|
|
308
|
+
)
|
|
309
|
+
|
|
310
|
+
const domainSeparator = keccak256(encoded)
|
|
311
|
+
const digest = keccak256(
|
|
312
|
+
concatHex(["0x1901", domainSeparator, messageHash])
|
|
313
|
+
)
|
|
314
|
+
return kernelPluginManager.signMessage({
|
|
315
|
+
message: {
|
|
316
|
+
raw: digest
|
|
317
|
+
}
|
|
318
|
+
})
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// Build the EOA Signer
|
|
322
|
+
const account = toAccount({
|
|
323
|
+
address: accountAddress,
|
|
324
|
+
async signMessage({ message }) {
|
|
325
|
+
let messageHash: Hex
|
|
326
|
+
if (typeof message === "string")
|
|
327
|
+
messageHash = keccak256(stringToHex(message))
|
|
328
|
+
else messageHash = keccak256(message.raw)
|
|
329
|
+
return signHashedMessage(messageHash)
|
|
330
|
+
},
|
|
331
|
+
async signTransaction(_, __) {
|
|
332
|
+
throw new SignTransactionNotSupportedBySmartAccount()
|
|
333
|
+
},
|
|
334
|
+
async signTypedData(typedData) {
|
|
335
|
+
const types = {
|
|
336
|
+
EIP712Domain: getTypesForEIP712Domain({
|
|
337
|
+
domain: typedData.domain
|
|
338
|
+
}),
|
|
339
|
+
...typedData.types
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc
|
|
343
|
+
// as we can't statically check this with TypeScript.
|
|
344
|
+
validateTypedData({
|
|
345
|
+
domain: typedData.domain,
|
|
346
|
+
message: typedData.message,
|
|
347
|
+
primaryType: typedData.primaryType,
|
|
348
|
+
types: types
|
|
349
|
+
} as TypedDataDefinition)
|
|
350
|
+
|
|
351
|
+
const typedHash = hashTypedData(typedData)
|
|
352
|
+
return await signHashedMessage(typedHash)
|
|
353
|
+
}
|
|
354
|
+
})
|
|
355
|
+
|
|
356
|
+
return {
|
|
357
|
+
...account,
|
|
358
|
+
client: client,
|
|
359
|
+
publicKey: accountAddress,
|
|
360
|
+
entryPoint: entryPoint,
|
|
361
|
+
source: "kernelSmartAccount",
|
|
362
|
+
|
|
363
|
+
// Get the nonce of the smart account
|
|
364
|
+
async getNonce() {
|
|
365
|
+
const key = await kernelPluginManager.getNonceKey()
|
|
366
|
+
return getAccountNonce(client, {
|
|
367
|
+
sender: accountAddress,
|
|
368
|
+
entryPoint: entryPoint,
|
|
369
|
+
key
|
|
370
|
+
})
|
|
371
|
+
},
|
|
372
|
+
kernelPluginManager,
|
|
373
|
+
|
|
374
|
+
// Sign a user operation
|
|
375
|
+
async signUserOperation(userOperation) {
|
|
376
|
+
return kernelPluginManager.signUserOperation(userOperation)
|
|
377
|
+
},
|
|
378
|
+
generateInitCode,
|
|
379
|
+
|
|
380
|
+
// Encode the init code
|
|
381
|
+
async getInitCode() {
|
|
382
|
+
const contractCode = await getBytecode(client, {
|
|
383
|
+
address: accountAddress
|
|
384
|
+
})
|
|
385
|
+
|
|
386
|
+
if ((contractCode?.length ?? 0) > 2) return "0x"
|
|
387
|
+
|
|
388
|
+
return generateInitCode()
|
|
389
|
+
},
|
|
390
|
+
|
|
391
|
+
// Encode the deploy call data
|
|
392
|
+
async encodeDeployCallData(_tx) {
|
|
393
|
+
return encodeFunctionData({
|
|
394
|
+
abi: KernelExecuteAbi,
|
|
395
|
+
functionName: "executeDelegateCall",
|
|
396
|
+
args: [
|
|
397
|
+
createCallAddress,
|
|
398
|
+
encodeFunctionData({
|
|
399
|
+
abi: createCallAbi,
|
|
400
|
+
functionName: "performCreate",
|
|
401
|
+
args: [
|
|
402
|
+
0n,
|
|
403
|
+
encodeDeployData({
|
|
404
|
+
abi: _tx.abi,
|
|
405
|
+
bytecode: _tx.bytecode,
|
|
406
|
+
args: _tx.args
|
|
407
|
+
} as EncodeDeployDataParameters)
|
|
408
|
+
]
|
|
409
|
+
})
|
|
410
|
+
]
|
|
411
|
+
})
|
|
412
|
+
},
|
|
413
|
+
|
|
414
|
+
// Encode a call
|
|
415
|
+
async encodeCallData(_tx) {
|
|
416
|
+
const tx = _tx as KernelEncodeCallDataArgs
|
|
417
|
+
if (Array.isArray(tx)) {
|
|
418
|
+
// Encode a batched call
|
|
419
|
+
return encodeFunctionData({
|
|
420
|
+
abi: KernelExecuteAbi,
|
|
421
|
+
functionName: "executeBatch",
|
|
422
|
+
args: [
|
|
423
|
+
tx.map((txn) => {
|
|
424
|
+
if (txn.callType === "delegatecall") {
|
|
425
|
+
throw new Error("Cannot batch delegatecall")
|
|
426
|
+
}
|
|
427
|
+
return {
|
|
428
|
+
to: txn.to,
|
|
429
|
+
value: txn.value,
|
|
430
|
+
data: txn.data
|
|
431
|
+
}
|
|
432
|
+
})
|
|
433
|
+
]
|
|
434
|
+
})
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
// Default to `call`
|
|
438
|
+
if (!tx.callType || tx.callType === "call") {
|
|
439
|
+
if (tx.to.toLowerCase() === accountAddress.toLowerCase()) {
|
|
440
|
+
return tx.data
|
|
441
|
+
}
|
|
442
|
+
return encodeFunctionData({
|
|
443
|
+
abi: KernelExecuteAbi,
|
|
444
|
+
functionName: "execute",
|
|
445
|
+
args: [tx.to, tx.value, tx.data, 0]
|
|
446
|
+
})
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
if (tx.callType === "delegatecall") {
|
|
450
|
+
return encodeFunctionData({
|
|
451
|
+
abi: KernelExecuteAbi,
|
|
452
|
+
functionName: "executeDelegateCall",
|
|
453
|
+
args: [tx.to, tx.data]
|
|
454
|
+
})
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
throw new Error("Invalid call type")
|
|
458
|
+
},
|
|
459
|
+
|
|
460
|
+
// Get simple dummy signature
|
|
461
|
+
async getDummySignature(userOperation) {
|
|
462
|
+
return kernelPluginManager.getDummySignature(userOperation)
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { getAction } from "permissionless"
|
|
2
|
+
import {
|
|
3
|
+
type Address,
|
|
4
|
+
type Chain,
|
|
5
|
+
type Client,
|
|
6
|
+
type Hex,
|
|
7
|
+
type Transport,
|
|
8
|
+
concat,
|
|
9
|
+
concatHex,
|
|
10
|
+
getFunctionSelector,
|
|
11
|
+
hexToBigInt,
|
|
12
|
+
pad,
|
|
13
|
+
toHex,
|
|
14
|
+
zeroAddress
|
|
15
|
+
} from "viem"
|
|
16
|
+
import { getChainId, getStorageAt } from "viem/actions"
|
|
17
|
+
import { LATEST_KERNEL_VERSION } from "../../constants.js"
|
|
18
|
+
import {
|
|
19
|
+
type KernelPluginManager,
|
|
20
|
+
type KernelPluginManagerParams,
|
|
21
|
+
ValidatorMode
|
|
22
|
+
} from "../../types/kernel.js"
|
|
23
|
+
import { getKernelVersion } from "../../utils.js"
|
|
24
|
+
|
|
25
|
+
export function isKernelPluginManager(
|
|
26
|
+
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
|
|
27
|
+
plugin: any
|
|
28
|
+
): plugin is KernelPluginManager {
|
|
29
|
+
return plugin.getPluginEnableSignature !== undefined
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export async function toKernelPluginManager<
|
|
33
|
+
TTransport extends Transport = Transport,
|
|
34
|
+
TChain extends Chain | undefined = Chain | undefined
|
|
35
|
+
>(
|
|
36
|
+
client: Client<TTransport, TChain>,
|
|
37
|
+
{
|
|
38
|
+
validator,
|
|
39
|
+
defaultValidator,
|
|
40
|
+
pluginEnableSignature,
|
|
41
|
+
validatorInitData,
|
|
42
|
+
executorData = {
|
|
43
|
+
executor: zeroAddress,
|
|
44
|
+
selector: getFunctionSelector(
|
|
45
|
+
"execute(address, uint256, bytes, uint8)"
|
|
46
|
+
)
|
|
47
|
+
},
|
|
48
|
+
validAfter = 0,
|
|
49
|
+
validUntil = 0
|
|
50
|
+
}: KernelPluginManagerParams
|
|
51
|
+
): Promise<KernelPluginManager> {
|
|
52
|
+
const chainId = await getChainId(client)
|
|
53
|
+
const getValidatorSignature = async (
|
|
54
|
+
accountAddress: Address,
|
|
55
|
+
selector: Hex
|
|
56
|
+
): Promise<Hex> => {
|
|
57
|
+
const enableSignature = await getPluginEnableSignature(accountAddress)
|
|
58
|
+
const mode = await validator.getValidatorMode(accountAddress, selector)
|
|
59
|
+
|
|
60
|
+
if (mode === ValidatorMode.plugin || mode === ValidatorMode.sudo) {
|
|
61
|
+
return mode
|
|
62
|
+
}
|
|
63
|
+
const enableData = await validator.getEnableData(accountAddress)
|
|
64
|
+
const enableDataLength = enableData.length / 2 - 1
|
|
65
|
+
if (!enableSignature) {
|
|
66
|
+
throw new Error("Enable signature not set")
|
|
67
|
+
}
|
|
68
|
+
return concat([
|
|
69
|
+
mode, // 4 bytes 0 - 4
|
|
70
|
+
pad(toHex(validUntil), { size: 6 }), // 6 bytes 4 - 10
|
|
71
|
+
pad(toHex(validAfter), { size: 6 }), // 6 bytes 10 - 16
|
|
72
|
+
pad(validator.address, { size: 20 }), // 20 bytes 16 - 36
|
|
73
|
+
pad(executorData.executor, { size: 20 }), // 20 bytes 36 - 56
|
|
74
|
+
pad(toHex(enableDataLength), { size: 32 }), // 32 bytes 56 - 88
|
|
75
|
+
enableData, // 88 - 88 + enableData.length
|
|
76
|
+
pad(toHex(enableSignature.length / 2 - 1), { size: 32 }), // 32 bytes 88 + enableData.length - 120 + enableData.length
|
|
77
|
+
enableSignature // 120 + enableData.length - 120 + enableData.length + enableSignature.length
|
|
78
|
+
])
|
|
79
|
+
}
|
|
80
|
+
const getPluginEnableSignature = async (accountAddress: Address) => {
|
|
81
|
+
if (pluginEnableSignature) return pluginEnableSignature
|
|
82
|
+
if (!defaultValidator) return "0x"
|
|
83
|
+
// if (!executorData.selector || !executorData.executor) {
|
|
84
|
+
// throw new Error("Invalid executor data")
|
|
85
|
+
// }
|
|
86
|
+
let kernelImplAddr: Address | undefined
|
|
87
|
+
try {
|
|
88
|
+
const strgAddr = await getAction(
|
|
89
|
+
client,
|
|
90
|
+
getStorageAt
|
|
91
|
+
)({
|
|
92
|
+
address: accountAddress,
|
|
93
|
+
slot: "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"
|
|
94
|
+
})
|
|
95
|
+
if (strgAddr) kernelImplAddr = `0x${strgAddr.slice(26)}` as Hex
|
|
96
|
+
} catch (error) {}
|
|
97
|
+
const ownerSig = await defaultValidator.signTypedData({
|
|
98
|
+
domain: {
|
|
99
|
+
name: "Kernel",
|
|
100
|
+
version: kernelImplAddr
|
|
101
|
+
? getKernelVersion(kernelImplAddr)
|
|
102
|
+
: LATEST_KERNEL_VERSION,
|
|
103
|
+
chainId,
|
|
104
|
+
verifyingContract: accountAddress
|
|
105
|
+
},
|
|
106
|
+
types: {
|
|
107
|
+
ValidatorApproved: [
|
|
108
|
+
{ name: "sig", type: "bytes4" },
|
|
109
|
+
{ name: "validatorData", type: "uint256" },
|
|
110
|
+
{ name: "executor", type: "address" },
|
|
111
|
+
{ name: "enableData", type: "bytes" }
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
message: {
|
|
115
|
+
sig: executorData.selector,
|
|
116
|
+
validatorData: hexToBigInt(
|
|
117
|
+
concatHex([
|
|
118
|
+
pad(toHex(validUntil ?? 0), {
|
|
119
|
+
size: 6
|
|
120
|
+
}),
|
|
121
|
+
pad(toHex(validAfter ?? 0), {
|
|
122
|
+
size: 6
|
|
123
|
+
}),
|
|
124
|
+
validator.address
|
|
125
|
+
]),
|
|
126
|
+
{ size: 32 }
|
|
127
|
+
),
|
|
128
|
+
executor: executorData.executor as Address,
|
|
129
|
+
enableData: await validator.getEnableData(accountAddress)
|
|
130
|
+
},
|
|
131
|
+
primaryType: "ValidatorApproved"
|
|
132
|
+
})
|
|
133
|
+
return ownerSig
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return {
|
|
137
|
+
...validator,
|
|
138
|
+
signUserOperation: async (userOperation) => {
|
|
139
|
+
return concatHex([
|
|
140
|
+
await getValidatorSignature(
|
|
141
|
+
userOperation.sender,
|
|
142
|
+
userOperation.callData.toString().slice(0, 10) as Hex
|
|
143
|
+
),
|
|
144
|
+
await validator.signUserOperation(userOperation)
|
|
145
|
+
])
|
|
146
|
+
},
|
|
147
|
+
getExecutorData: () => executorData,
|
|
148
|
+
getValidityData: () => ({
|
|
149
|
+
validAfter,
|
|
150
|
+
validUntil
|
|
151
|
+
}),
|
|
152
|
+
getDummySignature: async (userOperation) => {
|
|
153
|
+
return concatHex([
|
|
154
|
+
await getValidatorSignature(
|
|
155
|
+
userOperation.sender,
|
|
156
|
+
userOperation.callData.toString().slice(0, 10) as Hex
|
|
157
|
+
),
|
|
158
|
+
await validator.getDummySignature(userOperation)
|
|
159
|
+
])
|
|
160
|
+
},
|
|
161
|
+
getPluginEnableSignature,
|
|
162
|
+
getValidatorInitData: async () => {
|
|
163
|
+
if (validatorInitData) return validatorInitData
|
|
164
|
+
return {
|
|
165
|
+
validatorAddress:
|
|
166
|
+
defaultValidator?.address ?? validator.address,
|
|
167
|
+
enableData:
|
|
168
|
+
(await defaultValidator?.getEnableData()) ??
|
|
169
|
+
(await validator.getEnableData())
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { SmartAccount } from "permissionless/accounts/types"
|
|
2
|
+
import type { SponsorUserOperationMiddleware } from "permissionless/actions/smartAccount"
|
|
3
|
+
import { prepareUserOperationRequest } from "permissionless/actions/smartAccount"
|
|
4
|
+
import type {
|
|
5
|
+
GetAccountParameter,
|
|
6
|
+
PartialBy,
|
|
7
|
+
Prettify,
|
|
8
|
+
UserOperation
|
|
9
|
+
} from "permissionless/types"
|
|
10
|
+
import {
|
|
11
|
+
AccountOrClientNotFoundError,
|
|
12
|
+
getAction,
|
|
13
|
+
parseAccount
|
|
14
|
+
} from "permissionless/utils"
|
|
15
|
+
import type { Chain, Client, Transport } from "viem"
|
|
16
|
+
|
|
17
|
+
export type SignUserOperationParameters<
|
|
18
|
+
TAccount extends SmartAccount | undefined = SmartAccount | undefined
|
|
19
|
+
> = {
|
|
20
|
+
userOperation: PartialBy<
|
|
21
|
+
UserOperation,
|
|
22
|
+
| "nonce"
|
|
23
|
+
| "sender"
|
|
24
|
+
| "initCode"
|
|
25
|
+
| "signature"
|
|
26
|
+
| "callGasLimit"
|
|
27
|
+
| "maxFeePerGas"
|
|
28
|
+
| "maxPriorityFeePerGas"
|
|
29
|
+
| "preVerificationGas"
|
|
30
|
+
| "verificationGasLimit"
|
|
31
|
+
| "paymasterAndData"
|
|
32
|
+
>
|
|
33
|
+
} & GetAccountParameter<TAccount> &
|
|
34
|
+
SponsorUserOperationMiddleware
|
|
35
|
+
|
|
36
|
+
export type SignUserOperationReturnType = UserOperation
|
|
37
|
+
|
|
38
|
+
export async function signUserOperation<
|
|
39
|
+
TTransport extends Transport = Transport,
|
|
40
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
41
|
+
TAccount extends SmartAccount | undefined = SmartAccount | undefined
|
|
42
|
+
>(
|
|
43
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
44
|
+
args: Prettify<SignUserOperationParameters<TAccount>>
|
|
45
|
+
): Promise<SignUserOperationReturnType> {
|
|
46
|
+
const { account: account_ = client.account } = args
|
|
47
|
+
if (!account_) throw new AccountOrClientNotFoundError()
|
|
48
|
+
|
|
49
|
+
const account = parseAccount(account_) as SmartAccount
|
|
50
|
+
|
|
51
|
+
const userOperation = await getAction(
|
|
52
|
+
client,
|
|
53
|
+
prepareUserOperationRequest
|
|
54
|
+
)(args)
|
|
55
|
+
|
|
56
|
+
userOperation.signature = await account.signUserOperation(userOperation)
|
|
57
|
+
|
|
58
|
+
return userOperation
|
|
59
|
+
}
|