@velora-dex/widget 0.10.1 → 0.10.2
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/core/inputs/state/selectedTokenActionsAtom.js +33 -33
- package/dist/core/inputs/state/setTokenByAddressAtom.js +14 -14
- package/dist/core/limit/state/selectedTokenActionsAtom.js +23 -23
- package/dist/core/limit/state/selectedTokenAtom.js +5 -5
- package/dist/core/state/chainToAtom.js +14 -14
- package/dist/core/state/configAtom.js +2 -2
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js +24 -24
- package/dist/hooks/tokens/useAllTokensWithFilter.js +15 -15
- package/dist/hooks/tokens/useTokensByAddress.js +6 -6
- package/dist/tokens/constructor.d.ts +8 -1
- package/dist/tokens/constructor.d.ts.map +1 -1
- package/dist/tokens/constructor.js +4 -2
- package/dist/tokens/constructor.js.map +1 -1
- package/dist/tokens/defaultTokens.d.ts.map +1 -1
- package/dist/tokens/defaultTokens.js +12 -5
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/lists/constants.d.ts.map +1 -1
- package/dist/tokens/lists/constants.js +5 -2
- package/dist/tokens/lists/constants.js.map +1 -1
- package/dist/tokens/lists/lists.js +17 -1
- package/dist/tokens/lists/lists.js.map +1 -1
- package/dist/tokens/lists/lists.json.d.ts +4 -354
- package/dist/tokens/lists/types.d.ts +6 -4
- package/dist/tokens/lists/types.d.ts.map +1 -1
- package/dist/tokens/queries.js +1 -1
- package/dist/tokens/stabeCoins/hooks.d.ts +2 -1
- package/dist/tokens/stabeCoins/hooks.d.ts.map +1 -1
- package/dist/tokens/stabeCoins/hooks.js +12 -15
- package/dist/tokens/stabeCoins/hooks.js.map +1 -1
- package/dist/tokens/stabeCoins/index.js.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js +4 -1
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/package.json +2 -2
- package/dist/tokens/utils/sets.js +0 -16
- package/dist/tokens/utils/sets.js.map +0 -1
|
@@ -3,83 +3,83 @@ import { wagmiConfig as t } from "../../../lib/web3/wagmi/config.js";
|
|
|
3
3
|
import { pickDefaultTokenPair as n } from "../../../tokens/defaultTokens.js";
|
|
4
4
|
import { swapTokenFromAtom as r, swapTokenToAtom as i } from "./selectedTokenAtom.js";
|
|
5
5
|
import { enabledSrcChainsAtom as a } from "../../state/enabledChainsAtom.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
6
|
+
import { allTokensByChainAtom as o } from "../../../tokens/state/allTokensByChainAtom.js";
|
|
7
|
+
import { areTokensSame as s } from "../../../tokens/utils/areTokensSame.js";
|
|
8
|
+
import { findFirstTokenFromAcross as c, isTokenFromAcross as l } from "../../across/utils.js";
|
|
9
|
+
import { setSwapModeAtom as u } from "../../../components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js";
|
|
10
10
|
import { switchChain as d } from "../../../lib/web3/wagmi/switchChain.js";
|
|
11
11
|
import { getSelectableDestChains as f } from "../../state/getSelectableDestChains.js";
|
|
12
12
|
import { isCrosschainPossible as p } from "../../across/isCrosschainPossible.js";
|
|
13
13
|
import { atom as m } from "jotai";
|
|
14
14
|
//#region src/core/inputs/state/selectedTokenActionsAtom.ts
|
|
15
15
|
var h = m(null, (e, t) => {
|
|
16
|
-
let
|
|
16
|
+
let u = e(r), f = e(i);
|
|
17
17
|
if (!f || !e(a).includes(f.network)) return;
|
|
18
|
-
|
|
19
|
-
let m = f, h =
|
|
18
|
+
u.network !== f.network && d({ chainId: f.network });
|
|
19
|
+
let m = f, h = u;
|
|
20
20
|
if (p({
|
|
21
21
|
get: e,
|
|
22
22
|
chainIdFrom: m.network,
|
|
23
23
|
chainIdTo: h.network,
|
|
24
24
|
mode: "swap"
|
|
25
|
-
}))
|
|
25
|
+
})) l({
|
|
26
26
|
token: h,
|
|
27
27
|
fromChainId: m.network,
|
|
28
28
|
toChainId: h.network,
|
|
29
29
|
mode: "swap"
|
|
30
|
-
}) && !
|
|
30
|
+
}) && !s(h, m) || (h = c({
|
|
31
31
|
fromChainId: m.network,
|
|
32
32
|
toChainId: h.network,
|
|
33
|
-
listByChainId: e(
|
|
33
|
+
listByChainId: e(o).listByChainId,
|
|
34
34
|
mode: "swap"
|
|
35
35
|
}));
|
|
36
36
|
else {
|
|
37
37
|
let [e, t] = n(m.network, "swap");
|
|
38
|
-
h = m.network === h.network ?
|
|
38
|
+
h = m.network === h.network ? s(m, h) ? t : h : s(m, t) ? e : t;
|
|
39
39
|
}
|
|
40
40
|
t(r, m), t(i, h);
|
|
41
|
-
}), g = m(null, async (e,
|
|
41
|
+
}), g = m(null, async (e, u, f) => {
|
|
42
42
|
if (!e(a).includes(f.network)) return;
|
|
43
43
|
let m = e(r), h = e(i);
|
|
44
|
-
if (f.network !== t.state.chainId && d({ chainId: f.network }),
|
|
44
|
+
if (f.network !== t.state.chainId && d({ chainId: f.network }), u(r, f), h) if (p({
|
|
45
45
|
get: e,
|
|
46
46
|
chainIdFrom: f.network,
|
|
47
47
|
chainIdTo: h.network,
|
|
48
48
|
mode: "swap"
|
|
49
|
-
}))
|
|
49
|
+
})) l({
|
|
50
50
|
token: h,
|
|
51
51
|
fromChainId: f.network,
|
|
52
52
|
toChainId: h.network,
|
|
53
53
|
mode: "swap"
|
|
54
|
-
}) ||
|
|
54
|
+
}) || u(i, c({
|
|
55
55
|
fromChainId: f.network,
|
|
56
56
|
toChainId: h.network,
|
|
57
|
-
listByChainId: e(
|
|
57
|
+
listByChainId: e(o).listByChainId,
|
|
58
58
|
mode: "swap"
|
|
59
59
|
}));
|
|
60
60
|
else {
|
|
61
61
|
let [e, t] = n(f.network, "swap");
|
|
62
|
-
f.network === h.network ?
|
|
62
|
+
f.network === h.network ? s(f, h) && u(i, m) : u(i, s(f, t) ? e : t);
|
|
63
63
|
}
|
|
64
|
-
}), _ = m(null, async (e,
|
|
64
|
+
}), _ = m(null, async (e, o, c) => {
|
|
65
65
|
let m = e(r);
|
|
66
66
|
if (!f(e, {
|
|
67
67
|
fromChainId: m.network,
|
|
68
68
|
mode: "swap"
|
|
69
|
-
}).includes(
|
|
70
|
-
let h =
|
|
71
|
-
if (
|
|
72
|
-
let [e, t] = n(h, "swap"), i =
|
|
73
|
-
|
|
69
|
+
}).includes(c.network)) return;
|
|
70
|
+
let h = c.network, g = e(i);
|
|
71
|
+
if (s(c, m)) {
|
|
72
|
+
let [e, t] = n(h, "swap"), i = s(m, e) ? t : e, a = g && m.network !== g?.network ? i : g ?? i;
|
|
73
|
+
o(r, a), m = a;
|
|
74
74
|
}
|
|
75
|
-
|
|
75
|
+
o(i, c), g = c;
|
|
76
76
|
let _ = !1, v = p({
|
|
77
77
|
get: e,
|
|
78
78
|
chainIdFrom: m.network,
|
|
79
79
|
chainIdTo: g.network,
|
|
80
80
|
mode: "swap"
|
|
81
81
|
});
|
|
82
|
-
v && (
|
|
82
|
+
v && (l({
|
|
83
83
|
token: g,
|
|
84
84
|
fromChainId: m.network,
|
|
85
85
|
toChainId: g.network,
|
|
@@ -99,13 +99,13 @@ var h = m(null, (e, t) => {
|
|
|
99
99
|
break;
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
let [i, a] = n(t, "swap"), c =
|
|
103
|
-
|
|
102
|
+
let [i, a] = n(t, "swap"), c = s(g, i) ? a : i;
|
|
103
|
+
o(r, c), m = c;
|
|
104
104
|
}
|
|
105
|
-
m.network !== g.network &&
|
|
105
|
+
m.network !== g.network && o(u, "delta"), m.network !== t.state.chainId && d({ chainId: m.network });
|
|
106
106
|
}), v = (t) => {
|
|
107
107
|
if (!e.get(a).includes(t) || e.get(r).network === t) return;
|
|
108
|
-
let [
|
|
108
|
+
let [s, d] = n(t, "swap"), m = s;
|
|
109
109
|
e.set(r, m);
|
|
110
110
|
let h = e.get(i);
|
|
111
111
|
if (h) if (p({
|
|
@@ -114,21 +114,21 @@ var h = m(null, (e, t) => {
|
|
|
114
114
|
chainIdTo: h.network,
|
|
115
115
|
mode: "swap"
|
|
116
116
|
})) {
|
|
117
|
-
if (!
|
|
117
|
+
if (!l({
|
|
118
118
|
token: h,
|
|
119
119
|
fromChainId: t,
|
|
120
120
|
toChainId: h.network,
|
|
121
121
|
mode: "swap"
|
|
122
122
|
})) {
|
|
123
|
-
let n =
|
|
123
|
+
let n = c({
|
|
124
124
|
fromChainId: t,
|
|
125
125
|
toChainId: h.network,
|
|
126
|
-
listByChainId: e.get(
|
|
126
|
+
listByChainId: e.get(o).listByChainId,
|
|
127
127
|
mode: "swap"
|
|
128
128
|
});
|
|
129
129
|
e.set(i, n);
|
|
130
130
|
}
|
|
131
|
-
e.set(
|
|
131
|
+
e.set(u, "delta");
|
|
132
132
|
} else f(e.get, {
|
|
133
133
|
fromChainId: m.network,
|
|
134
134
|
mode: "swap"
|
|
@@ -9,9 +9,9 @@ import { isETHaddress as f } from "../../../tokens/utils/eth.js";
|
|
|
9
9
|
import { pickDefaultTokenPair as p } from "../../../tokens/defaultTokens.js";
|
|
10
10
|
import { getClosestTimeUnit as m } from "../../limit/state/utils.js";
|
|
11
11
|
import { isSupportedChainId as h } from "../../../lib/web3/wagmi/utils.js";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
12
|
+
import { fromListsAtom as g } from "../../../tokens/state/fromListsAtom.js";
|
|
13
|
+
import { autoImportedTokensAtom as _, importedTokensAtom as v } from "../../../tokens/state/importedTokensAtom.js";
|
|
14
|
+
import { areTokensSame as y } from "../../../tokens/utils/areTokensSame.js";
|
|
15
15
|
import { sideToInputType as b, tradeModeToCurrentInputAtom as x, tradeModeToPayAmountUnitAtom as S, tradeModeToReceiveAmountUnitAtom as C, tradeModeToSetTokenAtoms as w, tradeModeToSideAtom as T, tradeModeToTimeUnitAtom as E, tradeModeToTokenAtoms as D } from "./common.js";
|
|
16
16
|
import { autoAddImportedTokenAtom as O } from "../../../tokens/state/addImportedTokenAtom.js";
|
|
17
17
|
import { bridgeInfosLoadedAtom as k } from "../../../hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js";
|
|
@@ -26,11 +26,11 @@ var I = M({}), L = l("FormInputProps");
|
|
|
26
26
|
function R({ get: e, set: t, tokenToFind: n }) {
|
|
27
27
|
let r = n.address, i = n.network;
|
|
28
28
|
if (f(r)) return d[i];
|
|
29
|
-
let a = r.toLowerCase(), o = e(
|
|
29
|
+
let a = r.toLowerCase(), o = e(g).listByChainId[i]?.addressMap?.[a];
|
|
30
30
|
if (o) return o;
|
|
31
|
-
let s = e.peek(
|
|
31
|
+
let s = e.peek(v)[i]?.find((e) => e.address.toLowerCase() === a);
|
|
32
32
|
if (s) return s;
|
|
33
|
-
let c = e(
|
|
33
|
+
let c = e(_).find((e) => e.address.toLowerCase() === a && e.network === i);
|
|
34
34
|
if (c) return c;
|
|
35
35
|
L.info("token not available in widget. Will attempt to import from chain", {
|
|
36
36
|
address: r,
|
|
@@ -45,7 +45,7 @@ function z(e) {
|
|
|
45
45
|
}
|
|
46
46
|
var B = F((e, t) => {
|
|
47
47
|
e(k), e(o);
|
|
48
|
-
let l = e.peek(a), d = e(I), { tokenFromAddress:
|
|
48
|
+
let l = e.peek(a), d = e(I), { tokenFromAddress: g } = d, _ = d.sendAmount === void 0 ? void 0 : String(d.sendAmount), v = d.receiveAmount === void 0 ? void 0 : String(d.receiveAmount), O = d.srcChainId === void 0 ? void 0 : Number(d.srcChainId);
|
|
49
49
|
L.log("using external props to set Widget form input", d);
|
|
50
50
|
let A = d.destChainId === void 0 ? void 0 : Number(d.destChainId), j = e.peek(s), M = d.tokenToAddress, P = d.selectedForm || j;
|
|
51
51
|
(!n(P) || !l.includes(P)) && (L.warn("invalid, disabled or unavailable selectedForm provided", { selectedForm: P }), P = l[0]), N(n(P), "selectedForm must be a valid trade mode");
|
|
@@ -56,7 +56,7 @@ var B = F((e, t) => {
|
|
|
56
56
|
{
|
|
57
57
|
let n = V({
|
|
58
58
|
tokenFromProps: {
|
|
59
|
-
address:
|
|
59
|
+
address: g,
|
|
60
60
|
network: O
|
|
61
61
|
},
|
|
62
62
|
currentToken: B,
|
|
@@ -83,7 +83,7 @@ var B = F((e, t) => {
|
|
|
83
83
|
set: t
|
|
84
84
|
}));
|
|
85
85
|
}
|
|
86
|
-
if (U && W &&
|
|
86
|
+
if (U && W && y(U, W) && (W = void 0), !U && !g && O && h(O) && O !== B.network) {
|
|
87
87
|
let [e] = p(O, P);
|
|
88
88
|
U = e;
|
|
89
89
|
}
|
|
@@ -100,15 +100,15 @@ var B = F((e, t) => {
|
|
|
100
100
|
t(e, W);
|
|
101
101
|
}
|
|
102
102
|
let K = T[P], q = x[P], J = d.side;
|
|
103
|
-
i.has(P) ? z(J) ? t(q, b[J]) : (J && L.warn("invalid side provided, must be BUY or SELL", { side: J }), J =
|
|
104
|
-
let Y = i.has(P), X = !Y, Z = X || Y && J === "SELL", Q = X || Y && J === "BUY", $ =
|
|
103
|
+
i.has(P) ? z(J) ? t(q, b[J]) : (J && L.warn("invalid side provided, must be BUY or SELL", { side: J }), J = _ && !v ? "SELL" : v && !_ ? "BUY" : e.peek(K)) : J = e.peek(K), N(z(J), "side must be BUY or SELL");
|
|
104
|
+
let Y = i.has(P), X = !Y, Z = X || Y && J === "SELL", Q = X || Y && J === "BUY", $ = _ && Number(_) >= 0, ee = v && Number(v) >= 0;
|
|
105
105
|
if ($ && Z) {
|
|
106
106
|
let n = S[P];
|
|
107
|
-
e.peek(n.read) !==
|
|
107
|
+
e.peek(n.read) !== _ && t(n.write, _);
|
|
108
108
|
}
|
|
109
109
|
if (ee && Q) {
|
|
110
110
|
let n = C[P];
|
|
111
|
-
e.peek(n.read) !==
|
|
111
|
+
e.peek(n.read) !== v && t(n.write, v);
|
|
112
112
|
}
|
|
113
113
|
if (P === "limit" || P === "otc") {
|
|
114
114
|
let n = Number(d.orderDeadline);
|
|
@@ -132,7 +132,7 @@ function V({ tokenFromProps: e, currentToken: t, defaultChainId: n }) {
|
|
|
132
132
|
L.warn("unsupported chainId provided", { network: r });
|
|
133
133
|
return;
|
|
134
134
|
}
|
|
135
|
-
if (!(t &&
|
|
135
|
+
if (!(t && y(t, {
|
|
136
136
|
address: e.address,
|
|
137
137
|
network: r
|
|
138
138
|
}))) return {
|
|
@@ -2,9 +2,9 @@ import { wagmiConfig as e } from "../../../lib/web3/wagmi/config.js";
|
|
|
2
2
|
import { pickDefaultTokenPair as t } from "../../../tokens/defaultTokens.js";
|
|
3
3
|
import { limitTokenFromAtom as n, limitTokenToAtom as r } from "./limitTokenAtoms.js";
|
|
4
4
|
import { enabledSrcChainsAtom as i } from "../../state/enabledChainsAtom.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { allTokensByChainAtom as a } from "../../../tokens/state/allTokensByChainAtom.js";
|
|
6
|
+
import { areTokensSame as o } from "../../../tokens/utils/areTokensSame.js";
|
|
7
|
+
import { findFirstTokenFromAcross as s, isTokenFromAcross as c } from "../../across/utils.js";
|
|
8
8
|
import { switchChain as l } from "../../../lib/web3/wagmi/switchChain.js";
|
|
9
9
|
import { getSelectableDestChains as u } from "../../state/getSelectableDestChains.js";
|
|
10
10
|
import { isCrosschainPossible as d } from "../../across/isCrosschainPossible.js";
|
|
@@ -20,55 +20,55 @@ var m = p(null, async (e, t) => {
|
|
|
20
20
|
c.network !== s && l({ chainId: c.network });
|
|
21
21
|
}), h = p(null, async (i, u, p) => {
|
|
22
22
|
let m = i(n), h = i(r), g = m;
|
|
23
|
-
if (u(n, p), m = p,
|
|
23
|
+
if (u(n, p), m = p, o(m, g) || u(f), m.network !== e.state.chainId && l({ chainId: m.network }), h) if (d({
|
|
24
24
|
get: i,
|
|
25
25
|
chainIdFrom: m.network,
|
|
26
26
|
chainIdTo: h.network,
|
|
27
27
|
mode: "limit"
|
|
28
|
-
}))
|
|
28
|
+
})) c({
|
|
29
29
|
token: h,
|
|
30
30
|
fromChainId: m.network,
|
|
31
31
|
toChainId: h.network,
|
|
32
32
|
mode: "limit"
|
|
33
|
-
}) || u(r,
|
|
33
|
+
}) || u(r, s({
|
|
34
34
|
fromChainId: m.network,
|
|
35
35
|
toChainId: h.network,
|
|
36
|
-
listByChainId: i(
|
|
36
|
+
listByChainId: i(a).listByChainId,
|
|
37
37
|
mode: "limit"
|
|
38
38
|
}));
|
|
39
39
|
else if (m.network !== h.network) {
|
|
40
40
|
let [e, n] = t(m.network, "limit");
|
|
41
|
-
h =
|
|
42
|
-
} else
|
|
43
|
-
}), g = p(null, async (
|
|
44
|
-
let m =
|
|
45
|
-
if (!u(
|
|
41
|
+
h = o(m, n) ? e : n, u(r, h);
|
|
42
|
+
} else o(m, h) && (h = g, u(r, h));
|
|
43
|
+
}), g = p(null, async (a, s, p) => {
|
|
44
|
+
let m = a(n);
|
|
45
|
+
if (!u(a, {
|
|
46
46
|
fromChainId: m.network,
|
|
47
47
|
mode: "limit"
|
|
48
48
|
}).includes(p.network)) return;
|
|
49
|
-
let h =
|
|
50
|
-
if (
|
|
51
|
-
let [e, r] = t(h.network, "limit"), i =
|
|
52
|
-
|
|
49
|
+
let h = a(r), g = h;
|
|
50
|
+
if (s(r, p), h = p, o(h, m)) {
|
|
51
|
+
let [e, r] = t(h.network, "limit"), i = o(m, e) ? r : e, a = g && m.network !== g.network ? i : g ?? i;
|
|
52
|
+
s(n, a), m = a;
|
|
53
53
|
}
|
|
54
54
|
let _ = !1, v = d({
|
|
55
|
-
get:
|
|
55
|
+
get: a,
|
|
56
56
|
chainIdFrom: m.network,
|
|
57
57
|
chainIdTo: h.network,
|
|
58
58
|
mode: "limit"
|
|
59
59
|
});
|
|
60
|
-
v && (
|
|
60
|
+
v && (c({
|
|
61
61
|
token: h,
|
|
62
62
|
fromChainId: m.network,
|
|
63
63
|
toChainId: h.network,
|
|
64
64
|
mode: "limit"
|
|
65
65
|
}) || (_ = !0)), m.network !== h.network && !v && (_ = !0);
|
|
66
|
-
let y =
|
|
66
|
+
let y = a(i);
|
|
67
67
|
if (_) {
|
|
68
68
|
let e = h.network;
|
|
69
69
|
if (!y.includes(h.network)) {
|
|
70
70
|
for (let t of y) if (d({
|
|
71
|
-
get:
|
|
71
|
+
get: a,
|
|
72
72
|
chainIdFrom: t,
|
|
73
73
|
chainIdTo: h.network,
|
|
74
74
|
mode: "limit"
|
|
@@ -77,10 +77,10 @@ var m = p(null, async (e, t) => {
|
|
|
77
77
|
break;
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
let [r, i] = t(e, "limit"),
|
|
81
|
-
|
|
80
|
+
let [r, i] = t(e, "limit"), c = o(h, r) ? i : r;
|
|
81
|
+
s(n, c), m = c;
|
|
82
82
|
}
|
|
83
|
-
h && g && !
|
|
83
|
+
h && g && !o(h, g) && s(f), m.network !== e.state.chainId && l({ chainId: m.network });
|
|
84
84
|
});
|
|
85
85
|
//#endregion
|
|
86
86
|
export { h as selectLimitTokenFromAtom, g as selectLimitTokenToAtom, m as switchLimitTokensAtom };
|
|
@@ -2,8 +2,8 @@ import { jotaiStore as e } from "../../store.js";
|
|
|
2
2
|
import { pickDefaultTokenPair as t } from "../../../tokens/defaultTokens.js";
|
|
3
3
|
import { limitTokenFromAtom as n, limitTokenToAtom as r } from "./limitTokenAtoms.js";
|
|
4
4
|
import { enabledSrcChainsAtom as i } from "../../state/enabledChainsAtom.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { allTokensByChainAtom as a } from "../../../tokens/state/allTokensByChainAtom.js";
|
|
6
|
+
import { findFirstTokenFromAcross as o, isTokenFromAcross as s } from "../../across/utils.js";
|
|
7
7
|
import { getSelectableDestChains as c } from "../../state/getSelectableDestChains.js";
|
|
8
8
|
import { isCrosschainPossible as l } from "../../across/isCrosschainPossible.js";
|
|
9
9
|
//#region src/core/limit/state/selectedTokenAtom.ts
|
|
@@ -19,15 +19,15 @@ var u = (u) => {
|
|
|
19
19
|
chainIdFrom: u,
|
|
20
20
|
chainIdTo: m.network,
|
|
21
21
|
mode: "limit"
|
|
22
|
-
}) ?
|
|
22
|
+
}) ? s({
|
|
23
23
|
token: m,
|
|
24
24
|
fromChainId: u,
|
|
25
25
|
toChainId: m.network,
|
|
26
26
|
mode: "limit"
|
|
27
|
-
}) || (m =
|
|
27
|
+
}) || (m = o({
|
|
28
28
|
fromChainId: u,
|
|
29
29
|
toChainId: m.network,
|
|
30
|
-
listByChainId: e.get(
|
|
30
|
+
listByChainId: e.get(a).listByChainId,
|
|
31
31
|
mode: "limit"
|
|
32
32
|
}), e.set(r, m)) : c(e.get, {
|
|
33
33
|
fromChainId: d.network,
|
|
@@ -3,47 +3,47 @@ import { pickDefaultTokenPair as t } from "../../tokens/defaultTokens.js";
|
|
|
3
3
|
import { swapTokenFromAtom as n, swapTokenToAtom as r } from "../inputs/state/selectedTokenAtom.js";
|
|
4
4
|
import { limitTokenFromAtom as i, limitTokenToAtom as a } from "../limit/state/limitTokenAtoms.js";
|
|
5
5
|
import { twapTokenFromAtom as o, twapTokenToAtom as s } from "../twap/state/twapTokenAtoms.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
6
|
+
import { allTokensByChainAtom as c } from "../../tokens/state/allTokensByChainAtom.js";
|
|
7
|
+
import { areTokensSame as l } from "../../tokens/utils/areTokensSame.js";
|
|
8
|
+
import { findFirstTokenFromAcross as u } from "../across/utils.js";
|
|
9
|
+
import { setSwapModeAtom as d } from "../../components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js";
|
|
10
10
|
import { atom as f } from "jotai";
|
|
11
11
|
//#region src/core/state/chainToAtom.ts
|
|
12
12
|
var p = f((e) => e(r)?.network, (e, i, a) => {
|
|
13
13
|
let o = e(n), s = o.network;
|
|
14
|
-
if (s !== a) i(r,
|
|
14
|
+
if (s !== a) i(r, u({
|
|
15
15
|
fromChainId: s,
|
|
16
16
|
toChainId: a,
|
|
17
|
-
listByChainId: e(
|
|
17
|
+
listByChainId: e(c).listByChainId,
|
|
18
18
|
mode: "swap"
|
|
19
|
-
})), i(
|
|
19
|
+
})), i(d, "delta");
|
|
20
20
|
else {
|
|
21
21
|
let [e, n] = t(a, "swap");
|
|
22
|
-
i(r,
|
|
22
|
+
i(r, l(o, n) ? e : n);
|
|
23
23
|
}
|
|
24
24
|
}), m = () => e(p), h = f((e) => e(a)?.network, (e, n, r) => {
|
|
25
25
|
let o = e(i), s = o.network;
|
|
26
|
-
if (s !== r) n(a,
|
|
26
|
+
if (s !== r) n(a, u({
|
|
27
27
|
fromChainId: s,
|
|
28
28
|
toChainId: r,
|
|
29
|
-
listByChainId: e(
|
|
29
|
+
listByChainId: e(c).listByChainId,
|
|
30
30
|
mode: "limit"
|
|
31
31
|
}));
|
|
32
32
|
else {
|
|
33
33
|
let [e, i] = t(r, "limit");
|
|
34
|
-
n(a,
|
|
34
|
+
n(a, l(o, i) ? e : i);
|
|
35
35
|
}
|
|
36
36
|
}), g = () => e(h), _ = f((e) => e(s)?.network, (e, n, r) => {
|
|
37
37
|
let i = e(o), a = i.network;
|
|
38
|
-
if (a !== r) n(s,
|
|
38
|
+
if (a !== r) n(s, u({
|
|
39
39
|
fromChainId: a,
|
|
40
40
|
toChainId: r,
|
|
41
|
-
listByChainId: e(
|
|
41
|
+
listByChainId: e(c).listByChainId,
|
|
42
42
|
mode: "twap"
|
|
43
43
|
}));
|
|
44
44
|
else {
|
|
45
45
|
let [e, a] = t(r, "twap");
|
|
46
|
-
n(s,
|
|
46
|
+
n(s, l(i, a) ? e : a);
|
|
47
47
|
}
|
|
48
48
|
}), v = () => e(_);
|
|
49
49
|
//#endregion
|
|
@@ -9,8 +9,8 @@ var c = {
|
|
|
9
9
|
theme: o(),
|
|
10
10
|
enableDelta: !0,
|
|
11
11
|
enableCrossChain: !0,
|
|
12
|
-
privyAppId:
|
|
13
|
-
privyClientId:
|
|
12
|
+
privyAppId: void 0,
|
|
13
|
+
privyClientId: void 0,
|
|
14
14
|
debug: !1,
|
|
15
15
|
widgetMode: "standalone",
|
|
16
16
|
enableDegenMode: !0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configAtom.js","names":["atom","useAtomValue","WidgetElements","WidgetConfig","DevURLs","PartnerConfig","ReferrerConfig","MarkRequired","SupportedChainId","emptyArray","emptyObject","atomWithCompare","constructPropertiesEqual","unorderedShallowEqual","TradeMode","getDefaultTheme","PrimitiveConfig","Pick","IterableConfig","PrimitiveConfigState","defaultWidgetConfig","theme","enableDelta","enableCrossChain","privyAppId","import","meta","env","VITE_PRIVY_APP_ID","privyClientId","VITE_PRIVY_CLIENT_ID","debug","widgetMode","enableDegenMode","const","widgetConfigAtom","useWidgetConfig","defaultSubConfig","tokenLists","srcChains","destChains","tradeModes","excludeUI","devURLs","partnerConfig","referrerConfig","tokenListsAtom","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","partnerConfigAtom","debugLabel","referrerConfigAtom"],"sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n WidgetElements,\n WidgetConfig,\n DevURLs,\n PartnerConfig,\n ReferrerConfig,\n} from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray, emptyObject } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual, unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n | \"srcChains\"\n | \"destChains\"\n | \"tokenLists\"\n | \"tradeModes\"\n | \"excludeUI\"\n | \"devURLs\"\n | \"partnerConfig\"\n | \"referrerConfig\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n enableDegenMode: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n devURLs: emptyObject,\n partnerConfig: emptyObject,\n referrerConfig: emptyObject,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n\nexport const devURLsAtom = atomWithCompare<DevURLs>(\n defaultSubConfig.devURLs,\n // known properties only comparison\n constructPropertiesEqual([\"apiProxyURL\", \"apiURL\", \"explorerURL\"])\n);\n\nexport const partnerConfigAtom = atomWithCompare<PartnerConfig>(\n defaultSubConfig.partnerConfig,\n constructPropertiesEqual([\n \"partner\",\n \"partnerAddress\",\n \"partnerFeeBps\",\n \"partnerTakesSurplus\",\n ])\n);\n\npartnerConfigAtom.debugLabel = \"partnerConfigAtom\";\n\nexport const referrerConfigAtom = atomWithCompare<ReferrerConfig>(\n defaultSubConfig.referrerConfig,\n constructPropertiesEqual([\"referrerAddress\"])\n);\n\nreferrerConfigAtom.debugLabel = \"referrerConfigAtom\";\n"],"mappings":";;;;;;;AAqDA,IAAaoB,IAAsB;CACjCC,OAAON,GAAiB;CACxBO,aAAa;CACbC,kBAAkB;CAClBC,YAAAA;CACAK,eAAAA;CACAE,OAAO;CACPC,YAAY;CACZC,iBAAiB;CAClB,EAEYE,IAAmBnC,EAA2BoB,EAAoB,EAElEgB,UACJnC,EAAakC,EAAiB,EAG1BE,IAAmB;CAC9BC,YAAY7B;CACZ8B,WAAW9B;CACX+B,YAAY/B;CACZgC,YAAYhC;CACZiC,WAAWjC;CACXkC,SAASjC;CACTkC,eAAelC;CACfmC,gBAAgBnC;CACjB,EAIYoC,IAAiBnC,EAC5B0B,EAAiBC,YACjBzB,EACD,EACYkC,IAAgBpC,EAC3B0B,EAAiBE,WACjB1B,EACD,EACYmC,IAAiBrC,EAC5B0B,EAAiBG,YACjB3B,EACD,EAEYoC,IAAiBtC,EAC5B0B,EAAiBI,YACjB5B,EACD,EAEYqC,IAAgBvC,EAC3B0B,EAAiBK,WACjB7B,EACD,EAEYsC,IAAcxC,EACzB0B,EAAiBM,SAEjB/B,EAAyB;CAAC;CAAe;CAAU;CAAc,CACnE,CAAC,EAEYwC,IAAoBzC,EAC/B0B,EAAiBO,eACjBhC,EAAyB;CACvB;CACA;CACA;CACA;CACD,CACH,CAAC;AAEDwC,EAAkBC,aAAa;AAE/B,IAAaC,IAAqB3C,EAChC0B,EAAiBQ,gBACjBjC,EAAyB,CAAC,kBAAkB,CAC9C,CAAC;AAED0C,EAAmBD,aAAa"}
|
|
1
|
+
{"version":3,"file":"configAtom.js","names":["atom","useAtomValue","WidgetElements","WidgetConfig","DevURLs","PartnerConfig","ReferrerConfig","MarkRequired","SupportedChainId","emptyArray","emptyObject","atomWithCompare","constructPropertiesEqual","unorderedShallowEqual","TradeMode","getDefaultTheme","PrimitiveConfig","Pick","IterableConfig","PrimitiveConfigState","defaultWidgetConfig","theme","enableDelta","enableCrossChain","privyAppId","import","meta","env","VITE_PRIVY_APP_ID","privyClientId","VITE_PRIVY_CLIENT_ID","debug","widgetMode","enableDegenMode","const","widgetConfigAtom","useWidgetConfig","defaultSubConfig","tokenLists","srcChains","destChains","tradeModes","excludeUI","devURLs","partnerConfig","referrerConfig","tokenListsAtom","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","partnerConfigAtom","debugLabel","referrerConfigAtom"],"sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n WidgetElements,\n WidgetConfig,\n DevURLs,\n PartnerConfig,\n ReferrerConfig,\n} from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray, emptyObject } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual, unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n | \"srcChains\"\n | \"destChains\"\n | \"tokenLists\"\n | \"tradeModes\"\n | \"excludeUI\"\n | \"devURLs\"\n | \"partnerConfig\"\n | \"referrerConfig\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n enableDegenMode: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n devURLs: emptyObject,\n partnerConfig: emptyObject,\n referrerConfig: emptyObject,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n\nexport const devURLsAtom = atomWithCompare<DevURLs>(\n defaultSubConfig.devURLs,\n // known properties only comparison\n constructPropertiesEqual([\"apiProxyURL\", \"apiURL\", \"explorerURL\"])\n);\n\nexport const partnerConfigAtom = atomWithCompare<PartnerConfig>(\n defaultSubConfig.partnerConfig,\n constructPropertiesEqual([\n \"partner\",\n \"partnerAddress\",\n \"partnerFeeBps\",\n \"partnerTakesSurplus\",\n ])\n);\n\npartnerConfigAtom.debugLabel = \"partnerConfigAtom\";\n\nexport const referrerConfigAtom = atomWithCompare<ReferrerConfig>(\n defaultSubConfig.referrerConfig,\n constructPropertiesEqual([\"referrerAddress\"])\n);\n\nreferrerConfigAtom.debugLabel = \"referrerConfigAtom\";\n"],"mappings":";;;;;;;AAqDA,IAAaoB,IAAsB;CACjCC,OAAON,GAAiB;CACxBO,aAAa;CACbC,kBAAkB;CAClBC,YAAAA,KAAAA;CACAK,eAAAA,KAAAA;CACAE,OAAO;CACPC,YAAY;CACZC,iBAAiB;CAClB,EAEYE,IAAmBnC,EAA2BoB,EAAoB,EAElEgB,UACJnC,EAAakC,EAAiB,EAG1BE,IAAmB;CAC9BC,YAAY7B;CACZ8B,WAAW9B;CACX+B,YAAY/B;CACZgC,YAAYhC;CACZiC,WAAWjC;CACXkC,SAASjC;CACTkC,eAAelC;CACfmC,gBAAgBnC;CACjB,EAIYoC,IAAiBnC,EAC5B0B,EAAiBC,YACjBzB,EACD,EACYkC,IAAgBpC,EAC3B0B,EAAiBE,WACjB1B,EACD,EACYmC,IAAiBrC,EAC5B0B,EAAiBG,YACjB3B,EACD,EAEYoC,IAAiBtC,EAC5B0B,EAAiBI,YACjB5B,EACD,EAEYqC,IAAgBvC,EAC3B0B,EAAiBK,WACjB7B,EACD,EAEYsC,IAAcxC,EACzB0B,EAAiBM,SAEjB/B,EAAyB;CAAC;CAAe;CAAU;CAAc,CACnE,CAAC,EAEYwC,IAAoBzC,EAC/B0B,EAAiBO,eACjBhC,EAAyB;CACvB;CACA;CACA;CACA;CACD,CACH,CAAC;AAEDwC,EAAkBC,aAAa;AAE/B,IAAaC,IAAqB3C,EAChC0B,EAAiBQ,gBACjBjC,EAAyB,CAAC,kBAAkB,CAC9C,CAAC;AAED0C,EAAmBD,aAAa"}
|
|
@@ -3,9 +3,9 @@ import { wagmiConfig as t } from "../../../lib/web3/wagmi/config.js";
|
|
|
3
3
|
import { pickDefaultTokenPair as n } from "../../../tokens/defaultTokens.js";
|
|
4
4
|
import { twapTokenFromAtom as r, twapTokenToAtom as i } from "./twapTokenAtoms.js";
|
|
5
5
|
import { enabledSrcChainsAtom as a } from "../../state/enabledChainsAtom.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { allTokensByChainAtom as o } from "../../../tokens/state/allTokensByChainAtom.js";
|
|
7
|
+
import { areTokensSame as s } from "../../../tokens/utils/areTokensSame.js";
|
|
8
|
+
import { findFirstTokenFromAcross as c, isTokenFromAcross as l } from "../../across/utils.js";
|
|
9
9
|
import { switchChain as u } from "../../../lib/web3/wagmi/switchChain.js";
|
|
10
10
|
import { getSelectableDestChains as d } from "../../state/getSelectableDestChains.js";
|
|
11
11
|
import { isCrosschainPossible as f } from "../../across/isCrosschainPossible.js";
|
|
@@ -25,31 +25,31 @@ var m = p(null, async (e, t) => {
|
|
|
25
25
|
chainIdFrom: p.network,
|
|
26
26
|
chainIdTo: m.network,
|
|
27
27
|
mode: "twap"
|
|
28
|
-
}))
|
|
28
|
+
})) l({
|
|
29
29
|
token: m,
|
|
30
30
|
fromChainId: p.network,
|
|
31
31
|
toChainId: m.network,
|
|
32
32
|
mode: "twap"
|
|
33
|
-
}) || a(i,
|
|
33
|
+
}) || a(i, c({
|
|
34
34
|
fromChainId: p.network,
|
|
35
35
|
toChainId: m.network,
|
|
36
|
-
listByChainId: e(
|
|
36
|
+
listByChainId: e(o).listByChainId,
|
|
37
37
|
mode: "twap"
|
|
38
38
|
}));
|
|
39
39
|
else if (p.network !== m.network) {
|
|
40
40
|
let [e, t] = n(p.network, "twap");
|
|
41
|
-
m =
|
|
42
|
-
} else
|
|
43
|
-
}), g = p(null, async (e,
|
|
41
|
+
m = s(p, t) ? e : t, a(i, m);
|
|
42
|
+
} else s(p, m) && (m = h, a(i, m));
|
|
43
|
+
}), g = p(null, async (e, o, c) => {
|
|
44
44
|
let p = e(r);
|
|
45
|
-
if (
|
|
45
|
+
if (c.network !== p.network || !d(e, {
|
|
46
46
|
fromChainId: p.network,
|
|
47
47
|
mode: "twap"
|
|
48
|
-
}).includes(
|
|
48
|
+
}).includes(c.network)) return;
|
|
49
49
|
let m = e(i), h = m;
|
|
50
|
-
if (
|
|
51
|
-
let [e, t] = n(m.network, "twap"), i =
|
|
52
|
-
|
|
50
|
+
if (o(i, c), m = c, s(m, p)) {
|
|
51
|
+
let [e, t] = n(m.network, "twap"), i = s(p, e) ? t : e, a = h && p.network !== h.network ? i : h ?? i;
|
|
52
|
+
o(r, a), p = a;
|
|
53
53
|
}
|
|
54
54
|
let g = !1, _ = f({
|
|
55
55
|
get: e,
|
|
@@ -57,7 +57,7 @@ var m = p(null, async (e, t) => {
|
|
|
57
57
|
chainIdTo: m.network,
|
|
58
58
|
mode: "twap"
|
|
59
59
|
});
|
|
60
|
-
_ && (
|
|
60
|
+
_ && (l({
|
|
61
61
|
token: m,
|
|
62
62
|
fromChainId: p.network,
|
|
63
63
|
toChainId: m.network,
|
|
@@ -77,34 +77,34 @@ var m = p(null, async (e, t) => {
|
|
|
77
77
|
break;
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
let [i, a] = n(t, "twap"), c =
|
|
81
|
-
|
|
80
|
+
let [i, a] = n(t, "twap"), c = s(m, i) ? a : i;
|
|
81
|
+
o(r, c), p = c;
|
|
82
82
|
}
|
|
83
83
|
p.network !== t.state.chainId && u({ chainId: p.network });
|
|
84
84
|
}), _ = (t) => {
|
|
85
85
|
if (!e.get(a).includes(t)) return;
|
|
86
|
-
let
|
|
87
|
-
if (
|
|
86
|
+
let s = e.get(r);
|
|
87
|
+
if (s.network === t) return;
|
|
88
88
|
let [u, p] = n(t, "twap");
|
|
89
|
-
e.set(r, u),
|
|
89
|
+
e.set(r, u), s = u;
|
|
90
90
|
let m = e.get(i);
|
|
91
91
|
m && (f({
|
|
92
92
|
get: e.get,
|
|
93
93
|
chainIdFrom: t,
|
|
94
94
|
chainIdTo: m.network,
|
|
95
95
|
mode: "twap"
|
|
96
|
-
}) ?
|
|
96
|
+
}) ? l({
|
|
97
97
|
token: m,
|
|
98
98
|
fromChainId: t,
|
|
99
99
|
toChainId: m.network,
|
|
100
100
|
mode: "twap"
|
|
101
|
-
}) || (m =
|
|
101
|
+
}) || (m = c({
|
|
102
102
|
fromChainId: t,
|
|
103
103
|
toChainId: m.network,
|
|
104
|
-
listByChainId: e.get(
|
|
104
|
+
listByChainId: e.get(o).listByChainId,
|
|
105
105
|
mode: "twap"
|
|
106
106
|
}), e.set(i, m)) : d(e.get, {
|
|
107
|
-
fromChainId:
|
|
107
|
+
fromChainId: s.network,
|
|
108
108
|
mode: "twap"
|
|
109
109
|
}).includes(t) ? (m = p, e.set(i, m)) : (m = void 0, e.set(i, m)));
|
|
110
110
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { useAtomValue as e } from "../../core/store.js";
|
|
2
2
|
import { emptyArray as t } from "../../lib/constants/index.js";
|
|
3
3
|
import { allTokensByChainAtom as n } from "../../tokens/state/allTokensByChainAtom.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { useAllTokens as r } from "../../tokens/hooks.js";
|
|
5
|
+
import { useNativeToken as i } from "./useNativeToken.js";
|
|
6
|
+
import { createSortWithClosestMatch as a } from "../../tokens/utils/sorting.js";
|
|
7
|
+
import { filterTokens as o } from "../../tokens/utils/filtering.js";
|
|
8
8
|
import { useAttachTokenBalanceMultichain as s } from "./balances/useAttachTokenBalanceMultichain.js";
|
|
9
9
|
import { useTokensFromAcross as c } from "./useTokensFromAcross.js";
|
|
10
10
|
import { c as l } from "react-compiler-runtime";
|
|
@@ -13,9 +13,9 @@ import { isAddress as d } from "viem";
|
|
|
13
13
|
import { useChainId as f } from "wagmi";
|
|
14
14
|
//#region src/hooks/tokens/useAllTokensWithFilter.ts
|
|
15
15
|
var p = (e) => {
|
|
16
|
-
let n = l(24), { tokenFilter: c, forcedChainId: u, searchOnOtherChainsIfNothingFound: p, withETH: m, intent: g } = e, _ = m === void 0 ? !0 : m, y = g === void 0 ? "fetch" : g, b = f(), x =
|
|
16
|
+
let n = l(24), { tokenFilter: c, forcedChainId: u, searchOnOtherChainsIfNothingFound: p, withETH: m, intent: g } = e, _ = m === void 0 ? !0 : m, y = g === void 0 ? "fetch" : g, b = f(), x = r(u), S = i(u), C;
|
|
17
17
|
n[0] !== x || n[1] !== S || n[2] !== _ ? (C = _ ? [S].concat(x) : x, n[0] = x, n[1] = S, n[2] = _, n[3] = C) : C = n[3];
|
|
18
|
-
let w = C, T =
|
|
18
|
+
let w = C, T = o({
|
|
19
19
|
filterString: c.trim(),
|
|
20
20
|
tokenArray: w
|
|
21
21
|
}), E = d(c) && p || T.length === 0 && !!c && p, D = E ? void 0 : t, O;
|
|
@@ -47,8 +47,8 @@ var p = (e) => {
|
|
|
47
47
|
}, n[17] = M, n[18] = y, n[19] = P) : P = n[19];
|
|
48
48
|
let F = s(P), I;
|
|
49
49
|
if (n[20] !== F || n[21] !== c || n[22] !== N) {
|
|
50
|
-
let e = c.trim(), t =
|
|
51
|
-
I =
|
|
50
|
+
let e = c.trim(), t = a(e);
|
|
51
|
+
I = o({
|
|
52
52
|
filterString: e,
|
|
53
53
|
tokenArray: N
|
|
54
54
|
}).map(F).sort(t), n[20] = F, n[21] = c, n[22] = N, n[23] = I;
|
|
@@ -80,20 +80,20 @@ function h({ includeChains: t, excludeChains: r }) {
|
|
|
80
80
|
]);
|
|
81
81
|
}
|
|
82
82
|
function g(e) {
|
|
83
|
-
let t = l(13), { tokenFilter: n, fromChainId: r, toChainId:
|
|
84
|
-
t[0] !== r || t[1] !== u || t[2] !==
|
|
83
|
+
let t = l(13), { tokenFilter: n, fromChainId: r, toChainId: i, mode: u } = e, d;
|
|
84
|
+
t[0] !== r || t[1] !== u || t[2] !== i ? (d = {
|
|
85
85
|
fromChainId: r,
|
|
86
|
-
toChainId:
|
|
86
|
+
toChainId: i,
|
|
87
87
|
mode: u
|
|
88
|
-
}, t[0] = r, t[1] = u, t[2] =
|
|
88
|
+
}, t[0] = r, t[1] = u, t[2] = i, t[3] = d) : d = t[3];
|
|
89
89
|
let { crossTokens: f } = c(d), p;
|
|
90
90
|
t[4] === f ? p = t[5] : (p = f.map(_), t[4] = f, t[5] = p);
|
|
91
91
|
let m;
|
|
92
|
-
t[6] !== p || t[7] !==
|
|
92
|
+
t[6] !== p || t[7] !== i ? (m = { addressesMap: { [i]: p } }, t[6] = p, t[7] = i, t[8] = m) : m = t[8];
|
|
93
93
|
let h = s(m), g;
|
|
94
94
|
if (t[9] !== h || t[10] !== f || t[11] !== n) {
|
|
95
|
-
let e = n.trim(), r =
|
|
96
|
-
g =
|
|
95
|
+
let e = n.trim(), r = a(e);
|
|
96
|
+
g = o({
|
|
97
97
|
filterString: e,
|
|
98
98
|
tokenArray: f
|
|
99
99
|
}).map(h).sort(r), t[9] = h, t[10] = f, t[11] = n, t[12] = g;
|