mirror of https://github.com/lukechilds/vainjs.git
Luke Childs
5 years ago
6 changed files with 49 additions and 9 deletions
@ -0,0 +1,17 @@ |
|||
const bitcoin = require('bitcoinjs-lib'); |
|||
const {base58} = require('./charsets'); |
|||
|
|||
const p2sh = { |
|||
prefix: '3', |
|||
charset: base58 |
|||
}; |
|||
|
|||
p2sh.derive = ({redeemScript}) => { |
|||
const {address} = bitcoin.payments.p2sh({ |
|||
redeem: {output: redeemScript} |
|||
}); |
|||
|
|||
return address; |
|||
}; |
|||
|
|||
module.exports = p2sh; |
@ -0,0 +1,21 @@ |
|||
const bitcoin = require('bitcoinjs-lib'); |
|||
|
|||
const generateRedeemScript = ({pubkeys, m}) => { |
|||
const keyPair = bitcoin.ECPair.makeRandom(); |
|||
const {publicKey} = keyPair; |
|||
let redeemScript; |
|||
let n; |
|||
({output: redeemScript, m, n, pubkeys} = bitcoin.payments.p2ms({ |
|||
pubkeys: [ |
|||
...pubkeys, |
|||
publicKey |
|||
], |
|||
m |
|||
})); |
|||
|
|||
const format = () => ({redeemScript, m, n, pubkeys}); |
|||
|
|||
return {redeemScript, format}; |
|||
}; |
|||
|
|||
module.exports = generateRedeemScript; |
Loading…
Reference in new issue