@zerodev/sdk 4.6.0 → 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 -321
- 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 -12
- 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 -57
- package/dist/cjs/kernel-zerodev/provider.js +0 -387
- 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 -317
- 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 -12
- 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 -57
- package/dist/esm/kernel-zerodev/provider.js +0 -383
- 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 -13
- 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 -58
- 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 -392
- package/src/kernel-zerodev/api/index.ts +0 -84
- package/src/kernel-zerodev/client/create-client.ts +0 -80
- 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 -485
- 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
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type Address, type Hex, type SmartAccountSigner, type UserOperationRequest, type SignTypedDataParams } from "@alchemy/aa-core";
|
|
2
|
-
import { KernelBaseValidator, type KernelBaseValidatorParams } from "./base.js";
|
|
3
|
-
export interface ECDSAValidatorParams extends KernelBaseValidatorParams {
|
|
4
|
-
owner: SmartAccountSigner;
|
|
5
|
-
}
|
|
6
|
-
export declare class ECDSAValidator extends KernelBaseValidator {
|
|
7
|
-
protected owner: SmartAccountSigner;
|
|
8
|
-
constructor(params: ECDSAValidatorParams);
|
|
9
|
-
static init(params: ECDSAValidatorParams): Promise<ECDSAValidator>;
|
|
10
|
-
signer(): Promise<SmartAccountSigner>;
|
|
11
|
-
getOwner(): Promise<Hex>;
|
|
12
|
-
getEnableData(): Promise<Hex>;
|
|
13
|
-
encodeEnable(newOwner: Hex): Hex;
|
|
14
|
-
encodeDisable(disableData?: Hex): Hex;
|
|
15
|
-
getDummyUserOpSignature(): Promise<Hex>;
|
|
16
|
-
isPluginEnabled(kernelAccountAddress: Address, selector: Hex): Promise<boolean>;
|
|
17
|
-
signMessage(message: string | Uint8Array): Promise<Hex>;
|
|
18
|
-
signTypedData(params: SignTypedDataParams): Promise<Hex>;
|
|
19
|
-
signUserOp(userOp: UserOperationRequest): Promise<Hex>;
|
|
20
|
-
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { getUserOperationHash, } from "@alchemy/aa-core";
|
|
2
|
-
import { KernelBaseValidator } from "./base.js";
|
|
3
|
-
import { encodeFunctionData, toBytes } from "viem";
|
|
4
|
-
import { ECDSAValidatorAbi } from "../abis/ESCDAValidatorAbi.js";
|
|
5
|
-
import { getChainId } from "../api/index.js";
|
|
6
|
-
import { DUMMY_ECDSA_SIG } from "../constants.js";
|
|
7
|
-
import { KernelAccountAbi } from "../abis/KernelAccountAbi.js";
|
|
8
|
-
import { fixSignedData, getChain } from "../utils.js";
|
|
9
|
-
export class ECDSAValidator extends KernelBaseValidator {
|
|
10
|
-
constructor(params) {
|
|
11
|
-
super(params);
|
|
12
|
-
Object.defineProperty(this, "owner", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true,
|
|
16
|
-
value: void 0
|
|
17
|
-
});
|
|
18
|
-
this.owner = params.owner;
|
|
19
|
-
}
|
|
20
|
-
static async init(params) {
|
|
21
|
-
const chainId = await getChainId(params.projectId);
|
|
22
|
-
if (!chainId) {
|
|
23
|
-
throw new Error("ChainId not found");
|
|
24
|
-
}
|
|
25
|
-
const chain = getChain(chainId);
|
|
26
|
-
const instance = new ECDSAValidator({ ...params, chain });
|
|
27
|
-
return instance;
|
|
28
|
-
}
|
|
29
|
-
async signer() {
|
|
30
|
-
return await Promise.resolve(this.owner);
|
|
31
|
-
}
|
|
32
|
-
async getOwner() {
|
|
33
|
-
return this.owner.getAddress();
|
|
34
|
-
}
|
|
35
|
-
async getEnableData() {
|
|
36
|
-
return this.getOwner();
|
|
37
|
-
}
|
|
38
|
-
encodeEnable(newOwner) {
|
|
39
|
-
return encodeFunctionData({
|
|
40
|
-
abi: ECDSAValidatorAbi,
|
|
41
|
-
functionName: "enable",
|
|
42
|
-
args: [newOwner],
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
encodeDisable(disableData = "0x") {
|
|
46
|
-
return encodeFunctionData({
|
|
47
|
-
abi: ECDSAValidatorAbi,
|
|
48
|
-
functionName: "disable",
|
|
49
|
-
args: [disableData],
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
async getDummyUserOpSignature() {
|
|
53
|
-
return DUMMY_ECDSA_SIG;
|
|
54
|
-
}
|
|
55
|
-
async isPluginEnabled(kernelAccountAddress, selector) {
|
|
56
|
-
if (!this.publicClient) {
|
|
57
|
-
throw new Error("Validator uninitialized: PublicClient missing");
|
|
58
|
-
}
|
|
59
|
-
const execDetail = await this.publicClient.readContract({
|
|
60
|
-
abi: KernelAccountAbi,
|
|
61
|
-
address: kernelAccountAddress,
|
|
62
|
-
functionName: "getExecution",
|
|
63
|
-
args: [selector],
|
|
64
|
-
});
|
|
65
|
-
const enableData = await this.publicClient.readContract({
|
|
66
|
-
abi: ECDSAValidatorAbi,
|
|
67
|
-
address: this.validatorAddress,
|
|
68
|
-
functionName: "ecdsaValidatorStorage",
|
|
69
|
-
args: [kernelAccountAddress],
|
|
70
|
-
});
|
|
71
|
-
return (execDetail.validator.toLowerCase() ===
|
|
72
|
-
this.validatorAddress.toLowerCase() &&
|
|
73
|
-
enableData.toLowerCase() === (await this.getEnableData()).toLowerCase());
|
|
74
|
-
}
|
|
75
|
-
async signMessage(message) {
|
|
76
|
-
return await this.owner.signMessage(message);
|
|
77
|
-
}
|
|
78
|
-
async signTypedData(params) {
|
|
79
|
-
return fixSignedData(await this.owner.signTypedData(params));
|
|
80
|
-
}
|
|
81
|
-
async signUserOp(userOp) {
|
|
82
|
-
if (!this.chain) {
|
|
83
|
-
throw new Error("Validator uninitialized");
|
|
84
|
-
}
|
|
85
|
-
const hash = getUserOperationHash({
|
|
86
|
-
...userOp,
|
|
87
|
-
signature: "0x",
|
|
88
|
-
}, this.entryPointAddress, BigInt(this.chain.id));
|
|
89
|
-
const formattedMessage = typeof hash === "string" ? toBytes(hash) : hash;
|
|
90
|
-
return await this.owner.signMessage(formattedMessage);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=ecdsa-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa-validator.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/ecdsa-validator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getUserOperationHash,\n type Address,\n type Hex,\n type SmartAccountSigner,\n type UserOperationRequest,\n type SignTypedDataParams,\n} from \"@alchemy/aa-core\";\nimport { KernelBaseValidator, type KernelBaseValidatorParams } from \"./base.js\";\nimport { encodeFunctionData, toBytes } from \"viem\";\nimport { ECDSAValidatorAbi } from \"../abis/ESCDAValidatorAbi.js\";\nimport { getChainId } from \"../api/index.js\";\nimport { DUMMY_ECDSA_SIG } from \"../constants.js\";\nimport { KernelAccountAbi } from \"../abis/KernelAccountAbi.js\";\nimport { fixSignedData, getChain } from \"../utils.js\";\n\nexport interface ECDSAValidatorParams extends KernelBaseValidatorParams {\n owner: SmartAccountSigner;\n}\n\nexport class ECDSAValidator extends KernelBaseValidator {\n protected owner: SmartAccountSigner;\n\n constructor(params: ECDSAValidatorParams) {\n super(params);\n this.owner = params.owner;\n }\n\n public static async init(\n params: ECDSAValidatorParams\n ): Promise<ECDSAValidator> {\n const chainId = await getChainId(params.projectId);\n if (!chainId) {\n throw new Error(\"ChainId not found\");\n }\n const chain = getChain(chainId);\n const instance = new ECDSAValidator({ ...params, chain });\n return instance;\n }\n\n async signer(): Promise<SmartAccountSigner> {\n return await Promise.resolve(this.owner);\n }\n\n async getOwner(): Promise<Hex> {\n return this.owner.getAddress();\n }\n\n async getEnableData(): Promise<Hex> {\n return this.getOwner();\n }\n\n encodeEnable(newOwner: Hex): Hex {\n return encodeFunctionData({\n abi: ECDSAValidatorAbi,\n functionName: \"enable\",\n args: [newOwner],\n });\n }\n\n encodeDisable(disableData: Hex = \"0x\"): Hex {\n return encodeFunctionData({\n abi: ECDSAValidatorAbi,\n functionName: \"disable\",\n args: [disableData],\n });\n }\n\n async getDummyUserOpSignature(): Promise<Hex> {\n return DUMMY_ECDSA_SIG;\n }\n\n async isPluginEnabled(\n kernelAccountAddress: Address,\n selector: Hex\n ): Promise<boolean> {\n if (!this.publicClient) {\n throw new Error(\"Validator uninitialized: PublicClient missing\");\n }\n const execDetail = await this.publicClient.readContract({\n abi: KernelAccountAbi,\n address: kernelAccountAddress,\n functionName: \"getExecution\",\n args: [selector],\n });\n const enableData = await this.publicClient.readContract({\n abi: ECDSAValidatorAbi,\n address: this.validatorAddress,\n functionName: \"ecdsaValidatorStorage\",\n args: [kernelAccountAddress],\n });\n return (\n execDetail.validator.toLowerCase() ===\n this.validatorAddress.toLowerCase() &&\n enableData.toLowerCase() === (await this.getEnableData()).toLowerCase()\n );\n }\n\n async signMessage(message: string | Uint8Array): Promise<Hex> {\n return await this.owner.signMessage(message);\n }\n\n async signTypedData(params: SignTypedDataParams): Promise<Hex> {\n return fixSignedData(await this.owner.signTypedData(params));\n }\n\n async signUserOp(userOp: UserOperationRequest): Promise<Hex> {\n if (!this.chain) {\n throw new Error(\"Validator uninitialized\");\n }\n const hash = getUserOperationHash(\n {\n ...userOp,\n signature: \"0x\",\n },\n this.entryPointAddress,\n BigInt(this.chain.id)\n );\n const formattedMessage = typeof hash === \"string\" ? toBytes(hash) : hash;\n return await this.owner.signMessage(formattedMessage);\n }\n}\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { type Address, type Hex, type SmartAccountSigner, type UserOperationRequest, type SignTypedDataParams } from "@alchemy/aa-core";
|
|
2
|
-
import { KernelBaseValidator, type KernelBaseValidatorParams } from "./base.js";
|
|
3
|
-
export interface ERC165SessionKeyValidatorParams extends KernelBaseValidatorParams {
|
|
4
|
-
sessionKey: SmartAccountSigner;
|
|
5
|
-
sessionKeyData: SessionKeyData;
|
|
6
|
-
}
|
|
7
|
-
interface SessionKeyData {
|
|
8
|
-
selector: Hex;
|
|
9
|
-
erc165InterfaceId: Hex;
|
|
10
|
-
validUntil: number;
|
|
11
|
-
validAfter: number;
|
|
12
|
-
addressOffset: number;
|
|
13
|
-
}
|
|
14
|
-
export declare class ERC165SessionKeyValidator extends KernelBaseValidator {
|
|
15
|
-
protected sessionKey: SmartAccountSigner;
|
|
16
|
-
sessionKeyData: SessionKeyData;
|
|
17
|
-
constructor(params: ERC165SessionKeyValidatorParams);
|
|
18
|
-
static init(params: ERC165SessionKeyValidatorParams): Promise<ERC165SessionKeyValidator>;
|
|
19
|
-
signer(): Promise<SmartAccountSigner>;
|
|
20
|
-
getEnableData(): Promise<Hex>;
|
|
21
|
-
isPluginEnabled(kernelAccountAddress: Address, selector: Hex): Promise<boolean>;
|
|
22
|
-
getDummyUserOpSignature(): Promise<Hex>;
|
|
23
|
-
encodeEnable(sessionKeyEnableData: Hex): Hex;
|
|
24
|
-
encodeDisable(sessionKey: Hex): Hex;
|
|
25
|
-
signMessage(message: string | Uint8Array): Promise<Hex>;
|
|
26
|
-
signTypedData(params: SignTypedDataParams): Promise<Hex>;
|
|
27
|
-
signUserOp(userOp: UserOperationRequest): Promise<Hex>;
|
|
28
|
-
}
|
|
29
|
-
export {};
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { getUserOperationHash, } from "@alchemy/aa-core";
|
|
2
|
-
import { KernelBaseValidator, ValidatorMode, } from "./base.js";
|
|
3
|
-
import { encodeFunctionData, toBytes, concat, pad, toHex } from "viem";
|
|
4
|
-
import { ERC165SessionKeyValidatorAbi } from "../abis/ERC165SessionKeyValidatorAbi.js";
|
|
5
|
-
import { DUMMY_ECDSA_SIG } from "../constants.js";
|
|
6
|
-
import { KernelAccountAbi } from "../abis/KernelAccountAbi.js";
|
|
7
|
-
import { getChainId } from "../api/index.js";
|
|
8
|
-
import { fixSignedData, getChain } from "../utils.js";
|
|
9
|
-
export class ERC165SessionKeyValidator extends KernelBaseValidator {
|
|
10
|
-
constructor(params) {
|
|
11
|
-
super(params);
|
|
12
|
-
Object.defineProperty(this, "sessionKey", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true,
|
|
16
|
-
value: void 0
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(this, "sessionKeyData", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true,
|
|
22
|
-
value: void 0
|
|
23
|
-
});
|
|
24
|
-
this.sessionKey = params.sessionKey;
|
|
25
|
-
this.sessionKeyData = params.sessionKeyData;
|
|
26
|
-
this.mode = params.mode ?? ValidatorMode.plugin;
|
|
27
|
-
}
|
|
28
|
-
static async init(params) {
|
|
29
|
-
const chainId = await getChainId(params.projectId);
|
|
30
|
-
if (!chainId) {
|
|
31
|
-
throw new Error("ChainId not found");
|
|
32
|
-
}
|
|
33
|
-
const chain = getChain(chainId);
|
|
34
|
-
const instance = new ERC165SessionKeyValidator({ ...params, chain });
|
|
35
|
-
return instance;
|
|
36
|
-
}
|
|
37
|
-
async signer() {
|
|
38
|
-
return await Promise.resolve(this.sessionKey);
|
|
39
|
-
}
|
|
40
|
-
async getEnableData() {
|
|
41
|
-
return concat([
|
|
42
|
-
await this.sessionKey.getAddress(),
|
|
43
|
-
pad(this.sessionKeyData.erc165InterfaceId, { size: 4 }),
|
|
44
|
-
pad(this.sessionKeyData.selector, { size: 4 }),
|
|
45
|
-
pad(toHex(this.sessionKeyData.validUntil), { size: 6 }),
|
|
46
|
-
pad(toHex(this.sessionKeyData.validAfter), { size: 6 }),
|
|
47
|
-
pad(toHex(this.sessionKeyData.addressOffset), { size: 4 }),
|
|
48
|
-
]);
|
|
49
|
-
}
|
|
50
|
-
async isPluginEnabled(kernelAccountAddress, selector) {
|
|
51
|
-
if (!this.publicClient) {
|
|
52
|
-
throw new Error("Validator uninitialized: PublicClient missing");
|
|
53
|
-
}
|
|
54
|
-
const execDetail = await this.publicClient.readContract({
|
|
55
|
-
abi: KernelAccountAbi,
|
|
56
|
-
address: kernelAccountAddress,
|
|
57
|
-
functionName: "getExecution",
|
|
58
|
-
args: [selector],
|
|
59
|
-
});
|
|
60
|
-
const enableData = await this.publicClient.readContract({
|
|
61
|
-
abi: ERC165SessionKeyValidatorAbi,
|
|
62
|
-
address: this.validatorAddress,
|
|
63
|
-
functionName: "sessionKeys",
|
|
64
|
-
args: [await this.sessionKey.getAddress(), kernelAccountAddress],
|
|
65
|
-
});
|
|
66
|
-
const enableDataHex = concat([
|
|
67
|
-
await this.sessionKey.getAddress(),
|
|
68
|
-
pad(enableData[2], { size: 4 }),
|
|
69
|
-
pad(enableData[1], { size: 4 }),
|
|
70
|
-
pad(toHex(enableData[3]), { size: 6 }),
|
|
71
|
-
pad(toHex(enableData[4]), { size: 6 }),
|
|
72
|
-
pad(toHex(enableData[5]), { size: 4 }),
|
|
73
|
-
]);
|
|
74
|
-
return (execDetail.validator.toLowerCase() ===
|
|
75
|
-
this.validatorAddress.toLowerCase() &&
|
|
76
|
-
enableData[0] &&
|
|
77
|
-
enableDataHex.toLowerCase() === (await this.getEnableData()).toLowerCase());
|
|
78
|
-
}
|
|
79
|
-
async getDummyUserOpSignature() {
|
|
80
|
-
return DUMMY_ECDSA_SIG;
|
|
81
|
-
}
|
|
82
|
-
encodeEnable(sessionKeyEnableData) {
|
|
83
|
-
return encodeFunctionData({
|
|
84
|
-
abi: ERC165SessionKeyValidatorAbi,
|
|
85
|
-
functionName: "enable",
|
|
86
|
-
args: [sessionKeyEnableData],
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
encodeDisable(sessionKey) {
|
|
90
|
-
return encodeFunctionData({
|
|
91
|
-
abi: ERC165SessionKeyValidatorAbi,
|
|
92
|
-
functionName: "disable",
|
|
93
|
-
args: [sessionKey],
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
async signMessage(message) {
|
|
97
|
-
return await this.sessionKey.signMessage(message);
|
|
98
|
-
}
|
|
99
|
-
async signTypedData(params) {
|
|
100
|
-
return fixSignedData(await this.sessionKey.signTypedData(params));
|
|
101
|
-
}
|
|
102
|
-
async signUserOp(userOp) {
|
|
103
|
-
if (!this.chain) {
|
|
104
|
-
throw new Error("Validator uninitialized");
|
|
105
|
-
}
|
|
106
|
-
const hash = getUserOperationHash({
|
|
107
|
-
...userOp,
|
|
108
|
-
signature: "0x",
|
|
109
|
-
}, this.entryPointAddress, BigInt(this.chain.id));
|
|
110
|
-
const formattedMessage = typeof hash === "string" ? toBytes(hash) : hash;
|
|
111
|
-
return await this.sessionKey.signMessage(formattedMessage);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=erc165-session-key-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc165-session-key-validator.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/erc165-session-key-validator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getUserOperationHash,\n type Address,\n type Hex,\n type SmartAccountSigner,\n type UserOperationRequest,\n type SignTypedDataParams,\n} from \"@alchemy/aa-core\";\nimport {\n KernelBaseValidator,\n ValidatorMode,\n type KernelBaseValidatorParams,\n} from \"./base.js\";\nimport { encodeFunctionData, toBytes, concat, pad, toHex } from \"viem\";\nimport { ERC165SessionKeyValidatorAbi } from \"../abis/ERC165SessionKeyValidatorAbi.js\";\nimport { DUMMY_ECDSA_SIG } from \"../constants.js\";\nimport { KernelAccountAbi } from \"../abis/KernelAccountAbi.js\";\nimport { getChainId } from \"../api/index.js\";\nimport { fixSignedData, getChain } from \"../utils.js\";\n\nexport interface ERC165SessionKeyValidatorParams\n extends KernelBaseValidatorParams {\n sessionKey: SmartAccountSigner;\n sessionKeyData: SessionKeyData;\n}\n\ninterface SessionKeyData {\n selector: Hex;\n erc165InterfaceId: Hex;\n validUntil: number;\n validAfter: number;\n addressOffset: number;\n}\n\nexport class ERC165SessionKeyValidator extends KernelBaseValidator {\n protected sessionKey: SmartAccountSigner;\n sessionKeyData: SessionKeyData;\n\n constructor(params: ERC165SessionKeyValidatorParams) {\n super(params);\n this.sessionKey = params.sessionKey;\n this.sessionKeyData = params.sessionKeyData;\n this.mode = params.mode ?? ValidatorMode.plugin;\n }\n\n public static async init(\n params: ERC165SessionKeyValidatorParams\n ): Promise<ERC165SessionKeyValidator> {\n const chainId = await getChainId(params.projectId);\n if (!chainId) {\n throw new Error(\"ChainId not found\");\n }\n const chain = getChain(chainId);\n const instance = new ERC165SessionKeyValidator({ ...params, chain });\n return instance;\n }\n\n async signer(): Promise<SmartAccountSigner> {\n return await Promise.resolve(this.sessionKey);\n }\n\n async getEnableData(): Promise<Hex> {\n return concat([\n await this.sessionKey.getAddress(),\n pad(this.sessionKeyData.erc165InterfaceId, { size: 4 }),\n pad(this.sessionKeyData.selector, { size: 4 }),\n pad(toHex(this.sessionKeyData.validUntil), { size: 6 }),\n pad(toHex(this.sessionKeyData.validAfter), { size: 6 }),\n pad(toHex(this.sessionKeyData.addressOffset), { size: 4 }),\n ]);\n }\n\n async isPluginEnabled(\n kernelAccountAddress: Address,\n selector: Hex\n ): Promise<boolean> {\n if (!this.publicClient) {\n throw new Error(\"Validator uninitialized: PublicClient missing\");\n }\n const execDetail = await this.publicClient.readContract({\n abi: KernelAccountAbi,\n address: kernelAccountAddress,\n functionName: \"getExecution\",\n args: [selector],\n });\n const enableData = await this.publicClient.readContract({\n abi: ERC165SessionKeyValidatorAbi,\n address: this.validatorAddress,\n functionName: \"sessionKeys\",\n args: [await this.sessionKey.getAddress(), kernelAccountAddress],\n });\n const enableDataHex = concat([\n await this.sessionKey.getAddress(),\n pad(enableData[2], { size: 4 }),\n pad(enableData[1], { size: 4 }),\n pad(toHex(enableData[3]), { size: 6 }),\n pad(toHex(enableData[4]), { size: 6 }),\n pad(toHex(enableData[5]), { size: 4 }),\n ]);\n return (\n execDetail.validator.toLowerCase() ===\n this.validatorAddress.toLowerCase() &&\n enableData[0] &&\n enableDataHex.toLowerCase() === (await this.getEnableData()).toLowerCase()\n );\n }\n\n async getDummyUserOpSignature(): Promise<Hex> {\n return DUMMY_ECDSA_SIG;\n }\n\n encodeEnable(sessionKeyEnableData: Hex): Hex {\n return encodeFunctionData({\n abi: ERC165SessionKeyValidatorAbi,\n functionName: \"enable\",\n args: [sessionKeyEnableData],\n });\n }\n\n encodeDisable(sessionKey: Hex): Hex {\n return encodeFunctionData({\n abi: ERC165SessionKeyValidatorAbi,\n functionName: \"disable\",\n args: [sessionKey],\n });\n }\n\n async signMessage(message: string | Uint8Array): Promise<Hex> {\n return await this.sessionKey.signMessage(message);\n }\n\n async signTypedData(params: SignTypedDataParams): Promise<Hex> {\n return fixSignedData(await this.sessionKey.signTypedData(params));\n }\n\n async signUserOp(userOp: UserOperationRequest): Promise<Hex> {\n if (!this.chain) {\n throw new Error(\"Validator uninitialized\");\n }\n const hash = getUserOperationHash(\n {\n ...userOp,\n signature: \"0x\",\n },\n this.entryPointAddress,\n BigInt(this.chain.id)\n );\n const formattedMessage = typeof hash === \"string\" ? toBytes(hash) : hash;\n return await this.sessionKey.signMessage(formattedMessage);\n }\n}\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ECDSAValidator } from "./ecdsa-validator.js";
|
|
2
|
-
import { ERC165SessionKeyValidator } from "./erc165-session-key-validator.js";
|
|
3
|
-
import { KillSwitchValidator } from "./kill-switch-validator.js";
|
|
4
|
-
import { RecoveryValidator } from "./recovery-validator.js";
|
|
5
|
-
import { SessionKeyValidator } from "./session-key-validator.js";
|
|
6
|
-
import type { ValidatorMap } from "./types.js";
|
|
7
|
-
export declare const Validators: ValidatorMap;
|
|
8
|
-
export { ECDSAValidator, KillSwitchValidator, ERC165SessionKeyValidator, SessionKeyValidator, RecoveryValidator, };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ECDSAValidator } from "./ecdsa-validator.js";
|
|
2
|
-
import { ERC165SessionKeyValidator } from "./erc165-session-key-validator.js";
|
|
3
|
-
import { KillSwitchValidator } from "./kill-switch-validator.js";
|
|
4
|
-
import { RecoveryValidator } from "./recovery-validator.js";
|
|
5
|
-
import { SessionKeyValidator } from "./session-key-validator.js";
|
|
6
|
-
export const Validators = {
|
|
7
|
-
ECDSA: ECDSAValidator,
|
|
8
|
-
KILL_SWITCH: KillSwitchValidator,
|
|
9
|
-
ERC165_SESSION_KEY: ERC165SessionKeyValidator,
|
|
10
|
-
SESSION_KEY: SessionKeyValidator,
|
|
11
|
-
RECOVERY: RecoveryValidator,
|
|
12
|
-
};
|
|
13
|
-
export { ECDSAValidator, KillSwitchValidator, ERC165SessionKeyValidator, SessionKeyValidator, RecoveryValidator, };
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,mBAAmB;IAChC,kBAAkB,EAAE,yBAAyB;IAC7C,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,iBAAiB;CAC5B,CAAC;AAEF,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,GAClB,CAAC","sourcesContent":["import { ECDSAValidator } from \"./ecdsa-validator.js\";\nimport { ERC165SessionKeyValidator } from \"./erc165-session-key-validator.js\";\nimport { KillSwitchValidator } from \"./kill-switch-validator.js\";\nimport { RecoveryValidator } from \"./recovery-validator.js\";\nimport { SessionKeyValidator } from \"./session-key-validator.js\";\nimport type { ValidatorMap } from \"./types.js\";\n\nexport const Validators: ValidatorMap = {\n ECDSA: ECDSAValidator,\n KILL_SWITCH: KillSwitchValidator,\n ERC165_SESSION_KEY: ERC165SessionKeyValidator,\n SESSION_KEY: SessionKeyValidator,\n RECOVERY: RecoveryValidator,\n};\n\nexport {\n ECDSAValidator,\n KillSwitchValidator,\n ERC165SessionKeyValidator,\n SessionKeyValidator,\n RecoveryValidator,\n};\n"]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type Address, type Hex, type SmartAccountSigner, type UserOperationRequest, type SignTypedDataParams } from "@alchemy/aa-core";
|
|
2
|
-
import { KernelBaseValidator, type KernelBaseValidatorParams } from "./base.js";
|
|
3
|
-
export interface KillSwitchValidatorParams extends KernelBaseValidatorParams {
|
|
4
|
-
guardian: SmartAccountSigner;
|
|
5
|
-
delaySeconds: number;
|
|
6
|
-
}
|
|
7
|
-
export declare class KillSwitchValidator extends KernelBaseValidator {
|
|
8
|
-
protected guardian: SmartAccountSigner;
|
|
9
|
-
protected delaySeconds: number;
|
|
10
|
-
constructor(params: KillSwitchValidatorParams);
|
|
11
|
-
static init(params: KillSwitchValidatorParams): Promise<KillSwitchValidator>;
|
|
12
|
-
signer(): Promise<SmartAccountSigner>;
|
|
13
|
-
getEnableData(): Promise<Hex>;
|
|
14
|
-
getPausedUntil(): number;
|
|
15
|
-
encodeEnable(newGuardian: Hex): Hex;
|
|
16
|
-
encodeDisable(disableData?: Hex): Hex;
|
|
17
|
-
isPluginEnabled(kernelAccountAddress: Address, selector: Hex): Promise<boolean>;
|
|
18
|
-
getDummyUserOpSignature(): Promise<Hex>;
|
|
19
|
-
signMessage(message: string | Uint8Array): Promise<Hex>;
|
|
20
|
-
signTypedData(params: SignTypedDataParams): Promise<Hex>;
|
|
21
|
-
signUserOp(userOp: UserOperationRequest): Promise<Hex>;
|
|
22
|
-
}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { getUserOperationHash, } from "@alchemy/aa-core";
|
|
2
|
-
import { KernelBaseValidator, ValidatorMode, } from "./base.js";
|
|
3
|
-
import { concat, concatHex, encodeFunctionData, getContract, keccak256, pad, toBytes, toHex, } from "viem";
|
|
4
|
-
import { KillSwitchValidatorAbi } from "../abis/KillSwitchValidatorAbi.js";
|
|
5
|
-
import { getChainId } from "../api/index.js";
|
|
6
|
-
import { DUMMY_ECDSA_SIG } from "../constants.js";
|
|
7
|
-
import { KernelAccountAbi } from "../abis/KernelAccountAbi.js";
|
|
8
|
-
import { fixSignedData, getChain } from "../utils.js";
|
|
9
|
-
export class KillSwitchValidator extends KernelBaseValidator {
|
|
10
|
-
constructor(params) {
|
|
11
|
-
super(params);
|
|
12
|
-
Object.defineProperty(this, "guardian", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true,
|
|
16
|
-
value: void 0
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(this, "delaySeconds", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true,
|
|
22
|
-
value: void 0
|
|
23
|
-
});
|
|
24
|
-
this.guardian = params.guardian;
|
|
25
|
-
this.delaySeconds = params.delaySeconds;
|
|
26
|
-
this.mode = params.mode ?? ValidatorMode.plugin;
|
|
27
|
-
}
|
|
28
|
-
static async init(params) {
|
|
29
|
-
const chainId = await getChainId(params.projectId);
|
|
30
|
-
if (!chainId) {
|
|
31
|
-
throw new Error("ChainId not found");
|
|
32
|
-
}
|
|
33
|
-
const chain = getChain(chainId);
|
|
34
|
-
const instance = new KillSwitchValidator({ ...params, chain });
|
|
35
|
-
return instance;
|
|
36
|
-
}
|
|
37
|
-
async signer() {
|
|
38
|
-
return await Promise.resolve(this.guardian);
|
|
39
|
-
}
|
|
40
|
-
async getEnableData() {
|
|
41
|
-
return await (await this.signer()).getAddress();
|
|
42
|
-
}
|
|
43
|
-
getPausedUntil() {
|
|
44
|
-
return Math.floor(Date.now() / 1000) + this.delaySeconds;
|
|
45
|
-
}
|
|
46
|
-
encodeEnable(newGuardian) {
|
|
47
|
-
return encodeFunctionData({
|
|
48
|
-
abi: KillSwitchValidatorAbi,
|
|
49
|
-
functionName: "enable",
|
|
50
|
-
args: [newGuardian],
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
encodeDisable(disableData = "0x") {
|
|
54
|
-
return encodeFunctionData({
|
|
55
|
-
abi: KillSwitchValidatorAbi,
|
|
56
|
-
functionName: "disable",
|
|
57
|
-
args: [disableData],
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
async isPluginEnabled(kernelAccountAddress, selector) {
|
|
61
|
-
if (!this.publicClient) {
|
|
62
|
-
throw new Error("Validator uninitialized: PublicClient missing");
|
|
63
|
-
}
|
|
64
|
-
const kernel = getContract({
|
|
65
|
-
abi: KernelAccountAbi,
|
|
66
|
-
address: kernelAccountAddress,
|
|
67
|
-
publicClient: this.publicClient,
|
|
68
|
-
});
|
|
69
|
-
const execDetail = await kernel.read.getExecution([selector]);
|
|
70
|
-
const enableData = await this.publicClient.readContract({
|
|
71
|
-
abi: KillSwitchValidatorAbi,
|
|
72
|
-
address: this.validatorAddress,
|
|
73
|
-
functionName: "killSwitchValidatorStorage",
|
|
74
|
-
args: [kernelAccountAddress],
|
|
75
|
-
});
|
|
76
|
-
const pausedUntil = Math.floor(Date.now() / 1000) + this.delaySeconds;
|
|
77
|
-
return (execDetail.validator.toLowerCase() ===
|
|
78
|
-
this.validatorAddress.toLowerCase() &&
|
|
79
|
-
enableData[0] === (await this.getEnableData()) &&
|
|
80
|
-
enableData[3] === (await kernel.read.getDisabledMode()) &&
|
|
81
|
-
enableData[2] === pausedUntil &&
|
|
82
|
-
enableData[1].toLowerCase() ===
|
|
83
|
-
(await kernel.read.getDefaultValidator()).toLowerCase());
|
|
84
|
-
}
|
|
85
|
-
async getDummyUserOpSignature() {
|
|
86
|
-
if (this.mode === ValidatorMode.sudo) {
|
|
87
|
-
return DUMMY_ECDSA_SIG;
|
|
88
|
-
}
|
|
89
|
-
return concatHex([pad("0xffffffffffff", { size: 6 }), DUMMY_ECDSA_SIG]);
|
|
90
|
-
}
|
|
91
|
-
async signMessage(message) {
|
|
92
|
-
return await this.guardian.signMessage(message);
|
|
93
|
-
}
|
|
94
|
-
async signTypedData(params) {
|
|
95
|
-
return fixSignedData(await this.guardian.signTypedData(params));
|
|
96
|
-
}
|
|
97
|
-
async signUserOp(userOp) {
|
|
98
|
-
const pausedUntil = this.getPausedUntil();
|
|
99
|
-
if (!this.chain) {
|
|
100
|
-
throw new Error("Validator uninitialized");
|
|
101
|
-
}
|
|
102
|
-
const hash = getUserOperationHash({
|
|
103
|
-
...userOp,
|
|
104
|
-
signature: "0x",
|
|
105
|
-
}, this.entryPointAddress, BigInt(this.chain.id));
|
|
106
|
-
if (this.mode === ValidatorMode.sudo) {
|
|
107
|
-
const formattedMessage = typeof hash === "string" ? toBytes(hash) : hash;
|
|
108
|
-
return await this.guardian.signMessage(formattedMessage);
|
|
109
|
-
}
|
|
110
|
-
const extendedHash = keccak256(concat([pad(toHex(pausedUntil), { size: 6 }), hash]));
|
|
111
|
-
const signature = concat([
|
|
112
|
-
pad(toHex(pausedUntil), { size: 6 }),
|
|
113
|
-
await this.guardian.signMessage(toBytes(extendedHash)),
|
|
114
|
-
]);
|
|
115
|
-
return signature;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=kill-switch-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kill-switch-validator.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/kill-switch-validator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getUserOperationHash,\n type Address,\n type Hex,\n type SmartAccountSigner,\n type UserOperationRequest,\n type SignTypedDataParams,\n} from \"@alchemy/aa-core\";\nimport {\n KernelBaseValidator,\n ValidatorMode,\n type KernelBaseValidatorParams,\n} from \"./base.js\";\nimport {\n concat,\n concatHex,\n encodeFunctionData,\n getContract,\n keccak256,\n pad,\n toBytes,\n toHex,\n} from \"viem\";\nimport { KillSwitchValidatorAbi } from \"../abis/KillSwitchValidatorAbi.js\";\nimport { getChainId } from \"../api/index.js\";\nimport { DUMMY_ECDSA_SIG } from \"../constants.js\";\nimport { KernelAccountAbi } from \"../abis/KernelAccountAbi.js\";\nimport { fixSignedData, getChain } from \"../utils.js\";\n\nexport interface KillSwitchValidatorParams extends KernelBaseValidatorParams {\n guardian: SmartAccountSigner;\n delaySeconds: number;\n}\n\nexport class KillSwitchValidator extends KernelBaseValidator {\n protected guardian: SmartAccountSigner;\n protected delaySeconds: number;\n\n constructor(params: KillSwitchValidatorParams) {\n super(params);\n this.guardian = params.guardian;\n this.delaySeconds = params.delaySeconds;\n this.mode = params.mode ?? ValidatorMode.plugin;\n }\n\n public static async init(\n params: KillSwitchValidatorParams\n ): Promise<KillSwitchValidator> {\n const chainId = await getChainId(params.projectId);\n if (!chainId) {\n throw new Error(\"ChainId not found\");\n }\n const chain = getChain(chainId);\n const instance = new KillSwitchValidator({ ...params, chain });\n return instance;\n }\n\n async signer(): Promise<SmartAccountSigner> {\n return await Promise.resolve(this.guardian);\n }\n\n async getEnableData(): Promise<Hex> {\n return await (await this.signer()).getAddress();\n }\n\n getPausedUntil(): number {\n return Math.floor(Date.now() / 1000) + this.delaySeconds;\n }\n\n encodeEnable(newGuardian: Hex): Hex {\n return encodeFunctionData({\n abi: KillSwitchValidatorAbi,\n functionName: \"enable\",\n args: [newGuardian],\n });\n }\n\n encodeDisable(disableData: Hex = \"0x\"): Hex {\n return encodeFunctionData({\n abi: KillSwitchValidatorAbi,\n functionName: \"disable\",\n args: [disableData],\n });\n }\n\n async isPluginEnabled(\n kernelAccountAddress: Address,\n selector: Hex\n ): Promise<boolean> {\n if (!this.publicClient) {\n throw new Error(\"Validator uninitialized: PublicClient missing\");\n }\n const kernel = getContract({\n abi: KernelAccountAbi,\n address: kernelAccountAddress,\n publicClient: this.publicClient,\n });\n const execDetail = await kernel.read.getExecution([selector]);\n const enableData = await this.publicClient.readContract({\n abi: KillSwitchValidatorAbi,\n address: this.validatorAddress,\n functionName: \"killSwitchValidatorStorage\",\n args: [kernelAccountAddress],\n });\n const pausedUntil = Math.floor(Date.now() / 1000) + this.delaySeconds;\n return (\n execDetail.validator.toLowerCase() ===\n this.validatorAddress.toLowerCase() &&\n enableData[0] === (await this.getEnableData()) &&\n enableData[3] === (await kernel.read.getDisabledMode()) &&\n enableData[2] === pausedUntil &&\n enableData[1].toLowerCase() ===\n (await kernel.read.getDefaultValidator()).toLowerCase()\n );\n }\n\n async getDummyUserOpSignature(): Promise<Hex> {\n if (this.mode === ValidatorMode.sudo) {\n return DUMMY_ECDSA_SIG;\n }\n return concatHex([pad(\"0xffffffffffff\", { size: 6 }), DUMMY_ECDSA_SIG]);\n }\n\n async signMessage(message: string | Uint8Array): Promise<Hex> {\n return await this.guardian.signMessage(message);\n }\n\n async signTypedData(params: SignTypedDataParams): Promise<Hex> {\n return fixSignedData(await this.guardian.signTypedData(params));\n }\n\n async signUserOp(userOp: UserOperationRequest): Promise<Hex> {\n const pausedUntil = this.getPausedUntil();\n if (!this.chain) {\n throw new Error(\"Validator uninitialized\");\n }\n const hash = getUserOperationHash(\n {\n ...userOp,\n signature: \"0x\",\n },\n this.entryPointAddress,\n BigInt(this.chain.id)\n ) as Hex;\n\n if (this.mode === ValidatorMode.sudo) {\n const formattedMessage = typeof hash === \"string\" ? toBytes(hash) : hash;\n return await this.guardian.signMessage(formattedMessage);\n }\n\n const extendedHash = keccak256(\n concat([pad(toHex(pausedUntil), { size: 6 }), hash])\n );\n const signature = concat([\n pad(toHex(pausedUntil), { size: 6 }),\n await this.guardian.signMessage(toBytes(extendedHash)),\n ]);\n return signature;\n }\n}\n"]}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { type Address, type Hex, type SmartAccountSigner, type UserOperationRequest, type SignTypedDataParams } from "@alchemy/aa-core";
|
|
2
|
-
import { KernelBaseValidator, type KernelBaseValidatorParams } from "./base.js";
|
|
3
|
-
import { type LocalAccount, type WalletClient, type Transport, type Chain, type Account, type PublicClient } from "viem";
|
|
4
|
-
import type { EthereumProvider } from "./types.js";
|
|
5
|
-
interface WeightedGuardians {
|
|
6
|
-
[guardian: Address]: number;
|
|
7
|
-
}
|
|
8
|
-
export interface RecoveryValidatorParams extends KernelBaseValidatorParams {
|
|
9
|
-
guardians?: WeightedGuardians;
|
|
10
|
-
threshold?: number;
|
|
11
|
-
delaySeconds?: number;
|
|
12
|
-
accountSigner?: SmartAccountSigner;
|
|
13
|
-
localAccountOrProvider?: LocalAccount<string> | EthereumProvider;
|
|
14
|
-
walletClient?: WalletClient<Transport, Chain>;
|
|
15
|
-
signatures?: Hex;
|
|
16
|
-
recoveryId?: string;
|
|
17
|
-
}
|
|
18
|
-
export type RecoveryConfig = Required<Pick<RecoveryValidatorParams, "guardians" | "threshold" | "delaySeconds">>;
|
|
19
|
-
export declare function isLocalAccount(account: any): account is LocalAccount<string>;
|
|
20
|
-
export declare function isEthereumProvider(provider: any): provider is EthereumProvider;
|
|
21
|
-
type WalletClientAccountType<T> = T extends LocalAccount<string> ? Account : T extends EthereumProvider ? undefined : never;
|
|
22
|
-
export declare const recoverySelector: `0x${string}`;
|
|
23
|
-
export declare class RecoveryValidator extends KernelBaseValidator {
|
|
24
|
-
protected guardians?: WeightedGuardians;
|
|
25
|
-
protected threshold?: number;
|
|
26
|
-
protected delaySeconds: number;
|
|
27
|
-
protected accountSigner?: SmartAccountSigner;
|
|
28
|
-
protected localAccountOrProvider?: LocalAccount<string> | EthereumProvider;
|
|
29
|
-
protected signatures?: Hex;
|
|
30
|
-
protected recoveryId?: string;
|
|
31
|
-
walletClient?: WalletClient<Transport, Chain, WalletClientAccountType<typeof this.localAccountOrProvider>>;
|
|
32
|
-
constructor(params: RecoveryValidatorParams);
|
|
33
|
-
static init(params: RecoveryValidatorParams): Promise<RecoveryValidator>;
|
|
34
|
-
getNonceKey(): bigint;
|
|
35
|
-
setRecoverySignatures(signatures: Hex): void;
|
|
36
|
-
getRecoverySignatures(): Promise<Hex | undefined>;
|
|
37
|
-
getRecoveryConfig(): RecoveryConfig;
|
|
38
|
-
signer(): Promise<SmartAccountSigner>;
|
|
39
|
-
getEnableData(): Promise<Hex>;
|
|
40
|
-
encodeEnable(recoveryData: Hex): Hex;
|
|
41
|
-
encodeDisable(disableData?: Hex): Hex;
|
|
42
|
-
encodeApprove(callDataAndNonceHash: Hex, kernelAccountAddress: Address): Hex;
|
|
43
|
-
encodeApproveWithSig(callDataAndNonceHash: Hex, kernelAccountAddress: Address, sigs: Hex): Hex;
|
|
44
|
-
encodeVeto(callDataAndNonceHash: Hex): Hex;
|
|
45
|
-
encodeRenew(guardians: Address[], weights: number[], threshold: number, delay: number): Hex;
|
|
46
|
-
encodeRecoveryAction(enableData: Hex, defaultValidatorAddress: Address): Hex;
|
|
47
|
-
static fetchRecoveryConfigFromContract(kernelAccountAddress: Address, publicClient: PublicClient<Transport, Chain>): Promise<RecoveryConfig>;
|
|
48
|
-
isPluginEnabled(kernelAccountAddress: Address, selector: Hex): Promise<boolean>;
|
|
49
|
-
isGuardiansEnabled(kernelAccountAddress: Address): Promise<boolean>;
|
|
50
|
-
getDummyUserOpSignature(): Promise<Hex>;
|
|
51
|
-
signMessage(message: string | Uint8Array): Promise<Hex>;
|
|
52
|
-
signTypedData(params: SignTypedDataParams): Promise<Hex>;
|
|
53
|
-
signRecoveryHash(recoveryHash: Hex): Promise<Hex>;
|
|
54
|
-
signUserOp(_userOp: UserOperationRequest): Promise<Hex>;
|
|
55
|
-
}
|
|
56
|
-
export {};
|