|
@ -3,13 +3,17 @@ const bitcoin = require('bitcoinjs-lib'); |
|
|
const generateRedeemScript = ({pubkeys, m}) => { |
|
|
const generateRedeemScript = ({pubkeys, m}) => { |
|
|
const keyPair = bitcoin.ECPair.makeRandom(); |
|
|
const keyPair = bitcoin.ECPair.makeRandom(); |
|
|
const {publicKey} = keyPair; |
|
|
const {publicKey} = keyPair; |
|
|
|
|
|
|
|
|
|
|
|
// BIP 67 lexicographically ordered pubkeys
|
|
|
|
|
|
pubkeys = [ |
|
|
|
|
|
...pubkeys, |
|
|
|
|
|
publicKey |
|
|
|
|
|
].sort(Buffer.comapre); |
|
|
|
|
|
|
|
|
let redeemScript; |
|
|
let redeemScript; |
|
|
let n; |
|
|
let n; |
|
|
({output: redeemScript, m, n, pubkeys} = bitcoin.payments.p2ms({ |
|
|
({output: redeemScript, m, n, pubkeys} = bitcoin.payments.p2ms({ |
|
|
pubkeys: [ |
|
|
pubkeys, |
|
|
...pubkeys, |
|
|
|
|
|
publicKey |
|
|
|
|
|
], |
|
|
|
|
|
m |
|
|
m |
|
|
})); |
|
|
})); |
|
|
|
|
|
|
|
|