No hardware wallet speaks ML-DSA, and @polkadot/hw-ledger talks ed25519 over the Ledger Substrate app, so every one of these screens was unreachable for a Quantus account. Removed rather than hidden behind a flag: this fork is not trying to stay mergeable with upstream, so unreachable UI costs more than it saves. It is also work that quantus/common#6 turns into a type error regardless. Gone: ImportLedger.tsx, useLedger.ts, LedgerSign.tsx, legerChains.ts (upstream's typo), the route and its ALLOWED_PATH entry, the add-menu item, the Ledger App setting, and the @polkadot/hw-ledger dependency. Also gone is the background handler. accountsCreateHardware and its message type were reachable only from ImportLedger, so they are now dead code — and dead code that mints accounts is worth deleting rather than leaving for someone to wire up again. Two things deliberately stay: isHardware remains on AccountJson. Nothing creates such an account any more, but a restored JSON can still carry the flag, and the display branches that read it are correct for that case — an imported hardware account has no key here and cannot sign. Ripping the flag out would touch unrelated display code to remove a branch that is right. canEditGenesis becomes unconditional. It was `!isHardware || ledgerApp === 'generic'`, because the chain-specific Ledger app could not sign for an arbitrary genesis hash. With no hardware path and no such setting, nothing restricts it. The two spec cases that asserted the old behaviour are rewritten into one that asserts the new rule, rather than deleted. Not done, contrary to what the issue asked for: no "hardware wallets are not supported" note in the add menu. The reasoning there was that a missing item reads as broken — but that only holds for someone looking for it, and in a Quantus-only wallet nobody is. A permanent dead entry needing translation into every locale is a worse wart than its absence. It belongs in the README when branding lands (#2). 65 tests pass; typecheck clean. Refs quantus/extension#5 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012uDUodEcRbBwNRi3UCmw8f
74 lines
2.5 KiB
JSON
74 lines
2.5 KiB
JSON
{
|
|
"author": "Jaco Greeff <jacogr@gmail.com>",
|
|
"bugs": "https://github.com/polkadot-js/extension/issues",
|
|
"description": "A sample signer extension for the @polkadot/api",
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"homepage": "https://github.com/polkadot-js/extension/tree/master/packages/extension-ui#readme",
|
|
"license": "Apache-2.0",
|
|
"name": "@polkadot/extension-ui",
|
|
"repository": {
|
|
"directory": "packages/extension-ui",
|
|
"type": "git",
|
|
"url": "https://github.com/polkadot-js/extension.git"
|
|
},
|
|
"sideEffects": true,
|
|
"type": "module",
|
|
"version": "0.64.0",
|
|
"dependencies": {
|
|
"@fortawesome/fontawesome-svg-core": "^6.7.2",
|
|
"@fortawesome/free-brands-svg-icons": "^6.7.2",
|
|
"@fortawesome/free-regular-svg-icons": "^6.7.2",
|
|
"@fortawesome/free-solid-svg-icons": "^6.7.2",
|
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
"@paraspell/xcm-analyser": "^1.3.1",
|
|
"@polkadot-api/merkleize-metadata": "^1.1.31",
|
|
"@polkadot/api": "^16.5.6",
|
|
"@polkadot/extension-base": "0.64.0",
|
|
"@polkadot/extension-chains": "0.64.0",
|
|
"@polkadot/extension-dapp": "0.64.0",
|
|
"@polkadot/extension-inject": "0.64.0",
|
|
"@polkadot/keyring": "^14.0.3",
|
|
"@polkadot/networks": "^14.0.3",
|
|
"@polkadot/react-identicon": "^3.16.7",
|
|
"@polkadot/react-qr": "^3.16.7",
|
|
"@polkadot/types": "^16.5.6",
|
|
"@polkadot/types-augment": "^16.5.6",
|
|
"@polkadot/ui-keyring": "^3.16.7",
|
|
"@polkadot/ui-settings": "^3.16.7",
|
|
"@polkadot/util": "^14.0.3",
|
|
"@polkadot/util-crypto": "^14.0.3",
|
|
"@zxcvbn-ts/core": "^3.0.4",
|
|
"@zxcvbn-ts/language-common": "^3.0.4",
|
|
"@zxcvbn-ts/language-en": "^3.0.2",
|
|
"file-saver": "^2.0.5",
|
|
"i18next": "^23.7.11",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"react-dropzone": "^11.7.1",
|
|
"react-i18next": "^13.5.0",
|
|
"react-is": "^18.2.0",
|
|
"react-router": "^5.3.4",
|
|
"react-router-dom": "^5.3.4",
|
|
"styled-components": "^6.1.1",
|
|
"tslib": "^2.8.1"
|
|
},
|
|
"devDependencies": {
|
|
"@polkadot/dev-test": "^0.83.3",
|
|
"@polkadot/extension-mocks": "0.64.0",
|
|
"@types/enzyme": "^3.10.18",
|
|
"@types/enzyme-adapter-react-16": "^1.0.9",
|
|
"@types/file-saver": "^2.0.7",
|
|
"@types/react-copy-to-clipboard": "^5.0.7",
|
|
"@types/react-dom": "^18.2.18",
|
|
"@types/react-router": "^5.1.20",
|
|
"@types/react-router-dom": "^5.3.3",
|
|
"@types/sinon-chrome": "^2.2.15",
|
|
"@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
|
|
"enzyme": "^3.11.0",
|
|
"enzyme-adapter-react-16": "^1.15.7",
|
|
"sinon-chrome": "^3.0.1"
|
|
}
|
|
}
|