throws error on insufficient fund

This commit is contained in:
Wei Lu 2014-03-24 02:19:17 +08:00
parent 7c81bfef72
commit 90921798cf
2 changed files with 19 additions and 0 deletions

View file

@ -203,6 +203,8 @@ var Wallet = function (seed, options) {
break;
}
checkInsufficientFund(totalInValue, value, fee)
this.sign(tx)
return tx
@ -214,6 +216,13 @@ var Wallet = function (seed, options) {
}
}
function checkInsufficientFund(totalInValue, value, fee) {
if(totalInValue < value + fee) {
throw new Error('Not enough money to send funds including transaction fee. Have: ' +
totalInValue + ', needed: ' + (value + fee))
}
}
function estimateFeePadChangeOutput(tx){
var tmpTx = tx.clone()
tmpTx.addOutput(getChangeAddress(), 0)

View file

@ -448,6 +448,16 @@ describe('Wallet', function() {
})
})
describe('when there is not enough money', function(){
it('throws an error', function(){
var value = 1400001
assert.throws(function() {
wallet.createTx(to, value)
}, Error, 'Not enough money to send funds including transaction fee. Have: 1420000, needed: 1420001')
})
})
function fakeTxHash(i) {
return "txtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtx" + i
}