UNPKG

@btc-vision/transaction

Version:

OPNet transaction library allows you to create and sign transactions for the OPNet network.

36 lines 1.45 kB
import { networks } from '@btc-vision/bitcoin'; import { EcKeyPair } from '../../keypair/EcKeyPair.js'; import { MultiSignTransaction, } from '../builders/MultiSignTransaction.js'; export class P2TR_MS { /** * Generate a multi-sig address * @param {Uint8Array[]} pubKeys - The public keys to use * @param {number} minimumSignatureRequired - The minimum number of signatures required * @param {Network} network - The network to use * @returns {string} - The generated address * @throws {Error} - If the address cannot be generated */ static generateMultiSigAddress(pubKeys, minimumSignatureRequired, network = networks.bitcoin) { const publicKeys = EcKeyPair.verifyPubKeys(pubKeys, network); if (publicKeys.length !== pubKeys.length) throw new Error(`Contains invalid public keys`); // fake params const multiSignParams = { network: network, utxos: [], pubkeys: pubKeys, minimumSignatures: minimumSignatureRequired, feeRate: 100, receiver: 'a', requestedAmount: 1n, refundVault: 'a', mldsaSigner: null, }; const address = new MultiSignTransaction(multiSignParams).getScriptAddress(); if (!address) { throw new Error('Failed to generate address'); } return address; } } //# sourceMappingURL=P2TR_MS.js.map