Files
extension/packages/extension-ui/package.json
rob thijssen 87a0b3926c feat: remove the Ledger account path
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
2026-09-15 12:02:19 +03:00

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"
}
}