mirror of
https://github.com/OneKeyHQ/bip39.git
synced 2026-04-05 18:43:47 +00:00
170 lines
3.8 KiB
JavaScript
170 lines
3.8 KiB
JavaScript
/* 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')
|
|
|
|
/* bech32 */
|
|
|
|
module.exports.bech32 = require('bech32')
|
|
|
|
/* biginteger */
|
|
|
|
module.exports.BigInteger = require('javascript-biginteger')
|
|
|
|
/* bitcoinjs-bip38 */
|
|
|
|
module.exports.bip38 = require('bip38')
|
|
|
|
/* bip85 */
|
|
|
|
module.exports.bip85 = require('bip85')
|
|
|
|
/* 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 */
|
|
|
|
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');
|
|
module.exports.stellarUtil = {
|
|
getKeypair: function (path, seed) {
|
|
const result = edHd.derivePath(path, seed);
|
|
return StellarBase.Keypair.fromRawEd25519Seed(result.key);
|
|
},
|
|
dummyNetwork: {
|
|
bip32: {public: 0, private: 0},
|
|
messagePrefix: '',
|
|
pubKeyHash: 0,
|
|
scriptHash: 0,
|
|
wif: 0,
|
|
},
|
|
}
|
|
|
|
/* 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);
|
|
};
|
|
|