UNPKG

lotus-sdk

Version:

Central repository for several classes of tools for integrating with, and building for, the Lotusia ecosystem

29 lines 1.71 kB
import { PublicKey } from '../publickey.js'; import { PrivateKey } from '../privatekey.js'; import { Address } from '../address.js'; import { Script } from '../script.js'; import { BN, Point } from '../crypto/index.js'; import { type MuSigKeyAggContext, type MuSigNonce, type MuSigAggregatedNonce } from '../crypto/musig2.js'; import { type TapNode, type TapLeaf } from '../taproot.js'; export interface MuSigTaprootKeyResult { aggregatedPubKey: PublicKey; commitment: PublicKey; script: Script; keyAggContext: MuSigKeyAggContext; merkleRoot: Buffer; tweak: Buffer; } export declare function buildMuSigTaprootKey(signerPubKeys: PublicKey[], state?: Buffer): MuSigTaprootKeyResult; export declare function buildMuSigTaprootKeyWithScripts(signerPubKeys: PublicKey[], scriptTree: TapNode, state?: Buffer): MuSigTaprootKeyResult & { leaves: TapLeaf[]; }; export declare function signTaprootKeyPathWithMuSig2(secretNonce: MuSigNonce, privateKey: PrivateKey, keyAggContext: MuSigKeyAggContext, signerIndex: number, aggregatedNonce: MuSigAggregatedNonce, message: Buffer, tweak: Buffer): BN; export declare function verifyTaprootKeyPathMuSigPartial(partialSig: BN, publicNonce: [Point, Point], publicKey: PublicKey, keyAggContext: MuSigKeyAggContext, signerIndex: number, aggregatedNonce: MuSigAggregatedNonce, message: Buffer, tweak: Buffer): boolean; export declare function isMuSigTaprootOutput(script: Script): boolean; export declare function createMuSigTaprootAddress(signerPubKeys: PublicKey[], network?: string, state?: Buffer): { address: Address; script: Script; commitment: PublicKey; keyAggContext: MuSigKeyAggContext; }; //# sourceMappingURL=musig2.d.ts.map