From fc22de77bf021f50dfc5f7fcb512ed7a23697ed0 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Fri, 13 May 2016 10:04:56 -0700 Subject: [PATCH] tests passing. --- lib/bcoin/abstractblock.js | 2 +- lib/bcoin/address.js | 29 +++++++++++++++++------------ lib/bcoin/block.js | 2 +- lib/bcoin/bst.js | 2 +- lib/bcoin/chain.js | 3 +-- lib/bcoin/chainblock.js | 2 +- lib/bcoin/chaindb.js | 2 +- lib/bcoin/coin.js | 2 +- lib/bcoin/coins.js | 2 +- lib/bcoin/coinview.js | 2 +- lib/bcoin/compactblock.js | 2 +- lib/bcoin/errors.js | 2 +- lib/bcoin/fullnode.js | 2 +- lib/bcoin/hd.js | 2 +- lib/bcoin/headers.js | 2 +- lib/bcoin/http/client.js | 2 +- lib/bcoin/http/provider.js | 2 +- lib/bcoin/http/server.js | 2 +- lib/bcoin/input.js | 2 +- lib/bcoin/keypair.js | 2 +- lib/bcoin/ldb.js | 2 +- lib/bcoin/mempool.js | 2 +- lib/bcoin/merkleblock.js | 2 +- lib/bcoin/miner.js | 2 +- lib/bcoin/mtx.js | 2 +- lib/bcoin/network.js | 5 +---- lib/bcoin/node.js | 2 +- lib/bcoin/output.js | 2 +- lib/bcoin/peer.js | 2 +- lib/bcoin/pool.js | 2 +- lib/bcoin/profiler.js | 2 +- lib/bcoin/protocol/framer.js | 2 +- lib/bcoin/protocol/parser.js | 2 +- lib/bcoin/script.js | 2 +- lib/bcoin/spvnode.js | 2 +- lib/bcoin/timedata.js | 2 +- lib/bcoin/tx.js | 14 +++++++------- lib/bcoin/txdb.js | 2 +- lib/bcoin/wallet.js | 18 +++++++++--------- lib/bcoin/walletdb.js | 3 ++- lib/bcoin/worker.js | 2 +- lib/bcoin/workers.js | 2 +- test/protocol-test.js | 2 +- test/script-test.js | 12 ++++++------ test/wallet-test.js | 2 +- 45 files changed, 81 insertions(+), 79 deletions(-) diff --git a/lib/bcoin/abstractblock.js b/lib/bcoin/abstractblock.js index 99dafcf5..5cb65ce3 100644 --- a/lib/bcoin/abstractblock.js +++ b/lib/bcoin/abstractblock.js @@ -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; diff --git a/lib/bcoin/address.js b/lib/bcoin/address.js index 8b7808ea..529bbab8 100644 --- a/lib/bcoin/address.js +++ b/lib/bcoin/address.js @@ -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 diff --git a/lib/bcoin/block.js b/lib/bcoin/block.js index 97e667d9..2320ce0a 100644 --- a/lib/bcoin/block.js +++ b/lib/bcoin/block.js @@ -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; diff --git a/lib/bcoin/bst.js b/lib/bcoin/bst.js index 094d980e..791a82d3 100644 --- a/lib/bcoin/bst.js +++ b/lib/bcoin/bst.js @@ -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]); diff --git a/lib/bcoin/chain.js b/lib/bcoin/chain.js index d92d3bfe..a308d71c 100644 --- a/lib/bcoin/chain.js +++ b/lib/bcoin/chain.js @@ -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', diff --git a/lib/bcoin/chainblock.js b/lib/bcoin/chainblock.js index 465e7b3f..100fcadc 100644 --- a/lib/bcoin/chainblock.js +++ b/lib/bcoin/chainblock.js @@ -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'); diff --git a/lib/bcoin/chaindb.js b/lib/bcoin/chaindb.js index ade60692..e6e4628f 100644 --- a/lib/bcoin/chaindb.js +++ b/lib/bcoin/chaindb.js @@ -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'); diff --git a/lib/bcoin/coin.js b/lib/bcoin/coin.js index b8c4c143..58236ba1 100644 --- a/lib/bcoin/coin.js +++ b/lib/bcoin/coin.js @@ -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; diff --git a/lib/bcoin/coins.js b/lib/bcoin/coins.js index 319cca70..9e161cd3 100644 --- a/lib/bcoin/coins.js +++ b/lib/bcoin/coins.js @@ -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; diff --git a/lib/bcoin/coinview.js b/lib/bcoin/coinview.js index 78477adb..e57e21d6 100644 --- a/lib/bcoin/coinview.js +++ b/lib/bcoin/coinview.js @@ -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; diff --git a/lib/bcoin/compactblock.js b/lib/bcoin/compactblock.js index 0d2edb49..25ae3fda 100644 --- a/lib/bcoin/compactblock.js +++ b/lib/bcoin/compactblock.js @@ -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; diff --git a/lib/bcoin/errors.js b/lib/bcoin/errors.js index bf939afb..f6080757 100644 --- a/lib/bcoin/errors.js +++ b/lib/bcoin/errors.js @@ -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; diff --git a/lib/bcoin/fullnode.js b/lib/bcoin/fullnode.js index b539552f..618cd654 100644 --- a/lib/bcoin/fullnode.js +++ b/lib/bcoin/fullnode.js @@ -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; diff --git a/lib/bcoin/hd.js b/lib/bcoin/hd.js index ffc4b853..c4edf7de 100644 --- a/lib/bcoin/hd.js +++ b/lib/bcoin/hd.js @@ -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'); diff --git a/lib/bcoin/headers.js b/lib/bcoin/headers.js index 9a05120b..840ac6c1 100644 --- a/lib/bcoin/headers.js +++ b/lib/bcoin/headers.js @@ -5,7 +5,7 @@ * https://github.com/indutny/bcoin */ -var bcoin = require('../bcoin'); +var bcoin = require('./env'); var utils = require('./utils'); /** diff --git a/lib/bcoin/http/client.js b/lib/bcoin/http/client.js index 069d7905..b8b9dcce 100644 --- a/lib/bcoin/http/client.js +++ b/lib/bcoin/http/client.js @@ -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; diff --git a/lib/bcoin/http/provider.js b/lib/bcoin/http/provider.js index c1979fdc..d388f773 100644 --- a/lib/bcoin/http/provider.js +++ b/lib/bcoin/http/provider.js @@ -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'); diff --git a/lib/bcoin/http/server.js b/lib/bcoin/http/server.js index 23bfa409..153761ef 100644 --- a/lib/bcoin/http/server.js +++ b/lib/bcoin/http/server.js @@ -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('./'); diff --git a/lib/bcoin/input.js b/lib/bcoin/input.js index 72f690d7..0934acb1 100644 --- a/lib/bcoin/input.js +++ b/lib/bcoin/input.js @@ -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; diff --git a/lib/bcoin/keypair.js b/lib/bcoin/keypair.js index 39159375..3f0be566 100644 --- a/lib/bcoin/keypair.js +++ b/lib/bcoin/keypair.js @@ -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; diff --git a/lib/bcoin/ldb.js b/lib/bcoin/ldb.js index 233c1493..34b88079 100644 --- a/lib/bcoin/ldb.js +++ b/lib/bcoin/ldb.js @@ -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 = {}; diff --git a/lib/bcoin/mempool.js b/lib/bcoin/mempool.js index c89ea234..bc4d4a43 100644 --- a/lib/bcoin/mempool.js +++ b/lib/bcoin/mempool.js @@ -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; diff --git a/lib/bcoin/merkleblock.js b/lib/bcoin/merkleblock.js index 4efdd7ad..5a85046c 100644 --- a/lib/bcoin/merkleblock.js +++ b/lib/bcoin/merkleblock.js @@ -5,7 +5,7 @@ * https://github.com/indutny/bcoin */ -var bcoin = require('../bcoin'); +var bcoin = require('./env'); var utils = require('./utils'); /** diff --git a/lib/bcoin/miner.js b/lib/bcoin/miner.js index 9ad52979..cada7363 100644 --- a/lib/bcoin/miner.js +++ b/lib/bcoin/miner.js @@ -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; diff --git a/lib/bcoin/mtx.js b/lib/bcoin/mtx.js index 42429a3c..90d130b8 100644 --- a/lib/bcoin/mtx.js +++ b/lib/bcoin/mtx.js @@ -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; diff --git a/lib/bcoin/network.js b/lib/bcoin/network.js index 3b49239a..bf5ca684 100644 --- a/lib/bcoin/network.js +++ b/lib/bcoin/network.js @@ -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]; diff --git a/lib/bcoin/node.js b/lib/bcoin/node.js index 67173c06..e2ea7f0b 100644 --- a/lib/bcoin/node.js +++ b/lib/bcoin/node.js @@ -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'); diff --git a/lib/bcoin/output.js b/lib/bcoin/output.js index 4d230ffd..d427b1a9 100644 --- a/lib/bcoin/output.js +++ b/lib/bcoin/output.js @@ -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; diff --git a/lib/bcoin/peer.js b/lib/bcoin/peer.js index 61d970a6..7d63fa1c 100644 --- a/lib/bcoin/peer.js +++ b/lib/bcoin/peer.js @@ -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'); diff --git a/lib/bcoin/pool.js b/lib/bcoin/pool.js index 48a98b35..b97937de 100644 --- a/lib/bcoin/pool.js +++ b/lib/bcoin/pool.js @@ -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; diff --git a/lib/bcoin/profiler.js b/lib/bcoin/profiler.js index c09a052f..5470d09a 100644 --- a/lib/bcoin/profiler.js +++ b/lib/bcoin/profiler.js @@ -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; diff --git a/lib/bcoin/protocol/framer.js b/lib/bcoin/protocol/framer.js index 3f444eaf..2b7c58f5 100644 --- a/lib/bcoin/protocol/framer.js +++ b/lib/bcoin/protocol/framer.js @@ -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; diff --git a/lib/bcoin/protocol/parser.js b/lib/bcoin/protocol/parser.js index f6c522b4..ff70c6dc 100644 --- a/lib/bcoin/protocol/parser.js +++ b/lib/bcoin/protocol/parser.js @@ -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; diff --git a/lib/bcoin/script.js b/lib/bcoin/script.js index dbde00db..6f0cd2e4 100644 --- a/lib/bcoin/script.js +++ b/lib/bcoin/script.js @@ -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'); diff --git a/lib/bcoin/spvnode.js b/lib/bcoin/spvnode.js index cf5e0b7c..43e49d38 100644 --- a/lib/bcoin/spvnode.js +++ b/lib/bcoin/spvnode.js @@ -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; diff --git a/lib/bcoin/timedata.js b/lib/bcoin/timedata.js index 790099ee..3514f714 100644 --- a/lib/bcoin/timedata.js +++ b/lib/bcoin/timedata.js @@ -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; diff --git a/lib/bcoin/tx.js b/lib/bcoin/tx.js index 6c6f0f7a..49cb2e6d 100644 --- a/lib/bcoin/tx.js +++ b/lib/bcoin/tx.js @@ -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; } diff --git a/lib/bcoin/txdb.js b/lib/bcoin/txdb.js index 3832341d..77c206f6 100644 --- a/lib/bcoin/txdb.js +++ b/lib/bcoin/txdb.js @@ -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; diff --git a/lib/bcoin/wallet.js b/lib/bcoin/wallet.js index c3bd3078..054dba16 100644 --- a/lib/bcoin/wallet.js +++ b/lib/bcoin/wallet.js @@ -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) diff --git a/lib/bcoin/walletdb.js b/lib/bcoin/walletdb.js index 7b3ca979..b8372228 100644 --- a/lib/bcoin/walletdb.js +++ b/lib/bcoin/walletdb.js @@ -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(); } diff --git a/lib/bcoin/worker.js b/lib/bcoin/worker.js index fd14f626..5ff65c8f 100644 --- a/lib/bcoin/worker.js +++ b/lib/bcoin/worker.js @@ -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 diff --git a/lib/bcoin/workers.js b/lib/bcoin/workers.js index 2795bcc9..d38e4997 100644 --- a/lib/bcoin/workers.js +++ b/lib/bcoin/workers.js @@ -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; diff --git a/test/protocol-test.js b/test/protocol-test.js index 8fe57a76..83e7188e 100644 --- a/test/protocol-test.js +++ b/test/protocol-test.js @@ -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'); diff --git a/test/script-test.js b/test/script-test.js index ff0aac8e..6f390ad5 100644 --- a/test/script-test.js +++ b/test/script-test.js @@ -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: [{ diff --git a/test/wallet-test.js b/test/wallet-test.js index b7f34611..9d12358f 100644 --- a/test/wallet-test.js +++ b/test/wallet-test.js @@ -20,7 +20,7 @@ var dummyInput = { index: 0 }, script: new bcoin.script([]), - witness: new bcoin.script.witness([]), + witness: new bcoin.witness([]), sequence: 0xffffffff };