@uniswap/token-list-bridge-utils 2.3.0 → 2.6.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.
@@ -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 DAI_BASE_GOERLI = new Token(
98
- ChainId.BASE_GOERLI,
99
- '0x174956bDfbCEb6e53089297cce4fE2825E58d92C',
97
+ export const DAI_UNICHAIN = new Token(
98
+ ChainId.UNICHAIN,
99
+ '0x20CAb320A855b39F724131C69424240519573f81',
100
100
  18,
101
101
  'DAI',
102
102
  'Dai Stablecoin'
@@ -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
+ }
@@ -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.BASE_GOERLI]: {
325
- tokenAddress: DAI_BASE_GOERLI.address,
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.POLYGON]!.DAI,
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.BASE]!.DAI,
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.ARBITRUM_ONE]!.DAI,
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.AVALANCHE]!.DAI,
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.BASE_GOERLI]!.DAI,
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.BASE]!.COINBASE_WRAPPED_STAKED_ETH,
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.ARBITRUM_ONE]!.COINBASE_WRAPPED_STAKED_ETH,
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.BASE_GOERLI]!.COINBASE_WRAPPED_STAKED_ETH,
447
+ ...Tokens[ChainId.ARBITRUM_ONE]!.COINBASE_WRAPPED_STAKED_ETH,
467
448
  name: 'Coinbase Wrapped Staked ETH',
468
449
  extensions: {
469
450
  bridgeInfo: {
package/src/index.ts CHANGED
@@ -26,7 +26,7 @@ export async function chainify(
26
26
  ChainId.BNB,
27
27
  ChainId.AVALANCHE,
28
28
  ChainId.BASE,
29
- ChainId.BASE_GOERLI,
29
+ ChainId.UNICHAIN,
30
30
  ]
31
31
 
32
32
  const chainified = await chainifyTokenList(l2Chains, l1TokenListOrPathOrUrl)