UNPKG

@mysten/sui

Version:

Sui TypeScript API(Work in Progress)

60 lines (59 loc) 1.86 kB
import type { MultiSigStruct } from '../multisig/publickey.js'; import type { PublicKey } from './publickey.js'; import type { SignatureScheme } from './signature-scheme.js'; /** * Pair of signature and corresponding public key */ export type SerializeSignatureInput = { signatureScheme: SignatureScheme; /** Base64-encoded signature */ signature: Uint8Array; /** Base64-encoded public key */ publicKey?: PublicKey; }; /** * Takes in a signature, its associated signing scheme and a public key, then serializes this data */ export declare function toSerializedSignature({ signature, signatureScheme, publicKey, }: SerializeSignatureInput): string; /** * Decodes a serialized signature into its constituent components: the signature scheme, the actual signature, and the public key */ export declare function parseSerializedSignature(serializedSignature: string): { serializedSignature: string; signatureScheme: "ZkLogin"; zkLogin: { inputs: { proofPoints: { a: string[]; b: string[][]; c: string[]; }; issBase64Details: { value: string; indexMod4: number; }; headerBase64: string; addressSeed: string; }; maxEpoch: string; userSignature: number[]; iss: string; addressSeed: bigint; }; signature: Uint8Array; publicKey: Uint8Array; } | { serializedSignature: string; signatureScheme: "MultiSig"; multisig: MultiSigStruct; bytes: Uint8Array; signature?: undefined; publicKey?: undefined; } | { serializedSignature: string; signatureScheme: "ED25519" | "Secp256k1" | "Secp256r1"; signature: Uint8Array; publicKey: Uint8Array; bytes: Uint8Array; multisig?: undefined; };