mirror of
https://github.com/OneKeyHQ/bip39.git
synced 2026-04-05 18:43:47 +00:00
Merge branch 'master' into master
This commit is contained in:
25
changelog.md
25
changelog.md
@@ -1,3 +1,28 @@
|
||||
# 0.3.11
|
||||
|
||||
* Add NIX network
|
||||
* Fix coin parameters for NMC, XMY, CLAM, ONX, LKR
|
||||
* Add DEXON network
|
||||
* Add Nebulas network
|
||||
* Add LSP network
|
||||
* Fix Crown network address format
|
||||
* Add Ellaism network
|
||||
* Add Etheresocial network
|
||||
* Add Bolivarcoin network
|
||||
* Force spellcheck and autocomplete to be off
|
||||
|
||||
# 0.3.10
|
||||
|
||||
* Add Phore network
|
||||
* Add Blocknode network
|
||||
* Add Ravencoin network
|
||||
* Add Safecoin network
|
||||
* Add LitecoinZ network
|
||||
* Add LKRcoin network
|
||||
* Update Peercoin scripthash parameter
|
||||
* Add Blockstamp network
|
||||
* Remove old info regarding use of private keys
|
||||
|
||||
# 0.3.9
|
||||
|
||||
* Update BTG signing message
|
||||
|
||||
@@ -8,7 +8,8 @@ https://iancoleman.io/bip39/
|
||||
|
||||
## Standalone offline version
|
||||
|
||||
Download `bip39-standalone.html`
|
||||
Download `bip39-standalone.html` from
|
||||
[the releases](https://github.com/iancoleman/bip39/releases).
|
||||
|
||||
Open the file in a browser by double clicking it.
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<div class="container">
|
||||
|
||||
<h1 class="text-center">Mnemonic Code Converter</h1>
|
||||
<p class="version">v0.3.9</p>
|
||||
<p class="version">v0.3.11</p>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
@@ -69,7 +69,7 @@
|
||||
<div class="form-group">
|
||||
<label for="entropy" class="col-sm-2 control-label">Entropy</label>
|
||||
<div class="col-sm-7">
|
||||
<textarea id="entropy" rows="2" class="entropy private-data form-control" placeholder="Accepts either binary, base 6, 6-sided dice, base 10, hexadecimal or cards"></textarea>
|
||||
<textarea id="entropy" rows="2" class="entropy private-data form-control" placeholder="Accepts either binary, base 6, 6-sided dice, base 10, hexadecimal or cards" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
<div class="row filter-warning text-danger hidden">
|
||||
<p class="col-sm-12">
|
||||
<strong>
|
||||
@@ -169,19 +169,19 @@
|
||||
<div class="form-group">
|
||||
<label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="phrase" class="phrase private-data form-control" data-show-qr></textarea>
|
||||
<textarea id="phrase" class="phrase private-data form-control" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="passphrase" class="passphrase private-data form-control"></textarea>
|
||||
<textarea id="passphrase" class="passphrase private-data form-control" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="seed" class="col-sm-2 control-label">BIP39 Seed</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="seed" class="seed private-data form-control" readonly="readonly" data-show-qr></textarea>
|
||||
<textarea id="seed" class="seed private-data form-control" readonly="readonly" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -195,7 +195,7 @@
|
||||
<div class="form-group">
|
||||
<label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="root-key" class="root-key private-data form-control" data-show-qr></textarea>
|
||||
<textarea id="root-key" class="root-key private-data form-control" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group litecoin-ltub-container hidden">
|
||||
@@ -288,7 +288,7 @@
|
||||
<span>Account Extended Private Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xprv-bip44" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
|
||||
<textarea id="account-xprv-bip44" type="text" class="account-xprv private-data form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -296,7 +296,7 @@
|
||||
<span>Account Extended Public Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xpub-bip44" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
|
||||
<textarea id="account-xpub-bip44" type="text" class="account-xpub form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -448,7 +448,7 @@
|
||||
<span>Account Extended Private Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xprv-bip49" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
|
||||
<textarea id="account-xprv-bip49" type="text" class="account-xprv private-data form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -456,7 +456,7 @@
|
||||
<span>Account Extended Public Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xpub-bip49" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
|
||||
<textarea id="account-xpub-bip49" type="text" class="account-xpub form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -575,7 +575,7 @@
|
||||
<span>Account Extended Private Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xprv-bip84" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
|
||||
<textarea id="account-xprv-bip84" type="text" class="account-xprv private-data form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -583,7 +583,7 @@
|
||||
<span>Account Extended Public Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xpub-bip84" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
|
||||
<textarea id="account-xpub-bip84" type="text" class="account-xpub form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -607,13 +607,13 @@
|
||||
<div class="form-group">
|
||||
<label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Private Key</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="extended-priv-key" class="extended-priv-key private-data form-control" readonly="readonly" data-show-qr></textarea>
|
||||
<textarea id="extended-priv-key" class="extended-priv-key private-data form-control" readonly="readonly" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="extended-pub-key" class="col-sm-2 control-label">BIP32 Extended Public Key</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
|
||||
<textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -653,7 +653,7 @@
|
||||
<input type="checkbox" class="use-bip38">
|
||||
<span>Encrypt private keys using BIP38 and this password:</span>
|
||||
</label>
|
||||
<input class="bip38-password private-data">
|
||||
<input class="bip38-password private-data" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">
|
||||
<span>Enabling BIP38 means each key will take several minutes to generate.</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -707,7 +707,7 @@
|
||||
</div>
|
||||
<div id="csv" class="tab-pane">
|
||||
<div class="col-md-12">
|
||||
<textarea class="csv form-control" rows="25" readonly></textarea>
|
||||
<textarea class="csv form-control" rows="25" readonly autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -748,14 +748,6 @@
|
||||
Read more at the
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki" target="_blank">official BIP49 spec</a>
|
||||
</p>
|
||||
<h3>Private Keys</h3>
|
||||
<p>
|
||||
<span>
|
||||
Use private keys at
|
||||
<a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
|
||||
</span>
|
||||
<span>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
|
||||
</p>
|
||||
<h3 id="entropy-notes">Entropy</h3>
|
||||
<p>
|
||||
<span>Entropy values should not include the BIP39 checksum. This is automatically added by the tool.</span>
|
||||
@@ -935,6 +927,7 @@
|
||||
<script src="js/ethereumjs-util.js"></script>
|
||||
<script src="js/ripple-util.js"></script>
|
||||
<script src="js/bchaddrjs-0.2.1.js"></script>
|
||||
<script src="js/nebulas-account.js"></script>
|
||||
<script src="js/sjcl-bip39.js"></script>
|
||||
<script src="js/wordlist_english.js"></script>
|
||||
<script src="js/wordlist_japanese.js"></script>
|
||||
|
||||
@@ -3356,7 +3356,7 @@ var validate = validation.validate;
|
||||
|
||||
/**
|
||||
* Encodes a hash from a given type into a Bitcoin Cash address with the given prefix.
|
||||
*
|
||||
*
|
||||
* @static
|
||||
* @param {string} prefix Network prefix. E.g.: 'bitcoincash'.
|
||||
* @param {string} type Type of address to generate. Either 'P2PKH' or 'P2SH'.
|
||||
@@ -3378,7 +3378,7 @@ function encode(prefix, type, hash) {
|
||||
|
||||
/**
|
||||
* Decodes the given address into its constituting prefix, type and hash. See [#encode()]{@link encode}.
|
||||
*
|
||||
*
|
||||
* @static
|
||||
* @param {string} address Address to decode. E.g.: 'bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a'.
|
||||
* @returns {object}
|
||||
@@ -3416,14 +3416,14 @@ var ValidationError = validation.ValidationError;
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
var VALID_PREFIXES = ['bitcoincash', 'bchtest', 'bchreg'];
|
||||
var VALID_PREFIXES = ['bitcoincash', 'bchtest', 'bchreg', 'simpleledger', 'slptest'];
|
||||
|
||||
/**
|
||||
* Checks whether a string is a valid prefix; ie., it has a single letter case
|
||||
* and is one of 'bitcoincash', 'bchtest', or 'bchreg'.
|
||||
* and is one of 'bitcoincash', 'bchtest', or 'bchreg', 'simpleledger' or 'slptest'.
|
||||
*
|
||||
* @private
|
||||
* @param {string} prefix
|
||||
* @param {string} prefix
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function isValidPrefix(prefix) {
|
||||
@@ -3435,7 +3435,7 @@ function isValidPrefix(prefix) {
|
||||
* of the address' checksum.
|
||||
*
|
||||
* @private
|
||||
* @param {string} prefix Network prefix. E.g.: 'bitcoincash'.
|
||||
* @param {string} prefix Network prefix. E.g.: 'bitcoincash'.
|
||||
* @returns {Uint8Array}
|
||||
*/
|
||||
function prefixToUint5Array(prefix) {
|
||||
@@ -3594,8 +3594,8 @@ function fromUint5Array(data) {
|
||||
* Returns the concatenation a and b.
|
||||
*
|
||||
* @private
|
||||
* @param {Uint8Array} a
|
||||
* @param {Uint8Array} b
|
||||
* @param {Uint8Array} a
|
||||
* @param {Uint8Array} b
|
||||
* @returns {Uint8Array}
|
||||
* @throws {ValidationError}
|
||||
*/
|
||||
@@ -3633,7 +3633,7 @@ function polymod(data) {
|
||||
/**
|
||||
* Verify that the payload has not been corrupted by checking that the
|
||||
* checksum is valid.
|
||||
*
|
||||
*
|
||||
* @private
|
||||
* @param {string} prefix Network prefix. E.g.: 'bitcoincash'.
|
||||
* @param {Uint8Array} payload Array of 5-bit integers containing the address' payload.
|
||||
@@ -9011,6 +9011,21 @@ function toCashAddress (address) {
|
||||
return encodeAsCashaddr(decoded)
|
||||
}
|
||||
|
||||
/**
|
||||
* Translates the given address into SLP format.
|
||||
* @static
|
||||
* @param {string} address - A valid SLP address in any format.
|
||||
* @return {string}
|
||||
* @throws {InvalidAddressError}
|
||||
*/
|
||||
function toSlpAddress (address) {
|
||||
var decoded = decodeAddress(address)
|
||||
return encodeAsSlpaddr(decoded)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Version byte table for base58 formats.
|
||||
* @private
|
||||
@@ -9125,7 +9140,7 @@ function decodeCashAddress (address) {
|
||||
} catch (error) {
|
||||
}
|
||||
} else {
|
||||
var prefixes = ['bitcoincash', 'bchtest', 'regtest']
|
||||
var prefixes = ['bitcoincash', 'bchtest', 'regtest', 'simpleledger', 'slptest']
|
||||
for (var i = 0; i < prefixes.length; ++i) {
|
||||
try {
|
||||
var prefix = prefixes[i]
|
||||
@@ -9151,6 +9166,7 @@ function decodeCashAddressWithPrefix (address) {
|
||||
var type = decoded.type === 'P2PKH' ? Type.P2PKH : Type.P2SH
|
||||
switch (decoded.prefix) {
|
||||
case 'bitcoincash':
|
||||
case 'simpleledger':
|
||||
return {
|
||||
hash: hash,
|
||||
format: Format.Cashaddr,
|
||||
@@ -9158,6 +9174,7 @@ function decodeCashAddressWithPrefix (address) {
|
||||
type: type
|
||||
}
|
||||
case 'bchtest':
|
||||
case 'slptest':
|
||||
case 'regtest':
|
||||
return {
|
||||
hash: hash,
|
||||
@@ -9212,6 +9229,19 @@ function encodeAsCashaddr (decoded) {
|
||||
return cashaddr.encode(prefix, type, hash)
|
||||
}
|
||||
|
||||
/**
|
||||
* Encodes the given decoded address into slp addr format.
|
||||
* @private
|
||||
* @param {object} decoded
|
||||
* @returns {string}
|
||||
*/
|
||||
function encodeAsSlpaddr (decoded) {
|
||||
var prefix = decoded.network === Network.Mainnet ? 'simpleledger' : 'slptest'
|
||||
var type = decoded.type === Type.P2PKH ? 'P2PKH' : 'P2SH'
|
||||
var hash = Uint8Array.from(decoded.hash)
|
||||
return cashaddr.encode(prefix, type, hash)
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a boolean indicating whether the address is in legacy format.
|
||||
* @static
|
||||
@@ -9313,6 +9343,7 @@ module.exports = {
|
||||
toLegacyAddress: toLegacyAddress,
|
||||
toBitpayAddress: toBitpayAddress,
|
||||
toCashAddress: toCashAddress,
|
||||
toSlpAddress: toSlpAddress,
|
||||
isLegacyAddress: isLegacyAddress,
|
||||
isBitpayAddress: isBitpayAddress,
|
||||
isCashAddress: isCashAddress,
|
||||
@@ -9325,4 +9356,4 @@ module.exports = {
|
||||
|
||||
}).call(this,require("buffer").Buffer)
|
||||
},{"bs58check":7,"buffer":8,"cashaddrjs":10}]},{},[52])(52)
|
||||
});
|
||||
});
|
||||
|
||||
@@ -27,7 +27,7 @@ bitcoinjs.bitcoin.networks.clam = {
|
||||
private: 0xa8c17826
|
||||
},
|
||||
pubKeyHash: 0x89,
|
||||
scriptHash: 0x00, // TODO set this correctly
|
||||
scriptHash: 0x0D,
|
||||
wif: 0x85
|
||||
};
|
||||
|
||||
@@ -39,7 +39,27 @@ bitcoinjs.bitcoin.networks.crown = {
|
||||
},
|
||||
pubKeyHash: 0x00,
|
||||
scriptHash: 0x05,
|
||||
wif: 0x80
|
||||
wif: 0x80,
|
||||
toNewAddress: function(oldAddress)
|
||||
{
|
||||
var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
|
||||
var b58 = basex(ALPHABET);
|
||||
|
||||
var addrBytes = b58.decode(oldAddress);
|
||||
|
||||
var hash160 = new Uint16Array(23);
|
||||
hash160[0]= 0x01; //C
|
||||
hash160[1]= 0x75; //R
|
||||
hash160[2]= 0x07; //W
|
||||
addrBytes.copy(hash160, 3, 1, 21);
|
||||
|
||||
var checksum = bitcoinjs.bitcoin.crypto.hash256(hash160).subarray(0, 4);
|
||||
var binaryAddr = new Uint16Array(27);
|
||||
binaryAddr.set(hash160,0);
|
||||
checksum.copy(binaryAddr, 23, 0, 4);
|
||||
var newAddress = b58.encode(binaryAddr);
|
||||
return newAddress;
|
||||
}
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.dash = {
|
||||
@@ -93,7 +113,7 @@ bitcoinjs.bitcoin.networks.namecoin = {
|
||||
private: 0x0488ade4
|
||||
},
|
||||
pubKeyHash: 0x34,
|
||||
scriptHash: 0x00, // TODO set this correctly
|
||||
scriptHash: 0x0D,
|
||||
wif: 0x80
|
||||
};
|
||||
|
||||
@@ -104,7 +124,7 @@ bitcoinjs.bitcoin.networks.peercoin = {
|
||||
private: 0x0488ade4
|
||||
},
|
||||
pubKeyHash: 0x37,
|
||||
scriptHash: 0x00, // TODO set this correctly
|
||||
scriptHash: 0x75,
|
||||
wif: 0xb7
|
||||
};
|
||||
|
||||
@@ -236,20 +256,42 @@ bitcoinjs.bitcoin.networks.myriadcoin = {
|
||||
private: 0x0488ade4
|
||||
},
|
||||
pubKeyHash: 0x32,
|
||||
scriptHash: 0x00, // TODO set this correctly
|
||||
scriptHash: 0x09,
|
||||
wif: 0xb2
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.bolivarcoin = {
|
||||
messagePrefix: 'Bolivarcoin Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4
|
||||
},
|
||||
pubKeyHash: 0x55,
|
||||
scriptHash: 0x05,
|
||||
wif: 0xD5
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.onixcoin = {
|
||||
messagePrefix: 'unused',
|
||||
messagePrefix: 'ONIX Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x049d7cb2,
|
||||
private: 0x049d7878
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4
|
||||
},
|
||||
pubKeyHash: 0x4B,
|
||||
scriptHash: 0x05,
|
||||
wif: 0x80
|
||||
wif: 0xCB
|
||||
};
|
||||
|
||||
|
||||
bitcoinjs.bitcoin.networks.lkrcoin = {
|
||||
messagePrefix: '\x18LKRcoin Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4,
|
||||
},
|
||||
pubKeyHash: 0x30,
|
||||
scriptHash: 0x55,
|
||||
wif: 0xB0
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.pivx = {
|
||||
@@ -902,6 +944,17 @@ bitcoinjs.bitcoin.networks.neoscoin = {
|
||||
wif: 0xb1,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.nix = {
|
||||
messagePrefix: '\x18Nix Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4,
|
||||
},
|
||||
pubKeyHash: 0x26,
|
||||
scriptHash: 0x35,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.neurocoin = {
|
||||
messagePrefix: '\x18PPCoin Signed Message:\n',
|
||||
bip32: {
|
||||
@@ -1473,4 +1526,15 @@ bitcoinjs.bitcoin.networks.litecoinz = {
|
||||
pubKeyHash: 0x0AB3,
|
||||
scriptHash: 0x0AB8,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.blockstamp = {
|
||||
messagePrefix: '\x18BlockStamp Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x00,
|
||||
scriptHash: 0x05,
|
||||
wif: 0x80,
|
||||
};
|
||||
103
src/js/index.js
103
src/js/index.js
@@ -917,7 +917,11 @@
|
||||
|| (networks[DOM.network.val()].name == "MUSIC - Musicoin")
|
||||
|| (networks[DOM.network.val()].name == "POA - Poa")
|
||||
|| (networks[DOM.network.val()].name == "EXP - Expanse")
|
||||
|| (networks[DOM.network.val()].name == "CLO - Callisto")) {
|
||||
|| (networks[DOM.network.val()].name == "CLO - Callisto")
|
||||
|| (networks[DOM.network.val()].name == "DXN - DEXON")
|
||||
|| (networks[DOM.network.val()].name == "ELLA - Ellaism")
|
||||
|| (networks[DOM.network.val()].name == "ESN - Ethersocial Network")
|
||||
) {
|
||||
var privKeyBuffer = keyPair.d.toBuffer(32);
|
||||
privkey = privKeyBuffer.toString('hex');
|
||||
var addressBuffer = ethUtil.privateToAddress(privKeyBuffer);
|
||||
@@ -927,6 +931,7 @@
|
||||
privkey = ethUtil.addHexPrefix(privkey);
|
||||
pubkey = ethUtil.addHexPrefix(pubkey);
|
||||
}
|
||||
|
||||
// Stellar is different
|
||||
if (networks[DOM.network.val()].name == "XLM - Stellar") {
|
||||
var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
|
||||
@@ -939,6 +944,15 @@
|
||||
privkey = keypair.secret();
|
||||
pubkey = address = keypair.publicKey();
|
||||
}
|
||||
if ((networks[DOM.network.val()].name == "NAS - Nebulas")) {
|
||||
var NasAccount = require("nebulas-account");
|
||||
var privKeyBuffer = keyPair.d.toBuffer(32);
|
||||
var nebulasAccount = new NasAccount();
|
||||
nebulasAccount.setPrivateKey(privKeyBuffer);
|
||||
address = nebulasAccount.getAddressString();
|
||||
privkey = nebulasAccount.getPrivateKeyString();
|
||||
pubkey = nebulasAccount.getPublicKeyString();
|
||||
}
|
||||
// Ripple values are different
|
||||
if (networks[DOM.network.val()].name == "XRP - Ripple") {
|
||||
privkey = convertRipplePriv(privkey);
|
||||
@@ -954,6 +968,13 @@
|
||||
address = bchaddr.toBitpayAddress(address);
|
||||
}
|
||||
}
|
||||
// Bitcoin Cash address format may vary
|
||||
if (networks[DOM.network.val()].name == "SLP - Simple Ledger Protocol") {
|
||||
var bchAddrType = DOM.bitcoinCashAddressType.filter(":checked").val();
|
||||
if (bchAddrType == "cashaddr") {
|
||||
address = bchaddr.toSlpAddress(address);
|
||||
}
|
||||
}
|
||||
// Segwit addresses are different
|
||||
if (isSegwit) {
|
||||
if (!segwitAvailable) {
|
||||
@@ -972,6 +993,11 @@
|
||||
address = bitcoinjs.bitcoin.address.fromOutputScript(scriptpubkey, network)
|
||||
}
|
||||
}
|
||||
|
||||
if ((networks[DOM.network.val()].name == "CRW - Crown")) {
|
||||
address = bitcoinjs.bitcoin.networks.crown.toNewAddress(address);
|
||||
}
|
||||
|
||||
addAddressToList(indexText, address, pubkey, privkey);
|
||||
if (isLast) {
|
||||
hidePending();
|
||||
@@ -1679,6 +1705,13 @@
|
||||
setHdCoin(220);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "BOLI - Bolivarcoin",
|
||||
onSelect: function() {
|
||||
network = bitcoinjs.bitcoin.networks.bolivarcoin;
|
||||
setHdCoin(278);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "BCA - Bitcoin Atom",
|
||||
onSelect: function() {
|
||||
@@ -1720,7 +1753,7 @@
|
||||
network = bitcoinjs.bitcoin.networks.blocknode;
|
||||
setHdCoin(2941);
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "tBND - Blocknode Testnet",
|
||||
onSelect: function() {
|
||||
@@ -1741,6 +1774,13 @@
|
||||
network = bitcoinjs.bitcoin.networks.bitsend;
|
||||
setHdCoin(91);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "BST - BlockStamp",
|
||||
onSelect: function() {
|
||||
network = bitcoinjs.bitcoin.networks.blockstamp;
|
||||
setHdCoin(254);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "BTA - Bata",
|
||||
@@ -1862,6 +1902,13 @@
|
||||
setHdCoin(186);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "CRW - Crown (Legacy)",
|
||||
onSelect: function() {
|
||||
network = bitcoinjs.bitcoin.networks.crown;
|
||||
setHdCoin(72);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "CRW - Crown",
|
||||
onSelect: function() {
|
||||
@@ -1925,6 +1972,13 @@
|
||||
setHdCoin(3);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "DXN - DEXON",
|
||||
onSelect: function() {
|
||||
network = bitcoinjs.bitcoin.networks.bitcoin;
|
||||
setHdCoin(237);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "ECN - Ecoin",
|
||||
onSelect: function() {
|
||||
@@ -1946,6 +2000,14 @@
|
||||
setHdCoin(78);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "ELLA - Ellaism",
|
||||
segwitAvailable: false,
|
||||
onSelect: function() {
|
||||
network = bitcoinjs.bitcoin.networks.bitcoin;
|
||||
setHdCoin(163);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "EMC2 - Einsteinium",
|
||||
onSelect: function() {
|
||||
@@ -1960,6 +2022,14 @@
|
||||
setHdCoin(151);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "ESN - Ethersocial Network",
|
||||
segwitAvailable: false,
|
||||
onSelect: function() {
|
||||
network = bitcoinjs.bitcoin.networks.bitcoin;
|
||||
setHdCoin(31102);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "ETC - Ethereum Classic",
|
||||
segwitAvailable: false,
|
||||
@@ -2139,6 +2209,14 @@
|
||||
setHdCoin(114);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "LKR - Lkrcoin",
|
||||
segwitAvailable: false,
|
||||
onSelect: function() {
|
||||
network = bitcoinjs.bitcoin.networks.lkrcoin;
|
||||
setHdCoin(557);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "LTC - Litecoin",
|
||||
onSelect: function() {
|
||||
@@ -2212,6 +2290,13 @@
|
||||
setHdCoin(130);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "NAS - Nebulas",
|
||||
onSelect: function() {
|
||||
network = bitcoinjs.bitcoin.networks.bitcoin;
|
||||
setHdCoin(2718);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "NEBL - Neblio",
|
||||
onSelect: function() {
|
||||
@@ -2226,6 +2311,13 @@
|
||||
setHdCoin(25);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "NIX - NIX Platform",
|
||||
onSelect: function() {
|
||||
network = bitcoinjs.bitcoin.networks.nix;
|
||||
setHdCoin(400);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "NLG - Gulden",
|
||||
onSelect: function() {
|
||||
@@ -2452,6 +2544,13 @@
|
||||
setHdCoin(111);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SLP - Simple Ledger Protocol",
|
||||
onSelect: function() {
|
||||
DOM.bitcoinCashAddressTypeContainer.removeClass("hidden");
|
||||
setHdCoin(245);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SLR - Solarcoin",
|
||||
onSelect: function() {
|
||||
|
||||
27697
src/js/nebulas-account.js
Normal file
27697
src/js/nebulas-account.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -184,29 +184,56 @@ bitcoinjs.bitcoin.networks.digibyte.p2wpkhInP2sh = {
|
||||
scriptHash: 0x3f,
|
||||
wif: 0x80
|
||||
};
|
||||
bitcoinjs.bitcoin.networks.deimos.p2wpkh = {
|
||||
baseNetwork: "deimos",
|
||||
messagePrefix: '\x18Deimos Signed Message:\n',
|
||||
bech32: 'dei',
|
||||
|
||||
bitcoinjs.bitcoin.networks.blockstamp.p2wpkh = {
|
||||
baseNetwork: "blockstamp",
|
||||
messagePrefix: '\x18BlockStamp Signed Message:\n',
|
||||
bech32: 'bc',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x1f,
|
||||
scriptHash: 0x21,
|
||||
wif: 0x8a
|
||||
pubKeyHash: 0x00,
|
||||
scriptHash: 0x05,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.deimos.p2wpkhInP2sh = {
|
||||
baseNetwork: "deimos",
|
||||
messagePrefix: '\x18Deimos Signed Message:\n',
|
||||
bech32: 'dei',
|
||||
bitcoinjs.bitcoin.networks.blockstamp.p2wpkhInP2sh = {
|
||||
baseNetwork: "blockstamp",
|
||||
messagePrefix: '\x18BlockStamp Signed Message:\n',
|
||||
bech32: 'bc',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x1f,
|
||||
scriptHash: 0x21,
|
||||
wif: 0x8a
|
||||
pubKeyHash: 0x00,
|
||||
scriptHash: 0x05,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.nix.p2wpkh = {
|
||||
baseNetwork: "nix",
|
||||
messagePrefix: '\x18Nix Signed Message:\n',
|
||||
bech32: 'nix',
|
||||
bip32: {
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4,
|
||||
},
|
||||
pubKeyHash: 0x26,
|
||||
scriptHash: 0x35,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.nix.p2wpkhInP2sh = {
|
||||
baseNetwork: "nix",
|
||||
messagePrefix: '\x18Nix Signed Message:\n',
|
||||
bech32: 'nix',
|
||||
bip32: {
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4,
|
||||
},
|
||||
pubKeyHash: 0x26,
|
||||
scriptHash: 0x35,
|
||||
wif: 0x80,
|
||||
};
|
||||
})();
|
||||
|
||||
@@ -472,10 +472,17 @@ it('Allows selection of clam', function(done) {
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of crown', function(done) {
|
||||
var params = {
|
||||
selectText: "CRW - Crown (Legacy)",
|
||||
firstAddress: "18pWSwSUAQdiwMHUfFZB1fM2xue9X1FqE5",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of crown', function(done) {
|
||||
var params = {
|
||||
selectText: "CRW - Crown",
|
||||
firstAddress: "18pWSwSUAQdiwMHUfFZB1fM2xue9X1FqE5",
|
||||
firstAddress: "CRWKnVmVhvH1KWTYe6sq8xV4dFGcFpBEEkPQ",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
@@ -521,6 +528,20 @@ it('Allows selection of onixcoin', function(done) {
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of lkrcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "LKR - Lkrcoin",
|
||||
firstAddress: "LfbT296e7AEEnn4bYDbL535Nd8P9g98CdJ",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of bolivarcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "BOLI - Bolivarcoin",
|
||||
firstAddress: "bbKzCAUR7hZ3nqfffy7VgrSz8LmAP3S5mK",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of peercoin', function(done) {
|
||||
var params = {
|
||||
selectText: "PPC - Peercoin",
|
||||
@@ -557,6 +578,15 @@ it('Allows selection of bitcoin cash', function(done) {
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
|
||||
it('Allows selection of simpleledger(SLP)', function(done) {
|
||||
var params = {
|
||||
selectText: "SLP - Simple Ledger Protocol",
|
||||
firstAddress: "simpleledger:qrtffz6ajfsn74gpur7y3epjquz42pvww5acewqmre",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
|
||||
it('Allows selection of myriadcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "XMY - Myriadcoin",
|
||||
@@ -984,6 +1014,13 @@ it('Allows selection of Navcoin', function(done) {
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Nebulas', function(done) {
|
||||
var params = {
|
||||
selectText: "NAS - Nebulas",
|
||||
firstAddress: "n1PbK61DGBfDoDusLw621G6sVSMfLLHdfnm",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Neoscoin', function(done) {
|
||||
var params = {
|
||||
selectText: "NEOS - Neoscoin",
|
||||
@@ -991,6 +1028,13 @@ it('Allows selection of Neoscoin', function(done) {
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Nix', function(done) {
|
||||
var params = {
|
||||
selectText: "NIX - NIX Platform",
|
||||
firstAddress: "GgcNW2SQQXB4LWHRQTHKkQF3GzXNSLqS8u",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Neurocoin', function(done) {
|
||||
var params = {
|
||||
selectText: "NRO - Neurocoin",
|
||||
@@ -1358,7 +1402,7 @@ it('Allows selection of Phore', function(done) {
|
||||
it('Allows selection of Safecoin', function(done) {
|
||||
var params = {
|
||||
selectText: "SAFE - Safecoin",
|
||||
firstAddress: "RmV56kPW7jeCmDA8sukHwbR7RZSbg9NFNF",
|
||||
firstAddress: "RtxHpnhJz6RY8k9owP3ua5QWraunmewB1G",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
@@ -1383,6 +1427,34 @@ it('Allows selection of LitecoinZ', function(done) {
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of BlockStamp', function(done) {
|
||||
var params = {
|
||||
selectText: "BST - BlockStamp",
|
||||
firstAddress: "15gypKtim4cVTj137ApfryG17RkvSbPazZ",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of DEXON', function(done) {
|
||||
var params = {
|
||||
selectText: "DXN - DEXON",
|
||||
firstAddress: "0x136a58788033E028CCd740FbDec6734358DB56Ec",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Ellaism', function(done) {
|
||||
var params = {
|
||||
selectText: "ELLA - Ellaism",
|
||||
firstAddress: "0xa8B0BeA09eeBc41062308546a01d6E544277e2Ca",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Ethersocial Network', function(done) {
|
||||
var params = {
|
||||
selectText: "ESN - Ethersocial Network",
|
||||
firstAddress: "0x6EE99Be2A0C7F887a71e21C8608ACF0aa0D2b767",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
|
||||
// BIP39 seed is set from phrase
|
||||
it('Sets the bip39 seed from the prhase', function(done) {
|
||||
|
||||
Reference in New Issue
Block a user