near-safe
Version:
An SDK for controlling Ethereum Smart Accounts via ERC4337 from a Near Account.
24 lines (23 loc) • 1.17 kB
TypeScript
import { Address, Hash, Hex, PublicClient } from "viem";
import { Deployment, GasPrice, MetaTransaction, UnsignedUserOperation, UserOperation } from "../types";
/**
* All contracts used in account creation & execution
*/
export declare class SafeContractSuite {
setupClient: PublicClient;
singleton: Deployment;
proxyFactory: Deployment;
m4337: Deployment;
moduleSetup: Deployment;
entryPoint: Deployment;
constructor(rpcUrl?: string);
addressForSetup(setup: Hex, saltNonce: string): Promise<Address>;
getSetup(owners: string[]): Hex;
addOwnerData(newOwner: Address): Hex;
removeOwnerData(chainId: number, safeAddress: Address, owner: Address): Promise<Hex>;
getOpHash(chainId: number, unsignedUserOp: UserOperation): Promise<Hash>;
private factoryDataForSetup;
buildUserOp(nonce: bigint, txData: MetaTransaction, safeAddress: Address, feeData: GasPrice, setup: string, safeNotDeployed: boolean, safeSaltNonce: string): Promise<UnsignedUserOperation>;
getNonce(address: Address, chainId: number): Promise<bigint>;
prevOwner(chainId: number, safeAddress: Address, owner: Address): Promise<Address>;
}