Compare commits

...

184 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
Ian Coleman
4e59e7d6fc Release v0.5.0 2020-10-19 01:13:39 +00:00
Ian Coleman
8c3a56ec4f Add notes about card entropy 2020-10-19 00:01:33 +00:00
Ian Coleman
d31a0ad44b Hide/show split mnemonic cards 2020-10-18 23:17:24 +00:00
Ian Coleman
4566751b89 Fix nano test, keys are lowercase not uppercase 2020-10-18 23:04:21 +00:00
Ian Coleman
b386aaa06e Update combined libs 2020-10-18 22:46:51 +00:00
Ian Coleman
ef95b4bfad Revert npm-shrinkwrap.json 2020-10-18 22:33:24 +00:00
iancoleman
30e3d246d4 Merge pull request #434 from Joohansson/nanocurrency
Added support for NANO currency
2020-10-19 09:26:29 +11:00
iancoleman
647410b4a6 Merge branch 'master' into nanocurrency 2020-10-19 09:26:08 +11:00
iancoleman
4669c88c67 Merge pull request #441 from bytefly/master
Add TRX coin support
2020-10-19 09:12:43 +11:00
iancoleman
9e865b8e75 Merge pull request #446 from jsarenik/jsn/update-bootstrap-3
Update bootstrap to 3.4.1
2020-10-19 09:04:50 +11:00
iancoleman
08713ff9c2 Merge pull request #447 from jsarenik/jsn/dependabot
All dependabot updates in one PR
2020-10-19 09:04:12 +11:00
dependabot[bot]
ed52cda20d Bump lodash from 4.17.11 to 4.17.19 in /libs/stellar-util
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-14 09:52:00 +02:00
dependabot[bot]
8ce57f3c13 Bump elliptic from 6.4.1 to 6.5.3 in /libs/stellar-util
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.4.1...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-14 09:52:00 +02:00
dependabot[bot]
043717034b Bump acorn from 6.0.4 to 6.4.1 in /libs/stellar-util
Bumps [acorn](https://github.com/acornjs/acorn) from 6.0.4 to 6.4.1.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/6.0.4...6.4.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-14 09:52:00 +02:00
dependabot[bot]
eb100ec0e4 Bump jsrsasign from 8.0.12 to 8.0.19 in /libs/combined
Bumps [jsrsasign](https://github.com/kjur/jsrsasign) from 8.0.12 to 8.0.19.
- [Release notes](https://github.com/kjur/jsrsasign/releases)
- [Changelog](https://github.com/kjur/jsrsasign/blob/master/ChangeLog.txt)
- [Commits](https://github.com/kjur/jsrsasign/compare/8.0.12...8.0.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-14 09:52:00 +02:00
Jan Sarenik
5cbd174c18 Update bootstrap to 3.4.1
https://www.npmjs.com/advisories/891
2020-10-14 09:08:00 +02:00
iancoleman
75722c6d24 Merge pull request #445 from jsarenik/jsn/releases-link
src/index.html: Change link to latest standalone release
2020-10-14 15:55:42 +11:00
Jan Sarenik
7e75b98e1f src/index.html: Change link to latest standalone release 2020-10-07 15:14:47 +02:00
zr
47dbf58b6d Add testcase for TRX 2020-10-05 12:04:14 +08:00
iancoleman
42e00ef56a Merge pull request #442 from mvillalba/master
Add Binance Smart Chain (BSC) support
2020-10-02 11:25:17 +10:00
Ian Coleman
8dbf7d5837 Add dev_env_setup.sh 2020-10-01 23:55:21 +00:00
Ian Coleman
bf96267f89 Remove bias from entropy in base 6 and base 10 2020-10-01 23:44:38 +00:00
Martín Raúl Villalba
995bc58791 Add Binance Smart Chain (BSC) support 2020-09-25 12:27:50 -03:00
zr
d7125cda1d Modify to use uncompressed public key as keccak256 input for TRX 2020-09-18 15:28:56 +08:00
zr
b674c5710b Add TRX coin support 2020-09-10 17:40:56 +08:00
iancoleman
920f7aa078 Merge pull request #436 from conr2d/eosio-cleanup-dependencies
Clean up duplicated dependencies from eos-util
2020-09-07 11:14:19 +10:00
Jeeyong Um
5c6e875f2d Clean up duplicated dependencies from eos-util 2020-08-31 00:35:29 +09:00
Joohansson
e086305895 Added NANO currency 2020-08-26 11:57:58 +02:00
iancoleman
863eee8ed7 Merge pull request #433 from scribenetwork/master
Add Scribe support
2020-08-25 09:27:54 +10:00
scribenetwork
4729ecca04 Update tests.js 2020-08-19 06:22:14 +02:00
scribenetwork
fba7e98aea Update index.js 2020-08-12 02:58:56 +02:00
scribenetwork
95b306106f Update bitcoinjs-extensions.js 2020-08-12 02:52:46 +02:00
Ian Coleman
f32b24e380 Release v0.4.3 2020-05-11 10:03:18 +10:00
Ian Coleman
26767a2ce3 Add CranePay test 2020-05-11 09:43:35 +10:00
Ian Coleman
a748c4b5c6 Fix RSK tests 2020-05-11 09:43:21 +10:00
Ian Coleman
eaf7892872 Update bip39-libs with handshake and FIO libs 2020-05-11 09:17:48 +10:00
iancoleman
677d18f2e0 Merge pull request #422 from cryply/master
adding CRP support
2020-05-11 09:16:11 +10:00
iancoleman
f3051a6a9f Merge pull request #409 from bguiz/feat/rsk-network
feat: rsk network
2020-05-11 09:06:02 +10:00
iancoleman
bf528f65f4 Merge branch 'master' into feat/rsk-network 2020-05-11 09:05:32 +10:00
Shawn Arney
5699633538 Adding FIO -Foundation for Interwallet Operability 2020-05-11 08:43:55 +10:00
Shawn Arney
d1d8699fc4 Adding FIO -Foundation for Interwallet Operability
FIO - Foundation for Interwallet Operability.

https://fioprotocol.io
2020-05-11 08:43:55 +10:00
iancoleman
e284827677 Merge pull request #410 from MerkleBlock/handshake
libs: add handshake support
2020-05-11 08:34:35 +10:00
m0rpher
115eb45083 adding CRP support 2020-05-08 22:56:37 +02:00
iancoleman
0d78c2a120 Merge pull request #418 from jangchongchan20/master
Add Sugarchain testnet support
2020-04-29 08:26:37 +10:00
Jang Chongchan
7594405011 Add Sugarchain testnet support 2020-04-28 23:33:27 +09:00
iancoleman
d359fe64b2 Merge pull request #416 from Argoneum/argoneum
Add Argoneum (v1.4.1 or above)
2020-04-28 09:25:55 +10:00
Ian Coleman
1bf76fe32d last word is/contains a checksum
Closes #408
2020-04-27 10:47:31 +10:00
iancoleman
904e39748c Merge pull request #415 from jangchongchan20/master
Add Sugarchain support
2020-04-27 10:41:27 +10:00
Oleg Semyonov
46054e445e Add Argoneum (v1.4.1 or above) 2020-04-25 14:26:06 +03:00
Jang Chongchan
4958ea8009 Add Sugarchain support 2020-04-24 10:20:50 +09:00
Javed Khan
0e1fd95302 libs: add handshake support 2020-04-03 00:13:36 +05:30
bguiz
a823e5266c fix: calculate RSK addresses with EIP-155 compliant checksums 2020-03-10 17:08:16 +08:00
bguiz
b64fb35301 fix: define own libs.bitcoin.networks.rsk 2020-03-03 14:55:53 +08:00
iancoleman
54600393af Merge pull request #402 from you21979/fix-mona-bech32
fix bech32 prefix monacoin -> mona
2020-02-17 15:16:07 +11:00
iancoleman
ff2940e81e Merge pull request #403 from swtcca/master
add two networks: Jingtum and MOAC
2020-02-17 10:33:08 +11:00
Lospring Liu
f3101bd3f1 add test for networks Jingtum and MOAC 2020-02-15 16:17:04 -05:00
Lospring Liu
46a5338e42 add two networks: Jingtum and MOAC 2020-02-14 20:51:52 -05:00
yuki akiyama
c578337f0f fix bech32 prefix monacoin -> mona 2020-02-13 12:28:03 +09:00
Ian Coleman
90f7a5ec93 Release v0.4.2 2020-02-07 21:26:43 +11:00
Ian Coleman
dd496c82c1 Fix ethereum private key format 2020-02-07 21:25:57 +11:00
Ian Coleman
1dafc30db4 Test pubkey and privkey for all coins 2020-02-07 20:59:19 +11:00
Ian Coleman
927450e169 Release v0.4.1 2020-02-06 20:14:00 +11:00
Ian Coleman
a67554c649 Add tests for RSK network and testnet 2020-02-06 20:11:09 +11:00
Ian Coleman
0bc6361db4 Fix ethercore test 2020-02-06 20:10:52 +11:00
iancoleman
a98d40c43d Merge pull request #397 from aitorp6/master
Added DeepOnion Segwit parameters
2020-02-06 15:00:02 +11:00
iancoleman
54a8e781b4 Merge pull request #396 from ilanolkies/patch-2
Add network
2020-02-06 14:59:34 +11:00
iancoleman
c1d6274224 Merge pull request #393 from ethercore/master
Add EtherCore
2020-02-06 14:58:06 +11:00
aitorp6
c16661aeea Added DeepOnion Segwit parameters 2020-02-04 10:47:11 +01:00
Ilan
e9491c7efd Add network
Based on https://github.com/rsksmart/RSKIPs/blob/master/IPs/RSKIP57.md
2020-01-22 12:16:51 -03:00
Ian Coleman
d07983bc1f Catch nebulas error on some chrome configs
See #395
2020-01-08 17:31:14 +11:00
Ian Coleman
3aa7677ace Directly export libraries where they're required 2020-01-08 17:30:16 +11:00
EtherCore Contributor
9e04576e2f add testcase for ethercore 2020-01-02 00:53:17 +09:00
EtherCore Contributor
8131a07115 Add EtherCore 2020-01-02 00:45:48 +09:00
iancoleman
181b5d61e3 Merge pull request #390 from matthewleon/bugfix/eth-xpub-derivation
Bugfix/eth xpub derivation
2019-12-20 15:58:26 +11:00
Matthew Leon
4dfc681f71 fix Ethereum xpub derivation 2019-12-19 15:37:08 -05:00
Matthew Leon
dfb4fd1be5 add failing test for ETH xpub derivation
see https://github.com/iancoleman/bip39/issues/169
2019-12-19 15:35:31 -05:00
Ian Coleman
aa793f572f Release v0.4.0 2019-12-19 14:48:25 +11:00
Ian Coleman
6973e692b0 Minify third party libraries 2019-12-19 14:32:13 +11:00
Ian Coleman
22f8766947 Replace most libraries with combined libs 2019-12-19 14:21:33 +11:00
Ian Coleman
8017442c50 Add experimental incomplete combined js libs 2019-12-19 14:21:25 +11:00
Ian Coleman
82cf26c1cb Text for multibit mentions change addresses
Closes #376
2019-12-18 11:19:47 +11:00
Ian Coleman
206cbafceb Remove pending from some tests using chrome
Unfortunately firefox pending tests still do not work.
2019-12-18 10:57:29 +11:00
Ian Coleman
9cf02dd452 Make seed field editable 2019-12-18 10:32:25 +11:00
Ian Coleman
f12242014d Add bitcoin regtest params 2019-12-18 09:51:00 +11:00
Ian Coleman
244c76022a Convert mnemonic to hex entropy instead of binary 2019-12-18 09:07:17 +11:00
Ian Coleman
516c16d721 Allow manual override for entropy type 2019-12-17 14:10:45 +11:00
Ian Coleman
f7e9fdf002 Generate addresses for P2WSH and P2WSH-P2SH 2019-12-17 11:46:07 +11:00
Ian Coleman
5c203fab6a Add P2WSH and P2WSH-P2SH for bitcoin and testnet
Address generation still to come.
2019-12-16 13:27:15 +11:00
iancoleman
40d542ba58 Merge pull request #385 from hladik-dan/master
Add Czech language
2019-12-09 09:16:01 +11:00
Daniel Hladík
cc3c35487f Add Czech language 2019-12-06 20:21:43 +01:00
Ian Coleman
76531b610a Release v0.3.14 2019-12-02 10:46:49 +11:00
Ian Coleman
c845ee6f6e Fix energyweb test 2019-12-02 10:44:35 +11:00
Ian Coleman
c394ec3c4f Revert "Fix tests for Pull Request 371"
This reverts commit b130271b2b.
2019-12-02 10:25:09 +11:00
Ian Coleman
55367b989e Partially revert Pull 371 BIP44 Default Change 2019-12-02 10:24:37 +11:00
73 changed files with 22277 additions and 212667 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,82 @@
# 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
* Add notes about card entropy
* Hide/show split mnemonic cards
* Fix link to standalone release file
* Add Scribe network
* Add Nano network
* Add TRX network
* Add Binance Smart Chain network
* Clean up dependencies for eos-util
* Update bootstrap to 3.4.1
* Bump library versions
# 0.4.3
* Add FIO - Foundation for Interwallet Operability
* Add Argoneum
* Add CranePay
* Add Jingtum network
* Add MOAC
* Update RSK network
* Add HandShake
* Add Sugarchain testnet
* Fix wording "is a checksum" / "contains a checksum"
* Fix bech32 prefix for monacoin
# 0.4.2
* Fix ethereum private key format
# 0.4.1
* Fix no loading on chrome with third-party cookies blocked
* Add EtherCore
* Add RSK network
* Add DeepOnion segwit parameters
* Fix ethereum xpub derivation
# 0.4.0
* Third party libraries deduplicated and minified
* Add text reminder for multibit wallet change addresses
* Seed field can be edited
* Add bitcoin regtest parameters
* Mnemonic conversion to entropy is hex encoded instead of binary
* Entropy type can be manually selected
* Add Bitcoin P2WSH and P2WSH-P2SH
* Add Czech language
# 0.3.14
* Ethereum uses standard BIP44 as per majority of wallets (Issue 378)
# 0.3.13
* Add Thought network

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/* ./

58
dev_env_setup.sh Executable file
View File

@@ -0,0 +1,58 @@
# this script is intended to be run in a VM
# running ubuntu 20.04 server
# from the root directory of this repo
echo "This script is intended to be run in a VM."
echo "It may do things to your OS that you don't want to be peristent."
echo "Please type virtualmachine to continue, or Ctrl-C to quit."
read passage
if [ "$passage" = "virtualmachine" ]; then
echo "Installing dev environment"
else
echo "Did not type virtualmachine, quitting with no changes applied"
exit
fi
# set up place for local binaries
mkdir $HOME/.bin
echo "export PATH=$PATH:$HOME/.bin" >> $HOME/.bashrc
source $HOME/.bashrc
# allow python3 to be run with python command
ln -s /usr/bin/python3 $HOME/.bin/python
# install firefox and other dependencies
sudo apt-get -y install firefox unzip openjdk-11-jre-headless xvfb libxi6 libgconf-2-4 make build-essential
# install chrome
curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add
sudo sh -c "echo \"deb https://dl.google.com/linux/chrome/deb/ stable main\" >> /etc/apt/sources.list.d/google-chrome.list"
sudo apt-get -y update
sudo apt-get -y install google-chrome-stable
# install nodejs for running tests
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash
# load nvm
source $HOME/.bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
# install latest node
nvm install node
# install jasmine
cd tests
npm install --global jasmine
npm install selenium-webdriver
# install gecko webdriver for firefox
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/88.0.4324.96/chromedriver_linux64.zip --output-document=/tmp/chromedriver.zip
unzip /tmp/chromedriver.zip -d $HOME/.bin
# to run tests
# cd tests
# Xvfb :1 -screen 1 1024x768x24 & export DISPLAY=:1.1
# BROWSER=firefox jasmine spec/tests.js
# BROWSER=chrome jasmine spec/tests.js

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

169
libs/combined/index.js Normal file
View File

@@ -0,0 +1,169 @@
/* base-x */
module.exports.basex = require('base-x')
/* base32 */
module.exports.base32 = require('base32.js')
/* bchaddrjs */
module.exports.bchaddr = require('bchaddrjs')
/* bchaddrjs slp */
module.exports.bchaddrSlp = require('bchaddrjs-slp')
/* bech32 */
module.exports.bech32 = require('bech32')
/* biginteger */
module.exports.BigInteger = require('javascript-biginteger')
/* bitcoinjs-bip38 */
module.exports.bip38 = require('bip38')
/* bip85 */
module.exports.bip85 = require('bip85')
/* bitcoinjs-lib */
module.exports.bitcoin = require('bitcoinjs-lib')
/* buffer */
module.exports.buffer = require('buffer');
/* elastos */
// See https://github.com/iancoleman/bip39/pull/368
// and https://github.com/johnnynanjiang/Elastos.SDK.Keypair.Javascript/tree/iancoleman-bip39
module.exports.elastosjs = require('elastos-wallet-js')
/* ethereum-util */
module.exports.ethUtil = require('ethereumjs-util')
/* fast-levenshtein */
module.exports.levenshtein = require('fast-levenshtein')
/* groestlcoin */
module.exports.groestlcoinjs = require('groestlcoinjs-lib')
/* groestlcoin bip38 */
module.exports.groestlcoinjsBip38 = require('bip38grs')
/* kjua qr codes */
module.exports.kjua = require('kjua')
/* nebulas */
try {
module.exports.nebulas = require('nebulas')
}
catch (e) {
console.warn("Error loading nebulas library");
console.warn(e);
};
/* stellar-util */
let StellarBase = require('stellar-base');
let edHd = require('ed25519-hd-key');
module.exports.stellarUtil = {
getKeypair: function (path, seed) {
const result = edHd.derivePath(path, seed);
return StellarBase.Keypair.fromRawEd25519Seed(result.key);
},
dummyNetwork: {
bip32: {public: 0, private: 0},
messagePrefix: '',
pubKeyHash: 0,
scriptHash: 0,
wif: 0,
},
}
/* 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');
module.exports.nanoUtil = {
getKeypair: function (index, seed) {
const accounts = NanoBase.wallet.accounts(seed, index, index)
return {privKey: accounts[0].privateKey, pubKey: accounts[0].publicKey, address: accounts[0].address};
},
dummyNetwork: {
bip32: {public: 0, private: 0},
messagePrefix: '',
pubKeyHash: 0,
scriptHash: 0,
wif: 0,
},
}
/* unorm */
module.exports.unorm = require('unorm')
/* zxcvbn */
module.exports.zxcvbn = require('zxcvbn')
/* handshake */
module.exports.handshake = require('handshake-util')
/* bs58 */
try {
module.exports.bs58 = require('bs58')
}
catch (e) {
console.warn("Error loading bs58 library");
console.warn(e);
};
/* create-hash */
try {
module.exports.createHash = require('create-hash')
}
catch (e) {
console.warn("Error loading create-hash library");
console.warn(e);
};

6159
libs/combined/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,38 @@
{
"name": "bip39-tool-external-libs",
"version": "0.4.0",
"scripts": {
"build": "browserify index.js --standalone libs | uglifyjs -c > ../../src/js/bip39-libs.js"
},
"dependencies": {
"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.2.1",
"fast-levenshtein": "2.0.6",
"groestlcoinjs-lib": "git://github.com/Groestlcoin/groestlcoinjs-lib.git#3.3.2",
"handshake-util": "1.2.0",
"javascript-biginteger": "0.9.2",
"jsrsasign": "^8.0.19",
"kjua": "0.6.0",
"nanocurrency-web": "^1.2.2",
"nebulas": "0.5.6",
"stellar-base": "^0.10.0",
"unorm": "1.6.0",
"zxcvbn": "4.4.2"
},
"devDependencies": {
"browserify": "^16.2.3",
"uglify-es": "^3.3.9"
}
}

6
libs/combined/readme.md Normal file
View File

@@ -0,0 +1,6 @@
# Generate libs
```
npm install --no-optional
npm run build
```

View File

@@ -0,0 +1,15 @@
const NanoBase = require('nanocurrency-web');
window.nanoUtil = {
getKeypair: function (index, seed) {
const accounts = NanoBase.wallet.accounts(seed, index, index)
return {privKey: accounts[0].privateKey, pubKey: accounts[0].publicKey, address: accounts[0].address};
},
dummyNetwork: {
bip32: {public: 0, private: 0},
messagePrefix: '',
pubKeyHash: 0,
scriptHash: 0,
wif: 0,
},
}

1614
libs/nanocurrency-web/package-lock.json generated Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
{
"name": "nano-util",
"version": "0.0.1",
"scripts": {
"build": "browserify nano-util.js > /tmp/nano-util.js"
},
"dependencies": {
"nanocurrency-web": "^1.2.2"
},
"devDependencies": {
"browserify": "^16.2.3",
"uglify-es": "^3.3.9"
}
}

View File

@@ -0,0 +1,4 @@
Build (will create a bundle and copy it to /tmp/nano-util.js):
npm install
npm run build

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,108 +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;
}

File diff suppressed because it is too large Load Diff

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 it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1
src/js/bip39-libs.js Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Bootstrap v3.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 Twitter, Inc.
* Licensed under the MIT license
*/
@@ -17,10 +17,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: transition.js v3.3.7
* http://getbootstrap.com/javascript/#transitions
* Bootstrap: transition.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#transitions
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -28,7 +28,7 @@ if (typeof jQuery === 'undefined') {
+function ($) {
'use strict';
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
// CSS TRANSITION SUPPORT (Shoutout: https://modernizr.com/)
// ============================================================
function transitionEnd() {
@@ -50,7 +50,7 @@ if (typeof jQuery === 'undefined') {
return false // explicit for ie8 ( ._.)
}
// http://blog.alexmaccaw.com/css-transitions
// https://blog.alexmaccaw.com/css-transitions
$.fn.emulateTransitionEnd = function (duration) {
var called = false
var $el = this
@@ -77,10 +77,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: alert.js v3.3.7
* http://getbootstrap.com/javascript/#alerts
* Bootstrap: alert.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#alerts
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -96,7 +96,7 @@ if (typeof jQuery === 'undefined') {
$(el).on('click', dismiss, this.close)
}
Alert.VERSION = '3.3.7'
Alert.VERSION = '3.4.1'
Alert.TRANSITION_DURATION = 150
@@ -109,7 +109,8 @@ if (typeof jQuery === 'undefined') {
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = $(selector === '#' ? [] : selector)
selector = selector === '#' ? [] : selector
var $parent = $(document).find(selector)
if (e) e.preventDefault()
@@ -172,10 +173,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: button.js v3.3.7
* http://getbootstrap.com/javascript/#buttons
* Bootstrap: button.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#buttons
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -192,7 +193,7 @@ if (typeof jQuery === 'undefined') {
this.isLoading = false
}
Button.VERSION = '3.3.7'
Button.VERSION = '3.4.1'
Button.DEFAULTS = {
loadingText: 'loading...'
@@ -298,10 +299,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: carousel.js v3.3.7
* http://getbootstrap.com/javascript/#carousel
* Bootstrap: carousel.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#carousel
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -329,7 +330,7 @@ if (typeof jQuery === 'undefined') {
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
}
Carousel.VERSION = '3.3.7'
Carousel.VERSION = '3.4.1'
Carousel.TRANSITION_DURATION = 600
@@ -443,7 +444,9 @@ if (typeof jQuery === 'undefined') {
var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
if ($.support.transition && this.$element.hasClass('slide')) {
$next.addClass(type)
$next[0].offsetWidth // force reflow
if (typeof $next === 'object' && $next.length) {
$next[0].offsetWidth // force reflow
}
$active.addClass(direction)
$next.addClass(direction)
$active
@@ -505,10 +508,17 @@ if (typeof jQuery === 'undefined') {
// =================
var clickHandler = function (e) {
var href
var $this = $(this)
var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
var href = $this.attr('href')
if (href) {
href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
}
var target = $this.attr('data-target') || href
var $target = $(document).find(target)
if (!$target.hasClass('carousel')) return
var options = $.extend({}, $target.data(), $this.data())
var slideIndex = $this.attr('data-slide-to')
if (slideIndex) options.interval = false
@@ -536,10 +546,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: collapse.js v3.3.7
* http://getbootstrap.com/javascript/#collapse
* Bootstrap: collapse.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#collapse
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -567,7 +577,7 @@ if (typeof jQuery === 'undefined') {
if (this.options.toggle) this.toggle()
}
Collapse.VERSION = '3.3.7'
Collapse.VERSION = '3.4.1'
Collapse.TRANSITION_DURATION = 350
@@ -674,7 +684,7 @@ if (typeof jQuery === 'undefined') {
}
Collapse.prototype.getParent = function () {
return $(this.options.parent)
return $(document).find(this.options.parent)
.find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
.each($.proxy(function (i, element) {
var $element = $(element)
@@ -697,7 +707,7 @@ if (typeof jQuery === 'undefined') {
var target = $trigger.attr('data-target')
|| (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
return $(target)
return $(document).find(target)
}
@@ -749,10 +759,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: dropdown.js v3.3.7
* http://getbootstrap.com/javascript/#dropdowns
* Bootstrap: dropdown.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#dropdowns
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -769,7 +779,7 @@ if (typeof jQuery === 'undefined') {
$(element).on('click.bs.dropdown', this.toggle)
}
Dropdown.VERSION = '3.3.7'
Dropdown.VERSION = '3.4.1'
function getParent($this) {
var selector = $this.attr('data-target')
@@ -779,7 +789,7 @@ if (typeof jQuery === 'undefined') {
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = selector && $(selector)
var $parent = selector !== '#' ? $(document).find(selector) : null
return $parent && $parent.length ? $parent : $this.parent()
}
@@ -915,10 +925,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: modal.js v3.3.7
* http://getbootstrap.com/javascript/#modals
* Bootstrap: modal.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#modals
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -930,15 +940,16 @@ if (typeof jQuery === 'undefined') {
// ======================
var Modal = function (element, options) {
this.options = options
this.$body = $(document.body)
this.$element = $(element)
this.$dialog = this.$element.find('.modal-dialog')
this.$backdrop = null
this.isShown = null
this.originalBodyPad = null
this.scrollbarWidth = 0
this.options = options
this.$body = $(document.body)
this.$element = $(element)
this.$dialog = this.$element.find('.modal-dialog')
this.$backdrop = null
this.isShown = null
this.originalBodyPad = null
this.scrollbarWidth = 0
this.ignoreBackdropClick = false
this.fixedContent = '.navbar-fixed-top, .navbar-fixed-bottom'
if (this.options.remote) {
this.$element
@@ -949,7 +960,7 @@ if (typeof jQuery === 'undefined') {
}
}
Modal.VERSION = '3.3.7'
Modal.VERSION = '3.4.1'
Modal.TRANSITION_DURATION = 300
Modal.BACKDROP_TRANSITION_DURATION = 150
@@ -966,7 +977,7 @@ if (typeof jQuery === 'undefined') {
Modal.prototype.show = function (_relatedTarget) {
var that = this
var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
this.$element.trigger(e)
@@ -1057,8 +1068,8 @@ if (typeof jQuery === 'undefined') {
.off('focusin.bs.modal') // guard against infinite focus loop
.on('focusin.bs.modal', $.proxy(function (e) {
if (document !== e.target &&
this.$element[0] !== e.target &&
!this.$element.has(e.target).length) {
this.$element[0] !== e.target &&
!this.$element.has(e.target).length) {
this.$element.trigger('focus')
}
}, this))
@@ -1160,7 +1171,7 @@ if (typeof jQuery === 'undefined') {
var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
this.$element.css({
paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
})
}
@@ -1185,11 +1196,26 @@ if (typeof jQuery === 'undefined') {
Modal.prototype.setScrollbar = function () {
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
this.originalBodyPad = document.body.style.paddingRight || ''
if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
var scrollbarWidth = this.scrollbarWidth
if (this.bodyIsOverflowing) {
this.$body.css('padding-right', bodyPad + scrollbarWidth)
$(this.fixedContent).each(function (index, element) {
var actualPadding = element.style.paddingRight
var calculatedPadding = $(element).css('padding-right')
$(element)
.data('padding-right', actualPadding)
.css('padding-right', parseFloat(calculatedPadding) + scrollbarWidth + 'px')
})
}
}
Modal.prototype.resetScrollbar = function () {
this.$body.css('padding-right', this.originalBodyPad)
$(this.fixedContent).each(function (index, element) {
var padding = $(element).data('padding-right')
$(element).removeData('padding-right')
element.style.paddingRight = padding ? padding : ''
})
}
Modal.prototype.measureScrollbar = function () { // thx walsh
@@ -1207,8 +1233,8 @@ if (typeof jQuery === 'undefined') {
function Plugin(option, _relatedTarget) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.modal')
var $this = $(this)
var data = $this.data('bs.modal')
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
@@ -1219,7 +1245,7 @@ if (typeof jQuery === 'undefined') {
var old = $.fn.modal
$.fn.modal = Plugin
$.fn.modal = Plugin
$.fn.modal.Constructor = Modal
@@ -1236,10 +1262,13 @@ if (typeof jQuery === 'undefined') {
// ==============
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
var $this = $(this)
var href = $this.attr('href')
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
var $this = $(this)
var href = $this.attr('href')
var target = $this.attr('data-target') ||
(href && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
var $target = $(document).find(target)
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
if ($this.is('a')) e.preventDefault()
@@ -1255,18 +1284,148 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: tooltip.js v3.3.7
* http://getbootstrap.com/javascript/#tooltip
* Bootstrap: tooltip.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+function ($) {
'use strict';
var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']
var uriAttrs = [
'background',
'cite',
'href',
'itemtype',
'longdesc',
'poster',
'src',
'xlink:href'
]
var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
var DefaultWhitelist = {
// Global attributes allowed on any supplied element below.
'*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
a: ['target', 'href', 'title', 'rel'],
area: [],
b: [],
br: [],
col: [],
code: [],
div: [],
em: [],
hr: [],
h1: [],
h2: [],
h3: [],
h4: [],
h5: [],
h6: [],
i: [],
img: ['src', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
pre: [],
s: [],
small: [],
span: [],
sub: [],
sup: [],
strong: [],
u: [],
ul: []
}
/**
* A pattern that recognizes a commonly useful subset of URLs that are safe.
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i
function allowedAttribute(attr, allowedAttributeList) {
var attrName = attr.nodeName.toLowerCase()
if ($.inArray(attrName, allowedAttributeList) !== -1) {
if ($.inArray(attrName, uriAttrs) !== -1) {
return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))
}
return true
}
var regExp = $(allowedAttributeList).filter(function (index, value) {
return value instanceof RegExp
})
// Check if a regular expression validates the attribute.
for (var i = 0, l = regExp.length; i < l; i++) {
if (attrName.match(regExp[i])) {
return true
}
}
return false
}
function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
if (unsafeHtml.length === 0) {
return unsafeHtml
}
if (sanitizeFn && typeof sanitizeFn === 'function') {
return sanitizeFn(unsafeHtml)
}
// IE 8 and below don't support createHTMLDocument
if (!document.implementation || !document.implementation.createHTMLDocument) {
return unsafeHtml
}
var createdDocument = document.implementation.createHTMLDocument('sanitization')
createdDocument.body.innerHTML = unsafeHtml
var whitelistKeys = $.map(whiteList, function (el, i) { return i })
var elements = $(createdDocument.body).find('*')
for (var i = 0, len = elements.length; i < len; i++) {
var el = elements[i]
var elName = el.nodeName.toLowerCase()
if ($.inArray(elName, whitelistKeys) === -1) {
el.parentNode.removeChild(el)
continue
}
var attributeList = $.map(el.attributes, function (el) { return el })
var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])
for (var j = 0, len2 = attributeList.length; j < len2; j++) {
if (!allowedAttribute(attributeList[j], whitelistedAttributes)) {
el.removeAttribute(attributeList[j].nodeName)
}
}
}
return createdDocument.body.innerHTML
}
// TOOLTIP PUBLIC CLASS DEFINITION
// ===============================
@@ -1282,7 +1441,7 @@ if (typeof jQuery === 'undefined') {
this.init('tooltip', element, options)
}
Tooltip.VERSION = '3.3.7'
Tooltip.VERSION = '3.4.1'
Tooltip.TRANSITION_DURATION = 150
@@ -1299,7 +1458,10 @@ if (typeof jQuery === 'undefined') {
viewport: {
selector: 'body',
padding: 0
}
},
sanitize : true,
sanitizeFn : null,
whiteList : DefaultWhitelist
}
Tooltip.prototype.init = function (type, element, options) {
@@ -1307,7 +1469,7 @@ if (typeof jQuery === 'undefined') {
this.type = type
this.$element = $(element)
this.options = this.getOptions(options)
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
this.$viewport = this.options.viewport && $(document).find($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
this.inState = { click: false, hover: false, focus: false }
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
@@ -1340,7 +1502,15 @@ if (typeof jQuery === 'undefined') {
}
Tooltip.prototype.getOptions = function (options) {
options = $.extend({}, this.getDefaults(), this.$element.data(), options)
var dataAttributes = this.$element.data()
for (var dataAttr in dataAttributes) {
if (dataAttributes.hasOwnProperty(dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) {
delete dataAttributes[dataAttr]
}
}
options = $.extend({}, this.getDefaults(), dataAttributes, options)
if (options.delay && typeof options.delay == 'number') {
options.delay = {
@@ -1349,6 +1519,10 @@ if (typeof jQuery === 'undefined') {
}
}
if (options.sanitize) {
options.template = sanitizeHtml(options.template, options.whiteList, options.sanitizeFn)
}
return options
}
@@ -1460,7 +1634,7 @@ if (typeof jQuery === 'undefined') {
.addClass(placement)
.data('bs.' + this.type, this)
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
this.options.container ? $tip.appendTo($(document).find(this.options.container)) : $tip.insertAfter(this.$element)
this.$element.trigger('inserted.bs.' + this.type)
var pos = this.getPosition()
@@ -1562,7 +1736,16 @@ if (typeof jQuery === 'undefined') {
var $tip = this.tip()
var title = this.getTitle()
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
if (this.options.html) {
if (this.options.sanitize) {
title = sanitizeHtml(title, this.options.whiteList, this.options.sanitizeFn)
}
$tip.find('.tooltip-inner').html(title)
} else {
$tip.find('.tooltip-inner').text(title)
}
$tip.removeClass('fade in top bottom left right')
}
@@ -1743,6 +1926,9 @@ if (typeof jQuery === 'undefined') {
})
}
Tooltip.prototype.sanitizeHtml = function (unsafeHtml) {
return sanitizeHtml(unsafeHtml, this.options.whiteList, this.options.sanitizeFn)
}
// TOOLTIP PLUGIN DEFINITION
// =========================
@@ -1776,10 +1962,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: popover.js v3.3.7
* http://getbootstrap.com/javascript/#popovers
* Bootstrap: popover.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#popovers
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -1796,7 +1982,7 @@ if (typeof jQuery === 'undefined') {
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
Popover.VERSION = '3.3.7'
Popover.VERSION = '3.4.1'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right',
@@ -1822,10 +2008,25 @@ if (typeof jQuery === 'undefined') {
var title = this.getTitle()
var content = this.getContent()
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
$tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
](content)
if (this.options.html) {
var typeContent = typeof content
if (this.options.sanitize) {
title = this.sanitizeHtml(title)
if (typeContent === 'string') {
content = this.sanitizeHtml(content)
}
}
$tip.find('.popover-title').html(title)
$tip.find('.popover-content').children().detach().end()[
typeContent === 'string' ? 'html' : 'append'
](content)
} else {
$tip.find('.popover-title').text(title)
$tip.find('.popover-content').children().detach().end().text(content)
}
$tip.removeClass('fade top bottom left right in')
@@ -1844,8 +2045,8 @@ if (typeof jQuery === 'undefined') {
return $e.attr('data-content')
|| (typeof o.content == 'function' ?
o.content.call($e[0]) :
o.content)
o.content.call($e[0]) :
o.content)
}
Popover.prototype.arrow = function () {
@@ -1885,10 +2086,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: scrollspy.js v3.3.7
* http://getbootstrap.com/javascript/#scrollspy
* Bootstrap: scrollspy.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#scrollspy
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -1914,7 +2115,7 @@ if (typeof jQuery === 'undefined') {
this.process()
}
ScrollSpy.VERSION = '3.3.7'
ScrollSpy.VERSION = '3.4.1'
ScrollSpy.DEFAULTS = {
offset: 10
@@ -2058,10 +2259,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: tab.js v3.3.7
* http://getbootstrap.com/javascript/#tabs
* Bootstrap: tab.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#tabs
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -2078,7 +2279,7 @@ if (typeof jQuery === 'undefined') {
// jscs:enable requireDollarBeforejQueryAssignment
}
Tab.VERSION = '3.3.7'
Tab.VERSION = '3.4.1'
Tab.TRANSITION_DURATION = 150
@@ -2107,7 +2308,7 @@ if (typeof jQuery === 'undefined') {
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
var $target = $(selector)
var $target = $(document).find(selector)
this.activate($this.closest('li'), $ul)
this.activate($target, $target.parent(), function () {
@@ -2132,15 +2333,15 @@ if (typeof jQuery === 'undefined') {
$active
.removeClass('active')
.find('> .dropdown-menu > .active')
.removeClass('active')
.removeClass('active')
.end()
.find('[data-toggle="tab"]')
.attr('aria-expanded', false)
.attr('aria-expanded', false)
element
.addClass('active')
.find('[data-toggle="tab"]')
.attr('aria-expanded', true)
.attr('aria-expanded', true)
if (transition) {
element[0].offsetWidth // reflow for transition
@@ -2152,10 +2353,10 @@ if (typeof jQuery === 'undefined') {
if (element.parent('.dropdown-menu').length) {
element
.closest('li.dropdown')
.addClass('active')
.addClass('active')
.end()
.find('[data-toggle="tab"]')
.attr('aria-expanded', true)
.attr('aria-expanded', true)
}
callback && callback()
@@ -2214,10 +2415,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
* Bootstrap: affix.js v3.3.7
* http://getbootstrap.com/javascript/#affix
* Bootstrap: affix.js v3.4.1
* https://getbootstrap.com/docs/3.4/javascript/#affix
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
@@ -2231,7 +2432,9 @@ if (typeof jQuery === 'undefined') {
var Affix = function (element, options) {
this.options = $.extend({}, Affix.DEFAULTS, options)
this.$target = $(this.options.target)
var target = this.options.target === Affix.DEFAULTS.target ? $(this.options.target) : $(document).find(this.options.target)
this.$target = target
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
@@ -2243,7 +2446,7 @@ if (typeof jQuery === 'undefined') {
this.checkPosition()
}
Affix.VERSION = '3.3.7'
Affix.VERSION = '3.4.1'
Affix.RESET = 'affix affix-top affix-bottom'

View File

@@ -1,9 +1,9 @@
function convertCasinoCoinAdrr(address) {
return window.basex('cpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2brdeCg65jkm8oFqi1tuvAxyz').encode(
window.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(address)
return libs.basex('cpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2brdeCg65jkm8oFqi1tuvAxyz').encode(
libs.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(address)
)
}
function convertCasinoCoinPriv(priv) {
return window.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(priv).toString("hex").slice(2,66)
return libs.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(priv).toString("hex").slice(2,66)
}

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

File diff suppressed because one or more lines are too long

View File

@@ -16,7 +16,136 @@
window.Entropy = new (function() {
var TWO = new BigInteger(2);
let eventBits = {
"binary": {
"0": "0",
"1": "1",
},
// log2(6) = 2.58496 bits per roll, with bias
// 4 rolls give 2 bits each
// 2 rolls give 1 bit each
// Average (4*2 + 2*1) / 6 = 1.66 bits per roll without bias
"base 6": {
"0": "00",
"1": "01",
"2": "10",
"3": "11",
"4": "0",
"5": "1",
},
// log2(6) = 2.58496 bits per roll, with bias
// 4 rolls give 2 bits each
// 2 rolls give 1 bit each
// Average (4*2 + 2*1) / 6 = 1.66 bits per roll without bias
"base 6 (dice)": {
"0": "00", // equivalent to 0 in base 6
"1": "01",
"2": "10",
"3": "11",
"4": "0",
"5": "1",
},
// log2(10) = 3.321928 bits per digit, with bias
// 8 digits give 3 bits each
// 2 digits give 1 bit each
// Average (8*3 + 2*1) / 10 = 2.6 bits per digit without bias
"base 10": {
"0": "000",
"1": "001",
"2": "010",
"3": "011",
"4": "100",
"5": "101",
"6": "110",
"7": "111",
"8": "0",
"9": "1",
},
"hexadecimal": {
"0": "0000",
"1": "0001",
"2": "0010",
"3": "0011",
"4": "0100",
"5": "0101",
"6": "0110",
"7": "0111",
"8": "1000",
"9": "1001",
"a": "1010",
"b": "1011",
"c": "1100",
"d": "1101",
"e": "1110",
"f": "1111",
},
// log2(52) = 5.7004 bits per card, with bias
// 32 cards give 5 bits each
// 16 cards give 4 bits each
// 4 cards give 2 bits each
// Average (32*5 + 16*4 + 4*2) / 52 = 4.46 bits per card without bias
"card": {
"ac": "00000",
"2c": "00001",
"3c": "00010",
"4c": "00011",
"5c": "00100",
"6c": "00101",
"7c": "00110",
"8c": "00111",
"9c": "01000",
"tc": "01001",
"jc": "01010",
"qc": "01011",
"kc": "01100",
"ad": "01101",
"2d": "01110",
"3d": "01111",
"4d": "10000",
"5d": "10001",
"6d": "10010",
"7d": "10011",
"8d": "10100",
"9d": "10101",
"td": "10110",
"jd": "10111",
"qd": "11000",
"kd": "11001",
"ah": "11010",
"2h": "11011",
"3h": "11100",
"4h": "11101",
"5h": "11110",
"6h": "11111",
"7h": "0000",
"8h": "0001",
"9h": "0010",
"th": "0011",
"jh": "0100",
"qh": "0101",
"kh": "0110",
"as": "0111",
"2s": "1000",
"3s": "1001",
"4s": "1010",
"5s": "1011",
"6s": "1100",
"7s": "1101",
"8s": "1110",
"9s": "1111",
"ts": "00",
"js": "01",
"qs": "10",
"ks": "11",
},
}
// matchers returns an array of the matched events for each type of entropy.
// eg
@@ -51,48 +180,28 @@ window.Entropy = new (function() {
}
}
// Convert array of cards from ["ac", "4d", "ks"]
// to numbers between 0 and 51 [0, 16, 51]
function convertCardsToInts(cards) {
var ints = [];
var values = "a23456789tjqk";
var suits = "cdhs";
for (var i=0; i<cards.length; i++) {
var card = cards[i].toLowerCase();
var value = card[0];
var suit = card[1];
var asInt = 13 * suits.indexOf(suit) + values.indexOf(value);
ints.push(asInt);
}
return ints;
}
this.fromString = function(rawEntropyStr) {
this.fromString = function(rawEntropyStr, baseStr) {
// Find type of entropy being used (binary, hex, dice etc)
var base = getBase(rawEntropyStr);
var base = getBase(rawEntropyStr, baseStr);
// Convert dice to base6 entropy (ie 1-6 to 0-5)
// This is done by changing all 6s to 0s
if (base.str == "dice") {
var newParts = [];
var newInts = [];
for (var i=0; i<base.parts.length; i++) {
var c = base.parts[i];
var newEvents = [];
for (var i=0; i<base.events.length; i++) {
var c = base.events[i];
if ("12345".indexOf(c) > -1) {
newParts[i] = base.parts[i];
newInts[i] = base.ints[i];
newEvents[i] = base.events[i];
}
else {
newParts[i] = "0";
newInts[i] = 0;
newEvents[i] = "0";
}
}
base.str = "base 6 (dice)";
base.ints = newInts;
base.parts = newParts;
base.events = newEvents;
base.matcher = matchers.base6;
}
// Detect empty entropy
if (base.parts.length == 0) {
if (base.events.length == 0) {
return {
binaryStr: "",
cleanStr: "",
@@ -100,44 +209,23 @@ window.Entropy = new (function() {
base: base,
};
}
// Convert base.ints to BigInteger.
// Due to using unusual bases, eg cards of base52, this is not as simple as
// using BigInteger.parse()
var entropyInt = BigInteger.ZERO;
for (var i=base.ints.length-1; i>=0; i--) {
var thisInt = BigInteger.parse(base.ints[i]);
var power = (base.ints.length - 1) - i;
var additionalEntropy = BigInteger.parse(base.asInt).pow(power).multiply(thisInt);
entropyInt = entropyInt.add(additionalEntropy);
}
// Convert entropy to binary
var entropyBin = entropyInt.toString(2);
// If the first integer is small, it must be padded with zeros.
// Otherwise the chance of the first bit being 1 is 100%, which is
// obviously incorrect.
// This is not perfect for non-2^n bases.
var expectedBits = Math.floor(base.parts.length * Math.log2(base.asInt));
while (entropyBin.length < expectedBits) {
entropyBin = "0" + entropyBin;
}
// Calculate the number of bits per event
var bitsPerEvent = Math.log2(base.asInt);
// Cards binary must be handled differently, since they're not replaced
if (base.asInt == 52) {
var cardEntropy = processCardEntropy(base.parts);
entropyBin = cardEntropy.binaryStr;
bitsPerEvent = cardEntropy.bitsPerEvent;
}
// Convert entropy events to binary
var entropyBin = base.events.map(function(e) {
return eventBits[base.str][e.toLowerCase()];
}).join("");
// Get average bits per event
// which may be adjusted for bias if log2(base) is fractional
var bitsPerEvent = base.bitsPerEvent;
// Supply a 'filtered' entropy string for display purposes
var entropyClean = base.parts.join("");
var entropyHtml = base.parts.join("");
var entropyClean = base.events.join("");
var entropyHtml = base.events.join("");
if (base.asInt == 52) {
entropyClean = base.parts.join(" ").toUpperCase();
entropyClean = base.events.join(" ").toUpperCase();
entropyClean = entropyClean.replace(/C/g, "\u2663");
entropyClean = entropyClean.replace(/D/g, "\u2666");
entropyClean = entropyClean.replace(/H/g, "\u2665");
entropyClean = entropyClean.replace(/S/g, "\u2660");
entropyHtml = base.parts.join(" ").toUpperCase();
entropyHtml = base.events.join(" ").toUpperCase();
entropyHtml = entropyHtml.replace(/C/g, "<span class='card-suit club'>\u2663</span>");
entropyHtml = entropyHtml.replace(/D/g, "<span class='card-suit diamond'>\u2666</span>");
entropyHtml = entropyHtml.replace(/H/g, "<span class='card-suit heart'>\u2665</span>");
@@ -154,192 +242,80 @@ window.Entropy = new (function() {
return e;
}
function getSortedDeck() {
var s = [];
var suits = "CDHS";
var values = "A23456789TJQK";
for (var i=0; i<suits.length; i++) {
for (var j=0; j<values.length; j++) {
s.push(values[j]+suits[i]);
}
}
return s;
}
function getBase(str) {
function getBase(str, baseStr) {
// Need to get the lowest base for the supplied entropy.
// This prevents interpreting, say, dice rolls as hexadecimal.
var binaryMatches = matchers.binary(str);
var hexMatches = matchers.hex(str);
var autodetect = baseStr === undefined;
// Find the lowest base that can be used, whilst ignoring any irrelevant chars
if (binaryMatches.length == hexMatches.length && hexMatches.length > 0) {
if ((binaryMatches.length == hexMatches.length && hexMatches.length > 0 && autodetect) || baseStr === "binary") {
var ints = binaryMatches.map(function(i) { return parseInt(i, 2) });
return {
ints: ints,
parts: binaryMatches,
events: binaryMatches,
matcher: matchers.binary,
asInt: 2,
bitsPerEvent: 1,
str: "binary",
}
}
var cardMatches = matchers.card(str);
if (cardMatches.length >= hexMatches.length / 2) {
var ints = convertCardsToInts(cardMatches);
if ((cardMatches.length >= hexMatches.length / 2 && autodetect) || baseStr === "card") {
return {
ints: ints,
parts: cardMatches,
events: cardMatches,
matcher: matchers.card,
asInt: 52,
bitsPerEvent: (32*5 + 16*4 + 4*2) / 52, // see cardBits
str: "card",
}
}
var diceMatches = matchers.dice(str);
if (diceMatches.length == hexMatches.length && hexMatches.length > 0) {
if ((diceMatches.length == hexMatches.length && hexMatches.length > 0 && autodetect) || baseStr === "dice") {
var ints = diceMatches.map(function(i) { return parseInt(i) });
return {
ints: ints,
parts: diceMatches,
events: diceMatches,
matcher: matchers.dice,
asInt: 6,
bitsPerEvent: (4*2 + 2*1) / 6, // see diceBits
str: "dice",
}
}
var base6Matches = matchers.base6(str);
if (base6Matches.length == hexMatches.length && hexMatches.length > 0) {
if ((base6Matches.length == hexMatches.length && hexMatches.length > 0 && autodetect) || baseStr === "base 6") {
var ints = base6Matches.map(function(i) { return parseInt(i) });
return {
ints: ints,
parts: base6Matches,
events: base6Matches,
matcher: matchers.base6,
asInt: 6,
bitsPerEvent: (4*2 + 2*1) / 6, // see diceBits
str: "base 6",
}
}
var base10Matches = matchers.base10(str);
if (base10Matches.length == hexMatches.length && hexMatches.length > 0) {
if ((base10Matches.length == hexMatches.length && hexMatches.length > 0 && autodetect) || baseStr === "base 10") {
var ints = base10Matches.map(function(i) { return parseInt(i) });
return {
ints: ints,
parts: base10Matches,
events: base10Matches,
matcher: matchers.base10,
asInt: 10,
bitsPerEvent: (8*3 + 2*1) / 10, // see b10Bits
str: "base 10",
}
}
var ints = hexMatches.map(function(i) { return parseInt(i, 16) });
return {
ints: ints,
parts: hexMatches,
events: hexMatches,
matcher: matchers.hex,
asInt: 16,
bitsPerEvent: 4,
str: "hexadecimal",
}
}
// Assume cards are NOT replaced.
// Additional entropy decreases as more cards are used. This means
// total possible entropy is measured using n!, not base^n.
// eg the second last card can be only one of two, not one of fifty two
// so the added entropy for that card is only one bit at most
function processCardEntropy(cards) {
// Track how many instances of each card have been used, and thus
// how many decks are in use.
var cardCounts = {};
var numberOfDecks = 0;
// Work out number of decks by max(duplicates)
for (var i=0; i<cards.length; i++) {
// Get the card that was drawn
var cardLower = cards[i];
var card = cardLower.toUpperCase();
// Initialize the count for this card if needed
if (!(card in cardCounts)) {
cardCounts[card] = 0;
}
cardCounts[card] += 1;
// See if this is max(duplicates)
if (cardCounts[card] > numberOfDecks) {
numberOfDecks = cardCounts[card];
}
}
// Work out the total number of bits for this many decks
// See http://crypto.stackexchange.com/q/41886
var gainedBits = 0;
// Equivalent of Math.log2(factorial(52*numberOfDecks))
// which becomes infinity for numberOfDecks > 4
for (var i=1; i<=52*numberOfDecks; i++) {
gainedBits = gainedBits + Math.log2(i);
}
var lostBits = 52 * Math.log2(factorial(numberOfDecks));
var maxBits = gainedBits - lostBits;
// Convert the drawn cards to a binary representation.
// The exact technique for doing this is unclear.
// See
// http://crypto.stackexchange.com/a/41896
// "I even doubt that this is well defined (only the average entropy
// is, I believe)."
// See
// https://github.com/iancoleman/bip39/issues/33#issuecomment-263021856
// "The binary representation can be the first log(permutations,2) bits
// of the sha-2 hash of the normalized deck string."
//
// In this specific implementation, the first N bits of the hash of the
// normalized cards string is being used. Uppercase, no spaces; eg
// sha256("AH8DQSTC2H")
var totalCards = numberOfDecks * 52;
var percentUsed = cards.length / totalCards;
// Calculate the average number of bits of entropy for the number of
// cards drawn.
var numberOfBits = Math.floor(maxBits * percentUsed);
// Create a normalized string of the selected cards
var normalizedCards = cards.join("").toUpperCase();
// Convert to binary using the SHA256 hash of the normalized cards.
// If the number of bits is more than 256, multiple hashes
// are used until the required number of bits is reached.
var entropyBin = "";
var iterations = 0;
while (entropyBin.length < numberOfBits) {
var hashedCards = sjcl.hash.sha256.hash(normalizedCards + ":" + iterations);
var hashHex = sjcl.codec.hex.fromBits(hashedCards);
for (var i=0; i<hashHex.length; i++) {
var decimal = parseInt(hashHex[i], 16);
var binary = decimal.toString(2);
while (binary.length < 4) {
binary = "0" + binary;
}
entropyBin = entropyBin + binary;
}
iterations = iterations + 1;
}
// Truncate to the appropriate number of bits.
entropyBin = entropyBin.substring(0, numberOfBits);
// Get the number of bits per event
bitsPerEvent = maxBits / totalCards;
return {
binaryStr: entropyBin,
bitsPerEvent: bitsPerEvent,
}
}
// Polyfill for Math.log2
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2#Polyfill
Math.log2 = Math.log2 || function(x) {
// The polyfill isn't good enough because of the poor accuracy of
// Math.LOG2E
// log2(8) gave 2.9999999999999996 which when floored causes issues.
// So instead use the BigInteger library to get it right.
return BigInteger.log(x) / BigInteger.log(2);
};
// Depends on BigInteger
function factorial(n) {
if (n == 0) {
return 1;
}
f = BigInteger.ONE;
for (var i=1; i<=n; i++) {
f = f.multiply(new BigInteger(i));
}
return f;
}
})();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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");

19
src/js/fio-util.js Normal file
View File

@@ -0,0 +1,19 @@
function FIObufferToPublic(pubBuf) {
const Buffer = libs.buffer.Buffer;
const FIO_PUBLIC_PREFIX = "FIO";
let checksum = libs.createHash("rmd160").update(pubBuf).digest("hex").slice(0, 8);
pubBuf = Buffer.concat([pubBuf, Buffer.from(checksum, "hex")]);
return FIO_PUBLIC_PREFIX.concat(libs.bs58.encode(pubBuf));
}
function FIObufferToPrivate(privBuf) {
const Buffer = libs.buffer.Buffer;
const FIO_PRIVATE_PREFIX = "80";
privBuf = Buffer.concat([Buffer.from(FIO_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);
}

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

10
src/js/jingtum-util.js Normal file
View File

@@ -0,0 +1,10 @@
function convertJingtumAdrr(address) {
return libs.basex('jpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65rkm8oFqi1tuvAxyz').encode(
libs.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(address)
)
}
function convertJingtumPriv(priv) {
return libs.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(priv).toString("hex").slice(2,66)
}

File diff suppressed because one or more lines are too long

View File

@@ -1,138 +0,0 @@
// source
// https://github.com/hiddentao/fast-levenshtein/blob/2.0.6/levenshtein.js
(function() {
'use strict';
var collator;
try {
collator = (typeof Intl !== "undefined" && typeof Intl.Collator !== "undefined") ? Intl.Collator("generic", { sensitivity: "base" }) : null;
} catch (err){
console.log("Collator could not be initialized and wouldn't be used");
}
// arrays to re-use
var prevRow = [],
str2Char = [];
/**
* Based on the algorithm at http://en.wikipedia.org/wiki/Levenshtein_distance.
*/
var Levenshtein = {
/**
* Calculate levenshtein distance of the two strings.
*
* @param str1 String the first string.
* @param str2 String the second string.
* @param [options] Additional options.
* @param [options.useCollator] Use `Intl.Collator` for locale-sensitive string comparison.
* @return Integer the levenshtein distance (0 and above).
*/
get: function(str1, str2, options) {
var useCollator = (options && collator && options.useCollator);
var str1Len = str1.length,
str2Len = str2.length;
// base cases
if (str1Len === 0) return str2Len;
if (str2Len === 0) return str1Len;
// two rows
var curCol, nextCol, i, j, tmp;
// initialise previous row
for (i=0; i<str2Len; ++i) {
prevRow[i] = i;
str2Char[i] = str2.charCodeAt(i);
}
prevRow[str2Len] = str2Len;
var strCmp;
if (useCollator) {
// calculate current row distance from previous row using collator
for (i = 0; i < str1Len; ++i) {
nextCol = i + 1;
for (j = 0; j < str2Len; ++j) {
curCol = nextCol;
// substution
strCmp = 0 === collator.compare(str1.charAt(i), String.fromCharCode(str2Char[j]));
nextCol = prevRow[j] + (strCmp ? 0 : 1);
// insertion
tmp = curCol + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
// deletion
tmp = prevRow[j + 1] + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
// copy current col value into previous (in preparation for next iteration)
prevRow[j] = curCol;
}
// copy last col value into previous (in preparation for next iteration)
prevRow[j] = nextCol;
}
}
else {
// calculate current row distance from previous row without collator
for (i = 0; i < str1Len; ++i) {
nextCol = i + 1;
for (j = 0; j < str2Len; ++j) {
curCol = nextCol;
// substution
strCmp = str1.charCodeAt(i) === str2Char[j];
nextCol = prevRow[j] + (strCmp ? 0 : 1);
// insertion
tmp = curCol + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
// deletion
tmp = prevRow[j + 1] + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
// copy current col value into previous (in preparation for next iteration)
prevRow[j] = curCol;
}
// copy last col value into previous (in preparation for next iteration)
prevRow[j] = nextCol;
}
}
return nextCol;
}
};
// amd
if (typeof define !== "undefined" && define !== null && define.amd) {
define(function() {
return Levenshtein;
});
}
// commonjs
else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) {
module.exports = Levenshtein;
}
// web worker
else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') {
self.Levenshtein = Levenshtein;
}
// browser main thread
else if (typeof window !== "undefined" && window !== null) {
window.Levenshtein = Levenshtein;
}
}());

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,10 @@
function convertRippleAdrr(address) {
return window.basex('rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz').encode(
window.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(address)
return libs.basex('rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz').encode(
libs.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(address)
)
}
function convertRipplePriv(priv) {
return window.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(priv).toString("hex").slice(2,66)
return libs.basex('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz').decode(priv).toString("hex").slice(2,66)
}

View File

@@ -2,7 +2,7 @@
// p2wpkh
bitcoinjs.bitcoin.networks.bitcoin.p2wpkh = {
libs.bitcoin.networks.bitcoin.p2wpkh = {
baseNetwork: "bitcoin",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'bc',
@@ -15,7 +15,7 @@ bitcoinjs.bitcoin.networks.bitcoin.p2wpkh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.testnet.p2wpkh = {
libs.bitcoin.networks.testnet.p2wpkh = {
baseNetwork: "testnet",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'tb',
@@ -28,9 +28,22 @@ bitcoinjs.bitcoin.networks.testnet.p2wpkh = {
wif: 0xef
};
libs.bitcoin.networks.regtest.p2wpkh = {
baseNetwork: "regtest",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'bcrt',
bip32: {
public: 0x045f1cf6,
private: 0x045f18bc
},
pubKeyHash: 0x6f,
scriptHash: 0xc4,
wif: 0xef
};
// p2wpkh in p2sh
bitcoinjs.bitcoin.networks.bitcoin.p2wpkhInP2sh = {
libs.bitcoin.networks.bitcoin.p2wpkhInP2sh = {
baseNetwork: "bitcoin",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'bc',
@@ -43,7 +56,7 @@ bitcoinjs.bitcoin.networks.bitcoin.p2wpkhInP2sh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.testnet.p2wpkhInP2sh = {
libs.bitcoin.networks.testnet.p2wpkhInP2sh = {
baseNetwork: "testnet",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'tb',
@@ -56,7 +69,132 @@ bitcoinjs.bitcoin.networks.testnet.p2wpkhInP2sh = {
wif: 0xef
};
bitcoinjs.bitcoin.networks.litecoin.p2wpkh = {
libs.bitcoin.networks.regtest.p2wpkhInP2sh = {
baseNetwork: "regtest",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'bcrt',
bip32: {
public: 0x044a5262,
private: 0x044a4e28
},
pubKeyHash: 0x6f,
scriptHash: 0xc4,
wif: 0xef
};
// p2wsh
libs.bitcoin.networks.bitcoin.p2wsh = {
baseNetwork: "bitcoin",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'bc',
bip32: {
public: 0x02aa7ed3,
private: 0x02aa7a99
},
pubKeyHash: 0x00,
scriptHash: 0x05,
wif: 0x80
};
libs.bitcoin.networks.testnet.p2wsh = {
baseNetwork: "testnet",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'tb',
bip32: {
public: 0x02575483,
private: 0x02575048
},
pubKeyHash: 0x6f,
scriptHash: 0xc4,
wif: 0xef
};
libs.bitcoin.networks.regtest.p2wsh = {
baseNetwork: "regtest",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'bcrt',
bip32: {
public: 0x02575483,
private: 0x02575048
},
pubKeyHash: 0x6f,
scriptHash: 0xc4,
wif: 0xef
};
// p2wsh in p2sh
libs.bitcoin.networks.bitcoin.p2wshInP2sh = {
baseNetwork: "bitcoin",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'bc',
bip32: {
public: 0x0295b43f,
private: 0x0295b005
},
pubKeyHash: 0x00,
scriptHash: 0x05,
wif: 0x80
};
libs.bitcoin.networks.testnet.p2wshInP2sh = {
baseNetwork: "testnet",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'tb',
bip32: {
public: 0x024289ef,
private: 0x024285b5
},
pubKeyHash: 0x6f,
scriptHash: 0xc4,
wif: 0xef
};
libs.bitcoin.networks.regtest.p2wshInP2sh = {
baseNetwork: "regtest",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'bcrt',
bip32: {
public: 0x024289ef,
private: 0x024285b5
},
pubKeyHash: 0x6f,
scriptHash: 0xc4,
wif: 0xef
};
libs.bitcoin.networks.cranepay.p2wpkhInP2sh = {
baseNetwork: "cranepay",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'cp',
bip32: {
public: 0x049d7cb2,
private: 0x049d7878
},
pubKeyHash: 28,
scriptHash: 10,
wif: 123
};
// bech32
libs.bitcoin.networks.cranepay.p2wpkh = {
baseNetwork: "cranepay",
messagePrefix: '\x18Bitcoin Signed Message:\n',
bech32: 'cp',
bip32: {
public: 0x04b24746,
private: 0x04b2430c
},
pubKeyHash: 28,
scriptHash: 10,
wif: 123
};
libs.bitcoin.networks.litecoin.p2wpkh = {
baseNetwork: "litecoin",
messagePrefix: '\x19Litecoin Signed Message:\n',
bech32: 'ltc',
@@ -69,7 +207,7 @@ bitcoinjs.bitcoin.networks.litecoin.p2wpkh = {
wif: 0xb0
};
bitcoinjs.bitcoin.networks.litecoin.p2wpkhInP2sh = {
libs.bitcoin.networks.litecoin.p2wpkhInP2sh = {
baseNetwork: "litecoin",
messagePrefix: '\x19Litecoin Signed Message:\n',
bech32: 'ltc',
@@ -82,7 +220,7 @@ bitcoinjs.bitcoin.networks.litecoin.p2wpkhInP2sh = {
wif: 0xb0
};
bitcoinjs.bitcoin.networks.fujicoin.p2wpkh = {
libs.bitcoin.networks.fujicoin.p2wpkh = {
baseNetwork: "fujicoin",
messagePrefix: '\x19FujiCoin Signed Message:\n',
bech32: 'fc',
@@ -95,7 +233,7 @@ bitcoinjs.bitcoin.networks.fujicoin.p2wpkh = {
wif: 0xa4
};
bitcoinjs.bitcoin.networks.fujicoin.p2wpkhInP2sh = {
libs.bitcoin.networks.fujicoin.p2wpkhInP2sh = {
baseNetwork: "fujicoin",
messagePrefix: '\x19FujiCoin Signed Message:\n',
bech32: 'fc',
@@ -108,7 +246,7 @@ bitcoinjs.bitcoin.networks.fujicoin.p2wpkhInP2sh = {
wif: 0xa4
};
bitcoinjs.bitcoin.networks.vertcoin.p2wpkh = {
libs.bitcoin.networks.vertcoin.p2wpkh = {
baseNetwork: "vertcoin",
messagePrefix: '\x18Vertcoin Signed Message:\n',
bech32: 'vtc',
@@ -121,7 +259,7 @@ bitcoinjs.bitcoin.networks.vertcoin.p2wpkh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.vertcoin.p2wpkhInP2sh = {
libs.bitcoin.networks.vertcoin.p2wpkhInP2sh = {
baseNetwork: "vertcoin",
messagePrefix: '\x18Vertcoin Signed Message:\n',
bip32: {
@@ -133,7 +271,7 @@ bitcoinjs.bitcoin.networks.vertcoin.p2wpkhInP2sh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.bgold.p2wpkh = {
libs.bitcoin.networks.bgold.p2wpkh = {
baseNetwork: "bgold",
messagePrefix: '\x1DBitcoin Gold Signed Message:\n',
bech32: 'btg',
@@ -146,7 +284,7 @@ bitcoinjs.bitcoin.networks.bgold.p2wpkh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.bgold.p2wpkhInP2sh = {
libs.bitcoin.networks.bgold.p2wpkhInP2sh = {
baseNetwork: "bgold",
messagePrefix: '\x1DBitcoin Gold Signed Message:\n',
bech32: 'btg',
@@ -159,7 +297,7 @@ bitcoinjs.bitcoin.networks.bgold.p2wpkhInP2sh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.digibyte.p2wpkh = {
libs.bitcoin.networks.digibyte.p2wpkh = {
baseNetwork: "digibyte",
messagePrefix: 'x19DigiByte Signed Message:\n',
bech32: 'dgb',
@@ -172,7 +310,7 @@ bitcoinjs.bitcoin.networks.digibyte.p2wpkh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.digibyte.p2wpkhInP2sh = {
libs.bitcoin.networks.digibyte.p2wpkhInP2sh = {
baseNetwork: "digibyte",
messagePrefix: '\x19DigiByte Signed Message:\n',
bech32: 'dgb',
@@ -185,7 +323,7 @@ bitcoinjs.bitcoin.networks.digibyte.p2wpkhInP2sh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.blockstamp.p2wpkh = {
libs.bitcoin.networks.blockstamp.p2wpkh = {
baseNetwork: "blockstamp",
messagePrefix: '\x18BlockStamp Signed Message:\n',
bech32: 'bc',
@@ -198,7 +336,7 @@ bitcoinjs.bitcoin.networks.blockstamp.p2wpkh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.blockstamp.p2wpkhInP2sh = {
libs.bitcoin.networks.blockstamp.p2wpkhInP2sh = {
baseNetwork: "blockstamp",
messagePrefix: '\x18BlockStamp Signed Message:\n',
bech32: 'bc',
@@ -211,7 +349,7 @@ bitcoinjs.bitcoin.networks.blockstamp.p2wpkhInP2sh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.nix.p2wpkh = {
libs.bitcoin.networks.nix.p2wpkh = {
baseNetwork: "nix",
messagePrefix: '\x18Nix Signed Message:\n',
bech32: 'nix',
@@ -224,7 +362,7 @@ bitcoinjs.bitcoin.networks.nix.p2wpkh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.nix.p2wpkhInP2sh = {
libs.bitcoin.networks.nix.p2wpkhInP2sh = {
baseNetwork: "nix",
messagePrefix: '\x18Nix Signed Message:\n',
bech32: 'nix',
@@ -237,7 +375,7 @@ bitcoinjs.bitcoin.networks.nix.p2wpkhInP2sh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.cpuchain.p2wpkh = {
libs.bitcoin.networks.cpuchain.p2wpkh = {
baseNetwork: "cpuchain",
messagePrefix: '\x1DCPUchain Signed Message:\n',
bech32: 'cpu',
@@ -250,7 +388,7 @@ bitcoinjs.bitcoin.networks.cpuchain.p2wpkh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.cpuchain.p2wpkhInP2sh = {
libs.bitcoin.networks.cpuchain.p2wpkhInP2sh = {
baseNetwork: "cpuchain",
messagePrefix: '\x1DCPUchain Signed Message:\n',
bech32: 'cpu',
@@ -263,7 +401,7 @@ bitcoinjs.bitcoin.networks.cpuchain.p2wpkhInP2sh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.monkeyproject.p2wpkh = {
libs.bitcoin.networks.monkeyproject.p2wpkh = {
baseNetwork: "monkeyproject",
messagePrefix: 'Monkey Signed Message:\n',
bech32: 'monkey',
@@ -276,7 +414,7 @@ bitcoinjs.bitcoin.networks.monkeyproject.p2wpkh = {
wif: 0x37
};
bitcoinjs.bitcoin.networks.monkeyproject.p2wpkhInP2sh = {
libs.bitcoin.networks.monkeyproject.p2wpkhInP2sh = {
baseNetwork: "monkeyproject",
messagePrefix: 'Monkey Signed Message:\n',
bech32: 'monkey',
@@ -289,7 +427,7 @@ bitcoinjs.bitcoin.networks.monkeyproject.p2wpkhInP2sh = {
wif: 0x37
};
bitcoinjs.bitcoin.networks.atom.p2wpkh = {
libs.bitcoin.networks.atom.p2wpkh = {
baseNetwork: "atom",
messagePrefix: '\x18Bitcoin Atom Signed Message:\n',
bech32: 'atom',
@@ -302,7 +440,7 @@ bitcoinjs.bitcoin.networks.atom.p2wpkh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.atom.p2wpkhInP2sh = {
libs.bitcoin.networks.atom.p2wpkhInP2sh = {
baseNetwork: "atom",
messagePrefix: '\x18Bitcoin Atom Signed Message:\n',
bech32: 'atom',
@@ -315,7 +453,7 @@ bitcoinjs.bitcoin.networks.atom.p2wpkhInP2sh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.bitcore.p2wpkh = {
libs.bitcoin.networks.bitcore.p2wpkh = {
baseNetwork: "bitcore",
messagePrefix: '\x18BitCore Signed Message:\n',
bech32: 'bitcore',
@@ -328,7 +466,7 @@ bitcoinjs.bitcoin.networks.bitcore.p2wpkh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.bitcore.p2wpkhInP2sh = {
libs.bitcoin.networks.bitcore.p2wpkhInP2sh = {
baseNetwork: "bitcore",
messagePrefix: '\x18BitCore Signed Message:\n',
bech32: 'bitcore',
@@ -341,10 +479,10 @@ bitcoinjs.bitcoin.networks.bitcore.p2wpkhInP2sh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.monacoin.p2wpkh = {
libs.bitcoin.networks.monacoin.p2wpkh = {
baseNetwork: "monacoin",
messagePrefix: '\x18Monacoin Signed Message:\n',
bech32: 'monacoin',
bech32: 'mona',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
@@ -354,10 +492,10 @@ bitcoinjs.bitcoin.networks.monacoin.p2wpkh = {
wif: 0xb0
};
bitcoinjs.bitcoin.networks.monacoin.p2wpkhInP2sh = {
libs.bitcoin.networks.monacoin.p2wpkhInP2sh = {
baseNetwork: "monacoin",
messagePrefix: '\x18Monacoin Signed Message:\n',
bech32: 'monacoin',
bech32: 'mona',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
@@ -367,7 +505,7 @@ bitcoinjs.bitcoin.networks.monacoin.p2wpkhInP2sh = {
wif: 0xb0
};
bitcoinjs.bitcoin.networks.syscoin.p2wpkh = {
libs.bitcoin.networks.syscoin.p2wpkh = {
baseNetwork: "syscoin",
messagePrefix: '\x18Syscoin Signed Message:\n',
bech32: 'sys',
@@ -380,7 +518,7 @@ bitcoinjs.bitcoin.networks.syscoin.p2wpkh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.syscoin.p2wpkhInP2sh = {
libs.bitcoin.networks.syscoin.p2wpkhInP2sh = {
baseNetwork: "syscoin",
messagePrefix: '\x18Syscoin Signed Message:\n',
bech32: 'sys',
@@ -393,7 +531,7 @@ bitcoinjs.bitcoin.networks.syscoin.p2wpkhInP2sh = {
wif: 0x80
};
bitcoinjs.bitcoin.networks.viacoin.p2wpkh = {
libs.bitcoin.networks.viacoin.p2wpkh = {
baseNetwork: "viacoin",
messagePrefix: '\x18Viacoin Signed Message:\n',
bech32: 'viacoin',
@@ -406,7 +544,7 @@ bitcoinjs.bitcoin.networks.viacoin.p2wpkh = {
wif: 0xc7
};
bitcoinjs.bitcoin.networks.viacoin.p2wpkhInP2sh = {
libs.bitcoin.networks.viacoin.p2wpkhInP2sh = {
baseNetwork: "viacoin",
messagePrefix: '\x18Viacoin Signed Message:\n',
bech32: 'viacoin',
@@ -419,7 +557,7 @@ bitcoinjs.bitcoin.networks.viacoin.p2wpkhInP2sh = {
wif: 0xc7
};
bitcoinjs.bitcoin.networks.dogecointestnet.p2wpkh = {
libs.bitcoin.networks.dogecointestnet.p2wpkh = {
baseNetwork: "dogecointestnet",
messagePrefix: '\x19Dogecoin Signed Message:\n',
bech32: 'dogecointestnet',
@@ -432,7 +570,7 @@ bitcoinjs.bitcoin.networks.dogecointestnet.p2wpkh = {
wif: 0xf1
};
bitcoinjs.bitcoin.networks.dogecointestnet.p2wpkhInP2sh = {
libs.bitcoin.networks.dogecointestnet.p2wpkhInP2sh = {
baseNetwork: "dogecointestnet",
messagePrefix: '\x19Dogecoin Signed Message:\n',
bech32: 'dogecointestnet',
@@ -445,7 +583,7 @@ bitcoinjs.bitcoin.networks.dogecointestnet.p2wpkhInP2sh = {
wif: 0xf1
};
bitcoinjs.bitcoin.networks.dogecointestnet.p2wpkh = {
libs.bitcoin.networks.dogecointestnet.p2wpkh = {
baseNetwork: "dogecointestnet",
messagePrefix: '\x19Dogecoin Signed Message:\n',
bech32: 'dogecointestnet',
@@ -458,7 +596,7 @@ bitcoinjs.bitcoin.networks.dogecointestnet.p2wpkh = {
wif: 0xf1
};
bitcoinjs.bitcoin.networks.dogecointestnet.p2wpkhInP2sh = {
libs.bitcoin.networks.dogecointestnet.p2wpkhInP2sh = {
baseNetwork: "dogecointestnet",
messagePrefix: '\x19Dogecoin Signed Message:\n',
bech32: 'dogecointestnet',
@@ -471,7 +609,7 @@ bitcoinjs.bitcoin.networks.dogecointestnet.p2wpkhInP2sh = {
wif: 0xf1
};
bitcoinjs.bitcoin.networks.litecointestnet.p2wpkh = {
libs.bitcoin.networks.litecointestnet.p2wpkh = {
baseNetwork: "litecointestnet",
messagePrefix: '\x18Litecoin Signed Message:\n',
bech32: 'litecointestnet',
@@ -484,7 +622,7 @@ bitcoinjs.bitcoin.networks.litecointestnet.p2wpkh = {
wif: 0xef
};
bitcoinjs.bitcoin.networks.litecointestnet.p2wpkhInP2sh = {
libs.bitcoin.networks.litecointestnet.p2wpkhInP2sh = {
baseNetwork: "litecointestnet",
messagePrefix: '\x18Litecoin Signed Message:\n',
bech32: 'litecointestnet',
@@ -497,7 +635,7 @@ bitcoinjs.bitcoin.networks.litecointestnet.p2wpkhInP2sh = {
wif: 0xef
};
bitcoinjs.bitcoin.networks.groestlcoin.p2wpkh = {
libs.bitcoin.networks.groestlcoin.p2wpkh = {
baseNetwork: "groestlcoin",
messagePrefix: '\x19GroestlCoin Signed Message:\n',
bech32: 'grs',
@@ -510,7 +648,7 @@ bitcoinjs.bitcoin.networks.groestlcoin.p2wpkh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.groestlcointestnet.p2wpkh = {
libs.bitcoin.networks.groestlcointestnet.p2wpkh = {
baseNetwork: "groestlcointestnet",
messagePrefix: '\x19GroestlCoin Signed Message:\n',
bech32: 'tgrs',
@@ -523,7 +661,7 @@ bitcoinjs.bitcoin.networks.groestlcointestnet.p2wpkh = {
wif: 0xef
};
bitcoinjs.bitcoin.networks.groestlcoin.p2wpkhInP2sh = {
libs.bitcoin.networks.groestlcoin.p2wpkhInP2sh = {
baseNetwork: "groestlcoin",
messagePrefix: '\x19GroestlCoin Signed Message:\n',
bech32: 'grs',
@@ -536,7 +674,7 @@ bitcoinjs.bitcoin.networks.groestlcoin.p2wpkhInP2sh = {
wif: 0x80,
};
bitcoinjs.bitcoin.networks.groestlcointestnet.p2wpkhInP2sh = {
libs.bitcoin.networks.groestlcointestnet.p2wpkhInP2sh = {
baseNetwork: "groestlcointestnet",
messagePrefix: '\x19GroestlCoin Signed Message:\n',
bech32: 'tgrs',
@@ -549,4 +687,82 @@ bitcoinjs.bitcoin.networks.groestlcointestnet.p2wpkhInP2sh = {
wif: 0xef
};
libs.bitcoin.networks.deeponion.p2wpkh = {
baseNetwork: "deeponion",
messagePrefix: '\x18DeepOnion Signed Message:\n',
bech32: 'dpn',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x1f,
scriptHash: 0x4e,
wif: 0x9f
};
libs.bitcoin.networks.deeponion.p2wpkhInP2sh = {
baseNetwork: "deeponion",
messagePrefix: '\x18DeepOnion Signed Message:\n',
bech32: 'dpn',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x1f,
scriptHash: 0x4e,
wif: 0x9f
};
libs.bitcoin.networks.sugarchain.p2wpkh = {
baseNetwork: "sugarchain",
messagePrefix: '\x1DSugarchain Signed Message:\n',
bech32: 'sugar',
bip32: {
public: 0x04b24746,
private: 0x04b2430c
},
pubKeyHash: 0x3f,
scriptHash: 0x7d,
wif: 0x80
};
libs.bitcoin.networks.sugarchain.p2wpkhInP2sh = {
baseNetwork: "sugarchain",
messagePrefix: '\x1DSugarchain Signed Message:\n',
bech32: 'sugar',
bip32: {
public: 0x049d7cb2,
private: 0x049d7878
},
pubKeyHash: 0x3f,
scriptHash: 0x7d,
wif: 0x80
};
libs.bitcoin.networks.sugarchaintestnet.p2wpkh = {
baseNetwork: "sugarchaintestnet",
messagePrefix: '\x18Sugarchain Signed Message:\n',
bech32: 'tugar',
bip32: {
public: 0x045f1cf6,
private: 0x045f18bc
},
pubKeyHash: 0x42,
scriptHash: 0x80,
wif: 0xef
};
libs.bitcoin.networks.sugarchaintestnet.p2wpkhInP2sh = {
baseNetwork: "sugarchaintestnet",
messagePrefix: '\x18Sugarchain Signed Message:\n',
bech32: 'tugar',
bip32: {
public: 0x044a5262,
private: 0x044a4e28
},
pubKeyHash: 0x42,
scriptHash: 0x80,
wif: 0xef
};
})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

14
src/js/wordlist_czech.js Normal file

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

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")],
};

File diff suppressed because it is too large Load Diff

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=