mirror of
https://github.com/OneKeyHQ/bip39.git
synced 2026-04-07 03:12:14 +00:00
Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4218c87458 | ||
|
|
2ab3faf414 | ||
|
|
6db7516d4a | ||
|
|
0b6e351dce | ||
|
|
6f7fa3539e | ||
|
|
7733ac322b | ||
|
|
530648c174 | ||
|
|
c147cb5e4f | ||
|
|
bddd5d9f95 | ||
|
|
cbd0625ff7 | ||
|
|
bd06face96 | ||
|
|
5c3143888e | ||
|
|
55b878d8d5 | ||
|
|
370e201901 | ||
|
|
6df5b2a100 | ||
|
|
29c30bf33a | ||
|
|
bda303dd53 | ||
|
|
35d9e9fddc | ||
|
|
1e2cc748b0 | ||
|
|
f62138da71 | ||
|
|
95edc76985 | ||
|
|
7d9b5f6871 | ||
|
|
24355c461b | ||
|
|
4b250c83eb | ||
|
|
e32531d9a9 |
File diff suppressed because it is too large
Load Diff
12
changelog.md
12
changelog.md
@@ -1,3 +1,15 @@
|
||||
# 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
|
||||
|
||||
@@ -103,3 +103,6 @@ body {
|
||||
overflow-x: scroll;
|
||||
font-family: monospace;
|
||||
}
|
||||
.visual-privacy .private-data {
|
||||
display: none;
|
||||
}
|
||||
|
||||
177
src/index.html
177
src/index.html
@@ -15,7 +15,7 @@
|
||||
<div class="container">
|
||||
|
||||
<h1 class="text-center">Mnemonic Code Converter</h1>
|
||||
<p class="version">v0.3.6</p>
|
||||
<p class="version">v0.3.7</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">
|
||||
@@ -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" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
|
||||
</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" type="text" class="account-xprv private-data 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" 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>
|
||||
</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" class="col-sm-2 control-label">
|
||||
Coin
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input id="coin" 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" 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>
|
||||
</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" 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>
|
||||
</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" 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" 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">
|
||||
@@ -634,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>
|
||||
@@ -899,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>
|
||||
|
||||
@@ -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 = {
|
||||
@@ -1199,3 +1199,69 @@ bitcoinjs.bitcoin.networks.zcash = {
|
||||
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.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,
|
||||
};
|
||||
267
src/js/index.js
267
src/js/index.js
File diff suppressed because it is too large
Load Diff
@@ -59,6 +59,7 @@ bitcoinjs.bitcoin.networks.testnet.p2wpkhInP2sh = {
|
||||
bitcoinjs.bitcoin.networks.litecoin.p2wpkhInP2sh = {
|
||||
baseNetwork: "litecoin",
|
||||
messagePrefix: '\x19Litecoin Signed Message:\n',
|
||||
bech32: 'ltc',
|
||||
bip32: {
|
||||
public: 0x01b26ef6,
|
||||
private: 0x01b26792
|
||||
|
||||
@@ -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,6 +690,20 @@ 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",
|
||||
@@ -1043,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);
|
||||
});
|
||||
@@ -1173,6 +1187,27 @@ it('Allows selection of Zcash', function(done) {
|
||||
};
|
||||
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);
|
||||
});
|
||||
|
||||
|
||||
// BIP39 seed is set from phrase
|
||||
@@ -3608,4 +3643,61 @@ it('Does not show a warning if entropy is stronger than mnemonic length', functi
|
||||
});
|
||||
});
|
||||
|
||||
it('Shows a warning for litecoin BIP84 (which does not have p2wpkh params)', function(done) {
|
||||
driver.findElement(By.css('.phrase'))
|
||||
.sendKeys('abandon abandon ability');
|
||||
selectNetwork("LTC - Litecoin");
|
||||
driver.findElement(By.css('#bip84-tab a'))
|
||||
.click()
|
||||
// bip84 unavailable is shown
|
||||
driver.sleep(feedbackDelay).then(function() {
|
||||
driver.findElement(By.css('#bip84 .unavailable'))
|
||||
.getAttribute("class")
|
||||
.then(function(classes) {
|
||||
expect(classes).not.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