diff --git a/.yarnrc.yml b/.yarnrc.yml index 4b980e48..62c03ffe 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -11,3 +11,13 @@ logFilters: level: discard nodeLinker: node-modules + +# @quantus packages come from the Gitea registry. Routing the whole scope is safe +# because we own every name in it — unlike @polkadot, most of which is unforked +# and must keep coming from npm. The four forked @polkadot packages are pinned +# individually to tarball URLs in package.json resolutions. +# +# Reads are anonymous; publishing needs `pass gitea/package-publisher-token`. +npmScopes: + quantus: + npmRegistryServer: "https://git.lair.cafe/api/packages/quantus/npm/" diff --git a/package.json b/package.json index 74d4a2b3..74777d68 100644 --- a/package.json +++ b/package.json @@ -52,12 +52,13 @@ }, "resolutions": { "@polkadot/api": "^16.5.6", - "@polkadot/keyring": "^14.0.3", - "@polkadot/networks": "^14.0.3", + "@polkadot/keyring": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fkeyring/-/14.0.3-quantus.1/keyring-14.0.3-quantus.1.tgz", + "@polkadot/networks": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fnetworks/-/14.0.3-quantus.1/networks-14.0.3-quantus.1.tgz", "@polkadot/rpc-provider": "^16.5.6", "@polkadot/types": "^16.5.6", + "@polkadot/ui-keyring": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fui-keyring/-/3.16.7-quantus.1/ui-keyring-3.16.7-quantus.1.tgz", "@polkadot/util": "^14.0.3", - "@polkadot/util-crypto": "^14.0.3", + "@polkadot/util-crypto": "https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Futil-crypto/-/14.0.3-quantus.1/util-crypto-14.0.3-quantus.1.tgz", "@polkadot/x-fetch": "^14.0.3", "safe-buffer": "^5.2.1", "typescript": "^5.5.4" diff --git a/packages/extension-base/src/packageInfo.ts b/packages/extension-base/src/packageInfo.ts index e125e978..cbf54526 100644 --- a/packages/extension-base/src/packageInfo.ts +++ b/packages/extension-base/src/packageInfo.ts @@ -3,4 +3,4 @@ // Do not edit, auto-generated by @polkadot/dev -export const packageInfo = { name: '@polkadot/extension-base', path: 'auto', type: 'auto', version: '0.63.2-1-x' }; +export const packageInfo = { name: '@polkadot/extension-base', path: 'auto', type: 'auto', version: '0.64.0' }; diff --git a/packages/extension-chains/src/packageInfo.ts b/packages/extension-chains/src/packageInfo.ts index ca83c1c9..7ffc85b1 100644 --- a/packages/extension-chains/src/packageInfo.ts +++ b/packages/extension-chains/src/packageInfo.ts @@ -3,4 +3,4 @@ // Do not edit, auto-generated by @polkadot/dev -export const packageInfo = { name: '@polkadot/extension-chains', path: 'auto', type: 'auto', version: '0.63.2-1-x' }; +export const packageInfo = { name: '@polkadot/extension-chains', path: 'auto', type: 'auto', version: '0.64.0' }; diff --git a/packages/extension-compat-metamask/src/packageInfo.ts b/packages/extension-compat-metamask/src/packageInfo.ts index 5233125b..eba7068f 100644 --- a/packages/extension-compat-metamask/src/packageInfo.ts +++ b/packages/extension-compat-metamask/src/packageInfo.ts @@ -3,4 +3,4 @@ // Do not edit, auto-generated by @polkadot/dev -export const packageInfo = { name: '@polkadot/extension-compat-metamask', path: 'auto', type: 'auto', version: '0.63.2-1-x' }; +export const packageInfo = { name: '@polkadot/extension-compat-metamask', path: 'auto', type: 'auto', version: '0.64.0' }; diff --git a/packages/extension-dapp/src/packageInfo.ts b/packages/extension-dapp/src/packageInfo.ts index 2e7726cf..7925b16f 100644 --- a/packages/extension-dapp/src/packageInfo.ts +++ b/packages/extension-dapp/src/packageInfo.ts @@ -3,4 +3,4 @@ // Do not edit, auto-generated by @polkadot/dev -export const packageInfo = { name: '@polkadot/extension-dapp', path: 'auto', type: 'auto', version: '0.63.2-1-x' }; +export const packageInfo = { name: '@polkadot/extension-dapp', path: 'auto', type: 'auto', version: '0.64.0' }; diff --git a/packages/extension-inject/src/packageInfo.ts b/packages/extension-inject/src/packageInfo.ts index a3c15972..f46b53d8 100644 --- a/packages/extension-inject/src/packageInfo.ts +++ b/packages/extension-inject/src/packageInfo.ts @@ -3,4 +3,4 @@ // Do not edit, auto-generated by @polkadot/dev -export const packageInfo = { name: '@polkadot/extension-inject', path: 'auto', type: 'auto', version: '0.63.2-1-x' }; +export const packageInfo = { name: '@polkadot/extension-inject', path: 'auto', type: 'auto', version: '0.64.0' }; diff --git a/packages/extension-ui/src/util/buildHierarchy.spec.ts b/packages/extension-ui/src/util/buildHierarchy.spec.ts index e1c86301..39a357d4 100644 --- a/packages/extension-ui/src/util/buildHierarchy.spec.ts +++ b/packages/extension-ui/src/util/buildHierarchy.spec.ts @@ -8,9 +8,18 @@ import type { AccountJson, AccountWithChildren } from '@polkadot/extension-base/ import { buildHierarchy } from './buildHierarchy.js'; +// Was Polkadot and Kusama. `compareByNetwork` resolves a genesis hash through +// `getNetworkMap()`, which is built from `selectableNetworks` — and this fork +// only offers chains whose accounts are post-quantum (quantus/common#1), so +// neither is in it any more. Both would resolve to '' and compare equal, so the +// network-ordering tests below would have passed without ordering anything. +// +// QUANTUS sorts before HEISENBERG, by display name 'Quantus' < 'Quantus +// Heisenberg' — the same direction 'Kusama' < 'Polkadot' ran, so the fixtures +// keep their shape. const genesisExample = { - KUSAMA: '0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe', - POLKADOT: '0x91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3' + HEISENBERG: '0xa5aa9e5c84d4a3722c152295e7973c9af522f2fb1ef7db5afaa3d5f4dc8d3b4f', + QUANTUS: '0xfb5487c0be6ae4ade2d41d16e50465129861636c2b8d61fa94d7a19631626fba' } as const; const testHierarchy = (accounts: AccountJson[], expected: AccountWithChildren[]): void => { @@ -69,15 +78,15 @@ describe('Use Account Hierarchy', () => { it('sorts accounts by network', () => { testHierarchy( - [{ address: 'b', genesisHash: genesisExample.KUSAMA }, { address: 'a', genesisHash: genesisExample.POLKADOT }, { address: 'c', genesisHash: genesisExample.KUSAMA }], - [{ address: 'b', genesisHash: genesisExample.KUSAMA }, { address: 'c', genesisHash: genesisExample.KUSAMA }, { address: 'a', genesisHash: genesisExample.POLKADOT }] + [{ address: 'b', genesisHash: genesisExample.QUANTUS }, { address: 'a', genesisHash: genesisExample.HEISENBERG }, { address: 'c', genesisHash: genesisExample.QUANTUS }], + [{ address: 'b', genesisHash: genesisExample.QUANTUS }, { address: 'c', genesisHash: genesisExample.QUANTUS }, { address: 'a', genesisHash: genesisExample.HEISENBERG }] ); }); it('sorts accounts by network and name', () => { testHierarchy( - [{ address: 'b', genesisHash: genesisExample.KUSAMA, name: 'b-last-kusama' }, { address: 'a', genesisHash: genesisExample.POLKADOT }, { address: 'c', genesisHash: genesisExample.KUSAMA, name: 'a-first-kusama' }], - [{ address: 'c', genesisHash: genesisExample.KUSAMA, name: 'a-first-kusama' }, { address: 'b', genesisHash: genesisExample.KUSAMA, name: 'b-last-kusama' }, { address: 'a', genesisHash: genesisExample.POLKADOT }] + [{ address: 'b', genesisHash: genesisExample.QUANTUS, name: 'b-last-quantus' }, { address: 'a', genesisHash: genesisExample.HEISENBERG }, { address: 'c', genesisHash: genesisExample.QUANTUS, name: 'a-first-quantus' }], + [{ address: 'c', genesisHash: genesisExample.QUANTUS, name: 'a-first-quantus' }, { address: 'b', genesisHash: genesisExample.QUANTUS, name: 'b-last-quantus' }, { address: 'a', genesisHash: genesisExample.HEISENBERG }] ); }); diff --git a/packages/extension/src/packageInfo.ts b/packages/extension/src/packageInfo.ts index 0af2bd52..5be7b046 100644 --- a/packages/extension/src/packageInfo.ts +++ b/packages/extension/src/packageInfo.ts @@ -3,4 +3,4 @@ // Do not edit, auto-generated by @polkadot/dev -export const packageInfo = { name: '@polkadot/extension', path: 'auto', type: 'auto', version: '0.63.2-1-x' }; +export const packageInfo = { name: '@polkadot/extension', path: 'auto', type: 'auto', version: '0.64.0' }; diff --git a/yarn.lock b/yarn.lock index 70179b29..a771fcd4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1282,28 +1282,29 @@ __metadata: languageName: node linkType: hard -"@polkadot/keyring@npm:^14.0.3": - version: 14.0.3 - resolution: "@polkadot/keyring@npm:14.0.3" +"@polkadot/keyring@https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fkeyring/-/14.0.3-quantus.1/keyring-14.0.3-quantus.1.tgz": + version: 14.0.3-quantus.1 + resolution: "@polkadot/keyring@https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fkeyring/-/14.0.3-quantus.1/keyring-14.0.3-quantus.1.tgz" dependencies: "@polkadot/util": "npm:14.0.3" - "@polkadot/util-crypto": "npm:14.0.3" + "@polkadot/util-crypto": "npm:14.0.3-quantus.1" + "@quantus/crypto": "npm:^0.1.0" tslib: "npm:^2.8.0" peerDependencies: "@polkadot/util": 14.0.3 "@polkadot/util-crypto": 14.0.3 - checksum: 10/69f9f776363f8327d72b43794262ae709fc2824182637e499ed6e9ca94315645d78005bf1f25bdfb7305e5d79879cb932c114e6612467ddf21a760117834e8a2 + checksum: 10/513818828aebd066ec618e114441bbd2aa9cb83527fce4a78867d3b9f982e4bb17527090642d704a2a8b1fd047276b30ce8c22efcdc10c81d3e318f4b42c7059 languageName: node linkType: hard -"@polkadot/networks@npm:^14.0.3": - version: 14.0.3 - resolution: "@polkadot/networks@npm:14.0.3" +"@polkadot/networks@https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fnetworks/-/14.0.3-quantus.1/networks-14.0.3-quantus.1.tgz": + version: 14.0.3-quantus.1 + resolution: "@polkadot/networks@https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fnetworks/-/14.0.3-quantus.1/networks-14.0.3-quantus.1.tgz" dependencies: "@polkadot/util": "npm:14.0.3" "@substrate/ss58-registry": "npm:^1.51.0" tslib: "npm:^2.8.0" - checksum: 10/eb006f537f103b0d417e52966d0098b528326d1ebbae84e4c7834627bb3e863b7b849856992aa58c4a0aeb0ed1e1838a9619aeba7610d0e7c75e99ffcc6c9ecd + checksum: 10/5d93c35908eec5b41f29ffd4a5a79234c7329264e61d6b4346398e5b495b80109c5ce35a2f2bb95e9f6fc4eb22b9da047b9ca4191ec73a668c43da73861d7122 languageName: node linkType: hard @@ -1492,14 +1493,14 @@ __metadata: languageName: node linkType: hard -"@polkadot/ui-keyring@npm:^3.16.7": - version: 3.16.7 - resolution: "@polkadot/ui-keyring@npm:3.16.7" +"@polkadot/ui-keyring@https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fui-keyring/-/3.16.7-quantus.1/ui-keyring-3.16.7-quantus.1.tgz": + version: 3.16.7-quantus.1 + resolution: "@polkadot/ui-keyring@https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Fui-keyring/-/3.16.7-quantus.1/ui-keyring-3.16.7-quantus.1.tgz" dependencies: - "@polkadot/keyring": "npm:^14.0.3" + "@polkadot/keyring": "npm:14.0.3-quantus.1" "@polkadot/ui-settings": "npm:3.16.7" "@polkadot/util": "npm:^14.0.3" - "@polkadot/util-crypto": "npm:^14.0.3" + "@polkadot/util-crypto": "npm:14.0.3-quantus.1" mkdirp: "npm:^3.0.1" rxjs: "npm:^7.8.1" store: "npm:^2.0.12" @@ -1508,7 +1509,7 @@ __metadata: "@polkadot/keyring": "*" "@polkadot/ui-settings": "*" "@polkadot/util": "*" - checksum: 10/12d3f7e39918f5ce5e017d26ba0cabf6253f3cd27d08bd5c1de95680f5bcb303381ed6ba82b49764b7295bf9e49b048a66052211c25495daf5b8484e50578759 + checksum: 10/8f475e2fbbf795a82513e5195ec924f4c3077cb9cf6f09205db6507a814a527b0b99ba077e44ba506e3c8120366ae1f33371653858c7ed1f291bc1fd2917cb9f languageName: node linkType: hard @@ -1541,24 +1542,25 @@ __metadata: languageName: node linkType: hard -"@polkadot/util-crypto@npm:^14.0.3": - version: 14.0.3 - resolution: "@polkadot/util-crypto@npm:14.0.3" +"@polkadot/util-crypto@https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Futil-crypto/-/14.0.3-quantus.1/util-crypto-14.0.3-quantus.1.tgz": + version: 14.0.3-quantus.1 + resolution: "@polkadot/util-crypto@https://git.lair.cafe/api/packages/quantus/npm/%40polkadot%2Futil-crypto/-/14.0.3-quantus.1/util-crypto-14.0.3-quantus.1.tgz" dependencies: "@noble/curves": "npm:^1.3.0" "@noble/hashes": "npm:^1.3.3" - "@polkadot/networks": "npm:14.0.3" + "@polkadot/networks": "npm:14.0.3-quantus.1" "@polkadot/util": "npm:14.0.3" "@polkadot/wasm-crypto": "npm:^7.5.3" "@polkadot/wasm-util": "npm:^7.5.3" "@polkadot/x-bigint": "npm:14.0.3" "@polkadot/x-randomvalues": "npm:14.0.3" + "@quantus/crypto": "npm:^0.1.0" "@scure/base": "npm:^1.1.7" "@scure/sr25519": "npm:^0.2.0" tslib: "npm:^2.8.0" peerDependencies: "@polkadot/util": 14.0.3 - checksum: 10/e8f2da806cb81d3c014415bdd633f0fc5871132ce790ca892f65899010386d64fa25f7c047574cc96402afa03b5ff77e4dff904e69b90e714a7150e18ef0f507 + checksum: 10/ae364a2c47ea6033222f34766f83f3c3740966f83f380978b716013d4ab3862f03355034afe6ef84e7f28c90bda1eb347114c342acd5f4844566580d13d34341 languageName: node linkType: hard @@ -1731,6 +1733,16 @@ __metadata: languageName: node linkType: hard +"@quantus/crypto@npm:^0.1.0": + version: 0.1.1 + resolution: "@quantus/crypto@npm:0.1.1::__archiveUrl=https%3A%2F%2Fgit.lair.cafe%2Fapi%2Fpackages%2Fquantus%2Fnpm%2F%2540quantus%252Fcrypto%2F-%2F0.1.1%2Fcrypto-0.1.1.tgz" + dependencies: + fflate: "npm:^0.8.2" + tslib: "npm:^2.7.0" + checksum: 10/2ba96cc2310b7c9ede22ed848ba05a9c789345b4ecb4b880e100a65b8280497e79c76f48fa4721e15c8e5567c0278fd08987e7cb10492dfa4e53c0be1d741e68 + languageName: node + linkType: hard + "@rollup/plugin-alias@npm:^5.1.1": version: 5.1.1 resolution: "@rollup/plugin-alias@npm:5.1.1" @@ -7389,6 +7401,13 @@ __metadata: languageName: node linkType: hard +"fflate@npm:^0.8.2": + version: 0.8.3 + resolution: "fflate@npm:0.8.3" + checksum: 10/6ebf528dc9c56e78e715eac615b009b25dc33e15c1920b11ebba44e6d76181c647756a81a23e19247907496b93aa99928514c53090579a65109e026ac2824aa7 + languageName: node + linkType: hard + "figures@npm:^3.0.0": version: 3.2.0 resolution: "figures@npm:3.2.0"