@bananapus/nana-sdk-core 2.40.0 → 2.41.1

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.
Files changed (69) hide show
  1. package/dist/cjs/review/heldWrite.d.ts +5 -4
  2. package/dist/cjs/review/heldWrite.d.ts.map +1 -1
  3. package/dist/cjs/review/heldWrite.js +51 -16
  4. package/dist/cjs/review/heldWrite.js.map +1 -1
  5. package/dist/cjs/review/intents.d.ts +45 -0
  6. package/dist/cjs/review/intents.d.ts.map +1 -1
  7. package/dist/cjs/review/intents.js +57 -0
  8. package/dist/cjs/review/intents.js.map +1 -1
  9. package/dist/cjs/review/react/heldView.d.ts +25 -0
  10. package/dist/cjs/review/react/heldView.d.ts.map +1 -0
  11. package/dist/cjs/review/react/heldView.js +29 -0
  12. package/dist/cjs/review/react/heldView.js.map +1 -0
  13. package/dist/cjs/review/react/index.d.ts +1 -0
  14. package/dist/cjs/review/react/index.d.ts.map +1 -1
  15. package/dist/cjs/review/react/index.js +1 -0
  16. package/dist/cjs/review/react/index.js.map +1 -1
  17. package/dist/cjs/review/react/useHeldSend.d.ts +30 -0
  18. package/dist/cjs/review/react/useHeldSend.d.ts.map +1 -0
  19. package/dist/cjs/review/react/useHeldSend.js +80 -0
  20. package/dist/cjs/review/react/useHeldSend.js.map +1 -0
  21. package/dist/cjs/review/react/useHeldWrite.d.ts +2 -14
  22. package/dist/cjs/review/react/useHeldWrite.d.ts.map +1 -1
  23. package/dist/cjs/review/react/useHeldWrite.js +6 -19
  24. package/dist/cjs/review/react/useHeldWrite.js.map +1 -1
  25. package/dist/cjs/review/tabState.d.ts +2 -0
  26. package/dist/cjs/review/tabState.d.ts.map +1 -1
  27. package/dist/cjs/review/tabState.js +2 -0
  28. package/dist/cjs/review/tabState.js.map +1 -1
  29. package/dist/cjs/review/writeHold.d.ts.map +1 -1
  30. package/dist/cjs/review/writeHold.js +10 -3
  31. package/dist/cjs/review/writeHold.js.map +1 -1
  32. package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
  33. package/dist/cjs/review/writeRecovery.js +2 -0
  34. package/dist/cjs/review/writeRecovery.js.map +1 -1
  35. package/dist/esm/review/heldWrite.d.ts +5 -4
  36. package/dist/esm/review/heldWrite.d.ts.map +1 -1
  37. package/dist/esm/review/heldWrite.js +51 -16
  38. package/dist/esm/review/heldWrite.js.map +1 -1
  39. package/dist/esm/review/intents.d.ts +45 -0
  40. package/dist/esm/review/intents.d.ts.map +1 -1
  41. package/dist/esm/review/intents.js +52 -0
  42. package/dist/esm/review/intents.js.map +1 -1
  43. package/dist/esm/review/react/heldView.d.ts +25 -0
  44. package/dist/esm/review/react/heldView.d.ts.map +1 -0
  45. package/dist/esm/review/react/heldView.js +22 -0
  46. package/dist/esm/review/react/heldView.js.map +1 -0
  47. package/dist/esm/review/react/index.d.ts +1 -0
  48. package/dist/esm/review/react/index.d.ts.map +1 -1
  49. package/dist/esm/review/react/index.js +1 -0
  50. package/dist/esm/review/react/index.js.map +1 -1
  51. package/dist/esm/review/react/useHeldSend.d.ts +30 -0
  52. package/dist/esm/review/react/useHeldSend.d.ts.map +1 -0
  53. package/dist/esm/review/react/useHeldSend.js +77 -0
  54. package/dist/esm/review/react/useHeldSend.js.map +1 -0
  55. package/dist/esm/review/react/useHeldWrite.d.ts +2 -14
  56. package/dist/esm/review/react/useHeldWrite.d.ts.map +1 -1
  57. package/dist/esm/review/react/useHeldWrite.js +3 -16
  58. package/dist/esm/review/react/useHeldWrite.js.map +1 -1
  59. package/dist/esm/review/tabState.d.ts +2 -0
  60. package/dist/esm/review/tabState.d.ts.map +1 -1
  61. package/dist/esm/review/tabState.js +2 -0
  62. package/dist/esm/review/tabState.js.map +1 -1
  63. package/dist/esm/review/writeHold.d.ts.map +1 -1
  64. package/dist/esm/review/writeHold.js +10 -3
  65. package/dist/esm/review/writeHold.js.map +1 -1
  66. package/dist/esm/review/writeRecovery.d.ts.map +1 -1
  67. package/dist/esm/review/writeRecovery.js +2 -0
  68. package/dist/esm/review/writeRecovery.js.map +1 -1
  69. package/package.json +1 -1
@@ -62,10 +62,11 @@ export declare function hidesShownExit(shown: WriteHoldState | null | undefined,
62
62
  export declare function settledLine(settled: WriteHoldSettled): string;
63
63
  /**
64
64
  * One held write's view, framework-free: its phase and line, the watch
65
- * (the hold's own events, and a checked read on start, on focus and every
66
- * poll while held), a shared follower for its hash, its exit, its send and
67
- * the adoption of a previous deploy's record. Every app binds the same one
68
- * (useHeldWrite in React), so the same action behaves the same everywhere.
65
+ * (the hold's own events, and a checked read on start, after each send, on
66
+ * focus and every poll while held), a shared follower for its hash, its
67
+ * exit, its send and the adoption of a previous deploy's record. Every app
68
+ * binds the same one (useHeldWrite in React), so the same action behaves the
69
+ * same everywhere.
69
70
  *
70
71
  * - A read the chain didn't check never hides an exit already shown.
71
72
  * - Once confirming, a write never goes back to awaiting.
@@ -1 +1 @@
1
- {"version":3,"file":"heldWrite.d.ts","sourceRoot":"","sources":["../../../src/review/heldWrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heldWrite.d.ts","sourceRoot":"","sources":["../../../src/review/heldWrite.ts"],"names":[],"mappings":"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"}
@@ -113,10 +113,11 @@ function settledLine(settled) {
113
113
  }
114
114
  /**
115
115
  * One held write's view, framework-free: its phase and line, the watch
116
- * (the hold's own events, and a checked read on start, on focus and every
117
- * poll while held), a shared follower for its hash, its exit, its send and
118
- * the adoption of a previous deploy's record. Every app binds the same one
119
- * (useHeldWrite in React), so the same action behaves the same everywhere.
116
+ * (the hold's own events, and a checked read on start, after each send, on
117
+ * focus and every poll while held), a shared follower for its hash, its
118
+ * exit, its send and the adoption of a previous deploy's record. Every app
119
+ * binds the same one (useHeldWrite in React), so the same action behaves the
120
+ * same everywhere.
120
121
  *
121
122
  * - A read the chain didn't check never hides an exit already shown.
122
123
  * - Once confirming, a write never goes back to awaiting.
@@ -138,6 +139,13 @@ function createHeldWriteView(handle, options) {
138
139
  let observed;
139
140
  let wasHeld = false;
140
141
  let exitedHere;
142
+ /** The reservation this view's own send withdrew before the wallet: never another window's release. */
143
+ let withdrawn;
144
+ /**
145
+ * The user's exit asking the hold, shared by every concurrent call: a
146
+ * release seen meanwhile waits for its answer.
147
+ */
148
+ let exiting;
141
149
  const delivered = new Set();
142
150
  /** Every reservation this view saw held and hasn't delivered: each is delivered once, whatever is shown. */
143
151
  const seen = new Set();
@@ -267,6 +275,9 @@ function createHeldWriteView(handle, options) {
267
275
  if (next.status === "clear") {
268
276
  const reservation = next.reservation;
269
277
  const mine = wasHeld && (!reservation || reservation === observed);
278
+ // Whose release it is, only the exit's answer says.
279
+ if (exiting && mine && !next.settled)
280
+ return;
270
281
  stopFollowing();
271
282
  if (next.settled && mine) {
272
283
  seen.delete(observed);
@@ -282,7 +293,7 @@ function createHeldWriteView(handle, options) {
282
293
  releasedBy: undefined,
283
294
  });
284
295
  }
285
- else if (mine) {
296
+ else if (mine && withdrawn !== observed) {
286
297
  const by = exitedHere === observed ? "user" : "other-tab";
287
298
  set({
288
299
  phase: "released",
@@ -314,6 +325,7 @@ function createHeldWriteView(handle, options) {
314
325
  wasHeld = false;
315
326
  observed = undefined;
316
327
  exitedHere = undefined;
328
+ withdrawn = undefined;
317
329
  collect();
318
330
  present();
319
331
  return;
@@ -322,6 +334,7 @@ function createHeldWriteView(handle, options) {
322
334
  if (observed !== reservation) {
323
335
  observed = reservation;
324
336
  exitedHere = undefined;
337
+ withdrawn = undefined;
325
338
  }
326
339
  wasHeld = true;
327
340
  seen.add(reservation);
@@ -386,8 +399,13 @@ function createHeldWriteView(handle, options) {
386
399
  /** The gated answer, now. */
387
400
  async function check() {
388
401
  const at = epoch;
402
+ const before = observed;
389
403
  const next = await handle.state(client).catch(() => null);
390
- if (at === epoch)
404
+ // A clear read begun before this view saw its reservation says nothing of it.
405
+ const stale = next?.status === "clear" &&
406
+ observed !== before &&
407
+ next.reservation !== observed;
408
+ if (at === epoch && !stale)
391
409
  apply(next);
392
410
  return view;
393
411
  }
@@ -479,16 +497,24 @@ function createHeldWriteView(handle, options) {
479
497
  * The user checked their wallet: the exit the shown state offers, asked
480
498
  * of the chain once more. True when released: the app reopens its review.
481
499
  */
482
- async exit() {
500
+ exit() {
501
+ if (exiting)
502
+ return exiting;
483
503
  const shown = view.state;
484
504
  if (!shown || shown.status === "clear" || !view.exit)
485
- return false;
486
- exitedHere = shown.record.id;
487
- const ended = await handle.exit(shown, { checkedWallet: true }, client);
488
- if (!ended.released)
489
- exitedHere = undefined;
490
- apply(ended.state);
491
- return ended.released;
505
+ return Promise.resolve(false);
506
+ // Asked once `exiting` is set: a release it emits at once waits too.
507
+ exiting = Promise.resolve()
508
+ .then(() => handle.exit(shown, { checkedWallet: true }, client))
509
+ .finally(() => (exiting = undefined))
510
+ .then((ended) => {
511
+ // Released by this exit, or else by another window meanwhile.
512
+ if (ended.released)
513
+ exitedHere = shown.record.id;
514
+ apply(ended.state);
515
+ return ended.released;
516
+ });
517
+ return exiting;
492
518
  },
493
519
  /**
494
520
  * Send under the hold, once any adoption is done. A held write refuses
@@ -506,12 +532,19 @@ function createHeldWriteView(handle, options) {
506
532
  throw new Error("Saved transactions are still being checked. Try again in a moment.");
507
533
  guard();
508
534
  // The send's own check may find one too: it says so before the wallet.
509
- const unsubscribe = handle.subscribe(apply);
535
+ // Its own listener: unsubscribing it leaves a started view's in place.
536
+ const unsubscribe = handle.subscribe((state) => apply(state));
510
537
  try {
511
538
  const hash = await handle.send(client, async (gate) => {
512
539
  guard();
540
+ // Nothing reached the wallet: the reservation it withdraws is this view's own.
541
+ const withdraw = () => {
542
+ withdrawn = observed;
543
+ gate.onRejected();
544
+ };
513
545
  return run({
514
546
  ...gate,
547
+ onRejected: withdraw,
515
548
  // Asked again at the reservation itself, after any lock retries.
516
549
  async beforeSend(actualCall) {
517
550
  guard();
@@ -520,7 +553,7 @@ function createHeldWriteView(handle, options) {
520
553
  guard();
521
554
  }
522
555
  catch (error) {
523
- gate.onRejected();
556
+ withdraw();
524
557
  throw error;
525
558
  }
526
559
  },
@@ -528,6 +561,8 @@ function createHeldWriteView(handle, options) {
528
561
  });
529
562
  unsubscribe();
530
563
  apply(handle.peek());
564
+ // The chain asked once more after the send, as a start asks before it.
565
+ void check();
531
566
  return hash;
532
567
  }
533
568
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"heldWrite.js","sourceRoot":"","sources":["../../../src/review/heldWrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heldWrite.js","sourceRoot":"","sources":["../../../src/review/heldWrite.ts"],"names":[],"mappings":"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"}
@@ -67,5 +67,50 @@ export declare function liquidityIntent({ chainId, pool, positions, }: {
67
67
  /** A set: order and repeats don't change the key. */
68
68
  positions: readonly Id[];
69
69
  }): string;
70
+ /** Redeeming shop items: the collection, the token id set and the holder. No terminal, payout token or minimum. */
71
+ export declare function redeemIntent({ chainId, project, hook, tokenIds, holder, }: {
72
+ chainId: number;
73
+ project: Id;
74
+ /** The collection (its 721 hook). */
75
+ hook: Address | string;
76
+ /** A set: order and repeats don't change the key. */
77
+ tokenIds: readonly Id[];
78
+ holder: Address | string;
79
+ }): string;
80
+ /** Paying out from a project's surplus allowance: the allowance line and beneficiary. No amount or minimum. */
81
+ export declare function allowanceIntent({ chainId, project, terminal, token, currency, beneficiary, }: {
82
+ chainId: number;
83
+ project: Id;
84
+ terminal: Address | string;
85
+ token: Address | string;
86
+ /** The allowance line's currency. */
87
+ currency: Id;
88
+ beneficiary: Address | string;
89
+ }): string;
90
+ /** Burning a holder's project tokens. No amount. */
91
+ export declare function burnIntent({ chainId, project, holder, }: {
92
+ chainId: number;
93
+ project: Id;
94
+ holder: Address | string;
95
+ }): string;
96
+ /**
97
+ * Proposing one batch to a Safe: the Safe and its exact calls, in order. A
98
+ * generic batch has no coarser identity, so its calls are the user's choice.
99
+ */
100
+ export declare function safeBatchIntent({ chainId, safe, calls, }: {
101
+ chainId: number;
102
+ safe: Address | string;
103
+ calls: readonly {
104
+ to: Address | string;
105
+ data: Hex | string;
106
+ value?: Id;
107
+ }[];
108
+ }): string;
109
+ /** Syncing a bridge's accounting through one sucker. No fee. */
110
+ export declare function syncIntent({ chainId, sucker, account, }: {
111
+ chainId: number;
112
+ sucker: Address | string;
113
+ account: Address | string;
114
+ }): string;
70
115
  export {};
71
116
  //# sourceMappingURL=intents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intents.d.ts","sourceRoot":"","sources":["../../../src/review/intents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5E,KAAK,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;AA2C1B,0GAA0G;AAC1G,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,OAAO,EACP,WAAW,GACZ,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,EAAE,CAAC;IACZ,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;CAC/B,GAAG,MAAM,CAMT;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,MAAM,EACN,WAAW,GACZ,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,EAAE,CAAC;IACZ,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;CAC/B,GAAG,MAAM,CAOT;AAED,yCAAyC;AACzC,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,MAAM,GACP,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,EAAE,CAAC;CACZ,GAAG,MAAM,CAET;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,EAAE,CAAC;IACZ,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B,GAAG,MAAM,CAMT;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B,GAAG,MAAM,CAOT;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,EACE,IAAI,EACJ,KAAK,EACL,OAAO,GACR,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,GACtE,MAAM,CAOR;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B;;;OAGG;IACH,MAAM,EAAE,WAAW,CAAC;CACrB,GAAG,MAAM,CAMT;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,IAAI,EACJ,SAAS,GACV,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC;CAC1B,GAAG,MAAM,CAMT"}
1
+ {"version":3,"file":"intents.d.ts","sourceRoot":"","sources":["../../../src/review/intents.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@ exports.bridgeIntent = bridgeIntent;
8
8
  exports.approvalIntent = approvalIntent;
9
9
  exports.launchIntent = launchIntent;
10
10
  exports.liquidityIntent = liquidityIntent;
11
+ exports.redeemIntent = redeemIntent;
12
+ exports.allowanceIntent = allowanceIntent;
13
+ exports.burnIntent = burnIntent;
14
+ exports.safeBatchIntent = safeBatchIntent;
15
+ exports.syncIntent = syncIntent;
11
16
  const writeIntent_js_1 = require("./writeIntent.js");
12
17
  /**
13
18
  * The one canonical form of what a builder keys: a safe integer becomes a
@@ -107,4 +112,56 @@ function liquidityIntent({ chainId, pool, positions, }) {
107
112
  positions: canonicalIds(positions),
108
113
  });
109
114
  }
115
+ /** Redeeming shop items: the collection, the token id set and the holder. No terminal, payout token or minimum. */
116
+ function redeemIntent({ chainId, project, hook, tokenIds, holder, }) {
117
+ return (0, writeIntent_js_1.writeIntentKey)("redeem-items", {
118
+ chainId,
119
+ project: id(project),
120
+ hook: writeIntent_js_1.intent.address(hook),
121
+ tokenIds: canonicalIds(tokenIds),
122
+ holder: writeIntent_js_1.intent.address(holder),
123
+ });
124
+ }
125
+ /** Paying out from a project's surplus allowance: the allowance line and beneficiary. No amount or minimum. */
126
+ function allowanceIntent({ chainId, project, terminal, token, currency, beneficiary, }) {
127
+ return (0, writeIntent_js_1.writeIntentKey)("use-allowance", {
128
+ chainId,
129
+ project: id(project),
130
+ terminal: writeIntent_js_1.intent.address(terminal),
131
+ token: writeIntent_js_1.intent.address(token),
132
+ currency: id(currency),
133
+ beneficiary: writeIntent_js_1.intent.address(beneficiary),
134
+ });
135
+ }
136
+ /** Burning a holder's project tokens. No amount. */
137
+ function burnIntent({ chainId, project, holder, }) {
138
+ return (0, writeIntent_js_1.writeIntentKey)("burn", {
139
+ chainId,
140
+ project: id(project),
141
+ holder: writeIntent_js_1.intent.address(holder),
142
+ });
143
+ }
144
+ /**
145
+ * Proposing one batch to a Safe: the Safe and its exact calls, in order. A
146
+ * generic batch has no coarser identity, so its calls are the user's choice.
147
+ */
148
+ function safeBatchIntent({ chainId, safe, calls, }) {
149
+ return (0, writeIntent_js_1.writeIntentKey)("safe-batch", {
150
+ chainId,
151
+ safe: writeIntent_js_1.intent.address(safe),
152
+ calls: calls.map((call) => ({
153
+ to: writeIntent_js_1.intent.address(call.to),
154
+ data: writeIntent_js_1.intent.hex(call.data),
155
+ value: id(call.value ?? 0n),
156
+ })),
157
+ });
158
+ }
159
+ /** Syncing a bridge's accounting through one sucker. No fee. */
160
+ function syncIntent({ chainId, sucker, account, }) {
161
+ return (0, writeIntent_js_1.writeIntentKey)("bridge-sync", {
162
+ chainId,
163
+ sucker: writeIntent_js_1.intent.address(sucker),
164
+ account: writeIntent_js_1.intent.address(account),
165
+ });
166
+ }
110
167
  //# sourceMappingURL=intents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intents.js","sourceRoot":"","sources":["../../../src/review/intents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intents.js","sourceRoot":"","sources":["../../../src/review/intents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type HeldWriteView, type HeldWriteViewController } from "../index.js";
2
+ /** The actions a shown held-write view offers, the one way both hooks show them. */
3
+ export type HeldViewActions = {
4
+ /** The exit the hold offers now, with its label; null when none. */
5
+ exitAction: {
6
+ label: string;
7
+ run: () => Promise<boolean>;
8
+ } | null;
9
+ /**
10
+ * On a success settled while away ("This went through while you were
11
+ * away."): the user's choice to send it again. Null otherwise.
12
+ */
13
+ sendAgainAction: {
14
+ label: string;
15
+ run: () => Promise<void>;
16
+ } | null;
17
+ };
18
+ export declare const IDLE: HeldWriteView;
19
+ export declare const none: () => () => void;
20
+ export declare const idle: () => HeldWriteView;
21
+ /** A value's identity for a memo key, wei amounts (bigints) included. */
22
+ export declare const keyOf: (value: unknown) => string;
23
+ /** The exit and send-again actions of what `view` shows. */
24
+ export declare function actionsOf(shown: HeldWriteView, view: HeldWriteViewController | undefined): HeldViewActions;
25
+ //# sourceMappingURL=heldView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heldView.d.ts","sourceRoot":"","sources":["../../../../src/review/react/heldView.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAErB,oFAAoF;AACpF,MAAM,MAAM,eAAe,GAAG;IAC5B,oEAAoE;IACpE,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE;;;OAGG;IACH,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;CACrE,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,aAMlB,CAAC;AACF,eAAO,MAAM,IAAI,kBAAiB,CAAC;AACnC,eAAO,MAAM,IAAI,qBAAa,CAAC;AAC/B,yEAAyE;AACzE,eAAO,MAAM,KAAK,GAAI,OAAO,OAAO,WAGjC,CAAC;AAEJ,4DAA4D;AAC5D,wBAAgB,SAAS,CACvB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,uBAAuB,GAAG,SAAS,GACxC,eAAe,CASjB"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.keyOf = exports.idle = exports.none = exports.IDLE = void 0;
4
+ exports.actionsOf = actionsOf;
5
+ const index_js_1 = require("../index.js");
6
+ exports.IDLE = {
7
+ phase: "clear",
8
+ state: null,
9
+ line: null,
10
+ exit: false,
11
+ adopting: false,
12
+ };
13
+ const none = () => () => { };
14
+ exports.none = none;
15
+ const idle = () => exports.IDLE;
16
+ exports.idle = idle;
17
+ /** A value's identity for a memo key, wei amounts (bigints) included. */
18
+ const keyOf = (value) => JSON.stringify(value, (_, field) => typeof field === "bigint" ? `${field}n` : field);
19
+ exports.keyOf = keyOf;
20
+ /** The exit and send-again actions of what `view` shows. */
21
+ function actionsOf(shown, view) {
22
+ return {
23
+ exitAction: shown.exit && view ? { label: index_js_1.HELD_EXIT_LABEL, run: view.exit } : null,
24
+ sendAgainAction: shown.phase === "succeeded" && view
25
+ ? { label: index_js_1.HELD_SEND_AGAIN_LABEL, run: view.acknowledge }
26
+ : null,
27
+ };
28
+ }
29
+ //# sourceMappingURL=heldView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heldView.js","sourceRoot":"","sources":["../../../../src/review/react/heldView.ts"],"names":[],"mappings":";;;AAkCA,8BAYC;AA9CD,0CAKqB;AAaR,QAAA,IAAI,GAAkB;IACjC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,KAAK;CAChB,CAAC;AACK,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;AAAtB,QAAA,IAAI,QAAkB;AAC5B,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,YAAI,CAAC;AAAlB,QAAA,IAAI,QAAc;AAC/B,yEAAyE;AAClE,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,EAAE,CACtC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACjC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAChD,CAAC;AAHS,QAAA,KAAK,SAGd;AAEJ,4DAA4D;AAC5D,SAAgB,SAAS,CACvB,KAAoB,EACpB,IAAyC;IAEzC,OAAO;QACL,UAAU,EACR,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,0BAAe,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;QACxE,eAAe,EACb,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI;YACjC,CAAC,CAAC,EAAE,KAAK,EAAE,gCAAqB,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE;YACzD,CAAC,CAAC,IAAI;KACX,CAAC;AACJ,CAAC"}
@@ -2,4 +2,5 @@ export * from "./HeldWritesNotice.js";
2
2
  export * from "./useHeldWrite.js";
3
3
  export * from "./useHeldWrites.js";
4
4
  export * from "./useSavedAttempt.js";
5
+ export * from "./useHeldSend.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/review/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/review/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
@@ -18,4 +18,5 @@ __exportStar(require("./HeldWritesNotice.js"), exports);
18
18
  __exportStar(require("./useHeldWrite.js"), exports);
19
19
  __exportStar(require("./useHeldWrites.js"), exports);
20
20
  __exportStar(require("./useSavedAttempt.js"), exports);
21
+ __exportStar(require("./useHeldSend.js"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/review/react/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/review/react/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC;AACrC,mDAAiC"}
@@ -0,0 +1,30 @@
1
+ import { type HeldWriteView, type WriteHoldGate, type WriteHoldHandle } from "../index.js";
2
+ import type { Hex } from "viem";
3
+ import { type HeldViewActions } from "./heldView.js";
4
+ import type { UseHeldWriteOptions } from "./useHeldWrite.js";
5
+ /** One send's hold: what useHeldWrite takes up front, known only at send time. */
6
+ export type HeldSendInput = Pick<UseHeldWriteOptions, "chainId" | "account" | "safe" | "namespace" | "legacy"> & {
7
+ /** The reviewed call this send sends. */
8
+ call: NonNullable<UseHeldWriteOptions["call"]>;
9
+ };
10
+ export type UseHeldSendOptions = Pick<UseHeldWriteOptions, "hold" | "client" | "pollMs" | "onSettled" | "onReleased"> & {
11
+ /** False when the app follows the transaction or proposal itself. */
12
+ follow?: boolean;
13
+ };
14
+ export type UseHeldSendResult = HeldWriteView & HeldViewActions & {
15
+ /** Send `call` under its hold: its intent's (or call's) view, made or reused, shows from now. */
16
+ send: (input: HeldSendInput, run: (gate: WriteHoldGate) => Promise<Hex>) => Promise<Hex>;
17
+ /** Ask the chain now about the current send. */
18
+ check: () => Promise<HeldWriteView>;
19
+ /** The current send's hold handle. */
20
+ handle: WriteHoldHandle | undefined;
21
+ };
22
+ /**
23
+ * Held sends whose call is known only at send time (a generic contract write
24
+ * or Safe transaction): each send runs through the held-write view of its
25
+ * intent or exact call, made once and reused, and the result shows the
26
+ * current send's line, notice and exit as {@link useHeldWrite} does. Only
27
+ * the current send's view runs and reaches the app's callbacks.
28
+ */
29
+ export declare function useHeldSend(options: UseHeldSendOptions): UseHeldSendResult;
30
+ //# sourceMappingURL=useHeldSend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHeldSend.d.ts","sourceRoot":"","sources":["../../../../src/review/react/useHeldSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,kFAAkF;AAClF,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,mBAAmB,EACnB,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CACxD,GAAG;IACF,yCAAyC;IACzC,IAAI,EAAE,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,mBAAmB,EACnB,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAC1D,GAAG;IACF,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAC3C,eAAe,GAAG;IAChB,iGAAiG;IACjG,IAAI,EAAE,CACJ,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,GAAG,CAAC,KACvC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,gDAAgD;IAChD,KAAK,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IACpC,sCAAsC;IACtC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;CACrC,CAAC;AAIJ;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CA0F1E"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useHeldSend = useHeldSend;
4
+ const index_js_1 = require("../index.js");
5
+ const react_1 = require("react");
6
+ const heldView_js_1 = require("./heldView.js");
7
+ /**
8
+ * Held sends whose call is known only at send time (a generic contract write
9
+ * or Safe transaction): each send runs through the held-write view of its
10
+ * intent or exact call, made once and reused, and the result shows the
11
+ * current send's line, notice and exit as {@link useHeldWrite} does. Only
12
+ * the current send's view runs and reaches the app's callbacks.
13
+ */
14
+ function useHeldSend(options) {
15
+ const { hold, client, pollMs, follow } = options;
16
+ const latest = (0, react_1.useRef)(options);
17
+ latest.current = options;
18
+ /** This hold and client's views, by their send's identity. */
19
+ const views = (0, react_1.useMemo)(() => new Map(), [hold, client, pollMs, follow]);
20
+ const [current, setCurrent] = (0, react_1.useState)();
21
+ // A view of an earlier hold or client shows nothing.
22
+ const held = current?.views === views ? current.held : undefined;
23
+ const view = held?.view;
24
+ /**
25
+ * The one view running, started at its send: a replaced view is stopped
26
+ * then, so only the current send's view ever tells the app anything, and
27
+ * a success it never told stays pending for the gate.
28
+ */
29
+ const running = (0, react_1.useRef)(undefined);
30
+ (0, react_1.useEffect)(() => () => {
31
+ if (running.current?.views !== views)
32
+ return;
33
+ running.current.stop();
34
+ running.current = undefined;
35
+ }, [views]);
36
+ const shown = (0, react_1.useSyncExternalStore)(view?.subscribe ?? heldView_js_1.none, view?.get ?? heldView_js_1.idle, view?.get ?? heldView_js_1.idle);
37
+ return {
38
+ ...shown,
39
+ ...(0, heldView_js_1.actionsOf)(shown, view),
40
+ send: (input, run) => {
41
+ if (!client)
42
+ return Promise.reject(new Error("Connect a wallet and build the call before sending."));
43
+ const { chainId, account, safe = false, namespace, legacy, call } = input;
44
+ const key = (0, heldView_js_1.keyOf)([
45
+ chainId,
46
+ account.toLowerCase(),
47
+ safe,
48
+ namespace ?? null,
49
+ call,
50
+ legacy ?? null,
51
+ ]);
52
+ let next = views.get(key);
53
+ if (!next) {
54
+ const handle = hold.open({ chainId, account, safe, call, ...(namespace ? { namespace } : {}) }, legacy ? { legacy } : undefined);
55
+ const created = (0, index_js_1.createHeldWriteView)(handle, {
56
+ client,
57
+ pollMs,
58
+ ...(follow === undefined ? {} : { follow }),
59
+ // A stopped view tells no settlement; a late release is dropped here.
60
+ onSettled: (settled, receipt) => latest.current.onSettled?.(settled, receipt),
61
+ onReleased: (by) => {
62
+ if (running.current?.view === created)
63
+ latest.current.onReleased?.(by);
64
+ },
65
+ });
66
+ next = { handle, view: created };
67
+ views.set(key, next);
68
+ }
69
+ if (running.current?.view !== next.view) {
70
+ running.current?.stop();
71
+ running.current = { views, view: next.view, stop: next.view.start() };
72
+ }
73
+ setCurrent({ views, held: next });
74
+ return next.view.send(run);
75
+ },
76
+ check: () => (view ? view.check() : Promise.resolve(heldView_js_1.IDLE)),
77
+ handle: held?.handle,
78
+ };
79
+ }
80
+ //# sourceMappingURL=useHeldSend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHeldSend.js","sourceRoot":"","sources":["../../../../src/review/react/useHeldSend.ts"],"names":[],"mappings":";;AAgEA,kCA0FC;AA1JD,0CAMqB;AACrB,iCAMe;AAEf,+CAOuB;AAmCvB;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,OAA2B;IACrD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,MAAM,GAAG,IAAA,cAAM,EAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,8DAA8D;IAC9D,MAAM,KAAK,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,IAAI,GAAG,EAAgB,EAC7B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAC/B,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAGlC,CAAC;IACL,qDAAqD;IACrD,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;IACxB;;;;OAIG;IACH,MAAM,OAAO,GAAG,IAAA,cAAM,EAOpB,SAAS,CAAC,CAAC;IACb,IAAA,iBAAS,EACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK;YAAE,OAAO;QAC7C,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAC9B,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IACF,MAAM,KAAK,GAAG,IAAA,4BAAoB,EAChC,IAAI,EAAE,SAAS,IAAI,kBAAI,EACvB,IAAI,EAAE,GAAG,IAAI,kBAAI,EACjB,IAAI,EAAE,GAAG,IAAI,kBAAI,CAClB,CAAC;IACF,OAAO;QACL,GAAG,KAAK;QACR,GAAG,IAAA,uBAAS,EAAC,KAAK,EAAE,IAAI,CAAC;QACzB,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnB,IAAI,CAAC,MAAM;gBACT,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,qDAAqD,CAAC,CACjE,CAAC;YACJ,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YAC1E,MAAM,GAAG,GAAG,IAAA,mBAAK,EAAC;gBAChB,OAAO;gBACP,OAAO,CAAC,WAAW,EAAE;gBACrB,IAAI;gBACJ,SAAS,IAAI,IAAI;gBACjB,IAAI;gBACJ,MAAM,IAAI,IAAI;aACf,CAAC,CAAC;YACH,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACrE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAChC,CAAC;gBACF,MAAM,OAAO,GAA4B,IAAA,8BAAmB,EAAC,MAAM,EAAE;oBACnE,MAAM;oBACN,MAAM;oBACN,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;oBAC3C,sEAAsE;oBACtE,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;oBAC9C,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;wBACjB,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO;4BACnC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpC,CAAC;iBACF,CAAC,CAAC;gBACH,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACjC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvB,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;gBACxB,OAAO,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACxE,CAAC;YACD,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAI,CAAC,CAAC;QAC1D,MAAM,EAAE,IAAI,EAAE,MAAM;KACrB,CAAC;AACJ,CAAC"}