Merge pull request from bitcoinjs/locktime

txbuilder: add setLockTime
This commit is contained in:
JP Richardson 2016-01-27 08:29:00 -06:00
commit 4ee194e840
4 changed files with 54 additions and 8 deletions

View file

@ -4,6 +4,8 @@ var bscript = require('./script')
var bufferEquals = require('buffer-equals')
var networks = require('./networks')
var ops = require('./opcodes')
var typeforce = require('typeforce')
var types = require('./types')
var ECPair = require('./ecpair')
var ECSignature = require('./ecsignature')
@ -135,6 +137,21 @@ function TransactionBuilder (network) {
this.tx = new Transaction()
}
TransactionBuilder.prototype.setLockTime = function (locktime) {
typeforce(types.UInt32, locktime)
// if any signatures exist, throw
if (this.inputs.some(function (input) {
if (!input.signatures) return false
return input.signatures.some(function (s) { return s })
})) {
throw new Error('No, this would invalidate signatures')
}
this.tx.locktime = locktime
}
TransactionBuilder.fromTransaction = function (transaction, network) {
var txb = new TransactionBuilder(network)