mirror of
https://github.com/OneKeyHQ/bip39.git
synced 2026-04-06 19:03:49 +00:00
Compare commits
98 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e47cd1970f | ||
|
|
d221cd2f37 | ||
|
|
fe3c963b73 | ||
|
|
42fcf83e9b | ||
|
|
b7de1f3d89 | ||
|
|
0afecfc73c | ||
|
|
44a5d363c7 | ||
|
|
f83d786dd7 | ||
|
|
83fefeaf0b | ||
|
|
9d4e17928a | ||
|
|
0f9081e2b5 | ||
|
|
60727c5175 | ||
|
|
0d9c6c5458 | ||
|
|
c990aff819 | ||
|
|
4b1be40dea | ||
|
|
b4d881fbd0 | ||
|
|
cc9ed1c575 | ||
|
|
3b43552ceb | ||
|
|
e96d3876c4 | ||
|
|
0f1cfea04c | ||
|
|
9369eaa6d5 | ||
|
|
4218c87458 | ||
|
|
2ab3faf414 | ||
|
|
6db7516d4a | ||
|
|
0b6e351dce | ||
|
|
6f7fa3539e | ||
|
|
7733ac322b | ||
|
|
530648c174 | ||
|
|
c147cb5e4f | ||
|
|
bddd5d9f95 | ||
|
|
cbd0625ff7 | ||
|
|
bd06face96 | ||
|
|
5c3143888e | ||
|
|
55b878d8d5 | ||
|
|
370e201901 | ||
|
|
6df5b2a100 | ||
|
|
29c30bf33a | ||
|
|
bda303dd53 | ||
|
|
bb381a72ab | ||
|
|
35d9e9fddc | ||
|
|
1e2cc748b0 | ||
|
|
f62138da71 | ||
|
|
95edc76985 | ||
|
|
7d9b5f6871 | ||
|
|
24355c461b | ||
|
|
4b250c83eb | ||
|
|
e32531d9a9 | ||
|
|
ccdd300af3 | ||
|
|
e0f91e2029 | ||
|
|
956e44efd7 | ||
|
|
65cef19412 | ||
|
|
0702ecd352 | ||
|
|
584dbddd37 | ||
|
|
b08caad07e | ||
|
|
f150f0c03a | ||
|
|
e3bed0bfd0 | ||
|
|
0a5d28a7ad | ||
|
|
a08c709606 | ||
|
|
645945a00f | ||
|
|
85c906727a | ||
|
|
d1b4c8c579 | ||
|
|
e602fd18de | ||
|
|
85f762c905 | ||
|
|
3021870752 | ||
|
|
63e2e0755f | ||
|
|
9a2ca392f0 | ||
|
|
db37d63919 | ||
|
|
2eab7c3236 | ||
|
|
38122a3d58 | ||
|
|
680b94c1ef | ||
|
|
e5167afe28 | ||
|
|
88ae130125 | ||
|
|
27fa320125 | ||
|
|
dfbb5a65ff | ||
|
|
206a27352d | ||
|
|
0c9bbd03b0 | ||
|
|
52d698e42f | ||
|
|
b777ff554d | ||
|
|
0d876b51df | ||
|
|
ae008be5db | ||
|
|
2ed3f6c0c8 | ||
|
|
dfe833a7db | ||
|
|
fca07769eb | ||
|
|
5028988195 | ||
|
|
139becaf2c | ||
|
|
0514c20b81 | ||
|
|
f8ca25c338 | ||
|
|
548d94994b | ||
|
|
09d63290a4 | ||
|
|
d6cade868f | ||
|
|
048721a6ff | ||
|
|
892ce76fed | ||
|
|
aaa82c097f | ||
|
|
05311e7f54 | ||
|
|
40209fd898 | ||
|
|
e5520bb859 | ||
|
|
e1d0cf4f72 | ||
|
|
e82a142872 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
node_modules
|
||||
bip39-standalone.html
|
||||
|
||||
104352
bip39-standalone.html
104352
bip39-standalone.html
File diff suppressed because one or more lines are too long
50
changelog.md
50
changelog.md
@@ -1,3 +1,53 @@
|
||||
# 0.3.8
|
||||
|
||||
* Add p2wpkh for litecoin
|
||||
* Add more networks - TSTRAT, Hush, ETC, PIRL, CLO, MIX, MUSIC, POA, EXP
|
||||
* Add coinomi/ledger client to BIP32 tab
|
||||
* Fix SYSCOIN and BTX parameters
|
||||
* Remove bip39-standalone.html from repository
|
||||
* Remove duplicate id properties on html elements
|
||||
|
||||
# 0.3.7
|
||||
|
||||
* Update AXE network parameters
|
||||
* Add new networks - Xuez, BTCP, BTCZ, ZCL, ZEN
|
||||
* Add litecoin bech32 params
|
||||
* Fix BIP38 for altcoins
|
||||
* Fix missing span closing tag
|
||||
* Add indicator to UI for when BIP84 is unavailable
|
||||
* Replace hasSegwit variable with test for segwit params
|
||||
* Allow xpub to be used as root key for segwit derivations
|
||||
* Add visual privacy safeguard
|
||||
|
||||
# 0.3.6
|
||||
|
||||
* Add Kobocoin
|
||||
* Update Vertcoin version byte and segwit support
|
||||
* Add Zcash
|
||||
* Korean mnemonics use ascii spaces
|
||||
* Add CashAddr address format for bitcoin cash
|
||||
|
||||
# 0.3.5
|
||||
|
||||
* Fix typo
|
||||
* Add Neblio network
|
||||
* Update bitcoinjs-lib from 3.3.0 to 3.3.2
|
||||
* Add Beetle Coin
|
||||
* Add segwit for bitcoin testnet and Fujicoin
|
||||
* Set coin number for Bitcoin God to 156
|
||||
* Add coins supported by coinomi
|
||||
* Warn when generating low entropy mnemonics
|
||||
* Warn when overriding weak entropy with a strong mnemonic length
|
||||
|
||||
# 0.3.4
|
||||
|
||||
* Add BlackCoin
|
||||
* Add Denarius
|
||||
* Raw entropy shows groupings with space every 11 bits
|
||||
* Checksum shown in entropy details
|
||||
* Warn that entropy values should exclude checksum
|
||||
* Add Korean language
|
||||
|
||||
# 0.3.3
|
||||
|
||||
* Add AXE network
|
||||
|
||||
@@ -103,3 +103,6 @@ body {
|
||||
overflow-x: scroll;
|
||||
font-family: monospace;
|
||||
}
|
||||
.visual-privacy .private-data {
|
||||
display: none;
|
||||
}
|
||||
|
||||
253
src/index.html
253
src/index.html
@@ -15,7 +15,7 @@
|
||||
<div class="container">
|
||||
|
||||
<h1 class="text-center">Mnemonic Code Converter</h1>
|
||||
<p class="version">v0.3.3</p>
|
||||
<p class="version">v0.3.8</p>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
@@ -48,7 +48,12 @@
|
||||
<option value="21">21</option>
|
||||
<option value="24">24</option>
|
||||
</select>
|
||||
<span>words</span>
|
||||
<span>words</span>.
|
||||
<p class="warning help-block hidden">
|
||||
<span class="text-danger">
|
||||
Mnemonics with less than 12 words have low entropy and may be guessed by an attacker.
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -64,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 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"></textarea>
|
||||
<div class="row filter-warning text-danger hidden">
|
||||
<p class="col-sm-12">
|
||||
<strong>
|
||||
@@ -91,21 +96,28 @@
|
||||
<div class="bits col-sm-3 form-control-static"></div>
|
||||
</div>
|
||||
<label class="col-sm-3 control-label">Filtered Entropy</label>
|
||||
<div class="filtered col-sm-9 form-control-static"></div>
|
||||
<div class="filtered private-data col-sm-9 form-control-static"></div>
|
||||
<label class="col-sm-3 control-label">Raw Binary</label>
|
||||
<div class="binary col-sm-9 form-control-static"></div>
|
||||
<div class="binary private-data col-sm-9 form-control-static"></div>
|
||||
<label class="col-sm-3 control-label">Binary Checksum</label>
|
||||
<div class="checksum private-data col-sm-9 form-control-static"> </div>
|
||||
<label class="col-sm-3 control-label">Word Indexes</label>
|
||||
<div class="word-indexes col-sm-9 form-control-static"> </div>
|
||||
<div class="word-indexes private-data col-sm-9 form-control-static"> </div>
|
||||
<label class="col-sm-3 control-label">Mnemonic Length</label>
|
||||
<div class="col-sm-9">
|
||||
<select class="mnemonic-length form-control">
|
||||
<option value="raw" selected>Use Raw Entropy (3 words per 32 bits)</option>
|
||||
<option value="12">12 <span>Words</span></option>
|
||||
<option value="15">15 <span>Words</option>
|
||||
<option value="15">15 <span>Words</span></option>
|
||||
<option value="18">18 <span>Words</span></option>
|
||||
<option value="21">21 <span>Words</span></option>
|
||||
<option value="24">24 <span>Words</span></option>
|
||||
</select>
|
||||
<p class="weak-entropy-override-warning hidden">
|
||||
<span class="text-danger">
|
||||
The mnemonic will appear more secure than it really is.
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
@@ -130,6 +142,15 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-2"></div>
|
||||
<div class="col-sm-10 checkbox">
|
||||
<label>
|
||||
<input type="checkbox" class="privacy-screen-toggle">
|
||||
<span>Hide all private info</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">Mnemonic Language</label>
|
||||
<div class="col-sm-10 languages">
|
||||
@@ -141,25 +162,26 @@
|
||||
<a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
|
||||
<a href="#french" title="French">Français</a>
|
||||
<a href="#italian" title="Italian">Italiano</a>
|
||||
<a href="#korean" title="Korean">한국어</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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 form-control" data-show-qr></textarea>
|
||||
<textarea id="phrase" class="phrase private-data form-control" data-show-qr></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 form-control"></textarea>
|
||||
<textarea id="passphrase" class="passphrase private-data form-control"></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 form-control" readonly="readonly" data-show-qr></textarea>
|
||||
<textarea id="seed" class="seed private-data form-control" readonly="readonly" data-show-qr></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -173,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 form-control" data-show-qr></textarea>
|
||||
<textarea id="root-key" class="root-key private-data form-control" data-show-qr></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group litecoin-ltub-container hidden">
|
||||
@@ -223,35 +245,35 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="purpose" class="col-sm-2 control-label">
|
||||
<label for="purpose-bip44" class="col-sm-2 control-label">
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="purpose" type="text" class="purpose form-control" value="44" readonly>
|
||||
<input id="purpose-bip44" type="text" class="purpose form-control" value="44" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="coin" class="col-sm-2 control-label">
|
||||
<label for="coin-bip44" class="col-sm-2 control-label">
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="coin" type="text" class="coin form-control" value="0" readonly>
|
||||
<input id="coin-bip44" type="text" class="coin form-control" value="0" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="account" class="col-sm-2 control-label">
|
||||
<label for="account-bip44" class="col-sm-2 control-label">
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="account" type="text" class="account form-control" value="0">
|
||||
<input id="account-bip44" type="text" class="account form-control" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="change" class="col-sm-2 control-label">
|
||||
<label for="change-bip44" class="col-sm-2 control-label">
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="change" type="text" class="change form-control" value="0">
|
||||
<input id="change-bip44" type="text" class="change form-control" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -266,7 +288,7 @@
|
||||
<span>Account Extended Private Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xprv" type="text" class="account-xprv 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></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -274,7 +296,7 @@
|
||||
<span>Account Extended Public Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xpub" 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></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -383,35 +405,35 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="purpose" class="col-sm-2 control-label">
|
||||
<label for="purpose-bip49" class="col-sm-2 control-label">
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="purpose" type="text" class="purpose form-control" value="49" readonly>
|
||||
<input id="purpose-bip49" type="text" class="purpose form-control" value="49" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="coin" class="col-sm-2 control-label">
|
||||
<label for="coin-bip49" class="col-sm-2 control-label">
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="coin" type="text" class="coin form-control" value="0" readonly>
|
||||
<input id="coin-bip49" type="text" class="coin form-control" value="0" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="account" class="col-sm-2 control-label">
|
||||
<label for="account-bip49" class="col-sm-2 control-label">
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="account" type="text" class="account form-control" value="0">
|
||||
<input id="account-bip49" type="text" class="account form-control" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="change" class="col-sm-2 control-label">
|
||||
<label for="change-bip49" class="col-sm-2 control-label">
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="change" type="text" class="change form-control" value="0">
|
||||
<input id="change-bip49" type="text" class="change form-control" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -426,7 +448,7 @@
|
||||
<span>Account Extended Private Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xprv" type="text" class="account-xprv 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></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -434,7 +456,7 @@
|
||||
<span>Account Extended Public Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xpub" 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></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -493,79 +515,89 @@
|
||||
<div id="bip84" class="tab-pane">
|
||||
<form class="form-horizontal" role="form">
|
||||
<br>
|
||||
<div class="col-sm-2"></div>
|
||||
<div class="col-sm-10">
|
||||
<p>
|
||||
For more info see the
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki" target="_blank">BIP84 spec</a>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="purpose" class="col-sm-2 control-label">
|
||||
Purpose
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="purpose" type="text" class="purpose form-control" value="84" readonly>
|
||||
<div class="unavailable hidden">
|
||||
<div class="form-group">
|
||||
<div class="col-sm-2"></div>
|
||||
<div class="col-sm-10">
|
||||
<p>BIP84 is unavailable for this coin.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="coin" class="col-sm-2 control-label">
|
||||
Coin
|
||||
</label>
|
||||
<div class="available">
|
||||
<div class="col-sm-2"></div>
|
||||
<div class="col-sm-10">
|
||||
<input id="coin" type="text" class="coin form-control" value="0" readonly>
|
||||
<p>
|
||||
For more info see the
|
||||
<a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki" target="_blank">BIP84 spec</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="account" class="col-sm-2 control-label">
|
||||
Account
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="account" type="text" class="account form-control" value="0">
|
||||
<div class="form-group">
|
||||
<label for="purpose-bip84" class="col-sm-2 control-label">
|
||||
Purpose
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="purpose-bip84" type="text" class="purpose form-control" value="84" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="change" class="col-sm-2 control-label">
|
||||
External / Internal
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="change" type="text" class="change form-control" value="0">
|
||||
<div class="form-group">
|
||||
<label for="coin-bip84" class="col-sm-2 control-label">
|
||||
Coin
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="coin-bip84" type="text" class="coin form-control" value="0" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<p>The account extended keys can be used for importing to most BIP84 compatible wallets.</p>
|
||||
<div class="form-group">
|
||||
<label for="account-bip84" class="col-sm-2 control-label">
|
||||
Account
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="account-bip84" type="text" class="account form-control" value="0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="account-xprv" class="col-sm-2 control-label">
|
||||
<span>Account Extended Private Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
|
||||
<div class="form-group">
|
||||
<label for="change-bip84" class="col-sm-2 control-label">
|
||||
External / Internal
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="change-bip84" type="text" class="change form-control" value="0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="account-xpub" class="col-sm-2 control-label">
|
||||
<span>Account Extended Public Key</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<p>The account extended keys can be used for importing to most BIP84 compatible wallets.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
|
||||
<div class="form-group">
|
||||
<label for="account-xprv" class="col-sm-2 control-label">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="bip84-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="bip84-path" type="text" class="path form-control" value="m/84'/0'/0'/0" readonly="readonly">
|
||||
<div class="form-group">
|
||||
<label for="account-xpub" class="col-sm-2 control-label">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="bip84-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="bip84-path" type="text" class="path form-control" value="m/84'/0'/0'/0" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -575,7 +607,7 @@
|
||||
<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 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></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -595,13 +627,25 @@
|
||||
<h2>Derived Addresses</h2>
|
||||
<p>Note these addresses are derived from the BIP32 Extended Key</p>
|
||||
</div>
|
||||
<div class="col-md-12 use-bitpay-addresses-container hidden">
|
||||
<div class="checkbox">
|
||||
<div class="col-md-12 bch-addr-type-container hidden">
|
||||
<div class="radio">
|
||||
<label>
|
||||
<input type="checkbox" class="use-bitpay-addresses">
|
||||
<input type="radio" value="cashaddr" name="bch-addr-type" class="use-bch-cashaddr-addresses" checked="checked">
|
||||
<span>Use CashAddr addresses for Bitcoin Cash (ie starting with 'q' instead of '1')</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="radio">
|
||||
<label>
|
||||
<input type="radio" value="bitpay" name="bch-addr-type" class="use-bch-bitpay-addresses">
|
||||
<span>Use BitPay-style addresses for Bitcoin Cash (ie starting with 'C' instead of '1')</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="radio">
|
||||
<label>
|
||||
<input type="radio" value="legacy" name="bch-addr-type" class="use-bch-legacy-addresses">
|
||||
<span>Use legacy addresses for Bitcoin Cash (ie starting with '1')</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="checkbox">
|
||||
@@ -609,8 +653,8 @@
|
||||
<input type="checkbox" class="use-bip38">
|
||||
<span>Encrypt private keys using BIP38 and this password:</span>
|
||||
</label>
|
||||
<input class="bip38-password">
|
||||
<span>Enabling BIP38 means each key will take take several minutes to generate.</span>
|
||||
<input class="bip38-password private-data">
|
||||
<span>Enabling BIP38 means each key will take several minutes to generate.</span>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="addresses-type nav nav-tabs" role="tablist">
|
||||
@@ -713,6 +757,9 @@
|
||||
<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>
|
||||
</p>
|
||||
<p>
|
||||
<span>
|
||||
Entropy values must be sourced from a
|
||||
@@ -871,7 +918,7 @@
|
||||
<td class="index"><span></span></td>
|
||||
<td class="address"><span data-show-qr></span></td>
|
||||
<td class="pubkey"><span data-show-qr></span></td>
|
||||
<td class="privkey"><span data-show-qr></span></td>
|
||||
<td class="privkey private-data"><span data-show-qr></span></td>
|
||||
</tr>
|
||||
</script>
|
||||
<script src="js/polyfill.es6.js"></script>
|
||||
@@ -881,12 +928,13 @@
|
||||
<script src="js/bootstrap-3.3.7.js"></script>
|
||||
<script src="js/levenshtein.js"></script>
|
||||
<script src="js/kjua-0.1.1.min.js"></script>
|
||||
<script src="js/bitcoinjs-3.3.0.js"></script>
|
||||
<script src="js/bitcoinjs-3.3.2.js"></script>
|
||||
<script src="js/bitcoinjs-extensions.js"></script>
|
||||
<script src="js/bitcoinjs-bip38-2.0.2.js"></script>
|
||||
<script src="js/segwit-parameters.js"></script>
|
||||
<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/sjcl-bip39.js"></script>
|
||||
<script src="js/wordlist_english.js"></script>
|
||||
<script src="js/wordlist_japanese.js"></script>
|
||||
@@ -895,6 +943,7 @@
|
||||
<script src="js/wordlist_chinese_traditional.js"></script>
|
||||
<script src="js/wordlist_french.js"></script>
|
||||
<script src="js/wordlist_italian.js"></script>
|
||||
<script src="js/wordlist_korean.js"></script>
|
||||
<script src="js/jsbip39.js"></script>
|
||||
<script src="js/biginteger.js"></script>
|
||||
<script src="js/zxcvbn.js"></script>
|
||||
|
||||
9328
src/js/bchaddrjs-0.2.1.js
Normal file
9328
src/js/bchaddrjs-0.2.1.js
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
938
src/js/index.js
938
src/js/index.js
File diff suppressed because it is too large
Load Diff
@@ -156,14 +156,7 @@ var Mnemonic = function(language) {
|
||||
}
|
||||
|
||||
self.normalizeString = function(str) {
|
||||
if (typeof str.normalize == "function") {
|
||||
return str.normalize("NFKD");
|
||||
}
|
||||
else {
|
||||
// TODO decide how to handle this in the future.
|
||||
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
|
||||
return str;
|
||||
}
|
||||
return str.normalize("NFKD");
|
||||
}
|
||||
|
||||
function byteArrayToWordArray(data) {
|
||||
|
||||
@@ -15,6 +15,19 @@ bitcoinjs.bitcoin.networks.bitcoin.p2wpkh = {
|
||||
wif: 0x80
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.testnet.p2wpkh = {
|
||||
baseNetwork: "testnet",
|
||||
messagePrefix: '\x18Bitcoin Signed Message:\n',
|
||||
bech32: 'tb',
|
||||
bip32: {
|
||||
public: 0x045f1cf6,
|
||||
private: 0x045f18bc
|
||||
},
|
||||
pubKeyHash: 0x6f,
|
||||
scriptHash: 0xc4,
|
||||
wif: 0xef
|
||||
};
|
||||
|
||||
// p2wpkh in p2sh
|
||||
|
||||
bitcoinjs.bitcoin.networks.bitcoin.p2wpkhInP2sh = {
|
||||
@@ -43,9 +56,23 @@ bitcoinjs.bitcoin.networks.testnet.p2wpkhInP2sh = {
|
||||
wif: 0xef
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.litecoin.p2wpkh = {
|
||||
baseNetwork: "litecoin",
|
||||
messagePrefix: '\x19Litecoin Signed Message:\n',
|
||||
bech32: 'ltc',
|
||||
bip32: {
|
||||
public: 0x04b24746,
|
||||
private: 0x04b2430c
|
||||
},
|
||||
pubKeyHash: 0x30,
|
||||
scriptHash: 0x32,
|
||||
wif: 0xb0
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.litecoin.p2wpkhInP2sh = {
|
||||
baseNetwork: "litecoin",
|
||||
messagePrefix: '\x19Litecoin Signed Message:\n',
|
||||
bech32: 'ltc',
|
||||
bip32: {
|
||||
public: 0x01b26ef6,
|
||||
private: 0x01b26792
|
||||
@@ -55,4 +82,55 @@ bitcoinjs.bitcoin.networks.litecoin.p2wpkhInP2sh = {
|
||||
wif: 0xb0
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.fujicoin.p2wpkh = {
|
||||
baseNetwork: "fujicoin",
|
||||
messagePrefix: '\x19FujiCoin Signed Message:\n',
|
||||
bech32: 'fc',
|
||||
bip32: {
|
||||
public: 0x04b24746,
|
||||
private: 0x04b2430c
|
||||
},
|
||||
pubKeyHash: 0x24,
|
||||
scriptHash: 0x10,
|
||||
wif: 0xa4
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.fujicoin.p2wpkhInP2sh = {
|
||||
baseNetwork: "fujicoin",
|
||||
messagePrefix: '\x19FujiCoin Signed Message:\n',
|
||||
bech32: 'fc',
|
||||
bip32: {
|
||||
public: 0x049d7cb2,
|
||||
private: 0x049d7878
|
||||
},
|
||||
pubKeyHash: 0x24,
|
||||
scriptHash: 0x10,
|
||||
wif: 0xa4
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.vertcoin.p2wpkh = {
|
||||
baseNetwork: "vertcoin",
|
||||
messagePrefix: '\x18Vertcoin Signed Message:\n',
|
||||
bech32: 'vtc',
|
||||
bip32: {
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4
|
||||
},
|
||||
pubKeyHash: 71,
|
||||
scriptHash: 5,
|
||||
wif: 0x80
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.vertcoin.p2wpkhInP2sh = {
|
||||
baseNetwork: "vertcoin",
|
||||
messagePrefix: '\x18Vertcoin Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4
|
||||
},
|
||||
pubKeyHash: 71,
|
||||
scriptHash: 5,
|
||||
wif: 0x80
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// Polyfill for NFKD normalization
|
||||
// See https://github.com/walling/unorm
|
||||
|
||||
(function (root) {
|
||||
"use strict";
|
||||
|
||||
|
||||
2051
src/js/wordlist_korean.js
Normal file
2051
src/js/wordlist_korean.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -423,6 +423,13 @@ it('Allows selection of dogecoin', function(done) {
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of denarius', function(done) {
|
||||
var params = {
|
||||
selectText: "DNR - Denarius",
|
||||
firstAddress: "DFdFMVUMzU9xX88EywXvAGwjiwpxyh9vKb",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of shadowcash', function(done) {
|
||||
var params = {
|
||||
selectText: "SDC - ShadowCash",
|
||||
@@ -546,7 +553,7 @@ it('Allows selection of slimcoin testnet', function(done) {
|
||||
it('Allows selection of bitcoin cash', function(done) {
|
||||
var params = {
|
||||
selectText: "BCH - Bitcoin Cash",
|
||||
firstAddress: "1JKvb6wKtsjNoCRxpZ4DGrbniML7z5U16A",
|
||||
firstAddress: "bitcoincash:qzlquk7w4hkudxypl4fgv8x279r754dkvur7jpcsps",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
@@ -595,7 +602,7 @@ it('Allows selection of nubits', function(done) {
|
||||
it('Allows selection of bitcoin gold', function(done) {
|
||||
var params = {
|
||||
selectText: "BTG - Bitcoin Gold",
|
||||
firstAddress: "GWYxuwSqANWGV3WT7Gpr6HE91euYXBqtwQ",
|
||||
firstAddress: "GdDqug4WUsn5syNbSTHatNn4XnuwZtzedx",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
@@ -609,10 +616,662 @@ it('Allows selection of monacoin', function(done) {
|
||||
it('Allows selection of AXE', function(done) {
|
||||
var params = {
|
||||
selectText: "AXE - Axe",
|
||||
firstAddress: "XQ4HLxUVS3egk5ff1o9e2vJFJKSSsUH3B7",
|
||||
firstAddress: "PScwtLUyPiGrqtKXrHF37DGETLXLZdw4up",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of BlackCoin', function(done) {
|
||||
var params = {
|
||||
selectText: "BLK - BlackCoin",
|
||||
firstAddress: "B5MznAKwj7uQ42vDz3w4onhBXPcqhTwJ9z",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Neblio', function(done) {
|
||||
var params = {
|
||||
selectText: "NEBL - Neblio",
|
||||
firstAddress: "NefkeEEvhusbHMmTRrxx7H9wFnUXd8qQsE",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Beetlecoin', function(done) {
|
||||
var params = {
|
||||
selectText: "BEET - Beetlecoin",
|
||||
firstAddress: "BVmtbEsGrjpknprmpHFq26z4kYHJUFHE71",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Adcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "ACC - Adcoin",
|
||||
firstAddress: "AcEDM6V5sF4kFHC76MJjjfProtS5Sw2qcd",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Asiacoin', function(done) {
|
||||
var params = {
|
||||
selectText: "AC - Asiacoin",
|
||||
firstAddress: "ALupuEEz7kJjQTAvmtcBMBVuEjPa7GqZzE",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Auroracoin', function(done) {
|
||||
var params = {
|
||||
selectText: "AUR - Auroracoin",
|
||||
firstAddress: "ANuraS6F4Jpi413FEnavjYkKYJJRHkgYCm",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Bata', function(done) {
|
||||
var params = {
|
||||
selectText: "BTA - Bata",
|
||||
firstAddress: "BGxBdNeYPtF3GCuTtZBPQdFxCkdBYSF3fj",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Belacoin', function(done) {
|
||||
var params = {
|
||||
selectText: "BELA - Belacoin",
|
||||
firstAddress: "BEeetqpNffdzeknSpNmQp5KAFh2KK1Qx7S",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Bitcoin Atom', function(done) {
|
||||
var params = {
|
||||
selectText: "BCA - Bitcoin Atom",
|
||||
firstAddress: "AMy6qMbJeC4zsGRL6iWszmeCdQH65fgfih",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Bitcoinplus', function(done) {
|
||||
var params = {
|
||||
selectText: "XBC - Bitcoinplus",
|
||||
firstAddress: "B7FSynZoDbEwTCSgsXq9nJ5ue8owYLVL8r",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Bitcoin Private', function(done) {
|
||||
var params = {
|
||||
selectText: "BTCP - Bitcoin Private",
|
||||
firstAddress: "b1M3PbiXXyN6Hdivdw5rJv5VKpLjPzhm4jM",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Bitcoinz', function(done) {
|
||||
var params = {
|
||||
selectText: "BTCZ - Bitcoinz",
|
||||
firstAddress: "t1X2YQoxs8cYRo2oaBYgVEwW5QNjCC59NYc",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Bitcore', function(done) {
|
||||
var params = {
|
||||
selectText: "BTX - Bitcore",
|
||||
firstAddress: "2Rgp5Znhpy34TK4QmPkfCiYs9r4KovfTH9",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Bitsend', function(done) {
|
||||
var params = {
|
||||
selectText: "BSD - Bitsend",
|
||||
firstAddress: "iBPk7LYjDun3EPk7CRR8UUmnPoceVc1bp2",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Britcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "BRIT - Britcoin",
|
||||
firstAddress: "B6Aue4J2XLs1f1dtD4H1SHYFfh4XrmEbrw",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Canadaecoin', function(done) {
|
||||
var params = {
|
||||
selectText: "CDN - Canadaecoin",
|
||||
firstAddress: "CanAyCfd5Rj2CQVfaoAmvDUZunPM5W1AEQ",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Cannacoin', function(done) {
|
||||
var params = {
|
||||
selectText: "CCN - Cannacoin",
|
||||
firstAddress: "CYjW8xWB43g6krLJTmmrPk1PonoQX7h9Qd",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Clubcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "CLUB - Clubcoin",
|
||||
firstAddress: "CHMDEXN4sihpSVX4GyAa2hZ62shnby7uyN",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Compcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "CMP - Compcoin",
|
||||
firstAddress: "CLshtw3zhxkseBJS46UF12v3AFy9Dx7JVv",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Crave', function(done) {
|
||||
var params = {
|
||||
selectText: "CRAVE - Crave",
|
||||
firstAddress: "VCYJeti6uKMNBFKCL7eP96UwuFWYHM7c85",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Defcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "DFC - Defcoin",
|
||||
firstAddress: "D8swcgyaaFUrXZU3ATwbgy16buCpWqbG1M",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Diamond', function(done) {
|
||||
var params = {
|
||||
selectText: "DMD - Diamond",
|
||||
firstAddress: "dJnrVbLL9UPjdaVRz2C8VpqHZknqAqjLek",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Digibyte', function(done) {
|
||||
var params = {
|
||||
selectText: "DGB - Digibyte",
|
||||
firstAddress: "D85Rp9jwLtMdmP6wGjTiqHBdVQLST3YCEq",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Digitalcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "DGC - Digitalcoin",
|
||||
firstAddress: "DKw4UGKEAZWweDNEbBFNQx4EM8x1mpUdia",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Ecoin', function(done) {
|
||||
var params = {
|
||||
selectText: "ECN - Ecoin",
|
||||
firstAddress: "e6WFPLG5gcXyF7cESFteH1hE2XSmowW5yB",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Edrcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "EDRC - Edrcoin",
|
||||
firstAddress: "eh1nUJsvgKPFv6ebMBfcwJ299GMCpjeZUG",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Egulden', function(done) {
|
||||
var params = {
|
||||
selectText: "EFL - Egulden",
|
||||
firstAddress: "Lg66yt55R7edRM58cDhKzXik2kFme3viX7",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Einsteinium', function(done) {
|
||||
var params = {
|
||||
selectText: "EMC2 - Einsteinium",
|
||||
firstAddress: "EVAABm9hXKHk2MpVMbwNakRubFnNha5m8m",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Europecoin', function(done) {
|
||||
var params = {
|
||||
selectText: "ERC - Europecoin",
|
||||
firstAddress: "ESA2YwPYntAoaPrE8Fm5qkKRtkcwLcwD6R",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Exclusivecoin', function(done) {
|
||||
var params = {
|
||||
selectText: "EXCL - Exclusivecoin",
|
||||
firstAddress: "EbUa6m8UZW6nTxsYZD2FsDjkadKbp5M6JT",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Feathercoin', function(done) {
|
||||
var params = {
|
||||
selectText: "FTC - Feathercoin",
|
||||
firstAddress: "6gDdjAMoSgQaW8UhqK3oboHs6ftGAroKkM",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Firstcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "FRST - Firstcoin",
|
||||
firstAddress: "FJN9GzfMm7Q8R4DJwK1H9F6A1GTghvFiMJ",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Flashcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "FLASH - Flashcoin",
|
||||
firstAddress: "UWfpf5LfMmLxZYooEb2EyvWhZ8NG7EZDRt",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of GCRCoin', function(done) {
|
||||
var params = {
|
||||
selectText: "GCR - GCRCoin",
|
||||
firstAddress: "GJjF5cLwyXLacpuvXAVksxGxKvHDjx58d6",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Gobyte', function(done) {
|
||||
var params = {
|
||||
selectText: "GBX - Gobyte",
|
||||
firstAddress: "GS813Ys2brkmvSUw1rUqGPm2HqQVDHJRyA",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Gridcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "GRC - Gridcoin",
|
||||
firstAddress: "SGrWbBPvobgqKRF8td1Kdc9vbRY7MJ78Y9",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Gulden', function(done) {
|
||||
var params = {
|
||||
selectText: "NLG - Gulden",
|
||||
firstAddress: "GcDP7cNEc33MPPdTFNJ8pZc6VMZJ2CbKxY",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Helleniccoin', function(done) {
|
||||
var params = {
|
||||
selectText: "HNC - Helleniccoin",
|
||||
firstAddress: "LbHEKe5H72zp9G1fuWNiiNePTUfJb88915",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Hempcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "THC - Hempcoin",
|
||||
firstAddress: "H8sdWbZyJV4gyXyHtLXDaNnAuUDhK5mfTV",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Insane', function(done) {
|
||||
var params = {
|
||||
selectText: "INSN - Insane",
|
||||
firstAddress: "iMPqEJMiXWuxC9U2NVinCCMr4t72h58EWx",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Iop', function(done) {
|
||||
var params = {
|
||||
selectText: "IOP - Iop",
|
||||
firstAddress: "pGKQmcaPf95Ur5o6oHK4qdiZ52p1yaTvq1",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Ixcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "IXC - Ixcoin",
|
||||
firstAddress: "xgE9bTZ6YypT3E6ByzkTt31Hq68E9BqywH",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Kobocoin', function(done) {
|
||||
var params = {
|
||||
selectText: "KOBO - Kobocoin",
|
||||
firstAddress: "FTVoNJETXDAM8x7MnmdE8RwWndSr9PQWhy",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Landcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "LDCN - Landcoin",
|
||||
firstAddress: "LLvLwNjG1aJcn1RS4W4GJUbv8fNaRATG7c",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Library Credits', function(done) {
|
||||
var params = {
|
||||
selectText: "LBC - Library Credits",
|
||||
firstAddress: "bQJEQrHDJyHdqycB32uysh1SWn8Ln8LMdg",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Linx', function(done) {
|
||||
var params = {
|
||||
selectText: "LINX - Linx",
|
||||
firstAddress: "XGWQ3cb3LGUB3VnHmj6xYSMgnokNbf6dyk",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Litecoincash', function(done) {
|
||||
var params = {
|
||||
selectText: "LCC - Litecoincash",
|
||||
firstAddress: "Ce5n7fjUuQPLutJ4W5nCCfQLKdKLE1mv9A",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Lynx', function(done) {
|
||||
var params = {
|
||||
selectText: "LYNX - Lynx",
|
||||
firstAddress: "KUeY3ZdZkg96p4W98pj1JjygCFU1XqWdw3",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Minexcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "MNX - Minexcoin",
|
||||
firstAddress: "XC1VnyJVfiMDwWgFtAHDp41cgY3AHk3dJT",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Navcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "NAV - Navcoin",
|
||||
firstAddress: "NTQVTPK3NWSQLKoffkiQw99T8PifkF1Y2U",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Neoscoin', function(done) {
|
||||
var params = {
|
||||
selectText: "NEOS - Neoscoin",
|
||||
firstAddress: "NgATz6QbQNXvayHQ4CpZayugb9HeaPDdby",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Neurocoin', function(done) {
|
||||
var params = {
|
||||
selectText: "NRO - Neurocoin",
|
||||
firstAddress: "NVdYErQ3mFpDuF5DquW9WMiT7sLc8ufFTn",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Newyorkc', function(done) {
|
||||
var params = {
|
||||
selectText: "NYC - Newyorkc",
|
||||
firstAddress: "RSVMfyH1fKfy3puADJEhut2vfkRyon6imm",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Novacoin', function(done) {
|
||||
var params = {
|
||||
selectText: "NVC - Novacoin",
|
||||
firstAddress: "4JRvUmxcKCJmaMXZyvRoSS1cmG2XvnZfHN",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Nushares', function(done) {
|
||||
var params = {
|
||||
selectText: "NSR - Nushares",
|
||||
firstAddress: "SecjXzU3c7EecdT7EbC4vvmbdtBBokWh6J",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Okcash', function(done) {
|
||||
var params = {
|
||||
selectText: "OK - Okcash",
|
||||
firstAddress: "PV4Qp1TUYuGv4TqVtLZtqvrsWWRycfx1Yi",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Omnicore', function(done) {
|
||||
var params = {
|
||||
selectText: "OMNI - Omnicore",
|
||||
firstAddress: "1Q1t3gonjCT3rW38TsTsCvgSc3hh7zBGbi",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Pesobit', function(done) {
|
||||
var params = {
|
||||
selectText: "PSB - Pesobit",
|
||||
firstAddress: "PDePsF7ALyXP7JaywokdYiRTDtKa14MAr1",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Pinkcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "PINK - Pinkcoin",
|
||||
firstAddress: "2TgjYQffjbzUHJghNaVbdsjHbRwruC3yzC",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of POSWcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "POSW - POSWcoin",
|
||||
firstAddress: "PNxewmZoPnGBvoEbH6hgQZCK1igDiBCdgC",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Potcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "POT - Potcoin",
|
||||
firstAddress: "PEo7Vg2ctXgpP4vuLPeY9aGJtZotyrmiHc",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Putincoin', function(done) {
|
||||
var params = {
|
||||
selectText: "PUT - Putincoin",
|
||||
firstAddress: "PViWnfr2uFtovd6e7joM49C94CsGSnqJis",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Reddcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "RDD - Reddcoin",
|
||||
firstAddress: "RtgRvXMBng1y51ftteveFqwNfyRG18HpxQ",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of RevolutionVR', function(done) {
|
||||
var params = {
|
||||
selectText: "RVR - RevolutionVR",
|
||||
firstAddress: "VXeeoP2jkzZnMFxtc66ZBZK1NHN5QJnnjL",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Rubycoin', function(done) {
|
||||
var params = {
|
||||
selectText: "RBY - Rubycoin",
|
||||
firstAddress: "RV76JDtjTs11JdMDRToYn6CHecMRPLnKS6",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Smileycoin', function(done) {
|
||||
var params = {
|
||||
selectText: "SMLY - Smileycoin",
|
||||
firstAddress: "BEZVnEBCAyFByrgKpwAgYgtvP4rKAd9Sj2",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Solarcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "SLR - Solarcoin",
|
||||
firstAddress: "8LZ13HbnjtaMJWSvvVFNTLf71zFfDrhwLu",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Stratis', function(done) {
|
||||
var params = {
|
||||
selectText: "STRAT - Stratis",
|
||||
firstAddress: "ScfJnq3QDhKgDMEds6sqUE1ot6ShfhmXXq",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Stratis Test', function(done) {
|
||||
var params = {
|
||||
selectText: "TSTRAT - Stratis Testnet",
|
||||
firstAddress: "TRLWm3dye4FRrDWouwYUSUZP96xb76mBE3",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Syscoin', function(done) {
|
||||
var params = {
|
||||
selectText: "SYS - Syscoin",
|
||||
firstAddress: "SZwJi42Pst3VAMomyK5DG4157WM5ofRmSj",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Toa', function(done) {
|
||||
var params = {
|
||||
selectText: "TOA - Toa",
|
||||
firstAddress: "TSe1QAnUwQzUfbBusDzRJ9URttrRGKoNKF",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Ultimatesecurecash', function(done) {
|
||||
var params = {
|
||||
selectText: "USC - Ultimatesecurecash",
|
||||
firstAddress: "UPyLAZU2Che5fiy7Ed8xVJFmXAUhitA4ug",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Unobtanium', function(done) {
|
||||
var params = {
|
||||
selectText: "UNO - Unobtanium",
|
||||
firstAddress: "uUBMPVMXrR6qhqornJqKTWgr8L69vihSL9",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Vcash', function(done) {
|
||||
var params = {
|
||||
selectText: "XVC - Vcash",
|
||||
firstAddress: "VuL53MSY6KjvAjKSeRkh3NDnKykacDVeps",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Verge', function(done) {
|
||||
var params = {
|
||||
selectText: "XVG - Verge",
|
||||
firstAddress: "DCrVuGkMjLJpTGgwAgv9AcMdeb1nkWbjZA",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Vertcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "VTC - Vertcoin",
|
||||
firstAddress: "Vf6koGuiWdXQfx8tNqxoNeEDxh4xh5cxsG",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Vivo', function(done) {
|
||||
var params = {
|
||||
selectText: "VIVO - Vivo",
|
||||
firstAddress: "VFmBwuXXGhJe7MarQG2GfzHMFebRHgfSpB",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Vpncoin', function(done) {
|
||||
var params = {
|
||||
selectText: "VASH - Vpncoin",
|
||||
firstAddress: "VoEmH1qXC4TsSgBAStR21QYetwnFqbqCx9",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Whitecoin', function(done) {
|
||||
var params = {
|
||||
selectText: "XWC - Whitecoin",
|
||||
firstAddress: "WcSwCAUqrSgeSYbsaS3SSWWhsx8KRYTFDR",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Wincoin', function(done) {
|
||||
var params = {
|
||||
selectText: "WC - Wincoin",
|
||||
firstAddress: "WaDVCESMGgyKgNESdn3u43NnwmGSkZED3Z",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Zcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "XZC - Zcoin",
|
||||
firstAddress: "a6VcMdP4XgAA9Tr7xNszmPG5FZpfRf17Cq",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Zcash', function(done) {
|
||||
var params = {
|
||||
selectText: "ZEC - Zcash",
|
||||
firstAddress: "t1Sz8AneMcVuzUg3tPJ8et5AS5LFJ7K2EF9",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Zclassic', function(done) {
|
||||
var params = {
|
||||
selectText: "ZCL - Zclassic",
|
||||
firstAddress: "t1TBMxTvVJRybUbMLGWq8H4A8F4VUL7czEc",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Zencash', function(done) {
|
||||
var params = {
|
||||
selectText: "ZEN - Zencash",
|
||||
firstAddress: "znWh9XASyW2dZq5tck84wFjiwuqVysi7q3p",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Energi', function(done) {
|
||||
var params = {
|
||||
selectText: "NRG - Energi",
|
||||
firstAddress: "EejRy4t4nidzhGGzkJUgFP3z4HYBjhTsRt",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Ethereum Classic', function(done) {
|
||||
var params = {
|
||||
selectText: "ETC - Ethereum Classic",
|
||||
firstAddress: "0x3c05e5556693808367afB62eF3b63e35d6eD249A",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Pirl', function(done) {
|
||||
var params = {
|
||||
selectText: "PIRL - Pirl",
|
||||
firstAddress: "0xe77FC0723dA122B5025CA79193c28563eB47e776",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of MIX', function(done) {
|
||||
var params = {
|
||||
selectText: "MIX - MIX",
|
||||
firstAddress: "0x98BC5e63aeb6A4e82d72850d20710F07E29A29F1",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Musicoin', function(done) {
|
||||
var params = {
|
||||
selectText: "MUSIC - Musicoin",
|
||||
firstAddress: "0xDc060e4A0b0313ea83Cf6B3A39B9db2D29004897",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Poa', function(done) {
|
||||
var params = {
|
||||
selectText: "POA - Poa",
|
||||
firstAddress: "0x53aF28d754e106210C3d0467Dd581eaf7e3C5e60",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Expanse', function(done) {
|
||||
var params = {
|
||||
selectText: "EXP - Expanse",
|
||||
firstAddress: "0xf57FeAbf26582b6E3E666559d3B1Cc6fB2b2c5F6",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of Callisto', function(done) {
|
||||
var params = {
|
||||
selectText: "CLO - Callisto",
|
||||
firstAddress: "0x4f9364F7420B317266C51Dc8eB979717D4dE3f4E",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
it('Allows selection of HUSH', function(done) {
|
||||
var params = {
|
||||
selectText: "HUSH - Hush",
|
||||
firstAddress: "t1g6rLXUnJaiJuu4q4zmJjoa9Gk4fwKpiuA",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
|
||||
|
||||
// BIP39 seed is set from phrase
|
||||
it('Sets the bip39 seed from the prhase', function(done) {
|
||||
@@ -2225,6 +2884,13 @@ it('Can set the derivation path on bip32 tab for multibit', function(done) {
|
||||
useHardenedAddresses: null,
|
||||
});
|
||||
});
|
||||
it('Can set the derivation path on bip32 tab for coinomi/ledger', function(done) {
|
||||
testClientSelect(done, {
|
||||
selectValue: "3",
|
||||
bip32path: "m/44'/0'/0'",
|
||||
useHardenedAddresses: null,
|
||||
});
|
||||
});
|
||||
|
||||
// github issue 58
|
||||
// https://github.com/iancoleman/bip39/issues/58
|
||||
@@ -2559,10 +3225,26 @@ it('Warns when entropy is filtered and discarded', function(done) {
|
||||
});
|
||||
});
|
||||
|
||||
// Bitcoin Cash address can be set to use cashaddr format
|
||||
it('Can use cashaddr format for bitcoin cash addresses', function(done) {
|
||||
driver.executeScript(function() {
|
||||
$(".use-bch-cashaddr-addresses").prop("checked", true);
|
||||
});
|
||||
driver.findElement(By.css('.phrase'))
|
||||
.sendKeys("abandon abandon ability");
|
||||
selectNetwork("BCH - Bitcoin Cash");
|
||||
driver.sleep(generateDelay).then(function() {
|
||||
getFirstAddress(function(address) {
|
||||
expect(address).toBe("bitcoincash:qzlquk7w4hkudxypl4fgv8x279r754dkvur7jpcsps");
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Bitcoin Cash address can be set to use bitpay format
|
||||
it('Can use bitpay format for bitcoin cash addresses', function(done) {
|
||||
driver.executeScript(function() {
|
||||
$(".use-bitpay-addresses").prop("checked", true);
|
||||
$(".use-bch-bitpay-addresses").prop("checked", true);
|
||||
});
|
||||
driver.findElement(By.css('.phrase'))
|
||||
.sendKeys("abandon abandon ability");
|
||||
@@ -2575,6 +3257,22 @@ it('Can use bitpay format for bitcoin cash addresses', function(done) {
|
||||
});
|
||||
});
|
||||
|
||||
// Bitcoin Cash address can be set to use legacy format
|
||||
it('Can use legacy format for bitcoin cash addresses', function(done) {
|
||||
driver.executeScript(function() {
|
||||
$(".use-bch-legacy-addresses").prop("checked", true);
|
||||
});
|
||||
driver.findElement(By.css('.phrase'))
|
||||
.sendKeys("abandon abandon ability");
|
||||
selectNetwork("BCH - Bitcoin Cash");
|
||||
driver.sleep(generateDelay).then(function() {
|
||||
getFirstAddress(function(address) {
|
||||
expect(address).toBe("1JKvb6wKtsjNoCRxpZ4DGrbniML7z5U16A");
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// End of tests ported from old suit, so no more comments above each test now
|
||||
|
||||
it('Can generate more addresses from a custom index', function(done) {
|
||||
@@ -2908,4 +3606,151 @@ it('Can encrypt private keys using BIP38', function(done) {
|
||||
});
|
||||
}, bip38delay + 5000);
|
||||
|
||||
it('Shows the checksum for the entropy', function(done) {
|
||||
driver.findElement(By.css('.use-entropy'))
|
||||
.click();
|
||||
driver.findElement(By.css('.entropy'))
|
||||
.sendKeys("00000000000000000000000000000000");
|
||||
driver.sleep(generateDelay).then(function() {
|
||||
driver.findElement(By.css('.checksum'))
|
||||
.getText()
|
||||
.then(function(text) {
|
||||
expect(text).toBe("1");
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('Shows the checksum for the entropy with the correct groupings', function(done) {
|
||||
driver.findElement(By.css('.use-entropy'))
|
||||
.click();
|
||||
// create a checksum of 20 bits, which spans multiple words
|
||||
driver.findElement(By.css('.entropy'))
|
||||
.sendKeys("F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
|
||||
driver.sleep(generateDelay).then(function() {
|
||||
driver.findElement(By.css('.checksum'))
|
||||
.getText()
|
||||
.then(function(text) {
|
||||
// first group is 9 bits, second group is 11
|
||||
expect(text).toBe("011010111 01110000110");
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('Uses vprv for bitcoin testnet p2wpkh', function(done) {
|
||||
selectNetwork("BTC - Bitcoin Testnet");
|
||||
driver.findElement(By.css('#bip84-tab a'))
|
||||
.click()
|
||||
driver.findElement(By.css('.phrase'))
|
||||
.sendKeys('abandon abandon ability');
|
||||
driver.sleep(generateDelay).then(function() {
|
||||
driver.findElement(By.css('.root-key'))
|
||||
.getAttribute("value")
|
||||
.then(function(path) {
|
||||
expect(path).toBe("vprv9DMUxX4ShgxML9N2YV5CvWEebWrM9aJ5ULpbRRyzyWu6vs4BzTvbfFFrH41N5hVi7MYSfiugd765L3JmAfDM5po36Y8ouCKRDeYQwByCmS7");
|
||||
done();
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
it('Shows a warning if generating weak mnemonics', function(done) {
|
||||
driver.executeScript(function() {
|
||||
$(".strength option[selected]").removeAttr("selected");
|
||||
$(".strength option[value=6]").prop("selected", true);
|
||||
$(".strength").trigger("change");
|
||||
});
|
||||
driver.findElement(By.css(".generate-container .warning"))
|
||||
.getAttribute("class")
|
||||
.then(function(classes) {
|
||||
expect(classes).not.toContain("hidden");
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('Does not show a warning if generating strong mnemonics', function(done) {
|
||||
driver.executeScript(function() {
|
||||
$(".strength option[selected]").removeAttr("selected");
|
||||
$(".strength option[value=12]").prop("selected", true);
|
||||
});
|
||||
driver.findElement(By.css(".generate-container .warning"))
|
||||
.getAttribute("class")
|
||||
.then(function(classes) {
|
||||
expect(classes).toContain("hidden");
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('Shows a warning if overriding weak entropy with longer mnemonics', function(done) {
|
||||
driver.findElement(By.css('.use-entropy'))
|
||||
.click();
|
||||
driver.findElement(By.css('.entropy'))
|
||||
.sendKeys("0123456789abcdef"); // 6 words
|
||||
driver.executeScript(function() {
|
||||
$(".mnemonic-length").val("12").trigger("change");
|
||||
});
|
||||
driver.findElement(By.css(".weak-entropy-override-warning"))
|
||||
.getAttribute("class")
|
||||
.then(function(classes) {
|
||||
expect(classes).not.toContain("hidden");
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('Does not show a warning if entropy is stronger than mnemonic length', function(done) {
|
||||
driver.findElement(By.css('.use-entropy'))
|
||||
.click();
|
||||
driver.findElement(By.css('.entropy'))
|
||||
.sendKeys("0123456789abcdef0123456789abcdef0123456789abcdef"); // 18 words
|
||||
driver.executeScript(function() {
|
||||
$(".mnemonic-length").val("12").trigger("change");
|
||||
});
|
||||
driver.findElement(By.css(".weak-entropy-override-warning"))
|
||||
.getAttribute("class")
|
||||
.then(function(classes) {
|
||||
expect(classes).toContain("hidden");
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('Shows litecoin BIP49 addresses', function(done) {
|
||||
driver.findElement(By.css('.phrase'))
|
||||
.sendKeys('abandon abandon ability');
|
||||
selectNetwork("LTC - Litecoin");
|
||||
driver.findElement(By.css('#bip49-tab a'))
|
||||
.click()
|
||||
// bip49 addresses are shown
|
||||
driver.sleep(generateDelay).then(function() {
|
||||
driver.findElement(By.css('#bip49 .available'))
|
||||
.getAttribute("class")
|
||||
.then(function(classes) {
|
||||
expect(classes).not.toContain("hidden");
|
||||
// check first address
|
||||
getFirstAddress(function(address) {
|
||||
expect(address).toBe("MFwLPhsXoBuSLL8cLmW9uK6tChkzduV8qN");
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('Can use root keys to generate segwit table rows', function(done) {
|
||||
// segwit uses ypub / zpub instead of xpub but the root key should still
|
||||
// be valid regardless of the encoding used to import that key.
|
||||
// Maybe this breaks the reason for the different extended key prefixes, but
|
||||
// since the parsed root key is used behind the scenes anyhow this should be
|
||||
// allowed.
|
||||
driver.findElement(By.css('#root-key'))
|
||||
.sendKeys('xprv9s21ZrQH143K2jkGDCeTLgRewT9F2pH5JZs2zDmmjXes34geVnFiuNa8KTvY5WoYvdn4Ag6oYRoB6cXtc43NgJAEqDXf51xPm6fhiMCKwpi');
|
||||
driver.findElement(By.css('#bip49-tab a'))
|
||||
.click()
|
||||
// bip49 addresses are shown
|
||||
driver.sleep(generateDelay).then(function() {
|
||||
getFirstAddress(function(address) {
|
||||
expect(address).toBe("3QG2Y9AA4xZ846gKHZqNf7mvVKbLqMKxr2");
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user