mirror of
https://github.com/OneKeyHQ/bip39.git
synced 2026-04-06 19:03:49 +00:00
Compare commits
57 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 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
node_modules
|
||||
bip39-standalone.html
|
||||
|
||||
99222
bip39-standalone.html
99222
bip39-standalone.html
File diff suppressed because one or more lines are too long
29
changelog.md
29
changelog.md
@@ -1,3 +1,32 @@
|
||||
# 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
|
||||
|
||||
@@ -103,3 +103,6 @@ body {
|
||||
overflow-x: scroll;
|
||||
font-family: monospace;
|
||||
}
|
||||
.visual-privacy .private-data {
|
||||
display: none;
|
||||
}
|
||||
|
||||
232
src/index.html
232
src/index.html
@@ -15,7 +15,7 @@
|
||||
<div class="container">
|
||||
|
||||
<h1 class="text-center">Mnemonic Code Converter</h1>
|
||||
<p class="version">v0.3.5</p>
|
||||
<p class="version">v0.3.8</p>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
@@ -69,7 +69,7 @@
|
||||
<div class="form-group">
|
||||
<label for="entropy" class="col-sm-2 control-label">Entropy</label>
|
||||
<div class="col-sm-7">
|
||||
<textarea id="entropy" rows="2" class="entropy 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>
|
||||
@@ -96,19 +96,19 @@
|
||||
<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 col-sm-9 form-control-static"> </div>
|
||||
<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>
|
||||
@@ -142,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">
|
||||
@@ -160,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 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">
|
||||
@@ -186,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">
|
||||
@@ -236,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">
|
||||
@@ -279,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">
|
||||
@@ -287,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">
|
||||
@@ -396,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">
|
||||
@@ -439,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">
|
||||
@@ -447,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">
|
||||
@@ -506,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>
|
||||
@@ -588,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">
|
||||
@@ -608,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">
|
||||
@@ -622,7 +653,7 @@
|
||||
<input type="checkbox" class="use-bip38">
|
||||
<span>Encrypt private keys using BIP38 and this password:</span>
|
||||
</label>
|
||||
<input class="bip38-password">
|
||||
<input class="bip38-password private-data">
|
||||
<span>Enabling BIP38 means each key will take several minutes to generate.</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -887,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>
|
||||
@@ -903,6 +934,7 @@
|
||||
<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>
|
||||
|
||||
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
@@ -8662,13 +8662,24 @@ function fromBech32 (address) {
|
||||
}
|
||||
|
||||
function toBase58Check (hash, version) {
|
||||
typeforce(types.tuple(types.Hash160bit, types.UInt8), arguments)
|
||||
if (version < 256){
|
||||
typeforce(types.tuple(types.Hash160bit, types.UInt8), arguments)
|
||||
|
||||
var payload = Buffer.allocUnsafe(21)
|
||||
payload.writeUInt8(version, 0)
|
||||
hash.copy(payload, 1)
|
||||
var payload = Buffer.allocUnsafe(21)
|
||||
payload.writeUInt8(version, 0)
|
||||
hash.copy(payload, 1)
|
||||
|
||||
return bs58check.encode(payload)
|
||||
return bs58check.encode(payload)
|
||||
}
|
||||
else{
|
||||
typeforce(types.tuple(types.Hash160bit, types.UInt16), arguments)
|
||||
|
||||
var payload = Buffer.allocUnsafe(22)
|
||||
payload.writeUInt16BE(version, 0)
|
||||
hash.copy(payload, 2)
|
||||
|
||||
return bs58check.encode(payload)
|
||||
}
|
||||
}
|
||||
|
||||
function toBech32 (data, version, prefix) {
|
||||
@@ -12162,8 +12173,8 @@ var Network = typeforce.compile({
|
||||
public: typeforce.UInt32,
|
||||
private: typeforce.UInt32
|
||||
},
|
||||
pubKeyHash: typeforce.UInt8,
|
||||
scriptHash: typeforce.UInt8,
|
||||
pubKeyHash: typeforce.oneOf(typeforce.UInt8, typeforce.UInt16),
|
||||
scriptHash: typeforce.oneOf(typeforce.UInt8, typeforce.UInt16),
|
||||
wif: typeforce.UInt8
|
||||
})
|
||||
|
||||
|
||||
@@ -114,9 +114,9 @@ bitcoinjs.bitcoin.networks.axe = {
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4
|
||||
},
|
||||
pubKeyHash: 0x4B,
|
||||
scriptHash: 0xCB, // TODO set this correctly
|
||||
wif: 0xCB
|
||||
pubKeyHash: 0x37,
|
||||
scriptHash: 0x10, // TODO set this correctly
|
||||
wif: 0xcc
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.slimcoin = {
|
||||
@@ -307,17 +307,6 @@ bitcoinjs.bitcoin.networks.bgold = {
|
||||
wif: 128
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.bitcoinCashBitbpay = {
|
||||
messagePrefix: '\x18Bitcoin Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488b21e,
|
||||
private: 0x0488ade4
|
||||
},
|
||||
pubKeyHash: 0x1c,
|
||||
scriptHash: 0x28,
|
||||
wif: 0x80
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.monacoin = {
|
||||
messagePrefix: '\x18Monacoin Signed Message:\n',
|
||||
bip32: {
|
||||
@@ -457,8 +446,8 @@ bitcoinjs.bitcoin.networks.bitcore = {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x00,
|
||||
scriptHash: 0x05,
|
||||
pubKeyHash: 0x03,
|
||||
scriptHash: 0x7D,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
@@ -781,6 +770,17 @@ bitcoinjs.bitcoin.networks.ixcoin = {
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.kobocoin = {
|
||||
messagePrefix: '\x18Kobocoin Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x23,
|
||||
scriptHash: 0x1c,
|
||||
wif: 0xa3,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.landcoin = {
|
||||
messagePrefix: '\x18Landcoin Signed Message:\n',
|
||||
bip32: {
|
||||
@@ -1056,6 +1056,17 @@ bitcoinjs.bitcoin.networks.stratis = {
|
||||
wif: 0xbf,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.stratistest = {
|
||||
messagePrefix: '\x18Stratis Test Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x41,
|
||||
scriptHash: 0x7d,
|
||||
wif: 0xbf,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.syscoin = {
|
||||
messagePrefix: '\x18Syscoin Signed Message:\n',
|
||||
bip32: {
|
||||
@@ -1064,7 +1075,7 @@ bitcoinjs.bitcoin.networks.syscoin = {
|
||||
},
|
||||
pubKeyHash: 0x3f,
|
||||
scriptHash: 0x05,
|
||||
wif: 0xbf,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
|
||||
@@ -1131,7 +1142,7 @@ bitcoinjs.bitcoin.networks.vertcoin = {
|
||||
},
|
||||
pubKeyHash: 0x47,
|
||||
scriptHash: 0x05,
|
||||
wif: 0xc7,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.vivo = {
|
||||
@@ -1188,3 +1199,91 @@ bitcoinjs.bitcoin.networks.zcoin = {
|
||||
scriptHash: 0x07,
|
||||
wif: 0xd2,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.zcash = {
|
||||
messagePrefix: '\x18Zcash Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x1CB8,
|
||||
scriptHash: 0x1CBD,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.xuez = {
|
||||
messagePrefix: 'unused',
|
||||
bip32: {
|
||||
public: 0x022d2533,
|
||||
private: 0x0221312b
|
||||
},
|
||||
pubKeyHash: 0x4b,
|
||||
scriptHash: 0x12,
|
||||
wif: 0xd4
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.bitcoinprivate = {
|
||||
messagePrefix: '\x18BitcoinPrivate Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x1325,
|
||||
scriptHash: 0x13AF,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.bitcoinz = {
|
||||
messagePrefix: '\x18BitcoinZ Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x1CB8,
|
||||
scriptHash: 0x1CBD,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.hush = {
|
||||
messagePrefix: '\x18Hush Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x1CB8,
|
||||
scriptHash: 0x1CBD,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.zclassic = {
|
||||
messagePrefix: '\x18Zcash Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x1CB8,
|
||||
scriptHash: 0x1CBD,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.zencash = {
|
||||
messagePrefix: '\x18Zcash Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x0488B21E,
|
||||
private: 0x0488ADE4,
|
||||
},
|
||||
pubKeyHash: 0x2089,
|
||||
scriptHash: 0x2096,
|
||||
wif: 0x80,
|
||||
};
|
||||
|
||||
bitcoinjs.bitcoin.networks.energi = {
|
||||
messagePrefix: 'DarkCoin Signed Message:\n',
|
||||
bip32: {
|
||||
public: 0x03B8C856,
|
||||
private: 0xD7DC6E9F,
|
||||
},
|
||||
pubKeyHash: 0x21,
|
||||
scriptHash: 0x35,
|
||||
wif: 0x6a,
|
||||
};
|
||||
|
||||
407
src/js/index.js
407
src/js/index.js
File diff suppressed because it is too large
Load Diff
@@ -149,7 +149,7 @@ var Mnemonic = function(language) {
|
||||
// Set space correctly depending on the language
|
||||
// see https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md#japanese
|
||||
var space = " ";
|
||||
if (language == "japanese" || language == "korean") {
|
||||
if (language == "japanese") {
|
||||
space = "\u3000"; // ideographic space
|
||||
}
|
||||
return words.join(space);
|
||||
|
||||
@@ -56,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
|
||||
@@ -94,4 +108,29 @@ bitcoinjs.bitcoin.networks.fujicoin.p2wpkhInP2sh = {
|
||||
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
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
@@ -553,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);
|
||||
});
|
||||
@@ -616,7 +616,7 @@ 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);
|
||||
});
|
||||
@@ -690,10 +690,24 @@ it('Allows selection of Bitcoinplus', function(done) {
|
||||
};
|
||||
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: "1Dg18EtqhReS11e9h8khkLjWGLHVjPM2AB",
|
||||
firstAddress: "2Rgp5Znhpy34TK4QmPkfCiYs9r4KovfTH9",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
@@ -900,6 +914,13 @@ it('Allows selection of Ixcoin', function(done) {
|
||||
};
|
||||
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",
|
||||
@@ -1036,7 +1057,7 @@ it('Allows selection of Putincoin', function(done) {
|
||||
it('Allows selection of Reddcoin', function(done) {
|
||||
var params = {
|
||||
selectText: "RDD - Reddcoin",
|
||||
firstAddress: "1M4druAcUfkXBaAcQ4cCgCLPHChiaib6kL",
|
||||
firstAddress: "RtgRvXMBng1y51ftteveFqwNfyRG18HpxQ",
|
||||
};
|
||||
testNetwork(done, params);
|
||||
});
|
||||
@@ -1075,6 +1096,13 @@ it('Allows selection of Stratis', function(done) {
|
||||
};
|
||||
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",
|
||||
@@ -1159,6 +1187,90 @@ it('Allows selection of Zcoin', function(done) {
|
||||
};
|
||||
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
|
||||
@@ -2772,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
|
||||
@@ -3106,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");
|
||||
@@ -3122,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) {
|
||||
@@ -3562,4 +3713,44 @@ it('Does not show a warning if entropy is stronger than mnemonic length', functi
|
||||
});
|
||||
});
|
||||
|
||||
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