Skip to content

Commit

Permalink
refactor: expose int64 and big numbers as modules.
Browse files Browse the repository at this point in the history
  • Loading branch information
chjj committed Jun 22, 2017
1 parent d048252 commit 33ffb78
Show file tree
Hide file tree
Showing 23 changed files with 46 additions and 22 deletions.
2 changes: 1 addition & 1 deletion lib/blockchain/chainentry.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
'use strict';

var assert = require('assert');
var BN = require('bn.js');
var BN = require('../crypto/bn');
var consensus = require('../protocol/consensus');
var util = require('../utils/util');
var crypto = require('../crypto/crypto');
Expand Down
9 changes: 9 additions & 0 deletions lib/crypto/bn.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/*!
* bn.js - big numbers for bcoin
* Copyright (c) 2017, Christopher Jeffrey (MIT License).
* https://github.com/bcoin-org/bcoin
*/

'use strict';

module.exports = require('bn.js');
2 changes: 1 addition & 1 deletion lib/crypto/ec-elliptic.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ var assert = require('assert');
var elliptic = require('elliptic');
var secp256k1 = elliptic.ec('secp256k1');
var Signature = require('elliptic/lib/elliptic/ec/signature');
var BN = require('./bn');
var curve = secp256k1.curve;
var BN = require('bn.js');

/**
* @exports crypto/ec-elliptic
Expand Down
7 changes: 7 additions & 0 deletions lib/crypto/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,13 @@ exports.Poly1305 = exports.chachapoly.Poly1305;

exports.AEAD = exports.chachapoly.AEAD;

/**
* BN
* @see https://github.com/indutny/bn.js
*/

exports.BN = require('./bn');

/**
* pk module
* @see module:crypto/pk
Expand Down
2 changes: 1 addition & 1 deletion lib/crypto/pk-browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
*/

var assert = require('assert');
var BN = require('bn.js');
var elliptic = require('elliptic');
var BN = require('./bn');
var ASN1 = require('../utils/asn1');
var backend = require('./backend');
var rsa, ecdsa;
Expand Down
2 changes: 1 addition & 1 deletion lib/crypto/schnorr.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

'use strict';

var BN = require('bn.js');
var elliptic = require('elliptic');
var Signature = require('elliptic/lib/elliptic/ec/signature');
var hmacDRBG = require('hmac-drbg');
var BN = require('./bn');
var sha256 = require('./backend').sha256;
var secp256k1 = elliptic.ec('secp256k1');
var curve = secp256k1.curve;
Expand Down
6 changes: 2 additions & 4 deletions lib/env.js
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,6 @@ function Environment() {
this.env = Environment;
this.require = lazy(require, this);

// BN
this.require('bn', 'bn.js');
this.require('elliptic', 'elliptic');

// Horrible BIP
this.require('bip70', './bip70');

Expand All @@ -154,6 +150,7 @@ function Environment() {

// Crypto
this.require('crypto', './crypto');
this.require('bn', './crypto/bn');
this.require('ec', './crypto/ec');
this.require('pk', './crypto/pk');
this.require('schnorr', './crypto/schnorr');
Expand Down Expand Up @@ -239,6 +236,7 @@ function Environment() {
this.require('bloom', './utils/bloom');
this.require('co', './utils/co');
this.require('encoding', './utils/encoding');
this.require('int64', './utils/int64');
this.require('lock', './utils/lock');
this.require('reader', './utils/reader');
this.require('staticwriter', './utils/staticwriter');
Expand Down
2 changes: 1 addition & 1 deletion lib/mining/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

var assert = require('assert');
var consensus = require('../protocol/consensus');
var BN = require('bn.js');
var BN = require('../crypto/bn');

/**
* @exports mining/common
Expand Down
2 changes: 1 addition & 1 deletion lib/mining/template.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
'use strict';

var assert = require('assert');
var BN = require('bn.js');
var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var BN = require('../crypto/bn');
var StaticWriter = require('../utils/staticwriter');
var Address = require('../primitives/address');
var TX = require('../primitives/tx');
Expand Down
2 changes: 1 addition & 1 deletion lib/protocol/consensus.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*/

var assert = require('assert');
var BN = require('bn.js');
var BN = require('../crypto/bn');

/**
* One bitcoin in satoshis.
Expand Down
2 changes: 1 addition & 1 deletion lib/protocol/networks.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* @module protocol/networks
*/

var BN = require('bn.js');
var BN = require('../crypto/bn');

var network = exports;
var main, testnet, regtest, segnet4, simnet;
Expand Down
2 changes: 1 addition & 1 deletion lib/script/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*/

var assert = require('assert');
var BN = require('bn.js');
var BN = require('../crypto/bn');
var util = require('../utils/util');
var ec = require('../crypto/ec');

Expand Down
2 changes: 1 addition & 1 deletion lib/script/opcode.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
'use strict';

var assert = require('assert');
var BN = require('bn.js');
var BN = require('../crypto/bn');
var util = require('../utils/util');
var common = require('./common');
var BufferReader = require('../utils/reader');
Expand Down
2 changes: 1 addition & 1 deletion lib/script/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
'use strict';

var assert = require('assert');
var BN = require('bn.js');
var BN = require('../crypto/bn');
var consensus = require('../protocol/consensus');
var policy = require('../protocol/policy');
var util = require('../utils/util');
Expand Down
2 changes: 1 addition & 1 deletion lib/script/witness.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
'use strict';

var assert = require('assert');
var BN = require('bn.js');
var BN = require('../crypto/bn');
var util = require('../utils/util');
var Script = require('./script');
var common = require('./common');
Expand Down
2 changes: 1 addition & 1 deletion lib/utils/gcs.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
'use strict';

var assert = require('assert');
var Int64 = require('n64');
var Int64 = require('./int64');
var crypto = require('../crypto/crypto');
var siphash24 = require('../crypto/siphash');
var SCRATCH = Buffer.allocUnsafe(64);
Expand Down
1 change: 1 addition & 0 deletions lib/utils/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ exports.co = require('./co');
exports.encoding = require('./encoding');
exports.fs = require('./fs');
exports.Heap = require('./heap');
exports.Int64 = require('./int64');
exports.IP = require('./ip');
exports.lazy = require('./lazy');
exports.Lock = require('./lock');
Expand Down
9 changes: 9 additions & 0 deletions lib/utils/int64.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/*!
* int64.js - int64s for bcoin
* Copyright (c) 2017, Christopher Jeffrey (MIT License).
* https://github.com/bcoin-org/bcoin
*/

'use strict';

module.exports = require('n64');
2 changes: 1 addition & 1 deletion migrate/ensure-tip-index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var BufferReader = require('../lib/utils/reader');
var crypto = require('../lib/crypto/crypto');
var util = require('../lib/utils/util');
var LDB = require('../lib/db/ldb');
var BN = require('bn.js');
var BN = require('../lib/crypto/bn');
var DUMMY = Buffer.from([0]);
var file = process.argv[2];
var db, batch;
Expand Down
2 changes: 1 addition & 1 deletion scripts/gen.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

var BN = require('bn.js');
var BN = require('../lib/crypto/bn');
var util = require('../lib/utils/util');
var consensus = require('../lib/protocol/consensus');
var encoding = require('../lib/utils/encoding');
Expand Down
2 changes: 1 addition & 1 deletion test/chain-test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

var assert = require('assert');
var BN = require('bn.js');
var BN = require('../lib/crypto/bn');
var consensus = require('../lib/protocol/consensus');
var encoding = require('../lib/utils/encoding');
var co = require('../lib/utils/co');
Expand Down
2 changes: 1 addition & 1 deletion test/node-test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

var assert = require('assert');
var BN = require('bn.js');
var BN = require('../lib/crypto/bn');
var consensus = require('../lib/protocol/consensus');
var co = require('../lib/utils/co');
var Coin = require('../lib/primitives/coin');
Expand Down
2 changes: 1 addition & 1 deletion test/utils-test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

var assert = require('assert');
var BN = require('bn.js');
var BN = require('../lib/crypto/bn');
var ec = require('../lib/crypto/ec');
var base58 = require('../lib/utils/base58');
var encoding = require('../lib/utils/encoding');
Expand Down

0 comments on commit 33ffb78

Please sign in to comment.