@uniswap/token-list-bridge-utils 2.4.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/chainId.d.ts +1 -1
- package/dist/constants/tokens.d.ts +2 -2
- package/dist/constants/types.d.ts +30 -0
- package/dist/fixtures/index.d.ts +0 -12
- package/dist/providers/PolygonMappingProvider.d.ts +0 -2
- package/dist/providers/UnichainMappingProvider.d.ts +5 -0
- package/dist/token-list-bridge-utils.cjs.development.js +1506 -331
- package/dist/token-list-bridge-utils.cjs.development.js.map +1 -1
- package/dist/token-list-bridge-utils.cjs.production.min.js +1 -1
- package/dist/token-list-bridge-utils.cjs.production.min.js.map +1 -1
- package/dist/token-list-bridge-utils.esm.js +1506 -331
- package/dist/token-list-bridge-utils.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/constants/chainId.ts +2 -1
- package/src/constants/tokens.ts +11 -11
- package/src/constants/types.ts +30 -0
- package/src/fixtures/index.ts +8 -36
- package/src/index.test.ts +21 -40
- package/src/index.ts +1 -1
- package/src/local_mappings/unichain.json +1190 -0
- package/src/providers/BaseMappingProvider.ts +2 -2
- package/src/providers/PolygonMappingProvider.ts +20 -12
- package/src/providers/UnichainMappingProvider.ts +11 -0
- package/src/providers/index.ts +7 -5
- package/src/utils.ts +0 -2
- package/dist/providers/BaseGoerliMappingProvider.d.ts +0 -9
- package/src/providers/BaseGoerliMappingProvider.ts +0 -43
package/src/constants/tokens.ts
CHANGED
|
@@ -9,14 +9,6 @@ export const COINBASE_WRAPPED_STAKED_ETH = new Token(
|
|
|
9
9
|
'Coinbase Wrapped Staked ETH'
|
|
10
10
|
)
|
|
11
11
|
|
|
12
|
-
export const COINBASE_WRAPPED_STAKED_ETH_BASE_GOERLI = new Token(
|
|
13
|
-
ChainId.BASE_GOERLI,
|
|
14
|
-
'0x4fC531f8Ae7A7808E0dccCA08F1e3c7694582950',
|
|
15
|
-
18,
|
|
16
|
-
'cbETH',
|
|
17
|
-
'Coinbase Wrapped Staked ETH'
|
|
18
|
-
)
|
|
19
|
-
|
|
20
12
|
export const COINBASE_WRAPPED_STAKED_ETH_BASE = new Token(
|
|
21
13
|
ChainId.BASE,
|
|
22
14
|
'0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22',
|
|
@@ -41,6 +33,14 @@ export const COINBASE_WRAPPED_STAKED_ETH_OPTIMISM = new Token(
|
|
|
41
33
|
'Coinbase Wrapped Staked ETH'
|
|
42
34
|
)
|
|
43
35
|
|
|
36
|
+
export const COINBASE_WRAPPED_STAKED_ETH_UNICHAIN = new Token(
|
|
37
|
+
ChainId.UNICHAIN,
|
|
38
|
+
'0xEb64b50FeF2A363940369285F86Ae9a68211db59',
|
|
39
|
+
18,
|
|
40
|
+
'cbETH',
|
|
41
|
+
'Coinbase Wrapped Staked ETH'
|
|
42
|
+
)
|
|
43
|
+
|
|
44
44
|
export const DAI = new Token(
|
|
45
45
|
ChainId.MAINNET,
|
|
46
46
|
'0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
@@ -94,9 +94,9 @@ export const DAI_BASE = new Token(
|
|
|
94
94
|
'Dai Stablecoin'
|
|
95
95
|
)
|
|
96
96
|
|
|
97
|
-
export const
|
|
98
|
-
ChainId.
|
|
99
|
-
'
|
|
97
|
+
export const DAI_UNICHAIN = new Token(
|
|
98
|
+
ChainId.UNICHAIN,
|
|
99
|
+
'0x20CAb320A855b39F724131C69424240519573f81',
|
|
100
100
|
18,
|
|
101
101
|
'DAI',
|
|
102
102
|
'Dai Stablecoin'
|
package/src/constants/types.ts
CHANGED
|
@@ -15,3 +15,33 @@ export type GenericMappedTokenData = { [key: string]: string | undefined }
|
|
|
15
15
|
export type PolygonMappedTokenData = { [key: string]: PolygonMappedToken }
|
|
16
16
|
|
|
17
17
|
export type MappedTokenData = { [key: string]: MappedToken }
|
|
18
|
+
|
|
19
|
+
export interface PolygonWrappedToken {
|
|
20
|
+
wrappedTokenAddress: string
|
|
21
|
+
wrappedNetworkId?: number
|
|
22
|
+
tags: string[]
|
|
23
|
+
originChainBridgeAdapter?: string
|
|
24
|
+
wrappedChainBridgeAdapter?: string
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface PolygonTokenMapping {
|
|
28
|
+
chainId: number
|
|
29
|
+
name: string
|
|
30
|
+
symbol: string
|
|
31
|
+
decimals: number
|
|
32
|
+
originTokenAddress: string
|
|
33
|
+
originNetworkId: number
|
|
34
|
+
tags: string[]
|
|
35
|
+
wrappedTokens: PolygonWrappedToken[]
|
|
36
|
+
logoURI: string
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface PolygonTokenListResponse {
|
|
40
|
+
name: string
|
|
41
|
+
version: number
|
|
42
|
+
logoURI: string
|
|
43
|
+
description: string
|
|
44
|
+
tags: Record<string, { name: string; description: string }>
|
|
45
|
+
timestamp: string
|
|
46
|
+
tokens: PolygonTokenMapping[]
|
|
47
|
+
}
|
package/src/fixtures/index.ts
CHANGED
|
@@ -11,13 +11,13 @@ import {
|
|
|
11
11
|
USDT,
|
|
12
12
|
USDT_BNB,
|
|
13
13
|
COINBASE_WRAPPED_STAKED_ETH,
|
|
14
|
-
COINBASE_WRAPPED_STAKED_ETH_BASE_GOERLI,
|
|
15
14
|
COINBASE_WRAPPED_STAKED_ETH_ARBITRUM_ONE,
|
|
16
15
|
COINBASE_WRAPPED_STAKED_ETH_BASE,
|
|
17
|
-
DAI_BASE_GOERLI,
|
|
18
16
|
COINBASE_WRAPPED_STAKED_ETH_OPTIMISM,
|
|
19
17
|
DAI_BASE,
|
|
20
18
|
USDT_CELO,
|
|
19
|
+
COINBASE_WRAPPED_STAKED_ETH_UNICHAIN,
|
|
20
|
+
DAI_UNICHAIN,
|
|
21
21
|
} from '../constants/tokens'
|
|
22
22
|
import { compareTokenInfos } from '../utils'
|
|
23
23
|
|
|
@@ -55,15 +55,15 @@ export const Tokens: Partial<Record<ChainId, Record<string, TokenInfo>>> = {
|
|
|
55
55
|
COINBASE_WRAPPED_STAKED_ETH_BASE
|
|
56
56
|
),
|
|
57
57
|
},
|
|
58
|
-
[ChainId.BASE_GOERLI]: {
|
|
59
|
-
DAI: tokenToTokenInfo(DAI_BASE_GOERLI),
|
|
60
|
-
COINBASE_WRAPPED_STAKED_ETH: tokenToTokenInfo(
|
|
61
|
-
COINBASE_WRAPPED_STAKED_ETH_BASE_GOERLI
|
|
62
|
-
),
|
|
63
|
-
},
|
|
64
58
|
[ChainId.CELO]: {
|
|
65
59
|
USDT: tokenToTokenInfo(USDT_CELO),
|
|
66
60
|
},
|
|
61
|
+
[ChainId.UNICHAIN]: {
|
|
62
|
+
DAI: tokenToTokenInfo(DAI_UNICHAIN),
|
|
63
|
+
COINBASE_WRAPPED_STAKED_ETH: tokenToTokenInfo(
|
|
64
|
+
COINBASE_WRAPPED_STAKED_ETH_UNICHAIN
|
|
65
|
+
),
|
|
66
|
+
},
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
export const sampleL1TokenList: TokenList = {
|
|
@@ -267,34 +267,6 @@ export const celoedSampleTokenList = {
|
|
|
267
267
|
].sort(compareTokenInfos),
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
-
export const baseGoerliSampleTokenList_3 = {
|
|
271
|
-
...sampleL1TokenList_3,
|
|
272
|
-
name: 'Base Goerli Sample_3',
|
|
273
|
-
tokens: [
|
|
274
|
-
{
|
|
275
|
-
...Tokens[ChainId.BASE_GOERLI]!.COINBASE_WRAPPED_STAKED_ETH,
|
|
276
|
-
extensions: {
|
|
277
|
-
bridgeInfo: {
|
|
278
|
-
[ChainId.MAINNET]: {
|
|
279
|
-
tokenAddress: COINBASE_WRAPPED_STAKED_ETH.address,
|
|
280
|
-
},
|
|
281
|
-
},
|
|
282
|
-
},
|
|
283
|
-
} as unknown as TokenInfo,
|
|
284
|
-
{
|
|
285
|
-
...(Tokens[ChainId.MAINNET]!
|
|
286
|
-
.COINBASE_WRAPPED_STAKED_ETH as unknown as TokenInfo),
|
|
287
|
-
extensions: {
|
|
288
|
-
bridgeInfo: {
|
|
289
|
-
[ChainId.BASE_GOERLI]: {
|
|
290
|
-
tokenAddress: COINBASE_WRAPPED_STAKED_ETH_BASE_GOERLI.address,
|
|
291
|
-
},
|
|
292
|
-
},
|
|
293
|
-
},
|
|
294
|
-
} as unknown as TokenInfo,
|
|
295
|
-
].sort(compareTokenInfos),
|
|
296
|
-
}
|
|
297
|
-
|
|
298
270
|
export const baseSampleTokenList_3 = {
|
|
299
271
|
...sampleL1TokenList_3,
|
|
300
272
|
name: 'Base Sample_3',
|
package/src/index.test.ts
CHANGED
|
@@ -5,16 +5,16 @@ import {
|
|
|
5
5
|
COINBASE_WRAPPED_STAKED_ETH,
|
|
6
6
|
COINBASE_WRAPPED_STAKED_ETH_ARBITRUM_ONE,
|
|
7
7
|
COINBASE_WRAPPED_STAKED_ETH_BASE,
|
|
8
|
-
COINBASE_WRAPPED_STAKED_ETH_BASE_GOERLI,
|
|
9
8
|
COINBASE_WRAPPED_STAKED_ETH_OPTIMISM,
|
|
9
|
+
COINBASE_WRAPPED_STAKED_ETH_UNICHAIN,
|
|
10
10
|
DAI,
|
|
11
11
|
DAI_ARBITRUM_ONE,
|
|
12
12
|
DAI_AVALANCHE,
|
|
13
13
|
DAI_BASE,
|
|
14
|
-
DAI_BASE_GOERLI,
|
|
15
14
|
DAI_BNB,
|
|
16
15
|
DAI_OPTIMISM,
|
|
17
16
|
DAI_POLYGON,
|
|
17
|
+
DAI_UNICHAIN,
|
|
18
18
|
} from './constants/tokens'
|
|
19
19
|
import {
|
|
20
20
|
arbedSampleTokenList,
|
|
@@ -27,7 +27,6 @@ import {
|
|
|
27
27
|
bnbedSampleTokenList_2,
|
|
28
28
|
avalanchedSampleTokenList,
|
|
29
29
|
sampleL1TokenList_3,
|
|
30
|
-
baseGoerliSampleTokenList_3,
|
|
31
30
|
baseSampleTokenList_3,
|
|
32
31
|
celoedSampleTokenList,
|
|
33
32
|
} from './fixtures'
|
|
@@ -163,25 +162,6 @@ it('outputs bnb list correctly with different decimals', async () => {
|
|
|
163
162
|
)
|
|
164
163
|
})
|
|
165
164
|
|
|
166
|
-
it('outputs base goerli list correctly', async () => {
|
|
167
|
-
const tokenList = await chainifyTokenList(
|
|
168
|
-
[ChainId.BASE_GOERLI],
|
|
169
|
-
sampleL1TokenList_3
|
|
170
|
-
)
|
|
171
|
-
expect(tokenList).toBeDefined()
|
|
172
|
-
expect(tokenList?.version).toEqual(baseGoerliSampleTokenList_3.version)
|
|
173
|
-
expect(
|
|
174
|
-
tokenList?.tokens.map((t) => [t.address, t.chainId, t.extensions])
|
|
175
|
-
).toEqual(
|
|
176
|
-
// ignores other metadata
|
|
177
|
-
baseGoerliSampleTokenList_3.tokens.map((t) => [
|
|
178
|
-
t.address,
|
|
179
|
-
t.chainId,
|
|
180
|
-
t.extensions,
|
|
181
|
-
])
|
|
182
|
-
)
|
|
183
|
-
})
|
|
184
|
-
|
|
185
165
|
it('outputs base list correctly', async () => {
|
|
186
166
|
const tokenList = await chainifyTokenList([ChainId.BASE], sampleL1TokenList_3)
|
|
187
167
|
expect(tokenList).toBeDefined()
|
|
@@ -321,8 +301,8 @@ describe(chainify, () => {
|
|
|
321
301
|
[ChainId.BASE]: {
|
|
322
302
|
tokenAddress: DAI_BASE.address,
|
|
323
303
|
},
|
|
324
|
-
[ChainId.
|
|
325
|
-
tokenAddress:
|
|
304
|
+
[ChainId.UNICHAIN]: {
|
|
305
|
+
tokenAddress: DAI_UNICHAIN.address,
|
|
326
306
|
},
|
|
327
307
|
},
|
|
328
308
|
},
|
|
@@ -349,7 +329,8 @@ describe(chainify, () => {
|
|
|
349
329
|
},
|
|
350
330
|
},
|
|
351
331
|
{
|
|
352
|
-
...Tokens[ChainId.
|
|
332
|
+
...Tokens[ChainId.UNICHAIN]!.DAI,
|
|
333
|
+
name: 'Dai Stablecoin',
|
|
353
334
|
extensions: {
|
|
354
335
|
bridgeInfo: {
|
|
355
336
|
[ChainId.MAINNET]: {
|
|
@@ -359,7 +340,7 @@ describe(chainify, () => {
|
|
|
359
340
|
},
|
|
360
341
|
},
|
|
361
342
|
{
|
|
362
|
-
...Tokens[ChainId.
|
|
343
|
+
...Tokens[ChainId.POLYGON]!.DAI,
|
|
363
344
|
extensions: {
|
|
364
345
|
bridgeInfo: {
|
|
365
346
|
[ChainId.MAINNET]: {
|
|
@@ -369,32 +350,32 @@ describe(chainify, () => {
|
|
|
369
350
|
},
|
|
370
351
|
},
|
|
371
352
|
{
|
|
372
|
-
...Tokens[ChainId.
|
|
353
|
+
...Tokens[ChainId.BASE]!.DAI,
|
|
373
354
|
extensions: {
|
|
374
355
|
bridgeInfo: {
|
|
375
356
|
[ChainId.MAINNET]: {
|
|
376
357
|
tokenAddress: DAI.address,
|
|
377
|
-
// originBridgeAddress: arbBridgeL2Address,
|
|
378
|
-
// destBridgeAddress: arbBridgeL1Address,
|
|
379
358
|
},
|
|
380
359
|
},
|
|
381
360
|
},
|
|
382
|
-
name: 'Dai Stablecoin',
|
|
383
361
|
},
|
|
384
362
|
{
|
|
385
|
-
...Tokens[ChainId.
|
|
386
|
-
name: 'Dai Stablecoin',
|
|
387
|
-
symbol: 'DAI',
|
|
363
|
+
...Tokens[ChainId.ARBITRUM_ONE]!.DAI,
|
|
388
364
|
extensions: {
|
|
389
365
|
bridgeInfo: {
|
|
390
366
|
[ChainId.MAINNET]: {
|
|
391
367
|
tokenAddress: DAI.address,
|
|
368
|
+
// originBridgeAddress: arbBridgeL2Address,
|
|
369
|
+
// destBridgeAddress: arbBridgeL1Address,
|
|
392
370
|
},
|
|
393
371
|
},
|
|
394
372
|
},
|
|
373
|
+
name: 'Dai Stablecoin',
|
|
395
374
|
},
|
|
396
375
|
{
|
|
397
|
-
...Tokens[ChainId.
|
|
376
|
+
...Tokens[ChainId.AVALANCHE]!.DAI,
|
|
377
|
+
name: 'Dai Stablecoin',
|
|
378
|
+
symbol: 'DAI',
|
|
398
379
|
extensions: {
|
|
399
380
|
bridgeInfo: {
|
|
400
381
|
[ChainId.MAINNET]: {
|
|
@@ -420,12 +401,12 @@ describe(chainify, () => {
|
|
|
420
401
|
[ChainId.BASE]: {
|
|
421
402
|
tokenAddress: COINBASE_WRAPPED_STAKED_ETH_BASE.address,
|
|
422
403
|
},
|
|
423
|
-
[ChainId.BASE_GOERLI]: {
|
|
424
|
-
tokenAddress: COINBASE_WRAPPED_STAKED_ETH_BASE_GOERLI.address,
|
|
425
|
-
},
|
|
426
404
|
[ChainId.ARBITRUM_ONE]: {
|
|
427
405
|
tokenAddress: COINBASE_WRAPPED_STAKED_ETH_ARBITRUM_ONE.address,
|
|
428
406
|
},
|
|
407
|
+
[ChainId.UNICHAIN]: {
|
|
408
|
+
tokenAddress: COINBASE_WRAPPED_STAKED_ETH_UNICHAIN.address,
|
|
409
|
+
},
|
|
429
410
|
},
|
|
430
411
|
},
|
|
431
412
|
},
|
|
@@ -441,7 +422,7 @@ describe(chainify, () => {
|
|
|
441
422
|
},
|
|
442
423
|
},
|
|
443
424
|
{
|
|
444
|
-
...Tokens[ChainId.
|
|
425
|
+
...Tokens[ChainId.UNICHAIN]!.COINBASE_WRAPPED_STAKED_ETH,
|
|
445
426
|
name: 'Coinbase Wrapped Staked ETH',
|
|
446
427
|
extensions: {
|
|
447
428
|
bridgeInfo: {
|
|
@@ -452,7 +433,7 @@ describe(chainify, () => {
|
|
|
452
433
|
},
|
|
453
434
|
},
|
|
454
435
|
{
|
|
455
|
-
...Tokens[ChainId.
|
|
436
|
+
...Tokens[ChainId.BASE]!.COINBASE_WRAPPED_STAKED_ETH,
|
|
456
437
|
name: 'Coinbase Wrapped Staked ETH',
|
|
457
438
|
extensions: {
|
|
458
439
|
bridgeInfo: {
|
|
@@ -463,7 +444,7 @@ describe(chainify, () => {
|
|
|
463
444
|
},
|
|
464
445
|
},
|
|
465
446
|
{
|
|
466
|
-
...Tokens[ChainId.
|
|
447
|
+
...Tokens[ChainId.ARBITRUM_ONE]!.COINBASE_WRAPPED_STAKED_ETH,
|
|
467
448
|
name: 'Coinbase Wrapped Staked ETH',
|
|
468
449
|
extensions: {
|
|
469
450
|
bridgeInfo: {
|