@berachain/berajs 0.2.8-beta.4 → 0.2.8-beta.6
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/abi/exports.cjs +1 -4452
- package/dist/abi/exports.cjs.map +1 -1
- package/dist/abi/exports.mjs +1 -4452
- package/dist/abi/exports.mjs.map +1 -1
- package/dist/actions/exports.cjs +1 -918
- package/dist/actions/exports.cjs.map +1 -1
- package/dist/actions/exports.mjs +1 -918
- package/dist/actions/exports.mjs.map +1 -1
- package/dist/chunk-3MZ7MLKF.mjs +2 -0
- package/dist/{chunk-PBCE7JTE.mjs.map → chunk-3MZ7MLKF.mjs.map} +1 -1
- package/dist/chunk-53TSJM6P.cjs +2 -0
- package/dist/chunk-53TSJM6P.cjs.map +1 -0
- package/dist/chunk-575OK77P.mjs +2 -0
- package/dist/{chunk-GLWPRM33.mjs.map → chunk-575OK77P.mjs.map} +1 -1
- package/dist/chunk-5NDYN2IB.mjs +4 -0
- package/dist/chunk-5NDYN2IB.mjs.map +1 -0
- package/dist/chunk-5W7UKRHX.mjs +2 -0
- package/dist/{chunk-J6EHBYSV.mjs.map → chunk-5W7UKRHX.mjs.map} +1 -1
- package/dist/chunk-7EAKCNQT.cjs +2 -0
- package/dist/chunk-7EAKCNQT.cjs.map +1 -0
- package/dist/chunk-CWKDFUFR.mjs +2 -0
- package/dist/{chunk-OWUI3VPI.mjs.map → chunk-CWKDFUFR.mjs.map} +1 -1
- package/dist/chunk-DDEQFR3M.cjs +2 -0
- package/dist/chunk-DDEQFR3M.cjs.map +1 -0
- package/dist/chunk-DKY4QPWU.cjs +2 -0
- package/dist/chunk-DKY4QPWU.cjs.map +1 -0
- package/dist/chunk-DTBJO6VT.cjs +2 -0
- package/dist/chunk-DTBJO6VT.cjs.map +1 -0
- package/dist/chunk-E32UP4GV.cjs +2 -0
- package/dist/chunk-E32UP4GV.cjs.map +1 -0
- package/dist/chunk-ESAVA5OD.mjs +2 -0
- package/dist/{chunk-ALPEMPZI.mjs.map → chunk-ESAVA5OD.mjs.map} +1 -1
- package/dist/chunk-G4CNETLS.mjs +2 -0
- package/dist/{chunk-CYBZH6U3.mjs.map → chunk-G4CNETLS.mjs.map} +1 -1
- package/dist/chunk-I7M43BB4.cjs +2 -0
- package/dist/chunk-I7M43BB4.cjs.map +1 -0
- package/dist/chunk-KT6L4K4K.cjs +2 -0
- package/dist/chunk-KT6L4K4K.cjs.map +1 -0
- package/dist/chunk-MK5NS5B5.mjs +2 -0
- package/dist/{chunk-7TFV6UKF.mjs.map → chunk-MK5NS5B5.mjs.map} +1 -1
- package/dist/chunk-NAXAZJJY.mjs +2 -0
- package/dist/{chunk-ZCEFC2TK.mjs.map → chunk-NAXAZJJY.mjs.map} +1 -1
- package/dist/chunk-NLVWRMGD.mjs +2 -0
- package/dist/{chunk-GWSTVITN.mjs.map → chunk-NLVWRMGD.mjs.map} +1 -1
- package/dist/chunk-OGBD5YOG.mjs +2 -0
- package/dist/{chunk-JA4DHMTG.mjs.map → chunk-OGBD5YOG.mjs.map} +1 -1
- package/dist/chunk-OGJMSGB2.mjs +2 -0
- package/dist/{chunk-KL6YZ5VR.mjs.map → chunk-OGJMSGB2.mjs.map} +1 -1
- package/dist/chunk-OIYXOKTT.cjs +2 -0
- package/dist/chunk-OIYXOKTT.cjs.map +1 -0
- package/dist/chunk-OUD27MU7.cjs +2 -0
- package/dist/chunk-OUD27MU7.cjs.map +1 -0
- package/dist/chunk-QFLDL4UV.cjs +2 -0
- package/dist/chunk-QFLDL4UV.cjs.map +1 -0
- package/dist/chunk-RSDCKN4Q.mjs +2 -0
- package/dist/chunk-RSDCKN4Q.mjs.map +1 -0
- package/dist/chunk-RWOICHRW.cjs +2 -0
- package/dist/chunk-RWOICHRW.cjs.map +1 -0
- package/dist/chunk-S5VOCVBR.mjs +2 -0
- package/dist/{chunk-MKS6W5NI.mjs.map → chunk-S5VOCVBR.mjs.map} +1 -1
- package/dist/chunk-SSPFPAWX.mjs +2 -0
- package/dist/{chunk-WAFQFAI7.mjs.map → chunk-SSPFPAWX.mjs.map} +1 -1
- package/dist/chunk-T5FSQ3YE.mjs +2 -0
- package/dist/{chunk-WEULAXBE.mjs.map → chunk-T5FSQ3YE.mjs.map} +1 -1
- package/dist/chunk-WD4B3SXS.cjs +4 -0
- package/dist/chunk-WD4B3SXS.cjs.map +1 -0
- package/dist/chunk-WRFDB3QJ.cjs +2 -0
- package/dist/chunk-WRFDB3QJ.cjs.map +1 -0
- package/dist/chunk-XNJLSA6P.cjs +2 -0
- package/dist/chunk-XNJLSA6P.cjs.map +1 -0
- package/dist/chunk-ZYXVUXFQ.cjs +2 -0
- package/dist/chunk-ZYXVUXFQ.cjs.map +1 -0
- package/dist/contexts/exports.cjs +1 -82
- package/dist/contexts/exports.cjs.map +1 -1
- package/dist/contexts/exports.mjs +1 -82
- package/dist/contexts/exports.mjs.map +1 -1
- package/dist/enum/exports.cjs +1 -58
- package/dist/enum/exports.cjs.map +1 -1
- package/dist/enum/exports.mjs +1 -58
- package/dist/enum/exports.mjs.map +1 -1
- package/dist/errors/exports.cjs +1 -38
- package/dist/errors/exports.cjs.map +1 -1
- package/dist/errors/exports.mjs +1 -38
- package/dist/hooks/exports.cjs +3 -8327
- package/dist/hooks/exports.cjs.map +1 -1
- package/dist/hooks/exports.mjs +3 -8327
- package/dist/hooks/exports.mjs.map +1 -1
- package/dist/utils/exports.cjs +1 -786
- package/dist/utils/exports.cjs.map +1 -1
- package/dist/utils/exports.mjs +1 -786
- package/dist/utils/exports.mjs.map +1 -1
- package/package.json +4 -4
- package/src/actions/dex/aggregators/base.ts +1 -3
- package/src/actions/governance/getDecodedFunctionData.ts +4 -8
- package/src/actions/tokens/getUnderlyingToken.ts +1 -3
- package/src/errors/BeraError.ts +7 -2
- package/src/hooks/dex/usePoolHistoricalData.ts +1 -1
- package/src/hooks/enso/useBendZapSupply.ts +1 -1
- package/src/hooks/perps/usePythUpdateFee.ts +1 -1
- package/src/hooks/validators/useValidatorRewardAllocation.ts +1 -1
- package/dist/chunk-24HMIYTN.cjs +0 -36
- package/dist/chunk-24HMIYTN.cjs.map +0 -1
- package/dist/chunk-2LL77B3T.cjs +0 -135
- package/dist/chunk-2LL77B3T.cjs.map +0 -1
- package/dist/chunk-3LXVARBJ.cjs +0 -417
- package/dist/chunk-3LXVARBJ.cjs.map +0 -1
- package/dist/chunk-4HDIUUSV.cjs +0 -130
- package/dist/chunk-4HDIUUSV.cjs.map +0 -1
- package/dist/chunk-7ONKBHXY.cjs +0 -169
- package/dist/chunk-7ONKBHXY.cjs.map +0 -1
- package/dist/chunk-7TFV6UKF.mjs +0 -24
- package/dist/chunk-A4FPM7U3.cjs +0 -63
- package/dist/chunk-A4FPM7U3.cjs.map +0 -1
- package/dist/chunk-A7P3JVU7.cjs +0 -4694
- package/dist/chunk-A7P3JVU7.cjs.map +0 -1
- package/dist/chunk-ALPEMPZI.mjs +0 -417
- package/dist/chunk-BEHP54S3.cjs +0 -24
- package/dist/chunk-BEHP54S3.cjs.map +0 -1
- package/dist/chunk-CYBZH6U3.mjs +0 -135
- package/dist/chunk-EWBKSMPG.cjs +0 -13
- package/dist/chunk-EWBKSMPG.cjs.map +0 -1
- package/dist/chunk-GLWPRM33.mjs +0 -13
- package/dist/chunk-GWSTVITN.mjs +0 -572
- package/dist/chunk-H3Z37RYU.cjs +0 -15
- package/dist/chunk-H3Z37RYU.cjs.map +0 -1
- package/dist/chunk-HCC4FJTD.cjs +0 -97
- package/dist/chunk-HCC4FJTD.cjs.map +0 -1
- package/dist/chunk-J6EHBYSV.mjs +0 -97
- package/dist/chunk-JA4DHMTG.mjs +0 -15
- package/dist/chunk-KL6YZ5VR.mjs +0 -63
- package/dist/chunk-MILSHCKW.cjs +0 -168
- package/dist/chunk-MILSHCKW.cjs.map +0 -1
- package/dist/chunk-MKS6W5NI.mjs +0 -403
- package/dist/chunk-MXWPP6MS.cjs +0 -572
- package/dist/chunk-MXWPP6MS.cjs.map +0 -1
- package/dist/chunk-OWUI3VPI.mjs +0 -169
- package/dist/chunk-PBCE7JTE.mjs +0 -36
- package/dist/chunk-QISQSMCV.cjs +0 -1843
- package/dist/chunk-QISQSMCV.cjs.map +0 -1
- package/dist/chunk-SYWYIMY7.mjs +0 -4694
- package/dist/chunk-SYWYIMY7.mjs.map +0 -1
- package/dist/chunk-TDW5SPXR.cjs +0 -244
- package/dist/chunk-TDW5SPXR.cjs.map +0 -1
- package/dist/chunk-TGHG6Q3C.cjs +0 -403
- package/dist/chunk-TGHG6Q3C.cjs.map +0 -1
- package/dist/chunk-WAFQFAI7.mjs +0 -130
- package/dist/chunk-WEULAXBE.mjs +0 -168
- package/dist/chunk-ZCEFC2TK.mjs +0 -244
- package/dist/chunk-ZV7DCQQY.mjs +0 -1843
- package/dist/chunk-ZV7DCQQY.mjs.map +0 -1
package/dist/chunk-MKS6W5NI.mjs
DELETED
|
@@ -1,403 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getBalanceCall,
|
|
3
|
-
getEnsoClient
|
|
4
|
-
} from "./chunk-CYBZH6U3.mjs";
|
|
5
|
-
import {
|
|
6
|
-
BeraMonitoring,
|
|
7
|
-
initBeraError
|
|
8
|
-
} from "./chunk-OWUI3VPI.mjs";
|
|
9
|
-
import {
|
|
10
|
-
defaultFlags
|
|
11
|
-
} from "./chunk-7TFV6UKF.mjs";
|
|
12
|
-
import {
|
|
13
|
-
beraToken,
|
|
14
|
-
isToken,
|
|
15
|
-
parseBaseArgs
|
|
16
|
-
} from "./chunk-J6EHBYSV.mjs";
|
|
17
|
-
import {
|
|
18
|
-
BeraError,
|
|
19
|
-
InvalidArgumentError
|
|
20
|
-
} from "./chunk-ZV7DCQQY.mjs";
|
|
21
|
-
|
|
22
|
-
// src/contexts/BeraFlags/BeraFlags.tsx
|
|
23
|
-
import { createContext, useContext } from "react";
|
|
24
|
-
import {
|
|
25
|
-
isFlagEnabled
|
|
26
|
-
} from "@berachain/config/internal/edge-config";
|
|
27
|
-
import { jsx } from "react/jsx-runtime";
|
|
28
|
-
var BeraFlagContext = createContext(
|
|
29
|
-
void 0
|
|
30
|
-
);
|
|
31
|
-
function BeraFlagsProvider({
|
|
32
|
-
children,
|
|
33
|
-
flags,
|
|
34
|
-
aggregators,
|
|
35
|
-
swberaAprWindow = "DAY"
|
|
36
|
-
}) {
|
|
37
|
-
return /* @__PURE__ */ jsx(
|
|
38
|
-
BeraFlagContext.Provider,
|
|
39
|
-
{
|
|
40
|
-
value: {
|
|
41
|
-
...defaultFlags,
|
|
42
|
-
...flags,
|
|
43
|
-
aggregators: aggregators ? Object.entries(aggregators).filter(([, value]) => isFlagEnabled(value)).map(([key]) => key) : void 0,
|
|
44
|
-
swberaAprWindow
|
|
45
|
-
},
|
|
46
|
-
children
|
|
47
|
-
}
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
function useBeraFlags() {
|
|
51
|
-
const context = useContext(BeraFlagContext);
|
|
52
|
-
if (!context) {
|
|
53
|
-
throw new Error("BeraFlagsProvider not found");
|
|
54
|
-
}
|
|
55
|
-
return context;
|
|
56
|
-
}
|
|
57
|
-
function useBeraFlag(key) {
|
|
58
|
-
const flags = useBeraFlags();
|
|
59
|
-
return flags[key];
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// src/contexts/BexStatusProvider.tsx
|
|
63
|
-
import {
|
|
64
|
-
createContext as createContext2,
|
|
65
|
-
useContext as useContext2,
|
|
66
|
-
useState
|
|
67
|
-
} from "react";
|
|
68
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
69
|
-
var BexStateContext = createContext2({
|
|
70
|
-
protocol: {
|
|
71
|
-
isPaused: false,
|
|
72
|
-
factories: {
|
|
73
|
-
composableStable: "enabled",
|
|
74
|
-
weighted: "enabled",
|
|
75
|
-
allPaused: false
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
onPoolChange: () => {
|
|
79
|
-
},
|
|
80
|
-
pool: void 0
|
|
81
|
-
});
|
|
82
|
-
function useBexStatus() {
|
|
83
|
-
const context = useContext2(BexStateContext);
|
|
84
|
-
if (!context) {
|
|
85
|
-
throw new BeraError({
|
|
86
|
-
level: "fatal",
|
|
87
|
-
message: "BexStateContext is not defined"
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
return context;
|
|
91
|
-
}
|
|
92
|
-
function BexStatusProvider({
|
|
93
|
-
children,
|
|
94
|
-
isVaultPaused,
|
|
95
|
-
labels,
|
|
96
|
-
factories
|
|
97
|
-
}) {
|
|
98
|
-
const [poolState, setPoolState] = useState();
|
|
99
|
-
const disablePoolWithdrawals = (poolState?.isPaused && !poolState?.isInRecoveryMode) ?? false;
|
|
100
|
-
const disablePoolDeposits = isVaultPaused || poolState?.isPaused;
|
|
101
|
-
return /* @__PURE__ */ jsx2(
|
|
102
|
-
BexStateContext.Provider,
|
|
103
|
-
{
|
|
104
|
-
value: {
|
|
105
|
-
protocol: {
|
|
106
|
-
isPaused: isVaultPaused,
|
|
107
|
-
factories: {
|
|
108
|
-
...factories,
|
|
109
|
-
allPaused: factories.composableStable === "paused" && factories.weighted === "paused"
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
labels,
|
|
113
|
-
onPoolChange: setPoolState,
|
|
114
|
-
pool: poolState ? {
|
|
115
|
-
...poolState,
|
|
116
|
-
disablePoolWithdrawals: !!disablePoolWithdrawals,
|
|
117
|
-
disablePoolDeposits: !!disablePoolDeposits
|
|
118
|
-
} : void 0
|
|
119
|
-
},
|
|
120
|
-
children
|
|
121
|
-
}
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// src/contexts/block-time-provider.tsx
|
|
126
|
-
import { createContext as createContext3, useContext as useContext3 } from "react";
|
|
127
|
-
import { mainnet } from "@berachain/config/mainnet";
|
|
128
|
-
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
129
|
-
function useBlockTime() {
|
|
130
|
-
return useContext3(BlockTimeContext);
|
|
131
|
-
}
|
|
132
|
-
var BlockTimeContext = createContext3(
|
|
133
|
-
// this is the default block time for berachain, but actually overridden by the block time provider
|
|
134
|
-
mainnet.averageBlockTime
|
|
135
|
-
);
|
|
136
|
-
function BlockTimeProvider({
|
|
137
|
-
children,
|
|
138
|
-
blockTime,
|
|
139
|
-
...args
|
|
140
|
-
}) {
|
|
141
|
-
const { config } = parseBaseArgs(args);
|
|
142
|
-
return /* @__PURE__ */ jsx3(BlockTimeContext.Provider, { value: blockTime ?? config.averageBlockTime, children });
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// src/contexts/HoneyConfigProvider.tsx
|
|
146
|
-
import { createContext as createContext4, useContext as useContext4 } from "react";
|
|
147
|
-
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
148
|
-
var HoneyConfigContext = createContext4(void 0);
|
|
149
|
-
function HoneyConfigProvider({
|
|
150
|
-
children,
|
|
151
|
-
...props
|
|
152
|
-
}) {
|
|
153
|
-
return /* @__PURE__ */ jsx4(HoneyConfigContext.Provider, { value: props, children });
|
|
154
|
-
}
|
|
155
|
-
function useHoneyConfig() {
|
|
156
|
-
const context = useContext4(HoneyConfigContext);
|
|
157
|
-
if (!context) {
|
|
158
|
-
throw new Error("useHoneyConfig must be used within a HoneyConfigProvider");
|
|
159
|
-
}
|
|
160
|
-
return context;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// src/hooks/enso/useEnsoUserTokensWithBalances.ts
|
|
164
|
-
import useSWR from "swr";
|
|
165
|
-
import { useBeraWallet, useConfig } from "@berachain/wagmi/hooks";
|
|
166
|
-
|
|
167
|
-
// src/actions/enso/getEnsoUserTokensWithBalances.ts
|
|
168
|
-
import { getChains, multicall } from "@wagmi/core";
|
|
169
|
-
import { formatUnits } from "viem";
|
|
170
|
-
async function getEnsoUserTokensWithBalances({
|
|
171
|
-
account,
|
|
172
|
-
wagmiConfig,
|
|
173
|
-
chainId,
|
|
174
|
-
ensoClient
|
|
175
|
-
}) {
|
|
176
|
-
const ensoBalances = await ensoClient.getBalances({
|
|
177
|
-
useEoa: true,
|
|
178
|
-
chainId: chainId ?? "all",
|
|
179
|
-
eoaAddress: account
|
|
180
|
-
});
|
|
181
|
-
const tokens = ensoBalances.map(
|
|
182
|
-
(balance) => ({
|
|
183
|
-
name: balance.name,
|
|
184
|
-
symbol: balance.symbol,
|
|
185
|
-
decimals: balance.decimals,
|
|
186
|
-
address: isToken(balance.token, "ETH") ? beraToken.address : balance.token,
|
|
187
|
-
logoURI: balance.logoUri,
|
|
188
|
-
balance: {
|
|
189
|
-
raw: balance.amount.toString(),
|
|
190
|
-
formatted: formatUnits(BigInt(balance.amount), balance.decimals)
|
|
191
|
-
},
|
|
192
|
-
chainId: Number(
|
|
193
|
-
// @ts-expect-error - balance.chainId is defined just not typed by enso
|
|
194
|
-
balance.chainId
|
|
195
|
-
),
|
|
196
|
-
price: Number(balance.price)
|
|
197
|
-
})
|
|
198
|
-
);
|
|
199
|
-
const tokenByChainId = Object.groupBy(tokens, (a) => a.chainId ?? 0);
|
|
200
|
-
const balances = await Promise.allSettled(
|
|
201
|
-
Object.entries(tokenByChainId).map(async ([chainId2, chainTokens]) => {
|
|
202
|
-
if (!chainTokens) return void 0;
|
|
203
|
-
const chainConfig = getChains(wagmiConfig).find(
|
|
204
|
-
(chain) => chain.id === Number(chainId2)
|
|
205
|
-
);
|
|
206
|
-
if (!chainConfig) {
|
|
207
|
-
return void 0;
|
|
208
|
-
}
|
|
209
|
-
const multicall3 = chainConfig.contracts?.multicall3;
|
|
210
|
-
const multicallAddress = multicall3?.address;
|
|
211
|
-
if (!multicallAddress) {
|
|
212
|
-
BeraMonitoring.captureException(
|
|
213
|
-
new InvalidArgumentError({
|
|
214
|
-
property: "multicallAddress",
|
|
215
|
-
value: multicallAddress,
|
|
216
|
-
expected: "Address",
|
|
217
|
-
chainId: Number(chainId2)
|
|
218
|
-
})
|
|
219
|
-
);
|
|
220
|
-
return chainTokens;
|
|
221
|
-
}
|
|
222
|
-
const balances2 = await multicall(wagmiConfig, {
|
|
223
|
-
chainId: Number(chainId2),
|
|
224
|
-
contracts: chainTokens.map(
|
|
225
|
-
(token) => getBalanceCall({
|
|
226
|
-
token,
|
|
227
|
-
account,
|
|
228
|
-
multicallAddress
|
|
229
|
-
})
|
|
230
|
-
),
|
|
231
|
-
allowFailure: true
|
|
232
|
-
});
|
|
233
|
-
const tokensWithBalances = [];
|
|
234
|
-
for (let index = 0; index < chainTokens.length; index++) {
|
|
235
|
-
const token = chainTokens[index];
|
|
236
|
-
if (balances2[index].status === "success") {
|
|
237
|
-
const balance = balances2[index].result;
|
|
238
|
-
tokensWithBalances.push({
|
|
239
|
-
...token,
|
|
240
|
-
balance: {
|
|
241
|
-
raw: balance?.toString() ?? "0",
|
|
242
|
-
formatted: formatUnits(balance ?? 0n, token.decimals)
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
} else {
|
|
246
|
-
console.error("error getting balance", balances2[index].error);
|
|
247
|
-
BeraMonitoring.captureException(
|
|
248
|
-
initBeraError({ cause: balances2[index].error })
|
|
249
|
-
);
|
|
250
|
-
tokensWithBalances.push(token);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
return tokensWithBalances;
|
|
254
|
-
})
|
|
255
|
-
);
|
|
256
|
-
const flattenedBalances = [];
|
|
257
|
-
for (const result of balances) {
|
|
258
|
-
if (result.status === "fulfilled") {
|
|
259
|
-
flattenedBalances.push(...result.value ?? []);
|
|
260
|
-
} else {
|
|
261
|
-
BeraMonitoring.captureException(initBeraError({ cause: result.reason }));
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
return flattenedBalances.sort((a, b) => {
|
|
265
|
-
const aValue = Number(a.balance.formatted) * (a.price ?? 0);
|
|
266
|
-
const bValue = Number(b.balance.formatted) * (b.price ?? 0);
|
|
267
|
-
return bValue - aValue;
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
// src/hooks/enso/useEnsoUserTokensWithBalances.ts
|
|
272
|
-
function useEnsoUserTokensWithBalances({ chainId } = {}, options) {
|
|
273
|
-
const { address: fromAddress } = useBeraWallet();
|
|
274
|
-
const wagmiConfig = useConfig();
|
|
275
|
-
const isEnabled = !!fromAddress && (options?.opts?.isEnabled ?? true);
|
|
276
|
-
const QUERY_KEY = isEnabled && wagmiConfig ? ["useEnsoUserTokensWithBalances", fromAddress, chainId] : null;
|
|
277
|
-
const swrResponse = useSWR(
|
|
278
|
-
QUERY_KEY,
|
|
279
|
-
async ([, fromAddress2, chainId2]) => getEnsoUserTokensWithBalances({
|
|
280
|
-
account: fromAddress2,
|
|
281
|
-
wagmiConfig,
|
|
282
|
-
chainId: chainId2 ?? "all",
|
|
283
|
-
ensoClient: getEnsoClient()
|
|
284
|
-
}),
|
|
285
|
-
{
|
|
286
|
-
refreshInterval: 1e5 /* NORMAL */,
|
|
287
|
-
isEnabled,
|
|
288
|
-
...options?.opts
|
|
289
|
-
}
|
|
290
|
-
);
|
|
291
|
-
return {
|
|
292
|
-
...swrResponse,
|
|
293
|
-
refresh: () => swrResponse.mutate()
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
// src/contexts/TokensProvider.tsx
|
|
298
|
-
import { createContext as createContext5, useMemo } from "react";
|
|
299
|
-
import {
|
|
300
|
-
isFlagEnabled as isFlagEnabled2
|
|
301
|
-
} from "@berachain/config/internal/edge-config";
|
|
302
|
-
|
|
303
|
-
// src/utils/formatTokenList.ts
|
|
304
|
-
function formatTokenList({
|
|
305
|
-
defaultTokenList = [],
|
|
306
|
-
externalList = []
|
|
307
|
-
}) {
|
|
308
|
-
if (defaultTokenList.length === 0) {
|
|
309
|
-
return {
|
|
310
|
-
tokenList: externalList,
|
|
311
|
-
customTokenList: externalList,
|
|
312
|
-
featuredTokenList: []
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
const defaultList = defaultTokenList.map((token) => {
|
|
316
|
-
return { ...token, default: true };
|
|
317
|
-
});
|
|
318
|
-
const featuredTokenList = defaultList.filter((token) => {
|
|
319
|
-
return token.tags?.some((tag) => tag === "featured");
|
|
320
|
-
});
|
|
321
|
-
const mergedList = [...defaultList, ...externalList];
|
|
322
|
-
const uniqueList = mergedList.filter(
|
|
323
|
-
(item, index) => mergedList.findIndex((i) => isToken(i, item)) === index
|
|
324
|
-
);
|
|
325
|
-
return {
|
|
326
|
-
tokenList: uniqueList,
|
|
327
|
-
customTokenList: externalList,
|
|
328
|
-
featuredTokenList
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
// src/contexts/TokensProvider.tsx
|
|
333
|
-
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
334
|
-
var TokenContext = createContext5(
|
|
335
|
-
void 0
|
|
336
|
-
);
|
|
337
|
-
function TokensProvider({
|
|
338
|
-
children,
|
|
339
|
-
defaultTokens,
|
|
340
|
-
edgeConfigTokenList,
|
|
341
|
-
userTokens,
|
|
342
|
-
onAddToken,
|
|
343
|
-
onRemoveToken
|
|
344
|
-
}) {
|
|
345
|
-
const { data: ensoTokens, refresh } = useEnsoUserTokensWithBalances();
|
|
346
|
-
const { tokenList = [], featuredTokenList = [] } = useMemo(
|
|
347
|
-
() => formatTokenList({
|
|
348
|
-
defaultTokenList: [
|
|
349
|
-
...defaultTokens,
|
|
350
|
-
...edgeConfigTokenList?.filter(
|
|
351
|
-
(token) => isFlagEnabled2(token.enabled)
|
|
352
|
-
)
|
|
353
|
-
],
|
|
354
|
-
externalList: [
|
|
355
|
-
...userTokens,
|
|
356
|
-
...(ensoTokens ?? []).map((t) => ({
|
|
357
|
-
...t,
|
|
358
|
-
balance: void 0,
|
|
359
|
-
price: void 0
|
|
360
|
-
}))
|
|
361
|
-
]
|
|
362
|
-
}),
|
|
363
|
-
[defaultTokens, userTokens, edgeConfigTokenList, ensoTokens]
|
|
364
|
-
);
|
|
365
|
-
return /* @__PURE__ */ jsx5(
|
|
366
|
-
TokenContext.Provider,
|
|
367
|
-
{
|
|
368
|
-
value: {
|
|
369
|
-
tokenList,
|
|
370
|
-
userTokens,
|
|
371
|
-
featuredTokens: featuredTokenList,
|
|
372
|
-
ensoTokens,
|
|
373
|
-
onAddToken(tk) {
|
|
374
|
-
onAddToken(tk, { defaultTokens, userTokens, tokenList });
|
|
375
|
-
},
|
|
376
|
-
onRemoveToken,
|
|
377
|
-
refresh: () => {
|
|
378
|
-
refresh();
|
|
379
|
-
}
|
|
380
|
-
},
|
|
381
|
-
children
|
|
382
|
-
}
|
|
383
|
-
);
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
export {
|
|
387
|
-
BeraFlagsProvider,
|
|
388
|
-
useBeraFlags,
|
|
389
|
-
useBeraFlag,
|
|
390
|
-
BexStateContext,
|
|
391
|
-
useBexStatus,
|
|
392
|
-
BexStatusProvider,
|
|
393
|
-
useBlockTime,
|
|
394
|
-
BlockTimeContext,
|
|
395
|
-
BlockTimeProvider,
|
|
396
|
-
HoneyConfigContext,
|
|
397
|
-
HoneyConfigProvider,
|
|
398
|
-
useHoneyConfig,
|
|
399
|
-
useEnsoUserTokensWithBalances,
|
|
400
|
-
TokenContext,
|
|
401
|
-
TokensProvider
|
|
402
|
-
};
|
|
403
|
-
//# sourceMappingURL=chunk-MKS6W5NI.mjs.map
|