Browse Source

Transaction: now returns index of added input/output

hk-custom-address
Daniel Cousens 11 years ago
parent
commit
009fcb9b82
  1. 14
      src/transaction.js
  2. 12
      test/transaction.js

14
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 () {

12
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)

Loading…
Cancel
Save