diff --git a/src/eckey.js b/src/eckey.js index 87d2934..fa238a9 100644 --- a/src/eckey.js +++ b/src/eckey.js @@ -1,7 +1,7 @@ var assert = require('assert') var base58check = require('./base58check') var ecdsa = require('./ecdsa') -var network = require('./network') +var networks = require('./networks') var secureRandom = require('secure-random') var Address = require('./address') @@ -72,7 +72,7 @@ ECKey.prototype.toHex = function() { } ECKey.prototype.toWIF = function(version) { - version = version || network.bitcoin.wif + version = version || networks.bitcoin.wif var buffer = this.toBuffer() if (this.pub.compressed) { @@ -115,7 +115,7 @@ ECPubKey.prototype.verify = function(hash, sig) { } ECPubKey.prototype.getAddress = function(version) { - version = version || network.bitcoin.pubKeyHash + version = version || networks.bitcoin.pubKeyHash return new Address(crypto.hash160(this.toBuffer()), version) } diff --git a/src/hdwallet.js b/src/hdwallet.js index 146b82d..966185d 100644 --- a/src/hdwallet.js +++ b/src/hdwallet.js @@ -8,7 +8,7 @@ var CJS = require('crypto-js') var crypto = require('./crypto') var ECKey = require('./eckey').ECKey var ECPubKey = require('./eckey').ECPubKey -var Network = require('./network') +var networks = require('./networks') var sec = require('./sec') var ecparams = sec("secp256k1") @@ -27,7 +27,7 @@ function HDWallet(seed, networkString) { this.chaincode = I.slice(32) this.network = networkString || 'bitcoin' - if(!Network.hasOwnProperty(this.network)) { + if(!networks.hasOwnProperty(this.network)) { throw new Error("Unknown network: " + this.network) } @@ -70,8 +70,8 @@ HDWallet.fromBuffer = function(input) { var version = input.readUInt32BE(0) var type - for(var name in Network) { - var network = Network[name] + for(var name in networks) { + var network = networks[name] for(var t in network.bip32) { if (version != network.bip32[t]) continue @@ -128,7 +128,7 @@ HDWallet.prototype.getAddress = function() { HDWallet.prototype.toBuffer = function(priv) { // Version - var version = Network[this.network].bip32[priv ? 'priv' : 'pub'] + var version = networks[this.network].bip32[priv ? 'priv' : 'pub'] var buffer = new Buffer(HDWallet.LENGTH) // 4 bytes: version bytes @@ -245,7 +245,7 @@ HDWallet.prototype.derivePrivate = function(index) { } HDWallet.prototype.getKeyVersion = function() { - return Network[this.network].pubKeyHash + return networks[this.network].pubKeyHash } HDWallet.prototype.toString = HDWallet.prototype.toBase58 diff --git a/src/index.js b/src/index.js index c236a02..484342d 100644 --- a/src/index.js +++ b/src/index.js @@ -22,6 +22,6 @@ module.exports = { Transaction: T.Transaction, TransactionIn: T.TransactionIn, TransactionOut: T.TransactionOut, - network: require('./network'), + networks: require('./networks'), Wallet: require('./wallet') } diff --git a/src/network.js b/src/networks.js similarity index 100% rename from src/network.js rename to src/networks.js diff --git a/src/script.js b/src/script.js index 6fa6269..c5bec6b 100644 --- a/src/script.js +++ b/src/script.js @@ -2,7 +2,7 @@ var assert = require('assert') var Address = require('./address') var crypto = require('./crypto') var convert = require('./convert') -var Network = require('./network') +var networks = require('./networks') var Opcode = require('./opcode') function Script(data) { @@ -193,7 +193,7 @@ Script.prototype.toScriptHash = function() { } Script.prototype.getToAddress = function(network) { - network = network || Network.bitcoin + network = network || networks.bitcoin if(isPubkeyhash.call(this)) { return new Address(new Buffer(this.chunks[2]), network.pubKeyHash) @@ -205,7 +205,7 @@ Script.prototype.getToAddress = function(network) { } Script.prototype.getFromAddress = function(version) { - version = version || Network.bitcoin.pubKeyHash + version = version || networks.bitcoin.pubKeyHash return new Address(this.simpleInHash(), version) } @@ -348,7 +348,7 @@ Script.prototype.writeBytes = function(data) { */ Script.createOutputScript = function(address, network) { assert(address instanceof Address) - network = network || Network.bitcoin + network = network || networks.bitcoin var script = new Script() diff --git a/src/transaction.js b/src/transaction.js index 0b346a4..f6660bc 100644 --- a/src/transaction.js +++ b/src/transaction.js @@ -9,7 +9,7 @@ var convert = require('./convert') var crypto = require('./crypto') var ECKey = require('./eckey').ECKey var ecdsa = require('./ecdsa') -var Network = require('./network') +var networks = require('./networks') var Transaction = function (doc) { if (!(this instanceof Transaction)) { return new Transaction(doc) } @@ -112,7 +112,7 @@ Transaction.prototype.addOutput = function (address, value, network) { address = Address.fromBase58Check(address) } - network = network || Network.bitcoin + network = network || networks.bitcoin this.outs.push(new TransactionOut({ value: value, @@ -368,7 +368,7 @@ Transaction.deserialize = function(buffer) { */ Transaction.prototype.sign = function(index, key, type, network) { assert(key instanceof ECKey) - network = network || Network.bitcoin + network = network || networks.bitcoin var address = key.pub.getAddress(network.pubKeyHash) @@ -445,7 +445,7 @@ function TransactionOut(data) { this.value = data.value this.address = data.address - var network = data.network || Network.bitcoin + var network = data.network || networks.bitcoin if (this.script.buffer.length > 0) { this.address = this.script.getToAddress(network) } diff --git a/src/wallet.js b/src/wallet.js index e843dba..c6b7134 100644 --- a/src/wallet.js +++ b/src/wallet.js @@ -2,7 +2,7 @@ var convert = require('./convert') var Transaction = require('./transaction').Transaction var HDNode = require('./hdwallet.js') var rng = require('secure-random') -var Network = require('./network') +var networks = require('./networks') function Wallet(seed, options) { if (!(this instanceof Wallet)) { return new Wallet(seed, options); } @@ -174,7 +174,7 @@ function Wallet(seed, options) { checkDust(value) var tx = new Transaction() - tx.addOutput(to, value, Network[network]) + tx.addOutput(to, value, networks[network]) var utxo = getCandidateOutputs(value) var totalInValue = 0 @@ -190,7 +190,7 @@ function Wallet(seed, options) { var change = totalInValue - value - fee if(change > 0 && !isDust(change)) { - tx.addOutput(changeAddress || getChangeAddress(), change, Network[network]) + tx.addOutput(changeAddress || getChangeAddress(), change, networks[network]) } break } @@ -246,7 +246,7 @@ function Wallet(seed, options) { function estimateFeePadChangeOutput(tx){ var tmpTx = tx.clone() - tmpTx.addOutput(getChangeAddress(), 0, Network[network]) + tmpTx.addOutput(getChangeAddress(), 0, networks[network]) return tmpTx.estimateFee() } @@ -266,7 +266,7 @@ function Wallet(seed, options) { tx.ins.forEach(function(inp,i) { var output = me.outputs[inp.outpoint.hash + ':' + inp.outpoint.index] if (output) { - tx.sign(i, me.getPrivateKeyForAddress(output.address), false, Network[network]) + tx.sign(i, me.getPrivateKeyForAddress(output.address), false, networks[network]) } }) return tx diff --git a/test/integration/p2sh.js b/test/integration/p2sh.js index b52f9a6..55978bb 100644 --- a/test/integration/p2sh.js +++ b/test/integration/p2sh.js @@ -5,7 +5,7 @@ var ECKey = require('../../src/eckey').ECKey; var T = require('../../src/transaction'); var Transaction = T.Transaction; var Script = require('../../src/script'); -var network = require('../../src/network'); +var networks = require('../../src/networks'); var crypto = require('../../src/crypto'); var helloblock = require('helloblock-js')({ @@ -31,7 +31,7 @@ describe('p2sh', function() { }) var redeemScript = Script.createMultisigOutputScript(2, pubKeyBuffers) var hash160 = crypto.hash160(redeemScript.buffer) - var multisigAddress = new Address(hash160, network.testnet.scriptHash) + var multisigAddress = new Address(hash160, networks.testnet.scriptHash) // Check what our target address's starting value is var targetAddress = 'mrCDrCybB6J1vRfbwM5hemdJz73FwDBC8r'; @@ -50,7 +50,7 @@ describe('p2sh', function() { var tx = new Transaction() var unspent = resource[0]; tx.addInput(unspent.txHash, unspent.index) - tx.addOutput(targetAddress, 100000, network.testnet) + tx.addOutput(targetAddress, 100000, networks.testnet) var signatures = privKeys.map(function(privKey) { return tx.signScriptSig(0, redeemScript, privKey) diff --git a/test/message.js b/test/message.js index 6589250..12831da 100644 --- a/test/message.js +++ b/test/message.js @@ -1,7 +1,7 @@ var assert = require('assert') var ECKey = require('../src/eckey').ECKey var Message = require('../').Message -var network = require('../').network +var networks = require('../').networks var fixtures = require('./fixtures/message') @@ -86,7 +86,7 @@ describe('Message', function() { var key = ECKey.makeRandom() var sig = Message.sign(key, msg) - var addr = key.pub.getAddress(network.testnet.pubKeyHash) + var addr = key.pub.getAddress(networks.testnet.pubKeyHash) assert(Message.verify(addr, sig, msg)) }) }) diff --git a/test/script.js b/test/script.js index 3d15610..ea84681 100644 --- a/test/script.js +++ b/test/script.js @@ -1,6 +1,6 @@ var assert = require('assert') var crypto = require('..').crypto -var network = require('..').network +var networks = require('..').networks var Address = require('../src/address.js') var Script = require('../src/script.js') @@ -116,7 +116,7 @@ describe('Script', function() { var redeemScript = Script.createMultisigOutputScript(2, pubKeys) var hash160 = crypto.hash160(redeemScript.buffer) - var multisigAddress = new Address(hash160, network.bitcoin.scriptHash) + var multisigAddress = new Address(hash160, networks.bitcoin.scriptHash) assert.equal(multisigAddress.toString(), '32vYjxBb7pHJJyXgNk8UoK3BdRDxBzny2v') }) diff --git a/test/transaction.js b/test/transaction.js index 234d925..55f74e7 100644 --- a/test/transaction.js +++ b/test/transaction.js @@ -2,11 +2,11 @@ var assert = require('assert') var Address = require('../src/address') var ECKey = require('../src/eckey').ECKey +var networks = require('..').networks var T = require('../src/transaction') var Transaction = T.Transaction var TransactionOut = T.TransactionOut var Script = require('../src/script') -var network = require('..').network var fixtureTxes = require('./fixtures/mainnet_tx') var fixtureTx1Hex = fixtureTxes.prevTx @@ -176,7 +176,7 @@ describe('Transaction', function() { it('supports alternative networks', function(){ var addr = 'mkHJaNR7uuwRG1JrmTZsV4MszaTKjCBvCR' - tx.addOutput(addr, 40000, network.testnet) + tx.addOutput(addr, 40000, networks.testnet) verifyTransactionOut() assert.equal(tx.outs[0].address.toString(), addr) @@ -250,7 +250,7 @@ describe('Transaction', function() { it('works for multi-sig redeem script', function() { var tx = new Transaction() tx.addInput('d6f72aab8ff86ff6289842a0424319bf2ddba85dc7c52757912297f948286389', 0) - tx.addOutput('mrCDrCybB6J1vRfbwM5hemdJz73FwDBC8r', 1, network.testnet) + tx.addOutput('mrCDrCybB6J1vRfbwM5hemdJz73FwDBC8r', 1, networks.testnet) var privKeys = [ '5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf',