lotus-sdk
Version:
Central repository for several classes of tools for integrating with, and building for, the Lotusia ecosystem
29 lines • 1.71 kB
TypeScript
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