diff options
| author | Adam Soltys <[email protected]> | 2026-07-04 07:15:52 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-07-04 07:15:52 -0700 |
| commit | 6cc0dd619e71099675a7cb1b1566cbe2c06b7bc1 (patch) | |
| tree | b672290c5c628eb33bfcb27dff12a2c14f69a6a9 /src/ark | |
| parent | d39aa82e0e97f1f3373980cb28f04e0415965723 (diff) | |
| download | coinosv3-6cc0dd619e71099675a7cb1b1566cbe2c06b7bc1.tar.gz coinosv3-6cc0dd619e71099675a7cb1b1566cbe2c06b7bc1.zip | |
Ark: history rows open a detail view
Ark movements are clickable like on-chain txs. The detail view shows
amount, date, status, the destination address (sends, copyable), the
vtxo id, and for boards the funding txid with copy + explorer link.
Movements now record those fields at completion time; older records
without them still render (amount/date/status only).
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QFAcD4V284DvYZZHP7Rxxy
Diffstat (limited to 'src/ark')
| -rw-r--r-- | src/ark/manager.js | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/ark/manager.js b/src/ark/manager.js index 1f21159..c2fd0c6 100644 --- a/src/ark/manager.js +++ b/src/ark/manager.js @@ -163,7 +163,7 @@ export class ArkManager { throw e; // network errors etc: retry next sync } this._addVtxo(v, v._raw.bytes, 0); - this._movement({ type: 'receive', amountSat: v.amountSat, status: 'complete' }); + this._movement({ type: 'receive', amountSat: v.amountSat, status: 'complete', vtxoId: v.id }); changed = true; } changed = true; @@ -211,7 +211,7 @@ export class ArkManager { const changeSat = input.amountSat - amountSat; const action = { id: `send-${Date.now()}`, type: 'send', step: 'created', - inputId: input.id, amountSat, + inputId: input.id, amountSat, destAddress: addrString, destPubkey: dest.userPubkey, destBlindedId: mailboxDelivery.data, changeIndex: changeSat > 0 ? this.state.nextKeyIndex++ : null, changeSat, }; @@ -278,7 +278,10 @@ export class ArkManager { if (change) change.state = 'spendable'; } action.step = 'done'; - this._movement({ type: 'send', amountSat: action.amountSat, status: 'complete' }); + this._movement({ + type: 'send', amountSat: action.amountSat, status: 'complete', + to: action.destAddress, vtxoId: decodeVtxo(hex.decode(action.destBytes)).id, + }); this._save(); } } @@ -359,7 +362,7 @@ export class ArkManager { const decoded = decodeVtxo(bytes); this._addVtxo(decoded, bytes, action.keyIndex); action.step = 'done'; - this._movement({ type: 'board', amountSat: decoded.amountSat, status: 'complete' }); + this._movement({ type: 'board', amountSat: decoded.amountSat, status: 'complete', txid: action.fundingTxid, vtxoId: decoded.id }); this._save(); } } |
