@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,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.base64URLStringToBuffer = exports.getCredentials = exports.signTypedData = exports.signMessage = exports.signMessageImplementation = exports.base64UrlEncode = exports.generateRandomBuffer = exports.es256 = exports.publicKey = exports.abortWebauthn = exports.abortController = void 0;
|
|
7
|
-
const http_1 = require("@turnkey/http");
|
|
8
|
-
const axios_1 = __importDefault(require("axios"));
|
|
9
|
-
const constants_js_1 = require("../../constants.js");
|
|
10
|
-
const viem_1 = require("viem");
|
|
11
|
-
(0, http_1.browserInit)({
|
|
12
|
-
baseUrl: "https://api.turnkey.com",
|
|
13
|
-
});
|
|
14
|
-
exports.abortController = {
|
|
15
|
-
controller: new AbortController(),
|
|
16
|
-
};
|
|
17
|
-
function abortWebauthn() {
|
|
18
|
-
exports.abortController.controller.abort("ZeroDev: Reset previous Webauthn request");
|
|
19
|
-
exports.abortController.controller = new AbortController();
|
|
20
|
-
}
|
|
21
|
-
exports.abortWebauthn = abortWebauthn;
|
|
22
|
-
exports.publicKey = "public-key";
|
|
23
|
-
exports.es256 = -7;
|
|
24
|
-
const generateRandomBuffer = () => {
|
|
25
|
-
const arr = new Uint8Array(32);
|
|
26
|
-
crypto.getRandomValues(arr);
|
|
27
|
-
return arr.buffer;
|
|
28
|
-
};
|
|
29
|
-
exports.generateRandomBuffer = generateRandomBuffer;
|
|
30
|
-
const base64UrlEncode = (challenge) => {
|
|
31
|
-
return Buffer.from(challenge)
|
|
32
|
-
.toString("base64")
|
|
33
|
-
.replace(/\+/g, "-")
|
|
34
|
-
.replace(/\//g, "_")
|
|
35
|
-
.replace(/=/g, "");
|
|
36
|
-
};
|
|
37
|
-
exports.base64UrlEncode = base64UrlEncode;
|
|
38
|
-
const signMessageImplementation = async (msg, id, walletId, projectId, credentialId, apiUrl = constants_js_1.API_URL) => {
|
|
39
|
-
abortWebauthn();
|
|
40
|
-
const signedRequest = await http_1.TurnkeyApi.signSignRawPayload({
|
|
41
|
-
body: {
|
|
42
|
-
type: "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD",
|
|
43
|
-
organizationId: id,
|
|
44
|
-
parameters: {
|
|
45
|
-
privateKeyId: walletId,
|
|
46
|
-
payload: msg,
|
|
47
|
-
encoding: "PAYLOAD_ENCODING_HEXADECIMAL",
|
|
48
|
-
hashFunction: "HASH_FUNCTION_NO_OP",
|
|
49
|
-
},
|
|
50
|
-
timestampMs: String(Date.now()),
|
|
51
|
-
},
|
|
52
|
-
}, {
|
|
53
|
-
publicKey: {
|
|
54
|
-
allowCredentials: [
|
|
55
|
-
{
|
|
56
|
-
id: base64URLStringToBuffer(credentialId),
|
|
57
|
-
type: exports.publicKey,
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
},
|
|
61
|
-
});
|
|
62
|
-
const proxyResponse = await axios_1.default.post(`${apiUrl}/projects/${projectId}/wallets/proxy`, {
|
|
63
|
-
signedRequest,
|
|
64
|
-
});
|
|
65
|
-
const { activity } = await proxyResponse.data;
|
|
66
|
-
if (activity.status === "ACTIVITY_STATUS_COMPLETED") {
|
|
67
|
-
let result = activity?.result?.signRawPayloadResult;
|
|
68
|
-
if (result) {
|
|
69
|
-
const signatureHex = (0, viem_1.signatureToHex)({
|
|
70
|
-
r: `0x${result.r}`,
|
|
71
|
-
s: `0x${result.s}`,
|
|
72
|
-
v: result.v === "00" ? 27n : 28n,
|
|
73
|
-
});
|
|
74
|
-
if (signatureHex) {
|
|
75
|
-
return signatureHex;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return "0x";
|
|
80
|
-
};
|
|
81
|
-
exports.signMessageImplementation = signMessageImplementation;
|
|
82
|
-
const signMessage = async (msg, id, walletId, projectId, credentialId, apiUrl = constants_js_1.API_URL) => {
|
|
83
|
-
return await (0, exports.signMessageImplementation)((0, viem_1.hashMessage)(typeof msg === "string" ? msg : { raw: msg }), id, walletId, projectId, credentialId, apiUrl);
|
|
84
|
-
};
|
|
85
|
-
exports.signMessage = signMessage;
|
|
86
|
-
const signTypedData = async (params, id, walletId, projectId, credentialId, apiUrl = constants_js_1.API_URL) => {
|
|
87
|
-
const hashToSign = (0, viem_1.hashTypedData)(params);
|
|
88
|
-
return await (0, exports.signMessageImplementation)(hashToSign, id, walletId, projectId, credentialId, apiUrl);
|
|
89
|
-
};
|
|
90
|
-
exports.signTypedData = signTypedData;
|
|
91
|
-
const getCredentials = async (projectId, name, apiUrl = constants_js_1.API_URL) => {
|
|
92
|
-
const url = `${apiUrl}/projects/${projectId}/wallets` + (name ? `/${name}` : "");
|
|
93
|
-
const response = await axios_1.default.get(url);
|
|
94
|
-
const credentials = response.data;
|
|
95
|
-
return credentials.map((credential) => ({
|
|
96
|
-
id: base64URLStringToBuffer(credential),
|
|
97
|
-
type: "public-key",
|
|
98
|
-
}));
|
|
99
|
-
};
|
|
100
|
-
exports.getCredentials = getCredentials;
|
|
101
|
-
function base64URLStringToBuffer(base64URLString) {
|
|
102
|
-
const base64 = base64URLString.replace(/-/g, "+").replace(/_/g, "/");
|
|
103
|
-
const padLength = (4 - (base64.length % 4)) % 4;
|
|
104
|
-
const padded = base64.padEnd(base64.length + padLength, "=");
|
|
105
|
-
const binary = atob(padded);
|
|
106
|
-
const buffer = new ArrayBuffer(binary.length);
|
|
107
|
-
const bytes = new Uint8Array(buffer);
|
|
108
|
-
for (let i = 0; i < binary.length; i++) {
|
|
109
|
-
bytes[i] = binary.charCodeAt(i);
|
|
110
|
-
}
|
|
111
|
-
return buffer;
|
|
112
|
-
}
|
|
113
|
-
exports.base64URLStringToBuffer = base64URLStringToBuffer;
|
|
114
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/kernel-zerodev/owner/passkey/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { browserInit, TurnkeyApi } from \"@turnkey/http\";\nimport axios from \"axios\";\nimport { API_URL } from \"../../constants.js\";\nimport type { SignTypedDataParams } from \"@alchemy/aa-core\";\nimport { hashTypedData, signatureToHex, hashMessage } from \"viem\";\n\nbrowserInit({\n baseUrl: \"https://api.turnkey.com\",\n});\n\nexport const abortController = {\n controller: new AbortController(),\n};\n\nexport function abortWebauthn() {\n abortController.controller.abort(\"ZeroDev: Reset previous Webauthn request\");\n abortController.controller = new AbortController();\n}\n\nexport const publicKey = \"public-key\";\n\nexport const es256 = -7;\n\nexport const generateRandomBuffer = (): ArrayBuffer => {\n const arr = new Uint8Array(32);\n crypto.getRandomValues(arr);\n return arr.buffer;\n};\n\nexport const base64UrlEncode = (challenge: ArrayBuffer): string => {\n return Buffer.from(challenge)\n .toString(\"base64\")\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=/g, \"\");\n};\n\nexport const signMessageImplementation = async (\n msg: string,\n id: string,\n walletId: string,\n projectId: string,\n credentialId: string,\n apiUrl = API_URL\n) => {\n abortWebauthn();\n const signedRequest = await TurnkeyApi.signSignRawPayload(\n {\n body: {\n type: \"ACTIVITY_TYPE_SIGN_RAW_PAYLOAD\",\n organizationId: id,\n parameters: {\n privateKeyId: walletId,\n payload: msg,\n encoding: \"PAYLOAD_ENCODING_HEXADECIMAL\",\n hashFunction: \"HASH_FUNCTION_NO_OP\",\n },\n timestampMs: String(Date.now()),\n },\n },\n {\n publicKey: {\n allowCredentials: [\n {\n id: base64URLStringToBuffer(credentialId),\n type: publicKey,\n },\n ],\n },\n }\n );\n const proxyResponse = await axios.post(\n `${apiUrl}/projects/${projectId}/wallets/proxy`,\n {\n signedRequest,\n }\n );\n const { activity } = await proxyResponse.data;\n if (activity.status === \"ACTIVITY_STATUS_COMPLETED\") {\n let result = activity?.result?.signRawPayloadResult;\n\n if (result) {\n const signatureHex = signatureToHex({\n r: `0x${result.r}`,\n s: `0x${result.s}`,\n v: result.v === \"00\" ? 27n : 28n,\n });\n if (signatureHex) {\n return signatureHex;\n }\n }\n }\n return \"0x\";\n};\n\nexport const signMessage = async (\n msg: string | Uint8Array,\n id: string,\n walletId: string,\n projectId: string,\n credentialId: string,\n apiUrl = API_URL\n) => {\n return await signMessageImplementation(\n hashMessage(typeof msg === \"string\" ? msg : { raw: msg }),\n id,\n walletId,\n projectId,\n credentialId,\n apiUrl\n );\n};\n\nexport const signTypedData = async (\n params: SignTypedDataParams,\n id: string,\n walletId: string,\n projectId: string,\n credentialId: string,\n apiUrl = API_URL\n) => {\n const hashToSign = hashTypedData(params);\n return await signMessageImplementation(\n hashToSign,\n id,\n walletId,\n projectId,\n credentialId,\n apiUrl\n );\n};\n\nexport const getCredentials = async (\n projectId: string,\n name?: string,\n apiUrl = API_URL\n) => {\n const url =\n `${apiUrl}/projects/${projectId}/wallets` + (name ? `/${name}` : \"\");\n const response = await axios.get(url);\n const credentials = response.data;\n return credentials.map((credential: string) => ({\n id: base64URLStringToBuffer(credential),\n type: \"public-key\",\n }));\n};\n\n// https://github.com/MasterKale/SimpleWebAuthn/blob/master/packages/browser/src/helpers/base64URLStringToBuffer.ts#L8\nexport function base64URLStringToBuffer(base64URLString: string): ArrayBuffer {\n // Convert from Base64URL to Base64\n const base64 = base64URLString.replace(/-/g, \"+\").replace(/_/g, \"/\");\n /**\n * Pad with '=' until it's a multiple of four\n * (4 - (85 % 4 = 1) = 3) % 4 = 3 padding\n * (4 - (86 % 4 = 2) = 2) % 4 = 2 padding\n * (4 - (87 % 4 = 3) = 1) % 4 = 1 padding\n * (4 - (88 % 4 = 0) = 4) % 4 = 0 padding\n */\n const padLength = (4 - (base64.length % 4)) % 4;\n const padded = base64.padEnd(base64.length + padLength, \"=\");\n\n // Convert to a binary string\n const binary = atob(padded);\n\n // Convert binary string to buffer\n const buffer = new ArrayBuffer(binary.length);\n const bytes = new Uint8Array(buffer);\n\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n\n return buffer;\n}\n"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type BytesLike, type PromiseOrValue, type UserOperationStruct } from "@alchemy/aa-core";
|
|
2
|
-
import type { ZeroDevProvider } from "../provider.js";
|
|
3
|
-
import type { PaymasterAndBundlerProviders } from "./types.js";
|
|
4
|
-
export declare abstract class Paymaster {
|
|
5
|
-
protected provider: ZeroDevProvider;
|
|
6
|
-
constructor(provider: ZeroDevProvider);
|
|
7
|
-
abstract getPaymasterResponse(struct: UserOperationStruct, paymasterProvider?: PaymasterAndBundlerProviders, shouldOverrideFee?: boolean, shouldConsume?: boolean): Promise<UserOperationStruct | undefined>;
|
|
8
|
-
protected signUserOp({ userOp, callData, gasTokenAddress, erc20UserOp, erc20CallData, paymasterProvider, shouldOverrideFee, shouldConsume, }: {
|
|
9
|
-
userOp: UserOperationStruct;
|
|
10
|
-
callData?: PromiseOrValue<BytesLike>;
|
|
11
|
-
gasTokenAddress?: string;
|
|
12
|
-
erc20UserOp?: Partial<UserOperationStruct>;
|
|
13
|
-
erc20CallData?: PromiseOrValue<BytesLike>;
|
|
14
|
-
paymasterProvider?: PaymasterAndBundlerProviders;
|
|
15
|
-
shouldOverrideFee?: boolean;
|
|
16
|
-
shouldConsume?: boolean;
|
|
17
|
-
}): Promise<any>;
|
|
18
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Paymaster = void 0;
|
|
7
|
-
const aa_core_1 = require("@alchemy/aa-core");
|
|
8
|
-
const axios_1 = __importDefault(require("axios"));
|
|
9
|
-
const constants_js_1 = require("../constants.js");
|
|
10
|
-
const ERC4337_utils_js_1 = require("../utils/ERC4337-utils.js");
|
|
11
|
-
const index_js_1 = require("../api/index.js");
|
|
12
|
-
class Paymaster {
|
|
13
|
-
constructor(provider) {
|
|
14
|
-
Object.defineProperty(this, "provider", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: provider
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
async signUserOp({ userOp, callData, gasTokenAddress, erc20UserOp, erc20CallData, paymasterProvider, shouldOverrideFee = false, shouldConsume = true, }) {
|
|
22
|
-
const hexifiedUserOp = (0, aa_core_1.deepHexlify)(await (0, aa_core_1.resolveProperties)(userOp));
|
|
23
|
-
let resolvedERC20UserOp;
|
|
24
|
-
let hexifiedERC20UserOp;
|
|
25
|
-
if (erc20UserOp) {
|
|
26
|
-
resolvedERC20UserOp = await (0, aa_core_1.resolveProperties)(erc20UserOp);
|
|
27
|
-
hexifiedERC20UserOp = (0, ERC4337_utils_js_1.hexifyUserOp)(resolvedERC20UserOp);
|
|
28
|
-
}
|
|
29
|
-
const chainId = await (0, index_js_1.getChainId)(this.provider.getProjectId());
|
|
30
|
-
if (!chainId)
|
|
31
|
-
throw new Error("ChainId not found");
|
|
32
|
-
let requestBodyParams = Object.fromEntries(Object.entries({
|
|
33
|
-
projectId: this.provider.getProjectId(),
|
|
34
|
-
chainId,
|
|
35
|
-
userOp: hexifiedUserOp,
|
|
36
|
-
entryPointAddress: constants_js_1.ENTRYPOINT_ADDRESS,
|
|
37
|
-
callData: callData instanceof Promise ? await callData : callData,
|
|
38
|
-
gasTokenData: gasTokenAddress && hexifiedERC20UserOp && erc20CallData
|
|
39
|
-
? {
|
|
40
|
-
tokenAddress: gasTokenAddress,
|
|
41
|
-
erc20UserOp: hexifiedERC20UserOp,
|
|
42
|
-
erc20CallData: erc20CallData instanceof Promise
|
|
43
|
-
? await erc20CallData
|
|
44
|
-
: erc20CallData,
|
|
45
|
-
}
|
|
46
|
-
: undefined,
|
|
47
|
-
tokenAddress: gasTokenAddress,
|
|
48
|
-
erc20UserOp: hexifiedERC20UserOp,
|
|
49
|
-
erc20CallData: erc20CallData instanceof Promise
|
|
50
|
-
? await erc20CallData
|
|
51
|
-
: erc20CallData,
|
|
52
|
-
paymasterProvider,
|
|
53
|
-
shouldOverrideFee,
|
|
54
|
-
shouldConsume,
|
|
55
|
-
}).filter(([_, value]) => value !== undefined));
|
|
56
|
-
const { data: paymasterResp } = await axios_1.default.post(`${constants_js_1.PAYMASTER_URL}/getPaymasterAndData`, {
|
|
57
|
-
...requestBodyParams,
|
|
58
|
-
}, { headers: { "Content-Type": "application/json" } });
|
|
59
|
-
return paymasterResp;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.Paymaster = Paymaster;
|
|
63
|
-
//# sourceMappingURL=base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/paymaster/base.ts"],"names":[],"mappings":";;;;;;AAAA,8CAM0B;AAC1B,kDAA0B;AAC1B,kDAAoE;AAEpE,gEAAyD;AAEzD,8CAA6C;AAE7C,MAAsB,SAAS;IAC7B,YAAsB,QAAyB;QAAnC;;;;mBAAU,QAAQ;WAAiB;IAAG,CAAC;IAOzC,KAAK,CAAC,UAAU,CAAC,EACzB,MAAM,EACN,QAAQ,EACR,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GAAG,KAAK,EACzB,aAAa,GAAG,IAAI,GAUrB;QACC,MAAM,cAAc,GAAG,IAAA,qBAAW,EAAC,MAAM,IAAA,2BAAiB,EAAC,MAAM,CAAC,CAAC,CAAC;QACpE,IAAI,mBAAmB,CAAC;QACxB,IAAI,mBAAwB,CAAC;QAC7B,IAAI,WAAW,EAAE;YACf,mBAAmB,GAAG,MAAM,IAAA,2BAAiB,EAAC,WAAW,CAAC,CAAC;YAE3D,mBAAmB,GAAG,IAAA,+BAAY,EAAC,mBAAmB,CAAC,CAAC;SACzD;QACD,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACnD,IAAI,iBAAiB,GAAG,MAAM,CAAC,WAAW,CACxC,MAAM,CAAC,OAAO,CAAC;YACb,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YACvC,OAAO;YACP,MAAM,EAAE,cAAc;YACtB,iBAAiB,EAAE,iCAAkB;YACrC,QAAQ,EAAE,QAAQ,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACjE,YAAY,EACV,eAAe,IAAI,mBAAmB,IAAI,aAAa;gBACrD,CAAC,CAAC;oBACE,YAAY,EAAE,eAAe;oBAC7B,WAAW,EAAE,mBAAmB;oBAChC,aAAa,EACX,aAAa,YAAY,OAAO;wBAC9B,CAAC,CAAC,MAAM,aAAa;wBACrB,CAAC,CAAC,aAAa;iBACpB;gBACH,CAAC,CAAC,SAAS;YACf,YAAY,EAAE,eAAe;YAC7B,WAAW,EAAE,mBAAmB;YAChC,aAAa,EACX,aAAa,YAAY,OAAO;gBAC9B,CAAC,CAAC,MAAM,aAAa;gBACrB,CAAC,CAAC,aAAa;YACnB,iBAAiB;YACjB,iBAAiB;YACjB,aAAa;SACd,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC/C,CAAC;QACF,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,eAAK,CAAC,IAAI,CAC9C,GAAG,4BAAa,sBAAsB,EACtC;YACE,GAAG,iBAAiB;SACrB,EACD,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CACpD,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AA3ED,8BA2EC","sourcesContent":["import {\n deepHexlify,\n type BytesLike,\n type PromiseOrValue,\n type UserOperationStruct,\n resolveProperties,\n} from \"@alchemy/aa-core\";\nimport axios from \"axios\";\nimport { ENTRYPOINT_ADDRESS, PAYMASTER_URL } from \"../constants.js\";\nimport type { ZeroDevProvider } from \"../provider.js\";\nimport { hexifyUserOp } from \"../utils/ERC4337-utils.js\";\nimport type { PaymasterAndBundlerProviders } from \"./types.js\";\nimport { getChainId } from \"../api/index.js\";\n\nexport abstract class Paymaster {\n constructor(protected provider: ZeroDevProvider) {}\n abstract getPaymasterResponse(\n struct: UserOperationStruct,\n paymasterProvider?: PaymasterAndBundlerProviders,\n shouldOverrideFee?: boolean,\n shouldConsume?: boolean\n ): Promise<UserOperationStruct | undefined>;\n protected async signUserOp({\n userOp,\n callData,\n gasTokenAddress,\n erc20UserOp,\n erc20CallData,\n paymasterProvider,\n shouldOverrideFee = false,\n shouldConsume = true,\n }: {\n userOp: UserOperationStruct;\n callData?: PromiseOrValue<BytesLike>;\n gasTokenAddress?: string;\n erc20UserOp?: Partial<UserOperationStruct>;\n erc20CallData?: PromiseOrValue<BytesLike>;\n paymasterProvider?: PaymasterAndBundlerProviders;\n shouldOverrideFee?: boolean;\n shouldConsume?: boolean;\n }): Promise<any> {\n const hexifiedUserOp = deepHexlify(await resolveProperties(userOp));\n let resolvedERC20UserOp;\n let hexifiedERC20UserOp: any;\n if (erc20UserOp) {\n resolvedERC20UserOp = await resolveProperties(erc20UserOp);\n\n hexifiedERC20UserOp = hexifyUserOp(resolvedERC20UserOp);\n }\n const chainId = await getChainId(this.provider.getProjectId());\n if (!chainId) throw new Error(\"ChainId not found\");\n let requestBodyParams = Object.fromEntries(\n Object.entries({\n projectId: this.provider.getProjectId(),\n chainId,\n userOp: hexifiedUserOp,\n entryPointAddress: ENTRYPOINT_ADDRESS,\n callData: callData instanceof Promise ? await callData : callData,\n gasTokenData:\n gasTokenAddress && hexifiedERC20UserOp && erc20CallData\n ? {\n tokenAddress: gasTokenAddress,\n erc20UserOp: hexifiedERC20UserOp,\n erc20CallData:\n erc20CallData instanceof Promise\n ? await erc20CallData\n : erc20CallData,\n }\n : undefined,\n tokenAddress: gasTokenAddress,\n erc20UserOp: hexifiedERC20UserOp,\n erc20CallData:\n erc20CallData instanceof Promise\n ? await erc20CallData\n : erc20CallData,\n paymasterProvider,\n shouldOverrideFee,\n shouldConsume,\n }).filter(([_, value]) => value !== undefined)\n );\n const { data: paymasterResp } = await axios.post(\n `${PAYMASTER_URL}/getPaymasterAndData`,\n {\n ...requestBodyParams,\n },\n { headers: { \"Content-Type\": \"application/json\" } }\n );\n return paymasterResp;\n }\n}\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Paymasters = void 0;
|
|
4
|
-
const token_paymaster_js_1 = require("./token-paymaster.js");
|
|
5
|
-
const verifying_paymaster_js_1 = require("./verifying-paymaster.js");
|
|
6
|
-
exports.Paymasters = {
|
|
7
|
-
VERIFYING_PAYMASTER: verifying_paymaster_js_1.VerifyingPaymaster,
|
|
8
|
-
TOKEN_PAYMASTER: token_paymaster_js_1.TokenPaymaster,
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/paymaster/index.ts"],"names":[],"mappings":";;;AAAA,6DAAsD;AAEtD,qEAA8D;AAGjD,QAAA,UAAU,GAAkC;IACvD,mBAAmB,EAAE,2CAAkB;IACvC,eAAe,EAAE,mCAAc;CAChC,CAAC","sourcesContent":["import { TokenPaymaster } from \"./token-paymaster.js\";\nimport type { PaymasterMap } from \"./types.js\";\nimport { VerifyingPaymaster } from \"./verifying-paymaster.js\";\nimport type { ZeroDevProvider } from \"../provider.js\";\n\nexport const Paymasters: PaymasterMap<ZeroDevProvider> = {\n VERIFYING_PAYMASTER: VerifyingPaymaster,\n TOKEN_PAYMASTER: TokenPaymaster,\n};\n"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type PromiseOrValue, type BytesLike, type UserOperationCallData, type UserOperationStruct, type BatchUserOperationCallData } from "@alchemy/aa-core";
|
|
2
|
-
import { type Hex } from "viem";
|
|
3
|
-
import type { ZeroDevProvider } from "../provider.js";
|
|
4
|
-
import { type UserOperationCallDataWithDelegate } from "../utils.js";
|
|
5
|
-
import { Paymaster } from "./base.js";
|
|
6
|
-
import { type PaymasterAndBundlerProviders, type PaymasterConfig } from "./types.js";
|
|
7
|
-
export declare function isBatchUserOperationCallData(data: any): data is BatchUserOperationCallData;
|
|
8
|
-
export declare class TokenPaymaster extends Paymaster {
|
|
9
|
-
protected paymasterConfig: PaymasterConfig<"TOKEN_PAYMASTER">;
|
|
10
|
-
constructor(provider: ZeroDevProvider, paymasterConfig: PaymasterConfig<"TOKEN_PAYMASTER">);
|
|
11
|
-
getPaymasterAddress(paymasterProvider?: PaymasterAndBundlerProviders): Promise<Hex | undefined>;
|
|
12
|
-
decodeMainCallFromCallData(kernelAddress: PromiseOrValue<string>, callData: PromiseOrValue<BytesLike>): Promise<UserOperationCallData | BatchUserOperationCallData | UserOperationCallDataWithDelegate | undefined>;
|
|
13
|
-
getERC20UserOp<T extends UserOperationCallData | BatchUserOperationCallData>(struct: UserOperationStruct, mainCall: T, gasTokenAddress: Hex, paymasterAddress: Hex): Promise<UserOperationStruct | undefined>;
|
|
14
|
-
getPaymasterResponse(struct: UserOperationStruct, paymasterProvider?: PaymasterAndBundlerProviders, shouldOverrideFee?: boolean, shouldConsume?: boolean): Promise<UserOperationStruct | undefined>;
|
|
15
|
-
}
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TokenPaymaster = exports.isBatchUserOperationCallData = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const viem_1 = require("viem");
|
|
9
|
-
const ERC20Abi_js_1 = require("../abis/ERC20Abi.js");
|
|
10
|
-
const KernelAccountAbi_js_1 = require("../abis/KernelAccountAbi.js");
|
|
11
|
-
const constants_js_1 = require("../constants.js");
|
|
12
|
-
const errors_js_1 = require("../errors.js");
|
|
13
|
-
const utils_js_1 = require("../utils.js");
|
|
14
|
-
const base_js_1 = require("./base.js");
|
|
15
|
-
const index_js_1 = require("../api/index.js");
|
|
16
|
-
const MultiSendAbi_js_1 = require("../abis/MultiSendAbi.js");
|
|
17
|
-
function isBatchUserOperationCallData(data) {
|
|
18
|
-
return data && Array.isArray(data);
|
|
19
|
-
}
|
|
20
|
-
exports.isBatchUserOperationCallData = isBatchUserOperationCallData;
|
|
21
|
-
class TokenPaymaster extends base_js_1.Paymaster {
|
|
22
|
-
constructor(provider, paymasterConfig) {
|
|
23
|
-
super(provider);
|
|
24
|
-
Object.defineProperty(this, "paymasterConfig", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
configurable: true,
|
|
27
|
-
writable: true,
|
|
28
|
-
value: paymasterConfig
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
async getPaymasterAddress(paymasterProvider) {
|
|
32
|
-
const chainId = await (0, index_js_1.getChainId)(this.provider.getProjectId());
|
|
33
|
-
try {
|
|
34
|
-
const { data: paymasterResp } = await axios_1.default.post(`${constants_js_1.PAYMASTER_URL}/getPaymasterAddress`, {
|
|
35
|
-
chainId,
|
|
36
|
-
entryPointAddress: constants_js_1.ENTRYPOINT_ADDRESS,
|
|
37
|
-
paymasterProvider,
|
|
38
|
-
}, { headers: { "Content-Type": "application/json" } });
|
|
39
|
-
return paymasterResp;
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
console.log(e);
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
async decodeMainCallFromCallData(kernelAddress, callData) {
|
|
47
|
-
let data = "0x";
|
|
48
|
-
if (callData instanceof Promise) {
|
|
49
|
-
const _data = await callData;
|
|
50
|
-
if (_data instanceof Uint8Array) {
|
|
51
|
-
data = (0, viem_1.toHex)(_data);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
data = _data;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
else if (callData instanceof Uint8Array) {
|
|
58
|
-
data = (0, viem_1.toHex)(callData);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
data = callData;
|
|
62
|
-
}
|
|
63
|
-
try {
|
|
64
|
-
const { functionName, args } = (0, viem_1.decodeFunctionData)({
|
|
65
|
-
abi: KernelAccountAbi_js_1.KernelAccountAbi,
|
|
66
|
-
data: data,
|
|
67
|
-
});
|
|
68
|
-
if (functionName === "execute") {
|
|
69
|
-
const [target, value, data] = args;
|
|
70
|
-
let msFuntionName;
|
|
71
|
-
try {
|
|
72
|
-
({ functionName: msFuntionName } = (0, viem_1.decodeFunctionData)({
|
|
73
|
-
abi: MultiSendAbi_js_1.MultiSendAbi,
|
|
74
|
-
data,
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
catch (error) { }
|
|
78
|
-
let mainCall = {
|
|
79
|
-
target,
|
|
80
|
-
value: value ?? 0n,
|
|
81
|
-
data,
|
|
82
|
-
};
|
|
83
|
-
if (msFuntionName === "multiSend") {
|
|
84
|
-
mainCall = {
|
|
85
|
-
...mainCall,
|
|
86
|
-
target: constants_js_1.MULTISEND_ADDR,
|
|
87
|
-
delegateCall: true,
|
|
88
|
-
data,
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
return mainCall;
|
|
92
|
-
}
|
|
93
|
-
else if (functionName === "executeBatch") {
|
|
94
|
-
const [txs] = args;
|
|
95
|
-
return txs.map((tx) => ({
|
|
96
|
-
target: tx.to,
|
|
97
|
-
value: tx.value ?? 0n,
|
|
98
|
-
data: tx.data,
|
|
99
|
-
}));
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
catch (error) {
|
|
103
|
-
return {
|
|
104
|
-
target: (kernelAddress instanceof Promise
|
|
105
|
-
? await kernelAddress
|
|
106
|
-
: kernelAddress),
|
|
107
|
-
data,
|
|
108
|
-
value: 0n,
|
|
109
|
-
delegateCall: true,
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
async getERC20UserOp(struct, mainCall, gasTokenAddress, paymasterAddress) {
|
|
115
|
-
try {
|
|
116
|
-
const approveData = {
|
|
117
|
-
target: gasTokenAddress,
|
|
118
|
-
value: BigInt(0),
|
|
119
|
-
data: (0, viem_1.encodeFunctionData)({
|
|
120
|
-
abi: ERC20Abi_js_1.ERC20Abi,
|
|
121
|
-
functionName: "approve",
|
|
122
|
-
args: [paymasterAddress, constants_js_1.ERC20_APPROVAL_AMOUNT[gasTokenAddress]],
|
|
123
|
-
}),
|
|
124
|
-
};
|
|
125
|
-
if (!this.provider.account) {
|
|
126
|
-
throw errors_js_1.AccountNotConnected;
|
|
127
|
-
}
|
|
128
|
-
let calls;
|
|
129
|
-
if (isBatchUserOperationCallData(mainCall)) {
|
|
130
|
-
calls = [approveData, ...mainCall];
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
calls = [approveData, mainCall];
|
|
134
|
-
}
|
|
135
|
-
const erc20CallData = await this.provider.account.encodeBatchExecute(calls);
|
|
136
|
-
return {
|
|
137
|
-
...struct,
|
|
138
|
-
callData: erc20CallData,
|
|
139
|
-
callGasLimit: await this.provider.rpcClient.estimateGas({
|
|
140
|
-
account: constants_js_1.ENTRYPOINT_ADDRESS,
|
|
141
|
-
to: await this.provider.getAddress(),
|
|
142
|
-
data: erc20CallData,
|
|
143
|
-
}),
|
|
144
|
-
signature: await this.provider
|
|
145
|
-
.getAccount()
|
|
146
|
-
.getValidator()
|
|
147
|
-
.getDynamicDummySignature((await struct.sender), erc20CallData),
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
catch (error) {
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
async getPaymasterResponse(struct, paymasterProvider, shouldOverrideFee, shouldConsume) {
|
|
155
|
-
const mainCall = await this.decodeMainCallFromCallData(struct.sender, struct.callData);
|
|
156
|
-
if (!mainCall) {
|
|
157
|
-
throw errors_js_1.IncorrectCallDataForTokenPaymaster;
|
|
158
|
-
}
|
|
159
|
-
const chainId = await (0, index_js_1.getChainId)(this.provider.getProjectId());
|
|
160
|
-
if (!chainId) {
|
|
161
|
-
throw new Error("ChainId not found");
|
|
162
|
-
}
|
|
163
|
-
const gasTokenAddress = (0, utils_js_1.getGasTokenAddress)(this.paymasterConfig.gasToken, chainId);
|
|
164
|
-
let paymasterAddress = await this.getPaymasterAddress(paymasterProvider);
|
|
165
|
-
if (gasTokenAddress !== undefined &&
|
|
166
|
-
paymasterAddress !== undefined &&
|
|
167
|
-
(0, viem_1.isAddress)(paymasterAddress)) {
|
|
168
|
-
const erc20UserOp = await this.getERC20UserOp(struct, mainCall, gasTokenAddress, paymasterAddress);
|
|
169
|
-
if (!erc20UserOp) {
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
const paymasterResp = await this.signUserOp({
|
|
173
|
-
userOp: struct,
|
|
174
|
-
callData: struct.callData,
|
|
175
|
-
gasTokenAddress,
|
|
176
|
-
erc20UserOp,
|
|
177
|
-
erc20CallData: erc20UserOp.callData,
|
|
178
|
-
paymasterProvider,
|
|
179
|
-
shouldOverrideFee,
|
|
180
|
-
shouldConsume,
|
|
181
|
-
});
|
|
182
|
-
return paymasterResp;
|
|
183
|
-
}
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
exports.TokenPaymaster = TokenPaymaster;
|
|
188
|
-
//# sourceMappingURL=token-paymaster.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-paymaster.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/paymaster/token-paymaster.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type PromiseOrValue,\n type BytesLike,\n type UserOperationCallData,\n type UserOperationStruct,\n type BatchUserOperationCallData,\n} from \"@alchemy/aa-core\";\nimport axios from \"axios\";\nimport {\n type Hex,\n toHex,\n decodeFunctionData,\n encodeFunctionData,\n isAddress,\n} from \"viem\";\nimport { ERC20Abi } from \"../abis/ERC20Abi.js\";\nimport { KernelAccountAbi } from \"../abis/KernelAccountAbi.js\";\nimport {\n PAYMASTER_URL,\n ENTRYPOINT_ADDRESS,\n ERC20_APPROVAL_AMOUNT,\n MULTISEND_ADDR,\n} from \"../constants.js\";\nimport {\n AccountNotConnected,\n IncorrectCallDataForTokenPaymaster,\n} from \"../errors.js\";\nimport type { ZeroDevProvider } from \"../provider.js\";\nimport {\n getGasTokenAddress,\n type UserOperationCallDataWithDelegate,\n} from \"../utils.js\";\nimport { Paymaster } from \"./base.js\";\nimport {\n type PaymasterAndBundlerProviders,\n type PaymasterConfig,\n} from \"./types.js\";\nimport { getChainId } from \"../api/index.js\";\nimport { MultiSendAbi } from \"../abis/MultiSendAbi.js\";\n\nexport function isBatchUserOperationCallData(\n data: any\n): data is BatchUserOperationCallData {\n return data && Array.isArray(data);\n}\nexport class TokenPaymaster extends Paymaster {\n constructor(\n provider: ZeroDevProvider,\n protected paymasterConfig: PaymasterConfig<\"TOKEN_PAYMASTER\">\n ) {\n super(provider);\n }\n async getPaymasterAddress(\n paymasterProvider?: PaymasterAndBundlerProviders\n ): Promise<Hex | undefined> {\n const chainId = await getChainId(this.provider.getProjectId());\n\n try {\n const { data: paymasterResp } = await axios.post(\n `${PAYMASTER_URL}/getPaymasterAddress`,\n {\n chainId,\n entryPointAddress: ENTRYPOINT_ADDRESS,\n paymasterProvider,\n },\n { headers: { \"Content-Type\": \"application/json\" } }\n );\n return paymasterResp as Hex;\n } catch (e) {\n console.log(e);\n return undefined;\n }\n }\n async decodeMainCallFromCallData(\n kernelAddress: PromiseOrValue<string>,\n callData: PromiseOrValue<BytesLike>\n ): Promise<\n | UserOperationCallData\n | BatchUserOperationCallData\n | UserOperationCallDataWithDelegate\n | undefined\n > {\n let data: Hex = \"0x\";\n if (callData instanceof Promise) {\n const _data = await callData;\n if (_data instanceof Uint8Array) {\n data = toHex(_data);\n } else {\n data = _data as Hex;\n }\n } else if (callData instanceof Uint8Array) {\n data = toHex(callData);\n } else {\n data = callData as Hex;\n }\n\n try {\n const { functionName, args } = decodeFunctionData({\n abi: KernelAccountAbi,\n data: data,\n });\n if (functionName === \"execute\") {\n const [target, value, data] = args;\n let msFuntionName;\n try {\n ({ functionName: msFuntionName } = decodeFunctionData({\n abi: MultiSendAbi,\n data,\n }));\n } catch (error) {}\n let mainCall:\n | UserOperationCallData\n | UserOperationCallDataWithDelegate = {\n target,\n value: value ?? 0n,\n data,\n };\n if (msFuntionName === \"multiSend\") {\n mainCall = {\n ...mainCall,\n target: MULTISEND_ADDR,\n delegateCall: true,\n data,\n };\n }\n return mainCall;\n } else if (functionName === \"executeBatch\") {\n const [txs] = args;\n return txs.map((tx) => ({\n target: tx.to,\n value: tx.value ?? 0n,\n data: tx.data,\n }));\n }\n } catch (error) {\n return {\n target: (kernelAddress instanceof Promise\n ? await kernelAddress\n : kernelAddress) as Hex,\n data,\n value: 0n,\n delegateCall: true,\n };\n }\n return;\n }\n\n async getERC20UserOp<\n T extends UserOperationCallData | BatchUserOperationCallData\n >(\n struct: UserOperationStruct,\n mainCall: T,\n gasTokenAddress: Hex,\n paymasterAddress: Hex\n ): Promise<UserOperationStruct | undefined> {\n try {\n const approveData: UserOperationCallData = {\n target: gasTokenAddress,\n value: BigInt(0),\n data: encodeFunctionData({\n abi: ERC20Abi,\n functionName: \"approve\",\n args: [paymasterAddress, ERC20_APPROVAL_AMOUNT[gasTokenAddress]],\n }),\n };\n if (!this.provider.account) {\n throw AccountNotConnected;\n }\n\n let calls: BatchUserOperationCallData;\n\n if (isBatchUserOperationCallData(mainCall)) {\n calls = [approveData, ...mainCall];\n } else {\n calls = [approveData, mainCall];\n }\n const erc20CallData = await this.provider.account.encodeBatchExecute(\n calls\n );\n return {\n ...struct,\n callData: erc20CallData,\n callGasLimit: await this.provider.rpcClient.estimateGas({\n account: ENTRYPOINT_ADDRESS,\n to: await this.provider.getAddress(),\n data: erc20CallData,\n }),\n signature: await this.provider\n .getAccount()\n .getValidator()\n .getDynamicDummySignature(\n (await struct.sender) as Hex,\n erc20CallData\n ),\n };\n } catch (error) {\n return;\n }\n }\n\n async getPaymasterResponse(\n struct: UserOperationStruct,\n paymasterProvider?: PaymasterAndBundlerProviders,\n shouldOverrideFee?: boolean,\n shouldConsume?: boolean\n ): Promise<UserOperationStruct | undefined> {\n const mainCall = await this.decodeMainCallFromCallData(\n struct.sender,\n struct.callData\n );\n if (!mainCall) {\n throw IncorrectCallDataForTokenPaymaster;\n }\n const chainId = await getChainId(this.provider.getProjectId());\n if (!chainId) {\n throw new Error(\"ChainId not found\");\n }\n const gasTokenAddress = getGasTokenAddress(\n this.paymasterConfig.gasToken,\n chainId\n );\n let paymasterAddress = await this.getPaymasterAddress(paymasterProvider);\n if (\n gasTokenAddress !== undefined &&\n paymasterAddress !== undefined &&\n isAddress(paymasterAddress)\n ) {\n const erc20UserOp = await this.getERC20UserOp(\n struct,\n mainCall,\n gasTokenAddress,\n paymasterAddress\n );\n if (!erc20UserOp) {\n return;\n }\n const paymasterResp = await this.signUserOp({\n userOp: struct,\n callData: struct.callData,\n gasTokenAddress,\n erc20UserOp,\n erc20CallData: erc20UserOp.callData,\n paymasterProvider,\n shouldOverrideFee,\n shouldConsume,\n });\n return paymasterResp;\n }\n return;\n }\n}\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { Hex } from "viem";
|
|
2
|
-
import type { Paymaster } from "./base.js";
|
|
3
|
-
import type { ZeroDevProvider } from "../provider.js";
|
|
4
|
-
export type PaymasterAndBundlerProviders = "ALCHEMY" | "STACKUP" | "PIMLICO" | "GELATO";
|
|
5
|
-
export type SupportedGasToken = "USDC" | "PEPE" | "TEST_ERC20";
|
|
6
|
-
export type PaymasterPolicy = "VERIFYING_PAYMASTER" | "TOKEN_PAYMASTER";
|
|
7
|
-
interface PaymasterConfigOptions {
|
|
8
|
-
VERIFYING_PAYMASTER: {};
|
|
9
|
-
TOKEN_PAYMASTER: {
|
|
10
|
-
gasToken: SupportedGasToken;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
export type PaymasterConfig<T extends PaymasterPolicy> = {
|
|
14
|
-
policy: T;
|
|
15
|
-
paymasterProvider?: PaymasterAndBundlerProviders;
|
|
16
|
-
onlySendSponsoredTransaction?: boolean;
|
|
17
|
-
} & PaymasterConfigOptions[T];
|
|
18
|
-
export interface IGasTokenAddresses {
|
|
19
|
-
[key: string]: {
|
|
20
|
-
[chainId: number]: Hex;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export interface IPaymaster<Provider extends ZeroDevProvider, P extends PaymasterPolicy> {
|
|
24
|
-
new (provider: Provider, paymasterConfig: PaymasterConfig<P>): Paymaster;
|
|
25
|
-
}
|
|
26
|
-
export type PaymasterMap<Provider extends ZeroDevProvider> = {
|
|
27
|
-
[P in PaymasterPolicy]: IPaymaster<Provider, P>;
|
|
28
|
-
};
|
|
29
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/paymaster/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Hex } from \"viem\";\nimport type { Paymaster } from \"./base.js\";\nimport type { ZeroDevProvider } from \"../provider.js\";\n\nexport type PaymasterAndBundlerProviders =\n | \"ALCHEMY\"\n | \"STACKUP\"\n | \"PIMLICO\"\n | \"GELATO\";\n\nexport type SupportedGasToken = \"USDC\" | \"PEPE\" | \"TEST_ERC20\";\n\nexport type PaymasterPolicy = \"VERIFYING_PAYMASTER\" | \"TOKEN_PAYMASTER\";\n\ninterface PaymasterConfigOptions {\n VERIFYING_PAYMASTER: {};\n TOKEN_PAYMASTER: { gasToken: SupportedGasToken };\n}\n\nexport type PaymasterConfig<T extends PaymasterPolicy> = {\n policy: T;\n paymasterProvider?: PaymasterAndBundlerProviders;\n onlySendSponsoredTransaction?: boolean;\n} & PaymasterConfigOptions[T];\nexport interface IGasTokenAddresses {\n [key: string]: {\n [chainId: number]: Hex;\n };\n}\n\nexport interface IPaymaster<\n Provider extends ZeroDevProvider,\n P extends PaymasterPolicy\n> {\n new (provider: Provider, paymasterConfig: PaymasterConfig<P>): Paymaster;\n}\n\nexport type PaymasterMap<Provider extends ZeroDevProvider> = {\n [P in PaymasterPolicy]: IPaymaster<Provider, P>;\n};\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type UserOperationStruct } from "@alchemy/aa-core";
|
|
2
|
-
import { Paymaster } from "./base.js";
|
|
3
|
-
import type { ZeroDevProvider } from "../provider.js";
|
|
4
|
-
import type { PaymasterAndBundlerProviders, PaymasterConfig } from "./types.js";
|
|
5
|
-
export declare class VerifyingPaymaster extends Paymaster {
|
|
6
|
-
constructor(provider: ZeroDevProvider, _: PaymasterConfig<"VERIFYING_PAYMASTER">);
|
|
7
|
-
getPaymasterResponse(struct: UserOperationStruct, paymasterProvider?: PaymasterAndBundlerProviders, shouldOverrideFee?: boolean, shouldConsume?: boolean): Promise<UserOperationStruct | undefined>;
|
|
8
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VerifyingPaymaster = void 0;
|
|
4
|
-
const aa_core_1 = require("@alchemy/aa-core");
|
|
5
|
-
const base_js_1 = require("./base.js");
|
|
6
|
-
class VerifyingPaymaster extends base_js_1.Paymaster {
|
|
7
|
-
constructor(provider, _) {
|
|
8
|
-
super(provider);
|
|
9
|
-
}
|
|
10
|
-
async getPaymasterResponse(struct, paymasterProvider, shouldOverrideFee, shouldConsume) {
|
|
11
|
-
const hexifiedUserOp = (0, aa_core_1.deepHexlify)(await (0, aa_core_1.resolveProperties)(struct));
|
|
12
|
-
const paymasterResp = await this.signUserOp({
|
|
13
|
-
userOp: hexifiedUserOp,
|
|
14
|
-
paymasterProvider,
|
|
15
|
-
shouldOverrideFee,
|
|
16
|
-
shouldConsume,
|
|
17
|
-
});
|
|
18
|
-
return paymasterResp;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.VerifyingPaymaster = VerifyingPaymaster;
|
|
22
|
-
//# sourceMappingURL=verifying-paymaster.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verifying-paymaster.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/paymaster/verifying-paymaster.ts"],"names":[],"mappings":";;;AAAA,8CAI0B;AAC1B,uCAAsC;AAItC,MAAa,kBAAmB,SAAQ,mBAAS;IAC/C,YACE,QAAyB,EACzB,CAAyC;QAEzC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,oBAAoB,CACxB,MAA2B,EAC3B,iBAAgD,EAChD,iBAA2B,EAC3B,aAAuB;QAEvB,MAAM,cAAc,GAAG,IAAA,qBAAW,EAAC,MAAM,IAAA,2BAAiB,EAAC,MAAM,CAAC,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;YAC1C,MAAM,EAAE,cAAc;YACtB,iBAAiB;YACjB,iBAAiB;YACjB,aAAa;SACd,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAtBD,gDAsBC","sourcesContent":["import {\n type UserOperationStruct,\n deepHexlify,\n resolveProperties,\n} from \"@alchemy/aa-core\";\nimport { Paymaster } from \"./base.js\";\nimport type { ZeroDevProvider } from \"../provider.js\";\nimport type { PaymasterAndBundlerProviders, PaymasterConfig } from \"./types.js\";\n\nexport class VerifyingPaymaster extends Paymaster {\n constructor(\n provider: ZeroDevProvider,\n _: PaymasterConfig<\"VERIFYING_PAYMASTER\">\n ) {\n super(provider);\n }\n async getPaymasterResponse(\n struct: UserOperationStruct,\n paymasterProvider?: PaymasterAndBundlerProviders,\n shouldOverrideFee?: boolean,\n shouldConsume?: boolean\n ): Promise<UserOperationStruct | undefined> {\n const hexifiedUserOp = deepHexlify(await resolveProperties(struct));\n const paymasterResp = await this.signUserOp({\n userOp: hexifiedUserOp,\n paymasterProvider,\n shouldOverrideFee,\n shouldConsume,\n });\n return paymasterResp;\n }\n}\n"]}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { type Address, type Chain, type Hash, type HttpTransport, type RpcTransactionRequest } from "viem";
|
|
2
|
-
import { type SmartAccountProviderOpts, type UserOperationCallData, type BatchUserOperationCallData, type SendUserOperationResult, type UserOperationStruct, SmartAccountProvider, type AccountMiddlewareFn, type UserOperationOverrides } from "@alchemy/aa-core";
|
|
3
|
-
import { KernelSmartContractAccount } from "./account.js";
|
|
4
|
-
import type { PaymasterAndBundlerProviders, PaymasterConfig, PaymasterPolicy } from "./paymaster/types.js";
|
|
5
|
-
export type FeeOptions = {
|
|
6
|
-
maxFeePerGasBufferPercentage?: number;
|
|
7
|
-
maxPriorityFeePerGasBufferPercentage?: number;
|
|
8
|
-
};
|
|
9
|
-
export type ZeroDevProviderConfig = {
|
|
10
|
-
projectId: string;
|
|
11
|
-
chain: Chain | number;
|
|
12
|
-
entryPointAddress?: Address;
|
|
13
|
-
rpcUrl?: string;
|
|
14
|
-
bundlerRpcUrl?: string;
|
|
15
|
-
account?: KernelSmartContractAccount;
|
|
16
|
-
bundlerProvider?: PaymasterAndBundlerProviders;
|
|
17
|
-
opts?: SmartAccountProviderOpts & {
|
|
18
|
-
sendTxMaxRetries?: number;
|
|
19
|
-
sendTxRetryIntervalMs?: number;
|
|
20
|
-
feeOptions?: FeeOptions;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
export declare enum Operation {
|
|
24
|
-
Call = 0,
|
|
25
|
-
DelegateCall = 1
|
|
26
|
-
}
|
|
27
|
-
type UserOpDataOperationTypes<T> = T extends UserOperationCallData ? Operation.Call | Operation.DelegateCall : T extends BatchUserOperationCallData ? Operation.Call : never;
|
|
28
|
-
export declare class ZeroDevProvider extends SmartAccountProvider<HttpTransport> {
|
|
29
|
-
protected projectId: string;
|
|
30
|
-
protected sendTxMaxRetries: number;
|
|
31
|
-
protected sendTxRetryIntervalMs: number;
|
|
32
|
-
readonly bundlerProvider?: PaymasterAndBundlerProviders;
|
|
33
|
-
private _txMaxRetries;
|
|
34
|
-
private _txRetryIntervalMs;
|
|
35
|
-
private _shouldConsume;
|
|
36
|
-
feeOptions: Required<FeeOptions>;
|
|
37
|
-
constructor({ projectId, chain, entryPointAddress, rpcUrl, bundlerRpcUrl, account, bundlerProvider, opts, }: ZeroDevProviderConfig);
|
|
38
|
-
getProjectId: () => string;
|
|
39
|
-
shouldConsume: () => boolean;
|
|
40
|
-
sendTransaction: (request: RpcTransactionRequest, operation?: UserOpDataOperationTypes<UserOperationCallData>) => Promise<Hash>;
|
|
41
|
-
buildUserOperation: <T extends UserOperationCallData | BatchUserOperationCallData>(data: T, overrides?: UserOperationOverrides, operation?: UserOpDataOperationTypes<T>) => Promise<UserOperationStruct>;
|
|
42
|
-
private _runMiddlewareStack;
|
|
43
|
-
sendUserOperation: <T extends UserOperationCallData | BatchUserOperationCallData>(data: T, overrides?: UserOperationOverrides, operation?: UserOpDataOperationTypes<T>) => Promise<SendUserOperationResult>;
|
|
44
|
-
isReplacementOpError(errorIn: any): boolean;
|
|
45
|
-
unwrapError(errorIn: any): Error;
|
|
46
|
-
waitForUserOperationTransaction: (hash: Hash) => Promise<Hash>;
|
|
47
|
-
getAccount: () => KernelSmartContractAccount;
|
|
48
|
-
dummyPaymasterDataMiddleware: AccountMiddlewareFn;
|
|
49
|
-
withZeroDevPaymasterAndData(config: PaymasterConfig<PaymasterPolicy>): this & SmartAccountProvider<HttpTransport> & {
|
|
50
|
-
account: import("@alchemy/aa-core").BaseSmartContractAccount<HttpTransport>;
|
|
51
|
-
};
|
|
52
|
-
request: (args: {
|
|
53
|
-
method: string;
|
|
54
|
-
params?: any[];
|
|
55
|
-
}) => Promise<any>;
|
|
56
|
-
}
|
|
57
|
-
export {};
|