UNPKG

@btc-vision/transaction

Version:

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

26 lines (25 loc) 996 B
import { networks } from '@btc-vision/bitcoin'; import { EcKeyPair } from '../../keypair/EcKeyPair.js'; import { MultiSignTransaction } from '../builders/MultiSignTransaction.js'; export class P2TR_MS { 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`); const multiSignParams = { network: network, utxos: [], pubkeys: pubKeys, minimumSignatures: minimumSignatureRequired, feeRate: 100, receiver: 'a', requestedAmount: 1n, refundVault: 'a', }; const address = new MultiSignTransaction(multiSignParams).getScriptAddress(); if (!address) { throw new Error('Failed to generate address'); } return address; } }