From 6cc0dd619e71099675a7cb1b1566cbe2c06b7bc1 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 4 Jul 2026 07:15:52 -0700 Subject: 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 Claude-Session: https://claude.ai/code/session_01QFAcD4V284DvYZZHP7Rxxy --- src/ark/manager.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/ark') 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(); } } -- cgit v1.2.3