Compare commits

..
98 Commits
Author SHA1 Message Date
github-actions[bot] b5713564f6 [CI Skip] release/stable 3.10.1
skip-checks: true
2024-09-20 13:00:22 +00:00
Tarik Gul ec861d8314 3.10.1 (#809) 2024-09-20 15:58:56 +03:00
github-actions[bot] def96e5862 [CI Skip] bump/beta 3.9.2-1-x
skip-checks: true
2024-09-19 00:09:55 +00:00
Tarik Gul 45f4619995 Upgrade polkadot/common to 13.1.1 (#808) 2024-09-19 03:08:25 +03:00
github-actions[bot] 16ca4b0233 [CI Skip] bump/beta 3.9.2-0-x
skip-checks: true
2024-08-13 14:07:33 +00:00
Tarik Gul 43b5831e87 Bump yarn to 4.4.0 (#806) 2024-08-13 17:06:06 +03:00
github-actions[bot] 4952af75b0 [CI Skip] release/stable 3.9.1
skip-checks: true
2024-08-13 13:42:09 +00:00
Tarik Gul 41bab9b8c9 3.9.1 (#805) 2024-08-13 16:40:45 +03:00
github-actions[bot] 9fd024b4d8 [CI Skip] bump/beta 3.8.4-1-x
skip-checks: true
2024-08-13 13:19:55 +00:00
Tarik Gul 8d05c67577 Add chainSpecific option for ledger (#804) 2024-08-13 09:18:28 -04:00
github-actions[bot] 61a28eb333 [CI Skip] bump/beta 3.8.4-0-x
skip-checks: true
2024-08-08 01:52:37 +00:00
Tarik Gul 9930b83e87 Upgrade @polkadot/dev (#803) 2024-08-08 04:51:09 +03:00
github-actions[bot] 616b5d945c [CI Skip] release/stable 3.8.3
skip-checks: true
2024-08-01 00:30:40 +00:00
Tarik Gul b81fc14777 3.8.3 (#802)
* 3.8.3

* credit
2024-07-31 20:29:16 -04:00
github-actions[bot] 7d252ec039 [CI Skip] bump/beta 3.8.3-0-x
skip-checks: true
2024-08-01 00:13:20 +00:00
Ryan Lee 3c890a3e59 fix: qr-code (#801)
* fix: qr-code

* fix: linter warning
2024-07-31 20:11:51 -04:00
github-actions[bot] f08670ba14 [CI Skip] release/stable 3.8.2
skip-checks: true
2024-07-23 22:55:14 +00:00
Tarik Gul 62f86ab9d8 3.8.2 (#799) 2024-07-24 01:53:55 +03:00
github-actions[bot] 5cc4d12685 [CI Skip] bump/beta 3.8.2-0-x
skip-checks: true
2024-07-23 22:45:28 +00:00
Tarik Gul 04c00c675f Fix ledgerApp bug, and remove legacy (#798) 2024-07-23 18:44:03 -04:00
github-actions[bot] 482dcc0ddf [CI Skip] release/stable 3.8.1
skip-checks: true
2024-07-22 20:55:18 +00:00
Tarik Gul 37f22ae0de 3.8.1 (#797) 2024-07-22 23:53:58 +03:00
github-actions[bot] 940bbdf949 [CI Skip] bump/beta 3.7.2-0-x
skip-checks: true
2024-07-22 20:29:20 +00:00
Tarik Gul 0f03a8c2bf Add new ledger app settings (#796)
* Add ledger app settings

* Add ledgerApp

* Add to setting struct

* add available ledger apps

* fix info
2024-07-22 16:27:58 -04:00
github-actions[bot] b61b7f25b8 [CI Skip] release/stable 3.7.1
skip-checks: true
2024-07-13 23:21:58 +00:00
Tarik Gul f887590fec 3.7.1 (#795) 2024-07-14 02:20:38 +03:00
github-actions[bot] f3473159ac [CI Skip] bump/beta 3.6.7-1-x
skip-checks: true
2024-07-13 23:11:38 +00:00
Tarik Gul 248a5c2208 Bump yarn to 4.3.1 (#794) 2024-07-14 02:10:18 +03:00
github-actions[bot] 7e98a6727d [CI Skip] bump/beta 3.6.7-0-x
skip-checks: true
2024-07-13 23:02:47 +00:00
Tarik Gul 4724ddee1f Upgrade common to 13.0.2 (#793) 2024-07-14 02:01:21 +03:00
github-actions[bot] 06c2fe0463 [CI Skip] release/stable 3.6.6
skip-checks: true
2024-04-17 19:24:26 +00:00
Tarik Gul 31c6e597ea 3.6.6 (#790) 2024-04-17 22:23:07 +03:00
github-actions[bot] 0a70f8b412 [CI Skip] bump/beta 3.6.6-2-x
skip-checks: true
2024-04-17 17:02:48 +00:00
Viki Val a694afc240 Add compatibility layer for H160 addresses (#789)
*  compatibilty layer for H160 addresses

* :broom linter

* 🧼 space before (
2024-04-17 13:01:24 -04:00
github-actions[bot] c77e8d3c4a [CI Skip] bump/beta 3.6.6-1-x
skip-checks: true
2024-04-08 16:50:48 +00:00
Tarik Gul 7511d4c27f Update ci checkout and setup_node to v4 (#788) 2024-04-08 19:49:15 +03:00
github-actions[bot] 66d0d632df [CI Skip] bump/beta 3.6.6-0-x
skip-checks: true
2024-03-26 01:32:02 +00:00
Tarik Gul 76e77cfc2e Bump yarn to 4.1.1 (#787) 2024-03-26 03:30:38 +02:00
github-actions[bot] 91f8cddb3c [CI Skip] release/stable 3.6.5
skip-checks: true
2024-02-28 16:47:06 +00:00
Tarik Gul 254409f486 3.6.5 (#785) 2024-02-28 18:45:49 +02:00
github-actions[bot] 607abcbd86 [CI Skip] bump/beta 3.6.5-6-x
skip-checks: true
2024-02-17 13:44:01 +00:00
Tarik Gul b2126c3db6 chore(yarn): update yarn to 4.1.0 (#783) 2024-02-17 15:42:40 +02:00
github-actions[bot] 3313bd38ca [CI Skip] bump/beta 3.6.5-5-x
skip-checks: true
2024-02-17 01:57:34 +00:00
Tarik Gul 062f9f37f7 ci: add user (TarikGul) to auto-approve (#784) 2024-02-17 03:56:11 +02:00
github-actions[bot] 143cce1cb8 [CI Skip] bump/beta 3.6.5-4-x
skip-checks: true
2024-01-12 10:45:05 +00:00
Jaco 9ec68688d6 Adjust Vue peerDependency, >= 2.7 for defineComponent (#782)
* Adjust Vue peerDependency, >= 2.7 for defineComponent

* Bump to dev dep to vue 2.7.16
2024-01-12 12:43:40 +02:00
github-actions[bot] 6670bf75f6 [CI Skip] bump/beta 3.6.5-3-x
skip-checks: true
2024-01-08 13:06:43 +00:00
Jaco d2029bdf5b 2024 (#781) 2024-01-08 15:05:20 +02:00
github-actions[bot] 64c4abe645 [CI Skip] bump/beta 3.6.5-2-x
skip-checks: true
2023-12-19 08:57:33 +00:00
Jaco c3b826c3a4 Bump dev w/ packageDetect adjustments (#779) 2023-12-19 10:56:09 +02:00
github-actions[bot] 90a87ebb5b [CI Skip] bump/beta 3.6.5-1-x
skip-checks: true
2023-12-19 06:17:09 +00:00
Jaco 3937b36260 Bump deps (#778) 2023-12-19 08:15:36 +02:00
github-actions[bot] 8557dfd53a [CI Skip] bump/beta 3.6.5-0-x
skip-checks: true
2023-12-18 08:26:32 +00:00
Jaco aef29db995 Bump yarn berry, bump deps (#777) 2023-12-18 10:25:09 +02:00
github-actions[bot] 8d762218b4 [CI Skip] release/stable 3.6.4
skip-checks: true
2023-11-18 08:38:49 +00:00
Jaco 63be1a965b 3.6.4 (#776) 2023-11-18 10:37:12 +02:00
github-actions[bot] 0837376d00 [CI Skip] bump/beta 3.6.4-0-x
skip-checks: true
2023-10-15 10:43:44 +00:00
Jaco 1fbb4d67bb Bump TS (#775) 2023-10-15 13:41:12 +03:00
github-actions[bot] dd83ad69a9 [CI Skip] release/stable 3.6.3
skip-checks: true
2023-09-15 06:58:37 +00:00
Jaco ff73cc86fb 3.6.3 (#774) 2023-09-15 09:56:27 +03:00
github-actions[bot] c93438754f [CI Skip] release/stable 3.6.2
skip-checks: true
2023-08-23 10:37:54 +00:00
Jaco 3b542acc47 3.6.2 (#773) 2023-08-23 13:35:47 +03:00
github-actions[bot] 473b455373 [CI Skip] bump/beta 3.6.2-0-x
skip-checks: true
2023-08-22 11:40:56 +00:00
Jeeyong Um 4ecdd4d803 Fix outdated links in README.md (#772) 2023-08-22 14:38:40 +03:00
github-actions[bot] 9a67ff2fc1 [CI Skip] release/stable 3.6.1
skip-checks: true
2023-08-21 07:48:06 +00:00
Jaco eebe754c92 3.6.1 (#771) 2023-08-21 10:45:53 +03:00
github-actions[bot] f285f2ff58 [CI Skip] bump/beta 3.5.2-3-x
skip-checks: true
2023-08-20 06:49:25 +00:00
Jaco cf28882540 Bump deps (#770) 2023-08-20 09:47:09 +03:00
github-actions[bot] fc08babdaf [CI Skip] bump/beta 3.5.2-2-x
skip-checks: true
2023-08-18 07:24:30 +00:00
Jaco 666fc8f702 Bump deps (#769) 2023-08-18 10:22:13 +03:00
github-actions[bot] d2a28ca315 [CI Skip] bump/beta 3.5.2-1-x
skip-checks: true
2023-07-06 07:46:28 +00:00
Jaco 67e867a72e Bump deps (#768)
* Bump deps

* Fix build
2023-07-06 10:44:14 +03:00
github-actions[bot] abe4e5b340 [CI Skip] bump/beta 3.5.2-0-x
skip-checks: true
2023-06-18 08:40:11 +00:00
Jaco a5fdaf1f1c Bump deps (#767) 2023-06-18 11:37:13 +03:00
github-actions[bot] 3b7b85e835 [CI Skip] release/stable 3.5.1
skip-checks: true
2023-06-11 14:32:41 +00:00
Jaco 6119c57d46 3.5.1 (#766) 2023-06-11 17:30:29 +03:00
github-actions[bot] 6279b3b926 [CI Skip] bump/beta 3.4.3-0-x
skip-checks: true
2023-06-11 07:19:04 +00:00
Jaco 50b4e2bd07 Adjust object index typings (#765)
* Adjust object index typings

* CHANGELOG

* Bump common
2023-06-11 10:16:28 +03:00
github-actions[bot] 252a8a8554 [CI Skip] release/stable 3.4.2
skip-checks: true
2023-06-05 04:55:41 +00:00
Jaco 83fd6ad0c0 3.4.2 (#764)
* 3.4.2

* Correct CHANGELOG
2023-06-05 07:53:12 +03:00
github-actions[bot] 420f8f095b [CI Skip] bump/beta 3.4.2-3-x
skip-checks: true
2023-06-02 10:22:02 +00:00
Jaco 8a3ee3588d Bump deps (w/ TS 5.1) (#763) 2023-06-02 13:19:08 +03:00
github-actions[bot] 62e5e5e23e [CI Skip] bump/beta 3.4.2-2-x
skip-checks: true
2023-05-25 07:27:44 +00:00
Jaco a456a4c9df jg-bump-deps (#762) 2023-05-25 10:25:30 +03:00
github-actions[bot] 9a9c1f50ee [CI Skip] bump/beta 3.4.2-1-x
skip-checks: true
2023-05-21 09:41:53 +00:00
Jaco 7ad8333f2e Bump dev (w/ eslint config adj) (#761) 2023-05-21 12:39:43 +03:00
github-actions[bot] ec99102a78 [CI Skip] bump/beta 3.4.2-0-x
skip-checks: true
2023-05-18 09:13:06 +00:00
Jaco 36c7da623b Adjust tsconfig usage (#760) 2023-05-18 12:10:56 +03:00
github-actions[bot] 7bb148eea9 [CI Skip] release/stable 3.4.1
skip-checks: true
2023-05-13 08:55:51 +00:00
Jaco ee039545be 3.4.1 (#759) 2023-05-13 11:53:20 +03:00
github-actions[bot] e15651ac9c [CI Skip] bump/beta 3.3.2-0-x
skip-checks: true
2023-05-09 06:06:40 +00:00
Jaco f92e276a0d Bump deps (#758) 2023-05-09 09:04:24 +03:00
github-actions[bot] a51ef7bccc [CI Skip] release/stable 3.3.1
skip-checks: true
2023-05-07 11:13:05 +00:00
Jaco bf8a295d64 3.3.1 (#757) 2023-05-07 14:10:54 +03:00
github-actions[bot] d2bbf6bb0e [CI Skip] bump/beta 3.2.3-1-x
skip-checks: true
2023-05-05 06:31:40 +00:00
Jaco 60cc5fbd4b Bump deps & adjust CHANGELOG (#756) 2023-05-05 09:29:17 +03:00
github-actions[bot] dae851297b [CI Skip] bump/beta 3.2.3-0-x
skip-checks: true
2023-05-05 06:00:24 +00:00
Zenandgithub-actions[bot] fa9eef757a feat: adapt Vue 3.x (#755)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-05 08:57:35 +03:00
163 changed files with 7259 additions and 7839 deletions
-19
View File
@@ -1,19 +0,0 @@
// Copyright 2017-2023 @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'
]
}
};
+1 -1
View File
@@ -11,6 +11,6 @@ jobs:
steps:
- uses: jacogr/action-approve@795afd1dd096a2071d7ec98740661af4e853b7da
with:
authors: jacogr
authors: jacogr, TarikGul
labels: -auto
token: ${{ secrets.GH_PAT_BOT }}
+3 -3
View File
@@ -11,11 +11,11 @@ jobs:
env:
YARN_ENABLE_SCRIPTS: false
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- 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 }}
+3 -3
View File
@@ -18,14 +18,14 @@ jobs:
GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT_BOT }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT_BOT }}
- uses: actions/setup-node@v3
- 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 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui authors & contributors
// Copyright 2017-2024 @polkadot/ui-shared authors & contributors
// SPDX-License-Identifier: Apache-2.0
module.exports = require('@polkadot/dev/config/prettier.cjs');
+4
View File
@@ -0,0 +1,4 @@
{
"eslint.enable": true,
"eslint.experimental.useFlatConfig": true
}
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-785
View File
File diff suppressed because one or more lines are too long
+925
View File
File diff suppressed because one or more lines are too long
+9 -7
View File
@@ -1,13 +1,15 @@
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-3.2.0.cjs
yarnPath: .yarn/releases/yarn-4.4.0.cjs
+127
View File
@@ -1,5 +1,132 @@
# CHANGELOG
## 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:
+6 -2
View File
@@ -1,4 +1,5 @@
710 Jaco 3.2.2 (#754)
735 Jaco Adjust Vue peerDependency, >= 2.7 for defineComponent (#782)
20 Tarik Gul 3.10.1 (#809)
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 +9,7 @@
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 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)
@@ -21,16 +23,18 @@
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 omahs Fix: typos (#709)
1 Ryan Lee fix: qr-code (#801)
1 Shawn Tabrizi Add a new `notification` setting (#498)
1 Viki Val :bug: identicon has isAlternative both as data and prop (#668)
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 -1
View File
@@ -13,6 +13,6 @@ The following UI components are currently available -
Additionally some shared libraries, that are not dependent on any framework -
- [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 across UI components, e.g. for icon generation
+8
View File
@@ -0,0 +1,8 @@
// Copyright 2017-2024 @polkadot/ui-shared authors & contributors
// SPDX-License-Identifier: Apache-2.0
import baseConfig from '@polkadot/dev/config/eslint';
export default [
...baseConfig
];
+9 -9
View File
@@ -6,7 +6,7 @@
},
"homepage": "https://github.com/polkadot-js/ui#readme",
"license": "Apache-2.0",
"packageManager": "yarn@3.2.0",
"packageManager": "yarn@4.4.0",
"private": true,
"repository": {
"type": "git",
@@ -14,10 +14,10 @@
},
"sideEffects": false,
"type": "module",
"version": "3.2.2",
"version": "3.10.1",
"versions": {
"git": "3.2.2",
"npm": "3.2.2"
"git": "3.10.1",
"npm": "3.10.1"
},
"workspaces": [
"packages/*"
@@ -33,15 +33,15 @@
"test:one": "polkadot-dev-run-test --env browser"
},
"devDependencies": {
"@polkadot/dev": "^0.73.6",
"@polkadot/x-bundle": "^12.1.1",
"@types/node": "^18.16.3",
"@polkadot/dev": "^0.79.3",
"@polkadot/x-bundle": "^13.1.1",
"@types/node": "^20.10.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-is": "^18.2.0",
"react-native": "^0.71.7"
"react-native": "^0.73.1"
},
"resolutions": {
"typescript": "^5.0.4"
"typescript": "^5.3.3"
}
}
+13 -14
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/ui/issues",
"description": "Renders an SVG picture representing an address",
"engines": {
"node": ">=16"
"node": ">=18"
},
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/react-identicon#readme",
"license": "Apache-2.0",
@@ -14,28 +14,27 @@
"url": "https://github.com/polkadot-js/ui.git"
},
"sideEffects": [
"./detectPackage.js",
"./detectPackage.cjs"
"./packageDetect.js",
"./packageDetect.cjs"
],
"type": "module",
"version": "3.2.2",
"version": "3.10.1",
"main": "index.js",
"dependencies": {
"@polkadot/keyring": "^12.1.1",
"@polkadot/ui-settings": "3.2.2",
"@polkadot/ui-shared": "3.2.2",
"@polkadot/util": "^12.1.1",
"@polkadot/util-crypto": "^12.1.1",
"@polkadot/keyring": "^13.1.1",
"@polkadot/ui-settings": "3.10.1",
"@polkadot/ui-shared": "3.10.1",
"@polkadot/util": "^13.1.1",
"@polkadot/util-crypto": "^13.1.1",
"ethereum-blockies-base64": "^1.0.2",
"jdenticon": "3.2.0",
"react-copy-to-clipboard": "^5.1.0",
"styled-components": "^5.3.10",
"tslib": "^2.5.0"
"styled-components": "^6.1.1",
"tslib": "^2.6.2"
},
"devDependencies": {
"@types/react-copy-to-clipboard": "^5.0.4",
"@types/react-dom": "^18.2.1",
"@types/styled-components": "^5.1.26",
"@types/react-copy-to-clipboard": "^5.0.7",
"@types/react-dom": "^18.2.18",
"xmlserializer": "^0.6.1"
},
"peerDependencies": {
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Prefix } from '@polkadot/util-crypto/address/types';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
export * from './icons/index.js';
@@ -1,7 +0,0 @@
// Copyright 2017-2023 @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-2023 @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.js';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, others);
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Props } from '../types.js';
@@ -10,7 +10,7 @@ import { beachballIcon } from '@polkadot/ui-shared';
function Identicon ({ address, className = '', size, style = {} }: Props): React.ReactElement<Props> {
const updateElem = useCallback(
(node: HTMLDivElement): void => {
node && node.appendChild(
node?.appendChild(
beachballIcon(address, { isAlternative: false, size })
);
},
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Props } from '../types.js';
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Props } from '../types.js';
@@ -28,7 +28,7 @@ function Identicon ({ address, className = '', size, style = {} }: Props): React
);
}
const StyledImg = styled.img(({ size }: ImgProps) => `
const StyledImg = styled.img<ImgProps>(({ size }) => `
display: block;
height: ${size}px;
width: ${size}px;
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Props } from '../types.js';
@@ -1,4 +1,4 @@
// Copyright 2018-2023 @polkadot/react-identicon authors & contributors
// Copyright 2018-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Copyright 2018 Paritytech via paritytech/oo7/polkadot-identicon
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
export { Beachball } from './Beachball.js';
+2 -2
View File
@@ -1,7 +1,7 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import './detectPackage.js';
import './packageDetect.js';
import { Identicon } from './bundle.js';
@@ -0,0 +1,13 @@
// Copyright 2017-2024 @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]);
+2 -2
View File
@@ -1,6 +1,6 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @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: '3.2.2' };
export const packageInfo = { name: '@polkadot/react-identicon', path: 'auto', type: 'auto', version: '3.10.1' };
+2 -14
View File
@@ -1,16 +1,4 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { StyledInterface } from 'styled-components';
import styledComponents from 'styled-components';
// In styled-components v6, there is a named export which can be used
// directly, i.e. "import { styled } from ..." with no more magic. Until
// such time the cjs vs esm import here is problematic, so we hack around
// the various shapes below
export const styled = (
(styledComponents as unknown as { styled: StyledInterface }).styled ||
(styledComponents as unknown as { default: StyledInterface }).default ||
styledComponents as unknown as StyledInterface
);
export { styled } from 'styled-components';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2018-2023 @polkadot/react-identicon authors & contributors
// Copyright 2018-2024 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type React from 'react';
+11 -14
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/ui/issues",
"description": "Generates and reads QR codes",
"engines": {
"node": ">=16"
"node": ">=18"
},
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/react-qr#readme",
"license": "Apache-2.0",
@@ -14,24 +14,21 @@
"url": "https://github.com/polkadot-js/ui.git"
},
"sideEffects": [
"./detectPackage.js",
"./detectPackage.cjs"
"./packageDetect.js",
"./packageDetect.cjs"
],
"type": "module",
"version": "3.2.2",
"version": "3.10.1",
"main": "index.js",
"dependencies": {
"@polkadot/ui-settings": "3.2.2",
"@polkadot/util": "^12.1.1",
"@polkadot/util-crypto": "^12.1.1",
"@polkadot/ui-settings": "3.10.1",
"@polkadot/util": "^13.1.1",
"@polkadot/util-crypto": "^13.1.1",
"@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.10",
"tslib": "^2.5.0"
},
"devDependencies": {
"@types/react-qr-reader": "^2.1.4",
"@types/styled-components": "^5.1.26"
"styled-components": "^6.1.1",
"tslib": "^2.6.2"
},
"peerDependencies": {
"@polkadot/util": "*",
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import React, { useEffect, useMemo, useRef, useState } from 'react';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import React, { useMemo } from 'react';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import React, { useMemo } from 'react';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { NetworkSpecsStruct } from '@polkadot/ui-settings/types';
+45 -15
View File
@@ -1,8 +1,8 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import React, { useCallback, useMemo } from 'react';
import Reader from 'react-qr-reader';
import { BrowserQRCodeReader, type IScannerControls } from '@zxing/browser';
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
import { styled } from './styled.js';
import { createImgSize } from './util.js';
@@ -23,6 +23,9 @@ const DEFAULT_ERROR = (error: Error): void => {
};
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,21 +36,52 @@ function Scan ({ className = '', delay = DEFAULT_DELAY, onError = DEFAULT_ERROR,
[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 (
<StyledDiv
className={className}
style={containerStyle}
>
<Reader
<video
className='ui--qr-Scan'
delay={delay}
onError={_onError}
onScan={_onScan}
ref={videoRef}
style={style}
/>
</StyledDiv>
@@ -60,10 +94,6 @@ const StyledDiv = styled.div`
height: 100%;
transform: matrix(-1, 0, 0, 1, 0, 0);
width: 100%;
video {
margin: 0;
}
}
`;
+10 -5
View File
@@ -1,6 +1,8 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { HexString } from '@polkadot/util/types';
import React, { useCallback } from 'react';
import { decodeAddress } from '@polkadot/util-crypto';
@@ -11,7 +13,7 @@ import { QrScan } from './Scan.js';
interface ScanType {
isAddress: boolean;
content: string;
genesisHash: string;
genesisHash: HexString | null;
name?: string | undefined;
}
@@ -29,13 +31,16 @@ 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);
}
@@ -52,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 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { HexString } from '@polkadot/util/types';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
export { QrDisplayAddress } from './DisplayAddress.js';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
export const ADDRESS_PREFIX = 'substrate';
-6
View File
@@ -1,6 +0,0 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Empty template, auto-generated by @polkadot/dev
export default [];
+2 -2
View File
@@ -1,6 +1,6 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import './detectPackage.js';
import './packageDetect.js';
export * from './bundle.js';
@@ -1,11 +1,11 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @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 others from './detectOther.js';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, others);
detectPackage(packageInfo, null, []);
+2 -2
View File
@@ -1,6 +1,6 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @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: '3.2.2' };
export const packageInfo = { name: '@polkadot/react-qr', path: 'auto', type: 'auto', version: '3.10.1' };
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import _qrcode from 'qrcode-generator';
+2 -14
View File
@@ -1,16 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { StyledInterface } from 'styled-components';
import styledComponents from 'styled-components';
// In styled-components v6, there is a named export which can be used
// directly, i.e. "import { styled } from ..." with no more magic. Until
// such time the cjs vs esm import here is problematic, so we hack around
// the various shapes below
export const styled = (
(styledComponents as unknown as { styled: StyledInterface }).styled ||
(styledComponents as unknown as { default: StyledInterface }).default ||
styledComponents as unknown as StyledInterface
);
export { styled } from 'styled-components';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
/// <reference types="@polkadot/dev-test/globals.d.ts" />
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { isString, u8aConcat, u8aToU8a } from '@polkadot/util';
+3
View File
@@ -5,6 +5,9 @@
"outDir": "./build",
"rootDir": "./src"
},
"exclude": [
"**/*.spec.ts"
],
"references": [
{ "path": "../ui-settings/tsconfig.build.json" }
]
+16
View File
@@ -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" }
]
}
+10 -10
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/ui/issues",
"description": "Renders an SVG picture representing an address",
"engines": {
"node": ">=16"
"node": ">=18"
},
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/reactnative-identicon#readme",
"license": "Apache-2.0",
@@ -14,21 +14,21 @@
"url": "https://github.com/polkadot-js/ui.git"
},
"sideEffects": [
"./detectPackage.js",
"./detectPackage.cjs"
"./packageDetect.js",
"./packageDetect.cjs"
],
"type": "module",
"version": "3.2.2",
"version": "3.10.1",
"main": "index.js",
"dependencies": {
"@polkadot/ui-shared": "3.2.2",
"@polkadot/util": "^12.1.1",
"@polkadot/util-crypto": "^12.1.1",
"react-native-svg": "^12.5.1",
"tslib": "^2.5.0"
"@polkadot/ui-shared": "3.10.1",
"@polkadot/util": "^13.1.1",
"@polkadot/util-crypto": "^13.1.1",
"react-native-svg": "^14.1.0",
"tslib": "^2.6.2"
},
"devDependencies": {
"@types/react-native": "^0.71.6"
"@types/react-native": "^0.72.8"
},
"peerDependencies": {
"@polkadot/util": "*",
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Prefix } from '@polkadot/util-crypto/address/types';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
export * from './icons/index.js';
@@ -1,6 +0,0 @@
// Copyright 2017-2023 @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-2023 @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.js';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, others);
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Props } from '../types.js';
@@ -1,4 +1,4 @@
// Copyright 2018-2023 @polkadot/reactnative-identicon authors & contributors
// Copyright 2018-2024 @polkadot/reactnative-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Circle as CircleType } from '@polkadot/ui-shared/icons/types';
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
export { default as Empty } from './Empty.js';
+2 -2
View File
@@ -1,7 +1,7 @@
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import './detectPackage.js';
import './packageDetect.js';
import Identicon from './Identicon.js';
@@ -0,0 +1,12 @@
// Copyright 2017-2024 @polkadot/reactnative-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 sharedInfo } from '@polkadot/ui-shared/packageInfo';
import { detectPackage } from '@polkadot/util';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, [sharedInfo]);
@@ -1,6 +1,6 @@
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/reactnative-identicon', path: 'auto', type: 'auto', version: '3.2.2' };
export const packageInfo = { name: '@polkadot/reactnative-identicon', path: 'auto', type: 'auto', version: '3.10.1' };
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2018-2023 @polkadot/reactnative-identicon authors & contributors
// Copyright 2018-2024 @polkadot/reactnative-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
export interface Props {
+1 -1
View File
@@ -123,7 +123,7 @@ class MyReactComponent extends React.PureComponent<State> {
- What are 'external' accounts, i.e. when to set the `isExternal` meta key to true?
- An external account is one where the keys are not managed by keyring, e.g. in Parity Signer or Ledger Nano.
- SS58 Encode / Decode?
- SS58 is a simple address format designed for Substrate based chains. You can read about its specification in more detail in the [Parity Wiki](https://wiki.parity.io/External-Address-Format-(SS58)).
- SS58 is a simple address format designed for Substrate based chains. You can read about its specification in more detail in the [Substrate Documentation](https://docs.substrate.io/reference/address-formats/).
**If you have any unanswered/undocumented questions, please raise an issue [here](https://github.com/polkadot-js/ui/issues).**
+11 -11
View File
@@ -2,7 +2,7 @@
"author": "Jaco Greeff <jacogr@gmail.com>",
"bugs": "https://github.com/polkadot-js/ui/issues",
"engines": {
"node": ">=16"
"node": ">=18"
},
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-keyring#readme",
"license": "Apache-2.0",
@@ -13,25 +13,25 @@
"url": "https://github.com/polkadot-js/ui.git"
},
"sideEffects": [
"./detectPackage.js",
"./detectPackage.cjs"
"./packageDetect.js",
"./packageDetect.cjs"
],
"type": "module",
"version": "3.2.2",
"version": "3.10.1",
"main": "index.js",
"dependencies": {
"@polkadot/keyring": "^12.1.1",
"@polkadot/ui-settings": "3.2.2",
"@polkadot/util": "^12.1.1",
"@polkadot/util-crypto": "^12.1.1",
"mkdirp": "^2.1.6",
"@polkadot/keyring": "^13.1.1",
"@polkadot/ui-settings": "3.10.1",
"@polkadot/util": "^13.1.1",
"@polkadot/util-crypto": "^13.1.1",
"mkdirp": "^3.0.1",
"rxjs": "^7.8.1",
"store": "^2.0.12",
"tslib": "^2.5.0"
"tslib": "^2.6.2"
},
"devDependencies": {
"@types/mkdirp": "^2.0.0",
"@types/store": "^2.0.2"
"@types/store": "^2.0.5"
},
"peerDependencies": {
"@polkadot/keyring": "*",
+7 -6
View File
@@ -1,7 +1,8 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringInstance, KeyringPair } from '@polkadot/keyring/types';
import type { HexString } from '@polkadot/util/types';
import type { Prefix } from '@polkadot/util-crypto/address/types';
import type { AddressSubject } from './observable/types.js';
import type { KeyringOptions, KeyringStore } from './types.js';
@@ -28,9 +29,9 @@ export class Base {
protected _store: KeyringStore;
protected _genesisHash?: string | undefined;
protected _genesisHash?: HexString | undefined;
protected _genesisHashAdd: string[] = [];
protected _genesisHashAdd: HexString[] = [];
constructor () {
this.#accounts = accounts;
@@ -64,11 +65,11 @@ export class Base {
throw new Error('Keyring should be initialised via \'loadAll\' before use');
}
public get genesisHash (): string | undefined {
public get genesisHash (): HexString | undefined {
return this._genesisHash;
}
public get genesisHashes (): string[] {
public get genesisHashes (): HexString[] {
return this._genesisHash
? [this._genesisHash, ...this._genesisHashAdd]
: [...this._genesisHashAdd];
@@ -130,7 +131,7 @@ export class Base {
this.#keyring = keyring;
this._genesisHash = options.genesisHash && (
isString(options.genesisHash)
? options.genesisHash.toString()
? options.genesisHash.toString() as HexString
: options.genesisHash.toHex()
);
this._genesisHashAdd = options.genesisHashAdd || [];
+17 -9
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta } from '@polkadot/keyring/types';
@@ -152,8 +152,14 @@ export class Keyring extends Base implements KeyringStruct {
return Object
.keys(available)
.map((address): KeyringAddress => this.getAddress(address, 'account') as KeyringAddress)
.filter((account) => env.isDevelopment() || account.meta.isTesting !== true);
.map((address) => this.getAddress(address, 'account'))
.filter((account): account is KeyringAddress =>
!!account &&
(
env.isDevelopment() ||
account.meta.isTesting !== true
)
);
}
public getAddress (_address: string | Uint8Array, type: KeyringItemType | null = null): KeyringAddress | undefined {
@@ -180,7 +186,8 @@ export class Keyring extends Base implements KeyringStruct {
return Object
.keys(available)
.map((address): KeyringAddress => this.getAddress(address) as KeyringAddress);
.map((address) => this.getAddress(address))
.filter((account): account is KeyringAddress => !!account);
}
public getContract (address: string | Uint8Array): KeyringAddress | undefined {
@@ -195,11 +202,12 @@ export class Keyring extends Base implements KeyringStruct {
.filter(([, { json: { meta: { contract } } }]): boolean =>
!!contract && contract.genesisHash === this.genesisHash
)
.map(([address]) => this.getContract(address) as KeyringAddress);
.map(([address]) => this.getContract(address))
.filter((account): account is KeyringAddress => !!account);
}
private rewriteKey (json: KeyringJson, key: string, hexAddr: string, creator: (addr: string) => string): void {
if (hexAddr.substring(0, 2) === '0x') {
if (hexAddr.startsWith('0x')) {
return;
}
@@ -252,7 +260,7 @@ export class Keyring extends Base implements KeyringStruct {
const [, hexAddr] = key.split(':');
// move genesisHash to top-level (TODO Remove from contracts section?)
json.meta.genesisHash = json.meta.genesisHash || (json.meta.contract && json.meta.contract.genesisHash);
json.meta.genesisHash = json.meta.genesisHash || (json.meta.contract?.genesisHash);
this.contracts.add(this._store, address, json);
this.rewriteKey(json, key, hexAddr, contractKey);
@@ -269,7 +277,7 @@ export class Keyring extends Base implements KeyringStruct {
}
private allowGenesis (json?: KeyringJson | { meta: KeyringJson$Meta } | null): boolean {
if (json && json.meta && this.genesisHash) {
if (json?.meta && this.genesisHash) {
const hashes: (string | null | undefined)[] = Object.values(chains).find((hashes): boolean =>
hashes.includes(this.genesisHash || '')
) || [this.genesisHash];
@@ -370,7 +378,7 @@ export class Keyring extends Base implements KeyringStruct {
public saveAddress (address: string, meta: KeyringPair$Meta, type: KeyringAddressType = 'address'): KeyringPair$Json {
const available = this.addresses.subject.getValue();
const json = (available[address] && available[address].json) || {
const json = available[address]?.json || {
address,
meta: {
isRecent: undefined,
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { Keyring } from './Keyring.js';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { decodeAddress } from '@polkadot/keyring';
-6
View File
@@ -1,6 +0,0 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { packageInfo as settingsInfo } from '@polkadot/ui-settings/packageInfo';
export default [settingsInfo];
-11
View File
@@ -1,11 +0,0 @@
// Copyright 2017-2023 @polkadot/ui-keyring 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.js';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, others);
+2 -2
View File
@@ -1,7 +1,7 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import './detectPackage.js';
import './packageDetect.js';
import { keyring } from './bundle.js';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/util authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Be able to import json in TS
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { accountKey } from '../defaults.js';
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { addressKey } from '../defaults.js';
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { contractKey } from '../defaults.js';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { BehaviorSubject } from 'rxjs';
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeypairType } from '@polkadot/util-crypto/types';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { SubjectInfo } from './types.js';
+2 -4
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { BehaviorSubject } from 'rxjs';
@@ -12,9 +12,7 @@ export interface SingleAddress {
type?: KeypairType | undefined;
}
export interface SubjectInfo {
[index: string]: SingleAddress;
}
export type SubjectInfo = Record<string, SingleAddress>;
export interface AddressSubject {
add: (store: KeyringStore, address: string, json: KeyringJson, type?: KeypairType) => SingleAddress;
@@ -1,27 +0,0 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import type { KeyringStruct } from '../types.js';
import { KeyringOption } from './index.js';
describe('KeyringOption', (): void => {
// Warning: Test "should not allow initOptions to be called more than once" generated asynchronous activity after the test ended. This activity created the error "TypeError: Cannot read properties of undefined (reading 'subject')" and would have caused the test to fail, but instead triggered an uncaughtException event.
it.skip('should not allow initOptions to be called more than once', (): void => {
const keyringOption = new KeyringOption();
const state = {} as KeyringStruct;
// first call
keyringOption.init(state);
// second call
expect(
() => keyringOption.init(state)
).toThrow('Unable to initialise options more than once');
// cleanup?
keyringOption.clear();
});
});
+3 -3
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Subscription } from 'rxjs';
@@ -37,7 +37,7 @@ const sortByCreated = (a: SingleAddress, b: SingleAddress): number => {
export class KeyringOption implements KeyringOptionInstance {
#allSub: Subscription | null = null;
public readonly optionsSubject: BehaviorSubject<KeyringOptions> = new BehaviorSubject(this.emptyOptions());
public readonly optionsSubject = new BehaviorSubject<KeyringOptions>(this.emptyOptions());
public createOptionHeader (name: string): KeyringSectionOption {
return {
@@ -77,7 +77,7 @@ export class KeyringOption implements KeyringOptionInstance {
}
}
private linkItems (items: { [index: string]: KeyringSectionOptions }): KeyringSectionOptions {
private linkItems (items: Record<string, KeyringSectionOptions>): KeyringSectionOptions {
return Object.keys(items).reduce((result, header): KeyringSectionOptions => {
const options = items[header];
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringSectionOption } from './types.js';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringItemType, KeyringStruct } from '../types.js';
+12
View File
@@ -0,0 +1,12 @@
// Copyright 2017-2024 @polkadot/ui-keyring 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 { detectPackage } from '@polkadot/util';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, [settingsInfo]);
+2 -2
View File
@@ -1,6 +1,6 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/ui-keyring', path: 'auto', type: 'auto', version: '3.2.2' };
export const packageInfo = { name: '@polkadot/ui-keyring', path: 'auto', type: 'auto', version: '3.10.1' };
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringJson, KeyringStore } from '../types.js';
+3 -3
View File
@@ -1,9 +1,9 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringJson, KeyringStore } from '../types.js';
import mkdirp from 'mkdirp';
import { mkdirpSync } from 'mkdirp';
import fs from 'node:fs';
import path from 'node:path';
@@ -13,7 +13,7 @@ export class FileStore implements KeyringStore {
constructor (path: string) {
if (!fs.existsSync(path)) {
mkdirp.sync(path);
mkdirpSync(path);
}
this.#path = path;
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
export { BrowserStore } from './Browser.js';
+6 -21
View File
@@ -1,30 +1,15 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// Copyright 2017-2024 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringInstance as BaseKeyringInstance, KeyringOptions as KeyringOptionsBase, KeyringPair, KeyringPair$Json, KeyringPair$Meta } from '@polkadot/keyring/types';
import type { HexString } from '@polkadot/util/types';
import type { EncryptedJson } from '@polkadot/util-crypto/json/types';
import type { KeypairType } from '@polkadot/util-crypto/types';
import type { AddressSubject, SingleAddress } from './observable/types.js';
export interface ContractMeta {
abi: string;
genesisHash?: string | null;
}
export type ContractMeta = NonNullable<KeyringPair$Meta['contract']>;
export interface KeyringJson$Meta {
contract?: ContractMeta;
genesisHash?: string | null | undefined;
hardwareType?: 'ledger';
isHardware?: boolean;
isInjected?: boolean;
isRecent?: boolean;
isTesting?: boolean;
name?: string;
whenCreated?: number;
whenEdited?: number;
whenUsed?: number;
[index: string]: unknown;
}
export type KeyringJson$Meta = KeyringPair$Meta;
export interface KeyringJson {
address: string;
@@ -44,8 +29,8 @@ export interface KeyringStore {
export interface KeyringOptions extends KeyringOptionsBase {
filter?: (json: KeyringJson) => boolean;
genesisHash?: string | { toHex: () => string };
genesisHashAdd?: string[];
genesisHash?: HexString | { toHex: () => HexString };
genesisHashAdd?: HexString[];
isDevelopment?: boolean;
store?: KeyringStore;
}
+3
View File
@@ -5,6 +5,9 @@
"outDir": "./build",
"rootDir": "./src"
},
"exclude": [
"**/*.spec.ts"
],
"references": [
{ "path": "../ui-settings/tsconfig.build.json" }
]
+16
View File
@@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": "..",
"outDir": "./build",
"rootDir": "./src",
"emitDeclarationOnly": false,
"noEmit": true
},
"include": [
"**/*.spec.ts"
],
"references": [
{ "path": "../ui-keyring/tsconfig.build.json" }
]
}
+9 -9
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/ui/issues",
"description": "Manages app settings",
"engines": {
"node": ">=16"
"node": ">=18"
},
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-settings#readme",
"license": "Apache-2.0",
@@ -14,21 +14,21 @@
"url": "https://github.com/polkadot-js/ui.git"
},
"sideEffects": [
"./detectPackage.js",
"./detectPackage.cjs"
"./packageDetect.js",
"./packageDetect.cjs"
],
"type": "module",
"version": "3.2.2",
"version": "3.10.1",
"main": "index.js",
"dependencies": {
"@polkadot/networks": "^12.1.1",
"@polkadot/util": "^12.1.1",
"eventemitter3": "^5.0.0",
"@polkadot/networks": "^13.1.1",
"@polkadot/util": "^13.1.1",
"eventemitter3": "^5.0.1",
"store": "^2.0.12",
"tslib": "^2.5.0"
"tslib": "^2.6.2"
},
"devDependencies": {
"@types/store": "^2.0.2"
"@types/store": "^2.0.5"
},
"peerDependencies": {
"@polkadot/networks": "*",
+16 -3
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-settings authors & contributors
// Copyright 2017-2024 @polkadot/ui-settings authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Endpoint, EndpointType, Option, SettingsStruct } from './types.js';
@@ -8,7 +8,7 @@ import store from 'store';
import { hasProcess, isUndefined } from '@polkadot/util';
import { CAMERA, CAMERA_DEFAULT, CRYPTOS, CRYPTOS_ETH, CRYPTOS_LEDGER, ENDPOINT_DEFAULT, ENDPOINTS, ICON_DEFAULT, ICONS, LANGUAGE_DEFAULT, LEDGER_CONN, LEDGER_CONN_DEFAULT, LOCKING, LOCKING_DEFAULT, METADATA_UP, METADATA_UP_DEFAULT, NOTIFICATION_DEFAULT, PREFIX_DEFAULT, PREFIXES, STORAGE, STORAGE_DEFAULT, UIMODE_DEFAULT, UIMODES, UITHEME_DEFAULT, UITHEMES } from './defaults/index.js';
import { CAMERA, CAMERA_DEFAULT, CRYPTOS, CRYPTOS_ETH, CRYPTOS_LEDGER, ENDPOINT_DEFAULT, ENDPOINTS, ICON_DEFAULT, ICONS, LANGUAGE_DEFAULT, LEDGER_APP, LEDGER_APP_DEFAULT, LEDGER_CONN, LEDGER_CONN_DEFAULT, LOCKING, LOCKING_DEFAULT, METADATA_UP, METADATA_UP_DEFAULT, NOTIFICATION_DEFAULT, PREFIX_DEFAULT, PREFIXES, STORAGE, STORAGE_DEFAULT, UIMODE_DEFAULT, UIMODES, UITHEME_DEFAULT, UITHEMES } from './defaults/index.js';
type ChangeCallback = (settings: SettingsStruct) => void;
type OnTypes = 'change';
@@ -35,6 +35,8 @@ export class Settings implements SettingsStruct {
#icon: string;
#ledgerApp: string;
#ledgerConn: string;
#locking: string;
@@ -57,9 +59,10 @@ export class Settings implements SettingsStruct {
this.#emitter = new EventEmitter();
// will become deprecated for supporting substrate connect light clients. apiType structure should be used instead
this.#apiUrl = (typeof settings.apiUrl === 'string' && settings.apiUrl) || (hasProcess && process.env && process.env.WS_URL) || (ENDPOINT_DEFAULT.value as string);
this.#apiUrl = (typeof settings.apiUrl === 'string' && settings.apiUrl) || (hasProcess && process.env?.['WS_URL']) || (ENDPOINT_DEFAULT.value as string);
this.#apiType = { param: this.#apiUrl, type: 'json-rpc' as EndpointType };
this.#camera = withDefault(CAMERA, settings.camera, CAMERA_DEFAULT);
this.#ledgerApp = withDefault(LEDGER_APP, settings.ledgerApp, LEDGER_APP_DEFAULT);
this.#ledgerConn = withDefault(LEDGER_CONN, settings.ledgerConn, LEDGER_CONN_DEFAULT);
this.#i18nLang = settings.i18nLang || LANGUAGE_DEFAULT;
this.#icon = settings.icon || ICON_DEFAULT;
@@ -96,6 +99,10 @@ export class Settings implements SettingsStruct {
return this.#notification;
}
public get ledgerApp (): string {
return this.#ledgerApp;
}
public get ledgerConn (): string {
return this.#ledgerConn;
}
@@ -144,6 +151,10 @@ export class Settings implements SettingsStruct {
return ICONS;
}
public get availableLedgerApp (): Option[] {
return LEDGER_APP;
}
public get availableLedgerConn (): Option[] {
return LEDGER_CONN;
}
@@ -183,6 +194,7 @@ export class Settings implements SettingsStruct {
camera: this.#camera,
i18nLang: this.#i18nLang,
icon: this.#icon,
ledgerApp: this.#ledgerApp,
ledgerConn: this.#ledgerConn,
locking: this.#locking,
metadataUp: this.#metadataUp,
@@ -199,6 +211,7 @@ export class Settings implements SettingsStruct {
this.#apiUrl = settings.apiUrl || this.#apiUrl;
this.#camera = settings.camera || this.#camera;
this.#ledgerConn = settings.ledgerConn || this.#ledgerConn;
this.#ledgerApp = settings.ledgerApp || this.#ledgerApp;
this.#i18nLang = settings.i18nLang || this.#i18nLang;
this.#icon = settings.icon || this.#icon;
this.#locking = settings.locking || this.#locking;
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-settings authors & contributors
// Copyright 2017-2024 @polkadot/ui-settings authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { Settings, settings } from './Settings.js';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-settings authors & contributors
// Copyright 2017-2024 @polkadot/ui-settings authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { selectableNetworks } from '@polkadot/networks';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-settings authors & contributors
// Copyright 2017-2024 @polkadot/ui-settings authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Option } from '../types.js';
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui-settings authors & contributors
// Copyright 2017-2024 @polkadot/ui-settings authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Option } from '../types.js';

Some files were not shown because too many files have changed in this diff Show More