|
1 | 1 | var assert = require('assert')
|
2 | 2 |
|
3 | 3 | var bitcoin = require('../../')
|
4 |
| -var crypto = bitcoin.crypto |
5 | 4 | var networks = bitcoin.networks
|
6 | 5 | var scripts = bitcoin.scripts
|
7 | 6 |
|
8 | 7 | var Address = bitcoin.Address
|
9 | 8 | var ECKey = bitcoin.ECKey
|
10 |
| -var Transaction = bitcoin.Transaction |
11 |
| -var Script = bitcoin.Script |
| 9 | +var TransactionBuilder = bitcoin.TransactionBuilder |
12 | 10 |
|
13 | 11 | var helloblock = require('helloblock-js')({
|
14 | 12 | network: 'testnet'
|
@@ -43,35 +41,31 @@ describe('Bitcoin-js', function() {
|
43 | 41 | var targetAddress = ECKey.makeRandom().pub.getAddress(networks.testnet).toString()
|
44 | 42 |
|
45 | 43 | // get latest unspents from the multisigAddress
|
46 |
| - helloblock.addresses.getUnspents(multisigAddress, function(err, resp, resource) { |
| 44 | + helloblock.addresses.getUnspents(multisigAddress, function(err, res, unspents) { |
47 | 45 | if (err) return done(err)
|
48 | 46 |
|
49 | 47 | // use the oldest unspent
|
50 |
| - var unspent = resource[resource.length - 1] |
| 48 | + var unspent = unspents[unspents.length - 1] |
51 | 49 | var spendAmount = Math.min(unspent.value, outputAmount)
|
52 | 50 |
|
53 |
| - var tx = new Transaction() |
54 |
| - tx.addInput(unspent.txHash, unspent.index) |
55 |
| - tx.addOutput(targetAddress, spendAmount) |
| 51 | + var txb = new TransactionBuilder() |
| 52 | + txb.addInput(unspent.txHash, unspent.index) |
| 53 | + txb.addOutput(targetAddress, spendAmount) |
56 | 54 |
|
57 |
| - var signatures = privKeys.map(function(privKey) { |
58 |
| - return tx.signInput(0, redeemScript, privKey) |
| 55 | + privKeys.forEach(function(privKey) { |
| 56 | + txb.sign(0, privKey, redeemScript) |
59 | 57 | })
|
60 | 58 |
|
61 |
| - var redeemScriptSig = scripts.multisigInput(signatures) |
62 |
| - var scriptSig = scripts.scriptHashInput(redeemScriptSig, redeemScript) |
63 |
| - tx.setInputScript(0, scriptSig) |
64 |
| - |
65 | 59 | // broadcast our transaction
|
66 |
| - helloblock.transactions.propagate(tx.toHex(), function(err, resp, resource) { |
| 60 | + helloblock.transactions.propagate(txb.build().toHex(), function(err, res) { |
67 | 61 | // no err means that the transaction has been successfully propagated
|
68 | 62 | if (err) return done(err)
|
69 | 63 |
|
70 | 64 | // Check that the funds (spendAmount Satoshis) indeed arrived at the intended address
|
71 |
| - helloblock.addresses.get(targetAddress, function(err, resp, resource) { |
| 65 | + helloblock.addresses.get(targetAddress, function(err, res, addrInfo) { |
72 | 66 | if (err) return done(err)
|
73 | 67 |
|
74 |
| - assert.equal(resource.balance, spendAmount) |
| 68 | + assert.equal(addrInfo.balance, spendAmount) |
75 | 69 | done()
|
76 | 70 | })
|
77 | 71 | })
|
|
0 commit comments