module.exports.basex = require('base-x')
+/* base32 */
+
+module.exports.base32 = require('base32.js')
+
/* bchaddrjs */
module.exports.bchaddr = require('bchaddrjs')
module.exports.bip38 = require('bip38')
+/* bip85 */
+
+module.exports.bip85 = require('bip85')
+
/* bitcoinjs-lib */
module.exports.bitcoin = require('bitcoinjs-lib')
},
}
+/* zoobc-util */
+
+let base32 = require('base32.js');
+let nbl = require('nebulas');
+module.exports.zoobcUtil = {
+ getKeypair: function (path, seed) {
+ const { key, chainCode} = edHd.derivePath(path, seed);
+ const pubKey = edHd.getPublicKey(key);
+ return {key,chainCode, pubKey};
+ },
+ getZBCAddress(publicKey, prefix = "ZBC") {
+ const prefixDefault = ["ZBC", "ZNK", "ZBL", "ZTX"];
+ const valid = prefixDefault.indexOf(prefix) > -1;
+ if (valid) {
+ var bytes = new Uint8Array(35);
+ for (let i = 0; i < 32; i++) bytes[i] = publicKey[i];
+ for (let i = 0; i < 3; i++) bytes[i + 32] = prefix.charCodeAt(i);
+ const checksum = nbl.CryptoUtils.sha3(bytes);
+ for (let i = 0; i < 3; i++) bytes[i + 32] = Number(checksum[i]);
+ var segs = [prefix];
+ var b32 = base32.encode(bytes);
+ for (let i = 0; i < 7; i++) segs.push(b32.substr(i * 8, 8));
+ return segs.join("_");
+ } else {
+ throw new Error("The Prefix not available!");
+ }
+ }
+}
+
+/* nano-util */
+
+let NanoBase = require('nanocurrency-web');
+module.exports.nanoUtil = {
+ getKeypair: function (index, seed) {
+ const accounts = NanoBase.wallet.accounts(seed, index, index)
+ return {privKey: accounts[0].privateKey, pubKey: accounts[0].publicKey, address: accounts[0].address};
+ },
+ dummyNetwork: {
+ bip32: {public: 0, private: 0},
+ messagePrefix: '',
+ pubKeyHash: 0,
+ scriptHash: 0,
+ wif: 0,
+ },
+}
+
/* unorm */
module.exports.unorm = require('unorm')
/* zxcvbn */
module.exports.zxcvbn = require('zxcvbn')
+
+/* handshake */
+module.exports.handshake = require('handshake-util')
+
+/* bs58 */
+try {
+ module.exports.bs58 = require('bs58')
+}
+catch (e) {
+ console.warn("Error loading bs58 library");
+ console.warn(e);
+};
+
+/* create-hash */
+try {
+ module.exports.createHash = require('create-hash')
+}
+catch (e) {
+ console.warn("Error loading create-hash library");
+ console.warn(e);
+};
+