@bananapus/nana-sdk-core 3.5.1 → 4.0.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 (292) hide show
  1. package/bin/wallet-check.mjs +489 -0
  2. package/dist/cjs/actions/suckerPairs.d.ts +5 -3
  3. package/dist/cjs/actions/suckerPairs.d.ts.map +1 -1
  4. package/dist/cjs/actions/suckerPairs.js +6 -26
  5. package/dist/cjs/actions/suckerPairs.js.map +1 -1
  6. package/dist/cjs/pause.d.ts +2 -0
  7. package/dist/cjs/pause.d.ts.map +1 -1
  8. package/dist/cjs/pause.js +17 -0
  9. package/dist/cjs/pause.js.map +1 -1
  10. package/dist/cjs/review/confirm.d.ts +52 -0
  11. package/dist/cjs/review/confirm.d.ts.map +1 -0
  12. package/dist/cjs/review/confirm.js +88 -0
  13. package/dist/cjs/review/confirm.js.map +1 -0
  14. package/dist/cjs/review/contractWrite.d.ts +5 -3
  15. package/dist/cjs/review/contractWrite.d.ts.map +1 -1
  16. package/dist/cjs/review/contractWrite.js +8 -7
  17. package/dist/cjs/review/contractWrite.js.map +1 -1
  18. package/dist/cjs/review/decode.d.ts +19 -1
  19. package/dist/cjs/review/decode.d.ts.map +1 -1
  20. package/dist/cjs/review/decode.js +30 -11
  21. package/dist/cjs/review/decode.js.map +1 -1
  22. package/dist/cjs/review/decodeCall.d.ts +21 -0
  23. package/dist/cjs/review/decodeCall.d.ts.map +1 -0
  24. package/dist/cjs/review/decodeCall.js +183 -0
  25. package/dist/cjs/review/decodeCall.js.map +1 -0
  26. package/dist/cjs/review/heldWrite.d.ts.map +1 -1
  27. package/dist/cjs/review/heldWrite.js +5 -4
  28. package/dist/cjs/review/heldWrite.js.map +1 -1
  29. package/dist/cjs/review/index.d.ts +11 -0
  30. package/dist/cjs/review/index.d.ts.map +1 -1
  31. package/dist/cjs/review/index.js +24 -0
  32. package/dist/cjs/review/index.js.map +1 -1
  33. package/dist/cjs/review/intents.d.ts +10 -0
  34. package/dist/cjs/review/intents.d.ts.map +1 -1
  35. package/dist/cjs/review/intents.js +13 -0
  36. package/dist/cjs/review/intents.js.map +1 -1
  37. package/dist/cjs/review/lineError.d.ts +34 -0
  38. package/dist/cjs/review/lineError.d.ts.map +1 -0
  39. package/dist/cjs/review/lineError.js +42 -0
  40. package/dist/cjs/review/lineError.js.map +1 -0
  41. package/dist/cjs/review/messages.d.ts +15 -3
  42. package/dist/cjs/review/messages.d.ts.map +1 -1
  43. package/dist/cjs/review/messages.js +16 -4
  44. package/dist/cjs/review/messages.js.map +1 -1
  45. package/dist/cjs/review/model.d.ts +149 -0
  46. package/dist/cjs/review/model.d.ts.map +1 -0
  47. package/dist/cjs/review/model.js +750 -0
  48. package/dist/cjs/review/model.js.map +1 -0
  49. package/dist/cjs/review/plan.d.ts +63 -0
  50. package/dist/cjs/review/plan.d.ts.map +1 -0
  51. package/dist/cjs/review/plan.js +149 -0
  52. package/dist/cjs/review/plan.js.map +1 -0
  53. package/dist/cjs/review/react/index.d.ts +1 -0
  54. package/dist/cjs/review/react/index.d.ts.map +1 -1
  55. package/dist/cjs/review/react/index.js +1 -0
  56. package/dist/cjs/review/react/index.js.map +1 -1
  57. package/dist/cjs/review/react/useReviewedRun.d.ts +96 -0
  58. package/dist/cjs/review/react/useReviewedRun.d.ts.map +1 -0
  59. package/dist/cjs/review/react/useReviewedRun.js +261 -0
  60. package/dist/cjs/review/react/useReviewedRun.js.map +1 -0
  61. package/dist/cjs/review/receipt.d.ts +4 -1
  62. package/dist/cjs/review/receipt.d.ts.map +1 -1
  63. package/dist/cjs/review/receipt.js +7 -3
  64. package/dist/cjs/review/receipt.js.map +1 -1
  65. package/dist/cjs/review/relayr.d.ts +13 -4
  66. package/dist/cjs/review/relayr.d.ts.map +1 -1
  67. package/dist/cjs/review/relayr.js +51 -8
  68. package/dist/cjs/review/relayr.js.map +1 -1
  69. package/dist/cjs/review/relayrSend.d.ts +135 -0
  70. package/dist/cjs/review/relayrSend.d.ts.map +1 -0
  71. package/dist/cjs/review/relayrSend.js +943 -0
  72. package/dist/cjs/review/relayrSend.js.map +1 -0
  73. package/dist/cjs/review/reviewQueue.d.ts +10 -9
  74. package/dist/cjs/review/reviewQueue.d.ts.map +1 -1
  75. package/dist/cjs/review/reviewQueue.js +19 -29
  76. package/dist/cjs/review/reviewQueue.js.map +1 -1
  77. package/dist/cjs/review/reviewRequests.d.ts +86 -0
  78. package/dist/cjs/review/reviewRequests.d.ts.map +1 -0
  79. package/dist/cjs/review/reviewRequests.js +266 -0
  80. package/dist/cjs/review/reviewRequests.js.map +1 -0
  81. package/dist/cjs/review/safeRelayr.d.ts +3 -1
  82. package/dist/cjs/review/safeRelayr.d.ts.map +1 -1
  83. package/dist/cjs/review/safeRelayr.js +5 -1
  84. package/dist/cjs/review/safeRelayr.js.map +1 -1
  85. package/dist/cjs/review/safeSend.d.ts +69 -0
  86. package/dist/cjs/review/safeSend.d.ts.map +1 -0
  87. package/dist/cjs/review/safeSend.js +308 -0
  88. package/dist/cjs/review/safeSend.js.map +1 -0
  89. package/dist/cjs/review/send.d.ts +241 -0
  90. package/dist/cjs/review/send.d.ts.map +1 -0
  91. package/dist/cjs/review/send.js +1017 -0
  92. package/dist/cjs/review/send.js.map +1 -0
  93. package/dist/cjs/review/sequence.d.ts +77 -0
  94. package/dist/cjs/review/sequence.d.ts.map +1 -0
  95. package/dist/cjs/review/sequence.js +232 -0
  96. package/dist/cjs/review/sequence.js.map +1 -0
  97. package/dist/cjs/review/sign.d.ts +109 -0
  98. package/dist/cjs/review/sign.d.ts.map +1 -0
  99. package/dist/cjs/review/sign.js +374 -0
  100. package/dist/cjs/review/sign.js.map +1 -0
  101. package/dist/cjs/review/simulation.d.ts +41 -2
  102. package/dist/cjs/review/simulation.d.ts.map +1 -1
  103. package/dist/cjs/review/simulation.js +99 -29
  104. package/dist/cjs/review/simulation.js.map +1 -1
  105. package/dist/cjs/review/transaction-message.d.ts +13 -0
  106. package/dist/cjs/review/transaction-message.d.ts.map +1 -1
  107. package/dist/cjs/review/transaction-message.js +25 -0
  108. package/dist/cjs/review/transaction-message.js.map +1 -1
  109. package/dist/cjs/review/transactionReview.d.ts +27 -19
  110. package/dist/cjs/review/transactionReview.d.ts.map +1 -1
  111. package/dist/cjs/review/transactionReview.js +22 -63
  112. package/dist/cjs/review/transactionReview.js.map +1 -1
  113. package/dist/cjs/review/wallet.d.ts +82 -0
  114. package/dist/cjs/review/wallet.d.ts.map +1 -0
  115. package/dist/cjs/review/wallet.js +157 -0
  116. package/dist/cjs/review/wallet.js.map +1 -0
  117. package/dist/cjs/review/writeHold.d.ts +100 -12
  118. package/dist/cjs/review/writeHold.d.ts.map +1 -1
  119. package/dist/cjs/review/writeHold.js +61 -13
  120. package/dist/cjs/review/writeHold.js.map +1 -1
  121. package/dist/cjs/review/writeRecovery.d.ts +6 -1
  122. package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
  123. package/dist/cjs/review/writeRecovery.js +108 -40
  124. package/dist/cjs/review/writeRecovery.js.map +1 -1
  125. package/dist/cjs/safeService.d.ts +27 -4
  126. package/dist/cjs/safeService.d.ts.map +1 -1
  127. package/dist/cjs/safeService.js +120 -3
  128. package/dist/cjs/safeService.js.map +1 -1
  129. package/dist/cjs/testing.d.ts +24 -0
  130. package/dist/cjs/testing.d.ts.map +1 -1
  131. package/dist/cjs/testing.js +26 -1
  132. package/dist/cjs/testing.js.map +1 -1
  133. package/dist/cjs/v6/defifa.d.ts.map +1 -1
  134. package/dist/cjs/v6/defifa.js +24 -23
  135. package/dist/cjs/v6/defifa.js.map +1 -1
  136. package/dist/cjs/v6/executionErrors.d.ts.map +1 -1
  137. package/dist/cjs/v6/executionErrors.js +3 -2
  138. package/dist/cjs/v6/executionErrors.js.map +1 -1
  139. package/dist/cjs/v6/pay.d.ts +25 -7
  140. package/dist/cjs/v6/pay.d.ts.map +1 -1
  141. package/dist/cjs/v6/pay.js +168 -40
  142. package/dist/cjs/v6/pay.js.map +1 -1
  143. package/dist/cjs/v6/suckers.d.ts +30 -0
  144. package/dist/cjs/v6/suckers.d.ts.map +1 -1
  145. package/dist/cjs/v6/suckers.js +69 -5
  146. package/dist/cjs/v6/suckers.js.map +1 -1
  147. package/dist/esm/actions/suckerPairs.d.ts +5 -3
  148. package/dist/esm/actions/suckerPairs.d.ts.map +1 -1
  149. package/dist/esm/actions/suckerPairs.js +7 -27
  150. package/dist/esm/actions/suckerPairs.js.map +1 -1
  151. package/dist/esm/pause.d.ts +2 -0
  152. package/dist/esm/pause.d.ts.map +1 -1
  153. package/dist/esm/pause.js +16 -0
  154. package/dist/esm/pause.js.map +1 -1
  155. package/dist/esm/review/confirm.d.ts +52 -0
  156. package/dist/esm/review/confirm.d.ts.map +1 -0
  157. package/dist/esm/review/confirm.js +83 -0
  158. package/dist/esm/review/confirm.js.map +1 -0
  159. package/dist/esm/review/contractWrite.d.ts +5 -3
  160. package/dist/esm/review/contractWrite.d.ts.map +1 -1
  161. package/dist/esm/review/contractWrite.js +8 -7
  162. package/dist/esm/review/contractWrite.js.map +1 -1
  163. package/dist/esm/review/decode.d.ts +19 -1
  164. package/dist/esm/review/decode.d.ts.map +1 -1
  165. package/dist/esm/review/decode.js +29 -14
  166. package/dist/esm/review/decode.js.map +1 -1
  167. package/dist/esm/review/decodeCall.d.ts +21 -0
  168. package/dist/esm/review/decodeCall.d.ts.map +1 -0
  169. package/dist/esm/review/decodeCall.js +180 -0
  170. package/dist/esm/review/decodeCall.js.map +1 -0
  171. package/dist/esm/review/heldWrite.d.ts.map +1 -1
  172. package/dist/esm/review/heldWrite.js +5 -4
  173. package/dist/esm/review/heldWrite.js.map +1 -1
  174. package/dist/esm/review/index.d.ts +11 -0
  175. package/dist/esm/review/index.d.ts.map +1 -1
  176. package/dist/esm/review/index.js +11 -0
  177. package/dist/esm/review/index.js.map +1 -1
  178. package/dist/esm/review/intents.d.ts +10 -0
  179. package/dist/esm/review/intents.d.ts.map +1 -1
  180. package/dist/esm/review/intents.js +12 -0
  181. package/dist/esm/review/intents.js.map +1 -1
  182. package/dist/esm/review/lineError.d.ts +34 -0
  183. package/dist/esm/review/lineError.d.ts.map +1 -0
  184. package/dist/esm/review/lineError.js +36 -0
  185. package/dist/esm/review/lineError.js.map +1 -0
  186. package/dist/esm/review/messages.d.ts +15 -3
  187. package/dist/esm/review/messages.d.ts.map +1 -1
  188. package/dist/esm/review/messages.js +15 -3
  189. package/dist/esm/review/messages.js.map +1 -1
  190. package/dist/esm/review/model.d.ts +149 -0
  191. package/dist/esm/review/model.d.ts.map +1 -0
  192. package/dist/esm/review/model.js +746 -0
  193. package/dist/esm/review/model.js.map +1 -0
  194. package/dist/esm/review/plan.d.ts +63 -0
  195. package/dist/esm/review/plan.d.ts.map +1 -0
  196. package/dist/esm/review/plan.js +141 -0
  197. package/dist/esm/review/plan.js.map +1 -0
  198. package/dist/esm/review/react/index.d.ts +1 -0
  199. package/dist/esm/review/react/index.d.ts.map +1 -1
  200. package/dist/esm/review/react/index.js +1 -0
  201. package/dist/esm/review/react/index.js.map +1 -1
  202. package/dist/esm/review/react/useReviewedRun.d.ts +96 -0
  203. package/dist/esm/review/react/useReviewedRun.d.ts.map +1 -0
  204. package/dist/esm/review/react/useReviewedRun.js +257 -0
  205. package/dist/esm/review/react/useReviewedRun.js.map +1 -0
  206. package/dist/esm/review/receipt.d.ts +4 -1
  207. package/dist/esm/review/receipt.d.ts.map +1 -1
  208. package/dist/esm/review/receipt.js +6 -2
  209. package/dist/esm/review/receipt.js.map +1 -1
  210. package/dist/esm/review/relayr.d.ts +13 -4
  211. package/dist/esm/review/relayr.d.ts.map +1 -1
  212. package/dist/esm/review/relayr.js +50 -8
  213. package/dist/esm/review/relayr.js.map +1 -1
  214. package/dist/esm/review/relayrSend.d.ts +135 -0
  215. package/dist/esm/review/relayrSend.d.ts.map +1 -0
  216. package/dist/esm/review/relayrSend.js +934 -0
  217. package/dist/esm/review/relayrSend.js.map +1 -0
  218. package/dist/esm/review/reviewQueue.d.ts +10 -9
  219. package/dist/esm/review/reviewQueue.d.ts.map +1 -1
  220. package/dist/esm/review/reviewQueue.js +17 -26
  221. package/dist/esm/review/reviewQueue.js.map +1 -1
  222. package/dist/esm/review/reviewRequests.d.ts +86 -0
  223. package/dist/esm/review/reviewRequests.d.ts.map +1 -0
  224. package/dist/esm/review/reviewRequests.js +263 -0
  225. package/dist/esm/review/reviewRequests.js.map +1 -0
  226. package/dist/esm/review/safeRelayr.d.ts +3 -1
  227. package/dist/esm/review/safeRelayr.d.ts.map +1 -1
  228. package/dist/esm/review/safeRelayr.js +5 -1
  229. package/dist/esm/review/safeRelayr.js.map +1 -1
  230. package/dist/esm/review/safeSend.d.ts +69 -0
  231. package/dist/esm/review/safeSend.d.ts.map +1 -0
  232. package/dist/esm/review/safeSend.js +303 -0
  233. package/dist/esm/review/safeSend.js.map +1 -0
  234. package/dist/esm/review/send.d.ts +241 -0
  235. package/dist/esm/review/send.d.ts.map +1 -0
  236. package/dist/esm/review/send.js +1011 -0
  237. package/dist/esm/review/send.js.map +1 -0
  238. package/dist/esm/review/sequence.d.ts +77 -0
  239. package/dist/esm/review/sequence.d.ts.map +1 -0
  240. package/dist/esm/review/sequence.js +223 -0
  241. package/dist/esm/review/sequence.js.map +1 -0
  242. package/dist/esm/review/sign.d.ts +109 -0
  243. package/dist/esm/review/sign.d.ts.map +1 -0
  244. package/dist/esm/review/sign.js +368 -0
  245. package/dist/esm/review/sign.js.map +1 -0
  246. package/dist/esm/review/simulation.d.ts +41 -2
  247. package/dist/esm/review/simulation.d.ts.map +1 -1
  248. package/dist/esm/review/simulation.js +95 -29
  249. package/dist/esm/review/simulation.js.map +1 -1
  250. package/dist/esm/review/transaction-message.d.ts +13 -0
  251. package/dist/esm/review/transaction-message.d.ts.map +1 -1
  252. package/dist/esm/review/transaction-message.js +23 -0
  253. package/dist/esm/review/transaction-message.js.map +1 -1
  254. package/dist/esm/review/transactionReview.d.ts +27 -19
  255. package/dist/esm/review/transactionReview.d.ts.map +1 -1
  256. package/dist/esm/review/transactionReview.js +19 -56
  257. package/dist/esm/review/transactionReview.js.map +1 -1
  258. package/dist/esm/review/wallet.d.ts +82 -0
  259. package/dist/esm/review/wallet.d.ts.map +1 -0
  260. package/dist/esm/review/wallet.js +150 -0
  261. package/dist/esm/review/wallet.js.map +1 -0
  262. package/dist/esm/review/writeHold.d.ts +100 -12
  263. package/dist/esm/review/writeHold.d.ts.map +1 -1
  264. package/dist/esm/review/writeHold.js +59 -13
  265. package/dist/esm/review/writeHold.js.map +1 -1
  266. package/dist/esm/review/writeRecovery.d.ts +6 -1
  267. package/dist/esm/review/writeRecovery.d.ts.map +1 -1
  268. package/dist/esm/review/writeRecovery.js +111 -43
  269. package/dist/esm/review/writeRecovery.js.map +1 -1
  270. package/dist/esm/safeService.d.ts +27 -4
  271. package/dist/esm/safeService.d.ts.map +1 -1
  272. package/dist/esm/safeService.js +119 -4
  273. package/dist/esm/safeService.js.map +1 -1
  274. package/dist/esm/testing.d.ts +24 -0
  275. package/dist/esm/testing.d.ts.map +1 -1
  276. package/dist/esm/testing.js +23 -1
  277. package/dist/esm/testing.js.map +1 -1
  278. package/dist/esm/v6/defifa.d.ts.map +1 -1
  279. package/dist/esm/v6/defifa.js +24 -23
  280. package/dist/esm/v6/defifa.js.map +1 -1
  281. package/dist/esm/v6/executionErrors.d.ts.map +1 -1
  282. package/dist/esm/v6/executionErrors.js +3 -2
  283. package/dist/esm/v6/executionErrors.js.map +1 -1
  284. package/dist/esm/v6/pay.d.ts +25 -7
  285. package/dist/esm/v6/pay.d.ts.map +1 -1
  286. package/dist/esm/v6/pay.js +166 -39
  287. package/dist/esm/v6/pay.js.map +1 -1
  288. package/dist/esm/v6/suckers.d.ts +30 -0
  289. package/dist/esm/v6/suckers.d.ts.map +1 -1
  290. package/dist/esm/v6/suckers.js +67 -5
  291. package/dist/esm/v6/suckers.js.map +1 -1
  292. package/package.json +11 -2
@@ -0,0 +1,257 @@
1
+ import { ReviewLineError } from "../lineError.js";
2
+ import { createHeldWriteView, discardReviewedSequence, errorLine, findReviewedSequence, isDefiniteWalletRejection, openStepHold, REVIEWED_ACCOUNT_CHANGED_LINE, REVIEWED_ENGINE_LOAD_LINE, safeBatchCall, settledLine, TransactionReviewCancelledError, walletReady, } from "../index.js";
3
+ import { useEffect, useMemo, useRef, useState, useSyncExternalStore, } from "react";
4
+ import { actionsOf, idle, keyOf, none, } from "./heldView.js";
5
+ const IDLE = {
6
+ phase: "idle",
7
+ step: 0,
8
+ total: 0,
9
+ error: null,
10
+ failure: null,
11
+ hash: null,
12
+ safeTxHash: null,
13
+ receipt: null,
14
+ settled: null,
15
+ };
16
+ /** The bytes a call sends, for comparing two actions. */
17
+ const sent = ({ chainId, to, data, value, gas }) => [
18
+ chainId,
19
+ to.toLowerCase(),
20
+ data.toLowerCase(),
21
+ value ?? 0n,
22
+ gas ?? null,
23
+ ];
24
+ export const REVIEWED_RUN_SCOPE_LINE = "This action has more than one step and no scope to resume it by. Nothing was sent.";
25
+ export const REVIEWED_RUN_BUSY_LINE = "This action is still running. Wait for it to finish, then try again.";
26
+ /**
27
+ * The one reviewed-send hook every site shares: its state, progress and
28
+ * error lines. A site's own hook only builds `deps` from its wallet library;
29
+ * null `deps` (no wallet yet) refuses every run.
30
+ */
31
+ export function useReviewedRun(deps) {
32
+ const [state, setState] = useState(IDLE);
33
+ /** The hold followed after a run, and its chain's client: its view is `held`. */
34
+ const [watched, setWatched] = useState(null);
35
+ /** The latest run: an earlier one's late answers change nothing. */
36
+ const latest = useRef(0);
37
+ /** How many runs are open: a discard waits for none. */
38
+ const open = useRef(0);
39
+ /** The engine's load, shared by every preload and run until one fails. */
40
+ const loading = useRef(null);
41
+ const view = useMemo(() => watched
42
+ ? createHeldWriteView(watched.handle, {
43
+ client: watched.client,
44
+ // The followed step's end ends the run: a proposal never stays proposed.
45
+ onSettled: (settled, receipt) => {
46
+ if (latest.current !== watched.run)
47
+ return;
48
+ const { step, total } = watched;
49
+ const finished = step === total - 1;
50
+ setState((now) => settled.result !== "success"
51
+ ? { ...IDLE, error: settledLine(settled), receipt }
52
+ : finished
53
+ ? {
54
+ ...now,
55
+ phase: "done",
56
+ hash: settled.hash,
57
+ receipt,
58
+ error: null,
59
+ failure: null,
60
+ settled: { step, finished },
61
+ }
62
+ : {
63
+ ...IDLE,
64
+ step,
65
+ total,
66
+ hash: settled.hash,
67
+ receipt,
68
+ settled: { step, finished },
69
+ });
70
+ },
71
+ onReleased: () => latest.current === watched.run && setState(IDLE),
72
+ })
73
+ : undefined, [watched]);
74
+ useEffect(() => view?.start(), [view]);
75
+ const engine = deps?.engine;
76
+ const load = (from) => {
77
+ const pending = (loading.current ??= from());
78
+ pending.catch(() => {
79
+ // A failed load is tried again by the next preload or run.
80
+ if (loading.current === pending)
81
+ loading.current = null;
82
+ });
83
+ return pending;
84
+ };
85
+ const preload = () => {
86
+ if (engine)
87
+ load(engine).catch(() => {
88
+ /* A run loads it again, and reports its failure. */
89
+ });
90
+ };
91
+ useEffect(preload, [engine]);
92
+ const shown = useSyncExternalStore(view?.subscribe ?? none, view?.get ?? idle, view?.get ?? idle);
93
+ const held = shown.phase === "clear" ||
94
+ shown.phase === "released" ||
95
+ shown.phase === "settled"
96
+ ? null
97
+ : shown;
98
+ return {
99
+ ...state,
100
+ held,
101
+ ...actionsOf(shown, held ? view : undefined),
102
+ reset: () => {
103
+ latest.current += 1;
104
+ setState(IDLE);
105
+ setWatched(null);
106
+ },
107
+ preload,
108
+ discard: async (scope, account = deps?.account) => {
109
+ if (open.current)
110
+ throw new ReviewLineError(REVIEWED_RUN_BUSY_LINE);
111
+ if (!deps || !account)
112
+ throw new ReviewLineError("Connect a wallet first.");
113
+ const { storage } = deps;
114
+ const saved = findReviewedSequence(scope, account, { storage });
115
+ if (saved)
116
+ await discardReviewedSequence(saved, { storage });
117
+ if (open.current)
118
+ return;
119
+ latest.current += 1;
120
+ setState(IDLE);
121
+ setWatched(null);
122
+ },
123
+ run: async (action) => {
124
+ const id = ++latest.current;
125
+ open.current += 1;
126
+ const update = (next) => {
127
+ if (latest.current === id)
128
+ setState((now) => ({ ...now, ...next }));
129
+ };
130
+ setState({ ...IDLE, phase: "review", total: action.calls.length });
131
+ setWatched(null);
132
+ /** The step a run that did not finish leaves held, if any. */
133
+ const follow = async () => {
134
+ if (latest.current !== id || !deps?.account)
135
+ return;
136
+ try {
137
+ const { account, adapter, hold, storage } = deps;
138
+ // Its Safe mode is read only once the wallet says it is known.
139
+ await walletReady(adapter);
140
+ if (latest.current !== id)
141
+ return;
142
+ const safe = adapter.isSafe();
143
+ const saved = !action.scope
144
+ ? null
145
+ : findReviewedSequence(action.scope, account, { storage });
146
+ const total = saved?.calls.length ?? action.calls.length;
147
+ // A Safe app's batch is held as its one MultiSend proposal, its last step.
148
+ const steps = saved?.sending
149
+ ? [
150
+ {
151
+ call: saved.calls[saved.sending.step],
152
+ step: saved.sending.step,
153
+ },
154
+ ]
155
+ : !saved && action.batch && safe && action.calls.length > 1
156
+ ? [
157
+ {
158
+ call: safeBatchCall(account, action.calls),
159
+ step: total - 1,
160
+ },
161
+ ]
162
+ : action.calls.map((call, step) => ({ call, step }));
163
+ const found = steps
164
+ .map(({ call, step }) => ({
165
+ call,
166
+ step,
167
+ handle: openStepHold(hold, account, safe, call),
168
+ }))
169
+ .find(({ handle }) => handle.peek().status !== "clear");
170
+ setWatched(found
171
+ ? {
172
+ handle: found.handle,
173
+ client: deps.clientFor(found.call.chainId),
174
+ run: id,
175
+ step: found.step,
176
+ total,
177
+ }
178
+ : null);
179
+ }
180
+ catch {
181
+ /* A call the hold can't open holds nothing to show. */
182
+ }
183
+ };
184
+ try {
185
+ if (!deps?.account)
186
+ throw new ReviewLineError("Connect a wallet first.");
187
+ if (action.account &&
188
+ action.account.toLowerCase() !== deps.account.toLowerCase())
189
+ throw new ReviewLineError(REVIEWED_ACCOUNT_CHANGED_LINE);
190
+ if (action.calls.length > 1 && action.scope === undefined)
191
+ throw new ReviewLineError(REVIEWED_RUN_SCOPE_LINE);
192
+ const { signal } = action;
193
+ if (signal?.aborted)
194
+ throw new TransactionReviewCancelledError();
195
+ let withdraw = () => { };
196
+ const { resumeReviewed, sendReviewed } = await Promise.race([
197
+ load(deps.engine).catch((cause) => {
198
+ throw Object.assign(new ReviewLineError(REVIEWED_ENGINE_LOAD_LINE), { cause });
199
+ }),
200
+ // A review withdrawn while the engine loads ends here, cancelled.
201
+ new Promise((_, reject) => {
202
+ withdraw = () => reject(new TransactionReviewCancelledError());
203
+ signal?.addEventListener("abort", withdraw, { once: true });
204
+ }),
205
+ ]).finally(() => signal?.removeEventListener("abort", withdraw));
206
+ const { account, guard } = deps;
207
+ const tracked = {
208
+ ...deps,
209
+ onProgress: (progress) => {
210
+ deps.onProgress?.(progress);
211
+ update({
212
+ phase: progress.phase,
213
+ step: progress.step,
214
+ total: progress.total,
215
+ ...(progress.hash
216
+ ? progress.phase === "proposed"
217
+ ? { safeTxHash: progress.hash }
218
+ : { hash: progress.hash }
219
+ : {}),
220
+ });
221
+ },
222
+ };
223
+ const unfinished = action.scope === undefined
224
+ ? null
225
+ : findReviewedSequence(action.scope, account, {
226
+ storage: deps.storage,
227
+ });
228
+ // Resumed only when the user asked for the same calls again;
229
+ // otherwise sendReviewed refuses while it is unfinished.
230
+ const saved = unfinished &&
231
+ keyOf(unfinished.calls.map(sent)) === keyOf(action.calls.map(sent))
232
+ ? unfinished
233
+ : null;
234
+ const result = saved
235
+ ? await resumeReviewed(saved, { ...action, guard }, tracked)
236
+ : await sendReviewed({ ...action, account, guard }, tracked);
237
+ if (result.status === "proposed")
238
+ void follow();
239
+ return result;
240
+ }
241
+ catch (error) {
242
+ const cancelled = error instanceof TransactionReviewCancelledError ||
243
+ isDefiniteWalletRejection(error);
244
+ const line = cancelled ? null : errorLine(error);
245
+ update({ ...IDLE, error: line, failure: cancelled ? null : error });
246
+ void follow();
247
+ return line === null
248
+ ? null
249
+ : { status: "failed", error: line, failure: error };
250
+ }
251
+ finally {
252
+ open.current -= 1;
253
+ }
254
+ },
255
+ };
256
+ }
257
+ //# sourceMappingURL=useReviewedRun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReviewedRun.js","sourceRoot":"","sources":["../../../../src/review/react/useReviewedRun.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
+ import { ReviewLineError } from "./lineError.js";
1
2
  import type { Hex, PublicClient, TransactionReceipt } from "viem";
3
+ /** The line when a broadcast transaction's receipt can't be tracked. */
4
+ export declare const TRANSACTION_TRACKING_UNAVAILABLE_LINE = "This transaction was submitted, but its confirmation can't be tracked right now. Check it in your wallet and do not submit it again yet.";
2
5
  /**
3
6
  * A transaction was broadcast, but neither the receipt watcher nor direct
4
7
  * receipt reads could confirm it. Its outcome is unknown, so the app must keep
5
8
  * treating it as submitted and must not offer to send it again.
6
9
  */
7
- export declare class TransactionReceiptUnavailableError extends Error {
10
+ export declare class TransactionReceiptUnavailableError extends ReviewLineError {
8
11
  readonly hash: Hex;
9
12
  readonly chainId?: number | undefined;
10
13
  readonly name = "TransactionReceiptUnavailableError";
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../src/review/receipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAElE;;;;GAIG;AACH,qBAAa,kCAAmC,SAAQ,KAAK;IAUzD,QAAQ,CAAC,IAAI,EAAE,GAAG;IAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;IAV3B,QAAQ,CAAC,IAAI,wCAAwC;IACrD;;;;OAIG;IACH,SAAiB,KAAK,EAAE,OAAO,CAAC;gBAGrB,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,MAAM,YAAA,EACzB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAYpC;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,kCAAkC,CAE7C;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,IAAI,CACV,YAAY,EACZ,OAAO,GAAG,uBAAuB,GAAG,2BAA2B,CAChE,EACD,IAAI,EAAE,GAAG,EACT,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACvD,OAAO,CAAC,kBAAkB,CAAC,CAmB7B"}
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../src/review/receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAElE,wEAAwE;AACxE,eAAO,MAAM,qCAAqC,6IAC0F,CAAC;AAE7I;;;;GAIG;AACH,qBAAa,kCAAmC,SAAQ,eAAe;IAUnE,QAAQ,CAAC,IAAI,EAAE,GAAG;IAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;IAV3B,QAAQ,CAAC,IAAI,wCAAwC;IACrD;;;;OAIG;IACH,SAAiB,KAAK,EAAE,OAAO,CAAC;gBAGrB,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,MAAM,YAAA,EACzB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAWpC;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,kCAAkC,CAE7C;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,IAAI,CACV,YAAY,EACZ,OAAO,GAAG,uBAAuB,GAAG,2BAA2B,CAChE,EACD,IAAI,EAAE,GAAG,EACT,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACvD,OAAO,CAAC,kBAAkB,CAAC,CAmB7B"}
@@ -1,11 +1,15 @@
1
+ import { ReviewLineError } from "./lineError.js";
2
+ /** The line when a broadcast transaction's receipt can't be tracked. */
3
+ export const TRANSACTION_TRACKING_UNAVAILABLE_LINE = "This transaction was submitted, but its confirmation can't be tracked right now. Check it in your wallet and do not submit it again yet.";
1
4
  /**
2
5
  * A transaction was broadcast, but neither the receipt watcher nor direct
3
6
  * receipt reads could confirm it. Its outcome is unknown, so the app must keep
4
7
  * treating it as submitted and must not offer to send it again.
5
8
  */
6
- export class TransactionReceiptUnavailableError extends Error {
9
+ export class TransactionReceiptUnavailableError extends ReviewLineError {
7
10
  constructor(hash, chainId, options = {}) {
8
- super(`Transaction ${hash} was submitted${chainId ? ` on chain ${chainId}` : ""}, but confirmation tracking is temporarily unavailable. Check this transaction and do not submit it again yet.`);
11
+ // The hash and chain stay fields: a caller's hash is not validated here.
12
+ super(TRANSACTION_TRACKING_UNAVAILABLE_LINE);
9
13
  this.hash = hash;
10
14
  this.chainId = chainId;
11
15
  this.name = "TransactionReceiptUnavailableError";
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/review/receipt.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IAS3D,YACW,IAAS,EACT,OAAgB,EACzB,UAA+B,EAAE;QAEjC,KAAK,CACH,eAAe,IAAI,iBAAiB,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,gHAAgH,CAC1L,CAAC;QANO,SAAI,GAAJ,IAAI,CAAK;QACT,YAAO,GAAP,OAAO,CAAS;QAVlB,SAAI,GAAG,oCAAoC,CAAC;QAgBnD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;YACnC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,UAAU,oCAAoC,CAClD,KAAc;IAEd,OAAO,KAAK,YAAY,kCAAkC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAGC,EACD,IAAS,EACT,UAAsD,EAAE;IAExD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;QAC5D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,kCAAkC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE;YACnE,KAAK;SACN,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/review/receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,wEAAwE;AACxE,MAAM,CAAC,MAAM,qCAAqC,GAChD,0IAA0I,CAAC;AAE7I;;;;GAIG;AACH,MAAM,OAAO,kCAAmC,SAAQ,eAAe;IASrE,YACW,IAAS,EACT,OAAgB,EACzB,UAA+B,EAAE;QAEjC,yEAAyE;QACzE,KAAK,CAAC,qCAAqC,CAAC,CAAC;QALpC,SAAI,GAAJ,IAAI,CAAK;QACT,YAAO,GAAP,OAAO,CAAS;QAVlB,SAAI,GAAG,oCAAoC,CAAC;QAenD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;YACnC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,UAAU,oCAAoC,CAClD,KAAc;IAEd,OAAO,KAAK,YAAY,kCAAkC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAGC,EACD,IAAS,EACT,UAAsD,EAAE;IAExD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;QAC5D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,kCAAkC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE;YACnE,KAAK;SACN,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type Address, type Hex, type PublicClient, type TransactionReceipt } from "viem";
2
2
  import { erc2771ForwarderAbi } from "../generated/juicebox.js";
3
+ import { ReviewFixedLineError } from "./lineError.js";
3
4
  /** Relayr's HTTP API. */
4
5
  export declare const RELAYR_API = "https://api.relayr.ba5ed.com";
5
6
  /**
@@ -221,20 +222,23 @@ export type RelayrProofClient = {
221
222
  * The chain or Relayr contradicts the expected transaction: this evidence can
222
223
  * never prove it. Keep the action pending and never pay for it again.
223
224
  */
224
- export declare class RelayrProofError extends Error {
225
+ export declare class RelayrProofError extends ReviewFixedLineError {
225
226
  readonly name: string;
227
+ get line(): string;
226
228
  }
227
229
  /** The transaction or its canonical receipt is not yet readable. Retain the bundle and retry its proof. */
228
- export declare class RelayrProofUnavailableError extends Error {
230
+ export declare class RelayrProofUnavailableError extends ReviewFixedLineError {
229
231
  readonly name = "RelayrProofUnavailableError";
232
+ get line(): string;
230
233
  }
231
234
  /**
232
235
  * A synchronous final guard refused after saving a payment attempt and before
233
236
  * invoking the wallet. Construct only around that guard, never around the
234
237
  * persistence callback or wallet call: their failures may hide a submission.
235
238
  */
236
- export declare class RelayrPaymentNotSentError extends Error {
239
+ export declare class RelayrPaymentNotSentError extends ReviewFixedLineError {
237
240
  readonly name = "RelayrPaymentNotSentError";
241
+ get line(): string;
238
242
  constructor(cause: unknown);
239
243
  }
240
244
  /**
@@ -255,6 +259,7 @@ export declare class RelayrPaymentRevertedError extends RelayrProofError {
255
259
  readonly hash: Hex;
256
260
  readonly chainId: number;
257
261
  readonly name = "RelayrPaymentRevertedError";
262
+ get line(): string;
258
263
  constructor(message: string, hash: Hex, chainId: number);
259
264
  }
260
265
  /**
@@ -266,6 +271,7 @@ export declare class RelayrDestinationRevertedError extends RelayrProofError {
266
271
  readonly hash: Hex;
267
272
  readonly chainId: number;
268
273
  readonly name = "RelayrDestinationRevertedError";
274
+ get line(): string;
269
275
  constructor(message: string, hash: Hex, chainId: number);
270
276
  }
271
277
  /**
@@ -286,9 +292,10 @@ export type RelayrPaymentRetryRefusal = "invalid" | "expired" | "paid" | "runnin
286
292
  * `paid` and `running` mean the bundle is funded, `unknown` may clear on a
287
293
  * later check, and `expired` needs a new quote.
288
294
  */
289
- export declare class RelayrPaymentRetryError extends Error {
295
+ export declare class RelayrPaymentRetryError extends ReviewFixedLineError {
290
296
  readonly reason: RelayrPaymentRetryRefusal;
291
297
  readonly name = "RelayrPaymentRetryError";
298
+ get line(): string;
292
299
  constructor(message: string, reason: RelayrPaymentRetryRefusal);
293
300
  }
294
301
  /** Relayr runs bundles on Ethereum, Optimism, Base and Arbitrum, and on their Sepolia testnets. */
@@ -406,6 +413,8 @@ export declare function relayrProgress(records: readonly RelayrTransactionRecord
406
413
  export declare function relayrDestinationHash(record: RelayrTransactionRecord): Hex | null;
407
414
  /** A record's destination chain. Relayr's status nests it under `request`. */
408
415
  export declare function relayrRecordChain(record: RelayrTransactionRecord): number | null;
416
+ /** The canonical Juicebox V6 ERC-2771 forwarder on `chainId`, where Relayr runs. */
417
+ export declare function relayrForwarder(chainId: number): Address | undefined;
409
418
  /**
410
419
  * The ERC-2771 request an entry carries: an `execute` call on its chain's
411
420
  * canonical Juicebox V6 forwarder whose calldata re-encodes byte for byte.
@@ -1 +1 @@
1
- {"version":3,"file":"relayr.d.ts","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayr.d.ts","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ContractFunctionRevertedError, decodeFunctionData, encodeFunctionData,
2
2
  import { erc2771ForwarderAbi, jbV6ContractAddress, } from "../generated/juicebox.js";
3
3
  import { isBytes32, isHexBytes, uint256 } from "../untrusted.js";
4
4
  import { isDefiniteWalletRejection } from "./contractWrite.js";
5
+ import { ReviewFixedLineError, ReviewLineError } from "./lineError.js";
5
6
  import { simulateStateChangingTransaction } from "./simulation.js";
6
7
  // Relayr runs a bundle of transactions on several chains for one prepaid
7
8
  // native payment on one of them. Everything its API returns is untrusted:
@@ -112,25 +113,34 @@ const UNVERIFIABLE = "Only an authenticated Relayr payment with its transaction
112
113
  * The chain or Relayr contradicts the expected transaction: this evidence can
113
114
  * never prove it. Keep the action pending and never pay for it again.
114
115
  */
115
- export class RelayrProofError extends Error {
116
+ export class RelayrProofError extends ReviewFixedLineError {
116
117
  constructor() {
117
118
  super(...arguments);
118
119
  this.name = "RelayrProofError";
119
120
  }
121
+ get line() {
122
+ return "This payment's result contradicts what was reviewed. Keep the action pending and do not pay again.";
123
+ }
120
124
  }
121
125
  /** The transaction or its canonical receipt is not yet readable. Retain the bundle and retry its proof. */
122
- export class RelayrProofUnavailableError extends Error {
126
+ export class RelayrProofUnavailableError extends ReviewFixedLineError {
123
127
  constructor() {
124
128
  super(...arguments);
125
129
  this.name = "RelayrProofUnavailableError";
126
130
  }
131
+ get line() {
132
+ return "This payment's result is not readable yet. Keep the action pending and check it later.";
133
+ }
127
134
  }
128
135
  /**
129
136
  * A synchronous final guard refused after saving a payment attempt and before
130
137
  * invoking the wallet. Construct only around that guard, never around the
131
138
  * persistence callback or wallet call: their failures may hide a submission.
132
139
  */
133
- export class RelayrPaymentNotSentError extends Error {
140
+ export class RelayrPaymentNotSentError extends ReviewFixedLineError {
141
+ get line() {
142
+ return "The payment was not sent. Review the payment again.";
143
+ }
134
144
  constructor(cause) {
135
145
  super(cause instanceof Error
136
146
  ? cause.message
@@ -158,6 +168,9 @@ export function relayrWalletPaymentError(error) {
158
168
  * again.
159
169
  */
160
170
  export class RelayrPaymentRevertedError extends RelayrProofError {
171
+ get line() {
172
+ return "The payment transaction reverted onchain. Check it before you pay again.";
173
+ }
161
174
  constructor(message, hash, chainId) {
162
175
  super(message);
163
176
  this.hash = hash;
@@ -171,6 +184,9 @@ export class RelayrPaymentRevertedError extends RelayrProofError {
171
184
  * still be used again (an unchanged forwarder nonce) is the caller's to check.
172
185
  */
173
186
  export class RelayrDestinationRevertedError extends RelayrProofError {
187
+ get line() {
188
+ return "The action's transaction reverted onchain. Keep the original bundle pending; do not pay again.";
189
+ }
174
190
  constructor(message, hash, chainId) {
175
191
  super(message);
176
192
  this.hash = hash;
@@ -178,12 +194,25 @@ export class RelayrDestinationRevertedError extends RelayrProofError {
178
194
  this.name = "RelayrDestinationRevertedError";
179
195
  }
180
196
  }
197
+ /** The line for each refusal to pay again: its text can quote a service. */
198
+ const RETRY_LINES = {
199
+ invalid: "This payment could not be checked. Do not pay again; review the action again.",
200
+ expired: "This quote expired. Review the action again for a new quote.",
201
+ paid: "This bundle is already paid. Do not pay again.",
202
+ running: "This bundle is already running. Do not pay again.",
203
+ unknown: "Whether this bundle is paid is not known yet. Do not pay again yet; check it later.",
204
+ };
181
205
  /**
182
206
  * A refusal to pay a Relayr quote again, with its `reason`. Never pay on one:
183
207
  * `paid` and `running` mean the bundle is funded, `unknown` may clear on a
184
208
  * later check, and `expired` needs a new quote.
185
209
  */
186
- export class RelayrPaymentRetryError extends Error {
210
+ export class RelayrPaymentRetryError extends ReviewFixedLineError {
211
+ get line() {
212
+ return Object.prototype.hasOwnProperty.call(RETRY_LINES, this.reason)
213
+ ? RETRY_LINES[this.reason]
214
+ : RETRY_LINES.unknown;
215
+ }
187
216
  constructor(message, reason) {
188
217
  super(message);
189
218
  this.reason = reason;
@@ -550,7 +579,7 @@ function requestsDeadlineOf(bindings) {
550
579
  !relayrSupportsChain(chain)) {
551
580
  return null;
552
581
  }
553
- if (!sameAddress(entry.target, forwarderOn(chain)))
582
+ if (!sameAddress(entry.target, relayrForwarder(chain)))
554
583
  continue;
555
584
  let functionName;
556
585
  try {
@@ -811,6 +840,16 @@ function nodeDetail(error) {
811
840
  ? error.message.split("\n")[0].slice(0, HTTP_DETAIL_CHARACTERS)
812
841
  : "the node refused the call";
813
842
  }
843
+ const PAYMENT_CHECK_FAILED_LINE = "Could not check the payment. Nothing was sent.";
844
+ /** A viem error, or one it caused, from decoding a malformed reply. */
845
+ function isDecodeError(error) {
846
+ for (let current = error, depth = 0; depth < 8 && current && typeof current === "object"; depth += 1, current = current.cause) {
847
+ const { name } = current;
848
+ if (typeof name === "string" && /Decoding|OutOfBounds/u.test(name))
849
+ return true;
850
+ }
851
+ return false;
852
+ }
814
853
  /**
815
854
  * Simulate the exact payment from `from` with the gas it is sent with,
816
855
  * without CCIP-read. Relayr's contract returns nothing, so a revert or any
@@ -828,6 +867,8 @@ export async function simulateRelayrPayment(client, { from, payment, }) {
828
867
  });
829
868
  }
830
869
  catch (cause) {
870
+ if (isDecodeError(cause))
871
+ throw withCause(new ReviewLineError(PAYMENT_CHECK_FAILED_LINE), cause);
831
872
  throw errorWithCause(`The Relayr payment would fail: ${nodeDetail(cause)}`, cause);
832
873
  }
833
874
  if (result !== "0x") {
@@ -879,7 +920,8 @@ export function relayrRecordChain(record) {
879
920
  ? chain
880
921
  : null;
881
922
  }
882
- function forwarderOn(chainId) {
923
+ /** The canonical Juicebox V6 ERC-2771 forwarder on `chainId`, where Relayr runs. */
924
+ export function relayrForwarder(chainId) {
883
925
  return relayrSupportsChain(chainId)
884
926
  ? jbV6ContractAddress.ERC2771Forwarder[chainId]
885
927
  : undefined;
@@ -891,7 +933,7 @@ function forwarderOn(chainId) {
891
933
  * a dirty encoding.
892
934
  */
893
935
  export function relayrForwardRequest(entry) {
894
- const forwarder = forwarderOn(entry?.chain);
936
+ const forwarder = relayrForwarder(entry?.chain);
895
937
  if (!forwarder ||
896
938
  !sameAddress(entry.target, forwarder) ||
897
939
  !isHexBytes(entry.data)) {
@@ -1344,7 +1386,7 @@ function clientOn(clientFor, chainId) {
1344
1386
  * timestamp. Null while that cannot be read.
1345
1387
  */
1346
1388
  async function finalizedForwarderNonce(clientFor, chainId, signer) {
1347
- const forwarder = forwarderOn(chainId);
1389
+ const forwarder = relayrForwarder(chainId);
1348
1390
  const reader = forwarder && isAddressLike(signer)
1349
1391
  ? clientOn(clientFor, chainId)
1350
1392
  : undefined;