Compare commits

..
18 Commits
Author SHA1 Message Date
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
42 changed files with 2950 additions and 2677 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui authors & contributors // Copyright 2017-2023 @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');
+23
View File
@@ -1,5 +1,28 @@
# CHANGELOG # CHANGELOG
## 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 ## 3.4.2 Jun 5, 2023
- Bump to `@polkadot/util` 12.2.2 - Bump to `@polkadot/util` 12.2.2
+2 -1
View File
@@ -1,4 +1,4 @@
719 Jaco 3.4.2 (#764) 727 Jaco 3.6.2 (#773)
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)
@@ -21,6 +21,7 @@
1 Derek Colley Remove redundant `div` wrappers in vue-identicon (#643) 1 Derek Colley Remove redundant `div` wrappers in vue-identicon (#643)
1 Harry Liu Update README.md (#166) 1 Harry Liu Update README.md (#166)
1 Jake Naviasky Add Edgeware chain prefix to settings. (#317) 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 Logan Saether Propose W3F node (#188)
1 Lovesh Harchandani Allow Ledger support for Dock (#425) 1 Lovesh Harchandani Allow Ledger support for Dock (#425)
1 Luke Schoen Fix typo in heading (#114) 1 Luke Schoen Fix typo in heading (#114)
+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 - 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-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 - [ui-shared](packages/ui-shared) Shared logic that is used across UI components, e.g. for icon generation
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/dev authors & contributors // Copyright 2017-2023 @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';
+8 -8
View File
@@ -14,10 +14,10 @@
}, },
"sideEffects": false, "sideEffects": false,
"type": "module", "type": "module",
"version": "3.4.2", "version": "3.6.2",
"versions": { "versions": {
"git": "3.4.2", "git": "3.6.2",
"npm": "3.4.2" "npm": "3.6.2"
}, },
"workspaces": [ "workspaces": [
"packages/*" "packages/*"
@@ -33,15 +33,15 @@
"test:one": "polkadot-dev-run-test --env browser" "test:one": "polkadot-dev-run-test --env browser"
}, },
"devDependencies": { "devDependencies": {
"@polkadot/dev": "^0.75.16", "@polkadot/dev": "^0.76.18",
"@polkadot/x-bundle": "^12.2.2", "@polkadot/x-bundle": "^12.4.2",
"@types/node": "^20.2.5", "@types/node": "^20.5.3",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-is": "^18.2.0", "react-is": "^18.2.0",
"react-native": "^0.71.8" "react-native": "^0.72.4"
}, },
"resolutions": { "resolutions": {
"typescript": "^5.1.3" "typescript": "^5.1.6"
} }
} }
+9 -10
View File
@@ -18,24 +18,23 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.4.2", "version": "3.6.2",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/keyring": "^12.2.2", "@polkadot/keyring": "^12.4.2",
"@polkadot/ui-settings": "3.4.2", "@polkadot/ui-settings": "3.6.2",
"@polkadot/ui-shared": "3.4.2", "@polkadot/ui-shared": "3.6.2",
"@polkadot/util": "^12.2.2", "@polkadot/util": "^12.4.2",
"@polkadot/util-crypto": "^12.2.2", "@polkadot/util-crypto": "^12.4.2",
"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",
"styled-components": "^5.3.11", "styled-components": "^6.0.7",
"tslib": "^2.5.3" "tslib": "^2.6.2"
}, },
"devDependencies": { "devDependencies": {
"@types/react-copy-to-clipboard": "^5.0.4", "@types/react-copy-to-clipboard": "^5.0.4",
"@types/react-dom": "^18.2.4", "@types/react-dom": "^18.2.7",
"@types/styled-components": "^5.1.26",
"xmlserializer": "^0.6.1" "xmlserializer": "^0.6.1"
}, },
"peerDependencies": { "peerDependencies": {
@@ -10,7 +10,7 @@ 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 && node.appendChild( node?.appendChild(
beachballIcon(address, { isAlternative: false, size }) beachballIcon(address, { isAlternative: false, size })
); );
}, },
@@ -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; display: block;
height: ${size}px; height: ${size}px;
width: ${size}px; width: ${size}px;
+1 -1
View File
@@ -3,4 +3,4 @@
// 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.4.2' }; export const packageInfo = { name: '@polkadot/react-identicon', path: 'auto', type: 'auto', version: '3.6.2' };
+1 -13
View File
@@ -1,16 +1,4 @@
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors // Copyright 2017-2023 @polkadot/react-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
import type { StyledInterface } from 'styled-components'; export { styled } 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
);
+7 -8
View File
@@ -18,20 +18,19 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.4.2", "version": "3.6.2",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/ui-settings": "3.4.2", "@polkadot/ui-settings": "3.6.2",
"@polkadot/util": "^12.2.2", "@polkadot/util": "^12.4.2",
"@polkadot/util-crypto": "^12.2.2", "@polkadot/util-crypto": "^12.4.2",
"qrcode-generator": "^1.4.4", "qrcode-generator": "^1.4.4",
"react-qr-reader": "^2.2.1", "react-qr-reader": "^2.2.1",
"styled-components": "^5.3.11", "styled-components": "^6.0.7",
"tslib": "^2.5.3" "tslib": "^2.6.2"
}, },
"devDependencies": { "devDependencies": {
"@types/react-qr-reader": "^2.1.4", "@types/react-qr-reader": "^2.1.4"
"@types/styled-components": "^5.1.26"
}, },
"peerDependencies": { "peerDependencies": {
"@polkadot/util": "*", "@polkadot/util": "*",
+9 -4
View File
@@ -1,6 +1,8 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors // Copyright 2017-2023 @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 React, { useCallback } from 'react'; import React, { useCallback } from 'react';
import { decodeAddress } from '@polkadot/util-crypto'; import { decodeAddress } from '@polkadot/util-crypto';
@@ -11,7 +13,7 @@ import { QrScan } from './Scan.js';
interface ScanType { interface ScanType {
isAddress: boolean; isAddress: boolean;
content: string; content: string;
genesisHash: string; genesisHash: HexString | null;
name?: string | undefined; name?: string | undefined;
} }
@@ -29,13 +31,16 @@ function ScanAddress ({ className, isEthereum, onError, onScan, size, style }: P
(data: string | null): void => { (data: string | null): void => {
if (data) { if (data) {
try { 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) { if (!isEthereum) {
[prefix, content, genesisHash, ...name] = data.split(':'); [prefix, content, genesisHash, ...name] = data.split(':');
} else { } else {
[prefix, content, ...name] = data.split(':'); [prefix, content, ...name] = data.split(':');
genesisHash = ''; genesisHash = null;
content = content.substring(0, 42); content = content.substring(0, 42);
} }
@@ -52,7 +57,7 @@ function ScanAddress ({ className, isEthereum, onError, onScan, size, style }: P
decodeAddress(content); 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) { } catch (error) {
onError && onError(error as Error); onError && onError(error as Error);
+1 -1
View File
@@ -3,4 +3,4 @@
// 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.4.2' }; export const packageInfo = { name: '@polkadot/react-qr', path: 'auto', type: 'auto', version: '3.6.2' };
+1 -13
View File
@@ -1,16 +1,4 @@
// Copyright 2017-2023 @polkadot/react-qr authors & contributors // Copyright 2017-2023 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
import type { StyledInterface } from 'styled-components'; export { styled } 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
);
+5 -5
View File
@@ -18,14 +18,14 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.4.2", "version": "3.6.2",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/ui-shared": "3.4.2", "@polkadot/ui-shared": "3.6.2",
"@polkadot/util": "^12.2.2", "@polkadot/util": "^12.4.2",
"@polkadot/util-crypto": "^12.2.2", "@polkadot/util-crypto": "^12.4.2",
"react-native-svg": "^12.5.1", "react-native-svg": "^12.5.1",
"tslib": "^2.5.3" "tslib": "^2.6.2"
}, },
"devDependencies": { "devDependencies": {
"@types/react-native": "^0.72.2" "@types/react-native": "^0.72.2"
@@ -3,4 +3,4 @@
// 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.4.2' }; export const packageInfo = { name: '@polkadot/reactnative-identicon', path: 'auto', type: 'auto', version: '3.6.2' };
+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? - 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. - 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 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).** **If you have any unanswered/undocumented questions, please raise an issue [here](https://github.com/polkadot-js/ui/issues).**
+6 -6
View File
@@ -17,17 +17,17 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.4.2", "version": "3.6.2",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/keyring": "^12.2.2", "@polkadot/keyring": "^12.4.2",
"@polkadot/ui-settings": "3.4.2", "@polkadot/ui-settings": "3.6.2",
"@polkadot/util": "^12.2.2", "@polkadot/util": "^12.4.2",
"@polkadot/util-crypto": "^12.2.2", "@polkadot/util-crypto": "^12.4.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",
"tslib": "^2.5.3" "tslib": "^2.6.2"
}, },
"devDependencies": { "devDependencies": {
"@types/mkdirp": "^2.0.0", "@types/mkdirp": "^2.0.0",
+6 -5
View File
@@ -2,6 +2,7 @@
// 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';
import type { HexString } from '@polkadot/util/types';
import type { Prefix } from '@polkadot/util-crypto/address/types'; import type { Prefix } from '@polkadot/util-crypto/address/types';
import type { AddressSubject } from './observable/types.js'; import type { AddressSubject } from './observable/types.js';
import type { KeyringOptions, KeyringStore } from './types.js'; import type { KeyringOptions, KeyringStore } from './types.js';
@@ -28,9 +29,9 @@ export class Base {
protected _store: KeyringStore; protected _store: KeyringStore;
protected _genesisHash?: string | undefined; protected _genesisHash?: HexString | undefined;
protected _genesisHashAdd: string[] = []; protected _genesisHashAdd: HexString[] = [];
constructor () { constructor () {
this.#accounts = accounts; this.#accounts = accounts;
@@ -64,11 +65,11 @@ export class Base {
throw new Error('Keyring should be initialised via \'loadAll\' before use'); throw new Error('Keyring should be initialised via \'loadAll\' before use');
} }
public get genesisHash (): string | undefined { public get genesisHash (): HexString | undefined {
return this._genesisHash; return this._genesisHash;
} }
public get genesisHashes (): string[] { public get genesisHashes (): HexString[] {
return this._genesisHash return this._genesisHash
? [this._genesisHash, ...this._genesisHashAdd] ? [this._genesisHash, ...this._genesisHashAdd]
: [...this._genesisHashAdd]; : [...this._genesisHashAdd];
@@ -130,7 +131,7 @@ export class Base {
this.#keyring = keyring; this.#keyring = keyring;
this._genesisHash = options.genesisHash && ( this._genesisHash = options.genesisHash && (
isString(options.genesisHash) isString(options.genesisHash)
? options.genesisHash.toString() ? options.genesisHash.toString() as HexString
: options.genesisHash.toHex() : options.genesisHash.toHex()
); );
this._genesisHashAdd = options.genesisHashAdd || []; this._genesisHashAdd = options.genesisHashAdd || [];
+16 -8
View File
@@ -152,8 +152,14 @@ export class Keyring extends Base implements KeyringStruct {
return Object return Object
.keys(available) .keys(available)
.map((address): KeyringAddress => this.getAddress(address, 'account') as KeyringAddress) .map((address) => this.getAddress(address, 'account'))
.filter((account) => env.isDevelopment() || account.meta.isTesting !== true); .filter((account): account is KeyringAddress =>
!!account &&
(
env.isDevelopment() ||
account.meta.isTesting !== true
)
);
} }
public getAddress (_address: string | Uint8Array, type: KeyringItemType | null = null): KeyringAddress | undefined { public getAddress (_address: string | Uint8Array, type: KeyringItemType | null = null): KeyringAddress | undefined {
@@ -180,7 +186,8 @@ export class Keyring extends Base implements KeyringStruct {
return Object return Object
.keys(available) .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 { public getContract (address: string | Uint8Array): KeyringAddress | undefined {
@@ -195,11 +202,12 @@ export class Keyring extends Base implements KeyringStruct {
.filter(([, { json: { meta: { contract } } }]): boolean => .filter(([, { json: { meta: { contract } } }]): boolean =>
!!contract && contract.genesisHash === this.genesisHash !!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 { private rewriteKey (json: KeyringJson, key: string, hexAddr: string, creator: (addr: string) => string): void {
if (hexAddr.substring(0, 2) === '0x') { if (hexAddr.startsWith('0x')) {
return; return;
} }
@@ -252,7 +260,7 @@ export class Keyring extends Base implements KeyringStruct {
const [, hexAddr] = key.split(':'); const [, hexAddr] = key.split(':');
// move genesisHash to top-level (TODO Remove from contracts section?) // 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.contracts.add(this._store, address, json);
this.rewriteKey(json, key, hexAddr, contractKey); 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 { 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 => const hashes: (string | null | undefined)[] = Object.values(chains).find((hashes): boolean =>
hashes.includes(this.genesisHash || '') hashes.includes(this.genesisHash || '')
) || [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 { public saveAddress (address: string, meta: KeyringPair$Meta, type: KeyringAddressType = 'address'): KeyringPair$Json {
const available = this.addresses.subject.getValue(); const available = this.addresses.subject.getValue();
const json = (available[address] && available[address].json) || { const json = available[address]?.json || {
address, address,
meta: { meta: {
isRecent: undefined, isRecent: undefined,
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/util authors & contributors // Copyright 2017-2023 @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 -3
View File
@@ -12,9 +12,7 @@ export interface SingleAddress {
type?: KeypairType | undefined; type?: KeypairType | undefined;
} }
export interface SubjectInfo { export type SubjectInfo = Record<string, SingleAddress>;
[index: string]: SingleAddress;
}
export interface AddressSubject { export interface AddressSubject {
add: (store: KeyringStore, address: string, json: KeyringJson, type?: KeypairType) => SingleAddress; add: (store: KeyringStore, address: string, json: KeyringJson, type?: KeypairType) => SingleAddress;
+2 -2
View File
@@ -37,7 +37,7 @@ const sortByCreated = (a: SingleAddress, b: SingleAddress): number => {
export class KeyringOption implements KeyringOptionInstance { export class KeyringOption implements KeyringOptionInstance {
#allSub: Subscription | null = null; #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 { public createOptionHeader (name: string): KeyringSectionOption {
return { 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 => { return Object.keys(items).reduce((result, header): KeyringSectionOptions => {
const options = items[header]; const options = items[header];
+1 -1
View File
@@ -3,4 +3,4 @@
// 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.4.2' }; export const packageInfo = { name: '@polkadot/ui-keyring', path: 'auto', type: 'auto', version: '3.6.2' };
+5 -20
View File
@@ -2,29 +2,14 @@
// 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';
import type { HexString } from '@polkadot/util/types';
import type { EncryptedJson } from '@polkadot/util-crypto/json/types'; import type { EncryptedJson } from '@polkadot/util-crypto/json/types';
import type { KeypairType } from '@polkadot/util-crypto/types'; import type { KeypairType } from '@polkadot/util-crypto/types';
import type { AddressSubject, SingleAddress } from './observable/types.js'; import type { AddressSubject, SingleAddress } from './observable/types.js';
export interface ContractMeta { export type ContractMeta = NonNullable<KeyringPair$Meta['contract']>;
abi: string;
genesisHash?: string | null;
}
export interface KeyringJson$Meta { export type KeyringJson$Meta = KeyringPair$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 interface KeyringJson { export interface KeyringJson {
address: string; address: string;
@@ -44,8 +29,8 @@ export interface KeyringStore {
export interface KeyringOptions extends KeyringOptionsBase { export interface KeyringOptions extends KeyringOptionsBase {
filter?: (json: KeyringJson) => boolean; filter?: (json: KeyringJson) => boolean;
genesisHash?: string | { toHex: () => string }; genesisHash?: HexString | { toHex: () => HexString };
genesisHashAdd?: string[]; genesisHashAdd?: HexString[];
isDevelopment?: boolean; isDevelopment?: boolean;
store?: KeyringStore; store?: KeyringStore;
} }
+4 -4
View File
@@ -18,14 +18,14 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.4.2", "version": "3.6.2",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/networks": "^12.2.2", "@polkadot/networks": "^12.4.2",
"@polkadot/util": "^12.2.2", "@polkadot/util": "^12.4.2",
"eventemitter3": "^5.0.1", "eventemitter3": "^5.0.1",
"store": "^2.0.12", "store": "^2.0.12",
"tslib": "^2.5.3" "tslib": "^2.6.2"
}, },
"devDependencies": { "devDependencies": {
"@types/store": "^2.0.2" "@types/store": "^2.0.2"
+1 -1
View File
@@ -57,7 +57,7 @@ export class Settings implements SettingsStruct {
this.#emitter = new EventEmitter(); this.#emitter = new EventEmitter();
// will become deprecated for supporting substrate connect light clients. apiType structure should be used instead // 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.#apiType = { param: this.#apiUrl, type: 'json-rpc' as EndpointType };
this.#camera = withDefault(CAMERA, settings.camera, CAMERA_DEFAULT); this.#camera = withDefault(CAMERA, settings.camera, CAMERA_DEFAULT);
this.#ledgerConn = withDefault(LEDGER_CONN, settings.ledgerConn, LEDGER_CONN_DEFAULT); this.#ledgerConn = withDefault(LEDGER_CONN, settings.ledgerConn, LEDGER_CONN_DEFAULT);
+1 -1
View File
@@ -3,4 +3,4 @@
// 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.4.2' }; export const packageInfo = { name: '@polkadot/ui-settings', path: 'auto', type: 'auto', version: '3.6.2' };
+1 -1
View File
@@ -1,7 +1,7 @@
// Copyright 2017-2023 @polkadot/ui-settings authors & contributors // Copyright 2017-2023 @polkadot/ui-settings authors & contributors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
export type Option = { export interface Option {
disabled?: boolean; disabled?: boolean;
info: string; info: string;
text: string; text: string;
+4 -4
View File
@@ -18,15 +18,15 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.4.2", "version": "3.6.2",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"colord": "^2.9.3", "colord": "^2.9.3",
"tslib": "^2.5.3" "tslib": "^2.6.2"
}, },
"devDependencies": { "devDependencies": {
"@polkadot/util": "^12.2.2", "@polkadot/util": "^12.4.2",
"@polkadot/util-crypto": "^12.2.2", "@polkadot/util-crypto": "^12.4.2",
"@types/xmlserializer": "^0.6.3", "@types/xmlserializer": "^0.6.3",
"xmlserializer": "^0.6.1" "xmlserializer": "^0.6.1"
}, },
@@ -3,7 +3,7 @@
// Copyright 2016 Dan Finlay // Copyright 2016 Dan Finlay
export function container (diameter: number, background = 'white', className = '', _style: { [index: string]: string } = {}): HTMLElement { export function container (diameter: number, background = 'white', className = '', _style: Record<string, string> = {}): HTMLElement {
const element = document.createElement('div'); const element = document.createElement('div');
const style = Object.assign({ const style = Object.assign({
background, background,
@@ -12,7 +12,7 @@ import { container as newContainer } from './container.js';
import { SHAPE_COUNT } from './defaults.js'; import { SHAPE_COUNT } from './defaults.js';
import { seeder as newSeeder } from './seeder.js'; import { seeder as newSeeder } from './seeder.js';
export function beachballIcon (seed: string | Uint8Array, { size = 256 }: Options, className = '', style?: { [index: string]: string }): HTMLElement { export function beachballIcon (seed: string | Uint8Array, { size = 256 }: Options, className = '', style?: Record<string, string>): HTMLElement {
const seeder = newSeeder(seed); const seeder = newSeeder(seed);
const colorGen = colors(seeder); const colorGen = colors(seeder);
const outer = newContainer(size, 'white', className, style); const outer = newContainer(size, 'white', className, style);
@@ -3,6 +3,4 @@
export type Seeder = () => number; export type Seeder = () => number;
export interface ColorGen { export type ColorGen = (alpha?: number) => string;
(alpha?: number): string;
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev // Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/ui-shared', path: 'auto', type: 'auto', version: '3.4.2' }; export const packageInfo = { name: '@polkadot/ui-shared', path: 'auto', type: 'auto', version: '3.6.2' };
+5 -5
View File
@@ -18,14 +18,14 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.4.2", "version": "3.6.2",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/ui-shared": "3.4.2", "@polkadot/ui-shared": "3.6.2",
"@polkadot/util": "^12.2.2", "@polkadot/util": "^12.4.2",
"@polkadot/util-crypto": "^12.2.2", "@polkadot/util-crypto": "^12.4.2",
"jdenticon": "3.2.0", "jdenticon": "3.2.0",
"tslib": "^2.5.3" "tslib": "^2.6.2"
}, },
"devDependencies": { "devDependencies": {
"vue": "^2.7.14" "vue": "^2.7.14"
@@ -7,7 +7,7 @@ import { defineComponent, h } from 'vue';
import { beachballIcon } from '@polkadot/ui-shared'; import { beachballIcon } from '@polkadot/ui-shared';
type PropsType = { interface PropsType {
address: string; address: string;
size: number; size: number;
isAlternative: boolean; isAlternative: boolean;
@@ -6,7 +6,7 @@ import type { VNode } from 'vue';
import * as jdenticon from 'jdenticon'; import * as jdenticon from 'jdenticon';
import { defineComponent, h } from 'vue'; import { defineComponent, h } from 'vue';
type PropsType = { interface PropsType {
publicKey: string, publicKey: string,
size: number size: number
} }
+1 -1
View File
@@ -9,7 +9,7 @@ import { polkadotIcon } from '@polkadot/ui-shared';
import { adaptVNodeAttrs } from '../util.js'; import { adaptVNodeAttrs } from '../util.js';
type propsType = { interface propsType {
address: string; address: string;
isAlternative: boolean; isAlternative: boolean;
size: number; size: number;
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev // Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/vue-identicon', path: 'auto', type: 'auto', version: '3.4.2' }; export const packageInfo = { name: '@polkadot/vue-identicon', path: 'auto', type: 'auto', version: '3.6.2' };
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2023 @polkadot/ui authors & contributors // Copyright 2017-2023 @polkadot/ui-shared authors & contributors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
import path from 'path'; import path from 'path';
+2813 -2533
View File
File diff suppressed because it is too large Load Diff