UNPKG

@runonflux/aa-schnorr-multisig-sdk

Version:

Account Abstraction Schnorr Multi-Signatures SDK

56 lines (55 loc) 1.91 kB
import type { UserOperationStruct_v6 } from "@alchemy/aa-core"; import { Key } from "../types"; import type { SignersNonces, SignersPubKeys, SignersSignatures, PublicNonces, SignatureOutput } from "../types"; import type { Hex } from "../types/misc"; import type { SchnorrSigner } from "../signers"; interface SerializedMultiSigOp { id: string; opHash: string; userOpRequest: { sender: string; nonce: string; initCode: string; callData: string; callGasLimit: string; verificationGasLimit: string; preVerificationGas: string; maxFeePerGas: string; maxPriorityFeePerGas: string; paymasterAndData: string; signature: string; }; combinedPubKey: string; publicNonces: Record<string, { kPublic: string; kTwoPublic: string; }>; publicKeys: Record<string, string>; signatures: Record<string, { finalPublicNonce: string; challenge: string; signature: string; }>; } export declare class MultiSigUserOp { readonly id: string; readonly opHash: Hex; readonly userOpRequest: UserOperationStruct_v6; combinedPubKey: Key; publicNonces: SignersNonces; publicKeys: SignersPubKeys; signatures: SignersSignatures; constructor(publicKeys: Key[], publicNonces: PublicNonces[], opHash: Hex, userOpRequest: UserOperationStruct_v6); getOpHash(): string; signMultiSigHash(signer: SchnorrSigner): SignatureOutput; getSummedSigData(): Hex; getAddressSignature(signerAddress: string): SignatureOutput; getAddressPublicNonces(signerAddress: string): PublicNonces; getAddressPubKeys(signerAddress: string): Key; _getSignatures(): SignatureOutput[]; _getPublicNonces(): PublicNonces[]; _getPublicKeys(): Key[]; toJson(): SerializedMultiSigOp; static fromJson: (serialized: any) => any; } export {};