@toon-protocol/views 0.10.9 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Shared post-action refresh signal.
3
+ *
4
+ * The runtime bumps a `refreshNonce` after every SUCCESSFUL write action (see
5
+ * `buildActions` in runtime.tsx). Read-bearing atoms (and the feed `useBind`)
6
+ * call this hook with that nonce and fold the returned counter into their read
7
+ * `useEffect` dependency array, so the rendered data re-fetches IN PLACE after a
8
+ * mutation — no re-render from the agent.
9
+ *
10
+ * Two kinds of staleness are covered:
11
+ * - immediate: the moment the action resolves, re-read (the nonce bump).
12
+ * - settlement-delayed: faucet drips + relay propagation can land a beat after
13
+ * the tool call returns, so we re-read again after each delay in `delaysMs`.
14
+ *
15
+ * The initial mount (nonce 0) does NOT fire — the atom's own mount-time read
16
+ * already covers first paint. Timers are cleared on the next bump / unmount, so
17
+ * there are no leaks and no setState-after-unmount. Reads must never bump the
18
+ * nonce themselves (only write actions do), so this can't loop.
19
+ */
20
+ import { useEffect, useState } from 'react';
21
+ /** Default settlement-retry cadence: one re-read ~1.5s after the action. */
22
+ const DEFAULT_DELAYS_MS = [1500];
23
+ export function useRefreshTick(refreshNonce, delaysMs = DEFAULT_DELAYS_MS) {
24
+ const [tick, setTick] = useState(0);
25
+ useEffect(() => {
26
+ // Skip the initial mount — the atom's own read effect handles first paint.
27
+ if (!refreshNonce)
28
+ return;
29
+ // Re-read immediately, then once more after each settlement delay.
30
+ setTick((t) => t + 1);
31
+ const timers = delaysMs.map((ms) => setTimeout(() => setTick((t) => t + 1), ms));
32
+ return () => {
33
+ for (const t of timers)
34
+ clearTimeout(t);
35
+ };
36
+ // Only the integer nonce drives re-fetch; delaysMs is a stable call-site literal.
37
+ }, [refreshNonce]);
38
+ return tick;
39
+ }
40
+ //# sourceMappingURL=use-refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-refresh.js","sourceRoot":"","sources":["../../src/atoms/use-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,4EAA4E;AAC5E,MAAM,iBAAiB,GAAsB,CAAC,IAAI,CAAC,CAAC;AAEpD,MAAM,UAAU,cAAc,CAC5B,YAAgC,EAChC,WAA8B,iBAAiB;IAE/C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,2EAA2E;QAC3E,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,mEAAmE;QACnE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,GAAG,EAAE;YACV,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,kFAAkF;IACpF,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/atoms/wallet.tsx"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,IAAI,EAKV,MAAM,YAAY,CAAC;AA2CpB;;;;GAIG;AACH,iBAAS,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAQtD;AA8gBD,eAAO,MAAM,WAAW,EAAE,IAAI,EAY7B,CAAC;AAGF,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/atoms/wallet.tsx"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,IAAI,EAKV,MAAM,YAAY,CAAC;AAoDpB;;;;GAIG;AACH,iBAAS,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAQtD;AAynBD,eAAO,MAAM,WAAW,EAAE,IAAI,EAY7B,CAAC;AAGF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -12,7 +12,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  * runtime-wired `readBalances` / `readChannels` seams, and the faucet fires the
13
13
  * wired `fund` action. No key material lives here.
14
14
  */
15
- import { useEffect, useState } from 'react';
15
+ import { useEffect, useRef, useState } from 'react';
16
16
  import { Wallet, Landmark, Coins, Check, RotateCw } from 'lucide-react';
17
17
  import { Button } from '@/components/ui/button.js';
18
18
  import { Input } from '@/components/ui/input.js';
@@ -20,7 +20,16 @@ import { Spinner } from '@/components/ui/spinner.js';
20
20
  import { MonoId } from '@/components/mono-id.js';
21
21
  import { CopyButton } from '@/components/copy-button.js';
22
22
  import { Stepper } from './loading.js';
23
+ import { useRefreshTick } from './use-refresh.js';
23
24
  import {} from './types.js';
25
+ /**
26
+ * Wallet refresh cadence: re-read balances ~1.5s after a successful write, then
27
+ * again at the faucet-drip settlement marks. The drip settles AFTER the submit
28
+ * returns (EVM/Solana ~30s, Mina ~1–2 min), so the later marks let the new
29
+ * balance light up without a manual refresh. Module-level so the dep array stays
30
+ * stable across renders.
31
+ */
32
+ const WALLET_REFRESH_DELAYS = [1500, 15_000, 45_000, 90_000];
24
33
  /** Human chain label for the per-chain rows. */
25
34
  const CHAIN_LABEL = {
26
35
  evm: 'EVM',
@@ -73,14 +82,49 @@ function formatUnits(amount, scale = 6) {
73
82
  /** A small inline loading row, consistent with the `loading` atom. */
74
83
  const Loading = ({ label }) => (_jsxs("div", { className: "flex items-center gap-2 px-1 py-3 text-sm text-muted-foreground", role: "status", "aria-live": "polite", children: [_jsx(Spinner, { size: "sm" }), label] }));
75
84
  const CardShell = ({ icon, title, action, children, }) => (_jsxs("div", { className: "overflow-hidden rounded-xl border border-border bg-card text-card-foreground shadow-sm", children: [_jsxs("div", { className: "flex items-center justify-between gap-3 border-b border-border px-4 py-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-primary", children: icon }), _jsx("span", { className: "text-sm font-semibold", children: title })] }), action] }), _jsx("div", { className: "px-4 py-3", children: children })] }));
76
- const WalletOverview = ({ readStatus, readBalances, actions }) => {
85
+ const WalletOverview = ({ readStatus, readBalances, actions, refreshNonce }) => {
77
86
  const [identity, setIdentity] = useState(undefined);
78
87
  const [balances, setBalances] = useState([]);
79
88
  const [balState, setBalState] = useState(readBalances ? 'loading' : 'ok');
80
- // Bump to force a balance re-read (manual retry + post-fund refresh).
89
+ // Bump to force a balance re-read (manual retry button).
81
90
  const [balReload, setBalReload] = useState(0);
82
91
  const [funding, setFunding] = useState({});
92
+ // Per-chain balance amount captured when a fund was submitted, so we can clear
93
+ // the "Submitted ✓" state the moment that chain's balance actually changes
94
+ // (the drip landed). And a fallback timer per chain so a drip that never moves
95
+ // the balance (e.g. a failed Solana faucet) doesn't park on "Submitted" forever.
96
+ const fundBaselineRef = useRef({});
97
+ const fundTimersRef = useRef({});
83
98
  const fund = actions['fund'];
99
+ const clearFunding = (chain) => {
100
+ const t = fundTimersRef.current[chain];
101
+ if (t) {
102
+ clearTimeout(t);
103
+ delete fundTimersRef.current[chain];
104
+ }
105
+ delete fundBaselineRef.current[chain];
106
+ setFunding((f) => {
107
+ if (!(chain in f))
108
+ return f;
109
+ const next = { ...f };
110
+ delete next[chain];
111
+ return next;
112
+ });
113
+ };
114
+ // Clear all fund timers on unmount.
115
+ useEffect(() => {
116
+ const timers = fundTimersRef.current;
117
+ return () => {
118
+ for (const t of Object.values(timers))
119
+ clearTimeout(t);
120
+ };
121
+ }, []);
122
+ // After ANY successful write in the view (including this wallet's faucet
123
+ // `fund`, which flows through the runtime action wrapper → onMutated), re-read
124
+ // balances immediately and again across the drip-settlement marks. This folds
125
+ // the old bespoke post-fund re-poll into the shared refresh mechanism, so the
126
+ // wrapper's onMutated drives it and the timers self-clean on bump/unmount.
127
+ const refreshTick = useRefreshTick(refreshNonce, WALLET_REFRESH_DELAYS);
84
128
  // Addresses come from the live status identity (always available); balances
85
129
  // are an optional enrichment that may be absent until the reader is wired.
86
130
  useEffect(() => {
@@ -107,6 +151,29 @@ const WalletOverview = ({ readStatus, readBalances, actions }) => {
107
151
  return;
108
152
  setBalances(b);
109
153
  setBalState('ok');
154
+ // Reset any "Submitted ✓" button whose chain balance has now changed
155
+ // from the value captured at fund time — i.e. the drip landed and the UI
156
+ // updated, so the transient feedback should fall back to the idle "Fund".
157
+ setFunding((prev) => {
158
+ let next = prev;
159
+ for (const [ch, st] of Object.entries(prev)) {
160
+ if (st !== 'submitted')
161
+ continue;
162
+ const newAmt = b.find((x) => x.chain === ch)?.amount;
163
+ if (newAmt !== undefined && newAmt !== fundBaselineRef.current[ch]) {
164
+ if (next === prev)
165
+ next = { ...prev };
166
+ delete next[ch];
167
+ const t = fundTimersRef.current[ch];
168
+ if (t) {
169
+ clearTimeout(t);
170
+ delete fundTimersRef.current[ch];
171
+ }
172
+ delete fundBaselineRef.current[ch];
173
+ }
174
+ }
175
+ return next;
176
+ });
110
177
  })
111
178
  // The read seam retries the flaky control plane and only rejects on a
112
179
  // persistent failure (toon-client#186) — surface it as an error/retry
@@ -115,36 +182,67 @@ const WalletOverview = ({ readStatus, readBalances, actions }) => {
115
182
  return () => {
116
183
  cancelled = true;
117
184
  };
118
- }, [readBalances, balReload]);
185
+ // balReload = manual retry; refreshTick = post-write refresh (incl. fund drip).
186
+ }, [readBalances, balReload, refreshTick]);
119
187
  const onFund = async (chain) => {
120
188
  if (!fund)
121
189
  return;
190
+ // Snapshot the pre-fund balance so we can detect when the drip actually
191
+ // lands and clear the "Submitted" state at that point.
192
+ fundBaselineRef.current[chain] =
193
+ balances.find((b) => b.chain === chain)?.amount ?? '';
122
194
  setFunding((f) => ({ ...f, [chain]: 'funding' }));
123
195
  const outcome = await fund({ chain });
124
- // `fund` may resolve to void (older paths) — treat that as success.
196
+ // `fund` may resolve to void (older paths) — treat that as success. With the
197
+ // async drip the call now returns a 'pending' submit, not a settled balance.
125
198
  const ok = !outcome || outcome.ok !== false;
126
- setFunding((f) => ({ ...f, [chain]: ok ? 'done' : 'error' }));
127
- // A successful drip changes the on-chain balance re-read it.
128
- if (ok)
129
- setBalReload((n) => n + 1);
199
+ setFunding((f) => ({ ...f, [chain]: ok ? 'submitted' : 'error' }));
200
+ // No bespoke re-poll here: a successful `fund` bumps the view's refreshNonce
201
+ // (via the runtime action wrapper → onMutated), which drives the staggered
202
+ // balance re-read through `refreshTick` / WALLET_REFRESH_DELAYS above; the
203
+ // re-read clears "Submitted" once this chain's balance changes.
204
+ if (ok) {
205
+ // Fallback: if the balance never moves (e.g. a faucet drip that fails to
206
+ // settle), don't park on "Submitted" forever — reset shortly after the
207
+ // last refresh mark.
208
+ const prev = fundTimersRef.current[chain];
209
+ if (prev)
210
+ clearTimeout(prev);
211
+ fundTimersRef.current[chain] = setTimeout(() => clearFunding(chain), WALLET_REFRESH_DELAYS[WALLET_REFRESH_DELAYS.length - 1] + 5_000);
212
+ }
130
213
  };
131
214
  const retryBalances = () => setBalReload((n) => n + 1);
132
215
  const rows = identity ? buildRows(identity, balances) : [];
216
+ // Defense in depth (#200): even when `readBalances` resolved `'ok'`, a shape
217
+ // mismatch that slipped through as an empty list would leave every value cell
218
+ // blank — indistinguishable from a real zero balance, with no retry. If the
219
+ // balance seam IS wired and we have address rows but NONE carries a balance,
220
+ // treat it as unavailable (show the retry banner) rather than a silent blank.
221
+ // When the seam isn't wired (`readBalances` undefined) the addresses-only card
222
+ // is the intended degraded mode, so don't flag it.
223
+ const balancesUnavailable = !!readBalances &&
224
+ balState === 'ok' &&
225
+ rows.length > 0 &&
226
+ !rows.some((r) => r.balance);
227
+ const showBalanceError = balState === 'error' || balancesUnavailable;
133
228
  return (_jsxs(CardShell, { icon: _jsx(Wallet, { "aria-hidden": "true", className: "size-4" }), title: "Wallet", children: [identity === undefined ? (_jsx(Loading, { label: "Loading wallet\u2026" })) : rows.length === 0 ? (_jsx("p", { className: "py-2 text-sm text-muted-foreground", children: "No wallet addresses configured yet." })) : (_jsx("ul", { className: "flex flex-col divide-y divide-border", children: rows.map((row) => {
134
229
  const fundState = funding[row.chain];
135
- return (_jsxs("li", { className: "flex flex-col gap-1 py-3 first:pt-0 last:pb-0", children: [_jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [_jsx("span", { className: "text-xs font-medium uppercase tracking-wide text-muted-foreground", children: CHAIN_LABEL[row.chain] ?? row.chain }), row.balance ? (_jsxs("span", { className: "font-mono text-sm font-semibold tabular-nums", children: [formatUnits(row.balance.amount, row.balance.assetScale ?? 6), row.balance.asset ? (_jsx("span", { className: "ml-1 text-xs font-normal text-muted-foreground", children: row.balance.asset })) : null] })) : balState === 'loading' ? (_jsx(Spinner, { size: "sm" })) : null] }), _jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx(MonoId, { value: row.address, prefixLen: 10, suffixLen: 6, className: "text-muted-foreground" }), _jsxs("div", { className: "flex items-center gap-0.5", children: [_jsx(CopyButton, { value: row.address, label: `Copy ${CHAIN_LABEL[row.chain] ?? row.chain} address` }), fund ? (_jsxs(Button, { type: "button", variant: "ghost", size: "sm", disabled: fundState === 'funding', className: "h-7 gap-1 px-2 text-xs text-muted-foreground hover:text-foreground", onClick: () => void onFund(row.chain), children: [fundState === 'funding' ? (_jsx(Spinner, { size: "sm" })) : fundState === 'done' ? (_jsx(Check, { "aria-hidden": "true", className: "text-primary" })) : (_jsx(Coins, { "aria-hidden": "true" })), fundState === 'funding'
136
- ? 'Funding…'
137
- : fundState === 'done'
138
- ? 'Requested'
230
+ return (_jsxs("li", { className: "flex flex-col gap-1 py-3 first:pt-0 last:pb-0", children: [_jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [_jsx("span", { className: "text-xs font-medium uppercase tracking-wide text-muted-foreground", children: CHAIN_LABEL[row.chain] ?? row.chain }), row.balance ? (_jsxs("span", { className: "font-mono text-sm font-semibold tabular-nums", children: [formatUnits(row.balance.amount, row.balance.assetScale ?? 6), row.balance.asset ? (_jsx("span", { className: "ml-1 text-xs font-normal text-muted-foreground", children: row.balance.asset })) : null] })) : balState === 'loading' ? (_jsx(Spinner, { size: "sm" })) : null] }), _jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx(MonoId, { value: row.address, prefixLen: 10, suffixLen: 6, className: "text-muted-foreground" }), _jsxs("div", { className: "flex items-center gap-0.5", children: [_jsx(CopyButton, { value: row.address, label: `Copy ${CHAIN_LABEL[row.chain] ?? row.chain} address` }), fund ? (_jsxs(Button, { type: "button", variant: "ghost", size: "sm", disabled: fundState === 'funding', className: "h-7 gap-1 px-2 text-xs text-muted-foreground hover:text-foreground", onClick: () => void onFund(row.chain), children: [fundState === 'funding' ? (_jsx(Spinner, { size: "sm" })) : fundState === 'submitted' ? (_jsx(Check, { "aria-hidden": "true", className: "text-primary" })) : (_jsx(Coins, { "aria-hidden": "true" })), fundState === 'funding'
231
+ ? 'Submitting…'
232
+ : fundState === 'submitted'
233
+ ? 'Submitted'
139
234
  : fundState === 'error'
140
235
  ? 'Retry fund'
141
236
  : 'Fund'] })) : null] })] })] }, `${row.chain}:${row.address}`));
142
- }) })), balState === 'error' ? (_jsxs("div", { className: "mt-2 flex items-center justify-between gap-2 rounded-md bg-muted/50 px-2 py-1.5", children: [_jsx("span", { className: "text-xs text-muted-foreground", children: "Balances are temporarily unavailable." }), _jsxs(Button, { type: "button", variant: "ghost", size: "sm", className: "h-7 gap-1 px-2 text-xs", onClick: retryBalances, children: [_jsx(RotateCw, { "aria-hidden": "true" }), "Retry"] })] })) : null, fund ? (_jsx("p", { className: "mt-2 text-[10px] text-muted-foreground/70", children: "\u201CFund\u201D requests devnet test funds from the faucet \u2014 it receives, it doesn\u2019t spend." })) : null] }));
237
+ }) })), showBalanceError ? (_jsxs("div", { className: "mt-2 flex items-center justify-between gap-2 rounded-md bg-muted/50 px-2 py-1.5", children: [_jsx("span", { className: "text-xs text-muted-foreground", children: "Balances are temporarily unavailable." }), _jsxs(Button, { type: "button", variant: "ghost", size: "sm", className: "h-7 gap-1 px-2 text-xs", onClick: retryBalances, children: [_jsx(RotateCw, { "aria-hidden": "true" }), "Retry"] })] })) : null, Object.values(funding).some((s) => s === 'submitted') ? (_jsx("p", { className: "mt-2 text-xs text-muted-foreground", children: "Drip submitted \u2014 balances updating\u2026 (Mina can take 1\u20132 min to settle.)" })) : null, fund ? (_jsx("p", { className: "mt-2 text-[10px] text-muted-foreground/70", children: "\u201CFund\u201D requests devnet test funds from the faucet \u2014 it receives, it doesn\u2019t spend." })) : null] }));
143
238
  };
144
239
  // ── channel-list ─────────────────────────────────────────────────────────────
145
- const ChannelList = ({ readChannels }) => {
240
+ const ChannelList = ({ readChannels, refreshNonce }) => {
146
241
  const [channels, setChannels] = useState(null);
147
242
  const [error, setError] = useState(false);
243
+ // Re-read channels after a successful write (open/deposit/close/settle):
244
+ // immediate + a short settlement delay.
245
+ const refreshTick = useRefreshTick(refreshNonce);
148
246
  useEffect(() => {
149
247
  if (!readChannels) {
150
248
  setError(true);
@@ -157,10 +255,10 @@ const ChannelList = ({ readChannels }) => {
157
255
  return () => {
158
256
  cancelled = true;
159
257
  };
160
- }, [readChannels]);
258
+ }, [readChannels, refreshTick]);
161
259
  return (_jsx(CardShell, { icon: _jsx(Landmark, { "aria-hidden": "true", className: "size-4" }), title: "Payment channels", action: channels && channels.length > 0 ? (_jsx("span", { className: "rounded-full bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground tabular-nums", children: channels.length })) : undefined, children: error ? (_jsx("p", { className: "py-2 text-sm text-destructive", children: "Channels are unavailable." })) : channels === null ? (_jsx(Loading, { label: "Loading channels\u2026" })) : channels.length === 0 ? (_jsx("p", { className: "py-2 text-sm text-muted-foreground", children: "No channels open yet." })) : (_jsx("ul", { className: "flex flex-col divide-y divide-border", children: channels.map((c) => (_jsxs("li", { className: "flex flex-col gap-1.5 py-3 first:pt-0 last:pb-0", children: [_jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [_jsx(MonoId, { value: c.channelId, className: "text-foreground" }), _jsxs("span", { className: "text-xs text-muted-foreground", children: ["nonce ", _jsx("span", { className: "font-mono font-medium text-foreground", children: c.nonce })] })] }), c.availableBalance !== undefined ? (_jsxs("div", { className: "flex items-baseline justify-between gap-3 text-xs", children: [_jsx("span", { className: "text-muted-foreground", children: "Available" }), _jsxs("span", { className: "font-mono font-semibold tabular-nums text-foreground", children: [formatUnits(c.availableBalance), c.depositTotal !== undefined ? (_jsxs("span", { className: "ml-1 font-normal text-muted-foreground", children: ["/ ", formatUnits(c.depositTotal)] })) : null] })] })) : null] }, c.channelId))) })) }));
162
260
  };
163
- const DepositForm = ({ readChannels, actions }) => {
261
+ const DepositForm = ({ readChannels, actions, refreshNonce }) => {
164
262
  const [channels, setChannels] = useState([]);
165
263
  const [channelId, setChannelId] = useState('');
166
264
  const [amount, setAmount] = useState('');
@@ -168,6 +266,8 @@ const DepositForm = ({ readChannels, actions }) => {
168
266
  const [depositTotal, setDepositTotal] = useState(null);
169
267
  const [error, setError] = useState(null);
170
268
  const deposit = actions['deposit'];
269
+ // Refresh the channel selector after a successful write elsewhere in the view.
270
+ const refreshTick = useRefreshTick(refreshNonce);
171
271
  useEffect(() => {
172
272
  if (!readChannels)
173
273
  return;
@@ -187,7 +287,7 @@ const DepositForm = ({ readChannels, actions }) => {
187
287
  return () => {
188
288
  cancelled = true;
189
289
  };
190
- }, [readChannels]);
290
+ }, [readChannels, refreshTick]);
191
291
  const submit = async () => {
192
292
  const value = amount.trim();
193
293
  if (!channelId || !value || !deposit)
@@ -218,17 +318,20 @@ function mmss(totalSec) {
218
318
  const m = Math.floor(s / 60);
219
319
  return `${m}:${String(s % 60).padStart(2, '0')}`;
220
320
  }
221
- const WithdrawFlow = ({ readChannels, actions }) => {
321
+ const WithdrawFlow = ({ readChannels, actions, refreshNonce }) => {
222
322
  const [channels, setChannels] = useState([]);
223
323
  const [channelId, setChannelId] = useState('');
224
- // Optimistic override after a close/settle action (readChannels is the
225
- // authoritative source but doesn't auto-refresh between actions).
324
+ // Optimistic override after a close/settle action gives instant feedback; the
325
+ // refreshNonce-driven re-read below then reconciles with authoritative state.
226
326
  const [override, setOverride] = useState({});
227
327
  const [nowSec, setNowSec] = useState(() => Math.floor(Date.now() / 1000));
228
328
  const [busy, setBusy] = useState(null);
229
329
  const [error, setError] = useState(null);
230
330
  const close = actions['close'];
231
331
  const settle = actions['settle'];
332
+ // Re-read channels after a successful close/settle so the flow reflects the
333
+ // authoritative on-chain state, not just the optimistic override.
334
+ const refreshTick = useRefreshTick(refreshNonce);
232
335
  useEffect(() => {
233
336
  if (!readChannels)
234
337
  return;
@@ -248,7 +351,7 @@ const WithdrawFlow = ({ readChannels, actions }) => {
248
351
  return () => {
249
352
  cancelled = true;
250
353
  };
251
- }, [readChannels]);
354
+ }, [readChannels, refreshTick]);
252
355
  // Tick the clock so the countdown + settle gate update live.
253
356
  useEffect(() => {
254
357
  const t = setInterval(() => setNowSec(Math.floor(Date.now() / 1000)), 1000);
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/atoms/wallet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/atoms/wallet.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,sCAAsC;IACtC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,EA2QlC,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAA0C,CAAC"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,sCAAsC;IACtC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,EA6RlC,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAA0C,CAAC"}
package/dist/catalog.js CHANGED
@@ -42,9 +42,19 @@ export const ATOM_CATALOG = [
42
42
  },
43
43
  {
44
44
  id: 'composer',
45
- description: 'Text composer that publishes a note (kind:1) via its "post" action.',
46
- writes: [{ name: 'toon_publish_unsigned' }],
47
- propsSchema: { placeholder: 'string', label: 'string' },
45
+ description: 'The DEFAULT post composer: write a kind:1 note and OPTIONALLY attach one ' +
46
+ 'media/file (paperclip) text-only posts publish via the "post" action ' +
47
+ '(toon_publish_unsigned); a post WITH media publishes via the "upload" ' +
48
+ 'action (toon_upload, kind:1) so the file is carried as NIP-92 imeta and ' +
49
+ 'renders inline in the feed. Wire BOTH actions. Use this for "make a post" ' +
50
+ '(with or without a picture/video); use media-uploader only when the user ' +
51
+ 'just wants to upload a file with no note.',
52
+ writes: [{ name: 'toon_publish_unsigned' }, { name: 'toon_upload', spendy: true }],
53
+ propsSchema: {
54
+ placeholder: 'string',
55
+ label: 'string',
56
+ accept: "string (optional MIME filter for the attach picker, e.g. 'image/*')",
57
+ },
48
58
  },
49
59
  {
50
60
  id: 'pay-confirm',
@@ -63,13 +73,20 @@ export const ATOM_CATALOG = [
63
73
  },
64
74
  {
65
75
  id: 'media-uploader',
66
- description: 'Upload ANY file (image, video, pdf, audio, archive, …) to Arweave then ' +
67
- 'publish a reference event kind:20 for images, 21 for video, 1063 ' +
68
- '(NIP-94 file metadata) for everything else (chosen automatically from the ' +
69
- 'file MIME). Provides an in-app file picker. Spendy. Use this whenever the ' +
70
- 'user wants to upload or post a file/picture; no URL needed.',
76
+ description: 'Compose & publish a media POST: pick a file (image, video, pdf, audio, …) ' +
77
+ 'via the in-app picker, preview it, add an OPTIONAL caption/text, then ' +
78
+ 'Publish uploads to Arweave and publishes a reference event in one paid ' +
79
+ 'write. The caption becomes the event content, so an image/video + text is ' +
80
+ 'a real post (kind:20 picture, 21 video, 1063 NIP-94 file for everything ' +
81
+ 'else — chosen automatically from the MIME). Spendy. This IS the ' +
82
+ 'post-with-media path; use it whenever the user wants to post/upload a ' +
83
+ 'picture, video, or file with or without a caption. No URL needed.',
71
84
  writes: [{ name: 'toon_upload', spendy: true }],
72
- propsSchema: { label: 'string', accept: "string (optional MIME filter, e.g. 'image/*'; default any)" },
85
+ propsSchema: {
86
+ label: 'string',
87
+ accept: "string (optional MIME filter, e.g. 'image/*'; default any)",
88
+ captionPlaceholder: 'string (optional placeholder for the caption field)',
89
+ },
73
90
  },
74
91
  // forge
75
92
  { id: 'repo-card', description: 'NIP-34 kind:30617 repository card.', kinds: [30617] },
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -8,7 +8,28 @@
8
8
  */
9
9
  import { type ReactNode } from 'react';
10
10
  import { type ViewBridge } from './app-bridge/types.js';
11
+ import { type AtomBalance } from './atoms/types.js';
11
12
  export { QUERY_TOOL, WRITE_TOOLS } from './tool-names.js';
13
+ export { buildReadBalances, parseBalancesPayload };
14
+ /**
15
+ * Validate the `toon_balances` wire contract and project it to the atom's
16
+ * `AtomBalance[]`.
17
+ *
18
+ * The contract (shared with the daemon) is a plain OBJECT
19
+ * `{ balances: AtomBalance[] }` carried via the MCP `structuredContent` →
20
+ * `ToolOutcome.data`. A missing payload (no `structuredContent`), a non-object,
21
+ * a bare array, or a missing / non-array `balances` key is a CONTRACT VIOLATION
22
+ * — a daemon↔views version skew or a transport that dropped the structured
23
+ * content — and must `throw` so it drives the wallet atom's error/retry path.
24
+ *
25
+ * The bug (#200): collapsing any of those violations into the same `[]` as a
26
+ * legitimate empty balance list renders a silent blank card that's
27
+ * indistinguishable from a real zero balance, with no retry. Only a genuine
28
+ * `{ balances: [] }` (an empty wallet) is a valid success that returns `[]`.
29
+ */
30
+ declare function parseBalancesPayload(data: unknown): AtomBalance[];
31
+ /** Read on-chain wallet balances (`toon_balances`) for the wallet atom. */
32
+ declare function buildReadBalances(bridge: ViewBridge): () => Promise<AtomBalance[]>;
12
33
  /** Top-level: validate an untrusted ViewSpec then render it, or show the error. */
13
34
  export declare function ViewSpecRenderer({ spec, bridge, }: {
14
35
  spec: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASrE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA8CxD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAoZ1D,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,MAAM,GACP,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,GAAG,SAAS,CAaZ"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA6C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASlF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAYxD,OAAO,EAML,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AA2B1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAuVnD;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,EAAE,CAU1D;AAED,2EAA2E;AAC3E,iBAAS,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAwB3E;AA0ED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,MAAM,GACP,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,GAAG,SAAS,CAqBZ"}