X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=libs%2Fcombined%2Findex.js;h=d3bc7a59d034d3c68991aedc369d215569f06cab;hb=6d2e202083c4166aa4be8557789a8a461df6bd5c;hp=6760e0ce217dea21b964bc1c33fde05046f29aa7;hpb=c1d6274224e2dcfde76107104d2c397bb487e745;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/libs/combined/index.js b/libs/combined/index.js index 6760e0c..d3bc7a5 100644 --- a/libs/combined/index.js +++ b/libs/combined/index.js @@ -2,6 +2,10 @@ module.exports.basex = require('base-x') +/* base32 */ + +module.exports.base32 = require('base32.js') + /* bchaddrjs */ module.exports.bchaddr = require('bchaddrjs') @@ -18,6 +22,10 @@ module.exports.BigInteger = require('javascript-biginteger') module.exports.bip38 = require('bip38') +/* bip85 */ + +module.exports.bip85 = require('bip85') + /* bitcoinjs-lib */ module.exports.bitcoin = require('bitcoinjs-lib') @@ -80,6 +88,52 @@ module.exports.stellarUtil = { }, } +/* 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') @@ -87,3 +141,25 @@ 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); +}; +