diff --git a/src/transaction.js b/src/transaction.js index 6bbf613..c195da3 100644 --- a/src/transaction.js +++ b/src/transaction.js @@ -34,7 +34,7 @@ function Transaction() { * * Note that this method does not sign the created input. */ -Transaction.prototype.addInput = function(tx, outIndex) { +Transaction.prototype.addInput = function(tx, index) { var hash if (typeof tx === 'string') { @@ -50,13 +50,15 @@ Transaction.prototype.addInput = function(tx, outIndex) { } - this.ins.push(new TransactionIn({ + assert.equal(typeof index, 'number', 'Expected number index, got ' + index) + + return (this.ins.push(new TransactionIn({ outpoint: { hash: hash, - index: outIndex + index: index }, script: Script.EMPTY - })) + })) - 1) } /** @@ -81,10 +83,10 @@ Transaction.prototype.addOutput = function(scriptPubKey, value) { scriptPubKey = address.toOutputScript() } - this.outs.push(new TransactionOut({ + return (this.outs.push(new TransactionOut({ script: scriptPubKey, value: value, - })) + })) - 1) } Transaction.prototype.toBuffer = function () { diff --git a/test/transaction.js b/test/transaction.js index bcb3179..b2c8b92 100644 --- a/test/transaction.js +++ b/test/transaction.js @@ -107,6 +107,11 @@ describe('Transaction', function() { verifyTransactionIn() }) + it('returns an index', function() { + assert.equal(tx.addInput(prevTx, 0), 0) + assert.equal(tx.addInput(prevTx, 0), 1) + }) + function verifyTransactionIn() { assert.equal(tx.ins.length, 1) @@ -142,6 +147,13 @@ describe('Transaction', function() { verifyTransactionOut() }) + it('returns an index', function() { + var dest = '15mMHKL96tWAUtqF3tbVf99Z8arcmnJrr3' + + assert.equal(tx.addOutput(dest, 40000), 0) + assert.equal(tx.addOutput(dest, 40000), 1) + }) + function verifyTransactionOut() { assert.equal(tx.outs.length, 1)