UNPKG

2.62 kBJavaScriptView Raw
1'use strict';
2
3var bitcore = module.exports;
4
5// module information
6bitcore.version = 'v' + require('./package.json').version;
7bitcore.versionGuard = function(version) {
8 if (version !== undefined) {
9 var message = 'More than one instance of bitcore-lib found. ' +
10 'Please make sure to require bitcore-lib and check that submodules do' +
11 ' not also include their own bitcore-lib dependency.';
12 throw new Error(message);
13 }
14};
15bitcore.versionGuard(global._bitcore);
16global._bitcore = bitcore.version;
17
18// crypto
19bitcore.crypto = {};
20bitcore.crypto.BN = require('./lib/crypto/bn');
21bitcore.crypto.ECDSA = require('./lib/crypto/ecdsa');
22bitcore.crypto.Hash = require('./lib/crypto/hash');
23bitcore.crypto.Random = require('./lib/crypto/random');
24bitcore.crypto.Point = require('./lib/crypto/point');
25bitcore.crypto.Signature = require('./lib/crypto/signature');
26
27// encoding
28bitcore.encoding = {};
29bitcore.encoding.Base58 = require('./lib/encoding/base58');
30bitcore.encoding.Base58Check = require('./lib/encoding/base58check');
31bitcore.encoding.BufferReader = require('./lib/encoding/bufferreader');
32bitcore.encoding.BufferWriter = require('./lib/encoding/bufferwriter');
33bitcore.encoding.Varint = require('./lib/encoding/varint');
34
35// utilities
36bitcore.util = {};
37bitcore.util.buffer = require('./lib/util/buffer');
38bitcore.util.js = require('./lib/util/js');
39bitcore.util.preconditions = require('./lib/util/preconditions');
40
41// errors thrown by the library
42bitcore.errors = require('./lib/errors');
43
44// main bitcoin library
45bitcore.Address = require('./lib/address');
46bitcore.Block = require('./lib/block');
47bitcore.MerkleBlock = require('./lib/block/merkleblock');
48bitcore.BlockHeader = require('./lib/block/blockheader');
49bitcore.HDPrivateKey = require('./lib/hdprivatekey.js');
50bitcore.HDPublicKey = require('./lib/hdpublickey.js');
51bitcore.Message = require('./lib/message');
52bitcore.Networks = require('./lib/networks');
53bitcore.Opcode = require('./lib/opcode');
54bitcore.PrivateKey = require('./lib/privatekey');
55bitcore.PublicKey = require('./lib/publickey');
56bitcore.Script = require('./lib/script');
57bitcore.Transaction = require('./lib/transaction');
58bitcore.URI = require('./lib/uri');
59bitcore.Unit = require('./lib/unit');
60
61// dependencies, subject to change
62bitcore.deps = {};
63bitcore.deps.bnjs = require('bn.js');
64bitcore.deps.bs58 = require('bs58');
65bitcore.deps.Buffer = Buffer;
66bitcore.deps.elliptic = require('elliptic');
67bitcore.deps._ = require('lodash');
68
69// Internal usage, exposed for testing/advanced tweaking
70bitcore.Transaction.sighash = require('./lib/transaction/sighash');