UNPKG

viem

Version:

TypeScript Interface for Ethereum

311 lines 9.93 kB
import type { Address } from 'abitype'; import type { PrivateKeyAccount } from '../../../accounts/types.js'; import type { Prettify } from '../../../types/utils.js'; import { entryPoint08Abi } from '../../constants/abis.js'; import type { SmartAccount, SmartAccountImplementation } from '../types.js'; export type ToSimple7702SmartAccountParameters = { client: Simple7702SmartAccountImplementation['client']; implementation?: Address | undefined; getNonce?: SmartAccountImplementation['getNonce'] | undefined; owner: PrivateKeyAccount; }; export type ToSimple7702SmartAccountReturnType = Prettify<SmartAccount<Simple7702SmartAccountImplementation>>; export type Simple7702SmartAccountImplementation = SmartAccountImplementation<typeof entryPoint08Abi, '0.8', { abi: typeof abi; owner: PrivateKeyAccount; }, true>; /** * @description Create a Simple7702 Smart Account – based off [eth-infinitism's `Simple7702Account.sol`](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/accounts/Simple7702Account.sol). * * @param parameters - {@link ToSimple7702SmartAccountParameters} * @returns Simple7702 Smart Account. {@link ToSimple7702SmartAccountReturnType} * * @example * import { toSimple7702SmartAccount } from 'viem/account-abstraction' * import { client } from './client.js' * * const implementation = toSimple7702SmartAccount({ * client, * owner: '0x...', * }) */ export declare function toSimple7702SmartAccount(parameters: ToSimple7702SmartAccountParameters): Promise<ToSimple7702SmartAccountReturnType>; declare const abi: readonly [{ readonly inputs: readonly []; readonly name: "ECDSAInvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; }]; readonly name: "ECDSAInvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "ECDSAInvalidSignatureS"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "error"; readonly type: "bytes"; }]; readonly name: "ExecuteError"; readonly type: "error"; }, { readonly stateMutability: "payable"; readonly type: "fallback"; }, { readonly inputs: readonly []; readonly name: "entryPoint"; readonly outputs: readonly [{ readonly internalType: "contract IEntryPoint"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "execute"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly internalType: "struct BaseAccount.Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "executeBatch"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getNonce"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "hash"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly name: "isValidSignature"; readonly outputs: readonly [{ readonly internalType: "bytes4"; readonly name: "magicValue"; readonly type: "bytes4"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; }]; readonly name: "onERC1155BatchReceived"; readonly outputs: readonly [{ readonly internalType: "bytes4"; readonly name: ""; readonly type: "bytes4"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; }]; readonly name: "onERC1155Received"; readonly outputs: readonly [{ readonly internalType: "bytes4"; readonly name: ""; readonly type: "bytes4"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; }]; readonly name: "onERC721Received"; readonly outputs: readonly [{ readonly internalType: "bytes4"; readonly name: ""; readonly type: "bytes4"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "id"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "initCode"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }, { readonly internalType: "bytes32"; readonly name: "accountGasLimits"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "preVerificationGas"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "gasFees"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "paymasterAndData"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct PackedUserOperation"; readonly name: "userOp"; readonly type: "tuple"; }, { readonly internalType: "bytes32"; readonly name: "userOpHash"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "missingAccountFunds"; readonly type: "uint256"; }]; readonly name: "validateUserOp"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "validationData"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; export {}; //# sourceMappingURL=toSimple7702SmartAccount.d.ts.map