@rozoai/intent-common 0.1.2 → 0.1.4
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/package.json +5 -1
- package/src/api/base.ts +0 -261
- package/src/api/fee.ts +0 -95
- package/src/api/payment.ts +0 -483
- package/src/assert.ts +0 -29
- package/src/bridge-utils.ts +0 -382
- package/src/chain.ts +0 -257
- package/src/debug.ts +0 -14
- package/src/format.ts +0 -65
- package/src/index.ts +0 -14
- package/src/primitiveTypes.ts +0 -29
- package/src/retryBackoff.ts +0 -30
- package/src/rozoPay.ts +0 -638
- package/src/token.ts +0 -1226
- package/src/try.ts +0 -25
- package/src/validation.ts +0 -54
- package/test/bridge.test.ts +0 -396
- package/tsconfig.json +0 -12
package/src/token.ts
DELETED
|
@@ -1,1226 +0,0 @@
|
|
|
1
|
-
import { getAddress, zeroAddress } from "viem";
|
|
2
|
-
import { assertNotNull } from "./assert";
|
|
3
|
-
import {
|
|
4
|
-
arbitrum,
|
|
5
|
-
avalanche,
|
|
6
|
-
base,
|
|
7
|
-
bsc,
|
|
8
|
-
celo,
|
|
9
|
-
ethereum,
|
|
10
|
-
gnosis,
|
|
11
|
-
linea,
|
|
12
|
-
mantle,
|
|
13
|
-
optimism,
|
|
14
|
-
polygon,
|
|
15
|
-
rozoSolana,
|
|
16
|
-
rozoStellar,
|
|
17
|
-
solana,
|
|
18
|
-
stellar,
|
|
19
|
-
worldchain,
|
|
20
|
-
} from "./chain";
|
|
21
|
-
|
|
22
|
-
export type Token = {
|
|
23
|
-
/** Chain ID, eg 10 for OP Mainnet */
|
|
24
|
-
chainId: number;
|
|
25
|
-
/** Ethereum (capitalized) or Solana token address */
|
|
26
|
-
token: `0x${string}` | string;
|
|
27
|
-
/** Name, eg "Wrapped Bitcoin" */
|
|
28
|
-
name?: string;
|
|
29
|
-
/** Symbol, eg "WBTC" */
|
|
30
|
-
symbol: string;
|
|
31
|
-
/** Token decimals, eg 8 for WBTC */
|
|
32
|
-
decimals: number;
|
|
33
|
-
/** Fiat ISO code for stablecoins, eg "USD" or "EUR" */
|
|
34
|
-
fiatISO?: string;
|
|
35
|
-
/** Logo preview data URI. Generally SVG or 64x64 PNG. */
|
|
36
|
-
logoURI: TokenLogo | string;
|
|
37
|
-
/** Original source image URL. */
|
|
38
|
-
logoSourceURI: string;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export enum TokenLogo {
|
|
42
|
-
ETH = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/5dbadc94-b4be-4961-0b5b-8407f885db00/public",
|
|
43
|
-
WETH = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/5e0f069f-e47a-46f0-5042-6d872d935300/public",
|
|
44
|
-
USDC = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/250ccc85-8bf6-4cad-42c0-403650aa4700/public",
|
|
45
|
-
EURC = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/6fbcf6f3-a29a-4f2a-a566-667652bd7f00/public",
|
|
46
|
-
USDT = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/32131068-26e3-47a3-470c-f391a451ec00/public",
|
|
47
|
-
DAI = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/ed5ba925-2588-486c-2b91-3e66ef724800/public",
|
|
48
|
-
POL = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/f965214c-35f6-40a5-5553-87a44aaf9300/public",
|
|
49
|
-
AVAX = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/50978549-46f4-43b8-47c3-ab7264579600/public",
|
|
50
|
-
BNB = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/70986f2b-0f89-4dc3-21a2-7c2056b3a400/public",
|
|
51
|
-
SOL = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/b07d287f-1536-4022-d81d-3a10e482cf00/public",
|
|
52
|
-
WLD = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/25a585d1-2519-47da-5356-ccb511d4aa00/public",
|
|
53
|
-
USDB = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/78d0c585-5051-40ea-cd5b-00f7bc7faa00/public",
|
|
54
|
-
BLAST = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/d2dd02fc-f076-4c82-54c8-5fdaa80d1a00/public",
|
|
55
|
-
WBTC = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/94dbd640-da09-4c0f-202a-f385b9b3b000/public",
|
|
56
|
-
MNT = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/f8220c1e-1d5b-48e0-ad01-b774bf930d00/public",
|
|
57
|
-
CELO = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/e0d3171b-9f48-4db0-a324-88a82e4dfc00/public",
|
|
58
|
-
cUSD = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/55fba2cb-ba84-4d6e-2bc7-8f0122412100/public",
|
|
59
|
-
XLM = "https://imagedelivery.net/AKLvTMvIg6yc9W08fHl1Tg/839e9764-9a82-4ffc-cadb-a0968a451100/public",
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/* --------------------- Tokens Constants --------------------- */
|
|
63
|
-
|
|
64
|
-
//
|
|
65
|
-
// Arbitrum
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
export const arbitrumETH = nativeETH(arbitrum.chainId);
|
|
69
|
-
|
|
70
|
-
export const arbitrumWETH: Token = token({
|
|
71
|
-
chainId: arbitrum.chainId,
|
|
72
|
-
token: getAddress("0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"),
|
|
73
|
-
decimals: 18,
|
|
74
|
-
name: "Wrapped Ether",
|
|
75
|
-
symbol: "WETH",
|
|
76
|
-
logoURI: TokenLogo.WETH,
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
export const arbitrumUSDC: Token = token({
|
|
80
|
-
chainId: arbitrum.chainId,
|
|
81
|
-
token: getAddress("0xaf88d065e77c8cC2239327C5EDb3A432268e5831"),
|
|
82
|
-
name: "USD Coin",
|
|
83
|
-
symbol: "USDC",
|
|
84
|
-
fiatISO: "USD",
|
|
85
|
-
decimals: 6,
|
|
86
|
-
logoURI: TokenLogo.USDC,
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
export const arbitrumAxlUSDC: Token = token({
|
|
90
|
-
chainId: arbitrum.chainId,
|
|
91
|
-
token: getAddress("0xEB466342C4d449BC9f53A865D5Cb90586f405215"),
|
|
92
|
-
decimals: 6,
|
|
93
|
-
fiatISO: "USD",
|
|
94
|
-
name: "Axelar Wrapped USDC",
|
|
95
|
-
symbol: "axlUSDC",
|
|
96
|
-
logoURI: TokenLogo.USDC,
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
export const arbitrumDAI: Token = token({
|
|
100
|
-
chainId: arbitrum.chainId,
|
|
101
|
-
token: getAddress("0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1"),
|
|
102
|
-
decimals: 18,
|
|
103
|
-
fiatISO: "USD",
|
|
104
|
-
name: "Dai Stablecoin",
|
|
105
|
-
symbol: "DAI",
|
|
106
|
-
logoURI: TokenLogo.DAI,
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
export const arbitrumUSDT: Token = token({
|
|
110
|
-
chainId: arbitrum.chainId,
|
|
111
|
-
token: getAddress("0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"),
|
|
112
|
-
decimals: 6,
|
|
113
|
-
fiatISO: "USD",
|
|
114
|
-
name: "Tether USD",
|
|
115
|
-
symbol: "USDT",
|
|
116
|
-
logoURI: TokenLogo.USDT,
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
export const arbitrumUSDCe: Token = token({
|
|
120
|
-
chainId: arbitrum.chainId,
|
|
121
|
-
token: getAddress("0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8"),
|
|
122
|
-
decimals: 6,
|
|
123
|
-
fiatISO: "USD",
|
|
124
|
-
name: "Bridged USD Coin",
|
|
125
|
-
symbol: "USDCe",
|
|
126
|
-
logoURI: TokenLogo.USDC,
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
const arbitrumTokens: Token[] = [
|
|
130
|
-
arbitrumETH,
|
|
131
|
-
arbitrumWETH,
|
|
132
|
-
arbitrumUSDC,
|
|
133
|
-
arbitrumAxlUSDC,
|
|
134
|
-
arbitrumDAI,
|
|
135
|
-
arbitrumUSDT,
|
|
136
|
-
arbitrumUSDCe,
|
|
137
|
-
];
|
|
138
|
-
|
|
139
|
-
//
|
|
140
|
-
// Base Mainnet
|
|
141
|
-
//
|
|
142
|
-
|
|
143
|
-
export const baseETH = nativeETH(base.chainId);
|
|
144
|
-
|
|
145
|
-
export const baseWETH: Token = token({
|
|
146
|
-
chainId: base.chainId,
|
|
147
|
-
token: getAddress("0x4200000000000000000000000000000000000006"),
|
|
148
|
-
decimals: 18,
|
|
149
|
-
name: "Wrapped Ether",
|
|
150
|
-
symbol: "WETH",
|
|
151
|
-
logoURI: TokenLogo.WETH,
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
export const baseUSDC: Token = token({
|
|
155
|
-
chainId: base.chainId,
|
|
156
|
-
token: getAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"),
|
|
157
|
-
name: "USD Coin",
|
|
158
|
-
symbol: "USDC",
|
|
159
|
-
fiatISO: "USD",
|
|
160
|
-
decimals: 6,
|
|
161
|
-
logoURI: TokenLogo.USDC,
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
export const baseEURC: Token = token({
|
|
165
|
-
chainId: base.chainId,
|
|
166
|
-
token: getAddress("0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42"),
|
|
167
|
-
decimals: 6,
|
|
168
|
-
fiatISO: "EUR",
|
|
169
|
-
name: "EURC",
|
|
170
|
-
symbol: "EURC",
|
|
171
|
-
logoURI: TokenLogo.EURC,
|
|
172
|
-
});
|
|
173
|
-
|
|
174
|
-
export const baseUSDbC: Token = token({
|
|
175
|
-
chainId: base.chainId,
|
|
176
|
-
token: getAddress("0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA"),
|
|
177
|
-
name: "Bridged USD Coin", // USDbC has a bad name & logo on CoinGecko
|
|
178
|
-
symbol: "USDbC",
|
|
179
|
-
fiatISO: "USD",
|
|
180
|
-
decimals: 6,
|
|
181
|
-
logoURI: "https://pay.daimo.com/coin-logos/usdbc.png",
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
export const baseDAI: Token = token({
|
|
185
|
-
chainId: base.chainId,
|
|
186
|
-
token: getAddress("0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb"),
|
|
187
|
-
name: "Dai Stablecoin",
|
|
188
|
-
symbol: "DAI",
|
|
189
|
-
fiatISO: "USD",
|
|
190
|
-
decimals: 18,
|
|
191
|
-
logoURI: TokenLogo.DAI,
|
|
192
|
-
});
|
|
193
|
-
|
|
194
|
-
export const baseUSDT: Token = token({
|
|
195
|
-
chainId: base.chainId,
|
|
196
|
-
token: getAddress("0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"),
|
|
197
|
-
name: "Tether USD",
|
|
198
|
-
symbol: "USDT",
|
|
199
|
-
fiatISO: "USD",
|
|
200
|
-
decimals: 6,
|
|
201
|
-
logoURI: TokenLogo.USDT,
|
|
202
|
-
});
|
|
203
|
-
|
|
204
|
-
export const baseAxlUSDC: Token = token({
|
|
205
|
-
chainId: base.chainId,
|
|
206
|
-
token: getAddress("0xEB466342C4d449BC9f53A865D5Cb90586f405215"),
|
|
207
|
-
decimals: 6,
|
|
208
|
-
fiatISO: "USD",
|
|
209
|
-
name: "Axelar Wrapped USDC",
|
|
210
|
-
symbol: "axlUSDC",
|
|
211
|
-
logoURI: TokenLogo.USDC,
|
|
212
|
-
});
|
|
213
|
-
|
|
214
|
-
const baseTokens: Token[] = [
|
|
215
|
-
baseETH,
|
|
216
|
-
baseWETH,
|
|
217
|
-
baseUSDC,
|
|
218
|
-
baseEURC,
|
|
219
|
-
baseUSDbC,
|
|
220
|
-
baseDAI,
|
|
221
|
-
baseUSDT,
|
|
222
|
-
baseAxlUSDC,
|
|
223
|
-
];
|
|
224
|
-
|
|
225
|
-
//
|
|
226
|
-
// BNB Smart Chain
|
|
227
|
-
//
|
|
228
|
-
|
|
229
|
-
export const bscBNB = nativeToken({
|
|
230
|
-
chainId: bsc.chainId,
|
|
231
|
-
name: "BNB",
|
|
232
|
-
symbol: "BNB",
|
|
233
|
-
logoURI: TokenLogo.BNB,
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
export const bscWBNB: Token = token({
|
|
237
|
-
chainId: bsc.chainId,
|
|
238
|
-
token: getAddress("0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"),
|
|
239
|
-
decimals: 18,
|
|
240
|
-
name: "Wrapped BNB",
|
|
241
|
-
symbol: "WBNB",
|
|
242
|
-
logoURI: TokenLogo.BNB,
|
|
243
|
-
});
|
|
244
|
-
|
|
245
|
-
export const bscAxlUSDC: Token = token({
|
|
246
|
-
chainId: bsc.chainId,
|
|
247
|
-
token: getAddress("0x4268B8F0B87b6Eae5d897996E6b845ddbD99Adf3"),
|
|
248
|
-
decimals: 6,
|
|
249
|
-
fiatISO: "USD",
|
|
250
|
-
name: "Axelar Wrapped USDC",
|
|
251
|
-
symbol: "axlUSDC",
|
|
252
|
-
logoURI: TokenLogo.USDC,
|
|
253
|
-
});
|
|
254
|
-
|
|
255
|
-
export const bscUSDC: Token = token({
|
|
256
|
-
chainId: bsc.chainId,
|
|
257
|
-
token: getAddress("0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d"),
|
|
258
|
-
decimals: 18,
|
|
259
|
-
fiatISO: "USD",
|
|
260
|
-
name: "USD Coin",
|
|
261
|
-
symbol: "USDC",
|
|
262
|
-
logoURI: TokenLogo.USDC,
|
|
263
|
-
});
|
|
264
|
-
|
|
265
|
-
export const bscUSDT: Token = token({
|
|
266
|
-
chainId: bsc.chainId,
|
|
267
|
-
token: getAddress("0x55d398326f99059fF775485246999027B3197955"),
|
|
268
|
-
decimals: 18,
|
|
269
|
-
fiatISO: "USD",
|
|
270
|
-
name: "Tether USD",
|
|
271
|
-
symbol: "USDT",
|
|
272
|
-
logoURI: TokenLogo.USDT,
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
const bscTokens: Token[] = [bscBNB, bscWBNB, bscAxlUSDC, bscUSDC, bscUSDT];
|
|
276
|
-
|
|
277
|
-
//
|
|
278
|
-
// Celo
|
|
279
|
-
//
|
|
280
|
-
|
|
281
|
-
// CELO functions as both a native token and an ERC-20 compatible token
|
|
282
|
-
export const celoCelo: Token = token({
|
|
283
|
-
chainId: celo.chainId,
|
|
284
|
-
token: getAddress("0x471EcE3750Da237f93B8E339c536989b8978a438"),
|
|
285
|
-
decimals: 18,
|
|
286
|
-
name: "Celo",
|
|
287
|
-
symbol: "CELO",
|
|
288
|
-
logoURI: TokenLogo.CELO,
|
|
289
|
-
});
|
|
290
|
-
|
|
291
|
-
export const celoAxlUSDC: Token = token({
|
|
292
|
-
chainId: celo.chainId,
|
|
293
|
-
token: getAddress("0xEB466342C4d449BC9f53A865D5Cb90586f405215"),
|
|
294
|
-
decimals: 6,
|
|
295
|
-
fiatISO: "USD",
|
|
296
|
-
name: "Axelar Wrapped USDC",
|
|
297
|
-
symbol: "axlUSDC",
|
|
298
|
-
logoURI: TokenLogo.USDC,
|
|
299
|
-
});
|
|
300
|
-
|
|
301
|
-
export const celoUSDC: Token = token({
|
|
302
|
-
chainId: celo.chainId,
|
|
303
|
-
token: getAddress("0xcebA9300f2b948710d2653dD7B07f33A8B32118C"),
|
|
304
|
-
decimals: 6,
|
|
305
|
-
fiatISO: "USD",
|
|
306
|
-
name: "USD Coin",
|
|
307
|
-
symbol: "USDC",
|
|
308
|
-
logoURI: TokenLogo.USDC,
|
|
309
|
-
});
|
|
310
|
-
|
|
311
|
-
export const celoUSDT: Token = token({
|
|
312
|
-
chainId: celo.chainId,
|
|
313
|
-
token: getAddress("0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e"),
|
|
314
|
-
decimals: 6,
|
|
315
|
-
fiatISO: "USD",
|
|
316
|
-
name: "Tether USD",
|
|
317
|
-
symbol: "USDT",
|
|
318
|
-
logoURI: TokenLogo.USDT,
|
|
319
|
-
});
|
|
320
|
-
|
|
321
|
-
export const celoCUSD: Token = token({
|
|
322
|
-
chainId: celo.chainId,
|
|
323
|
-
token: getAddress("0x765DE816845861e75A25fCA122bb6898B8B1282a"),
|
|
324
|
-
decimals: 18,
|
|
325
|
-
fiatISO: "USD",
|
|
326
|
-
name: "Celo Dollar",
|
|
327
|
-
symbol: "cUSD",
|
|
328
|
-
logoURI: TokenLogo.cUSD,
|
|
329
|
-
});
|
|
330
|
-
|
|
331
|
-
const celoTokens: Token[] = [
|
|
332
|
-
celoCelo,
|
|
333
|
-
celoAxlUSDC,
|
|
334
|
-
celoUSDC,
|
|
335
|
-
celoUSDT,
|
|
336
|
-
celoCUSD,
|
|
337
|
-
];
|
|
338
|
-
|
|
339
|
-
//
|
|
340
|
-
// Ethereum
|
|
341
|
-
//
|
|
342
|
-
|
|
343
|
-
export const ethereumETH = nativeETH(ethereum.chainId);
|
|
344
|
-
|
|
345
|
-
export const ethereumWETH: Token = token({
|
|
346
|
-
chainId: ethereum.chainId,
|
|
347
|
-
token: getAddress("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),
|
|
348
|
-
decimals: 18,
|
|
349
|
-
name: "Wrapped Ether",
|
|
350
|
-
symbol: "WETH",
|
|
351
|
-
logoURI: TokenLogo.WETH,
|
|
352
|
-
});
|
|
353
|
-
|
|
354
|
-
export const ethereumUSDC: Token = token({
|
|
355
|
-
chainId: ethereum.chainId,
|
|
356
|
-
token: getAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
|
|
357
|
-
decimals: 6,
|
|
358
|
-
fiatISO: "USD",
|
|
359
|
-
name: "USD Coin",
|
|
360
|
-
symbol: "USDC",
|
|
361
|
-
logoURI: TokenLogo.USDC,
|
|
362
|
-
});
|
|
363
|
-
|
|
364
|
-
export const ethereumDAI: Token = token({
|
|
365
|
-
chainId: ethereum.chainId,
|
|
366
|
-
token: getAddress("0x6B175474E89094C44Da98b954EedeAC495271d0F"),
|
|
367
|
-
decimals: 18,
|
|
368
|
-
fiatISO: "USD",
|
|
369
|
-
name: "Dai Stablecoin",
|
|
370
|
-
symbol: "DAI",
|
|
371
|
-
logoURI: TokenLogo.DAI,
|
|
372
|
-
});
|
|
373
|
-
|
|
374
|
-
export const ethereumUSDT: Token = token({
|
|
375
|
-
chainId: ethereum.chainId,
|
|
376
|
-
token: getAddress("0xdAC17F958D2ee523a2206206994597C13D831ec7"),
|
|
377
|
-
decimals: 6,
|
|
378
|
-
fiatISO: "USD",
|
|
379
|
-
name: "Tether USD",
|
|
380
|
-
symbol: "USDT",
|
|
381
|
-
logoURI: TokenLogo.USDT,
|
|
382
|
-
});
|
|
383
|
-
|
|
384
|
-
export const ethereumEURC: Token = token({
|
|
385
|
-
chainId: ethereum.chainId,
|
|
386
|
-
token: getAddress("0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c"),
|
|
387
|
-
decimals: 6,
|
|
388
|
-
fiatISO: "EUR",
|
|
389
|
-
name: "EURC",
|
|
390
|
-
symbol: "EURC",
|
|
391
|
-
logoURI: TokenLogo.EURC,
|
|
392
|
-
});
|
|
393
|
-
|
|
394
|
-
const ethereumTokens: Token[] = [
|
|
395
|
-
ethereumETH,
|
|
396
|
-
ethereumWETH,
|
|
397
|
-
ethereumUSDC,
|
|
398
|
-
ethereumEURC,
|
|
399
|
-
ethereumDAI,
|
|
400
|
-
ethereumUSDT,
|
|
401
|
-
];
|
|
402
|
-
|
|
403
|
-
//
|
|
404
|
-
// Linea
|
|
405
|
-
//
|
|
406
|
-
|
|
407
|
-
export const lineaETH = nativeETH(linea.chainId);
|
|
408
|
-
|
|
409
|
-
export const lineaWETH: Token = token({
|
|
410
|
-
chainId: linea.chainId,
|
|
411
|
-
token: getAddress("0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f"),
|
|
412
|
-
decimals: 18,
|
|
413
|
-
name: "Wrapped Ether",
|
|
414
|
-
symbol: "WETH",
|
|
415
|
-
logoURI: TokenLogo.WETH,
|
|
416
|
-
});
|
|
417
|
-
|
|
418
|
-
export const lineaUSDC: Token = token({
|
|
419
|
-
chainId: linea.chainId,
|
|
420
|
-
token: getAddress("0x176211869cA2b568f2A7D4EE941E073a821EE1ff"),
|
|
421
|
-
decimals: 6,
|
|
422
|
-
fiatISO: "USD",
|
|
423
|
-
name: "USD Coin",
|
|
424
|
-
symbol: "USDC",
|
|
425
|
-
logoURI: TokenLogo.USDC,
|
|
426
|
-
});
|
|
427
|
-
|
|
428
|
-
export const lineaAxlUSDC: Token = token({
|
|
429
|
-
chainId: linea.chainId,
|
|
430
|
-
token: getAddress("0xEB466342C4d449BC9f53A865D5Cb90586f405215"),
|
|
431
|
-
decimals: 6,
|
|
432
|
-
fiatISO: "USD",
|
|
433
|
-
name: "Axelar Wrapped USDC",
|
|
434
|
-
symbol: "axlUSDC",
|
|
435
|
-
logoURI: TokenLogo.USDC,
|
|
436
|
-
});
|
|
437
|
-
|
|
438
|
-
export const lineaDAI: Token = token({
|
|
439
|
-
chainId: linea.chainId,
|
|
440
|
-
token: getAddress("0x4AF15ec2A0BD43Db75dd04E62FAA3B8EF36b00d5"),
|
|
441
|
-
decimals: 18,
|
|
442
|
-
fiatISO: "USD",
|
|
443
|
-
name: "Dai Stablecoin",
|
|
444
|
-
symbol: "DAI",
|
|
445
|
-
logoURI: TokenLogo.DAI,
|
|
446
|
-
});
|
|
447
|
-
|
|
448
|
-
const lineaTokens: Token[] = [
|
|
449
|
-
lineaETH,
|
|
450
|
-
lineaWETH,
|
|
451
|
-
lineaUSDC,
|
|
452
|
-
lineaAxlUSDC,
|
|
453
|
-
lineaDAI,
|
|
454
|
-
];
|
|
455
|
-
|
|
456
|
-
//
|
|
457
|
-
// Mantle
|
|
458
|
-
//
|
|
459
|
-
|
|
460
|
-
export const mantleMNT = nativeToken({
|
|
461
|
-
chainId: mantle.chainId,
|
|
462
|
-
name: "Mantle",
|
|
463
|
-
symbol: "MNT",
|
|
464
|
-
logoURI: TokenLogo.MNT,
|
|
465
|
-
});
|
|
466
|
-
|
|
467
|
-
export const mantleWMNT: Token = token({
|
|
468
|
-
chainId: mantle.chainId,
|
|
469
|
-
token: getAddress("0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8"),
|
|
470
|
-
decimals: 18,
|
|
471
|
-
name: "Wrapped Mantle",
|
|
472
|
-
symbol: "WMNT",
|
|
473
|
-
logoURI: TokenLogo.MNT,
|
|
474
|
-
});
|
|
475
|
-
|
|
476
|
-
export const mantleBridgedUSDC: Token = token({
|
|
477
|
-
chainId: mantle.chainId,
|
|
478
|
-
token: getAddress("0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"),
|
|
479
|
-
decimals: 6,
|
|
480
|
-
fiatISO: "USD",
|
|
481
|
-
name: "USD Coin",
|
|
482
|
-
symbol: "USDC",
|
|
483
|
-
logoURI: TokenLogo.USDC,
|
|
484
|
-
});
|
|
485
|
-
|
|
486
|
-
export const mantleUSDT: Token = token({
|
|
487
|
-
chainId: mantle.chainId,
|
|
488
|
-
token: getAddress("0x201eba5cc46d216ce6dc03f6a759e8e766e956ae"),
|
|
489
|
-
decimals: 6,
|
|
490
|
-
fiatISO: "USD",
|
|
491
|
-
name: "Tether USD",
|
|
492
|
-
symbol: "USDT",
|
|
493
|
-
logoURI: TokenLogo.USDT,
|
|
494
|
-
});
|
|
495
|
-
|
|
496
|
-
export const mantleAxlUSDC: Token = token({
|
|
497
|
-
chainId: mantle.chainId,
|
|
498
|
-
token: getAddress("0xEB466342C4d449BC9f53A865D5Cb90586f405215"),
|
|
499
|
-
decimals: 6,
|
|
500
|
-
fiatISO: "USD",
|
|
501
|
-
name: "Axelar Wrapped USDC",
|
|
502
|
-
symbol: "axlUSDC",
|
|
503
|
-
logoURI: TokenLogo.USDC,
|
|
504
|
-
});
|
|
505
|
-
|
|
506
|
-
const mantleTokens: Token[] = [
|
|
507
|
-
mantleMNT,
|
|
508
|
-
mantleWMNT,
|
|
509
|
-
mantleBridgedUSDC,
|
|
510
|
-
mantleUSDT,
|
|
511
|
-
mantleAxlUSDC,
|
|
512
|
-
];
|
|
513
|
-
|
|
514
|
-
//
|
|
515
|
-
// Optimism
|
|
516
|
-
//
|
|
517
|
-
|
|
518
|
-
export const optimismETH = nativeETH(optimism.chainId);
|
|
519
|
-
|
|
520
|
-
export const optimismWETH: Token = token({
|
|
521
|
-
chainId: optimism.chainId,
|
|
522
|
-
token: getAddress("0x4200000000000000000000000000000000000006"),
|
|
523
|
-
decimals: 18,
|
|
524
|
-
name: "Wrapped Ether",
|
|
525
|
-
symbol: "WETH",
|
|
526
|
-
logoURI: TokenLogo.WETH,
|
|
527
|
-
});
|
|
528
|
-
|
|
529
|
-
export const optimismUSDC: Token = token({
|
|
530
|
-
chainId: optimism.chainId,
|
|
531
|
-
token: getAddress("0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"),
|
|
532
|
-
decimals: 6,
|
|
533
|
-
fiatISO: "USD",
|
|
534
|
-
name: "USD Coin",
|
|
535
|
-
symbol: "USDC",
|
|
536
|
-
logoURI: TokenLogo.USDC,
|
|
537
|
-
});
|
|
538
|
-
|
|
539
|
-
export const optimismAxlUSDC: Token = token({
|
|
540
|
-
chainId: optimism.chainId,
|
|
541
|
-
token: getAddress("0xEB466342C4d449BC9f53A865D5Cb90586f405215"),
|
|
542
|
-
decimals: 6,
|
|
543
|
-
fiatISO: "USD",
|
|
544
|
-
name: "Axelar Wrapped USDC",
|
|
545
|
-
symbol: "axlUSDC",
|
|
546
|
-
logoURI: TokenLogo.USDC,
|
|
547
|
-
});
|
|
548
|
-
|
|
549
|
-
export const optimismDAI: Token = token({
|
|
550
|
-
chainId: optimism.chainId,
|
|
551
|
-
token: getAddress("0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1"),
|
|
552
|
-
decimals: 18,
|
|
553
|
-
fiatISO: "USD",
|
|
554
|
-
name: "Dai Stablecoin",
|
|
555
|
-
symbol: "DAI",
|
|
556
|
-
logoURI: TokenLogo.DAI,
|
|
557
|
-
});
|
|
558
|
-
|
|
559
|
-
export const optimismUSDT: Token = token({
|
|
560
|
-
chainId: optimism.chainId,
|
|
561
|
-
token: getAddress("0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"),
|
|
562
|
-
decimals: 6,
|
|
563
|
-
fiatISO: "USD",
|
|
564
|
-
name: "Tether USD",
|
|
565
|
-
symbol: "USDT",
|
|
566
|
-
logoURI: TokenLogo.USDT,
|
|
567
|
-
});
|
|
568
|
-
|
|
569
|
-
export const optimismUSDCe: Token = token({
|
|
570
|
-
chainId: optimism.chainId,
|
|
571
|
-
token: getAddress("0x7F5c764cBc14f9669B88837ca1490cCa17c31607"),
|
|
572
|
-
decimals: 6,
|
|
573
|
-
fiatISO: "USD",
|
|
574
|
-
name: "Bridged USD Coin",
|
|
575
|
-
symbol: "USDCe",
|
|
576
|
-
logoURI: TokenLogo.USDC,
|
|
577
|
-
});
|
|
578
|
-
|
|
579
|
-
const optimismTokens = [
|
|
580
|
-
optimismETH,
|
|
581
|
-
optimismWETH,
|
|
582
|
-
optimismUSDC,
|
|
583
|
-
optimismAxlUSDC,
|
|
584
|
-
optimismDAI,
|
|
585
|
-
optimismUSDT,
|
|
586
|
-
optimismUSDCe,
|
|
587
|
-
];
|
|
588
|
-
|
|
589
|
-
//
|
|
590
|
-
// Polygon
|
|
591
|
-
//
|
|
592
|
-
|
|
593
|
-
export const polygonPOL = nativeToken({
|
|
594
|
-
chainId: polygon.chainId,
|
|
595
|
-
name: "Polygon",
|
|
596
|
-
symbol: "POL",
|
|
597
|
-
logoURI: TokenLogo.POL,
|
|
598
|
-
});
|
|
599
|
-
|
|
600
|
-
export const polygonWPOL: Token = token({
|
|
601
|
-
chainId: polygon.chainId,
|
|
602
|
-
token: getAddress("0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"),
|
|
603
|
-
decimals: 18,
|
|
604
|
-
name: "Wrapped Polygon",
|
|
605
|
-
symbol: "WPOL",
|
|
606
|
-
logoURI: TokenLogo.POL,
|
|
607
|
-
});
|
|
608
|
-
|
|
609
|
-
export const polygonWETH: Token = token({
|
|
610
|
-
chainId: polygon.chainId,
|
|
611
|
-
token: getAddress("0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619"),
|
|
612
|
-
decimals: 18,
|
|
613
|
-
name: "Wrapped Ether",
|
|
614
|
-
symbol: "WETH",
|
|
615
|
-
logoURI: TokenLogo.WETH,
|
|
616
|
-
});
|
|
617
|
-
|
|
618
|
-
export const polygonUSDC: Token = token({
|
|
619
|
-
chainId: polygon.chainId,
|
|
620
|
-
token: getAddress("0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"),
|
|
621
|
-
decimals: 6,
|
|
622
|
-
fiatISO: "USD",
|
|
623
|
-
name: "USD Coin",
|
|
624
|
-
symbol: "USDC",
|
|
625
|
-
logoURI: TokenLogo.USDC,
|
|
626
|
-
});
|
|
627
|
-
|
|
628
|
-
export const polygonAxlUSDC: Token = token({
|
|
629
|
-
chainId: polygon.chainId,
|
|
630
|
-
token: getAddress("0x750e4C4984a9e0f12978eA6742Bc1c5D248f40ed"),
|
|
631
|
-
decimals: 6,
|
|
632
|
-
fiatISO: "USD",
|
|
633
|
-
name: "Axelar Wrapped USDC",
|
|
634
|
-
symbol: "axlUSDC",
|
|
635
|
-
logoURI: TokenLogo.USDC,
|
|
636
|
-
});
|
|
637
|
-
|
|
638
|
-
export const polygonDAI: Token = token({
|
|
639
|
-
chainId: polygon.chainId,
|
|
640
|
-
token: getAddress("0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063"),
|
|
641
|
-
decimals: 18,
|
|
642
|
-
fiatISO: "USD",
|
|
643
|
-
name: "Dai Stablecoin",
|
|
644
|
-
symbol: "DAI",
|
|
645
|
-
logoURI: TokenLogo.DAI,
|
|
646
|
-
});
|
|
647
|
-
|
|
648
|
-
export const polygonUSDT: Token = token({
|
|
649
|
-
chainId: polygon.chainId,
|
|
650
|
-
token: getAddress("0xc2132D05D31c914a87C6611C10748AEb04B58e8F"),
|
|
651
|
-
decimals: 6,
|
|
652
|
-
fiatISO: "USD",
|
|
653
|
-
name: "Tether USD",
|
|
654
|
-
symbol: "USDT",
|
|
655
|
-
logoURI: TokenLogo.USDT,
|
|
656
|
-
});
|
|
657
|
-
|
|
658
|
-
export const polygonUSDCe: Token = token({
|
|
659
|
-
chainId: polygon.chainId,
|
|
660
|
-
token: getAddress("0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"),
|
|
661
|
-
decimals: 6,
|
|
662
|
-
fiatISO: "USD",
|
|
663
|
-
name: "USD Coin (PoS)",
|
|
664
|
-
symbol: "USDCe",
|
|
665
|
-
logoURI: TokenLogo.USDC,
|
|
666
|
-
});
|
|
667
|
-
|
|
668
|
-
const polygonTokens: Token[] = [
|
|
669
|
-
polygonPOL,
|
|
670
|
-
polygonWPOL,
|
|
671
|
-
polygonWETH,
|
|
672
|
-
polygonUSDC,
|
|
673
|
-
polygonAxlUSDC,
|
|
674
|
-
polygonDAI,
|
|
675
|
-
polygonUSDT,
|
|
676
|
-
polygonUSDCe,
|
|
677
|
-
];
|
|
678
|
-
|
|
679
|
-
//
|
|
680
|
-
// Solana
|
|
681
|
-
//
|
|
682
|
-
|
|
683
|
-
export const solanaSOL = nativeToken({
|
|
684
|
-
chainId: solana.chainId,
|
|
685
|
-
name: "Solana",
|
|
686
|
-
symbol: "SOL",
|
|
687
|
-
logoURI: TokenLogo.SOL,
|
|
688
|
-
token: "11111111111111111111111111111111",
|
|
689
|
-
decimals: 9,
|
|
690
|
-
});
|
|
691
|
-
|
|
692
|
-
export const solanaWSOL: Token = token({
|
|
693
|
-
chainId: solana.chainId,
|
|
694
|
-
token: "So11111111111111111111111111111111111111112",
|
|
695
|
-
decimals: 9,
|
|
696
|
-
name: "Wrapped SOL",
|
|
697
|
-
symbol: "WSOL",
|
|
698
|
-
logoURI: TokenLogo.SOL,
|
|
699
|
-
});
|
|
700
|
-
|
|
701
|
-
export const solanaUSDC: Token = token({
|
|
702
|
-
chainId: solana.chainId,
|
|
703
|
-
token: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
704
|
-
decimals: 6,
|
|
705
|
-
fiatISO: "USD",
|
|
706
|
-
name: "USD Coin",
|
|
707
|
-
symbol: "USDC",
|
|
708
|
-
logoURI: TokenLogo.USDC,
|
|
709
|
-
});
|
|
710
|
-
|
|
711
|
-
export const solanaUSDT: Token = token({
|
|
712
|
-
chainId: rozoSolana.chainId,
|
|
713
|
-
token: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
|
|
714
|
-
decimals: 6,
|
|
715
|
-
fiatISO: "USD",
|
|
716
|
-
name: "Tether USD",
|
|
717
|
-
symbol: "USDT",
|
|
718
|
-
logoURI: TokenLogo.USDT,
|
|
719
|
-
});
|
|
720
|
-
|
|
721
|
-
export const rozoSolanaUSDC: Token = token({
|
|
722
|
-
chainId: rozoSolana.chainId,
|
|
723
|
-
token: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
724
|
-
decimals: 6,
|
|
725
|
-
fiatISO: "USD",
|
|
726
|
-
name: "USD Coin",
|
|
727
|
-
symbol: "USDC",
|
|
728
|
-
logoURI: TokenLogo.USDC,
|
|
729
|
-
});
|
|
730
|
-
|
|
731
|
-
export const rozoSolanaUSDT: Token = token({
|
|
732
|
-
chainId: rozoSolana.chainId,
|
|
733
|
-
token: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
|
|
734
|
-
decimals: 6,
|
|
735
|
-
fiatISO: "USD",
|
|
736
|
-
name: "Tether USD",
|
|
737
|
-
symbol: "USDT",
|
|
738
|
-
logoURI: TokenLogo.USDT,
|
|
739
|
-
});
|
|
740
|
-
|
|
741
|
-
const solanaTokens: Token[] = [
|
|
742
|
-
solanaUSDC,
|
|
743
|
-
solanaWSOL,
|
|
744
|
-
solanaSOL,
|
|
745
|
-
solanaUSDT,
|
|
746
|
-
rozoSolanaUSDC,
|
|
747
|
-
rozoSolanaUSDT,
|
|
748
|
-
];
|
|
749
|
-
|
|
750
|
-
//
|
|
751
|
-
// Stellar
|
|
752
|
-
//
|
|
753
|
-
|
|
754
|
-
export const stellarXLM = nativeToken({
|
|
755
|
-
chainId: stellar.chainId,
|
|
756
|
-
name: "Stellar",
|
|
757
|
-
symbol: "XLM",
|
|
758
|
-
logoURI: TokenLogo.XLM,
|
|
759
|
-
token: "11111111111111111111111111111111",
|
|
760
|
-
decimals: 9,
|
|
761
|
-
});
|
|
762
|
-
|
|
763
|
-
export const stellarUSDC: Token = token({
|
|
764
|
-
chainId: stellar.chainId,
|
|
765
|
-
token: "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
|
|
766
|
-
decimals: 6,
|
|
767
|
-
fiatISO: "USD",
|
|
768
|
-
name: "USD Coin",
|
|
769
|
-
symbol: "USDC",
|
|
770
|
-
logoURI: TokenLogo.USDC,
|
|
771
|
-
});
|
|
772
|
-
|
|
773
|
-
export const rozoStellarUSDC: Token = token({
|
|
774
|
-
chainId: rozoStellar.chainId,
|
|
775
|
-
token: "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
|
|
776
|
-
decimals: 7,
|
|
777
|
-
fiatISO: "USD",
|
|
778
|
-
name: "USD Coin",
|
|
779
|
-
symbol: "USDC",
|
|
780
|
-
logoURI: TokenLogo.USDC,
|
|
781
|
-
});
|
|
782
|
-
|
|
783
|
-
const stellarTokens: Token[] = [stellarXLM, stellarUSDC, rozoStellarUSDC];
|
|
784
|
-
|
|
785
|
-
//
|
|
786
|
-
// Worldchain
|
|
787
|
-
//
|
|
788
|
-
|
|
789
|
-
export const worldchainETH = nativeETH(worldchain.chainId);
|
|
790
|
-
|
|
791
|
-
export const worldchainWETH: Token = token({
|
|
792
|
-
chainId: worldchain.chainId,
|
|
793
|
-
token: getAddress("0x4200000000000000000000000000000000000006"),
|
|
794
|
-
decimals: 18,
|
|
795
|
-
name: "Wrapped Ether",
|
|
796
|
-
symbol: "WETH",
|
|
797
|
-
logoURI: TokenLogo.WETH,
|
|
798
|
-
});
|
|
799
|
-
|
|
800
|
-
export const worldchainWBTC: Token = token({
|
|
801
|
-
chainId: worldchain.chainId,
|
|
802
|
-
token: getAddress("0x03c7054bcb39f7b2e5b2c7acb37583e32d70cfa3"),
|
|
803
|
-
decimals: 8,
|
|
804
|
-
name: "Wrapped Bitcoin",
|
|
805
|
-
symbol: "WBTC",
|
|
806
|
-
logoURI: TokenLogo.WBTC,
|
|
807
|
-
});
|
|
808
|
-
|
|
809
|
-
export const worldchainUSDC: Token = token({
|
|
810
|
-
chainId: worldchain.chainId,
|
|
811
|
-
token: getAddress("0x79A02482A880bCE3F13e09Da970dC34db4CD24d1"),
|
|
812
|
-
decimals: 6,
|
|
813
|
-
fiatISO: "USD",
|
|
814
|
-
name: "USD Coin",
|
|
815
|
-
symbol: "USDC",
|
|
816
|
-
logoURI: TokenLogo.USDC,
|
|
817
|
-
});
|
|
818
|
-
|
|
819
|
-
export const worldchainWLD: Token = token({
|
|
820
|
-
chainId: worldchain.chainId,
|
|
821
|
-
token: getAddress("0x2cFc85d8E48F8EAB294be644d9E25C3030863003"),
|
|
822
|
-
decimals: 18,
|
|
823
|
-
name: "Worldcoin",
|
|
824
|
-
symbol: "WLD",
|
|
825
|
-
logoURI: TokenLogo.WLD,
|
|
826
|
-
});
|
|
827
|
-
|
|
828
|
-
const worldchainTokens: Token[] = [
|
|
829
|
-
worldchainETH,
|
|
830
|
-
worldchainWETH,
|
|
831
|
-
worldchainWBTC,
|
|
832
|
-
worldchainUSDC,
|
|
833
|
-
worldchainWLD,
|
|
834
|
-
];
|
|
835
|
-
|
|
836
|
-
//
|
|
837
|
-
// Gnosis
|
|
838
|
-
//
|
|
839
|
-
|
|
840
|
-
export const gnosisXDAI = nativeToken({
|
|
841
|
-
chainId: gnosis.chainId,
|
|
842
|
-
name: "xDAI",
|
|
843
|
-
symbol: "XDAI",
|
|
844
|
-
logoURI: TokenLogo.DAI,
|
|
845
|
-
});
|
|
846
|
-
|
|
847
|
-
export const gnosisUSDC: Token = token({
|
|
848
|
-
chainId: gnosis.chainId,
|
|
849
|
-
token: getAddress("0x2a22f9c3b484c3629090feed35f17ff8f88f76f0"),
|
|
850
|
-
decimals: 6,
|
|
851
|
-
fiatISO: "USD",
|
|
852
|
-
name: "USD Coin",
|
|
853
|
-
symbol: "USDC",
|
|
854
|
-
logoURI: TokenLogo.USDC,
|
|
855
|
-
});
|
|
856
|
-
|
|
857
|
-
export const gnosisUSDT: Token = token({
|
|
858
|
-
chainId: gnosis.chainId,
|
|
859
|
-
token: getAddress("0x4ecaba5870353805a9f068101a40e0f32ed605c6"),
|
|
860
|
-
decimals: 6,
|
|
861
|
-
fiatISO: "USD",
|
|
862
|
-
name: "Tether USD",
|
|
863
|
-
symbol: "USDT",
|
|
864
|
-
logoURI: TokenLogo.USDT,
|
|
865
|
-
});
|
|
866
|
-
|
|
867
|
-
const gnosisTokens: Token[] = [gnosisXDAI, gnosisUSDC, gnosisUSDT];
|
|
868
|
-
|
|
869
|
-
//
|
|
870
|
-
// Avalanche
|
|
871
|
-
//
|
|
872
|
-
|
|
873
|
-
export const avalancheAVAX = nativeToken({
|
|
874
|
-
chainId: avalanche.chainId,
|
|
875
|
-
name: "Avalanche",
|
|
876
|
-
symbol: "AVAX",
|
|
877
|
-
logoURI: TokenLogo.AVAX,
|
|
878
|
-
});
|
|
879
|
-
|
|
880
|
-
export const avalancheUSDC: Token = token({
|
|
881
|
-
chainId: avalanche.chainId,
|
|
882
|
-
token: getAddress("0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"),
|
|
883
|
-
decimals: 6,
|
|
884
|
-
fiatISO: "USD",
|
|
885
|
-
name: "USD Coin",
|
|
886
|
-
symbol: "USDC",
|
|
887
|
-
logoURI: TokenLogo.USDC,
|
|
888
|
-
});
|
|
889
|
-
|
|
890
|
-
export const avalancheUSDT: Token = token({
|
|
891
|
-
chainId: avalanche.chainId,
|
|
892
|
-
token: getAddress("0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7"),
|
|
893
|
-
decimals: 6,
|
|
894
|
-
fiatISO: "USD",
|
|
895
|
-
name: "Tether USD",
|
|
896
|
-
symbol: "USDT",
|
|
897
|
-
logoURI: TokenLogo.USDT,
|
|
898
|
-
});
|
|
899
|
-
|
|
900
|
-
const avalancheTokens: Token[] = [avalancheAVAX, avalancheUSDC, avalancheUSDT];
|
|
901
|
-
|
|
902
|
-
/** Support tokens for Rozo Pay */
|
|
903
|
-
export const supportedTokens: Map<number, Token[]> = new Map([
|
|
904
|
-
[arbitrum.chainId, [arbitrumUSDC, arbitrumUSDT]],
|
|
905
|
-
// [avalanche.chainId, [avalancheUSDC, avalancheUSDT]],
|
|
906
|
-
[base.chainId, [baseUSDC]],
|
|
907
|
-
[bsc.chainId, [bscUSDC, bscUSDT]],
|
|
908
|
-
[ethereum.chainId, [ethereumUSDC, ethereumUSDT]],
|
|
909
|
-
// [gnosis.chainId, [gnosisUSDC, gnosisUSDT]],
|
|
910
|
-
// [optimism.chainId, [optimismUSDC, optimismUSDT]],
|
|
911
|
-
[polygon.chainId, [polygonUSDC, polygonUSDT]],
|
|
912
|
-
// [worldchain.chainId, [worldchainUSDC]],
|
|
913
|
-
|
|
914
|
-
[solana.chainId, [solanaUSDC, solanaUSDT]],
|
|
915
|
-
[rozoSolana.chainId, [rozoSolanaUSDC, rozoSolanaUSDT]],
|
|
916
|
-
[rozoStellar.chainId, [rozoStellarUSDC]],
|
|
917
|
-
]);
|
|
918
|
-
|
|
919
|
-
export const supportedPayoutTokens: Map<number, Token[]> = new Map([
|
|
920
|
-
[ethereum.chainId, [ethereumUSDC]],
|
|
921
|
-
[base.chainId, [baseUSDC]],
|
|
922
|
-
[polygon.chainId, [polygonUSDC]],
|
|
923
|
-
// [solana.chainId, [solanaUSDC]],
|
|
924
|
-
[rozoSolana.chainId, [rozoSolanaUSDC]],
|
|
925
|
-
[rozoStellar.chainId, [rozoStellarUSDC]],
|
|
926
|
-
]);
|
|
927
|
-
|
|
928
|
-
// const knownTokensByChain = new Map<number, Token[]>([
|
|
929
|
-
// [arbitrum.chainId, arbitrumTokens],
|
|
930
|
-
// [avalanche.chainId, avalancheTokens],
|
|
931
|
-
// [base.chainId, baseTokens],
|
|
932
|
-
// [bsc.chainId, bscTokens],
|
|
933
|
-
// [celo.chainId, celoTokens],
|
|
934
|
-
// [ethereum.chainId, ethereumTokens],
|
|
935
|
-
// [gnosis.chainId, gnosisTokens],
|
|
936
|
-
// [linea.chainId, lineaTokens],
|
|
937
|
-
// [mantle.chainId, mantleTokens],
|
|
938
|
-
// [optimism.chainId, optimismTokens],
|
|
939
|
-
// [polygon.chainId, polygonTokens],
|
|
940
|
-
// [rozoSolana.chainId, solanaTokens],
|
|
941
|
-
// [rozoStellar.chainId, stellarTokens],
|
|
942
|
-
// [worldchain.chainId, worldchainTokens],
|
|
943
|
-
// ]);
|
|
944
|
-
|
|
945
|
-
/**
|
|
946
|
-
* Common tokens, included for convenience.
|
|
947
|
-
*
|
|
948
|
-
* Rozo Pay supports payment in many more tokens. In general, the goal for
|
|
949
|
-
* Pay is to accept all tokens with DEX liquidity on any major chain.
|
|
950
|
-
*/
|
|
951
|
-
export const knownTokens: Token[] = Array.from(supportedTokens.values()).flat();
|
|
952
|
-
|
|
953
|
-
/* --------------------- Tokens By Address --------------------- */
|
|
954
|
-
|
|
955
|
-
const tokensByChainAddr = new Map<string, Token>(
|
|
956
|
-
knownTokens.map((t) => [`${t.chainId}-${t.token}`, t])
|
|
957
|
-
);
|
|
958
|
-
|
|
959
|
-
export function getKnownToken(
|
|
960
|
-
chainId: number,
|
|
961
|
-
tokenAddress: string
|
|
962
|
-
): Token | undefined {
|
|
963
|
-
return tokensByChainAddr.get(`${chainId}-${tokenAddress}`);
|
|
964
|
-
}
|
|
965
|
-
|
|
966
|
-
/* --------------------- Tokens By Type --------------------- */
|
|
967
|
-
|
|
968
|
-
enum TokenType {
|
|
969
|
-
NATIVE = "NATIVE",
|
|
970
|
-
WRAPPED_NATIVE = "WRAPPED_NATIVE",
|
|
971
|
-
NATIVE_USDC = "NATIVE_USDC",
|
|
972
|
-
BRIDGED_USDC = "BRIDGED_USDC",
|
|
973
|
-
AXL_USDC = "AXL_USDC",
|
|
974
|
-
DAI = "DAI",
|
|
975
|
-
}
|
|
976
|
-
|
|
977
|
-
const tokensByChainAndType: Map<
|
|
978
|
-
number,
|
|
979
|
-
Partial<Record<TokenType, Token>>
|
|
980
|
-
> = new Map([
|
|
981
|
-
[
|
|
982
|
-
arbitrum.chainId,
|
|
983
|
-
{
|
|
984
|
-
[TokenType.NATIVE]: arbitrumETH,
|
|
985
|
-
[TokenType.WRAPPED_NATIVE]: arbitrumWETH,
|
|
986
|
-
[TokenType.NATIVE_USDC]: arbitrumUSDC,
|
|
987
|
-
[TokenType.BRIDGED_USDC]: arbitrumUSDCe,
|
|
988
|
-
[TokenType.AXL_USDC]: arbitrumAxlUSDC,
|
|
989
|
-
[TokenType.DAI]: arbitrumDAI,
|
|
990
|
-
},
|
|
991
|
-
],
|
|
992
|
-
[
|
|
993
|
-
base.chainId,
|
|
994
|
-
{
|
|
995
|
-
[TokenType.NATIVE]: baseETH,
|
|
996
|
-
[TokenType.WRAPPED_NATIVE]: baseWETH,
|
|
997
|
-
[TokenType.NATIVE_USDC]: baseUSDC,
|
|
998
|
-
[TokenType.BRIDGED_USDC]: baseUSDbC,
|
|
999
|
-
[TokenType.AXL_USDC]: baseAxlUSDC,
|
|
1000
|
-
[TokenType.DAI]: baseDAI,
|
|
1001
|
-
},
|
|
1002
|
-
],
|
|
1003
|
-
[
|
|
1004
|
-
bsc.chainId,
|
|
1005
|
-
{
|
|
1006
|
-
[TokenType.NATIVE]: bscBNB,
|
|
1007
|
-
[TokenType.WRAPPED_NATIVE]: bscWBNB,
|
|
1008
|
-
[TokenType.BRIDGED_USDC]: bscUSDC,
|
|
1009
|
-
[TokenType.AXL_USDC]: bscAxlUSDC,
|
|
1010
|
-
},
|
|
1011
|
-
],
|
|
1012
|
-
[
|
|
1013
|
-
celo.chainId,
|
|
1014
|
-
{
|
|
1015
|
-
// CELO functions as both a native token and an ERC-20 compatible token
|
|
1016
|
-
[TokenType.NATIVE]: celoCelo,
|
|
1017
|
-
[TokenType.WRAPPED_NATIVE]: celoCelo,
|
|
1018
|
-
[TokenType.NATIVE_USDC]: celoUSDC,
|
|
1019
|
-
[TokenType.AXL_USDC]: celoAxlUSDC,
|
|
1020
|
-
},
|
|
1021
|
-
],
|
|
1022
|
-
[
|
|
1023
|
-
ethereum.chainId,
|
|
1024
|
-
{
|
|
1025
|
-
[TokenType.NATIVE]: ethereumETH,
|
|
1026
|
-
[TokenType.WRAPPED_NATIVE]: ethereumWETH,
|
|
1027
|
-
[TokenType.NATIVE_USDC]: ethereumUSDC,
|
|
1028
|
-
[TokenType.DAI]: ethereumDAI,
|
|
1029
|
-
},
|
|
1030
|
-
],
|
|
1031
|
-
[
|
|
1032
|
-
linea.chainId,
|
|
1033
|
-
{
|
|
1034
|
-
[TokenType.NATIVE]: lineaETH,
|
|
1035
|
-
[TokenType.WRAPPED_NATIVE]: lineaWETH,
|
|
1036
|
-
[TokenType.NATIVE_USDC]: lineaUSDC,
|
|
1037
|
-
[TokenType.AXL_USDC]: lineaAxlUSDC,
|
|
1038
|
-
[TokenType.DAI]: lineaDAI,
|
|
1039
|
-
},
|
|
1040
|
-
],
|
|
1041
|
-
[
|
|
1042
|
-
mantle.chainId,
|
|
1043
|
-
{
|
|
1044
|
-
[TokenType.NATIVE]: mantleMNT,
|
|
1045
|
-
[TokenType.WRAPPED_NATIVE]: mantleWMNT,
|
|
1046
|
-
[TokenType.BRIDGED_USDC]: mantleBridgedUSDC,
|
|
1047
|
-
[TokenType.AXL_USDC]: mantleAxlUSDC,
|
|
1048
|
-
},
|
|
1049
|
-
],
|
|
1050
|
-
[
|
|
1051
|
-
optimism.chainId,
|
|
1052
|
-
{
|
|
1053
|
-
[TokenType.NATIVE]: optimismETH,
|
|
1054
|
-
[TokenType.WRAPPED_NATIVE]: optimismWETH,
|
|
1055
|
-
[TokenType.NATIVE_USDC]: optimismUSDC,
|
|
1056
|
-
[TokenType.BRIDGED_USDC]: optimismUSDCe,
|
|
1057
|
-
[TokenType.AXL_USDC]: optimismAxlUSDC,
|
|
1058
|
-
[TokenType.DAI]: optimismDAI,
|
|
1059
|
-
},
|
|
1060
|
-
],
|
|
1061
|
-
[
|
|
1062
|
-
polygon.chainId,
|
|
1063
|
-
{
|
|
1064
|
-
[TokenType.NATIVE]: polygonPOL,
|
|
1065
|
-
[TokenType.WRAPPED_NATIVE]: polygonWPOL,
|
|
1066
|
-
[TokenType.NATIVE_USDC]: polygonUSDC,
|
|
1067
|
-
[TokenType.BRIDGED_USDC]: polygonUSDCe,
|
|
1068
|
-
[TokenType.AXL_USDC]: polygonAxlUSDC,
|
|
1069
|
-
[TokenType.DAI]: polygonDAI,
|
|
1070
|
-
},
|
|
1071
|
-
],
|
|
1072
|
-
[
|
|
1073
|
-
solana.chainId,
|
|
1074
|
-
{
|
|
1075
|
-
[TokenType.NATIVE]: solanaSOL,
|
|
1076
|
-
[TokenType.WRAPPED_NATIVE]: solanaWSOL,
|
|
1077
|
-
[TokenType.NATIVE_USDC]: solanaUSDC,
|
|
1078
|
-
},
|
|
1079
|
-
],
|
|
1080
|
-
[
|
|
1081
|
-
stellar.chainId,
|
|
1082
|
-
{
|
|
1083
|
-
[TokenType.NATIVE]: stellarXLM,
|
|
1084
|
-
[TokenType.NATIVE_USDC]: stellarUSDC,
|
|
1085
|
-
},
|
|
1086
|
-
],
|
|
1087
|
-
[
|
|
1088
|
-
rozoSolana.chainId,
|
|
1089
|
-
{
|
|
1090
|
-
[TokenType.NATIVE]: solanaSOL,
|
|
1091
|
-
[TokenType.NATIVE_USDC]: rozoSolanaUSDC,
|
|
1092
|
-
},
|
|
1093
|
-
],
|
|
1094
|
-
[
|
|
1095
|
-
rozoStellar.chainId,
|
|
1096
|
-
{
|
|
1097
|
-
[TokenType.NATIVE]: stellarXLM,
|
|
1098
|
-
[TokenType.NATIVE_USDC]: rozoStellarUSDC,
|
|
1099
|
-
},
|
|
1100
|
-
],
|
|
1101
|
-
[
|
|
1102
|
-
gnosis.chainId,
|
|
1103
|
-
{
|
|
1104
|
-
[TokenType.NATIVE]: gnosisXDAI,
|
|
1105
|
-
[TokenType.NATIVE_USDC]: gnosisUSDC,
|
|
1106
|
-
},
|
|
1107
|
-
],
|
|
1108
|
-
[
|
|
1109
|
-
avalanche.chainId,
|
|
1110
|
-
{
|
|
1111
|
-
[TokenType.NATIVE]: avalancheAVAX,
|
|
1112
|
-
[TokenType.NATIVE_USDC]: avalancheUSDC,
|
|
1113
|
-
},
|
|
1114
|
-
],
|
|
1115
|
-
[
|
|
1116
|
-
worldchain.chainId,
|
|
1117
|
-
{
|
|
1118
|
-
[TokenType.NATIVE]: worldchainETH,
|
|
1119
|
-
[TokenType.WRAPPED_NATIVE]: worldchainWETH,
|
|
1120
|
-
[TokenType.NATIVE_USDC]: worldchainUSDC,
|
|
1121
|
-
},
|
|
1122
|
-
],
|
|
1123
|
-
]);
|
|
1124
|
-
|
|
1125
|
-
export function getChainNativeToken(chainId: number): Token {
|
|
1126
|
-
return assertNotNull(
|
|
1127
|
-
tokensByChainAndType.get(chainId)?.[TokenType.NATIVE],
|
|
1128
|
-
() => `missing native token for chainId ${chainId}`
|
|
1129
|
-
);
|
|
1130
|
-
}
|
|
1131
|
-
|
|
1132
|
-
export function getChainWrappedNativeToken(chainId: number): Token {
|
|
1133
|
-
return assertNotNull(
|
|
1134
|
-
tokensByChainAndType.get(chainId)?.[TokenType.WRAPPED_NATIVE],
|
|
1135
|
-
() => `missing wrapped native token for chainId ${chainId}`
|
|
1136
|
-
);
|
|
1137
|
-
}
|
|
1138
|
-
|
|
1139
|
-
export function getChainNativeUSDC(chainId: number): Token | undefined {
|
|
1140
|
-
return tokensByChainAndType.get(chainId)?.[TokenType.NATIVE_USDC];
|
|
1141
|
-
}
|
|
1142
|
-
|
|
1143
|
-
export function getChainAxlUSDC(chainId: number): Token | undefined {
|
|
1144
|
-
return tokensByChainAndType.get(chainId)?.[TokenType.AXL_USDC];
|
|
1145
|
-
}
|
|
1146
|
-
|
|
1147
|
-
/** Returns native USDC when available, otherwise bridged USDC. */
|
|
1148
|
-
export function getChainBestUSDC(chainId: number): Token | undefined {
|
|
1149
|
-
const t = tokensByChainAndType.get(chainId);
|
|
1150
|
-
return t?.[TokenType.NATIVE_USDC] ?? t?.[TokenType.BRIDGED_USDC];
|
|
1151
|
-
}
|
|
1152
|
-
|
|
1153
|
-
export function getChainDAI(chainId: number): Token | undefined {
|
|
1154
|
-
return tokensByChainAndType.get(chainId)?.[TokenType.DAI];
|
|
1155
|
-
}
|
|
1156
|
-
|
|
1157
|
-
/** Returns true if two tokens are equal (same chain and token address). */
|
|
1158
|
-
export function tokensEqual(a: Token, b: Token): boolean {
|
|
1159
|
-
return a.chainId === b.chainId && a.token === b.token;
|
|
1160
|
-
}
|
|
1161
|
-
|
|
1162
|
-
/* --------------------- Native Token Utils --------------------- */
|
|
1163
|
-
|
|
1164
|
-
function nativeETH(chainId: number): Token {
|
|
1165
|
-
return nativeToken({
|
|
1166
|
-
chainId,
|
|
1167
|
-
name: "Ether",
|
|
1168
|
-
symbol: "ETH",
|
|
1169
|
-
logoURI: TokenLogo.ETH,
|
|
1170
|
-
});
|
|
1171
|
-
}
|
|
1172
|
-
|
|
1173
|
-
function nativeToken({
|
|
1174
|
-
chainId,
|
|
1175
|
-
name,
|
|
1176
|
-
symbol,
|
|
1177
|
-
logoURI,
|
|
1178
|
-
token = zeroAddress,
|
|
1179
|
-
decimals = 18,
|
|
1180
|
-
}: {
|
|
1181
|
-
chainId: number;
|
|
1182
|
-
name: string;
|
|
1183
|
-
symbol: string;
|
|
1184
|
-
logoURI: string;
|
|
1185
|
-
token?: string;
|
|
1186
|
-
decimals?: number;
|
|
1187
|
-
}): Token {
|
|
1188
|
-
return {
|
|
1189
|
-
chainId,
|
|
1190
|
-
token,
|
|
1191
|
-
name,
|
|
1192
|
-
decimals,
|
|
1193
|
-
symbol,
|
|
1194
|
-
logoURI,
|
|
1195
|
-
logoSourceURI: logoURI,
|
|
1196
|
-
};
|
|
1197
|
-
}
|
|
1198
|
-
|
|
1199
|
-
export function token({
|
|
1200
|
-
chainId,
|
|
1201
|
-
token,
|
|
1202
|
-
name,
|
|
1203
|
-
symbol,
|
|
1204
|
-
decimals,
|
|
1205
|
-
fiatISO,
|
|
1206
|
-
logoURI,
|
|
1207
|
-
}: {
|
|
1208
|
-
chainId: number;
|
|
1209
|
-
token: string;
|
|
1210
|
-
name: string;
|
|
1211
|
-
symbol: string;
|
|
1212
|
-
decimals: number;
|
|
1213
|
-
fiatISO?: string;
|
|
1214
|
-
logoURI: string;
|
|
1215
|
-
}): Token {
|
|
1216
|
-
return {
|
|
1217
|
-
chainId,
|
|
1218
|
-
token,
|
|
1219
|
-
name,
|
|
1220
|
-
symbol,
|
|
1221
|
-
decimals,
|
|
1222
|
-
fiatISO,
|
|
1223
|
-
logoURI,
|
|
1224
|
-
logoSourceURI: logoURI,
|
|
1225
|
-
};
|
|
1226
|
-
}
|