UNPKG

near-safe-test

Version:

An SDK for controlling Ethereum Smart Accounts via ERC4337 from a Near Account.

48 lines (47 loc) 1.73 kB
import { Address, Hash, PublicClient, Transport } from "viem"; import { GasPrices, PaymasterData, SponsorshipPolicyData, UnsignedUserOperation, UserOperation, UserOperationGas, UserOperationReceipt } from "../types"; type SponsorshipPolicy = { sponsorshipPolicyId: string; }; type BundlerRpcSchema = [ { Method: "pm_sponsorUserOperation"; Parameters: [UnsignedUserOperation, Address, SponsorshipPolicy]; ReturnType: PaymasterData; }, { Method: "eth_estimateUserOperationGas"; Parameters: [UnsignedUserOperation, Address]; ReturnType: UserOperationGas; }, { Method: "eth_sendUserOperation"; Parameters: [UserOperation, Address]; ReturnType: Hash; }, { Method: "pimlico_getUserOperationGasPrice"; Parameters: []; ReturnType: GasPrices; }, { Method: "eth_getUserOperationReceipt"; Parameters: [Hash]; ReturnType: UserOperationReceipt | null; } ]; export declare class Erc4337Bundler { client: PublicClient<Transport, undefined, undefined, BundlerRpcSchema>; entryPointAddress: Address; apiKey: string; chainId: number; constructor(entryPointAddress: Address, apiKey: string, chainId: number); getPaymasterData(rawUserOp: UnsignedUserOperation, sponsorshipPolicy?: string): Promise<PaymasterData>; sendUserOperation(userOp: UserOperation): Promise<Hash>; getGasPrice(): Promise<GasPrices>; getUserOpReceipt(userOpHash: Hash): Promise<UserOperationReceipt>; private _getUserOpReceiptInner; getSponsorshipPolicies(): Promise<SponsorshipPolicyData[]>; } export declare function stripApiKey(error: unknown): string; export {};