modules: refactor indexes.
This commit is contained in:
parent
0631148705
commit
a1ec1bfff1
@ -5,4 +5,4 @@ exports.ChainDB = require('./chaindb');
|
||||
exports.ChainEntry = require('./chainentry');
|
||||
exports.Coins = require('./coins');
|
||||
exports.CoinView = require('./coinview');
|
||||
exports.compressor = require('./compress');
|
||||
exports.compress = require('./compress');
|
||||
|
||||
@ -1,3 +1,48 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = require('./crypto');
|
||||
var crypto = require('./crypto');
|
||||
|
||||
exports.crypto = crypto;
|
||||
exports.hash = crypto.hash;
|
||||
exports.ripemd160 = crypto.ripemd160;
|
||||
exports.sha1 = crypto.sha1;
|
||||
exports.sha256 = crypto.sha256;
|
||||
exports.hash160 = crypto.hash160;
|
||||
exports.hash256 = crypto.hash256;
|
||||
exports.checksum = crypto.checksum;
|
||||
exports.hmac = crypto.hmac;
|
||||
exports.pbkdf2 = crypto.pbkdf2;
|
||||
exports.pbkdf2Async = crypto.pbkdf2Async;
|
||||
exports.scrypt = crypto.scrypt;
|
||||
exports.scryptAsync = crypto.scryptAsync;
|
||||
exports.hkdfExtract = crypto.hkdfExtract;
|
||||
exports.hkdfExpand = crypto.hkdfExpand;
|
||||
exports.buildMerkleTree = crypto.buildMerkleTree;
|
||||
exports.getMerkleRoot = crypto.getMerkleRoot;
|
||||
exports.getMerkleBranch = crypto.getMerkleBranch;
|
||||
exports.checkMerkleBranch = crypto.checkMerkleBranch;
|
||||
exports.encipher = crypto.encipher;
|
||||
exports.decipher = crypto.decipher;
|
||||
exports.ccmp = crypto.ccmp;
|
||||
exports.ceq = crypto.ceq;
|
||||
exports.cleanse = crypto.cleanse;
|
||||
exports.randomBytes = crypto.randomBytes;
|
||||
exports.randomInt = crypto.randomInt;
|
||||
exports.randomRange = crypto.randomRange;
|
||||
|
||||
exports.chachapoly = require('./chachapoly');
|
||||
exports.ChaCha20 = exports.chachapoly.ChaCha20;
|
||||
exports.Poly1305 = exports.chachapoly.Poly1305;
|
||||
exports.AEAD = exports.chachapoly.AEAD;
|
||||
|
||||
exports.pk = require('./pk');
|
||||
exports.dsa = exports.pk.rsa;
|
||||
exports.rsa = exports.pk.dsa;
|
||||
exports.ecdsa = exports.pk.ecdsa;
|
||||
|
||||
exports.ec = require('./ec');
|
||||
|
||||
exports.schnorr = require('./schnorr');
|
||||
|
||||
exports.siphash = require('./siphash');
|
||||
exports.siphash256 = exports.siphash.siphash256;
|
||||
|
||||
@ -1,11 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
var utils = require('../utils/utils');
|
||||
|
||||
exports.ldb = require('./ldb');
|
||||
|
||||
if (utils.isBrowser)
|
||||
exports.level = require('./level');
|
||||
|
||||
exports.LDB = require('./ldb');
|
||||
exports.LowlevelUp = require('./lowlevelup');
|
||||
exports.RBT = require('./rbt');
|
||||
|
||||
191
lib/env.js
191
lib/env.js
@ -111,110 +111,115 @@ function Environment() {
|
||||
|
||||
// BN
|
||||
this.require('bn', 'bn.js');
|
||||
this.require('elliptic', 'elliptic');
|
||||
|
||||
// Protocol
|
||||
this.require('constants', './protocol/constants');
|
||||
this.require('networks', './protocol/networks');
|
||||
this.require('network', './protocol/network');
|
||||
// Horrible BIP
|
||||
this.require('bip70', './bip70');
|
||||
|
||||
// Utils
|
||||
this.require('utils', './utils/utils');
|
||||
this.require('btcutils', './utils/btcutils');
|
||||
this.require('locker', './utils/locker');
|
||||
this.require('reader', './utils/reader');
|
||||
this.require('writer', './utils/writer');
|
||||
this.require('lru', './utils/lru');
|
||||
this.require('bloom', './utils/bloom');
|
||||
this.require('uri', './utils/uri');
|
||||
this.require('errors', './utils/errors');
|
||||
this.require('co', './utils/co');
|
||||
this.require('base58', './utils/base58');
|
||||
this.require('asn1', './utils/asn1');
|
||||
this.require('pem', './utils/pem');
|
||||
this.require('protobuf', './utils/protobuf');
|
||||
// Chain
|
||||
this.require('blockchain', './chain'); // -> blockchain?
|
||||
this.require('chain', './chain/chain');
|
||||
this.require('chaindb', './chain/chaindb');
|
||||
this.require('chainentry', './chain/chainentry');
|
||||
|
||||
// Crypto
|
||||
this.require('crypto', './crypto/crypto');
|
||||
this.require('crypto', './crypto');
|
||||
this.require('ec', './crypto/ec');
|
||||
this.require('pk', './crypto/pk');
|
||||
this.require('schnorr', './crypto/schnorr');
|
||||
|
||||
// DB
|
||||
this.require('lowlevelup', './db/lowlevelup');
|
||||
this.require('db', './db');
|
||||
this.require('ldb', './db/ldb');
|
||||
this.require('rbt', './db/rbt');
|
||||
|
||||
// Script
|
||||
this.require('script', './script/script');
|
||||
this.require('opcode', './script/opcode');
|
||||
this.require('stack', './script/stack');
|
||||
this.require('witness', './script/witness');
|
||||
this.require('program', './script/program');
|
||||
|
||||
// Primitives
|
||||
this.require('address', './primitives/address');
|
||||
this.require('outpoint', './primitives/outpoint');
|
||||
this.require('input', './primitives/input');
|
||||
this.require('output', './primitives/output');
|
||||
this.require('coin', './primitives/coin');
|
||||
this.require('invitem', './primitives/invitem');
|
||||
this.require('tx', './primitives/tx');
|
||||
this.require('mtx', './primitives/mtx');
|
||||
this.require('block', './primitives/block');
|
||||
this.require('merkleblock', './primitives/merkleblock');
|
||||
this.require('headers', './primitives/headers');
|
||||
this.require('keyring', './primitives/keyring');
|
||||
this.require('netaddress', './primitives/netaddress');
|
||||
|
||||
// HD
|
||||
this.require('hd', './hd/hd');
|
||||
|
||||
// Node
|
||||
this.require('logger', './node/logger');
|
||||
this.require('config', './node/config');
|
||||
this.require('node', './node/node');
|
||||
this.require('spvnode', './node/spvnode');
|
||||
this.require('fullnode', './node/fullnode');
|
||||
|
||||
// Net
|
||||
this.require('time', './net/timedata');
|
||||
this.require('packets', './net/packets');
|
||||
this.require('bip150', './net/bip150');
|
||||
this.require('bip151', './net/bip151');
|
||||
this.require('bip152', './net/bip152');
|
||||
this.require('peer', './net/peer');
|
||||
this.require('pool', './net/pool');
|
||||
|
||||
// Chain
|
||||
this.require('chainentry', './chain/chainentry');
|
||||
this.require('chaindb', './chain/chaindb');
|
||||
this.require('chain', './chain/chain');
|
||||
|
||||
// Mempool
|
||||
this.require('fees', './mempool/fees');
|
||||
this.require('mempool', './mempool/mempool');
|
||||
this.require('mempoolentry', './mempool/mempoolentry');
|
||||
|
||||
// Miner
|
||||
this.require('miner', './miner/miner');
|
||||
this.require('minerblock', './miner/minerblock');
|
||||
|
||||
// Wallet
|
||||
this.require('wallet', './wallet/wallet');
|
||||
this.require('account', './wallet/account');
|
||||
this.require('walletdb', './wallet/walletdb');
|
||||
this.require('path', './wallet/path');
|
||||
this.require('masterkey', './wallet/masterkey');
|
||||
this.require('walletkey', './wallet/walletkey');
|
||||
this.require('hd', './hd');
|
||||
|
||||
// HTTP
|
||||
this.require('http', './http');
|
||||
this.require('rpc', './http/rpc');
|
||||
|
||||
// Workers
|
||||
this.require('workers', './workers/workers');
|
||||
// Mempool
|
||||
this.require('txmempool', './mempool'); // -> txmempool?
|
||||
this.require('fees', './mempool/fees');
|
||||
this.require('mempool', './mempool/mempool');
|
||||
this.require('mempoolentry', './mempool/mempoolentry');
|
||||
|
||||
// Horrible BIP
|
||||
this.require('bip70', './bip70');
|
||||
// Miner
|
||||
this.require('mining', './miner'); // -> mining?
|
||||
this.require('miner', './miner/miner');
|
||||
this.require('minerblock', './miner/minerblock');
|
||||
|
||||
// Net
|
||||
this.require('net', './net');
|
||||
this.require('bip150', './net/bip150');
|
||||
this.require('bip151', './net/bip151');
|
||||
this.require('bip152', './net/bip152');
|
||||
this.require('packets', './net/packets');
|
||||
this.require('peer', './net/peer');
|
||||
this.require('pool', './net/pool');
|
||||
this.require('time', './net/timedata'); // -> time?
|
||||
|
||||
// Node
|
||||
this.require('node', './node');
|
||||
this.require('config', './node/config');
|
||||
this.require('fullnode', './node/fullnode');
|
||||
this.require('logger', './node/logger');
|
||||
this.require('spvnode', './node/spvnode');
|
||||
|
||||
// Primitives
|
||||
this.require('primitives', './primitives'); // -> wire?
|
||||
this.require('wire', './primitives');
|
||||
this.require('address', './primitives/address');
|
||||
this.require('block', './primitives/block');
|
||||
this.require('coin', './primitives/coin');
|
||||
this.require('headers', './primitives/headers');
|
||||
this.require('input', './primitives/input');
|
||||
this.require('invitem', './primitives/invitem');
|
||||
this.require('keyring', './primitives/keyring');
|
||||
this.require('merkleblock', './primitives/merkleblock');
|
||||
this.require('mtx', './primitives/mtx');
|
||||
this.require('netaddress', './primitives/netaddress');
|
||||
this.require('outpoint', './primitives/outpoint');
|
||||
this.require('output', './primitives/output');
|
||||
this.require('tx', './primitives/tx');
|
||||
|
||||
// Protocol
|
||||
this.require('protocol', './protocol');
|
||||
this.require('constants', './protocol/constants');
|
||||
this.require('network', './protocol/network');
|
||||
this.require('networks', './protocol/networks');
|
||||
|
||||
// Script
|
||||
this.require('scripting', './script'); // -> scripting?
|
||||
this.require('opcode', './script/opcode');
|
||||
this.require('program', './script/program');
|
||||
this.require('script', './script/script');
|
||||
this.require('sigcache', './script/sigcache');
|
||||
this.require('stack', './script/stack');
|
||||
this.require('witness', './script/witness');
|
||||
|
||||
// Utils
|
||||
this.require('common', './utils'); // -> common
|
||||
this.require('base58', './utils/base58');
|
||||
this.require('btcutils', './utils/btcutils');
|
||||
this.require('co', './utils/co');
|
||||
this.require('reader', './utils/reader');
|
||||
this.require('uri', './utils/uri');
|
||||
this.require('utils', './utils/utils');
|
||||
this.require('writer', './utils/writer');
|
||||
|
||||
// Wallet
|
||||
this.require('wallet', './wallet');
|
||||
this.require('account', './wallet/account');
|
||||
this.require('path', './wallet/path');
|
||||
this.require('masterkey', './wallet/masterkey');
|
||||
this.require('walletkey', './wallet/walletkey');
|
||||
this.require('walletdb', './wallet/walletdb');
|
||||
|
||||
// Workers
|
||||
this.require('workers', './workers');
|
||||
this.require('workerpool', './workers/workers'); // -> workerpool
|
||||
}
|
||||
|
||||
/**
|
||||
@ -232,7 +237,7 @@ Environment.prototype.set = function set(options) {
|
||||
if (options.network)
|
||||
this.network.set(options.network);
|
||||
|
||||
this.workers.set(options);
|
||||
this.workerpool.set(options);
|
||||
|
||||
if (options.sigcacheSize != null)
|
||||
this.sigcache.resize(options.sigcacheSize);
|
||||
@ -254,12 +259,12 @@ Environment.prototype.now = function now() {
|
||||
*/
|
||||
|
||||
Environment.prototype.cache = function cache() {
|
||||
this.fullnode;
|
||||
this.spvnode;
|
||||
this.http;
|
||||
this.schnorr;
|
||||
this.uri;
|
||||
this.bip70;
|
||||
this.common;
|
||||
this.crypto;
|
||||
this.fullnode;
|
||||
this.http;
|
||||
this.spvnode;
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
'use strict';
|
||||
|
||||
exports.bip150 = require('./bip150');
|
||||
exports.bip151 = require('./bip151');
|
||||
exports.bip152 = require('./bip152');
|
||||
exports.Framer = require('./framer');
|
||||
exports.BIP150 = require('./bip150');
|
||||
exports.BIP151 = require('./bip151');
|
||||
exports.BIP152 = require('./bip152');
|
||||
exports.packets = require('./packets');
|
||||
exports.Framer = require('./framer');
|
||||
exports.Parser = require('./parser');
|
||||
exports.Peer = require('./peer');
|
||||
exports.Pool = require('./pool');
|
||||
exports.ProxySocket = require('./proxysocket');
|
||||
exports.tcp = require('./tcp');
|
||||
exports.time = require('./timedata');
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
exports.config = require('./config');
|
||||
exports.Fullnode = require('./fullnode');
|
||||
exports.FullNode = require('./fullnode');
|
||||
exports.Logger = require('./logger');
|
||||
exports.Node = require('./node');
|
||||
exports.SPVNode = require('./spvnode');
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
exports.constants = require('./constants');
|
||||
exports.network = require('./network');
|
||||
exports.networks = require('./networks');
|
||||
exports.Network = require('./network');
|
||||
|
||||
@ -1,3 +1,27 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = require('./utils');
|
||||
exports.ASN1 = require('./asn1');
|
||||
exports.AsyncObject = require('./async');
|
||||
exports.base58 = require('./base58');
|
||||
exports.Bloom = require('./bloom');
|
||||
exports.RollingFilter = exports.Bloom.Rolling;
|
||||
exports.btcutils = require('./btcutils');
|
||||
exports.co = require('./co');
|
||||
exports.encoding = require('./encoding');
|
||||
exports.errors = require('./errors');
|
||||
exports.IP = require('./ip');
|
||||
exports.lazy = require('./lazy');
|
||||
exports.Locker = require('./locker');
|
||||
exports.MappedLocker = exports.Locker.Mapped;
|
||||
exports.LRU = require('./lru');
|
||||
exports.murmur3 = require('./murmur3');
|
||||
exports.nextTick = require('./nexttick');
|
||||
exports.nfkd = require('./nfkd');
|
||||
exports.PEM = require('./pem');
|
||||
exports.protobuf = require('./protobuf');
|
||||
exports.ProtoWriter = exports.protobuf.ProtoWriter;
|
||||
exports.ProtoReader = exports.protobuf.ProtoReader;
|
||||
exports.BufferReader = require('./reader');
|
||||
exports.uri = require('./uri');
|
||||
exports.utils = require('./utils');
|
||||
exports.BufferWriter = require('./writer');
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
exports.common = require('./common');
|
||||
exports.Account = require('./account');
|
||||
exports.layout = require('./layout');
|
||||
exports.MasterKey = require('./masterkey');
|
||||
exports.Path = require('./path');
|
||||
exports.records = require('./records');
|
||||
exports.TXDB = require('./txdb');
|
||||
exports.WalletDB = require('./walletdb');
|
||||
exports.Wallet = require('./wallet');
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
exports.jobs = require('./jobs');
|
||||
exports.Worker = require('./worker');
|
||||
exports.Workers = require('./workers');
|
||||
exports.Parser = require('./parser');
|
||||
exports.Framer = require('./framer');
|
||||
exports.Parser = require('./parser');
|
||||
exports.WorkerPool = require('./workers');
|
||||
|
||||
@ -707,5 +707,3 @@ exports.set({
|
||||
|
||||
exports.WorkerPool = WorkerPool;
|
||||
exports.Worker = Worker;
|
||||
exports.Framer = Framer;
|
||||
exports.Parser = Parser;
|
||||
|
||||
@ -5,6 +5,7 @@ var bcoin = require('../').set('main');
|
||||
var utils = bcoin.utils;
|
||||
var btcutils = require('../lib/utils/btcutils');
|
||||
var crypto = require('../lib/crypto/crypto');
|
||||
var Bloom = require('../lib/utils/bloom');
|
||||
var constants = bcoin.constants;
|
||||
var network = bcoin.networks;
|
||||
var assert = require('assert');
|
||||
@ -129,7 +130,7 @@ describe('Block', function() {
|
||||
});
|
||||
|
||||
it('should create a merkle block', function() {
|
||||
var filter = bcoin.bloom.fromRate(1000, 0.01, constants.filterFlags.NONE);
|
||||
var filter = Bloom.fromRate(1000, 0.01, constants.filterFlags.NONE);
|
||||
var item1 = '8e7445bbb8abd4b3174d80fa4c409fea6b94d96b';
|
||||
var item2 = '047b00000078da0dca3b0ec2300c00d0ab4466ed10'
|
||||
+ 'e763272c6c9ca052972c69e3884a9022084215e2eef'
|
||||
|
||||
@ -3,6 +3,8 @@
|
||||
var bcoin = require('../').set('main');
|
||||
var utils = bcoin.utils;
|
||||
var crypto = require('../lib/crypto/crypto');
|
||||
var Bloom = require('../lib/utils/bloom');
|
||||
var murmur3 = require('../lib/utils/murmur3');
|
||||
var constants = bcoin.constants;
|
||||
var assert = require('assert');
|
||||
|
||||
@ -16,8 +18,6 @@ describe('Bloom', function() {
|
||||
+ '0000000001000000800000080000000';
|
||||
|
||||
it('should do proper murmur3', function() {
|
||||
var murmur3 = bcoin.bloom.murmur3;
|
||||
|
||||
function mm(str, seed, expect, enc) {
|
||||
assert.equal(murmur3(new Buffer(str, enc || 'ascii'), seed), expect);
|
||||
}
|
||||
@ -46,7 +46,7 @@ describe('Bloom', function() {
|
||||
});
|
||||
|
||||
it('should test and add stuff', function() {
|
||||
var b = new bcoin.bloom(512, 10, 156);
|
||||
var b = new Bloom(512, 10, 156);
|
||||
|
||||
b.add('hello', 'ascii');
|
||||
assert(b.test('hello', 'ascii'));
|
||||
@ -62,7 +62,7 @@ describe('Bloom', function() {
|
||||
});
|
||||
|
||||
it('should serialize to the correct format', function() {
|
||||
var filter = new bcoin.bloom(952, 6, 3624314491, constants.filterFlags.NONE);
|
||||
var filter = new Bloom(952, 6, 3624314491, constants.filterFlags.NONE);
|
||||
var item1 = '8e7445bbb8abd4b3174d80fa4c409fea6b94d96b';
|
||||
var item2 = '047b00000078da0dca3b0ec2300c00d0ab4466ed10'
|
||||
+ 'e763272c6c9ca052972c69e3884a9022084215e2eef'
|
||||
@ -73,7 +73,7 @@ describe('Bloom', function() {
|
||||
});
|
||||
|
||||
it('should handle 1m ops with regular filter', function() {
|
||||
var filter = bcoin.bloom.fromRate(210000, 0.00001, -1);
|
||||
var filter = Bloom.fromRate(210000, 0.00001, -1);
|
||||
filter.tweak = 0xdeadbeef;
|
||||
// ~1m operations
|
||||
for (var i = 0; i < 1000; i++) {
|
||||
@ -89,7 +89,7 @@ describe('Bloom', function() {
|
||||
});
|
||||
|
||||
it('should handle 1m ops with rolling filter', function() {
|
||||
var filter = new bcoin.bloom.Rolling(210000, 0.00001);
|
||||
var filter = new Bloom.Rolling(210000, 0.00001);
|
||||
filter.tweak = 0xdeadbeef;
|
||||
// ~1m operations
|
||||
for (var i = 0; i < 1000; i++) {
|
||||
@ -105,7 +105,7 @@ describe('Bloom', function() {
|
||||
});
|
||||
|
||||
it('should handle rolling generations', function() {
|
||||
var filter = new bcoin.bloom.Rolling(50, 0.00001);
|
||||
var filter = new Bloom.Rolling(50, 0.00001);
|
||||
filter.tweak = 0xdeadbeee;
|
||||
for (var i = 0; i < 25; i++) {
|
||||
var str = 'foobar' + i;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user