TxBuilder: add setLockTime

This commit is contained in:
Daniel Cousens 2015-11-26 12:40:06 +11:00
parent bda2e28a8f
commit 6c0745adce
3 changed files with 41 additions and 2 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)