@velora-dex/widget 0.6.1-dev.3 → 0.6.1-dev.5

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.
@@ -1,7 +1,7 @@
1
1
  import { DrawerControls } from '../Drawer/state/useDrawerControls';
2
2
  import { DrawerState } from './OrderDuration';
3
- export declare function CustomDurationDrawer({ drawerState, drawerControls, }: {
4
- drawerState: DrawerState;
3
+ export declare function CustomDurationDrawer({ orderDurationState, drawerControls, }: {
4
+ orderDurationState: DrawerState;
5
5
  drawerControls: DrawerControls;
6
6
  }): import("react/jsx-runtime").JSX.Element;
7
7
  //# sourceMappingURL=CustomDurationDrawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomDurationDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Twap/CustomDurationDrawer.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAOzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,cAAc,GACf,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;CAChC,2CAkGA"}
1
+ {"version":3,"file":"CustomDurationDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Twap/CustomDurationDrawer.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAOzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD,wBAAgB,oBAAoB,CAAC,EACnC,kBAAkB,EAClB,cAAc,GACf,EAAE;IACD,kBAAkB,EAAE,WAAW,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;CAChC,2CA0GA"}
@@ -14,109 +14,112 @@ function m(e, t, n) {
14
14
  return e * 24 * 60 + t * 60 + n;
15
15
  }
16
16
  function h(l) {
17
- let h = d(42), { drawerState: _, drawerControls: v } = l, y = e(n), { days: b, hours: x, minutes: S, setDays: C, setHours: w, setMinutes: T } = _, E = m(b, x, S), D = E < 60, O = E === 0 || D, k = D && v.open, A;
18
- h[0] !== v || h[1] !== O || h[2] !== y || h[3] !== E ? (A = () => {
17
+ let h = d(42), { orderDurationState: _, drawerControls: v } = l, y = e(n), { days: b, hours: x, minutes: S, setDays: C, setHours: w, setMinutes: T } = _, E = m(b, x, S), D = E < 60, O = E === 0 || D, k = D && v.open, A = b < 0 || b > 30, j = D || x < 0 || x > 23, M = S < 0 || S > 59, N;
18
+ h[0] !== v || h[1] !== O || h[2] !== y || h[3] !== E ? (N = () => {
19
19
  O || (y(E), v.onClose());
20
- }, h[0] = v, h[1] = O, h[2] = y, h[3] = E, h[4] = A) : A = h[4];
21
- let j = A, M;
22
- h[5] === Symbol.for("react.memo_cache_sentinel") ? (M = /* @__PURE__ */ f("div", {
20
+ }, h[0] = v, h[1] = O, h[2] = y, h[3] = E, h[4] = N) : N = h[4];
21
+ let P = N, F;
22
+ h[5] === Symbol.for("react.memo_cache_sentinel") ? (F = /* @__PURE__ */ f("div", {
23
23
  className: "flex items-center h-10",
24
24
  children: /* @__PURE__ */ f(u, {})
25
- }), h[5] = M) : M = h[5];
26
- let N = M, P;
27
- h[6] === Symbol.for("react.memo_cache_sentinel") ? (P = { content: "dark:bg-contrast-2" }, h[6] = P) : P = h[6];
28
- let F;
29
- h[7] === Symbol.for("react.memo_cache_sentinel") ? (F = /* @__PURE__ */ f("div", {
25
+ }), h[5] = F) : F = h[5];
26
+ let I = F, L;
27
+ h[6] === Symbol.for("react.memo_cache_sentinel") ? (L = { content: "dark:bg-contrast-2" }, h[6] = L) : L = h[6];
28
+ let R;
29
+ h[7] === Symbol.for("react.memo_cache_sentinel") ? (R = /* @__PURE__ */ f("div", {
30
30
  className: "text-center text-xs pb-8 px-4 text-contrast-5 dark:text-contrast-6",
31
31
  children: "Set how long this TWAP order should execute. The total size will be split and filled progressively over this duration."
32
- }), h[7] = F) : F = h[7];
33
- let I;
34
- h[8] !== b || h[9] !== C ? (I = /* @__PURE__ */ f(g, {
32
+ }), h[7] = R) : R = h[7];
33
+ let z;
34
+ h[8] !== b || h[9] !== A || h[10] !== C ? (z = /* @__PURE__ */ f(g, {
35
35
  label: "Days",
36
36
  value: b,
37
37
  max: 30,
38
- onChange: C
39
- }), h[8] = b, h[9] = C, h[10] = I) : I = h[10];
40
- let L;
41
- h[11] !== x || h[12] !== D || h[13] !== w ? (L = /* @__PURE__ */ f(o, {
38
+ onChange: C,
39
+ isError: A
40
+ }), h[8] = b, h[9] = A, h[10] = C, h[11] = z) : z = h[11];
41
+ let B;
42
+ h[12] !== x || h[13] !== j || h[14] !== w ? (B = /* @__PURE__ */ f(o, {
42
43
  asChild: !0,
43
44
  children: /* @__PURE__ */ f("div", { children: /* @__PURE__ */ f(g, {
44
45
  label: "Hours",
45
46
  value: x,
46
47
  max: 23,
47
48
  onChange: w,
48
- isError: D
49
+ isError: j
49
50
  }) })
50
- }), h[11] = x, h[12] = D, h[13] = w, h[14] = L) : L = h[14];
51
- let R;
52
- h[15] === k ? R = h[16] : (R = k && /* @__PURE__ */ p(a, {
51
+ }), h[12] = x, h[13] = j, h[14] = w, h[15] = B) : B = h[15];
52
+ let V;
53
+ h[16] === Symbol.for("react.memo_cache_sentinel") ? (V = /* @__PURE__ */ p(a, {
53
54
  side: "bottom",
54
55
  children: [
55
56
  "Minimum TWAP duration is",
56
57
  " ",
57
58
  /* @__PURE__ */ f(c, {
58
59
  timeMs: t(60),
60
+ classes: { root: "inline-flex dark:text-contrast-3" },
59
61
  showSeconds: !0
60
62
  })
61
63
  ]
62
- }), h[15] = k, h[16] = R);
63
- let z;
64
- h[17] !== k || h[18] !== L || h[19] !== R ? (z = /* @__PURE__ */ p(i, {
64
+ }), h[16] = V) : V = h[16];
65
+ let H;
66
+ h[17] !== k || h[18] !== B ? (H = /* @__PURE__ */ p(i, {
65
67
  open: k,
66
- children: [L, R]
67
- }), h[17] = k, h[18] = L, h[19] = R, h[20] = z) : z = h[20];
68
- let B;
69
- h[21] !== S || h[22] !== T ? (B = /* @__PURE__ */ f(g, {
68
+ children: [B, V]
69
+ }), h[17] = k, h[18] = B, h[19] = H) : H = h[19];
70
+ let U;
71
+ h[20] !== M || h[21] !== S || h[22] !== T ? (U = /* @__PURE__ */ f(g, {
70
72
  label: "Minutes",
71
73
  value: S,
72
74
  max: 59,
73
- onChange: T
74
- }), h[21] = S, h[22] = T, h[23] = B) : B = h[23];
75
- let V;
76
- h[24] !== I || h[25] !== z || h[26] !== B ? (V = /* @__PURE__ */ p("div", { children: [F, /* @__PURE__ */ p("div", {
75
+ onChange: T,
76
+ isError: M
77
+ }), h[20] = M, h[21] = S, h[22] = T, h[23] = U) : U = h[23];
78
+ let W;
79
+ h[24] !== z || h[25] !== H || h[26] !== U ? (W = /* @__PURE__ */ p("div", { children: [R, /* @__PURE__ */ p("div", {
77
80
  className: "grid grid-cols-[1fr_auto_1fr_auto_1fr] items-end gap-2",
78
81
  children: [
79
- I,
80
- N,
81
82
  z,
82
- N,
83
- B
83
+ I,
84
+ H,
85
+ I,
86
+ U
84
87
  ]
85
- })] }), h[24] = I, h[25] = z, h[26] = B, h[27] = V) : V = h[27];
86
- let H;
87
- h[28] !== j || h[29] !== O ? (H = /* @__PURE__ */ f(r, {
88
- onClick: j,
88
+ })] }), h[24] = z, h[25] = H, h[26] = U, h[27] = W) : W = h[27];
89
+ let G;
90
+ h[28] !== P || h[29] !== O ? (G = /* @__PURE__ */ f(r, {
91
+ onClick: P,
89
92
  disabled: O,
90
93
  radius: "sm",
91
94
  className: "h-10",
92
95
  children: "Save"
93
- }), h[28] = j, h[29] = O, h[30] = H) : H = h[30];
94
- let U;
95
- h[31] === v.onClose ? U = h[32] : (U = /* @__PURE__ */ f(r, {
96
+ }), h[28] = P, h[29] = O, h[30] = G) : G = h[30];
97
+ let K;
98
+ h[31] === v.onClose ? K = h[32] : (K = /* @__PURE__ */ f(r, {
96
99
  variant: "secondary",
97
100
  onClick: v.onClose,
98
101
  radius: "sm",
99
102
  className: "h-10",
100
103
  children: "Dismiss"
101
- }), h[31] = v.onClose, h[32] = U);
102
- let W;
103
- h[33] !== H || h[34] !== U ? (W = /* @__PURE__ */ p("div", {
104
+ }), h[31] = v.onClose, h[32] = K);
105
+ let q;
106
+ h[33] !== G || h[34] !== K ? (q = /* @__PURE__ */ p("div", {
104
107
  className: "flex flex-col gap-4",
105
- children: [H, U]
106
- }), h[33] = H, h[34] = U, h[35] = W) : W = h[35];
107
- let G;
108
- h[36] !== V || h[37] !== W ? (G = /* @__PURE__ */ p("div", {
108
+ children: [G, K]
109
+ }), h[33] = G, h[34] = K, h[35] = q) : q = h[35];
110
+ let J;
111
+ h[36] !== W || h[37] !== q ? (J = /* @__PURE__ */ p("div", {
109
112
  className: "flex flex-col gap-14 px-6 pt-2 pb-8",
110
- children: [V, W]
111
- }), h[36] = V, h[37] = W, h[38] = G) : G = h[38];
112
- let K;
113
- return h[39] !== v || h[40] !== G ? (K = /* @__PURE__ */ f(s, {
113
+ children: [W, q]
114
+ }), h[36] = W, h[37] = q, h[38] = J) : J = h[38];
115
+ let Y;
116
+ return h[39] !== v || h[40] !== J ? (Y = /* @__PURE__ */ f(s, {
114
117
  ...v,
115
118
  title: "Custom Order Duration",
116
119
  showCloseButton: !0,
117
- classes: P,
118
- children: G
119
- }), h[39] = v, h[40] = G, h[41] = K) : K = h[41], K;
120
+ classes: L,
121
+ children: J
122
+ }), h[39] = v, h[40] = J, h[41] = Y) : Y = h[41], Y;
120
123
  }
121
124
  function g(e) {
122
125
  let t = d(13), { label: n, value: r, max: i, onChange: a, isError: o } = e, s;
@@ -1 +1 @@
1
- {"version":3,"file":"CustomDurationDrawer.js","names":["useSetAtom","twapDurationAtom","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_CUSTOM_DURATION_MAX_DAYS","TWAP_CUSTOM_DURATION_MAX_HOURS","TWAP_CUSTOM_DURATION_MAX_MINUTES","NumberInput","Button","ControlledDrawer","DrawerControls","ReactComponent","TwoDotsSVG","Tooltip","TooltipContent","TooltipTrigger","DrawerState","Duration","minutesToMilliseconds","customDurationToMinutes","days","hours","minutes","CustomDurationDrawer","t0","$","_c","drawerState","drawerControls","setDuration","setDays","setHours","setMinutes","totalMinutes","isBelowMinimum","isSaveDisabled","showTooltip","open","t1","onClose","handleSave","t2","Symbol","for","dots","t3","content","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","DurationField","label","value","max","onChange","isError","v","root"],"sources":["../../../../src/components/widget/Twap/CustomDurationDrawer.tsx"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\nimport { twapDurationAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport {\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_CUSTOM_DURATION_MAX_DAYS,\n TWAP_CUSTOM_DURATION_MAX_HOURS,\n TWAP_CUSTOM_DURATION_MAX_MINUTES,\n} from \"@/core/twap/state/constants\";\nimport { NumberInput } from \"@/components/widget/NumberInput/NumberInput\";\nimport { Button } from \"@/components/ui/button\";\nimport { ControlledDrawer } from \"@/components/widget/Drawer\";\nimport { type DrawerControls } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { ReactComponent as TwoDotsSVG } from \"@/assets/two-dots.svg\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport type { DrawerState } from \"./OrderDuration\";\nimport { Duration } from \"../Duration/Duration\";\nimport { minutesToMilliseconds } from \"@/lib/utils/time\";\n\nfunction customDurationToMinutes(days: number, hours: number, minutes: number) {\n return days * 24 * 60 + hours * 60 + minutes;\n}\n\nexport function CustomDurationDrawer({\n drawerState,\n drawerControls,\n}: {\n drawerState: DrawerState;\n drawerControls: DrawerControls;\n}) {\n const setDuration = useSetAtom(twapDurationAtom);\n const { days, hours, minutes, setDays, setHours, setMinutes } = drawerState;\n\n const totalMinutes = customDurationToMinutes(days, hours, minutes);\n const isBelowMinimum = totalMinutes < TWAP_CUSTOM_DURATION_MIN_MINUTES;\n const isSaveDisabled = totalMinutes === 0 || isBelowMinimum;\n const showTooltip = isBelowMinimum && drawerControls.open;\n\n const handleSave = () => {\n if (isSaveDisabled) return;\n setDuration(totalMinutes);\n drawerControls.onClose();\n };\n\n const dots = (\n <div className=\"flex items-center h-10\">\n <TwoDotsSVG />\n </div>\n );\n\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Custom Order Duration\"\n showCloseButton\n classes={{\n content: \"dark:bg-contrast-2\",\n }}\n >\n <div className=\"flex flex-col gap-14 px-6 pt-2 pb-8\">\n <div>\n <div className=\"text-center text-xs pb-8 px-4 text-contrast-5 dark:text-contrast-6\">\n Set how long this TWAP order should execute. The total size will be\n split and filled progressively over this duration.\n </div>\n <div className=\"grid grid-cols-[1fr_auto_1fr_auto_1fr] items-end gap-2\">\n <DurationField\n label=\"Days\"\n value={days}\n max={TWAP_CUSTOM_DURATION_MAX_DAYS}\n onChange={setDays}\n />\n {dots}\n <Tooltip open={showTooltip}>\n <TooltipTrigger asChild>\n <div>\n <DurationField\n label=\"Hours\"\n value={hours}\n max={TWAP_CUSTOM_DURATION_MAX_HOURS}\n onChange={setHours}\n isError={isBelowMinimum}\n />\n </div>\n </TooltipTrigger>\n {showTooltip && (\n <TooltipContent side=\"bottom\">\n Minimum TWAP duration is{\" \"}\n <Duration\n timeMs={minutesToMilliseconds(\n TWAP_CUSTOM_DURATION_MIN_MINUTES\n )}\n showSeconds\n />\n </TooltipContent>\n )}\n </Tooltip>\n {dots}\n <DurationField\n label=\"Minutes\"\n value={minutes}\n max={TWAP_CUSTOM_DURATION_MAX_MINUTES}\n onChange={setMinutes}\n />\n </div>\n </div>\n <div className=\"flex flex-col gap-4\">\n <Button\n onClick={handleSave}\n disabled={isSaveDisabled}\n radius=\"sm\"\n className=\"h-10\"\n >\n Save\n </Button>\n <Button\n variant=\"secondary\"\n onClick={drawerControls.onClose}\n radius=\"sm\"\n className=\"h-10\"\n >\n Dismiss\n </Button>\n </div>\n </div>\n </ControlledDrawer>\n );\n}\n\nfunction DurationField({\n label,\n value,\n max,\n onChange,\n isError,\n}: {\n label: string;\n value: number;\n max: number;\n onChange: (value: number) => void;\n isError?: boolean;\n}) {\n return (\n <div className=\"flex flex-col gap-1 flex-1\">\n <span className=\"text-xs text-contrast-5 dark:text-contrast-6 uppercase\">\n {label}\n </span>\n <NumberInput\n allowLeadingZeros={false}\n allowNegative={false}\n decimalScale={0}\n placeholder=\"0\"\n value={value}\n min={0}\n max={max}\n stepper={1}\n onValueChange={(v) => onChange(v ?? 0)}\n classes={{\n root: \"h-10\",\n }}\n isError={isError}\n />\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CustomDurationDrawer.js","names":["useSetAtom","twapDurationAtom","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_CUSTOM_DURATION_MAX_DAYS","TWAP_CUSTOM_DURATION_MAX_HOURS","TWAP_CUSTOM_DURATION_MAX_MINUTES","NumberInput","Button","ControlledDrawer","DrawerControls","ReactComponent","TwoDotsSVG","Tooltip","TooltipContent","TooltipTrigger","DrawerState","Duration","minutesToMilliseconds","customDurationToMinutes","days","hours","minutes","CustomDurationDrawer","t0","$","_c","orderDurationState","drawerControls","setDuration","setDays","setHours","setMinutes","totalMinutes","isBelowMinimum","isSaveDisabled","showTooltip","open","isDaysError","isHoursError","isMinutesError","t1","onClose","handleSave","t2","Symbol","for","dots","t3","content","t4","t5","t6","t7","root","t8","t9","t10","t11","t12","t13","t14","t15","DurationField","label","value","max","onChange","isError","v"],"sources":["../../../../src/components/widget/Twap/CustomDurationDrawer.tsx"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\nimport { twapDurationAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport {\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_CUSTOM_DURATION_MAX_DAYS,\n TWAP_CUSTOM_DURATION_MAX_HOURS,\n TWAP_CUSTOM_DURATION_MAX_MINUTES,\n} from \"@/core/twap/state/constants\";\nimport { NumberInput } from \"@/components/widget/NumberInput/NumberInput\";\nimport { Button } from \"@/components/ui/button\";\nimport { ControlledDrawer } from \"@/components/widget/Drawer\";\nimport { type DrawerControls } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { ReactComponent as TwoDotsSVG } from \"@/assets/two-dots.svg\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport type { DrawerState } from \"./OrderDuration\";\nimport { Duration } from \"../Duration/Duration\";\nimport { minutesToMilliseconds } from \"@/lib/utils/time\";\n\nfunction customDurationToMinutes(days: number, hours: number, minutes: number) {\n return days * 24 * 60 + hours * 60 + minutes;\n}\n\nexport function CustomDurationDrawer({\n orderDurationState,\n drawerControls,\n}: {\n orderDurationState: DrawerState;\n drawerControls: DrawerControls;\n}) {\n const setDuration = useSetAtom(twapDurationAtom);\n const { days, hours, minutes, setDays, setHours, setMinutes } =\n orderDurationState;\n\n const totalMinutes = customDurationToMinutes(days, hours, minutes);\n const isBelowMinimum = totalMinutes < TWAP_CUSTOM_DURATION_MIN_MINUTES;\n const isSaveDisabled = totalMinutes === 0 || isBelowMinimum;\n const showTooltip = isBelowMinimum && drawerControls.open;\n\n const isDaysError = days < 0 || days > TWAP_CUSTOM_DURATION_MAX_DAYS;\n const isHoursError =\n isBelowMinimum || hours < 0 || hours > TWAP_CUSTOM_DURATION_MAX_HOURS;\n const isMinutesError =\n minutes < 0 || minutes > TWAP_CUSTOM_DURATION_MAX_MINUTES;\n\n const handleSave = () => {\n if (isSaveDisabled) return;\n setDuration(totalMinutes);\n drawerControls.onClose();\n };\n\n const dots = (\n <div className=\"flex items-center h-10\">\n <TwoDotsSVG />\n </div>\n );\n\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Custom Order Duration\"\n showCloseButton\n classes={{\n content: \"dark:bg-contrast-2\",\n }}\n >\n <div className=\"flex flex-col gap-14 px-6 pt-2 pb-8\">\n <div>\n <div className=\"text-center text-xs pb-8 px-4 text-contrast-5 dark:text-contrast-6\">\n Set how long this TWAP order should execute. The total size will be\n split and filled progressively over this duration.\n </div>\n <div className=\"grid grid-cols-[1fr_auto_1fr_auto_1fr] items-end gap-2\">\n <DurationField\n label=\"Days\"\n value={days}\n max={TWAP_CUSTOM_DURATION_MAX_DAYS}\n onChange={setDays}\n isError={isDaysError}\n />\n {dots}\n <Tooltip open={showTooltip}>\n <TooltipTrigger asChild>\n <div>\n <DurationField\n label=\"Hours\"\n value={hours}\n max={TWAP_CUSTOM_DURATION_MAX_HOURS}\n onChange={setHours}\n isError={isHoursError}\n />\n </div>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n Minimum TWAP duration is{\" \"}\n <Duration\n timeMs={minutesToMilliseconds(\n TWAP_CUSTOM_DURATION_MIN_MINUTES\n )}\n classes={{ root: \"inline-flex dark:text-contrast-3\" }}\n showSeconds\n />\n </TooltipContent>\n </Tooltip>\n {dots}\n <DurationField\n label=\"Minutes\"\n value={minutes}\n max={TWAP_CUSTOM_DURATION_MAX_MINUTES}\n onChange={setMinutes}\n isError={isMinutesError}\n />\n </div>\n </div>\n <div className=\"flex flex-col gap-4\">\n <Button\n onClick={handleSave}\n disabled={isSaveDisabled}\n radius=\"sm\"\n className=\"h-10\"\n >\n Save\n </Button>\n <Button\n variant=\"secondary\"\n onClick={drawerControls.onClose}\n radius=\"sm\"\n className=\"h-10\"\n >\n Dismiss\n </Button>\n </div>\n </div>\n </ControlledDrawer>\n );\n}\n\nfunction DurationField({\n label,\n value,\n max,\n onChange,\n isError,\n}: {\n label: string;\n value: number;\n max: number;\n onChange: (value: number) => void;\n isError?: boolean;\n}) {\n return (\n <div className=\"flex flex-col gap-1 flex-1\">\n <span className=\"text-xs text-contrast-5 dark:text-contrast-6 uppercase\">\n {label}\n </span>\n <NumberInput\n allowLeadingZeros={false}\n allowNegative={false}\n decimalScale={0}\n placeholder=\"0\"\n value={value}\n min={0}\n max={max}\n stepper={1}\n onValueChange={(v) => onChange(v ?? 0)}\n classes={{\n root: \"h-10\",\n }}\n isError={isError}\n />\n </div>\n );\n}\n"],"mappings":"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"}
@@ -62,7 +62,7 @@ var h = () => {
62
62
  }), n[15] = w, n[16] = E, n[17] = D) : D = n[17];
63
63
  let O;
64
64
  n[18] !== b || n[19] !== v ? (O = /* @__PURE__ */ f(l, {
65
- drawerState: v,
65
+ orderDurationState: v,
66
66
  drawerControls: b
67
67
  }), n[18] = b, n[19] = v, n[20] = O) : O = n[20];
68
68
  let k;
@@ -1 +1 @@
1
- {"version":3,"file":"OrderDuration.js","names":["useAtomValue","useSetAtom","twapDurationAtom","Button","cn","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_DURATION_OPTIONS","TwapDetailWithTooltip","CustomDurationDrawer","useDrawerControls","Duration","useState","DrawerState","days","setDays","React","Dispatch","SetStateAction","hours","setHours","minutes","setMinutes","reset","useDrawerState","initialDuration","$","_c","initDays","Math","floor","initHours","initMinutes","t0","t1","TwapOrderDuration","duration","setDuration","some","o","value","isPreset","drawerState","drawerId","onOpen","drawerControls","t2","customLabel","t3","Symbol","for","root","t4","map","option","label","t5","t6","t7","t8","t9","buttonSelectedClassName","DurationButton","selected","onClick"],"sources":["../../../../src/components/widget/Twap/OrderDuration.tsx"],"sourcesContent":["import { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { twapDurationAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\nimport {\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_DURATION_OPTIONS,\n} from \"@/core/twap/state/constants\";\nimport { TwapDetailWithTooltip } from \"./TwapDetailWithTooltip\";\nimport { CustomDurationDrawer } from \"./CustomDurationDrawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { Duration } from \"../Duration/Duration\";\nimport { useState } from \"react\";\n\nexport type DrawerState = {\n days: number;\n setDays: React.Dispatch<React.SetStateAction<number>>;\n hours: number;\n setHours: React.Dispatch<React.SetStateAction<number>>;\n minutes: number;\n setMinutes: React.Dispatch<React.SetStateAction<number>>;\n reset: () => void;\n};\n\nfunction useDrawerState(initialDuration: number): DrawerState {\n const initDays = Math.floor(initialDuration / (60 * 24));\n const initHours = Math.floor((initialDuration % (60 * 24)) / 60);\n const initMinutes = initialDuration % 60;\n\n const [days, setDays] = useState(initDays);\n const [hours, setHours] = useState(initHours);\n const [minutes, setMinutes] = useState(initMinutes);\n\n const reset = () => {\n setDays(initDays);\n setHours(initHours);\n setMinutes(initMinutes);\n };\n\n return {\n days,\n setDays,\n hours,\n setHours,\n minutes,\n setMinutes,\n reset,\n };\n}\nexport const TwapOrderDuration = () => {\n const duration = useAtomValue(twapDurationAtom);\n const setDuration = useSetAtom(twapDurationAtom);\n\n const isPreset = TWAP_DURATION_OPTIONS.some((o) => o.value === duration);\n const initialDuration = isPreset\n ? TWAP_CUSTOM_DURATION_MIN_MINUTES\n : duration;\n\n const drawerState = useDrawerState(initialDuration);\n const drawerControls = useDrawerControls({\n drawerId: \"custom-duration-drawer\",\n onOpen: drawerState.reset,\n });\n\n const customLabel = isPreset ? (\n \"Custom\"\n ) : (\n <Duration timeMs={duration * 60 * 1000} />\n );\n\n return (\n <div className=\"flex items-center justify-between\">\n <TwapDetailWithTooltip\n detail=\"Order Duration\"\n tooltip=\"The total time over which your TWAP order will be executed\"\n classes={{\n root: \"text-nowrap\",\n }}\n />\n <div className=\"flex gap-2 flex-wrap justify-end\">\n {TWAP_DURATION_OPTIONS.map((option) => (\n <DurationButton\n key={option.value}\n label={option.label}\n selected={duration === option.value}\n onClick={() => setDuration(option.value)}\n />\n ))}\n <DurationButton\n label={customLabel}\n selected={!isPreset}\n onClick={drawerControls.onOpen}\n />\n </div>\n <CustomDurationDrawer\n drawerState={drawerState}\n drawerControls={drawerControls}\n />\n </div>\n );\n};\n\nconst buttonSelectedClassName =\n \"text-contrast-9 bg-primary-azul-1 border-primary-azul-1 hover:bg-primary-azul-1 hover:text-contrast-9 dark:bg-primary-azul-1 dark:border-primary-azul-1 dark:hover:bg-primary-azul-1 dark:text-contrast-9\";\n\nfunction DurationButton({\n label,\n selected,\n onClick,\n}: {\n label: React.ReactNode;\n selected: boolean;\n onClick: () => void;\n}) {\n return (\n <Button\n onClick={onClick}\n variant=\"outline\"\n className={cn(\n \"h-6 px-2 shadow-none text-xs text-contrast-5 dark:text-contrast-6\",\n {\n [buttonSelectedClassName]: selected,\n }\n )}\n >\n {label}\n </Button>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAwBA,SAAAuB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACEC,IAAiBC,KAAIC,MAAOL,IAAmB,KAAS,EACxDM,IAAkBF,KAAIC,MAAQL,IAAmB,OAAY,GAAG,EAChEO,IAAoBP,IAAkB,IAEtC,CAAAX,GAAAC,KAAwBH,EAASgB,EAAS,EAC1C,CAAAT,GAAAC,KAA0BR,EAASmB,EAAU,EAC7C,CAAAV,GAAAC,KAA8BV,EAASoB,EAAY,EAACC;AAAA,CAAAP,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAEtCC,UAAA;AAGZX,EAFAP,EAAQa,EAAS,EACjBR,EAASW,EAAU,EACnBT,EAAWU,EAAY;IACxBN,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAJD,IAAAH,IAAcU,GAIZC;AAUD,QAVCR,EAAA,OAAAZ,KAAAY,EAAA,OAAAP,KAAAO,EAAA,OAAAL,KAAAK,EAAA,OAAAH,KAEKW,IAAA;EAAApB;EAAAC;EAAAI;EAAAC;EAAAC;EAAAC;EAAAC;EAQN,EAAAG,EAAA,KAAAZ,GAAAY,EAAA,KAAAP,GAAAO,EAAA,KAAAL,GAAAK,EAAA,KAAAH,GAAAG,EAAA,KAAAQ,KAAAA,IAAAR,EAAA,IARMQ;;AAUT,IAAaC,UAAoB;CAAA,IAAAT,IAAAC,EAAA,GAAA,EAC/BS,IAAiBnC,EAAaE,EAAiB,EAC/CkC,IAAoBnC,EAAWC,EAAiB,EAAC8B;AAAA,CAAAP,EAAA,OAAAU,IAEuBH,IAAAP,EAAA,MAAvDO,IAAA1B,EAAqB+B,MAAMC,MAAOA,EAACC,UAAWJ,EAAS,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAO;CAAxE,IAAAQ,IAAiBR,GAKjBS,IAAoBlB,EAJIiB,IAAAA,KAAAL,EAI2B,EAACF;AAAA,CAAAR,EAAA,OAAAgB,EAAAnB,QAInDW,IAAAR,EAAA,MAHwCQ,IAAA;EAAAS,UAC7B;EAAwBC,QAC1BF,EAAWnB;EACpB,EAAAG,EAAA,KAAAgB,EAAAnB,OAAAG,EAAA,KAAAQ;CAHD,IAAAW,IAAuBnC,EAAkBwB,EAGvC,EAACY;AAAA,CAAApB,EAAA,OAAAU,KAAAV,EAAA,OAAAe,KAEiBK,IAAAL,IAAA,WAGlB,kBAAC,GAAD,EAAkB,QAAAL,IAAW,KAAK,KACnC,CAAA,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAe,GAAAf,EAAA,KAAAoB,KAAAA,IAAApB,EAAA;CAJD,IAAAqB,IAAoBD,GAIlBE;AAAA,CAAAtB,EAAA,OAAAuB,OAAAC,IAAA,4BAAA,IAIEF,IAAA,kBAAC,GAAD;EACS,QAAA;EACC,SAAA;EACC,SAAA,EAAAG,MACD,eACR;EACA,CAAA,EAAAzB,EAAA,KAAAsB,KAAAA,IAAAtB,EAAA;CAAA,IAAA0B;AAAA,CAAA1B,EAAA,OAAAU,KAAAV,EAAA,OAAAW,KAECe,IAAA7C,EAAqB8C,KAAKC,MACzB,kBAAC,GAAD;EAES,OAAAA,EAAMC;EACH,UAAAnB,MAAakB,EAAMd;EACpB,eAAMH,EAAYiB,EAAMd,MAAM;EAE1C,EALQc,EAAMd,MAKd,CAAC,EAAAd,EAAA,KAAAU,GAAAV,EAAA,KAAAW,GAAAX,EAAA,MAAA0B,KAAAA,IAAA1B,EAAA;CAGU,IAAA8B,IAAA,CAACf,GAAQgB;AAAA,CAAA/B,EAAA,QAAAqB,KAAArB,EAAA,QAAAmB,EAAAD,UAAAlB,EAAA,QAAA8B,KAFrBC,IAAA,kBAAC,GAAD;EACSV,OAAAA;EACG,UAAAS;EACD,SAAAX,EAAcD;EACvB,CAAA,EAAAlB,EAAA,MAAAqB,GAAArB,EAAA,MAAAmB,EAAAD,QAAAlB,EAAA,MAAA8B,GAAA9B,EAAA,MAAA+B,KAAAA,IAAA/B,EAAA;CAAA,IAAAgC;AAAA,CAAAhC,EAAA,QAAA0B,KAAA1B,EAAA,QAAA+B,KAbJC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACGN,GAQDK,EAKI;KAAA/B,EAAA,MAAA0B,GAAA1B,EAAA,MAAA+B,GAAA/B,EAAA,MAAAgC,KAAAA,IAAAhC,EAAA;CAAA,IAAAiC;AAAA,CAAAjC,EAAA,QAAAmB,KAAAnB,EAAA,QAAAgB,KACNiB,IAAA,kBAAC,GAAD;EACejB;EACGG;EAChB,CAAA,EAAAnB,EAAA,MAAAmB,GAAAnB,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiC,KAAAA,IAAAjC,EAAA;CAAA,IAAAkC;AACE,QADFlC,EAAA,QAAAgC,KAAAhC,EAAA,QAAAiC,KA1BJC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf;GACEZ;GAOAU;GAeAC;GAII;KAAAjC,EAAA,MAAAgC,GAAAhC,EAAA,MAAAiC,GAAAjC,EAAA,MAAAkC,KAAAA,IAAAlC,EAAA,KA3BNkC;GA+BEC,IACJ;AAEF,SAAAC,EAAA7B,GAAA;CAAA,IAAAP,IAAAC,EAAA,EAAA,EAAwB,EAAA4B,UAAAQ,aAAAC,eAAA/B,GAQvBC;AAAA,CAAAR,EAAA,OAAAqC,IAUM7B,IAAAR,EAAA,MALUQ,IAAA7B,EACT,qEACA,GACGwD,IAA0BE,GAE/B,CAAC,EAAArC,EAAA,KAAAqC,GAAArC,EAAA,KAAAQ;CAAA,IAAAY;AAGM,QAHNpB,EAAA,OAAA6B,KAAA7B,EAAA,OAAAsC,KAAAtC,EAAA,OAAAQ,KARHY,IAAA,kBAAC,GAAD;EACWkB;EACD,SAAA;EACG,WAAA9B;YAOVqB;EACM,CAAA,EAAA7B,EAAA,KAAA6B,GAAA7B,EAAA,KAAAsC,GAAAtC,EAAA,KAAAQ,GAAAR,EAAA,KAAAoB,KAAAA,IAAApB,EAAA,IAXToB"}
1
+ {"version":3,"file":"OrderDuration.js","names":["useAtomValue","useSetAtom","twapDurationAtom","Button","cn","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_DURATION_OPTIONS","TwapDetailWithTooltip","CustomDurationDrawer","useDrawerControls","Duration","useState","DrawerState","days","setDays","React","Dispatch","SetStateAction","hours","setHours","minutes","setMinutes","reset","useOrderDurationState","initialDuration","$","_c","initDays","Math","floor","initHours","initMinutes","t0","t1","TwapOrderDuration","duration","setDuration","some","o","value","isPreset","orderDurationState","drawerId","onOpen","drawerControls","t2","customLabel","t3","Symbol","for","root","t4","map","option","label","t5","t6","t7","t8","t9","buttonSelectedClassName","DurationButton","selected","onClick"],"sources":["../../../../src/components/widget/Twap/OrderDuration.tsx"],"sourcesContent":["import { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { twapDurationAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\nimport {\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_DURATION_OPTIONS,\n} from \"@/core/twap/state/constants\";\nimport { TwapDetailWithTooltip } from \"./TwapDetailWithTooltip\";\nimport { CustomDurationDrawer } from \"./CustomDurationDrawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { Duration } from \"../Duration/Duration\";\nimport { useState } from \"react\";\n\nexport type DrawerState = {\n days: number;\n setDays: React.Dispatch<React.SetStateAction<number>>;\n hours: number;\n setHours: React.Dispatch<React.SetStateAction<number>>;\n minutes: number;\n setMinutes: React.Dispatch<React.SetStateAction<number>>;\n reset: () => void;\n};\n\nfunction useOrderDurationState(initialDuration: number): DrawerState {\n const initDays = Math.floor(initialDuration / (60 * 24));\n const initHours = Math.floor((initialDuration % (60 * 24)) / 60);\n const initMinutes = initialDuration % 60;\n\n const [days, setDays] = useState(initDays);\n const [hours, setHours] = useState(initHours);\n const [minutes, setMinutes] = useState(initMinutes);\n\n const reset = () => {\n setDays(initDays);\n setHours(initHours);\n setMinutes(initMinutes);\n };\n\n return {\n days,\n setDays,\n hours,\n setHours,\n minutes,\n setMinutes,\n reset,\n };\n}\nexport const TwapOrderDuration = () => {\n const duration = useAtomValue(twapDurationAtom);\n const setDuration = useSetAtom(twapDurationAtom);\n\n const isPreset = TWAP_DURATION_OPTIONS.some((o) => o.value === duration);\n const initialDuration = isPreset\n ? TWAP_CUSTOM_DURATION_MIN_MINUTES\n : duration;\n\n const orderDurationState = useOrderDurationState(initialDuration);\n const drawerControls = useDrawerControls({\n drawerId: \"custom-duration-drawer\",\n onOpen: orderDurationState.reset,\n });\n\n const customLabel = isPreset ? (\n \"Custom\"\n ) : (\n <Duration timeMs={duration * 60 * 1000} />\n );\n\n return (\n <div className=\"flex items-center justify-between\">\n <TwapDetailWithTooltip\n detail=\"Order Duration\"\n tooltip=\"The total time over which your TWAP order will be executed\"\n classes={{\n root: \"text-nowrap\",\n }}\n />\n <div className=\"flex gap-2 flex-wrap justify-end\">\n {TWAP_DURATION_OPTIONS.map((option) => (\n <DurationButton\n key={option.value}\n label={option.label}\n selected={duration === option.value}\n onClick={() => setDuration(option.value)}\n />\n ))}\n <DurationButton\n label={customLabel}\n selected={!isPreset}\n onClick={drawerControls.onOpen}\n />\n </div>\n <CustomDurationDrawer\n orderDurationState={orderDurationState}\n drawerControls={drawerControls}\n />\n </div>\n );\n};\n\nconst buttonSelectedClassName =\n \"text-contrast-9 bg-primary-azul-1 border-primary-azul-1 hover:bg-primary-azul-1 hover:text-contrast-9 dark:bg-primary-azul-1 dark:border-primary-azul-1 dark:hover:bg-primary-azul-1 dark:text-contrast-9\";\n\nfunction DurationButton({\n label,\n selected,\n onClick,\n}: {\n label: React.ReactNode;\n selected: boolean;\n onClick: () => void;\n}) {\n return (\n <Button\n onClick={onClick}\n variant=\"outline\"\n className={cn(\n \"h-6 px-2 shadow-none text-xs text-contrast-5 dark:text-contrast-6\",\n {\n [buttonSelectedClassName]: selected,\n }\n )}\n >\n {label}\n </Button>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Warnings.d.ts","sourceRoot":"","sources":["../../src/core/Warnings.tsx"],"names":[],"mappings":"AA+BA,eAAO,MAAM,aAAa,sDAwBzB,CAAC;AAyMF,eAAO,MAAM,iBAAiB,+CA2B7B,CAAC;AA0DF,eAAO,MAAM,YAAY,+CAOxB,CAAC"}
1
+ {"version":3,"file":"Warnings.d.ts","sourceRoot":"","sources":["../../src/core/Warnings.tsx"],"names":[],"mappings":"AA+BA,eAAO,MAAM,aAAa,sDAwBzB,CAAC;AAuNF,eAAO,MAAM,iBAAiB,+CA2B7B,CAAC;AA0DF,eAAO,MAAM,YAAY,+CAOxB,CAAC"}
@@ -47,67 +47,67 @@ var T = { root: "mt-4" }, E = () => {
47
47
  children: "Degen Mode"
48
48
  }), e[0] = t, e[1] = n), n;
49
49
  }, O = { root: "mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1" }, k = (r) => {
50
- let a = b(18), { tokenFrom: o, tokenTo: l, priceImpactPercent: u } = r, f = i(), { enableDegenMode: p } = n(), m = e(t), h = e(s), g = e(c), _;
51
- a[0] !== o.address || a[1] !== o.network ? (_ = {
50
+ let a = b(19), { tokenFrom: o, tokenTo: l, priceImpactPercent: u, tradeMode: f } = r, p = f === "twap", m = f === "swap", h = i(), { enableDegenMode: g } = n(), _ = e(t), v = e(s), y = e(c), w;
51
+ a[0] !== o.address || a[1] !== o.network ? (w = {
52
52
  token: o.address,
53
53
  chainId: o.network
54
- }, a[0] = o.address, a[1] = o.network, a[2] = _) : _ = a[2];
55
- let { data: v } = d(_), y = l?.address, w = l?.network || o.network, T;
56
- a[3] !== y || a[4] !== w ? (T = {
57
- token: y,
58
- chainId: w
59
- }, a[3] = y, a[4] = w, a[5] = T) : T = a[5];
60
- let { data: E } = d(T), O = p && !f && (u == null ? !0 : u < 50);
61
- if (!v || !E) {
62
- if (!O) return null;
54
+ }, a[0] = o.address, a[1] = o.network, a[2] = w) : w = a[2];
55
+ let { data: T } = d(w), E = l?.address, O = l?.network || o.network, k;
56
+ a[3] !== E || a[4] !== O ? (k = {
57
+ token: E,
58
+ chainId: O
59
+ }, a[3] = E, a[4] = O, a[5] = k) : k = a[5];
60
+ let { data: A } = d(k), j = g && !h && (u == null ? !0 : u < 50);
61
+ if (!(T && A) && m) {
62
+ if (!j) return null;
63
63
  let e;
64
64
  return a[6] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ C("div", { children: [
65
65
  "Ape in anyway with ",
66
66
  /* @__PURE__ */ S(D, {}),
67
- " enabled."
67
+ " enabled (Not recommended)."
68
68
  ] }), a[6] = e) : e = a[6], e;
69
69
  }
70
- let k;
71
- a[7] !== h || a[8] !== g || a[9] !== m || a[10] !== o || a[11] !== l ? (k = /* @__PURE__ */ S("span", {
72
- className: "underline cursor-pointer",
73
- onClick: () => {
74
- m("limit"), h(o), g(l);
75
- },
76
- children: "Limit Order"
77
- }), a[7] = h, a[8] = g, a[9] = m, a[10] = o, a[11] = l, a[12] = k) : k = a[12];
78
- let A;
79
- a[13] === O ? A = a[14] : (A = O ? /* @__PURE__ */ C(x, { children: [
80
- ", or ape in anyway with ",
81
- /* @__PURE__ */ S(D, {}),
82
- " enabled."
83
- ] }) : ".", a[13] = O, a[14] = A);
84
- let j;
85
- return a[15] !== k || a[16] !== A ? (j = /* @__PURE__ */ C("div", { children: [
70
+ let M;
71
+ a[7] !== p || a[8] !== v || a[9] !== y || a[10] !== _ || a[11] !== o || a[12] !== l ? (M = p ? "Consider increasing the Order Split for a safer price impact" : /* @__PURE__ */ C(x, { children: [
86
72
  "Use a",
87
73
  " ",
88
- k,
74
+ /* @__PURE__ */ S("span", {
75
+ className: "underline cursor-pointer",
76
+ onClick: () => {
77
+ _("limit"), v(o), y(l);
78
+ },
79
+ children: "Limit Order"
80
+ }),
89
81
  " ",
90
- "for a better fill",
91
- A
92
- ] }), a[15] = k, a[16] = A, a[17] = j) : j = a[17], j;
82
+ "for a better fill"
83
+ ] }), a[7] = p, a[8] = v, a[9] = y, a[10] = _, a[11] = o, a[12] = l, a[13] = M) : M = a[13];
84
+ let N;
85
+ a[14] === j ? N = a[15] : (N = j ? /* @__PURE__ */ C(x, { children: [
86
+ ", or ape in anyway with ",
87
+ /* @__PURE__ */ S(D, {}),
88
+ " enabled (Not recommended)."
89
+ ] }) : ".", a[14] = j, a[15] = N);
90
+ let P;
91
+ return a[16] !== M || a[17] !== N ? (P = /* @__PURE__ */ C("div", { children: [M, N] }), a[16] = M, a[17] = N, a[18] = P) : P = a[18], P;
93
92
  }, A = (e) => {
94
- let t = b(8), { title: n, priceImpactPercent: r, tradeMode: i } = e, { tokenFrom: a, tokenTo: o } = l(i);
93
+ let t = b(9), { title: n, priceImpactPercent: r, tradeMode: i } = e, { tokenFrom: a, tokenTo: o } = l(i);
95
94
  if (!o) return null;
96
95
  let s;
97
96
  t[0] === Symbol.for("react.memo_cache_sentinel") ? (s = /* @__PURE__ */ S(w, { size: 18 }), t[0] = s) : s = t[0];
98
97
  let c;
99
- t[1] !== r || t[2] !== a || t[3] !== o ? (c = /* @__PURE__ */ S(k, {
98
+ t[1] !== r || t[2] !== a || t[3] !== o || t[4] !== i ? (c = /* @__PURE__ */ S(k, {
100
99
  tokenFrom: a,
101
100
  tokenTo: o,
102
- priceImpactPercent: r
103
- }), t[1] = r, t[2] = a, t[3] = o, t[4] = c) : c = t[4];
101
+ priceImpactPercent: r,
102
+ tradeMode: i
103
+ }), t[1] = r, t[2] = a, t[3] = o, t[4] = i, t[5] = c) : c = t[5];
104
104
  let u;
105
- return t[5] !== c || t[6] !== n ? (u = /* @__PURE__ */ S(h, {
105
+ return t[6] !== c || t[7] !== n ? (u = /* @__PURE__ */ S(h, {
106
106
  title: n,
107
107
  iconReplacement: s,
108
108
  message: c,
109
109
  classes: O
110
- }), t[5] = c, t[6] = n, t[7] = u) : u = t[7], u;
110
+ }), t[6] = c, t[7] = n, t[8] = u) : u = t[8], u;
111
111
  }, j = () => {
112
112
  let e = b(1), t;
113
113
  return e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ S(m, {
@@ -1 +1 @@
1
- {"version":3,"file":"Warnings.js","names":["useCurrentChainConfig","Warning","WarningWithTitle","useSetOpenDrawer","useUnsupportedLimitChain","useUnsupportedOtcChain","useDegenMode","useWidgetConfig","useCurrentSwapPriceError","useCurrentTwapPriceError","useSwapTokenTo","useSetAtom","userTradeModeAtom","TradeMode","useWidgetTokens","selectLimitTokenFromAtom","selectLimitTokenToAtom","Token","TriangleAlert","DEGEN_MODE_MAX_IMPACT","useIsTokenSupportedInDeltaQuery","useTwapTokenTo","PriceImpactResult","useTwapSliceTooShort","TWAP_MIN_SLICE_INTERVAL_S","Duration","warningClasses","root","WidgetWarning","$","_c","chainConfig","chainName","name","limitNotSupported","otcNotSupported","t0","t1","DegenModeText","setOpenDrawer","swapWidgetWarningClasses","const","EnableDegenModeMessage","tokenFrom","tokenTo","priceImpactPercent","degenMode","enableDegenMode","setTradeMode","setLimitTokenFrom","setLimitTokenTo","address","network","token","chainId","data","isTokenFromSupported","t2","t3","t4","isTokenToSupported","belowThreshold","undefined","showEnableDegenModeMessage","t5","Symbol","for","t6","t7","EnableDegenModeWarning","title","tradeMode","DegenModeEnabledWarning","message","warningMessageByReason","highPriceImpact","unavailablePriceImpact","GenericPriceImpactWarning","priceImpact","isMaxImpactReachedError","isNoUsdPriceError","showSinglePriceImpactWarning","isHighImpact","isUnavailable","SwapWidgetWarning","isNoLiquidityError","isDeltaNoAvailableBridgeOptionsError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","getPriceImpact","TwapPriceImpactWarning","isNoAvailableBridgeOptionsError","isNoAvailablePricesError","isUnsupportedTokenError","TwapSliceIntervalWarning","isSliceTooShort","TwapWarnings"],"sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning, WarningWithTitle } from \"@/components/widget/Warning/Warning\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useWidgetConfig } from \"./state/configAtom\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useWidgetTokens } from \"./inputs/state/common\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"./limit/state/selectedTokenActionsAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TriangleAlert } from \"lucide-react\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"@/hooks/swap/prices/constants\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useTwapTokenTo } from \"./twap/state/twapTokenAtoms\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { useTwapSliceTooShort } from \"./twap/state/twapParamsAtom\";\nimport { TWAP_MIN_SLICE_INTERVAL_S } from \"./twap/state/constants\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n\nconst DegenModeText = () => {\n const setOpenDrawer = useSetOpenDrawer();\n return (\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setOpenDrawer(\"trade-parameters-drawer\");\n }}\n >\n Degen Mode\n </span>\n );\n};\n\nconst swapWidgetWarningClasses = {\n root: \"mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1\",\n} as const;\n\nconst EnableDegenModeMessage = ({\n tokenFrom,\n tokenTo,\n priceImpactPercent,\n}: {\n tokenFrom: Token;\n tokenTo: Token;\n priceImpactPercent?: number;\n}) => {\n const degenMode = useDegenMode();\n const { enableDegenMode } = useWidgetConfig();\n\n const setTradeMode = useSetAtom(userTradeModeAtom);\n\n const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n const { data: isTokenFromSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n const { data: isTokenToSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const belowThreshold =\n priceImpactPercent == undefined\n ? true\n : priceImpactPercent < DEGEN_MODE_MAX_IMPACT;\n const showEnableDegenModeMessage =\n enableDegenMode && !degenMode && belowThreshold;\n\n // doesn't make sense to switch the user to Limit\n if (!isTokenFromSupported || !isTokenToSupported) {\n if (!showEnableDegenModeMessage) return null;\n return (\n <div>\n Ape in anyway with <DegenModeText /> enabled.\n </div>\n );\n }\n\n return (\n <div>\n Use a{\" \"}\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setTradeMode(\"limit\");\n setLimitTokenFrom(tokenFrom);\n setLimitTokenTo(tokenTo);\n }}\n >\n Limit Order\n </span>{\" \"}\n for a better fill\n {showEnableDegenModeMessage ? (\n <>\n , or ape in anyway with <DegenModeText /> enabled.\n </>\n ) : (\n \".\"\n )}\n </div>\n );\n};\n\nconst EnableDegenModeWarning = ({\n title,\n priceImpactPercent,\n tradeMode,\n}: {\n title: string;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n if (!tokenTo) {\n return null;\n }\n\n return (\n <WarningWithTitle\n title={title}\n iconReplacement={<TriangleAlert size={18} />}\n message={\n <EnableDegenModeMessage\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n priceImpactPercent={priceImpactPercent}\n />\n }\n classes={swapWidgetWarningClasses}\n />\n );\n};\n\nconst DegenModeEnabledWarning = () => {\n return (\n <Warning\n message={\"You have turned on Degen Mode. Be cautious.\"}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n};\n\nconst warningMessageByReason = {\n highPriceImpact:\n // explicit threshold breach, more severe warning\n \"High price impact — expect heavy slippage.\",\n unavailablePriceImpact:\n // unable to calculate price impact, more generic warning\n \"Price impact couldn't be calculated.\",\n} as const;\n\nconst GenericPriceImpactWarning = ({\n tokenTo,\n priceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n showSinglePriceImpactWarning,\n tradeMode,\n}: {\n tokenTo?: Token;\n priceImpact: PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n showSinglePriceImpactWarning?: boolean;\n tradeMode: TradeMode;\n}) => {\n const degenMode = useDegenMode();\n\n if (!tokenTo) {\n return null;\n }\n\n if (showSinglePriceImpactWarning) {\n return (\n <Warning\n message={warningMessageByReason.unavailablePriceImpact}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n }\n\n if (priceImpact.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.highPriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n if (priceImpact.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n\nexport const SwapWidgetWarning = () => {\n const tokenTo = useSwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailableBridgeOptionsError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentSwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n showSinglePriceImpactWarning={\n isNoLiquidityError ||\n isDeltaNoAvailableBridgeOptionsError ||\n isDeltaNoAvailablePricesError ||\n isDeltaUnsupportedTokenError\n }\n tradeMode=\"swap\"\n />\n );\n};\n\nconst TwapPriceImpactWarning = () => {\n const tokenTo = useTwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoAvailableBridgeOptionsError,\n isNoAvailablePricesError,\n isUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentTwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n tradeMode=\"twap\"\n showSinglePriceImpactWarning={\n isUnsupportedTokenError ||\n isNoAvailablePricesError ||\n isNoAvailableBridgeOptionsError\n }\n />\n );\n};\n\nconst TwapSliceIntervalWarning = () => {\n const isSliceTooShort = useTwapSliceTooShort();\n\n if (!isSliceTooShort) {\n return null;\n }\n\n return (\n <Warning\n message={\n <>\n Each TWAP slice must be at least{\" \"}\n <Duration\n timeMs={TWAP_MIN_SLICE_INTERVAL_S * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\",\n }}\n />{\" \"}\n apart\n </>\n }\n classes={{\n root: \"mt-4\",\n }}\n />\n );\n};\n\nexport const TwapWarnings = () => {\n return (\n <div className=\"flex flex-col\">\n <TwapSliceIntervalWarning />\n <TwapPriceImpactWarning />\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Warnings.js","names":["useCurrentChainConfig","Warning","WarningWithTitle","useSetOpenDrawer","useUnsupportedLimitChain","useUnsupportedOtcChain","useDegenMode","useWidgetConfig","useCurrentSwapPriceError","useCurrentTwapPriceError","useSwapTokenTo","useSetAtom","userTradeModeAtom","TradeMode","useWidgetTokens","selectLimitTokenFromAtom","selectLimitTokenToAtom","Token","TriangleAlert","DEGEN_MODE_MAX_IMPACT","useIsTokenSupportedInDeltaQuery","useTwapTokenTo","PriceImpactResult","useTwapSliceTooShort","TWAP_MIN_SLICE_INTERVAL_S","Duration","warningClasses","root","WidgetWarning","$","_c","chainConfig","chainName","name","limitNotSupported","otcNotSupported","t0","t1","DegenModeText","setOpenDrawer","swapWidgetWarningClasses","const","EnableDegenModeMessage","tokenFrom","tokenTo","priceImpactPercent","tradeMode","isTwap","isSwap","degenMode","enableDegenMode","setTradeMode","setLimitTokenFrom","setLimitTokenTo","address","network","token","chainId","data","isTokenFromSupported","t2","t3","t4","isTokenToSupported","belowThreshold","undefined","showEnableDegenModeMessage","canDoLimitOrder","t5","Symbol","for","t6","t7","EnableDegenModeWarning","title","DegenModeEnabledWarning","message","warningMessageByReason","highPriceImpact","unavailablePriceImpact","GenericPriceImpactWarning","priceImpact","isMaxImpactReachedError","isNoUsdPriceError","showSinglePriceImpactWarning","isHighImpact","isUnavailable","SwapWidgetWarning","isNoLiquidityError","isDeltaNoAvailableBridgeOptionsError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","getPriceImpact","TwapPriceImpactWarning","isNoAvailableBridgeOptionsError","isNoAvailablePricesError","isUnsupportedTokenError","TwapSliceIntervalWarning","isSliceTooShort","TwapWarnings"],"sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning, WarningWithTitle } from \"@/components/widget/Warning/Warning\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useWidgetConfig } from \"./state/configAtom\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useWidgetTokens } from \"./inputs/state/common\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"./limit/state/selectedTokenActionsAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TriangleAlert } from \"lucide-react\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"@/hooks/swap/prices/constants\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useTwapTokenTo } from \"./twap/state/twapTokenAtoms\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { useTwapSliceTooShort } from \"./twap/state/twapParamsAtom\";\nimport { TWAP_MIN_SLICE_INTERVAL_S } from \"./twap/state/constants\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n\nconst DegenModeText = () => {\n const setOpenDrawer = useSetOpenDrawer();\n return (\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setOpenDrawer(\"trade-parameters-drawer\");\n }}\n >\n Degen Mode\n </span>\n );\n};\n\nconst swapWidgetWarningClasses = {\n root: \"mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1\",\n} as const;\n\nconst EnableDegenModeMessage = ({\n tokenFrom,\n tokenTo,\n priceImpactPercent,\n tradeMode,\n}: {\n tokenFrom: Token;\n tokenTo: Token;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const isTwap = tradeMode === \"twap\";\n const isSwap = tradeMode === \"swap\";\n\n const degenMode = useDegenMode();\n const { enableDegenMode } = useWidgetConfig();\n\n const setTradeMode = useSetAtom(userTradeModeAtom);\n\n const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n const { data: isTokenFromSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n const { data: isTokenToSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const belowThreshold =\n priceImpactPercent == undefined\n ? true\n : priceImpactPercent < DEGEN_MODE_MAX_IMPACT;\n const showEnableDegenModeMessage =\n enableDegenMode && !degenMode && belowThreshold;\n\n // doesn't make sense to switch the user to Limit if tokens aren't supported in Delta\n const canDoLimitOrder = isTokenFromSupported && isTokenToSupported;\n\n if (!canDoLimitOrder && isSwap) {\n if (!showEnableDegenModeMessage) return null;\n return (\n <div>\n Ape in anyway with <DegenModeText /> enabled (Not recommended).\n </div>\n );\n }\n\n return (\n <div>\n {isTwap ? (\n \"Consider increasing the Order Split for a safer price impact\"\n ) : (\n <>\n Use a{\" \"}\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setTradeMode(\"limit\");\n setLimitTokenFrom(tokenFrom);\n setLimitTokenTo(tokenTo);\n }}\n >\n Limit Order\n </span>{\" \"}\n for a better fill\n </>\n )}\n {showEnableDegenModeMessage ? (\n <>\n , or ape in anyway with <DegenModeText /> enabled (Not recommended).\n </>\n ) : (\n \".\"\n )}\n </div>\n );\n};\n\nconst EnableDegenModeWarning = ({\n title,\n priceImpactPercent,\n tradeMode,\n}: {\n title: string;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n if (!tokenTo) {\n return null;\n }\n\n return (\n <WarningWithTitle\n title={title}\n iconReplacement={<TriangleAlert size={18} />}\n message={\n <EnableDegenModeMessage\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n priceImpactPercent={priceImpactPercent}\n tradeMode={tradeMode}\n />\n }\n classes={swapWidgetWarningClasses}\n />\n );\n};\n\nconst DegenModeEnabledWarning = () => {\n return (\n <Warning\n message={\"You have turned on Degen Mode. Be cautious.\"}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n};\n\nconst warningMessageByReason = {\n highPriceImpact:\n // explicit threshold breach, more severe warning\n \"High price impact — expect heavy slippage.\",\n unavailablePriceImpact:\n // unable to calculate price impact, more generic warning\n \"Price impact couldn't be calculated.\",\n} as const;\n\nconst GenericPriceImpactWarning = ({\n tokenTo,\n priceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n showSinglePriceImpactWarning,\n tradeMode,\n}: {\n tokenTo?: Token;\n priceImpact: PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n showSinglePriceImpactWarning?: boolean;\n tradeMode: TradeMode;\n}) => {\n const degenMode = useDegenMode();\n\n if (!tokenTo) {\n return null;\n }\n\n if (showSinglePriceImpactWarning) {\n return (\n <Warning\n message={warningMessageByReason.unavailablePriceImpact}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n }\n\n if (priceImpact.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.highPriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n if (priceImpact.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n\nexport const SwapWidgetWarning = () => {\n const tokenTo = useSwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailableBridgeOptionsError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentSwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n showSinglePriceImpactWarning={\n isNoLiquidityError ||\n isDeltaNoAvailableBridgeOptionsError ||\n isDeltaNoAvailablePricesError ||\n isDeltaUnsupportedTokenError\n }\n tradeMode=\"swap\"\n />\n );\n};\n\nconst TwapPriceImpactWarning = () => {\n const tokenTo = useTwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoAvailableBridgeOptionsError,\n isNoAvailablePricesError,\n isUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentTwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n tradeMode=\"twap\"\n showSinglePriceImpactWarning={\n isUnsupportedTokenError ||\n isNoAvailablePricesError ||\n isNoAvailableBridgeOptionsError\n }\n />\n );\n};\n\nconst TwapSliceIntervalWarning = () => {\n const isSliceTooShort = useTwapSliceTooShort();\n\n if (!isSliceTooShort) {\n return null;\n }\n\n return (\n <Warning\n message={\n <>\n Each TWAP slice must be at least{\" \"}\n <Duration\n timeMs={TWAP_MIN_SLICE_INTERVAL_S * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\",\n }}\n />{\" \"}\n apart\n </>\n }\n classes={{\n root: \"mt-4\",\n }}\n />\n );\n};\n\nexport const TwapWarnings = () => {\n return (\n <div className=\"flex flex-col\">\n <TwapSliceIntervalWarning />\n <TwapPriceImpactWarning />\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"isCrosschainPossible.d.ts","sourceRoot":"","sources":["../../../src/core/across/isCrosschainPossible.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAEzF,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAyBV"}
1
+ {"version":3,"file":"isCrosschainPossible.d.ts","sourceRoot":"","sources":["../../../src/core/across/isCrosschainPossible.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAEzF,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CA0BV"}
@@ -13,7 +13,7 @@ function s({ get: s, chainIdFrom: c, chainIdTo: l, mode: u }) {
13
13
  mode: u
14
14
  })) return !1;
15
15
  let d = s(n);
16
- if (d !== "swap" && d !== "limit" && d !== "twap" || !s(e)) return !1;
16
+ if (d !== "swap" && d !== "limit" || !s(e)) return !1;
17
17
  let { enableDelta: f, enableCrossChain: p } = s(r);
18
18
  return !(!f || !p || !s(i).includes(c) || !o(s, {
19
19
  fromChainId: c,
@@ -1 +1 @@
1
- {"version":3,"file":"isCrosschainPossible.js","names":["deltaParamAtom","tradeModeAtom","isAcrossAvailable","widgetConfigAtom","enabledSrcChainsAtom","getSelectableDestChains","SupportedChainId","deltaEnabledOnAPI","Getter","BridgeInfoMode","isCrosschainPossible","get","chainIdFrom","chainIdTo","mode","tradeMode","deltaEnabledInSettings","enableDelta","enableCrossChain","enabledSrcChains","includes","selectableDestChains","fromChainId"],"sources":["../../../src/core/across/isCrosschainPossible.ts"],"sourcesContent":["import { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { tradeModeAtom } from \"../state/tradeModeAtom\";\nimport { isAcrossAvailable } from \"./utils\";\nimport { widgetConfigAtom } from \"../state/configAtom\";\nimport { enabledSrcChainsAtom } from \"../state/enabledChainsAtom\";\nimport { getSelectableDestChains } from \"../state/getSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport type { Getter } from \"jotai\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function isCrosschainPossible({\n get,\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n get: Getter;\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n if (!deltaEnabledOnAPI[chainIdFrom]) return false;\n\n if (!isAcrossAvailable({ chainIdFrom, chainIdTo, mode })) return false;\n\n const tradeMode = get(tradeModeAtom);\n if (tradeMode !== \"swap\" && tradeMode !== \"limit\" && tradeMode !== \"twap\")\n return false;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n if (!deltaEnabledInSettings) return false;\n\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n if (!enableDelta || !enableCrossChain) return false;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainIdFrom)) return false;\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: chainIdFrom,\n mode,\n });\n if (!selectableDestChains.includes(chainIdTo)) return false;\n\n return true;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgBU,EAAqB,EACnCC,QACAC,gBACAC,cACAC,WAMU;AAGV,KAFI,CAACP,EAAkBK,MAEnB,CAACV,EAAkB;EAAEU;EAAaC;EAAWC;EAAM,CAAC,CAAE,QAAO;CAEjE,IAAMC,IAAYJ,EAAIV,EAAc;AAKpC,KAJIc,MAAc,UAAUA,MAAc,WAAWA,MAAc,UAI/D,CAD2BJ,EAAIX,EAAe,CACrB,QAAO;CAEpC,IAAM,EAAEiB,gBAAaC,wBAAqBP,EAAIR,EAAiB;AAY/D,QAFA,EATI,CAACc,KAAe,CAACC,KAGjB,CADqBP,EAAIP,EAAqB,CAC5BgB,SAASR,EAAY,IAMvC,CAJyBP,EAAwBM,GAAK;EACxDW,aAAaV;EACbE;EACD,CAAC,CACwBM,SAASP,EAAU"}
1
+ {"version":3,"file":"isCrosschainPossible.js","names":["deltaParamAtom","tradeModeAtom","isAcrossAvailable","widgetConfigAtom","enabledSrcChainsAtom","getSelectableDestChains","SupportedChainId","deltaEnabledOnAPI","Getter","BridgeInfoMode","isCrosschainPossible","get","chainIdFrom","chainIdTo","mode","tradeMode","deltaEnabledInSettings","enableDelta","enableCrossChain","enabledSrcChains","includes","selectableDestChains","fromChainId"],"sources":["../../../src/core/across/isCrosschainPossible.ts"],"sourcesContent":["import { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { tradeModeAtom } from \"../state/tradeModeAtom\";\nimport { isAcrossAvailable } from \"./utils\";\nimport { widgetConfigAtom } from \"../state/configAtom\";\nimport { enabledSrcChainsAtom } from \"../state/enabledChainsAtom\";\nimport { getSelectableDestChains } from \"../state/getSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport type { Getter } from \"jotai\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function isCrosschainPossible({\n get,\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n get: Getter;\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n if (!deltaEnabledOnAPI[chainIdFrom]) return false;\n\n if (!isAcrossAvailable({ chainIdFrom, chainIdTo, mode })) return false;\n\n const tradeMode = get(tradeModeAtom);\n // @TODO reenable TWAP crosschain when ready on the API\n if (tradeMode !== \"swap\" && tradeMode !== \"limit\" /*&& tradeMode !== \"twap\"*/)\n return false;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n if (!deltaEnabledInSettings) return false;\n\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n if (!enableDelta || !enableCrossChain) return false;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainIdFrom)) return false;\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: chainIdFrom,\n mode,\n });\n if (!selectableDestChains.includes(chainIdTo)) return false;\n\n return true;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgBU,EAAqB,EACnCC,QACAC,gBACAC,cACAC,WAMU;AAGV,KAFI,CAACP,EAAkBK,MAEnB,CAACV,EAAkB;EAAEU;EAAaC;EAAWC;EAAM,CAAC,CAAE,QAAO;CAEjE,IAAMC,IAAYJ,EAAIV,EAAc;AAMpC,KAJIc,MAAc,UAAUA,MAAc,WAItC,CAD2BJ,EAAIX,EAAe,CACrB,QAAO;CAEpC,IAAM,EAAEiB,gBAAaC,wBAAqBP,EAAIR,EAAiB;AAY/D,QAFA,EATI,CAACc,KAAe,CAACC,KAGjB,CADqBP,EAAIP,EAAqB,CAC5BgB,SAASR,EAAY,IAMvC,CAJyBP,EAAwBM,GAAK;EACxDW,aAAaV;EACbE;EACD,CAAC,CACwBM,SAASP,EAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCancelOrWithdrawAndCancelDeltaOrder.js","names":["useCancelDeltaOrders","CancelDeltaOrdersReturn","SupportedChainId","assert","DeltaAuction","MinViemClient","useIsMutating","useMutation","UseMutationOptions","useWithdrawAndCancelDeltaOrder","isHash","Address","TransactionReceipt","isETHaddress","LoggerInstance","useIsDeltaOrderCancellable","useChainMatches","useSwitchChainWithGuard","useCancelDeltaOrderEventCallbacks","CancelOrderStepKey","CancelOrWithdrawAndCancelDeltaOrderMutOptions","Omit","Error","TOnMutateResult","CancelOrWithdrawAndCancelDeltaOrderInput","order","chainId","account","client","logger","mutationOptions","UseCancelOrWithdrawAndCancelDeltaOrderReturn","cancelDeltaOrder","Promise","reset","cancelOrderResponse","txHash","receipt","isEthOrder","isOrderCancellable","isPending","isError","isSuccess","error","result","step","CANCEL_OR_WITHDRAW_AND_CANCEL_DELTA_ORDER_MUTATION_KEY","useCancelOrWithdrawAndCancelDeltaOrder","t0","$","_c","t1","srcToken","orderChainId","t2","cancelOrderMut","t3","withdrawAndCancelOrderMut","eventCallbacks","t4","onChainOrderType","orderHash","mutateAsync","orderId","id","onTxSent","t5","chainId_0","transactionHash","orderIds","forcedChainMatchesWalletChain","switchChain","t6","t7","t8","args","onMutateResult","onMutate","t9","args_0","onSuccess","t10","args_1","onError","mutationKey","mutationFn","resetMutation","data","t11","t12","t13","t14","useIsCancellingOrWithdrawingDeltaOrder"],"sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.ts"],"sourcesContent":["import {\n useCancelDeltaOrders,\n type CancelDeltaOrdersReturn,\n} from \"./useCancelDeltaOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { assert } from \"ts-essentials\";\nimport type { DeltaAuction, MinViemClient } from \"@velora-dex/sdk\";\nimport {\n useIsMutating,\n useMutation,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { useWithdrawAndCancelDeltaOrder } from \"./useWithdrawAndCancelDeltaOrder\";\nimport { isHash, type Address, type TransactionReceipt } from \"viem\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { useIsDeltaOrderCancellable } from \"./useIsDeltaOrderCancellable\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useSwitchChainWithGuard } from \"@/hooks/useSwitchChainWithGuard\";\nimport { useCancelDeltaOrderEventCallbacks } from \"./useCancelDeltaOrdersEvents\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\n\nexport type CancelOrWithdrawAndCancelDeltaOrderMutOptions<\n TOnMutateResult = undefined,\n> = Omit<\n UseMutationOptions<\n TransactionReceipt | CancelDeltaOrdersReturn,\n Error,\n void,\n TOnMutateResult\n >,\n \"mutationFn\" | \"mutationKey\"\n>;\n\ntype CancelOrWithdrawAndCancelDeltaOrderInput<TOnMutateResult = undefined> = {\n order?: DeltaAuction;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n logger?: LoggerInstance;\n mutationOptions?: CancelOrWithdrawAndCancelDeltaOrderMutOptions<TOnMutateResult>;\n};\n\ntype UseCancelOrWithdrawAndCancelDeltaOrderReturn = {\n cancelDeltaOrder: () => Promise<TransactionReceipt | CancelDeltaOrdersReturn>;\n reset: () => void;\n cancelOrderResponse?: CancelDeltaOrdersReturn;\n txHash?: string;\n receipt?: TransactionReceipt;\n isEthOrder: boolean;\n isOrderCancellable: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n result?: TransactionReceipt | CancelDeltaOrdersReturn;\n step?: CancelOrderStepKey;\n};\n\nconst CANCEL_OR_WITHDRAW_AND_CANCEL_DELTA_ORDER_MUTATION_KEY =\n \"cancelOrWithdrawAndCancelDeltaOrder\";\n\nexport function useCancelOrWithdrawAndCancelDeltaOrder<\n TOnMutateResult = undefined,\n>({\n order,\n chainId,\n account,\n client,\n logger,\n mutationOptions,\n}: CancelOrWithdrawAndCancelDeltaOrderInput<TOnMutateResult>): UseCancelOrWithdrawAndCancelDeltaOrderReturn {\n // ETH Orders are cancelled by calling Delta.withdrawAndCancel;\n // non-ETH orders are cancelled by posting a signed order cancellation typed data to the API;\n\n const isEthOrder = !!order && isETHaddress(order.order.srcToken);\n const orderChainId = order?.chainId as SupportedChainId | undefined;\n\n const cancelOrderMut = useCancelDeltaOrders({\n chainId,\n account,\n client,\n });\n\n const withdrawAndCancelOrderMut = useWithdrawAndCancelDeltaOrder({\n chainId,\n account,\n client,\n logger,\n });\n\n const eventCallbacks = useCancelDeltaOrderEventCallbacks(order);\n\n const cancelDeltaOrder = async () => {\n assert(order, \"No order to cancel\");\n cancelOrderMut.reset();\n withdrawAndCancelOrderMut.reset();\n\n // ETH ExternalOrders aren't used\n if (order.onChainOrderType !== \"ExternalOrder\" && isEthOrder) {\n assert(\n order.orderHash && isHash(order.orderHash),\n \"order.orderHash is required\"\n );\n return withdrawAndCancelOrderMut.mutateAsync({\n order: order.order,\n orderHash: order.orderHash,\n orderId: order.id,\n onTxSent: ({ chainId, transactionHash }) => {\n eventCallbacks.onTxSent?.({\n chainId,\n txHash: transactionHash,\n });\n },\n });\n }\n return cancelOrderMut.mutateAsync({\n orderIds: [order.id],\n });\n };\n\n const { forcedChainMatchesWalletChain } = useChainMatches(orderChainId);\n const { mutateAsync: switchChain } = useSwitchChainWithGuard();\n\n const {\n mutateAsync,\n reset: resetMutation,\n isPending,\n isError,\n isSuccess,\n error,\n data,\n } = useMutation<\n TransactionReceipt | CancelDeltaOrdersReturn,\n Error,\n void,\n TOnMutateResult\n >({\n mutationKey: [\n CANCEL_OR_WITHDRAW_AND_CANCEL_DELTA_ORDER_MUTATION_KEY,\n order?.id,\n ],\n mutationFn: cancelDeltaOrder,\n ...mutationOptions,\n onMutate: async (...args) => {\n assert(order, \"No order to cancel\");\n // guard against the user being on the wrong chain\n assert(orderChainId, \"orderChainId is required\");\n if (!forcedChainMatchesWalletChain) {\n await switchChain({\n chainId: orderChainId,\n });\n }\n const onMutateResult = await mutationOptions?.onMutate?.(...args);\n eventCallbacks.onMutate?.();\n return onMutateResult as TOnMutateResult; // TOnMutateResult=undefined if no onMutate callback is provided\n },\n onSuccess: (...args) => {\n mutationOptions?.onSuccess?.(...args);\n eventCallbacks.onSuccess?.(args[0]);\n },\n onError: (...args) => {\n mutationOptions?.onError?.(...args);\n eventCallbacks.onError?.(args[0]);\n cancelOrderMut.reset();\n withdrawAndCancelOrderMut.reset();\n },\n });\n\n const reset = () => {\n cancelOrderMut.reset();\n withdrawAndCancelOrderMut.reset();\n resetMutation();\n };\n\n const isOrderCancellable = useIsDeltaOrderCancellable({\n order,\n });\n\n let step: CancelOrderStepKey | undefined;\n if (isPending) {\n step = \"order-cancellation-approval\";\n if (withdrawAndCancelOrderMut.txHash) {\n step = \"order-cancellation-execution\";\n }\n } else if (isSuccess) {\n // cancelAndWithdraw tx mined or OrderCancel signed and POSTed to API\n step = \"order-cancellation-success\";\n } else if (isError) {\n step = \"order-cancellation-error\";\n }\n\n return {\n /* mutations */\n cancelDeltaOrder: mutateAsync,\n reset,\n /* cancel */\n cancelOrderResponse: cancelOrderMut.data,\n /* withdrawAndCancel */\n txHash: withdrawAndCancelOrderMut.txHash,\n receipt: withdrawAndCancelOrderMut.receipt,\n /* combined states */\n isEthOrder,\n isOrderCancellable: isOrderCancellable && !isSuccess,\n isPending,\n isError,\n isSuccess,\n error,\n result: data,\n step,\n };\n}\n\nexport function useIsCancellingOrWithdrawingDeltaOrder({\n orderId,\n}: {\n orderId?: string;\n}): boolean {\n return (\n useIsMutating({\n mutationKey: [\n CANCEL_OR_WITHDRAW_AND_CANCEL_DELTA_ORDER_MUTATION_KEY,\n orderId,\n ],\n }) > 0\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useCancelOrWithdrawAndCancelDeltaOrder.js","names":["useCancelDeltaOrders","CancelDeltaOrdersReturn","SupportedChainId","assert","DeltaAuction","MinViemClient","useIsMutating","useMutation","UseMutationOptions","useWithdrawAndCancelDeltaOrder","isHash","Address","TransactionReceipt","isETHaddress","LoggerInstance","useIsDeltaOrderCancellable","useChainMatches","useSwitchChainWithGuard","useCancelDeltaOrderEventCallbacks","CancelOrderStepKey","CancelOrWithdrawAndCancelDeltaOrderMutOptions","Omit","Error","TOnMutateResult","CancelOrWithdrawAndCancelDeltaOrderInput","order","chainId","account","client","logger","mutationOptions","UseCancelOrWithdrawAndCancelDeltaOrderReturn","cancelDeltaOrder","Promise","reset","cancelOrderResponse","txHash","receipt","isEthOrder","isOrderCancellable","isPending","isError","isSuccess","error","result","step","CANCEL_OR_WITHDRAW_AND_CANCEL_DELTA_ORDER_MUTATION_KEY","useCancelOrWithdrawAndCancelDeltaOrder","t0","$","_c","t1","srcToken","orderChainId","t2","cancelOrderMut","t3","withdrawAndCancelOrderMut","eventCallbacks","t4","onChainOrderType","orderHash","mutateAsync","orderId","id","onTxSent","t5","chainId_0","transactionHash","orderIds","forcedChainMatchesWalletChain","switchChain","t6","t7","t8","args","onMutateResult","onMutate","t9","args_0","onSuccess","t10","args_1","onError","mutationKey","mutationFn","resetMutation","data","t11","t12","t13","t14","useIsCancellingOrWithdrawingDeltaOrder"],"sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.ts"],"sourcesContent":["import {\n useCancelDeltaOrders,\n type CancelDeltaOrdersReturn,\n} from \"./useCancelDeltaOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { assert } from \"ts-essentials\";\nimport type { DeltaAuction, MinViemClient } from \"@velora-dex/sdk\";\nimport {\n useIsMutating,\n useMutation,\n type UseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { useWithdrawAndCancelDeltaOrder } from \"./useWithdrawAndCancelDeltaOrder\";\nimport { isHash, type Address, type TransactionReceipt } from \"viem\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { useIsDeltaOrderCancellable } from \"./useIsDeltaOrderCancellable\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useSwitchChainWithGuard } from \"@/hooks/useSwitchChainWithGuard\";\nimport { useCancelDeltaOrderEventCallbacks } from \"./useCancelDeltaOrdersEvents\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\n\nexport type CancelOrWithdrawAndCancelDeltaOrderMutOptions<\n TOnMutateResult = undefined,\n> = Omit<\n UseMutationOptions<\n TransactionReceipt | CancelDeltaOrdersReturn,\n Error,\n void,\n TOnMutateResult\n >,\n \"mutationFn\" | \"mutationKey\"\n>;\n\ntype CancelOrWithdrawAndCancelDeltaOrderInput<TOnMutateResult = undefined> = {\n order?: DeltaAuction;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n logger?: LoggerInstance;\n mutationOptions?: CancelOrWithdrawAndCancelDeltaOrderMutOptions<TOnMutateResult>;\n};\n\ntype UseCancelOrWithdrawAndCancelDeltaOrderReturn = {\n cancelDeltaOrder: () => Promise<TransactionReceipt | CancelDeltaOrdersReturn>;\n reset: () => void;\n cancelOrderResponse?: CancelDeltaOrdersReturn;\n txHash?: string;\n receipt?: TransactionReceipt;\n isEthOrder: boolean;\n isOrderCancellable: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n result?: TransactionReceipt | CancelDeltaOrdersReturn;\n step?: CancelOrderStepKey;\n};\n\nconst CANCEL_OR_WITHDRAW_AND_CANCEL_DELTA_ORDER_MUTATION_KEY =\n \"cancelOrWithdrawAndCancelDeltaOrder\";\n\nexport function useCancelOrWithdrawAndCancelDeltaOrder<\n TOnMutateResult = undefined,\n>({\n order,\n chainId,\n account,\n client,\n logger,\n mutationOptions,\n}: CancelOrWithdrawAndCancelDeltaOrderInput<TOnMutateResult>): UseCancelOrWithdrawAndCancelDeltaOrderReturn {\n // ETH Orders are cancelled by calling Delta.withdrawAndCancel;\n // non-ETH orders are cancelled by posting a signed order cancellation typed data to the API;\n\n const isEthOrder = !!order && isETHaddress(order.order.srcToken);\n const orderChainId = order?.chainId as SupportedChainId | undefined;\n\n const cancelOrderMut = useCancelDeltaOrders({\n chainId,\n account,\n client,\n });\n\n const withdrawAndCancelOrderMut = useWithdrawAndCancelDeltaOrder({\n chainId,\n account,\n client,\n logger,\n });\n\n const eventCallbacks = useCancelDeltaOrderEventCallbacks(order);\n\n const cancelDeltaOrder = async () => {\n assert(order, \"No order to cancel\");\n cancelOrderMut.reset();\n withdrawAndCancelOrderMut.reset();\n\n // ETH ExternalOrders with signature=0x aren't supported\n if (order.onChainOrderType !== \"ExternalOrder\" && isEthOrder) {\n assert(\n order.orderHash && isHash(order.orderHash),\n \"order.orderHash is required\"\n );\n return withdrawAndCancelOrderMut.mutateAsync({\n order: order.order,\n orderHash: order.orderHash,\n orderId: order.id,\n onTxSent: ({ chainId, transactionHash }) => {\n eventCallbacks.onTxSent?.({\n chainId,\n txHash: transactionHash,\n });\n },\n });\n }\n return cancelOrderMut.mutateAsync({\n orderIds: [order.id],\n });\n };\n\n const { forcedChainMatchesWalletChain } = useChainMatches(orderChainId);\n const { mutateAsync: switchChain } = useSwitchChainWithGuard();\n\n const {\n mutateAsync,\n reset: resetMutation,\n isPending,\n isError,\n isSuccess,\n error,\n data,\n } = useMutation<\n TransactionReceipt | CancelDeltaOrdersReturn,\n Error,\n void,\n TOnMutateResult\n >({\n mutationKey: [\n CANCEL_OR_WITHDRAW_AND_CANCEL_DELTA_ORDER_MUTATION_KEY,\n order?.id,\n ],\n mutationFn: cancelDeltaOrder,\n ...mutationOptions,\n onMutate: async (...args) => {\n assert(order, \"No order to cancel\");\n // guard against the user being on the wrong chain\n assert(orderChainId, \"orderChainId is required\");\n if (!forcedChainMatchesWalletChain) {\n await switchChain({\n chainId: orderChainId,\n });\n }\n const onMutateResult = await mutationOptions?.onMutate?.(...args);\n eventCallbacks.onMutate?.();\n return onMutateResult as TOnMutateResult; // TOnMutateResult=undefined if no onMutate callback is provided\n },\n onSuccess: (...args) => {\n mutationOptions?.onSuccess?.(...args);\n eventCallbacks.onSuccess?.(args[0]);\n },\n onError: (...args) => {\n mutationOptions?.onError?.(...args);\n eventCallbacks.onError?.(args[0]);\n cancelOrderMut.reset();\n withdrawAndCancelOrderMut.reset();\n },\n });\n\n const reset = () => {\n cancelOrderMut.reset();\n withdrawAndCancelOrderMut.reset();\n resetMutation();\n };\n\n const isOrderCancellable = useIsDeltaOrderCancellable({\n order,\n });\n\n let step: CancelOrderStepKey | undefined;\n if (isPending) {\n step = \"order-cancellation-approval\";\n if (withdrawAndCancelOrderMut.txHash) {\n step = \"order-cancellation-execution\";\n }\n } else if (isSuccess) {\n // cancelAndWithdraw tx mined or OrderCancel signed and POSTed to API\n step = \"order-cancellation-success\";\n } else if (isError) {\n step = \"order-cancellation-error\";\n }\n\n return {\n /* mutations */\n cancelDeltaOrder: mutateAsync,\n reset,\n /* cancel */\n cancelOrderResponse: cancelOrderMut.data,\n /* withdrawAndCancel */\n txHash: withdrawAndCancelOrderMut.txHash,\n receipt: withdrawAndCancelOrderMut.receipt,\n /* combined states */\n isEthOrder,\n isOrderCancellable: isOrderCancellable && !isSuccess,\n isPending,\n isError,\n isSuccess,\n error,\n result: data,\n step,\n };\n}\n\nexport function useIsCancellingOrWithdrawingDeltaOrder({\n orderId,\n}: {\n orderId?: string;\n}): boolean {\n return (\n useIsMutating({\n mutationKey: [\n CANCEL_OR_WITHDRAW_AND_CANCEL_DELTA_ORDER_MUTATION_KEY,\n orderId,\n ],\n }) > 0\n );\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.6.1-dev.3",
3
+ "version": "0.6.1-dev.5",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [