@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.
- package/dist/cjs/jbcenter/ensureDeployed.d.ts +2 -2
- package/dist/cjs/jbcenter/ensureDeployed.d.ts.map +1 -1
- package/dist/cjs/jbcenter/ensureDeployed.js.map +1 -1
- package/dist/cjs/jbcenter.d.ts +4 -1
- package/dist/cjs/jbcenter.d.ts.map +1 -1
- package/dist/cjs/jbcenter.js +6 -6
- package/dist/cjs/jbcenter.js.map +1 -1
- package/dist/cjs/review/gas.d.ts +5 -2
- package/dist/cjs/review/gas.d.ts.map +1 -1
- package/dist/cjs/review/gas.js +8 -3
- package/dist/cjs/review/gas.js.map +1 -1
- package/dist/cjs/review/heldWrite.d.ts +6 -1
- package/dist/cjs/review/heldWrite.d.ts.map +1 -1
- package/dist/cjs/review/heldWrite.js +21 -16
- package/dist/cjs/review/heldWrite.js.map +1 -1
- package/dist/cjs/review/index.d.ts +2 -0
- package/dist/cjs/review/index.d.ts.map +1 -1
- package/dist/cjs/review/index.js +2 -0
- package/dist/cjs/review/index.js.map +1 -1
- package/dist/cjs/review/locks.d.ts +69 -0
- package/dist/cjs/review/locks.d.ts.map +1 -0
- package/dist/cjs/review/locks.js +232 -0
- package/dist/cjs/review/locks.js.map +1 -0
- package/dist/cjs/review/machines.d.ts +9 -0
- package/dist/cjs/review/machines.d.ts.map +1 -0
- package/dist/cjs/review/machines.js +25 -0
- package/dist/cjs/review/machines.js.map +1 -0
- package/dist/cjs/review/react/index.d.ts +3 -0
- package/dist/cjs/review/react/index.d.ts.map +1 -1
- package/dist/cjs/review/react/index.js +3 -0
- package/dist/cjs/review/react/index.js.map +1 -1
- package/dist/cjs/review/react/useFeeBuybackReview.d.ts +6 -0
- package/dist/cjs/review/react/useFeeBuybackReview.d.ts.map +1 -0
- package/dist/cjs/review/react/useFeeBuybackReview.js +53 -0
- package/dist/cjs/review/react/useFeeBuybackReview.js.map +1 -0
- package/dist/cjs/review/react/useMobileWallet.d.ts +15 -0
- package/dist/cjs/review/react/useMobileWallet.d.ts.map +1 -0
- package/dist/cjs/review/react/useMobileWallet.js +50 -0
- package/dist/cjs/review/react/useMobileWallet.js.map +1 -0
- package/dist/cjs/review/react/useReviewedRun.d.ts +28 -1
- package/dist/cjs/review/react/useReviewedRun.d.ts.map +1 -1
- package/dist/cjs/review/react/useReviewedRun.js +251 -39
- package/dist/cjs/review/react/useReviewedRun.js.map +1 -1
- package/dist/cjs/review/react/useSavedAttempt.d.ts +23 -0
- package/dist/cjs/review/react/useSavedAttempt.d.ts.map +1 -1
- package/dist/cjs/review/react/useSavedAttempt.js +101 -11
- package/dist/cjs/review/react/useSavedAttempt.js.map +1 -1
- package/dist/cjs/review/react/useStartOnce.d.ts +8 -0
- package/dist/cjs/review/react/useStartOnce.d.ts.map +1 -0
- package/dist/cjs/review/react/useStartOnce.js +27 -0
- package/dist/cjs/review/react/useStartOnce.js.map +1 -0
- package/dist/cjs/review/relayr.d.ts +1 -1
- package/dist/cjs/review/relayr.d.ts.map +1 -1
- package/dist/cjs/review/relayr.js +15 -0
- package/dist/cjs/review/relayr.js.map +1 -1
- package/dist/cjs/review/relayrLaunch.d.ts +90 -0
- package/dist/cjs/review/relayrLaunch.d.ts.map +1 -0
- package/dist/cjs/review/relayrLaunch.js +106 -0
- package/dist/cjs/review/relayrLaunch.js.map +1 -0
- package/dist/cjs/review/relayrSend.d.ts +5 -0
- package/dist/cjs/review/relayrSend.d.ts.map +1 -1
- package/dist/cjs/review/relayrSend.js +133 -107
- package/dist/cjs/review/relayrSend.js.map +1 -1
- package/dist/cjs/review/reviewDialogQueue.d.ts +47 -0
- package/dist/cjs/review/reviewDialogQueue.d.ts.map +1 -0
- package/dist/cjs/review/reviewDialogQueue.js +120 -0
- package/dist/cjs/review/reviewDialogQueue.js.map +1 -0
- package/dist/cjs/review/runStatus.d.ts +51 -0
- package/dist/cjs/review/runStatus.d.ts.map +1 -0
- package/dist/cjs/review/runStatus.js +54 -0
- package/dist/cjs/review/runStatus.js.map +1 -0
- package/dist/cjs/review/safeRelayr.d.ts +60 -16
- package/dist/cjs/review/safeRelayr.d.ts.map +1 -1
- package/dist/cjs/review/safeRelayr.js +358 -161
- package/dist/cjs/review/safeRelayr.js.map +1 -1
- package/dist/cjs/review/savedAttempt.d.ts.map +1 -1
- package/dist/cjs/review/savedAttempt.js +7 -2
- package/dist/cjs/review/savedAttempt.js.map +1 -1
- package/dist/cjs/review/send.d.ts +27 -5
- package/dist/cjs/review/send.d.ts.map +1 -1
- package/dist/cjs/review/send.js +67 -24
- package/dist/cjs/review/send.js.map +1 -1
- package/dist/cjs/review/sign.d.ts +6 -1
- package/dist/cjs/review/sign.d.ts.map +1 -1
- package/dist/cjs/review/sign.js +10 -4
- package/dist/cjs/review/sign.js.map +1 -1
- package/dist/cjs/review/wallet.d.ts +16 -4
- package/dist/cjs/review/wallet.d.ts.map +1 -1
- package/dist/cjs/review/wallet.js +60 -17
- package/dist/cjs/review/wallet.js.map +1 -1
- package/dist/cjs/review/writeHold.d.ts +18 -3
- package/dist/cjs/review/writeHold.d.ts.map +1 -1
- package/dist/cjs/review/writeHold.js +37 -10
- package/dist/cjs/review/writeHold.js.map +1 -1
- package/dist/cjs/review/writeRecovery.d.ts +13 -8
- package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
- package/dist/cjs/review/writeRecovery.js +67 -144
- package/dist/cjs/review/writeRecovery.js.map +1 -1
- package/dist/cjs/v6/feeBuyback.d.ts +49 -0
- package/dist/cjs/v6/feeBuyback.d.ts.map +1 -1
- package/dist/cjs/v6/feeBuyback.js +151 -0
- package/dist/cjs/v6/feeBuyback.js.map +1 -1
- package/dist/cjs/v6/suckers.d.ts +24 -2
- package/dist/cjs/v6/suckers.d.ts.map +1 -1
- package/dist/cjs/v6/suckers.js +5 -5
- package/dist/cjs/v6/suckers.js.map +1 -1
- package/dist/esm/jbcenter/ensureDeployed.d.ts +2 -2
- package/dist/esm/jbcenter/ensureDeployed.d.ts.map +1 -1
- package/dist/esm/jbcenter/ensureDeployed.js.map +1 -1
- package/dist/esm/jbcenter.d.ts +4 -1
- package/dist/esm/jbcenter.d.ts.map +1 -1
- package/dist/esm/jbcenter.js +6 -6
- package/dist/esm/jbcenter.js.map +1 -1
- package/dist/esm/review/gas.d.ts +5 -2
- package/dist/esm/review/gas.d.ts.map +1 -1
- package/dist/esm/review/gas.js +7 -3
- package/dist/esm/review/gas.js.map +1 -1
- package/dist/esm/review/heldWrite.d.ts +6 -1
- package/dist/esm/review/heldWrite.d.ts.map +1 -1
- package/dist/esm/review/heldWrite.js +21 -16
- package/dist/esm/review/heldWrite.js.map +1 -1
- package/dist/esm/review/index.d.ts +2 -0
- package/dist/esm/review/index.d.ts.map +1 -1
- package/dist/esm/review/index.js +2 -0
- package/dist/esm/review/index.js.map +1 -1
- package/dist/esm/review/locks.d.ts +69 -0
- package/dist/esm/review/locks.d.ts.map +1 -0
- package/dist/esm/review/locks.js +225 -0
- package/dist/esm/review/locks.js.map +1 -0
- package/dist/esm/review/machines.d.ts +9 -0
- package/dist/esm/review/machines.d.ts.map +1 -0
- package/dist/esm/review/machines.js +9 -0
- package/dist/esm/review/machines.js.map +1 -0
- package/dist/esm/review/react/index.d.ts +3 -0
- package/dist/esm/review/react/index.d.ts.map +1 -1
- package/dist/esm/review/react/index.js +3 -0
- package/dist/esm/review/react/index.js.map +1 -1
- package/dist/esm/review/react/useFeeBuybackReview.d.ts +6 -0
- package/dist/esm/review/react/useFeeBuybackReview.d.ts.map +1 -0
- package/dist/esm/review/react/useFeeBuybackReview.js +50 -0
- package/dist/esm/review/react/useFeeBuybackReview.js.map +1 -0
- package/dist/esm/review/react/useMobileWallet.d.ts +15 -0
- package/dist/esm/review/react/useMobileWallet.d.ts.map +1 -0
- package/dist/esm/review/react/useMobileWallet.js +46 -0
- package/dist/esm/review/react/useMobileWallet.js.map +1 -0
- package/dist/esm/review/react/useReviewedRun.d.ts +28 -1
- package/dist/esm/review/react/useReviewedRun.d.ts.map +1 -1
- package/dist/esm/review/react/useReviewedRun.js +252 -40
- package/dist/esm/review/react/useReviewedRun.js.map +1 -1
- package/dist/esm/review/react/useSavedAttempt.d.ts +23 -0
- package/dist/esm/review/react/useSavedAttempt.d.ts.map +1 -1
- package/dist/esm/review/react/useSavedAttempt.js +101 -11
- package/dist/esm/review/react/useSavedAttempt.js.map +1 -1
- package/dist/esm/review/react/useStartOnce.d.ts +8 -0
- package/dist/esm/review/react/useStartOnce.d.ts.map +1 -0
- package/dist/esm/review/react/useStartOnce.js +24 -0
- package/dist/esm/review/react/useStartOnce.js.map +1 -0
- package/dist/esm/review/relayr.d.ts +1 -1
- package/dist/esm/review/relayr.d.ts.map +1 -1
- package/dist/esm/review/relayr.js +1 -0
- package/dist/esm/review/relayr.js.map +1 -1
- package/dist/esm/review/relayrLaunch.d.ts +90 -0
- package/dist/esm/review/relayrLaunch.d.ts.map +1 -0
- package/dist/esm/review/relayrLaunch.js +97 -0
- package/dist/esm/review/relayrLaunch.js.map +1 -0
- package/dist/esm/review/relayrSend.d.ts +5 -0
- package/dist/esm/review/relayrSend.d.ts.map +1 -1
- package/dist/esm/review/relayrSend.js +134 -108
- package/dist/esm/review/relayrSend.js.map +1 -1
- package/dist/esm/review/reviewDialogQueue.d.ts +47 -0
- package/dist/esm/review/reviewDialogQueue.d.ts.map +1 -0
- package/dist/esm/review/reviewDialogQueue.js +117 -0
- package/dist/esm/review/reviewDialogQueue.js.map +1 -0
- package/dist/esm/review/runStatus.d.ts +51 -0
- package/dist/esm/review/runStatus.d.ts.map +1 -0
- package/dist/esm/review/runStatus.js +51 -0
- package/dist/esm/review/runStatus.js.map +1 -0
- package/dist/esm/review/safeRelayr.d.ts +60 -16
- package/dist/esm/review/safeRelayr.d.ts.map +1 -1
- package/dist/esm/review/safeRelayr.js +358 -161
- package/dist/esm/review/safeRelayr.js.map +1 -1
- package/dist/esm/review/savedAttempt.d.ts.map +1 -1
- package/dist/esm/review/savedAttempt.js +7 -2
- package/dist/esm/review/savedAttempt.js.map +1 -1
- package/dist/esm/review/send.d.ts +27 -5
- package/dist/esm/review/send.d.ts.map +1 -1
- package/dist/esm/review/send.js +67 -24
- package/dist/esm/review/send.js.map +1 -1
- package/dist/esm/review/sign.d.ts +6 -1
- package/dist/esm/review/sign.d.ts.map +1 -1
- package/dist/esm/review/sign.js +10 -4
- package/dist/esm/review/sign.js.map +1 -1
- package/dist/esm/review/wallet.d.ts +16 -4
- package/dist/esm/review/wallet.d.ts.map +1 -1
- package/dist/esm/review/wallet.js +60 -17
- package/dist/esm/review/wallet.js.map +1 -1
- package/dist/esm/review/writeHold.d.ts +18 -3
- package/dist/esm/review/writeHold.d.ts.map +1 -1
- package/dist/esm/review/writeHold.js +37 -10
- package/dist/esm/review/writeHold.js.map +1 -1
- package/dist/esm/review/writeRecovery.d.ts +13 -8
- package/dist/esm/review/writeRecovery.d.ts.map +1 -1
- package/dist/esm/review/writeRecovery.js +63 -142
- package/dist/esm/review/writeRecovery.js.map +1 -1
- package/dist/esm/v6/feeBuyback.d.ts +49 -0
- package/dist/esm/v6/feeBuyback.d.ts.map +1 -1
- package/dist/esm/v6/feeBuyback.js +150 -0
- package/dist/esm/v6/feeBuyback.js.map +1 -1
- package/dist/esm/v6/suckers.d.ts +24 -2
- package/dist/esm/v6/suckers.d.ts.map +1 -1
- package/dist/esm/v6/suckers.js +5 -5
- package/dist/esm/v6/suckers.js.map +1 -1
- 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
|
-
? {
|
|
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(
|
|
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
|
-
...
|
|
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
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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
|
|
176
|
-
*
|
|
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 ||
|
|
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
|
-
/**
|
|
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
|
|
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 =
|
|
378
|
-
cancelled?.addEventListener("abort",
|
|
379
|
-
|
|
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(
|
|
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({
|
|
430
|
-
|
|
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;
|
|
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"}
|