abstractionkit
Version:
Account Abstraction 4337 SDK by Candidelabs
194 lines • 12.6 kB
TypeScript
import { SmartAccount } from "../SmartAccount";
import { MetaTransaction, Operation, StateOverrideSet, BaseUserOperation, UserOperationV6, UserOperationV7 } from "../../types";
import { CreateBaseUserOperationOverrides, Signer, SafeUserOperationTypedDataDomain, SafeUserOperationV6TypedMessageValue, SignerSignaturePair, WebauthnSignatureData, SafeModuleExecutorFunctionSelector, WebAuthnSignatureOverrides, BaseInitOverrides, WebauthnPublicKey } from "./types";
import { SendUseroperationResponse } from "../SendUseroperationResponse";
export declare class SafeAccount extends SmartAccount {
static readonly DEFAULT_SAFE_SINGLETON: import("./types").SafeAccountSingleton;
static readonly DEFAULT_WEB_AUTHN_SHARED_SIGNER: string;
static readonly DEFAULT_WEB_AUTHN_SIGNER_SINGLETON: string;
static readonly DEFAULT_WEB_AUTHN_SIGNER_FACTORY: string;
static readonly DEFAULT_WEB_AUTHN_FCLP256_VERIFIER: string;
static readonly DEFAULT_WEB_AUTHN_PRECOMPILE: string;
static readonly DEFAULT_WEB_AUTHN_SIGNER_PROXY_CREATION_CODE = "0x61010060405234801561001157600080fd5b506040516101ee3803806101ee83398101604081905261003091610058565b6001600160a01b0390931660805260a09190915260c0526001600160b01b031660e0526100bc565b6000806000806080858703121561006e57600080fd5b84516001600160a01b038116811461008557600080fd5b60208601516040870151606088015192965090945092506001600160b01b03811681146100b157600080fd5b939692955090935050565b60805160a05160c05160e05160ff6100ef60003960006008015260006031015260006059015260006080015260ff6000f3fe608060408190527f00000000000000000000000000000000000000000000000000000000000000003660b681018290527f000000000000000000000000000000000000000000000000000000000000000060a082018190527f00000000000000000000000000000000000000000000000000000000000000008285018190527f00000000000000000000000000000000000000000000000000000000000000009490939192600082376000806056360183885af490503d6000803e8060c3573d6000fd5b503d6000f3fea2646970667358221220ddd9bb059ba7a6497d560ca97aadf4dbf0476f578378554a50d41c6bb654beae64736f6c63430008180033";
static readonly DEFAULT_MULTISEND_CONTRACT_ADDRESS = "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526";
static readonly initializerFunctionSelector: string;
static readonly initializerFunctionInputAbi: string[];
static readonly DEFAULT_EXECUTOR_FUCNTION_SELECTOR = SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString;
static readonly executorFunctionInputAbi: string[];
protected isInitWebAuthn: boolean;
protected x: bigint | null;
protected y: bigint | null;
readonly entrypointAddress: string;
readonly safe4337ModuleAddress: string;
protected factoryAddress: string | null;
protected factoryData: string | null;
constructor(accountAddress: string, safe4337ModuleAddress: string, entrypointAddress: string);
static createProxyAddress(initializerCallData: string, overrides?: {
c2Nonce?: bigint;
safeFactoryAddress?: string;
singletonInitHash?: string;
}): string;
static createAccountCallDataSingleTransaction(metaTransaction: MetaTransaction, overrides?: {
safeModuleExecutorFunctionSelector?: SafeModuleExecutorFunctionSelector;
}): string;
static createAccountCallDataBatchTransactions(metaTransactions: MetaTransaction[], overrides?: {
safeModuleExecutorFunctionSelector?: SafeModuleExecutorFunctionSelector;
multisendContractAddress?: string;
}): string;
static createAccountCallData(to: string, value: bigint, data: string, operation: Operation, overrides?: {
safeModuleExecutorFunctionSelector?: SafeModuleExecutorFunctionSelector;
}): string;
static decodeAccountCallData(callData: string): [MetaTransaction, SafeModuleExecutorFunctionSelector];
static prependTokenPaymasterApproveToCallDataStatic(callData: string, tokenAddress: string, paymasterAddress: string, approveAmount: bigint, overrides?: {
multisendContractAddress?: string;
}): string;
static formatEip712SignaturesToUseroperationSignature(signersAddresses: string[], signatures: string[], overrides?: {
validAfter?: bigint;
validUntil?: bigint;
}): string;
protected static getUserOperationEip712Hash(useroperation: UserOperationV6 | UserOperationV7, chainId: bigint, overrides?: {
validAfter?: bigint;
validUntil?: bigint;
entrypointAddress?: string;
safe4337ModuleAddress?: string;
}): string;
protected static getUserOperationEip712Data(useroperation: UserOperationV6 | UserOperationV7, chainId: bigint, overrides?: {
validAfter?: bigint;
validUntil?: bigint;
entrypointAddress?: string;
safe4337ModuleAddress?: string;
}): {
domain: SafeUserOperationTypedDataDomain;
types: Record<string, {
name: string;
type: string;
}[]>;
messageValue: SafeUserOperationV6TypedMessageValue | SafeUserOperationV6TypedMessageValue;
};
static getUserOperationEip712Data_V6(useroperation: UserOperationV6, chainId: bigint, overrides?: {
validAfter?: bigint;
validUntil?: bigint;
entrypointAddress?: string;
safe4337ModuleAddress?: string;
}): {
domain: SafeUserOperationTypedDataDomain;
types: Record<string, {
name: string;
type: string;
}[]>;
messageValue: SafeUserOperationV6TypedMessageValue;
};
static getUserOperationEip712Hash_V6(useroperation: UserOperationV6, chainId: bigint, overrides?: {
validAfter?: bigint;
validUntil?: bigint;
entrypointAddress?: string;
safe4337ModuleAddress?: string;
}): string;
static getUserOperationEip712Data_V7(useroperation: UserOperationV7, chainId: bigint, overrides?: {
validAfter?: bigint;
validUntil?: bigint;
entrypointAddress?: string;
safe4337ModuleAddress?: string;
}): {
domain: SafeUserOperationTypedDataDomain;
types: Record<string, {
name: string;
type: string;
}[]>;
messageValue: SafeUserOperationV6TypedMessageValue;
};
static getUserOperationEip712Hash_V7(useroperation: UserOperationV7, chainId: bigint, overrides?: {
validAfter?: bigint;
validUntil?: bigint;
entrypointAddress?: string;
safe4337ModuleAddress?: string;
}): string;
static formatEip712SingleSignatureToUseroperationSignature(signature: string, overrides?: {
validAfter?: bigint;
validUntil?: bigint;
}): string;
sendUserOperation(userOperation: UserOperationV6 | UserOperationV7, bundlerRpc: string): Promise<SendUseroperationResponse>;
protected static createAccountAddressAndFactoryAddressAndData(owners: Signer[], overrides: BaseInitOverrides, safe4337ModuleAddress: string, safeModuleSetupddress: string): [string, string, string];
protected static createBaseInitializerCallData(owners: Signer[], threshold: number, safe4337ModuleAddress: string, safeModuleSetupddress: string, multisendContractAddress?: string, webAuthnSharedSigner?: string, eip7212WebAuthnPrecompileVerifierForSharedSigner?: string, eip7212WebAuthnContractVerifierForSharedSigner?: string): string;
protected static createFactoryAddressAndData(owners: Signer[], overrides: BaseInitOverrides | undefined, safe4337ModuleAddress: string, safeModuleSetupddress: string): [string, string];
prependTokenPaymasterApproveToCallData(callData: string, tokenAddress: string, paymasterAddress: string, approveAmount: bigint, overrides?: {
multisendContractAddress?: string;
}): string;
estimateUserOperationGas(userOperation: UserOperationV6 | UserOperationV7, bundlerRpc: string, overrides?: {
stateOverrideSet?: StateOverrideSet;
dummySignerSignaturePairs?: SignerSignaturePair[];
expectedSigners?: Signer[];
webAuthnSharedSigner?: string;
webAuthnSignerFactory?: string;
webAuthnSignerSingleton?: string;
eip7212WebAuthnPrecompileVerifier?: string;
eip7212WebAuthnContractVerifier?: string;
}): Promise<[bigint, bigint, bigint]>;
protected createBaseUserOperationAndFactoryAddressAndFactoryData(transactions: MetaTransaction[], isV06: boolean, providerRpc?: string, bundlerRpc?: string, overrides?: CreateBaseUserOperationOverrides): Promise<[BaseUserOperation, string | null, string | null]>;
private static handlefetchGasPrice;
signUserOperation(useroperation: UserOperationV6 | UserOperationV7, privateKeys: string[], chainId: bigint, overrides?: {
validAfter?: bigint;
validUntil?: bigint;
}): string;
static createWebAuthnSignerVerifierAddress(x: bigint, y: bigint, overrides?: {
eip7212WebAuthnPrecompileVerifier?: string;
eip7212WebAuthnContractVerifier?: string;
webAuthnSignerFactory?: string;
webAuthnSignerSingleton?: string;
}): string;
static formatSignaturesToUseroperationSignature(signerSignaturePairs: SignerSignaturePair[], overrides?: WebAuthnSignatureOverrides): string;
static getSignerLowerCaseAddress(signer: Signer, overrides?: WebAuthnSignatureOverrides): string;
static sortSignatures(signerSignaturePairs: SignerSignaturePair[], overrides?: WebAuthnSignatureOverrides): void;
static buildSignaturesFromSingerSignaturePairs(signerSignaturePairs: SignerSignaturePair[], webAuthnSignatureOverrides?: WebAuthnSignatureOverrides): string;
static createWebAuthnSignature(signatureData: WebauthnSignatureData): string;
createSwapOwnerMetaTransactions(nodeRpcUrl: string, newOwner: Signer, oldOwner: Signer, overrides?: {
prevOwner?: string;
eip7212WebAuthnPrecompileVerifier?: string;
eip7212WebAuthnContractVerifier?: string;
webAuthnSignerFactory?: string;
webAuthnSignerSingleton?: string;
}): Promise<MetaTransaction[]>;
createRemoveOwnerMetaTransaction(nodeRpcUrl: string, ownerToDelete: Signer, threshold: number, overrides?: {
prevOwner?: string;
eip7212WebAuthnPrecompileVerifier?: string;
eip7212WebAuthnContractVerifier?: string;
webAuthnSignerFactory?: string;
webAuthnSignerSingleton?: string;
}): Promise<MetaTransaction>;
createAddOwnerWithThresholdMetaTransactions(newOwner: Signer, threshold: number, overrides?: {
nodeRpcUrl?: string;
eip7212WebAuthnPrecompileVerifier?: string;
eip7212WebAuthnContractVerifier?: string;
webAuthnSignerFactory?: string;
webAuthnSignerSingleton?: string;
}): Promise<MetaTransaction[]>;
createStandardAddOwnerWithThresholdMetaTransaction(newOwner: string, threshold: number): MetaTransaction;
createStandardSwapOwnerMetaTransaction(newOwner: string, oldOwner: string, prevOwner: string): MetaTransaction;
createStandardRemoveOwnerMetaTransaction(ownerToDelete: string, threshold: number, prevOwner: string): MetaTransaction;
static createDeployWebAuthnVerifierMetaTransaction(x: bigint, y: bigint, overrides?: {
eip7212WebAuthnPrecompileVerifier?: string;
eip7212WebAuthnContractVerifier?: string;
webAuthnSignerFactory?: string;
}): MetaTransaction;
getOwners(nodeRpcUrl: string): Promise<string[]>;
getModules(nodeRpcUrl: string, overrides?: {
start?: string;
pageSize?: bigint;
}): Promise<[string[], string]>;
isModuleEnabled(nodeRpcUrl: string, moduleAddress: string): Promise<boolean>;
static createDummySignerSignaturePairForExpectedSigners(expectedSigners: Signer[], webAuthnSignatureOverrides?: WebAuthnSignatureOverrides): SignerSignaturePair[];
static verifyWebAuthnSignatureForMessageHash(nodeRpcUrl: string, signer: WebauthnPublicKey, messageHash: string, signature: string, overrides?: {
eip7212WebAuthnPrecompileVerifier?: string;
eip7212WebAuthnContractVerifier?: string;
webAuthnSignerSingleton?: string;
}): Promise<boolean>;
private static createSafeWebAuthnSignerProxyDeployedByteCode;
static createEnableModuleMetaTransaction(moduleAddress: string, accountAddress: string): MetaTransaction;
createDisableModuleMetaTransaction(nodeRpcUrl: string, moduleToDisableAddress: string, accountAddress: string, overrides?: {
prevModuleAddress?: string;
modulesStart?: string;
modulesPageSize?: bigint;
}): Promise<MetaTransaction>;
static createStandardDisableModuleMetaTransaction(moduleAddress: string, prevModuleAddress: string, accountAddress: string): MetaTransaction;
}
//# sourceMappingURL=SafeAccount.d.ts.map