2014-10-01 13:16:05 -07:00
|
|
|
var bitcore = module.exports;
|
2014-08-06 18:25:45 -07:00
|
|
|
|
2015-03-30 10:53:20 -07:00
|
|
|
// module information
|
2015-03-31 09:11:53 -07:00
|
|
|
bitcore.version = 'v' + require('./package.json').version;
|
2015-03-30 10:53:20 -07:00
|
|
|
|
|
|
|
var inBrowser = typeof process === 'undefined' || typeof process.versions === 'undefined';
|
|
|
|
if ((inBrowser && window._bitcore) || (!inBrowser && global._bitcore)) {
|
2015-03-31 09:11:53 -07:00
|
|
|
var versions = bitcore.version + ' and ' + (inBrowser ? window._bitcore : global._bitcore);
|
2015-03-30 10:53:20 -07:00
|
|
|
var message = 'More than one instance of bitcore found with different versions: ' + versions;
|
|
|
|
if (inBrowser) {
|
|
|
|
message += '. Make sure any scripts included don\'t contain their own bitcore bundle.';
|
|
|
|
} else {
|
2015-03-31 09:11:53 -07:00
|
|
|
message += '. Make sure there are no version conflicts between package.json files of your ' +
|
|
|
|
'dependencies. This could also happen when a package depends on a git repository.';
|
2015-03-30 10:53:20 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
throw new Error(message);
|
|
|
|
}
|
|
|
|
if (inBrowser) {
|
|
|
|
window._bitcore = bitcore.version;
|
|
|
|
} else {
|
|
|
|
global._bitcore = bitcore.version;
|
|
|
|
}
|
2014-11-20 08:31:51 -08:00
|
|
|
|
|
|
|
// crypto
|
2014-11-21 08:26:30 -08:00
|
|
|
bitcore.crypto = {};
|
|
|
|
bitcore.crypto.BN = require('./lib/crypto/bn');
|
|
|
|
bitcore.crypto.ECDSA = require('./lib/crypto/ecdsa');
|
|
|
|
bitcore.crypto.Hash = require('./lib/crypto/hash');
|
|
|
|
bitcore.crypto.Random = require('./lib/crypto/random');
|
|
|
|
bitcore.crypto.Point = require('./lib/crypto/point');
|
2014-11-27 11:42:44 -08:00
|
|
|
bitcore.crypto.Signature = require('./lib/crypto/signature');
|
2014-11-20 08:31:51 -08:00
|
|
|
|
2014-11-21 07:54:56 -08:00
|
|
|
// encoding
|
2014-11-21 08:26:30 -08:00
|
|
|
bitcore.encoding = {};
|
|
|
|
bitcore.encoding.Base58 = require('./lib/encoding/base58');
|
|
|
|
bitcore.encoding.Base58Check = require('./lib/encoding/base58check');
|
|
|
|
bitcore.encoding.BufferReader = require('./lib/encoding/bufferreader');
|
|
|
|
bitcore.encoding.BufferWriter = require('./lib/encoding/bufferwriter');
|
|
|
|
bitcore.encoding.Varint = require('./lib/encoding/varint');
|
2014-11-21 07:54:56 -08:00
|
|
|
|
2014-11-30 14:08:21 -08:00
|
|
|
// utilities
|
2014-11-28 11:14:02 -08:00
|
|
|
bitcore.util = {};
|
|
|
|
bitcore.util.buffer = require('./lib/util/buffer');
|
|
|
|
bitcore.util.js = require('./lib/util/js');
|
2014-12-11 06:55:55 -08:00
|
|
|
bitcore.util.preconditions = require('./lib/util/preconditions');
|
2014-11-27 14:03:27 -08:00
|
|
|
|
2014-11-30 14:08:21 -08:00
|
|
|
// errors thrown by the library
|
2014-11-29 13:23:38 -08:00
|
|
|
bitcore.errors = require('./lib/errors');
|
|
|
|
|
2014-11-20 08:31:51 -08:00
|
|
|
// main bitcoin library
|
2014-10-01 13:16:05 -07:00
|
|
|
bitcore.Address = require('./lib/address');
|
2015-02-22 17:44:31 -08:00
|
|
|
bitcore.Block = require('./lib/block');
|
2015-02-19 22:38:47 -08:00
|
|
|
bitcore.MerkleBlock = require('./lib/block/merkleblock');
|
2015-02-21 18:44:51 -08:00
|
|
|
bitcore.BlockHeader = require('./lib/block/blockheader');
|
2014-11-26 13:38:15 -08:00
|
|
|
bitcore.HDPrivateKey = require('./lib/hdprivatekey.js');
|
|
|
|
bitcore.HDPublicKey = require('./lib/hdpublickey.js');
|
2014-11-21 08:26:30 -08:00
|
|
|
bitcore.Networks = require('./lib/networks');
|
2014-10-01 13:16:05 -07:00
|
|
|
bitcore.Opcode = require('./lib/opcode');
|
2014-11-25 10:21:53 -08:00
|
|
|
bitcore.PrivateKey = require('./lib/privatekey');
|
|
|
|
bitcore.PublicKey = require('./lib/publickey');
|
2014-10-01 13:16:05 -07:00
|
|
|
bitcore.Script = require('./lib/script');
|
|
|
|
bitcore.Transaction = require('./lib/transaction');
|
2014-11-26 13:07:49 -08:00
|
|
|
bitcore.URI = require('./lib/uri');
|
2014-12-01 10:50:03 -08:00
|
|
|
bitcore.Unit = require('./lib/unit');
|
2014-08-06 18:25:45 -07:00
|
|
|
|
2014-11-30 14:08:21 -08:00
|
|
|
// dependencies, subject to change
|
2014-10-01 13:16:05 -07:00
|
|
|
bitcore.deps = {};
|
|
|
|
bitcore.deps.bnjs = require('bn.js');
|
|
|
|
bitcore.deps.bs58 = require('bs58');
|
|
|
|
bitcore.deps.Buffer = Buffer;
|
|
|
|
bitcore.deps.elliptic = require('elliptic');
|
2015-02-05 07:04:35 -08:00
|
|
|
bitcore.deps._ = require('lodash');
|
2014-08-11 12:44:19 -07:00
|
|
|
|
2014-11-30 14:08:21 -08:00
|
|
|
// Internal usage, exposed for testing/advanced tweaking
|
|
|
|
bitcore._HDKeyCache = require('./lib/hdkeycache');
|
2015-01-27 05:57:40 -08:00
|
|
|
bitcore.Transaction.sighash = require('./lib/transaction/sighash');
|