diff options
| author | Adam Soltys <[email protected]> | 2026-08-01 09:00:18 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-08-01 09:00:18 -0700 |
| commit | d0fc8569c478111bfa5da90570ee3a0ac449a60d (patch) | |
| tree | 9d15eb0cc1bc5185cb5181fed31d45988be41284 /src/features/sync.js | |
| parent | 0953013271fd9fbc857d3da94a5d65662423b806 (diff) | |
| download | coinosv3-d0fc8569c478111bfa5da90570ee3a0ac449a60d.tar.gz coinosv3-d0fc8569c478111bfa5da90570ee3a0ac449a60d.zip | |
Never render another ASP's Ark state before connecting
The previous fix still let a phantom balance through: loadArkState fell back
to the pre-namespacing key when a namespace was empty, and the UI renders
from that before any server is contacted — so the guard, which runs on
connect, never got a say.
loadArkState now returns only the namespaced state. Legacy state is claimed
through adoptArkState(serverPubkey), which proves ownership first: from the
state's own stamp, or failing that by decoding a vtxo, whose wire format
names its cosigner. No network call, and it cannot guess wrong. On a match
the state moves into the namespace and the legacy key is retired; on a
mismatch it is left untouched for its real owner.
Co-Authored-By: Claude Fable 5 <[email protected]>
Diffstat (limited to 'src/features/sync.js')
0 files changed, 0 insertions, 0 deletions
