@metamask/delegation-toolkit
Version:
The Delegation Toolkit built on top of Viem - a library for interacting with DeleGator Smart Accounts
43 lines (39 loc) • 1.82 kB
TypeScript
import { WalletClient, PublicClient, Chain, Hex, Transport, Account, Address, TypedData } from 'viem';
import { D as DeleGatorEnvironment } from './types-DvZXSma6.js';
type SupportedVersion = '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0';
declare const PREFERRED_VERSION: SupportedVersion;
declare function overrideDeployedEnvironment(chainId: number, version: SupportedVersion, environment: DeleGatorEnvironment): void;
declare function getDeleGatorEnvironment(chainId: number, version?: SupportedVersion): DeleGatorEnvironment;
declare function deployDeleGatorEnvironment(walletClient: WalletClient, publicClient: PublicClient, chain: Chain, deployedContracts?: {
[contract: string]: Hex;
}): Promise<DeleGatorEnvironment>;
type UserOperationV07 = {
sender: Hex;
nonce: bigint;
factory?: Hex;
factoryData?: Hex;
callData: Hex;
callGasLimit: bigint;
verificationGasLimit: bigint;
preVerificationGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
paymaster?: Hex;
paymasterVerificationGasLimit?: bigint;
paymasterPostOpGasLimit?: bigint;
paymasterData?: Hex;
signature: Hex;
};
declare const SIGNABLE_USER_OP_TYPED_DATA: TypedData;
declare const signUserOperation: ({ signer, userOperation, entryPoint, chainId, name, address, version, }: {
signer: WalletClient<Transport, Chain, Account>;
userOperation: Omit<UserOperationV07, 'signature'>;
entryPoint: {
address: Address;
};
chainId: number;
address: Address;
name: 'HybridDeleGator' | 'MultiSigDeleGator';
version?: string | undefined;
}) => Promise<`0x${string}`>;
export { PREFERRED_VERSION as P, SIGNABLE_USER_OP_TYPED_DATA as S, deployDeleGatorEnvironment as d, getDeleGatorEnvironment as g, overrideDeployedEnvironment as o, signUserOperation as s };