@orbs-network/spot-react 2.1.18 → 2.1.20
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/README.md +134 -26
- package/dist/spot-react/src/context/create-spot-store.d.ts +3 -2
- package/dist/spot-react/src/context/create-spot-store.d.ts.map +1 -1
- package/dist/spot-react/src/context/spot-trading-context.d.ts +1 -1
- package/dist/spot-react/src/context/spot-trading-context.d.ts.map +1 -1
- package/dist/spot-react/src/execute-order.d.ts.map +1 -1
- package/dist/spot-react/src/execution-state.d.ts +6 -4
- package/dist/spot-react/src/execution-state.d.ts.map +1 -1
- package/dist/spot-react/src/hooks/use-execution.d.ts +8 -1
- package/dist/spot-react/src/hooks/use-execution.d.ts.map +1 -1
- package/dist/spot-react/src/hooks/use-resume-execution.d.ts +3 -0
- package/dist/spot-react/src/hooks/use-resume-execution.d.ts.map +1 -0
- package/dist/spot-react/src/hooks/use-swap-execution.d.ts +3 -0
- package/dist/spot-react/src/hooks/use-swap-execution.d.ts.map +1 -1
- package/dist/spot-react/src/index.d.ts +1 -1
- package/dist/spot-react/src/index.d.ts.map +1 -1
- package/dist/spot-react/src/order-history-data.d.ts +4 -3
- package/dist/spot-react/src/order-history-data.d.ts.map +1 -1
- package/dist/spot-react/src/parse-execution-error.d.ts +6 -0
- package/dist/spot-react/src/parse-execution-error.d.ts.map +1 -0
- package/dist/spot-react/src/resume-execution.d.ts +11 -0
- package/dist/spot-react/src/resume-execution.d.ts.map +1 -0
- package/dist/spot-react/src/types.d.ts +11 -2
- package/dist/spot-react/src/types.d.ts.map +1 -1
- package/dist/spot-react/src/wait-for-swap-order.d.ts +2 -0
- package/dist/spot-react/src/wait-for-swap-order.d.ts.map +1 -1
- package/dist/spot-react.js +1023 -878
- package/dist/spot-react.umd.cjs +1 -1
- package/package.json +3 -4
package/dist/spot-react.js
CHANGED
|
@@ -1,88 +1,26 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
import { OrderStatus as
|
|
6
|
-
import { DISCLAIMER_URL as
|
|
7
|
-
import { jsx as
|
|
8
|
-
import { createContext as
|
|
9
|
-
import { useStore as
|
|
10
|
-
import { createStore as
|
|
11
|
-
const
|
|
12
|
-
version:
|
|
13
|
-
},
|
|
2
|
+
var qe = Object.defineProperty;
|
|
3
|
+
var be = (e, t, n) => t in e ? qe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
|
4
|
+
var oe = (e, t, n) => be(e, typeof t != "symbol" ? t + "" : t, n);
|
|
5
|
+
import { OrderSettlementError as we, SpotError as ve, OrderStatus as M, Module as Q, createClient as We, analytics as je, calculateOrder as Ve, isNativeAddress as $, eqIgnoreCase as he, toAmountRaw as k, toAmountUI as ne, isTxRejected as Ce, getOrderLimitPriceRate as Qe, getTriggerPriceRate as Je, getOrderExecutionRate as Ae, getOrderFillDelayMillis as ze, getTwapConfig as $e, invertPriceInput as Ee, watchOrder as Ye, executeOrder as Xe, getOrders as Ze, setUIVersion as ke } from "@orbs-network/spot-ui";
|
|
6
|
+
import { DISCLAIMER_URL as wr, InputErrors as vr, Module as Cr, ORBS_LOGO as Ar, ORBS_SLTP_FAQ_URL as Tr, ORBS_TWAP_FAQ_URL as Rr, ORBS_WEBSITE_URL as Nr, OrderFilter as Lr, OrderSettlementError as Fr, OrderStatus as xr, OrderType as Ur, Partners as Dr, QuoteError as Mr, SWAP_CAPABILITIES as Gr, SpotError as Br, TimeUnit as Kr, analytics as _r, calculateOrder as Hr, calculateOrderForm as qr, createClient as br, eqIgnoreCase as Wr, executeOrder as jr, getOrderExecutionRate as Vr, getOrderFillDelayMillis as Qr, getOrderLimitPriceRate as Jr, getOrders as zr, getQuote as $r, getTriggerPriceRate as Yr, getTwapConfig as Xr, invertPriceInput as Zr, isNativeAddress as kr, isQuoteFresh as en, isSwapSupported as tn, isTxRejected as rn, setUIVersion as nn, submitSwap as on, toAmountRaw as sn, toAmountUI as an, waitForOrder as cn, watchOrder as dn } from "@orbs-network/spot-ui";
|
|
7
|
+
import { jsx as D, jsxs as ce, Fragment as et } from "react/jsx-runtime";
|
|
8
|
+
import { createContext as de, useContext as ue, useState as tt, useCallback as C, useMemo as R, useEffect as Y, Component as rt, useRef as le } from "react";
|
|
9
|
+
import { useStore as nt } from "zustand";
|
|
10
|
+
import { createStore as it } from "zustand/vanilla";
|
|
11
|
+
const ot = "2.1.20", st = {
|
|
12
|
+
version: ot
|
|
13
|
+
}, Te = de(null), at = ({
|
|
14
14
|
children: e,
|
|
15
15
|
value: t
|
|
16
|
-
}) => /* @__PURE__ */
|
|
17
|
-
const e =
|
|
16
|
+
}) => /* @__PURE__ */ D(Te.Provider, { value: t, children: e }), L = () => {
|
|
17
|
+
const e = ue(Te);
|
|
18
18
|
if (e === null)
|
|
19
19
|
throw new Error("useSpotTrading must be used within SpotProvider");
|
|
20
20
|
return e;
|
|
21
21
|
};
|
|
22
|
-
var
|
|
23
|
-
const
|
|
24
|
-
u.PREPARING,
|
|
25
|
-
u.WRAPPING,
|
|
26
|
-
u.APPROVING,
|
|
27
|
-
u.SIGNING,
|
|
28
|
-
u.SUBMITTING,
|
|
29
|
-
u.SETTLING
|
|
30
|
-
]), be = {
|
|
31
|
-
[u.IDLE]: /* @__PURE__ */ new Set(),
|
|
32
|
-
[u.PREPARING]: /* @__PURE__ */ new Set([
|
|
33
|
-
u.PREPARING,
|
|
34
|
-
u.WRAPPING,
|
|
35
|
-
u.APPROVING,
|
|
36
|
-
u.SIGNING,
|
|
37
|
-
u.FAILED,
|
|
38
|
-
u.REJECTED
|
|
39
|
-
]),
|
|
40
|
-
[u.WRAPPING]: /* @__PURE__ */ new Set([
|
|
41
|
-
u.WRAPPING,
|
|
42
|
-
u.APPROVING,
|
|
43
|
-
u.SIGNING,
|
|
44
|
-
u.FAILED,
|
|
45
|
-
u.REJECTED
|
|
46
|
-
]),
|
|
47
|
-
[u.APPROVING]: /* @__PURE__ */ new Set([
|
|
48
|
-
u.APPROVING,
|
|
49
|
-
u.SIGNING,
|
|
50
|
-
u.FAILED,
|
|
51
|
-
u.REJECTED
|
|
52
|
-
]),
|
|
53
|
-
[u.SIGNING]: /* @__PURE__ */ new Set([
|
|
54
|
-
u.SIGNING,
|
|
55
|
-
u.SUBMITTING,
|
|
56
|
-
u.FAILED,
|
|
57
|
-
u.REJECTED
|
|
58
|
-
]),
|
|
59
|
-
[u.SUBMITTING]: /* @__PURE__ */ new Set([
|
|
60
|
-
u.SETTLING,
|
|
61
|
-
u.SUCCESS,
|
|
62
|
-
u.FAILED,
|
|
63
|
-
u.REJECTED
|
|
64
|
-
]),
|
|
65
|
-
[u.SETTLING]: /* @__PURE__ */ new Set([
|
|
66
|
-
u.SUCCESS,
|
|
67
|
-
u.FAILED
|
|
68
|
-
]),
|
|
69
|
-
[u.SUCCESS]: /* @__PURE__ */ new Set(),
|
|
70
|
-
[u.FAILED]: /* @__PURE__ */ new Set(),
|
|
71
|
-
[u.REJECTED]: /* @__PURE__ */ new Set()
|
|
72
|
-
}, Z = (e) => ({
|
|
73
|
-
phase: u.IDLE,
|
|
74
|
-
completedWrap: e
|
|
75
|
-
}), z = (e) => $e.has(e), ve = (e) => e === u.IDLE || e === u.FAILED || e === u.REJECTED, Ye = (e, t) => be[e].has(t), Xe = (e) => {
|
|
76
|
-
if (z(e)) return _.LOADING;
|
|
77
|
-
if (e === u.SUCCESS) return _.SUCCESS;
|
|
78
|
-
if (e === u.FAILED || e === u.REJECTED)
|
|
79
|
-
return _.FAILED;
|
|
80
|
-
}, Ze = (e) => {
|
|
81
|
-
if (e === u.WRAPPING) return Q.WRAP;
|
|
82
|
-
if (e === u.APPROVING) return Q.APPROVE;
|
|
83
|
-
if (e === u.SIGNING || e === u.SUBMITTING)
|
|
84
|
-
return Q.CREATE;
|
|
85
|
-
}, ce = (e) => {
|
|
22
|
+
var q = /* @__PURE__ */ ((e) => (e[e.LOADING = 1] = "LOADING", e[e.SUCCESS = 2] = "SUCCESS", e[e.FAILED = 3] = "FAILED", e))(q || {}), d = /* @__PURE__ */ ((e) => (e.IDLE = "idle", e.PREPARING = "preparing", e.WRAPPING = "wrapping", e.APPROVING = "approving", e.SIGNING = "signing", e.SUBMITTING = "submitting", e.SETTLING = "settling", e.UNCONFIRMED = "unconfirmed", e.SUCCESS = "success", e.FAILED = "failed", e.REJECTED = "rejected", e))(d || {}), ee = /* @__PURE__ */ ((e) => (e.TRIGGER_MARKET_PRICE = "triggerMarketPriceDisclaimer", e.MARKET_PRICE = "marketOrderDisclaimer", e.LIMIT_PRICE = "limitOrderDisclaimer", e))(ee || {}), z = /* @__PURE__ */ ((e) => (e.WRAP = "wrap", e.APPROVE = "approve", e.CREATE = "create", e))(z || {});
|
|
23
|
+
const me = (e) => {
|
|
86
24
|
if (e instanceof Error) return e.message;
|
|
87
25
|
if (typeof e == "string") return e;
|
|
88
26
|
if (typeof e == "object" && e !== null) {
|
|
@@ -90,16 +28,105 @@ const $e = /* @__PURE__ */ new Set([
|
|
|
90
28
|
if (typeof t == "string") return t;
|
|
91
29
|
}
|
|
92
30
|
return "Unknown error";
|
|
93
|
-
},
|
|
31
|
+
}, Re = (e) => {
|
|
94
32
|
if (typeof e != "object" || e === null) return 0;
|
|
95
33
|
const t = Reflect.get(e, "code");
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
34
|
+
if (typeof t == "number" && Number.isFinite(t)) return t;
|
|
35
|
+
if (typeof t == "string" && t.trim()) {
|
|
36
|
+
if (/^-?\d+$/.test(t)) {
|
|
37
|
+
const n = Number(t);
|
|
38
|
+
return Number.isFinite(n) ? n : 0;
|
|
39
|
+
}
|
|
40
|
+
return t;
|
|
41
|
+
}
|
|
42
|
+
return 0;
|
|
43
|
+
}, Ne = (e) => {
|
|
44
|
+
if (typeof e != "object" || e === null) return {};
|
|
45
|
+
const t = { code: Re(e) }, n = Reflect.get(e, "reason");
|
|
46
|
+
(n === "cancelled" || n === "expired" || n === "unconfirmed" || n === "aborted") && (t.reason = n);
|
|
47
|
+
const r = Reflect.get(e, "orderId");
|
|
48
|
+
typeof r == "string" && (t.orderId = r);
|
|
49
|
+
const i = Reflect.get(e, "status");
|
|
50
|
+
typeof i == "number" && Number.isFinite(i) && (t.status = i);
|
|
51
|
+
const o = Reflect.get(e, "serviceCode");
|
|
52
|
+
return (typeof o == "string" || typeof o == "number" && Number.isFinite(o)) && (t.serviceCode = o), t;
|
|
53
|
+
}, X = (e) => e instanceof Error ? e : Object.assign(new Error(me(e)), Ne(e), { cause: e }), te = (e) => {
|
|
54
|
+
const t = me(e), n = t.match(/,\s*code\s*:\s*(-?\d+)/i), r = n ? Number(n[1]) : 0, i = t.replace(/^error\s*:/i, "").replace(/,\s*code\s*:\s*-?\d+/i, "").trim();
|
|
99
55
|
return {
|
|
100
|
-
|
|
101
|
-
|
|
56
|
+
...Ne(e),
|
|
57
|
+
message: i || "Unknown error",
|
|
58
|
+
code: Re(e) || (Number.isFinite(r) ? r : 0)
|
|
102
59
|
};
|
|
60
|
+
}, ct = /* @__PURE__ */ new Set([
|
|
61
|
+
d.PREPARING,
|
|
62
|
+
d.WRAPPING,
|
|
63
|
+
d.APPROVING,
|
|
64
|
+
d.SIGNING,
|
|
65
|
+
d.SUBMITTING,
|
|
66
|
+
d.SETTLING
|
|
67
|
+
]), dt = {
|
|
68
|
+
[d.IDLE]: /* @__PURE__ */ new Set(),
|
|
69
|
+
[d.PREPARING]: /* @__PURE__ */ new Set([
|
|
70
|
+
d.PREPARING,
|
|
71
|
+
d.WRAPPING,
|
|
72
|
+
d.APPROVING,
|
|
73
|
+
d.SIGNING,
|
|
74
|
+
d.FAILED,
|
|
75
|
+
d.REJECTED
|
|
76
|
+
]),
|
|
77
|
+
[d.WRAPPING]: /* @__PURE__ */ new Set([
|
|
78
|
+
d.WRAPPING,
|
|
79
|
+
d.APPROVING,
|
|
80
|
+
d.SIGNING,
|
|
81
|
+
d.FAILED,
|
|
82
|
+
d.REJECTED
|
|
83
|
+
]),
|
|
84
|
+
[d.APPROVING]: /* @__PURE__ */ new Set([
|
|
85
|
+
d.APPROVING,
|
|
86
|
+
d.SIGNING,
|
|
87
|
+
d.FAILED,
|
|
88
|
+
d.REJECTED
|
|
89
|
+
]),
|
|
90
|
+
[d.SIGNING]: /* @__PURE__ */ new Set([
|
|
91
|
+
d.SIGNING,
|
|
92
|
+
d.SUBMITTING,
|
|
93
|
+
d.FAILED,
|
|
94
|
+
d.REJECTED
|
|
95
|
+
]),
|
|
96
|
+
[d.SUBMITTING]: /* @__PURE__ */ new Set([
|
|
97
|
+
d.SETTLING,
|
|
98
|
+
d.SUCCESS,
|
|
99
|
+
d.FAILED,
|
|
100
|
+
d.REJECTED,
|
|
101
|
+
d.UNCONFIRMED
|
|
102
|
+
]),
|
|
103
|
+
[d.SETTLING]: /* @__PURE__ */ new Set([
|
|
104
|
+
d.SETTLING,
|
|
105
|
+
d.SUCCESS,
|
|
106
|
+
d.FAILED,
|
|
107
|
+
d.UNCONFIRMED
|
|
108
|
+
]),
|
|
109
|
+
[d.UNCONFIRMED]: /* @__PURE__ */ new Set([
|
|
110
|
+
d.SETTLING,
|
|
111
|
+
d.SUCCESS,
|
|
112
|
+
d.FAILED
|
|
113
|
+
]),
|
|
114
|
+
[d.SUCCESS]: /* @__PURE__ */ new Set(),
|
|
115
|
+
[d.FAILED]: /* @__PURE__ */ new Set(),
|
|
116
|
+
[d.REJECTED]: /* @__PURE__ */ new Set()
|
|
117
|
+
}, re = (e) => ({
|
|
118
|
+
phase: d.IDLE,
|
|
119
|
+
completedWrap: e
|
|
120
|
+
}), ie = (e) => ct.has(e), Z = (e) => ie(e) || e === d.UNCONFIRMED, Le = (e) => e === d.IDLE || e === d.FAILED || e === d.REJECTED, Fe = (e, t) => t === d.SETTLING ? !(e instanceof we && (e.reason === "cancelled" || e.reason === "expired")) : !(t !== d.SUBMITTING || e instanceof ve && e.code === "SUBMISSION_FAILED" && e.status !== void 0 && e.status < 500 && e.status !== 408 && !e.cause), ut = (e, t) => dt[e].has(t), lt = (e) => {
|
|
121
|
+
if (ie(e)) return q.LOADING;
|
|
122
|
+
if (e === d.SUCCESS) return q.SUCCESS;
|
|
123
|
+
if (e === d.FAILED || e === d.REJECTED || e === d.UNCONFIRMED)
|
|
124
|
+
return q.FAILED;
|
|
125
|
+
}, mt = (e) => {
|
|
126
|
+
if (e === d.WRAPPING) return z.WRAP;
|
|
127
|
+
if (e === d.APPROVING) return z.APPROVE;
|
|
128
|
+
if (e === d.SIGNING || e === d.SUBMITTING)
|
|
129
|
+
return z.CREATE;
|
|
103
130
|
}, w = (e) => {
|
|
104
131
|
if (e)
|
|
105
132
|
try {
|
|
@@ -108,7 +135,7 @@ const $e = /* @__PURE__ */ new Set([
|
|
|
108
135
|
});
|
|
109
136
|
} catch {
|
|
110
137
|
}
|
|
111
|
-
},
|
|
138
|
+
}, ft = ({
|
|
112
139
|
execution: e,
|
|
113
140
|
account: t,
|
|
114
141
|
chainId: n,
|
|
@@ -116,16 +143,16 @@ const $e = /* @__PURE__ */ new Set([
|
|
|
116
143
|
inputAmountRaw: i
|
|
117
144
|
}) => {
|
|
118
145
|
const o = e.completedWrap;
|
|
119
|
-
if ((o == null ? void 0 : o.account.toLowerCase()) === t.toLowerCase() && o.chainId === n && o.inputTokenAddress.toLowerCase() === r.toLowerCase() &&
|
|
146
|
+
if ((o == null ? void 0 : o.account.toLowerCase()) === t.toLowerCase() && o.chainId === n && o.inputTokenAddress.toLowerCase() === r.toLowerCase() && gt(o.inputAmountRaw, i))
|
|
120
147
|
return o;
|
|
121
|
-
},
|
|
148
|
+
}, gt = (e, t) => {
|
|
122
149
|
try {
|
|
123
150
|
return BigInt(e) >= BigInt(t);
|
|
124
151
|
} catch {
|
|
125
152
|
return !1;
|
|
126
153
|
}
|
|
127
|
-
},
|
|
128
|
-
const t =
|
|
154
|
+
}, ht = 2e4, Se = /* @__PURE__ */ new WeakMap(), Ie = (e) => {
|
|
155
|
+
const t = Se.get(e);
|
|
129
156
|
if (t) return t;
|
|
130
157
|
const n = {
|
|
131
158
|
all: [...e].sort((r, i) => i.createdAt - r.createdAt),
|
|
@@ -136,85 +163,93 @@ const $e = /* @__PURE__ */ new Set([
|
|
|
136
163
|
};
|
|
137
164
|
for (const r of n.all)
|
|
138
165
|
switch (r.status) {
|
|
139
|
-
case
|
|
166
|
+
case M.Open:
|
|
140
167
|
n.open.push(r);
|
|
141
168
|
break;
|
|
142
|
-
case
|
|
169
|
+
case M.Completed:
|
|
143
170
|
n.completed.push(r);
|
|
144
171
|
break;
|
|
145
|
-
case
|
|
172
|
+
case M.Cancelled:
|
|
146
173
|
n.cancelled.push(r);
|
|
147
174
|
break;
|
|
148
|
-
case
|
|
175
|
+
case M.Expired:
|
|
149
176
|
n.expired.push(r);
|
|
150
177
|
break;
|
|
151
178
|
}
|
|
152
|
-
return
|
|
153
|
-
},
|
|
179
|
+
return Se.set(e, n), n;
|
|
180
|
+
}, Et = (e, t) => {
|
|
154
181
|
const n = new Set(e.map((i) => i.historyKey)), r = (t == null ? void 0 : t.filter(
|
|
155
182
|
(i) => i.version === 1 && !n.has(i.historyKey)
|
|
156
183
|
)) ?? [];
|
|
157
184
|
return [...e, ...r];
|
|
158
|
-
},
|
|
159
|
-
if (!e) return;
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
185
|
+
}, St = (e, t) => {
|
|
186
|
+
if (!e) return t;
|
|
187
|
+
const n = new Map(e.map((o) => [o.historyKey, o])), r = new Set(t.map((o) => o.historyKey));
|
|
188
|
+
return [...t.map((o) => {
|
|
189
|
+
const s = n.get(o.historyKey);
|
|
190
|
+
return s && (s.status === M.Completed && o.status !== M.Completed || s.status !== M.Open && o.status === M.Open) ? s : o;
|
|
191
|
+
}), ...e.filter((o) => !r.has(o.historyKey))];
|
|
192
|
+
}, It = (e, t, n, r, i) => {
|
|
193
|
+
const o = r ?? /* @__PURE__ */ new Set(), s = (m) => o.has(m.historyKey) ? !1 : (o.add(m.historyKey), w(() => {
|
|
194
|
+
var E;
|
|
195
|
+
return (E = n == null ? void 0 : n.onOrderFilled) == null ? void 0 : E.call(n, m);
|
|
196
|
+
}), !0), c = new Map(
|
|
197
|
+
t.map((m) => [m.historyKey, m])
|
|
198
|
+
), a = [];
|
|
199
|
+
for (const m of e ?? []) {
|
|
200
|
+
if (m.version !== 2) continue;
|
|
201
|
+
const E = c.get(m.historyKey);
|
|
202
|
+
!E || E.progress === m.progress && E.status === m.status || (a.push(E), E.status === M.Completed && m.status !== M.Completed && s(E));
|
|
170
203
|
}
|
|
171
|
-
i
|
|
172
|
-
|
|
173
|
-
|
|
204
|
+
(i == null ? void 0 : i.status) === M.Completed && s(i) && !a.some((m) => m.historyKey === i.historyKey) && a.push(i);
|
|
205
|
+
for (const m of t)
|
|
206
|
+
m.status === M.Completed && o.add(m.historyKey);
|
|
207
|
+
a.length > 0 && w(() => {
|
|
208
|
+
var m;
|
|
209
|
+
return (m = n == null ? void 0 : n.onOrdersProgressUpdate) == null ? void 0 : m.call(n, a);
|
|
174
210
|
});
|
|
175
|
-
},
|
|
211
|
+
}, Oe = (e) => {
|
|
176
212
|
if (e === null || typeof e != "object") return !1;
|
|
177
213
|
const t = Object.getPrototypeOf(e);
|
|
178
214
|
return t === Object.prototype || t === null;
|
|
179
|
-
},
|
|
215
|
+
}, se = (e, t) => {
|
|
180
216
|
if (Object.is(e, t)) return e;
|
|
181
217
|
if (Array.isArray(e) && Array.isArray(t)) {
|
|
182
218
|
const n = t.map(
|
|
183
|
-
(i, o) =>
|
|
219
|
+
(i, o) => se(e[o], i)
|
|
184
220
|
);
|
|
185
221
|
return e.length === n.length && n.every((i, o) => i === e[o]) ? e : n;
|
|
186
222
|
}
|
|
187
|
-
if (
|
|
223
|
+
if (Oe(e) && Oe(t)) {
|
|
188
224
|
const n = Object.keys(e), r = Object.keys(t), i = {};
|
|
189
225
|
let o = n.length === r.length;
|
|
190
226
|
for (const s of r) {
|
|
191
227
|
Object.prototype.hasOwnProperty.call(e, s) || (o = !1);
|
|
192
|
-
const
|
|
193
|
-
i[s] =
|
|
228
|
+
const c = se(e[s], t[s]);
|
|
229
|
+
i[s] = c, c !== e[s] && (o = !1);
|
|
194
230
|
}
|
|
195
231
|
return o ? e : i;
|
|
196
232
|
}
|
|
197
233
|
return t;
|
|
198
|
-
},
|
|
234
|
+
}, Ot = (e, t) => e ? se(e, t) : t, Pt = async ({
|
|
199
235
|
client: e,
|
|
200
236
|
account: t,
|
|
201
237
|
signal: n,
|
|
202
238
|
supportLegacyOrders: r,
|
|
203
239
|
previousOrders: i,
|
|
204
|
-
legacyLoaded: o
|
|
205
|
-
callbacks: s
|
|
240
|
+
legacyLoaded: o
|
|
206
241
|
}) => {
|
|
207
|
-
const
|
|
242
|
+
const s = await e.getAccountOrdersResult({
|
|
208
243
|
signal: n,
|
|
209
244
|
account: t,
|
|
210
245
|
legacyOrders: r && !o
|
|
211
246
|
});
|
|
212
247
|
if (n.aborted) throw n.reason;
|
|
213
|
-
return
|
|
214
|
-
orders: r && !
|
|
215
|
-
legacyLoaded: o ||
|
|
248
|
+
return {
|
|
249
|
+
orders: r && !s.legacyLoaded ? Et(s.orders, i) : s.orders,
|
|
250
|
+
legacyLoaded: o || s.legacyLoaded
|
|
216
251
|
};
|
|
217
|
-
},
|
|
252
|
+
}, ae = (e) => ({
|
|
218
253
|
tradeCount: e.tradeCount,
|
|
219
254
|
tradeInterval: e.tradeInterval,
|
|
220
255
|
orderDuration: e.orderDuration,
|
|
@@ -224,18 +259,23 @@ const $e = /* @__PURE__ */ new Set([
|
|
|
224
259
|
limitPricePercent: e.limitPricePercent,
|
|
225
260
|
isMarketOrder: e.isMarketOrder,
|
|
226
261
|
isPriceInverted: void 0
|
|
227
|
-
}),
|
|
228
|
-
...
|
|
262
|
+
}), pt = (e) => ({
|
|
263
|
+
...ae(e),
|
|
229
264
|
cancelOrders: {},
|
|
230
|
-
currentExecution:
|
|
231
|
-
}),
|
|
232
|
-
let t = 0, n, r, i = 0, o, s,
|
|
233
|
-
|
|
234
|
-
|
|
265
|
+
currentExecution: re()
|
|
266
|
+
}), Pe = { isFetching: !1 }, pe = { isFetching: !1 }, yt = (e) => new Promise((t) => setTimeout(t, e)), wt = (e) => {
|
|
267
|
+
let t = 0, n, r, i = 0, o, s, c, a;
|
|
268
|
+
const m = /* @__PURE__ */ new Set();
|
|
269
|
+
let E = !1, u = 0, S = 0, h, O, p;
|
|
270
|
+
return it((I, T) => {
|
|
271
|
+
const j = (g, l = a, P = T().orders.isFetching, x) => {
|
|
272
|
+
const y = s, v = T().orders.data, f = Ot(v, St(v, g));
|
|
273
|
+
return I((N) => ({ orders: { ...N.orders, data: f, isFetching: P } })), s === y && It(v, f, l, m, x), f;
|
|
274
|
+
}, V = async () => {
|
|
235
275
|
if (!n || !r) return;
|
|
236
276
|
if (o) return o;
|
|
237
|
-
const
|
|
238
|
-
|
|
277
|
+
const g = ++i, l = r;
|
|
278
|
+
I((x) => ({
|
|
239
279
|
client: {
|
|
240
280
|
key: n,
|
|
241
281
|
data: x.client.data,
|
|
@@ -243,201 +283,194 @@ const $e = /* @__PURE__ */ new Set([
|
|
|
243
283
|
isFetching: !0
|
|
244
284
|
}
|
|
245
285
|
}));
|
|
246
|
-
const
|
|
286
|
+
const P = (async () => {
|
|
247
287
|
let x;
|
|
248
|
-
for (let
|
|
249
|
-
if (
|
|
288
|
+
for (let y = 0; y < 3; y++) {
|
|
289
|
+
if (g !== i) return;
|
|
250
290
|
try {
|
|
251
|
-
const
|
|
252
|
-
return
|
|
253
|
-
client: { key: n, data:
|
|
254
|
-
}),
|
|
255
|
-
} catch (
|
|
256
|
-
if (x =
|
|
257
|
-
|
|
291
|
+
const v = await l();
|
|
292
|
+
return g !== i ? void 0 : (I({
|
|
293
|
+
client: { key: n, data: v, isFetching: !1 }
|
|
294
|
+
}), v);
|
|
295
|
+
} catch (v) {
|
|
296
|
+
if (x = v instanceof Error ? v : new Error(String(v)), g !== i) return;
|
|
297
|
+
y < 2 && await yt(2 ** y * 1e3);
|
|
258
298
|
}
|
|
259
299
|
}
|
|
260
|
-
|
|
300
|
+
g === i && I({
|
|
261
301
|
client: { key: n, error: x, isFetching: !1 }
|
|
262
302
|
});
|
|
263
303
|
})();
|
|
264
|
-
return o =
|
|
265
|
-
o ===
|
|
266
|
-
}),
|
|
267
|
-
},
|
|
268
|
-
if (!
|
|
269
|
-
return
|
|
270
|
-
if (
|
|
271
|
-
if (!
|
|
272
|
-
const
|
|
273
|
-
return await
|
|
304
|
+
return o = P, P.finally(() => {
|
|
305
|
+
o === P && (o = void 0);
|
|
306
|
+
}), P;
|
|
307
|
+
}, F = async (g = !1, l = !1) => {
|
|
308
|
+
if (!g && u === 0 || !s || !c)
|
|
309
|
+
return T().orders.data;
|
|
310
|
+
if (h) {
|
|
311
|
+
if (!l) return h;
|
|
312
|
+
const N = s;
|
|
313
|
+
return await h, s !== N ? void 0 : F(g, l);
|
|
274
314
|
}
|
|
275
|
-
const
|
|
276
|
-
|
|
315
|
+
const P = ++S, x = c, y = T().orders.data, v = new AbortController();
|
|
316
|
+
O = v, I((N) => ({
|
|
277
317
|
orders: {
|
|
278
318
|
key: s,
|
|
279
|
-
data:
|
|
319
|
+
data: N.orders.data,
|
|
280
320
|
error: void 0,
|
|
281
321
|
isFetching: !0
|
|
282
322
|
}
|
|
283
323
|
}));
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
).then(({ orders:
|
|
289
|
-
if (
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
l
|
|
294
|
-
);
|
|
295
|
-
return h({
|
|
296
|
-
orders: {
|
|
297
|
-
key: s,
|
|
298
|
-
data: G,
|
|
299
|
-
isFetching: !1
|
|
300
|
-
}
|
|
301
|
-
}), G;
|
|
302
|
-
}).catch((l) => {
|
|
303
|
-
if (I !== O || p.signal.aborted)
|
|
324
|
+
const f = x(
|
|
325
|
+
y,
|
|
326
|
+
l ? !1 : E,
|
|
327
|
+
v.signal
|
|
328
|
+
).then(({ orders: N, legacyLoaded: _ }) => {
|
|
329
|
+
if (P === S)
|
|
330
|
+
return E = _, j(N, a, !1);
|
|
331
|
+
}).catch((N) => {
|
|
332
|
+
if (P !== S || v.signal.aborted)
|
|
304
333
|
return;
|
|
305
|
-
const
|
|
306
|
-
|
|
334
|
+
const _ = N instanceof Error ? N : new Error(String(N));
|
|
335
|
+
I((U) => ({
|
|
307
336
|
orders: {
|
|
308
337
|
key: s,
|
|
309
|
-
data:
|
|
310
|
-
error:
|
|
338
|
+
data: U.orders.data,
|
|
339
|
+
error: _,
|
|
311
340
|
isFetching: !1
|
|
312
341
|
}
|
|
313
342
|
}));
|
|
314
343
|
});
|
|
315
|
-
return
|
|
316
|
-
|
|
317
|
-
}),
|
|
318
|
-
},
|
|
319
|
-
|
|
320
|
-
},
|
|
321
|
-
|
|
322
|
-
orders: { ...
|
|
344
|
+
return h = f, f.finally(() => {
|
|
345
|
+
h === f && (h = void 0), O === v && (O = void 0);
|
|
346
|
+
}), f;
|
|
347
|
+
}, B = () => {
|
|
348
|
+
F();
|
|
349
|
+
}, G = () => {
|
|
350
|
+
p && (clearInterval(p), p = void 0), typeof window < "u" && window.removeEventListener("focus", B), O == null || O.abort(), O = void 0, h = void 0, S++, I((g) => ({
|
|
351
|
+
orders: { ...g.orders, isFetching: !1 }
|
|
323
352
|
}));
|
|
324
|
-
},
|
|
325
|
-
!s || !
|
|
326
|
-
|
|
327
|
-
},
|
|
353
|
+
}, K = () => {
|
|
354
|
+
!s || !c || p || (F(!0), p = setInterval(() => {
|
|
355
|
+
F();
|
|
356
|
+
}, ht), typeof window < "u" && window.addEventListener("focus", B));
|
|
328
357
|
};
|
|
329
358
|
return {
|
|
330
|
-
client:
|
|
331
|
-
orders:
|
|
332
|
-
state:
|
|
333
|
-
configureClient: (
|
|
334
|
-
if (n ===
|
|
335
|
-
r =
|
|
359
|
+
client: Pe,
|
|
360
|
+
orders: pe,
|
|
361
|
+
state: pt(e),
|
|
362
|
+
configureClient: (g, l) => {
|
|
363
|
+
if (n === g) {
|
|
364
|
+
r = l;
|
|
336
365
|
return;
|
|
337
366
|
}
|
|
338
|
-
n =
|
|
339
|
-
client:
|
|
340
|
-
}),
|
|
367
|
+
n = g, r = l, i++, o = void 0, I({
|
|
368
|
+
client: g ? { key: g, isFetching: !1 } : Pe
|
|
369
|
+
}), g && l && V();
|
|
341
370
|
},
|
|
342
|
-
refetchClient:
|
|
343
|
-
configureOrders: (
|
|
344
|
-
if (s ===
|
|
345
|
-
|
|
371
|
+
refetchClient: V,
|
|
372
|
+
configureOrders: (g, l, P) => {
|
|
373
|
+
if (a = P, s === g) {
|
|
374
|
+
c = l;
|
|
346
375
|
return;
|
|
347
376
|
}
|
|
348
|
-
|
|
349
|
-
orders:
|
|
350
|
-
}),
|
|
377
|
+
G(), s = g, c = l, E = !1, m.clear(), I({
|
|
378
|
+
orders: g ? { key: g, isFetching: !1 } : pe
|
|
379
|
+
}), u > 0 && K();
|
|
351
380
|
},
|
|
352
|
-
registerOrdersConsumer: () => (
|
|
353
|
-
|
|
381
|
+
registerOrdersConsumer: () => (u++, u === 1 && K(), () => {
|
|
382
|
+
u = Math.max(0, u - 1), u === 0 && G();
|
|
354
383
|
}),
|
|
355
|
-
refetchOrders:
|
|
356
|
-
addOrder: (
|
|
357
|
-
|
|
358
|
-
const
|
|
359
|
-
return
|
|
360
|
-
(x) => x.historyKey ===
|
|
361
|
-
) ?
|
|
384
|
+
refetchOrders: F,
|
|
385
|
+
addOrder: (g) => {
|
|
386
|
+
I((l) => {
|
|
387
|
+
const P = l.orders.data;
|
|
388
|
+
return P != null && P.some(
|
|
389
|
+
(x) => x.historyKey === g.historyKey
|
|
390
|
+
) ? l : {
|
|
362
391
|
orders: {
|
|
363
|
-
...
|
|
364
|
-
data: [
|
|
392
|
+
...l.orders,
|
|
393
|
+
data: [g, ...P ?? []]
|
|
365
394
|
}
|
|
366
395
|
};
|
|
367
396
|
});
|
|
368
397
|
},
|
|
369
|
-
|
|
370
|
-
|
|
398
|
+
updateOrder: (g, l) => {
|
|
399
|
+
const P = T().orders.data ?? [], x = P.some((y) => y.historyKey === g.historyKey);
|
|
400
|
+
j(x ? P.map((y) => y.historyKey === g.historyKey ? g : y) : [g, ...P], a ?? l, T().orders.isFetching, g);
|
|
401
|
+
},
|
|
402
|
+
setCancelOrder: (g, l) => {
|
|
403
|
+
I((P) => ({
|
|
371
404
|
state: {
|
|
372
|
-
...
|
|
373
|
-
cancelOrders: { ...
|
|
405
|
+
...P.state,
|
|
406
|
+
cancelOrders: { ...P.state.cancelOrders, [g]: l }
|
|
374
407
|
}
|
|
375
408
|
}));
|
|
376
409
|
},
|
|
377
|
-
clearCancelOrder: (
|
|
378
|
-
|
|
379
|
-
if (!(
|
|
380
|
-
const
|
|
381
|
-
return delete
|
|
410
|
+
clearCancelOrder: (g) => {
|
|
411
|
+
I((l) => {
|
|
412
|
+
if (!(g in l.state.cancelOrders)) return l;
|
|
413
|
+
const P = { ...l.state.cancelOrders };
|
|
414
|
+
return delete P[g], { state: { ...l.state, cancelOrders: P } };
|
|
382
415
|
});
|
|
383
416
|
},
|
|
384
|
-
updateState: (
|
|
385
|
-
beginExecution: (
|
|
386
|
-
let
|
|
387
|
-
return
|
|
388
|
-
...
|
|
417
|
+
updateState: (g) => I((l) => ({ state: { ...l.state, ...g } })),
|
|
418
|
+
beginExecution: (g) => {
|
|
419
|
+
let l;
|
|
420
|
+
return I((P) => Le(P.state.currentExecution.phase) ? (l = {
|
|
421
|
+
...g,
|
|
389
422
|
executionId: ++t,
|
|
390
|
-
phase:
|
|
423
|
+
phase: d.PREPARING
|
|
391
424
|
}, {
|
|
392
425
|
state: {
|
|
393
|
-
...
|
|
394
|
-
currentExecution:
|
|
426
|
+
...P.state,
|
|
427
|
+
currentExecution: l
|
|
395
428
|
}
|
|
396
|
-
}) :
|
|
429
|
+
}) : P), l;
|
|
397
430
|
},
|
|
398
|
-
replaceExecution: (
|
|
399
|
-
let
|
|
400
|
-
return
|
|
401
|
-
const
|
|
402
|
-
return
|
|
403
|
-
state: { ...x.state, currentExecution:
|
|
431
|
+
replaceExecution: (g, l) => {
|
|
432
|
+
let P = !1;
|
|
433
|
+
return I((x) => {
|
|
434
|
+
const y = x.state.currentExecution;
|
|
435
|
+
return y.executionId !== g || l.executionId !== g || !ut(y.phase, l.phase) ? x : (P = !0, {
|
|
436
|
+
state: { ...x.state, currentExecution: l }
|
|
404
437
|
});
|
|
405
|
-
}),
|
|
438
|
+
}), P;
|
|
406
439
|
},
|
|
407
440
|
returnToOrderForm: () => {
|
|
408
|
-
const
|
|
409
|
-
return
|
|
441
|
+
const g = T().state.currentExecution;
|
|
442
|
+
return Z(g.phase) || g.phase === d.SUCCESS ? !1 : (I((l) => ({
|
|
410
443
|
state: {
|
|
411
|
-
...
|
|
412
|
-
currentExecution:
|
|
444
|
+
...l.state,
|
|
445
|
+
currentExecution: re(g.completedWrap)
|
|
413
446
|
}
|
|
414
447
|
})), !0);
|
|
415
448
|
},
|
|
416
|
-
syncFormDefaults: (
|
|
449
|
+
syncFormDefaults: (g) => Z(T().state.currentExecution.phase) ? !1 : (I((l) => ({
|
|
417
450
|
state: {
|
|
418
|
-
...
|
|
419
|
-
...
|
|
420
|
-
currentExecution:
|
|
451
|
+
...l.state,
|
|
452
|
+
...ae(g),
|
|
453
|
+
currentExecution: re()
|
|
421
454
|
}
|
|
422
455
|
})), !0),
|
|
423
|
-
startNewOrder: (
|
|
424
|
-
const { state:
|
|
425
|
-
return
|
|
456
|
+
startNewOrder: (g) => {
|
|
457
|
+
const { state: l } = T();
|
|
458
|
+
return Z(l.currentExecution.phase) ? !1 : (I((P) => ({
|
|
426
459
|
state: {
|
|
427
|
-
...
|
|
428
|
-
...
|
|
429
|
-
isMarketOrder:
|
|
430
|
-
currentExecution:
|
|
460
|
+
...P.state,
|
|
461
|
+
...ae(g),
|
|
462
|
+
isMarketOrder: l.isMarketOrder,
|
|
463
|
+
currentExecution: re()
|
|
431
464
|
}
|
|
432
465
|
})), !0);
|
|
433
466
|
}
|
|
434
467
|
};
|
|
435
468
|
});
|
|
436
|
-
},
|
|
469
|
+
}, xe = (e) => {
|
|
437
470
|
var n;
|
|
438
471
|
const t = (n = e.overrides) == null ? void 0 : n.state;
|
|
439
472
|
return {
|
|
440
|
-
isMarketOrder: e.module ===
|
|
473
|
+
isMarketOrder: e.module === Q.LIMIT || e.module === Q.SWAP ? !1 : t == null ? void 0 : t.isMarketOrder,
|
|
441
474
|
tradeCount: t == null ? void 0 : t.tradeCount,
|
|
442
475
|
tradeInterval: t == null ? void 0 : t.tradeInterval,
|
|
443
476
|
orderDuration: t == null ? void 0 : t.orderDuration,
|
|
@@ -446,112 +479,111 @@ const $e = /* @__PURE__ */ new Set([
|
|
|
446
479
|
triggerPricePercent: t == null ? void 0 : t.triggerPricePercent,
|
|
447
480
|
limitPricePercent: t == null ? void 0 : t.limitPricePercent
|
|
448
481
|
};
|
|
449
|
-
},
|
|
482
|
+
}, Ue = de(null), vt = ({
|
|
450
483
|
children: e,
|
|
451
484
|
initialState: t
|
|
452
485
|
}) => {
|
|
453
|
-
const [n] =
|
|
454
|
-
return /* @__PURE__ */
|
|
455
|
-
},
|
|
456
|
-
const e =
|
|
486
|
+
const [n] = tt(() => wt(t));
|
|
487
|
+
return /* @__PURE__ */ D(Ue.Provider, { value: n, children: e });
|
|
488
|
+
}, b = () => {
|
|
489
|
+
const e = ue(Ue);
|
|
457
490
|
if (e === null)
|
|
458
491
|
throw new Error("useSpotStore must be used within SpotProvider");
|
|
459
492
|
return e;
|
|
460
493
|
}, A = (e) => {
|
|
461
|
-
const t =
|
|
462
|
-
return
|
|
463
|
-
},
|
|
464
|
-
const { partner: e, chainId: t, hasChainId: n } =
|
|
494
|
+
const t = b();
|
|
495
|
+
return nt(t, e);
|
|
496
|
+
}, Ct = { isFetching: !1 }, At = () => {
|
|
497
|
+
const { partner: e, chainId: t, hasChainId: n } = L(), r = b(), i = !!(t && n), o = i ? `${e}:${t}` : void 0, s = C(() => t ? We(e, t) : Promise.reject(
|
|
465
498
|
new Error("Spot is unavailable on the connected chain")
|
|
466
499
|
), [t, e]);
|
|
467
|
-
|
|
500
|
+
Y(() => {
|
|
468
501
|
r.getState().configureClient(o, i ? s : void 0);
|
|
469
502
|
}, [i, o, s, r]);
|
|
470
503
|
}, J = () => {
|
|
471
|
-
const { partner: e, chainId: t, hasChainId: n } =
|
|
504
|
+
const { partner: e, chainId: t, hasChainId: n } = L(), r = b(), i = A((m) => m.client), o = !!(t && n), s = o ? `${e}:${t}` : void 0, c = i.key === s ? i : Ct, a = C(() => {
|
|
472
505
|
if (!o || !s) return Promise.resolve(void 0);
|
|
473
|
-
const
|
|
474
|
-
return
|
|
506
|
+
const m = r.getState();
|
|
507
|
+
return m.client.key !== s ? Promise.resolve(void 0) : m.refetchClient();
|
|
475
508
|
}, [o, s, r]);
|
|
476
|
-
return
|
|
509
|
+
return R(
|
|
477
510
|
() => ({
|
|
478
|
-
data:
|
|
479
|
-
error:
|
|
480
|
-
isLoading: o && !
|
|
481
|
-
isFetching:
|
|
482
|
-
refetch:
|
|
511
|
+
data: c.data,
|
|
512
|
+
error: c.error,
|
|
513
|
+
isLoading: o && !c.data && c.error === void 0,
|
|
514
|
+
isFetching: c.isFetching,
|
|
515
|
+
refetch: a
|
|
483
516
|
}),
|
|
484
|
-
[
|
|
517
|
+
[c, o, a]
|
|
485
518
|
);
|
|
486
|
-
},
|
|
519
|
+
}, Tt = { isFetching: !1 }, fe = (e, t, n) => e && t ? JSON.stringify([
|
|
487
520
|
e,
|
|
488
521
|
t.exchangeAddress,
|
|
489
522
|
t.partner,
|
|
490
523
|
t.chainId,
|
|
491
524
|
n
|
|
492
|
-
]) : void 0,
|
|
493
|
-
const { account: e, supportLegacyOrders: t, callbacks: n } =
|
|
494
|
-
async (
|
|
525
|
+
]) : void 0, Rt = () => {
|
|
526
|
+
const { account: e, supportLegacyOrders: t, callbacks: n } = L(), { data: r } = J(), i = b(), o = fe(e, r, t), s = !!o, c = C(
|
|
527
|
+
async (a, m, E) => !e || !r ? { orders: [], legacyLoaded: !1 } : Pt({
|
|
495
528
|
client: r,
|
|
496
529
|
account: e,
|
|
497
|
-
signal:
|
|
530
|
+
signal: E,
|
|
498
531
|
supportLegacyOrders: t,
|
|
499
|
-
previousOrders:
|
|
500
|
-
legacyLoaded:
|
|
501
|
-
callbacks: n
|
|
532
|
+
previousOrders: a,
|
|
533
|
+
legacyLoaded: m
|
|
502
534
|
}),
|
|
503
|
-
[e,
|
|
535
|
+
[e, r, t]
|
|
504
536
|
);
|
|
505
|
-
|
|
506
|
-
i.getState().configureOrders(o, s ?
|
|
507
|
-
}, [s, o,
|
|
508
|
-
},
|
|
509
|
-
const { account: e, supportLegacyOrders: t } =
|
|
537
|
+
Y(() => {
|
|
538
|
+
i.getState().configureOrders(o, s ? c : void 0, n);
|
|
539
|
+
}, [n, s, o, c, i]);
|
|
540
|
+
}, De = () => {
|
|
541
|
+
const { account: e, supportLegacyOrders: t } = L(), { data: n } = J(), r = b(), i = fe(e, n, t), o = !!i, s = C((c = !1) => !o || !i || r.getState().orders.key !== i ? Promise.resolve(void 0) : r.getState().refetchOrders(!0, c), [o, i, r]);
|
|
510
542
|
return { enabled: o, key: i, refetch: s };
|
|
511
|
-
},
|
|
512
|
-
const e =
|
|
513
|
-
return
|
|
543
|
+
}, Nt = () => {
|
|
544
|
+
const e = b(), { account: t, supportLegacyOrders: n } = L(), { data: r } = J(), i = fe(t, r, n);
|
|
545
|
+
return C(
|
|
514
546
|
(o) => {
|
|
515
547
|
!i || e.getState().orders.key !== i || e.getState().addOrder(o);
|
|
516
548
|
},
|
|
517
549
|
[i, e]
|
|
518
550
|
);
|
|
519
|
-
},
|
|
520
|
-
const e =
|
|
521
|
-
return
|
|
551
|
+
}, Lt = () => {
|
|
552
|
+
const e = b();
|
|
553
|
+
return C(
|
|
522
554
|
() => e.getState().refetchOrders(),
|
|
523
555
|
[e]
|
|
524
556
|
);
|
|
525
|
-
},
|
|
526
|
-
const e = A((
|
|
527
|
-
(
|
|
528
|
-
), { enabled: n, key: r, refetch: i } =
|
|
529
|
-
|
|
530
|
-
const s =
|
|
531
|
-
() => o.data === void 0 ? void 0 :
|
|
557
|
+
}, or = () => {
|
|
558
|
+
const e = A((a) => a.orders), t = A(
|
|
559
|
+
(a) => a.registerOrdersConsumer
|
|
560
|
+
), { enabled: n, key: r, refetch: i } = De(), o = e.key === r ? e : Tt;
|
|
561
|
+
Y(() => t(), [t]);
|
|
562
|
+
const s = R(
|
|
563
|
+
() => o.data === void 0 ? void 0 : Ie(o.data),
|
|
532
564
|
[o.data]
|
|
533
|
-
),
|
|
534
|
-
const
|
|
535
|
-
return
|
|
565
|
+
), c = C(async () => {
|
|
566
|
+
const a = await i();
|
|
567
|
+
return a === void 0 ? void 0 : Ie(a);
|
|
536
568
|
}, [i]);
|
|
537
|
-
return
|
|
569
|
+
return R(
|
|
538
570
|
() => ({
|
|
539
571
|
data: s,
|
|
540
572
|
error: o.error,
|
|
541
573
|
isLoading: n && s === void 0 && o.error === void 0,
|
|
542
574
|
isFetching: o.isFetching,
|
|
543
575
|
isRefetching: o.isFetching && s !== void 0,
|
|
544
|
-
refetch:
|
|
576
|
+
refetch: c
|
|
545
577
|
}),
|
|
546
|
-
[o, s, n,
|
|
578
|
+
[o, s, n, c]
|
|
547
579
|
);
|
|
548
|
-
},
|
|
580
|
+
}, Ft = ({ children: e }) => (At(), Rt(), e), xt = ({
|
|
549
581
|
error: e,
|
|
550
582
|
retry: t,
|
|
551
583
|
isRetrying: n
|
|
552
|
-
}) => /* @__PURE__ */
|
|
553
|
-
/* @__PURE__ */
|
|
554
|
-
/* @__PURE__ */
|
|
584
|
+
}) => /* @__PURE__ */ ce("div", { className: "spot-client-error-fallback", role: "alert", children: [
|
|
585
|
+
/* @__PURE__ */ D("p", { children: e.message || "Unable to load Spot configuration." }),
|
|
586
|
+
/* @__PURE__ */ D(
|
|
555
587
|
"button",
|
|
556
588
|
{
|
|
557
589
|
type: "button",
|
|
@@ -561,44 +593,44 @@ const $e = /* @__PURE__ */ new Set([
|
|
|
561
593
|
children: n ? "Retrying…" : "Retry"
|
|
562
594
|
}
|
|
563
595
|
)
|
|
564
|
-
] }),
|
|
596
|
+
] }), Ut = ({
|
|
565
597
|
children: e,
|
|
566
|
-
fallback: t =
|
|
598
|
+
fallback: t = xt
|
|
567
599
|
}) => {
|
|
568
|
-
const { hasChainId: n } =
|
|
600
|
+
const { hasChainId: n } = L(), { data: r, error: i, isFetching: o, refetch: s } = J(), c = C(async () => {
|
|
569
601
|
await s();
|
|
570
602
|
}, [s]);
|
|
571
|
-
return /* @__PURE__ */
|
|
603
|
+
return /* @__PURE__ */ ce(et, { children: [
|
|
572
604
|
e,
|
|
573
|
-
!r && i && n ? /* @__PURE__ */
|
|
605
|
+
!r && i && n ? /* @__PURE__ */ D(
|
|
574
606
|
t,
|
|
575
607
|
{
|
|
576
608
|
error: i,
|
|
577
|
-
retry:
|
|
609
|
+
retry: c,
|
|
578
610
|
isRetrying: o
|
|
579
611
|
}
|
|
580
612
|
) : null
|
|
581
613
|
] });
|
|
582
|
-
},
|
|
614
|
+
}, Dt = ({
|
|
583
615
|
resetErrorBoundary: e
|
|
584
|
-
}) => /* @__PURE__ */
|
|
585
|
-
/* @__PURE__ */
|
|
586
|
-
/* @__PURE__ */
|
|
587
|
-
] }),
|
|
616
|
+
}) => /* @__PURE__ */ ce("div", { className: "twap-error-fallback", role: "alert", children: [
|
|
617
|
+
/* @__PURE__ */ D("p", { children: "Something went wrong" }),
|
|
618
|
+
/* @__PURE__ */ D("button", { type: "button", onClick: e, children: "Retry" })
|
|
619
|
+
] }), Mt = ({
|
|
588
620
|
children: e,
|
|
589
|
-
fallback: t =
|
|
621
|
+
fallback: t = Dt
|
|
590
622
|
}) => {
|
|
591
|
-
const n =
|
|
623
|
+
const n = b(), r = C((i) => {
|
|
592
624
|
var s;
|
|
593
|
-
(((s = n.getState().client.data) == null ? void 0 : s.analytics) ??
|
|
625
|
+
(((s = n.getState().client.data) == null ? void 0 : s.analytics) ?? je).onCrash(i);
|
|
594
626
|
}, [n]);
|
|
595
|
-
return /* @__PURE__ */
|
|
627
|
+
return /* @__PURE__ */ D(Gt, { fallback: t, reportCrash: r, children: e });
|
|
596
628
|
};
|
|
597
|
-
class
|
|
629
|
+
class Gt extends rt {
|
|
598
630
|
constructor() {
|
|
599
631
|
super(...arguments);
|
|
600
|
-
|
|
601
|
-
|
|
632
|
+
oe(this, "state", {});
|
|
633
|
+
oe(this, "resetErrorBoundary", () => {
|
|
602
634
|
this.setState({ error: void 0 });
|
|
603
635
|
});
|
|
604
636
|
}
|
|
@@ -612,7 +644,7 @@ class It extends We {
|
|
|
612
644
|
const { error: n } = this.state;
|
|
613
645
|
if (n) {
|
|
614
646
|
const r = this.props.fallback;
|
|
615
|
-
return /* @__PURE__ */
|
|
647
|
+
return /* @__PURE__ */ D(
|
|
616
648
|
r,
|
|
617
649
|
{
|
|
618
650
|
error: n,
|
|
@@ -623,18 +655,18 @@ class It extends We {
|
|
|
623
655
|
return this.props.children;
|
|
624
656
|
}
|
|
625
657
|
}
|
|
626
|
-
const
|
|
658
|
+
const Bt = ({
|
|
627
659
|
children: e,
|
|
628
660
|
defaults: t,
|
|
629
661
|
scopeKey: n
|
|
630
662
|
}) => {
|
|
631
|
-
const r =
|
|
663
|
+
const r = b(), i = A(
|
|
632
664
|
(s) => s.state.currentExecution.phase
|
|
633
|
-
), o =
|
|
634
|
-
return
|
|
635
|
-
o.current === n ||
|
|
665
|
+
), o = le(n);
|
|
666
|
+
return Y(() => {
|
|
667
|
+
o.current === n || Z(i) || r.getState().syncFormDefaults(t) && (o.current = n);
|
|
636
668
|
}, [t, i, n, r]), e;
|
|
637
|
-
},
|
|
669
|
+
}, Me = de(null), Kt = ({ children: e }) => {
|
|
638
670
|
const {
|
|
639
671
|
inputToken: t,
|
|
640
672
|
outputToken: n,
|
|
@@ -642,109 +674,109 @@ const vt = ({
|
|
|
642
674
|
quotedOutputAmountRaw: i,
|
|
643
675
|
minimumOutputAmountRaw: o,
|
|
644
676
|
inputTokenUsdPrice: s,
|
|
645
|
-
outputTokenUsdPrice:
|
|
646
|
-
minTradeSizeUsd:
|
|
647
|
-
inputBalanceRaw:
|
|
648
|
-
displayFeePercent:
|
|
649
|
-
priceProtectionPercent:
|
|
650
|
-
module:
|
|
651
|
-
} =
|
|
652
|
-
(
|
|
653
|
-
),
|
|
654
|
-
(
|
|
655
|
-
),
|
|
656
|
-
(
|
|
657
|
-
),
|
|
658
|
-
(
|
|
659
|
-
),
|
|
660
|
-
(
|
|
661
|
-
),
|
|
662
|
-
const
|
|
663
|
-
return
|
|
664
|
-
}),
|
|
677
|
+
outputTokenUsdPrice: c,
|
|
678
|
+
minTradeSizeUsd: a,
|
|
679
|
+
inputBalanceRaw: m,
|
|
680
|
+
displayFeePercent: E,
|
|
681
|
+
priceProtectionPercent: u,
|
|
682
|
+
module: S
|
|
683
|
+
} = L(), h = A((l) => l.state.tradeCount), O = A((l) => l.state.tradeInterval), p = A((l) => l.state.orderDuration), I = A(
|
|
684
|
+
(l) => l.state.limitPriceUi
|
|
685
|
+
), T = A(
|
|
686
|
+
(l) => l.state.triggerPriceUi
|
|
687
|
+
), j = A(
|
|
688
|
+
(l) => l.state.limitPricePercent
|
|
689
|
+
), V = A(
|
|
690
|
+
(l) => l.state.triggerPricePercent
|
|
691
|
+
), F = A(
|
|
692
|
+
(l) => l.state.isPriceInverted
|
|
693
|
+
), B = A((l) => l.state.isMarketOrder), G = A((l) => {
|
|
694
|
+
const P = l.state.currentExecution;
|
|
695
|
+
return P.phase !== d.IDLE ? P.form : void 0;
|
|
696
|
+
}), K = R(
|
|
665
697
|
() => ({
|
|
666
|
-
module:
|
|
698
|
+
module: S,
|
|
667
699
|
inputTokenDecimals: (t == null ? void 0 : t.decimals) ?? 0,
|
|
668
700
|
outputTokenDecimals: (n == null ? void 0 : n.decimals) ?? 0,
|
|
669
701
|
quotedOutputAmountRaw: i,
|
|
670
702
|
minimumOutputAmountRaw: o,
|
|
671
703
|
inputTokenUsdPrice: s,
|
|
672
|
-
outputTokenUsdPrice:
|
|
673
|
-
minTradeSizeUsd:
|
|
674
|
-
priceProtectionPercent:
|
|
675
|
-
displayFeePercent:
|
|
676
|
-
inputBalanceRaw:
|
|
704
|
+
outputTokenUsdPrice: c,
|
|
705
|
+
minTradeSizeUsd: a,
|
|
706
|
+
priceProtectionPercent: u,
|
|
707
|
+
displayFeePercent: E,
|
|
708
|
+
inputBalanceRaw: m,
|
|
677
709
|
userInput: {
|
|
678
710
|
inputAmountUi: r,
|
|
679
|
-
isMarketOrder: !!
|
|
680
|
-
tradeCount:
|
|
681
|
-
tradeInterval:
|
|
682
|
-
orderDuration:
|
|
683
|
-
limitPriceUi:
|
|
684
|
-
limitPricePercent:
|
|
685
|
-
triggerPriceUi:
|
|
686
|
-
triggerPricePercent:
|
|
687
|
-
isPriceInverted:
|
|
711
|
+
isMarketOrder: !!B,
|
|
712
|
+
tradeCount: h,
|
|
713
|
+
tradeInterval: O,
|
|
714
|
+
orderDuration: p,
|
|
715
|
+
limitPriceUi: I,
|
|
716
|
+
limitPricePercent: j,
|
|
717
|
+
triggerPriceUi: T,
|
|
718
|
+
triggerPricePercent: V,
|
|
719
|
+
isPriceInverted: F
|
|
688
720
|
}
|
|
689
721
|
}),
|
|
690
722
|
[
|
|
691
723
|
o,
|
|
692
724
|
n == null ? void 0 : n.decimals,
|
|
693
|
-
a,
|
|
694
|
-
O,
|
|
695
|
-
i,
|
|
696
725
|
c,
|
|
697
|
-
m,
|
|
698
|
-
d,
|
|
699
726
|
E,
|
|
727
|
+
i,
|
|
728
|
+
a,
|
|
729
|
+
S,
|
|
730
|
+
u,
|
|
731
|
+
m,
|
|
700
732
|
t == null ? void 0 : t.decimals,
|
|
701
733
|
s,
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
g,
|
|
707
|
-
S,
|
|
734
|
+
F,
|
|
735
|
+
B,
|
|
736
|
+
j,
|
|
737
|
+
V,
|
|
708
738
|
h,
|
|
709
|
-
|
|
739
|
+
p,
|
|
740
|
+
O,
|
|
741
|
+
I,
|
|
710
742
|
r,
|
|
711
|
-
|
|
743
|
+
T
|
|
712
744
|
]
|
|
713
|
-
),
|
|
714
|
-
if (
|
|
715
|
-
const
|
|
716
|
-
return t && n ?
|
|
717
|
-
...
|
|
745
|
+
), g = R(() => {
|
|
746
|
+
if (G) return G;
|
|
747
|
+
const l = Ve(K);
|
|
748
|
+
return t && n ? l : {
|
|
749
|
+
...l,
|
|
718
750
|
isReady: !1,
|
|
719
751
|
canSubmit: !1
|
|
720
752
|
};
|
|
721
|
-
}, [
|
|
722
|
-
return /* @__PURE__ */
|
|
723
|
-
},
|
|
724
|
-
const e =
|
|
753
|
+
}, [G, t, n, K]);
|
|
754
|
+
return /* @__PURE__ */ D(Me.Provider, { value: g, children: e });
|
|
755
|
+
}, W = () => {
|
|
756
|
+
const e = ue(Me);
|
|
725
757
|
if (!e)
|
|
726
758
|
throw new Error("useOrderForm must be used within OrderFormProvider");
|
|
727
759
|
return e;
|
|
728
|
-
},
|
|
729
|
-
var
|
|
730
|
-
const t = Number.isSafeInteger(e.chainId) && Number(e.chainId) > 0, n = (
|
|
731
|
-
() =>
|
|
760
|
+
}, _t = (e) => {
|
|
761
|
+
var E, u, S, h, O, p, I, T, j, V, F, B;
|
|
762
|
+
const t = Number.isSafeInteger(e.chainId) && Number(e.chainId) > 0, n = (E = e.wrappedNativeToken) == null ? void 0 : E.address, r = !!(n && ($((u = e.inputToken) == null ? void 0 : u.address) && he(((S = e.outputToken) == null ? void 0 : S.address) || "", n) || he(((h = e.inputToken) == null ? void 0 : h.address) || "", n) && $((O = e.outputToken) == null ? void 0 : O.address))), i = r ? k(e.inputAmountUi, (p = e.outputToken) == null ? void 0 : p.decimals) : e.marketQuote.isLoading ? void 0 : e.marketQuote.quotedOutputAmountRaw, o = r ? !1 : e.marketQuote.isLoading, s = r ? !1 : e.marketQuote.noLiquidity, c = R(
|
|
763
|
+
() => xe({
|
|
732
764
|
module: e.module,
|
|
733
765
|
overrides: e.overrides
|
|
734
766
|
}),
|
|
735
767
|
[e.module, e.overrides]
|
|
736
|
-
),
|
|
768
|
+
), a = JSON.stringify([
|
|
737
769
|
e.partner,
|
|
738
770
|
e.chainId,
|
|
739
771
|
e.module,
|
|
740
|
-
(
|
|
741
|
-
(
|
|
742
|
-
(
|
|
743
|
-
(
|
|
744
|
-
(
|
|
745
|
-
(
|
|
746
|
-
|
|
747
|
-
]),
|
|
772
|
+
(I = e.inputToken) == null ? void 0 : I.address,
|
|
773
|
+
(T = e.inputToken) == null ? void 0 : T.decimals,
|
|
774
|
+
(j = e.outputToken) == null ? void 0 : j.address,
|
|
775
|
+
(V = e.outputToken) == null ? void 0 : V.decimals,
|
|
776
|
+
(F = e.wrappedNativeToken) == null ? void 0 : F.address,
|
|
777
|
+
(B = e.wrappedNativeToken) == null ? void 0 : B.decimals,
|
|
778
|
+
c
|
|
779
|
+
]), m = R(
|
|
748
780
|
() => ({
|
|
749
781
|
inputAmountUi: e.inputAmountUi,
|
|
750
782
|
minTradeSizeUsd: e.minTradeSizeUsd,
|
|
@@ -797,29 +829,29 @@ const vt = ({
|
|
|
797
829
|
i
|
|
798
830
|
]
|
|
799
831
|
);
|
|
800
|
-
return { initialState:
|
|
801
|
-
},
|
|
802
|
-
const { initialState: t, formScopeKey: n, trading: r } =
|
|
803
|
-
return /* @__PURE__ */
|
|
804
|
-
|
|
832
|
+
return { initialState: c, formScopeKey: a, trading: m };
|
|
833
|
+
}, sr = (e) => {
|
|
834
|
+
const { initialState: t, formScopeKey: n, trading: r } = _t(e);
|
|
835
|
+
return /* @__PURE__ */ D(at, { value: r, children: /* @__PURE__ */ D(vt, { initialState: t, children: /* @__PURE__ */ D(Mt, { fallback: e.errorFallback, children: /* @__PURE__ */ D(Ft, { children: /* @__PURE__ */ D(
|
|
836
|
+
Bt,
|
|
805
837
|
{
|
|
806
838
|
defaults: t,
|
|
807
839
|
scopeKey: n,
|
|
808
|
-
children: /* @__PURE__ */
|
|
840
|
+
children: /* @__PURE__ */ D(Ut, { fallback: e.clientErrorFallback, children: /* @__PURE__ */ D(Kt, { children: e.children }) })
|
|
809
841
|
}
|
|
810
842
|
) }) }) }) });
|
|
811
|
-
},
|
|
812
|
-
const { refetch: e } =
|
|
813
|
-
return
|
|
843
|
+
}, ar = (e, t) => R(() => ne(t, e), [e, t]), Ht = 60, qt = () => {
|
|
844
|
+
const { refetch: e } = De();
|
|
845
|
+
return C(
|
|
814
846
|
async (t, n = !1) => {
|
|
815
|
-
for (let r = 0; r <
|
|
847
|
+
for (let r = 0; r < Ht; r++) {
|
|
816
848
|
const i = await e(n);
|
|
817
849
|
if (!i)
|
|
818
850
|
throw new Error("orders not found");
|
|
819
851
|
const o = i.find(
|
|
820
852
|
(s) => s.historyKey === t
|
|
821
853
|
);
|
|
822
|
-
if ((o == null ? void 0 : o.status) ===
|
|
854
|
+
if ((o == null ? void 0 : o.status) === M.Cancelled)
|
|
823
855
|
return;
|
|
824
856
|
await new Promise((s) => setTimeout(s, 1e3));
|
|
825
857
|
}
|
|
@@ -829,103 +861,103 @@ const vt = ({
|
|
|
829
861
|
},
|
|
830
862
|
[e]
|
|
831
863
|
);
|
|
832
|
-
},
|
|
864
|
+
}, bt = (e) => ({
|
|
833
865
|
...e,
|
|
834
|
-
status:
|
|
835
|
-
}),
|
|
836
|
-
const { account: t, walletInteractions: n, callbacks: r } =
|
|
837
|
-
const
|
|
866
|
+
status: M.Cancelled
|
|
867
|
+
}), cr = (e) => {
|
|
868
|
+
const { account: t, walletInteractions: n, callbacks: r } = L(), { data: i } = J(), o = qt(), s = A((u) => u.state.cancelOrders[(e == null ? void 0 : e.historyKey) ?? ""]), c = A((u) => u.setCancelOrder), a = A((u) => u.clearCancelOrder), m = C(async () => {
|
|
869
|
+
const u = e == null ? void 0 : e.historyKey;
|
|
838
870
|
try {
|
|
839
871
|
if (!t) throw new Error("missing account");
|
|
840
872
|
if (!e) throw new Error("order is required");
|
|
841
873
|
if (!i) throw new Error("Spot client is unavailable");
|
|
842
|
-
const
|
|
843
|
-
|
|
844
|
-
var
|
|
845
|
-
return (
|
|
874
|
+
const S = e.historyKey;
|
|
875
|
+
c(S, { status: q.LOADING }), w(() => {
|
|
876
|
+
var I;
|
|
877
|
+
return (I = r == null ? void 0 : r.onCancelOrderRequest) == null ? void 0 : I.call(r, e);
|
|
846
878
|
}), w(
|
|
847
879
|
() => i.analytics.onCancelOrderRequest(
|
|
848
880
|
[e.version === 1 ? e.id.toString() : e.hash],
|
|
849
881
|
e.version
|
|
850
882
|
)
|
|
851
883
|
);
|
|
852
|
-
const
|
|
853
|
-
if (!
|
|
854
|
-
w(() => i.analytics.onCancelOrderSuccess(
|
|
855
|
-
status:
|
|
856
|
-
txHash:
|
|
857
|
-
}), await o(
|
|
858
|
-
const
|
|
859
|
-
return
|
|
860
|
-
status:
|
|
861
|
-
txHash:
|
|
884
|
+
const h = i.getCancelOrderRequest(e), O = await n.cancelOrder(h);
|
|
885
|
+
if (!O) throw new Error("failed to cancel order");
|
|
886
|
+
w(() => i.analytics.onCancelOrderSuccess(O)), c(S, {
|
|
887
|
+
status: q.LOADING,
|
|
888
|
+
txHash: O
|
|
889
|
+
}), await o(S, e.version === 1);
|
|
890
|
+
const p = bt(e);
|
|
891
|
+
return c(S, {
|
|
892
|
+
status: q.SUCCESS,
|
|
893
|
+
txHash: O
|
|
862
894
|
}), w(
|
|
863
895
|
() => {
|
|
864
|
-
var
|
|
865
|
-
return (
|
|
866
|
-
order:
|
|
867
|
-
txHash:
|
|
896
|
+
var I;
|
|
897
|
+
return (I = r == null ? void 0 : r.onCancelOrderSuccess) == null ? void 0 : I.call(r, {
|
|
898
|
+
order: p,
|
|
899
|
+
txHash: O
|
|
868
900
|
});
|
|
869
901
|
}
|
|
870
|
-
),
|
|
871
|
-
} catch (
|
|
872
|
-
|
|
873
|
-
status:
|
|
874
|
-
error:
|
|
875
|
-
}), w(() => i == null ? void 0 : i.analytics.onCancelOrderError(
|
|
876
|
-
var
|
|
877
|
-
return (
|
|
902
|
+
), O;
|
|
903
|
+
} catch (S) {
|
|
904
|
+
Ce(S) ? u && a(u) : (u && c(u, {
|
|
905
|
+
status: q.FAILED,
|
|
906
|
+
error: me(S)
|
|
907
|
+
}), w(() => i == null ? void 0 : i.analytics.onCancelOrderError(S))), w(() => {
|
|
908
|
+
var h;
|
|
909
|
+
return (h = r == null ? void 0 : r.onCancelOrderFailed) == null ? void 0 : h.call(r, X(S));
|
|
878
910
|
});
|
|
879
911
|
}
|
|
880
912
|
}, [
|
|
881
913
|
t,
|
|
882
914
|
r,
|
|
883
|
-
|
|
915
|
+
a,
|
|
884
916
|
i,
|
|
885
917
|
e,
|
|
886
918
|
o,
|
|
887
|
-
|
|
919
|
+
c,
|
|
888
920
|
n
|
|
889
|
-
]),
|
|
890
|
-
const
|
|
921
|
+
]), E = R(() => {
|
|
922
|
+
const u = s;
|
|
891
923
|
return {
|
|
892
|
-
isLoading: (
|
|
924
|
+
isLoading: (u == null ? void 0 : u.status) === q.LOADING,
|
|
893
925
|
disabled: !!(e && !i),
|
|
894
|
-
isSuccess: (
|
|
895
|
-
isError: (
|
|
896
|
-
error:
|
|
897
|
-
txHash:
|
|
926
|
+
isSuccess: (u == null ? void 0 : u.status) === q.SUCCESS,
|
|
927
|
+
isError: (u == null ? void 0 : u.status) === q.FAILED,
|
|
928
|
+
error: u == null ? void 0 : u.error,
|
|
929
|
+
txHash: u == null ? void 0 : u.txHash
|
|
898
930
|
};
|
|
899
931
|
}, [s, e, i]);
|
|
900
|
-
return
|
|
901
|
-
},
|
|
902
|
-
const { module: e, values: t } =
|
|
903
|
-
if (t.isMarketOrder && e ===
|
|
904
|
-
return
|
|
905
|
-
if (e ===
|
|
906
|
-
return t.isMarketOrder ?
|
|
907
|
-
},
|
|
908
|
-
const { callbacks: e } =
|
|
909
|
-
(
|
|
910
|
-
t({ orderDuration:
|
|
911
|
-
var
|
|
912
|
-
return (
|
|
932
|
+
return R(() => ({ cancelOrder: m, ...E }), [m, E]);
|
|
933
|
+
}, dr = () => {
|
|
934
|
+
const { module: e, values: t } = W();
|
|
935
|
+
if (t.isMarketOrder && e === Q.STOP_LOSS)
|
|
936
|
+
return ee.TRIGGER_MARKET_PRICE;
|
|
937
|
+
if (e === Q.LIMIT || e === Q.TWAP)
|
|
938
|
+
return t.isMarketOrder ? ee.MARKET_PRICE : ee.LIMIT_PRICE;
|
|
939
|
+
}, ur = () => {
|
|
940
|
+
const { callbacks: e } = L(), t = A((c) => c.updateState), { schedule: n } = W(), { duration: r } = n, i = C(
|
|
941
|
+
(c) => {
|
|
942
|
+
t({ orderDuration: c }), w(() => {
|
|
943
|
+
var a;
|
|
944
|
+
return (a = e == null ? void 0 : e.onOrderDurationChange) == null ? void 0 : a.call(e, c);
|
|
913
945
|
});
|
|
914
946
|
},
|
|
915
947
|
[e, t]
|
|
916
|
-
), o =
|
|
917
|
-
(
|
|
918
|
-
const
|
|
919
|
-
Number.isFinite(
|
|
948
|
+
), o = C(
|
|
949
|
+
(c) => {
|
|
950
|
+
const a = Number(c);
|
|
951
|
+
Number.isFinite(a) && i({ unit: r.unit, value: a });
|
|
920
952
|
},
|
|
921
953
|
[r.unit, i]
|
|
922
|
-
), s =
|
|
923
|
-
(
|
|
924
|
-
i({ unit:
|
|
954
|
+
), s = C(
|
|
955
|
+
(c) => {
|
|
956
|
+
i({ unit: c, value: r.value });
|
|
925
957
|
},
|
|
926
958
|
[r.value, i]
|
|
927
959
|
);
|
|
928
|
-
return
|
|
960
|
+
return R(
|
|
929
961
|
() => ({
|
|
930
962
|
duration: r,
|
|
931
963
|
onChange: i,
|
|
@@ -936,26 +968,26 @@ const vt = ({
|
|
|
936
968
|
}),
|
|
937
969
|
[r, i, o, s, n]
|
|
938
970
|
);
|
|
939
|
-
},
|
|
940
|
-
const { callbacks: e } =
|
|
941
|
-
(
|
|
942
|
-
t({ tradeInterval:
|
|
943
|
-
var
|
|
944
|
-
return (
|
|
971
|
+
}, lr = () => {
|
|
972
|
+
const { callbacks: e } = L(), t = A((c) => c.updateState), { schedule: n } = W(), { fillDelay: r } = n, i = C(
|
|
973
|
+
(c) => {
|
|
974
|
+
t({ tradeInterval: c }), w(() => {
|
|
975
|
+
var a;
|
|
976
|
+
return (a = e == null ? void 0 : e.onTradeIntervalChange) == null ? void 0 : a.call(e, c);
|
|
945
977
|
});
|
|
946
978
|
},
|
|
947
979
|
[e, t]
|
|
948
|
-
), o =
|
|
949
|
-
(
|
|
950
|
-
const
|
|
951
|
-
Number.isFinite(
|
|
980
|
+
), o = C(
|
|
981
|
+
(c) => {
|
|
982
|
+
const a = Number(c);
|
|
983
|
+
Number.isFinite(a) && i({ unit: r.unit, value: a });
|
|
952
984
|
},
|
|
953
985
|
[r.unit, i]
|
|
954
|
-
), s =
|
|
955
|
-
(
|
|
986
|
+
), s = C(
|
|
987
|
+
(c) => i({ unit: c, value: r.value }),
|
|
956
988
|
[r.value, i]
|
|
957
989
|
);
|
|
958
|
-
return
|
|
990
|
+
return R(
|
|
959
991
|
() => ({
|
|
960
992
|
onInputChange: o,
|
|
961
993
|
onUnitSelect: s,
|
|
@@ -966,202 +998,202 @@ const vt = ({
|
|
|
966
998
|
}),
|
|
967
999
|
[r, i, o, s, n]
|
|
968
1000
|
);
|
|
969
|
-
},
|
|
1001
|
+
}, H = (e, t) => ({
|
|
970
1002
|
raw: e || "",
|
|
971
|
-
ui:
|
|
972
|
-
}),
|
|
1003
|
+
ui: ne(e, t)
|
|
1004
|
+
}), Wt = (e, t, n) => R(() => !e || !t || !n ? [] : e.map((r) => ({
|
|
973
1005
|
rawFill: r,
|
|
974
1006
|
inputToken: t,
|
|
975
1007
|
outputToken: n,
|
|
976
|
-
inputAmount:
|
|
977
|
-
outputAmount:
|
|
1008
|
+
inputAmount: H(r.inAmount, t.decimals),
|
|
1009
|
+
outputAmount: H(r.outAmount, n.decimals),
|
|
978
1010
|
timestamp: r.timestamp,
|
|
979
1011
|
txHash: r.txHash,
|
|
980
|
-
executionRate:
|
|
1012
|
+
executionRate: Ae(
|
|
981
1013
|
r.inAmount,
|
|
982
1014
|
r.outAmount,
|
|
983
1015
|
t.decimals,
|
|
984
1016
|
n.decimals
|
|
985
1017
|
)
|
|
986
|
-
})), [e, t, n]),
|
|
987
|
-
const { chainId: r, partner: i } =
|
|
1018
|
+
})), [e, t, n]), mr = (e, t, n) => {
|
|
1019
|
+
const { chainId: r, partner: i } = L(), o = R(() => {
|
|
988
1020
|
if (!(!t || !n || !e || e.isMarketPrice))
|
|
989
|
-
return
|
|
1021
|
+
return Qe(
|
|
990
1022
|
e,
|
|
991
1023
|
t.decimals,
|
|
992
1024
|
n.decimals
|
|
993
1025
|
);
|
|
994
|
-
}, [t, e, n]), s =
|
|
1026
|
+
}, [t, e, n]), s = R(() => {
|
|
995
1027
|
if (!(!t || !n || !e))
|
|
996
|
-
return
|
|
1028
|
+
return Je(
|
|
997
1029
|
e,
|
|
998
1030
|
t.decimals,
|
|
999
1031
|
n.decimals
|
|
1000
1032
|
);
|
|
1001
|
-
}, [t, e, n]),
|
|
1033
|
+
}, [t, e, n]), c = R(() => {
|
|
1002
1034
|
if (!(!t || !n || !e))
|
|
1003
|
-
return
|
|
1035
|
+
return Ae(
|
|
1004
1036
|
e.srcAmountFilled,
|
|
1005
1037
|
e.dstAmountFilled,
|
|
1006
1038
|
t.decimals,
|
|
1007
1039
|
n.decimals
|
|
1008
1040
|
);
|
|
1009
|
-
}, [t, e, n]),
|
|
1041
|
+
}, [t, e, n]), a = R(() => e ? ze(
|
|
1010
1042
|
e,
|
|
1011
|
-
r ?
|
|
1012
|
-
) : 0, [e, i, r]),
|
|
1013
|
-
return
|
|
1043
|
+
r ? $e(i, r) : void 0
|
|
1044
|
+
) : 0, [e, i, r]), m = Wt(e == null ? void 0 : e.fills, t, n);
|
|
1045
|
+
return R(() => {
|
|
1014
1046
|
if (e != null && e.id)
|
|
1015
1047
|
return {
|
|
1016
1048
|
original: e,
|
|
1017
|
-
fills:
|
|
1049
|
+
fills: m,
|
|
1018
1050
|
inputToken: t,
|
|
1019
1051
|
outputToken: n,
|
|
1020
1052
|
orderType: e.type,
|
|
1021
1053
|
createdAt: e.createdAt,
|
|
1022
1054
|
deadline: e.deadline || 0,
|
|
1023
1055
|
totalTrades: e.totalTradesAmount || 0,
|
|
1024
|
-
tradeInterval:
|
|
1056
|
+
tradeInterval: a,
|
|
1025
1057
|
recipient: e.maker || "",
|
|
1026
|
-
inputAmount:
|
|
1027
|
-
limitPrice:
|
|
1028
|
-
|
|
1058
|
+
inputAmount: H(e.srcAmount, t == null ? void 0 : t.decimals),
|
|
1059
|
+
limitPrice: H(
|
|
1060
|
+
k(o, n == null ? void 0 : n.decimals),
|
|
1029
1061
|
n == null ? void 0 : n.decimals
|
|
1030
1062
|
),
|
|
1031
|
-
inputAmountPerTrade:
|
|
1063
|
+
inputAmountPerTrade: H(
|
|
1032
1064
|
e.srcAmountPerTrade,
|
|
1033
1065
|
t == null ? void 0 : t.decimals
|
|
1034
1066
|
),
|
|
1035
|
-
minOutputAmountPerTrade:
|
|
1067
|
+
minOutputAmountPerTrade: H(
|
|
1036
1068
|
e.dstMinAmountPerTrade,
|
|
1037
1069
|
n == null ? void 0 : n.decimals
|
|
1038
1070
|
),
|
|
1039
|
-
minOutputAmount:
|
|
1071
|
+
minOutputAmount: H(
|
|
1040
1072
|
e.dstMinAmountTotal,
|
|
1041
1073
|
n == null ? void 0 : n.decimals
|
|
1042
1074
|
),
|
|
1043
|
-
triggerPrice:
|
|
1044
|
-
|
|
1075
|
+
triggerPrice: H(
|
|
1076
|
+
k(s, n == null ? void 0 : n.decimals),
|
|
1045
1077
|
n == null ? void 0 : n.decimals
|
|
1046
1078
|
),
|
|
1047
1079
|
id: e.id,
|
|
1048
|
-
inputAmountFilled:
|
|
1080
|
+
inputAmountFilled: H(
|
|
1049
1081
|
e.srcAmountFilled,
|
|
1050
1082
|
t == null ? void 0 : t.decimals
|
|
1051
1083
|
),
|
|
1052
|
-
outputAmountFilled:
|
|
1084
|
+
outputAmountFilled: H(
|
|
1053
1085
|
e.dstAmountFilled,
|
|
1054
1086
|
n == null ? void 0 : n.decimals
|
|
1055
1087
|
),
|
|
1056
1088
|
progress: e.progress,
|
|
1057
|
-
executionPrice:
|
|
1058
|
-
|
|
1089
|
+
executionPrice: H(
|
|
1090
|
+
k(c, n == null ? void 0 : n.decimals),
|
|
1059
1091
|
n == null ? void 0 : n.decimals
|
|
1060
1092
|
),
|
|
1061
1093
|
version: e.version
|
|
1062
1094
|
};
|
|
1063
1095
|
}, [
|
|
1064
1096
|
e,
|
|
1065
|
-
|
|
1097
|
+
m,
|
|
1066
1098
|
t,
|
|
1067
1099
|
n,
|
|
1068
|
-
|
|
1100
|
+
a,
|
|
1069
1101
|
o,
|
|
1070
1102
|
s,
|
|
1071
|
-
|
|
1103
|
+
c
|
|
1072
1104
|
]);
|
|
1073
|
-
},
|
|
1074
|
-
const { marketPriceLoading: e } =
|
|
1105
|
+
}, fr = () => {
|
|
1106
|
+
const { marketPriceLoading: e } = L(), t = W().errors.primary;
|
|
1075
1107
|
return e ? void 0 : t;
|
|
1076
|
-
},
|
|
1077
|
-
const { marketPriceLoading: e, inputToken: t, outputToken: n, callbacks: r } =
|
|
1078
|
-
(
|
|
1079
|
-
|
|
1080
|
-
var
|
|
1081
|
-
return (
|
|
1108
|
+
}, gr = () => {
|
|
1109
|
+
const { marketPriceLoading: e, inputToken: t, outputToken: n, callbacks: r } = L(), { limitPrice: i, values: o, module: s, isInverted: c } = W(), a = A((O) => O.updateState), m = C(
|
|
1110
|
+
(O) => {
|
|
1111
|
+
a({ limitPriceUi: O, limitPricePercent: null }), w(() => {
|
|
1112
|
+
var p;
|
|
1113
|
+
return (p = r == null ? void 0 : r.onLimitPriceChange) == null ? void 0 : p.call(r, O || "");
|
|
1082
1114
|
}), w(() => {
|
|
1083
|
-
var
|
|
1084
|
-
return (
|
|
1115
|
+
var p;
|
|
1116
|
+
return (p = r == null ? void 0 : r.onLimitPricePercentChange) == null ? void 0 : p.call(r, "");
|
|
1085
1117
|
});
|
|
1086
1118
|
},
|
|
1087
|
-
[r,
|
|
1088
|
-
),
|
|
1089
|
-
(
|
|
1090
|
-
|
|
1119
|
+
[r, a]
|
|
1120
|
+
), E = C(
|
|
1121
|
+
(O) => {
|
|
1122
|
+
a({
|
|
1091
1123
|
limitPriceUi: void 0,
|
|
1092
|
-
limitPricePercent:
|
|
1124
|
+
limitPricePercent: O
|
|
1093
1125
|
}), w(() => {
|
|
1094
|
-
var
|
|
1095
|
-
return (
|
|
1126
|
+
var p;
|
|
1127
|
+
return (p = r == null ? void 0 : r.onLimitPriceChange) == null ? void 0 : p.call(r, "");
|
|
1096
1128
|
}), w(() => {
|
|
1097
|
-
var
|
|
1098
|
-
return (
|
|
1129
|
+
var p;
|
|
1130
|
+
return (p = r == null ? void 0 : r.onLimitPricePercentChange) == null ? void 0 : p.call(r, O || "");
|
|
1099
1131
|
});
|
|
1100
1132
|
},
|
|
1101
|
-
[r,
|
|
1102
|
-
),
|
|
1103
|
-
|
|
1133
|
+
[r, a]
|
|
1134
|
+
), u = C(() => {
|
|
1135
|
+
a({
|
|
1104
1136
|
limitPriceUi: void 0,
|
|
1105
1137
|
limitPricePercent: void 0
|
|
1106
1138
|
});
|
|
1107
|
-
}, [
|
|
1108
|
-
|
|
1139
|
+
}, [a]), S = !o.isMarketOrder, h = C(() => {
|
|
1140
|
+
a({
|
|
1109
1141
|
isMarketOrder: !o.isMarketOrder,
|
|
1110
1142
|
...o.isMarketOrder ? {} : { isPriceInverted: !1 },
|
|
1111
|
-
...!o.isMarketOrder && s ===
|
|
1143
|
+
...!o.isMarketOrder && s === Q.STOP_LOSS ? { limitPricePercent: void 0 } : {}
|
|
1112
1144
|
});
|
|
1113
|
-
}, [s,
|
|
1114
|
-
return
|
|
1145
|
+
}, [s, a, o.isMarketOrder]);
|
|
1146
|
+
return R(
|
|
1115
1147
|
() => ({
|
|
1116
1148
|
price: i.display,
|
|
1117
1149
|
canonicalPriceRaw: i.raw,
|
|
1118
1150
|
error: i.error,
|
|
1119
|
-
onInputChange:
|
|
1120
|
-
onPercentageChange:
|
|
1121
|
-
onReset:
|
|
1151
|
+
onInputChange: m,
|
|
1152
|
+
onPercentageChange: E,
|
|
1153
|
+
onReset: u,
|
|
1122
1154
|
inputToken: t,
|
|
1123
1155
|
outputToken: n,
|
|
1124
|
-
displayInputToken:
|
|
1125
|
-
displayOutputToken:
|
|
1156
|
+
displayInputToken: c ? n : t,
|
|
1157
|
+
displayOutputToken: c ? t : n,
|
|
1126
1158
|
percentage: i.percentage,
|
|
1127
1159
|
isLoading: !!e,
|
|
1128
|
-
isEnabled:
|
|
1129
|
-
toggle:
|
|
1160
|
+
isEnabled: S,
|
|
1161
|
+
toggle: h,
|
|
1130
1162
|
isTypedValue: i.isTypedValue
|
|
1131
1163
|
}),
|
|
1132
1164
|
[
|
|
1133
1165
|
t,
|
|
1134
|
-
|
|
1135
|
-
|
|
1166
|
+
c,
|
|
1167
|
+
S,
|
|
1136
1168
|
i,
|
|
1137
1169
|
e,
|
|
1170
|
+
m,
|
|
1138
1171
|
E,
|
|
1139
|
-
|
|
1140
|
-
d,
|
|
1172
|
+
u,
|
|
1141
1173
|
n,
|
|
1142
|
-
|
|
1174
|
+
h
|
|
1143
1175
|
]
|
|
1144
1176
|
);
|
|
1145
|
-
},
|
|
1146
|
-
const { marketPriceLoading: e } =
|
|
1147
|
-
return
|
|
1177
|
+
}, hr = () => {
|
|
1178
|
+
const { marketPriceLoading: e } = L(), { outputAmount: t } = W();
|
|
1179
|
+
return R(
|
|
1148
1180
|
() => ({
|
|
1149
1181
|
amount: t,
|
|
1150
1182
|
isLoading: !!e
|
|
1151
1183
|
}),
|
|
1152
1184
|
[e, t]
|
|
1153
1185
|
);
|
|
1154
|
-
},
|
|
1155
|
-
const { inputToken: e, outputToken: t } =
|
|
1186
|
+
}, Er = () => {
|
|
1187
|
+
const { inputToken: e, outputToken: t } = L(), n = A((a) => a.updateState), { isInverted: r, values: i } = W(), o = A((a) => a.state.triggerPriceUi), s = A((a) => a.state.limitPriceUi), c = C(() => {
|
|
1156
1188
|
n({
|
|
1157
1189
|
isPriceInverted: !r,
|
|
1158
|
-
...o !== void 0 ? { triggerPriceUi:
|
|
1159
|
-
...s !== void 0 ? { limitPriceUi:
|
|
1190
|
+
...o !== void 0 ? { triggerPriceUi: Ee(o) } : {},
|
|
1191
|
+
...s !== void 0 ? { limitPriceUi: Ee(s) } : {}
|
|
1160
1192
|
});
|
|
1161
1193
|
}, [n, r, o, s]);
|
|
1162
|
-
return
|
|
1194
|
+
return R(
|
|
1163
1195
|
() => ({
|
|
1164
|
-
onInvert:
|
|
1196
|
+
onInvert: c,
|
|
1165
1197
|
isInverted: r,
|
|
1166
1198
|
inputToken: e,
|
|
1167
1199
|
outputToken: t,
|
|
@@ -1169,36 +1201,47 @@ const vt = ({
|
|
|
1169
1201
|
displayOutputToken: r ? e : t,
|
|
1170
1202
|
isMarketOrder: i.isMarketOrder
|
|
1171
1203
|
}),
|
|
1172
|
-
[e, r,
|
|
1204
|
+
[e, r, c, t, i.isMarketOrder]
|
|
1173
1205
|
);
|
|
1174
|
-
},
|
|
1206
|
+
}, Ge = (e, t, n) => {
|
|
1207
|
+
if (!e || typeof t.maker != "string" || !n || !t.rawOrder || !("order" in t.rawOrder)) return !1;
|
|
1208
|
+
const r = t.rawOrder.order.witness.exchange.adapter;
|
|
1209
|
+
let i;
|
|
1210
|
+
try {
|
|
1211
|
+
i = JSON.parse(e);
|
|
1212
|
+
} catch {
|
|
1213
|
+
return !1;
|
|
1214
|
+
}
|
|
1215
|
+
return Array.isArray(i) && typeof i[0] == "string" && typeof i[1] == "string" && i[0].toLowerCase() === t.maker.toLowerCase() && i[1].toLowerCase() === r.toLowerCase() && i[2] === n && i[3] === t.chainId;
|
|
1216
|
+
}, Be = (e, t) => {
|
|
1217
|
+
const n = e.getState(), r = n.orders.key;
|
|
1218
|
+
return Ge(r, t, n.state.currentExecution.partner) ? (n.addOrder(t), e.getState().orders.key === r) : !1;
|
|
1219
|
+
}, Ke = async ({ store: e, callbacks: t, order: n, executionId: r, signal: i }) => {
|
|
1175
1220
|
const o = new AbortController(), s = () => {
|
|
1176
1221
|
(i.aborted || e.getState().state.currentExecution.executionId !== r) && o.abort();
|
|
1177
1222
|
};
|
|
1178
1223
|
i.addEventListener("abort", s, { once: !0 });
|
|
1179
|
-
const
|
|
1224
|
+
const c = e.subscribe(s);
|
|
1180
1225
|
s();
|
|
1181
1226
|
try {
|
|
1182
|
-
let
|
|
1183
|
-
|
|
1227
|
+
let a = n;
|
|
1228
|
+
o.signal.aborted || w(() => Be(e, n));
|
|
1229
|
+
for await (const m of Ye({ order: n, signal: o.signal }))
|
|
1184
1230
|
o.signal.aborted || (w(() => {
|
|
1185
|
-
const
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
} })), we([d ?? n], [E], t);
|
|
1190
|
-
}), c = E);
|
|
1191
|
-
return c;
|
|
1231
|
+
const E = e.getState();
|
|
1232
|
+
Ge(E.orders.key, n, E.state.currentExecution.partner) && E.updateOrder(m, t);
|
|
1233
|
+
}), a = m);
|
|
1234
|
+
return a;
|
|
1192
1235
|
} finally {
|
|
1193
|
-
|
|
1236
|
+
c(), i.removeEventListener("abort", s), o.abort();
|
|
1194
1237
|
}
|
|
1195
|
-
},
|
|
1238
|
+
}, jt = (e) => new Promise((t) => setTimeout(t, e)), _e = (e, t) => {
|
|
1196
1239
|
if (!/^\d+$/.test(e))
|
|
1197
1240
|
throw new Error(
|
|
1198
1241
|
`${t} must be a non-negative integer base-unit amount`
|
|
1199
1242
|
);
|
|
1200
1243
|
return BigInt(e);
|
|
1201
|
-
},
|
|
1244
|
+
}, Vt = (e) => {
|
|
1202
1245
|
if (!e.client) throw new Error("Spot client is unavailable");
|
|
1203
1246
|
if (!e.chainId || !Number.isSafeInteger(e.chainId) || e.chainId <= 0)
|
|
1204
1247
|
throw new Error("Spot is unavailable on the connected chain");
|
|
@@ -1210,10 +1253,10 @@ const vt = ({
|
|
|
1210
1253
|
throw new Error("missing wrappedNativeToken for native input");
|
|
1211
1254
|
if (!e.form.canSubmit)
|
|
1212
1255
|
throw new Error("Order form is not submittable");
|
|
1213
|
-
if (e.form.module ===
|
|
1256
|
+
if (e.form.module === Q.SWAP && !e.waitForOrderFill)
|
|
1214
1257
|
throw new Error("Swap settlement tracking is unavailable");
|
|
1215
1258
|
const n = e.form.inputAmount.raw;
|
|
1216
|
-
return
|
|
1259
|
+
return _e(n, "Input amount"), {
|
|
1217
1260
|
account: e.account,
|
|
1218
1261
|
chainId: e.chainId,
|
|
1219
1262
|
inputToken: e.inputToken,
|
|
@@ -1222,7 +1265,7 @@ const vt = ({
|
|
|
1222
1265
|
client: e.client,
|
|
1223
1266
|
inputAmountRaw: n
|
|
1224
1267
|
};
|
|
1225
|
-
},
|
|
1268
|
+
}, Qt = ({
|
|
1226
1269
|
analytics: e,
|
|
1227
1270
|
account: t,
|
|
1228
1271
|
chainId: n,
|
|
@@ -1230,7 +1273,7 @@ const vt = ({
|
|
|
1230
1273
|
outputToken: i,
|
|
1231
1274
|
preparedOrder: o
|
|
1232
1275
|
}) => {
|
|
1233
|
-
const { form: s, values:
|
|
1276
|
+
const { form: s, values: c } = o;
|
|
1234
1277
|
w(
|
|
1235
1278
|
() => e.onRequestOrder({
|
|
1236
1279
|
account: t,
|
|
@@ -1238,18 +1281,19 @@ const vt = ({
|
|
|
1238
1281
|
module: s.module,
|
|
1239
1282
|
srcToken: r,
|
|
1240
1283
|
dstToken: i,
|
|
1241
|
-
fromTokenAmount:
|
|
1242
|
-
srcChunkAmount:
|
|
1243
|
-
triggerPricePerTrade:
|
|
1244
|
-
deadline:
|
|
1245
|
-
fillDelay:
|
|
1246
|
-
minDstAmountOutPerTrade:
|
|
1284
|
+
fromTokenAmount: c.inputAmount,
|
|
1285
|
+
srcChunkAmount: c.inputAmountPerTrade,
|
|
1286
|
+
triggerPricePerTrade: c.triggerOutputAmountPerTrade,
|
|
1287
|
+
deadline: c.deadlineMillis,
|
|
1288
|
+
fillDelay: c.fillDelayMillis,
|
|
1289
|
+
minDstAmountOutPerTrade: c.minOutputAmountPerTrade,
|
|
1247
1290
|
slippage: s.values.slippageBps / 100,
|
|
1248
|
-
isMarketOrder:
|
|
1249
|
-
chunksAmount:
|
|
1291
|
+
isMarketOrder: c.isMarketOrder,
|
|
1292
|
+
chunksAmount: c.totalTrades
|
|
1250
1293
|
})
|
|
1251
1294
|
);
|
|
1252
|
-
},
|
|
1295
|
+
}, Jt = async (e) => {
|
|
1296
|
+
var P, x;
|
|
1253
1297
|
const {
|
|
1254
1298
|
form: t,
|
|
1255
1299
|
walletInteractions: n,
|
|
@@ -1257,148 +1301,169 @@ const vt = ({
|
|
|
1257
1301
|
addNewOrder: i,
|
|
1258
1302
|
refetchActiveOrders: o,
|
|
1259
1303
|
getCurrentExecution: s,
|
|
1260
|
-
beginExecution:
|
|
1261
|
-
replaceExecution:
|
|
1262
|
-
wait:
|
|
1304
|
+
beginExecution: c,
|
|
1305
|
+
replaceExecution: a,
|
|
1306
|
+
wait: m = jt
|
|
1263
1307
|
} = e;
|
|
1264
|
-
let
|
|
1308
|
+
let E;
|
|
1265
1309
|
try {
|
|
1266
|
-
|
|
1267
|
-
} catch (
|
|
1268
|
-
const
|
|
1310
|
+
E = Vt(e);
|
|
1311
|
+
} catch (y) {
|
|
1312
|
+
const v = X(y), f = te(y), N = c({
|
|
1313
|
+
account: e.account,
|
|
1314
|
+
partner: (P = e.client) == null ? void 0 : P.partner,
|
|
1269
1315
|
form: t,
|
|
1270
1316
|
inputToken: e.inputToken,
|
|
1271
1317
|
outputToken: e.outputToken,
|
|
1272
1318
|
chainId: e.chainId
|
|
1273
1319
|
});
|
|
1274
|
-
throw
|
|
1275
|
-
...
|
|
1276
|
-
phase:
|
|
1277
|
-
error:
|
|
1278
|
-
parsedError:
|
|
1320
|
+
throw N && a(N.executionId, {
|
|
1321
|
+
...N,
|
|
1322
|
+
phase: d.FAILED,
|
|
1323
|
+
error: v,
|
|
1324
|
+
parsedError: f
|
|
1279
1325
|
}), w(
|
|
1280
1326
|
() => {
|
|
1281
|
-
var
|
|
1282
|
-
return (
|
|
1327
|
+
var _;
|
|
1328
|
+
return (_ = r == null ? void 0 : r.onSubmitOrderFailed) == null ? void 0 : _.call(r, f);
|
|
1283
1329
|
}
|
|
1284
|
-
),
|
|
1330
|
+
), v;
|
|
1285
1331
|
}
|
|
1286
1332
|
const {
|
|
1287
|
-
account:
|
|
1288
|
-
chainId:
|
|
1289
|
-
inputToken:
|
|
1290
|
-
orderInputToken:
|
|
1291
|
-
outputToken:
|
|
1292
|
-
client:
|
|
1293
|
-
inputAmountRaw:
|
|
1294
|
-
} =
|
|
1295
|
-
execution:
|
|
1296
|
-
account:
|
|
1297
|
-
chainId:
|
|
1298
|
-
inputTokenAddress:
|
|
1299
|
-
inputAmountRaw:
|
|
1300
|
-
}),
|
|
1333
|
+
account: u,
|
|
1334
|
+
chainId: S,
|
|
1335
|
+
inputToken: h,
|
|
1336
|
+
orderInputToken: O,
|
|
1337
|
+
outputToken: p,
|
|
1338
|
+
client: I,
|
|
1339
|
+
inputAmountRaw: T
|
|
1340
|
+
} = E, { analytics: j } = I, V = s(), F = ft({
|
|
1341
|
+
execution: V,
|
|
1342
|
+
account: u,
|
|
1343
|
+
chainId: S,
|
|
1344
|
+
inputTokenAddress: h.address,
|
|
1345
|
+
inputAmountRaw: T
|
|
1346
|
+
}), B = c({
|
|
1347
|
+
account: u,
|
|
1348
|
+
partner: I.partner,
|
|
1301
1349
|
form: t,
|
|
1302
|
-
inputToken:
|
|
1303
|
-
outputToken:
|
|
1304
|
-
chainId:
|
|
1305
|
-
completedWrap:
|
|
1306
|
-
wrapTxHash:
|
|
1350
|
+
inputToken: h,
|
|
1351
|
+
outputToken: p,
|
|
1352
|
+
chainId: S,
|
|
1353
|
+
completedWrap: F,
|
|
1354
|
+
wrapTxHash: F == null ? void 0 : F.txHash
|
|
1307
1355
|
});
|
|
1308
|
-
if (!
|
|
1309
|
-
const
|
|
1310
|
-
let
|
|
1311
|
-
const
|
|
1312
|
-
const
|
|
1313
|
-
...
|
|
1314
|
-
...
|
|
1315
|
-
executionId:
|
|
1316
|
-
phase:
|
|
1356
|
+
if (!B) return;
|
|
1357
|
+
const G = B.executionId;
|
|
1358
|
+
let K = B;
|
|
1359
|
+
const g = (y, v = {}) => {
|
|
1360
|
+
const f = {
|
|
1361
|
+
...K,
|
|
1362
|
+
...v,
|
|
1363
|
+
executionId: G,
|
|
1364
|
+
phase: y
|
|
1317
1365
|
};
|
|
1318
|
-
if (!
|
|
1366
|
+
if (!a(G, f))
|
|
1319
1367
|
throw new Error("Execution is no longer current");
|
|
1320
|
-
|
|
1321
|
-
},
|
|
1322
|
-
const
|
|
1323
|
-
...
|
|
1324
|
-
...
|
|
1325
|
-
executionId:
|
|
1326
|
-
phase:
|
|
1368
|
+
K = f;
|
|
1369
|
+
}, l = (y, v = {}) => {
|
|
1370
|
+
const f = {
|
|
1371
|
+
...K,
|
|
1372
|
+
...v,
|
|
1373
|
+
executionId: G,
|
|
1374
|
+
phase: y
|
|
1327
1375
|
};
|
|
1328
|
-
return
|
|
1376
|
+
return a(G, f) ? (K = f, !0) : !1;
|
|
1329
1377
|
};
|
|
1330
1378
|
try {
|
|
1331
|
-
const { order:
|
|
1332
|
-
client:
|
|
1333
|
-
account:
|
|
1334
|
-
inputTokenAddress:
|
|
1335
|
-
inputAmountRaw:
|
|
1336
|
-
nativeInput: $(
|
|
1337
|
-
completedWrapTxHash:
|
|
1379
|
+
const { order: y } = await Xe({
|
|
1380
|
+
client: I,
|
|
1381
|
+
account: u,
|
|
1382
|
+
inputTokenAddress: O.address,
|
|
1383
|
+
inputAmountRaw: T,
|
|
1384
|
+
nativeInput: $(h.address),
|
|
1385
|
+
completedWrapTxHash: F == null ? void 0 : F.txHash,
|
|
1338
1386
|
walletInteractions: n,
|
|
1339
|
-
wait:
|
|
1387
|
+
wait: m,
|
|
1340
1388
|
signal: e.signal,
|
|
1341
|
-
prepareOrder: () =>
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1389
|
+
prepareOrder: async () => {
|
|
1390
|
+
var f;
|
|
1391
|
+
if (t.module === Q.SWAP) {
|
|
1392
|
+
const N = await I.getQuote({
|
|
1393
|
+
inToken: O.address,
|
|
1394
|
+
outToken: p.address,
|
|
1395
|
+
inAmount: T,
|
|
1396
|
+
user: u,
|
|
1397
|
+
slippage: 0,
|
|
1398
|
+
dexMinAmountOut: "-1",
|
|
1399
|
+
signal: e.signal
|
|
1400
|
+
});
|
|
1401
|
+
if ((f = e.signal) == null || f.throwIfAborted(), BigInt(N.netAmountOut) < _e(t.values.minOutputAmountPerTrade, "Minimum output"))
|
|
1402
|
+
throw new ve("INVALID_QUOTE", "Swap price changed. Review a fresh quote before signing.");
|
|
1403
|
+
}
|
|
1404
|
+
return I.prepareOrder({
|
|
1405
|
+
form: t,
|
|
1406
|
+
inputTokenAddress: O.address,
|
|
1407
|
+
outputTokenAddress: p.address,
|
|
1408
|
+
swapperAddress: u
|
|
1409
|
+
});
|
|
1410
|
+
},
|
|
1347
1411
|
validateContext: () => {
|
|
1348
|
-
if (s().executionId !==
|
|
1412
|
+
if (s().executionId !== G) throw new Error("Execution is no longer current");
|
|
1349
1413
|
},
|
|
1350
|
-
onUpdate: (
|
|
1351
|
-
const
|
|
1352
|
-
|
|
1353
|
-
pendingSteps:
|
|
1354
|
-
totalSteps:
|
|
1355
|
-
stepIndex:
|
|
1356
|
-
hasApproval:
|
|
1357
|
-
wrapTxHash:
|
|
1358
|
-
approveTxHash:
|
|
1359
|
-
...
|
|
1360
|
-
...
|
|
1361
|
-
completedWrap: { account:
|
|
1414
|
+
onUpdate: (f) => {
|
|
1415
|
+
const N = f.steps.map((U) => ({ wrap: z.WRAP, approve: z.APPROVE, create: z.CREATE })[U]), _ = f.phase;
|
|
1416
|
+
g(_, {
|
|
1417
|
+
pendingSteps: N,
|
|
1418
|
+
totalSteps: N.length,
|
|
1419
|
+
stepIndex: f.stepIndex,
|
|
1420
|
+
hasApproval: f.hasApproval,
|
|
1421
|
+
wrapTxHash: f.wrapTxHash,
|
|
1422
|
+
approveTxHash: f.approvalTxHash,
|
|
1423
|
+
...f.preparedOrder ? { preparedOrder: f.preparedOrder } : {},
|
|
1424
|
+
...f.phase === "wrapping" && f.event === "success" && f.wrapTxHash ? {
|
|
1425
|
+
completedWrap: { account: u, chainId: S, inputTokenAddress: h.address, inputAmountRaw: T, txHash: f.wrapTxHash }
|
|
1362
1426
|
} : {}
|
|
1363
|
-
}),
|
|
1364
|
-
var
|
|
1365
|
-
return (
|
|
1366
|
-
})),
|
|
1367
|
-
var
|
|
1368
|
-
return (
|
|
1369
|
-
})),
|
|
1370
|
-
var
|
|
1371
|
-
return (
|
|
1372
|
-
}),
|
|
1373
|
-
var
|
|
1374
|
-
return (
|
|
1427
|
+
}), f.phase === "wrapping" && (f.event === "request" && w(r == null ? void 0 : r.onWrapRequest), f.event === "success" && f.wrapTxHash && w(() => {
|
|
1428
|
+
var U;
|
|
1429
|
+
return (U = r == null ? void 0 : r.onWrapSuccess) == null ? void 0 : U.call(r, { txHash: f.wrapTxHash, amount: ne(f.wrapAmountRaw ?? T, O.decimals) });
|
|
1430
|
+
})), f.phase === "approving" && (f.event === "request" && w(r == null ? void 0 : r.onApproveRequest), f.event === "success" && f.approvalTxHash && w(() => {
|
|
1431
|
+
var U;
|
|
1432
|
+
return (U = r == null ? void 0 : r.onApproveSuccess) == null ? void 0 : U.call(r, { txHash: f.approvalTxHash, token: O, amount: ne(T, O.decimals) });
|
|
1433
|
+
})), f.phase === "signing" && (f.event === "prepared" && f.preparedOrder && (Qt({ analytics: j, account: u, chainId: S, inputToken: h, outputToken: p, preparedOrder: f.preparedOrder }), w(r == null ? void 0 : r.onSignOrderRequest)), f.event === "success" && f.signature && w(() => {
|
|
1434
|
+
var U;
|
|
1435
|
+
return (U = r == null ? void 0 : r.onSignOrderSuccess) == null ? void 0 : U.call(r, f.signature);
|
|
1436
|
+
}), f.event === "error" && w(() => {
|
|
1437
|
+
var U;
|
|
1438
|
+
return (U = r == null ? void 0 : r.onSignOrderError) == null ? void 0 : U.call(r, X(f.error));
|
|
1375
1439
|
}));
|
|
1376
1440
|
}
|
|
1377
|
-
}),
|
|
1378
|
-
if (
|
|
1379
|
-
orderId:
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1441
|
+
}), v = t.module === Q.SWAP;
|
|
1442
|
+
if (g(v ? d.SETTLING : d.SUCCESS, {
|
|
1443
|
+
orderId: y.id.toString(),
|
|
1444
|
+
order: y
|
|
1445
|
+
}), w(() => i(y)), v || w(() => o()), w(() => {
|
|
1446
|
+
var f;
|
|
1447
|
+
return (f = r == null ? void 0 : r.onOrderCreated) == null ? void 0 : f.call(r, y);
|
|
1448
|
+
}), v) {
|
|
1449
|
+
const f = await e.waitForOrderFill(y, G);
|
|
1450
|
+
return g(d.SUCCESS, { order: f }), f;
|
|
1386
1451
|
}
|
|
1387
|
-
return
|
|
1388
|
-
} catch (
|
|
1389
|
-
const
|
|
1390
|
-
throw
|
|
1391
|
-
|
|
1452
|
+
return y;
|
|
1453
|
+
} catch (y) {
|
|
1454
|
+
const v = K.phase, f = X(y), _ = !(v === d.SUBMITTING && ((x = e.signal) == null ? void 0 : x.aborted) && y === e.signal.reason) && Fe(y, v), U = !_ && Ce(y);
|
|
1455
|
+
throw l(
|
|
1456
|
+
_ ? d.UNCONFIRMED : U ? d.REJECTED : d.FAILED,
|
|
1392
1457
|
{
|
|
1393
|
-
error:
|
|
1394
|
-
parsedError:
|
|
1458
|
+
error: f,
|
|
1459
|
+
parsedError: te(y)
|
|
1395
1460
|
}
|
|
1396
|
-
),
|
|
1397
|
-
var
|
|
1398
|
-
return (
|
|
1399
|
-
}),
|
|
1461
|
+
), U ? w(r == null ? void 0 : r.onSubmitOrderRejected) : v !== d.SETTLING && w(() => {
|
|
1462
|
+
var ge;
|
|
1463
|
+
return (ge = r == null ? void 0 : r.onSubmitOrderFailed) == null ? void 0 : ge.call(r, te(y));
|
|
1464
|
+
}), f;
|
|
1400
1465
|
}
|
|
1401
|
-
},
|
|
1466
|
+
}, zt = () => {
|
|
1402
1467
|
const { data: e } = J(), {
|
|
1403
1468
|
inputToken: t,
|
|
1404
1469
|
outputToken: n,
|
|
@@ -1406,74 +1471,149 @@ const vt = ({
|
|
|
1406
1471
|
chainId: i,
|
|
1407
1472
|
callbacks: o,
|
|
1408
1473
|
account: s,
|
|
1409
|
-
walletInteractions:
|
|
1410
|
-
} =
|
|
1411
|
-
return
|
|
1412
|
-
var
|
|
1413
|
-
return (
|
|
1414
|
-
}, [s, i, e]),
|
|
1415
|
-
if (!
|
|
1416
|
-
const
|
|
1417
|
-
|
|
1418
|
-
signal:
|
|
1474
|
+
walletInteractions: c
|
|
1475
|
+
} = L(), a = Nt(), m = Lt(), E = W(), u = b(), S = le(void 0);
|
|
1476
|
+
return Y(() => () => {
|
|
1477
|
+
var h;
|
|
1478
|
+
return (h = S.current) == null ? void 0 : h.abort();
|
|
1479
|
+
}, [s, i, e]), C(() => {
|
|
1480
|
+
if (!Le(u.getState().state.currentExecution.phase)) return;
|
|
1481
|
+
const h = new AbortController();
|
|
1482
|
+
S.current = h, Jt({
|
|
1483
|
+
signal: h.signal,
|
|
1419
1484
|
account: s,
|
|
1420
1485
|
chainId: i,
|
|
1421
1486
|
inputToken: t,
|
|
1422
1487
|
outputToken: n,
|
|
1423
1488
|
wrappedNativeToken: r,
|
|
1424
|
-
form:
|
|
1489
|
+
form: E,
|
|
1425
1490
|
client: e,
|
|
1426
|
-
walletInteractions:
|
|
1491
|
+
walletInteractions: c,
|
|
1427
1492
|
callbacks: o,
|
|
1428
|
-
addNewOrder:
|
|
1429
|
-
refetchActiveOrders:
|
|
1430
|
-
waitForOrderFill: (
|
|
1431
|
-
getCurrentExecution: () =>
|
|
1432
|
-
beginExecution:
|
|
1433
|
-
replaceExecution:
|
|
1493
|
+
addNewOrder: a,
|
|
1494
|
+
refetchActiveOrders: m,
|
|
1495
|
+
waitForOrderFill: (O, p) => Ke({ store: u, callbacks: o, order: O, executionId: p, signal: h.signal }),
|
|
1496
|
+
getCurrentExecution: () => u.getState().state.currentExecution,
|
|
1497
|
+
beginExecution: u.getState().beginExecution,
|
|
1498
|
+
replaceExecution: u.getState().replaceExecution
|
|
1434
1499
|
}).catch(() => {
|
|
1435
1500
|
}).finally(() => {
|
|
1436
|
-
|
|
1501
|
+
S.current === h && (S.current = void 0);
|
|
1437
1502
|
});
|
|
1438
1503
|
}, [
|
|
1439
1504
|
s,
|
|
1440
|
-
|
|
1505
|
+
a,
|
|
1441
1506
|
o,
|
|
1442
1507
|
i,
|
|
1443
1508
|
e,
|
|
1444
|
-
|
|
1509
|
+
E,
|
|
1445
1510
|
t,
|
|
1446
1511
|
n,
|
|
1447
1512
|
r,
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1513
|
+
m,
|
|
1514
|
+
u,
|
|
1515
|
+
c
|
|
1451
1516
|
]);
|
|
1452
|
-
},
|
|
1517
|
+
}, $t = () => {
|
|
1453
1518
|
const e = A((n) => n.state.currentExecution), t = A(
|
|
1454
1519
|
(n) => n.returnToOrderForm
|
|
1455
1520
|
);
|
|
1456
|
-
return
|
|
1521
|
+
return R(
|
|
1457
1522
|
() => ({ ...e, returnToOrderForm: t }),
|
|
1458
1523
|
[e, t]
|
|
1459
1524
|
);
|
|
1460
|
-
},
|
|
1461
|
-
|
|
1525
|
+
}, ye = (e) => {
|
|
1526
|
+
if (typeof e == "number" && Number.isSafeInteger(e) && e >= 0 || typeof e == "string" && /^\d+$/.test(e)) return BigInt(e);
|
|
1527
|
+
}, He = (e, t) => {
|
|
1528
|
+
if (e !== null && typeof e == "object")
|
|
1529
|
+
return t === null || typeof t != "object" ? !1 : Object.entries(e).every(
|
|
1530
|
+
([i, o]) => He(o, Reflect.get(t, i))
|
|
1531
|
+
);
|
|
1532
|
+
const n = ye(e), r = ye(t);
|
|
1533
|
+
return n !== void 0 || r !== void 0 ? n !== void 0 && n === r : typeof e == "number" || typeof t == "number" ? !1 : typeof e == "string" && typeof t == "string" && /^0x/i.test(e) ? e.toLowerCase() === t.toLowerCase() : e === t;
|
|
1534
|
+
}, Yt = (e, t) => e.find(
|
|
1535
|
+
(n) => n.version === 2 && "order" in n.rawOrder && He(t, n.rawOrder.order)
|
|
1536
|
+
);
|
|
1537
|
+
async function Xt({ store: e, callbacks: t, signal: n }) {
|
|
1538
|
+
var c;
|
|
1539
|
+
const r = e.getState().state.currentExecution;
|
|
1540
|
+
if (r.phase !== d.UNCONFIRMED || r.executionId === void 0) return;
|
|
1541
|
+
const i = r.executionId;
|
|
1542
|
+
let o = {
|
|
1543
|
+
...r,
|
|
1544
|
+
phase: d.SETTLING,
|
|
1545
|
+
error: void 0,
|
|
1546
|
+
parsedError: void 0
|
|
1547
|
+
};
|
|
1548
|
+
if (!e.getState().replaceExecution(i, o)) return;
|
|
1549
|
+
const s = (a, m = {}) => {
|
|
1550
|
+
const E = { ...o, ...m, phase: a };
|
|
1551
|
+
return e.getState().replaceExecution(i, E) ? (o = E, !0) : !1;
|
|
1552
|
+
};
|
|
1553
|
+
try {
|
|
1554
|
+
n.throwIfAborted();
|
|
1555
|
+
let a = o.order;
|
|
1556
|
+
const m = !a;
|
|
1557
|
+
if (!a || a.status === M.Open && a.deadline + 6e4 <= Date.now()) {
|
|
1558
|
+
if (!o.account || !o.chainId || !a && !o.preparedOrder)
|
|
1559
|
+
throw new Error("The original swap status is still unknown. Check its account history before starting another swap.");
|
|
1560
|
+
const u = await Ze({
|
|
1561
|
+
swapper: o.account,
|
|
1562
|
+
chainId: o.chainId,
|
|
1563
|
+
getv1orders: !1,
|
|
1564
|
+
signal: n
|
|
1565
|
+
}), S = a;
|
|
1566
|
+
if (a = S ? u.find((h) => h.id.toLowerCase() === S.id.toLowerCase() && h.chainId === S.chainId && h.historyKey === S.historyKey) : o.preparedOrder && Yt(u, o.preparedOrder.order), !a)
|
|
1567
|
+
throw new we(
|
|
1568
|
+
"The original order has not appeared in history yet. Check its status again before starting another swap.",
|
|
1569
|
+
"unconfirmed",
|
|
1570
|
+
o.orderId ?? ""
|
|
1571
|
+
);
|
|
1572
|
+
}
|
|
1573
|
+
if (n.throwIfAborted(), !s(d.SETTLING, { order: a, orderId: a.id })) return;
|
|
1574
|
+
w(() => Be(e, a)), m && w(() => {
|
|
1575
|
+
var u;
|
|
1576
|
+
return (u = t == null ? void 0 : t.onOrderCreated) == null ? void 0 : u.call(t, a);
|
|
1577
|
+
});
|
|
1578
|
+
const E = ((c = o.form) == null ? void 0 : c.module) === Q.SWAP ? await Ke({ store: e, callbacks: t, order: a, executionId: i, signal: n }) : a;
|
|
1579
|
+
return s(d.SUCCESS, { order: E, orderId: E.id }), E;
|
|
1580
|
+
} catch (a) {
|
|
1581
|
+
throw s(Fe(a, d.SETTLING) ? d.UNCONFIRMED : d.FAILED, {
|
|
1582
|
+
error: X(a),
|
|
1583
|
+
parsedError: te(a)
|
|
1584
|
+
}), a;
|
|
1585
|
+
}
|
|
1586
|
+
}
|
|
1587
|
+
const Zt = () => {
|
|
1588
|
+
const e = b(), { callbacks: t } = L(), n = le(void 0);
|
|
1589
|
+
return Y(() => () => {
|
|
1590
|
+
var r;
|
|
1591
|
+
return (r = n.current) == null ? void 0 : r.abort();
|
|
1592
|
+
}, []), C(() => {
|
|
1593
|
+
if (n.current) return;
|
|
1594
|
+
const r = new AbortController();
|
|
1595
|
+
n.current = r, Xt({ store: e, callbacks: t, signal: r.signal }).catch(() => {
|
|
1596
|
+
}).finally(() => {
|
|
1597
|
+
n.current === r && (n.current = void 0);
|
|
1598
|
+
});
|
|
1599
|
+
}, [t, e]);
|
|
1600
|
+
}, Sr = () => {
|
|
1601
|
+
const e = $t(), {
|
|
1462
1602
|
inputToken: t,
|
|
1463
1603
|
outputToken: n,
|
|
1464
1604
|
chainId: r,
|
|
1465
1605
|
hasChainId: i,
|
|
1466
1606
|
module: o,
|
|
1467
1607
|
overrides: s
|
|
1468
|
-
} =
|
|
1469
|
-
() =>
|
|
1470
|
-
[o, s,
|
|
1471
|
-
),
|
|
1472
|
-
return
|
|
1608
|
+
} = L(), { data: c, isLoading: a } = J(), m = zt(), E = Zt(), u = A((T) => T.startNewOrder), S = C(() => m(), [m]), h = C(
|
|
1609
|
+
() => u(xe({ module: o, overrides: s })),
|
|
1610
|
+
[o, s, u]
|
|
1611
|
+
), O = lt(e.phase), p = mt(e.phase), I = ie(e.phase);
|
|
1612
|
+
return R(() => ({
|
|
1473
1613
|
phase: e.phase,
|
|
1474
|
-
status:
|
|
1614
|
+
status: O,
|
|
1475
1615
|
error: e.parsedError,
|
|
1476
|
-
currentStep:
|
|
1616
|
+
currentStep: p,
|
|
1477
1617
|
currentStepIndex: e.stepIndex,
|
|
1478
1618
|
approvalTxHash: e.approveTxHash,
|
|
1479
1619
|
wrapTxHash: e.wrapTxHash,
|
|
@@ -1482,30 +1622,36 @@ const vt = ({
|
|
|
1482
1622
|
inputToken: e.inputToken ?? t,
|
|
1483
1623
|
outputToken: e.outputToken ?? n,
|
|
1484
1624
|
chainId: e.chainId ?? r,
|
|
1485
|
-
|
|
1486
|
-
|
|
1625
|
+
account: e.account,
|
|
1626
|
+
orderId: e.orderId,
|
|
1627
|
+
order: e.order,
|
|
1628
|
+
submitOrder: S,
|
|
1629
|
+
resumeTracking: E,
|
|
1630
|
+
startNewOrder: h,
|
|
1487
1631
|
returnToOrderForm: e.returnToOrderForm,
|
|
1488
|
-
isExecuting:
|
|
1489
|
-
isSuccess: e.phase ===
|
|
1490
|
-
isFailed: e.phase ===
|
|
1491
|
-
isRejected: e.phase ===
|
|
1492
|
-
|
|
1493
|
-
|
|
1632
|
+
isExecuting: I,
|
|
1633
|
+
isSuccess: e.phase === d.SUCCESS,
|
|
1634
|
+
isFailed: e.phase === d.FAILED,
|
|
1635
|
+
isRejected: e.phase === d.REJECTED,
|
|
1636
|
+
isUnconfirmed: e.phase === d.UNCONFIRMED,
|
|
1637
|
+
isPreparingOrder: e.phase === d.PREPARING || i && a && !c,
|
|
1638
|
+
canDismiss: !I
|
|
1494
1639
|
}), [
|
|
1495
|
-
|
|
1496
|
-
|
|
1640
|
+
c,
|
|
1641
|
+
p,
|
|
1497
1642
|
t,
|
|
1498
1643
|
n,
|
|
1499
1644
|
r,
|
|
1500
|
-
|
|
1501
|
-
|
|
1645
|
+
a,
|
|
1646
|
+
I,
|
|
1502
1647
|
i,
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1648
|
+
h,
|
|
1649
|
+
S,
|
|
1650
|
+
E,
|
|
1651
|
+
O,
|
|
1506
1652
|
e
|
|
1507
1653
|
]);
|
|
1508
|
-
},
|
|
1654
|
+
}, Ir = () => {
|
|
1509
1655
|
const {
|
|
1510
1656
|
inputToken: e,
|
|
1511
1657
|
outputToken: t,
|
|
@@ -1514,25 +1660,25 @@ const vt = ({
|
|
|
1514
1660
|
noLiquidity: i,
|
|
1515
1661
|
inputAmountUi: o,
|
|
1516
1662
|
marketPriceLoading: s,
|
|
1517
|
-
hasChainId:
|
|
1518
|
-
} =
|
|
1519
|
-
(
|
|
1520
|
-
),
|
|
1521
|
-
return
|
|
1522
|
-
disabled:
|
|
1523
|
-
loading:
|
|
1524
|
-
}), [
|
|
1525
|
-
},
|
|
1526
|
-
const { inputToken: e, outputToken: t, callbacks: n } =
|
|
1663
|
+
hasChainId: c
|
|
1664
|
+
} = L(), a = W(), { data: m, isLoading: E } = J(), u = A(
|
|
1665
|
+
(T) => T.state.currentExecution.phase
|
|
1666
|
+
), S = ie(u), h = !!(e && $(e.address) && (!n || $(n.address))), O = s || !a.isReady && !a.errors.primary || r === void 0, p = S || c && E && !m || !!(e && t && o && O), I = !!(!a.canSubmit || Z(u) || !c || !m || i || p || !e || !t || h);
|
|
1667
|
+
return R(() => ({
|
|
1668
|
+
disabled: I,
|
|
1669
|
+
loading: p
|
|
1670
|
+
}), [I, p]);
|
|
1671
|
+
}, Or = () => {
|
|
1672
|
+
const { inputToken: e, outputToken: t, callbacks: n } = L(), r = A((s) => s.updateState), { trades: i } = W(), o = C(
|
|
1527
1673
|
(s) => {
|
|
1528
1674
|
r({ tradeCount: s }), w(() => {
|
|
1529
|
-
var
|
|
1530
|
-
return (
|
|
1675
|
+
var c;
|
|
1676
|
+
return (c = n == null ? void 0 : n.onTradeCountChange) == null ? void 0 : c.call(n, s);
|
|
1531
1677
|
});
|
|
1532
1678
|
},
|
|
1533
1679
|
[n, r]
|
|
1534
1680
|
);
|
|
1535
|
-
return
|
|
1681
|
+
return R(
|
|
1536
1682
|
() => ({
|
|
1537
1683
|
totalTrades: i.totalTrades,
|
|
1538
1684
|
maxTrades: i.maxTrades,
|
|
@@ -1546,132 +1692,131 @@ const vt = ({
|
|
|
1546
1692
|
}),
|
|
1547
1693
|
[e, o, t, i]
|
|
1548
1694
|
);
|
|
1549
|
-
},
|
|
1550
|
-
const { marketPriceLoading: e, inputToken: t, outputToken: n, callbacks: r } =
|
|
1551
|
-
(
|
|
1552
|
-
|
|
1553
|
-
var
|
|
1554
|
-
return (
|
|
1695
|
+
}, Pr = () => {
|
|
1696
|
+
const { marketPriceLoading: e, inputToken: t, outputToken: n, callbacks: r } = L(), { marketPrice: i, trades: o, triggerPrice: s, isInverted: c } = W(), a = A((S) => S.updateState), m = C(
|
|
1697
|
+
(S) => {
|
|
1698
|
+
a({ triggerPriceUi: S, triggerPricePercent: null }), w(() => {
|
|
1699
|
+
var h;
|
|
1700
|
+
return (h = r == null ? void 0 : r.onTriggerPriceChange) == null ? void 0 : h.call(r, S || "");
|
|
1555
1701
|
}), w(() => {
|
|
1556
|
-
var
|
|
1557
|
-
return (
|
|
1702
|
+
var h;
|
|
1703
|
+
return (h = r == null ? void 0 : r.onTriggerPricePercentChange) == null ? void 0 : h.call(r, "");
|
|
1558
1704
|
});
|
|
1559
1705
|
},
|
|
1560
|
-
[r,
|
|
1561
|
-
),
|
|
1562
|
-
(
|
|
1563
|
-
|
|
1706
|
+
[r, a]
|
|
1707
|
+
), E = C(
|
|
1708
|
+
(S) => {
|
|
1709
|
+
a({
|
|
1564
1710
|
triggerPriceUi: void 0,
|
|
1565
|
-
triggerPricePercent:
|
|
1711
|
+
triggerPricePercent: S
|
|
1566
1712
|
}), w(() => {
|
|
1567
|
-
var
|
|
1568
|
-
return (
|
|
1713
|
+
var h;
|
|
1714
|
+
return (h = r == null ? void 0 : r.onTriggerPriceChange) == null ? void 0 : h.call(r, "");
|
|
1569
1715
|
}), w(() => {
|
|
1570
|
-
var
|
|
1571
|
-
return (
|
|
1716
|
+
var h;
|
|
1717
|
+
return (h = r == null ? void 0 : r.onTriggerPricePercentChange) == null ? void 0 : h.call(r, S || "");
|
|
1572
1718
|
});
|
|
1573
1719
|
},
|
|
1574
|
-
[r,
|
|
1575
|
-
),
|
|
1576
|
-
|
|
1720
|
+
[r, a]
|
|
1721
|
+
), u = C(() => {
|
|
1722
|
+
a({
|
|
1577
1723
|
triggerPricePercent: void 0,
|
|
1578
1724
|
triggerPriceUi: void 0
|
|
1579
1725
|
});
|
|
1580
|
-
}, [
|
|
1581
|
-
return
|
|
1726
|
+
}, [a]);
|
|
1727
|
+
return R(
|
|
1582
1728
|
() => ({
|
|
1583
1729
|
price: s.display,
|
|
1584
1730
|
canonicalPriceRaw: s.raw,
|
|
1585
1731
|
outputAmountPerTrade: o.triggerOutputAmountPerTrade,
|
|
1586
1732
|
error: s.error,
|
|
1587
|
-
onInputChange:
|
|
1588
|
-
onPercentageChange:
|
|
1733
|
+
onInputChange: m,
|
|
1734
|
+
onPercentageChange: E,
|
|
1589
1735
|
percentage: s.percentage,
|
|
1590
|
-
onReset:
|
|
1736
|
+
onReset: u,
|
|
1591
1737
|
inputToken: t,
|
|
1592
1738
|
outputToken: n,
|
|
1593
|
-
displayInputToken:
|
|
1594
|
-
displayOutputToken:
|
|
1739
|
+
displayInputToken: c ? n : t,
|
|
1740
|
+
displayOutputToken: c ? t : n,
|
|
1595
1741
|
isLoading: !!(e || !i.raw),
|
|
1596
1742
|
isTypedValue: s.isTypedValue
|
|
1597
1743
|
}),
|
|
1598
1744
|
[
|
|
1599
1745
|
t,
|
|
1600
|
-
|
|
1746
|
+
c,
|
|
1601
1747
|
i.raw,
|
|
1602
1748
|
e,
|
|
1749
|
+
m,
|
|
1603
1750
|
E,
|
|
1604
|
-
|
|
1605
|
-
d,
|
|
1751
|
+
u,
|
|
1606
1752
|
n,
|
|
1607
1753
|
o.triggerOutputAmountPerTrade,
|
|
1608
1754
|
s
|
|
1609
1755
|
]
|
|
1610
1756
|
);
|
|
1611
1757
|
};
|
|
1612
|
-
|
|
1758
|
+
ke(st.version);
|
|
1613
1759
|
export {
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
Jt as useCancelOrder,
|
|
1760
|
+
wr as DISCLAIMER_URL,
|
|
1761
|
+
ee as Disclaimer,
|
|
1762
|
+
d as ExecutionPhase,
|
|
1763
|
+
q as ExecutionStatus,
|
|
1764
|
+
vr as InputErrors,
|
|
1765
|
+
Cr as Module,
|
|
1766
|
+
Ar as ORBS_LOGO,
|
|
1767
|
+
Tr as ORBS_SLTP_FAQ_URL,
|
|
1768
|
+
Rr as ORBS_TWAP_FAQ_URL,
|
|
1769
|
+
Nr as ORBS_WEBSITE_URL,
|
|
1770
|
+
Lr as OrderFilter,
|
|
1771
|
+
Fr as OrderSettlementError,
|
|
1772
|
+
xr as OrderStatus,
|
|
1773
|
+
Ur as OrderType,
|
|
1774
|
+
Dr as Partners,
|
|
1775
|
+
Mr as QuoteError,
|
|
1776
|
+
Gr as SWAP_CAPABILITIES,
|
|
1777
|
+
Br as SpotError,
|
|
1778
|
+
sr as SpotProvider,
|
|
1779
|
+
z as Steps,
|
|
1780
|
+
Kr as TimeUnit,
|
|
1781
|
+
_r as analytics,
|
|
1782
|
+
Hr as calculateOrder,
|
|
1783
|
+
qr as calculateOrderForm,
|
|
1784
|
+
br as createClient,
|
|
1785
|
+
Wr as eqIgnoreCase,
|
|
1786
|
+
jr as executeOrder,
|
|
1787
|
+
Vr as getOrderExecutionRate,
|
|
1788
|
+
Qr as getOrderFillDelayMillis,
|
|
1789
|
+
Jr as getOrderLimitPriceRate,
|
|
1790
|
+
zr as getOrders,
|
|
1791
|
+
$r as getQuote,
|
|
1792
|
+
Yr as getTriggerPriceRate,
|
|
1793
|
+
Xr as getTwapConfig,
|
|
1794
|
+
Zr as invertPriceInput,
|
|
1795
|
+
kr as isNativeAddress,
|
|
1796
|
+
en as isQuoteFresh,
|
|
1797
|
+
tn as isSwapSupported,
|
|
1798
|
+
rn as isTxRejected,
|
|
1799
|
+
nn as setUIVersion,
|
|
1800
|
+
on as submitSwap,
|
|
1801
|
+
sn as toAmountRaw,
|
|
1802
|
+
an as toAmountUI,
|
|
1803
|
+
ar as useAmountUi,
|
|
1804
|
+
cr as useCancelOrder,
|
|
1660
1805
|
J as useClient,
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1806
|
+
dr as useDisclaimer,
|
|
1807
|
+
ur as useDuration,
|
|
1808
|
+
Sr as useExecution,
|
|
1809
|
+
lr as useFillDelay,
|
|
1810
|
+
mr as useHistoryOrder,
|
|
1811
|
+
fr as useInputErrors,
|
|
1812
|
+
gr as useLimitPrice,
|
|
1813
|
+
W as useOrderForm,
|
|
1814
|
+
or as useOrders,
|
|
1815
|
+
hr as useOutputAmount,
|
|
1816
|
+
Er as usePriceDisplay,
|
|
1817
|
+
Ir as useSubmitButton,
|
|
1818
|
+
Or as useTrades,
|
|
1819
|
+
Pr as useTriggerPrice,
|
|
1820
|
+
cn as waitForOrder,
|
|
1821
|
+
dn as watchOrder
|
|
1677
1822
|
};
|