Browse Source

TxBuilder: pass network through to fromTransaction

hk-custom-address
Daniel Cousens 10 years ago
parent
commit
2971816588
  1. 4
      src/transaction_builder.js
  2. 9
      test/transaction_builder.js

4
src/transaction_builder.js

@ -94,8 +94,8 @@ function TransactionBuilder (network) {
this.tx = new Transaction() this.tx = new Transaction()
} }
TransactionBuilder.fromTransaction = function (transaction) { TransactionBuilder.fromTransaction = function (transaction, network) {
var txb = new TransactionBuilder() var txb = new TransactionBuilder(/* remove after failing test added: network*/)
// Copy other transaction fields // Copy other transaction fields
txb.tx.version = transaction.version txb.tx.version = transaction.version

9
test/transaction_builder.js

@ -209,6 +209,7 @@ describe('TransactionBuilder', function () {
if (f.txHex) { if (f.txHex) {
var tx = Transaction.fromHex(f.txHex) var tx = Transaction.fromHex(f.txHex)
txb = TransactionBuilder.fromTransaction(tx) txb = TransactionBuilder.fromTransaction(tx)
} else { } else {
txb = construct(f) txb = construct(f)
} }
@ -234,6 +235,7 @@ describe('TransactionBuilder', function () {
txb = construct(f, false) txb = construct(f, false)
var tx var tx
var network = NETWORKS[f.network]
f.inputs.forEach(function (input, i) { f.inputs.forEach(function (input, i) {
var redeemScript = Script.fromASM(input.redeemScript) var redeemScript = Script.fromASM(input.redeemScript)
@ -257,10 +259,10 @@ describe('TransactionBuilder', function () {
} }
// now import it // now import it
txb = TransactionBuilder.fromTransaction(tx) txb = TransactionBuilder.fromTransaction(tx, network)
} }
var keyPair = ECPair.fromWIF(sign.keyPair, NETWORKS[f.network]) var keyPair = ECPair.fromWIF(sign.keyPair, network)
txb.sign(i, keyPair, redeemScript, sign.hashType) txb.sign(i, keyPair, redeemScript, sign.hashType)
// update the tx // update the tx
@ -294,8 +296,9 @@ describe('TransactionBuilder', function () {
describe('fromTransaction', function () { describe('fromTransaction', function () {
fixtures.valid.build.forEach(function (f) { fixtures.valid.build.forEach(function (f) {
it('builds the correct TransactionBuilder for ' + f.description, function () { it('builds the correct TransactionBuilder for ' + f.description, function () {
var network = NETWORKS[f.network]
var tx = Transaction.fromHex(f.txHex) var tx = Transaction.fromHex(f.txHex)
var txb = TransactionBuilder.fromTransaction(tx) var txb = TransactionBuilder.fromTransaction(tx, network)
assert.strictEqual(txb.build().toHex(), f.txHex) assert.strictEqual(txb.build().toHex(), f.txHex)
}) })

Loading…
Cancel
Save