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