@theoo/react 0.2.1 → 0.3.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.
@@ -1,4 +1,4 @@
1
1
  /** Hooks and the provider only: nothing that assumes a DOM. What `@theoo/react-native` builds on. */
2
2
  export { TheooProvider, useTheoo, useSession, type TheooProviderProps, type SessionState } from "./context.js";
3
- export { useChains, useEnrolPasskey, useOperation, useOperations, useRecovery, useSessionKeys, useSignIn, useSolanaSessionKeys, type SignInStep, } from "./hooks.js";
3
+ export { useBalances, useChains, useEnrolPasskey, useMoneyOrders, useName, useSwap, useOperation, useOperations, useRecovery, useSessionKeys, useSignIn, useSolanaSessionKeys, type SignInStep, } from "./hooks.js";
4
4
  //# sourceMappingURL=hooks-entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-entry.d.ts","sourceRoot":"","sources":["../src/hooks-entry.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/G,OAAO,EACL,SAAS,EACT,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"hooks-entry.d.ts","sourceRoot":"","sources":["../src/hooks-entry.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/G,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,cAAc,EACd,OAAO,EACP,OAAO,EACP,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
1
  /** Hooks and the provider only: nothing that assumes a DOM. What `@theoo/react-native` builds on. */
2
2
  export { TheooProvider, useTheoo, useSession } from "./context.js";
3
- export { useChains, useEnrolPasskey, useOperation, useOperations, useRecovery, useSessionKeys, useSignIn, useSolanaSessionKeys, } from "./hooks.js";
3
+ export { useBalances, useChains, useEnrolPasskey, useMoneyOrders, useName, useSwap, useOperation, useOperations, useRecovery, useSessionKeys, useSignIn, useSolanaSessionKeys, } from "./hooks.js";
4
4
  //# sourceMappingURL=hooks-entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-entry.js","sourceRoot":"","sources":["../src/hooks-entry.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAA8C,MAAM,cAAc,CAAC;AAC/G,OAAO,EACL,SAAS,EACT,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GAErB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"hooks-entry.js","sourceRoot":"","sources":["../src/hooks-entry.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAA8C,MAAM,cAAc,CAAC;AAC/G,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,cAAc,EACd,OAAO,EACP,OAAO,EACP,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GAErB,MAAM,YAAY,CAAC"}
package/dist/hooks.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AuthChallenge, AuthOutcome, ChainOption, TheooError, OperationKind, OperationStatus, RecoveryStatus, SessionGrant, SessionKey, SessionRenewal, SolanaAction, SolanaSessionGrant, SolanaSessionKey, WaitOptions } from "@theoo/sdk";
1
+ import type { AuthChallenge, AuthOutcome, Balances, ChainOption, ExecuteOptions, MoneyOrder, TheooError, OperationKind, OperationStatus, RecoveryStatus, SessionGrant, SessionKey, SessionRenewal, SolanaAction, SolanaSessionGrant, SolanaSessionKey, SwapQuote, SwapQuoteRequest, WaitOptions, Name } from "@theoo/sdk";
2
2
  type Err = TheooError | Error | null;
3
3
  export { useSession, type SessionState } from "./context.js";
4
4
  export type SignInStep = {
@@ -192,6 +192,36 @@ export declare function useOperation(wait?: WaitOptions): {
192
192
  status: OperationStatus | null;
193
193
  run: (kind: OperationKind, chain?: number) => Promise<OperationStatus | undefined>;
194
194
  };
195
+ /** What the account holds of every token swaps can use on a chain, read now. */
196
+ export declare function useBalances(chain?: number): {
197
+ balances: Balances | null;
198
+ error: Err;
199
+ reload: () => Promise<void>;
200
+ };
201
+ /**
202
+ * A swap in two steps: `ask` for a quote Theoo checks against its own
203
+ * calldata, show `quote.summary`, then `confirm` to have the passkey sign
204
+ * exactly that. A quote lasts about a minute; `secondsLeft` counts it down
205
+ * and `expired` says when to ask again.
206
+ */
207
+ export declare function useSwap(chain?: number): {
208
+ busy: boolean;
209
+ error: Err;
210
+ clearError: () => void;
211
+ quote: SwapQuote | null;
212
+ status: OperationStatus | null;
213
+ secondsLeft: number;
214
+ expired: boolean;
215
+ ask: (req: Omit<SwapQuoteRequest, "chain">) => Promise<SwapQuote | undefined>;
216
+ confirm: () => Promise<OperationStatus | undefined>;
217
+ reset: () => void;
218
+ };
219
+ /** The user's Money history, newest first. */
220
+ export declare function useMoneyOrders(limit?: number): {
221
+ orders: MoneyOrder[] | null;
222
+ error: Err;
223
+ reload: () => Promise<void>;
224
+ };
195
225
  /** The user's operations, newest first. */
196
226
  export declare function useOperations(): {
197
227
  operations: OperationStatus[] | null;
@@ -248,6 +278,25 @@ export declare function useSolanaSessionKeys(cluster?: string): {
248
278
  operation: import("@theoo/sdk").SolanaOperationStatus;
249
279
  } | undefined>;
250
280
  revoke: (id: string) => Promise<import("@theoo/sdk").SolanaOperationStatus | undefined>;
251
- execute: (id: string, action: SolanaAction) => Promise<import("@theoo/sdk").SolanaOperationStatus | undefined>;
281
+ execute: (id: string, action: SolanaAction, options?: ExecuteOptions) => Promise<import("@theoo/sdk").SolanaOperationStatus | undefined>;
282
+ };
283
+ /**
284
+ * The user's name — `alice.acme.eth` — and the project's parent, with
285
+ * claim and release. `parent` is `null` when the project issues no names,
286
+ * which is the cue not to offer the field at all.
287
+ */
288
+ export declare function useName(): {
289
+ /** `undefined` while loading, `null` for none. */
290
+ name: Name | null | undefined;
291
+ parent: string | null | undefined;
292
+ busy: boolean;
293
+ error: Err;
294
+ clearError: () => void;
295
+ reload: () => Promise<void>;
296
+ /** Whether a label is free, before asking for it. */
297
+ available: (label: string) => Promise<import("@theoo/sdk").NameAvailability>;
298
+ /** Take `label`, replacing the name held before. */
299
+ claim: (label: string) => Promise<Name | undefined>;
300
+ release: () => Promise<boolean | undefined>;
252
301
  };
253
302
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/hooks.js CHANGED
@@ -115,16 +115,26 @@ export function useChains() {
115
115
  useEffect(() => {
116
116
  let live = true;
117
117
  void (async () => {
118
- try {
119
- const list = await theoo.chains();
118
+ // The chain picker is how everything else is reached, so one failed
119
+ // read should not leave it missing until a reload: try a few times.
120
+ for (const pause of [0, 1500, 4000, 8000]) {
121
+ if (pause)
122
+ await new Promise((r) => setTimeout(r, pause));
120
123
  if (!live)
121
124
  return;
122
- setChains(list);
123
- setChain((c) => c ?? list.find((x) => x.isDefault)?.chain ?? list[0]?.chain);
124
- }
125
- catch (e) {
126
- if (live)
127
- setError(asError(e));
125
+ try {
126
+ const list = await theoo.chains();
127
+ if (!live)
128
+ return;
129
+ setChains(list);
130
+ setError(null);
131
+ setChain((c) => c ?? list.find((x) => x.isDefault)?.chain ?? list[0]?.chain);
132
+ return;
133
+ }
134
+ catch (e) {
135
+ if (live)
136
+ setError(asError(e));
137
+ }
128
138
  }
129
139
  })();
130
140
  return () => {
@@ -163,6 +173,98 @@ export function useOperation(wait = {}) {
163
173
  }),
164
174
  };
165
175
  }
176
+ /* ── money ───────────────────────────────────────────────────────────────── */
177
+ /** What the account holds of every token swaps can use on a chain, read now. */
178
+ export function useBalances(chain) {
179
+ const theoo = useTheoo();
180
+ const [balances, setBalances] = useState(null);
181
+ const [error, setError] = useState(null);
182
+ const reload = useCallback(async () => {
183
+ try {
184
+ setBalances(await theoo.me.money.balances(chain));
185
+ setError(null);
186
+ }
187
+ catch (e) {
188
+ setError(asError(e));
189
+ }
190
+ }, [theoo, chain]);
191
+ useEffect(() => {
192
+ void reload();
193
+ }, [reload]);
194
+ return { balances, error, reload };
195
+ }
196
+ /**
197
+ * A swap in two steps: `ask` for a quote Theoo checks against its own
198
+ * calldata, show `quote.summary`, then `confirm` to have the passkey sign
199
+ * exactly that. A quote lasts about a minute; `secondsLeft` counts it down
200
+ * and `expired` says when to ask again.
201
+ */
202
+ export function useSwap(chain) {
203
+ const theoo = useTheoo();
204
+ const session = useSession();
205
+ const { busy, error, run, clearError } = useAction();
206
+ const [quote, setQuote] = useState(null);
207
+ const [status, setStatus] = useState(null);
208
+ const [now, setNow] = useState(() => Date.now());
209
+ useEffect(() => {
210
+ if (!quote)
211
+ return;
212
+ const id = setInterval(() => setNow(Date.now()), 1000);
213
+ return () => clearInterval(id);
214
+ }, [quote]);
215
+ const secondsLeft = quote ? Math.max(0, Math.floor(quote.expiresAt - now / 1000)) : 0;
216
+ return {
217
+ busy,
218
+ error,
219
+ clearError,
220
+ quote,
221
+ status,
222
+ secondsLeft,
223
+ expired: quote !== null && secondsLeft === 0,
224
+ ask: (req) => run(async () => {
225
+ setStatus(null);
226
+ const q = await theoo.me.money.quoteSwap({ ...req, chain });
227
+ setNow(Date.now());
228
+ setQuote(q);
229
+ return q;
230
+ }),
231
+ confirm: () => run(async () => {
232
+ if (!quote)
233
+ throw new Error("Ask for a quote first.");
234
+ const s = await theoo.me.money.swap(quote);
235
+ setQuote(null);
236
+ setStatus(s);
237
+ // The first operation deploys the account; the session should know.
238
+ if (s.state === "included")
239
+ await session.reload();
240
+ return s;
241
+ }),
242
+ reset: () => {
243
+ setQuote(null);
244
+ setStatus(null);
245
+ clearError();
246
+ },
247
+ };
248
+ }
249
+ /** The user's Money history, newest first. */
250
+ export function useMoneyOrders(limit = 20) {
251
+ const theoo = useTheoo();
252
+ const [orders, setOrders] = useState(null);
253
+ const [error, setError] = useState(null);
254
+ const reload = useCallback(async () => {
255
+ try {
256
+ setOrders(await theoo.me.money.orders(limit));
257
+ setError(null);
258
+ }
259
+ catch (e) {
260
+ setError(asError(e));
261
+ }
262
+ }, [theoo, limit]);
263
+ useEffect(() => {
264
+ void reload();
265
+ }, [reload]);
266
+ return { orders, error, reload };
267
+ }
166
268
  /** The user's operations, newest first. */
167
269
  export function useOperations() {
168
270
  const theoo = useTheoo();
@@ -307,11 +409,55 @@ export function useSolanaSessionKeys(cluster) {
307
409
  await reload();
308
410
  return r;
309
411
  }),
310
- execute: (id, action) => run(async () => {
311
- const r = await theoo.me.solana.sessions.execute(id, action);
412
+ execute: (id, action, options) => run(async () => {
413
+ const r = await theoo.me.solana.sessions.execute(id, action, options);
312
414
  await reload();
313
415
  return r;
314
416
  }),
315
417
  };
316
418
  }
419
+ /**
420
+ * The user's name — `alice.acme.eth` — and the project's parent, with
421
+ * claim and release. `parent` is `null` when the project issues no names,
422
+ * which is the cue not to offer the field at all.
423
+ */
424
+ export function useName() {
425
+ const theoo = useTheoo();
426
+ const { busy, error, run, clearError } = useAction();
427
+ const [name, setName] = useState(undefined);
428
+ const [parent, setParent] = useState(undefined);
429
+ const reload = useCallback(async () => {
430
+ const [n, p] = await Promise.all([
431
+ theoo.me.name.get().catch(() => null),
432
+ theoo.names.parent().catch(() => null),
433
+ ]);
434
+ setName(n);
435
+ setParent(p);
436
+ }, [theoo]);
437
+ useEffect(() => {
438
+ void reload();
439
+ }, [reload]);
440
+ return {
441
+ /** `undefined` while loading, `null` for none. */
442
+ name,
443
+ parent,
444
+ busy,
445
+ error,
446
+ clearError,
447
+ reload,
448
+ /** Whether a label is free, before asking for it. */
449
+ available: (label) => theoo.names.available(label),
450
+ /** Take `label`, replacing the name held before. */
451
+ claim: (label) => run(async () => {
452
+ const n = await theoo.me.name.claim(label);
453
+ setName(n);
454
+ return n;
455
+ }),
456
+ release: () => run(async () => {
457
+ await theoo.me.name.release();
458
+ setName(null);
459
+ return true;
460
+ }),
461
+ };
462
+ }
317
463
  //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./hooks-entry.js";
2
2
  export { AuthModeSwitch, ConfirmOperation, PasskeyEnrol, Recovery, SignIn, useEscape, type AuthMode, type ConfirmOperationProps, type PasskeyEnrolProps, type RecoveryProps, type SignInProps, } from "./components.js";
3
3
  export { TheooConnect, shortAddress, type TheooConnectProps } from "./connect.js";
4
+ export { TheooMoney, type TheooMoneyProps } from "./money.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./hooks-entry.js";
2
2
  export { AuthModeSwitch, ConfirmOperation, PasskeyEnrol, Recovery, SignIn, useEscape, } from "./components.js";
3
3
  export { TheooConnect, shortAddress } from "./connect.js";
4
+ export { TheooMoney } from "./money.js";
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,GAMV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,YAAY,EAA0B,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,GAMV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,YAAY,EAA0B,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,UAAU,EAAwB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type OperationStatus } from "@theoo/sdk";
2
+ export interface TheooMoneyProps {
3
+ /** The chain to swap on; the project's default when omitted. */
4
+ chain?: number;
5
+ /** Which flows to offer. Swaps today; naira in and out and ESPEES follow. */
6
+ flows?: Array<"swap">;
7
+ /** What to start with: a symbol (`USDT`) or an address. */
8
+ defaultSell?: string;
9
+ defaultBuy?: string;
10
+ /** Called once a swap is included, or fails on chain. */
11
+ onDone?: (status: OperationStatus) => void;
12
+ /** A link for a transaction, if the app knows its explorer. */
13
+ explorerTx?: (hash: string, chain: number) => string | null;
14
+ className?: string;
15
+ }
16
+ /**
17
+ * Swaps, in the project's own page, signed with the user's passkey.
18
+ *
19
+ * Every quote is checked by Theoo against its own calldata before it is
20
+ * shown: the user's account receives, the tokens and amounts are the ones
21
+ * asked for, and the least the swap can deliver is enforced on chain. What
22
+ * the passkey signs is one batch that approves the exact amount, swaps, and
23
+ * resets the approval to zero. Nothing is left behind for anyone to spend.
24
+ */
25
+ export declare function TheooMoney({ chain, flows, defaultSell, defaultBuy, onDone, explorerTx, className }: TheooMoneyProps): import("react").JSX.Element | null;
26
+ //# sourceMappingURL=money.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../src/money.tsx"],"names":[],"mappings":"AACA,OAAO,EAA0D,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAO1G,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,KAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,eAAe,sCAyM9H"}
package/dist/money.js ADDED
@@ -0,0 +1,120 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useState } from "react";
3
+ import { formatUnits, parseUnits } from "@theoo/sdk";
4
+ import { styles } from "./components.js";
5
+ import { useBalances, useMoneyOrders, useSwap } from "./hooks.js";
6
+ const s = styles;
7
+ const t = styles.token;
8
+ const card = {
9
+ display: "grid",
10
+ gap: 12,
11
+ padding: 16,
12
+ border: `1px solid ${t.line2}`,
13
+ borderRadius: t.radius,
14
+ background: t.surface,
15
+ fontFamily: t.sans,
16
+ color: t.ink,
17
+ };
18
+ const row = { display: "flex", gap: 8, alignItems: "stretch" };
19
+ const label = { fontSize: 12.5, fontWeight: 600, color: t.ink2, letterSpacing: "0.02em" };
20
+ const select = { ...s.input, width: "auto", minWidth: 104, fontWeight: 600 };
21
+ const link = { background: "none", border: 0, padding: 0, color: t.accent, cursor: "pointer", font: "inherit", fontSize: 12.5 };
22
+ function find(balances, wanted) {
23
+ if (!wanted)
24
+ return undefined;
25
+ const w = wanted.toLowerCase();
26
+ return balances.find((b) => b.token.symbol.toLowerCase() === w || b.token.address.toLowerCase() === w);
27
+ }
28
+ const STATE_WORDS = {
29
+ awaiting_signature: "Waiting for your passkey",
30
+ processing: "On its way",
31
+ completed: "Done",
32
+ failed: "Failed",
33
+ expired: "Expired",
34
+ open: "Open",
35
+ };
36
+ /**
37
+ * Swaps, in the project's own page, signed with the user's passkey.
38
+ *
39
+ * Every quote is checked by Theoo against its own calldata before it is
40
+ * shown: the user's account receives, the tokens and amounts are the ones
41
+ * asked for, and the least the swap can deliver is enforced on chain. What
42
+ * the passkey signs is one batch that approves the exact amount, swaps, and
43
+ * resets the approval to zero. Nothing is left behind for anyone to spend.
44
+ */
45
+ export function TheooMoney({ chain, flows = ["swap"], defaultSell, defaultBuy, onDone, explorerTx, className }) {
46
+ const { balances, error: balanceError, reload } = useBalances(chain);
47
+ const swap = useSwap(chain);
48
+ const { orders, reload: reloadOrders } = useMoneyOrders(5);
49
+ const list = balances?.balances ?? [];
50
+ const [sellAddr, setSellAddr] = useState("");
51
+ const [buyAddr, setBuyAddr] = useState("");
52
+ const [amount, setAmount] = useState("");
53
+ // Pick sensible defaults once the list is known: a stablecoin to sell, another thing to buy.
54
+ useEffect(() => {
55
+ if (!list.length)
56
+ return;
57
+ if (!sellAddr)
58
+ setSellAddr((find(list, defaultSell) ?? list.find((b) => b.token.stable) ?? list[0]).token.address);
59
+ if (!buyAddr) {
60
+ const sell = find(list, defaultSell)?.token.address ?? list.find((b) => b.token.stable)?.token.address;
61
+ setBuyAddr((find(list, defaultBuy) ?? list.find((b) => b.token.address !== sell) ?? list[0]).token.address);
62
+ }
63
+ }, [list, sellAddr, buyAddr, defaultSell, defaultBuy]);
64
+ const sell = list.find((b) => b.token.address === sellAddr);
65
+ const buy = list.find((b) => b.token.address === buyAddr);
66
+ // The amount as the chain counts it, or why it can't be.
67
+ const parsed = useMemo(() => {
68
+ if (!sell || !amount.trim())
69
+ return {};
70
+ try {
71
+ const units = parseUnits(amount, sell.token.decimals);
72
+ if (BigInt(units) === 0n)
73
+ return { problem: "Enter an amount above zero." };
74
+ if (BigInt(units) > BigInt(sell.amount))
75
+ return { problem: `You have ${sell.display} ${sell.token.symbol}.` };
76
+ return { units };
77
+ }
78
+ catch (e) {
79
+ const tooPrecise = e instanceof Error && /decimal places/.test(e.message);
80
+ return {
81
+ problem: tooPrecise
82
+ ? `${sell.token.symbol} has at most ${sell.token.decimals} decimal places.`
83
+ : "Enter an amount like 12.5.",
84
+ };
85
+ }
86
+ }, [amount, sell]);
87
+ // A changed question makes the old answer wrong.
88
+ useEffect(() => {
89
+ if (swap.quote)
90
+ swap.reset();
91
+ // Only when the question changes, not when the quote arrives.
92
+ // eslint-disable-next-line react-hooks/exhaustive-deps
93
+ }, [sellAddr, buyAddr, amount]);
94
+ useEffect(() => {
95
+ if (!swap.status)
96
+ return;
97
+ void reload();
98
+ void reloadOrders();
99
+ onDone?.(swap.status);
100
+ // eslint-disable-next-line react-hooks/exhaustive-deps
101
+ }, [swap.status]);
102
+ if (!flows.includes("swap"))
103
+ return null;
104
+ const flip = () => {
105
+ setSellAddr(buyAddr);
106
+ setBuyAddr(sellAddr);
107
+ setAmount("");
108
+ };
109
+ const q = swap.quote;
110
+ const done = swap.status;
111
+ const txLink = done?.txHash && explorerTx ? explorerTx(done.txHash, done.chain) : null;
112
+ return (_jsxs("div", { className: className, style: card, "data-theoo-money": "", children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "baseline", gap: 8 }, children: [_jsx("strong", { style: { fontSize: 15.5, letterSpacing: "-0.01em" }, children: "Swap" }), balances ? _jsx("span", { style: s.tiny, children: "Gas is on us \u00B7 you sign with your passkey" }) : null] }), balanceError ? (_jsx("div", { style: s.error, role: "alert", children: balanceError.message })) : null, !balances && !balanceError ? _jsx("p", { style: s.muted, children: "Loading balances\u2026" }) : null, balances && list.length < 2 ? _jsx("p", { style: s.muted, children: "Swaps aren't available on this chain yet." }) : null, balances && list.length >= 2 ? (_jsxs(_Fragment, { children: [_jsxs("div", { style: { display: "grid", gap: 6 }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between" }, children: [_jsx("label", { htmlFor: "theoo-money-amount", style: label, children: "You pay" }), sell ? (_jsxs("span", { style: s.tiny, children: ["Balance ", sell.display, " ", sell.token.symbol, " ", _jsx("button", { type: "button", style: link, onClick: () => setAmount(formatUnits(sell.amount, sell.token.decimals, sell.token.decimals)), children: "Max" })] })) : null] }), _jsxs("div", { style: row, children: [_jsx("input", { id: "theoo-money-amount", inputMode: "decimal", autoComplete: "off", placeholder: "0.00", value: amount, onChange: (e) => setAmount(e.target.value), style: { ...s.input, fontFamily: t.mono, fontSize: 17 }, "aria-invalid": parsed.problem ? true : undefined }), _jsx("select", { id: "theoo-money-sell", "aria-label": "Token to pay with", value: sellAddr, onChange: (e) => setSellAddr(e.target.value), style: select, children: list.map((b) => (_jsx("option", { value: b.token.address, disabled: b.token.address === buyAddr, children: b.token.symbol }, b.token.address))) })] }), parsed.problem ? _jsx("p", { style: { ...s.tiny, color: t.alert }, children: parsed.problem }) : null] }), _jsx("div", { style: { display: "flex", justifyContent: "center" }, children: _jsx("button", { type: "button", onClick: flip, "aria-label": "Swap direction", style: { ...s.secondary, padding: "4px 12px", fontSize: 15 }, children: "\u21C5" }) }), _jsxs("div", { style: { display: "grid", gap: 6 }, children: [_jsx("label", { htmlFor: "theoo-money-buy", style: label, children: "You get" }), _jsxs("div", { style: row, children: [_jsx("div", { style: { ...s.input, fontFamily: t.mono, fontSize: 17, color: q ? t.ink : t.ink3 }, "aria-live": "polite", children: q ? q.buy.display : "—" }), _jsx("select", { id: "theoo-money-buy", value: buyAddr, onChange: (e) => setBuyAddr(e.target.value), style: select, children: list.map((b) => (_jsx("option", { value: b.token.address, disabled: b.token.address === sellAddr, children: b.token.symbol }, b.token.address))) })] })] }), q && !swap.expired ? (_jsxs("div", { style: { display: "grid", gap: 6, padding: 12, borderRadius: t.radius, background: t.accentSoft, fontSize: 13.5, lineHeight: 1.5 }, "data-theoo-quote": "", children: [_jsx("span", { children: q.summary }), q.warning ? _jsx("span", { style: { color: t.alert }, children: q.warning }) : null, _jsxs("span", { style: s.tiny, children: ["The swap can't deliver less than ", q.minBuy.display, " ", q.minBuy.symbol, ": the chain enforces it. Quote good for ", swap.secondsLeft, "s."] })] })) : null, q && swap.expired ? _jsx("p", { style: s.muted, children: "That quote expired. Ask for a fresh one." }) : null, swap.error ? (_jsx("div", { style: s.error, role: "alert", children: swap.error.message })) : null, !q || swap.expired ? (_jsx("button", { type: "button", style: { ...s.button, opacity: !parsed.units || swap.busy ? 0.6 : 1 }, disabled: !parsed.units || swap.busy || !sell || !buy, onClick: () => sell && buy && parsed.units && swap.ask({ sellToken: sell.token.address, buyToken: buy.token.address, sellAmount: parsed.units }), children: swap.busy ? "Checking the best price…" : q ? "Get a fresh quote" : "Get a quote" })) : (_jsxs("div", { style: { display: "grid", gridTemplateColumns: "1fr auto", gap: 8 }, children: [_jsx("button", { type: "button", style: { ...s.button, opacity: swap.busy ? 0.6 : 1 }, disabled: swap.busy, onClick: () => void swap.confirm(), children: swap.busy ? "Confirming…" : "Confirm with passkey" }), _jsx("button", { type: "button", style: s.secondary, disabled: swap.busy, onClick: swap.reset, children: "Cancel" })] })), done ? (_jsxs("p", { style: { ...s.muted, color: done.state === "failed" ? t.alert : t.ink2 }, role: "status", children: [done.state === "included" ? "Swapped. " : done.state === "failed" ? `The swap failed on chain${done.error ? `: ${done.error}` : ""}. ` : "Sent; it's on its way. ", txLink ? (_jsx("a", { href: txLink, target: "_blank", rel: "noopener noreferrer", style: { color: t.accent }, children: "View transaction" })) : null] })) : null] })) : null, orders && orders.length ? _jsx(Recent, { orders: orders, explorerTx: explorerTx }) : null] }));
113
+ }
114
+ function Recent({ orders, explorerTx }) {
115
+ return (_jsxs("div", { style: { display: "grid", gap: 6, borderTop: `1px solid ${t.line}`, paddingTop: 10 }, children: [_jsx("span", { style: label, children: "Recent" }), orders.map((o) => {
116
+ const href = o.txHash && o.chain && explorerTx ? explorerTx(o.txHash, o.chain) : null;
117
+ return (_jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 8, fontSize: 13 }, "data-money-order": o.state, children: [_jsxs("span", { children: [o.pay ? `${o.pay.display} ${o.pay.symbol}` : "—", " \u2192 ", o.get ? `${o.get.display} ${o.get.symbol}` : "—"] }), _jsx("span", { style: { color: o.state === "failed" ? t.alert : t.ink3 }, children: href ? (_jsx("a", { href: href, target: "_blank", rel: "noopener noreferrer", style: { color: "inherit" }, children: STATE_WORDS[o.state] ?? o.state })) : ((STATE_WORDS[o.state] ?? o.state)) })] }, o.id));
118
+ })] }));
119
+ }
120
+ //# sourceMappingURL=money.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money.js","sourceRoot":"","sources":["../src/money.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theoo/react",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "React hooks and components for Theoo: sign-in, passkeys, operations, recovery and session keys.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -23,7 +23,7 @@
23
23
  ],
24
24
  "sideEffects": false,
25
25
  "dependencies": {
26
- "@theoo/sdk": "^0.2.1"
26
+ "@theoo/sdk": "^0.3.0"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "react": ">=18"