@bananapus/nana-sdk-core 6.0.0 → 6.2.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.
Files changed (213) hide show
  1. package/dist/cjs/jbcenter/ensureDeployed.d.ts +2 -2
  2. package/dist/cjs/jbcenter/ensureDeployed.d.ts.map +1 -1
  3. package/dist/cjs/jbcenter/ensureDeployed.js.map +1 -1
  4. package/dist/cjs/jbcenter.d.ts +4 -1
  5. package/dist/cjs/jbcenter.d.ts.map +1 -1
  6. package/dist/cjs/jbcenter.js +6 -6
  7. package/dist/cjs/jbcenter.js.map +1 -1
  8. package/dist/cjs/review/gas.d.ts +5 -2
  9. package/dist/cjs/review/gas.d.ts.map +1 -1
  10. package/dist/cjs/review/gas.js +8 -3
  11. package/dist/cjs/review/gas.js.map +1 -1
  12. package/dist/cjs/review/heldWrite.d.ts +6 -1
  13. package/dist/cjs/review/heldWrite.d.ts.map +1 -1
  14. package/dist/cjs/review/heldWrite.js +21 -16
  15. package/dist/cjs/review/heldWrite.js.map +1 -1
  16. package/dist/cjs/review/index.d.ts +2 -0
  17. package/dist/cjs/review/index.d.ts.map +1 -1
  18. package/dist/cjs/review/index.js +2 -0
  19. package/dist/cjs/review/index.js.map +1 -1
  20. package/dist/cjs/review/locks.d.ts +69 -0
  21. package/dist/cjs/review/locks.d.ts.map +1 -0
  22. package/dist/cjs/review/locks.js +232 -0
  23. package/dist/cjs/review/locks.js.map +1 -0
  24. package/dist/cjs/review/machines.d.ts +9 -0
  25. package/dist/cjs/review/machines.d.ts.map +1 -0
  26. package/dist/cjs/review/machines.js +25 -0
  27. package/dist/cjs/review/machines.js.map +1 -0
  28. package/dist/cjs/review/react/index.d.ts +3 -0
  29. package/dist/cjs/review/react/index.d.ts.map +1 -1
  30. package/dist/cjs/review/react/index.js +3 -0
  31. package/dist/cjs/review/react/index.js.map +1 -1
  32. package/dist/cjs/review/react/useFeeBuybackReview.d.ts +6 -0
  33. package/dist/cjs/review/react/useFeeBuybackReview.d.ts.map +1 -0
  34. package/dist/cjs/review/react/useFeeBuybackReview.js +53 -0
  35. package/dist/cjs/review/react/useFeeBuybackReview.js.map +1 -0
  36. package/dist/cjs/review/react/useMobileWallet.d.ts +15 -0
  37. package/dist/cjs/review/react/useMobileWallet.d.ts.map +1 -0
  38. package/dist/cjs/review/react/useMobileWallet.js +50 -0
  39. package/dist/cjs/review/react/useMobileWallet.js.map +1 -0
  40. package/dist/cjs/review/react/useReviewedRun.d.ts +28 -1
  41. package/dist/cjs/review/react/useReviewedRun.d.ts.map +1 -1
  42. package/dist/cjs/review/react/useReviewedRun.js +251 -39
  43. package/dist/cjs/review/react/useReviewedRun.js.map +1 -1
  44. package/dist/cjs/review/react/useSavedAttempt.d.ts +23 -0
  45. package/dist/cjs/review/react/useSavedAttempt.d.ts.map +1 -1
  46. package/dist/cjs/review/react/useSavedAttempt.js +101 -11
  47. package/dist/cjs/review/react/useSavedAttempt.js.map +1 -1
  48. package/dist/cjs/review/react/useStartOnce.d.ts +8 -0
  49. package/dist/cjs/review/react/useStartOnce.d.ts.map +1 -0
  50. package/dist/cjs/review/react/useStartOnce.js +27 -0
  51. package/dist/cjs/review/react/useStartOnce.js.map +1 -0
  52. package/dist/cjs/review/relayr.d.ts +1 -1
  53. package/dist/cjs/review/relayr.d.ts.map +1 -1
  54. package/dist/cjs/review/relayr.js +15 -0
  55. package/dist/cjs/review/relayr.js.map +1 -1
  56. package/dist/cjs/review/relayrLaunch.d.ts +90 -0
  57. package/dist/cjs/review/relayrLaunch.d.ts.map +1 -0
  58. package/dist/cjs/review/relayrLaunch.js +106 -0
  59. package/dist/cjs/review/relayrLaunch.js.map +1 -0
  60. package/dist/cjs/review/relayrSend.d.ts +5 -0
  61. package/dist/cjs/review/relayrSend.d.ts.map +1 -1
  62. package/dist/cjs/review/relayrSend.js +133 -107
  63. package/dist/cjs/review/relayrSend.js.map +1 -1
  64. package/dist/cjs/review/reviewDialogQueue.d.ts +47 -0
  65. package/dist/cjs/review/reviewDialogQueue.d.ts.map +1 -0
  66. package/dist/cjs/review/reviewDialogQueue.js +120 -0
  67. package/dist/cjs/review/reviewDialogQueue.js.map +1 -0
  68. package/dist/cjs/review/runStatus.d.ts +51 -0
  69. package/dist/cjs/review/runStatus.d.ts.map +1 -0
  70. package/dist/cjs/review/runStatus.js +54 -0
  71. package/dist/cjs/review/runStatus.js.map +1 -0
  72. package/dist/cjs/review/safeRelayr.d.ts +60 -16
  73. package/dist/cjs/review/safeRelayr.d.ts.map +1 -1
  74. package/dist/cjs/review/safeRelayr.js +358 -161
  75. package/dist/cjs/review/safeRelayr.js.map +1 -1
  76. package/dist/cjs/review/savedAttempt.d.ts.map +1 -1
  77. package/dist/cjs/review/savedAttempt.js +7 -2
  78. package/dist/cjs/review/savedAttempt.js.map +1 -1
  79. package/dist/cjs/review/send.d.ts +27 -5
  80. package/dist/cjs/review/send.d.ts.map +1 -1
  81. package/dist/cjs/review/send.js +67 -24
  82. package/dist/cjs/review/send.js.map +1 -1
  83. package/dist/cjs/review/sign.d.ts +6 -1
  84. package/dist/cjs/review/sign.d.ts.map +1 -1
  85. package/dist/cjs/review/sign.js +10 -4
  86. package/dist/cjs/review/sign.js.map +1 -1
  87. package/dist/cjs/review/wallet.d.ts +16 -4
  88. package/dist/cjs/review/wallet.d.ts.map +1 -1
  89. package/dist/cjs/review/wallet.js +60 -17
  90. package/dist/cjs/review/wallet.js.map +1 -1
  91. package/dist/cjs/review/writeHold.d.ts +18 -3
  92. package/dist/cjs/review/writeHold.d.ts.map +1 -1
  93. package/dist/cjs/review/writeHold.js +37 -10
  94. package/dist/cjs/review/writeHold.js.map +1 -1
  95. package/dist/cjs/review/writeRecovery.d.ts +13 -8
  96. package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
  97. package/dist/cjs/review/writeRecovery.js +67 -144
  98. package/dist/cjs/review/writeRecovery.js.map +1 -1
  99. package/dist/cjs/v6/feeBuyback.d.ts +49 -0
  100. package/dist/cjs/v6/feeBuyback.d.ts.map +1 -1
  101. package/dist/cjs/v6/feeBuyback.js +151 -0
  102. package/dist/cjs/v6/feeBuyback.js.map +1 -1
  103. package/dist/cjs/v6/suckers.d.ts +24 -2
  104. package/dist/cjs/v6/suckers.d.ts.map +1 -1
  105. package/dist/cjs/v6/suckers.js +5 -5
  106. package/dist/cjs/v6/suckers.js.map +1 -1
  107. package/dist/esm/jbcenter/ensureDeployed.d.ts +2 -2
  108. package/dist/esm/jbcenter/ensureDeployed.d.ts.map +1 -1
  109. package/dist/esm/jbcenter/ensureDeployed.js.map +1 -1
  110. package/dist/esm/jbcenter.d.ts +4 -1
  111. package/dist/esm/jbcenter.d.ts.map +1 -1
  112. package/dist/esm/jbcenter.js +6 -6
  113. package/dist/esm/jbcenter.js.map +1 -1
  114. package/dist/esm/review/gas.d.ts +5 -2
  115. package/dist/esm/review/gas.d.ts.map +1 -1
  116. package/dist/esm/review/gas.js +7 -3
  117. package/dist/esm/review/gas.js.map +1 -1
  118. package/dist/esm/review/heldWrite.d.ts +6 -1
  119. package/dist/esm/review/heldWrite.d.ts.map +1 -1
  120. package/dist/esm/review/heldWrite.js +21 -16
  121. package/dist/esm/review/heldWrite.js.map +1 -1
  122. package/dist/esm/review/index.d.ts +2 -0
  123. package/dist/esm/review/index.d.ts.map +1 -1
  124. package/dist/esm/review/index.js +2 -0
  125. package/dist/esm/review/index.js.map +1 -1
  126. package/dist/esm/review/locks.d.ts +69 -0
  127. package/dist/esm/review/locks.d.ts.map +1 -0
  128. package/dist/esm/review/locks.js +225 -0
  129. package/dist/esm/review/locks.js.map +1 -0
  130. package/dist/esm/review/machines.d.ts +9 -0
  131. package/dist/esm/review/machines.d.ts.map +1 -0
  132. package/dist/esm/review/machines.js +9 -0
  133. package/dist/esm/review/machines.js.map +1 -0
  134. package/dist/esm/review/react/index.d.ts +3 -0
  135. package/dist/esm/review/react/index.d.ts.map +1 -1
  136. package/dist/esm/review/react/index.js +3 -0
  137. package/dist/esm/review/react/index.js.map +1 -1
  138. package/dist/esm/review/react/useFeeBuybackReview.d.ts +6 -0
  139. package/dist/esm/review/react/useFeeBuybackReview.d.ts.map +1 -0
  140. package/dist/esm/review/react/useFeeBuybackReview.js +50 -0
  141. package/dist/esm/review/react/useFeeBuybackReview.js.map +1 -0
  142. package/dist/esm/review/react/useMobileWallet.d.ts +15 -0
  143. package/dist/esm/review/react/useMobileWallet.d.ts.map +1 -0
  144. package/dist/esm/review/react/useMobileWallet.js +46 -0
  145. package/dist/esm/review/react/useMobileWallet.js.map +1 -0
  146. package/dist/esm/review/react/useReviewedRun.d.ts +28 -1
  147. package/dist/esm/review/react/useReviewedRun.d.ts.map +1 -1
  148. package/dist/esm/review/react/useReviewedRun.js +252 -40
  149. package/dist/esm/review/react/useReviewedRun.js.map +1 -1
  150. package/dist/esm/review/react/useSavedAttempt.d.ts +23 -0
  151. package/dist/esm/review/react/useSavedAttempt.d.ts.map +1 -1
  152. package/dist/esm/review/react/useSavedAttempt.js +101 -11
  153. package/dist/esm/review/react/useSavedAttempt.js.map +1 -1
  154. package/dist/esm/review/react/useStartOnce.d.ts +8 -0
  155. package/dist/esm/review/react/useStartOnce.d.ts.map +1 -0
  156. package/dist/esm/review/react/useStartOnce.js +24 -0
  157. package/dist/esm/review/react/useStartOnce.js.map +1 -0
  158. package/dist/esm/review/relayr.d.ts +1 -1
  159. package/dist/esm/review/relayr.d.ts.map +1 -1
  160. package/dist/esm/review/relayr.js +1 -0
  161. package/dist/esm/review/relayr.js.map +1 -1
  162. package/dist/esm/review/relayrLaunch.d.ts +90 -0
  163. package/dist/esm/review/relayrLaunch.d.ts.map +1 -0
  164. package/dist/esm/review/relayrLaunch.js +97 -0
  165. package/dist/esm/review/relayrLaunch.js.map +1 -0
  166. package/dist/esm/review/relayrSend.d.ts +5 -0
  167. package/dist/esm/review/relayrSend.d.ts.map +1 -1
  168. package/dist/esm/review/relayrSend.js +134 -108
  169. package/dist/esm/review/relayrSend.js.map +1 -1
  170. package/dist/esm/review/reviewDialogQueue.d.ts +47 -0
  171. package/dist/esm/review/reviewDialogQueue.d.ts.map +1 -0
  172. package/dist/esm/review/reviewDialogQueue.js +117 -0
  173. package/dist/esm/review/reviewDialogQueue.js.map +1 -0
  174. package/dist/esm/review/runStatus.d.ts +51 -0
  175. package/dist/esm/review/runStatus.d.ts.map +1 -0
  176. package/dist/esm/review/runStatus.js +51 -0
  177. package/dist/esm/review/runStatus.js.map +1 -0
  178. package/dist/esm/review/safeRelayr.d.ts +60 -16
  179. package/dist/esm/review/safeRelayr.d.ts.map +1 -1
  180. package/dist/esm/review/safeRelayr.js +358 -161
  181. package/dist/esm/review/safeRelayr.js.map +1 -1
  182. package/dist/esm/review/savedAttempt.d.ts.map +1 -1
  183. package/dist/esm/review/savedAttempt.js +7 -2
  184. package/dist/esm/review/savedAttempt.js.map +1 -1
  185. package/dist/esm/review/send.d.ts +27 -5
  186. package/dist/esm/review/send.d.ts.map +1 -1
  187. package/dist/esm/review/send.js +67 -24
  188. package/dist/esm/review/send.js.map +1 -1
  189. package/dist/esm/review/sign.d.ts +6 -1
  190. package/dist/esm/review/sign.d.ts.map +1 -1
  191. package/dist/esm/review/sign.js +10 -4
  192. package/dist/esm/review/sign.js.map +1 -1
  193. package/dist/esm/review/wallet.d.ts +16 -4
  194. package/dist/esm/review/wallet.d.ts.map +1 -1
  195. package/dist/esm/review/wallet.js +60 -17
  196. package/dist/esm/review/wallet.js.map +1 -1
  197. package/dist/esm/review/writeHold.d.ts +18 -3
  198. package/dist/esm/review/writeHold.d.ts.map +1 -1
  199. package/dist/esm/review/writeHold.js +37 -10
  200. package/dist/esm/review/writeHold.js.map +1 -1
  201. package/dist/esm/review/writeRecovery.d.ts +13 -8
  202. package/dist/esm/review/writeRecovery.d.ts.map +1 -1
  203. package/dist/esm/review/writeRecovery.js +63 -142
  204. package/dist/esm/review/writeRecovery.js.map +1 -1
  205. package/dist/esm/v6/feeBuyback.d.ts +49 -0
  206. package/dist/esm/v6/feeBuyback.d.ts.map +1 -1
  207. package/dist/esm/v6/feeBuyback.js +150 -0
  208. package/dist/esm/v6/feeBuyback.js.map +1 -1
  209. package/dist/esm/v6/suckers.d.ts +24 -2
  210. package/dist/esm/v6/suckers.d.ts.map +1 -1
  211. package/dist/esm/v6/suckers.js +5 -5
  212. package/dist/esm/v6/suckers.js.map +1 -1
  213. package/package.json +11 -1
@@ -1,9 +1,13 @@
1
1
  import { ReviewLineError } from "../lineError.js";
2
2
  import { tell } from "../receipt.js";
3
- import { createHeldWriteView, discardReviewedSequence, errorLine, findReviewedSequence, isDefiniteWalletRejection, openStepHold, RECEIPT_RETRY_MS, REVIEWED_ACCOUNT_CHANGED_LINE, REVIEWED_ENGINE_LOAD_LINE, ReviewedReceiptUnverifiedError, safeBatchCall, settledLine, TransactionReviewCancelledError, walletReady, } from "../index.js";
3
+ import { createHeldWriteView, discardReviewedSequence, errorLine, findReviewedSequence, followHeldWrite, isDefiniteWalletRejection, listReviewedWrites, openStepHold, RECEIPT_RETRY_MS, REVIEWED_ACCOUNT_CHANGED_LINE, REVIEWED_ENGINE_LOAD_LINE, ReviewedReceiptUnverifiedError, reviewedRunStatus, safeBatchCall, settledLine, TransactionReviewCancelledError, walletReady, } from "../index.js";
4
4
  import { useEffect, useMemo, useRef, useState, useSyncExternalStore, } from "react";
5
5
  import { actionsOf, idle, keyOf, none, } from "./heldView.js";
6
6
  const IDLE = {
7
+ cancelled: false,
8
+ stopped: false,
9
+ following: false,
10
+ lastSubmittedStep: null,
7
11
  phase: "idle",
8
12
  step: 0,
9
13
  total: 0,
@@ -13,6 +17,7 @@ const IDLE = {
13
17
  safeTxHash: null,
14
18
  receipt: null,
15
19
  settled: null,
20
+ acknowledge: null,
16
21
  };
17
22
  /** The bytes a call sends, for comparing two actions. */
18
23
  const sent = ({ chainId, to, data, value, gas }) => [
@@ -31,12 +36,33 @@ export const REVIEWED_RUN_BUSY_LINE = "This action is still running. Wait for it
31
36
  */
32
37
  export function useReviewedRun(deps) {
33
38
  const [state, setState] = useState(IDLE);
39
+ /** A cancel or stop to tell once rendered. */
40
+ const [cancelling, setCancelling] = useState(null);
41
+ useEffect(() => {
42
+ if (cancelling)
43
+ void tell(cancelling.told);
44
+ }, [cancelling]);
45
+ /** The last shown success's acknowledgement: the next run waits for it. */
46
+ const acknowledged = useRef(Promise.resolve());
47
+ // A success is acknowledged only once its done rendered: a reset after
48
+ // that hides nothing, and one before it leaves the success warning.
49
+ useEffect(() => {
50
+ if (state.acknowledge)
51
+ acknowledged.current = state.acknowledge();
52
+ }, [state.acknowledge]);
34
53
  /** The hold followed after a run, and its chain's client: its view is `held`. */
35
54
  const [watched, setWatched] = useState(null);
36
55
  /** The latest run: an earlier one's late answers change nothing. */
37
56
  const latest = useRef(0);
57
+ /** The sent step whose hold the latest run's `ended()` awaits. */
58
+ const awaiting = useRef(null);
38
59
  /** How many runs are open: a discard waits for none. */
39
60
  const open = useRef(0);
61
+ /**
62
+ * The latest run's life: aborted when it is replaced, reset, dismissed or
63
+ * unmounted, so its completion acknowledges nothing it can no longer show.
64
+ */
65
+ const life = useRef(new AbortController());
40
66
  const mounted = useRef(false);
41
67
  /** This render's `run`: a run's end that continues the action runs it. */
42
68
  const runLatest = useRef(async () => null);
@@ -48,6 +74,9 @@ export function useReviewedRun(deps) {
48
74
  const leave = useRef(() => { });
49
75
  const replaced = () => {
50
76
  latest.current += 1;
77
+ life.current.abort();
78
+ life.current = new AbortController();
79
+ awaiting.current = null;
51
80
  const left = leave.current;
52
81
  leave.current = () => { };
53
82
  left();
@@ -61,24 +90,32 @@ export function useReviewedRun(deps) {
61
90
  };
62
91
  }, []);
63
92
  /** How a followed step ended, as the run that followed it shows it. */
64
- const showSettled = (run, step, total, settled, receipt) => {
93
+ const showSettled = (run, step, total, settled, receipt, acknowledge) => {
65
94
  if (latest.current !== run)
66
95
  return;
67
96
  const finished = step === total - 1;
68
97
  setState((now) => settled.result !== "success"
69
- ? { ...IDLE, error: settledLine(settled), receipt }
98
+ ? {
99
+ ...IDLE,
100
+ error: settledLine(settled),
101
+ receipt,
102
+ lastSubmittedStep: now.lastSubmittedStep,
103
+ }
70
104
  : finished
71
105
  ? {
72
106
  ...now,
107
+ following: false,
73
108
  phase: "done",
74
109
  hash: settled.hash,
75
110
  receipt,
76
111
  error: null,
77
112
  failure: null,
78
113
  settled: { step, finished },
114
+ acknowledge,
79
115
  }
80
116
  : {
81
117
  ...IDLE,
118
+ lastSubmittedStep: now.lastSubmittedStep,
82
119
  step,
83
120
  total,
84
121
  hash: settled.hash,
@@ -95,9 +132,17 @@ export function useReviewedRun(deps) {
95
132
  // never stays proposed, and never shows done unverified.
96
133
  onSettled: (settled, receipt) => watched.finish(settled, receipt),
97
134
  onReleased: () => {
135
+ // A later reservation's release (another tab's) never ends a
136
+ // write that settled: its settlement completes it.
137
+ if (watched.reservation &&
138
+ watched.handle.settlementOf(watched.reservation))
139
+ return;
98
140
  watched.released?.();
99
141
  if (latest.current === watched.run)
100
- setState(IDLE);
142
+ setState((now) => ({
143
+ ...IDLE,
144
+ lastSubmittedStep: now.lastSubmittedStep,
145
+ }));
101
146
  },
102
147
  })
103
148
  : undefined, [watched]);
@@ -125,14 +170,49 @@ export function useReviewedRun(deps) {
125
170
  shown.phase === "settled"
126
171
  ? null
127
172
  : shown;
173
+ const { cancelled: _cancelled, stopped: _stopped, acknowledge: _acknowledge, ...shownState } = state;
174
+ const status = reviewedRunStatus({ ...state, held });
175
+ const reset = () => {
176
+ replaced();
177
+ setState(IDLE);
178
+ setWatched(null);
179
+ };
180
+ const detach = (target) => {
181
+ // ponytail: unbounded; it ends once the hold is clear.
182
+ if (target)
183
+ void followHeldWrite(target.handle, target.client, {
184
+ signal: new AbortController().signal,
185
+ ...(target.reservation ? { reservation: target.reservation } : {}),
186
+ }).then((end) => end?.status === "clear" &&
187
+ end.settled?.result === "success" &&
188
+ tell(deps?.onDismissedSettled, target.call), () => undefined);
189
+ };
128
190
  const api = {
129
- ...state,
191
+ ...shownState,
192
+ ...status,
193
+ busy: status.busy && !state.following,
130
194
  held,
131
195
  ...actionsOf(shown, held ? view : undefined),
132
- reset: () => {
133
- replaced();
134
- setState(IDLE);
135
- setWatched(null);
196
+ reset,
197
+ dismiss: () => {
198
+ const waiting = awaiting.current;
199
+ if (open.current && !waiting)
200
+ return false;
201
+ if (waiting?.last) {
202
+ awaiting.current = null;
203
+ waiting.end();
204
+ return true;
205
+ }
206
+ detach(waiting
207
+ ? waiting.detached
208
+ : watched && {
209
+ handle: watched.handle,
210
+ client: watched.client,
211
+ call: watched.call,
212
+ reservation: watched.reservation,
213
+ });
214
+ reset();
215
+ return true;
136
216
  },
137
217
  preload,
138
218
  discard: async (scope, account = deps?.account) => {
@@ -150,9 +230,10 @@ export function useReviewedRun(deps) {
150
230
  setState(IDLE);
151
231
  setWatched(null);
152
232
  },
153
- run: async (action) => {
233
+ run: async ({ onCancelled, onStopped, ...action }) => {
154
234
  replaced();
155
235
  const id = latest.current;
236
+ const { signal: alive } = life.current;
156
237
  // A step still confirming is followed in place, in the same review,
157
238
  // until a reset or a later run ends it.
158
239
  const following = new AbortController();
@@ -164,12 +245,27 @@ export function useReviewedRun(deps) {
164
245
  };
165
246
  setState({ ...IDLE, phase: "review", total: action.calls.length });
166
247
  let loaded;
248
+ /** A step of the action was sent before this run, or by it: never a cancel. */
249
+ let sentAny = false;
250
+ let submitted = null;
251
+ const submit = (step) => {
252
+ if (submitted !== null && submitted >= step)
253
+ return;
254
+ submitted = step;
255
+ update({ lastSubmittedStep: step });
256
+ };
167
257
  setWatched(null);
258
+ /** Acknowledges a success this run showed, unless the run is gone. */
259
+ const acknowledging = (handle, settled) => async () => {
260
+ if (!alive.aborted)
261
+ await handle.acknowledge(settled).catch(() => undefined);
262
+ };
168
263
  /**
169
264
  * Completes a sent step once its hold settled it, as the run would
170
265
  * have (`completeReviewedStep`: the journal, `onConfirmed` once with
171
- * the receipt its hold verified, the acknowledgement), then shows how
172
- * it ended, once. Until it can (the receipt unread, or the hold not yet
266
+ * the receipt its hold verified), then shows how it ended, once. A
267
+ * last step's success is acknowledged once that rendered; an earlier
268
+ * step's at once, its sequence's journal keeping it from sending again. Until it can (the receipt unread, or the hold not yet
173
269
  * settled for this send), it is tried again, never shown.
174
270
  */
175
271
  const completing = (target, total, end) => {
@@ -181,16 +277,18 @@ export function useReviewedRun(deps) {
181
277
  onConfirmed: action.onConfirmed,
182
278
  };
183
279
  const finish = (seen, receipt = null) => {
280
+ if (shown || alive.aborted)
281
+ return;
184
282
  let unread = false;
185
283
  completed = completed.then((prior) => prior ??
186
284
  (loaded ? Promise.resolve(loaded) : load(deps.engine))
187
- .then((engine) => engine.completeReviewedStep(target, action$, deps, receipt))
285
+ .then((engine) => engine.completeReviewedStep(target, action$, deps, receipt, alive, target.step < total - 1))
188
286
  .catch(() => {
189
287
  unread = true;
190
288
  return null;
191
289
  }));
192
290
  void completed.then((ended) => {
193
- if (shown || latest.current !== id)
291
+ if (shown || alive.aborted)
194
292
  return;
195
293
  // Nothing advanced (its receipt unread, or its hold not settled
196
294
  // for this send yet): it is tried again.
@@ -203,23 +301,33 @@ export function useReviewedRun(deps) {
203
301
  return;
204
302
  shown = true;
205
303
  // Shown with the receipt completion checked, a failure's too.
206
- showSettled(id, target.step, total, ended.settled, ended.receipt);
304
+ showSettled(id, target.step, total, ended.settled, ended.receipt, ended.settled.result === "success" && target.step === total - 1
305
+ ? acknowledging(openStepHold(deps.hold, deps.account, false, target.held.call), ended.settled)
306
+ : null);
207
307
  setWatched(null);
208
308
  end?.(ended);
209
309
  });
210
310
  };
211
311
  return finish;
212
312
  };
213
- /** The step a run that did not finish leaves held, if any. */
313
+ /**
314
+ * The step a run that did not finish leaves held, if any: whether it
315
+ * found one, or null when the wallet could not say (its Safe mode unknown).
316
+ */
214
317
  const follow = async (finish, released) => {
215
318
  if (latest.current !== id || !deps?.account)
216
- return;
319
+ return false;
320
+ const { account, adapter, hold, storage } = deps;
321
+ // Its Safe mode is read only once the wallet says it is known.
217
322
  try {
218
- const { account, adapter, hold, storage } = deps;
219
- // Its Safe mode is read only once the wallet says it is known.
220
323
  await walletReady(adapter);
324
+ }
325
+ catch {
326
+ return null;
327
+ }
328
+ try {
221
329
  if (latest.current !== id)
222
- return;
330
+ return false;
223
331
  const safe = adapter.isSafe();
224
332
  const saved = !action.scope
225
333
  ? null
@@ -258,6 +366,8 @@ export function useReviewedRun(deps) {
258
366
  handle: found.handle,
259
367
  client: deps.clientFor(found.call.chainId),
260
368
  run: id,
369
+ call: found.call,
370
+ reservation,
261
371
  step: found.step,
262
372
  total,
263
373
  finish: finish ??
@@ -268,9 +378,30 @@ export function useReviewedRun(deps) {
268
378
  ...(released ? { released } : {}),
269
379
  }
270
380
  : null);
381
+ // Only its hold is followed now: the confirm can close.
382
+ if (found)
383
+ update({ following: true });
384
+ return !!found;
271
385
  }
272
386
  catch {
273
387
  /* A call the hold can't open holds nothing to show. */
388
+ return false;
389
+ }
390
+ };
391
+ const heldStep = (target) => {
392
+ const call = target.held?.call ?? action.calls[target.step];
393
+ if (!deps?.account || !call)
394
+ return null;
395
+ try {
396
+ return {
397
+ handle: openStepHold(deps.hold, deps.account, deps.adapter.isSafe(), call),
398
+ client: deps.clientFor(call.chainId),
399
+ call,
400
+ reservation: target.held?.reservation,
401
+ };
402
+ }
403
+ catch {
404
+ return null;
274
405
  }
275
406
  };
276
407
  try {
@@ -296,10 +427,13 @@ export function useReviewedRun(deps) {
296
427
  }),
297
428
  ]).finally(() => signal?.removeEventListener("abort", withdraw));
298
429
  const { resumeReviewed, sendReviewed } = loaded;
430
+ // A success already shown is acknowledged before this run checks it.
431
+ await acknowledged.current;
299
432
  const { account, guard } = deps;
300
433
  const tracked = {
301
434
  ...deps,
302
435
  onProgress: (progress) => {
436
+ sentAny ||= progress.step > 0 || !!progress.hash;
303
437
  tell(deps.onProgress, progress);
304
438
  update({
305
439
  phase: progress.phase,
@@ -324,6 +458,23 @@ export function useReviewedRun(deps) {
324
458
  keyOf(unfinished.calls.map(sent)) === keyOf(action.calls.map(sent))
325
459
  ? unfinished
326
460
  : null;
461
+ if (saved?.completed.length) {
462
+ sentAny = true;
463
+ submit(saved.completed.length - 1);
464
+ }
465
+ if (saved?.proposed)
466
+ submit(saved.proposed.step);
467
+ // Its step in flight counts once the wallet returned its hash.
468
+ const sending = saved?.sending;
469
+ if (sending &&
470
+ listReviewedWrites({ chainId: saved.calls[sending.step].chainId, account }, { storage: deps.storage }).some(({ record }) => record.id === sending.reservation && !!record.hash)) {
471
+ sentAny = true;
472
+ submit(sending.step);
473
+ }
474
+ const onSubmitted = (call, step, hash, how) => {
475
+ submit(step);
476
+ return action.onSubmitted?.(call, step, hash, how);
477
+ };
327
478
  const given = action.follow?.signal;
328
479
  const inPlace = {
329
480
  ...action.follow,
@@ -336,19 +487,29 @@ export function useReviewedRun(deps) {
336
487
  },
337
488
  };
338
489
  const result = saved
339
- ? await resumeReviewed(saved, { ...action, guard, follow: inPlace }, tracked)
340
- : await sendReviewed({ ...action, account, guard, follow: inPlace }, tracked);
490
+ ? await resumeReviewed(saved, { ...action, guard, follow: inPlace, onSubmitted }, tracked)
491
+ : await sendReviewed({ ...action, account, guard, follow: inPlace, onSubmitted }, tracked);
492
+ // A wallet that reviews on its own page reports no progress: the
493
+ // result is the run's last word.
494
+ const calls = saved?.calls ?? action.calls;
495
+ const last = result.status === "done"
496
+ ? openStepHold(deps.hold, account, false, calls[calls.length - 1])
497
+ : null;
498
+ const success = last?.unacknowledgedSuccess();
499
+ update({
500
+ phase: result.status,
501
+ // Shown, its success blocks no later run.
502
+ acknowledge: last &&
503
+ success &&
504
+ result.status === "done" &&
505
+ result.hashes.some((h) => h.toLowerCase() === success.hash)
506
+ ? acknowledging(last, success)
507
+ : null,
508
+ });
509
+ // Every step of a done run has its hash, a resumed one's too.
510
+ submit(result.status === "done" ? calls.length - 1 : result.step);
341
511
  if (result.status === "proposed")
342
512
  void follow();
343
- else if (mounted.current && latest.current === id) {
344
- // Shown: its success blocks no later run.
345
- const calls = saved?.calls ?? action.calls;
346
- const handle = openStepHold(deps.hold, account, false, calls[calls.length - 1]);
347
- const success = handle.unacknowledgedSuccess();
348
- if (success &&
349
- result.hashes.some((h) => h.toLowerCase() === success.hash))
350
- await handle.acknowledge(success).catch(() => undefined);
351
- }
352
513
  return result;
353
514
  }
354
515
  catch (error) {
@@ -360,20 +521,30 @@ export function useReviewedRun(deps) {
360
521
  hash: error.hash,
361
522
  error: null,
362
523
  failure: null,
524
+ following: true,
363
525
  });
364
526
  let end;
365
- const outcome = new Promise((resolve) => (end = resolve));
527
+ const cancelled = action.follow?.signal;
528
+ const abandon = () => end(null);
529
+ const outcome = new Promise((resolve) => (end = (ran) => {
530
+ cancelled?.removeEventListener("abort", abandon);
531
+ if (awaiting.current?.end === abandon)
532
+ awaiting.current = null;
533
+ resolve(ran);
534
+ }));
366
535
  // Replaced, or the caller's follow ended (a cancel, unlike its
367
536
  // timeout), already or later: its end is null, the step still held,
368
537
  // and nothing continues the action.
369
- const cancelled = action.follow?.signal;
370
538
  if (latest.current !== id || cancelled?.aborted)
371
539
  end(null);
372
540
  else {
373
- leave.current = () => end(null);
374
- cancelled?.addEventListener("abort", () => end(null), {
375
- once: true,
376
- });
541
+ leave.current = abandon;
542
+ cancelled?.addEventListener("abort", abandon, { once: true });
543
+ awaiting.current = {
544
+ last: error.step === action.calls.length - 1,
545
+ detached: heldStep(error),
546
+ end: abandon,
547
+ };
377
548
  }
378
549
  const finish = completing(error, action.calls.length, end);
379
550
  // Followed for a later settlement; one already there is read once it attaches.
@@ -400,7 +571,11 @@ export function useReviewedRun(deps) {
400
571
  }
401
572
  const signatures = error.held?.signatures;
402
573
  if (error.step < action.calls.length - 1) {
403
- const started = await runLatest.current(action);
574
+ const started = await runLatest.current({
575
+ ...action,
576
+ ...(onCancelled ? { onCancelled } : {}),
577
+ ...(onStopped ? { onStopped } : {}),
578
+ });
404
579
  const next = started?.status === "receipt"
405
580
  ? await started.ended()
406
581
  : started;
@@ -419,11 +594,48 @@ export function useReviewedRun(deps) {
419
594
  }),
420
595
  };
421
596
  }
597
+ // A resume can complete a step the wallet sent before the reload.
598
+ try {
599
+ const after = action.scope === undefined || !deps?.account
600
+ ? null
601
+ : findReviewedSequence(action.scope, deps.account, {
602
+ storage: deps.storage,
603
+ });
604
+ if (after?.completed.length &&
605
+ keyOf(after.calls.map(sent)) === keyOf(action.calls.map(sent))) {
606
+ sentAny = true;
607
+ submit(after.completed.length - 1);
608
+ }
609
+ }
610
+ catch {
611
+ /* An unreadable sequence adds nothing to what this run saw. */
612
+ }
422
613
  const cancelled = error instanceof TransactionReviewCancelledError ||
423
614
  isDefiniteWalletRejection(error);
424
615
  const line = cancelled ? null : errorLine(error);
425
- update({ ...IDLE, error: line, failure: cancelled ? null : error });
426
- void follow();
616
+ update({
617
+ ...IDLE,
618
+ lastSubmittedStep: submitted,
619
+ error: line,
620
+ failure: cancelled ? null : error,
621
+ });
622
+ // A cancel only once its hold is read and holds nothing: until the
623
+ // wallet says, it is read again.
624
+ const settle = () => void follow().then((found) => {
625
+ if (latest.current !== id || !mounted.current)
626
+ return;
627
+ if (found === null)
628
+ setTimeout(settle, RECEIPT_RETRY_MS);
629
+ else if (cancelled && !found) {
630
+ const step = submitted ?? 0;
631
+ update(sentAny ? { stopped: true } : { cancelled: true });
632
+ const told = sentAny
633
+ ? onStopped && (() => onStopped(step))
634
+ : onCancelled;
635
+ setCancelling(told ? { told } : null);
636
+ }
637
+ });
638
+ settle();
427
639
  return line === null
428
640
  ? null
429
641
  : { status: "failed", error: line, failure: error };
@@ -1 +1 @@
1
- {"version":3,"file":"useReviewedRun.js","sourceRoot":"","sources":["../../../../src/review/react/useReviewedRun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useReviewedRun.js","sourceRoot":"","sources":["../../../../src/review/react/useReviewedRun.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,24 @@ export type UseSavedAttemptOptions<T> = {
8
8
  client: WriteHoldClient | undefined;
9
9
  /** The check action's next step: "I checked it. <next>." ("Review it again" by default). */
10
10
  checkNext?: string;
11
+ /**
12
+ * Whether this attempt completes the flow: then only an authenticated
13
+ * success clears it, and a proven revert does not. Otherwise a revert clears
14
+ * it and a success leaves it for the app.
15
+ */
16
+ completion?: boolean;
17
+ /**
18
+ * Records a `done` outcome (the app's journal, its follow-up checks). True
19
+ * retires the attempt as settled; false or a throw leaves it to be offered
20
+ * again on the next outcome. Called once per outcome.
21
+ */
22
+ onDone?: (outcome: Extract<SavedAttemptOutcome<T>, {
23
+ status: "done";
24
+ }>) => Promise<boolean>;
25
+ /** The attempt was retired by the user's exit or check, or by a wallet rejection. Called once per outcome. */
26
+ onRetired?: (by: "exit" | "check" | "rejected") => void | Promise<void>;
27
+ /** Recover again on this interval while the outcome can still change (not while held, nor while the page is hidden). */
28
+ recheckMs?: number;
11
29
  };
12
30
  /** What a retirement returned: whether it took, and whether it outlives this tab. */
13
31
  type Retired = Awaited<ReturnType<SavedAttemptRecovery["retire"]>>;
@@ -15,6 +33,11 @@ export type UseSavedAttemptResult<T> = {
15
33
  /** How recovery ended; null until it has, or with no attempt. */
16
34
  outcome: SavedAttemptOutcome<T> | null;
17
35
  recovering: boolean;
36
+ /**
37
+ * True when nothing saved stands in the way of a new send: no attempt, or
38
+ * one recovered as `none`, or done in a way `completion` says is over.
39
+ */
40
+ clear: boolean;
18
41
  /** Recover again now: also "Check again" on a success whose details are unavailable. */
19
42
  recover: () => Promise<SavedAttemptOutcome<T> | null>;
20
43
  /** On `check`: the one explicit action, which retires the attempt for every tab and reload. */
@@ -1 +1 @@
1
- {"version":3,"file":"useSavedAttempt.d.ts","sourceRoot":"","sources":["../../../../src/review/react/useSavedAttempt.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAUrB,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC,2EAA2E;IAC3E,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,sDAAsD;IACtD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,iCAAiC;IACjC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IACpC,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qFAAqF;AACrF,KAAK,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEnE,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACrC,iEAAiE;IACjE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,wFAAwF;IACxF,OAAO,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACtD,+FAA+F;IAC/F,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;KAC7B,GAAG,IAAI,CAAC;IACT;;;;;OAKG;IACH,gBAAgB,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;KAC7B,GAAG,IAAI,CAAC;IACT;;;;OAIG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D,CAAC;AASF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,qBAAqB,CAAC,CAAC,CAAC,CAoG1B"}
1
+ {"version":3,"file":"useSavedAttempt.d.ts","sourceRoot":"","sources":["../../../../src/review/react/useSavedAttempt.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAUrB,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC,2EAA2E;IAC3E,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,sDAAsD;IACtD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,iCAAiC;IACjC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IACpC,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,KACzD,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,8GAA8G;IAC9G,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,wHAAwH;IACxH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qFAAqF;AACrF,KAAK,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEnE,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACrC,iEAAiE;IACjE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,wFAAwF;IACxF,OAAO,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACtD,+FAA+F;IAC/F,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;KAC7B,GAAG,IAAI,CAAC;IACT;;;;;OAKG;IACH,gBAAgB,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;KAC7B,GAAG,IAAI,CAAC;IACT;;;;OAIG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D,CAAC;AAmBF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,qBAAqB,CAAC,CAAC,CAAC,CAoM1B"}