@mimicprotocol/lib-ts 0.0.1-rc.40 → 0.0.1-rc.41

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @mimicprotocol/lib-ts
2
2
 
3
+ ## 0.0.1-rc.41
4
+
5
+ ### Patch Changes
6
+
7
+ - 54f7344: Add Polygon, Avalanche, and BNB chain support
8
+
3
9
  ## 0.0.1-rc.40
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mimicprotocol/lib-ts",
3
- "version": "0.0.1-rc.40",
3
+ "version": "0.0.1-rc.41",
4
4
  "license": "GPL-3.0",
5
5
  "private": false,
6
6
  "type": "module",
@@ -0,0 +1,15 @@
1
+ import { ERC20Token } from '../tokens'
2
+ import { ChainId } from '../types'
3
+
4
+ /* eslint-disable no-secrets/no-secrets */
5
+
6
+ export namespace Avalanche {
7
+ export const CHAIN_ID = ChainId.AVALANCHE
8
+ export const AVAX = ERC20Token.native(CHAIN_ID)
9
+ export const USDC = ERC20Token.fromString('0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', CHAIN_ID, 6, 'USDC')
10
+ export const USDT = ERC20Token.fromString('0x9702230A8Ea53601f5cd2dc00fDbc13d4dF4A8c7', CHAIN_ID, 6, 'USDt')
11
+ export const DAI = ERC20Token.fromString('0xd586E7F844cEa2F87f50152665BCbc2C279D8d70', CHAIN_ID, 18, 'DAI.e')
12
+ export const WBTC = ERC20Token.fromString('0x50b7545627a5162F82A992c33b87aDc75187B218', CHAIN_ID, 8, 'WBTC.e')
13
+ export const WETH = ERC20Token.fromString('0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB', CHAIN_ID, 18, 'WETH.e')
14
+ export const WAVAX = ERC20Token.fromString('0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7', CHAIN_ID, 18, 'WAVAX')
15
+ }
@@ -0,0 +1,15 @@
1
+ import { ERC20Token } from '../tokens'
2
+ import { ChainId } from '../types'
3
+
4
+ /* eslint-disable no-secrets/no-secrets */
5
+
6
+ export namespace BNB {
7
+ export const CHAIN_ID = ChainId.BNB
8
+ export const BNB = ERC20Token.native(CHAIN_ID)
9
+ export const USDC = ERC20Token.fromString('0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', CHAIN_ID, 18, 'USDC')
10
+ export const USDT = ERC20Token.fromString('0x55d398326f99059fF775485246999027B3197955', CHAIN_ID, 18, 'USDT')
11
+ export const DAI = ERC20Token.fromString('0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3', CHAIN_ID, 18, 'DAI')
12
+ export const WBTC = ERC20Token.fromString('0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3ead9c', CHAIN_ID, 18, 'BTCB')
13
+ export const WETH = ERC20Token.fromString('0x2170Ed0880ac9A755fd29B2688956BD959F933F8', CHAIN_ID, 18, 'ETH')
14
+ export const WBNB = ERC20Token.fromString('0xBB4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c', CHAIN_ID, 18, 'WBNB')
15
+ }
@@ -0,0 +1,15 @@
1
+ import { ERC20Token } from '../tokens'
2
+ import { ChainId } from '../types'
3
+
4
+ /* eslint-disable no-secrets/no-secrets */
5
+
6
+ export namespace Polygon {
7
+ export const CHAIN_ID = ChainId.POLYGON
8
+ export const POL = ERC20Token.native(CHAIN_ID)
9
+ export const USDC = ERC20Token.fromString('0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', CHAIN_ID, 6, 'USDC')
10
+ export const USDT = ERC20Token.fromString('0xc2132D05D31c914a87C6611C10748AEb04B58e8F', CHAIN_ID, 6, 'USDT0')
11
+ export const DAI = ERC20Token.fromString('0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063', CHAIN_ID, 18, 'DAI')
12
+ export const WBTC = ERC20Token.fromString('0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6', CHAIN_ID, 8, 'WBTC')
13
+ export const WETH = ERC20Token.fromString('0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619', CHAIN_ID, 18, 'WETH')
14
+ export const WPOL = ERC20Token.fromString('0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270', CHAIN_ID, 18, 'WPOL')
15
+ }
@@ -1,7 +1,10 @@
1
1
  export * from './Arbitrum'
2
+ export * from './Avalanche'
2
3
  export * from './Base'
3
4
  export * from './BaseSepolia'
5
+ export * from './BNB'
4
6
  export * from './Ethereum'
5
7
  export * from './Gnosis'
6
8
  export * from './Optimism'
9
+ export * from './Polygon'
7
10
  export * from './Sonic'
@@ -29,8 +29,14 @@ export class ERC20Token extends BlockchainToken {
29
29
  case ChainId.ARBITRUM:
30
30
  case ChainId.OPTIMISM:
31
31
  return ERC20Token.fromString(EVM_NATIVE_ADDRESS, chainId, 18, 'ETH')
32
+ case ChainId.BNB:
33
+ return ERC20Token.fromString(EVM_NATIVE_ADDRESS, chainId, 18, 'BNB')
32
34
  case ChainId.GNOSIS:
33
35
  return ERC20Token.fromString(EVM_NATIVE_ADDRESS, chainId, 18, 'xDAI')
36
+ case ChainId.POLYGON:
37
+ return ERC20Token.fromString('0x0000000000000000000000000000000000001010', chainId, 18, 'POL')
38
+ case ChainId.AVALANCHE:
39
+ return ERC20Token.fromString(EVM_NATIVE_ADDRESS, chainId, 18, 'AVAX')
34
40
  case ChainId.SONIC:
35
41
  return ERC20Token.fromString(EVM_NATIVE_ADDRESS, chainId, 18, 'SONIC')
36
42
  default:
@@ -1,4 +1,4 @@
1
- import { Arbitrum, Base, BaseSepolia, Ethereum, Gnosis, Optimism, Sonic } from '../chains'
1
+ import { Arbitrum, Avalanche, Base, BaseSepolia, BNB, Ethereum, Gnosis, Optimism, Polygon, Sonic } from '../chains'
2
2
 
3
3
  import { TokenProvider } from './TokenProvider'
4
4
 
@@ -23,6 +23,12 @@ export class Tokens {
23
23
  private readonly wbtc: TokenProvider = new TokenProvider('WBTC')
24
24
  private readonly weth: TokenProvider = new TokenProvider('WETH')
25
25
  private readonly eth: TokenProvider = new TokenProvider('ETH')
26
+ private readonly avax: TokenProvider = new TokenProvider('AVAX')
27
+ private readonly wavax: TokenProvider = new TokenProvider('WAVAX')
28
+ private readonly pol: TokenProvider = new TokenProvider('POL')
29
+ private readonly wpol: TokenProvider = new TokenProvider('WPOL')
30
+ private readonly bnb: TokenProvider = new TokenProvider('BNB')
31
+ private readonly wbnb: TokenProvider = new TokenProvider('WBNB')
26
32
  private readonly xdai: TokenProvider = new TokenProvider('xDAI')
27
33
  private readonly sonic: TokenProvider = new TokenProvider('SONIC')
28
34
  private readonly wxdai: TokenProvider = new TokenProvider('WXDAI')
@@ -45,6 +51,15 @@ export class Tokens {
45
51
  this.weth.register(Arbitrum.CHAIN_ID, Arbitrum.WETH)
46
52
  this.eth.register(Arbitrum.CHAIN_ID, Arbitrum.ETH)
47
53
 
54
+ // Avalanche
55
+ this.usdc.register(Avalanche.CHAIN_ID, Avalanche.USDC)
56
+ this.usdt.register(Avalanche.CHAIN_ID, Avalanche.USDT)
57
+ this.dai.register(Avalanche.CHAIN_ID, Avalanche.DAI)
58
+ this.wbtc.register(Avalanche.CHAIN_ID, Avalanche.WBTC)
59
+ this.weth.register(Avalanche.CHAIN_ID, Avalanche.WETH)
60
+ this.avax.register(Avalanche.CHAIN_ID, Avalanche.AVAX)
61
+ this.wavax.register(Avalanche.CHAIN_ID, Avalanche.WAVAX)
62
+
48
63
  // Base
49
64
  this.usdc.register(Base.CHAIN_ID, Base.USDC)
50
65
  this.usdt.register(Base.CHAIN_ID, Base.USDT)
@@ -53,6 +68,15 @@ export class Tokens {
53
68
  this.weth.register(Base.CHAIN_ID, Base.WETH)
54
69
  this.eth.register(Base.CHAIN_ID, Base.ETH)
55
70
 
71
+ // BNB
72
+ this.usdc.register(BNB.CHAIN_ID, BNB.USDC)
73
+ this.usdt.register(BNB.CHAIN_ID, BNB.USDT)
74
+ this.dai.register(BNB.CHAIN_ID, BNB.DAI)
75
+ this.wbtc.register(BNB.CHAIN_ID, BNB.WBTC)
76
+ this.weth.register(BNB.CHAIN_ID, BNB.WETH)
77
+ this.bnb.register(BNB.CHAIN_ID, BNB.BNB)
78
+ this.wbnb.register(BNB.CHAIN_ID, BNB.WBNB)
79
+
56
80
  // Optimism
57
81
  this.usdc.register(Optimism.CHAIN_ID, Optimism.USDC)
58
82
  this.usdt.register(Optimism.CHAIN_ID, Optimism.USDT)
@@ -69,6 +93,15 @@ export class Tokens {
69
93
  this.xdai.register(Gnosis.CHAIN_ID, Gnosis.xDAI)
70
94
  this.wxdai.register(Gnosis.CHAIN_ID, Gnosis.WXDAI)
71
95
 
96
+ // Polygon
97
+ this.usdc.register(Polygon.CHAIN_ID, Polygon.USDC)
98
+ this.usdt.register(Polygon.CHAIN_ID, Polygon.USDT)
99
+ this.dai.register(Polygon.CHAIN_ID, Polygon.DAI)
100
+ this.wbtc.register(Polygon.CHAIN_ID, Polygon.WBTC)
101
+ this.weth.register(Polygon.CHAIN_ID, Polygon.WETH)
102
+ this.pol.register(Polygon.CHAIN_ID, Polygon.POL)
103
+ this.wpol.register(Polygon.CHAIN_ID, Polygon.WPOL)
104
+
72
105
  // Sonic
73
106
  this.usdc.register(Sonic.CHAIN_ID, Sonic.USDC)
74
107
  this.usdt.register(Sonic.CHAIN_ID, Sonic.USDT)
@@ -111,6 +144,30 @@ export class Tokens {
111
144
  return Tokens.getInstance().eth
112
145
  }
113
146
 
147
+ static get AVAX(): TokenProvider {
148
+ return Tokens.getInstance().avax
149
+ }
150
+
151
+ static get WAVAX(): TokenProvider {
152
+ return Tokens.getInstance().wavax
153
+ }
154
+
155
+ static get POL(): TokenProvider {
156
+ return Tokens.getInstance().pol
157
+ }
158
+
159
+ static get WPOL(): TokenProvider {
160
+ return Tokens.getInstance().wpol
161
+ }
162
+
163
+ static get BNB(): TokenProvider {
164
+ return Tokens.getInstance().bnb
165
+ }
166
+
167
+ static get WBNB(): TokenProvider {
168
+ return Tokens.getInstance().wbnb
169
+ }
170
+
114
171
  static get XDAI(): TokenProvider {
115
172
  return Tokens.getInstance().xdai
116
173
  }
@@ -5,10 +5,13 @@
5
5
  export enum ChainId {
6
6
  ETHEREUM = 1,
7
7
  OPTIMISM = 10,
8
- ARBITRUM = 42161,
8
+ BNB = 56,
9
+ GNOSIS = 100,
10
+ POLYGON = 137,
11
+ SONIC = 146,
9
12
  BASE = 8453,
13
+ ARBITRUM = 42161,
14
+ AVALANCHE = 43114,
10
15
  BASE_SEPOLIA = 84532,
11
- GNOSIS = 100,
12
16
  SOLANA_MAINNET = 507424,
13
- SONIC = 146,
14
17
  }