Transaction: remove TxIn/TxOut
This commit is contained in:
parent
203d6c7116
commit
d8fdd50950
1 changed files with 19 additions and 23 deletions
|
@ -52,13 +52,14 @@ Transaction.prototype.addInput = function(tx, index) {
|
|||
|
||||
assert.equal(typeof index, 'number', 'Expected number index, got ' + index)
|
||||
|
||||
return (this.ins.push(new TransactionIn({
|
||||
return (this.ins.push({
|
||||
outpoint: {
|
||||
hash: hash,
|
||||
index: index
|
||||
},
|
||||
script: Script.EMPTY
|
||||
})) - 1)
|
||||
script: Script.EMPTY,
|
||||
sequence: DEFAULT_SEQUENCE
|
||||
}) - 1)
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -83,10 +84,10 @@ Transaction.prototype.addOutput = function(scriptPubKey, value) {
|
|||
scriptPubKey = address.toOutputScript()
|
||||
}
|
||||
|
||||
return (this.outs.push(new TransactionOut({
|
||||
return (this.outs.push({
|
||||
script: scriptPubKey,
|
||||
value: value,
|
||||
})) - 1)
|
||||
}) - 1)
|
||||
}
|
||||
|
||||
Transaction.prototype.toBuffer = function () {
|
||||
|
@ -209,11 +210,18 @@ Transaction.prototype.clone = function () {
|
|||
newTx.locktime = this.locktime
|
||||
|
||||
newTx.ins = this.ins.map(function(txin) {
|
||||
return new TransactionIn(txin)
|
||||
return {
|
||||
outpoint: txin.outpoint,
|
||||
script: txin.script,
|
||||
sequence: txin.sequence
|
||||
}
|
||||
})
|
||||
|
||||
newTx.outs = this.outs.map(function(txout) {
|
||||
return new TransactionOut(txout)
|
||||
return {
|
||||
script: txout.script,
|
||||
value: txout.value
|
||||
}
|
||||
})
|
||||
|
||||
return newTx
|
||||
|
@ -252,14 +260,14 @@ Transaction.fromBuffer = function(buffer) {
|
|||
var script = readSlice(scriptLen)
|
||||
var sequence = readUInt32()
|
||||
|
||||
tx.ins.push(new TransactionIn({
|
||||
tx.ins.push({
|
||||
outpoint: {
|
||||
hash: hash,
|
||||
index: vout
|
||||
},
|
||||
script: Script.fromBuffer(script),
|
||||
sequence: sequence
|
||||
}))
|
||||
})
|
||||
}
|
||||
|
||||
var voutLen = readVarInt()
|
||||
|
@ -268,10 +276,10 @@ Transaction.fromBuffer = function(buffer) {
|
|||
var scriptLen = readVarInt()
|
||||
var script = readSlice(scriptLen)
|
||||
|
||||
tx.outs.push(new TransactionOut({
|
||||
tx.outs.push({
|
||||
value: value,
|
||||
script: Script.fromBuffer(script)
|
||||
}))
|
||||
})
|
||||
}
|
||||
|
||||
tx.locktime = readUInt32()
|
||||
|
@ -325,16 +333,4 @@ Transaction.prototype.validateInput = function(index, prevOutScript, pubKey, DER
|
|||
return pubKey.verify(hash, signature)
|
||||
}
|
||||
|
||||
function TransactionIn(data) {
|
||||
assert(data.outpoint && data.script, 'Invalid TxIn parameters')
|
||||
this.outpoint = data.outpoint
|
||||
this.script = data.script
|
||||
this.sequence = data.sequence == undefined ? DEFAULT_SEQUENCE : data.sequence
|
||||
}
|
||||
|
||||
function TransactionOut(data) {
|
||||
this.script = data.script
|
||||
this.value = data.value
|
||||
}
|
||||
|
||||
module.exports = Transaction
|
||||
|
|
Loading…
Add table
Reference in a new issue