Compare commits

..

64 Commits

Author SHA1 Message Date
Ian Coleman
0d0099e633 Release v0.3.11 2019-05-16 12:05:45 +10:00
Ian Coleman
bea736aeae Force spellcheck and autocomplete to be off 2019-05-16 11:26:28 +10:00
iancoleman
31190ced31 Merge pull request #330 from jestevez/master
BOLI - Use the correct address for testing the paraphrase
2019-05-16 11:26:19 +10:00
Jose Luis Estevez
575ee4de2c BOLI - Use the correct address fot testing the paraphrase 2019-05-15 09:23:52 +02:00
Ian Coleman
dfa696859a Include link to bip39-standalone.html in releases 2019-05-01 09:25:19 +10:00
iancoleman
32b5b0363f Merge pull request #324 from jestevez/master
Add Bolivarcoin (BOLI)
2019-04-30 11:08:13 +10:00
iancoleman
c69e40942e Merge pull request #323 from ellaism/ella-support
add Ellaism(ELLA) suppport
2019-04-30 11:07:23 +10:00
iancoleman
8cb07685fd Merge branch 'master' into ella-support 2019-04-30 11:07:12 +10:00
iancoleman
81a5a871d9 Merge pull request #322 from EthersocialNetwork/esn
add Ethersocial Network(ESN) support
2019-04-30 11:05:00 +10:00
Jose Luis Estevez
3e7b1ac938 Add Bolivarcoin (BOLI) 2019-04-25 22:17:31 +02:00
hackyminer
16afe3ecbf add Ethersocial Network(ESN) support 2019-04-26 01:42:07 +09:00
hackyminer
2885ddd5f7 add Ellaism(ELLA) suppport 2019-04-26 01:33:59 +09:00
iancoleman
c4a09d67eb Merge pull request #317 from skironDotNet/Crown_new_address_format
new Crown public address format (priv key not changed)
2019-04-23 09:01:11 +10:00
Pawel Cioch
bf13c95fb0 new Crown address format. May not be elegant solution, but bitcoinjs has limitation of network prefix length and I don't want to modify it. This approach is isolated and does not affect others 2019-04-16 23:17:16 -05:00
iancoleman
30d6779baa Merge pull request #316 from passionofvc/master
add SLP Token Type https://github.com/simpleledger/slp-specifications…
2019-04-17 08:07:28 +10:00
yamada
d0889ab9de add SLP Token Type https://github.com/simpleledger/slp-specifications/blob/master/slp-token-type-1.md 2019-04-17 00:02:00 +09:00
iancoleman
478e54ad47 Merge pull request #315 from jestevez/master
FIX coins ONX and LKR
2019-04-15 08:55:52 +10:00
Jose Luis Estevez
3b36d6c3ba FIX LKRcoin wif private key header 2019-04-15 00:03:48 +02:00
Jose Luis Estevez
b9f4ee2d4e FIX Onixcoin bip32 Header and correct signed message header 2019-04-15 00:02:10 +02:00
Jose Luis Estevez
1b419bc615 FIX Onixcoin wif private key header 2019-04-14 23:59:09 +02:00
iancoleman
961df0a5a5 Merge pull request #314 from hostgame/master
Add Nebulas (NAS)
2019-04-04 11:07:32 +11:00
hostgame
491948dbcb Nebulas. Add test spec. Replace nebulas.js by account part of nebulas.js only. 2019-04-03 17:09:41 +06:00
hostgame
7a11300336 Add Nebulas (nebulas.io) 2019-04-02 14:34:57 +06:00
iancoleman
dba22db54d Merge pull request #310 from boczeratul/master
Add definitions for DEXON (DXN)
2019-03-14 21:17:14 +11:00
Hsuan Lee
6cbd3bc8c2 Add definitions for DEXON (DXN) 2019-03-14 11:13:41 +08:00
iancoleman
74762b369e Merge pull request #309 from robiiinos/fix-clam
Fix CLAM scriptHash
2019-03-14 10:39:24 +11:00
iancoleman
5d7f36e9b2 Merge pull request #308 from robiiinos/xmy-scripthash
Fix XMY scriptHash
2019-03-14 10:38:40 +11:00
iancoleman
b0be9d8b60 Merge pull request #306 from robiiinos/fix-nmc
Fix NMC scriptHash
2019-03-14 10:38:20 +11:00
Robiiinos
9d9fefbb28 Fix CLAM scriptHash 2019-03-14 00:16:37 +09:00
Robiiinos
584d1a41c7 Fix XMY scriptHash 2019-03-14 00:12:41 +09:00
Robiiinos
a938c2f5a5 Fix NMC scriptHash 2019-03-13 23:33:39 +09:00
iancoleman
9f83f0fcd7 Merge pull request #302 from robiiinos/master
Added  NIX - NIX Platform
2019-02-26 10:17:37 +11:00
robiiinos
10980ed68c Added - NIX Platform 2019-02-26 03:08:08 +09:00
Ian Coleman
da6b42b2f0 Release v0.3.10 2019-02-25 12:06:14 +11:00
Ian Coleman
5dcc0ce632 Merge branch 'master' of github.com:iancoleman/bip39 2019-02-25 11:48:41 +11:00
iancoleman
a34543f81e Merge pull request #300 from robiiinos/master
Fixed PPC scriptHash
2019-02-25 11:27:23 +11:00
Ian Coleman
869f5375eb Fix SAFE test address 2019-02-25 11:23:10 +11:00
Ian Coleman
47d719a493 Remove info about private keys
Closes #260
2019-02-25 11:03:00 +11:00
Ian Coleman
8aa5ad6ded Remove unused code for Deimos
Closes #297
Reverses commit 3b6786bd51
2019-02-25 11:01:54 +11:00
iancoleman
a8cf5a4fd9 Merge pull request #296 from skironDotNet/blockstamp
Added BST - BlockStamp
2019-02-25 10:54:32 +11:00
robiiinos
5c1ad0856a Fixed PPC scriptHash 2019-02-23 05:56:16 +09:00
Pawel Cioch
d2be7b6fd6 restored deimos per project owner request https://github.com/iancoleman/bip39/pull/296#issuecomment-466240668 2019-02-21 21:56:59 -06:00
Pawel Cioch
f22f7677a6 Added BST - BlockStamp 2019-02-20 10:41:11 -06:00
Pawel Cioch
497fcf0e48 deimos not present commenting out 2019-02-20 10:26:02 -06:00
iancoleman
cceb518d09 Merge pull request #291 from jestevez/master
Add LKRcoin (LKR)
2019-01-15 08:55:56 +11:00
Jose Luis Estevez Prieto
ae27549baf LKRcoin test case 2019-01-14 16:42:28 +01:00
Jose Luis Estevez Prieto
8ba31a8985 Move in alphabetical order 2019-01-14 10:05:56 +01:00
Jose Luis Estevez
4735db1064 Add LKRcoin (LKR) 2019-01-13 20:39:47 +01:00
iancoleman
717a3ffcb2 Merge pull request #284 from skironDotNet/litecoinZ
added LTZ - LitecoinZ https://litecoinz.org/
2018-12-11 07:43:55 +11:00
Pawel Cioch
d4fcdda9fb added LTZ - LitecoinZ https://litecoinz.org/ 2018-12-10 09:27:13 -06:00
iancoleman
7f65b685b3 Merge pull request #281 from Fair-Exchange/master
Added support for Safecoin (SAFE)
2018-12-05 08:37:36 +11:00
iancoleman
acf4c9b588 Merge branch 'master' into master 2018-12-05 08:36:51 +11:00
iancoleman
10cf809e7c Merge pull request #282 from Deimoscoin/patch-3
Update segwit-parameters.js
2018-12-03 09:02:13 +11:00
Deimos
3b6786bd51 Update segwit-parameters.js
Deimos Support
2018-11-30 20:44:16 -05:00
iancoleman
20d077e3af Merge pull request #273 from CCob/master
Added support for Blocknode
2018-11-21 21:46:06 +11:00
EternityTula
d645b98261 Add Safecoin
Safecoin (SAFE) safecoin.org
2018-11-20 04:11:05 +03:00
EternityTula
31b846cf99 Add Safecoin
Safecoin (SAFE) safecoin.org
2018-11-20 04:07:08 +03:00
EternityTula
f1f1e39f89 Add Safecoin
Safecoin (SAFE) safecoin.org
2018-11-20 04:05:07 +03:00
iancoleman
3e4551b082 Merge pull request #277 from standard-error/master
Add Ravencoin (RVN)
2018-11-11 16:07:45 +11:00
standard-error
1fe8f5195f Add Ravencoin (RVN) 2018-11-09 17:03:28 +00:00
Unknown
6f43581752 Added support for Blocknode 2018-11-03 09:22:08 +00:00
iancoleman
ce349ac99f Merge pull request #272 from skironDotNet/phore-coin
Added Phore (PHR) coin
2018-11-01 15:56:25 +11:00
Pawel Cioch
38d1b296df Added Phore (PHR) coin 2018-10-31 10:50:42 -05:00
Ian Coleman
a51ef005ac Fix whitespace consistency 2018-10-29 19:06:33 +11:00
9 changed files with 28236 additions and 56 deletions

View File

@@ -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
* Forec 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

View File

@@ -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.

View File

@@ -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">
@@ -37,7 +37,7 @@
<div class="form-inline">
<div class="input-group-inline">
<span>Generate a random mnemonic</span>:
<button class="btn generate" ><b>GENERATE</b></button>
<button class="btn generate" ><b>GENERATE</b></button>
<select id="strength" class="strength form-control">
<option value="3">3</option>
<option value="6">6</option>
@@ -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>

View File

@@ -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)
});
});

View File

@@ -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: {
@@ -1023,6 +1076,17 @@ bitcoinjs.bitcoin.networks.putincoin = {
wif: 0xb7,
};
bitcoinjs.bitcoin.networks.ravencoin = {
messagePrefix: '\x16Raven Signed Message:\n',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4,
},
pubKeyHash: 0x3c,
scriptHash: 0x7a,
wif: 0x80,
};
bitcoinjs.bitcoin.networks.reddcoin = {
messagePrefix: '\x18Reddcoin Signed Message:\n',
bip32: {
@@ -1056,6 +1120,17 @@ bitcoinjs.bitcoin.networks.rubycoin = {
wif: 0xbc,
};
bitcoinjs.bitcoin.networks.safecoin = {
messagePrefix: '\x18Safecoin Signed Message:\n',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4,
},
pubKeyHash: 0x3d,
scriptHash: 0x56,
wif: 0xbd,
};
bitcoinjs.bitcoin.networks.salus = {
messagePrefix: '\x18Salus Signed Message:\n',
bip32: {
@@ -1407,4 +1482,59 @@ bitcoinjs.bitcoin.networks.projectcoin = {
pubKeyHash: 0x37,
scriptHash: 0x08,
wif: 0x75,
};
bitcoinjs.bitcoin.networks.phore = {
messagePrefix: '\x18Phore Signed Message:\n',
bip32: {
public: 0x022D2533,
private: 0x0221312B,
},
pubKeyHash: 0x37,
scriptHash: 0x0D,
wif: 0xD4,
};
bitcoinjs.bitcoin.networks.blocknode = {
messagePrefix: '\x18Blocknode Signed Message:\n',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x19,
scriptHash: 0x3F,
wif: 0x4b,
};
bitcoinjs.bitcoin.networks.blocknode_testnet = {
messagePrefix: '\x18Blocknode Testnet Signed Message:\n',
bip32: {
public: 0x043587cf,
private: 0x04358394
},
pubKeyHash: 0x55,
scriptHash: 0x7d,
wif: 0x89,
};
bitcoinjs.bitcoin.networks.litecoinz = {
messagePrefix: '\x18LitecoinZ Signed Message:\n',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE3,
},
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,
};

View File

@@ -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,15 @@
privkey = ethUtil.addHexPrefix(privkey);
pubkey = ethUtil.addHexPrefix(pubkey);
}
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);
@@ -942,6 +955,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) {
@@ -960,6 +980,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();
@@ -1667,6 +1692,13 @@
setHdCoin(220);
},
},
{
name: "BOLI - Bolivarcoin",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.bolivarcoin;
setHdCoin(278);
},
},
{
name: "BCA - Bitcoin Atom",
onSelect: function() {
@@ -1702,6 +1734,20 @@
setHdCoin(10);
},
},
{
name: "BND - Blocknode",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.blocknode;
setHdCoin(2941);
},
},
{
name: "tBND - Blocknode Testnet",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.blocknode_testnet;
setHdCoin(1);
},
},
{
name: "BRIT - Britcoin",
onSelect: function() {
@@ -1715,6 +1761,13 @@
network = bitcoinjs.bitcoin.networks.bitsend;
setHdCoin(91);
},
},
{
name: "BST - BlockStamp",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.blockstamp;
setHdCoin(254);
},
},
{
name: "BTA - Bata",
@@ -1836,6 +1889,13 @@
setHdCoin(186);
},
},
{
name: "CRW - Crown (Legacy)",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.crown;
setHdCoin(72);
},
},
{
name: "CRW - Crown",
onSelect: function() {
@@ -1899,6 +1959,13 @@
setHdCoin(3);
},
},
{
name: "DXN - DEXON",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.bitcoin;
setHdCoin(237);
},
},
{
name: "ECN - Ecoin",
onSelect: function() {
@@ -1920,6 +1987,14 @@
setHdCoin(78);
},
},
{
name: "ELLA - Ellaism",
segwitAvailable: false,
onSelect: function() {
network = bitcoinjs.bitcoin.networks.bitcoin;
setHdCoin(163);
},
},
{
name: "EMC2 - Einsteinium",
onSelect: function() {
@@ -1934,6 +2009,14 @@
setHdCoin(151);
},
},
{
name: "ESN - Ethersocial Network",
segwitAvailable: false,
onSelect: function() {
network = bitcoinjs.bitcoin.networks.bitcoin;
setHdCoin(31102);
},
},
{
name: "ETC - Ethereum Classic",
segwitAvailable: false,
@@ -2113,6 +2196,14 @@
setHdCoin(114);
},
},
{
name: "LKR - Lkrcoin",
segwitAvailable: false,
onSelect: function() {
network = bitcoinjs.bitcoin.networks.lkrcoin;
setHdCoin(557);
},
},
{
name: "LTC - Litecoin",
onSelect: function() {
@@ -2121,6 +2212,13 @@
DOM.litecoinLtubContainer.removeClass("hidden");
},
},
{
name: "LTZ - LitecoinZ",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.litecoinz;
setHdCoin(221);
},
},
{
name: "LYNX - Lynx",
onSelect: function() {
@@ -2179,6 +2277,13 @@
setHdCoin(130);
},
},
{
name: "NAS - Nebulas",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.bitcoin;
setHdCoin(2718);
},
},
{
name: "NEBL - Neblio",
onSelect: function() {
@@ -2193,6 +2298,13 @@
setHdCoin(25);
},
},
{
name: "NIX - NIX Platform",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.nix;
setHdCoin(400);
},
},
{
name: "NLG - Gulden",
onSelect: function() {
@@ -2262,6 +2374,13 @@
network = bitcoinjs.bitcoin.networks.onixcoin;
setHdCoin(174);
},
},
{
name: "PHR - Phore",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.phore;
setHdCoin(444);
},
},
{
name: "PINK - Pinkcoin",
@@ -2342,6 +2461,13 @@
setHdCoin(122);
},
},
{
name: "RVN - Ravencoin",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.ravencoin;
setHdCoin(175);
},
},
{
name: "RBY - Rubycoin",
onSelect: function() {
@@ -2364,6 +2490,13 @@
},
},
{
name: "SAFE - Safecoin",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.safecoin;
setHdCoin(19165);
},
},
{
name: "SLS - Salus",
onSelect: function() {
network = bitcoinjs.bitcoin.networks.salus;
@@ -2398,6 +2531,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

File diff suppressed because it is too large Load Diff

View File

@@ -161,11 +161,11 @@ bitcoinjs.bitcoin.networks.bgold.p2wpkhInP2sh = {
bitcoinjs.bitcoin.networks.digibyte.p2wpkh = {
baseNetwork: "digibyte",
messagePrefix: '\x18DigiByte Signed Message:\n',
messagePrefix: '\x18DigiByte Signed Message:\n',
bech32: 'dgb',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4
public: 0x0488B21E,
private: 0x0488ADE4
},
pubKeyHash: 0x1e,
scriptHash: 0x3f,
@@ -174,17 +174,66 @@ bitcoinjs.bitcoin.networks.digibyte.p2wpkh = {
bitcoinjs.bitcoin.networks.digibyte.p2wpkhInP2sh = {
baseNetwork: "digibyte",
messagePrefix: '\x18DigiByte Signed Message:\n',
messagePrefix: '\x18DigiByte Signed Message:\n',
bech32: 'dgb',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4
public: 0x0488B21E,
private: 0x0488ADE4
},
pubKeyHash: 0x1e,
scriptHash: 0x3f,
wif: 0x80
};
bitcoinjs.bitcoin.networks.blockstamp.p2wpkh = {
baseNetwork: "blockstamp",
messagePrefix: '\x18BlockStamp Signed Message:\n',
bech32: 'bc',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4,
},
pubKeyHash: 0x00,
scriptHash: 0x05,
wif: 0x80,
};
bitcoinjs.bitcoin.networks.blockstamp.p2wpkhInP2sh = {
baseNetwork: "blockstamp",
messagePrefix: '\x18BlockStamp Signed Message:\n',
bech32: 'bc',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4,
},
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,
};
})();

View File

@@ -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",
@@ -1068,6 +1112,13 @@ it('Allows selection of Putincoin', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Ravencoin', function(done) {
var params = {
selectText: "RVN - Ravencoin",
firstAddress: "RBuDoVNnzvFsEcX8XKPm8ic4mgiCzjUCNk",
};
testNetwork(done, params);
});
it('Allows selection of Reddcoin', function(done) {
var params = {
selectText: "RDD - Reddcoin",
@@ -1341,6 +1392,69 @@ it('Allows selection of ProjectCoin', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Phore', function(done) {
var params = {
selectText: "PHR - Phore",
firstAddress: "PJThxpoXAG6hqrmdeQQbVDX4TJtFTMMymC",
};
testNetwork(done, params);
});
it('Allows selection of Safecoin', function(done) {
var params = {
selectText: "SAFE - Safecoin",
firstAddress: "RtxHpnhJz6RY8k9owP3ua5QWraunmewB1G",
};
testNetwork(done, params);
});
it('Allows selection of Blocknode', function(done) {
var params = {
selectText: "BND - Blocknode",
firstAddress: "BG8xZSAur2jYLG9VXt8dYfkKxxeR7w9bSe",
};
testNetwork(done, params);
});
it('Allows selection of Blocknode Testnet', function(done) {
var params = {
selectText: "tBND - Blocknode Testnet",
firstAddress: "bSptsFyDktFSKpWveRywJsDoJA2TC6qfHv",
};
testNetwork(done, params);
});
it('Allows selection of LitecoinZ', function(done) {
var params = {
selectText: "LTZ - LitecoinZ",
firstAddress: "L1VTXju7hLgKV4T7fGXS9sKsnm2gmtRCmyw",
};
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) {