Compare commits

...
28 Commits
Author SHA1 Message Date
github-actions[bot] 3b7b85e835 [CI Skip] release/stable 3.5.1
skip-checks: true
2023-06-11 14:32:41 +00:00
Jaco 6119c57d46 3.5.1 (#766) 2023-06-11 17:30:29 +03:00
github-actions[bot] 6279b3b926 [CI Skip] bump/beta 3.4.3-0-x
skip-checks: true
2023-06-11 07:19:04 +00:00
Jaco 50b4e2bd07 Adjust object index typings (#765)
* Adjust object index typings

* CHANGELOG

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

* Correct CHANGELOG
2023-06-05 07:53:12 +03:00
github-actions[bot] 420f8f095b [CI Skip] bump/beta 3.4.2-3-x
skip-checks: true
2023-06-02 10:22:02 +00:00
Jaco 8a3ee3588d Bump deps (w/ TS 5.1) (#763) 2023-06-02 13:19:08 +03:00
github-actions[bot] 62e5e5e23e [CI Skip] bump/beta 3.4.2-2-x
skip-checks: true
2023-05-25 07:27:44 +00:00
Jaco a456a4c9df jg-bump-deps (#762) 2023-05-25 10:25:30 +03:00
github-actions[bot] 9a9c1f50ee [CI Skip] bump/beta 3.4.2-1-x
skip-checks: true
2023-05-21 09:41:53 +00:00
Jaco 7ad8333f2e Bump dev (w/ eslint config adj) (#761) 2023-05-21 12:39:43 +03:00
github-actions[bot] ec99102a78 [CI Skip] bump/beta 3.4.2-0-x
skip-checks: true
2023-05-18 09:13:06 +00:00
Jaco 36c7da623b Adjust tsconfig usage (#760) 2023-05-18 12:10:56 +03:00
github-actions[bot] 7bb148eea9 [CI Skip] release/stable 3.4.1
skip-checks: true
2023-05-13 08:55:51 +00:00
Jaco ee039545be 3.4.1 (#759) 2023-05-13 11:53:20 +03:00
github-actions[bot] e15651ac9c [CI Skip] bump/beta 3.3.2-0-x
skip-checks: true
2023-05-09 06:06:40 +00:00
Jaco f92e276a0d Bump deps (#758) 2023-05-09 09:04:24 +03:00
github-actions[bot] a51ef7bccc [CI Skip] release/stable 3.3.1
skip-checks: true
2023-05-07 11:13:05 +00:00
Jaco bf8a295d64 3.3.1 (#757) 2023-05-07 14:10:54 +03:00
github-actions[bot] d2bbf6bb0e [CI Skip] bump/beta 3.2.3-1-x
skip-checks: true
2023-05-05 06:31:40 +00:00
Jaco 60cc5fbd4b Bump deps & adjust CHANGELOG (#756) 2023-05-05 09:29:17 +03:00
github-actions[bot] dae851297b [CI Skip] bump/beta 3.2.3-0-x
skip-checks: true
2023-05-05 06:00:24 +00:00
Zenandgithub-actions[bot] fa9eef757a feat: adapt Vue 3.x (#755)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-05 08:57:35 +03:00
github-actions[bot] 84c36c5c68 [CI Skip] release/stable 3.2.2
skip-checks: true
2023-04-29 06:49:06 +00:00
Jaco 4a71023452 3.2.2 (#754) 2023-04-29 09:47:02 +03:00
github-actions[bot] 359230bfb3 [CI Skip] bump/beta 3.2.2-0-x
skip-checks: true
2023-04-24 10:50:36 +00:00
Jaco 19fa38e441 Update dependencies (w/ react-is as peer) (#753)
* Update dependencies (w/ react-is as peer)

* Update styled-components deps
2023-04-24 13:48:24 +03:00
49 changed files with 1004 additions and 712 deletions
-19
View File
@@ -1,19 +0,0 @@
// Copyright 2017-2023 @polkadot/ui authors & contributors
// SPDX-License-Identifier: Apache-2.0
const base = require('@polkadot/dev/config/eslint.cjs');
module.exports = {
...base,
ignorePatterns: [
...base.ignorePatterns,
'jest/**/*',
'**/*.d.ts'
],
parserOptions: {
...base.parserOptions,
project: [
'./tsconfig.eslint.json'
]
}
};
+1 -1
View File
@@ -17,5 +17,5 @@ jobs:
node-version: 'lts/*' node-version: 'lts/*'
- name: ${{ matrix.step }} - name: ${{ matrix.step }}
run: | run: |
yarn install --immutable | grep -v 'YN0013' yarn install --immutable
yarn ${{ matrix.step }} yarn ${{ matrix.step }}
+1 -1
View File
@@ -27,5 +27,5 @@ jobs:
node-version: 'lts/*' node-version: 'lts/*'
- name: ${{ matrix.step }} - name: ${{ matrix.step }}
run: | run: |
yarn install --immutable | grep -v 'YN0013' yarn install --immutable
yarn ${{ matrix.step }} yarn ${{ matrix.step }}
+4
View File
@@ -0,0 +1,4 @@
{
"eslint.enable": true,
"eslint.experimental.useFlatConfig": true
}
+5
View File
@@ -2,6 +2,11 @@ enableImmutableInstalls: false
enableProgressBars: false enableProgressBars: false
logFilters:
# Discard any "cannot be found in cache" messages
- code: YN0013
level: discard
nodeLinker: node-modules nodeLinker: node-modules
plugins: plugins:
+41
View File
@@ -1,5 +1,46 @@
# CHANGELOG # CHANGELOG
## 3.5.1 Jun 11, 2023
Changes:
- Adjust object index access for stricter tsconfig settings
- Bump to `@polkadot/util` 12.3.1
## 3.4.2 Jun 5, 2023
- Bump to `@polkadot/util` 12.2.2
## 3.4.1 May 13, 2023
Changes:
- Add `module` to `package.json` export map (ESM-only)
- Bump to `@polkadot/util` 12.2.1
## 3.3.1 May 7, 2023
Contributed:
- Adjust `vue-identicon` to be Vue 3 compatible (Thanks to https://github.com/Gavin-Gong)
Changes:
- Bump to `@polkadot/util` 12.1.2
## 3.2.2 Apr 29, 2023
Changes:
- Add missing `react-is` peer dependency for `styled-components`
- Adjust compilation output for `__internal__` class fields
- Bump to `@polkadot/util` 12.1.1
## 3.2.1 Apr 22, 2023 ## 3.2.1 Apr 22, 2023
Changes: Changes:
+2 -1
View File
@@ -1,4 +1,4 @@
708 Jaco 3.2.1 (#752) 721 Jaco 3.5.1 (#766)
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)
@@ -33,4 +33,5 @@
1 WoeOm add darwinia ss58 (#379) 1 WoeOm add darwinia ss58 (#379)
1 yuhui1208 [Stores] make FileStroe read key safely (#338) 1 yuhui1208 [Stores] make FileStroe read key safely (#338)
1 Yuri Add webpack 5 support (#557) 1 Yuri Add webpack 5 support (#557)
1 Zen feat: adapt Vue 3.x (#755)
1 菩提 fix some bugs (#260) 1 菩提 fix some bugs (#260)
+8
View File
@@ -0,0 +1,8 @@
// Copyright 2017-2023 @polkadot/dev authors & contributors
// SPDX-License-Identifier: Apache-2.0
import baseConfig from '@polkadot/dev/config/eslint';
export default [
...baseConfig
];
+8 -8
View File
@@ -14,10 +14,10 @@
}, },
"sideEffects": false, "sideEffects": false,
"type": "module", "type": "module",
"version": "3.2.1", "version": "3.5.1",
"versions": { "versions": {
"git": "3.2.1", "git": "3.5.1",
"npm": "3.2.1" "npm": "3.5.1"
}, },
"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.73.2", "@polkadot/dev": "^0.75.19",
"@polkadot/x-bundle": "^12.0.1", "@polkadot/x-bundle": "^12.3.1",
"@types/node": "^18.15.13", "@types/node": "^20.2.5",
"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.7" "react-native": "^0.71.10"
}, },
"resolutions": { "resolutions": {
"typescript": "^5.0.4" "typescript": "^5.1.3"
} }
} }
+10 -12
View File
@@ -18,25 +18,24 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.2.1", "version": "3.5.1",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/keyring": "^12.0.1", "@polkadot/keyring": "^12.3.1",
"@polkadot/ui-settings": "3.2.1", "@polkadot/ui-settings": "3.5.1",
"@polkadot/ui-shared": "3.2.1", "@polkadot/ui-shared": "3.5.1",
"@polkadot/util": "^12.0.1", "@polkadot/util": "^12.3.1",
"@polkadot/util-crypto": "^12.0.1", "@polkadot/util-crypto": "^12.3.1",
"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.9", "styled-components": "^5.3.11",
"tslib": "^2.5.0" "tslib": "^2.5.3"
}, },
"devDependencies": { "devDependencies": {
"@types/react-copy-to-clipboard": "^5.0.4", "@types/react-copy-to-clipboard": "^5.0.4",
"@types/react-dom": "^18.0.11", "@types/react-dom": "^18.2.4",
"@types/styled-components": "^5.1.26", "@types/styled-components": "^5.1.26",
"styled-components": "^5.3.9",
"xmlserializer": "^0.6.1" "xmlserializer": "^0.6.1"
}, },
"peerDependencies": { "peerDependencies": {
@@ -45,7 +44,6 @@
"@polkadot/util-crypto": "*", "@polkadot/util-crypto": "*",
"react": "*", "react": "*",
"react-dom": "*", "react-dom": "*",
"react-is": "*", "react-is": "*"
"styled-components": "*"
} }
} }
-1
View File
@@ -2,6 +2,5 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
export * from './icons/index.js'; export * from './icons/index.js';
export { Identicon } from './Identicon.js'; export { Identicon } from './Identicon.js';
export { packageInfo } from './packageInfo.js'; export { packageInfo } from './packageInfo.js';
+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.2.1' }; export const packageInfo = { name: '@polkadot/react-identicon', path: 'auto', type: 'auto', version: '3.5.1' };
+7 -7
View File
@@ -18,16 +18,16 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.2.1", "version": "3.5.1",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/ui-settings": "3.2.1", "@polkadot/ui-settings": "3.5.1",
"@polkadot/util": "^12.0.1", "@polkadot/util": "^12.3.1",
"@polkadot/util-crypto": "^12.0.1", "@polkadot/util-crypto": "^12.3.1",
"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.9", "styled-components": "^5.3.11",
"tslib": "^2.5.0" "tslib": "^2.5.3"
}, },
"devDependencies": { "devDependencies": {
"@types/react-qr-reader": "^2.1.4", "@types/react-qr-reader": "^2.1.4",
@@ -38,6 +38,6 @@
"@polkadot/util-crypto": "*", "@polkadot/util-crypto": "*",
"react": "*", "react": "*",
"react-dom": "*", "react-dom": "*",
"styled-components": "*" "react-is": "*"
} }
} }
+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);
+2 -2
View File
@@ -3,7 +3,7 @@
export { QrDisplayAddress } from './DisplayAddress.js'; export { QrDisplayAddress } from './DisplayAddress.js';
export { QrDisplayPayload } from './DisplayPayload.js'; export { QrDisplayPayload } from './DisplayPayload.js';
export { QrScanAddress } from './ScanAddress.js';
export { QrScanSignature } from './ScanSignature.js';
export { QrNetworkSpecs } from './NetworkSpecs.js'; export { QrNetworkSpecs } from './NetworkSpecs.js';
export { packageInfo } from './packageInfo.js'; export { packageInfo } from './packageInfo.js';
export { QrScanAddress } from './ScanAddress.js';
export { QrScanSignature } from './ScanSignature.js';
+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.2.1' }; export const packageInfo = { name: '@polkadot/react-qr', path: 'auto', type: 'auto', version: '3.5.1' };
+3 -2
View File
@@ -13,9 +13,10 @@ export function encodeNumber (value: number): Uint8Array {
} }
export function encodeString (value: string): Uint8Array { export function encodeString (value: string): Uint8Array {
const u8a = new Uint8Array(value.length); const count = value.length;
const u8a = new Uint8Array(count);
for (let i = 0; i < value.length; i++) { for (let i = 0; i < count; i++) {
u8a[i] = value.charCodeAt(i); u8a[i] = value.charCodeAt(i);
} }
+3
View File
@@ -5,6 +5,9 @@
"outDir": "./build", "outDir": "./build",
"rootDir": "./src" "rootDir": "./src"
}, },
"exclude": [
"**/*.spec.ts"
],
"references": [ "references": [
{ "path": "../ui-settings/tsconfig.build.json" } { "path": "../ui-settings/tsconfig.build.json" }
] ]
+16
View File
@@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": "..",
"outDir": "./build",
"rootDir": "./src",
"emitDeclarationOnly": false,
"noEmit": true
},
"include": [
"**/*.spec.ts"
],
"references": [
{ "path": "../react-qr/tsconfig.build.json" }
]
}
+6 -6
View File
@@ -18,17 +18,17 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.2.1", "version": "3.5.1",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/ui-shared": "3.2.1", "@polkadot/ui-shared": "3.5.1",
"@polkadot/util": "^12.0.1", "@polkadot/util": "^12.3.1",
"@polkadot/util-crypto": "^12.0.1", "@polkadot/util-crypto": "^12.3.1",
"react-native-svg": "^12.5.1", "react-native-svg": "^12.5.1",
"tslib": "^2.5.0" "tslib": "^2.5.3"
}, },
"devDependencies": { "devDependencies": {
"@types/react-native": "^0.71.6" "@types/react-native": "^0.72.2"
}, },
"peerDependencies": { "peerDependencies": {
"@polkadot/util": "*", "@polkadot/util": "*",
@@ -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.2.1' }; export const packageInfo = { name: '@polkadot/reactnative-identicon', path: 'auto', type: 'auto', version: '3.5.1' };
+8 -8
View File
@@ -17,17 +17,17 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.2.1", "version": "3.5.1",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/keyring": "^12.0.1", "@polkadot/keyring": "^12.3.1",
"@polkadot/ui-settings": "3.2.1", "@polkadot/ui-settings": "3.5.1",
"@polkadot/util": "^12.0.1", "@polkadot/util": "^12.3.1",
"@polkadot/util-crypto": "^12.0.1", "@polkadot/util-crypto": "^12.3.1",
"mkdirp": "^2.1.6", "mkdirp": "^3.0.1",
"rxjs": "^7.8.0", "rxjs": "^7.8.1",
"store": "^2.0.12", "store": "^2.0.12",
"tslib": "^2.5.0" "tslib": "^2.5.3"
}, },
"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 || [];
@@ -1,27 +0,0 @@
// Copyright 2017-2023 @polkadot/ui-keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import type { KeyringStruct } from '../types.js';
import { KeyringOption } from './index.js';
describe('KeyringOption', (): void => {
// Warning: Test "should not allow initOptions to be called more than once" generated asynchronous activity after the test ended. This activity created the error "TypeError: Cannot read properties of undefined (reading 'subject')" and would have caused the test to fail, but instead triggered an uncaughtException event.
it.skip('should not allow initOptions to be called more than once', (): void => {
const keyringOption = new KeyringOption();
const state = {} as KeyringStruct;
// first call
keyringOption.init(state);
// second call
expect(
() => keyringOption.init(state)
).toThrow('Unable to initialise options more than once');
// cleanup?
keyringOption.clear();
});
});
+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.2.1' }; export const packageInfo = { name: '@polkadot/ui-keyring', path: 'auto', type: 'auto', version: '3.5.1' };
+2 -2
View File
@@ -3,7 +3,7 @@
import type { KeyringJson, KeyringStore } from '../types.js'; import type { KeyringJson, KeyringStore } from '../types.js';
import mkdirp from 'mkdirp'; import { mkdirpSync } from 'mkdirp';
import fs from 'node:fs'; import fs from 'node:fs';
import path from 'node:path'; import path from 'node:path';
@@ -13,7 +13,7 @@ export class FileStore implements KeyringStore {
constructor (path: string) { constructor (path: string) {
if (!fs.existsSync(path)) { if (!fs.existsSync(path)) {
mkdirp.sync(path); mkdirpSync(path);
} }
this.#path = path; this.#path = path;
+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;
} }
+3
View File
@@ -5,6 +5,9 @@
"outDir": "./build", "outDir": "./build",
"rootDir": "./src" "rootDir": "./src"
}, },
"exclude": [
"**/*.spec.ts"
],
"references": [ "references": [
{ "path": "../ui-settings/tsconfig.build.json" } { "path": "../ui-settings/tsconfig.build.json" }
] ]
+16
View File
@@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": "..",
"outDir": "./build",
"rootDir": "./src",
"emitDeclarationOnly": false,
"noEmit": true
},
"include": [
"**/*.spec.ts"
],
"references": [
{ "path": "../ui-keyring/tsconfig.build.json" }
]
}
+5 -5
View File
@@ -18,14 +18,14 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.2.1", "version": "3.5.1",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/networks": "^12.0.1", "@polkadot/networks": "^12.3.1",
"@polkadot/util": "^12.0.1", "@polkadot/util": "^12.3.1",
"eventemitter3": "^5.0.0", "eventemitter3": "^5.0.1",
"store": "^2.0.12", "store": "^2.0.12",
"tslib": "^2.5.0" "tslib": "^2.5.3"
}, },
"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 && 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);
+2 -2
View File
@@ -3,8 +3,8 @@
import { Settings, settings } from './Settings.js'; import { Settings, settings } from './Settings.js';
export { ENDPOINT_DEFAULT, ICON_DEFAULT, ICON_DEFAULT_HOST, LANGUAGE_DEFAULT, LOCKING_DEFAULT, PREFIX_DEFAULT, UIMODE_DEFAULT, UITHEME_DEFAULT } from './defaults/index.js';
export { chains } from './defaults/chains.js'; export { chains } from './defaults/chains.js';
export { ENDPOINT_DEFAULT, ICON_DEFAULT, ICON_DEFAULT_HOST, LANGUAGE_DEFAULT, LOCKING_DEFAULT, PREFIX_DEFAULT, UIMODE_DEFAULT, UITHEME_DEFAULT } from './defaults/index.js';
export { packageInfo } from './packageInfo.js'; export { packageInfo } from './packageInfo.js';
export { settings, Settings }; export { Settings, settings };
+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.2.1' }; export const packageInfo = { name: '@polkadot/ui-settings', path: 'auto', type: 'auto', version: '3.5.1' };
+4 -4
View File
@@ -18,15 +18,15 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.2.1", "version": "3.5.1",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"colord": "^2.9.3", "colord": "^2.9.3",
"tslib": "^2.5.0" "tslib": "^2.5.3"
}, },
"devDependencies": { "devDependencies": {
"@polkadot/util": "^12.0.1", "@polkadot/util": "^12.3.1",
"@polkadot/util-crypto": "^12.0.1", "@polkadot/util-crypto": "^12.3.1",
"@types/xmlserializer": "^0.6.3", "@types/xmlserializer": "^0.6.3",
"xmlserializer": "^0.6.1" "xmlserializer": "^0.6.1"
}, },
+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.2.1' }; export const packageInfo = { name: '@polkadot/ui-shared', path: 'auto', type: 'auto', version: '3.5.1' };
+3
View File
@@ -5,5 +5,8 @@
"outDir": "./build", "outDir": "./build",
"rootDir": "./src" "rootDir": "./src"
}, },
"exclude": [
"**/*.spec.ts"
],
"references": [] "references": []
} }
+16
View File
@@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": "..",
"outDir": "./build",
"rootDir": "./src",
"emitDeclarationOnly": false,
"noEmit": true
},
"include": [
"**/*.spec.ts"
],
"references": [
{ "path": "../ui-shared/tsconfig.build.json" }
]
}
+5 -5
View File
@@ -18,14 +18,14 @@
"./detectPackage.cjs" "./detectPackage.cjs"
], ],
"type": "module", "type": "module",
"version": "3.2.1", "version": "3.5.1",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@polkadot/ui-shared": "3.2.1", "@polkadot/ui-shared": "3.5.1",
"@polkadot/util": "^12.0.1", "@polkadot/util": "^12.3.1",
"@polkadot/util-crypto": "^12.0.1", "@polkadot/util-crypto": "^12.3.1",
"jdenticon": "3.2.0", "jdenticon": "3.2.0",
"tslib": "^2.5.0" "tslib": "^2.5.3"
}, },
"devDependencies": { "devDependencies": {
"vue": "^2.7.14" "vue": "^2.7.14"
+31 -20
View File
@@ -4,12 +4,13 @@
import type { VNode } from 'vue'; import type { VNode } from 'vue';
import type { Prefix } from '@polkadot/util-crypto/address/types'; import type { Prefix } from '@polkadot/util-crypto/address/types';
import { defineComponent } from 'vue'; import { defineComponent, h } from 'vue';
import { isHex, isU8a, u8aToHex } from '@polkadot/util'; import { isHex, isU8a, u8aToHex } from '@polkadot/util';
import { decodeAddress, encodeAddress } from '@polkadot/util-crypto'; import { decodeAddress, encodeAddress } from '@polkadot/util-crypto';
import { Beachball, Empty, Jdenticon, Polkadot } from './icons/index.js'; import { Beachball, Empty, Jdenticon, Polkadot } from './icons/index.js';
import { adaptVNodeAttrs } from './util.js';
interface Account { interface Account {
address: string; address: string;
@@ -26,7 +27,7 @@ interface Data {
const DEFAULT_SIZE = 64; const DEFAULT_SIZE = 64;
function encodeAccount (value: string | Uint8Array, prefix?: Prefix): Account { export function encodeAccount (value: string | Uint8Array, prefix?: Prefix): Account {
try { try {
const address = isU8a(value) || isHex(value) const address = isU8a(value) || isHex(value)
? encodeAddress(value as string, prefix) ? encodeAddress(value as string, prefix)
@@ -81,23 +82,25 @@ export const Identicon = defineComponent({
} }
}, },
props: ['prefix', 'isAlternative', 'size', 'theme', 'value'], props: ['prefix', 'isAlternative', 'size', 'theme', 'value'],
render (h): VNode { render (): VNode {
const { address, iconSize, isAlternativeIcon, publicKey, type } = this.$data; const { address, iconSize, isAlternativeIcon, publicKey, type } = this.$data;
if (type === 'empty') { if (type === 'empty') {
return h('Empty', { return h(Empty, {
attrs: { ...adaptVNodeAttrs({
key: address, key: address,
size: iconSize size: iconSize
} })
}, []); }, []);
} else if (type === 'jdenticon') { } else if (type === 'jdenticon') {
return h('Jdenticon', { return h(Jdenticon, {
attrs: { ...adaptVNodeAttrs(
key: address, {
publicKey, key: address,
size: iconSize publicKey,
} size: iconSize
}
)
}, []); }, []);
} else if (type === 'substrate') { } else if (type === 'substrate') {
throw new Error('substrate type is not supported'); throw new Error('substrate type is not supported');
@@ -105,14 +108,22 @@ export const Identicon = defineComponent({
const cmp = type.charAt(0).toUpperCase() + type.slice(1); const cmp = type.charAt(0).toUpperCase() + type.slice(1);
return h(cmp, { if (['Beachball', 'Polkadot'].includes(cmp)) {
attrs: { const component = cmp === 'Beachball'
address, ? Beachball
isAlternative: isAlternativeIcon, : Polkadot;
key: address,
size: iconSize return h(component, {
} ...adaptVNodeAttrs({
}, []); address,
isAlternative: isAlternativeIcon,
key: address,
size: iconSize
})
}, []);
} else {
return h(cmp, {}, []);
}
}, },
watch: { watch: {
value: function (): void { value: function (): void {
-1
View File
@@ -2,5 +2,4 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
export { Identicon } from './Identicon.js'; export { Identicon } from './Identicon.js';
export { packageInfo } from './packageInfo.js'; export { packageInfo } from './packageInfo.js';
@@ -3,7 +3,7 @@
import type { VNode } from 'vue'; import type { VNode } from 'vue';
import { defineComponent } from 'vue'; import { defineComponent, h } from 'vue';
import { beachballIcon } from '@polkadot/ui-shared'; import { beachballIcon } from '@polkadot/ui-shared';
@@ -19,7 +19,7 @@ type PropsType = {
*/ */
export const Beachball = defineComponent({ export const Beachball = defineComponent({
props: ['address', 'size', 'isAlternative'], props: ['address', 'size', 'isAlternative'],
render (h): VNode { render (): VNode {
const { address, isAlternative, size } = this.$props as PropsType; const { address, isAlternative, size } = this.$props as PropsType;
return h({ return h({
@@ -4,7 +4,7 @@
import type { VNode } from 'vue'; import type { VNode } from 'vue';
import * as jdenticon from 'jdenticon'; import * as jdenticon from 'jdenticon';
import { defineComponent } from 'vue'; import { defineComponent, h } from 'vue';
type PropsType = { type PropsType = {
publicKey: string, publicKey: string,
@@ -17,7 +17,7 @@ type PropsType = {
*/ */
export const Jdenticon = defineComponent({ export const Jdenticon = defineComponent({
props: ['publicKey', 'size'], props: ['publicKey', 'size'],
render (h): VNode { render (): VNode {
const { publicKey, size } = this.$props as PropsType; const { publicKey, size } = this.$props as PropsType;
return h({ return h({
+7 -5
View File
@@ -3,10 +3,12 @@
import type { VNode } from 'vue'; import type { VNode } from 'vue';
import { defineComponent } from 'vue'; import { defineComponent, h } from 'vue';
import { polkadotIcon } from '@polkadot/ui-shared'; import { polkadotIcon } from '@polkadot/ui-shared';
import { adaptVNodeAttrs } from '../util.js';
type propsType = { type propsType = {
address: string; address: string;
isAlternative: boolean; isAlternative: boolean;
@@ -19,18 +21,18 @@ type propsType = {
*/ */
export const Polkadot = defineComponent({ export const Polkadot = defineComponent({
props: ['address', 'isAlternative', 'size'], props: ['address', 'isAlternative', 'size'],
render (h): VNode { render (): VNode {
const { address, isAlternative, size } = this.$props as propsType; const { address, isAlternative, size } = this.$props as propsType;
const circles = polkadotIcon(address, { isAlternative }).map(({ cx, cy, fill, r }) => const circles = polkadotIcon(address, { isAlternative }).map(({ cx, cy, fill, r }) =>
h('circle', { attrs: { cx, cy, fill, r } }, []) h('circle', { ...adaptVNodeAttrs({ cx, cy, fill, r }) }, [])
); );
return h('svg', { return h('svg', {
attrs: { ...adaptVNodeAttrs({
height: size, height: size,
viewBox: '0 0 64 64', viewBox: '0 0 64 64',
width: size width: size
} })
}, circles); }, circles);
} }
}); });
+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.2.1' }; export const packageInfo = { name: '@polkadot/vue-identicon', path: 'auto', type: 'auto', version: '3.5.1' };
+17
View File
@@ -0,0 +1,17 @@
// Copyright 2017-2023 @polkadot/vue-identicon authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { version } from 'vue';
const isV3 = version.startsWith('3.');
/**
* @internal
*
* Adjust attributes to be usable in both Vue 2 and Vue 3 components.
*/
export function adaptVNodeAttrs (data: Record<string, unknown>): Record<string, unknown> {
return isV3
? data
: { attrs: data };
}
+3
View File
@@ -6,10 +6,13 @@
"references": [ "references": [
{ "path": "./packages/react-identicon/tsconfig.build.json" }, { "path": "./packages/react-identicon/tsconfig.build.json" },
{ "path": "./packages/react-qr/tsconfig.build.json" }, { "path": "./packages/react-qr/tsconfig.build.json" },
{ "path": "./packages/react-qr/tsconfig.spec.json" },
{ "path": "./packages/reactnative-identicon/tsconfig.build.json" }, { "path": "./packages/reactnative-identicon/tsconfig.build.json" },
{ "path": "./packages/ui-keyring/tsconfig.build.json" }, { "path": "./packages/ui-keyring/tsconfig.build.json" },
{ "path": "./packages/ui-keyring/tsconfig.spec.json" },
{ "path": "./packages/ui-settings/tsconfig.build.json" }, { "path": "./packages/ui-settings/tsconfig.build.json" },
{ "path": "./packages/ui-shared/tsconfig.build.json" }, { "path": "./packages/ui-shared/tsconfig.build.json" },
{ "path": "./packages/ui-shared/tsconfig.spec.json" },
{ "path": "./packages/vue-identicon/tsconfig.build.json" } { "path": "./packages/vue-identicon/tsconfig.build.json" }
] ]
} }
+3 -2
View File
@@ -6,8 +6,9 @@
}, },
"include": [ "include": [
"packages/**/src/**/*", "packages/**/src/**/*",
"packages/**/*.cjs", ".prettierrc.cjs",
"packages/**/*.js" "eslint.config.js",
"rollup.config.js"
], ],
"exclude": [ "exclude": [
"**/node_modules/**/*" "**/node_modules/**/*"
+730 -530
View File
File diff suppressed because it is too large Load Diff