tests passing.

This commit is contained in:
Christopher Jeffrey 2016-05-13 10:04:56 -07:00
parent 020d09a6fe
commit fc22de77bf
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD
45 changed files with 81 additions and 79 deletions

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = bcoin.utils;
var assert = utils.assert;

View File

@ -5,10 +5,10 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = bcoin.utils;
var assert = utils.assert;
var network = bcoin.protocol.network;
var networks = bcoin.protocol.network;
var BufferWriter = require('./writer');
var BufferReader = require('./reader');
@ -394,9 +394,9 @@ Address.prototype.ownInput = function ownInput(tx, index) {
var addressMap = this._getAddressMap();
if (tx instanceof bcoin.input)
return tx.test(addressMap);
return tx.test(addressMap, this.network);
return tx.testInputs(addressMap, index);
return tx.testInputs(addressMap, index, this.network);
};
/**
@ -410,9 +410,9 @@ Address.prototype.ownOutput = function ownOutput(tx, index) {
var addressMap = this._getAddressMap();
if (tx instanceof bcoin.output)
return tx.test(addressMap);
return tx.test(addressMap, this.network);
return tx.testOutputs(addressMap, index);
return tx.testOutputs(addressMap, index, this.network);
};
/**
@ -675,8 +675,8 @@ Address.compileData = function compileData(data, type, version, network) {
* @throws Parse error
*/
Address.parse = function parse(address, network) {
var prefix, type, version, hash;
Address.parse = function parse(address) {
var i, prefix, type, version, hash, network;
if (!Buffer.isBuffer(address))
address = utils.fromBase58(address);
@ -684,13 +684,17 @@ Address.parse = function parse(address, network) {
p = new BufferReader(address, true);
prefix = p.readU8();
network = bcoin.network.get(network);
for (i = 0; i < networks.types.length; i++) {
network = networks[networks.types[i]];
type = network.address.prefixesByVal[prefix];
if (type != null)
break;
}
assert(type != null, 'Unknown address prefix.');
type = network.address.prefixesByVal[prefix];
version = network.address.versions[type];
assert(type != null, 'Not a valid address prefix.');
if (version != null) {
version = p.readU8();
assert(version >= 0 && version <= 16, 'Bad program version.');
@ -705,6 +709,7 @@ Address.parse = function parse(address, network) {
p.verifyChecksum();
return {
network: network.type,
type: type,
hash: hash,
version: version == null ? -1 : version

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var utils = require('./utils');
var assert = utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = require('./utils');
var assert = utils.assert;
var DUMMY = new Buffer([0]);

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var bn = require('bn.js');
var constants = bcoin.protocol.constants;
@ -1523,7 +1523,6 @@ Chain.prototype.add = function add(block, callback, force) {
try {
block = block.toBlock();
} catch (e) {
utils.print(e.stack + '');
return done(new VerifyError(block,
'malformed',
'error parsing message',

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var constants = bcoin.protocol.constants;
var utils = require('./utils');

View File

@ -20,7 +20,7 @@
* C/[address]/[hash] -> dummy (coin by address)
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var constants = bcoin.protocol.constants;
var utils = require('./utils');

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var utils = require('./utils');
var assert = utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = bcoin.utils;
var assert = utils.assert;
var constants = bcoin.protocol.constants;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = bcoin.utils;
var assert = utils.assert;
var constants = bcoin.protocol.constants;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var utils = require('./utils');
var assert = utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = bcoin.utils;
var constants = bcoin.protocol.constants;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = require('./utils');
var assert = utils.assert;

View File

@ -76,7 +76,7 @@
* SOFTWARE.
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var utils = require('./utils');
var ec = require('./ec');

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = require('./utils');
/**

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../../bcoin');
var bcoin = require('../env');
var EventEmitter = require('events').EventEmitter;
var utils = require('../utils');
var assert = utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../../bcoin');
var bcoin = require('../env');
var EventEmitter = require('events').EventEmitter;
var utils = require('../utils');

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../../bcoin');
var bcoin = require('../env');
var EventEmitter = require('events').EventEmitter;
var constants = bcoin.protocol.constants;
var http = require('./');

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = require('./utils');
var assert = utils.assert;
var constants = bcoin.protocol.constants;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = require('./utils');
var assert = utils.assert;
var network = bcoin.protocol.network;

View File

@ -7,7 +7,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var LowlevelUp = require('./lowlevelup');
var utils = bcoin.utils;
var db = {};

View File

@ -10,7 +10,7 @@
* (inherits all from txdb)
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var bn = require('bn.js');
var constants = bcoin.protocol.constants;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = require('./utils');
/**

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = require('./utils');
var assert = utils.assert;
var constants = bcoin.protocol.constants;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var utils = require('./utils');
var assert = utils.assert;

View File

@ -83,15 +83,12 @@ Network.set = function set(type) {
if (!Network[type])
Network[type] = new Network(type);
if (!Network.primary)
Network.primary = type;
Network.primary = type;
return Network[type];
};
Network.get = function get(options) {
var net;
if (!options) {
assert(Network.primary, 'No default network.');
return Network[Network.primary];

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var utils = require('./utils');

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var utils = require('./utils');
var assert = utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var bn = require('bn.js');
var utils = require('./utils');

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var utils = require('./utils');
var assert = utils.assert;

View File

@ -11,7 +11,7 @@
var profiler = exports;
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = require('./utils');
var assert = utils.assert;
var fs, v8profiler;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../../bcoin');
var bcoin = require('../env');
var constants = require('./constants');
var utils = require('../utils');
var assert = utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../../bcoin');
var bcoin = require('../env');
var EventEmitter = require('events').EventEmitter;
var utils = require('../utils');
var assert = utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var constants = bcoin.protocol.constants;
var utils = require('./utils');

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var utils = require('./utils');
var assert = utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var utils = require('./utils');
var assert = utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var utils = require('./utils');
var assert = utils.assert;
@ -763,7 +763,7 @@ TX.prototype.getAddresses = function getAddresses(network) {
* @returns {Boolean} Whether the transaction matched.
*/
TX.prototype.testInputs = function testInputs(addressMap, index) {
TX.prototype.testInputs = function testInputs(addressMap, index, network) {
var i;
if (typeof addressMap === 'string')
@ -776,10 +776,10 @@ TX.prototype.testInputs = function testInputs(addressMap, index) {
index = this.inputs.indexOf(index);
if (index != null)
return this.inputs[index].test(addressMap);
return this.inputs[index].test(addressMap, network);
for (i = 0; i < this.inputs.length; i++) {
if (this.inputs[i].test(addressMap))
if (this.inputs[i].test(addressMap, network))
return true;
}
@ -794,7 +794,7 @@ TX.prototype.testInputs = function testInputs(addressMap, index) {
* @returns {Boolean} Whether the transaction matched.
*/
TX.prototype.testOutputs = function testOutputs(addressMap, index) {
TX.prototype.testOutputs = function testOutputs(addressMap, index, network) {
var i;
if (typeof addressMap === 'string')
@ -807,10 +807,10 @@ TX.prototype.testOutputs = function testOutputs(addressMap, index) {
index = this.outputs.indexOf(index);
if (index != null)
return this.outputs[index].test(addressMap);
return this.outputs[index].test(addressMap, network);
for (i = 0; i < this.outputs.length; i++) {
if (this.outputs[i].test(addressMap))
if (this.outputs[i].test(addressMap, network))
return true;
}

View File

@ -21,7 +21,7 @@
* C/[id]/[hash]/[index] -> dummy (coin by address)
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var bn = require('bn.js');
var utils = require('./utils');
var assert = bcoin.utils.assert;

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var utils = require('./utils');
var assert = utils.assert;
@ -648,9 +648,9 @@ Wallet.prototype.setChangeDepth = function setChangeDepth(depth) {
Wallet.prototype.ownInput = function ownInput(tx, index) {
if (tx instanceof bcoin.input)
return tx.test(this.addressMap);
return tx.test(this.addressMap, this.network);
return tx.testInputs(this.addressMap, index);
return tx.testInputs(this.addressMap, index, this.network);
};
/**
@ -662,9 +662,9 @@ Wallet.prototype.ownInput = function ownInput(tx, index) {
Wallet.prototype.ownOutput = function ownOutput(tx, index) {
if (tx instanceof bcoin.output)
return tx.test(this.addressMap);
return tx.test(this.addressMap, this.network);
return tx.testOutputs(this.addressMap, index);
return tx.testOutputs(this.addressMap, index, this.network);
};
/**
@ -878,7 +878,7 @@ Wallet.prototype.getInputPaths = function getInputPaths(tx, index) {
var i, input, address, path;
if (tx instanceof bcoin.input) {
path = this.getPath(tx.coin.getAddress());
path = this.getPath(tx.coin.getAddress(this.network));
if (path)
paths.push(path);
return paths;
@ -892,7 +892,7 @@ Wallet.prototype.getInputPaths = function getInputPaths(tx, index) {
assert(input.coin, 'Not all coins available.');
address = input.coin.getAddress();
address = input.coin.getAddress(this.network);
path = this.getPath(address);
if (!path)
@ -916,7 +916,7 @@ Wallet.prototype.getOutputPaths = function getOutputPaths(tx, index) {
var i, output, address, path;
if (tx instanceof bcoin.output) {
path = this.getPath(tx.getAddress());
path = this.getPath(tx.getAddress(this.network));
if (path)
paths.push(path);
return paths;
@ -928,7 +928,7 @@ Wallet.prototype.getOutputPaths = function getOutputPaths(tx, index) {
if (index != null && i !== index)
continue;
address = output.getAddress();
address = output.getAddress(this.network);
path = this.getPath(address);
if (!path)

View File

@ -12,7 +12,7 @@
* w/[id] -> wallet
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var utils = require('./utils');
var assert = utils.assert;
@ -42,6 +42,7 @@ function WalletDB(options) {
this.options = options;
this.loaded = false;
this.network = bcoin.network.get(options.network);
this._init();
}

View File

@ -22,7 +22,7 @@ if (typeof importScripts !== 'undefined') {
};
} else {
env = process.env;
bcoin = require('../bcoin');
bcoin = require('./env');
bcoin.network.set(env.BCOIN_WORKER_NETWORK);
bcoin.workers.listen(+env.BCOIN_WORKER_ID, {
debug: +env.BCOIN_WORKER_DEBUG === 1

View File

@ -5,7 +5,7 @@
* https://github.com/indutny/bcoin
*/
var bcoin = require('../bcoin');
var bcoin = require('./env');
var EventEmitter = require('events').EventEmitter;
var bn = require('bn.js');
var constants = bcoin.protocol.constants;

View File

@ -1,7 +1,7 @@
var bcoin = require('../')('main');
var assert = require('assert');
var constants = bcoin.protocol.constants;
var network = bcoin.protocol.network;
var network = bcoin.network.get();
var utils = bcoin.utils;
var fs = require('fs');
var alertData = fs.readFileSync(__dirname + '/data/alertTests.raw');

View File

@ -1,7 +1,7 @@
var bcoin = require('../')('main');
var assert = require('assert');
var Script = bcoin.script;
var Stack = bcoin.script.stack;
var Stack = bcoin.stack;
var utils = bcoin.utils;
var constants = bcoin.protocol.constants;
var opcodes = bcoin.protocol.constants.opcodes;
@ -142,7 +142,7 @@ describe('Script', function() {
it('should handle bad size pushes correctly.', function () {
var err;
var stack = new bcoin.script.stack();
var stack = new bcoin.stack();
var s = bcoin.script.fromString(
'OP_1 OP_DUP OP_PUSHDATA1'
);
@ -222,7 +222,7 @@ describe('Script', function() {
new Buffer([0xfe, 0xff, 0xff, 0xff, 0x80]),
'OP_EQUAL'
]);
var stack = new bcoin.script.stack();
var stack = new bcoin.stack();
assert(s.execute(stack));
assert(success(s2.execute(stack), stack));
});
@ -235,7 +235,7 @@ describe('Script', function() {
'OP_NUMNOTEQUAL',
'OP_NOT'
]);
var stack = new bcoin.script.stack();
var stack = new bcoin.stack();
assert(s.execute(stack));
assert(success(s2.execute(stack), stack));
});
@ -253,7 +253,7 @@ describe('Script', function() {
'OP_2',
'OP_EQUAL'
]);
var stack = new bcoin.script.stack();
var stack = new bcoin.stack();
assert(s.execute(stack));
assert(success(s2.execute(stack), stack));
});
@ -297,7 +297,7 @@ describe('Script', function() {
},
coin: null,
script: [bcoin.script.array(0), bcoin.script.array(0)],
witness: new bcoin.script.witness(),
witness: new bcoin.witness(),
sequence: 0xffffffff
}],
outputs: [{

View File

@ -20,7 +20,7 @@ var dummyInput = {
index: 0
},
script: new bcoin.script([]),
witness: new bcoin.script.witness([]),
witness: new bcoin.witness([]),
sequence: 0xffffffff
};