abstractionkit
Version:
Account Abstraction 4337 SDK by Candidelabs
129 lines • 4.31 kB
TypeScript
import type { GasOption, StateOverrideSet, PolygonChain } from "../../types";
export interface CreateBaseUserOperationOverrides {
nonce?: bigint;
callData?: string;
callGasLimit?: bigint;
verificationGasLimit?: bigint;
preVerificationGas?: bigint;
maxFeePerGas?: bigint;
maxPriorityFeePerGas?: bigint;
callGasLimitPercentageMultiplier?: number;
verificationGasLimitPercentageMultiplier?: number;
preVerificationGasPercentageMultiplier?: number;
maxFeePerGasPercentageMultiplier?: number;
maxPriorityFeePerGasPercentageMultiplier?: number;
state_override_set?: StateOverrideSet;
dummySignerSignaturePairs?: SignerSignaturePair[];
webAuthnSharedSigner?: string;
webAuthnSignerFactory?: string;
webAuthnSignerSingleton?: string;
eip7212WebAuthnPrecompileVerifier?: string;
eip7212WebAuthnContractVerifier?: string;
safeModuleExecutorFunctionSelector?: SafeModuleExecutorFunctionSelector;
multisendContractAddress?: string;
gasLevel?: GasOption;
polygonGasStation?: PolygonChain;
expectedSigners?: Signer[];
}
export interface CreateUserOperationV6Overrides extends CreateBaseUserOperationOverrides {
initCode?: string;
}
export interface CreateUserOperationV7Overrides extends CreateBaseUserOperationOverrides {
factory?: string;
factoryData?: string;
}
export interface SafeAccountSingleton {
singletonAddress: string;
singletonInitHash: string;
}
export interface InitCodeOverrides {
threshold?: number;
c2Nonce?: bigint;
safe4337ModuleAddress?: string;
safeModuleSetupddress?: string;
entrypointAddress?: string;
safeAccountSingleton?: SafeAccountSingleton;
safeAccountFactoryAddress?: string;
multisendContractAddress?: string;
webAuthnSharedSigner?: string;
eip7212WebAuthnPrecompileVerifierForSharedSigner?: string;
eip7212WebAuthnContractVerifierForSharedSigner?: string;
}
export interface BaseInitOverrides {
threshold?: number;
c2Nonce?: bigint;
safeAccountSingleton?: SafeAccountSingleton;
safeAccountFactoryAddress?: string;
multisendContractAddress?: string;
webAuthnSharedSigner?: string;
eip7212WebAuthnPrecompileVerifierForSharedSigner?: string;
eip7212WebAuthnContractVerifierForSharedSigner?: string;
}
export interface WebAuthnSignatureOverrides {
isInit?: boolean;
webAuthnSharedSigner?: string;
eip7212WebAuthnPrecompileVerifier?: string;
eip7212WebAuthnContractVerifier?: string;
webAuthnSignerFactory?: string;
webAuthnSignerSingleton?: string;
validAfter?: bigint;
validUntil?: bigint;
}
export declare enum SafeModuleExecutorFunctionSelector {
executeUserOpWithErrorString = "0x541d63c8",
executeUserOp = "0x7bb37428"
}
export interface SafeUserOperationTypedDataDomain {
chainId: number;
verifyingContract: string;
}
export interface SafeUserOperationV6TypedMessageValue {
safe: string;
nonce: bigint;
initCode: string;
callData: string;
callGasLimit: bigint;
verificationGasLimit: bigint;
preVerificationGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
paymasterAndData: string;
validAfter: bigint;
validUntil: bigint;
entryPoint: string;
}
export interface SafeUserOperationV7TypedMessageValue {
safe: string;
nonce: bigint;
initCode: string;
callData: string;
verificationGasLimit: bigint;
callGasLimit: bigint;
preVerificationGas: bigint;
maxPriorityFeePerGas: bigint;
maxFeePerGas: bigint;
paymasterAndData: string;
validAfter: bigint;
validUntil: bigint;
entryPoint: string;
}
export type ECDSAPublicAddress = string;
export interface WebauthnPublicKey {
x: bigint;
y: bigint;
}
export type Signer = ECDSAPublicAddress | WebauthnPublicKey;
export type ECDSASignature = string;
export interface WebauthnSignatureData {
authenticatorData: ArrayBuffer;
clientDataFields: string;
rs: [bigint, bigint];
}
export interface SignerSignaturePair {
signer: Signer;
signature: string;
isContractSignature?: boolean;
}
export declare const EOADummySignerSignaturePair: SignerSignaturePair;
export declare const WebauthnDummySignerSignaturePair: SignerSignaturePair;
//# sourceMappingURL=types.d.ts.map