PHP WebShell

Текущая директория: /opt/BitGoJS/modules/utxo-lib/dist/src/bitgo

Просмотр файла: parseInput.d.ts

import { TxInput } from 'bitcoinjs-lib';
export declare function isPlaceholderSignature(v: number | Buffer): boolean;
/**
 * @return true iff P2TR script path's control block matches BitGo's need
 */
export declare function isValidControlBock(controlBlock: Buffer): boolean;
/**
 * @return script path level for P2TR control block
 */
export declare function calculateScriptPathLevel(controlBlock: Buffer): number;
/**
 * @return leaf version for P2TR control block.
 */
export declare function getLeafVersion(controlBlock: Buffer): number;
export type ParsedScriptType2Of3 = 'p2sh' | 'p2shP2wsh' | 'p2wsh' | 'taprootKeyPathSpend' | 'taprootScriptPathSpend';
export type ParsedScriptType = ParsedScriptType2Of3 | 'p2shP2pk';
export type ParsedPubScript = {
    scriptType: ParsedScriptType;
};
export type ParsedSignatureScript = {
    scriptType: ParsedScriptType;
};
export interface ParsedSignatureScriptP2shP2pk extends ParsedSignatureScript {
    scriptType: 'p2shP2pk';
    publicKeys: [Buffer];
    signatures: [Buffer];
}
export interface ParsedPubScriptTaprootKeyPath extends ParsedPubScript {
    scriptType: 'taprootKeyPathSpend';
    publicKeys: [Buffer];
    pubScript: Buffer;
}
export interface ParsedPubScriptTaprootScriptPath extends ParsedPubScript {
    scriptType: 'taprootScriptPathSpend';
    publicKeys: [Buffer, Buffer];
    pubScript: Buffer;
}
export type ParsedPubScriptTaproot = ParsedPubScriptTaprootKeyPath | ParsedPubScriptTaprootScriptPath;
export interface ParsedPubScriptP2ms extends ParsedPubScript {
    scriptType: 'p2sh' | 'p2shP2wsh' | 'p2wsh';
    publicKeys: [Buffer, Buffer, Buffer];
    pubScript: Buffer;
    redeemScript: Buffer | undefined;
    witnessScript: Buffer | undefined;
}
export interface ParsedPubScriptP2shP2pk extends ParsedPubScript {
    scriptType: 'p2shP2pk';
    publicKeys: [Buffer];
    pubScript: Buffer;
    redeemScript: Buffer;
}
export interface ParsedSignatureScriptP2ms extends ParsedSignatureScript {
    scriptType: 'p2sh' | 'p2shP2wsh' | 'p2wsh';
    publicKeys: [Buffer, Buffer, Buffer];
    signatures: [Buffer, Buffer] | [Buffer | 0, Buffer | 0, Buffer | 0];
    pubScript: Buffer;
    redeemScript: Buffer | undefined;
    witnessScript: Buffer | undefined;
}
/**
 * Keypath spends only have a single signature
 */
export interface ParsedSignatureScriptTaprootKeyPath extends ParsedSignatureScript {
    scriptType: 'taprootKeyPathSpend';
    signatures: [Buffer];
}
/**
 * Taproot Scriptpath spends are more similar to regular p2ms spends and have two public keys and
 * two signatures
 */
export interface ParsedSignatureScriptTaprootScriptPath extends ParsedSignatureScript {
    scriptType: 'taprootScriptPathSpend';
    publicKeys: [Buffer, Buffer];
    signatures: [Buffer, Buffer];
    controlBlock: Buffer;
    leafVersion: number;
    /** Indicates the level inside the taptree. */
    scriptPathLevel: number;
    pubScript: Buffer;
}
export type ParsedSignatureScriptTaproot = ParsedSignatureScriptTaprootKeyPath | ParsedSignatureScriptTaprootScriptPath;
export type InputPubScript = Buffer;
/**
 * Parse a transaction's signature script to obtain public keys, signatures, the sig script,
 * and other properties.
 *
 * Only supports script types used in BitGo transactions.
 *
 * @param input
 * @returns ParsedSignatureScript
 */
export declare function parseSignatureScript(input: TxInput): ParsedSignatureScriptP2shP2pk | ParsedSignatureScriptP2ms | ParsedSignatureScriptTaproot;
export declare function parseSignatureScript2Of3(input: TxInput): ParsedSignatureScriptP2ms | ParsedSignatureScriptTaproot;
/**
 * @return pubScript (scriptPubKey/redeemScript/witnessScript) is parsed.
 * P2SH => scriptType, pubScript (redeemScript), redeemScript, public keys
 * PW2SH => scriptType, pubScript (witnessScript), witnessScript, public keys.
 * P2SH-PW2SH => scriptType, pubScript (witnessScript), witnessScript, public keys.
 * taprootScriptPathSpend (P2TR and P2TRMUISG2 script path) => scriptType, pubScript, pub keys.
 * taprootKeyPathSpend (P2TRMUISG2 key path) => scriptType, pubScript (34-byte output script), pub key (tapOutputKey).
 */
export declare function parsePubScript2Of3(inputPubScript: InputPubScript, scriptType: 'taprootKeyPathSpend'): ParsedPubScriptTaprootKeyPath;
export declare function parsePubScript2Of3(inputPubScript: InputPubScript, scriptType: 'taprootScriptPathSpend'): ParsedPubScriptTaprootScriptPath;
export declare function parsePubScript2Of3(inputPubScript: InputPubScript, scriptType: 'p2sh' | 'p2shP2wsh' | 'p2wsh'): ParsedPubScriptP2ms;
export declare function parsePubScript2Of3(inputPubScript: InputPubScript, scriptType: ParsedScriptType2Of3): ParsedPubScriptP2ms | ParsedPubScriptTaproot;
/**
 * @return pubScript (scriptPubKey/redeemScript/witnessScript) is parsed.
 * P2SH => scriptType, pubScript (redeemScript), redeemScript, public keys
 * PW2SH => scriptType, pubScript (witnessScript), witnessScript, public keys.
 * P2SH-PW2SH => scriptType, pubScript (witnessScript), witnessScript, public keys.
 * taprootScriptPathSpend (P2TR and P2TRMUISG2 script path) => scriptType, pubScript, pub keys.
 * taprootKeyPathSpend (P2TRMUISG2 key path) => scriptType, pubScript (34-byte output script), pub key (tapOutputKey).
 * P2SH-P2PK => scriptType, pubScript, pub key, redeemScript.
 */
export declare function parsePubScript(inputPubScript: InputPubScript, scriptType: 'taprootKeyPathSpend'): ParsedPubScriptTaprootKeyPath;
export declare function parsePubScript(inputPubScript: InputPubScript, scriptType: 'taprootScriptPathSpend'): ParsedPubScriptTaprootScriptPath;
export declare function parsePubScript(inputPubScript: InputPubScript, scriptType: 'p2shP2pk'): ParsedPubScriptP2shP2pk;
export declare function parsePubScript(inputPubScript: InputPubScript, scriptType: 'p2sh' | 'p2shP2wsh' | 'p2wsh'): ParsedPubScriptP2ms;
export declare function parsePubScript(inputPubScript: InputPubScript, scriptType: ParsedScriptType): ParsedPubScriptP2ms | ParsedPubScriptTaproot | ParsedPubScriptP2shP2pk;
//# sourceMappingURL=parseInput.d.ts.map

Выполнить команду


Для локальной разработки. Не используйте в интернете!