@velora-dex/widget 0.6.1-dev.5 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +77 -67
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts +3 -0
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js +71 -23
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +2 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +123 -110
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -0
- package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js +4 -1
- package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +1 -1
- package/dist/lib/utils/twap.d.ts +5 -0
- package/dist/lib/utils/twap.d.ts.map +1 -1
- package/dist/lib/utils/twap.js +8 -1
- package/dist/lib/utils/twap.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitOrderDetails.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"LimitOrderDetails.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAoB/C,OAAO,EAAY,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAWpE,eAAO,MAAM,iBAAiB,GAAI,4CAG/B;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,GAAG,IAAI,CACN,uBAAuB,EACvB,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAC/C,4CAqEA,CAAC"}
|
|
@@ -1,84 +1,94 @@
|
|
|
1
1
|
import { isTruthy as e } from "../../../../lib/utils/index.js";
|
|
2
2
|
import { HALF_MINUTE_MS as t } from "../../../../lib/constants/time.js";
|
|
3
|
-
import { DeltaOrderStatusChecker as n } from "../../../../hooks/swap/prices/delta/orders/utils.js";
|
|
4
|
-
import { useWatchDeltaAuction as
|
|
5
|
-
import { DetailWithValueList as
|
|
6
|
-
import { isLimitOrderWithExtra as
|
|
7
|
-
import { PayReceiveInfo as
|
|
8
|
-
import { constructExpiresInDetail as
|
|
9
|
-
import { Controls as
|
|
10
|
-
import { c as
|
|
11
|
-
import { jsx as
|
|
3
|
+
import { DeltaOrderStatusChecker as n, isTwapAuction as r } from "../../../../hooks/swap/prices/delta/orders/utils.js";
|
|
4
|
+
import { useWatchDeltaAuction as i } from "../../../../hooks/swap/prices/delta/queries/useWatchDeltaOrder.js";
|
|
5
|
+
import { DetailWithValueList as a } from "../../Details/DetailWithValueList.js";
|
|
6
|
+
import { isLimitOrderWithExtra as o } from "../utils.js";
|
|
7
|
+
import { PayReceiveInfo as s } from "../../PayReceiveInfo/PayReceiveInfo.js";
|
|
8
|
+
import { constructExpiresInDetail as c, constructOrderRateDetail as l, constructOrderStatusDetail as u, constructOrderTypeDetail as d, constructPayReceiveInfoProps as f, constructSubmitDateDetail as p, constructTwapDurationDetail as m, constructTwapSplitsDetail as h } from "./utils.js";
|
|
9
|
+
import { Controls as g } from "./Controls.js";
|
|
10
|
+
import { c as _ } from "react-compiler-runtime";
|
|
11
|
+
import { jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
12
12
|
//#region src/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.tsx
|
|
13
|
-
var
|
|
13
|
+
var b = {
|
|
14
14
|
root: "pt-4 gap-4",
|
|
15
15
|
title: "text-contrast-5 dark:text-contrast-6",
|
|
16
16
|
value: "text-contrast-4 dark:text-contrast-6"
|
|
17
|
-
},
|
|
18
|
-
let
|
|
19
|
-
|
|
20
|
-
let
|
|
21
|
-
|
|
22
|
-
let
|
|
23
|
-
|
|
17
|
+
}, x = (x) => {
|
|
18
|
+
let S = _(40), C, w;
|
|
19
|
+
S[0] === x ? (C = S[1], w = S[2]) : ({order: w, ...C} = x, S[0] = x, S[1] = C, S[2] = w);
|
|
20
|
+
let T = w.id, E;
|
|
21
|
+
S[3] === w.status ? E = S[4] : (E = n.completed.has(w.status), S[3] = w.status, S[4] = E);
|
|
22
|
+
let D = !E, O;
|
|
23
|
+
S[5] !== w.extra || S[6] !== w.itemType ? (O = (e) => e ? {
|
|
24
24
|
...e,
|
|
25
|
-
extra:
|
|
26
|
-
itemType:
|
|
27
|
-
} : null,
|
|
28
|
-
let
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
let
|
|
37
|
-
|
|
38
|
-
orderId:
|
|
25
|
+
extra: w.extra,
|
|
26
|
+
itemType: w.itemType
|
|
27
|
+
} : null, S[5] = w.extra, S[6] = w.itemType, S[7] = O) : O = S[7];
|
|
28
|
+
let k, A, j;
|
|
29
|
+
S[8] === C?.logger ? (k = S[9], A = S[10], j = S[11]) : (k = (e) => {
|
|
30
|
+
C?.logger?.log("Delta Order success", e);
|
|
31
|
+
}, A = (e) => {
|
|
32
|
+
C?.logger?.log("Delta Order failure", e);
|
|
33
|
+
}, j = (e) => {
|
|
34
|
+
C?.logger?.log("Delta Order updated", e);
|
|
35
|
+
}, S[8] = C?.logger, S[9] = k, S[10] = A, S[11] = j);
|
|
36
|
+
let M;
|
|
37
|
+
S[12] !== w.id || S[13] !== D || S[14] !== O || S[15] !== k || S[16] !== A || S[17] !== j ? (M = {
|
|
38
|
+
orderId: T,
|
|
39
39
|
refetchInterval: t,
|
|
40
|
-
enabled:
|
|
41
|
-
select:
|
|
42
|
-
onAuctionSuccess:
|
|
43
|
-
onAuctionFailure:
|
|
44
|
-
onUpdatedAuction:
|
|
45
|
-
},
|
|
46
|
-
let { data:
|
|
47
|
-
|
|
48
|
-
let
|
|
49
|
-
if (
|
|
50
|
-
let t = n.pending.has(
|
|
51
|
-
P
|
|
52
|
-
|
|
53
|
-
t
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
40
|
+
enabled: D,
|
|
41
|
+
select: O,
|
|
42
|
+
onAuctionSuccess: k,
|
|
43
|
+
onAuctionFailure: A,
|
|
44
|
+
onUpdatedAuction: j
|
|
45
|
+
}, S[12] = w.id, S[13] = D, S[14] = O, S[15] = k, S[16] = A, S[17] = j, S[18] = M) : M = S[18];
|
|
46
|
+
let { data: N } = i(M), P = N ?? w, F;
|
|
47
|
+
S[19] === P ? F = S[20] : (F = o(P) && f(P), S[19] = P, S[20] = F);
|
|
48
|
+
let I = F, L;
|
|
49
|
+
if (S[21] !== P) {
|
|
50
|
+
let t = n.pending.has(P.status) || n.executing.has(P.status);
|
|
51
|
+
if (r(P)) {
|
|
52
|
+
let e = p(P), t = l(P), n = m(P), r = h(P), i = u(P), a;
|
|
53
|
+
S[23] !== e || S[24] !== t || S[25] !== n || S[26] !== r || S[27] !== i ? (a = [
|
|
54
|
+
e,
|
|
55
|
+
t,
|
|
56
|
+
n,
|
|
57
|
+
r,
|
|
58
|
+
i
|
|
59
|
+
], S[23] = e, S[24] = t, S[25] = n, S[26] = r, S[27] = i, S[28] = a) : a = S[28], L = a;
|
|
60
|
+
} else L = [
|
|
61
|
+
p(P),
|
|
62
|
+
t && c({ deadline: P.order.deadline }),
|
|
63
|
+
l(P),
|
|
64
|
+
u(P),
|
|
65
|
+
d(P)
|
|
66
|
+
].filter(e);
|
|
67
|
+
S[21] = P, S[22] = L;
|
|
68
|
+
} else L = S[22];
|
|
66
69
|
let R;
|
|
67
|
-
|
|
68
|
-
order: j,
|
|
69
|
-
...b
|
|
70
|
-
}), y[27] = b, y[28] = j, y[29] = R) : R = y[29];
|
|
70
|
+
S[29] === I ? R = S[30] : (R = I && /* @__PURE__ */ v(s, { ...I }), S[29] = I, S[30] = R);
|
|
71
71
|
let z;
|
|
72
|
-
|
|
72
|
+
S[31] === L ? z = S[32] : (z = /* @__PURE__ */ v(a, {
|
|
73
|
+
details: L,
|
|
74
|
+
classes: b
|
|
75
|
+
}), S[31] = L, S[32] = z);
|
|
76
|
+
let B;
|
|
77
|
+
S[33] !== C || S[34] !== P ? (B = /* @__PURE__ */ v(g, {
|
|
78
|
+
order: P,
|
|
79
|
+
...C
|
|
80
|
+
}), S[33] = C, S[34] = P, S[35] = B) : B = S[35];
|
|
81
|
+
let V;
|
|
82
|
+
return S[36] !== R || S[37] !== z || S[38] !== B ? (V = /* @__PURE__ */ y("div", {
|
|
73
83
|
className: "px-6 pb-8 min-h-[470px] flex flex-col",
|
|
74
84
|
children: [
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
85
|
+
R,
|
|
86
|
+
z,
|
|
87
|
+
B
|
|
78
88
|
]
|
|
79
|
-
}),
|
|
89
|
+
}), S[36] = R, S[37] = z, S[38] = B, S[39] = V) : V = S[39], V;
|
|
80
90
|
};
|
|
81
91
|
//#endregion
|
|
82
|
-
export {
|
|
92
|
+
export { x as LimitOrderDetails };
|
|
83
93
|
|
|
84
94
|
//# sourceMappingURL=LimitOrderDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitOrderDetails.js","names":["LimitOrderItem","DetailWithValueList","isTruthy","DetailWithValue","DeltaOrderStatusChecker","PayReceiveInfo","constructExpiresInDetail","constructOrderRateDetail","constructOrderStatusDetail","constructOrderTypeDetail","constructPayReceiveInfoProps","constructSubmitDateDetail","Controls","LimitOrderControlsProps","isLimitOrderWithExtra","useWatchDeltaAuction","HALF_MINUTE_MS","detailsClasses","root","title","value","LimitOrderDetails","t0","$","_c","controlsProps","selectedOrder","order","t1","id","t2","status","completed","has","t3","t4","extra","itemType","auction","t5","t6","t7","logger","log","order_0","order_1","t8","orderId","refetchInterval","enabled","select","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","data","lastDeltaOrderState","order_2","t9","payReceiveInfoProps","
|
|
1
|
+
{"version":3,"file":"LimitOrderDetails.js","names":["LimitOrderItem","DetailWithValueList","isTruthy","DetailWithValue","DeltaOrderStatusChecker","isTwapAuction","PayReceiveInfo","constructExpiresInDetail","constructOrderRateDetail","constructTwapSplitsDetail","constructOrderStatusDetail","constructOrderTypeDetail","constructPayReceiveInfoProps","constructSubmitDateDetail","constructTwapDurationDetail","Controls","LimitOrderControlsProps","isLimitOrderWithExtra","useWatchDeltaAuction","HALF_MINUTE_MS","detailsClasses","root","title","value","LimitOrderDetails","t0","$","_c","controlsProps","selectedOrder","order","t1","id","t2","status","completed","has","t3","t4","extra","itemType","auction","t5","t6","t7","logger","log","order_0","order_1","t8","orderId","refetchInterval","enabled","select","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","data","lastDeltaOrderState","order_2","t9","payReceiveInfoProps","details","overallPending","pending","executing","isTwap","t10","t11","t12","t13","t14","t15","deadline","filter"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.tsx"],"sourcesContent":["import type { LimitOrderItem } from \"../types\";\nimport { DetailWithValueList } from \"../../Details/DetailWithValueList\";\nimport { isTruthy } from \"@/lib/utils\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport {\n DeltaOrderStatusChecker,\n isTwapAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { PayReceiveInfo } from \"../../PayReceiveInfo/PayReceiveInfo\";\nimport {\n constructExpiresInDetail,\n constructOrderRateDetail,\n constructTwapSplitsDetail,\n constructOrderStatusDetail,\n constructOrderTypeDetail,\n constructPayReceiveInfoProps,\n constructSubmitDateDetail,\n constructTwapDurationDetail,\n} from \"./utils\";\n\nimport { Controls, type LimitOrderControlsProps } from \"./Controls\";\nimport { isLimitOrderWithExtra } from \"../utils\";\nimport { useWatchDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport { HALF_MINUTE_MS } from \"@/lib/constants/time\";\n\nconst detailsClasses = {\n root: \"pt-4 gap-4\",\n title: \"text-contrast-5 dark:text-contrast-6\",\n value: \"text-contrast-4 dark:text-contrast-6\",\n};\n\nexport const LimitOrderDetails = ({\n order: selectedOrder,\n ...controlsProps\n}: {\n order: LimitOrderItem;\n onDismiss: () => void;\n} & Pick<\n LimitOrderControlsProps,\n \"onCancelSuccess\" | \"onCancelError\" | \"logger\"\n>) => {\n // @TODO polling for OtcOrdeItem\n // Watch delta order if it's selected to get real-time updates on its status\n const { data: lastDeltaOrderState } =\n useWatchDeltaAuction<LimitOrderItem | null>({\n orderId: selectedOrder.id,\n refetchInterval: HALF_MINUTE_MS,\n enabled:\n // do not enable extra fetch for completed orders\n !DeltaOrderStatusChecker.completed.has(selectedOrder.status),\n select: (auction) => {\n if (!auction) return null;\n return {\n ...auction,\n // reuse existing order item data\n extra: selectedOrder.extra,\n itemType: selectedOrder.itemType,\n };\n },\n onAuctionSuccess: (order) => {\n controlsProps?.logger?.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n controlsProps?.logger?.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n controlsProps?.logger?.log(\"Delta Order updated\", order);\n },\n });\n\n const order = lastDeltaOrderState ?? selectedOrder;\n\n const payReceiveInfoProps =\n isLimitOrderWithExtra(order) && constructPayReceiveInfoProps(order);\n\n const overallPending =\n DeltaOrderStatusChecker.pending.has(order.status) ||\n DeltaOrderStatusChecker.executing.has(order.status);\n const isTwap = isTwapAuction(order);\n\n let details: DetailWithValue[];\n if (isTwap) {\n details = [\n constructSubmitDateDetail(order),\n constructOrderRateDetail(order),\n constructTwapDurationDetail(order),\n constructTwapSplitsDetail(order),\n constructOrderStatusDetail(order),\n ];\n } else {\n details = [\n constructSubmitDateDetail(order),\n overallPending &&\n constructExpiresInDetail({\n deadline: order.order.deadline,\n }),\n constructOrderRateDetail(order),\n constructOrderStatusDetail(order),\n constructOrderTypeDetail(order),\n ].filter(isTruthy);\n }\n\n return (\n <div className=\"px-6 pb-8 min-h-[470px] flex flex-col\">\n {payReceiveInfoProps && <PayReceiveInfo {...payReceiveInfoProps} />}\n <DetailWithValueList details={details} classes={detailsClasses} />\n <Controls order={order} {...controlsProps} />\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LimitOrderItem, LimitOrderItemExtra, RequiredLimitOrderItemExtra } from '../types';
|
|
2
2
|
import { DetailWithValue } from '../../Details/types';
|
|
3
3
|
import { PayReceiveInfoProps } from '../../PayReceiveInfo/types';
|
|
4
|
+
import { DeltaAuctionWithTwapOrder } from '../../../../hooks/swap/prices/delta/orders/types';
|
|
4
5
|
export declare function constructSubmitDateDetail({ createdAt, }: {
|
|
5
6
|
createdAt: string | number;
|
|
6
7
|
}): DetailWithValue;
|
|
@@ -10,6 +11,8 @@ export declare function constructExpiresInDetail({ deadline, }: {
|
|
|
10
11
|
export declare function constructOrderRateDetail({ extra, }: {
|
|
11
12
|
extra: LimitOrderItemExtra;
|
|
12
13
|
}): DetailWithValue;
|
|
14
|
+
export declare function constructTwapDurationDetail(order: DeltaAuctionWithTwapOrder): DetailWithValue;
|
|
15
|
+
export declare function constructTwapSplitsDetail(order: DeltaAuctionWithTwapOrder): DetailWithValue;
|
|
13
16
|
export declare function constructOrderStatusDetail(order: LimitOrderItem): DetailWithValue;
|
|
14
17
|
export declare function constructOrderTypeDetail(order: LimitOrderItem): DetailWithValue;
|
|
15
18
|
export declare function constructPayReceiveInfoProps({ extra, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAKxF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,GAAG,eAAe,CAKlB;AAMD,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,eAAe,CAOlB;AAOD,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,GACN,EAAE;IACD,KAAK,EAAE,mBAAmB,CAAC;CAC5B,GAAG,eAAe,CAKlB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,yBAAyB,GAC/B,eAAe,CAuCjB;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,yBAAyB,GAC/B,eAAe,CAoBjB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,cAAc,GACpB,eAAe,CAKjB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,cAAc,GACpB,eAAe,CAKjB;AAQD,wBAAgB,4BAA4B,CAAC,EAC3C,KAAK,GACN,EAAE;IACD,KAAK,EAAE,2BAA2B,CAAC;CACpC,GAAG,mBAAmB,CAsCtB"}
|
|
@@ -1,63 +1,111 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
1
|
+
import "../../../../lib/constants/time.js";
|
|
2
|
+
import { getTwapAuctionDeadlines as e } from "../../../../lib/utils/twap.js";
|
|
3
|
+
import { formatTokenAmount as t } from "../../../../lib/utils/formatTokenBalance.js";
|
|
4
|
+
import { Duration as n } from "../../Duration/Duration.js";
|
|
5
|
+
import { Rate as r, StatusBadge as i, TimeTillExpiry as a } from "../LimitOrderListItem.js";
|
|
6
|
+
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
|
+
import l from "dayjs";
|
|
5
8
|
//#region src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx
|
|
6
|
-
function
|
|
9
|
+
function u({ createdAt: e }) {
|
|
7
10
|
return {
|
|
8
11
|
title: "Submit Date",
|
|
9
|
-
value:
|
|
12
|
+
value: l(e).format("DD MMM YYYY h:mm A")
|
|
10
13
|
};
|
|
11
14
|
}
|
|
12
|
-
var
|
|
13
|
-
function
|
|
15
|
+
var d = { root: "dark:text-contrast-6" };
|
|
16
|
+
function f({ deadline: e }) {
|
|
14
17
|
return {
|
|
15
18
|
title: "Expires in",
|
|
16
|
-
value: /* @__PURE__ */
|
|
19
|
+
value: /* @__PURE__ */ s(a, {
|
|
17
20
|
deadline: e,
|
|
18
|
-
classes:
|
|
21
|
+
classes: d
|
|
19
22
|
})
|
|
20
23
|
};
|
|
21
24
|
}
|
|
22
|
-
var
|
|
25
|
+
var p = {
|
|
23
26
|
left: "dark:text-contrast-6",
|
|
24
27
|
right: "dark:text-contrast-6"
|
|
25
28
|
};
|
|
26
|
-
function
|
|
29
|
+
function m({ extra: e }) {
|
|
27
30
|
return {
|
|
28
31
|
title: "Order Rate",
|
|
29
|
-
value: /* @__PURE__ */
|
|
32
|
+
value: /* @__PURE__ */ s(r, {
|
|
30
33
|
extra: e,
|
|
31
|
-
classes:
|
|
34
|
+
classes: p
|
|
32
35
|
})
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
|
-
function
|
|
38
|
+
function h(t) {
|
|
39
|
+
let { endsInMs: r, durationMs: i } = e(t), l = (/* @__PURE__ */ new Date()).getTime(), u = r > l, d = u && r - l <= 6e4;
|
|
40
|
+
return {
|
|
41
|
+
title: "Order Duration",
|
|
42
|
+
value: /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(n, {
|
|
43
|
+
timeMs: i,
|
|
44
|
+
classes: { root: "inline-flex" }
|
|
45
|
+
}), u && /* @__PURE__ */ c(o, { children: [" ", /* @__PURE__ */ c("span", {
|
|
46
|
+
className: "text-contrast-5 dark:text-contrast-5",
|
|
47
|
+
children: [
|
|
48
|
+
"(ends in",
|
|
49
|
+
" ",
|
|
50
|
+
/* @__PURE__ */ s(a, {
|
|
51
|
+
showSeconds: d,
|
|
52
|
+
deadline: r / 1e3,
|
|
53
|
+
classes: { root: "inline-flex text-xs text-contrast-5 dark:text-contrast-5" }
|
|
54
|
+
}),
|
|
55
|
+
")"
|
|
56
|
+
]
|
|
57
|
+
})] })] })
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function g(e) {
|
|
61
|
+
return {
|
|
62
|
+
title: "Order Splits",
|
|
63
|
+
value: /* @__PURE__ */ c(o, { children: [
|
|
64
|
+
e.order.numSlices,
|
|
65
|
+
" Parts",
|
|
66
|
+
" ",
|
|
67
|
+
/* @__PURE__ */ c("span", {
|
|
68
|
+
className: "text-contrast-5 dark:text-contrast-5",
|
|
69
|
+
children: [
|
|
70
|
+
"(once every",
|
|
71
|
+
" ",
|
|
72
|
+
/* @__PURE__ */ s(n, {
|
|
73
|
+
timeMs: e.order.interval * 1e3,
|
|
74
|
+
showSeconds: !0,
|
|
75
|
+
classes: { root: "inline-flex text-xs text-contrast-5 dark:text-contrast-5" }
|
|
76
|
+
}),
|
|
77
|
+
")"
|
|
78
|
+
]
|
|
79
|
+
})
|
|
80
|
+
] })
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function _(e) {
|
|
36
84
|
return {
|
|
37
85
|
title: "Order Status",
|
|
38
|
-
value: /* @__PURE__ */ i
|
|
86
|
+
value: /* @__PURE__ */ s(i, { status: e.status })
|
|
39
87
|
};
|
|
40
88
|
}
|
|
41
|
-
function
|
|
89
|
+
function v(e) {
|
|
42
90
|
return {
|
|
43
91
|
title: "Order Type",
|
|
44
92
|
value: e.type
|
|
45
93
|
};
|
|
46
94
|
}
|
|
47
|
-
var
|
|
95
|
+
var y = {
|
|
48
96
|
amount: "dark:text-contrast-9",
|
|
49
97
|
symbol: "dark:text-contrast-9",
|
|
50
98
|
logo: "size-[18px]"
|
|
51
99
|
};
|
|
52
|
-
function
|
|
53
|
-
let { srcToken: n, destToken: r, srcAmountUnit: i, destAmountUnit: a } =
|
|
100
|
+
function b({ extra: e }) {
|
|
101
|
+
let { srcToken: n, destToken: r, srcAmountUnit: i, destAmountUnit: a } = e, o = t(i), s = t(a), c = {
|
|
54
102
|
address: n.address,
|
|
55
103
|
symbol: n.symbol,
|
|
56
104
|
chainId: n.network,
|
|
57
105
|
img: n.img,
|
|
58
106
|
amount: o,
|
|
59
107
|
amountPosition: "right",
|
|
60
|
-
classes:
|
|
108
|
+
classes: y,
|
|
61
109
|
showNetworkIcon: !0
|
|
62
110
|
}, l = {
|
|
63
111
|
address: r.address,
|
|
@@ -66,7 +114,7 @@ function m({ extra: t }) {
|
|
|
66
114
|
img: r.img,
|
|
67
115
|
amount: s,
|
|
68
116
|
amountPosition: "right",
|
|
69
|
-
classes:
|
|
117
|
+
classes: y,
|
|
70
118
|
showNetworkIcon: !0
|
|
71
119
|
};
|
|
72
120
|
return {
|
|
@@ -81,6 +129,6 @@ function m({ extra: t }) {
|
|
|
81
129
|
};
|
|
82
130
|
}
|
|
83
131
|
//#endregion
|
|
84
|
-
export {
|
|
132
|
+
export { f as constructExpiresInDetail, m as constructOrderRateDetail, _ as constructOrderStatusDetail, v as constructOrderTypeDetail, b as constructPayReceiveInfoProps, u as constructSubmitDateDetail, h as constructTwapDurationDetail, g as constructTwapSplitsDetail };
|
|
85
133
|
|
|
86
134
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["dayjs","LimitOrderItem","LimitOrderItemExtra","RequiredLimitOrderItemExtra","DetailWithValue","PayReceiveInfoProps","Rate","StatusBadge","TimeTillExpiry","formatTokenAmount","TokenBadgeProps","constructSubmitDateDetail","createdAt","title","value","format","timeTillExpiryClasses","root","constructExpiresInDetail","deadline","rateClasses","left","right","constructOrderRateDetail","extra","
|
|
1
|
+
{"version":3,"file":"utils.js","names":["dayjs","LimitOrderItem","LimitOrderItemExtra","RequiredLimitOrderItemExtra","DetailWithValue","PayReceiveInfoProps","Rate","StatusBadge","TimeTillExpiry","formatTokenAmount","TokenBadgeProps","DeltaAuctionWithTwapOrder","Duration","getTwapAuctionDeadlines","ONE_MINUTE_MS","constructSubmitDateDetail","createdAt","title","value","format","timeTillExpiryClasses","root","constructExpiresInDetail","deadline","rateClasses","left","right","constructOrderRateDetail","extra","constructTwapDurationDetail","order","endsInMs","durationMs","now","Date","getTime","isFuture","showSecondsInExpiry","constructTwapSplitsDetail","numSlices","interval","constructOrderStatusDetail","status","constructOrderTypeDetail","type","tokenBadgeClasses","amount","symbol","logo","constructPayReceiveInfoProps","srcToken","destToken","srcAmountUnit","destAmountUnit","formattedSrcAmount","formattedDestAmount","topTokenBadgeProps","address","chainId","network","img","amountPosition","const","classes","showNetworkIcon","bottomTokenBadgeProps","topToken","tokenBadgeProps","label","bottomToken"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport type {\n LimitOrderItem,\n LimitOrderItemExtra,\n RequiredLimitOrderItemExtra,\n} from \"../types\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport type { PayReceiveInfoProps } from \"../../PayReceiveInfo/types\";\nimport { Rate, StatusBadge, TimeTillExpiry } from \"../LimitOrderListItem\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport type { TokenBadgeProps } from \"../../TokenBadge/types\";\nimport type { DeltaAuctionWithTwapOrder } from \"@/hooks/swap/prices/delta/orders/types\";\nimport { Duration } from \"../../Duration/Duration\";\nimport { getTwapAuctionDeadlines } from \"@/lib/utils/twap\";\nimport { ONE_MINUTE_MS } from \"@/lib/constants/time\";\n\nexport function constructSubmitDateDetail({\n createdAt,\n}: {\n createdAt: string | number;\n}): DetailWithValue {\n return {\n title: \"Submit Date\",\n value: dayjs(createdAt).format(\"DD MMM YYYY h:mm A\"),\n };\n}\n\nconst timeTillExpiryClasses = {\n root: \"dark:text-contrast-6\",\n};\n\nexport function constructExpiresInDetail({\n deadline,\n}: {\n deadline: number;\n}): DetailWithValue {\n return {\n title: \"Expires in\",\n value: (\n <TimeTillExpiry deadline={deadline} classes={timeTillExpiryClasses} />\n ),\n };\n}\n\nconst rateClasses = {\n left: \"dark:text-contrast-6\",\n right: \"dark:text-contrast-6\",\n};\n\nexport function constructOrderRateDetail({\n extra,\n}: {\n extra: LimitOrderItemExtra;\n}): DetailWithValue {\n return {\n title: \"Order Rate\",\n value: <Rate extra={extra} classes={rateClasses} />,\n };\n}\n\nexport function constructTwapDurationDetail(\n order: DeltaAuctionWithTwapOrder\n): DetailWithValue {\n const { endsInMs, durationMs } = getTwapAuctionDeadlines(order);\n\n const now = new Date().getTime();\n const isFuture = endsInMs > now;\n\n // if less than 1 min to end,\n // show seconds instead of \"(ends in -)\"\n const showSecondsInExpiry = isFuture && endsInMs - now <= ONE_MINUTE_MS;\n\n return {\n title: \"Order Duration\",\n value: (\n <>\n <Duration\n timeMs={durationMs}\n classes={{\n root: \"inline-flex\",\n }}\n />\n {isFuture && (\n <>\n {\" \"}\n <span className=\"text-contrast-5 dark:text-contrast-5\">\n (ends in{\" \"}\n <TimeTillExpiry\n showSeconds={showSecondsInExpiry}\n deadline={endsInMs / 1000}\n classes={{\n root: \"inline-flex text-xs text-contrast-5 dark:text-contrast-5\",\n }}\n />\n )\n </span>\n </>\n )}\n </>\n ),\n };\n}\n\nexport function constructTwapSplitsDetail(\n order: DeltaAuctionWithTwapOrder\n): DetailWithValue {\n return {\n title: \"Order Splits\",\n value: (\n <>\n {order.order.numSlices} Parts{\" \"}\n <span className=\"text-contrast-5 dark:text-contrast-5\">\n (once every{\" \"}\n <Duration\n timeMs={order.order.interval * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-contrast-5 dark:text-contrast-5\",\n }}\n />\n )\n </span>\n </>\n ),\n };\n}\n\nexport function constructOrderStatusDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Status\",\n value: <StatusBadge status={order.status} />,\n };\n}\n\nexport function constructOrderTypeDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Type\",\n value: order.type,\n };\n}\n\nconst tokenBadgeClasses = {\n amount: \"dark:text-contrast-9\",\n symbol: \"dark:text-contrast-9\",\n logo: \"size-[18px]\",\n};\n\nexport function constructPayReceiveInfoProps({\n extra,\n}: {\n extra: RequiredLimitOrderItemExtra;\n}): PayReceiveInfoProps {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const topTokenBadgeProps: TokenBadgeProps = {\n address: srcToken.address,\n symbol: srcToken.symbol,\n chainId: srcToken.network,\n img: srcToken.img,\n amount: formattedSrcAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n const bottomTokenBadgeProps: TokenBadgeProps = {\n address: destToken.address,\n symbol: destToken.symbol,\n chainId: destToken.network,\n img: destToken.img,\n amount: formattedDestAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n return {\n topToken: {\n tokenBadgeProps: topTokenBadgeProps,\n label: \"Pay\",\n },\n bottomToken: {\n tokenBadgeProps: bottomTokenBadgeProps,\n label: \"Receive\",\n },\n };\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgBe,EAA0B,EACxCC,gBAGkB;AAClB,QAAO;EACLC,OAAO;EACPC,OAAOlB,EAAMgB,EAAU,CAACG,OAAO,qBAAoB;EACpD;;AAGH,IAAMC,IAAwB,EAC5BC,MAAM,wBACP;AAED,SAAgBC,EAAyB,EACvCC,eAGkB;AAClB,QAAO;EACLN,OAAO;EACPC,OACE,kBAAC,GAAD;GAA0BK;GAAU,SAASH;GAAsB,CAAA;EAEtE;;AAGH,IAAMI,IAAc;CAClBC,MAAM;CACNC,OAAO;CACR;AAED,SAAgBC,EAAyB,EACvCC,YAGkB;AAClB,QAAO;EACLX,OAAO;EACPC,OAAO,kBAAC,GAAD;GAAaU;GAAO,SAASJ;GAAY,CAAA;EACjD;;AAGH,SAAgBK,EACdC,GACiB;CACjB,IAAM,EAAEC,aAAUC,kBAAenB,EAAwBiB,EAAM,EAEzDG,qBAAM,IAAIC,MAAM,EAACC,SAAS,EAC1BC,IAAWL,IAAWE,GAItBI,IAAsBD,KAAYL,IAAWE,KAAAA;AAEnD,QAAO;EACLhB,OAAO;EACPC,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,QAAQc;GACR,SAAS,EACPX,MAAM,eACP;GAAC,CAAA,EAEHe,KACC,kBAAA,GAAA,EAAA,UAAA,CACG,KACD,kBAAC,QAAD;GAAM,WAAU;aAAhB;IAAsD;IAC3C;IACT,kBAAC,GAAD;KACE,aAAaC;KACb,UAAUN,IAAW;KACrB,SAAS,EACPV,MAAM,4DACP;KAAC,CAAA;;IAGA;KAET,EAAA,CAAA,CACH,EAAA,CAAA;EAEH;;AAGH,SAAgBiB,EACdR,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OACE,kBAAA,GAAA,EAAA,UAAA;GACGY,EAAMA,MAAMS;GAAU;GAAO;GAC9B,kBAAC,QAAD;IAAM,WAAU;cAAhB;KAAsD;KACxC;KACZ,kBAAC,GAAD;MACE,QAAQT,EAAMA,MAAMU,WAAW;MAC/B,aAAA;MACA,SAAS,EACPnB,MAAM,4DACP;MAAC,CAAA;;KAGA;;GACR,EAAA,CAAA;EAEH;;AAGH,SAAgBoB,EACdX,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OAAO,kBAAC,GAAD,EAAa,QAAQY,EAAMY,QAAO,CAAA;EAC1C;;AAGH,SAAgBC,EACdb,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OAAOY,EAAMc;EACd;;AAGH,IAAMC,IAAoB;CACxBC,QAAQ;CACRC,QAAQ;CACRC,MAAM;CACP;AAED,SAAgBC,EAA6B,EAC3CrB,YAGsB;CACtB,IAAM,EAAEsB,aAAUC,cAAWC,kBAAeC,sBAAmBzB,GAEzD0B,IAAqB7C,EAAkB2C,EAAc,EACrDG,IAAsB9C,EAAkB4C,EAAe,EAEvDG,IAAsC;EAC1CC,SAASP,EAASO;EAClBV,QAAQG,EAASH;EACjBW,SAASR,EAASS;EAClBC,KAAKV,EAASU;EACdd,QAAQQ;EACRO,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB,EAEKC,IAAyC;EAC7CR,SAASN,EAAUM;EACnBV,QAAQI,EAAUJ;EAClBW,SAASP,EAAUQ;EACnBC,KAAKT,EAAUS;EACfd,QAAQS;EACRM,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB;AAED,QAAO;EACLE,UAAU;GACRC,iBAAiBX;GACjBY,OAAO;GACR;EACDC,aAAa;GACXF,iBAAiBF;GACjBG,OAAO;GACT;EACD"}
|
|
@@ -9,8 +9,9 @@ export declare const TradeAndNetwork: ({ extra, chainId, }: Pick<LimitOrderItem,
|
|
|
9
9
|
export declare const Rate: ({ extra, classes, }: {
|
|
10
10
|
extra: Omit<LimitOrderItemExtra, "visualItemType">;
|
|
11
11
|
} & WithClasses<"root" | "left" | "right">) => import("react/jsx-runtime").JSX.Element | "-";
|
|
12
|
-
export declare const StatusBadge: ({ status }: {
|
|
12
|
+
export declare const StatusBadge: ({ status, extraLabel, }: {
|
|
13
13
|
status: DeltaAuctionStatus;
|
|
14
|
+
extraLabel?: React.ReactNode;
|
|
14
15
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
15
16
|
export declare const TimeTillExpiry: ({ deadline, classes, showSeconds, }: {
|
|
16
17
|
deadline: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitOrderListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/LimitOrderItem/LimitOrderListItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"LimitOrderListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/LimitOrderItem/LimitOrderListItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAWnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAQ1D,eAAO,MAAM,mBAAmB,GAAI,uBAGjC;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C,4CAUA,CAAC;AAMF,eAAO,MAAM,eAAe,GAAI,qBAG7B,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,4CAU3C,CAAC;AAwDF,eAAO,MAAM,IAAI,GAAI,qBAGlB;IAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAA;CAAE,GAAG,WAAW,CACrE,MAAM,GAAG,MAAM,GAAG,OAAO,CAC1B,kDAiBA,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,yBAGzB;IACD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B,4CAmBA,CAAC;AA6BF,eAAO,MAAM,cAAc,GAAI,qCAI5B;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,WAAW,CAAC,MAAM,CAAC,4CAOtB,CAAC"}
|
|
@@ -1,137 +1,139 @@
|
|
|
1
1
|
import { cn as e } from "../../../lib/utils/index.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
2
|
+
import { getTwapAuctionDeadlines as t } from "../../../lib/utils/twap.js";
|
|
3
|
+
import { DeltaOrderStatusChecker as n, getDisplayedOrderStatus as r, isTwapAuction as i } from "../../../hooks/swap/prices/delta/orders/utils.js";
|
|
4
|
+
import { useDateNow as a } from "../../../lib/utils/useDateNow.js";
|
|
5
|
+
import { NetworkWithIcon as o } from "../NetworkWithIcon/NetworkWithIcon.js";
|
|
6
|
+
import { TokenBadge as s } from "../TokenBadge/TokenBadge.js";
|
|
7
|
+
import { calcRate as c } from "../../../lib/utils/rate.js";
|
|
8
|
+
import { twapSliceInfo as l } from "./utils.js";
|
|
9
|
+
import { formatTokenAmount as u } from "../../../lib/utils/formatTokenBalance.js";
|
|
10
|
+
import { Duration as d } from "../Duration/Duration.js";
|
|
11
|
+
import { c as f } from "react-compiler-runtime";
|
|
12
|
+
import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
11
13
|
//#region src/components/widget/LimitOrderItem/LimitOrderListItem.tsx
|
|
12
|
-
var
|
|
13
|
-
let t =
|
|
14
|
+
var g = "-", _ = (e) => {
|
|
15
|
+
let t = f(10), { auction: n, onClick: r } = e, i;
|
|
14
16
|
t[0] !== n || t[1] !== r ? (i = () => r(n), t[0] = n, t[1] = r, t[2] = i) : i = t[2];
|
|
15
17
|
let a, o;
|
|
16
|
-
t[3] === n ? (a = t[4], o = t[5]) : (a = /* @__PURE__ */
|
|
18
|
+
t[3] === n ? (a = t[4], o = t[5]) : (a = /* @__PURE__ */ m(x, { ...n }), o = /* @__PURE__ */ m(E, { ...n }), t[3] = n, t[4] = a, t[5] = o);
|
|
17
19
|
let s;
|
|
18
|
-
return t[6] !== i || t[7] !== a || t[8] !== o ? (s = /* @__PURE__ */
|
|
20
|
+
return t[6] !== i || t[7] !== a || t[8] !== o ? (s = /* @__PURE__ */ h("div", {
|
|
19
21
|
className: "bg-white dark:bg-contrast-3 p-4 rounded-sm cursor-pointer",
|
|
20
22
|
onClick: i,
|
|
21
23
|
children: [a, o]
|
|
22
24
|
}), t[6] = i, t[7] = a, t[8] = o, t[9] = s) : s = t[9], s;
|
|
23
|
-
},
|
|
25
|
+
}, v = {
|
|
24
26
|
logo: "size-[16px]",
|
|
25
27
|
root: "z-1"
|
|
26
|
-
},
|
|
28
|
+
}, y = {
|
|
27
29
|
logo: "size-[16px]",
|
|
28
30
|
root: "-ml-1"
|
|
29
|
-
},
|
|
31
|
+
}, b = {
|
|
30
32
|
root: "gap-2",
|
|
31
33
|
name: "dark:text-contrast-7"
|
|
32
|
-
},
|
|
33
|
-
let t =
|
|
34
|
-
t[0] === n ?
|
|
35
|
-
let
|
|
36
|
-
t[2] ===
|
|
37
|
-
networkId:
|
|
38
|
-
classes:
|
|
39
|
-
}), t[2] =
|
|
34
|
+
}, x = (e) => {
|
|
35
|
+
let t = f(7), { extra: n, chainId: r } = e, i;
|
|
36
|
+
t[0] === n ? i = t[1] : (i = /* @__PURE__ */ m(S, { ...n }), t[0] = n, t[1] = i);
|
|
37
|
+
let a = r, s;
|
|
38
|
+
t[2] === a ? s = t[3] : (s = /* @__PURE__ */ m(o, {
|
|
39
|
+
networkId: a,
|
|
40
|
+
classes: b
|
|
41
|
+
}), t[2] = a, t[3] = s);
|
|
40
42
|
let c;
|
|
41
|
-
return t[4] !==
|
|
43
|
+
return t[4] !== i || t[5] !== s ? (c = /* @__PURE__ */ h("div", {
|
|
42
44
|
className: "flex items-center justify-between pb-4",
|
|
43
|
-
children: [
|
|
44
|
-
}), t[4] =
|
|
45
|
-
},
|
|
46
|
-
let t =
|
|
47
|
-
if (!n || !r || !i || !
|
|
48
|
-
let
|
|
49
|
-
t[0] === i ?
|
|
50
|
-
let
|
|
51
|
-
t[2] ===
|
|
52
|
-
let
|
|
53
|
-
t[4] !== n.address || t[5] !== n.img || t[6] !== n.network ? (
|
|
45
|
+
children: [i, s]
|
|
46
|
+
}), t[4] = i, t[5] = s, t[6] = c) : c = t[6], c;
|
|
47
|
+
}, S = (e) => {
|
|
48
|
+
let t = f(29), { srcToken: n, destToken: r, srcAmountUnit: i, destAmountUnit: a, visualItemType: o } = e;
|
|
49
|
+
if (!n || !r || !i || !a) return g;
|
|
50
|
+
let c;
|
|
51
|
+
t[0] === i ? c = t[1] : (c = u(i), t[0] = i, t[1] = c);
|
|
52
|
+
let l = c, d;
|
|
53
|
+
t[2] === a ? d = t[3] : (d = u(a), t[2] = a, t[3] = d);
|
|
54
|
+
let p = d, _;
|
|
55
|
+
t[4] !== n.address || t[5] !== n.img || t[6] !== n.network ? (_ = /* @__PURE__ */ m(s, {
|
|
54
56
|
address: n.address,
|
|
55
57
|
chainId: n.network,
|
|
56
58
|
img: n.img,
|
|
57
|
-
classes:
|
|
58
|
-
}), t[4] = n.address, t[5] = n.img, t[6] = n.network, t[7] =
|
|
59
|
+
classes: v
|
|
60
|
+
}), t[4] = n.address, t[5] = n.img, t[6] = n.network, t[7] = _) : _ = t[7];
|
|
59
61
|
let b;
|
|
60
|
-
t[8] !== r.address || t[9] !== r.img || t[10] !== r.network ? (b = /* @__PURE__ */
|
|
62
|
+
t[8] !== r.address || t[9] !== r.img || t[10] !== r.network ? (b = /* @__PURE__ */ m(s, {
|
|
61
63
|
address: r.address,
|
|
62
64
|
img: r.img,
|
|
63
65
|
chainId: r.network,
|
|
64
|
-
classes:
|
|
66
|
+
classes: y
|
|
65
67
|
}), t[8] = r.address, t[9] = r.img, t[10] = r.network, t[11] = b) : b = t[11];
|
|
66
68
|
let x;
|
|
67
|
-
t[12] !==
|
|
69
|
+
t[12] !== _ || t[13] !== b ? (x = /* @__PURE__ */ h("div", {
|
|
68
70
|
className: "flex items-center",
|
|
69
|
-
children: [
|
|
70
|
-
}), t[12] =
|
|
71
|
+
children: [_, b]
|
|
72
|
+
}), t[12] = _, t[13] = b, t[14] = x) : x = t[14];
|
|
71
73
|
let S = x, C;
|
|
72
|
-
t[15] ===
|
|
74
|
+
t[15] === o ? C = t[16] : (C = /* @__PURE__ */ m("div", {
|
|
73
75
|
className: "text-xs font-medium text-contrast-5",
|
|
74
|
-
children:
|
|
75
|
-
}), t[15] =
|
|
76
|
+
children: o
|
|
77
|
+
}), t[15] = o, t[16] = C);
|
|
76
78
|
let w;
|
|
77
|
-
t[17] === Symbol.for("react.memo_cache_sentinel") ? (w = /* @__PURE__ */
|
|
79
|
+
t[17] === Symbol.for("react.memo_cache_sentinel") ? (w = /* @__PURE__ */ m("span", {
|
|
78
80
|
className: "mx-1",
|
|
79
81
|
children: "→"
|
|
80
82
|
}), t[17] = w) : w = t[17];
|
|
81
83
|
let T;
|
|
82
|
-
t[18] !== r.symbol || t[19] !==
|
|
84
|
+
t[18] !== r.symbol || t[19] !== p || t[20] !== l || t[21] !== n.symbol ? (T = /* @__PURE__ */ h("div", {
|
|
83
85
|
className: "text-sm font-medium dark:text-contrast-9",
|
|
84
86
|
children: [
|
|
85
87
|
n.symbol,
|
|
86
88
|
" ",
|
|
87
|
-
|
|
89
|
+
l,
|
|
88
90
|
w,
|
|
89
91
|
r.symbol,
|
|
90
92
|
" ",
|
|
91
|
-
|
|
93
|
+
p
|
|
92
94
|
]
|
|
93
|
-
}), t[18] = r.symbol, t[19] =
|
|
95
|
+
}), t[18] = r.symbol, t[19] = p, t[20] = l, t[21] = n.symbol, t[22] = T) : T = t[22];
|
|
94
96
|
let E;
|
|
95
|
-
t[23] !== C || t[24] !== T ? (E = /* @__PURE__ */
|
|
97
|
+
t[23] !== C || t[24] !== T ? (E = /* @__PURE__ */ h("div", {
|
|
96
98
|
className: "ml-2 flex flex-col",
|
|
97
99
|
children: [C, T]
|
|
98
100
|
}), t[23] = C, t[24] = T, t[25] = E) : E = t[25];
|
|
99
101
|
let D = E, O;
|
|
100
|
-
return t[26] !== S || t[27] !== D ? (O = /* @__PURE__ */
|
|
102
|
+
return t[26] !== S || t[27] !== D ? (O = /* @__PURE__ */ h("div", {
|
|
101
103
|
className: "flex items-center",
|
|
102
104
|
children: [S, D]
|
|
103
105
|
}), t[26] = S, t[27] = D, t[28] = O) : O = t[28], O;
|
|
104
|
-
},
|
|
105
|
-
let n =
|
|
106
|
-
if (!a || !
|
|
107
|
-
let
|
|
108
|
-
if (n[0] !==
|
|
109
|
-
|
|
106
|
+
}, C = (t) => {
|
|
107
|
+
let n = f(16), { extra: r, classes: i } = t, { srcToken: a, destToken: o, srcAmountUnit: s, destAmountUnit: l } = r;
|
|
108
|
+
if (!a || !o || !s || !l) return g;
|
|
109
|
+
let d, p;
|
|
110
|
+
if (n[0] !== l || n[1] !== s) {
|
|
111
|
+
p = Symbol.for("react.early_return_sentinel");
|
|
110
112
|
bb0: {
|
|
111
|
-
let e =
|
|
113
|
+
let e = c(s, l)?.rateFormatted;
|
|
112
114
|
if (!e) {
|
|
113
|
-
|
|
115
|
+
p = g;
|
|
114
116
|
break bb0;
|
|
115
117
|
}
|
|
116
|
-
|
|
118
|
+
d = u(e);
|
|
117
119
|
}
|
|
118
|
-
n[0] =
|
|
119
|
-
} else
|
|
120
|
-
if (
|
|
121
|
-
let _ = `${
|
|
120
|
+
n[0] = l, n[1] = s, n[2] = d, n[3] = p;
|
|
121
|
+
} else d = n[2], p = n[3];
|
|
122
|
+
if (p !== Symbol.for("react.early_return_sentinel")) return p;
|
|
123
|
+
let _ = `${d} ${o.symbol}`, v = `per ${a.symbol}`, y = i?.root, b;
|
|
122
124
|
n[4] === y ? b = n[5] : (b = e("text-xs", y), n[4] = y, n[5] = b);
|
|
123
125
|
let x = i?.left, S;
|
|
124
|
-
n[6] !== _ || n[7] !== x ? (S = /* @__PURE__ */
|
|
126
|
+
n[6] !== _ || n[7] !== x ? (S = /* @__PURE__ */ m("span", {
|
|
125
127
|
className: x,
|
|
126
128
|
children: _
|
|
127
129
|
}), n[6] = _, n[7] = x, n[8] = S) : S = n[8];
|
|
128
130
|
let C = i?.right, w;
|
|
129
|
-
n[9] !== v || n[10] !== C ? (w = /* @__PURE__ */
|
|
131
|
+
n[9] !== v || n[10] !== C ? (w = /* @__PURE__ */ m("span", {
|
|
130
132
|
className: C,
|
|
131
133
|
children: v
|
|
132
134
|
}), n[9] = v, n[10] = C, n[11] = w) : w = n[11];
|
|
133
135
|
let T;
|
|
134
|
-
return n[12] !== b || n[13] !== S || n[14] !== w ? (T = /* @__PURE__ */
|
|
136
|
+
return n[12] !== b || n[13] !== S || n[14] !== w ? (T = /* @__PURE__ */ h("div", {
|
|
135
137
|
className: b,
|
|
136
138
|
children: [
|
|
137
139
|
S,
|
|
@@ -139,57 +141,68 @@ var f = "-", p = (e) => {
|
|
|
139
141
|
w
|
|
140
142
|
]
|
|
141
143
|
}), n[12] = b, n[13] = S, n[14] = w, n[15] = T) : T = n[15], T;
|
|
142
|
-
},
|
|
143
|
-
let i =
|
|
144
|
+
}, w = (t) => {
|
|
145
|
+
let i = f(10), { status: a, extraLabel: o } = t, s;
|
|
144
146
|
if (i[0] !== a) {
|
|
145
|
-
let
|
|
146
|
-
|
|
147
|
-
"text-secondary-shamrock-green-2 bg-[#00976733]":
|
|
147
|
+
let t = n.success.has(a), r = n.failed.has(a), o = n.pending.has(a) || n.executing.has(a);
|
|
148
|
+
s = e("text-[10px] p-0.5 px-2 rounded-lg w-max", {
|
|
149
|
+
"text-secondary-shamrock-green-2 bg-[#00976733]": t,
|
|
148
150
|
"text-secondary-radical-red-1 bg-[#FF3B301A]": r,
|
|
149
|
-
"text-secondary-orange-peel-1 bg-[#FF950033]":
|
|
150
|
-
}), i[0] = a, i[1] =
|
|
151
|
-
} else
|
|
152
|
-
let s;
|
|
153
|
-
i[2] === a ? s = i[3] : (s = n(a), i[2] = a, i[3] = s);
|
|
151
|
+
"text-secondary-orange-peel-1 bg-[#FF950033]": o
|
|
152
|
+
}), i[0] = a, i[1] = s;
|
|
153
|
+
} else s = i[1];
|
|
154
154
|
let c;
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
155
|
+
i[2] === a ? c = i[3] : (c = r(a), i[2] = a, i[3] = c);
|
|
156
|
+
let l;
|
|
157
|
+
i[4] === o ? l = i[5] : (l = o && /* @__PURE__ */ h(p, { children: [" ", o] }), i[4] = o, i[5] = l);
|
|
158
|
+
let u;
|
|
159
|
+
return i[6] !== s || i[7] !== c || i[8] !== l ? (u = /* @__PURE__ */ h("div", {
|
|
160
|
+
className: s,
|
|
161
|
+
children: [c, l]
|
|
162
|
+
}), i[6] = s, i[7] = c, i[8] = l, i[9] = u) : u = i[9], u;
|
|
163
|
+
}, T = {
|
|
160
164
|
left: "dark:text-contrast-7",
|
|
161
165
|
right: "text-contrast-5"
|
|
162
|
-
},
|
|
163
|
-
let
|
|
164
|
-
|
|
165
|
-
let
|
|
166
|
-
|
|
166
|
+
}, E = (e) => {
|
|
167
|
+
let r = f(24), a;
|
|
168
|
+
r[0] === e.status ? a = r[1] : (a = n.pending.has(e.status) || n.executing.has(e.status), r[0] = e.status, r[1] = a);
|
|
169
|
+
let o = a, s;
|
|
170
|
+
r[2] === e ? s = r[3] : (s = i(e), r[2] = e, r[3] = s);
|
|
171
|
+
let c = s, u;
|
|
172
|
+
r[4] !== c || r[5] !== e ? (u = c ? l(e) : void 0, r[4] = c, r[5] = e, r[6] = u) : u = r[6];
|
|
173
|
+
let d = u, p;
|
|
174
|
+
r[7] !== c || r[8] !== e ? (p = c ? t(e).endsInMs / 1e3 : e.order.deadline, r[7] = c, r[8] = e, r[9] = p) : p = r[9];
|
|
175
|
+
let g = p, _;
|
|
176
|
+
r[10] === e.extra ? _ = r[11] : (_ = /* @__PURE__ */ m(C, {
|
|
167
177
|
extra: e.extra,
|
|
168
|
-
classes:
|
|
169
|
-
}),
|
|
170
|
-
let
|
|
171
|
-
|
|
172
|
-
let
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
178
|
+
classes: T
|
|
179
|
+
}), r[10] = e.extra, r[11] = _);
|
|
180
|
+
let v;
|
|
181
|
+
r[12] !== g || r[13] !== o ? (v = o && /* @__PURE__ */ m(D, { deadline: g }), r[12] = g, r[13] = o, r[14] = v) : v = r[14];
|
|
182
|
+
let y;
|
|
183
|
+
r[15] !== d || r[16] !== e.status ? (y = /* @__PURE__ */ m(w, {
|
|
184
|
+
status: e.status,
|
|
185
|
+
extraLabel: d
|
|
186
|
+
}), r[15] = d, r[16] = e.status, r[17] = y) : y = r[17];
|
|
187
|
+
let b;
|
|
188
|
+
r[18] !== v || r[19] !== y ? (b = /* @__PURE__ */ h("div", {
|
|
176
189
|
className: "flex items-center gap-1",
|
|
177
|
-
children: [
|
|
178
|
-
}),
|
|
179
|
-
let
|
|
180
|
-
return
|
|
190
|
+
children: [v, y]
|
|
191
|
+
}), r[18] = v, r[19] = y, r[20] = b) : b = r[20];
|
|
192
|
+
let x;
|
|
193
|
+
return r[21] !== _ || r[22] !== b ? (x = /* @__PURE__ */ h("div", {
|
|
181
194
|
className: "flex items-center justify-between",
|
|
182
|
-
children: [
|
|
183
|
-
}),
|
|
184
|
-
},
|
|
185
|
-
let t =
|
|
186
|
-
return t[0] !==
|
|
195
|
+
children: [_, b]
|
|
196
|
+
}), r[21] = _, r[22] = b, r[23] = x) : x = r[23], x;
|
|
197
|
+
}, D = (e) => {
|
|
198
|
+
let t = f(4), { deadline: n, classes: r, showSeconds: i } = e, o = (n - a() / 1e3) * 1e3, s;
|
|
199
|
+
return t[0] !== r || t[1] !== i || t[2] !== o ? (s = /* @__PURE__ */ m(d, {
|
|
187
200
|
timeMs: o,
|
|
188
|
-
classes:
|
|
189
|
-
showSeconds:
|
|
190
|
-
}), t[0] =
|
|
201
|
+
classes: r,
|
|
202
|
+
showSeconds: i
|
|
203
|
+
}), t[0] = r, t[1] = i, t[2] = o, t[3] = s) : s = t[3], s;
|
|
191
204
|
};
|
|
192
205
|
//#endregion
|
|
193
|
-
export {
|
|
206
|
+
export { _ as LimitOrdersListItem, C as Rate, w as StatusBadge, D as TimeTillExpiry, x as TradeAndNetwork };
|
|
194
207
|
|
|
195
208
|
//# sourceMappingURL=LimitOrderListItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitOrderListItem.js","names":["TokenBadge","LimitOrderItem","LimitOrderItemExtra","NetworkWithIcon","formatTokenAmount","calcRate","SupportedChainId","cn","DeltaOrderStatusChecker","getDisplayedOrderStatus","WithClasses","DeltaAuctionStatus","useDateNow","Duration","missingContent","LimitOrdersListItem","t0","$","_c","auction","onClick","t1","t2","t3","t4","srcTokenBadgeClasses","logo","root","destTokenBadgeClasses","networkIconClasses","name","TradeAndNetwork","extra","chainId","Trade","srcToken","destToken","srcAmountUnit","destAmountUnit","visualItemType","formattedSrcAmount","formattedDestAmount","address","img","network","t5","icons","t6","t7","Symbol","for","t8","symbol","t9","typeAndAmounts","t10","Rate","classes","bb0","rateFormatted","left","right","StatusBadge","status","success","has","failed","overallPending","pending","executing","rateClasses","RateAndStatus","props","order","deadline","TimeTillExpiry","showSeconds","now","timeMs"],"sources":["../../../../src/components/widget/LimitOrderItem/LimitOrderListItem.tsx"],"sourcesContent":["import { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport type { LimitOrderItem, LimitOrderItemExtra } from \"./types\";\nimport { NetworkWithIcon } from \"../NetworkWithIcon/NetworkWithIcon\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { cn } from \"@/lib/utils\";\nimport {\n DeltaOrderStatusChecker,\n getDisplayedOrderStatus,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport type { DeltaAuctionStatus } from \"@velora-dex/sdk\";\nimport { useDateNow } from \"@/lib/utils/useDateNow\";\nimport { Duration } from \"../Duration/Duration\";\n\nconst missingContent = \"-\";\n\nexport const LimitOrdersListItem = ({\n auction,\n onClick,\n}: {\n auction: LimitOrderItem;\n onClick: (auction: LimitOrderItem) => void;\n}) => {\n return (\n <div\n className={\"bg-white dark:bg-contrast-3 p-4 rounded-sm cursor-pointer\"}\n onClick={() => onClick(auction)}\n >\n <TradeAndNetwork {...auction} />\n <RateAndStatus {...auction} />\n </div>\n );\n};\n\nconst srcTokenBadgeClasses = { logo: \"size-[16px]\", root: \"z-1\" };\nconst destTokenBadgeClasses = { logo: \"size-[16px]\", root: \"-ml-1\" };\nconst networkIconClasses = { root: \"gap-2\", name: \"dark:text-contrast-7\" };\n\nexport const TradeAndNetwork = ({\n extra,\n chainId,\n}: Pick<LimitOrderItem, \"extra\" | \"chainId\">) => {\n return (\n <div className=\"flex items-center justify-between pb-4\">\n <Trade {...extra} />\n <NetworkWithIcon\n networkId={chainId as SupportedChainId}\n classes={networkIconClasses}\n />\n </div>\n );\n};\n\nconst Trade = ({\n srcToken,\n destToken,\n srcAmountUnit,\n destAmountUnit,\n visualItemType,\n}: LimitOrderItemExtra) => {\n // @TODO we'll miss a big piece of info if we don't have the tokens\n // consider to fetch them onchain if missing in useQuery(select)\n // or just add more token lists\n if (!srcToken || !destToken || !srcAmountUnit || !destAmountUnit)\n return missingContent;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const icons = (\n <div className=\"flex items-center\">\n <TokenBadge\n address={srcToken.address}\n chainId={srcToken.network}\n img={srcToken.img}\n classes={srcTokenBadgeClasses}\n />\n <TokenBadge\n address={destToken.address}\n img={destToken.img}\n chainId={destToken.network}\n classes={destTokenBadgeClasses}\n />\n </div>\n );\n\n const typeAndAmounts = (\n <div className=\"ml-2 flex flex-col\">\n <div className=\"text-xs font-medium text-contrast-5\">\n {visualItemType}\n </div>\n <div className=\"text-sm font-medium dark:text-contrast-9\">\n {srcToken.symbol} {formattedSrcAmount}\n <span className=\"mx-1\">→</span>\n {destToken.symbol} {formattedDestAmount}\n </div>\n </div>\n );\n\n return (\n <div className=\"flex items-center\">\n {icons}\n {typeAndAmounts}\n </div>\n );\n};\n\nexport const Rate = ({\n extra,\n classes,\n}: { extra: Omit<LimitOrderItemExtra, \"visualItemType\"> } & WithClasses<\n \"root\" | \"left\" | \"right\"\n>) => {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n if (!srcToken || !destToken || !srcAmountUnit || !destAmountUnit)\n return missingContent;\n\n const rateFormatted = calcRate(srcAmountUnit, destAmountUnit)?.rateFormatted;\n if (!rateFormatted) return missingContent;\n\n const left = `${formatTokenAmount(rateFormatted)} ${destToken.symbol}`;\n const right = `per ${srcToken.symbol}`;\n\n return (\n <div className={cn(\"text-xs\", classes?.root)}>\n <span className={classes?.left}>{left}</span>{\" \"}\n <span className={classes?.right}>{right}</span>\n </div>\n );\n};\n\nexport const StatusBadge = ({ status }: { status: DeltaAuctionStatus }) => {\n const success = DeltaOrderStatusChecker.success.has(status);\n const failed = DeltaOrderStatusChecker.failed.has(status);\n const overallPending =\n DeltaOrderStatusChecker.pending.has(status) ||\n DeltaOrderStatusChecker.executing.has(status);\n\n return (\n <div\n className={cn(\"text-[10px] p-0.5 px-2 rounded-lg w-max\", {\n \"text-secondary-shamrock-green-2 bg-[#00976733]\": success,\n \"text-secondary-radical-red-1 bg-[#FF3B301A]\": failed,\n \"text-secondary-orange-peel-1 bg-[#FF950033]\": overallPending,\n })}\n >\n {getDisplayedOrderStatus(status)}\n </div>\n );\n};\n\nconst rateClasses = {\n left: \"dark:text-contrast-7\",\n right: \"text-contrast-5\",\n};\n\nconst RateAndStatus = (props: LimitOrderItem) => {\n const overallPending =\n DeltaOrderStatusChecker.pending.has(props.status) ||\n DeltaOrderStatusChecker.executing.has(props.status);\n\n return (\n <div className=\"flex items-center justify-between\">\n <Rate extra={props.extra} classes={rateClasses} />\n <div className=\"flex items-center gap-1\">\n {overallPending && <TimeTillExpiry deadline={props.order.deadline} />}\n <StatusBadge status={props.status} />\n </div>\n </div>\n );\n};\n\nexport const TimeTillExpiry = ({\n deadline,\n classes,\n showSeconds,\n}: {\n deadline: number;\n showSeconds?: boolean;\n} & WithClasses<\"root\">) => {\n const now = useDateNow();\n const timeMs = (deadline - now / 1000) * 1000;\n\n return (\n <Duration timeMs={timeMs} classes={classes} showSeconds={showSeconds} />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LimitOrderListItem.js","names":["TokenBadge","LimitOrderItem","LimitOrderItemExtra","NetworkWithIcon","formatTokenAmount","calcRate","SupportedChainId","cn","DeltaOrderStatusChecker","getDisplayedOrderStatus","isTwapAuction","WithClasses","DeltaAuctionStatus","useDateNow","Duration","twapSliceInfo","getTwapAuctionDeadlines","missingContent","LimitOrdersListItem","t0","$","_c","auction","onClick","t1","t2","t3","t4","srcTokenBadgeClasses","logo","root","destTokenBadgeClasses","networkIconClasses","name","TradeAndNetwork","extra","chainId","Trade","srcToken","destToken","srcAmountUnit","destAmountUnit","visualItemType","formattedSrcAmount","formattedDestAmount","address","img","network","t5","icons","t6","t7","Symbol","for","t8","symbol","t9","typeAndAmounts","t10","Rate","classes","bb0","rateFormatted","left","right","StatusBadge","status","extraLabel","success","has","failed","overallPending","pending","executing","rateClasses","RateAndStatus","props","isTwap","undefined","extraStatusLabel","endsInMs","order","deadline","TimeTillExpiry","showSeconds","now","timeMs"],"sources":["../../../../src/components/widget/LimitOrderItem/LimitOrderListItem.tsx"],"sourcesContent":["import { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport type { LimitOrderItem, LimitOrderItemExtra } from \"./types\";\nimport { NetworkWithIcon } from \"../NetworkWithIcon/NetworkWithIcon\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { cn } from \"@/lib/utils\";\nimport {\n DeltaOrderStatusChecker,\n getDisplayedOrderStatus,\n isTwapAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport type { DeltaAuctionStatus } from \"@velora-dex/sdk\";\nimport { useDateNow } from \"@/lib/utils/useDateNow\";\nimport { Duration } from \"../Duration/Duration\";\nimport { twapSliceInfo } from \"./utils\";\nimport { getTwapAuctionDeadlines } from \"@/lib/utils/twap\";\n\nconst missingContent = \"-\";\n\nexport const LimitOrdersListItem = ({\n auction,\n onClick,\n}: {\n auction: LimitOrderItem;\n onClick: (auction: LimitOrderItem) => void;\n}) => {\n return (\n <div\n className={\"bg-white dark:bg-contrast-3 p-4 rounded-sm cursor-pointer\"}\n onClick={() => onClick(auction)}\n >\n <TradeAndNetwork {...auction} />\n <RateAndStatus {...auction} />\n </div>\n );\n};\n\nconst srcTokenBadgeClasses = { logo: \"size-[16px]\", root: \"z-1\" };\nconst destTokenBadgeClasses = { logo: \"size-[16px]\", root: \"-ml-1\" };\nconst networkIconClasses = { root: \"gap-2\", name: \"dark:text-contrast-7\" };\n\nexport const TradeAndNetwork = ({\n extra,\n chainId,\n}: Pick<LimitOrderItem, \"extra\" | \"chainId\">) => {\n return (\n <div className=\"flex items-center justify-between pb-4\">\n <Trade {...extra} />\n <NetworkWithIcon\n networkId={chainId as SupportedChainId}\n classes={networkIconClasses}\n />\n </div>\n );\n};\n\nconst Trade = ({\n srcToken,\n destToken,\n srcAmountUnit,\n destAmountUnit,\n visualItemType,\n}: LimitOrderItemExtra) => {\n // @TODO we'll miss a big piece of info if we don't have the tokens\n // consider to fetch them onchain if missing in useQuery(select)\n // or just add more token lists\n if (!srcToken || !destToken || !srcAmountUnit || !destAmountUnit)\n return missingContent;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const icons = (\n <div className=\"flex items-center\">\n <TokenBadge\n address={srcToken.address}\n chainId={srcToken.network}\n img={srcToken.img}\n classes={srcTokenBadgeClasses}\n />\n <TokenBadge\n address={destToken.address}\n img={destToken.img}\n chainId={destToken.network}\n classes={destTokenBadgeClasses}\n />\n </div>\n );\n\n const typeAndAmounts = (\n <div className=\"ml-2 flex flex-col\">\n <div className=\"text-xs font-medium text-contrast-5\">\n {visualItemType}\n </div>\n <div className=\"text-sm font-medium dark:text-contrast-9\">\n {srcToken.symbol} {formattedSrcAmount}\n <span className=\"mx-1\">→</span>\n {destToken.symbol} {formattedDestAmount}\n </div>\n </div>\n );\n\n return (\n <div className=\"flex items-center\">\n {icons}\n {typeAndAmounts}\n </div>\n );\n};\n\nexport const Rate = ({\n extra,\n classes,\n}: { extra: Omit<LimitOrderItemExtra, \"visualItemType\"> } & WithClasses<\n \"root\" | \"left\" | \"right\"\n>) => {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n if (!srcToken || !destToken || !srcAmountUnit || !destAmountUnit)\n return missingContent;\n\n const rateFormatted = calcRate(srcAmountUnit, destAmountUnit)?.rateFormatted;\n if (!rateFormatted) return missingContent;\n\n const left = `${formatTokenAmount(rateFormatted)} ${destToken.symbol}`;\n const right = `per ${srcToken.symbol}`;\n\n return (\n <div className={cn(\"text-xs\", classes?.root)}>\n <span className={classes?.left}>{left}</span>{\" \"}\n <span className={classes?.right}>{right}</span>\n </div>\n );\n};\n\nexport const StatusBadge = ({\n status,\n extraLabel,\n}: {\n status: DeltaAuctionStatus;\n extraLabel?: React.ReactNode;\n}) => {\n const success = DeltaOrderStatusChecker.success.has(status);\n const failed = DeltaOrderStatusChecker.failed.has(status);\n const overallPending =\n DeltaOrderStatusChecker.pending.has(status) ||\n DeltaOrderStatusChecker.executing.has(status);\n\n return (\n <div\n className={cn(\"text-[10px] p-0.5 px-2 rounded-lg w-max\", {\n \"text-secondary-shamrock-green-2 bg-[#00976733]\": success,\n \"text-secondary-radical-red-1 bg-[#FF3B301A]\": failed,\n \"text-secondary-orange-peel-1 bg-[#FF950033]\": overallPending,\n })}\n >\n {getDisplayedOrderStatus(status)}\n {extraLabel && <> {extraLabel}</>}\n </div>\n );\n};\n\nconst rateClasses = {\n left: \"dark:text-contrast-7\",\n right: \"text-contrast-5\",\n};\n\nconst RateAndStatus = (props: LimitOrderItem) => {\n const overallPending =\n DeltaOrderStatusChecker.pending.has(props.status) ||\n DeltaOrderStatusChecker.executing.has(props.status);\n const isTwap = isTwapAuction(props);\n\n const extraStatusLabel = isTwap ? twapSliceInfo(props) : undefined;\n const deadline = isTwap\n ? getTwapAuctionDeadlines(props).endsInMs / 1000\n : props.order.deadline;\n\n return (\n <div className=\"flex items-center justify-between\">\n <Rate extra={props.extra} classes={rateClasses} />\n <div className=\"flex items-center gap-1\">\n {overallPending && <TimeTillExpiry deadline={deadline} />}\n <StatusBadge status={props.status} extraLabel={extraStatusLabel} />\n </div>\n </div>\n );\n};\n\nexport const TimeTillExpiry = ({\n deadline,\n classes,\n showSeconds,\n}: {\n deadline: number;\n showSeconds?: boolean;\n} & WithClasses<\"root\">) => {\n const now = useDateNow();\n const timeMs = (deadline - now / 1000) * 1000;\n\n return (\n <Duration timeMs={timeMs} classes={classes} showSeconds={showSeconds} />\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AllChainsTokenMap } from '../../../hooks/tokens/types';
|
|
2
2
|
import { DeltaAuction } from '@velora-dex/sdk';
|
|
3
3
|
import { LimitOrderItem, LimitOrderItemWithExtra } from './types';
|
|
4
|
+
import { DeltaAuctionWithTwapOrder } from '../../../hooks/swap/prices/delta/orders/types';
|
|
4
5
|
export declare function constructLimitOrderItem(auction: DeltaAuction, allChainsTokenMap: AllChainsTokenMap): LimitOrderItem;
|
|
5
6
|
export declare function isLimitOrderWithExtra(order: LimitOrderItem): order is LimitOrderItemWithExtra;
|
|
7
|
+
export declare function twapSliceInfo(auction: Pick<DeltaAuctionWithTwapOrder, "transactions" | "order">): string;
|
|
6
8
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/LimitOrderItem/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/LimitOrderItem/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAExF,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,EACrB,iBAAiB,EAAE,iBAAiB,GACnC,cAAc,CAuEhB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,KAAK,IAAI,uBAAuB,CAGlC;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,cAAc,GAAG,OAAO,CAAC,GACjE,MAAM,CAER"}
|
|
@@ -40,7 +40,10 @@ function a(e) {
|
|
|
40
40
|
let { srcToken: t, destToken: n, srcAmountUnit: r, destAmountUnit: i } = e.extra;
|
|
41
41
|
return !!(t && n && r && i);
|
|
42
42
|
}
|
|
43
|
+
function o(e) {
|
|
44
|
+
return `${e.transactions.length}/${e.order.numSlices}`;
|
|
45
|
+
}
|
|
43
46
|
//#endregion
|
|
44
|
-
export { i as constructLimitOrderItem, a as isLimitOrderWithExtra };
|
|
47
|
+
export { i as constructLimitOrderItem, a as isLimitOrderWithExtra, o as twapSliceInfo };
|
|
45
48
|
|
|
46
49
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["getUnifiedDeltaOrderData","AllChainsTokenMap","prepTokenKey","isSupportedChainId","DeltaAuction","LimitOrderItem","LimitOrderItemWithExtra","formatUnits","Token","constructLimitOrderItem","auction","allChainsTokenMap","srcAmount","destAmount","srcChainId","destChainId","srcToken","srcTokenAddress","destToken","destTokenAddress","srcAmountUnit","destAmountUnit","srcTokenKey","address","network","foundSrcToken","BigInt","decimals","destTokenKey","foundDestToken","visualItemType","type","onChainOrderType","extra","itemType","isLimitOrderWithExtra","order"],"sources":["../../../../src/components/widget/LimitOrderItem/utils.ts"],"sourcesContent":["import { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\nimport type { LimitOrderItem, LimitOrderItemWithExtra } from \"./types\";\nimport { formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\n\nexport function constructLimitOrderItem(\n auction: DeltaAuction,\n allChainsTokenMap: AllChainsTokenMap\n): LimitOrderItem {\n const {\n srcAmount,\n destAmount,\n srcChainId,\n destChainId,\n srcToken: srcTokenAddress,\n destToken: destTokenAddress,\n } = getUnifiedDeltaOrderData(auction);\n\n let srcToken: Token | undefined;\n let destToken: Token | undefined;\n\n let srcAmountUnit: string | undefined;\n let destAmountUnit: string | undefined;\n\n if (isSupportedChainId(srcChainId)) {\n const srcTokenKey = prepTokenKey({\n address: srcTokenAddress,\n network: srcChainId,\n });\n\n const foundSrcToken = allChainsTokenMap[srcTokenKey];\n if (foundSrcToken) {\n srcToken = foundSrcToken;\n srcAmountUnit = formatUnits(BigInt(srcAmount), foundSrcToken.decimals);\n }\n }\n\n if (isSupportedChainId(destChainId)) {\n const destTokenKey = prepTokenKey({\n address: destTokenAddress,\n network: destChainId,\n });\n\n const foundDestToken = allChainsTokenMap[destTokenKey];\n if (foundDestToken) {\n destToken = foundDestToken;\n destAmountUnit = formatUnits(BigInt(destAmount), foundDestToken.decimals);\n }\n }\n\n let visualItemType;\n if (auction.type === \"LIMIT\") {\n visualItemType = \"Limit\";\n } else if (\n auction.onChainOrderType === \"TWAPOrder\" ||\n auction.onChainOrderType === \"TWAPBuyOrder\"\n ) {\n visualItemType = \"TWAP\";\n } else if (auction.onChainOrderType === \"ExternalOrder\") {\n visualItemType = \"External Order\";\n } else {\n visualItemType = \"Swap\";\n }\n\n const extra = {\n srcToken,\n destToken,\n srcAmount,\n destAmount,\n srcAmountUnit,\n destAmountUnit,\n visualItemType,\n };\n\n return {\n ...auction,\n extra,\n itemType: \"limit-order\",\n };\n}\n\nexport function isLimitOrderWithExtra(\n order: LimitOrderItem\n): order is LimitOrderItemWithExtra {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = order.extra;\n return !!(srcToken && destToken && srcAmountUnit && destAmountUnit);\n}\n"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"utils.js","names":["getUnifiedDeltaOrderData","AllChainsTokenMap","prepTokenKey","isSupportedChainId","DeltaAuction","LimitOrderItem","LimitOrderItemWithExtra","formatUnits","Token","DeltaAuctionWithTwapOrder","constructLimitOrderItem","auction","allChainsTokenMap","srcAmount","destAmount","srcChainId","destChainId","srcToken","srcTokenAddress","destToken","destTokenAddress","srcAmountUnit","destAmountUnit","srcTokenKey","address","network","foundSrcToken","BigInt","decimals","destTokenKey","foundDestToken","visualItemType","type","onChainOrderType","extra","itemType","isLimitOrderWithExtra","order","twapSliceInfo","Pick","transactions","length","numSlices"],"sources":["../../../../src/components/widget/LimitOrderItem/utils.ts"],"sourcesContent":["import { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\nimport type { LimitOrderItem, LimitOrderItemWithExtra } from \"./types\";\nimport { formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport type { DeltaAuctionWithTwapOrder } from \"@/hooks/swap/prices/delta/orders/types\";\n\nexport function constructLimitOrderItem(\n auction: DeltaAuction,\n allChainsTokenMap: AllChainsTokenMap\n): LimitOrderItem {\n const {\n srcAmount,\n destAmount,\n srcChainId,\n destChainId,\n srcToken: srcTokenAddress,\n destToken: destTokenAddress,\n } = getUnifiedDeltaOrderData(auction);\n\n let srcToken: Token | undefined;\n let destToken: Token | undefined;\n\n let srcAmountUnit: string | undefined;\n let destAmountUnit: string | undefined;\n\n if (isSupportedChainId(srcChainId)) {\n const srcTokenKey = prepTokenKey({\n address: srcTokenAddress,\n network: srcChainId,\n });\n\n const foundSrcToken = allChainsTokenMap[srcTokenKey];\n if (foundSrcToken) {\n srcToken = foundSrcToken;\n srcAmountUnit = formatUnits(BigInt(srcAmount), foundSrcToken.decimals);\n }\n }\n\n if (isSupportedChainId(destChainId)) {\n const destTokenKey = prepTokenKey({\n address: destTokenAddress,\n network: destChainId,\n });\n\n const foundDestToken = allChainsTokenMap[destTokenKey];\n if (foundDestToken) {\n destToken = foundDestToken;\n destAmountUnit = formatUnits(BigInt(destAmount), foundDestToken.decimals);\n }\n }\n\n let visualItemType;\n if (auction.type === \"LIMIT\") {\n visualItemType = \"Limit\";\n } else if (\n auction.onChainOrderType === \"TWAPOrder\" ||\n auction.onChainOrderType === \"TWAPBuyOrder\"\n ) {\n visualItemType = \"TWAP\";\n } else if (auction.onChainOrderType === \"ExternalOrder\") {\n visualItemType = \"External Order\";\n } else {\n visualItemType = \"Swap\";\n }\n\n const extra = {\n srcToken,\n destToken,\n srcAmount,\n destAmount,\n srcAmountUnit,\n destAmountUnit,\n visualItemType,\n };\n\n return {\n ...auction,\n extra,\n itemType: \"limit-order\",\n };\n}\n\nexport function isLimitOrderWithExtra(\n order: LimitOrderItem\n): order is LimitOrderItemWithExtra {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = order.extra;\n return !!(srcToken && destToken && srcAmountUnit && destAmountUnit);\n}\n\nexport function twapSliceInfo(\n auction: Pick<DeltaAuctionWithTwapOrder, \"transactions\" | \"order\">\n): string {\n return `${auction.transactions.length}/${auction.order.numSlices}`;\n}\n"],"mappings":";;;;;AAUA,SAAgBU,EACdC,GACAC,GACgB;CAChB,IAAM,EACJC,cACAC,eACAC,eACAC,gBACAC,UAAUC,GACVC,WAAWC,MACTpB,EAAyBW,EAAQ,EAEjCM,GACAE,GAEAE,GACAC;AAEJ,KAAInB,EAAmBY,EAAW,EAAE;EAMlC,IAAMW,IAAgBd,EALFV,EAAa;GAC/BsB,SAASN;GACTO,SAASV;GACV,CAAC;AAGF,EAAIW,MACFT,IAAWS,GACXL,IAAgBd,EAAYoB,OAAOd,EAAU,EAAEa,EAAcE,SAAS;;AAI1E,KAAIzB,EAAmBa,EAAY,EAAE;EAMnC,IAAMc,IAAiBlB,EALFV,EAAa;GAChCsB,SAASJ;GACTK,SAAST;GACV,CAAC;AAGF,EAAIc,MACFX,IAAYW,GACZR,IAAiBf,EAAYoB,OAAOb,EAAW,EAAEgB,EAAeF,SAAS;;CAI7E,IAAIG;AACJ,CAUEA,IAVEpB,EAAQqB,SAAS,UACF,UAEjBrB,EAAQsB,qBAAqB,eAC7BtB,EAAQsB,qBAAqB,iBAEZ,SACRtB,EAAQsB,qBAAqB,kBACrB,mBAEA;CAGnB,IAAMC,IAAQ;EACZjB;EACAE;EACAN;EACAC;EACAO;EACAC;EACAS;EACD;AAED,QAAO;EACL,GAAGpB;EACHuB;EACAC,UAAU;EACX;;AAGH,SAAgBC,EACdC,GACkC;CAClC,IAAM,EAAEpB,aAAUE,cAAWE,kBAAeC,sBAAmBe,EAAMH;AACrE,QAAO,CAAC,EAAEjB,KAAYE,KAAaE,KAAiBC;;AAGtD,SAAgBgB,EACd3B,GACQ;AACR,QAAO,GAAGA,EAAQ6B,aAAaC,OAAM,GAAI9B,EAAQ0B,MAAMK"}
|
|
@@ -183,6 +183,6 @@ function F(e) {
|
|
|
183
183
|
return P[e];
|
|
184
184
|
}
|
|
185
185
|
//#endregion
|
|
186
|
-
export { p as DeltaOrderStatusChecker, _ as getAuctionDestChainId, y as getDisplayedOrderStatus, D as getOrderTokenAddresses, v as getOverallOrderStatus, j as getSwapSideFromDeltaPrice, T as getTwapOrderDeadlineFromSlices, E as getUnifiedDeltaOrderData, d as isCanceledDeltaAuction, s as isDeltaAuctionData, f as isDeltaAuctionExpired, l as isExecutedDeltaAuction, u as isFailedDeltaAuction, a as isTwapBuyDeltaOrder, i as isTwapSellDeltaOrder };
|
|
186
|
+
export { p as DeltaOrderStatusChecker, _ as getAuctionDestChainId, y as getDisplayedOrderStatus, D as getOrderTokenAddresses, v as getOverallOrderStatus, j as getSwapSideFromDeltaPrice, T as getTwapOrderDeadlineFromSlices, E as getUnifiedDeltaOrderData, d as isCanceledDeltaAuction, s as isDeltaAuctionData, f as isDeltaAuctionExpired, l as isExecutedDeltaAuction, u as isFailedDeltaAuction, b as isTwapAuction, a as isTwapBuyDeltaOrder, i as isTwapSellDeltaOrder };
|
|
187
187
|
|
|
188
188
|
//# sourceMappingURL=utils.js.map
|
package/dist/lib/utils/twap.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DeltaOrBridgePrice } from '../../hooks/swap/prices/types';
|
|
2
|
+
import { DeltaAuctionWithTwapOrder } from '../../hooks/swap/prices/delta/orders/types';
|
|
2
3
|
export declare function getTwapChunkAmount({ totalWei, numSlices, }: {
|
|
3
4
|
totalWei: string;
|
|
4
5
|
numSlices: number;
|
|
@@ -21,4 +22,8 @@ export declare function produceTwapDeadlines({ durationMin, numSlices, }: {
|
|
|
21
22
|
orderDeadline: number;
|
|
22
23
|
orderInterval: number;
|
|
23
24
|
};
|
|
25
|
+
export declare function getTwapAuctionDeadlines({ order, createdAt, }: Pick<DeltaAuctionWithTwapOrder, "order" | "createdAt">): {
|
|
26
|
+
endsInMs: number;
|
|
27
|
+
durationMs: number;
|
|
28
|
+
};
|
|
24
29
|
//# sourceMappingURL=twap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twap.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/twap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"twap.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/twap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAExF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAGT;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAGT;AAED,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;;;EAQA;AACD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;;;EAcA;AAED,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,WAAW,CAAC;;;EAIxD"}
|
package/dist/lib/utils/twap.js
CHANGED
|
@@ -28,7 +28,14 @@ function c({ durationMin: i, numSlices: a }) {
|
|
|
28
28
|
orderInterval: c
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
+
function l({ order: e, createdAt: t }) {
|
|
32
|
+
let n = e.numSlices * e.interval * 1e3;
|
|
33
|
+
return {
|
|
34
|
+
endsInMs: new Date(t).getTime() + n,
|
|
35
|
+
durationMs: n
|
|
36
|
+
};
|
|
37
|
+
}
|
|
31
38
|
//#endregion
|
|
32
|
-
export { o as getTotalTwapAmount, s as getTwapAmountsFromPrice, a as getTwapChunkAmount, c as produceTwapDeadlines };
|
|
39
|
+
export { o as getTotalTwapAmount, s as getTwapAmountsFromPrice, l as getTwapAuctionDeadlines, a as getTwapChunkAmount, c as produceTwapDeadlines };
|
|
33
40
|
|
|
34
41
|
//# sourceMappingURL=twap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twap.js","names":["DeltaOrBridgePrice","Big","millisecondsToSeconds","minutesToMilliseconds","TEN_MINUTES_MS","produceDeltaOrderDeadline","getTwapChunkAmount","totalWei","numSlices","div","toFixed","getTotalTwapAmount","chunkWei","mul","getTwapAmountsFromPrice","price","srcAmount","destAmount","receivedDestAmount","produceTwapDeadlines","durationMin","orderDurationMs","orderDeadline","orderInterval","Math","floor","Number"],"sources":["../../../src/lib/utils/twap.ts"],"sourcesContent":["import type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds, minutesToMilliseconds } from \"./time\";\nimport { TEN_MINUTES_MS } from \"../constants/time\";\nimport { produceDeltaOrderDeadline } from \"./delta\";\n\nexport function getTwapChunkAmount({\n totalWei,\n numSlices,\n}: {\n totalWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || totalWei === \"0\") return totalWei;\n return Big(totalWei).div(numSlices).toFixed(0, 0); // roundDown to avoid overestimating\n}\n\nexport function getTotalTwapAmount({\n chunkWei,\n numSlices,\n}: {\n chunkWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || chunkWei === \"0\") return chunkWei;\n return Big(chunkWei).mul(numSlices).toFixed();\n}\n\nexport function getTwapAmountsFromPrice({\n price,\n numSlices,\n}: {\n price: DeltaOrBridgePrice;\n numSlices: number;\n}) {\n return {\n srcAmount: getTotalTwapAmount({ chunkWei: price.srcAmount, numSlices }),\n destAmount: getTotalTwapAmount({\n chunkWei: price.receivedDestAmount,\n numSlices,\n }),\n };\n}\nexport function produceTwapDeadlines({\n durationMin,\n numSlices,\n}: {\n durationMin: number;\n numSlices: number;\n}) {\n const orderDurationMs = minutesToMilliseconds(durationMin);\n const orderDeadline = produceDeltaOrderDeadline(\n // 10 min buffer for possible delays in order creation or slice executions\n orderDurationMs + TEN_MINUTES_MS\n );\n const orderInterval = Math.floor(\n millisecondsToSeconds(orderDurationMs) / numSlices\n );\n\n return {\n orderDeadline: Number(orderDeadline),\n orderInterval,\n };\n}\n"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"twap.js","names":["DeltaOrBridgePrice","Big","millisecondsToSeconds","minutesToMilliseconds","TEN_MINUTES_MS","produceDeltaOrderDeadline","DeltaAuctionWithTwapOrder","getTwapChunkAmount","totalWei","numSlices","div","toFixed","getTotalTwapAmount","chunkWei","mul","getTwapAmountsFromPrice","price","srcAmount","destAmount","receivedDestAmount","produceTwapDeadlines","durationMin","orderDurationMs","orderDeadline","orderInterval","Math","floor","Number","getTwapAuctionDeadlines","order","createdAt","Pick","durationMs","interval","endsInMs","Date","getTime"],"sources":["../../../src/lib/utils/twap.ts"],"sourcesContent":["import type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds, minutesToMilliseconds } from \"./time\";\nimport { TEN_MINUTES_MS } from \"../constants/time\";\nimport { produceDeltaOrderDeadline } from \"./delta\";\nimport type { DeltaAuctionWithTwapOrder } from \"@/hooks/swap/prices/delta/orders/types\";\n\nexport function getTwapChunkAmount({\n totalWei,\n numSlices,\n}: {\n totalWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || totalWei === \"0\") return totalWei;\n return Big(totalWei).div(numSlices).toFixed(0, 0); // roundDown to avoid overestimating\n}\n\nexport function getTotalTwapAmount({\n chunkWei,\n numSlices,\n}: {\n chunkWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || chunkWei === \"0\") return chunkWei;\n return Big(chunkWei).mul(numSlices).toFixed();\n}\n\nexport function getTwapAmountsFromPrice({\n price,\n numSlices,\n}: {\n price: DeltaOrBridgePrice;\n numSlices: number;\n}) {\n return {\n srcAmount: getTotalTwapAmount({ chunkWei: price.srcAmount, numSlices }),\n destAmount: getTotalTwapAmount({\n chunkWei: price.receivedDestAmount,\n numSlices,\n }),\n };\n}\nexport function produceTwapDeadlines({\n durationMin,\n numSlices,\n}: {\n durationMin: number;\n numSlices: number;\n}) {\n const orderDurationMs = minutesToMilliseconds(durationMin);\n const orderDeadline = produceDeltaOrderDeadline(\n // 10 min buffer for possible delays in order creation or slice executions\n orderDurationMs + TEN_MINUTES_MS\n );\n const orderInterval = Math.floor(\n millisecondsToSeconds(orderDurationMs) / numSlices\n );\n\n return {\n orderDeadline: Number(orderDeadline),\n orderInterval,\n };\n}\n\nexport function getTwapAuctionDeadlines({\n order,\n createdAt,\n}: Pick<DeltaAuctionWithTwapOrder, \"order\" | \"createdAt\">) {\n const durationMs = order.numSlices * order.interval * 1000;\n const endsInMs = new Date(createdAt).getTime() + durationMs;\n return { endsInMs, durationMs };\n}\n"],"mappings":";;;;;AAOA,SAAgBO,EAAmB,EACjCC,aACAC,gBAIS;AAET,QADIA,KAAa,KAAKD,MAAa,MAAYA,IACxCP,EAAIO,EAAS,CAACE,IAAID,EAAU,CAACE,QAAQ,GAAG,EAAE;;AAGnD,SAAgBC,EAAmB,EACjCC,aACAJ,gBAIS;AAET,QADIA,KAAa,KAAKI,MAAa,MAAYA,IACxCZ,EAAIY,EAAS,CAACC,IAAIL,EAAU,CAACE,SAAS;;AAG/C,SAAgBI,EAAwB,EACtCC,UACAP,gBAIC;AACD,QAAO;EACLQ,WAAWL,EAAmB;GAAEC,UAAUG,EAAMC;GAAWR;GAAW,CAAC;EACvES,YAAYN,EAAmB;GAC7BC,UAAUG,EAAMG;GAChBV;GACD,CAAA;EACF;;AAEH,SAAgBW,EAAqB,EACnCC,gBACAZ,gBAIC;CACD,IAAMa,IAAkBnB,EAAsBkB,EAAY,EACpDE,IAAgBlB,EAEpBiB,IAAkBlB,EACnB,EACKoB,IAAgBC,KAAKC,MACzBxB,EAAsBoB,EAAgB,GAAGb,EAC1C;AAED,QAAO;EACLc,eAAeI,OAAOJ,EAAc;EACpCC;EACD;;AAGH,SAAgBI,EAAwB,EACtCC,UACAC,gBACyD;CACzD,IAAME,IAAaH,EAAMpB,YAAYoB,EAAMI,WAAW;AAEtD,QAAO;EAAEC,UADQ,IAAIC,KAAKL,EAAU,CAACM,SAAS,GAAGJ;EAC9BA;EAAY"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velora-dex/widget",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"@tanstack/react-pacer": "^0.14.0",
|
|
79
79
|
"@tanstack/react-virtual": "^3.13.12",
|
|
80
80
|
"@uniswap/token-lists": "1.0.0-beta.34",
|
|
81
|
-
"@velora-dex/sdk": "9.
|
|
81
|
+
"@velora-dex/sdk": "9.5.0",
|
|
82
82
|
"@wagmi/core": "^2.18.1",
|
|
83
83
|
"axios": "^1.11.0",
|
|
84
84
|
"big.js": "^7.0.1",
|