Compare commits

...

90 Commits

Author SHA1 Message Date
Leon
fff0de03b8 Merge pull request #23 from OneKeyHQ/dependabot/npm_and_yarn/libs/stellar-util/sha.js-2.4.12
Bump sha.js from 2.4.11 to 2.4.12 in /libs/stellar-util
2025-09-15 11:35:43 +08:00
Leon
76d6b8995b Merge pull request #22 from OneKeyHQ/dependabot/npm_and_yarn/libs/combined/pbkdf2-3.1.3
Bump pbkdf2 from 3.1.1 to 3.1.3 in /libs/combined
2025-09-15 11:35:27 +08:00
Leon
f4645489e0 Merge pull request #21 from OneKeyHQ/dependabot/npm_and_yarn/libs/stellar-util/cipher-base-1.0.6
Bump cipher-base from 1.0.4 to 1.0.6 in /libs/stellar-util
2025-09-15 11:35:14 +08:00
dependabot[bot]
87e776da3e Bump sha.js from 2.4.11 to 2.4.12 in /libs/stellar-util
Bumps [sha.js](https://github.com/crypto-browserify/sha.js) from 2.4.11 to 2.4.12.
- [Changelog](https://github.com/browserify/sha.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/sha.js/compare/v2.4.11...v2.4.12)

---
updated-dependencies:
- dependency-name: sha.js
  dependency-version: 2.4.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 10:01:34 +00:00
dependabot[bot]
5c267e5fa7 Bump pbkdf2 from 3.1.1 to 3.1.3 in /libs/combined
Bumps [pbkdf2](https://github.com/crypto-browserify/pbkdf2) from 3.1.1 to 3.1.3.
- [Changelog](https://github.com/browserify/pbkdf2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/pbkdf2/compare/v3.1.1...v3.1.3)

---
updated-dependencies:
- dependency-name: pbkdf2
  dependency-version: 3.1.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 09:58:59 +00:00
dependabot[bot]
1ae556811e Bump cipher-base from 1.0.4 to 1.0.6 in /libs/stellar-util
Bumps [cipher-base](https://github.com/crypto-browserify/cipher-base) from 1.0.4 to 1.0.6.
- [Changelog](https://github.com/browserify/cipher-base/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/cipher-base/compare/v1.0.4...v1.0.6)

---
updated-dependencies:
- dependency-name: cipher-base
  dependency-version: 1.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 09:57:34 +00:00
Leon
cbe03c549c Merge pull request #17 from OneKeyHQ/chore/pbkdf2-v1
chore: update ethereumjs-util to version 6.2.1 in package.json and package-lock.json
2025-08-06 16:10:50 +08:00
Leon
e57d5c4989 chore: update ethereumjs-util to version 6.2.1 in package.json and package-lock.json 2025-08-06 16:06:32 +08:00
Leon
700443090b Merge pull request #14 from OneKeyHQ/chore/pbkdf2
chore: update package-lock.json and package.json to use lockfileVersion 3 and add pbkdf2 resolution
2025-06-30 17:50:20 +08:00
Leon
a5963c163d chore: update package-lock.json and package.json to use lockfileVersion 3 and add pbkdf2 resolution 2025-06-30 16:40:34 +08:00
Leon
ba164636c5 Merge pull request #7 from Yggdrasilqh/fix/update-footer
fix: update footer
2025-03-31 11:16:13 +08:00
yggdrasil
a033c0c66f fix: update footer 2025-03-31 10:26:24 +08:00
Leon
a3b1b8f376 Merge pull request #6 from Yggdrasilqh/fix-remove-discord-from-footer
fix: remove discord from footer
2025-03-26 15:05:54 +08:00
yggdrasil
f8e8e855b3 fix: remove discord from footer 2024-11-08 15:40:42 +08:00
Leon
1412be98a8 Merge pull request #5 from Yggdrasilqh/feat-onekey-footer
fix: use internal footer resources
2024-11-01 14:36:38 +08:00
yggdrasil
7d3ecbb25a fix: cleanup code 2024-11-01 12:17:30 +08:00
yggdrasil
ad377392f9 fix: load footer by inline js on deployment 2024-11-01 12:00:39 +08:00
yggdrasil
315a1ff7e6 fix: use internal footer resources 2024-10-31 16:00:38 +08:00
Leon
4535d69a11 Merge pull request #4 from Yggdrasilqh/feat-onekey-footer
feat: OneKey footer
2024-10-31 10:47:30 +08:00
yggdrasil
1cec39e9fb feat: update footer source url 2024-10-23 12:43:22 +08:00
yggdrasil
f0149d4f46 feat: zh_CN append OneKey footer as shadow dom 2024-10-23 10:48:35 +08:00
yggdrasil
e7cfbf10c7 feat: append OneKey footer as shadow dom 2024-10-23 10:45:09 +08:00
ByteZhang
8fe114b2ee Merge pull request #3 from OneKeyHQ/feat/cosmosPriToHex
feat: convert cosmos pri to hex
2024-01-05 10:41:01 +08:00
ByteZhang
1d41a13a2a feat: convert cosmos pri to hex 2024-01-04 19:59:45 +08:00
wk3368
8d64693dd5 add STC-Starcoin, coin_type = 101010 (#2) 2022-07-17 10:55:52 +08:00
AmagiDDmxh
919acaa0bb redesign & code BIP39 (#1)
* redesign & code BIP39

* optimize the UI after hide private infomation

* toggle button styles in table

* responsive web design & add filter effect when hide private data

* translate into chinese

* transtate update

* modify meta tag

* decrease container's width

* favicon & site title

* page header

* language test

* layout fine-turning

* Add ignores

* Update compile script

* Correct replace styling behavior

* Add deploy shell script

* Move assets to root, change according image src

* update content: form__recovery_phrase__hint

* Remove `.DS_Store`

* Add Google GA script

* Update favicon tag and 'loading' zh translation

* remove tippyjs

* remove tippyjs files

* remove npm package

Co-authored-by: Franco Chen <chenhuifan.gg@gmail.com>
2021-07-06 17:17:25 +08:00
Ian Coleman
c4f0c2908f Release v0.5.3 2021-05-12 07:57:39 +10:00
Ian Coleman
941b099f14 Revert PR #486 2021-05-10 14:08:16 +10:00
iancoleman
83f23081a3 Merge pull request #485 from secinthenet/fix-zpub-from-seed
fix extended key version bytes not updating after switching tabs
2021-05-07 19:13:28 +10:00
iancoleman
1dab87d842 Merge pull request #496 from thisisvitto/patch-1
Incorrect HTML closing tag
2021-05-07 09:52:55 +10:00
iancoleman
83c580c678 Merge pull request #492 from HildisviniOttar/master
Support THORChain (RUNE) m/44/931
2021-05-07 09:51:38 +10:00
iancoleman
8b44f5d19a Merge branch 'master' into master 2021-05-07 09:51:28 +10:00
iancoleman
a7705b8ebc Merge pull request #484 from secinthenet/bip85-fix-from-ent
fix bip85 mode to work without mnemonic (using xprv or entropy)
2021-05-07 09:39:45 +10:00
iancoleman
f2081ee467 Merge pull request #486 from secinthenet/fix-seed-only-coin-switch
fix "blank mnemonic" error when only using a BIP39 seed (no mnemonic phrase) and then changing the coin
2021-05-07 09:34:41 +10:00
iancoleman
f50464249c Merge pull request #482 from interbiznw/btcp
add bitcoin private testnet support
2021-05-07 09:28:51 +10:00
iancoleman
ed720546bf Merge pull request #480 from xwcdev/master
Change xwc to xwcc according to slip-0044 and add xwc
2021-05-07 09:26:47 +10:00
iancoleman
e8f27ba2c3 Merge pull request #479 from a00a63/terra
Add Terra (LUNA) support
2021-05-07 09:24:28 +10:00
iancoleman
be946a2061 Merge branch 'master' into terra 2021-05-07 09:24:18 +10:00
iancoleman
a636b24619 Merge pull request #475 from davepuchyr/starname-iov
Add Starname (IOV) support
2021-05-07 09:17:46 +10:00
Vitto K
f8fd590588 Incorrect HTML closing tag
Fixed incorrect HTML closing tag, made it difficult to expand/collapse code folds correctly in text editors.
2021-05-01 21:52:50 +02:00
Hildisvíni Óttar
02eeb81713 Support THORChain (RUNE) m/44/931 2021-04-23 14:22:42 +09:30
Sylvia G
18d64d9586 fix bip85 root key when using non-xprv version bytes 2021-04-06 04:32:20 +03:00
Sylvia G
5b5b11fd96 fix "blank mnemonic" error when only using a BIP39 seed (no mnemonic phrase) and then changing the coin 2021-04-06 03:55:40 +03:00
Sylvia G
2c86fb4746 fix extended key version bytes not updating after switching tabs 2021-04-06 03:35:24 +03:00
Sylvia G
85711db3bb fix bip85 mode to work without mnemonic (using xprv or entropy) 2021-04-06 03:18:04 +03:00
J62
1820b6ac67 add bitcoin private testnet support 2021-03-29 19:46:51 -07:00
xwcdev
b500a60e28 fix test title 2021-03-28 19:13:33 +08:00
xwcdev
942de1bc5e change xwc to xwcc,add new xwc 2021-03-28 18:54:12 +08:00
a00a63
43bef4e19d Add Terra (LUNA) support 2021-03-27 14:04:07 +01:00
Dave Puchyr
20bd34b014 Add Starname (IOV) support 2021-02-25 15:51:45 +01:00
Ian Coleman
23f393acfb Release v0.5.2 2021-02-12 23:36:45 +00:00
Ian Coleman
c560e01e91 Run all tests, not just the last one 2021-02-12 23:34:54 +00:00
Ian Coleman
a362ff2f62 Pad eth private keys correctly
Fixes #469
2021-02-12 23:33:19 +00:00
Ian Coleman
9a82f12b91 Update dev_env headless browser driver versions 2021-02-11 04:44:10 +00:00
Ian Coleman
5e376b8903 Release v0.5.1 2021-02-11 03:57:45 +00:00
Ian Coleman
90422a41af Updated ritocoin test, see #466 2021-02-11 03:24:34 +00:00
Ian Coleman
f3314418fb Update namecoin test
Tested private key import using electrum-nmc, it matches the address
2021-02-11 03:24:09 +00:00
Ian Coleman
7da8c22eaf Rebuild bip39-libs.js to include cosmos 2021-02-11 03:23:01 +00:00
Ian Coleman
d9ad938b52 Add Cosmos Hub (ATOM) support
Closes #452, thanks @conr2d
2021-02-11 02:34:38 +00:00
Ian Coleman
f7f579f5f5 Use local form for Portuguese 2021-02-11 02:05:51 +00:00
iancoleman
2cd19306b2 Merge pull request #468 from 3rdIteration/master
Add Portuguese Wordlist
2021-02-11 13:01:48 +11:00
iancoleman
545348d159 Merge pull request #466 from RitoProject/ritocoin
Add Ritocoin (RITO)
2021-02-11 12:58:49 +11:00
iancoleman
8835afe8a2 Merge pull request #462 from zoobc/master
Add ZooBC coin support
2021-02-11 12:55:36 +11:00
CryptoGuide
38e6aaed84 Add Portuguese Wordlist 2021-02-08 22:39:11 -05:00
Scotty0448
f7125606bf Update wif 2021-01-26 18:00:02 -07:00
Scotty0448
5b0b1a5c9a Add Ritocoin (RITO) 2021-01-26 16:12:25 -07:00
iancoleman
71573cb380 Merge pull request #464 from robiiinos/fix/namecoin-wif-prefix
fix: Namecoin WIF prefix
2021-01-18 10:37:00 +11:00
Robyn
c64ff95697 fix: Namecoin WIF prefix 2021-01-04 21:34:19 +01:00
jhonkus
6d2e202083 Add ZooBC address format 2020-12-07 20:25:25 +08:00
jhonkus
0cb81e1117 Add ZooBC coin support 2020-12-07 19:43:20 +08:00
Ian Coleman
32ade2fbf7 Remove trailing spaces 2020-11-30 00:40:04 +00:00
Ian Coleman
ac7f150a79 Remove non-English BIP85 languages 2020-11-30 00:35:56 +00:00
Ian Coleman
134213954d Add BIP85 details in More Info section 2020-11-30 00:21:48 +00:00
Ian Coleman
253f4cb75f Format BIP85 help text similar to entropy section 2020-11-30 00:19:39 +00:00
Ian Coleman
ebbb057dfa Update geckodriver version for firefox tests 2020-11-29 23:06:46 +00:00
Ian Coleman
38626a2d1f Add rebranded labelling to Zcoin/Firo 2020-11-29 21:59:20 +00:00
Ian Coleman
990ce0d072 Rebuild bip39-libs.js
This file had changes from other pull requests so rebuilding from
scratch ensures no additional non-npm content has crept in.
2020-11-29 21:54:49 +00:00
Ian Coleman
1ca3784b0a Update dev_env_setup to latest chromium for tests 2020-11-29 21:52:06 +00:00
iancoleman
1b54929bda Merge pull request #456 from r1979/master
Updated Zcoin (XZC) Due to its rebrand fo Firo (FIRO)
2020-11-30 08:46:02 +11:00
iancoleman
d75ddf4ea8 Merge pull request #454 from AndreasGassmann/master
Add BIP85 support
2020-11-23 10:28:16 +11:00
Ruggero M
ad07c1c0b5 Updated Zcoin (XZC) Due to its rebrand fo Firo (FIRO)
https://zcoin.io/zcoin-is-becoming-firo/
2020-11-15 16:51:37 +01:00
Ruggero M
0b911fc20f Updated Zcoin (XZC) Due to its rebrand fo Firo (FIRO)
https://zcoin.io/zcoin-is-becoming-firo/
2020-11-15 16:50:12 +01:00
Ruggero M
73ccaa1357 Updated Zcoin (XZC) Due to its rebrand fo Firo (FIRO)
https://zcoin.io/zcoin-is-becoming-firo/
2020-11-15 16:47:48 +01:00
Ruggero M
bd1ecd20f9 Updated Zcoin (XZC) Due to its rebrand fo Firo (FIRO) 2020-11-15 16:39:51 +01:00
Ruggero M
e3668fb51f Updated Zcoin (XZC) Due to its rebrand fo Firo (FIRO) 2020-11-15 16:37:02 +01:00
Ruggero M
3c222e57df Updated Zcoin (XZC) Due to its rebrand fo Firo (FIRO)
- https://zcoin.io/zcoin-is-becoming-firo/
- https://zcoin.io/the-exchange-ticker-for-firo/
2020-11-15 16:31:36 +01:00
AndreasGassmann
16ff1df7ab feat(bip85): add explanation text and warning 2020-11-09 01:25:39 +01:00
AndreasGassmann
f2f8d8177e feat(test): add bip85 test 2020-11-09 00:46:58 +01:00
AndreasGassmann
877b8bdfec feat(bip85): add bip85 logic 2020-11-07 16:58:08 +01:00
AndreasGassmann
5e211c6959 feat(bip85): include bip85 library 2020-11-07 16:33:50 +01:00
46 changed files with 15774 additions and 8652 deletions

30
.gitignore vendored
View File

@@ -1,2 +1,32 @@
node_modules
bip39-standalone.html
/index.html
/index-zh.html
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

BIN
android-chrome-192x192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
android-chrome-256x256.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
android-chrome-512x512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

9
browserconfig.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#ffffff</TileColor>
</tile>
</msapplication>
</browserconfig>

View File

@@ -1,3 +1,28 @@
# 0.5.3
Add Starname network
Add Terra network
Add Bitcoin Private network
Add Thorchain network
Change Xwc network to Xwcc and add new Xwc
Fix Bip85 works without mnemonic (using xprv)
Fix extended key not updating when switching tabs
Fix incorrect html closing tag
# 0.5.2
* Show ethereum private keys with correct padding
# 0.5.1
* Add Portuguese language
* Add BIP85
* Add Ritocoin
* Add Cosmos Hub
* Add ZooBC
* Add Zcoin/Firo rebranded coin
* Update Namecoin WIF
# 0.5.0
* Remove bias from base 6 and base 10 entropy

View File

@@ -7,43 +7,47 @@ from io import open
# It removes script and style tags and replaces with the file content.
f = open('src/index.html', "r", encoding="utf-8")
page = f.read()
f.close()
def compile(sourcefile):
f = open(os.path.join("src", sourcefile), "r", encoding="utf-8")
page = f.read()
f.close()
# Script tags
scriptsFinder = re.compile("""<script src="(.*)"></script>""")
scripts = scriptsFinder.findall(page)
for script in scripts:
filename = os.path.join("src", script)
s = open(filename, "r", encoding="utf-8")
scriptContent = "<script>%s</script>" % s.read()
s.close()
scriptTag = """<script src="%s"></script>""" % script
page = page.replace(scriptTag, scriptContent)
# Style tags
stylesFinder = re.compile("""<link rel="stylesheet" href="(.*)" />""")
styles = stylesFinder.findall(page)
for style in styles:
filename = os.path.join("src", style)
s = open(filename, "r", encoding="utf-8")
print("Writing " + filename + " into html")
styleContent = "<style>%s</style>" % s.read()
s.close()
styleTag = """<link rel="stylesheet" href="%s" />""" % style
page = page.replace(styleTag, styleContent)
# Write the standalone file
f = open(sourcefile, 'w', encoding="utf-8")
f.write(page)
f.close()
print(str(datetime.datetime.now()) + " - DONE Compiled: " + sourcefile)
# Script tags
filenames = ['index.html', 'index-zh.html']
scriptsFinder = re.compile("""<script src="(.*)"></script>""")
scripts = scriptsFinder.findall(page)
for script in scripts:
filename = os.path.join("src", script)
s = open(filename, "r", encoding="utf-8")
scriptContent = "<script>%s</script>" % s.read()
s.close()
scriptTag = """<script src="%s"></script>""" % script
page = page.replace(scriptTag, scriptContent)
# Style tags
stylesFinder = re.compile("""<link rel="stylesheet" href="(.*)">""")
styles = stylesFinder.findall(page)
for style in styles:
filename = os.path.join("src", style)
s = open(filename, "r", encoding="utf-8")
styleContent = "<style>%s</style>" % s.read()
s.close()
styleTag = """<link rel="stylesheet" href="%s">""" % style
page = page.replace(styleTag, styleContent)
# Write the standalone file
f = open('bip39-standalone.html', 'w', encoding="utf-8")
f.write(page)
f.close()
print("%s - DONE" % datetime.datetime.now())
for filename in filenames:
compile(filename)

2
deploy.sh Normal file
View File

@@ -0,0 +1,2 @@
python compile.py
cp ./src/assets/* ./

View File

@@ -45,10 +45,10 @@ cd tests
npm install --global jasmine
npm install selenium-webdriver
# install gecko webdriver for firefox
wget https://github.com/mozilla/geckodriver/releases/download/v0.27.0/geckodriver-v0.27.0-linux64.tar.gz --output-document=/tmp/geckodriver.tar.gz
wget https://github.com/mozilla/geckodriver/releases/download/v0.29.0/geckodriver-v0.29.0-linux64.tar.gz --output-document=/tmp/geckodriver.tar.gz
tar -xf /tmp/geckodriver.tar.gz -C $HOME/.bin
# install chrome webdriver for chromium
wget https://chromedriver.storage.googleapis.com/85.0.4183.87/chromedriver_linux64.zip --output-document=/tmp/chromedriver.zip
wget https://chromedriver.storage.googleapis.com/88.0.4324.96/chromedriver_linux64.zip --output-document=/tmp/chromedriver.zip
unzip /tmp/chromedriver.zip -d $HOME/.bin
# to run tests

BIN
favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -2,6 +2,10 @@
module.exports.basex = require('base-x')
/* base32 */
module.exports.base32 = require('base32.js')
/* bchaddrjs */
module.exports.bchaddr = require('bchaddrjs')
@@ -10,6 +14,10 @@ module.exports.bchaddr = require('bchaddrjs')
module.exports.bchaddrSlp = require('bchaddrjs-slp')
/* bech32 */
module.exports.bech32 = require('bech32')
/* biginteger */
module.exports.BigInteger = require('javascript-biginteger')
@@ -18,6 +26,10 @@ module.exports.BigInteger = require('javascript-biginteger')
module.exports.bip38 = require('bip38')
/* bip85 */
module.exports.bip85 = require('bip85')
/* bitcoinjs-lib */
module.exports.bitcoin = require('bitcoinjs-lib')
@@ -80,6 +92,35 @@ module.exports.stellarUtil = {
},
}
/* zoobc-util */
let base32 = require('base32.js');
let nbl = require('nebulas');
module.exports.zoobcUtil = {
getKeypair: function (path, seed) {
const { key, chainCode} = edHd.derivePath(path, seed);
const pubKey = edHd.getPublicKey(key);
return {key,chainCode, pubKey};
},
getZBCAddress(publicKey, prefix = "ZBC") {
const prefixDefault = ["ZBC", "ZNK", "ZBL", "ZTX"];
const valid = prefixDefault.indexOf(prefix) > -1;
if (valid) {
var bytes = new Uint8Array(35);
for (let i = 0; i < 32; i++) bytes[i] = publicKey[i];
for (let i = 0; i < 3; i++) bytes[i + 32] = prefix.charCodeAt(i);
const checksum = nbl.CryptoUtils.sha3(bytes);
for (let i = 0; i < 3; i++) bytes[i + 32] = Number(checksum[i]);
var segs = [prefix];
var b32 = base32.encode(bytes);
for (let i = 0; i < 7; i++) segs.push(b32.substr(i * 8, 8));
return segs.join("_");
} else {
throw new Error("The Prefix not available!");
}
}
}
/* nano-util */
let NanoBase = require('nanocurrency-web');

View File

@@ -1,17 +0,0 @@
{
"dependencies": {
"elastos-wallet-js": {
"version": "git://github.com/johnnynanjiang/Elastos.SDK.Keypair.Javascript.git#491dc51b64efaf0a8aae62028b68e2c8e38fde06",
"dependencies": {
"bitcore-lib-p256": {
"version": "0.16.0",
"dependencies": {
"lodash": {
"version": "4.17.12"
}
}
}
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -8,15 +8,17 @@
"base-x": "3.0.7",
"bchaddrjs": "0.4.4",
"bchaddrjs-slp": "git://github.com/simpleledger/bchaddrjs.git#af16e44a6bfbe4b3980a62dba50e2f68ed864c6b",
"bech32": "1.1.4",
"bip38": "2.0.2",
"bip38grs": "git://github.com/Groestlcoin/bip38grs.git#091975b01679b74dc0a4136bb743fe17791b0151",
"bip85": "0.0.3",
"bitcoinjs-lib": "git://github.com/iancoleman/bitcoinjs-lib.git#v3.3.2_16bit",
"bs58": "^4.0.1",
"buffer": "^5.4.3",
"create-hash": "^1.2.0",
"ed25519-hd-key": "^1.0.0",
"elastos-wallet-js": "git://github.com/johnnynanjiang/Elastos.SDK.Keypair.Javascript.git#491dc51b64efaf0a8aae62028b68e2c8e38fde06",
"ethereumjs-util": "6.0.0",
"ethereumjs-util": "6.2.1",
"fast-levenshtein": "2.0.6",
"groestlcoinjs-lib": "git://github.com/Groestlcoin/groestlcoinjs-lib.git#3.3.2",
"handshake-util": "1.2.0",

File diff suppressed because it is too large Load Diff

View File

@@ -11,5 +11,8 @@
"devDependencies": {
"browserify": "^16.2.3",
"uglify-es": "^3.3.9"
},
"resolutions": {
"pbkdf2": "3.1.3"
}
}

BIN
logo_green_vector.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
mstile-150x150.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

15
package.json Normal file
View File

@@ -0,0 +1,15 @@
{
"name": "onekey-bip39",
"version": "1.0.0",
"main": "index.js",
"repository": "git@github.com:iancoleman/bip39.git",
"author": "Franco Chen <chenhuifan.gg@gmail.com>",
"license": "MIT",
"devDependencies": {
"tailwindcss": "^2.2.4"
},
"dependencies": {
"@tailwindcss/forms": "^0.3.3",
"@tailwindcss/typography": "^0.4.1"
}
}

6
postcss.config.js Normal file
View File

@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};

28
safari-pinned-tab.svg Normal file
View File

@@ -0,0 +1,28 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M1812 4840 c-165 -11 -342 -41 -447 -75 -118 -39 -307 -136 -415
-212 -267 -189 -497 -498 -594 -798 -70 -219 -77 -305 -83 -1048 -8 -1036 11
-1214 168 -1532 219 -446 659 -781 1129 -859 184 -30 448 -38 1123 -33 644 5
733 9 902 43 180 36 399 134 565 251 267 189 497 498 594 798 70 219 77 305
83 1048 8 1036 -11 1214 -168 1532 -79 161 -170 287 -309 425 -174 175 -395
312 -615 384 -225 72 -299 78 -1105 81 -382 2 -755 -1 -828 -5z m968 -1465 l0
-535 -205 0 -205 0 0 365 0 365 -179 0 -179 0 56 170 57 170 327 0 328 0 0
-535z m15 -709 c117 -40 209 -98 301 -191 66 -66 90 -99 128 -176 65 -132 81
-200 81 -344 0 -97 -5 -134 -24 -195 -41 -134 -96 -226 -191 -320 -96 -96
-178 -148 -295 -187 -73 -25 -94 -27 -230 -28 -139 0 -156 2 -230 28 -399 140
-604 553 -469 949 79 234 278 416 521 478 116 29 298 23 408 -14z"/>
<path d="M2443 2346 c-107 -35 -194 -114 -246 -224 -28 -60 -31 -77 -32 -162
0 -86 3 -101 32 -162 101 -213 329 -298 543 -202 74 33 160 121 198 201 23 51
27 70 27 158 -1 81 -5 111 -24 158 -32 81 -115 168 -199 209 -59 29 -77 33
-162 35 -59 2 -111 -3 -137 -11z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

19
site.webmanifest Normal file
View File

@@ -0,0 +1,19 @@
{
"name": "",
"short_name": "",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

View File

@@ -1,111 +0,0 @@
body {
padding-bottom: 32px;
}
.form-control[readonly] {
cursor: text;
}
.feedback-container {
position: fixed;
top: 0;
width: 100%;
text-align: center;
z-index: 4;
}
.feedback {
display: table;
padding: 0.5em 1em;
background-color: orange;
margin: 0 auto;
font-size: 2em;
color: #444;
border: 2px solid #555;
border-top: 0;
border-bottom-left-radius: 20px 20px;
border-bottom-right-radius: 20px 20px;
}
.no-border {
border: 0;
box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
}
.phrase {
word-break: keep-all;
}
.generate-container .strength {
/* override mobile width from bootstrap */
width: auto!important;
display: inline-block;
}
.languages a {
padding-left: 10px;
}
.languages a:nth-of-type(1) {
margin-left: -12px;
padding-left: 0;
}
.monospace {
font-family: monospace;
}
.entropy-container .filtered,
.entropy-container .binary {
word-wrap: break-word;
}
.entropy-container li {
padding-bottom: 5px;
}
.card-suit {
font-size: 19px;
line-height: 0;
}
.card-suit.club {
color: #009F00;
}
.card-suit.diamond {
color: #3D5DC4;
}
.card-suit.heart {
color: #F00;
}
.card-suit.spade {
color: #000;
}
.qr-container {
position: fixed;
top: 0;
right: 0;
text-align: center;
background-color: #FFF;
border: 1px solid #CCC;
}
.qr-image {
margin: 5px;
}
.qr-hint,
.qr-warning {
padding: 2px;
max-width: 320px;
}
.more-info {
cursor: help;
border-bottom: 1px dashed #000;
text-decoration: none;
}
.version {
position: absolute;
top: 5px;
right: 5px;
}
.csv {
margin-top: 20px;
margin-bottom: 20px;
white-space: pre;
overflow-wrap: normal;
overflow-x: scroll;
font-family: monospace;
}
.visual-privacy .private-data {
display: none;
}
.text-weight-normal {
font-weight: normal !important;
}

6834
src/css/bootstrap.css vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

2555
src/css/styles.css Normal file

File diff suppressed because it is too large Load Diff

144
src/css/tailwind.css Normal file
View File

@@ -0,0 +1,144 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
html {
scroll-behavior: smooth;
}
code {
@apply px-1 text-green-800 rounded bg-green-50 -mx-0.5 py-0.5 -my-0.5;
}
tbody {
@apply bg-white divide-y divide-gray-200;
}
td {
@apply px-6 py-3 text-sm text-gray-700 whitespace-nowrap;
}
}
@layer utilities {
.visual-privacy .private-data,
.addresses .invisible {
@apply pointer-events-none filter blur-sm;
}
.ok-textarea:read-only,
.ok-input:read-only {
@apply text-gray-500 bg-gray-200;
}
.qr-image canvas {
@apply max-w-[120px] max-h-[120px];
}
.anchor-link-active {
@apply text-gray-900 bg-gray-100 hover:bg-gray-100 !important;
}
.anchor-link-active svg {
@apply text-gray-500;
}
.entropy-container.hidden + *,
.generate-container.hidden + * {
@apply mt-0 !important;
}
}
@layer components {
.ok-container {
@apply max-w-5xl px-4 py-4 pb-8 mx-auto md:py-8 md:px-6 lg:px-8 md:pb-16;
}
.ok-header {
@apply flex justify-between mb-8 md:mb-12;
}
.ok-textarea {
@apply block w-full placeholder-gray-400 border border-gray-300 rounded-md shadow-sm sm:text-sm focus:ring-green-500 focus:border-green-500;
}
.ok-input {
@apply block w-full border-gray-300 rounded-md shadow-sm focus:ring-green-500 focus:border-green-500 sm:text-sm;
}
.ok-label {
@apply block text-sm font-medium text-gray-700;
}
.ok-select {
@apply block py-2 pl-3 pr-10 text-base border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-green-500 focus:border-green-500 sm:text-sm;
}
.ok-checkbox {
@apply w-4 h-4 mr-2 text-green-600 border-gray-300 rounded shadow-sm focus:ring-green-500;
}
.ok-radio {
@apply w-4 h-4 text-green-600 border-gray-300 shadow-sm focus:ring-green-500;
}
.ok-notification {
@apply max-w-full p-4 text-gray-900 bg-white rounded-lg shadow-lg pointer-events-auto w-72 ring-1 ring-black ring-opacity-5;
}
.ok-card {
@apply bg-white shadow md:border md:border-gray-200 md:rounded-lg;
}
.ok-card__header {
@apply flex justify-between px-4 py-5 md:px-6;
}
.ok-card__body {
@apply px-4 py-5 space-y-6 border-t border-gray-200 md:px-6;
}
.ok-card__header-title {
@apply text-lg font-medium leading-6 text-gray-900;
}
.ok-helper-text {
@apply mt-2 text-sm text-gray-500;
}
.ok-helper-text--danger {
@apply text-red-600;
}
.ok-tab {
@apply block px-1 py-4 text-sm font-medium text-gray-500 border-b-2 border-transparent hover:text-gray-700 hover:border-gray-300 whitespace-nowrap;
}
.active .ok-tab {
@apply text-green-600 border-green-500;
}
.tab-pane {
@apply hidden;
}
.tab-pane.active {
@apply block;
}
.insert-card {
@apply p-3 space-y-6 border border-gray-200 rounded-lg sm:p-6 bg-gray-50;
}
.dropdown {
@apply relative self-start;
}
.dropdown__menu {
@apply absolute p-1 transition origin-top-right transform scale-95 bg-white border border-gray-300 rounded-lg shadow-lg opacity-0 pointer-events-none -right-2 top-full;
}
.dropdown__menu--active {
@apply scale-100 translate-y-2 opacity-100 pointer-events-auto;
}
}

View File

@@ -0,0 +1 @@
.tippy-tooltip.light-border-theme{background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,8,16,.15);color:#26323d;box-shadow:0 3px 14px -.5px rgba(0,8,16,.08)}.tippy-tooltip.light-border-theme .tippy-backdrop{background-color:#fff}.tippy-tooltip.light-border-theme .tippy-arrow:after,.tippy-tooltip.light-border-theme .tippy-arrow:before,.tippy-tooltip.light-border-theme .tippy-roundarrow:after,.tippy-tooltip.light-border-theme .tippy-roundarrow:before{content:"";position:absolute;z-index:-1}.tippy-tooltip.light-border-theme .tippy-roundarrow{fill:#fff}.tippy-tooltip.light-border-theme .tippy-roundarrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDE0IiB2aWV3Qm94PSIwIDAgMTggNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA3czIuMDIxLS4wMTUgNS4yNTMtNC4yMThDNi41ODQgMS4wNTEgNy43OTcuMDA3IDkgMGMxLjIwMy0uMDA3IDIuNDE2IDEuMDM1IDMuNzYxIDIuNzgyQzE2LjAxMiA3LjAwNSAxOCA3IDE4IDd6IiBmaWxsPSIjMzMzIiBmaWxsLW9wYWNpdHk9Ii4yMzUiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg==);background-size:18px 7px;width:18px;height:7px;left:0;top:0;fill:rgba(0,8,16,.15)}.tippy-tooltip.light-border-theme[x-placement^=top] .tippy-roundarrow:after{top:1px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.tippy-tooltip.light-border-theme[x-placement^=top] .tippy-arrow{border-top-color:#fff}.tippy-tooltip.light-border-theme[x-placement^=top] .tippy-arrow:after{border-top:7px solid #fff;top:-7px}.tippy-tooltip.light-border-theme[x-placement^=top] .tippy-arrow:before{border-top:7px solid rgba(0,8,16,.2);bottom:-1px}.tippy-tooltip.light-border-theme[x-placement^=bottom] .tippy-roundarrow:after{top:-1px}.tippy-tooltip.light-border-theme[x-placement^=bottom] .tippy-arrow{border-bottom-color:#fff}.tippy-tooltip.light-border-theme[x-placement^=bottom] .tippy-arrow:after{border-bottom:7px solid #fff;bottom:-7px}.tippy-tooltip.light-border-theme[x-placement^=bottom] .tippy-arrow:before{border-bottom:7px solid rgba(0,8,16,.2);bottom:-6px}.tippy-tooltip.light-border-theme[x-placement^=left] .tippy-roundarrow:after{left:1px;top:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tippy-tooltip.light-border-theme[x-placement^=left] .tippy-arrow{border-left-color:#fff}.tippy-tooltip.light-border-theme[x-placement^=left] .tippy-arrow:after{border-left:7px solid #fff;left:-7px}.tippy-tooltip.light-border-theme[x-placement^=left] .tippy-arrow:before{border-left:7px solid rgba(0,8,16,.2);left:-6px}.tippy-tooltip.light-border-theme[x-placement^=right] .tippy-roundarrow:after{left:-1px;top:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tippy-tooltip.light-border-theme[x-placement^=right] .tippy-arrow{border-right-color:#fff}.tippy-tooltip.light-border-theme[x-placement^=right] .tippy-arrow:after{border-right:7px solid #fff;right:-7px}.tippy-tooltip.light-border-theme[x-placement^=right] .tippy-arrow:before{border-right:7px solid rgba(0,8,16,.2);right:-6px}.tippy-tooltip.light-border-theme[x-placement^=bottom] .tippy-arrow,.tippy-tooltip.light-border-theme[x-placement^=bottom] .tippy-roundarrow,.tippy-tooltip.light-border-theme[x-placement^=top] .tippy-arrow,.tippy-tooltip.light-border-theme[x-placement^=top] .tippy-roundarrow{-webkit-transform:translateX(-1px);transform:translateX(-1px)}.tippy-tooltip.light-border-theme[x-placement^=bottom] .tippy-arrow:after,.tippy-tooltip.light-border-theme[x-placement^=bottom] .tippy-arrow:before,.tippy-tooltip.light-border-theme[x-placement^=top] .tippy-arrow:after,.tippy-tooltip.light-border-theme[x-placement^=top] .tippy-arrow:before{left:-7px;border-left:7px solid transparent;border-right:7px solid transparent}.tippy-tooltip.light-border-theme[x-placement^=left] .tippy-arrow,.tippy-tooltip.light-border-theme[x-placement^=left] .tippy-roundarrow,.tippy-tooltip.light-border-theme[x-placement^=right] .tippy-arrow,.tippy-tooltip.light-border-theme[x-placement^=right] .tippy-roundarrow{-webkit-transform:translateY(-1px);transform:translateY(-1px)}.tippy-tooltip.light-border-theme[x-placement^=left] .tippy-arrow:after,.tippy-tooltip.light-border-theme[x-placement^=left] .tippy-arrow:before,.tippy-tooltip.light-border-theme[x-placement^=right] .tippy-arrow:after,.tippy-tooltip.light-border-theme[x-placement^=right] .tippy-arrow:before{top:-7px;border-top:7px solid transparent;border-bottom:7px solid transparent}

1478
src/index-zh.html 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 one or more lines are too long

View File

@@ -114,7 +114,7 @@ libs.bitcoin.networks.namecoin = {
},
pubKeyHash: 0x34,
scriptHash: 0x0D,
wif: 0x80
wif: 0xb4
};
libs.bitcoin.networks.peercoin = {
@@ -768,6 +768,28 @@ libs.bitcoin.networks.feathercoin = {
wif: 0x8e,
};
libs.bitcoin.networks.firo = {
messagePrefix: '\x18Firo Signed Message:\n',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4,
},
pubKeyHash: 0x52,
scriptHash: 0x07,
wif: 0xd2,
};
libs.bitcoin.networks.zcoin = {
messagePrefix: '\x18Zcoin Signed Message:\n',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4,
},
pubKeyHash: 0x52,
scriptHash: 0x07,
wif: 0xd2,
};
libs.bitcoin.networks.firstcoin = {
messagePrefix: '\x18FirstCoin Signed Message:\n',
bip32: {
@@ -1197,6 +1219,17 @@ libs.bitcoin.networks.revolutionvr = {
wif: 0xc6,
};
libs.bitcoin.networks.ritocoin = {
messagePrefix: '\x15Rito Signed Message:\n',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4,
},
pubKeyHash: 0x19,
scriptHash: 0x69,
wif: 0x8b,
};
libs.bitcoin.networks.rsk = {
messagePrefix: '\x18RSK Signed Message:\n',
bip32: {
@@ -1465,17 +1498,6 @@ libs.bitcoin.networks.wincoin = {
wif: 0xc9,
};
libs.bitcoin.networks.zcoin = {
messagePrefix: '\x18Zcoin Signed Message:\n',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4,
},
pubKeyHash: 0x52,
scriptHash: 0x07,
wif: 0xd2,
};
libs.bitcoin.networks.zcash = {
messagePrefix: '\x18Zcash Signed Message:\n',
bip32: {
@@ -1509,6 +1531,17 @@ libs.bitcoin.networks.bitcoinprivate = {
wif: 0x80,
};
libs.bitcoin.networks.bitcoinprivatetestnet = {
messagePrefix: '\x18BitcoinPrivate Signed Message:\n',
bip32: {
public: 0x043587CF,
private: 0x04358394,
},
pubKeyHash: 0x1957,
scriptHash: 0x19E0,
wif: 0xEF,
};
libs.bitcoin.networks.bitcoinz = {
messagePrefix: '\x18BitcoinZ Signed Message:\n',
bip32: {
@@ -1542,6 +1575,18 @@ libs.bitcoin.networks.hush3 = {
wif: 0xBC,
};
libs.bitcoin.networks.zoobc = {
messagePrefix: '\x18ZooBC Signed Message:\n',
bech32: 'bc',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4,
},
pubKeyHash: 0x00,
scriptHash: 0x05,
wif: 0x80,
};
libs.bitcoin.networks.zclassic = {
messagePrefix: '\x18Zcash Signed Message:\n',
bip32: {

13
src/js/cosmos-util.js Normal file
View File

@@ -0,0 +1,13 @@
function CosmosBufferToPublic(pubBuf, hrp = "cosmos") {
const Buffer = libs.buffer.Buffer;
const AminoSecp256k1PubkeyPrefix = Buffer.from("EB5AE987", "hex");
const AminoSecp256k1PubkeyLength = Buffer.from("21", "hex");
pubBuf = Buffer.concat([AminoSecp256k1PubkeyPrefix, AminoSecp256k1PubkeyLength, pubBuf]);
return libs.bech32.encode(`${hrp}pub`, libs.bech32.toWords(pubBuf));
}
function CosmosBufferToAddress(pubBuf, hrp = "cosmos") {
const sha256_ed = libs.createHash("sha256").update(pubBuf).digest();
const ripemd160_ed = libs.createHash("rmd160").update(sha256_ed).digest();
return libs.bech32.encode(hrp, libs.bech32.toWords(ripemd160_ed));
}

61
src/js/extend.js Normal file
View File

@@ -0,0 +1,61 @@
// Solution: https://css-tricks.com/sticky-smooth-active-nav/
function smoothScroll() {
let mainNavLinks = document.querySelectorAll(".js-anchor-link");
window.addEventListener("scroll", (event) => {
let fromTop = window.scrollY;
mainNavLinks.forEach((link) => {
let section = document.querySelector(link.hash);
if (
section.offsetTop <= fromTop &&
section.offsetTop + section.offsetHeight > fromTop
) {
link.classList.add("anchor-link-active");
} else {
link.classList.remove("anchor-link-active");
}
});
});
}
// Get the trigger of dropdown
const enableDropdown = (btnID, menuID) => {
const dropdownActiveClass = "dropdown__menu--active";
const trigger = document.getElementById(btnID);
// Get content of dropdown
const dropdownMenu = document.getElementById(menuID);
const showDropdown = () => {
dropdownMenu.classList.add(dropdownActiveClass);
};
const hideDropdown = () => {
dropdownMenu.classList.remove(dropdownActiveClass);
};
// Click trigger to show content of dropdown
trigger.addEventListener("click", function () {
if (
dropdownMenu.classList.contains(dropdownActiveClass)
) {
hideDropdown();
} else {
showDropdown();
}
});
// Hide content of dropdown if click outside of dropdown element
document.addEventListener("click", (event) => {
if (event.target.closest(".js-dropdown")) return
hideDropdown();
});
}
smoothScroll();
enableDropdown("recoveryPhrasePopoverBtn", "recoveryPhrasePopoverContent");
enableDropdown("languagePopoverBtn", "languagePopoverContent");
enableDropdown("derivedAddressesPopoverBtn", "derivedAddressesPopoverContent");

1556
src/js/footer-zh.js Normal file

File diff suppressed because it is too large Load Diff

1556
src/js/footer.js Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -94,6 +94,18 @@
DOM.bip84accountXprv = $("#bip84 .account-xprv");
DOM.bip84accountXpub = $("#bip84 .account-xpub");
DOM.bip84change = $("#bip84 .change");
DOM.bip85 = $('.bip85');
DOM.showBip85 = $('.showBip85');
DOM.bip85Field = $('.bip85Field');
DOM.bip85application = $('#bip85-application');
DOM.bip85mnemonicLanguage = $('#bip85-mnemonic-language');
DOM.bip85mnemonicLanguageInput = $('.bip85-mnemonic-language-input');
DOM.bip85mnemonicLength = $('#bip85-mnemonic-length');
DOM.bip85mnemonicLengthInput = $('.bip85-mnemonic-length-input');
DOM.bip85index = $('#bip85-index');
DOM.bip85indexInput = $('.bip85-index-input');
DOM.bip85bytes = $('#bip85-bytes');
DOM.bip85bytesInput = $('.bip85-bytes-input');
DOM.bip141unavailable = $("#bip141 .unavailable");
DOM.bip141available = $("#bip141 .available");
DOM.bip141path = $("#bip141-path");
@@ -141,6 +153,7 @@
DOM.more.on("click", showMore);
DOM.seed.on("input", delayedSeedChanged);
DOM.rootKey.on("input", delayedRootKeyChanged);
DOM.showBip85.on('change', toggleBip85);
DOM.litecoinUseLtub.on("change", litecoinUseLtubChanged);
DOM.bip32path.on("input", calcForDerivationPath);
DOM.bip44account.on("input", calcForDerivationPath);
@@ -149,6 +162,11 @@
DOM.bip49change.on("input", calcForDerivationPath);
DOM.bip84account.on("input", calcForDerivationPath);
DOM.bip84change.on("input", calcForDerivationPath);
DOM.bip85application.on('input', calcBip85);
DOM.bip85mnemonicLanguage.on('change', calcBip85);
DOM.bip85mnemonicLength.on('change', calcBip85);
DOM.bip85index.on('input', calcBip85);
DOM.bip85bytes.on('input', calcBip85);
DOM.bip141path.on("input", calcForDerivationPath);
DOM.bip141semantics.on("change", tabChanged);
DOM.tab.on("shown.bs.tab", tabChanged);
@@ -268,6 +286,7 @@
var passphrase = DOM.passphrase.val();
calcBip32RootKeyFromSeed(phrase, passphrase);
calcForDerivationPath();
calcBip85();
// Show the word indexes
showWordIndexes();
writeSplitPhrase(phrase);
@@ -277,6 +296,7 @@
showPending();
adjustNetworkForSegwit();
var phrase = DOM.phrase.val();
var seed = DOM.seed.val();
if (phrase != "") {
// Calculate and display for mnemonic
var errorText = findPhraseErrors(phrase);
@@ -288,6 +308,11 @@
var passphrase = DOM.passphrase.val();
calcBip32RootKeyFromSeed(phrase, passphrase);
}
else if (seed != "") {
bip32RootKey = libs.bitcoin.HDNode.fromSeedHex(seed, network);
var rootKeyBase58 = bip32RootKey.toBase58();
DOM.rootKey.val(rootKeyBase58);
}
else {
// Calculate and display for root key
var rootKeyBase58 = DOM.rootKey.val();
@@ -404,6 +429,7 @@
}
// Calculate and display
calcForDerivationPath();
calcBip85();
}
function rootKeyChanged() {
@@ -418,6 +444,7 @@
// Calculate and display
calcBip32RootKeyFromBase58(rootKeyBase58);
calcForDerivationPath();
calcBip85();
}
function litecoinUseLtubChanged() {
@@ -440,6 +467,78 @@
}
}
function toggleBip85() {
if (DOM.showBip85.prop('checked')) {
DOM.bip85.removeClass('hidden');
calcBip85();
} else {
DOM.bip85.addClass('hidden');
}
}
function toggleBip85Fields() {
if (DOM.showBip85.prop('checked')) {
DOM.bip85mnemonicLanguageInput.addClass('hidden');
DOM.bip85mnemonicLengthInput.addClass('hidden');
DOM.bip85bytesInput.addClass('hidden');
var app = DOM.bip85application.val();
if (app === 'bip39') {
DOM.bip85mnemonicLanguageInput.removeClass('hidden');
DOM.bip85mnemonicLengthInput.removeClass('hidden');
} else if (app === 'hex') {
DOM.bip85bytesInput.removeClass('hidden');
}
}
}
function calcBip85() {
if (!DOM.showBip85.prop('checked')) {
return
}
toggleBip85Fields();
var app = DOM.bip85application.val();
var rootKeyBase58 = DOM.rootKey.val();
if (!rootKeyBase58) {
return;
}
try {
// try parsing using base network params
// The bip85 lib only understands xpubs, so compute it
var rootKey = libs.bitcoin.HDNode.fromBase58(rootKeyBase58, network);
rootKey.keyPair.network = libs.bitcoin.networks['bitcoin']
var master = libs.bip85.BIP85.fromBase58(rootKey.toBase58());
var result;
const index = parseInt(DOM.bip85index.val(), 10);
if (app === 'bip39') {
const language = parseInt(DOM.bip85mnemonicLanguage.val(), 10);
const length = parseInt(DOM.bip85mnemonicLength.val(), 10);
result = master.deriveBIP39(language, length, index).toMnemonic();
} else if (app === 'wif') {
result = master.deriveWIF(index).toWIF();
} else if (app === 'xprv') {
result = master.deriveXPRV(index).toXPRV();
} else if (app === 'hex') {
const bytes = parseInt(DOM.bip85bytes.val(), 10);
result = master.deriveHex(bytes, index).toEntropy();
}
hideValidationError();
DOM.bip85Field.val(result);
} catch (e) {
showValidationError('BIP85: ' + e.message);
DOM.bip85Field.val('');
}
}
function calcForDerivationPath() {
clearDerivedKeys();
clearAddressesList();
@@ -1148,7 +1247,7 @@
address = libs.ethUtil.addHexPrefix(checksumAddress);
pubkey = libs.ethUtil.addHexPrefix(pubkey);
if (hasPrivkey) {
privkey = libs.ethUtil.bufferToHex(keyPair.d.toBuffer());
privkey = libs.ethUtil.bufferToHex(keyPair.d.toBuffer(32));
}
}
//TRX is different
@@ -1258,6 +1357,27 @@
address = libs.bchaddrSlp.toSlpAddress(address);
}
}
// ZooBC address format may vary
if (networks[DOM.network.val()].name == "ZBC - ZooBlockchain") {
var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
var path = "m/";
path += purpose + "'/";
path += coin + "'/" + index + "'";
var result = libs.zoobcUtil.getKeypair(path, seed);
let publicKey = result.pubKey.slice(1, 33);
let privateKey = result.key;
privkey = privateKey.toString('hex');
pubkey = publicKey.toString('hex');
indexText = path;
address = libs.zoobcUtil.getZBCAddress(publicKey, 'ZBC');
}
// Segwit addresses are different
if (isSegwit) {
if (!segwitAvailable) {
@@ -1308,7 +1428,41 @@
privkey = FIObufferToPrivate(keyPair.d.toBuffer(32));
}
//Groestlcoin Addresses are different
if (networks[DOM.network.val()].name == "ATOM - Cosmos Hub") {
const hrp = "cosmos";
address = CosmosBufferToAddress(keyPair.getPublicKeyBuffer(), hrp);
pubkey = CosmosBufferToPublic(keyPair.getPublicKeyBuffer(), hrp);
privkey = keyPair.d.toBuffer().toString("hex");
}
if (networks[DOM.network.val()].name == "RUNE - THORChain") {
const hrp = "thor";
address = CosmosBufferToAddress(keyPair.getPublicKeyBuffer(), hrp);
pubkey = keyPair.getPublicKeyBuffer().toString("hex");
privkey = keyPair.d.toBuffer().toString("hex");
}
if (networks[DOM.network.val()].name == "XWC - Whitecoin"){
address = XWCbufferToAddress(keyPair.getPublicKeyBuffer());
pubkey = XWCbufferToPublic(keyPair.getPublicKeyBuffer());
privkey = XWCbufferToPrivate(keyPair.d.toBuffer(32));
}
if (networks[DOM.network.val()].name == "LUNA - Terra") {
const hrp = "terra";
address = CosmosBufferToAddress(keyPair.getPublicKeyBuffer(), hrp);
pubkey = keyPair.getPublicKeyBuffer().toString("hex");
privkey = keyPair.d.toBuffer().toString("hex");
}
if (networks[DOM.network.val()].name == "IOV - Starname") {
const hrp = "star";
address = CosmosBufferToAddress(keyPair.getPublicKeyBuffer(), hrp);
pubkey = CosmosBufferToPublic(keyPair.getPublicKeyBuffer(), hrp);
privkey = keyPair.d.toBuffer().toString("base64");
}
//Groestlcoin Addresses are different
if(isGRS()) {
if (isSegwit) {
@@ -2123,6 +2277,13 @@
setHdCoin(357);
},
},
{
name: "ATOM - Cosmos Hub",
onSelect: function() {
network = libs.bitcoin.networks.bitcoin;
setHdCoin(118);
},
},
{
name: "AUR - Auroracoin",
onSelect: function() {
@@ -2265,6 +2426,13 @@
setHdCoin(183);
},
},
{
name: "BTCPt - Bitcoin Private Testnet",
onSelect: function() {
network = libs.bitcoin.networks.bitcoinprivatetestnet;
setHdCoin(1);
},
},
{
name: "BSC - Binance Smart Chain",
onSelect: function() {
@@ -2593,7 +2761,14 @@
network = libs.bitcoin.networks.bitcoin;
setHdCoin(235);
},
},
},
{
name: "FIRO - Firo (Zcoin rebrand)",
onSelect: function() {
network = libs.bitcoin.networks.firo;
setHdCoin(136);
},
},
{
name: "FIX - FIX",
onSelect: function() {
@@ -2720,6 +2895,13 @@
},
},
{
name: "IOV - Starname",
onSelect: function() {
network = libs.bitcoin.networks.bitcoin;
setHdCoin(234);
},
},
{
name: "IXC - Ixcoin",
onSelect: function() {
network = libs.bitcoin.networks.ixcoin;
@@ -2808,6 +2990,13 @@
setHdCoin(221);
},
},
{
name: "LUNA - Terra",
onSelect: function() {
network = libs.bitcoin.networks.bitcoin;
setHdCoin(330);
},
},
{
name: "LYNX - Lynx",
onSelect: function() {
@@ -3121,6 +3310,20 @@
setHdCoin(4);
},
},
{
name: "RITO - Ritocoin",
onSelect: function() {
network = libs.bitcoin.networks.ritocoin;
setHdCoin(19169);
},
},
{
name: "RUNE - THORChain",
onSelect: function() {
network = libs.bitcoin.networks.bitcoin;
setHdCoin(931);
},
},
{
name: "RVR - RevolutionVR",
onSelect: function() {
@@ -3219,6 +3422,13 @@
setHdCoin(105);
},
},
{
name: "STC - Starcoin",
onSelect: function () {
network = libs.bitcoin.networks.stratis;
setHdCoin(101010);
},
},
{
name: "SUGAR - Sugarchain",
onSelect: function() {
@@ -3430,19 +3640,26 @@
},
},
{
name: "XWC - Whitecoin",
name: "XWCC - Whitecoin Classic",
onSelect: function() {
network = libs.bitcoin.networks.whitecoin;
setHdCoin(155);
},
},
{
name: "XZC - Zcoin",
name: "XZC - Zcoin (rebranded to Firo)",
onSelect: function() {
network = libs.bitcoin.networks.zcoin;
setHdCoin(136);
},
},
{
name: "ZBC - ZooBlockchain",
onSelect: function () {
network = libs.bitcoin.networks.zoobc;
setHdCoin(883);
},
},
{
name: "ZCL - Zclassic",
onSelect: function() {
@@ -3464,6 +3681,13 @@
setHdCoin(121);
},
},
{
name: "XWC - Whitecoin",
onSelect: function() {
network = libs.bitcoin.networks.bitcoin;
setHdCoin(559);
},
}
]
var clients = [

View File

@@ -163,7 +163,7 @@ libs.bitcoin.networks.regtest.p2wshInP2sh = {
scriptHash: 0xc4,
wif: 0xef
};
libs.bitcoin.networks.cranepay.p2wpkhInP2sh = {
baseNetwork: "cranepay",
messagePrefix: '\x18Bitcoin Signed Message:\n',

View File

@@ -0,0 +1,197 @@
WORDLISTS = typeof
WORDLISTS == "undefined" ? {}: WORDLISTS;
WORDLISTS["portuguese"] = [
"abacate", "abaixo", "abalar", "abater", "abduzir", "abelha", "aberto", "abismo", "abotoar", "abranger", "abreviar",
"abrigar", "abrupto", "absinto", "absoluto", "absurdo", "abutre", "acabado", "acalmar", "acampar", "acanhar",
"acaso", "aceitar", "acelerar", "acenar", "acervo", "acessar", "acetona", "achatar", "acidez", "acima", "acionado",
"acirrar", "aclamar", "aclive", "acolhida", "acomodar", "acoplar", "acordar", "acumular", "acusador", "adaptar",
"adega", "adentro", "adepto", "adequar", "aderente", "adesivo", "adeus", "adiante", "aditivo", "adjetivo",
"adjunto", "admirar", "adorar", "adquirir", "adubo", "adverso", "advogado", "aeronave", "afastar", "aferir",
"afetivo", "afinador", "afivelar", "aflito", "afluente", "afrontar", "agachar", "agarrar", "agasalho", "agenciar",
"agilizar", "agiota", "agitado", "agora", "agradar", "agreste", "agrupar", "aguardar", "agulha", "ajoelhar",
"ajudar", "ajustar", "alameda", "alarme", "alastrar", "alavanca", "albergue", "albino", "alcatra", "aldeia",
"alecrim", "alegria", "alertar", "alface", "alfinete", "algum", "alheio", "aliar", "alicate", "alienar", "alinhar",
"aliviar", "almofada", "alocar", "alpiste", "alterar", "altitude", "alucinar", "alugar", "aluno", "alusivo", "alvo",
"amaciar", "amador", "amarelo", "amassar", "ambas", "ambiente", "ameixa", "amenizar", "amido", "amistoso",
"amizade", "amolador", "amontoar", "amoroso", "amostra", "amparar", "ampliar", "ampola", "anagrama", "analisar",
"anarquia", "anatomia", "andaime", "anel", "anexo", "angular", "animar", "anjo", "anomalia", "anotado", "ansioso",
"anterior", "anuidade", "anunciar", "anzol", "apagador", "apalpar", "apanhado", "apego", "apelido", "apertada",
"apesar", "apetite", "apito", "aplauso", "aplicada", "apoio", "apontar", "aposta", "aprendiz", "aprovar", "aquecer",
"arame", "aranha", "arara", "arcada", "ardente", "areia", "arejar", "arenito", "aresta", "argiloso", "argola",
"arma", "arquivo", "arraial", "arrebate", "arriscar", "arroba", "arrumar", "arsenal", "arterial", "artigo",
"arvoredo", "asfaltar", "asilado", "aspirar", "assador", "assinar", "assoalho", "assunto", "astral", "atacado",
"atadura", "atalho", "atarefar", "atear", "atender", "aterro", "ateu", "atingir", "atirador", "ativo", "atoleiro",
"atracar", "atrevido", "atriz", "atual", "atum", "auditor", "aumentar", "aura", "aurora", "autismo", "autoria",
"autuar", "avaliar", "avante", "avaria", "avental", "avesso", "aviador", "avisar", "avulso", "axila", "azarar",
"azedo", "azeite", "azulejo", "babar", "babosa", "bacalhau", "bacharel", "bacia", "bagagem", "baiano", "bailar",
"baioneta", "bairro", "baixista", "bajular", "baleia", "baliza", "balsa", "banal", "bandeira", "banho", "banir",
"banquete", "barato", "barbado", "baronesa", "barraca", "barulho", "baseado", "bastante", "batata", "batedor",
"batida", "batom", "batucar", "baunilha", "beber", "beijo", "beirada", "beisebol", "beldade", "beleza", "belga",
"beliscar", "bendito", "bengala", "benzer", "berimbau", "berlinda", "berro", "besouro", "bexiga", "bezerro", "bico",
"bicudo", "bienal", "bifocal", "bifurcar", "bigorna", "bilhete", "bimestre", "bimotor", "biologia", "biombo",
"biosfera", "bipolar", "birrento", "biscoito", "bisneto", "bispo", "bissexto", "bitola", "bizarro", "blindado",
"bloco", "bloquear", "boato", "bobagem", "bocado", "bocejo", "bochecha", "boicotar", "bolada", "boletim", "bolha",
"bolo", "bombeiro", "bonde", "boneco", "bonita", "borbulha", "borda", "boreal", "borracha", "bovino", "boxeador",
"branco", "brasa", "braveza", "breu", "briga", "brilho", "brincar", "broa", "brochura", "bronzear", "broto",
"bruxo", "bucha", "budismo", "bufar", "bule", "buraco", "busca", "busto", "buzina", "cabana", "cabelo", "cabide",
"cabo", "cabrito", "cacau", "cacetada", "cachorro", "cacique", "cadastro", "cadeado", "cafezal", "caiaque",
"caipira", "caixote", "cajado", "caju", "calafrio", "calcular", "caldeira", "calibrar", "calmante", "calota",
"camada", "cambista", "camisa", "camomila", "campanha", "camuflar", "canavial", "cancelar", "caneta", "canguru",
"canhoto", "canivete", "canoa", "cansado", "cantar", "canudo", "capacho", "capela", "capinar", "capotar",
"capricho", "captador", "capuz", "caracol", "carbono", "cardeal", "careca", "carimbar", "carneiro", "carpete",
"carreira", "cartaz", "carvalho", "casaco", "casca", "casebre", "castelo", "casulo", "catarata", "cativar", "caule",
"causador", "cautelar", "cavalo", "caverna", "cebola", "cedilha", "cegonha", "celebrar", "celular", "cenoura",
"censo", "centeio", "cercar", "cerrado", "certeiro", "cerveja", "cetim", "cevada", "chacota", "chaleira", "chamado",
"chapada", "charme", "chatice", "chave", "chefe", "chegada", "cheiro", "cheque", "chicote", "chifre", "chinelo",
"chocalho", "chover", "chumbo", "chutar", "chuva", "cicatriz", "ciclone", "cidade", "cidreira", "ciente", "cigana",
"cimento", "cinto", "cinza", "ciranda", "circuito", "cirurgia", "citar", "clareza", "clero", "clicar", "clone",
"clube", "coado", "coagir", "cobaia", "cobertor", "cobrar", "cocada", "coelho", "coentro", "coeso", "cogumelo",
"coibir", "coifa", "coiote", "colar", "coleira", "colher", "colidir", "colmeia", "colono", "coluna", "comando",
"combinar", "comentar", "comitiva", "comover", "complexo", "comum", "concha", "condor", "conectar", "confuso",
"congelar", "conhecer", "conjugar", "consumir", "contrato", "convite", "cooperar", "copeiro", "copiador", "copo",
"coquetel", "coragem", "cordial", "corneta", "coronha", "corporal", "correio", "cortejo", "coruja", "corvo",
"cosseno", "costela", "cotonete", "couro", "couve", "covil", "cozinha", "cratera", "cravo", "creche", "credor",
"creme", "crer", "crespo", "criada", "criminal", "crioulo", "crise", "criticar", "crosta", "crua", "cruzeiro",
"cubano", "cueca", "cuidado", "cujo", "culatra", "culminar", "culpar", "cultura", "cumprir", "cunhado", "cupido",
"curativo", "curral", "cursar", "curto", "cuspir", "custear", "cutelo", "damasco", "datar", "debater", "debitar",
"deboche", "debulhar", "decalque", "decimal", "declive", "decote", "decretar", "dedal", "dedicado", "deduzir",
"defesa", "defumar", "degelo", "degrau", "degustar", "deitado", "deixar", "delator", "delegado", "delinear",
"delonga", "demanda", "demitir", "demolido", "dentista", "depenado", "depilar", "depois", "depressa", "depurar",
"deriva", "derramar", "desafio", "desbotar", "descanso", "desenho", "desfiado", "desgaste", "desigual", "deslize",
"desmamar", "desova", "despesa", "destaque", "desviar", "detalhar", "detentor", "detonar", "detrito", "deusa",
"dever", "devido", "devotado", "dezena", "diagrama", "dialeto", "didata", "difuso", "digitar", "dilatado",
"diluente", "diminuir", "dinastia", "dinheiro", "diocese", "direto", "discreta", "disfarce", "disparo", "disquete",
"dissipar", "distante", "ditador", "diurno", "diverso", "divisor", "divulgar", "dizer", "dobrador", "dolorido",
"domador", "dominado", "donativo", "donzela", "dormente", "dorsal", "dosagem", "dourado", "doutor", "drenagem",
"drible", "drogaria", "duelar", "duende", "dueto", "duplo", "duquesa", "durante", "duvidoso", "eclodir", "ecoar",
"ecologia", "edificar", "edital", "educado", "efeito", "efetivar", "ejetar", "elaborar", "eleger", "eleitor",
"elenco", "elevador", "eliminar", "elogiar", "embargo", "embolado", "embrulho", "embutido", "emenda", "emergir",
"emissor", "empatia", "empenho", "empinado", "empolgar", "emprego", "empurrar", "emulador", "encaixe", "encenado",
"enchente", "encontro", "endeusar", "endossar", "enfaixar", "enfeite", "enfim", "engajado", "engenho", "englobar",
"engomado", "engraxar", "enguia", "enjoar", "enlatar", "enquanto", "enraizar", "enrolado", "enrugar", "ensaio",
"enseada", "ensino", "ensopado", "entanto", "enteado", "entidade", "entortar", "entrada", "entulho", "envergar",
"enviado", "envolver", "enxame", "enxerto", "enxofre", "enxuto", "epiderme", "equipar", "ereto", "erguido",
"errata", "erva", "ervilha", "esbanjar", "esbelto", "escama", "escola", "escrita", "escuta", "esfinge", "esfolar",
"esfregar", "esfumado", "esgrima", "esmalte", "espanto", "espelho", "espiga", "esponja", "espreita", "espumar",
"esquerda", "estaca", "esteira", "esticar", "estofado", "estrela", "estudo", "esvaziar", "etanol", "etiqueta",
"euforia", "europeu", "evacuar", "evaporar", "evasivo", "eventual", "evidente", "evoluir", "exagero", "exalar",
"examinar", "exato", "exausto", "excesso", "excitar", "exclamar", "executar", "exemplo", "exibir", "exigente",
"exonerar", "expandir", "expelir", "expirar", "explanar", "exposto", "expresso", "expulsar", "externo", "extinto",
"extrato", "fabricar", "fabuloso", "faceta", "facial", "fada", "fadiga", "faixa", "falar", "falta", "familiar",
"fandango", "fanfarra", "fantoche", "fardado", "farelo", "farinha", "farofa", "farpa", "fartura", "fatia", "fator",
"favorita", "faxina", "fazenda", "fechado", "feijoada", "feirante", "felino", "feminino", "fenda", "feno", "fera",
"feriado", "ferrugem", "ferver", "festejar", "fetal", "feudal", "fiapo", "fibrose", "ficar", "ficheiro", "figurado",
"fileira", "filho", "filme", "filtrar", "firmeza", "fisgada", "fissura", "fita", "fivela", "fixador", "fixo",
"flacidez", "flamingo", "flanela", "flechada", "flora", "flutuar", "fluxo", "focal", "focinho", "fofocar", "fogo",
"foguete", "foice", "folgado", "folheto", "forjar", "formiga", "forno", "forte", "fosco", "fossa", "fragata",
"fralda", "frango", "frasco", "fraterno", "freira", "frente", "fretar", "frieza", "friso", "fritura", "fronha",
"frustrar", "fruteira", "fugir", "fulano", "fuligem", "fundar", "fungo", "funil", "furador", "furioso", "futebol",
"gabarito", "gabinete", "gado", "gaiato", "gaiola", "gaivota", "galega", "galho", "galinha", "galocha", "ganhar",
"garagem", "garfo", "gargalo", "garimpo", "garoupa", "garrafa", "gasoduto", "gasto", "gata", "gatilho", "gaveta",
"gazela", "gelado", "geleia", "gelo", "gemada", "gemer", "gemido", "generoso", "gengiva", "genial", "genoma",
"genro", "geologia", "gerador", "germinar", "gesso", "gestor", "ginasta", "gincana", "gingado", "girafa", "girino",
"glacial", "glicose", "global", "glorioso", "goela", "goiaba", "golfe", "golpear", "gordura", "gorjeta", "gorro",
"gostoso", "goteira", "governar", "gracejo", "gradual", "grafite", "gralha", "grampo", "granada", "gratuito",
"graveto", "graxa", "grego", "grelhar", "greve", "grilo", "grisalho", "gritaria", "grosso", "grotesco", "grudado",
"grunhido", "gruta", "guache", "guarani", "guaxinim", "guerrear", "guiar", "guincho", "guisado", "gula", "guloso",
"guru", "habitar", "harmonia", "haste", "haver", "hectare", "herdar", "heresia", "hesitar", "hiato", "hibernar",
"hidratar", "hiena", "hino", "hipismo", "hipnose", "hipoteca", "hoje", "holofote", "homem", "honesto", "honrado",
"hormonal", "hospedar", "humorado", "iate", "ideia", "idoso", "ignorado", "igreja", "iguana", "ileso", "ilha",
"iludido", "iluminar", "ilustrar", "imagem", "imediato", "imenso", "imersivo", "iminente", "imitador", "imortal",
"impacto", "impedir", "implante", "impor", "imprensa", "impune", "imunizar", "inalador", "inapto", "inativo",
"incenso", "inchar", "incidir", "incluir", "incolor", "indeciso", "indireto", "indutor", "ineficaz", "inerente",
"infantil", "infestar", "infinito", "inflamar", "informal", "infrator", "ingerir", "inibido", "inicial", "inimigo",
"injetar", "inocente", "inodoro", "inovador", "inox", "inquieto", "inscrito", "inseto", "insistir", "inspetor",
"instalar", "insulto", "intacto", "integral", "intimar", "intocado", "intriga", "invasor", "inverno", "invicto",
"invocar", "iogurte", "iraniano", "ironizar", "irreal", "irritado", "isca", "isento", "isolado", "isqueiro",
"italiano", "janeiro", "jangada", "janta", "jararaca", "jardim", "jarro", "jasmim", "jato", "javali", "jazida",
"jejum", "joaninha", "joelhada", "jogador", "joia", "jornal", "jorrar", "jovem", "juba", "judeu", "judoca", "juiz",
"julgador", "julho", "jurado", "jurista", "juro", "justa", "labareda", "laboral", "lacre", "lactante", "ladrilho",
"lagarta", "lagoa", "laje", "lamber", "lamentar", "laminar", "lampejo", "lanche", "lapidar", "lapso", "laranja",
"lareira", "largura", "lasanha", "lastro", "lateral", "latido", "lavanda", "lavoura", "lavrador", "laxante",
"lazer", "lealdade", "lebre", "legado", "legendar", "legista", "leigo", "leiloar", "leitura", "lembrete", "leme",
"lenhador", "lentilha", "leoa", "lesma", "leste", "letivo", "letreiro", "levar", "leveza", "levitar", "liberal",
"libido", "liderar", "ligar", "ligeiro", "limitar", "limoeiro", "limpador", "linda", "linear", "linhagem",
"liquidez", "listagem", "lisura", "litoral", "livro", "lixa", "lixeira", "locador", "locutor", "lojista", "lombo",
"lona", "longe", "lontra", "lorde", "lotado", "loteria", "loucura", "lousa", "louvar", "luar", "lucidez", "lucro",
"luneta", "lustre", "lutador", "luva", "macaco", "macete", "machado", "macio", "madeira", "madrinha", "magnata",
"magreza", "maior", "mais", "malandro", "malha", "malote", "maluco", "mamilo", "mamoeiro", "mamute", "manada",
"mancha", "mandato", "manequim", "manhoso", "manivela", "manobrar", "mansa", "manter", "manusear", "mapeado",
"maquinar", "marcador", "maresia", "marfim", "margem", "marinho", "marmita", "maroto", "marquise", "marreco",
"martelo", "marujo", "mascote", "masmorra", "massagem", "mastigar", "matagal", "materno", "matinal", "matutar",
"maxilar", "medalha", "medida", "medusa", "megafone", "meiga", "melancia", "melhor", "membro", "memorial", "menino",
"menos", "mensagem", "mental", "merecer", "mergulho", "mesada", "mesclar", "mesmo", "mesquita", "mestre", "metade",
"meteoro", "metragem", "mexer", "mexicano", "micro", "migalha", "migrar", "milagre", "milenar", "milhar", "mimado",
"minerar", "minhoca", "ministro", "minoria", "miolo", "mirante", "mirtilo", "misturar", "mocidade", "moderno",
"modular", "moeda", "moer", "moinho", "moita", "moldura", "moleza", "molho", "molinete", "molusco", "montanha",
"moqueca", "morango", "morcego", "mordomo", "morena", "mosaico", "mosquete", "mostarda", "motel", "motim", "moto",
"motriz", "muda", "muito", "mulata", "mulher", "multar", "mundial", "munido", "muralha", "murcho", "muscular",
"museu", "musical", "nacional", "nadador", "naja", "namoro", "narina", "narrado", "nascer", "nativa", "natureza",
"navalha", "navegar", "navio", "neblina", "nebuloso", "negativa", "negociar", "negrito", "nervoso", "neta",
"neural", "nevasca", "nevoeiro", "ninar", "ninho", "nitidez", "nivelar", "nobreza", "noite", "noiva", "nomear",
"nominal", "nordeste", "nortear", "notar", "noticiar", "noturno", "novelo", "novilho", "novo", "nublado", "nudez",
"numeral", "nupcial", "nutrir", "nuvem", "obcecado", "obedecer", "objetivo", "obrigado", "obscuro", "obstetra",
"obter", "obturar", "ocidente", "ocioso", "ocorrer", "oculista", "ocupado", "ofegante", "ofensiva", "oferenda",
"oficina", "ofuscado", "ogiva", "olaria", "oleoso", "olhar", "oliveira", "ombro", "omelete", "omisso", "omitir",
"ondulado", "oneroso", "ontem", "opcional", "operador", "oponente", "oportuno", "oposto", "orar", "orbitar",
"ordem", "ordinal", "orfanato", "orgasmo", "orgulho", "oriental", "origem", "oriundo", "orla", "ortodoxo",
"orvalho", "oscilar", "ossada", "osso", "ostentar", "otimismo", "ousadia", "outono", "outubro", "ouvido", "ovelha",
"ovular", "oxidar", "oxigenar", "pacato", "paciente", "pacote", "pactuar", "padaria", "padrinho", "pagar", "pagode",
"painel", "pairar", "paisagem", "palavra", "palestra", "palheta", "palito", "palmada", "palpitar", "pancada",
"panela", "panfleto", "panqueca", "pantanal", "papagaio", "papelada", "papiro", "parafina", "parcial", "pardal",
"parede", "partida", "pasmo", "passado", "pastel", "patamar", "patente", "patinar", "patrono", "paulada", "pausar",
"peculiar", "pedalar", "pedestre", "pediatra", "pedra", "pegada", "peitoral", "peixe", "pele", "pelicano", "penca",
"pendurar", "peneira", "penhasco", "pensador", "pente", "perceber", "perfeito", "pergunta", "perito", "permitir",
"perna", "perplexo", "persiana", "pertence", "peruca", "pescado", "pesquisa", "pessoa", "petiscar", "piada",
"picado", "piedade", "pigmento", "pilastra", "pilhado", "pilotar", "pimenta", "pincel", "pinguim", "pinha",
"pinote", "pintar", "pioneiro", "pipoca", "piquete", "piranha", "pires", "pirueta", "piscar", "pistola", "pitanga",
"pivete", "planta", "plaqueta", "platina", "plebeu", "plumagem", "pluvial", "pneu", "poda", "poeira", "poetisa",
"polegada", "policiar", "poluente", "polvilho", "pomar", "pomba", "ponderar", "pontaria", "populoso", "porta",
"possuir", "postal", "pote", "poupar", "pouso", "povoar", "praia", "prancha", "prato", "praxe", "prece", "predador",
"prefeito", "premiar", "prensar", "preparar", "presilha", "pretexto", "prevenir", "prezar", "primata", "princesa",
"prisma", "privado", "processo", "produto", "profeta", "proibido", "projeto", "prometer", "propagar", "prosa",
"protetor", "provador", "publicar", "pudim", "pular", "pulmonar", "pulseira", "punhal", "punir", "pupilo", "pureza",
"puxador", "quadra", "quantia", "quarto", "quase", "quebrar", "queda", "queijo", "quente", "querido", "quimono",
"quina", "quiosque", "rabanada", "rabisco", "rachar", "racionar", "radial", "raiar", "rainha", "raio", "raiva",
"rajada", "ralado", "ramal", "ranger", "ranhura", "rapadura", "rapel", "rapidez", "raposa", "raquete", "raridade",
"rasante", "rascunho", "rasgar", "raspador", "rasteira", "rasurar", "ratazana", "ratoeira", "realeza", "reanimar",
"reaver", "rebaixar", "rebelde", "rebolar", "recado", "recente", "recheio", "recibo", "recordar", "recrutar",
"recuar", "rede", "redimir", "redonda", "reduzida", "reenvio", "refinar", "refletir", "refogar", "refresco",
"refugiar", "regalia", "regime", "regra", "reinado", "reitor", "rejeitar", "relativo", "remador", "remendo",
"remorso", "renovado", "reparo", "repelir", "repleto", "repolho", "represa", "repudiar", "requerer", "resenha",
"resfriar", "resgatar", "residir", "resolver", "respeito", "ressaca", "restante", "resumir", "retalho", "reter",
"retirar", "retomada", "retratar", "revelar", "revisor", "revolta", "riacho", "rica", "rigidez", "rigoroso",
"rimar", "ringue", "risada", "risco", "risonho", "robalo", "rochedo", "rodada", "rodeio", "rodovia", "roedor",
"roleta", "romano", "roncar", "rosado", "roseira", "rosto", "rota", "roteiro", "rotina", "rotular", "rouco",
"roupa", "roxo", "rubro", "rugido", "rugoso", "ruivo", "rumo", "rupestre", "russo", "sabor", "saciar", "sacola",
"sacudir", "sadio", "safira", "saga", "sagrada", "saibro", "salada", "saleiro", "salgado", "saliva", "salpicar",
"salsicha", "saltar", "salvador", "sambar", "samurai", "sanar", "sanfona", "sangue", "sanidade", "sapato", "sarda",
"sargento", "sarjeta", "saturar", "saudade", "saxofone", "sazonal", "secar", "secular", "seda", "sedento",
"sediado", "sedoso", "sedutor", "segmento", "segredo", "segundo", "seiva", "seleto", "selvagem", "semanal",
"semente", "senador", "senhor", "sensual", "sentado", "separado", "sereia", "seringa", "serra", "servo", "setembro",
"setor", "sigilo", "silhueta", "silicone", "simetria", "simpatia", "simular", "sinal", "sincero", "singular",
"sinopse", "sintonia", "sirene", "siri", "situado", "soberano", "sobra", "socorro", "sogro", "soja", "solda",
"soletrar", "solteiro", "sombrio", "sonata", "sondar", "sonegar", "sonhador", "sono", "soprano", "soquete",
"sorrir", "sorteio", "sossego", "sotaque", "soterrar", "sovado", "sozinho", "suavizar", "subida", "submerso",
"subsolo", "subtrair", "sucata", "sucesso", "suco", "sudeste", "sufixo", "sugador", "sugerir", "sujeito", "sulfato",
"sumir", "suor", "superior", "suplicar", "suposto", "suprimir", "surdina", "surfista", "surpresa", "surreal",
"surtir", "suspiro", "sustento", "tabela", "tablete", "tabuada", "tacho", "tagarela", "talher", "talo", "talvez",
"tamanho", "tamborim", "tampa", "tangente", "tanto", "tapar", "tapioca", "tardio", "tarefa", "tarja", "tarraxa",
"tatuagem", "taurino", "taxativo", "taxista", "teatral", "tecer", "tecido", "teclado", "tedioso", "teia", "teimar",
"telefone", "telhado", "tempero", "tenente", "tensor", "tentar", "termal", "terno", "terreno", "tese", "tesoura",
"testado", "teto", "textura", "texugo", "tiara", "tigela", "tijolo", "timbrar", "timidez", "tingido", "tinteiro",
"tiragem", "titular", "toalha", "tocha", "tolerar", "tolice", "tomada", "tomilho", "tonel", "tontura", "topete",
"tora", "torcido", "torneio", "torque", "torrada", "torto", "tostar", "touca", "toupeira", "toxina", "trabalho",
"tracejar", "tradutor", "trafegar", "trajeto", "trama", "trancar", "trapo", "traseiro", "tratador", "travar",
"treino", "tremer", "trepidar", "trevo", "triagem", "tribo", "triciclo", "tridente", "trilogia", "trindade",
"triplo", "triturar", "triunfal", "trocar", "trombeta", "trova", "trunfo", "truque", "tubular", "tucano", "tudo",
"tulipa", "tupi", "turbo", "turma", "turquesa", "tutelar", "tutorial", "uivar", "umbigo", "unha", "unidade",
"uniforme", "urologia", "urso", "urtiga", "urubu", "usado", "usina", "usufruir", "vacina", "vadiar", "vagaroso",
"vaidoso", "vala", "valente", "validade", "valores", "vantagem", "vaqueiro", "varanda", "vareta", "varrer",
"vascular", "vasilha", "vassoura", "vazar", "vazio", "veado", "vedar", "vegetar", "veicular", "veleiro", "velhice",
"veludo", "vencedor", "vendaval", "venerar", "ventre", "verbal", "verdade", "vereador", "vergonha", "vermelho",
"verniz", "versar", "vertente", "vespa", "vestido", "vetorial", "viaduto", "viagem", "viajar", "viatura",
"vibrador", "videira", "vidraria", "viela", "viga", "vigente", "vigiar", "vigorar", "vilarejo", "vinco", "vinheta",
"vinil", "violeta", "virada", "virtude", "visitar", "visto", "vitral", "viveiro", "vizinho", "voador", "voar",
"vogal", "volante", "voleibol", "voltagem", "volumoso", "vontade", "vulto", "vuvuzela", "xadrez", "xarope", "xeque",
"xeretar", "xerife", "xingar", "zangado", "zarpar", "zebu", "zelador", "zombar", "zoologia", "zumbido"]

28
src/js/xwc-util.js Normal file
View File

@@ -0,0 +1,28 @@
function XWCbufferToAddress(pubBuf){
const Buffer = libs.buffer.Buffer;
const XWC_ADDRESS_PREFIX = "XWC";
const XWC_NORMAL_ADDRESS_VERSION = "35"
let addrData = libs.createHash("rmd160").update( libs.createHash("sha512").update(pubBuf).digest()).digest();
let addrBuf = Buffer.concat([Buffer.from(XWC_NORMAL_ADDRESS_VERSION, "hex") ,addrData])
let checksum = libs.createHash("rmd160").update(addrBuf).digest("hex").slice(0, 8);
addrBuf = Buffer.concat([addrBuf, Buffer.from(checksum, "hex")]);
return XWC_ADDRESS_PREFIX.concat(libs.bs58.encode(addrBuf));
}
function XWCbufferToPublic(pubBuf) {
const Buffer = libs.buffer.Buffer;
const XWC_PUBLIC_PREFIX = "XWC";
let checksum = libs.createHash("rmd160").update(pubBuf).digest("hex").slice(0, 8);
pubBuf = Buffer.concat([pubBuf, Buffer.from(checksum, "hex")]);
return XWC_PUBLIC_PREFIX.concat(libs.bs58.encode(pubBuf));
}
function XWCbufferToPrivate(privBuf) {
const Buffer = libs.buffer.Buffer;
const XWC_PRIVATE_PREFIX = "80";
privBuf = Buffer.concat([Buffer.from(XWC_PRIVATE_PREFIX, "hex"), privBuf]);
let tmp = libs.createHash("sha256").update(privBuf).digest();
let checksum = libs.createHash("sha256").update(tmp).digest("hex").slice(0, 8);
privBuf = Buffer.concat([privBuf, Buffer.from(checksum, "hex")]);
return libs.bs58.encode(privBuf);
}

29
tailwind.config.js Normal file
View File

@@ -0,0 +1,29 @@
module.exports = {
purge: {
content: ["./src/**/*.html"],
safelist: ["anchor-link-active", "dropdown__menu--active"],
},
darkMode: false, // or 'media' or 'class'
theme: {
extend: {
colors: {
green: {
50: "#E8FFEA",
100: "#D0FFD5",
200: "#B9FFC0",
300: "#00E617",
400: "#00CF15",
500: "#00B812",
600: "#00AA11",
700: "#009D10",
800: "#00900E",
900: "#00830D",
},
},
},
},
variants: {
extend: {},
},
plugins: [require("@tailwindcss/forms"), require("@tailwindcss/typography")],
};

View File

@@ -168,6 +168,17 @@ function selectNetwork(name) {
}, name);
}
function selectBip85Language(language) {
driver.executeScript(function() {
var selectText = arguments[0];
$(".bip85-mnemonic-language option[selected]").removeAttr("selected");
$(".bip85-mnemonic-language option").filter(function(i,e) {
return $(e).html() == selectText;
}).prop("selected", true);
$(".bip85-mnemonic-language").trigger("change");
}, language);
}
function testEntropyType(done, entropyText, entropyTypeUnsafe) {
// entropy type is compiled into regexp so needs escaping
// see https://stackoverflow.com/a/2593661
@@ -640,7 +651,7 @@ it('Allows selection of namecoin', function(done) {
phrase: "abandon abandon ability",
firstAddress: "Mw2vK2Bvex1yYtYF6sfbEg2YGoUc98YUD2",
firstPubKey: "0398066486fe87cbcb9da8e29d180b44937b6c43ad1ec4d3bddd77b7905765937e",
firstPrivKey: "L4A8sSkrGndiXyZdj6Fnju8Wu76s96cdHHmPxV3C5M2R2w4GVNco",
firstPrivKey: "TkJvbqVdNnGsCtFaV2nE8x3qqhYnYriRkGAB4747cEDRg9VUKKiz",
};
testNetwork(done, params);
});
@@ -906,6 +917,26 @@ it('Allows selection of Aryacoin', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Cosmos Hub', function(done) {
var params = {
selectText: "ATOM - Cosmos Hub",
phrase: "abandon abandon ability",
firstAddress: "cosmos17mkch9syem8gtf6wh7p38thdgav6dwezpkylny",
firstPubKey: "cosmospub1addwnpepq0sgn66ty4suk5vx3hsmxxqd5z3amegqwlu59funrzyz5u8r9758qhl84ys",
firstPrivKey: "zUnETPxmE2vkHzLHTAlO9wg8PL/GEEBc1I4yVwvSV8M=",
};
testNetwork(done, params);
});
it('Allows selection of Terra', function(done) {
var params = {
selectText: "LUNA - Terra",
phrase: "abandon abandon ability",
firstAddress: "terra1txr4jwel3vjl64vrc08pljnjryqkhtffmyp265",
firstPubKey: "028e7658e3debb2d9d458919bfba0e85b0220e845f7552176f30a52acd0f809d71",
firstPrivKey: "d611b211e370aa1edd9743acd6ce537d16fade85d7ae7e88b32f3a0483f52535",
};
testNetwork(done, params);
});
it('Allows selection of Auroracoin', function(done) {
var params = {
selectText: "AUR - Auroracoin",
@@ -966,6 +997,16 @@ it('Allows selection of Bitcoin Private', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Bitcoin Private testnet', function(done) {
var params = {
selectText: "BTCPt - Bitcoin Private Testnet",
phrase: "abandon abandon ability",
firstAddress: "n1UcUUSDfDppfzh7XLJNHmZkLdbTQg3VAZL",
firstPubKey: "0382a5450765e2025bdb5f7d109c9254a11ef97a566228bf171d80ecb348763bb0",
firstPrivKey: "cV3coiYD2NhHKfhC6Gb8DzpvPzcGYYExYxuNxpUtKq3VUJrkFLZx",
};
testNetwork(done, params);
});
it('Allows selection of Bitcoin SV', function(done) {
var params = {
selectText: "BSV - BitcoinSV",
@@ -1214,6 +1255,26 @@ it('Allows selection of FIO', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Firo', function(done) {
var params = {
selectText: "FIRO - Firo (Zcoin rebrand)",
phrase: "abandon abandon ability",
firstAddress: "a6VcMdP4XgAA9Tr7xNszmPG5FZpfRf17Cq",
firstPubKey: "0236f2348c32dc62d69488b01988ed1154df261723ec60461cb6e62189984c62db",
firstPrivKey: "Y8k3XQRQrJoABEao4Sw45s744g6xth7yviNqFcN7zqPqKUJrrKTQ",
};
testNetwork(done, params);
});
it('Allows selection of Zcoin', function(done) {
var params = {
selectText: "XZC - Zcoin (rebranded to Firo)",
phrase: "abandon abandon ability",
firstAddress: "a6VcMdP4XgAA9Tr7xNszmPG5FZpfRf17Cq",
firstPubKey: "0236f2348c32dc62d69488b01988ed1154df261723ec60461cb6e62189984c62db",
firstPrivKey: "Y8k3XQRQrJoABEao4Sw45s744g6xth7yviNqFcN7zqPqKUJrrKTQ",
};
testNetwork(done, params);
});
it('Allows selection of Firstcoin', function(done) {
var params = {
selectText: "FRST - Firstcoin",
@@ -1314,6 +1375,16 @@ it('Allows selection of Iop', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Starname', function(done) {
var params = {
selectText: "IOV - Starname",
phrase: "abandon abandon ability",
firstAddress: "star1xgfvgq40r7ff8ylw9l95dw56xnr0pvtjnlp7h4",
firstPubKey: "starpub1addwnpepqg9x5cft48hcgx25vyzeyygntl7pt763datr6v50hrecafyane54xlqdxkd",
firstPrivKey: "bGI4BNRvMYT1lbCOoH000HvNFPkyXms9n3Xp1X/7E80=",
};
testNetwork(done, params);
});
it('Allows selection of Ixcoin', function(done) {
var params = {
selectText: "IXC - Ixcoin",
@@ -1604,6 +1675,16 @@ it('Allows selection of RevolutionVR', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Ritocoin', function(done) {
var params = {
selectText: "RITO - Ritocoin",
phrase: "abandon abandon ability",
firstAddress: "BMbHdwDiuaZh4ATp8Xapf4srv3swzAGgkf",
firstPubKey: "036f5f55dc37fa97294a2a5ae4d92735d4392d4405cbbebebf2d70d5d6781be622",
firstPrivKey: "Mdaumz3494kxCeiEBame4ZBzjtTQ5mYzD8notv2EBW8FcNy3PiYd",
};
testNetwork(done, params);
});
it('Allows selection of Rubycoin', function(done) {
var params = {
selectText: "RBY - Rubycoin",
@@ -1614,6 +1695,16 @@ it('Allows selection of Rubycoin', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of THORChain', function(done) {
var params = {
selectText: "RUNE - THORChain",
phrase: "flip vicious divorce angle toward say derive blue refuse load word creek once expire bounce",
firstAddress: "thor1zp3yx758t64vqvu8776vnwd0udrs2vwuxhc4ep",
firstPubKey: "02fa85b75ef37fe3a4f4a6d62352aa7de070d2b39af9c55be26f079d01f406851d",
firstPrivKey: "6020c0d5a9a8689c491c6a8f36beb70bf459e129e1428fed64aaf594beee54a6",
};
testNetwork(done, params);
});
it('Allows selection of Salus', function(done) {
var params = {
selectText: "SLS - Salus",
@@ -1824,9 +1915,9 @@ it('Allows selection of VeChain', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Whitecoin', function(done) {
it('Allows selection of Whitecoin Classic', function(done) {
var params = {
selectText: "XWC - Whitecoin",
selectText: "XWCC - Whitecoin Classic",
phrase: "abandon abandon ability",
firstAddress: "WcSwCAUqrSgeSYbsaS3SSWWhsx8KRYTFDR",
firstPubKey: "03d3f4fa758f6260bfb39664d248a32258b53a90a71224db056ee79abaa3e9f208",
@@ -1834,6 +1925,16 @@ it('Allows selection of Whitecoin', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Whitecoin', function(done) {
var params = {
selectText: "XWC - Whitecoin",
phrase: "abandon abandon ability",
firstAddress: "XWCNY5EQsC55ifxRVEbP7H28yc3TMXC2pqsb5",
firstPubKey: "XWC68fEy4cCc8G1UWyeMPnQ5NjEhMUFSvu1oz4gLKxvj3dPvh7v18",
firstPrivKey: "5K8toD6TYy5DMHkxjpywXNLj4M6CjZAT5h12uhRuVuBBRtci8Zw",
};
testNetwork(done, params);
});
it('Allows selection of Wincoin', function(done) {
var params = {
selectText: "WC - Wincoin",
@@ -1844,16 +1945,6 @@ it('Allows selection of Wincoin', function(done) {
};
testNetwork(done, params);
});
it('Allows selection of Zcoin', function(done) {
var params = {
selectText: "XZC - Zcoin",
phrase: "abandon abandon ability",
firstAddress: "a6VcMdP4XgAA9Tr7xNszmPG5FZpfRf17Cq",
firstPubKey: "0236f2348c32dc62d69488b01988ed1154df261723ec60461cb6e62189984c62db",
firstPrivKey: "Y8k3XQRQrJoABEao4Sw45s744g6xth7yviNqFcN7zqPqKUJrrKTQ",
};
testNetwork(done, params);
});
it('Allows selection of Zcash', function(done) {
var params = {
selectText: "ZEC - Zcash",
@@ -2307,6 +2398,17 @@ it('Allows selection of TRX on Tron', function(done) {
testNetwork(done, params);
});
it('Allows selection of ZooBlockchain', function(done) {
var params = {
selectText: "ZBC - ZooBlockchain",
phrase: "shy invest oxygen real lunar moral merge corn program air affair amazing dove imitate combine solve library fresh case alcohol pole question act thing",
firstAddress: "ZBC_MGEZVH3U_SXPCBHTU_KSWDPQ4X_K6MSI3VR_CQAYMTLC_RXUMM3DJ_LFABCAXA",
firstPubKey: "61899a9f7495de209e7454ac37c3975799246eb11401864d628de8c66c695940",
firstPrivKey: "adb11e79068fa7366ec4f5963ad57115d666b1ad2b369b92d962563adf7dd48b",
};
testNetwork(done, params);
});
// BIP39 seed is set from phrase
it('Sets the bip39 seed from the prhase', function(done) {
driver.findElement(By.css('.phrase'))
@@ -4960,6 +5062,43 @@ it('Shows split prase cards', function(done) {
});
});
// Pull Request 454 https://github.com/iancoleman/bip39/pull/454
// Add BIP85 support
it('Show BIP85', function(done) {
var originalPhrase = "install scatter logic circle pencil average fall shoe quantum disease suspect usage";
driver.findElement(By.css('.phrase'))
.sendKeys(originalPhrase);
driver.sleep(generateDelay).then(function() {
driver.findElement(By.css('.showBip85')).click();
driver.findElement(By.css('.showBip85')).isSelected().then(function(isSelected) {
expect(isSelected).toBe(true)
driver.findElement(By.css('#bip85Field')).getAttribute("value").then(function(childMnemonic) {
expect(childMnemonic).toBe('girl mad pet galaxy egg matter matrix prison refuse sense ordinary nose')
done();
})
});
});
});
it('Show BIP85 in non-English languages', function(done) {
pending("BIP85 library update");
var originalPhrase = "install scatter logic circle pencil average fall shoe quantum disease suspect usage";
driver.findElement(By.css('.phrase'))
.sendKeys(originalPhrase);
driver.sleep(generateDelay).then(function() {
driver.findElement(By.css('.showBip85')).click();
selectBip85Language("3");
driver.findElement(By.css('.showBip85')).isSelected().then(function(isSelected) {
expect(isSelected).toBe(true)
driver.findElement(By.css('#bip85Field')).getAttribute("value").then(function(childMnemonic) {
expect(childMnemonic).not.toBe('girl mad pet galaxy egg matter matrix prison refuse sense ordinary nose')
//expect(childMnemonic).toBe('Not sure yet, something Spanish')
done();
})
});
});
});
// It allows manually specifying the entropy type
it('Allows entropy type to be manually selected', function(done) {
driver.findElement(By.css('.use-entropy'))
@@ -5033,4 +5172,26 @@ it('Generates ethereum addresses from a public key', function(done) {
});
});
// https://github.com/iancoleman/bip39/issues/469
it('Generates ethereum private keys with the correct padding', function(done) {
var phrase = "flip vicious divorce angle toward say derive blue refuse load word creek once expire bounce";
let withoutPadding = "0x53121fc5d193e623d2dbf43b2a96640bbed16bd530947fff8dda12f1aec828";
let withPadding = "0x0053121fc5d193e623d2dbf43b2a96640bbed16bd530947fff8dda12f1aec828";
let skIndex = 15;
driver.findElement(By.css('.phrase'))
.sendKeys(phrase);
selectNetwork('ETH - Ethereum');
driver.sleep(generateDelay).then(function() {
driver.findElements(By.css(".privkey"))
.then(function(els) {
els[skIndex].getText()
.then(function(sk) {
expect(sk).toBe(withPadding);
expect(sk).not.toBe(withoutPadding);
done();
});
})
});
});
});

877
yarn.lock Normal file
View File

@@ -0,0 +1,877 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@babel/code-frame@^7.0.0":
version "7.14.5"
resolved "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz?cache=0&sync_timestamp=1623280493738&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
integrity sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=
dependencies:
"@babel/highlight" "^7.14.5"
"@babel/helper-validator-identifier@^7.14.5":
version "7.14.5"
resolved "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.5.tgz?cache=0&sync_timestamp=1623280480584&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
integrity sha1-0PDid8US4Mk4J3+qhaOWjJpEwOg=
"@babel/highlight@^7.14.5":
version "7.14.5"
resolved "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
integrity sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=
dependencies:
"@babel/helper-validator-identifier" "^7.14.5"
chalk "^2.0.0"
js-tokens "^4.0.0"
"@fullhuman/postcss-purgecss@^4.0.3":
version "4.0.3"
resolved "https://registry.npm.taobao.org/@fullhuman/postcss-purgecss/download/@fullhuman/postcss-purgecss-4.0.3.tgz#55d71712ec1c7a88e0d1ba5f10ce7fb6aa05beb4"
integrity sha1-VdcXEuwceojg0bpfEM5/tqoFvrQ=
dependencies:
purgecss "^4.0.3"
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
integrity sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=
dependencies:
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
resolved "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz?cache=0&sync_timestamp=1622792692185&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
integrity sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=
"@nodelib/fs.walk@^1.2.3":
version "1.2.7"
resolved "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.7.tgz#94c23db18ee4653e129abd26fb06f870ac9e1ee2"
integrity sha1-lMI9sY7kZT4Smr0m+wb4cKyeHuI=
dependencies:
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
"@tailwindcss/forms@^0.3.3":
version "0.3.3"
resolved "https://registry.nlark.com/@tailwindcss/forms/download/@tailwindcss/forms-0.3.3.tgz#a29d22668804f3dae293dcadbef1aa6315c45b64"
integrity sha1-op0iZogE89rik9ytvvGqYxXEW2Q=
dependencies:
mini-svg-data-uri "^1.2.3"
"@tailwindcss/typography@^0.4.1":
version "0.4.1"
resolved "https://registry.nlark.com/@tailwindcss/typography/download/@tailwindcss/typography-0.4.1.tgz#51ddbceea6a0ee9902c649dbe58871c81a831212"
integrity sha1-Ud287qag7pkCxknb5YhxyBqDEhI=
dependencies:
lodash.castarray "^4.4.0"
lodash.isplainobject "^4.0.6"
lodash.merge "^4.6.2"
lodash.uniq "^4.5.0"
"@types/parse-json@^4.0.0":
version "4.0.0"
resolved "https://registry.nlark.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1621242399300&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fparse-json%2Fdownload%2F%40types%2Fparse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=
acorn-node@^1.6.1:
version "1.8.2"
resolved "https://registry.npm.taobao.org/acorn-node/download/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8"
integrity sha1-EUyV1kU55T3t4j3oudlt98euKvg=
dependencies:
acorn "^7.0.0"
acorn-walk "^7.0.0"
xtend "^4.0.2"
acorn-walk@^7.0.0:
version "7.2.0"
resolved "https://registry.nlark.com/acorn-walk/download/acorn-walk-7.2.0.tgz?cache=0&sync_timestamp=1624951990736&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-walk%2Fdownload%2Facorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
integrity sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=
acorn@^7.0.0:
version "7.4.1"
resolved "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=
ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=
dependencies:
color-convert "^1.9.0"
ansi-styles@^4.1.0:
version "4.3.0"
resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
integrity sha1-7dgDYornHATIWuegkG7a00tkiTc=
dependencies:
color-convert "^2.0.1"
anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz?cache=0&sync_timestamp=1617747806715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
integrity sha1-wFV8CWrzLxBhmPT04qODU343hxY=
dependencies:
normalize-path "^3.0.0"
picomatch "^2.0.4"
arg@^5.0.0:
version "5.0.0"
resolved "https://registry.npm.taobao.org/arg/download/arg-5.0.0.tgz#a20e2bb5710e82950a516b3f933fee5ed478be90"
integrity sha1-og4rtXEOgpUKUWs/kz/uXtR4vpA=
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.nlark.com/balanced-match/download/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=
binary-extensions@^2.0.0:
version "2.2.0"
resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1614010713935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
braces@^3.0.1, braces@~3.0.2:
version "3.0.2"
resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc=
dependencies:
fill-range "^7.0.1"
bytes@^3.0.0:
version "3.1.0"
resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=
camelcase-css@^2.0.1:
version "2.0.1"
resolved "https://registry.npm.taobao.org/camelcase-css/download/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
integrity sha1-7pePaUeRTMMMa0R0G27R338EP9U=
chalk@^2.0.0:
version "2.4.2"
resolved "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995297666&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
chalk@^4.1.1:
version "4.1.1"
resolved "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz?cache=0&sync_timestamp=1618995297666&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
integrity sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chokidar@^3.5.2:
version "3.5.2"
resolved "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
integrity sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=
dependencies:
anymatch "~3.1.2"
braces "~3.0.2"
glob-parent "~5.1.2"
is-binary-path "~2.1.0"
is-glob "~4.0.1"
normalize-path "~3.0.0"
readdirp "~3.6.0"
optionalDependencies:
fsevents "~2.3.2"
color-convert@^1.9.0, color-convert@^1.9.1:
version "1.9.3"
resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=
dependencies:
color-name "1.1.3"
color-convert@^2.0.1:
version "2.0.1"
resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=
dependencies:
color-name "~1.1.4"
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@^1.0.0, color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=
color-string@^1.5.4:
version "1.5.5"
resolved "https://registry.npm.taobao.org/color-string/download/color-string-1.5.5.tgz?cache=0&sync_timestamp=1614967287897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor-string%2Fdownload%2Fcolor-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014"
integrity sha1-ZUdKjw50OWJfPSemoZ2J/EUiMBQ=
dependencies:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
color@^3.1.3:
version "3.1.3"
resolved "https://registry.npm.taobao.org/color/download/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e"
integrity sha1-ymf7TnuX1hHc3jns7tQiBn2RWW4=
dependencies:
color-convert "^1.9.1"
color-string "^1.5.4"
colorette@^1.2.2:
version "1.2.2"
resolved "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259623635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
integrity sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=
commander@^6.0.0:
version "6.2.1"
resolved "https://registry.nlark.com/commander/download/commander-6.2.1.tgz?cache=0&sync_timestamp=1624609478024&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
integrity sha1-B5LraC37wyWZm7K4T93duhEKxzw=
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
cosmiconfig@^7.0.0:
version "7.0.0"
resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-7.0.0.tgz?cache=0&sync_timestamp=1596313016776&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
integrity sha1-75tE13OVnK5j3ezRIt4jhTtg+NM=
dependencies:
"@types/parse-json" "^4.0.0"
import-fresh "^3.2.1"
parse-json "^5.0.0"
path-type "^4.0.0"
yaml "^1.10.0"
css-unit-converter@^1.1.1:
version "1.1.2"
resolved "https://registry.npm.taobao.org/css-unit-converter/download/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21"
integrity sha1-THf1oZVObb/2BpXsshTjJwQ2qyE=
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=
defined@^1.0.0:
version "1.0.0"
resolved "https://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
detective@^5.2.0:
version "5.2.0"
resolved "https://registry.npm.taobao.org/detective/download/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b"
integrity sha1-/rKnfoW5BOzepFmtiXzJCpm9Kns=
dependencies:
acorn-node "^1.6.1"
defined "^1.0.0"
minimist "^1.1.1"
didyoumean@^1.2.1:
version "1.2.2"
resolved "https://registry.nlark.com/didyoumean/download/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
integrity sha1-mJNG/+noObRVXs9WZu3qDT6K0Dc=
dlv@^1.1.3:
version "1.1.3"
resolved "https://registry.npm.taobao.org/dlv/download/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
integrity sha1-XBmKihFFNZbnUUlNSYdLx3MvLnk=
error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8=
dependencies:
is-arrayish "^0.2.1"
escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
fast-glob@^3.2.5:
version "3.2.6"
resolved "https://registry.nlark.com/fast-glob/download/fast-glob-3.2.6.tgz#434dd9529845176ea049acc9343e8282765c6e1a"
integrity sha1-Q03ZUphFF26gSazJND6CgnZcbho=
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
glob-parent "^5.1.2"
merge2 "^1.3.0"
micromatch "^4.0.4"
fastq@^1.6.0:
version "1.11.0"
resolved "https://registry.npm.taobao.org/fastq/download/fastq-1.11.0.tgz?cache=0&sync_timestamp=1614183640323&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffastq%2Fdownload%2Ffastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858"
integrity sha1-u5+5VaBxMKkY62PB9RYcwypdCFg=
dependencies:
reusify "^1.0.4"
fill-range@^7.0.1:
version "7.0.1"
resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
integrity sha1-GRmmp8df44ssfHflGYU12prN2kA=
dependencies:
to-regex-range "^5.0.1"
fs-extra@^10.0.0:
version "10.0.0"
resolved "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
integrity sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=
glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1620073245729&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=
dependencies:
is-glob "^4.0.1"
glob-parent@^6.0.0:
version "6.0.0"
resolved "https://registry.nlark.com/glob-parent/download/glob-parent-6.0.0.tgz?cache=0&sync_timestamp=1620073245729&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-6.0.0.tgz#f851b59b388e788f3a44d63fab50382b2859c33c"
integrity sha1-+FG1mziOeI86RNY/q1A4KyhZwzw=
dependencies:
is-glob "^4.0.1"
glob@^7.0.0, glob@^7.1.3:
version "7.1.7"
resolved "https://registry.nlark.com/glob/download/glob-7.1.7.tgz?cache=0&sync_timestamp=1620337555606&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob%2Fdownload%2Fglob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
integrity sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.6"
resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
integrity sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz?cache=0&sync_timestamp=1618847009337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
has-flag@^4.0.0:
version "4.0.0"
resolved "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1618847009337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=
has@^1.0.3:
version "1.0.3"
resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=
dependencies:
function-bind "^1.1.1"
html-tags@^3.1.0:
version "3.1.0"
resolved "https://registry.npm.taobao.org/html-tags/download/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140"
integrity sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=
import-cwd@^3.0.0:
version "3.0.0"
resolved "https://registry.npm.taobao.org/import-cwd/download/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92"
integrity sha1-IIRVR3GAFRJuqbNna3WS+4vUz5I=
dependencies:
import-from "^3.0.0"
import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469462038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs=
dependencies:
parent-module "^1.0.0"
resolve-from "^4.0.0"
import-from@^3.0.0:
version "3.0.0"
resolved "https://registry.nlark.com/import-from/download/import-from-3.0.0.tgz?cache=0&sync_timestamp=1622533823695&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fimport-from%2Fdownload%2Fimport-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966"
integrity sha1-BVz+w4zVon2AV8pRN219O/CJGWY=
dependencies:
resolve-from "^5.0.0"
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
once "^1.3.0"
wrappy "1"
inherits@2:
version "2.0.4"
resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-arrayish@^0.3.1:
version "0.3.2"
resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=
is-binary-path@~2.1.0:
version "2.1.0"
resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=
dependencies:
binary-extensions "^2.0.0"
is-core-module@^2.2.0:
version "2.4.0"
resolved "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&sync_timestamp=1620592570629&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
integrity sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=
dependencies:
has "^1.0.3"
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.1"
resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz?cache=0&sync_timestamp=1598237815612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-glob%2Fdownload%2Fis-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=
dependencies:
is-extglob "^2.1.1"
is-number@^7.0.0:
version "7.0.0"
resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=
js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk=
json-parse-even-better-errors@^2.3.0:
version "2.3.1"
resolved "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-6.1.0.tgz?cache=0&sync_timestamp=1604161843950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
integrity sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4=
dependencies:
universalify "^2.0.0"
optionalDependencies:
graceful-fs "^4.1.6"
lilconfig@^2.0.3:
version "2.0.3"
resolved "https://registry.nlark.com/lilconfig/download/lilconfig-2.0.3.tgz#68f3005e921dafbd2a2afb48379986aa6d2579fd"
integrity sha1-aPMAXpIdr70qKvtIN5mGqm0lef0=
lines-and-columns@^1.1.6:
version "1.1.6"
resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
lodash.castarray@^4.4.0:
version "4.4.0"
resolved "https://registry.npm.taobao.org/lodash.castarray/download/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115"
integrity sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=
lodash.isplainobject@^4.0.6:
version "4.0.6"
resolved "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz?cache=0&sync_timestamp=1562728838065&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.merge%2Fdownload%2Flodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=
lodash.toarray@^4.4.0:
version "4.4.0"
resolved "https://registry.npm.taobao.org/lodash.toarray/download/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE=
lodash.topath@^4.5.2:
version "4.5.2"
resolved "https://registry.npm.taobao.org/lodash.topath/download/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009"
integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=
merge2@^1.3.0:
version "1.4.1"
resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=
micromatch@^4.0.4:
version "4.0.4"
resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054787196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
integrity sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=
dependencies:
braces "^3.0.1"
picomatch "^2.2.3"
mini-svg-data-uri@^1.2.3:
version "1.3.3"
resolved "https://registry.nlark.com/mini-svg-data-uri/download/mini-svg-data-uri-1.3.3.tgz#91d2c09f45e056e5e1043340b8b37ba7b50f4fac"
integrity sha1-kdLAn0XgVuXhBDNAuLN7p7UPT6w=
minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=
dependencies:
brace-expansion "^1.1.7"
minimist@^1.1.1:
version "1.2.5"
resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=
modern-normalize@^1.1.0:
version "1.1.0"
resolved "https://registry.nlark.com/modern-normalize/download/modern-normalize-1.1.0.tgz#da8e80140d9221426bd4f725c6e11283d34f90b7"
integrity sha1-2o6AFA2SIUJr1PclxuESg9NPkLc=
nanoid@^3.1.23:
version "3.1.23"
resolved "https://registry.nlark.com/nanoid/download/nanoid-3.1.23.tgz?cache=0&sync_timestamp=1620673736265&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnanoid%2Fdownload%2Fnanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
integrity sha1-90QIbOfCvEfuCoRyV01ceOQYOoE=
node-emoji@^1.8.1:
version "1.10.0"
resolved "https://registry.npm.taobao.org/node-emoji/download/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da"
integrity sha1-iIar0l2ce7YYAqZYUj0fjSqJsto=
dependencies:
lodash.toarray "^4.4.0"
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.nlark.com/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=
object-hash@^2.2.0:
version "2.2.0"
resolved "https://registry.nlark.com/object-hash/download/object-hash-2.2.0.tgz?cache=0&sync_timestamp=1622019441830&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-hash%2Fdownload%2Fobject-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5"
integrity sha1-WtUYWB7vxEO9djRyuP8unCwNVKU=
once@^1.3.0:
version "1.4.0"
resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=
dependencies:
callsites "^3.0.0"
parse-json@^5.0.0:
version "5.2.0"
resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966654792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
integrity sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=
dependencies:
"@babel/code-frame" "^7.0.0"
error-ex "^1.3.1"
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
path-parse@^1.0.6:
version "1.0.7"
resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=
path-type@^4.0.0:
version "4.0.0"
resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz?cache=0&sync_timestamp=1611752058913&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
version "2.3.0"
resolved "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648229747&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
integrity sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=
postcss-js@^3.0.3:
version "3.0.3"
resolved "https://registry.npm.taobao.org/postcss-js/download/postcss-js-3.0.3.tgz#2f0bd370a2e8599d45439f6970403b5873abda33"
integrity sha1-LwvTcKLoWZ1FQ59pcEA7WHOr2jM=
dependencies:
camelcase-css "^2.0.1"
postcss "^8.1.6"
postcss-load-config@^3.1.0:
version "3.1.0"
resolved "https://registry.nlark.com/postcss-load-config/download/postcss-load-config-3.1.0.tgz?cache=0&sync_timestamp=1623669505598&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-3.1.0.tgz#d39c47091c4aec37f50272373a6a648ef5e97829"
integrity sha1-05xHCRxK7Df1AnI3OmpkjvXpeCk=
dependencies:
import-cwd "^3.0.0"
lilconfig "^2.0.3"
yaml "^1.10.2"
postcss-nested@5.0.5:
version "5.0.5"
resolved "https://registry.npm.taobao.org/postcss-nested/download/postcss-nested-5.0.5.tgz#f0a107d33a9fab11d7637205f5321e27223e3603"
integrity sha1-8KEH0zqfqxHXY3IF9TIeJyI+NgM=
dependencies:
postcss-selector-parser "^6.0.4"
postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.6:
version "6.0.6"
resolved "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752990832&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea"
integrity sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=
dependencies:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
postcss-value-parser@^3.3.0:
version "3.3.1"
resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE=
postcss-value-parser@^4.1.0:
version "4.1.0"
resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
integrity sha1-RD9qIM7WSBor2k+oUypuVdeJoss=
postcss@^8.1.6, postcss@^8.2.1:
version "8.3.5"
resolved "https://registry.nlark.com/postcss/download/postcss-8.3.5.tgz?cache=0&sync_timestamp=1623900620710&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-8.3.5.tgz#982216b113412bc20a86289e91eb994952a5b709"
integrity sha1-mCIWsRNBK8IKhiiekeuZSVKltwk=
dependencies:
colorette "^1.2.2"
nanoid "^3.1.23"
source-map-js "^0.6.2"
pretty-hrtime@^1.0.3:
version "1.0.3"
resolved "https://registry.npm.taobao.org/pretty-hrtime/download/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=
purgecss@^4.0.3:
version "4.0.3"
resolved "https://registry.npm.taobao.org/purgecss/download/purgecss-4.0.3.tgz#8147b429f9c09db719e05d64908ea8b672913742"
integrity sha1-gUe0KfnAnbcZ4F1kkI6otnKRN0I=
dependencies:
commander "^6.0.0"
glob "^7.0.0"
postcss "^8.2.1"
postcss-selector-parser "^6.0.2"
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.nlark.com/queue-microtask/download/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM=
quick-lru@^5.1.1:
version "5.1.1"
resolved "https://registry.npm.taobao.org/quick-lru/download/quick-lru-5.1.1.tgz?cache=0&sync_timestamp=1610610681242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquick-lru%2Fdownload%2Fquick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
integrity sha1-NmST5rPkKjpoheLpnRj4D7eoyTI=
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
integrity sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=
dependencies:
picomatch "^2.2.1"
reduce-css-calc@^2.1.8:
version "2.1.8"
resolved "https://registry.npm.taobao.org/reduce-css-calc/download/reduce-css-calc-2.1.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freduce-css-calc%2Fdownload%2Freduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03"
integrity sha1-fvh2GijWFJgNwMmC93LJP3qZ3gM=
dependencies:
css-unit-converter "^1.1.1"
postcss-value-parser "^3.3.0"
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-from%2Fdownload%2Fresolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=
resolve-from@^5.0.0:
version "5.0.0"
resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-from%2Fdownload%2Fresolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
integrity sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=
resolve@^1.20.0:
version "1.20.0"
resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=
dependencies:
is-core-module "^2.2.0"
path-parse "^1.0.6"
reusify@^1.0.4:
version "1.0.4"
resolved "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=
rimraf@^3.0.0:
version "3.0.2"
resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz?cache=0&sync_timestamp=1581230370030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=
dependencies:
glob "^7.1.3"
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=
dependencies:
queue-microtask "^1.2.2"
simple-swizzle@^0.2.2:
version "0.2.2"
resolved "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
dependencies:
is-arrayish "^0.3.1"
source-map-js@^0.6.2:
version "0.6.2"
resolved "https://registry.npm.taobao.org/source-map-js/download/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
integrity sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=
dependencies:
has-flag "^3.0.0"
supports-color@^7.1.0:
version "7.2.0"
resolved "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1622293670728&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=
dependencies:
has-flag "^4.0.0"
tailwindcss@^2.2.4:
version "2.2.4"
resolved "https://registry.nlark.com/tailwindcss/download/tailwindcss-2.2.4.tgz#6a2e259b1e26125aeaa7cdc479963fd217c308b0"
integrity sha1-ai4lmx4mElrqp83EeZY/0hfDCLA=
dependencies:
"@fullhuman/postcss-purgecss" "^4.0.3"
arg "^5.0.0"
bytes "^3.0.0"
chalk "^4.1.1"
chokidar "^3.5.2"
color "^3.1.3"
cosmiconfig "^7.0.0"
detective "^5.2.0"
didyoumean "^1.2.1"
dlv "^1.1.3"
fast-glob "^3.2.5"
fs-extra "^10.0.0"
glob-parent "^6.0.0"
html-tags "^3.1.0"
is-glob "^4.0.1"
lodash "^4.17.21"
lodash.topath "^4.5.2"
modern-normalize "^1.1.0"
node-emoji "^1.8.1"
normalize-path "^3.0.0"
object-hash "^2.2.0"
postcss-js "^3.0.3"
postcss-load-config "^3.1.0"
postcss-nested "5.0.5"
postcss-selector-parser "^6.0.6"
postcss-value-parser "^4.1.0"
pretty-hrtime "^1.0.3"
quick-lru "^5.1.1"
reduce-css-calc "^2.1.8"
resolve "^1.20.0"
tmp "^0.2.1"
tmp@^0.2.1:
version "0.2.1"
resolved "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz?cache=0&sync_timestamp=1618847042301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftmp%2Fdownload%2Ftmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
integrity sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=
dependencies:
rimraf "^3.0.0"
to-regex-range@^5.0.1:
version "5.0.1"
resolved "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=
dependencies:
is-number "^7.0.0"
universalify@^2.0.0:
version "2.0.0"
resolved "https://registry.npm.taobao.org/universalify/download/universalify-2.0.0.tgz?cache=0&sync_timestamp=1603180037346&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
integrity sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc=
util-deprecate@^1.0.2:
version "1.0.2"
resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
wrappy@1:
version "1.0.2"
resolved "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
xtend@^4.0.2:
version "4.0.2"
resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=
yaml@^1.10.0, yaml@^1.10.2:
version "1.10.2"
resolved "https://registry.nlark.com/yaml/download/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
integrity sha1-IwHF/78StGfejaIzOkWeKeeSDks=