fcoin/test/wallet-test.js
Fedor Indutny 4328d7c3ec wip
2014-05-05 13:46:29 +04:00

47 lines
1.1 KiB
JavaScript

var assert = require('assert');
var bn = require('bn.js');
var bcoin = require('../');
describe('Wallet', function() {
it('should generate new key and address', function() {
var w = bcoin.wallet();
var addr = w.getAddress();
assert(addr);
assert(bcoin.wallet.validateAddress(addr));
});
it('should validate existing address', function() {
assert(bcoin.wallet.validateAddress('1KQ1wMNwXHUYj1nV2xzsRcKUH8gVFpTFUc'));
});
it('should fail to validate invalid address', function() {
assert(!bcoin.wallet.validateAddress('1KQ1wMNwXHUYj1nv2xzsRcKUH8gVFpTFUc'));
});
it('should sign/verify TX', function() {
var w = bcoin.wallet();
// Input transcation
var src = bcoin.tx({
outputs: [{
value: 5460 * 2,
address: w.getAddress()
}, {
value: 5460 * 2,
address: w.getAddress() + 'x'
}]
});
assert(w.own(src));
assert.equal(w.own(src).reduce(function(acc, out) {
return acc.iadd(out.value);
}, new bn(0)).toString(10), 5460 * 2);
var tx = bcoin.tx()
.input(src, 0)
.out(w.getAddress(), 5460);
w.sign(tx);
assert(tx.verify());
});
});