X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=libs%2Fcombined%2Findex.js;h=d3bc7a59d034d3c68991aedc369d215569f06cab;hb=6d2e202083c4166aa4be8557789a8a461df6bd5c;hp=cd976123158571c1e33c1cbc064bbae9cae19860;hpb=8017442c509ef1fa545367e727608bdc91bc1504;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/libs/combined/index.js b/libs/combined/index.js index cd97612..d3bc7a5 100644 --- a/libs/combined/index.js +++ b/libs/combined/index.js @@ -1,24 +1,80 @@ /* base-x */ -let basex = require('base-x') +module.exports.basex = require('base-x') + +/* base32 */ + +module.exports.base32 = require('base32.js') + +/* bchaddrjs */ + +module.exports.bchaddr = require('bchaddrjs') + +/* bchaddrjs slp */ + +module.exports.bchaddrSlp = require('bchaddrjs-slp') + +/* biginteger */ + +module.exports.BigInteger = require('javascript-biginteger') /* bitcoinjs-bip38 */ -let bip38 = require('bip38') +module.exports.bip38 = require('bip38') + +/* bip85 */ + +module.exports.bip85 = require('bip85') /* bitcoinjs-lib */ -let bitcoin = require('bitcoinjs-lib') +module.exports.bitcoin = require('bitcoinjs-lib') + +/* buffer */ + +module.exports.buffer = require('buffer'); + +/* elastos */ +// See https://github.com/iancoleman/bip39/pull/368 +// and https://github.com/johnnynanjiang/Elastos.SDK.Keypair.Javascript/tree/iancoleman-bip39 + +module.exports.elastosjs = require('elastos-wallet-js') /* ethereum-util */ -let ethUtil = require('ethereumjs-util') +module.exports.ethUtil = require('ethereumjs-util') + +/* fast-levenshtein */ + +module.exports.levenshtein = require('fast-levenshtein') + +/* groestlcoin */ + +module.exports.groestlcoinjs = require('groestlcoinjs-lib') + +/* groestlcoin bip38 */ + +module.exports.groestlcoinjsBip38 = require('bip38grs') + +/* kjua qr codes */ + +module.exports.kjua = require('kjua') + +/* nebulas */ + +try { +module.exports.nebulas = require('nebulas') +} +catch (e) { + console.warn("Error loading nebulas library"); + console.warn(e); +}; /* stellar-util */ let StellarBase = require('stellar-base'); let edHd = require('ed25519-hd-key'); -let stellarUtil = { +module.exports.stellarUtil = { getKeypair: function (path, seed) { const result = edHd.derivePath(path, seed); return StellarBase.Keypair.fromRawEd25519Seed(result.key); @@ -32,12 +88,78 @@ let stellarUtil = { }, } -/* exports */ +/* 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') -module.exports = { - basex, - bip38, - bitcoin, - ethUtil, - stellarUtil +/* 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); +}; +