UNPKG

@alchemy/aa-core

Version:

viem based SDK that enables interactions with ERC-4337 Smart Accounts. ABIs are based off the definitions generated in @account-abstraction/contracts

50 lines (49 loc) 3.68 kB
import { type Hex } from "viem"; import type { EntryPointVersion } from "../entrypoint/types"; import type { BigNumberish, Multiplier, UserOperationFeeOptionsField, UserOperationOverrides, UserOperationRequest, UserOperationStruct } from "../types"; export declare function isValidRequest<TEntryPointVersion extends EntryPointVersion = EntryPointVersion>(request: UserOperationStruct<TEntryPointVersion>): request is UserOperationRequest<TEntryPointVersion>; export declare function isValidPaymasterAndData<TEntryPointVersion extends EntryPointVersion = EntryPointVersion>(request: UserOperationStruct<TEntryPointVersion>): boolean; export declare function isValidFactoryAndData<TEntryPointVersion extends EntryPointVersion = EntryPointVersion>(request: UserOperationStruct<TEntryPointVersion>): boolean; export declare function applyUserOpOverride<TValue extends BigNumberish | undefined>(value: TValue, override?: BigNumberish | Multiplier): TValue | BigNumberish; export declare function applyUserOpFeeOption<TValue extends BigNumberish | undefined>(value: TValue, feeOption?: UserOperationFeeOptionsField): TValue | BigNumberish; export declare function applyUserOpOverrideOrFeeOption<TValue extends BigNumberish | undefined>(value: TValue, override?: BigNumberish | Multiplier, feeOption?: UserOperationFeeOptionsField): TValue | BigNumberish; export declare const bypassPaymasterAndData: <TEntryPointVersion extends keyof import("../entrypoint/types").EntryPointRegistryBase<unknown> = keyof import("../entrypoint/types").EntryPointRegistryBase<unknown>>(overrides: Partial<{ callGasLimit: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["callGasLimit"]; maxFeePerGas: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["maxFeePerGas"]; maxPriorityFeePerGas: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["maxPriorityFeePerGas"]; preVerificationGas: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["preVerificationGas"]; verificationGasLimit: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["verificationGasLimit"]; nonceKey: bigint; stateOverride: import("viem").StateOverride; } & import("../types").UserOperationPaymasterOverrides<TEntryPointVersion>> | undefined) => boolean; export declare const bypassPaymasterAndDataEmptyHex: <TEntryPointVersion extends keyof import("../entrypoint/types").EntryPointRegistryBase<unknown> = keyof import("../entrypoint/types").EntryPointRegistryBase<unknown>>(overrides: Partial<{ callGasLimit: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["callGasLimit"]; maxFeePerGas: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["maxFeePerGas"]; maxPriorityFeePerGas: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["maxPriorityFeePerGas"]; preVerificationGas: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["preVerificationGas"]; verificationGasLimit: { multiplier: number; } | UserOperationStruct<TEntryPointVersion>["verificationGasLimit"]; nonceKey: bigint; stateOverride: import("viem").StateOverride; } & import("../types").UserOperationPaymasterOverrides<TEntryPointVersion>> | undefined) => boolean; export declare const parsePaymasterAndData: (paymasterAndData: Hex) => Pick<UserOperationRequest<"0.7.0">, "paymaster" | "paymasterData">; export declare const concatPaymasterAndData: ({ paymaster, paymasterData, }: Pick<UserOperationRequest<"0.7.0">, "paymaster" | "paymasterData">) => Hex;