@zerodev/sdk 4.6.1 → 5.0.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 -61
- 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 -65
- 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 -65
- 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 -279
- 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 -115
- 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 -57
- 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 -61
- 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 -61
- 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 -276
- 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 -111
- 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 -81
- 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 -321
- 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 -431
- 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 -65
- package/src/kernel-zerodev/validator-provider/erc165-session-key-provider.ts +0 -72
- package/src/kernel-zerodev/validator-provider/index.ts +0 -22
- package/src/kernel-zerodev/validator-provider/kill-switch-provider.ts +0 -72
- package/src/kernel-zerodev/validator-provider/recovery-provider.ts +0 -376
- package/src/kernel-zerodev/validator-provider/session-key-provider.ts +0 -151
- 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,29 +0,0 @@
|
|
|
1
|
-
import { toBytes, toHex } from "viem";
|
|
2
|
-
import { packUserOp } from "./ERC4337-utils.js";
|
|
3
|
-
export const DefaultGasOverheads = {
|
|
4
|
-
fixed: 21000,
|
|
5
|
-
perUserOp: 18300,
|
|
6
|
-
perUserOpWord: 4,
|
|
7
|
-
zeroByte: 4,
|
|
8
|
-
nonZeroByte: 16,
|
|
9
|
-
bundleSize: 1,
|
|
10
|
-
sigSize: 65,
|
|
11
|
-
};
|
|
12
|
-
export function calcPreVerificationGas(userOp, overheads) {
|
|
13
|
-
const ov = { ...DefaultGasOverheads, ...(overheads ?? {}) };
|
|
14
|
-
const p = {
|
|
15
|
-
preVerificationGas: 21000,
|
|
16
|
-
signature: toHex(Buffer.alloc(ov.sigSize, 1)),
|
|
17
|
-
...userOp,
|
|
18
|
-
};
|
|
19
|
-
const packed = toBytes(packUserOp(p, false));
|
|
20
|
-
const callDataCost = packed
|
|
21
|
-
.map((x) => (x === 0 ? ov.zeroByte : ov.nonZeroByte))
|
|
22
|
-
.reduce((sum, x) => sum + x);
|
|
23
|
-
const ret = Math.round(callDataCost +
|
|
24
|
-
ov.fixed / ov.bundleSize +
|
|
25
|
-
ov.perUserOp +
|
|
26
|
-
ov.perUserOpWord * packed.length);
|
|
27
|
-
return ret;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=calc-pre-verification-gas.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calc-pre-verification-gas.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/utils/calc-pre-verification-gas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAyChD,MAAM,CAAC,MAAM,mBAAmB,GAAiB;IAC/C,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,EAAE;CACZ,CAAC;AAaF,MAAM,UAAU,sBAAsB,CACpC,MAAgD,EAChD,SAAiC;IAEjC,MAAM,EAAE,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;IAC5D,MAAM,CAAC,GAAoC;QAEzC,kBAAkB,EAAE,KAAK;QACzB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7C,GAAG,MAAM;KACH,CAAC;IAET,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;SACpD,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY;QACV,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,UAAU;QACxB,EAAE,CAAC,SAAS;QACZ,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CACnC,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import type { UserOperationStruct } from \"@alchemy/aa-core\";\nimport { toBytes, toHex } from \"viem\";\nimport { packUserOp } from \"./ERC4337-utils.js\";\n\nexport interface GasOverheads {\n /**\n * fixed overhead for entire handleOp bundle.\n */\n fixed: number;\n\n /**\n * per userOp overhead, added on top of the above fixed per-bundle.\n */\n perUserOp: number;\n\n /**\n * overhead for userOp word (32 bytes) block\n */\n perUserOpWord: number;\n\n // perCallDataWord: number\n\n /**\n * zero byte cost, for calldata gas cost calculations\n */\n zeroByte: number;\n\n /**\n * non-zero byte cost, for calldata gas cost calculations\n */\n nonZeroByte: number;\n\n /**\n * expected bundle size, to split per-bundle overhead between all ops.\n */\n bundleSize: number;\n\n /**\n * expected length of the userOp signature.\n */\n sigSize: number;\n}\n\nexport const DefaultGasOverheads: GasOverheads = {\n fixed: 21000,\n perUserOp: 18300,\n perUserOpWord: 4,\n zeroByte: 4,\n nonZeroByte: 16,\n bundleSize: 1,\n sigSize: 65,\n};\n\nexport type NotPromise<T> = {\n [P in keyof T]: Exclude<T[P], Promise<any>>;\n};\n\n/**\n * calculate the preVerificationGas of the given UserOperation\n * preVerificationGas (by definition) is the cost overhead that can't be calculated on-chain.\n * it is based on parameters that are defined by the Ethereum protocol for external transactions.\n * @param userOp filled userOp to calculate. The only possible missing fields can be the signature and preVerificationGas itself\n * @param overheads gas overheads to use, to override the default values\n */\nexport function calcPreVerificationGas(\n userOp: Partial<NotPromise<UserOperationStruct>>,\n overheads?: Partial<GasOverheads>\n): number {\n const ov = { ...DefaultGasOverheads, ...(overheads ?? {}) };\n const p: NotPromise<UserOperationStruct> = {\n // dummy values, in case the UserOp is incomplete.\n preVerificationGas: 21000, // dummy value, just for calldata cost\n signature: toHex(Buffer.alloc(ov.sigSize, 1)), // dummy signature\n ...userOp,\n } as any;\n\n const packed = toBytes(packUserOp(p, false));\n const callDataCost = packed\n .map((x) => (x === 0 ? ov.zeroByte : ov.nonZeroByte))\n .reduce((sum, x) => sum + x);\n const ret = Math.round(\n callDataCost +\n ov.fixed / ov.bundleSize +\n ov.perUserOp +\n ov.perUserOpWord * packed.length\n );\n return ret;\n}\n"]}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
export declare const gelatoOPTestnet: {
|
|
2
|
-
id: number;
|
|
3
|
-
name: string;
|
|
4
|
-
network: string;
|
|
5
|
-
nativeCurrency: {
|
|
6
|
-
decimals: number;
|
|
7
|
-
name: string;
|
|
8
|
-
symbol: string;
|
|
9
|
-
};
|
|
10
|
-
rpcUrls: {
|
|
11
|
-
default: {
|
|
12
|
-
http: string[];
|
|
13
|
-
webSocket: never[];
|
|
14
|
-
};
|
|
15
|
-
public: {
|
|
16
|
-
http: string[];
|
|
17
|
-
webSocket: never[];
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
blockExplorers: {
|
|
21
|
-
default: {
|
|
22
|
-
name: string;
|
|
23
|
-
url: string;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
} & {
|
|
27
|
-
formatters: import("viem").Formatters | undefined;
|
|
28
|
-
serializers: import("viem").Serializers<import("viem").Formatters> | undefined;
|
|
29
|
-
};
|
|
30
|
-
export declare const astarZKatana: {
|
|
31
|
-
id: number;
|
|
32
|
-
name: string;
|
|
33
|
-
network: string;
|
|
34
|
-
nativeCurrency: {
|
|
35
|
-
decimals: number;
|
|
36
|
-
name: string;
|
|
37
|
-
symbol: string;
|
|
38
|
-
};
|
|
39
|
-
rpcUrls: {
|
|
40
|
-
default: {
|
|
41
|
-
http: string[];
|
|
42
|
-
webSocket: string[];
|
|
43
|
-
};
|
|
44
|
-
public: {
|
|
45
|
-
http: string[];
|
|
46
|
-
webSocket: string[];
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
blockExplorers: {
|
|
50
|
-
default: {
|
|
51
|
-
name: string;
|
|
52
|
-
url: string;
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
} & {
|
|
56
|
-
formatters: import("viem").Formatters | undefined;
|
|
57
|
-
serializers: import("viem").Serializers<import("viem").Formatters> | undefined;
|
|
58
|
-
};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { defineChain } from "viem";
|
|
2
|
-
export const gelatoOPTestnet = defineChain({
|
|
3
|
-
id: 42069,
|
|
4
|
-
name: "Gelato OPTestnet",
|
|
5
|
-
network: "gelatoOPTestnet",
|
|
6
|
-
nativeCurrency: {
|
|
7
|
-
decimals: 18,
|
|
8
|
-
name: "Ether",
|
|
9
|
-
symbol: "ETH",
|
|
10
|
-
},
|
|
11
|
-
rpcUrls: {
|
|
12
|
-
default: {
|
|
13
|
-
http: ["https://rpc.op-testnet.gelato.digital"],
|
|
14
|
-
webSocket: [],
|
|
15
|
-
},
|
|
16
|
-
public: {
|
|
17
|
-
http: ["https://rpc.op-testnet.gelato.digital"],
|
|
18
|
-
webSocket: [],
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
blockExplorers: {
|
|
22
|
-
default: {
|
|
23
|
-
name: "Explorer",
|
|
24
|
-
url: "https://blockscout.op-testnet.gelato.digital",
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
export const astarZKatana = defineChain({
|
|
29
|
-
id: 1261120,
|
|
30
|
-
name: "Astar zKatana",
|
|
31
|
-
network: "astarZKatana",
|
|
32
|
-
nativeCurrency: {
|
|
33
|
-
decimals: 18,
|
|
34
|
-
name: "Ether",
|
|
35
|
-
symbol: "ETH",
|
|
36
|
-
},
|
|
37
|
-
rpcUrls: {
|
|
38
|
-
default: {
|
|
39
|
-
http: ["https://rpc.zkatana.gelato.digital"],
|
|
40
|
-
webSocket: ["https://ws.zkatana.gelato.digital"],
|
|
41
|
-
},
|
|
42
|
-
public: {
|
|
43
|
-
http: ["https://rpc.zkatana.gelato.digital"],
|
|
44
|
-
webSocket: ["https://ws.zkatana.gelato.digital"],
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
blockExplorers: {
|
|
48
|
-
default: {
|
|
49
|
-
name: "Explorer",
|
|
50
|
-
url: "https://zkatana.blockscout.com",
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
//# sourceMappingURL=custom-chains.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"custom-chains.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/utils/custom-chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;IACzC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,iBAAiB;IAC1B,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KACd;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,uCAAuC,CAAC;YAC/C,SAAS,EAAE,EAAE;SACd;QACD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,uCAAuC,CAAC;YAC/C,SAAS,EAAE,EAAE;SACd;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,8CAA8C;SACpD;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KACd;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,oCAAoC,CAAC;YAC5C,SAAS,EAAE,CAAC,mCAAmC,CAAC;SACjD;QACD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,oCAAoC,CAAC;YAC5C,SAAS,EAAE,CAAC,mCAAmC,CAAC;SACjD;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,gCAAgC;SACtC;KACF;CACF,CAAC,CAAC","sourcesContent":["import { defineChain } from \"viem\";\n\nexport const gelatoOPTestnet = defineChain({\n id: 42069,\n name: \"Gelato OPTestnet\",\n network: \"gelatoOPTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\",\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.op-testnet.gelato.digital\"],\n webSocket: [],\n },\n public: {\n http: [\"https://rpc.op-testnet.gelato.digital\"],\n webSocket: [],\n },\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://blockscout.op-testnet.gelato.digital\",\n },\n },\n});\n\nexport const astarZKatana = defineChain({\n id: 1261120,\n name: \"Astar zKatana\",\n network: \"astarZKatana\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\",\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zkatana.gelato.digital\"],\n webSocket: [\"https://ws.zkatana.gelato.digital\"],\n },\n public: {\n http: [\"https://rpc.zkatana.gelato.digital\"],\n webSocket: [\"https://ws.zkatana.gelato.digital\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://zkatana.blockscout.com\",\n },\n },\n});\n"]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type Hex, type WalletClient } from "viem";
|
|
2
|
-
import * as chains from "viem/chains";
|
|
3
|
-
import type { SmartAccountSigner, UserOperationCallData } from "@alchemy/aa-core";
|
|
4
|
-
import { Signer } from "@ethersproject/abstract-signer";
|
|
5
|
-
import { Wallet } from "@ethersproject/wallet";
|
|
6
|
-
import type { SupportedGasToken } from "./paymaster/types.js";
|
|
7
|
-
export type UserOperationCallDataWithDelegate = UserOperationCallData & {
|
|
8
|
-
delegateCall?: boolean;
|
|
9
|
-
};
|
|
10
|
-
export type BatchUserOperationCallDataWithDelegate = UserOperationCallDataWithDelegate[];
|
|
11
|
-
export declare const encodeMultiSend: (_txs: BatchUserOperationCallDataWithDelegate) => Hex;
|
|
12
|
-
export declare function base64ToBytes(base64: string): Uint8Array;
|
|
13
|
-
export declare function bytesToBase64(bytes: Uint8Array): string;
|
|
14
|
-
export declare function getGasTokenAddress(gasToken: SupportedGasToken, chainId: number): Hex | undefined;
|
|
15
|
-
export declare const convertWalletClientToAccountSigner: (client: WalletClient) => SmartAccountSigner;
|
|
16
|
-
export declare const isWallet: (signer: any) => signer is Wallet;
|
|
17
|
-
export declare const convertEthersSignerToAccountSigner: (signer: Signer | Wallet) => SmartAccountSigner;
|
|
18
|
-
export declare const randomHexString: (length: number) => Hex;
|
|
19
|
-
export declare const fixSignedData: (sig: Hex) => Hex;
|
|
20
|
-
export declare const getChain: (chainId: number) => chains.Chain;
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { encodePacked, fromBytes, toBytes, toHex, isHex, hexToSignature, signatureToHex, } from "viem";
|
|
2
|
-
import * as chains from "viem/chains";
|
|
3
|
-
import * as customChains from "./utils/custom-chains.js";
|
|
4
|
-
import { Signer } from "@ethersproject/abstract-signer";
|
|
5
|
-
import { Wallet } from "@ethersproject/wallet";
|
|
6
|
-
import { gasTokenChainAddresses } from "./constants.js";
|
|
7
|
-
const encodeCall = (_tx) => {
|
|
8
|
-
const data = toBytes(_tx.data);
|
|
9
|
-
const encoded = encodePacked(["uint8", "address", "uint256", "uint256", "bytes"], [
|
|
10
|
-
_tx.delegateCall ? 1 : 0,
|
|
11
|
-
_tx.target,
|
|
12
|
-
_tx.value || BigInt(0),
|
|
13
|
-
BigInt(data.length),
|
|
14
|
-
fromBytes(data, "hex"),
|
|
15
|
-
]);
|
|
16
|
-
return encoded.slice(2);
|
|
17
|
-
};
|
|
18
|
-
export const encodeMultiSend = (_txs) => {
|
|
19
|
-
return ("0x" + _txs.map((tx) => encodeCall(tx)).join(""));
|
|
20
|
-
};
|
|
21
|
-
export function base64ToBytes(base64) {
|
|
22
|
-
const binString = atob(base64);
|
|
23
|
-
return Uint8Array.from(binString, (m) => m.codePointAt(0));
|
|
24
|
-
}
|
|
25
|
-
export function bytesToBase64(bytes) {
|
|
26
|
-
const binString = Array.from(bytes, (x) => String.fromCodePoint(x)).join("");
|
|
27
|
-
return btoa(binString);
|
|
28
|
-
}
|
|
29
|
-
export function getGasTokenAddress(gasToken, chainId) {
|
|
30
|
-
if (gasToken === "TEST_ERC20") {
|
|
31
|
-
return "0x3870419Ba2BBf0127060bCB37f69A1b1C090992B";
|
|
32
|
-
}
|
|
33
|
-
return gasTokenChainAddresses[gasToken][chainId] || undefined;
|
|
34
|
-
}
|
|
35
|
-
export const convertWalletClientToAccountSigner = (client) => {
|
|
36
|
-
return {
|
|
37
|
-
getAddress: async () => Promise.resolve((await client.getAddresses())[0]),
|
|
38
|
-
signMessage: async (message) => (await client.signMessage({
|
|
39
|
-
account: client.account,
|
|
40
|
-
message: typeof message === "string"
|
|
41
|
-
? message
|
|
42
|
-
: {
|
|
43
|
-
raw: message,
|
|
44
|
-
},
|
|
45
|
-
})),
|
|
46
|
-
signTypedData: async (params) => await client.signTypedData({ ...params, account: client.account }),
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
export const isWallet = (signer) => signer && signer._signTypedData !== undefined;
|
|
50
|
-
export const convertEthersSignerToAccountSigner = (signer) => {
|
|
51
|
-
return {
|
|
52
|
-
getAddress: async () => Promise.resolve((await signer.getAddress())),
|
|
53
|
-
signMessage: async (msg) => (await signer.signMessage(msg)),
|
|
54
|
-
signTypedData: async (params) => {
|
|
55
|
-
if (!isWallet(signer)) {
|
|
56
|
-
throw Error("signTypedData method not implemented in signer");
|
|
57
|
-
}
|
|
58
|
-
return (await signer._signTypedData(params.domain, params.types, params.message));
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
export const randomHexString = (length) => toHex(Array.from({ length }, () => Math.floor(Math.random() * 16).toString(16)).join(""));
|
|
63
|
-
export const fixSignedData = (sig) => {
|
|
64
|
-
let signature = sig;
|
|
65
|
-
if (!isHex(signature)) {
|
|
66
|
-
signature = `0x${signature}`;
|
|
67
|
-
if (!isHex(signature)) {
|
|
68
|
-
throw new Error("Invalid signed data " + sig);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
let { r, s, v } = hexToSignature(signature);
|
|
72
|
-
if (v === 0n || v === 1n)
|
|
73
|
-
v += 27n;
|
|
74
|
-
const joined = signatureToHex({ r, s, v });
|
|
75
|
-
return joined;
|
|
76
|
-
};
|
|
77
|
-
export const getChain = (chainId) => {
|
|
78
|
-
for (const chain of Object.values(chains).concat(Object.values(customChains))) {
|
|
79
|
-
if (chain.id === chainId) {
|
|
80
|
-
return chain;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
throw new Error("could not find chain");
|
|
84
|
-
};
|
|
85
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/kernel-zerodev/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n encodePacked,\n fromBytes,\n toBytes,\n type Hex,\n type WalletClient,\n toHex,\n isHex,\n hexToSignature,\n signatureToHex,\n} from \"viem\";\nimport * as chains from \"viem/chains\";\nimport * as customChains from \"./utils/custom-chains.js\";\nimport type {\n SignTypedDataParams,\n SmartAccountSigner,\n UserOperationCallData,\n} from \"@alchemy/aa-core\";\nimport { Signer, type TypedDataField } from \"@ethersproject/abstract-signer\";\nimport { Wallet } from \"@ethersproject/wallet\";\nimport type { SupportedGasToken } from \"./paymaster/types.js\";\nimport { gasTokenChainAddresses } from \"./constants.js\";\n\nexport type UserOperationCallDataWithDelegate = UserOperationCallData & {\n delegateCall?: boolean;\n};\n\nexport type BatchUserOperationCallDataWithDelegate =\n UserOperationCallDataWithDelegate[];\n\nconst encodeCall = (_tx: UserOperationCallDataWithDelegate): string => {\n const data = toBytes(_tx.data);\n const encoded = encodePacked(\n [\"uint8\", \"address\", \"uint256\", \"uint256\", \"bytes\"],\n [\n _tx.delegateCall ? 1 : 0,\n _tx.target,\n _tx.value || BigInt(0),\n BigInt(data.length),\n fromBytes(data, \"hex\"),\n ]\n );\n return encoded.slice(2);\n};\nexport const encodeMultiSend = (\n _txs: BatchUserOperationCallDataWithDelegate\n): Hex => {\n return (\"0x\" + _txs.map((tx) => encodeCall(tx)).join(\"\")) as Hex;\n};\n\nexport function base64ToBytes(base64: string) {\n const binString = atob(base64);\n return Uint8Array.from(binString, (m) => m.codePointAt(0) as number);\n}\n\nexport function bytesToBase64(bytes: Uint8Array) {\n const binString = Array.from(bytes, (x) => String.fromCodePoint(x)).join(\"\");\n return btoa(binString);\n}\n\nexport function getGasTokenAddress(\n gasToken: SupportedGasToken,\n chainId: number\n): Hex | undefined {\n if (gasToken === \"TEST_ERC20\") {\n return \"0x3870419Ba2BBf0127060bCB37f69A1b1C090992B\";\n }\n return gasTokenChainAddresses[gasToken][chainId] || undefined;\n}\n\nexport const convertWalletClientToAccountSigner = (\n client: WalletClient\n): SmartAccountSigner => {\n return {\n getAddress: async () =>\n Promise.resolve((await client.getAddresses())[0] as `0x${string}`),\n signMessage: async (message: Uint8Array | string) =>\n (await client.signMessage({\n account: client.account!,\n message:\n typeof message === \"string\"\n ? message\n : {\n raw: message,\n },\n })) as `0x${string}`,\n signTypedData: async (params: SignTypedDataParams) =>\n await client.signTypedData({ ...params, account: client.account! }),\n };\n};\n\nexport const isWallet = (signer: any): signer is Wallet =>\n signer && signer._signTypedData !== undefined;\n\nexport const convertEthersSignerToAccountSigner = (\n signer: Signer | Wallet\n): SmartAccountSigner => {\n return {\n getAddress: async () =>\n Promise.resolve((await signer.getAddress()) as `0x${string}`),\n signMessage: async (msg: Uint8Array | string) =>\n (await signer.signMessage(msg)) as `0x${string}`,\n signTypedData: async (params: SignTypedDataParams) => {\n if (!isWallet(signer)) {\n throw Error(\"signTypedData method not implemented in signer\");\n }\n return (await signer._signTypedData(\n params.domain!,\n params.types as unknown as Record<string, TypedDataField[]>,\n params.message\n )) as Hex;\n },\n };\n};\n\nexport const randomHexString = (length: number): Hex =>\n toHex(\n Array.from({ length }, () =>\n Math.floor(Math.random() * 16).toString(16)\n ).join(\"\")\n );\n\nexport const fixSignedData = (sig: Hex): Hex => {\n let signature = sig;\n if (!isHex(signature)) {\n signature = `0x${signature}`;\n if (!isHex(signature)) {\n throw new Error(\"Invalid signed data \" + sig);\n }\n }\n\n let { r, s, v } = hexToSignature(signature);\n if (v === 0n || v === 1n) v += 27n;\n const joined = signatureToHex({ r, s, v });\n return joined;\n};\n\n// Modified from @alchemy/aa-core\n/**\n * Utility method for converting a chainId to a {@link chains.Chain} object\n *\n * @param chainId\n * @returns a {@link chains.Chain} object for the given chainId\n * @throws if the chainId is not found\n */\nexport const getChain = (chainId: number): chains.Chain => {\n for (const chain of Object.values(chains).concat(\n Object.values(customChains)\n )) {\n if (chain.id === chainId) {\n return chain;\n }\n }\n throw new Error(\"could not find chain\");\n};\n"]}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { type SignTypedDataParams, type SmartAccountSigner, type UserOperationRequest } from "@alchemy/aa-core";
|
|
2
|
-
import { type Chain, type Hex, type Address, type PublicClient, type Transport } from "viem";
|
|
3
|
-
export declare enum ValidatorMode {
|
|
4
|
-
sudo = "0x00000000",
|
|
5
|
-
plugin = "0x00000001",
|
|
6
|
-
enable = "0x00000002"
|
|
7
|
-
}
|
|
8
|
-
export interface KernelBaseValidatorParams {
|
|
9
|
-
projectId: string;
|
|
10
|
-
validatorAddress?: Hex;
|
|
11
|
-
mode?: ValidatorMode;
|
|
12
|
-
chain?: Chain;
|
|
13
|
-
entryPointAddress?: Address;
|
|
14
|
-
enableSignature?: Hex;
|
|
15
|
-
validUntil?: number;
|
|
16
|
-
validAfter?: number;
|
|
17
|
-
executor?: Address;
|
|
18
|
-
selector?: Hex;
|
|
19
|
-
rpcUrl?: string;
|
|
20
|
-
}
|
|
21
|
-
export type ValidatorPluginData = Required<Pick<KernelBaseValidatorParams, "executor" | "selector" | "validAfter" | "validUntil">>;
|
|
22
|
-
export declare abstract class KernelBaseValidator {
|
|
23
|
-
readonly validatorAddress: Hex;
|
|
24
|
-
mode: ValidatorMode;
|
|
25
|
-
resolvedMode?: ValidatorMode;
|
|
26
|
-
protected projectId: string;
|
|
27
|
-
protected chain?: Chain;
|
|
28
|
-
protected entryPointAddress: Address;
|
|
29
|
-
protected enableSignature?: Hex;
|
|
30
|
-
protected validUntil: number;
|
|
31
|
-
protected validAfter: number;
|
|
32
|
-
protected executor?: Address;
|
|
33
|
-
protected selector?: Hex;
|
|
34
|
-
protected rpcUrl?: string;
|
|
35
|
-
publicClient?: PublicClient<Transport, Chain>;
|
|
36
|
-
constructor(params: KernelBaseValidatorParams);
|
|
37
|
-
abstract encodeEnable(enableData: Hex): Hex;
|
|
38
|
-
abstract encodeDisable(enableData: Hex): Hex;
|
|
39
|
-
abstract getEnableData(kernelAccountAddress?: Address): Promise<Hex>;
|
|
40
|
-
abstract signMessage(message: Uint8Array | string | Hex): Promise<Hex>;
|
|
41
|
-
abstract signTypedData(params: SignTypedDataParams): Promise<Hex>;
|
|
42
|
-
abstract signUserOp(userOp: UserOperationRequest): Promise<Hex>;
|
|
43
|
-
abstract signer(): Promise<SmartAccountSigner>;
|
|
44
|
-
abstract getDummyUserOpSignature(callData?: Hex): Promise<Hex>;
|
|
45
|
-
abstract isPluginEnabled(kernelAccountAddress: Address, selector: Hex): Promise<boolean>;
|
|
46
|
-
shouldDelegateViaFallback(): boolean;
|
|
47
|
-
getPluginValidatorData(): ValidatorPluginData;
|
|
48
|
-
getNonceKey(): bigint;
|
|
49
|
-
getDynamicDummySignature(kernelAccountAddress: Address, calldata: Hex): Promise<Hex>;
|
|
50
|
-
setEnableSignature(enableSignature: Hex): void;
|
|
51
|
-
getEnableSignature(): Hex | undefined;
|
|
52
|
-
getAddress(): Hex;
|
|
53
|
-
getPublicClient(): PublicClient<Transport, Chain>;
|
|
54
|
-
approveExecutor(kernel: Address, selector: Hex, executor: Address, validUntil: number, validAfter: number, validator: KernelBaseValidator): Promise<Hex>;
|
|
55
|
-
resolveValidatorMode(kernelAccountAddress: Address, callData: Hex): Promise<ValidatorMode>;
|
|
56
|
-
getSignature(userOp: UserOperationRequest): Promise<Hex>;
|
|
57
|
-
}
|
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
import {} from "@alchemy/aa-core";
|
|
2
|
-
import { concat, pad, toHex, concatHex, hexToBigInt, createPublicClient, http, zeroAddress, } from "viem";
|
|
3
|
-
import { KernelAccountAbi } from "../abis/KernelAccountAbi.js";
|
|
4
|
-
import { CHAIN_ID_TO_NODE, ECDSA_VALIDATOR_ADDRESS, ENTRYPOINT_ADDRESS, KERNEL_IMPL_ADDRESS, } from "../constants.js";
|
|
5
|
-
import { polygonMumbai } from "viem/chains";
|
|
6
|
-
export var ValidatorMode;
|
|
7
|
-
(function (ValidatorMode) {
|
|
8
|
-
ValidatorMode["sudo"] = "0x00000000";
|
|
9
|
-
ValidatorMode["plugin"] = "0x00000001";
|
|
10
|
-
ValidatorMode["enable"] = "0x00000002";
|
|
11
|
-
})(ValidatorMode || (ValidatorMode = {}));
|
|
12
|
-
export class KernelBaseValidator {
|
|
13
|
-
constructor(params) {
|
|
14
|
-
Object.defineProperty(this, "validatorAddress", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: void 0
|
|
19
|
-
});
|
|
20
|
-
Object.defineProperty(this, "mode", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true,
|
|
24
|
-
value: void 0
|
|
25
|
-
});
|
|
26
|
-
Object.defineProperty(this, "resolvedMode", {
|
|
27
|
-
enumerable: true,
|
|
28
|
-
configurable: true,
|
|
29
|
-
writable: true,
|
|
30
|
-
value: void 0
|
|
31
|
-
});
|
|
32
|
-
Object.defineProperty(this, "projectId", {
|
|
33
|
-
enumerable: true,
|
|
34
|
-
configurable: true,
|
|
35
|
-
writable: true,
|
|
36
|
-
value: void 0
|
|
37
|
-
});
|
|
38
|
-
Object.defineProperty(this, "chain", {
|
|
39
|
-
enumerable: true,
|
|
40
|
-
configurable: true,
|
|
41
|
-
writable: true,
|
|
42
|
-
value: void 0
|
|
43
|
-
});
|
|
44
|
-
Object.defineProperty(this, "entryPointAddress", {
|
|
45
|
-
enumerable: true,
|
|
46
|
-
configurable: true,
|
|
47
|
-
writable: true,
|
|
48
|
-
value: void 0
|
|
49
|
-
});
|
|
50
|
-
Object.defineProperty(this, "enableSignature", {
|
|
51
|
-
enumerable: true,
|
|
52
|
-
configurable: true,
|
|
53
|
-
writable: true,
|
|
54
|
-
value: void 0
|
|
55
|
-
});
|
|
56
|
-
Object.defineProperty(this, "validUntil", {
|
|
57
|
-
enumerable: true,
|
|
58
|
-
configurable: true,
|
|
59
|
-
writable: true,
|
|
60
|
-
value: void 0
|
|
61
|
-
});
|
|
62
|
-
Object.defineProperty(this, "validAfter", {
|
|
63
|
-
enumerable: true,
|
|
64
|
-
configurable: true,
|
|
65
|
-
writable: true,
|
|
66
|
-
value: void 0
|
|
67
|
-
});
|
|
68
|
-
Object.defineProperty(this, "executor", {
|
|
69
|
-
enumerable: true,
|
|
70
|
-
configurable: true,
|
|
71
|
-
writable: true,
|
|
72
|
-
value: void 0
|
|
73
|
-
});
|
|
74
|
-
Object.defineProperty(this, "selector", {
|
|
75
|
-
enumerable: true,
|
|
76
|
-
configurable: true,
|
|
77
|
-
writable: true,
|
|
78
|
-
value: void 0
|
|
79
|
-
});
|
|
80
|
-
Object.defineProperty(this, "rpcUrl", {
|
|
81
|
-
enumerable: true,
|
|
82
|
-
configurable: true,
|
|
83
|
-
writable: true,
|
|
84
|
-
value: void 0
|
|
85
|
-
});
|
|
86
|
-
Object.defineProperty(this, "publicClient", {
|
|
87
|
-
enumerable: true,
|
|
88
|
-
configurable: true,
|
|
89
|
-
writable: true,
|
|
90
|
-
value: void 0
|
|
91
|
-
});
|
|
92
|
-
this.projectId = params.projectId;
|
|
93
|
-
this.validatorAddress = params.validatorAddress ?? ECDSA_VALIDATOR_ADDRESS;
|
|
94
|
-
this.mode = params.mode ?? ValidatorMode.sudo;
|
|
95
|
-
this.entryPointAddress = params.entryPointAddress ?? ENTRYPOINT_ADDRESS;
|
|
96
|
-
this.enableSignature = params.enableSignature;
|
|
97
|
-
this.validUntil = params.validUntil ?? 0;
|
|
98
|
-
this.validAfter = params.validAfter ?? 0;
|
|
99
|
-
this.executor = params.executor;
|
|
100
|
-
this.selector = params.selector;
|
|
101
|
-
this.chain = params.chain;
|
|
102
|
-
this.rpcUrl = params.rpcUrl;
|
|
103
|
-
this.publicClient = createPublicClient({
|
|
104
|
-
transport: http(params.rpcUrl ?? CHAIN_ID_TO_NODE[this.chain?.id ?? polygonMumbai.id]),
|
|
105
|
-
chain: this.chain ?? polygonMumbai,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
shouldDelegateViaFallback() {
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
getPluginValidatorData() {
|
|
112
|
-
if (!this.selector || !this.executor) {
|
|
113
|
-
throw Error("Plugin Validator data params uninitialised");
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
selector: this.selector,
|
|
117
|
-
executor: this.executor,
|
|
118
|
-
validAfter: this.validAfter,
|
|
119
|
-
validUntil: this.validUntil,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
getNonceKey() {
|
|
123
|
-
return 0n;
|
|
124
|
-
}
|
|
125
|
-
async getDynamicDummySignature(kernelAccountAddress, calldata) {
|
|
126
|
-
const dummyECDSASig = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
|
|
127
|
-
const validatorMode = this.resolvedMode ??
|
|
128
|
-
(await this.resolveValidatorMode(kernelAccountAddress, calldata));
|
|
129
|
-
if (validatorMode === ValidatorMode.enable) {
|
|
130
|
-
const enableData = await this.getEnableData(kernelAccountAddress);
|
|
131
|
-
const enableDataLength = enableData.length / 2 - 1;
|
|
132
|
-
const enableSigLength = 65;
|
|
133
|
-
const staticDummySig = concatHex([
|
|
134
|
-
"0x000000000000000000000000",
|
|
135
|
-
this.getAddress(),
|
|
136
|
-
this.executor,
|
|
137
|
-
]);
|
|
138
|
-
return concatHex([
|
|
139
|
-
ValidatorMode.enable,
|
|
140
|
-
staticDummySig,
|
|
141
|
-
pad(toHex(enableDataLength), { size: 32 }),
|
|
142
|
-
enableData,
|
|
143
|
-
pad(toHex(enableSigLength), { size: 32 }),
|
|
144
|
-
dummyECDSASig,
|
|
145
|
-
await this.getDummyUserOpSignature(calldata),
|
|
146
|
-
]);
|
|
147
|
-
}
|
|
148
|
-
return concatHex([
|
|
149
|
-
validatorMode,
|
|
150
|
-
await this.getDummyUserOpSignature(calldata),
|
|
151
|
-
]);
|
|
152
|
-
}
|
|
153
|
-
setEnableSignature(enableSignature) {
|
|
154
|
-
this.enableSignature = enableSignature;
|
|
155
|
-
}
|
|
156
|
-
getEnableSignature() {
|
|
157
|
-
return this.enableSignature;
|
|
158
|
-
}
|
|
159
|
-
getAddress() {
|
|
160
|
-
return this.validatorAddress;
|
|
161
|
-
}
|
|
162
|
-
getPublicClient() {
|
|
163
|
-
if (!this.publicClient) {
|
|
164
|
-
throw new Error("Validator uninitialized: PublicClient missing");
|
|
165
|
-
}
|
|
166
|
-
return this.publicClient;
|
|
167
|
-
}
|
|
168
|
-
async approveExecutor(kernel, selector, executor, validUntil, validAfter, validator) {
|
|
169
|
-
if (!this.chain) {
|
|
170
|
-
throw new Error("Validator uninitialized");
|
|
171
|
-
}
|
|
172
|
-
let kernelImplAddr;
|
|
173
|
-
try {
|
|
174
|
-
const strgAddr = await this.getPublicClient().getStorageAt({
|
|
175
|
-
address: kernel,
|
|
176
|
-
slot: "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
|
|
177
|
-
});
|
|
178
|
-
kernelImplAddr = strgAddr
|
|
179
|
-
? ("0x" + strgAddr.slice(26))
|
|
180
|
-
: strgAddr;
|
|
181
|
-
}
|
|
182
|
-
catch (error) { }
|
|
183
|
-
const sender = kernel;
|
|
184
|
-
const signer = await this.signer();
|
|
185
|
-
const ownerSig = await signer.signTypedData({
|
|
186
|
-
domain: {
|
|
187
|
-
name: "Kernel",
|
|
188
|
-
version: kernelImplAddr?.toLowerCase() === KERNEL_IMPL_ADDRESS.toLowerCase() ||
|
|
189
|
-
kernelImplAddr?.toLowerCase() ===
|
|
190
|
-
"0x8dD4DBB54d8A8Cf0DE6F9CCC4609470A30EfF18C".toLowerCase() ||
|
|
191
|
-
kernelImplAddr === undefined ||
|
|
192
|
-
kernelImplAddr === zeroAddress
|
|
193
|
-
? "0.2.2"
|
|
194
|
-
: "0.2.1",
|
|
195
|
-
chainId: this.chain.id,
|
|
196
|
-
verifyingContract: sender,
|
|
197
|
-
},
|
|
198
|
-
types: {
|
|
199
|
-
ValidatorApproved: [
|
|
200
|
-
{ name: "sig", type: "bytes4" },
|
|
201
|
-
{ name: "validatorData", type: "uint256" },
|
|
202
|
-
{ name: "executor", type: "address" },
|
|
203
|
-
{ name: "enableData", type: "bytes" },
|
|
204
|
-
],
|
|
205
|
-
},
|
|
206
|
-
message: {
|
|
207
|
-
sig: selector,
|
|
208
|
-
validatorData: hexToBigInt(concatHex([
|
|
209
|
-
pad(toHex(validUntil), { size: 6 }),
|
|
210
|
-
pad(toHex(validAfter), { size: 6 }),
|
|
211
|
-
validator.getAddress(),
|
|
212
|
-
]), { size: 32 }),
|
|
213
|
-
executor: executor,
|
|
214
|
-
enableData: await validator.getEnableData(kernel),
|
|
215
|
-
},
|
|
216
|
-
primaryType: "ValidatorApproved",
|
|
217
|
-
});
|
|
218
|
-
return ownerSig;
|
|
219
|
-
}
|
|
220
|
-
async resolveValidatorMode(kernelAccountAddress, callData) {
|
|
221
|
-
if (!this.chain || !this.publicClient) {
|
|
222
|
-
throw new Error("Validator uninitialized");
|
|
223
|
-
}
|
|
224
|
-
let mode;
|
|
225
|
-
try {
|
|
226
|
-
const defaultValidatorAddress = await this.publicClient.readContract({
|
|
227
|
-
abi: KernelAccountAbi,
|
|
228
|
-
address: kernelAccountAddress,
|
|
229
|
-
functionName: "getDefaultValidator",
|
|
230
|
-
});
|
|
231
|
-
if (defaultValidatorAddress?.toLowerCase() ===
|
|
232
|
-
this.validatorAddress.toLowerCase() ||
|
|
233
|
-
this.mode === ValidatorMode.sudo) {
|
|
234
|
-
mode = ValidatorMode.sudo;
|
|
235
|
-
}
|
|
236
|
-
else if (await this.isPluginEnabled(kernelAccountAddress, callData.toString().slice(0, 10))) {
|
|
237
|
-
mode = ValidatorMode.plugin;
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
mode = ValidatorMode.enable;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
catch (error) {
|
|
244
|
-
if (this.mode === ValidatorMode.plugin) {
|
|
245
|
-
mode = ValidatorMode.enable;
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
mode = this.mode;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
this.resolvedMode = mode;
|
|
252
|
-
return mode;
|
|
253
|
-
}
|
|
254
|
-
async getSignature(userOp) {
|
|
255
|
-
const mode = this.resolvedMode ??
|
|
256
|
-
(await this.resolveValidatorMode(userOp.sender, userOp.callData));
|
|
257
|
-
if (mode === ValidatorMode.sudo || mode === ValidatorMode.plugin) {
|
|
258
|
-
return concatHex([this.mode, await this.signUserOp(userOp)]);
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
const enableData = await this.getEnableData(userOp.sender);
|
|
262
|
-
const enableDataLength = enableData.length / 2 - 1;
|
|
263
|
-
const enableSignature = this.getEnableSignature();
|
|
264
|
-
if (!enableSignature) {
|
|
265
|
-
throw new Error("Enable signature not set");
|
|
266
|
-
}
|
|
267
|
-
return concat([
|
|
268
|
-
mode,
|
|
269
|
-
pad(toHex(this.validUntil), { size: 6 }),
|
|
270
|
-
pad(toHex(this.validAfter), { size: 6 }),
|
|
271
|
-
pad(this.validatorAddress, { size: 20 }),
|
|
272
|
-
pad(this.executor, { size: 20 }),
|
|
273
|
-
pad(toHex(enableDataLength), { size: 32 }),
|
|
274
|
-
enableData,
|
|
275
|
-
pad(toHex(enableSignature.length / 2 - 1), { size: 32 }),
|
|
276
|
-
enableSignature,
|
|
277
|
-
await this.signUserOp(userOp),
|
|
278
|
-
]);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
//# sourceMappingURL=base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/base.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type SignTypedDataParams,\n type SmartAccountSigner,\n type UserOperationRequest,\n} from \"@alchemy/aa-core\";\nimport {\n concat,\n type Chain,\n type Hex,\n pad,\n toHex,\n type Address,\n concatHex,\n hexToBigInt,\n type PublicClient,\n type Transport,\n createPublicClient,\n http,\n zeroAddress,\n} from \"viem\";\nimport { KernelAccountAbi } from \"../abis/KernelAccountAbi.js\";\nimport {\n CHAIN_ID_TO_NODE,\n ECDSA_VALIDATOR_ADDRESS,\n ENTRYPOINT_ADDRESS,\n KERNEL_IMPL_ADDRESS,\n} from \"../constants.js\";\nimport { polygonMumbai } from \"viem/chains\";\n\nexport enum ValidatorMode {\n sudo = \"0x00000000\",\n plugin = \"0x00000001\",\n enable = \"0x00000002\",\n}\n\nexport interface KernelBaseValidatorParams {\n projectId: string;\n validatorAddress?: Hex;\n mode?: ValidatorMode;\n chain?: Chain;\n entryPointAddress?: Address;\n enableSignature?: Hex;\n validUntil?: number;\n validAfter?: number;\n executor?: Address;\n selector?: Hex;\n rpcUrl?: string;\n}\n\nexport type ValidatorPluginData = Required<\n Pick<\n KernelBaseValidatorParams,\n \"executor\" | \"selector\" | \"validAfter\" | \"validUntil\"\n >\n>;\n\n//Kernel wallet implementation separates out validation and execution phase. It allows you to have\n// custom wrapper logic for the validation phase in addition to signature of choice.\nexport abstract class KernelBaseValidator {\n readonly validatorAddress: Hex;\n mode: ValidatorMode;\n resolvedMode?: ValidatorMode;\n protected projectId: string;\n protected chain?: Chain;\n protected entryPointAddress: Address;\n protected enableSignature?: Hex;\n protected validUntil: number;\n protected validAfter: number;\n protected executor?: Address;\n protected selector?: Hex;\n protected rpcUrl?: string;\n publicClient?: PublicClient<Transport, Chain>;\n\n constructor(params: KernelBaseValidatorParams) {\n this.projectId = params.projectId;\n this.validatorAddress = params.validatorAddress ?? ECDSA_VALIDATOR_ADDRESS;\n this.mode = params.mode ?? ValidatorMode.sudo;\n this.entryPointAddress = params.entryPointAddress ?? ENTRYPOINT_ADDRESS;\n this.enableSignature = params.enableSignature;\n this.validUntil = params.validUntil ?? 0;\n this.validAfter = params.validAfter ?? 0;\n this.executor = params.executor;\n this.selector = params.selector;\n this.chain = params.chain;\n this.rpcUrl = params.rpcUrl;\n this.publicClient = createPublicClient({\n transport: http(\n params.rpcUrl ?? CHAIN_ID_TO_NODE[this.chain?.id ?? polygonMumbai.id]\n ),\n chain: this.chain ?? polygonMumbai,\n });\n }\n\n abstract encodeEnable(enableData: Hex): Hex;\n\n abstract encodeDisable(enableData: Hex): Hex;\n\n abstract getEnableData(kernelAccountAddress?: Address): Promise<Hex>;\n\n abstract signMessage(message: Uint8Array | string | Hex): Promise<Hex>;\n\n abstract signTypedData(params: SignTypedDataParams): Promise<Hex>;\n\n abstract signUserOp(userOp: UserOperationRequest): Promise<Hex>;\n\n abstract signer(): Promise<SmartAccountSigner>;\n\n abstract getDummyUserOpSignature(callData?: Hex): Promise<Hex>;\n\n abstract isPluginEnabled(\n kernelAccountAddress: Address,\n selector: Hex\n ): Promise<boolean>;\n\n shouldDelegateViaFallback(): boolean {\n return true;\n }\n\n getPluginValidatorData(): ValidatorPluginData {\n if (!this.selector || !this.executor) {\n throw Error(\"Plugin Validator data params uninitialised\");\n }\n return {\n selector: this.selector,\n executor: this.executor,\n validAfter: this.validAfter,\n validUntil: this.validUntil,\n };\n }\n\n getNonceKey(): bigint {\n return 0n;\n }\n\n async getDynamicDummySignature(\n kernelAccountAddress: Address,\n calldata: Hex\n ): Promise<Hex> {\n const dummyECDSASig =\n \"0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c\";\n const validatorMode =\n this.resolvedMode ??\n (await this.resolveValidatorMode(kernelAccountAddress, calldata));\n if (validatorMode === ValidatorMode.enable) {\n const enableData = await this.getEnableData(kernelAccountAddress);\n const enableDataLength = enableData.length / 2 - 1;\n const enableSigLength = 65;\n const staticDummySig = concatHex([\n \"0x000000000000000000000000\",\n this.getAddress(),\n this.executor!,\n ]);\n\n return concatHex([\n ValidatorMode.enable,\n staticDummySig,\n pad(toHex(enableDataLength), { size: 32 }),\n enableData,\n pad(toHex(enableSigLength), { size: 32 }),\n dummyECDSASig,\n await this.getDummyUserOpSignature(calldata),\n ]);\n }\n return concatHex([\n validatorMode,\n await this.getDummyUserOpSignature(calldata),\n ]);\n }\n\n setEnableSignature(enableSignature: Hex) {\n this.enableSignature = enableSignature;\n }\n\n getEnableSignature(): Hex | undefined {\n return this.enableSignature;\n }\n\n getAddress(): Hex {\n return this.validatorAddress;\n }\n\n getPublicClient(): PublicClient<Transport, Chain> {\n if (!this.publicClient) {\n throw new Error(\"Validator uninitialized: PublicClient missing\");\n }\n return this.publicClient;\n }\n\n async approveExecutor(\n kernel: Address,\n selector: Hex,\n executor: Address,\n validUntil: number,\n validAfter: number,\n validator: KernelBaseValidator\n ): Promise<Hex> {\n if (!this.chain) {\n throw new Error(\"Validator uninitialized\");\n }\n let kernelImplAddr;\n try {\n const strgAddr = await this.getPublicClient().getStorageAt({\n address: kernel,\n slot: \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n });\n kernelImplAddr = strgAddr\n ? ((\"0x\" + strgAddr.slice(26)) as Hex)\n : strgAddr;\n } catch (error) {}\n const sender = kernel;\n const signer = await this.signer();\n const ownerSig = await signer.signTypedData({\n domain: {\n name: \"Kernel\",\n version:\n kernelImplAddr?.toLowerCase() === KERNEL_IMPL_ADDRESS.toLowerCase() ||\n kernelImplAddr?.toLowerCase() ===\n \"0x8dD4DBB54d8A8Cf0DE6F9CCC4609470A30EfF18C\".toLowerCase() ||\n kernelImplAddr === undefined ||\n kernelImplAddr === zeroAddress\n ? \"0.2.2\"\n : \"0.2.1\",\n chainId: this.chain.id,\n verifyingContract: sender,\n },\n types: {\n ValidatorApproved: [\n { name: \"sig\", type: \"bytes4\" },\n { name: \"validatorData\", type: \"uint256\" },\n { name: \"executor\", type: \"address\" },\n { name: \"enableData\", type: \"bytes\" },\n ],\n },\n message: {\n sig: selector as Hex,\n validatorData: hexToBigInt(\n concatHex([\n pad(toHex(validUntil), { size: 6 }),\n pad(toHex(validAfter), { size: 6 }),\n validator.getAddress(),\n ]),\n { size: 32 }\n ),\n executor: executor as Address,\n enableData: await validator.getEnableData(kernel),\n },\n primaryType: \"ValidatorApproved\",\n });\n return ownerSig;\n }\n\n async resolveValidatorMode(\n kernelAccountAddress: Address,\n callData: Hex\n ): Promise<ValidatorMode> {\n if (!this.chain || !this.publicClient) {\n throw new Error(\"Validator uninitialized\");\n }\n\n let mode: ValidatorMode;\n try {\n const defaultValidatorAddress = await this.publicClient.readContract({\n abi: KernelAccountAbi,\n address: kernelAccountAddress,\n functionName: \"getDefaultValidator\",\n });\n if (\n defaultValidatorAddress?.toLowerCase() ===\n this.validatorAddress.toLowerCase() ||\n this.mode === ValidatorMode.sudo\n ) {\n mode = ValidatorMode.sudo;\n } else if (\n await this.isPluginEnabled(\n kernelAccountAddress,\n callData.toString().slice(0, 10) as Hex\n )\n ) {\n mode = ValidatorMode.plugin;\n } else {\n mode = ValidatorMode.enable;\n }\n } catch (error) {\n if (this.mode === ValidatorMode.plugin) {\n mode = ValidatorMode.enable;\n } else {\n mode = this.mode;\n }\n }\n this.resolvedMode = mode;\n return mode;\n }\n\n async getSignature(userOp: UserOperationRequest): Promise<Hex> {\n const mode =\n this.resolvedMode ??\n (await this.resolveValidatorMode(userOp.sender, userOp.callData));\n if (mode === ValidatorMode.sudo || mode === ValidatorMode.plugin) {\n return concatHex([this.mode, await this.signUserOp(userOp)]);\n } else {\n const enableData = await this.getEnableData(userOp.sender);\n const enableDataLength = enableData.length / 2 - 1;\n const enableSignature = this.getEnableSignature();\n if (!enableSignature) {\n throw new Error(\"Enable signature not set\");\n }\n return concat([\n mode, // 4 bytes 0 - 4\n pad(toHex(this.validUntil), { size: 6 }), // 6 bytes 4 - 10\n pad(toHex(this.validAfter), { size: 6 }), // 6 bytes 10 - 16\n pad(this.validatorAddress, { size: 20 }), // 20 bytes 16 - 36\n pad(this.executor!, { size: 20 }), // 20 bytes 36 - 56\n pad(toHex(enableDataLength), { size: 32 }), // 32 bytes 56 - 88\n enableData, // 88 - 88 + enableData.length\n pad(toHex(enableSignature.length / 2 - 1), { size: 32 }), // 32 bytes 88 + enableData.length - 120 + enableData.length\n enableSignature, // 120 + enableData.length - 120 + enableData.length + enableSignature.length\n await this.signUserOp(userOp), // 120 + enableData.length + enableSignature.length - 120 + enableData.length + enableSignature.length + userOperation.length\n ]);\n }\n }\n}\n"]}
|