@btc-vision/transaction
Version:
OPNet transaction library allows you to create and sign transactions for the OPNet network.
26 lines (25 loc) • 996 B
JavaScript
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;
}
}