Compare commits
63
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
module.exports = require('@polkadot/dev/config/prettier.cjs');
|
module.exports = require('@polkadot/dev/config/prettier.cjs');
|
||||||
|
|||||||
@@ -13,3 +13,11 @@ logFilters:
|
|||||||
nodeLinker: node-modules
|
nodeLinker: node-modules
|
||||||
|
|
||||||
yarnPath: .yarn/releases/yarn-4.5.1.cjs
|
yarnPath: .yarn/releases/yarn-4.5.1.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/"
|
||||||
|
|||||||
@@ -1,5 +1,101 @@
|
|||||||
# CHANGELOG
|
# 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
|
## 3.12.2 Feb 18, 2025
|
||||||
|
|
||||||
Changes:
|
Changes:
|
||||||
|
|||||||
+3
-1
@@ -1,5 +1,6 @@
|
|||||||
735 Jaco Adjust Vue peerDependency, >= 2.7 for defineComponent (#782)
|
735 Jaco Adjust Vue peerDependency, >= 2.7 for defineComponent (#782)
|
||||||
34 Tarik Gul Bump dev to 0.83.2 (#827)
|
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)
|
7 YJ fix #224: decrease frame size to 1024, set multipart bool (#225)
|
||||||
4 Antoine Estienne Refactor logic to better use prefix (#491)
|
4 Antoine Estienne Refactor logic to better use prefix (#491)
|
||||||
4 kwingram25 fix ff api url issue (#289)
|
4 kwingram25 fix ff api url issue (#289)
|
||||||
@@ -30,6 +31,7 @@
|
|||||||
1 Luke Schoen Fix typo in heading (#114)
|
1 Luke Schoen Fix typo in heading (#114)
|
||||||
1 Nantian fix bigint type (#510)
|
1 Nantian fix bigint type (#510)
|
||||||
1 Nikhil Ranjan Updated to valid javascript (#271)
|
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 omahs Fix: typos (#709)
|
||||||
1 Ryan Lee fix: qr-code (#801)
|
1 Ryan Lee fix: qr-code (#801)
|
||||||
1 Shawn Tabrizi Add a new `notification` setting (#498)
|
1 Shawn Tabrizi Add a new `notification` setting (#498)
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import baseConfig from '@polkadot/dev/config/eslint';
|
import baseConfig from '@polkadot/dev/config/eslint';
|
||||||
|
|||||||
+9
-6
@@ -14,10 +14,10 @@
|
|||||||
},
|
},
|
||||||
"sideEffects": false,
|
"sideEffects": false,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "3.12.2",
|
"version": "3.16.7",
|
||||||
"versions": {
|
"versions": {
|
||||||
"git": "3.12.2",
|
"git": "3.16.7",
|
||||||
"npm": "3.12.2"
|
"npm": "3.16.7"
|
||||||
},
|
},
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"packages/*"
|
"packages/*"
|
||||||
@@ -33,8 +33,8 @@
|
|||||||
"test:one": "polkadot-dev-run-test --env browser"
|
"test:one": "polkadot-dev-run-test --env browser"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/dev": "^0.83.2",
|
"@polkadot/dev": "^0.83.3",
|
||||||
"@polkadot/x-bundle": "^13.4.3",
|
"@polkadot/x-bundle": "^14.0.3",
|
||||||
"@types/node": "^22.10.5",
|
"@types/node": "^22.10.5",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
@@ -42,6 +42,9 @@
|
|||||||
"react-native": "^0.73.1"
|
"react-native": "^0.73.1"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"typescript": "^5.5.4"
|
"@polkadot/keyring": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fkeyring/-/14.0.3-quantus.2/keyring-14.0.3-quantus.2.tgz",
|
||||||
|
"@polkadot/networks": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fnetworks/-/14.0.3-quantus.2/networks-14.0.3-quantus.2.tgz",
|
||||||
|
"@polkadot/util-crypto": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Futil-crypto/-/14.0.3-quantus.2/util-crypto-14.0.3-quantus.2.tgz",
|
||||||
|
"typescript": "5.5.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,14 +18,14 @@
|
|||||||
"./packageDetect.cjs"
|
"./packageDetect.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "3.12.2",
|
"version": "3.16.7",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@polkadot/keyring": "^13.4.3",
|
"@polkadot/keyring": "^14.0.3",
|
||||||
"@polkadot/ui-settings": "3.12.2",
|
"@polkadot/ui-settings": "3.16.7",
|
||||||
"@polkadot/ui-shared": "3.12.2",
|
"@polkadot/ui-shared": "3.16.7",
|
||||||
"@polkadot/util": "^13.4.3",
|
"@polkadot/util": "^14.0.3",
|
||||||
"@polkadot/util-crypto": "^13.4.3",
|
"@polkadot/util-crypto": "^14.0.3",
|
||||||
"ethereum-blockies-base64": "^1.0.2",
|
"ethereum-blockies-base64": "^1.0.2",
|
||||||
"jdenticon": "3.2.0",
|
"jdenticon": "3.2.0",
|
||||||
"react-copy-to-clipboard": "^5.1.0",
|
"react-copy-to-clipboard": "^5.1.0",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export * from './icons/index.js';
|
export * from './icons/index.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Props } from '../types.js';
|
import type { Props } from '../types.js';
|
||||||
@@ -10,9 +10,12 @@ 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(
|
const updateElem = useCallback(
|
||||||
(node: HTMLDivElement): void => {
|
(node: HTMLDivElement): void => {
|
||||||
node?.appendChild(
|
if (node) {
|
||||||
beachballIcon(address, { isAlternative: false, size })
|
node.innerHTML = '';
|
||||||
);
|
node.appendChild(
|
||||||
|
beachballIcon(address, { isAlternative: false, size })
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
[address, size]
|
[address, size]
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Props } from '../types.js';
|
import type { Props } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Props } from '../types.js';
|
import type { Props } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Props } from '../types.js';
|
import type { Props } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2018-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2018-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Copyright 2018 Paritytech via paritytech/oo7/polkadot-identicon
|
// Copyright 2018 Paritytech via paritytech/oo7/polkadot-identicon
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export { Beachball } from './Beachball.js';
|
export { Beachball } from './Beachball.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import './packageDetect.js';
|
import './packageDetect.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/react-identicon', path: 'auto', type: 'auto', version: '3.12.2' };
|
export const packageInfo = { name: '@polkadot/react-identicon', path: 'auto', type: 'auto', version: '3.16.7' };
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export { styled } from 'styled-components';
|
export { styled } from 'styled-components';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2018-2025 @polkadot/react-identicon authors & contributors
|
// Copyright 2018-2026 @polkadot/react-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
|
|||||||
@@ -18,12 +18,12 @@
|
|||||||
"./packageDetect.cjs"
|
"./packageDetect.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "3.12.2",
|
"version": "3.16.7",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@polkadot/ui-settings": "3.12.2",
|
"@polkadot/ui-settings": "3.16.7",
|
||||||
"@polkadot/util": "^13.4.3",
|
"@polkadot/util": "^14.0.3",
|
||||||
"@polkadot/util-crypto": "^13.4.3",
|
"@polkadot/util-crypto": "^14.0.3",
|
||||||
"@zxing/browser": "^0.1.5",
|
"@zxing/browser": "^0.1.5",
|
||||||
"@zxing/library": "^0.21.2",
|
"@zxing/library": "^0.21.2",
|
||||||
"qrcode-generator": "^1.4.4",
|
"qrcode-generator": "^1.4.4",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import React, { useMemo } from 'react';
|
import React, { useMemo } from 'react';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import React, { useMemo } from 'react';
|
import React, { useMemo } from 'react';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { NetworkSpecsStruct } from '@polkadot/ui-settings/types';
|
import type { NetworkSpecsStruct } from '@polkadot/ui-settings/types';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { BrowserQRCodeReader, type IScannerControls } from '@zxing/browser';
|
import { BrowserQRCodeReader, type IScannerControls } from '@zxing/browser';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { HexString } from '@polkadot/util/types';
|
import type { HexString } from '@polkadot/util/types';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { HexString } from '@polkadot/util/types';
|
import type { HexString } from '@polkadot/util/types';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export { QrDisplayAddress } from './DisplayAddress.js';
|
export { QrDisplayAddress } from './DisplayAddress.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export const ADDRESS_PREFIX = 'substrate';
|
export const ADDRESS_PREFIX = 'substrate';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import './packageDetect.js';
|
import './packageDetect.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/react-qr', path: 'auto', type: 'auto', version: '3.12.2' };
|
export const packageInfo = { name: '@polkadot/react-qr', path: 'auto', type: 'auto', version: '3.16.7' };
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import _qrcode from 'qrcode-generator';
|
import _qrcode from 'qrcode-generator';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export { styled } from 'styled-components';
|
export { styled } from 'styled-components';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/react-qr authors & contributors
|
// Copyright 2017-2026 @polkadot/react-qr authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { isString, u8aConcat, u8aToU8a } from '@polkadot/util';
|
import { isString, u8aConcat, u8aToU8a } from '@polkadot/util';
|
||||||
|
|||||||
@@ -18,12 +18,12 @@
|
|||||||
"./packageDetect.cjs"
|
"./packageDetect.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "3.12.2",
|
"version": "3.16.7",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@polkadot/ui-shared": "3.12.2",
|
"@polkadot/ui-shared": "3.16.7",
|
||||||
"@polkadot/util": "^13.4.3",
|
"@polkadot/util": "^14.0.3",
|
||||||
"@polkadot/util-crypto": "^13.4.3",
|
"@polkadot/util-crypto": "^14.0.3",
|
||||||
"react-native-svg": "^14.1.0",
|
"react-native-svg": "^14.1.0",
|
||||||
"tslib": "^2.8.1"
|
"tslib": "^2.8.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/reactnative-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/reactnative-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export * from './icons/index.js';
|
export * from './icons/index.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/reactnative-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Props } from '../types.js';
|
import type { Props } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2018-2025 @polkadot/reactnative-identicon authors & contributors
|
// Copyright 2018-2026 @polkadot/reactnative-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Circle as CircleType } from '@polkadot/ui-shared/icons/types';
|
import type { Circle as CircleType } from '@polkadot/ui-shared/icons/types';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/reactnative-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export { default as Empty } from './Empty.js';
|
export { default as Empty } from './Empty.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/reactnative-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import './packageDetect.js';
|
import './packageDetect.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/reactnative-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Copyright 2017-2025 @polkadot/reactnative-identicon authors & contributors
|
// Copyright 2017-2026 @polkadot/reactnative-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/reactnative-identicon', path: 'auto', type: 'auto', version: '3.12.2' };
|
export const packageInfo = { name: '@polkadot/reactnative-identicon', path: 'auto', type: 'auto', version: '3.16.7' };
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2018-2025 @polkadot/reactnative-identicon authors & contributors
|
// Copyright 2018-2026 @polkadot/reactnative-identicon authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
|
|||||||
@@ -17,13 +17,13 @@
|
|||||||
"./packageDetect.cjs"
|
"./packageDetect.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "3.12.2",
|
"version": "3.16.7-quantus.2",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@polkadot/keyring": "^13.4.3",
|
"@polkadot/keyring": "14.0.3-quantus.2",
|
||||||
"@polkadot/ui-settings": "3.12.2",
|
"@polkadot/ui-settings": "3.16.7",
|
||||||
"@polkadot/util": "^13.4.3",
|
"@polkadot/util": "^14.0.3",
|
||||||
"@polkadot/util-crypto": "^13.4.3",
|
"@polkadot/util-crypto": "14.0.3-quantus.2",
|
||||||
"mkdirp": "^3.0.1",
|
"mkdirp": "^3.0.1",
|
||||||
"rxjs": "^7.8.1",
|
"rxjs": "^7.8.1",
|
||||||
"store": "^2.0.12",
|
"store": "^2.0.12",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { KeyringInstance, KeyringPair } from '@polkadot/keyring/types';
|
import type { KeyringInstance, KeyringPair } from '@polkadot/keyring/types';
|
||||||
|
|||||||
@@ -0,0 +1,88 @@
|
|||||||
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||||
|
|
||||||
|
import type { KeyringPair$Json } from '@polkadot/keyring/types';
|
||||||
|
|
||||||
|
import { contextForSpec } from '@quantus/crypto';
|
||||||
|
|
||||||
|
import { Keyring as BaseKeyring } from '@polkadot/keyring';
|
||||||
|
import { dilithiumVerify } from '@polkadot/util-crypto';
|
||||||
|
|
||||||
|
import { Keyring } from './Keyring.js';
|
||||||
|
|
||||||
|
// crystal_alice, from the chain's dev genesis — a raw 32-byte seed straight into
|
||||||
|
// ML-DSA-87 keygen. The address is what `quantus developer create-test-wallets`
|
||||||
|
// prints, i.e. an independent implementation.
|
||||||
|
const ALICE = 'qzk1Nxai3dZD9Cn5kwGcgL6mKxsfxwqdis7kDQJ52aJS2vSn7';
|
||||||
|
const PASSWORD = 'not a good password';
|
||||||
|
const MESSAGE = new Uint8Array([0x75, 0x69]);
|
||||||
|
|
||||||
|
function backup (): KeyringPair$Json {
|
||||||
|
const base = new BaseKeyring({ ss58Format: 189, type: 'dilithium87' });
|
||||||
|
|
||||||
|
return base
|
||||||
|
.addFromSeed(new Uint8Array(32), { name: 'crystal_alice' }, 'dilithium87')
|
||||||
|
.toJson(PASSWORD);
|
||||||
|
}
|
||||||
|
|
||||||
|
// `loadAll` initialises `@polkadot/ui-settings`, which is a module singleton, so
|
||||||
|
// it may be called once per *process* — not per instance. One keyring for the
|
||||||
|
// whole file, loaded once.
|
||||||
|
const uiKeyring = new Keyring();
|
||||||
|
|
||||||
|
uiKeyring.loadAll({ ss58Format: 189, store: undefined, type: 'dilithium87' });
|
||||||
|
|
||||||
|
describe('ui-keyring restoreAccount', (): void => {
|
||||||
|
// Before the fix this constructed a pair whose "public key" was
|
||||||
|
// decodeAddress(json.address) — i.e. a Poseidon2 hash of the public key, passed
|
||||||
|
// off as the key itself. It did not throw; it produced a pair that was simply
|
||||||
|
// wrong.
|
||||||
|
it('restores an ML-DSA account to the right address', (): void => {
|
||||||
|
const pair = uiKeyring.restoreAccount(backup(), PASSWORD);
|
||||||
|
|
||||||
|
expect(pair.address).toEqual(ALICE);
|
||||||
|
expect(pair.publicKey.length).toEqual(2592);
|
||||||
|
expect(pair.addressRaw.length).toEqual(32);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('restores an account that can sign for its own address', (): void => {
|
||||||
|
const pair = uiKeyring.restoreAccount(backup(), PASSWORD);
|
||||||
|
|
||||||
|
pair.decodePkcs8(PASSWORD);
|
||||||
|
|
||||||
|
const context = contextForSpec(148);
|
||||||
|
const signature = pair.sign(MESSAGE, { context });
|
||||||
|
|
||||||
|
expect(dilithiumVerify(MESSAGE, signature, pair.addressRaw, 'dilithium87', context)).toEqual(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('fails on a wrong password without half-restoring', (): void => {
|
||||||
|
expect(() => uiKeyring.restoreAccount(backup(), 'wrong')).toThrow();
|
||||||
|
});
|
||||||
|
|
||||||
|
// The address field sits outside the encrypted blob. For the curve schemes a
|
||||||
|
// tampered one cannot decode at all; here it decodes cleanly and would yield an
|
||||||
|
// account displaying an address its key does not control.
|
||||||
|
it('rejects JSON whose address does not match its key', (): void => {
|
||||||
|
const base = new BaseKeyring({ ss58Format: 189, type: 'dilithium87' });
|
||||||
|
const other = base.addFromSeed(new Uint8Array(32).fill(3), {}, 'dilithium87');
|
||||||
|
|
||||||
|
expect(() => uiKeyring.restoreAccount({ ...backup(), address: other.address }, PASSWORD)).toThrow(/does not match the address/);
|
||||||
|
});
|
||||||
|
|
||||||
|
// restoreAccount takes the crypto type from the JSON rather than the keyring,
|
||||||
|
// so the same keyring restores both. Compared on publicKey and addressRaw
|
||||||
|
// rather than the SS58 string, which would differ only because this keyring is
|
||||||
|
// configured for prefix 189.
|
||||||
|
it('leaves sr25519 restore unchanged', (): void => {
|
||||||
|
const sr = new BaseKeyring({ type: 'sr25519' });
|
||||||
|
const pair = sr.addFromUri('//Alice');
|
||||||
|
const restored = uiKeyring.restoreAccount(pair.toJson(PASSWORD), PASSWORD);
|
||||||
|
|
||||||
|
expect(restored.publicKey).toEqual(pair.publicKey);
|
||||||
|
expect(restored.addressRaw).toEqual(pair.addressRaw);
|
||||||
|
expect(restored.type).toEqual('sr25519');
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta } from '@polkadot/keyring/types';
|
import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta } from '@polkadot/keyring/types';
|
||||||
@@ -11,7 +11,7 @@ import type { CreateResult, KeyringAddress, KeyringAddressType, KeyringItemType,
|
|||||||
import { createPair } from '@polkadot/keyring';
|
import { createPair } from '@polkadot/keyring';
|
||||||
import { chains } from '@polkadot/ui-settings';
|
import { chains } from '@polkadot/ui-settings';
|
||||||
import { bnToBn, hexToU8a, isFunction, isHex, isString, objectSpread, stringify, stringToU8a, u8aSorted, u8aToString } from '@polkadot/util';
|
import { bnToBn, hexToU8a, isFunction, isHex, isString, objectSpread, stringify, stringToU8a, u8aSorted, u8aToString } from '@polkadot/util';
|
||||||
import { base64Decode, createKeyMulti, jsonDecrypt, jsonEncrypt } from '@polkadot/util-crypto';
|
import { base64Decode, createKeyMulti, isDilithium, jsonDecrypt, jsonEncrypt } from '@polkadot/util-crypto';
|
||||||
|
|
||||||
import { env } from './observable/env.js';
|
import { env } from './observable/env.js';
|
||||||
import { KeyringOption } from './options/index.js';
|
import { KeyringOption } from './options/index.js';
|
||||||
@@ -33,7 +33,7 @@ export class Keyring extends Base implements KeyringStruct {
|
|||||||
};
|
};
|
||||||
|
|
||||||
public addExternal (address: string | Uint8Array, meta: KeyringPair$Meta = {}): CreateResult {
|
public addExternal (address: string | Uint8Array, meta: KeyringPair$Meta = {}): CreateResult {
|
||||||
const pair = this.keyring.addFromAddress(address, objectSpread<KeyringJson$Meta>({}, meta, { isExternal: true }), null);
|
const pair = this.keyring.addFromAddress(address, objectSpread<KeyringJson$Meta>({}, meta, { isExternal: true }), null, meta?.type);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
json: this.saveAccount(pair),
|
json: this.saveAccount(pair),
|
||||||
@@ -327,11 +327,29 @@ export class Keyring extends Base implements KeyringStruct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public restoreAccount (json: KeyringPair$Json, password: string): KeyringPair {
|
public restoreAccount (json: KeyringPair$Json, password: string): KeyringPair {
|
||||||
const cryptoType = Array.isArray(json.encoding.content) ? json.encoding.content[1] : 'ed25519';
|
// The 'ed25519' fallback is for version-0 JSON, which predates the crypto
|
||||||
|
// type being recorded. Those files are by definition not Quantus, so the
|
||||||
|
// guess is safe here — but note that quantus/common#6 removes ed25519 from
|
||||||
|
// KeypairType, at which point this has to become a refusal rather than a
|
||||||
|
// default.
|
||||||
|
const cryptoType = (Array.isArray(json.encoding.content) ? json.encoding.content[1] : 'ed25519') as KeypairType;
|
||||||
const encType = Array.isArray(json.encoding.type) ? json.encoding.type : [json.encoding.type];
|
const encType = Array.isArray(json.encoding.type) ? json.encoding.type : [json.encoding.type];
|
||||||
|
const raw = this.decodeAddress(json.address, true);
|
||||||
|
|
||||||
|
// For every curve scheme the address and the public key are the same 32
|
||||||
|
// bytes, which is why passing one as the other works at all. An ML-DSA
|
||||||
|
// account id is a one-way Poseidon2 hash and the 1952/2592-byte public key
|
||||||
|
// is inside `json.encoded`, still encrypted — there is nothing to derive it
|
||||||
|
// from until `decodePkcs8` below runs.
|
||||||
|
//
|
||||||
|
// So hand `createPair` an account id rather than a public key it can check,
|
||||||
|
// and let it verify the two agree once the real key appears. Doing it the
|
||||||
|
// other way produced a pair whose "public key" was a hash of the public key.
|
||||||
const pair = createPair(
|
const pair = createPair(
|
||||||
{ toSS58: this.encodeAddress, type: cryptoType as KeypairType },
|
{ toSS58: this.encodeAddress, type: cryptoType },
|
||||||
{ publicKey: this.decodeAddress(json.address, true) },
|
isDilithium(cryptoType)
|
||||||
|
? { accountId: raw, publicKey: new Uint8Array(), secretKey: new Uint8Array() }
|
||||||
|
: { publicKey: raw },
|
||||||
json.meta,
|
json.meta,
|
||||||
isHex(json.encoded) ? hexToU8a(json.encoded) : base64Decode(json.encoded),
|
isHex(json.encoded) ? hexToU8a(json.encoded) : base64Decode(json.encoded),
|
||||||
encType
|
encType
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { Keyring } from './Keyring.js';
|
import { Keyring } from './Keyring.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { decodeAddress } from '@polkadot/keyring';
|
import { decodeAddress } from '@polkadot/keyring';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import './packageDetect.js';
|
import './packageDetect.js';
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Be able to import json in TS
|
// Be able to import json in TS
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { accountKey } from '../defaults.js';
|
import { accountKey } from '../defaults.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { addressKey } from '../defaults.js';
|
import { addressKey } from '../defaults.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { contractKey } from '../defaults.js';
|
import { contractKey } from '../defaults.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { BehaviorSubject } from 'rxjs';
|
import { BehaviorSubject } from 'rxjs';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { KeypairType } from '@polkadot/util-crypto/types';
|
import type { KeypairType } from '@polkadot/util-crypto/types';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { SubjectInfo } from './types.js';
|
import type { SubjectInfo } from './types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { BehaviorSubject } from 'rxjs';
|
import type { BehaviorSubject } from 'rxjs';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Subscription } from 'rxjs';
|
import type { Subscription } from 'rxjs';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { KeyringSectionOption } from './types.js';
|
import type { KeyringSectionOption } from './types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { KeyringItemType, KeyringStruct } from '../types.js';
|
import type { KeyringItemType, KeyringStruct } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/ui-keyring', path: 'auto', type: 'auto', version: '3.12.2' };
|
export const packageInfo = { name: '@polkadot/ui-keyring', path: 'auto', type: 'auto', version: '3.16.7-quantus.2' };
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { KeyringJson, KeyringStore } from '../types.js';
|
import type { KeyringJson, KeyringStore } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { KeyringJson, KeyringStore } from '../types.js';
|
import type { KeyringJson, KeyringStore } from '../types.js';
|
||||||
@@ -19,6 +19,28 @@ export class FileStore implements KeyringStore {
|
|||||||
this.#path = path;
|
this.#path = path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private validateKey (key: string): boolean {
|
||||||
|
// Make sure the key has a .json extension
|
||||||
|
if (!key.endsWith('.json')) {
|
||||||
|
console.error('Non-JSON file requested: ', key);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove '.json'
|
||||||
|
const keyWithoutExtension = key.slice(0, -5);
|
||||||
|
// Only allow alphanumeric characters, hyphens, and underscores in the base filename
|
||||||
|
const safeKeyRegex = /^[a-zA-Z0-9_-]+$/;
|
||||||
|
|
||||||
|
if (!safeKeyRegex.test(keyWithoutExtension)) {
|
||||||
|
console.error('Invalid key format detected: ', key);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public all (fn: (key: string, value: KeyringJson) => void): void {
|
public all (fn: (key: string, value: KeyringJson) => void): void {
|
||||||
fs
|
fs
|
||||||
.readdirSync(this.#path)
|
.readdirSync(this.#path)
|
||||||
@@ -51,6 +73,10 @@ export class FileStore implements KeyringStore {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _getPath (key: string): string {
|
private _getPath (key: string): string {
|
||||||
|
if (!this.validateKey(key)) {
|
||||||
|
throw new Error('Invalid key format');
|
||||||
|
}
|
||||||
|
|
||||||
return path.join(this.#path, key);
|
return path.join(this.#path, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export { BrowserStore } from './Browser.js';
|
export { BrowserStore } from './Browser.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// 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 { KeyringInstance as BaseKeyringInstance, KeyringOptions as KeyringOptionsBase, KeyringPair, KeyringPair$Json, KeyringPair$Meta } from '@polkadot/keyring/types';
|
||||||
|
|||||||
@@ -18,11 +18,11 @@
|
|||||||
"./packageDetect.cjs"
|
"./packageDetect.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "3.12.2",
|
"version": "3.16.7",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@polkadot/networks": "^13.4.3",
|
"@polkadot/networks": "^14.0.3",
|
||||||
"@polkadot/util": "^13.4.3",
|
"@polkadot/util": "^14.0.3",
|
||||||
"eventemitter3": "^5.0.1",
|
"eventemitter3": "^5.0.1",
|
||||||
"store": "^2.0.12",
|
"store": "^2.0.12",
|
||||||
"tslib": "^2.8.1"
|
"tslib": "^2.8.1"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Endpoint, EndpointType, Option, SettingsStruct } from './types.js';
|
import type { Endpoint, EndpointType, Option, SettingsStruct } from './types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { Settings, settings } from './Settings.js';
|
import { Settings, settings } from './Settings.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { selectableNetworks } from '@polkadot/networks';
|
import { selectableNetworks } from '@polkadot/networks';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Option } from '../types.js';
|
import type { Option } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Option } from '../types.js';
|
import type { Option } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Option } from '../types.js';
|
import type { Option } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Option } from '../types.js';
|
import type { Option } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Option } from '../types.js';
|
import type { Option } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// matches https://polkadot.js.org & https://*.polkadot.io
|
// matches https://polkadot.js.org & https://*.polkadot.io
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Option } from '../types.js';
|
import type { Option } from '../types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import { settings } from './bundle.js';
|
import { settings } from './bundle.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/ui-settings', path: 'auto', type: 'auto', version: '3.12.2' };
|
export const packageInfo = { name: '@polkadot/ui-settings', path: 'auto', type: 'auto', version: '3.16.7' };
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-settings authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-settings authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export interface Option {
|
export interface Option {
|
||||||
|
|||||||
@@ -18,15 +18,15 @@
|
|||||||
"./packageDetect.cjs"
|
"./packageDetect.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "3.12.2",
|
"version": "3.16.7",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"colord": "^2.9.3",
|
"colord": "^2.9.3",
|
||||||
"tslib": "^2.8.1"
|
"tslib": "^2.8.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/util": "^13.4.3",
|
"@polkadot/util": "^14.0.3",
|
||||||
"@polkadot/util-crypto": "^13.4.3",
|
"@polkadot/util-crypto": "^14.0.3",
|
||||||
"@types/xmlserializer": "^0.6.6",
|
"@types/xmlserializer": "^0.6.6",
|
||||||
"xmlserializer": "^0.6.1"
|
"xmlserializer": "^0.6.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2018-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2018-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
export * from './icons/index.js';
|
export * from './icons/index.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Copyright 2016 Dan Finlay
|
// Copyright 2016 Dan Finlay
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Copyright 2016 Dan Finlay
|
// Copyright 2016 Dan Finlay
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Copyright 2016 Dan Finlay
|
// Copyright 2016 Dan Finlay
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Copyright 2016 Dan Finlay
|
// Copyright 2016 Dan Finlay
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Copyright 2016 Dan Finlay
|
// Copyright 2016 Dan Finlay
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Seeder } from './types.js';
|
import type { Seeder } from './types.js';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2017-2025 @polkadot/ui-shared authors & contributors
|
// Copyright 2017-2026 @polkadot/ui-shared authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Copyright 2016 Dan Finlay
|
// Copyright 2016 Dan Finlay
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user