Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
160d97c19b
|
||
|
|
c7c23b7958
|
||
|
|
2d6a9ad1b3
|
||
|
|
18105d3ced
|
||
|
|
f2a1ab3a72
|
||
|
|
ec1399f3f3
|
||
|
|
1d667d4dc0 | ||
|
|
c60975d532 | ||
|
|
816d22019b | ||
|
|
ddca14ece2 | ||
|
|
f5e26741da | ||
|
|
c5ab15118d | ||
|
|
2e00b6e4e4 | ||
|
|
8b483c6a1a | ||
|
|
1339b6291b | ||
|
|
0b69a66b73 | ||
|
|
ccb870aec2 | ||
|
|
73221469a3 | ||
|
|
95fccdfc30 | ||
|
|
078133bc5a | ||
|
|
c2c4b1a89a | ||
|
|
f52e4e5096 | ||
|
|
292cb319c3 | ||
|
|
c16d40d3b7 | ||
|
|
9dd1a86b19 | ||
|
|
e9dea3bb8a | ||
|
|
b1f6ca7b95 | ||
|
|
06449c3ecb | ||
|
|
62f6cb363e | ||
|
|
062d88d9a6 | ||
|
|
9697a311cc | ||
|
|
f125830e2c | ||
|
|
4b5d6b7205 | ||
|
|
c92ff8e3c7 | ||
|
|
d974af4c00 | ||
|
|
50eb62c6dc | ||
|
|
ae0d6235f9 | ||
|
|
76e1273188 | ||
|
|
15c05ebecb | ||
|
|
6d6ca2326f | ||
|
|
5a96a6a9bc | ||
|
|
73e6fcf492 | ||
|
|
60bd0a908b | ||
|
|
0ee31f4005 | ||
|
|
9a99507b98 | ||
|
|
2b2ec1c6af | ||
|
|
e16ef30a07 | ||
|
|
f3e23345a5 | ||
|
|
61d7383408 | ||
|
|
54a6be04ca | ||
|
|
86fb5edec7 | ||
|
|
d5ab7e64aa | ||
|
|
421ccb322a | ||
|
|
648c379c28 | ||
|
|
8541e93c8d | ||
|
|
d94ab0f523 | ||
|
|
9ceb37eacf | ||
|
|
9bab143e63 | ||
|
|
2071d3a7d8 | ||
|
|
36a18e7621 | ||
|
|
41c35eaa37 | ||
|
|
090ed57255 | ||
|
|
905ef46b1f | ||
|
|
2022f0e3ec | ||
|
|
1a6fde78fd | ||
|
|
4dc82926f2 | ||
|
|
2c3566cad5 | ||
|
|
146f63fd96 | ||
|
|
12a496bf7b | ||
|
|
9c4f3b204b | ||
|
|
5a8666ca0d | ||
|
|
2e4eaf5c08 | ||
|
|
882984d2b3 | ||
|
|
3fde3865d5 | ||
|
|
aa3b0e806a | ||
|
|
14ca62de7a | ||
|
|
d9ffc2e697 | ||
|
|
0986382e72 | ||
|
|
caa0ceea23 | ||
|
|
0b6c1028a7 | ||
|
|
0a8c410387 | ||
|
|
80a19f1797 | ||
|
|
a2bfdaaacc | ||
|
|
97a288dbe0 | ||
|
|
4f5a7d01fd | ||
|
|
34a0e5a4cc | ||
|
|
066f9445b4 | ||
|
|
3bf9a3091b | ||
|
|
146f6ff5d7 | ||
|
|
7faab2b89f | ||
|
|
f4281ec6d9 | ||
|
|
f46de4a524 | ||
|
|
69e99c95bc | ||
|
|
3befcc2e69 | ||
|
|
e5a2337a14 | ||
|
|
8410d5062e | ||
|
|
defe24c202 | ||
|
|
b5713564f6 | ||
|
|
ec861d8314 | ||
|
|
def96e5862 | ||
|
|
45f4619995 | ||
|
|
16ca4b0233 | ||
|
|
43b5831e87 | ||
|
|
4952af75b0 | ||
|
|
41bab9b8c9 | ||
|
|
9fd024b4d8 | ||
|
|
8d05c67577 | ||
|
|
61a28eb333 | ||
|
|
9930b83e87 | ||
|
|
616b5d945c | ||
|
|
b81fc14777 | ||
|
|
7d252ec039 | ||
|
|
3c890a3e59 | ||
|
|
f08670ba14 | ||
|
|
62f86ab9d8 | ||
|
|
5cc4d12685 | ||
|
|
04c00c675f | ||
|
|
482dcc0ddf | ||
|
|
37f22ae0de | ||
|
|
940bbdf949 | ||
|
|
0f03a8c2bf | ||
|
|
b61b7f25b8 | ||
|
|
f887590fec | ||
|
|
f3473159ac | ||
|
|
248a5c2208 | ||
|
|
7e98a6727d | ||
|
|
4724ddee1f | ||
|
|
06c2fe0463 | ||
|
|
31c6e597ea | ||
|
|
0a70f8b412 | ||
|
|
a694afc240 | ||
|
|
c77e8d3c4a | ||
|
|
7511d4c27f | ||
|
|
66d0d632df | ||
|
|
76e77cfc2e | ||
|
|
91f8cddb3c | ||
|
|
254409f486 | ||
|
|
607abcbd86 | ||
|
|
b2126c3db6 | ||
|
|
3313bd38ca | ||
|
|
062f9f37f7 | ||
|
|
143cce1cb8 | ||
|
|
9ec68688d6 | ||
|
|
6670bf75f6 | ||
|
|
d2029bdf5b | ||
|
|
64c4abe645 | ||
|
|
c3b826c3a4 | ||
|
|
90a87ebb5b | ||
|
|
3937b36260 | ||
|
|
8557dfd53a | ||
|
|
aef29db995 | ||
|
|
8d762218b4 | ||
|
|
63be1a965b | ||
|
|
0837376d00 | ||
|
|
1fbb4d67bb | ||
|
|
dd83ad69a9 | ||
|
|
ff73cc86fb | ||
|
|
c93438754f | ||
|
|
3b542acc47 | ||
|
|
473b455373 | ||
|
|
4ecdd4d803 | ||
|
|
9a67ff2fc1 | ||
|
|
eebe754c92 | ||
|
|
f285f2ff58 | ||
|
|
cf28882540 | ||
|
|
fc08babdaf | ||
|
|
666fc8f702 | ||
|
|
d2a28ca315 | ||
|
|
67e867a72e | ||
|
|
abe4e5b340 | ||
|
|
a5fdaf1f1c | ||
|
|
3b7b85e835 | ||
|
|
6119c57d46 | ||
|
|
6279b3b926 | ||
|
|
50b4e2bd07 | ||
|
|
252a8a8554 | ||
|
|
83fd6ad0c0 | ||
|
|
420f8f095b | ||
|
|
8a3ee3588d | ||
|
|
62e5e5e23e | ||
|
|
a456a4c9df | ||
|
|
9a9c1f50ee | ||
|
|
7ad8333f2e | ||
|
|
ec99102a78 | ||
|
|
36c7da623b | ||
|
|
7bb148eea9 | ||
|
|
ee039545be | ||
|
|
e15651ac9c | ||
|
|
f92e276a0d | ||
|
|
a51ef7bccc | ||
|
|
bf8a295d64 | ||
|
|
d2bbf6bb0e | ||
|
|
60cc5fbd4b | ||
|
|
dae851297b | ||
|
|
fa9eef757a | ||
|
|
84c36c5c68 | ||
|
|
4a71023452 | ||
|
|
359230bfb3 | ||
|
|
19fa38e441 | ||
|
|
e6105e19a5 | ||
|
|
e8b9f2aafc | ||
|
|
bcdd6e42ec | ||
|
|
b14dc3bcc3 | ||
|
|
798a9fb453 | ||
|
|
c81c08271b | ||
|
|
0957599bdb | ||
|
|
4ec2f6730b | ||
|
|
701439d6bc | ||
|
|
cade4a9051 | ||
|
|
d4bec36fa7 | ||
|
|
b83073f588 | ||
|
|
f36a80ad8b | ||
|
|
e2f16b8e2e | ||
|
|
8470b347a4 | ||
|
|
24f1cf7e17 | ||
|
|
aac0aa43d0 | ||
|
|
2c5db364ba | ||
|
|
bbf77d7b84 | ||
|
|
3250187fbb | ||
|
|
e3168c8231 | ||
|
|
6d98c56e7a | ||
|
|
bf986c079f | ||
|
|
f0d21fa985 | ||
|
|
aad690bfda | ||
|
|
6e30befa0f | ||
|
|
4217c67acd | ||
|
|
b181da4919 | ||
|
|
6907d0c30a | ||
|
|
22c8d7ac0c | ||
|
|
a3a918b2cb | ||
|
|
656be6550a | ||
|
|
fa8697331b | ||
|
|
e392d52924 | ||
|
|
975b0a9fa2 | ||
|
|
8bd9b7b908 | ||
|
|
1a230f95f6 | ||
|
|
c1b3cc87ee | ||
|
|
e1f96f1fcf | ||
|
|
45b330aa90 | ||
|
|
172051cedc | ||
|
|
0310baa9ee | ||
|
|
78029388e5 | ||
|
|
b9b1b296a3 | ||
|
|
32086c0fc7 | ||
|
|
01d7661a5f | ||
|
|
6e97f75824 | ||
|
|
86281dca3a | ||
|
|
faed5b1474 | ||
|
|
0e0de28da4 | ||
|
|
2e99e0154f | ||
|
|
0cbf187979 | ||
|
|
0aee857525 | ||
|
|
306f30d2b5 | ||
|
|
2259e05088 | ||
|
|
581a360226 | ||
|
|
a3b5206107 | ||
|
|
dcef4deb2a | ||
|
|
6629fc6a11 | ||
|
|
0173205f4b | ||
|
|
001793c937 | ||
|
|
583f3416a6 | ||
|
|
7913cfda05 | ||
|
|
9b7f4bf62f | ||
|
|
9b3785b8f6 | ||
|
|
83c21fc185 | ||
|
|
4baccadf26 | ||
|
|
e83da1449d | ||
|
|
c488094732 | ||
|
|
c25fefa16f | ||
|
|
6ff0fd7e9b | ||
|
|
864efca1e6 | ||
|
|
4d2fe495ed | ||
|
|
067b93477c | ||
|
|
36c2e538cb | ||
|
|
08379c6966 | ||
|
|
5b17f06915 | ||
|
|
b0355e13d0 | ||
|
|
71f13181bc | ||
|
|
f2177b4acf | ||
|
|
8c2802d5b7 | ||
|
|
40fa4d5731 | ||
|
|
b6c628b6bd | ||
|
|
a0ddcdbbce | ||
|
|
e3f329b515 | ||
|
|
3268961060 | ||
|
|
11926fc451 | ||
|
|
0e6205b43c | ||
|
|
0c413f3fb9 | ||
|
|
d607b04680 | ||
|
|
a52022cc56 | ||
|
|
2b06c33819 | ||
|
|
285f600753 | ||
|
|
c2cbde844e | ||
|
|
7fa98ef5a1 | ||
|
|
9b4845a6d4 | ||
|
|
94aa5cdc38 | ||
|
|
906f520b60 | ||
|
|
b8c2d1a838 | ||
|
|
5d9f10451c | ||
|
|
d845f4177d | ||
|
|
2ad5de6208 | ||
|
|
b0b8424c11 | ||
|
|
7f418f77e1 | ||
|
|
02a0ea3d7d | ||
|
|
cd074efa3b | ||
|
|
1e4d1087d2 | ||
|
|
0a23f2aa4b | ||
|
|
7963a50fa7 | ||
|
|
4c319f5467 | ||
|
|
294aae12b4 | ||
|
|
e68bc5f550 | ||
|
|
1b3b04e087 | ||
|
|
7d9fb90711 | ||
|
|
b54f95c287 | ||
|
|
eb76cd0dc4 | ||
|
|
39d76709d3 | ||
|
|
74304ed1d0 | ||
|
|
afe5ba619e | ||
|
|
fdf756d56b | ||
|
|
9157617048 | ||
|
|
4ecf6482d2 | ||
|
|
5d2444c232 | ||
|
|
14d661a42c | ||
|
|
253c17a24b | ||
|
|
6a804535e6 | ||
|
|
e0d75e1237 | ||
|
|
57d9576790 | ||
|
|
72e31ec8da | ||
|
|
6bcc9de004 | ||
|
|
e141b02e00 | ||
|
|
65320a36d1 | ||
|
|
6b5b09464c | ||
|
|
2f0f56ea70 | ||
|
|
a307306cf6 | ||
|
|
88f51bd262 | ||
|
|
eb14742dfc | ||
|
|
de51c90a23 | ||
|
|
9f2bfabaac | ||
|
|
0ecb8093a5 | ||
|
|
2f8276b04c | ||
|
|
1752b051cd | ||
|
|
4d73b5e9c2 | ||
|
|
fda1826308 | ||
|
|
c66e4a3bf4 | ||
|
|
9adae7c2bf | ||
|
|
4f20237240 | ||
|
|
a7a3a559ea | ||
|
|
a7228422e4 | ||
|
|
6a13c62eab | ||
|
|
874a7f17ff | ||
|
|
b008094f30 | ||
|
|
5396b8f73f | ||
|
|
96b0470ee7 | ||
|
|
0a5bea1d4a | ||
|
|
573f92f00d | ||
|
|
d0bac4cfb1 | ||
|
|
e00e1b8d6d | ||
|
|
9705f1de4a | ||
|
|
bd849e317a | ||
|
|
69754474f2 | ||
|
|
994fdeed5d | ||
|
|
e1b7f8cdcd | ||
|
|
0b2e8e1bbe | ||
|
|
951a745d0f | ||
|
|
c9afdacb89 | ||
|
|
f909cf9bbf | ||
|
|
a1ea61688e | ||
|
|
a3b0e3607f | ||
|
|
c802f71617 | ||
|
|
525ace3f52 | ||
|
|
42f1b3a6c3 |
@@ -1 +0,0 @@
|
||||
2.6.2
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
2
|
||||
0.57.20.57.3
|
||||
0.66.2
|
||||
0.66.3
|
||||
0.71.2
|
||||
0.71.3
|
||||
|
||||
0.84.2
|
||||
0.84.3
|
||||
0.85.2
|
||||
0.85.3
|
||||
0.85.4
|
||||
0.85.5
|
||||
0.86.2
|
||||
0.86.3
|
||||
0.86.4
|
||||
0.86.5
|
||||
0.86.6
|
||||
0.86.7
|
||||
0.87.2
|
||||
0.87.3
|
||||
0.87.4
|
||||
0.87.5
|
||||
0.87.6
|
||||
0.87.7
|
||||
0.89.2
|
||||
0.89.3
|
||||
2.6.2
|
||||
@@ -1,17 +0,0 @@
|
||||
checks:
|
||||
argument-count:
|
||||
config:
|
||||
threshold: 5
|
||||
method-complexity:
|
||||
config:
|
||||
threshold: 7
|
||||
method-count:
|
||||
config:
|
||||
threshold: 25
|
||||
method-lines:
|
||||
config:
|
||||
threshold: 30
|
||||
|
||||
exclude_patterns:
|
||||
- "**/*.spec.js"
|
||||
- "**/*.spec.ts"
|
||||
@@ -1,19 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/ui authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const base = require('@polkadot/dev/config/eslint.cjs');
|
||||
|
||||
module.exports = {
|
||||
...base,
|
||||
ignorePatterns: [
|
||||
...base.ignorePatterns,
|
||||
'jest/**/*',
|
||||
'**/*.d.ts'
|
||||
],
|
||||
parserOptions: {
|
||||
...base.parserOptions,
|
||||
project: [
|
||||
'./tsconfig.eslint.json'
|
||||
]
|
||||
}
|
||||
};
|
||||
+49
-13
@@ -1,50 +1,86 @@
|
||||
<!--
|
||||
|
||||
For general support, howto, coding and bundling questions, please use the Substrate & Polkadot StackExchange at https://substrate.stackexchange.com/ and get other ecosystem developers involved. This issues in this repository are meant for the tracking of feature requests and bug reports.
|
||||
For general support, howto, coding and bundling questions, please
|
||||
use the Substrate & Polkadot StackExchange at
|
||||
|
||||
While all issues are looked at non-bug and non-features would take quite a bit longer to get to and may yield less than satisfactory responses in this format.
|
||||
https://substrate.stackexchange.com/
|
||||
|
||||
Additionally, please ensure you have done a search on the existing and closed issues before logging a new request. This saves time on all sides.
|
||||
and get other ecosystem developers involved. This issues in this
|
||||
repository are meant for the tracking of feature requests and bug
|
||||
reports.
|
||||
|
||||
While all issues are looked at non-bug and non-features would take
|
||||
quite a bit longer to get to and may yield less than satisfactory
|
||||
responses in this format.
|
||||
|
||||
Additionally, please ensure you have done a search on the existing
|
||||
and closed issues before logging a new request. This saves time on
|
||||
all sides.
|
||||
|
||||
-->
|
||||
|
||||
|
||||
* **I'm submitting a ...**
|
||||
|
||||
<!--- Try and classify your actual report -->
|
||||
<!---
|
||||
|
||||
REQUIRED:
|
||||
|
||||
Classify the type of report your are submitting
|
||||
|
||||
-->
|
||||
|
||||
- [ ] Bug report
|
||||
- [ ] Feature request
|
||||
- [ ] Support request (please bear the comments above in mind)
|
||||
- [ ] Support request
|
||||
- [ ] Other
|
||||
|
||||
|
||||
* **What is the current behavior and expected behavior?**
|
||||
|
||||
<!--- If you're describing a bug, tell us what should happen -->
|
||||
<!--- If you're suggesting a change/improvement, tell us how it should work -->
|
||||
<!---
|
||||
|
||||
REQUIRED:
|
||||
|
||||
If you're describing a bug, tell us what should happen. If you're
|
||||
suggesting a change/improvement, tell us how it should work.
|
||||
|
||||
-->
|
||||
|
||||
|
||||
* **What is the motivation for changing the behavior?**
|
||||
|
||||
<!--- Not obligatory, but suggest a motivation for the request -->
|
||||
<!--- or ideas how to implement the addition or change -->
|
||||
<!---
|
||||
|
||||
OPTIONAL:
|
||||
|
||||
Suggest a motivation for the request or ideas how to implement the
|
||||
addition or change
|
||||
|
||||
-->
|
||||
|
||||
|
||||
* **Please tell us about your environment:**
|
||||
|
||||
<!--- Include as many relevant details about the environment you experienced the issue in -->
|
||||
<!--- Also snsure that you have tested against the latest stable releases if a bug -->
|
||||
<!---
|
||||
|
||||
REQUIRED:
|
||||
|
||||
Include as many relevant details about the environment in which you
|
||||
experienced the issue. Also ensure that you have tested against the
|
||||
latest stable releases if you believe this to be a bug
|
||||
|
||||
-->
|
||||
|
||||
- Version:
|
||||
- Environment:
|
||||
|
||||
- [ ] Node.js
|
||||
- [ ] Browser
|
||||
- [ ] Other (limited support for other environments available)
|
||||
- [ ] Other (limited support for other environments)
|
||||
|
||||
- Language:
|
||||
|
||||
- [ ] JavaScript
|
||||
- [ ] TypeScript
|
||||
- [ ] TypeScript (include tsc --version)
|
||||
- [ ] Other
|
||||
|
||||
@@ -9,8 +9,8 @@ jobs:
|
||||
if: "! startsWith(github.event.head_commit.message, '[CI Skip]') && (!github.event.pull_request || github.event.pull_request.head.repo.full_name == github.repository)"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: jacogr/action-approve@master
|
||||
- uses: jacogr/action-approve@795afd1dd096a2071d7ec98740661af4e853b7da
|
||||
with:
|
||||
authors: jacogr
|
||||
authors: jacogr, TarikGul
|
||||
labels: -auto
|
||||
token: ${{ secrets.GH_PAT_BOT }}
|
||||
|
||||
@@ -8,9 +8,9 @@ jobs:
|
||||
merge:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: jacogr/action-merge@master
|
||||
- uses: jacogr/action-merge@d2d64b4545acd93b0a9575177d3d215ae3f92029
|
||||
with:
|
||||
checks: build,lint,test
|
||||
checks: pr (build),pr (lint),pr (test)
|
||||
labels: -auto
|
||||
strategy: squash
|
||||
token: ${{ secrets.GH_PAT_BOT }}
|
||||
|
||||
@@ -10,16 +10,16 @@ jobs:
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v2
|
||||
- uses: dessant/lock-threads@c1b35aecc5cdb1a34539d14196df55838bb2f836
|
||||
with:
|
||||
github-token: ${{ secrets.GH_PAT_BOT }}
|
||||
issue-lock-inactive-days: '7'
|
||||
issue-lock-comment: >
|
||||
issue-inactive-days: '7'
|
||||
issue-comment: >
|
||||
This thread has been automatically locked since there has not been
|
||||
any recent activity after it was closed. Please open a new issue
|
||||
if you think you have a related problem or query.
|
||||
pr-lock-inactive-days: '2'
|
||||
pr-lock-comment: >
|
||||
pr-inactive-days: '2'
|
||||
pr-comment: >
|
||||
This pull request has been automatically locked since there
|
||||
has not been any recent activity after it was closed.
|
||||
Please open a new issue for related bugs.
|
||||
|
||||
@@ -3,16 +3,19 @@ on: [pull_request]
|
||||
|
||||
jobs:
|
||||
pr:
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
step: ['lint', 'test', 'build']
|
||||
name: ${{ matrix.step }}
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
- name: ${{ matrix.step }}
|
||||
run: |
|
||||
yarn install --immutable | grep -v 'YN0013'
|
||||
yarn install --immutable
|
||||
yarn ${{ matrix.step }}
|
||||
|
||||
@@ -10,20 +10,22 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
step: ['build:release']
|
||||
name: ${{ matrix.step }}
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
||||
GH_PAT: ${{ secrets.GH_PAT }}
|
||||
GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT }}
|
||||
GH_PAT: ${{ secrets.GH_PAT_BOT }}
|
||||
GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT_BOT }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.GH_PAT }}
|
||||
token: ${{ secrets.GH_PAT_BOT }}
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
- name: ${{ matrix.step }}
|
||||
run: |
|
||||
yarn install --immutable | grep -v 'YN0013'
|
||||
yarn install --immutable
|
||||
yarn ${{ matrix.step }}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
name: Semgrep
|
||||
on:
|
||||
pull_request: {}
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
check:
|
||||
if: "! startsWith(github.event.head_commit.message, '[CI Skip]') && (!github.event.pull_request || github.event.pull_request.head.repo.full_name == github.repository)"
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: returntocorp/semgrep-action@v1
|
||||
with:
|
||||
auditOn: push
|
||||
publishToken: ${{ secrets.SEMGREP_APP_TOKEN }}
|
||||
publishDeployment: 1395
|
||||
@@ -1,19 +0,0 @@
|
||||
name: 'Close stale issues and PRs'
|
||||
on:
|
||||
schedule:
|
||||
- cron: '40 2/3 * * *'
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
steps:
|
||||
- uses: actions/stale@v3
|
||||
with:
|
||||
repo-token: ${{ secrets.GH_PAT_BOT }}
|
||||
stale-issue-message: 'This issue has been open for 21 days with no activity and is not labelled as an enhancement. It will be closed in 7 days.'
|
||||
stale-issue-label: 'stale'
|
||||
exempt-issue-labels: '-size-l,-size-m,-size-s,-size-xl,-size-xs,[bug]'
|
||||
days-before-stale: 21
|
||||
days-before-close: 7
|
||||
+1
-3
@@ -1,7 +1,5 @@
|
||||
build/
|
||||
build-cjs/
|
||||
build-esm/
|
||||
build-docs/
|
||||
build-*/
|
||||
coverage/
|
||||
node_modules/
|
||||
tmp/
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2022 @polkadot/ui authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
module.exports = require('@polkadot/dev/config/prettier.cjs');
|
||||
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"eslint.enable": true,
|
||||
"eslint.experimental.useFlatConfig": true
|
||||
}
|
||||
-363
File diff suppressed because one or more lines are too long
-550
File diff suppressed because one or more lines are too long
Vendored
-785
File diff suppressed because one or more lines are too long
+934
File diff suppressed because one or more lines are too long
+16
-6
@@ -1,13 +1,23 @@
|
||||
compressionLevel: mixed
|
||||
|
||||
enableGlobalCache: false
|
||||
|
||||
enableImmutableInstalls: false
|
||||
|
||||
enableProgressBars: false
|
||||
|
||||
logFilters:
|
||||
- code: YN0013
|
||||
level: discard
|
||||
|
||||
nodeLinker: node-modules
|
||||
|
||||
plugins:
|
||||
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
|
||||
spec: "@yarnpkg/plugin-interactive-tools"
|
||||
- path: .yarn/plugins/@yarnpkg/plugin-version.cjs
|
||||
spec: "@yarnpkg/plugin-version"
|
||||
yarnPath: .yarn/releases/yarn-4.5.1.cjs
|
||||
|
||||
yarnPath: .yarn/releases/yarn-3.2.0.cjs
|
||||
# @quantus packages come from the Gitea registry — safe as a whole-scope route
|
||||
# because we own every name in it. The forked @polkadot packages cannot be routed
|
||||
# the same way (most of that scope is unforked and lives on npm), so they are
|
||||
# pinned to tarball URLs in package.json resolutions instead.
|
||||
npmScopes:
|
||||
quantus:
|
||||
npmRegistryServer: "https://git.lair.cafe/api/packages/quantus/npm/"
|
||||
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
# Bounties
|
||||
|
||||
From time-to-time we will add bounties for features.
|
||||
|
||||
These are generously provided by the [Web3 Foundation](https://web3.foundation/) and as such employees of Parity or those of the W3F are ineligible for them. (This includes people being by either Party for development or community work, related or un-related to polkadot-js).
|
||||
|
||||
The idea is that these bounties should be left open to community participation, so only if there is no outside interest for a specific issue, should those directly or indirectly paid by the W3F for work, attempt to close an issue. (in which case it will be "un-bountied")
|
||||
|
||||
Current bounties are tracked by the [!bounty](https://github.com/polkadot-js/ui/labels/%21bounty) label.
|
||||
|
||||
## Process
|
||||
|
||||
Once listed, the normal [Gitcoin](https://gitcoin.co/) process kicks in. This means application, work and payment is managed by this tool. The values for bounties are determined by the size estimation done by the team.
|
||||
|
||||
## Some small requests
|
||||
|
||||
Please don't start work on an issue until you have been approved via the gitcoin interface. We generally love enthusiasm and code in the repo, however short-cutting the process does create some issues for the management of the bounties. We certainly don't want to be playing favorites if 2 PRs for the same issue are created at the same time. And in cases where somebody else has been approved and an unapproved PR comes in... well, it gets really murky.
|
||||
|
||||
When making changes, please do not force push in your PRs, especially not after a review has been started. We will clone your repo and work from that, doing a simple `pull` on a force-pushed branch ends up being, well, less than simple. We squash merge all PRs, so you do not clutter up the history by using stock-standard pushes to your branch.
|
||||
+506
@@ -1,5 +1,511 @@
|
||||
# CHANGELOG
|
||||
|
||||
## 3.16.7 Mar 25, 2026
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump common to 14.0.3 ([#860](https://github.com/polkadot-js/ui/pull/860))
|
||||
- Set headers for 2026 ([#859](https://github.com/polkadot-js/ui/pull/859))
|
||||
|
||||
|
||||
## 3.16.6 Dec 10, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgraded polkadot-js dependencies ([#855](https://github.com/polkadot-js/ui/pull/855))
|
||||
|
||||
|
||||
## 3.16.5 Dec 10, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgraded polkadot-js dependencies ([#855](https://github.com/polkadot-js/ui/pull/855))
|
||||
|
||||
|
||||
## 3.16.4 Nov 25, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgraded polkadot-js dependencies ([#853](https://github.com/polkadot-js/ui/pull/853))
|
||||
|
||||
|
||||
## 3.16.3 Nov 12, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgraded polkadot-js dependencies ([#850](https://github.com/polkadot-js/ui/pull/850))
|
||||
|
||||
|
||||
## 3.16.2 Oct 22, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgraded polkadot-js dependencies ([#848](https://github.com/polkadot-js/ui/pull/848))
|
||||
|
||||
|
||||
## 3.16.1 Aug 27, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- 3.15.5 ([#846](https://github.com/polkadot-js/ui/pull/846))
|
||||
- Upgraded polkadot deps ([#845](https://github.com/polkadot-js/ui/pull/845))
|
||||
|
||||
|
||||
## 3.15.4 Aug 13, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgraded polkadot deps ([#843](https://github.com/polkadot-js/ui/pull/843))
|
||||
|
||||
|
||||
## 3.15.3 July 30, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Update Beachball.tsx to remove duplication in strict mode ([#840](https://github.com/polkadot-js/ui/pull/840))
|
||||
- Bump polkadot deps ([#841](https://github.com/polkadot-js/ui/pull/841))
|
||||
|
||||
|
||||
## 3.15.2 July 2, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgraded polkadot deps ([#838](https://github.com/polkadot-js/ui/pull/838))
|
||||
|
||||
|
||||
## 3.15.1 Jun 18, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgraded polkadot deps ([#831](https://github.com/polkadot-js/ui/pull/831))
|
||||
|
||||
|
||||
## 3.14.1 May 23, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Add the type field to external keypair accounts ([#833](https://github.com/polkadot-js/ui/pull/833))
|
||||
- Upgrade polkadot-js/common to 13.5.1 ([#834](https://github.com/polkadot-js/ui/pull/834))
|
||||
|
||||
|
||||
## 3.13.1 Apr 16, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Add key validation for FileStore ([#830](https://github.com/polkadot-js/ui/pull/830))
|
||||
- Upgraded polkadot deps ([#831](https://github.com/polkadot-js/ui/pull/831))
|
||||
|
||||
|
||||
## 3.12.2 Feb 18, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump dev to v0.83.2 ([#827](https://github.com/polkadot-js/ui/pull/827))
|
||||
- Bump common to v13.4.3 ([#828](https://github.com/polkadot-js/ui/pull/828))
|
||||
|
||||
|
||||
## 3.12.1 Jan 8, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgrade common to 13.3.1 ([#824](https://github.com/polkadot-js/ui/pull/824))
|
||||
- Bump dev w/ ts ([#823](https://github.com/polkadot-js/ui/pull/823))
|
||||
- Update headers to 2025 ([#822](https://github.com/polkadot-js/ui/pull/822))
|
||||
|
||||
|
||||
## 3.11.3 Nov 12, 2024
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgrade polkadot/common to 13.2.3 ([817](https://github.com/polkadot-js/ui/pull/#))
|
||||
- Bump dev to 0.82.1 w/ tslib ([#816](https://github.com/polkadot-js/ui/pull/816))
|
||||
|
||||
|
||||
## 3.11.2 Oct 30, 2024
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgrade polkadot/common to 13.2.2 ([#814](https://github.com/polkadot-js/ui/pull/814))
|
||||
|
||||
|
||||
## 3.11.1 Oct 23, 2024
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgrade polkadot/common to 13.2.1 ([#811](https://github.com/polkadot-js/ui/pull/811))
|
||||
- Bump yarn to 4.5.1 ([#812](https://github.com/polkadot-js/ui/pull/812))
|
||||
- Bump dev 0.81.2 ([#810](https://github.com/polkadot-js/ui/pull/810))
|
||||
- Correctly exports CJS and ESM
|
||||
|
||||
|
||||
## 3.10.1 Sep 20, 2024
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgrade polkadot/common to 13.1.1 ([#808](https://github.com/polkadot-js/ui/pull/808))
|
||||
- Bump yarn to 4.4.0 ([#806](https://github.com/polkadot-js/ui/pull/806))
|
||||
|
||||
|
||||
## 3.9.1 Aug 13, 2024
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgrade @polkadot/dev to 0.79.3 ([#803](https://github.com/polkadot-js/ui/pull/803))
|
||||
- Add chainSpecific option for ledger ([#804](https://github.com/polkadot-js/ui/pull/804))
|
||||
|
||||
|
||||
## 3.8.3 July 31, 2024
|
||||
|
||||
Changes:
|
||||
|
||||
- Fix Qr Scanner (Thanks to https://github.com/ryanleecode)
|
||||
|
||||
|
||||
## 3.8.2 July 22, 2024
|
||||
|
||||
Changes:
|
||||
|
||||
- Fix ledgerApp bug, and remove legacy
|
||||
|
||||
|
||||
## 3.8.1 July 22, 2024
|
||||
|
||||
Changes:
|
||||
|
||||
- Add new ledger app settings
|
||||
|
||||
|
||||
## 3.7.1 July 13, 2024
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgrade polkadot/common 13.0.2
|
||||
- Bump yarn to 4.3.1
|
||||
|
||||
|
||||
## 3.6.6 Apr 17, 2024
|
||||
|
||||
Contributed:
|
||||
|
||||
- Add compatibility layer for H160 addresses (Thanks to https://github.com/vikiival)
|
||||
|
||||
Changes:
|
||||
|
||||
- Update ci checkout and setup_node to v4
|
||||
- Bump yarn to 4.1.1
|
||||
|
||||
|
||||
## 3.6.5 Feb 28, 2024
|
||||
|
||||
Changes
|
||||
|
||||
- Bump to `@polkadot/util` 12.6.2
|
||||
- Bump to `react-native-svg` 14.1.0
|
||||
- Adjust `Vue` peerDependency, >= 2.7 for defineComponent
|
||||
|
||||
|
||||
## 3.6.4 Nov 18, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.6.1
|
||||
|
||||
|
||||
## 3.6.3 Sep 15, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.5.1
|
||||
|
||||
|
||||
## 3.6.2 Aug 23, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.4.2
|
||||
|
||||
|
||||
## 3.6.1 Aug 21, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Update to latest React `styled-components`
|
||||
- Bump to `@polkadot/util` 12.4.1
|
||||
|
||||
|
||||
## 3.5.1 Jun 11, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Adjust object index access for stricter tsconfig settings
|
||||
- Bump to `@polkadot/util` 12.3.1
|
||||
|
||||
|
||||
## 3.4.2 Jun 5, 2023
|
||||
|
||||
- Bump to `@polkadot/util` 12.2.2
|
||||
|
||||
|
||||
## 3.4.1 May 13, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Add `module` to `package.json` export map (ESM-only)
|
||||
- Bump to `@polkadot/util` 12.2.1
|
||||
|
||||
|
||||
## 3.3.1 May 7, 2023
|
||||
|
||||
Contributed:
|
||||
|
||||
- Adjust `vue-identicon` to be Vue 3 compatible (Thanks to https://github.com/Gavin-Gong)
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.1.2
|
||||
|
||||
|
||||
## 3.2.2 Apr 29, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Add missing `react-is` peer dependency for `styled-components`
|
||||
- Adjust compilation output for `__internal__` class fields
|
||||
- Bump to `@polkadot/util` 12.1.1
|
||||
|
||||
|
||||
## 3.2.1 Apr 22, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.0.1
|
||||
|
||||
|
||||
## 3.1.4 Apr 1, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 11.1.3
|
||||
|
||||
|
||||
## 3.1.3 Mar 25, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Align `eventemitter` version with `@polkadot/api`
|
||||
|
||||
|
||||
## 3.1.2 Mar 25, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Cater for Ethereum-compatible multisig addresses
|
||||
- Bump to `@polkadot/util` 11.1.2
|
||||
|
||||
|
||||
## 3.1.1 Mar 19, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Swap `vue-identitycon` to use `defineComponent` (requires vue 2.7+)
|
||||
- Swap `BeachballIcon` to use `colord` library (ESM + CJS, smaller)
|
||||
- Bump to `@polkadot/util` 11.1.1
|
||||
|
||||
|
||||
## 3.0.2 Mar 11, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Use consistent `.js` imports in source files (TS moduleResolution)
|
||||
- Bump to `@polkadot/util` 11.0.2
|
||||
|
||||
|
||||
## 3.0.1 Mar 5, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Remove `@polkadot/ui-assets` package
|
||||
- Swap TS -> JS compiler to use tsc (from babel)
|
||||
- Adjust all tests to use `node:test` runner (ESM variants)
|
||||
- Bump to `@polkadot/util` 11.0.1
|
||||
|
||||
|
||||
## 2.12.1 Feb 20, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Adjust `styled-components` usage to cater for server-based environments
|
||||
|
||||
|
||||
## 2.11.3 Feb 19, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.4.2
|
||||
|
||||
|
||||
## 2.11.2 Feb 15, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.4.1
|
||||
|
||||
|
||||
## 2.11.1 Jan 28, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Adjust usage of `styled-component` wrappers
|
||||
- Add setting for auto extension metadata upgrades
|
||||
- Bump to `@polkadot/util` 10.3.1
|
||||
|
||||
|
||||
## 2.10.1 Jan 15, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Add setting to allow/disallow in-browser account storage
|
||||
- Bump to `@polkadot/util` 10.2.3
|
||||
|
||||
|
||||
## 2.9.15 Jan 8, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.2.3
|
||||
|
||||
|
||||
## 2.9.14 Dec 5, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.2.1
|
||||
|
||||
|
||||
## 2.9.13 Nov 14, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.12
|
||||
|
||||
|
||||
## 2.9.12 Oct 18, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.11
|
||||
|
||||
|
||||
## 2.9.11 Oct 7, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.10
|
||||
|
||||
|
||||
## 2.9.10 Sep 24, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.9
|
||||
|
||||
|
||||
## 2.9.9 Sep 17, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.8
|
||||
|
||||
|
||||
## 2.9.8 Sep 2, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.7
|
||||
|
||||
|
||||
## 2.9.7 Aug 24, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.6
|
||||
|
||||
|
||||
## 2.9.6 Aug 21, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Use webpack packages from `@polkadot/dev`
|
||||
- Bump to `@polkadot/util` 10.1.5
|
||||
|
||||
|
||||
## 2.9.5 Aug 13, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.4
|
||||
|
||||
|
||||
## 2.9.4 Aug 6, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.3
|
||||
|
||||
|
||||
## 2.9.3 Jul 30, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.2
|
||||
|
||||
|
||||
## 2.9.2 Jul 24, 2022
|
||||
|
||||
Contributed:
|
||||
|
||||
- Adjust vue-identicon with no props/data duplication (Thanks to https://github.com/vikiival)
|
||||
|
||||
|
||||
## 2.9.1 Jul 21, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.1.1
|
||||
|
||||
|
||||
## 2.8.2 Jul 10, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.0.2
|
||||
|
||||
|
||||
## 2.8.1 Jul 9, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 10.0.1
|
||||
|
||||
|
||||
## 2.7.2 Jul 4, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util-crypto` 9.7.2 (w/ `@polkadot/wasm-crypto` 6.2.2)
|
||||
|
||||
|
||||
## 2.7.1 Jul 1, 2022
|
||||
|
||||
Contributed:
|
||||
|
||||
- Remove extra div wrappers in `vue-identicon` (Thanks to https://github.com/dcolley)
|
||||
|
||||
Changes:
|
||||
|
||||
- Upgrade to `@polkadot/{hw-ledger, keyring, util, util-crypto}` 9.7.1
|
||||
|
||||
|
||||
## 2.6.2 Jun 25, 2022
|
||||
|
||||
Changes:
|
||||
|
||||
+11
-1
@@ -1,4 +1,6 @@
|
||||
623 Jaco 2.6.2 (#657)
|
||||
735 Jaco Adjust Vue peerDependency, >= 2.7 for defineComponent (#782)
|
||||
41 Tarik Gul 3.16.7 (#861)
|
||||
22 Arjun Porwal 3.16.6 (#857)
|
||||
7 YJ fix #224: decrease frame size to 1024, set multipart bool (#225)
|
||||
4 Antoine Estienne Refactor logic to better use prefix (#491)
|
||||
4 kwingram25 fix ff api url issue (#289)
|
||||
@@ -8,6 +10,8 @@
|
||||
2 Drew Stone Add Edgeware testnet and mainnet updated endpoints (#274)
|
||||
2 Hanwen Cheng allow qr to scan seed qr (#330)
|
||||
2 Nikos Kontakis Fix undefined process error that may appear when using ui (#524)
|
||||
2 Valentin Fernandez 3.12.2
|
||||
2 Viki Val Add compatibility layer for H160 addresses (#789)
|
||||
2 Vlad Proshchavaiev Add Subsocial to ss58 defaults (#358)
|
||||
2 Xiliang Chen Update UNfrastructure node label (#160)
|
||||
2 雪霁 Batch export patch up (#455)
|
||||
@@ -18,16 +22,22 @@
|
||||
1 Axel Chalon Simplify KeyringAddress interface (#144)
|
||||
1 Cameron Franz react-native example app port (#223)
|
||||
1 carumusan Add kulupu (#342)
|
||||
1 Derek Colley Remove redundant `div` wrappers in vue-identicon (#643)
|
||||
1 Harry Liu Update README.md (#166)
|
||||
1 Jake Naviasky Add Edgeware chain prefix to settings. (#317)
|
||||
1 Jeeyong Um Fix outdated links in README.md (#772)
|
||||
1 Logan Saether Propose W3F node (#188)
|
||||
1 Lovesh Harchandani Allow Ledger support for Dock (#425)
|
||||
1 Luke Schoen Fix typo in heading (#114)
|
||||
1 Nantian fix bigint type (#510)
|
||||
1 Nikhil Ranjan Updated to valid javascript (#271)
|
||||
1 Niklas P Update Beachball.tsx to remove duplication in strict mode (#840)
|
||||
1 omahs Fix: typos (#709)
|
||||
1 Ryan Lee fix: qr-code (#801)
|
||||
1 Shawn Tabrizi Add a new `notification` setting (#498)
|
||||
1 Wei Tang Add Kulupu to the network selection list (#254)
|
||||
1 WoeOm add darwinia ss58 (#379)
|
||||
1 yuhui1208 [Stores] make FileStroe read key safely (#338)
|
||||
1 Yuri Add webpack 5 support (#557)
|
||||
1 Zen feat: adapt Vue 3.x (#755)
|
||||
1 菩提 fix some bugs (#260)
|
||||
@@ -1,10 +1,3 @@
|
||||
[](https://polkadot.js.org)
|
||||

|
||||
[](https://www.npmjs.com/package/@polkadot/react-identicon)
|
||||
[](https://www.npmjs.com/package/@polkadot/react-identicon)
|
||||
[](https://codeclimate.com/github/polkadot-js/ui)
|
||||
[](https://codeclimate.com/github/polkadot-js/ui)
|
||||
|
||||
# @polkadot/ui
|
||||
|
||||
Basic browser and framework agnostic UI components for creating apps using the polkadot{.js} libraries
|
||||
@@ -18,16 +11,8 @@ The following UI components are currently available -
|
||||
- [vue-identicon](packages/vue-identicon/) Vue identity icon generator with address as input
|
||||
- [react-qr](packages/react-qr/) QR code generator/reader for [uos](https://github.com/maciejhirsz/uos) (Substrate/Polkadot only)
|
||||
|
||||
Additionally some shared libraries, that is not dependent on any framework -
|
||||
Additionally some shared libraries, that are not dependent on any framework -
|
||||
|
||||
- [ui-assets](packages/ui-assets/) Static assets, images and others, shared accross projects
|
||||
- [ui-keyring](packages/ui-keyring/) A browser-specific wrapper around the base [@polkadot/util-keyring](https://github.com/polkadot-js/util/) library
|
||||
- [ui-keyring](packages/ui-keyring/) A browser-specific wrapper around the base [@polkadot/keyring](https://github.com/polkadot-js/common/) library
|
||||
- [ui-settings](packages/ui-settings/) A browser local storage wrapper for app settings & configuration
|
||||
- [ui-shared](packages/ui-shared) Shared logic that is used accross UI components, e.g. for icon generation
|
||||
|
||||
## examples
|
||||
|
||||
In addition to the above packages, there are examples available for intergation of `ui-keyring`, `ui-settings` & the relevant `*-identicon` package. These are
|
||||
|
||||
- [example-react](packages/example-react) - start with `yarn example:react` and view on `http://localhost:8080`
|
||||
- [example-vue](packages/example-vue) - start with `yarn example:vue` and view on `http://localhost:8080`
|
||||
- [ui-shared](packages/ui-shared) Shared logic that is used across UI components, e.g. for icon generation
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/ui authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const base = require('@polkadot/dev/config/babel-config-cjs.cjs');
|
||||
|
||||
module.exports = Object.keys(base).reduce((config, key) => {
|
||||
config[key] = base[key];
|
||||
|
||||
if (key === 'plugins') {
|
||||
config[key] = config[key].concat([
|
||||
'transform-vue-template'
|
||||
]);
|
||||
}
|
||||
|
||||
return config;
|
||||
}, {});
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import baseConfig from '@polkadot/dev/config/eslint';
|
||||
|
||||
export default [
|
||||
...baseConfig
|
||||
];
|
||||
@@ -1,17 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/ui authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const config = require('@polkadot/dev/config/jest.cjs');
|
||||
|
||||
module.exports = {
|
||||
...config,
|
||||
moduleNameMapper: {
|
||||
'@polkadot/react-(identicon|qr)(.*)$': '<rootDir>/packages/react-$1/src/$2',
|
||||
'@polkadot/reactnative-(identicon)(.*)$': '<rootDir>/packages/reactnative-$1/src/$2',
|
||||
'@polkadot/ui-(assets|keyring|settings|shared)(.*)$': '<rootDir>/packages/ui-$1/src/$2',
|
||||
'\\.(css|less)$': 'empty/object',
|
||||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': 'empty/object'
|
||||
},
|
||||
setupFilesAfterEnv: ['<rootDir>/jest/setupEnv.js'],
|
||||
testEnvironment: 'jsdom'
|
||||
};
|
||||
@@ -1,10 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/ui authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const nodeCrypto = require('crypto');
|
||||
|
||||
window.crypto = {
|
||||
getRandomValues: function (buffer) {
|
||||
return nodeCrypto.randomFillSync(buffer);
|
||||
}
|
||||
};
|
||||
+20
-22
@@ -1,16 +1,24 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"engines": {
|
||||
"node": ">=18.14"
|
||||
},
|
||||
"homepage": "https://github.com/polkadot-js/ui#readme",
|
||||
"license": "Apache-2.0",
|
||||
"packageManager": "yarn@3.2.0",
|
||||
"packageManager": "yarn@4.5.1",
|
||||
"private": true,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"version": "2.6.2",
|
||||
"type": "module",
|
||||
"version": "3.16.7",
|
||||
"versions": {
|
||||
"git": "3.16.7",
|
||||
"npm": "3.16.7"
|
||||
},
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
],
|
||||
@@ -19,34 +27,24 @@
|
||||
"build:release": "polkadot-ci-ghact-build",
|
||||
"build:rollup": "polkadot-exec-rollup --config",
|
||||
"clean": "polkadot-dev-clean-build",
|
||||
"example:react": "yarn build && cd packages/example-react && webpack --config webpack.config.cjs",
|
||||
"example:vue": "yarn build && cd packages/example-vue && webpack --config webpack.config.cjs",
|
||||
"lint": "polkadot-dev-run-lint",
|
||||
"postinstall": "polkadot-dev-yarn-only",
|
||||
"test": "polkadot-dev-run-test --coverage --runInBand",
|
||||
"test:one": "polkadot-dev-run-test"
|
||||
"test": "polkadot-dev-run-test --env browser",
|
||||
"test:one": "polkadot-dev-run-test --env browser"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.18.5",
|
||||
"@babel/runtime": "^7.18.3",
|
||||
"@polkadot/dev": "^0.67.42",
|
||||
"@polkadot/x-bundle": "^9.6.2",
|
||||
"@types/jest": "^28.1.3",
|
||||
"babel-loader": "^8.2.5",
|
||||
"babel-plugin-transform-vue-template": "^0.4.2",
|
||||
"empty": "^0.10.1",
|
||||
"process": "^0.11.10",
|
||||
"@polkadot/dev": "^0.83.3",
|
||||
"@polkadot/x-bundle": "^14.0.3",
|
||||
"@types/node": "^22.10.5",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-is": "^18.2.0",
|
||||
"react-native": "^0.69.0",
|
||||
"stream-browserify": "^3.0.0",
|
||||
"vue-template-compiler": "^2.6.14",
|
||||
"webpack": "^5.73.0",
|
||||
"webpack-cli": "^4.10.0",
|
||||
"webpack-serve": "^4.0.0"
|
||||
"react-native": "^0.73.1"
|
||||
},
|
||||
"resolutions": {
|
||||
"typescript": "^4.7.4"
|
||||
"@polkadot/keyring": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fkeyring/-/14.0.3-quantus.3/keyring-14.0.3-quantus.3.tgz",
|
||||
"@polkadot/networks": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fnetworks/-/14.0.3-quantus.3/networks-14.0.3-quantus.3.tgz",
|
||||
"@polkadot/util-crypto": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Futil-crypto/-/14.0.3-quantus.3/util-crypto-14.0.3-quantus.3.tgz",
|
||||
"typescript": "5.5.4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,201 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -1,3 +0,0 @@
|
||||
# @polkadot/example-react
|
||||
|
||||
A versy basic React example with `@polkadot/ui-keyring`, `@polkadot/ui-settings` & `@polkadot/react-identicon`
|
||||
@@ -1,37 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
|
||||
<style>
|
||||
#example {
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
padding: 0.5rem 0.75rem;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
margin: 0.25rem 0;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
margin-right: 0.75rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="example"></div>
|
||||
<script src="./build/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "A very basic example with ui-* & react-* packages",
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/example-react#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/example-react",
|
||||
"private": true,
|
||||
"repository": {
|
||||
"directory": "packages/example-react",
|
||||
"type": "git",
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"version": "2.6.2",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.3"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Empty template, auto-generated by @polkadot/dev
|
||||
|
||||
export default [];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,121 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useCallback, useEffect, useState } from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
|
||||
import { Identicon } from '@polkadot/react-identicon';
|
||||
import { keyring } from '@polkadot/ui-keyring';
|
||||
import { settings } from '@polkadot/ui-settings';
|
||||
import { cryptoWaitReady, mnemonicGenerate } from '@polkadot/util-crypto';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const rootElement = document.getElementById('example');
|
||||
|
||||
if (!rootElement) {
|
||||
throw new Error('Unable to find element with id \'example\'');
|
||||
}
|
||||
|
||||
function App ({ className }: Props): React.ReactElement<Props> | null {
|
||||
const [address, setAddress] = useState<string | null>(null);
|
||||
const [phrase, setPhrase] = useState<string | null>(null);
|
||||
const [ss58Format, setSS58Format] = useState(42);
|
||||
|
||||
const _onClickNew = useCallback(
|
||||
(): void => {
|
||||
const phrase = mnemonicGenerate(12);
|
||||
const { address } = keyring.createFromUri(phrase);
|
||||
|
||||
setAddress(keyring.encodeAddress(address, ss58Format));
|
||||
setPhrase(phrase);
|
||||
},
|
||||
[ss58Format]
|
||||
);
|
||||
|
||||
const _onChangeSS58Format = useCallback(
|
||||
({ currentTarget: { value } }: React.SyntheticEvent<HTMLSelectElement>): void => {
|
||||
setSS58Format(parseInt(value, 10));
|
||||
},
|
||||
[]
|
||||
);
|
||||
|
||||
useEffect((): void => {
|
||||
_onClickNew();
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, []);
|
||||
|
||||
useEffect((): void => {
|
||||
address && setAddress(keyring.encodeAddress(address, ss58Format));
|
||||
}, [address, ss58Format]);
|
||||
|
||||
if (!address || !phrase) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={className}>
|
||||
<section>
|
||||
<button onClick={_onClickNew}>another random address</button>
|
||||
</section>
|
||||
<section>
|
||||
<label>phrase</label>
|
||||
<textarea
|
||||
cols={40}
|
||||
readOnly
|
||||
rows={4}
|
||||
value={phrase}
|
||||
/>
|
||||
</section>
|
||||
<section>
|
||||
<label>icons</label>
|
||||
<Identicon
|
||||
className='icon'
|
||||
value={address}
|
||||
/>
|
||||
<Identicon
|
||||
className='icon'
|
||||
theme='polkadot'
|
||||
value={address}
|
||||
/>
|
||||
<Identicon
|
||||
className='icon'
|
||||
theme='beachball'
|
||||
value={address}
|
||||
/>
|
||||
</section>
|
||||
<section>
|
||||
<label>address</label>
|
||||
{address}
|
||||
</section>
|
||||
<section>
|
||||
<label>ss58 format</label>
|
||||
<select
|
||||
onChange={_onChangeSS58Format}
|
||||
value={ss58Format}
|
||||
>
|
||||
{settings.availablePrefixes
|
||||
.filter((_, index): boolean => index !== 0)
|
||||
.map(({ text, value }): React.ReactNode => (
|
||||
<option
|
||||
key={value}
|
||||
value={value}
|
||||
>
|
||||
{text}
|
||||
</option>
|
||||
))
|
||||
}
|
||||
</select>
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
cryptoWaitReady()
|
||||
.then((): void => {
|
||||
keyring.loadAll({ ss58Format: 42, type: 'sr25519' });
|
||||
ReactDOM.render(<App />, rootElement);
|
||||
})
|
||||
.catch(console.error);
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/example-react', path: 'auto', type: 'auto', version: '2.6.2' };
|
||||
@@ -1,53 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const path = require('path');
|
||||
const { WebpackPluginServe } = require('webpack-plugin-serve');
|
||||
|
||||
module.exports = {
|
||||
context: __dirname,
|
||||
devtool: 'eval-cheap-source-map',
|
||||
entry: './src/index.tsx',
|
||||
mode: 'development',
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
exclude: /(node_modules)/,
|
||||
test: /\.(ts|tsx)$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'babel-loader',
|
||||
options: require('../../babel.config.cjs')
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
output: {
|
||||
chunkFilename: '[name].[chunkhash:8].js',
|
||||
filename: '[name].js',
|
||||
globalObject: '(typeof self !== \'undefined\' ? self : this)',
|
||||
path: path.join(__dirname, 'build')
|
||||
},
|
||||
plugins: [
|
||||
new WebpackPluginServe({
|
||||
hmr: false, // switch off, Chrome WASM memory leak
|
||||
liveReload: false, // explict off, overrides hmr
|
||||
port: 8080,
|
||||
progress: false, // since we have hmr off, disable
|
||||
static: __dirname
|
||||
})
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@polkadot/react-identicon': path.resolve(__dirname, '../react-identicon/build'),
|
||||
'@polkadot/ui-keyring': path.resolve(__dirname, '../ui-keyring/build'),
|
||||
'@polkadot/ui-settings': path.resolve(__dirname, '../ui-settings/build'),
|
||||
'@polkadot/ui-shared': path.resolve(__dirname, '../ui-shared/build')
|
||||
},
|
||||
extensions: ['.js', '.ts', '.tsx'],
|
||||
fallback: {}
|
||||
},
|
||||
target: 'web',
|
||||
watch: true
|
||||
};
|
||||
@@ -1,201 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -1,3 +0,0 @@
|
||||
# @polkadot/example-vue
|
||||
|
||||
A versy basic Vue.js example with `@polkadot/ui-keyring`, `@polkadot/ui-settings` & `@polkadot/vue-identicon`
|
||||
@@ -1,38 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
|
||||
<style>
|
||||
#example {
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
padding: 0.5rem 0.75rem;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
margin: 0.25rem 0;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
display: inline-block;
|
||||
margin-right: 0.75rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="example"></div>
|
||||
<script src="./build/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "A very basic example with ui-* & vue-* packages",
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/example-vue#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/example-vue",
|
||||
"private": true,
|
||||
"repository": {
|
||||
"directory": "packages/example-vue",
|
||||
"type": "git",
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"version": "2.6.2",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.3"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Empty template, auto-generated by @polkadot/dev
|
||||
|
||||
export default [];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,99 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||
|
||||
import Vue, { VNode } from 'vue';
|
||||
|
||||
import { keyring } from '@polkadot/ui-keyring';
|
||||
import { settings } from '@polkadot/ui-settings';
|
||||
import { cryptoWaitReady, mnemonicGenerate } from '@polkadot/util-crypto';
|
||||
import Identicon from '@polkadot/vue-identicon';
|
||||
|
||||
interface Account {
|
||||
address: string;
|
||||
phrase: string;
|
||||
}
|
||||
|
||||
interface Data extends Account {
|
||||
ss58Format: Prefix;
|
||||
ss58Options: { text: string; value: string | number }[];
|
||||
}
|
||||
|
||||
const ss58Options = settings.availablePrefixes.filter((_, index): boolean => index !== 0);
|
||||
|
||||
function generateAccount (ss58Format: Prefix = 42): Account {
|
||||
const phrase = mnemonicGenerate(12);
|
||||
const { address } = keyring.createFromUri(phrase);
|
||||
|
||||
return {
|
||||
address: keyring.encodeAddress(address, ss58Format),
|
||||
phrase
|
||||
};
|
||||
}
|
||||
|
||||
const Example = Vue.extend({
|
||||
components: {
|
||||
Identicon
|
||||
},
|
||||
data: function (): Data {
|
||||
return {
|
||||
...generateAccount(),
|
||||
ss58Format: 42,
|
||||
ss58Options
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onClickNew: function (): void {
|
||||
const { address, phrase } = generateAccount(this.ss58Format);
|
||||
|
||||
this.address = address;
|
||||
this.phrase = phrase;
|
||||
}
|
||||
},
|
||||
name: 'Example',
|
||||
template: `
|
||||
<div id="example">
|
||||
<section>
|
||||
<button v-on:click="onClickNew">another random address</button>
|
||||
</section>
|
||||
<section>
|
||||
<label>phrase</label>
|
||||
<textarea :cols="40" :rows="4" readonly v-model="phrase" />
|
||||
</section>
|
||||
<section>
|
||||
<label>icons</label>
|
||||
<Identicon class='icon' :value="address" />
|
||||
<Identicon class='icon' :value="address" :theme="'polkadot'" />
|
||||
<Identicon class='icon' :value="address" :theme="'beachball'" />
|
||||
</section>
|
||||
<section>
|
||||
<label>address</label>
|
||||
{{ address }}
|
||||
</section>
|
||||
<section>
|
||||
<label>ss58 format</label>
|
||||
<select v-model="ss58Format">
|
||||
<option v-for="option in ss58Options" v-bind:value="option.value">
|
||||
{{ option.text }}
|
||||
</option>
|
||||
</select>
|
||||
</section>
|
||||
</div>
|
||||
`,
|
||||
watch: {
|
||||
ss58Format: function (): void {
|
||||
this.address = keyring.encodeAddress(this.address, this.ss58Format);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
cryptoWaitReady()
|
||||
.then((): void => {
|
||||
keyring.loadAll({ ss58Format: 42, type: 'sr25519' });
|
||||
|
||||
new Vue({
|
||||
render: (h): VNode => h(Example)
|
||||
}).$mount('#example');
|
||||
})
|
||||
.catch(console.error);
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/example-vue', path: 'auto', type: 'auto', version: '2.6.2' };
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"baseUrl": "..",
|
||||
"outDir": "./build",
|
||||
"rootDir": "./src"
|
||||
},
|
||||
"references": [
|
||||
{ "path": "../ui-keyring/tsconfig.build.json" },
|
||||
{ "path": "../vue-identicon/tsconfig.build.json" }
|
||||
]
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const path = require('path');
|
||||
const { WebpackPluginServe } = require('webpack-plugin-serve');
|
||||
|
||||
module.exports = {
|
||||
context: __dirname,
|
||||
devtool: 'eval-cheap-source-map',
|
||||
entry: './src/index.ts',
|
||||
mode: 'development',
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
exclude: /(node_modules)/,
|
||||
test: /\.(ts|tsx)$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'babel-loader',
|
||||
options: require('../../babel.config.cjs')
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
output: {
|
||||
chunkFilename: '[name].[chunkhash:8].js',
|
||||
filename: '[name].js',
|
||||
globalObject: '(typeof self !== \'undefined\' ? self : this)',
|
||||
path: path.join(__dirname, 'build')
|
||||
},
|
||||
plugins: [
|
||||
new WebpackPluginServe({
|
||||
hmr: false, // switch off, Chrome WASM memory leak
|
||||
liveReload: false, // explict off, overrides hmr
|
||||
port: 8080,
|
||||
progress: false, // since we have hmr off, disable
|
||||
static: __dirname
|
||||
})
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@polkadot/ui-keyring': path.resolve(__dirname, '../ui-keyring/build'),
|
||||
'@polkadot/ui-settings': path.resolve(__dirname, '../ui-settings/build'),
|
||||
'@polkadot/ui-shared': path.resolve(__dirname, '../ui-shared/build'),
|
||||
'@polkadot/vue-identicon': path.resolve(__dirname, '../vue-identicon/build')
|
||||
},
|
||||
extensions: ['.js', '.ts', '.tsx']
|
||||
},
|
||||
target: 'web',
|
||||
watch: true
|
||||
};
|
||||
@@ -1,201 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "Renders an SVG picture representing an address",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/react-identicon#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/react-identicon",
|
||||
"repository": {
|
||||
"directory": "packages/react-identicon",
|
||||
@@ -13,30 +14,27 @@
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": [
|
||||
"./detectPackage.js",
|
||||
"./detectPackage.cjs"
|
||||
"./packageDetect.js",
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "2.6.2",
|
||||
"version": "3.16.7",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.3",
|
||||
"@polkadot/keyring": "^9.6.2",
|
||||
"@polkadot/ui-settings": "2.6.2",
|
||||
"@polkadot/ui-shared": "2.6.2",
|
||||
"@polkadot/util": "^9.6.2",
|
||||
"@polkadot/util-crypto": "^9.6.2",
|
||||
"color": "^3.2.1",
|
||||
"@polkadot/keyring": "^14.0.3",
|
||||
"@polkadot/ui-settings": "3.16.7",
|
||||
"@polkadot/ui-shared": "3.16.7",
|
||||
"@polkadot/util": "^14.0.3",
|
||||
"@polkadot/util-crypto": "^14.0.3",
|
||||
"ethereum-blockies-base64": "^1.0.2",
|
||||
"jdenticon": "3.1.1",
|
||||
"jdenticon": "3.2.0",
|
||||
"react-copy-to-clipboard": "^5.1.0",
|
||||
"styled-components": "^5.3.5"
|
||||
"styled-components": "^6.1.1",
|
||||
"tslib": "^2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react-copy-to-clipboard": "^5.0.2",
|
||||
"@types/react-dom": "^18.0.5",
|
||||
"@types/styled-components": "^5.1.25",
|
||||
"styled-components": "^5.3.5",
|
||||
"@types/react-copy-to-clipboard": "^5.0.7",
|
||||
"@types/react-dom": "^18.2.18",
|
||||
"xmlserializer": "^0.6.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
@@ -45,7 +43,6 @@
|
||||
"@polkadot/util-crypto": "*",
|
||||
"react": "*",
|
||||
"react-dom": "*",
|
||||
"react-is": "*",
|
||||
"styled-components": "*"
|
||||
"react-is": "*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||
import type { IdentityProps as Props, Props as ComponentProps } from './types';
|
||||
import type { IdentityProps as Props, Props as ComponentProps } from './types.js';
|
||||
|
||||
import React from 'react';
|
||||
import CopyToClipboard from 'react-copy-to-clipboard';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { ICON_DEFAULT_HOST, settings } from '@polkadot/ui-settings';
|
||||
import { isHex, isU8a, u8aToHex } from '@polkadot/util';
|
||||
import { decodeAddress, encodeAddress, ethereumEncode } from '@polkadot/util-crypto';
|
||||
|
||||
import { Beachball, Empty, Ethereum, Jdenticon, Polkadot } from './icons';
|
||||
import { Beachball, Empty, Ethereum, Jdenticon, Polkadot } from './icons/index.js';
|
||||
import { styled } from './styled.js';
|
||||
|
||||
const Fallback = Beachball;
|
||||
|
||||
@@ -31,32 +31,6 @@ const Components: Record<string, React.ComponentType<ComponentProps>> = {
|
||||
substrate: Jdenticon
|
||||
};
|
||||
|
||||
const Wrapper = styled.div`
|
||||
cursor: copy;
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
|
||||
> .container {
|
||||
position: relative;
|
||||
|
||||
> div,
|
||||
> svg {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&.highlight:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 0 5px 2px #aaa;
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
class BaseIcon extends React.PureComponent<Props, State> {
|
||||
public override state: State = {
|
||||
address: '',
|
||||
@@ -90,7 +64,7 @@ class BaseIcon extends React.PureComponent<Props, State> {
|
||||
address,
|
||||
publicKey
|
||||
};
|
||||
} catch (error) {
|
||||
} catch {
|
||||
return {
|
||||
address: '',
|
||||
publicKey: '0x'
|
||||
@@ -115,13 +89,13 @@ class BaseIcon extends React.PureComponent<Props, State> {
|
||||
}
|
||||
|
||||
private getWrapped ({ address, publicKey }: State, { Custom }: Props): React.ReactNode {
|
||||
const { className = '', isAlternative, isHighlight, size = DEFAULT_SIZE, style, theme = settings.icon } = this.props;
|
||||
const { className = '', isAlternative, isHighlight, size = DEFAULT_SIZE, style = {}, theme = settings.icon } = this.props;
|
||||
const Component = !address
|
||||
? Empty
|
||||
: Custom || Components[theme === 'default' ? ICON_DEFAULT_HOST : theme] || Fallback;
|
||||
|
||||
return (
|
||||
<Wrapper
|
||||
<StyledDiv
|
||||
className={`ui--IdentityIcon ${className}`}
|
||||
key={address}
|
||||
style={style}
|
||||
@@ -133,7 +107,7 @@ class BaseIcon extends React.PureComponent<Props, State> {
|
||||
publicKey={publicKey}
|
||||
size={size}
|
||||
/>
|
||||
</Wrapper>
|
||||
</StyledDiv>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -151,4 +125,30 @@ function Icon (props: Props): React.ReactElement<Props> {
|
||||
return <BaseIcon {...props} />;
|
||||
}
|
||||
|
||||
const StyledDiv = styled.div`
|
||||
cursor: copy;
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
|
||||
> .container {
|
||||
position: relative;
|
||||
|
||||
> div,
|
||||
> svg {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&.highlight:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 0 5px 2px #aaa;
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const Identicon = React.memo(Icon);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export * from './icons';
|
||||
|
||||
export { Identicon } from './Identicon';
|
||||
export { packageInfo } from './packageInfo';
|
||||
export * from './icons/index.js';
|
||||
export { Identicon } from './Identicon.js';
|
||||
export { packageInfo } from './packageInfo.js';
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { packageInfo as settingsInfo } from '@polkadot/ui-settings/packageInfo';
|
||||
import { packageInfo as sharedInfo } from '@polkadot/ui-shared/packageInfo';
|
||||
|
||||
export default [settingsInfo, sharedInfo];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,18 +1,21 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React, { useCallback } from 'react';
|
||||
|
||||
import { beachballIcon } from '@polkadot/ui-shared';
|
||||
|
||||
function Identicon ({ address, className = '', size, style }: Props): React.ReactElement<Props> {
|
||||
function Identicon ({ address, className = '', size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const updateElem = useCallback(
|
||||
(node: HTMLDivElement): void => {
|
||||
node && node.appendChild(
|
||||
beachballIcon(address, { isAlternative: false, size })
|
||||
);
|
||||
if (node) {
|
||||
node.innerHTML = '';
|
||||
node.appendChild(
|
||||
beachballIcon(address, { isAlternative: false, size })
|
||||
);
|
||||
}
|
||||
},
|
||||
[address, size]
|
||||
);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React from 'react';
|
||||
|
||||
function Identicon ({ className = '', size, style }: Props): React.ReactElement<Props> {
|
||||
function Identicon ({ className = '', size, style = {} }: Props): React.ReactElement<Props> {
|
||||
return (
|
||||
<svg
|
||||
className={className}
|
||||
|
||||
@@ -1,29 +1,37 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import makeBlockie from 'ethereum-blockies-base64';
|
||||
import React, { useMemo } from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
function Identicon ({ address, className = '', style }: Props): React.ReactElement<Props> {
|
||||
import { styled } from '../styled.js';
|
||||
|
||||
interface ImgProps {
|
||||
size: number;
|
||||
}
|
||||
|
||||
function Identicon ({ address, className = '', size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const imgSrc = useMemo(
|
||||
() => makeBlockie(address),
|
||||
[address]
|
||||
);
|
||||
|
||||
return (
|
||||
<img
|
||||
<StyledImg
|
||||
className={className}
|
||||
size={size}
|
||||
src={imgSrc}
|
||||
style={style}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
export const Ethereum = React.memo(styled(Identicon)(({ size }: Props) => `
|
||||
const StyledImg = styled.img<ImgProps>(({ size }) => `
|
||||
display: block;
|
||||
height: ${size}px;
|
||||
width: ${size}px;
|
||||
`));
|
||||
`);
|
||||
|
||||
export const Ethereum = React.memo(Identicon);
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import * as jdenticon from 'jdenticon';
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
function Identicon ({ className = '', publicKey, size, style }: Props): React.ReactElement<Props> {
|
||||
function Identicon ({ className = '', publicKey, size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const html = useMemo(
|
||||
() => ({ __html: jdenticon.toSvg(publicKey.substr(2), size) }),
|
||||
() => ({ __html: jdenticon.toSvg(publicKey.substring(2), size) }),
|
||||
[publicKey, size]
|
||||
);
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2018-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2018-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Copyright 2018 Paritytech via paritytech/oo7/polkadot-identicon
|
||||
@@ -17,7 +17,7 @@
|
||||
// - Overall it is now just a static component, expecting an address as an input value
|
||||
|
||||
import type { Circle } from '@polkadot/ui-shared/icons/types';
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
@@ -35,7 +35,7 @@ function renderCircle ({ cx, cy, fill, r }: Circle, key: number): React.ReactNod
|
||||
);
|
||||
}
|
||||
|
||||
function Identicon ({ address, className = '', isAlternative = false, size, style }: Props): React.ReactElement<Props> {
|
||||
function Identicon ({ address, className = '', isAlternative = false, size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const circles = useMemo(
|
||||
() => polkadotIcon(address, { isAlternative }),
|
||||
[address, isAlternative]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { Beachball } from './Beachball';
|
||||
export { Empty } from './Empty';
|
||||
export { Ethereum } from './Ethereum';
|
||||
export { Jdenticon } from './Jdenticon';
|
||||
export { Polkadot } from './Polkadot';
|
||||
export { Beachball } from './Beachball.js';
|
||||
export { Empty } from './Empty.js';
|
||||
export { Ethereum } from './Ethereum.js';
|
||||
export { Jdenticon } from './Jdenticon.js';
|
||||
export { Polkadot } from './Polkadot.js';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import './detectPackage';
|
||||
import './packageDetect.js';
|
||||
|
||||
import { Identicon } from './bundle';
|
||||
import { Identicon } from './bundle.js';
|
||||
|
||||
export * from './bundle';
|
||||
export * from './bundle.js';
|
||||
|
||||
export default Identicon;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
// (packageInfo imports will be kept as-is, user-editable)
|
||||
|
||||
import { packageInfo as settingsInfo } from '@polkadot/ui-settings/packageInfo';
|
||||
import { packageInfo as sharedInfo } from '@polkadot/ui-shared/packageInfo';
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import { packageInfo } from './packageInfo.js';
|
||||
|
||||
detectPackage(packageInfo, null, [settingsInfo, sharedInfo]);
|
||||
@@ -1,6 +1,6 @@
|
||||
// Copyright 2017-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/react-identicon', path: 'auto', type: 'auto', version: '2.6.2' };
|
||||
export const packageInfo = { name: '@polkadot/react-identicon', path: 'auto', type: 'auto', version: '3.16.7' };
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { styled } from 'styled-components';
|
||||
@@ -1,10 +1,9 @@
|
||||
// Copyright 2018-2022 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2018-2026 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type React from 'react';
|
||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||
|
||||
import React from 'react';
|
||||
|
||||
export interface BaseProps {
|
||||
className?: string;
|
||||
style?: React.CSSProperties;
|
||||
@@ -12,11 +11,9 @@ export interface BaseProps {
|
||||
|
||||
export interface Props extends BaseProps {
|
||||
address: string;
|
||||
isAlternative?: boolean;
|
||||
className?: string;
|
||||
isAlternative?: boolean | undefined;
|
||||
publicKey: string;
|
||||
size: number;
|
||||
style?: React.CSSProperties;
|
||||
}
|
||||
|
||||
export interface IdentityProps extends BaseProps {
|
||||
|
||||
@@ -1,201 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "Generates and reads QR codes",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/react-qr#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/react-qr",
|
||||
"repository": {
|
||||
"directory": "packages/react-qr",
|
||||
@@ -13,30 +14,27 @@
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": [
|
||||
"./detectPackage.js",
|
||||
"./detectPackage.cjs"
|
||||
"./packageDetect.js",
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "2.6.2",
|
||||
"version": "3.16.7",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.3",
|
||||
"@polkadot/ui-settings": "2.6.2",
|
||||
"@polkadot/util": "^9.6.2",
|
||||
"@polkadot/util-crypto": "^9.6.2",
|
||||
"@polkadot/ui-settings": "3.16.7",
|
||||
"@polkadot/util": "^14.0.3",
|
||||
"@polkadot/util-crypto": "^14.0.3",
|
||||
"@zxing/browser": "^0.1.5",
|
||||
"@zxing/library": "^0.21.2",
|
||||
"qrcode-generator": "^1.4.4",
|
||||
"react-qr-reader": "^2.2.1",
|
||||
"styled-components": "^5.3.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react-qr-reader": "^2.1.4",
|
||||
"@types/styled-components": "^5.1.25"
|
||||
"styled-components": "^6.1.1",
|
||||
"tslib": "^2.8.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*",
|
||||
"@polkadot/util-crypto": "*",
|
||||
"react": "*",
|
||||
"react-dom": "*",
|
||||
"styled-components": "*"
|
||||
"react-is": "*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { objectSpread } from '@polkadot/util';
|
||||
import { xxhashAsHex } from '@polkadot/util-crypto';
|
||||
|
||||
import { qrcode } from './qrcode';
|
||||
import { createFrames, createImgSize } from './util';
|
||||
import { qrcode } from './qrcode.js';
|
||||
import { styled } from './styled.js';
|
||||
import { createFrames, createImgSize } from './util.js';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
size?: string | number;
|
||||
className?: string | undefined;
|
||||
size?: string | number | undefined;
|
||||
skipEncoding?: boolean;
|
||||
style?: React.CSSProperties;
|
||||
timerDelay?: number;
|
||||
style?: React.CSSProperties | undefined;
|
||||
timerDelay?: number | undefined;
|
||||
value: Uint8Array;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ interface FrameState {
|
||||
|
||||
interface TimerState {
|
||||
timerDelay: number;
|
||||
timerId: number | null;
|
||||
timerId: ReturnType<typeof setTimeout> | null;
|
||||
}
|
||||
|
||||
const DEFAULT_FRAME_DELAY = 2750;
|
||||
@@ -45,7 +45,7 @@ function getDataUrl (value: Uint8Array): string {
|
||||
return qr.createDataURL(16, 0);
|
||||
}
|
||||
|
||||
function Display ({ className, size, skipEncoding, style, timerDelay = DEFAULT_FRAME_DELAY, value }: Props): React.ReactElement<Props> | null {
|
||||
function Display ({ className = '', size, skipEncoding, style = {}, timerDelay = DEFAULT_FRAME_DELAY, value }: Props): React.ReactElement<Props> | null {
|
||||
const [{ image }, setFrameState] = useState<FrameState>({ frameIdx: 0, frames: [], image: null, valueHash: null });
|
||||
const timerRef = useRef<TimerState>({ timerDelay, timerId: null });
|
||||
|
||||
@@ -84,7 +84,7 @@ function Display ({ className, size, skipEncoding, style, timerDelay = DEFAULT_F
|
||||
return newState;
|
||||
});
|
||||
|
||||
timerRef.current.timerId = window.setTimeout(nextFrame, timerRef.current.timerDelay);
|
||||
timerRef.current.timerId = setTimeout(nextFrame, timerRef.current.timerDelay);
|
||||
|
||||
return (): void => {
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
@@ -120,7 +120,7 @@ function Display ({ className, size, skipEncoding, style, timerDelay = DEFAULT_F
|
||||
}
|
||||
|
||||
return (
|
||||
<div
|
||||
<StyledDiv
|
||||
className={className}
|
||||
style={containerStyle}
|
||||
>
|
||||
@@ -130,11 +130,11 @@ function Display ({ className, size, skipEncoding, style, timerDelay = DEFAULT_F
|
||||
>
|
||||
<img src={image} />
|
||||
</div>
|
||||
</div>
|
||||
</StyledDiv>
|
||||
);
|
||||
}
|
||||
|
||||
export const QrDisplay = React.memo(styled(Display)`
|
||||
const StyledDiv = styled.div`
|
||||
.ui--qr-Display {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
@@ -148,4 +148,6 @@ export const QrDisplay = React.memo(styled(Display)`
|
||||
width: auto !important;
|
||||
}
|
||||
}
|
||||
`);
|
||||
`;
|
||||
|
||||
export const QrDisplay = React.memo(Display);
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
import { QrDisplay } from './Display';
|
||||
import { createAddressPayload } from './util';
|
||||
import { QrDisplay } from './Display.js';
|
||||
import { createAddressPayload } from './util.js';
|
||||
|
||||
interface Props {
|
||||
address: string;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
import { QrDisplay } from './Display';
|
||||
import { createSignPayload } from './util';
|
||||
import { QrDisplay } from './Display.js';
|
||||
import { createSignPayload } from './util.js';
|
||||
|
||||
interface Props {
|
||||
address: string;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { NetworkSpecsStruct } from '@polkadot/ui-settings/types';
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
import { QrDisplay } from './Display';
|
||||
import { encodeString } from './util';
|
||||
import { QrDisplay } from './Display.js';
|
||||
import { encodeString } from './util.js';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useCallback, useMemo } from 'react';
|
||||
import Reader from 'react-qr-reader';
|
||||
import styled from 'styled-components';
|
||||
import { BrowserQRCodeReader, type IScannerControls } from '@zxing/browser';
|
||||
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
|
||||
|
||||
import { createImgSize } from './util';
|
||||
import { styled } from './styled.js';
|
||||
import { createImgSize } from './util.js';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
className?: string | undefined;
|
||||
delay?: number;
|
||||
onError?: (error: Error) => void;
|
||||
onError?: undefined | ((error: Error) => void);
|
||||
onScan: (data: string) => void;
|
||||
size?: string | number;
|
||||
style?: React.CSSProperties;
|
||||
size?: string | number | undefined;
|
||||
style?: React.CSSProperties | undefined;
|
||||
}
|
||||
|
||||
const DEFAULT_DELAY = 150;
|
||||
@@ -22,7 +22,10 @@ const DEFAULT_ERROR = (error: Error): void => {
|
||||
console.error('@polkadot/react-qr:Scan', error.message);
|
||||
};
|
||||
|
||||
function Scan ({ className, delay = DEFAULT_DELAY, onError = DEFAULT_ERROR, onScan, size, style }: Props): React.ReactElement<Props> {
|
||||
function Scan ({ className = '', delay = DEFAULT_DELAY, onError = DEFAULT_ERROR, onScan, size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const videoRef = useRef<HTMLVideoElement>(null);
|
||||
const controlsRef = useRef<IScannerControls | null>(null);
|
||||
|
||||
const containerStyle = useMemo(
|
||||
() => createImgSize(size),
|
||||
[size]
|
||||
@@ -33,36 +36,65 @@ function Scan ({ className, delay = DEFAULT_DELAY, onError = DEFAULT_ERROR, onSc
|
||||
[onError]
|
||||
);
|
||||
|
||||
const _onScan = useCallback(
|
||||
(data: string | null) => data && onScan(data),
|
||||
[onScan]
|
||||
);
|
||||
useEffect(() => {
|
||||
const codeReader = new BrowserQRCodeReader();
|
||||
|
||||
const startScanning = async () => {
|
||||
try {
|
||||
const videoInputDevices = await BrowserQRCodeReader.listVideoInputDevices();
|
||||
const selectedDeviceId = videoInputDevices[0].deviceId;
|
||||
|
||||
controlsRef.current = await codeReader.decodeFromVideoDevice(
|
||||
selectedDeviceId,
|
||||
videoRef.current ?? undefined,
|
||||
(result, error) => {
|
||||
if (result) {
|
||||
onScan(result.getText());
|
||||
}
|
||||
|
||||
if (error && !(error instanceof Error)) {
|
||||
_onError(new Error(error));
|
||||
}
|
||||
}
|
||||
);
|
||||
} catch (error) {
|
||||
_onError(error instanceof Error ? error : new Error('Unknown error occurred'));
|
||||
}
|
||||
};
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
||||
const timeoutId = setTimeout(startScanning, delay);
|
||||
|
||||
return () => {
|
||||
clearTimeout(timeoutId);
|
||||
|
||||
if (controlsRef.current) {
|
||||
controlsRef.current.stop();
|
||||
}
|
||||
};
|
||||
}, [onScan, _onError, delay]);
|
||||
|
||||
return (
|
||||
<div
|
||||
<StyledDiv
|
||||
className={className}
|
||||
style={containerStyle}
|
||||
>
|
||||
<Reader
|
||||
<video
|
||||
className='ui--qr-Scan'
|
||||
delay={delay}
|
||||
onError={_onError}
|
||||
onScan={_onScan}
|
||||
ref={videoRef}
|
||||
style={style}
|
||||
/>
|
||||
</div>
|
||||
</StyledDiv>
|
||||
);
|
||||
}
|
||||
|
||||
export const QrScan = React.memo(styled(Scan)`
|
||||
const StyledDiv = styled.div`
|
||||
.ui--qr-Scan {
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
transform: matrix(-1, 0, 0, 1, 0, 0);
|
||||
width: 100%;
|
||||
|
||||
video {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
`);
|
||||
`;
|
||||
|
||||
export const QrScan = React.memo(Scan);
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { HexString } from '@polkadot/util/types';
|
||||
|
||||
import React, { useCallback } from 'react';
|
||||
|
||||
import { assert } from '@polkadot/util';
|
||||
import { decodeAddress } from '@polkadot/util-crypto';
|
||||
|
||||
import { ADDRESS_PREFIX, SEED_PREFIX } from './constants';
|
||||
import { QrScan } from './Scan';
|
||||
import { ADDRESS_PREFIX, SEED_PREFIX } from './constants.js';
|
||||
import { QrScan } from './Scan.js';
|
||||
|
||||
interface ScanType {
|
||||
isAddress: boolean;
|
||||
content: string;
|
||||
genesisHash: string;
|
||||
name?: string;
|
||||
genesisHash: HexString | null;
|
||||
name?: string | undefined;
|
||||
}
|
||||
|
||||
interface Props {
|
||||
@@ -30,20 +31,25 @@ function ScanAddress ({ className, isEthereum, onError, onScan, size, style }: P
|
||||
(data: string | null): void => {
|
||||
if (data) {
|
||||
try {
|
||||
let prefix: string, content: string, genesisHash: string, name: string[];
|
||||
let prefix: string;
|
||||
let content: string;
|
||||
let genesisHash: string | null;
|
||||
let name: string[];
|
||||
|
||||
if (!isEthereum) {
|
||||
[prefix, content, genesisHash, ...name] = data.split(':');
|
||||
} else {
|
||||
[prefix, content, ...name] = data.split(':');
|
||||
genesisHash = '';
|
||||
genesisHash = null;
|
||||
content = content.substring(0, 42);
|
||||
}
|
||||
|
||||
const expectedPrefix = (isEthereum ? 'ethereum' : ADDRESS_PREFIX);
|
||||
const isValidPrefix = (prefix === expectedPrefix) || (prefix === SEED_PREFIX);
|
||||
|
||||
assert(isValidPrefix, `Invalid prefix received, expected '${expectedPrefix} or ${SEED_PREFIX}' , found '${prefix}'`);
|
||||
if (!isValidPrefix) {
|
||||
throw new Error(`Invalid prefix received, expected '${expectedPrefix} or ${SEED_PREFIX}' , found '${prefix}'`);
|
||||
}
|
||||
|
||||
const isAddress = prefix === expectedPrefix;
|
||||
|
||||
@@ -51,7 +57,7 @@ function ScanAddress ({ className, isEthereum, onError, onScan, size, style }: P
|
||||
decodeAddress(content);
|
||||
}
|
||||
|
||||
onScan({ content, genesisHash, isAddress, name: name?.length ? name.join(':') : undefined });
|
||||
onScan({ content, genesisHash: genesisHash as HexString, isAddress, name: name?.length ? name.join(':') : undefined });
|
||||
} catch (error) {
|
||||
onError && onError(error as Error);
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { HexString } from '@polkadot/util/types';
|
||||
|
||||
import React, { useCallback } from 'react';
|
||||
|
||||
import { QrScan } from './Scan';
|
||||
import { QrScan } from './Scan.js';
|
||||
|
||||
interface ScanType {
|
||||
signature: HexString;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { QrDisplayAddress } from './DisplayAddress';
|
||||
export { QrDisplayPayload } from './DisplayPayload';
|
||||
export { QrScanAddress } from './ScanAddress';
|
||||
export { QrScanSignature } from './ScanSignature';
|
||||
export { QrNetworkSpecs } from './NetworkSpecs';
|
||||
export { packageInfo } from './packageInfo';
|
||||
export { QrDisplayAddress } from './DisplayAddress.js';
|
||||
export { QrDisplayPayload } from './DisplayPayload.js';
|
||||
export { QrNetworkSpecs } from './NetworkSpecs.js';
|
||||
export { packageInfo } from './packageInfo.js';
|
||||
export { QrScanAddress } from './ScanAddress.js';
|
||||
export { QrScanSignature } from './ScanSignature.js';
|
||||
|
||||
@@ -1,24 +1,12 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const ADDRESS_PREFIX = 'substrate';
|
||||
const SEED_PREFIX = 'secret';
|
||||
const FRAME_SIZE = 1024;
|
||||
const SUBSTRATE_ID = new Uint8Array([0x53]);
|
||||
const CRYPTO_SR25519 = new Uint8Array([0x01]);
|
||||
const CMD_SIGN_TX = new Uint8Array([0]);
|
||||
const CMD_SIGN_TX_HASH = new Uint8Array([1]);
|
||||
const CMD_SIGN_IMMORTAL_TX = new Uint8Array([2]);
|
||||
const CMD_SIGN_MSG = new Uint8Array([3]);
|
||||
|
||||
export {
|
||||
ADDRESS_PREFIX,
|
||||
CMD_SIGN_TX,
|
||||
CMD_SIGN_TX_HASH,
|
||||
CMD_SIGN_IMMORTAL_TX,
|
||||
CMD_SIGN_MSG,
|
||||
CRYPTO_SR25519,
|
||||
FRAME_SIZE,
|
||||
SEED_PREFIX,
|
||||
SUBSTRATE_ID
|
||||
};
|
||||
export const ADDRESS_PREFIX = 'substrate';
|
||||
export const SEED_PREFIX = 'secret';
|
||||
export const FRAME_SIZE = 1024;
|
||||
export const SUBSTRATE_ID = new Uint8Array([0x53]);
|
||||
export const CRYPTO_SR25519 = new Uint8Array([0x01]);
|
||||
export const CMD_SIGN_TX = new Uint8Array([0]);
|
||||
export const CMD_SIGN_TX_HASH = new Uint8Array([1]);
|
||||
export const CMD_SIGN_IMMORTAL_TX = new Uint8Array([2]);
|
||||
export const CMD_SIGN_MSG = new Uint8Array([3]);
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Empty template, auto-generated by @polkadot/dev
|
||||
|
||||
export default [];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,6 +1,6 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import './detectPackage';
|
||||
import './packageDetect.js';
|
||||
|
||||
export * from './bundle';
|
||||
export * from './bundle.js';
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
// (packageInfo imports will be kept as-is, user-editable)
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import { packageInfo } from './packageInfo.js';
|
||||
|
||||
detectPackage(packageInfo, null, []);
|
||||
@@ -1,6 +1,6 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/react-qr', path: 'auto', type: 'auto', version: '2.6.2' };
|
||||
export const packageInfo = { name: '@polkadot/react-qr', path: 'auto', type: 'auto', version: '3.16.7' };
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import _qrcode from 'qrcode-generator';
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { styled } from 'styled-components';
|
||||
@@ -1,10 +1,12 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||
|
||||
import { u8aConcat, u8aToHex, u8aToString } from '@polkadot/util';
|
||||
import { randomAsU8a } from '@polkadot/util-crypto';
|
||||
|
||||
import { createAddressPayload, createFrames, createSignPayload, decodeString, encodeNumber, encodeString } from './util';
|
||||
import { createAddressPayload, createFrames, createSignPayload, decodeString, encodeNumber, encodeString } from './util.js';
|
||||
|
||||
describe('util', (): void => {
|
||||
describe('Uint8Array <-> string', (): void => {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright 2017-2022 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { isString, u8aConcat, u8aToU8a } from '@polkadot/util';
|
||||
import { decodeAddress } from '@polkadot/util-crypto';
|
||||
|
||||
import { ADDRESS_PREFIX, CRYPTO_SR25519, FRAME_SIZE, SUBSTRATE_ID } from './constants';
|
||||
import { ADDRESS_PREFIX, CRYPTO_SR25519, FRAME_SIZE, SUBSTRATE_ID } from './constants.js';
|
||||
|
||||
const MULTIPART = new Uint8Array([0]);
|
||||
|
||||
@@ -13,9 +13,10 @@ export function encodeNumber (value: number): Uint8Array {
|
||||
}
|
||||
|
||||
export function encodeString (value: string): Uint8Array {
|
||||
const u8a = new Uint8Array(value.length);
|
||||
const count = value.length;
|
||||
const u8a = new Uint8Array(count);
|
||||
|
||||
for (let i = 0; i < value.length; i++) {
|
||||
for (let i = 0; i < count; i++) {
|
||||
u8a[i] = value.charCodeAt(i);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
"outDir": "./build",
|
||||
"rootDir": "./src"
|
||||
},
|
||||
"exclude": [
|
||||
"**/*.spec.ts"
|
||||
],
|
||||
"references": [
|
||||
{ "path": "../ui-settings/tsconfig.build.json" }
|
||||
]
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"baseUrl": "..",
|
||||
"outDir": "./build",
|
||||
"rootDir": "./src",
|
||||
"emitDeclarationOnly": false,
|
||||
"noEmit": true
|
||||
},
|
||||
"include": [
|
||||
"**/*.spec.ts"
|
||||
],
|
||||
"references": [
|
||||
{ "path": "../react-qr/tsconfig.build.json" }
|
||||
]
|
||||
}
|
||||
@@ -1,201 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "Renders an SVG picture representing an address",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/reactnative-identicon#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/reactnative-identicon",
|
||||
"repository": {
|
||||
"directory": "packages/reactnative-identicon",
|
||||
@@ -13,21 +14,21 @@
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": [
|
||||
"./detectPackage.js",
|
||||
"./detectPackage.cjs"
|
||||
"./packageDetect.js",
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "2.6.2",
|
||||
"version": "3.16.7",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.3",
|
||||
"@polkadot/ui-shared": "2.6.2",
|
||||
"@polkadot/util": "^9.6.2",
|
||||
"@polkadot/util-crypto": "^9.6.2",
|
||||
"react-native-svg": "^12.3.0"
|
||||
"@polkadot/ui-shared": "3.16.7",
|
||||
"@polkadot/util": "^14.0.3",
|
||||
"@polkadot/util-crypto": "^14.0.3",
|
||||
"react-native-svg": "^14.1.0",
|
||||
"tslib": "^2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react-native": "^0.68.0"
|
||||
"@types/react-native": "^0.72.8"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*",
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
// Copyright 2017-2022 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||
import type { Props as ComponentProps } from './types';
|
||||
import type { Props as ComponentProps } from './types.js';
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import { isHex, isU8a, u8aToHex } from '@polkadot/util';
|
||||
import { decodeAddress, encodeAddress } from '@polkadot/util-crypto';
|
||||
|
||||
import { Empty, Polkadot } from './icons';
|
||||
import { Empty, Polkadot } from './icons/index.js';
|
||||
|
||||
const Fallback = Polkadot;
|
||||
|
||||
@@ -54,7 +54,7 @@ export default class IdentityIcon extends React.PureComponent<Props, State> {
|
||||
return address === prevState.address
|
||||
? null
|
||||
: { address, publicKey };
|
||||
} catch (error) {
|
||||
} catch {
|
||||
return {
|
||||
address: '',
|
||||
publicKey: '0x'
|
||||
@@ -63,7 +63,7 @@ export default class IdentityIcon extends React.PureComponent<Props, State> {
|
||||
}
|
||||
|
||||
public override render (): React.ReactNode {
|
||||
const { theme = DEFAULT_THEME, size = DEFAULT_SIZE } = this.props;
|
||||
const { size = DEFAULT_SIZE, theme = DEFAULT_THEME } = this.props;
|
||||
const { address, publicKey } = this.state;
|
||||
|
||||
const Component = !address
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Copyright 2017-2022 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export * from './icons';
|
||||
export { packageInfo } from './packageInfo';
|
||||
export * from './icons/index.js';
|
||||
export { packageInfo } from './packageInfo.js';
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { packageInfo as sharedInfo } from '@polkadot/ui-shared/packageInfo';
|
||||
|
||||
export default [sharedInfo];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2022 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,11 +1,11 @@
|
||||
// Copyright 2017-2022 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React from 'react';
|
||||
import { View } from 'react-native';
|
||||
import Svg, { Circle } from 'react-native-svg';
|
||||
import { Circle, Svg } from 'react-native-svg';
|
||||
|
||||
export default function Empty ({ size }: Props): React.ReactElement<Props> {
|
||||
return (
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// Copyright 2018-2022 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2018-2026 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Circle as CircleType } from '@polkadot/ui-shared/icons/types';
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
import { View } from 'react-native';
|
||||
import Svg, { Circle as SvgCircle } from 'react-native-svg';
|
||||
import { Circle as SvgCircle, Svg } from 'react-native-svg';
|
||||
|
||||
import { polkadotIcon } from '@polkadot/ui-shared';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Copyright 2017-2022 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { default as Empty } from './Empty';
|
||||
export { default as Polkadot } from './Polkadot';
|
||||
export { default as Empty } from './Empty.js';
|
||||
export { default as Polkadot } from './Polkadot.js';
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user