@mimicprotocol/lib-ts 0.0.1-rc.39 → 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 +13 -0
- package/constants.d.ts +1 -0
- package/package.json +9 -4
- package/src/chains/Avalanche.ts +15 -0
- package/src/chains/BNB.ts +15 -0
- package/src/chains/Polygon.ts +15 -0
- package/src/chains/index.ts +3 -0
- package/src/helpers/constants.ts +0 -2
- package/src/tokens/ERC20Token.ts +6 -0
- package/src/tokens/Tokens.ts +58 -1
- package/src/types/ChainId.ts +6 -3
- /package/{constants.ts → constants.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
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
|
+
|
|
9
|
+
## 0.0.1-rc.40
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 32adf4f: Fix ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING for new node versions
|
|
14
|
+
- 2bbe278: update eslint config
|
|
15
|
+
|
|
3
16
|
## 0.0.1-rc.39
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/constants.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const RUNNER_TARGET_VERSION: string
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mimicprotocol/lib-ts",
|
|
3
|
-
"version": "0.0.1-rc.
|
|
3
|
+
"version": "0.0.1-rc.41",
|
|
4
4
|
"license": "GPL-3.0",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -12,12 +12,17 @@
|
|
|
12
12
|
"files": [
|
|
13
13
|
"src",
|
|
14
14
|
"index.ts",
|
|
15
|
-
"constants.
|
|
15
|
+
"constants.js",
|
|
16
|
+
"constants.d.ts",
|
|
16
17
|
"asconfig.json"
|
|
17
18
|
],
|
|
18
19
|
"exports": {
|
|
19
20
|
".": "./index.ts",
|
|
20
|
-
"./constants":
|
|
21
|
+
"./constants": {
|
|
22
|
+
"import": "./constants.js",
|
|
23
|
+
"require": "./constants.js",
|
|
24
|
+
"types": "./constants.d.ts"
|
|
25
|
+
}
|
|
21
26
|
},
|
|
22
27
|
"devDependencies": {
|
|
23
28
|
"@as-pect/cli": "8.1.0",
|
|
@@ -25,7 +30,7 @@
|
|
|
25
30
|
},
|
|
26
31
|
"dependencies": {
|
|
27
32
|
"as-base58": "^0.1.1",
|
|
28
|
-
"eslint-config-mimic": "^0.0.
|
|
33
|
+
"eslint-config-mimic": "^0.0.4",
|
|
29
34
|
"json-as": "1.1.7",
|
|
30
35
|
"visitor-as": "0.11.4"
|
|
31
36
|
},
|
|
@@ -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
|
+
}
|
package/src/chains/index.ts
CHANGED
|
@@ -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'
|
package/src/helpers/constants.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-secrets/no-secrets */
|
|
2
|
-
|
|
3
1
|
export const NULL_ADDRESS = '0x0000000000000000000000000000000000000000'
|
|
4
2
|
export const EVM_NATIVE_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
|
|
5
3
|
export const SVM_NATIVE_ADDRESS = 'Nativeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
|
package/src/tokens/ERC20Token.ts
CHANGED
|
@@ -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:
|
package/src/tokens/Tokens.ts
CHANGED
|
@@ -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
|
}
|
package/src/types/ChainId.ts
CHANGED
|
@@ -5,10 +5,13 @@
|
|
|
5
5
|
export enum ChainId {
|
|
6
6
|
ETHEREUM = 1,
|
|
7
7
|
OPTIMISM = 10,
|
|
8
|
-
|
|
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
|
}
|
|
File without changes
|