@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
@@ -8,6 +8,10 @@ const index_js_1 = require("../index.js");
8
8
  const react_1 = require("react");
9
9
  const heldView_js_1 = require("./heldView.js");
10
10
  const IDLE = {
11
+ cancelled: false,
12
+ stopped: false,
13
+ following: false,
14
+ lastSubmittedStep: null,
11
15
  phase: "idle",
12
16
  step: 0,
13
17
  total: 0,
@@ -17,6 +21,7 @@ const IDLE = {
17
21
  safeTxHash: null,
18
22
  receipt: null,
19
23
  settled: null,
24
+ acknowledge: null,
20
25
  };
21
26
  /** The bytes a call sends, for comparing two actions. */
22
27
  const sent = ({ chainId, to, data, value, gas }) => [
@@ -35,12 +40,33 @@ exports.REVIEWED_RUN_BUSY_LINE = "This action is still running. Wait for it to f
35
40
  */
36
41
  function useReviewedRun(deps) {
37
42
  const [state, setState] = (0, react_1.useState)(IDLE);
43
+ /** A cancel or stop to tell once rendered. */
44
+ const [cancelling, setCancelling] = (0, react_1.useState)(null);
45
+ (0, react_1.useEffect)(() => {
46
+ if (cancelling)
47
+ void (0, receipt_js_1.tell)(cancelling.told);
48
+ }, [cancelling]);
49
+ /** The last shown success's acknowledgement: the next run waits for it. */
50
+ const acknowledged = (0, react_1.useRef)(Promise.resolve());
51
+ // A success is acknowledged only once its done rendered: a reset after
52
+ // that hides nothing, and one before it leaves the success warning.
53
+ (0, react_1.useEffect)(() => {
54
+ if (state.acknowledge)
55
+ acknowledged.current = state.acknowledge();
56
+ }, [state.acknowledge]);
38
57
  /** The hold followed after a run, and its chain's client: its view is `held`. */
39
58
  const [watched, setWatched] = (0, react_1.useState)(null);
40
59
  /** The latest run: an earlier one's late answers change nothing. */
41
60
  const latest = (0, react_1.useRef)(0);
61
+ /** The sent step whose hold the latest run's `ended()` awaits. */
62
+ const awaiting = (0, react_1.useRef)(null);
42
63
  /** How many runs are open: a discard waits for none. */
43
64
  const open = (0, react_1.useRef)(0);
65
+ /**
66
+ * The latest run's life: aborted when it is replaced, reset, dismissed or
67
+ * unmounted, so its completion acknowledges nothing it can no longer show.
68
+ */
69
+ const life = (0, react_1.useRef)(new AbortController());
44
70
  const mounted = (0, react_1.useRef)(false);
45
71
  /** This render's `run`: a run's end that continues the action runs it. */
46
72
  const runLatest = (0, react_1.useRef)(async () => null);
@@ -52,6 +78,9 @@ function useReviewedRun(deps) {
52
78
  const leave = (0, react_1.useRef)(() => { });
53
79
  const replaced = () => {
54
80
  latest.current += 1;
81
+ life.current.abort();
82
+ life.current = new AbortController();
83
+ awaiting.current = null;
55
84
  const left = leave.current;
56
85
  leave.current = () => { };
57
86
  left();
@@ -65,24 +94,32 @@ function useReviewedRun(deps) {
65
94
  };
66
95
  }, []);
67
96
  /** How a followed step ended, as the run that followed it shows it. */
68
- const showSettled = (run, step, total, settled, receipt) => {
97
+ const showSettled = (run, step, total, settled, receipt, acknowledge) => {
69
98
  if (latest.current !== run)
70
99
  return;
71
100
  const finished = step === total - 1;
72
101
  setState((now) => settled.result !== "success"
73
- ? { ...IDLE, error: (0, index_js_1.settledLine)(settled), receipt }
102
+ ? {
103
+ ...IDLE,
104
+ error: (0, index_js_1.settledLine)(settled),
105
+ receipt,
106
+ lastSubmittedStep: now.lastSubmittedStep,
107
+ }
74
108
  : finished
75
109
  ? {
76
110
  ...now,
111
+ following: false,
77
112
  phase: "done",
78
113
  hash: settled.hash,
79
114
  receipt,
80
115
  error: null,
81
116
  failure: null,
82
117
  settled: { step, finished },
118
+ acknowledge,
83
119
  }
84
120
  : {
85
121
  ...IDLE,
122
+ lastSubmittedStep: now.lastSubmittedStep,
86
123
  step,
87
124
  total,
88
125
  hash: settled.hash,
@@ -99,9 +136,17 @@ function useReviewedRun(deps) {
99
136
  // never stays proposed, and never shows done unverified.
100
137
  onSettled: (settled, receipt) => watched.finish(settled, receipt),
101
138
  onReleased: () => {
139
+ // A later reservation's release (another tab's) never ends a
140
+ // write that settled: its settlement completes it.
141
+ if (watched.reservation &&
142
+ watched.handle.settlementOf(watched.reservation))
143
+ return;
102
144
  watched.released?.();
103
145
  if (latest.current === watched.run)
104
- setState(IDLE);
146
+ setState((now) => ({
147
+ ...IDLE,
148
+ lastSubmittedStep: now.lastSubmittedStep,
149
+ }));
105
150
  },
106
151
  })
107
152
  : undefined, [watched]);
@@ -129,14 +174,49 @@ function useReviewedRun(deps) {
129
174
  shown.phase === "settled"
130
175
  ? null
131
176
  : shown;
177
+ const { cancelled: _cancelled, stopped: _stopped, acknowledge: _acknowledge, ...shownState } = state;
178
+ const status = (0, index_js_1.reviewedRunStatus)({ ...state, held });
179
+ const reset = () => {
180
+ replaced();
181
+ setState(IDLE);
182
+ setWatched(null);
183
+ };
184
+ const detach = (target) => {
185
+ // ponytail: unbounded; it ends once the hold is clear.
186
+ if (target)
187
+ void (0, index_js_1.followHeldWrite)(target.handle, target.client, {
188
+ signal: new AbortController().signal,
189
+ ...(target.reservation ? { reservation: target.reservation } : {}),
190
+ }).then((end) => end?.status === "clear" &&
191
+ end.settled?.result === "success" &&
192
+ (0, receipt_js_1.tell)(deps?.onDismissedSettled, target.call), () => undefined);
193
+ };
132
194
  const api = {
133
- ...state,
195
+ ...shownState,
196
+ ...status,
197
+ busy: status.busy && !state.following,
134
198
  held,
135
199
  ...(0, heldView_js_1.actionsOf)(shown, held ? view : undefined),
136
- reset: () => {
137
- replaced();
138
- setState(IDLE);
139
- setWatched(null);
200
+ reset,
201
+ dismiss: () => {
202
+ const waiting = awaiting.current;
203
+ if (open.current && !waiting)
204
+ return false;
205
+ if (waiting?.last) {
206
+ awaiting.current = null;
207
+ waiting.end();
208
+ return true;
209
+ }
210
+ detach(waiting
211
+ ? waiting.detached
212
+ : watched && {
213
+ handle: watched.handle,
214
+ client: watched.client,
215
+ call: watched.call,
216
+ reservation: watched.reservation,
217
+ });
218
+ reset();
219
+ return true;
140
220
  },
141
221
  preload,
142
222
  discard: async (scope, account = deps?.account) => {
@@ -154,9 +234,10 @@ function useReviewedRun(deps) {
154
234
  setState(IDLE);
155
235
  setWatched(null);
156
236
  },
157
- run: async (action) => {
237
+ run: async ({ onCancelled, onStopped, ...action }) => {
158
238
  replaced();
159
239
  const id = latest.current;
240
+ const { signal: alive } = life.current;
160
241
  // A step still confirming is followed in place, in the same review,
161
242
  // until a reset or a later run ends it.
162
243
  const following = new AbortController();
@@ -168,12 +249,27 @@ function useReviewedRun(deps) {
168
249
  };
169
250
  setState({ ...IDLE, phase: "review", total: action.calls.length });
170
251
  let loaded;
252
+ /** A step of the action was sent before this run, or by it: never a cancel. */
253
+ let sentAny = false;
254
+ let submitted = null;
255
+ const submit = (step) => {
256
+ if (submitted !== null && submitted >= step)
257
+ return;
258
+ submitted = step;
259
+ update({ lastSubmittedStep: step });
260
+ };
171
261
  setWatched(null);
262
+ /** Acknowledges a success this run showed, unless the run is gone. */
263
+ const acknowledging = (handle, settled) => async () => {
264
+ if (!alive.aborted)
265
+ await handle.acknowledge(settled).catch(() => undefined);
266
+ };
172
267
  /**
173
268
  * Completes a sent step once its hold settled it, as the run would
174
269
  * have (`completeReviewedStep`: the journal, `onConfirmed` once with
175
- * the receipt its hold verified, the acknowledgement), then shows how
176
- * it ended, once. Until it can (the receipt unread, or the hold not yet
270
+ * the receipt its hold verified), then shows how it ended, once. A
271
+ * last step's success is acknowledged once that rendered; an earlier
272
+ * step's at once, its sequence's journal keeping it from sending again. Until it can (the receipt unread, or the hold not yet
177
273
  * settled for this send), it is tried again, never shown.
178
274
  */
179
275
  const completing = (target, total, end) => {
@@ -185,16 +281,18 @@ function useReviewedRun(deps) {
185
281
  onConfirmed: action.onConfirmed,
186
282
  };
187
283
  const finish = (seen, receipt = null) => {
284
+ if (shown || alive.aborted)
285
+ return;
188
286
  let unread = false;
189
287
  completed = completed.then((prior) => prior ??
190
288
  (loaded ? Promise.resolve(loaded) : load(deps.engine))
191
- .then((engine) => engine.completeReviewedStep(target, action$, deps, receipt))
289
+ .then((engine) => engine.completeReviewedStep(target, action$, deps, receipt, alive, target.step < total - 1))
192
290
  .catch(() => {
193
291
  unread = true;
194
292
  return null;
195
293
  }));
196
294
  void completed.then((ended) => {
197
- if (shown || latest.current !== id)
295
+ if (shown || alive.aborted)
198
296
  return;
199
297
  // Nothing advanced (its receipt unread, or its hold not settled
200
298
  // for this send yet): it is tried again.
@@ -207,23 +305,33 @@ function useReviewedRun(deps) {
207
305
  return;
208
306
  shown = true;
209
307
  // Shown with the receipt completion checked, a failure's too.
210
- showSettled(id, target.step, total, ended.settled, ended.receipt);
308
+ showSettled(id, target.step, total, ended.settled, ended.receipt, ended.settled.result === "success" && target.step === total - 1
309
+ ? acknowledging((0, index_js_1.openStepHold)(deps.hold, deps.account, false, target.held.call), ended.settled)
310
+ : null);
211
311
  setWatched(null);
212
312
  end?.(ended);
213
313
  });
214
314
  };
215
315
  return finish;
216
316
  };
217
- /** The step a run that did not finish leaves held, if any. */
317
+ /**
318
+ * The step a run that did not finish leaves held, if any: whether it
319
+ * found one, or null when the wallet could not say (its Safe mode unknown).
320
+ */
218
321
  const follow = async (finish, released) => {
219
322
  if (latest.current !== id || !deps?.account)
220
- return;
323
+ return false;
324
+ const { account, adapter, hold, storage } = deps;
325
+ // Its Safe mode is read only once the wallet says it is known.
221
326
  try {
222
- const { account, adapter, hold, storage } = deps;
223
- // Its Safe mode is read only once the wallet says it is known.
224
327
  await (0, index_js_1.walletReady)(adapter);
328
+ }
329
+ catch {
330
+ return null;
331
+ }
332
+ try {
225
333
  if (latest.current !== id)
226
- return;
334
+ return false;
227
335
  const safe = adapter.isSafe();
228
336
  const saved = !action.scope
229
337
  ? null
@@ -262,6 +370,8 @@ function useReviewedRun(deps) {
262
370
  handle: found.handle,
263
371
  client: deps.clientFor(found.call.chainId),
264
372
  run: id,
373
+ call: found.call,
374
+ reservation,
265
375
  step: found.step,
266
376
  total,
267
377
  finish: finish ??
@@ -272,9 +382,30 @@ function useReviewedRun(deps) {
272
382
  ...(released ? { released } : {}),
273
383
  }
274
384
  : null);
385
+ // Only its hold is followed now: the confirm can close.
386
+ if (found)
387
+ update({ following: true });
388
+ return !!found;
275
389
  }
276
390
  catch {
277
391
  /* A call the hold can't open holds nothing to show. */
392
+ return false;
393
+ }
394
+ };
395
+ const heldStep = (target) => {
396
+ const call = target.held?.call ?? action.calls[target.step];
397
+ if (!deps?.account || !call)
398
+ return null;
399
+ try {
400
+ return {
401
+ handle: (0, index_js_1.openStepHold)(deps.hold, deps.account, deps.adapter.isSafe(), call),
402
+ client: deps.clientFor(call.chainId),
403
+ call,
404
+ reservation: target.held?.reservation,
405
+ };
406
+ }
407
+ catch {
408
+ return null;
278
409
  }
279
410
  };
280
411
  try {
@@ -300,10 +431,13 @@ function useReviewedRun(deps) {
300
431
  }),
301
432
  ]).finally(() => signal?.removeEventListener("abort", withdraw));
302
433
  const { resumeReviewed, sendReviewed } = loaded;
434
+ // A success already shown is acknowledged before this run checks it.
435
+ await acknowledged.current;
303
436
  const { account, guard } = deps;
304
437
  const tracked = {
305
438
  ...deps,
306
439
  onProgress: (progress) => {
440
+ sentAny ||= progress.step > 0 || !!progress.hash;
307
441
  (0, receipt_js_1.tell)(deps.onProgress, progress);
308
442
  update({
309
443
  phase: progress.phase,
@@ -328,6 +462,23 @@ function useReviewedRun(deps) {
328
462
  (0, heldView_js_1.keyOf)(unfinished.calls.map(sent)) === (0, heldView_js_1.keyOf)(action.calls.map(sent))
329
463
  ? unfinished
330
464
  : null;
465
+ if (saved?.completed.length) {
466
+ sentAny = true;
467
+ submit(saved.completed.length - 1);
468
+ }
469
+ if (saved?.proposed)
470
+ submit(saved.proposed.step);
471
+ // Its step in flight counts once the wallet returned its hash.
472
+ const sending = saved?.sending;
473
+ if (sending &&
474
+ (0, index_js_1.listReviewedWrites)({ chainId: saved.calls[sending.step].chainId, account }, { storage: deps.storage }).some(({ record }) => record.id === sending.reservation && !!record.hash)) {
475
+ sentAny = true;
476
+ submit(sending.step);
477
+ }
478
+ const onSubmitted = (call, step, hash, how) => {
479
+ submit(step);
480
+ return action.onSubmitted?.(call, step, hash, how);
481
+ };
331
482
  const given = action.follow?.signal;
332
483
  const inPlace = {
333
484
  ...action.follow,
@@ -340,19 +491,29 @@ function useReviewedRun(deps) {
340
491
  },
341
492
  };
342
493
  const result = saved
343
- ? await resumeReviewed(saved, { ...action, guard, follow: inPlace }, tracked)
344
- : await sendReviewed({ ...action, account, guard, follow: inPlace }, tracked);
494
+ ? await resumeReviewed(saved, { ...action, guard, follow: inPlace, onSubmitted }, tracked)
495
+ : await sendReviewed({ ...action, account, guard, follow: inPlace, onSubmitted }, tracked);
496
+ // A wallet that reviews on its own page reports no progress: the
497
+ // result is the run's last word.
498
+ const calls = saved?.calls ?? action.calls;
499
+ const last = result.status === "done"
500
+ ? (0, index_js_1.openStepHold)(deps.hold, account, false, calls[calls.length - 1])
501
+ : null;
502
+ const success = last?.unacknowledgedSuccess();
503
+ update({
504
+ phase: result.status,
505
+ // Shown, its success blocks no later run.
506
+ acknowledge: last &&
507
+ success &&
508
+ result.status === "done" &&
509
+ result.hashes.some((h) => h.toLowerCase() === success.hash)
510
+ ? acknowledging(last, success)
511
+ : null,
512
+ });
513
+ // Every step of a done run has its hash, a resumed one's too.
514
+ submit(result.status === "done" ? calls.length - 1 : result.step);
345
515
  if (result.status === "proposed")
346
516
  void follow();
347
- else if (mounted.current && latest.current === id) {
348
- // Shown: its success blocks no later run.
349
- const calls = saved?.calls ?? action.calls;
350
- const handle = (0, index_js_1.openStepHold)(deps.hold, account, false, calls[calls.length - 1]);
351
- const success = handle.unacknowledgedSuccess();
352
- if (success &&
353
- result.hashes.some((h) => h.toLowerCase() === success.hash))
354
- await handle.acknowledge(success).catch(() => undefined);
355
- }
356
517
  return result;
357
518
  }
358
519
  catch (error) {
@@ -364,20 +525,30 @@ function useReviewedRun(deps) {
364
525
  hash: error.hash,
365
526
  error: null,
366
527
  failure: null,
528
+ following: true,
367
529
  });
368
530
  let end;
369
- const outcome = new Promise((resolve) => (end = resolve));
531
+ const cancelled = action.follow?.signal;
532
+ const abandon = () => end(null);
533
+ const outcome = new Promise((resolve) => (end = (ran) => {
534
+ cancelled?.removeEventListener("abort", abandon);
535
+ if (awaiting.current?.end === abandon)
536
+ awaiting.current = null;
537
+ resolve(ran);
538
+ }));
370
539
  // Replaced, or the caller's follow ended (a cancel, unlike its
371
540
  // timeout), already or later: its end is null, the step still held,
372
541
  // and nothing continues the action.
373
- const cancelled = action.follow?.signal;
374
542
  if (latest.current !== id || cancelled?.aborted)
375
543
  end(null);
376
544
  else {
377
- leave.current = () => end(null);
378
- cancelled?.addEventListener("abort", () => end(null), {
379
- once: true,
380
- });
545
+ leave.current = abandon;
546
+ cancelled?.addEventListener("abort", abandon, { once: true });
547
+ awaiting.current = {
548
+ last: error.step === action.calls.length - 1,
549
+ detached: heldStep(error),
550
+ end: abandon,
551
+ };
381
552
  }
382
553
  const finish = completing(error, action.calls.length, end);
383
554
  // Followed for a later settlement; one already there is read once it attaches.
@@ -404,7 +575,11 @@ function useReviewedRun(deps) {
404
575
  }
405
576
  const signatures = error.held?.signatures;
406
577
  if (error.step < action.calls.length - 1) {
407
- const started = await runLatest.current(action);
578
+ const started = await runLatest.current({
579
+ ...action,
580
+ ...(onCancelled ? { onCancelled } : {}),
581
+ ...(onStopped ? { onStopped } : {}),
582
+ });
408
583
  const next = started?.status === "receipt"
409
584
  ? await started.ended()
410
585
  : started;
@@ -423,11 +598,48 @@ function useReviewedRun(deps) {
423
598
  }),
424
599
  };
425
600
  }
601
+ // A resume can complete a step the wallet sent before the reload.
602
+ try {
603
+ const after = action.scope === undefined || !deps?.account
604
+ ? null
605
+ : (0, index_js_1.findReviewedSequence)(action.scope, deps.account, {
606
+ storage: deps.storage,
607
+ });
608
+ if (after?.completed.length &&
609
+ (0, heldView_js_1.keyOf)(after.calls.map(sent)) === (0, heldView_js_1.keyOf)(action.calls.map(sent))) {
610
+ sentAny = true;
611
+ submit(after.completed.length - 1);
612
+ }
613
+ }
614
+ catch {
615
+ /* An unreadable sequence adds nothing to what this run saw. */
616
+ }
426
617
  const cancelled = error instanceof index_js_1.TransactionReviewCancelledError ||
427
618
  (0, index_js_1.isDefiniteWalletRejection)(error);
428
619
  const line = cancelled ? null : (0, index_js_1.errorLine)(error);
429
- update({ ...IDLE, error: line, failure: cancelled ? null : error });
430
- void follow();
620
+ update({
621
+ ...IDLE,
622
+ lastSubmittedStep: submitted,
623
+ error: line,
624
+ failure: cancelled ? null : error,
625
+ });
626
+ // A cancel only once its hold is read and holds nothing: until the
627
+ // wallet says, it is read again.
628
+ const settle = () => void follow().then((found) => {
629
+ if (latest.current !== id || !mounted.current)
630
+ return;
631
+ if (found === null)
632
+ setTimeout(settle, index_js_1.RECEIPT_RETRY_MS);
633
+ else if (cancelled && !found) {
634
+ const step = submitted ?? 0;
635
+ update(sentAny ? { stopped: true } : { cancelled: true });
636
+ const told = sentAny
637
+ ? onStopped && (() => onStopped(step))
638
+ : onCancelled;
639
+ setCancelling(told ? { told } : null);
640
+ }
641
+ });
642
+ settle();
431
643
  return line === null
432
644
  ? null
433
645
  : { 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"}