UNPKG

3.4 kBJavaScriptView Raw
1/**
2 * bsv
3 * ===
4 *
5 * index.js is an example of how to build a bundle with bsv. This
6 * bundle includes the entire library, which uses the default configuration
7 * (which is the same as Mainnet) and can be overridden. It also includes
8 * Mainnet and Testnet configuration which are accessible even if you override
9 * the defaults. It is not necessary to use Yours Bitcoin this way, since you
10 * probably do not use every component, and therefore do not need to include
11 * every component into your project. You can simply directly require the
12 * elements of the library you need, and, if your project is browser-based,
13 * browserify your project. For instance:
14 * const Address = require('bsv/lib/address').
15 */
16'use strict'
17if (!global._babelPolyfill) {
18 require('babel-polyfill')
19}
20require('./lib/config')
21
22const bsv = module.exports
23
24bsv.version = require('./package').version
25
26// Main bitcoin library - bitcoin protocols, standards, cryptography, and
27// utilities.
28bsv.Address = require('./lib/address')
29bsv.Bip32 = require('./lib/bip-32')
30bsv.Bip39 = require('./lib/bip-39')
31bsv.Bn = require('./lib/bn')
32bsv.Br = require('./lib/br')
33bsv.Bsm = require('./lib/bsm')
34bsv.Bw = require('./lib/bw')
35bsv.Base58 = require('./lib/base-58')
36bsv.Base58Check = require('./lib/base-58-check')
37bsv.Block = require('./lib/block')
38bsv.BlockHeader = require('./lib/block-header')
39bsv.Constants = require('./lib/constants')
40bsv.Ecdsa = require('./lib/ecdsa')
41bsv.Hash = require('./lib/hash')
42bsv.Interp = require('./lib/interp')
43bsv.KeyPair = require('./lib/key-pair')
44bsv.OpCode = require('./lib/op-code')
45bsv.Point = require('./lib/point')
46bsv.PrivKey = require('./lib/priv-key')
47bsv.PubKey = require('./lib/pub-key')
48bsv.Random = require('./lib/random')
49bsv.Script = require('./lib/script')
50bsv.Sig = require('./lib/sig')
51bsv.SigOperations = require('./lib/sig-operations')
52bsv.Struct = require('./lib/struct')
53bsv.Tx = require('./lib/tx')
54bsv.TxBuilder = require('./lib/tx-builder')
55bsv.TxIn = require('./lib/tx-in')
56bsv.TxOut = require('./lib/tx-out')
57bsv.TxOutMap = require('./lib/tx-out-map')
58bsv.TxVerifier = require('./lib/tx-verifier')
59bsv.VarInt = require('./lib/var-int')
60bsv.Workers = require('./lib/workers')
61bsv.WorkersResult = require('./lib/workers-result')
62bsv.cmp = require('./lib/cmp')
63
64// Encryption tools. Some bitcoin standards use Aes encryption, so that's why
65// these are available.
66bsv.Ach = require('./lib/ach')
67bsv.Aes = require('./lib/aes')
68bsv.Aescbc = require('./lib/aescbc')
69bsv.Cbc = require('./lib/cbc')
70bsv.Ecies = require('./lib/ecies')
71
72// Dependencies, subject to change.
73bsv.deps = {}
74bsv.deps.aes = require('aes')
75bsv.deps.bnjs = require('bn.js')
76bsv.deps.bs58 = require('bs58')
77bsv.deps.Buffer = Buffer
78bsv.deps.elliptic = require('bitcoin-elliptic')
79bsv.deps.hashjs = require('hash.js')
80bsv.deps.pbkdf2compat = require('pbkdf2-compat')
81
82// Mainnet classes for your convenience (in case default is not what you want).
83const Mainnet = {}
84Object.keys(bsv).forEach(function (key) {
85 Mainnet[key] = bsv[key].Mainnet
86 ? bsv[key].Mainnet
87 : bsv[key]
88})
89
90// Testnet classes for your convenience (in case default is not what you want).
91const Testnet = {}
92Object.keys(bsv).forEach(function (key) {
93 Testnet[key] = bsv[key].Testnet
94 ? bsv[key].Testnet
95 : bsv[key]
96})
97
98bsv.Mainnet = Mainnet
99bsv.Testnet = Testnet
100
101bsv.browser = process.browser
102bsv.env = process.env