/** * Signatories and signing helpers used with `TxBuilder` (`TxBuilderInput.signatory`). */ import { Ecc } from './ecc.js'; import { Script } from './script.js'; import { SigHashType } from './sigHashType.js'; import { UnsignedTxInput } from './unsignedTx.js'; /** * Function that contains all the required data to sign a given `input` and * return the scriptSig. * * Use it by attaching a `Signatory` to a TxBuilderInput, e.g. like this for a * P2PKH input: * ```ts * new TxBuilder({ * inputs: [{ * input: { prevOut: ... }, * signatory: P2PKHSignatory(sk, pk, ALL_BIP143), * }], * ... * }) * ``` **/ export type Signatory = (ecc: Ecc, input: UnsignedTxInput) => Script; /** Append the sighash flags to the signature */ export declare function flagSignature(sig: Uint8Array, sigHashFlags: SigHashType): Uint8Array; /** * Sign the sighash using Schnorr for BIP143 signatures and ECDSA for Legacy * signatures, and then flags the signature correctly **/ export declare function signWithSigHash(ecc: Ecc, sk: Uint8Array, sigHash: Uint8Array, sigHashType: SigHashType): Uint8Array; /** Signatory for a P2PKH input. Always uses Schnorr signatures */ export declare const P2PKHSignatory: (sk: Uint8Array, pk: Uint8Array, sigHashType: SigHashType) => Signatory; /** Signatory for bare m-of-n multisig (output script is the multisig script itself). */ export declare const BareMultisigSignatory: (m: number, pubkeys: Uint8Array[], sk: Uint8Array, myPk: Uint8Array, sigHashType: SigHashType) => Signatory; /** Signatory for bare m-of-n multisig using Schnorr signatures (BIP143 Schnorr multisig). */ export declare const BareMultisigSignatorySchnorr: (m: number, pubkeys: Uint8Array[], sk: Uint8Array, myPk: Uint8Array, signerIndices: Set, sigHashType: SigHashType) => Signatory; /** Signatory for P2SH m-of-n multisig. */ export declare const P2SHMultisigSignatory: (m: number, pubkeys: Uint8Array[], sk: Uint8Array, myPk: Uint8Array, sigHashType: SigHashType) => Signatory; /** Signatory for P2SH m-of-n multisig using Schnorr signatures. */ export declare const P2SHMultisigSignatorySchnorr: (m: number, pubkeys: Uint8Array[], sk: Uint8Array, myPk: Uint8Array, signerIndices: Set, sigHashType: SigHashType) => Signatory; /** Signatory for a P2PK input. Always uses Schnorr signatures */ export declare const P2PKSignatory: (sk: Uint8Array, sigHashType: SigHashType) => Signatory; //# sourceMappingURL=signatories.d.ts.map