theseus/bundled-addons
Local Dev e0246f8520 feat(aegis): 0.11.0 — promote a WIF import to an HD wallet
A wallet imported from a single private key cannot do WizardConnect, and no
amount of work inside Aegis changes that: the handshake ships BIP32 xpubs so
the dapp derives addresses without further round-trips, and a lone key has no
chain code to build one from. Manufacturing a parent whose child equals a
given key means inverting HMAC-SHA512, and even solved for index 0 the dapp's
next index lands elsewhere. The way out is to stop being a single-key wallet.

Promote derives a fresh wallet from the vault on the import's own network and
sweeps the key into it, after which WizardConnect works — and so does every
other thing that assumes a key tree. It reuses plan() + signAndBroadcast(),
the same pair the consolidate flow already spends through, rather than
growing a second money path.

Three things it deliberately does not do:

- The preview costs the sweep by planning a send-max to the wallet's OWN
  address, so cancelling leaves nothing behind. Same inputs, same single
  P2PKH output, so the fee is identical to the real sweep.
- The imported key is kept, not deleted. The sweep is unconfirmed when the
  call returns and anyone holding the old address can still pay into it;
  removing the key there would strand those coins. Removal stays a separate
  step the user takes once the balance reads zero.
- A promote that fails in plan() takes the just-created wallet back out,
  since nothing was broadcast. Past that point the wallet is kept even on
  error, because a transaction may already be on the wire and its
  destination has to stay visible.

BCH only: the BTC/DGB/ETH/TRX/SOL imported adapters still throw "read-only"
from plan(), and the refusal now names the chain instead of failing vaguely.

Wallet creation is lifted out of the addWallet handler into
createVaultWallet so promote builds its destination through exactly the same
purpose allocation, legacy-purpose carry-over and id numbering as the Add
flow, instead of a near-copy sitting next to a transfer.
2026-09-27 16:19:24 +02:00
..
aegis feat(aegis): 0.11.0 — promote a WIF import to an HD wallet 2026-09-27 16:19:24 +02:00
notepad Theseus: add-on framework MVP + Notepad reference add-on 2026-08-31 13:51:08 +02:00
screenshot feat(theseus/screenshot): 0.6.4 — Polaroid sounds, trash icon, centred cluster, filename footer + open-in-folder 2026-09-09 22:34:47 +02:00