@synthra-swap/smart-order-router 3.15.19 → 3.15.21

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.
Files changed (33) hide show
  1. package/build/main/providers/token-provider.d.ts +2 -0
  2. package/build/main/providers/token-provider.js +9 -3
  3. package/build/main/providers/v3/pool-provider.js +2 -1
  4. package/build/main/providers/v3/static-subgraph-provider.js +9 -1
  5. package/build/main/routers/alpha-router/functions/get-candidate-pools.d.ts +1 -1
  6. package/build/main/routers/alpha-router/functions/get-candidate-pools.js +9 -18
  7. package/build/main/routers/alpha-router/gas-models/gas-model.js +3 -1
  8. package/build/main/routers/alpha-router/gas-models/v3/gas-costs.js +7 -1
  9. package/build/main/routers/legacy-router/bases.d.ts +12 -0
  10. package/build/main/routers/legacy-router/bases.js +4 -1
  11. package/build/main/tsconfig.tsbuildinfo +1 -1
  12. package/build/main/util/addresses.d.ts +2 -0
  13. package/build/main/util/addresses.js +13 -5
  14. package/build/main/util/chains.d.ts +6 -2
  15. package/build/main/util/chains.js +515 -591
  16. package/build/module/providers/token-provider.d.ts +2 -0
  17. package/build/module/providers/token-provider.js +8 -2
  18. package/build/module/providers/v3/pool-provider.js +2 -1
  19. package/build/module/providers/v3/static-subgraph-provider.js +10 -2
  20. package/build/module/routers/alpha-router/functions/get-candidate-pools.d.ts +1 -1
  21. package/build/module/routers/alpha-router/functions/get-candidate-pools.js +10 -19
  22. package/build/module/routers/alpha-router/gas-models/gas-model.js +4 -2
  23. package/build/module/routers/alpha-router/gas-models/v3/gas-costs.js +7 -1
  24. package/build/module/routers/legacy-router/bases.d.ts +12 -0
  25. package/build/module/routers/legacy-router/bases.js +5 -2
  26. package/build/module/tsconfig.module.tsbuildinfo +1 -1
  27. package/build/module/util/addresses.d.ts +2 -0
  28. package/build/module/util/addresses.js +17 -3
  29. package/build/module/util/chains.d.ts +6 -2
  30. package/build/module/util/chains.js +508 -547
  31. package/package.json +4 -4
  32. package/build/main/util/gas-factory-helpers.d.ts +0 -25
  33. package/build/module/util/gas-factory-helpers.d.ts +0 -25
@@ -1,653 +1,577 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- exports.nativeOnChain =
4
- exports.ExtendedEther =
5
- exports.WRAPPED_NATIVE_CURRENCY =
6
- exports.ID_TO_PROVIDER =
7
- exports.CHAIN_IDS_LIST =
8
- exports.ID_TO_NETWORK_NAME =
9
- exports.NATIVE_CURRENCY =
10
- exports.NATIVE_NAMES_BY_ID =
11
- exports.NativeCurrencyName =
12
- exports.ChainName =
13
- exports.ID_TO_CHAIN_ID =
14
- exports.NETWORKS_WITH_SAME_UNISWAP_ADDRESSES =
15
- exports.HAS_L1_FEE =
16
- exports.V2_SUPPORTED =
17
- exports.SUPPORTED_CHAINS =
18
- void 0;
19
- const sdk_core_1 = require('@synthra-swap/sdk-core');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nativeOnChain = exports.ExtendedEther = exports.WRAPPED_NATIVE_CURRENCY = exports.ID_TO_PROVIDER = exports.CHAIN_IDS_LIST = exports.ID_TO_NETWORK_NAME = exports.NATIVE_CURRENCY = exports.NATIVE_NAMES_BY_ID = exports.NativeCurrencyName = exports.ChainName = exports.ID_TO_CHAIN_ID = exports.NETWORKS_WITH_SAME_UNISWAP_ADDRESSES = exports.HAS_L1_FEE = exports.V2_SUPPORTED = exports.SUPPORTED_CHAINS = void 0;
4
+ const sdk_core_1 = require("@synthra-swap/sdk-core");
20
5
  exports.SUPPORTED_CHAINS = [
21
- sdk_core_1.ChainId.MAINNET,
22
- sdk_core_1.ChainId.OPTIMISM,
23
- sdk_core_1.ChainId.OPTIMISM_GOERLI,
24
- sdk_core_1.ChainId.ARBITRUM_ONE,
25
- sdk_core_1.ChainId.ARBITRUM_GOERLI,
26
- sdk_core_1.ChainId.POLYGON,
27
- sdk_core_1.ChainId.POLYGON_MUMBAI,
28
- sdk_core_1.ChainId.GOERLI,
29
- sdk_core_1.ChainId.SEPOLIA,
30
- sdk_core_1.ChainId.CELO_ALFAJORES,
31
- sdk_core_1.ChainId.CELO,
32
- sdk_core_1.ChainId.BNB,
33
- sdk_core_1.ChainId.AVALANCHE,
34
- sdk_core_1.ChainId.BASE,
35
- sdk_core_1.ChainId.UOMI,
36
- // Gnosis and Moonbeam don't yet have contracts deployed yet
37
- ];
38
- exports.V2_SUPPORTED = [
39
- sdk_core_1.ChainId.MAINNET,
40
- sdk_core_1.ChainId.GOERLI,
41
- sdk_core_1.ChainId.SEPOLIA,
6
+ sdk_core_1.ChainId.MAINNET,
7
+ sdk_core_1.ChainId.OPTIMISM,
8
+ sdk_core_1.ChainId.OPTIMISM_GOERLI,
9
+ sdk_core_1.ChainId.ARBITRUM_ONE,
10
+ sdk_core_1.ChainId.ARBITRUM_GOERLI,
11
+ sdk_core_1.ChainId.POLYGON,
12
+ sdk_core_1.ChainId.POLYGON_MUMBAI,
13
+ sdk_core_1.ChainId.GOERLI,
14
+ sdk_core_1.ChainId.SEPOLIA,
15
+ sdk_core_1.ChainId.CELO_ALFAJORES,
16
+ sdk_core_1.ChainId.CELO,
17
+ sdk_core_1.ChainId.BNB,
18
+ sdk_core_1.ChainId.AVALANCHE,
19
+ sdk_core_1.ChainId.BASE,
20
+ sdk_core_1.ChainId.UOMI,
21
+ sdk_core_1.ChainId.IRYS,
22
+ sdk_core_1.ChainId.HELIOS,
23
+ // Gnosis and Moonbeam don't yet have contracts deployed yet
42
24
  ];
25
+ exports.V2_SUPPORTED = [sdk_core_1.ChainId.MAINNET, sdk_core_1.ChainId.GOERLI, sdk_core_1.ChainId.SEPOLIA];
43
26
  exports.HAS_L1_FEE = [
44
- sdk_core_1.ChainId.OPTIMISM,
45
- sdk_core_1.ChainId.OPTIMISM_GOERLI,
46
- sdk_core_1.ChainId.ARBITRUM_ONE,
47
- sdk_core_1.ChainId.ARBITRUM_GOERLI,
48
- sdk_core_1.ChainId.BASE,
49
- sdk_core_1.ChainId.BASE_GOERLI,
27
+ sdk_core_1.ChainId.OPTIMISM,
28
+ sdk_core_1.ChainId.OPTIMISM_GOERLI,
29
+ sdk_core_1.ChainId.ARBITRUM_ONE,
30
+ sdk_core_1.ChainId.ARBITRUM_GOERLI,
31
+ sdk_core_1.ChainId.BASE,
32
+ sdk_core_1.ChainId.BASE_GOERLI,
50
33
  ];
51
34
  exports.NETWORKS_WITH_SAME_UNISWAP_ADDRESSES = [
52
- sdk_core_1.ChainId.MAINNET,
53
- sdk_core_1.ChainId.GOERLI,
54
- sdk_core_1.ChainId.OPTIMISM,
55
- sdk_core_1.ChainId.ARBITRUM_ONE,
56
- sdk_core_1.ChainId.POLYGON,
57
- sdk_core_1.ChainId.POLYGON_MUMBAI,
35
+ sdk_core_1.ChainId.MAINNET,
36
+ sdk_core_1.ChainId.GOERLI,
37
+ sdk_core_1.ChainId.OPTIMISM,
38
+ sdk_core_1.ChainId.ARBITRUM_ONE,
39
+ sdk_core_1.ChainId.POLYGON,
40
+ sdk_core_1.ChainId.POLYGON_MUMBAI,
58
41
  ];
59
42
  const ID_TO_CHAIN_ID = (id) => {
60
- switch (id) {
61
- case 1:
62
- return sdk_core_1.ChainId.MAINNET;
63
- case 5:
64
- return sdk_core_1.ChainId.GOERLI;
65
- case 11155111:
66
- return sdk_core_1.ChainId.SEPOLIA;
67
- case 56:
68
- return sdk_core_1.ChainId.BNB;
69
- case 10:
70
- return sdk_core_1.ChainId.OPTIMISM;
71
- case 420:
72
- return sdk_core_1.ChainId.OPTIMISM_GOERLI;
73
- case 42161:
74
- return sdk_core_1.ChainId.ARBITRUM_ONE;
75
- case 421613:
76
- return sdk_core_1.ChainId.ARBITRUM_GOERLI;
77
- case 137:
78
- return sdk_core_1.ChainId.POLYGON;
79
- case 80001:
80
- return sdk_core_1.ChainId.POLYGON_MUMBAI;
81
- case 42220:
82
- return sdk_core_1.ChainId.CELO;
83
- case 44787:
84
- return sdk_core_1.ChainId.CELO_ALFAJORES;
85
- case 100:
86
- return sdk_core_1.ChainId.GNOSIS;
87
- case 1284:
88
- return sdk_core_1.ChainId.MOONBEAM;
89
- case 43114:
90
- return sdk_core_1.ChainId.AVALANCHE;
91
- case 8453:
92
- return sdk_core_1.ChainId.BASE;
93
- case 84531:
94
- return sdk_core_1.ChainId.BASE_GOERLI;
95
- case 4386:
96
- return sdk_core_1.ChainId.UOMI;
97
- default:
98
- throw new Error(`Unknown chain id: ${id}`);
99
- }
43
+ switch (id) {
44
+ case 1:
45
+ return sdk_core_1.ChainId.MAINNET;
46
+ case 5:
47
+ return sdk_core_1.ChainId.GOERLI;
48
+ case 11155111:
49
+ return sdk_core_1.ChainId.SEPOLIA;
50
+ case 56:
51
+ return sdk_core_1.ChainId.BNB;
52
+ case 10:
53
+ return sdk_core_1.ChainId.OPTIMISM;
54
+ case 420:
55
+ return sdk_core_1.ChainId.OPTIMISM_GOERLI;
56
+ case 42161:
57
+ return sdk_core_1.ChainId.ARBITRUM_ONE;
58
+ case 421613:
59
+ return sdk_core_1.ChainId.ARBITRUM_GOERLI;
60
+ case 137:
61
+ return sdk_core_1.ChainId.POLYGON;
62
+ case 80001:
63
+ return sdk_core_1.ChainId.POLYGON_MUMBAI;
64
+ case 42220:
65
+ return sdk_core_1.ChainId.CELO;
66
+ case 44787:
67
+ return sdk_core_1.ChainId.CELO_ALFAJORES;
68
+ case 100:
69
+ return sdk_core_1.ChainId.GNOSIS;
70
+ case 1284:
71
+ return sdk_core_1.ChainId.MOONBEAM;
72
+ case 43114:
73
+ return sdk_core_1.ChainId.AVALANCHE;
74
+ case 8453:
75
+ return sdk_core_1.ChainId.BASE;
76
+ case 84531:
77
+ return sdk_core_1.ChainId.BASE_GOERLI;
78
+ case 4386:
79
+ return sdk_core_1.ChainId.UOMI;
80
+ case 1270:
81
+ return sdk_core_1.ChainId.IRYS;
82
+ case 42000:
83
+ return sdk_core_1.ChainId.HELIOS;
84
+ default:
85
+ throw new Error(`Unknown chain id: ${id}`);
86
+ }
100
87
  };
101
88
  exports.ID_TO_CHAIN_ID = ID_TO_CHAIN_ID;
102
89
  var ChainName;
103
90
  (function (ChainName) {
104
- ChainName['MAINNET'] = 'mainnet';
105
- ChainName['GOERLI'] = 'goerli';
106
- ChainName['SEPOLIA'] = 'sepolia';
107
- ChainName['OPTIMISM'] = 'optimism-mainnet';
108
- ChainName['OPTIMISM_GOERLI'] = 'optimism-goerli';
109
- ChainName['ARBITRUM_ONE'] = 'arbitrum-mainnet';
110
- ChainName['ARBITRUM_GOERLI'] = 'arbitrum-goerli';
111
- ChainName['POLYGON'] = 'polygon-mainnet';
112
- ChainName['POLYGON_MUMBAI'] = 'polygon-mumbai';
113
- ChainName['CELO'] = 'celo-mainnet';
114
- ChainName['CELO_ALFAJORES'] = 'celo-alfajores';
115
- ChainName['GNOSIS'] = 'gnosis-mainnet';
116
- ChainName['MOONBEAM'] = 'moonbeam-mainnet';
117
- ChainName['BNB'] = 'bnb-mainnet';
118
- ChainName['AVALANCHE'] = 'avalanche-mainnet';
119
- ChainName['BASE'] = 'base-mainnet';
120
- ChainName['BASE_GOERLI'] = 'base-goerli';
121
- ChainName['UOMI'] = 'uomi';
122
- })((ChainName = exports.ChainName || (exports.ChainName = {})));
91
+ ChainName["MAINNET"] = "mainnet";
92
+ ChainName["GOERLI"] = "goerli";
93
+ ChainName["SEPOLIA"] = "sepolia";
94
+ ChainName["OPTIMISM"] = "optimism-mainnet";
95
+ ChainName["OPTIMISM_GOERLI"] = "optimism-goerli";
96
+ ChainName["ARBITRUM_ONE"] = "arbitrum-mainnet";
97
+ ChainName["ARBITRUM_GOERLI"] = "arbitrum-goerli";
98
+ ChainName["POLYGON"] = "polygon-mainnet";
99
+ ChainName["POLYGON_MUMBAI"] = "polygon-mumbai";
100
+ ChainName["CELO"] = "celo-mainnet";
101
+ ChainName["CELO_ALFAJORES"] = "celo-alfajores";
102
+ ChainName["GNOSIS"] = "gnosis-mainnet";
103
+ ChainName["MOONBEAM"] = "moonbeam-mainnet";
104
+ ChainName["BNB"] = "bnb-mainnet";
105
+ ChainName["AVALANCHE"] = "avalanche-mainnet";
106
+ ChainName["BASE"] = "base-mainnet";
107
+ ChainName["BASE_GOERLI"] = "base-goerli";
108
+ ChainName["UOMI"] = "uomi";
109
+ ChainName["IRYS"] = "irys";
110
+ ChainName["HELIOS"] = "helios";
111
+ })(ChainName = exports.ChainName || (exports.ChainName = {}));
123
112
  var NativeCurrencyName;
124
113
  (function (NativeCurrencyName) {
125
- // Strings match input for CLI
126
- NativeCurrencyName['ETHER'] = 'ETH';
127
- NativeCurrencyName['MATIC'] = 'MATIC';
128
- NativeCurrencyName['CELO'] = 'CELO';
129
- NativeCurrencyName['GNOSIS'] = 'XDAI';
130
- NativeCurrencyName['MOONBEAM'] = 'GLMR';
131
- NativeCurrencyName['BNB'] = 'BNB';
132
- NativeCurrencyName['AVALANCHE'] = 'AVAX';
133
- NativeCurrencyName['UOMI'] = 'UOMI';
134
- })(
135
- (NativeCurrencyName =
136
- exports.NativeCurrencyName || (exports.NativeCurrencyName = {}))
137
- );
114
+ // Strings match input for CLI
115
+ NativeCurrencyName["ETHER"] = "ETH";
116
+ NativeCurrencyName["MATIC"] = "MATIC";
117
+ NativeCurrencyName["CELO"] = "CELO";
118
+ NativeCurrencyName["GNOSIS"] = "XDAI";
119
+ NativeCurrencyName["MOONBEAM"] = "GLMR";
120
+ NativeCurrencyName["BNB"] = "BNB";
121
+ NativeCurrencyName["AVALANCHE"] = "AVAX";
122
+ NativeCurrencyName["UOMI"] = "UOMI";
123
+ NativeCurrencyName["IRYS"] = "IRYS";
124
+ NativeCurrencyName["HELIOS"] = "HELIOS";
125
+ })(NativeCurrencyName = exports.NativeCurrencyName || (exports.NativeCurrencyName = {}));
138
126
  exports.NATIVE_NAMES_BY_ID = {
139
- [sdk_core_1.ChainId.MAINNET]: [
140
- 'ETH',
141
- 'ETHER',
142
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
143
- ],
144
- [sdk_core_1.ChainId.GOERLI]: [
145
- 'ETH',
146
- 'ETHER',
147
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
148
- ],
149
- [sdk_core_1.ChainId.SEPOLIA]: [
150
- 'ETH',
151
- 'ETHER',
152
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
153
- ],
154
- [sdk_core_1.ChainId.OPTIMISM]: [
155
- 'ETH',
156
- 'ETHER',
157
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
158
- ],
159
- [sdk_core_1.ChainId.OPTIMISM_GOERLI]: [
160
- 'ETH',
161
- 'ETHER',
162
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
163
- ],
164
- [sdk_core_1.ChainId.ARBITRUM_ONE]: [
165
- 'ETH',
166
- 'ETHER',
167
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
168
- ],
169
- [sdk_core_1.ChainId.ARBITRUM_GOERLI]: [
170
- 'ETH',
171
- 'ETHER',
172
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
173
- ],
174
- [sdk_core_1.ChainId.POLYGON]: [
175
- 'MATIC',
176
- '0x0000000000000000000000000000000000001010',
177
- ],
178
- [sdk_core_1.ChainId.POLYGON_MUMBAI]: [
179
- 'MATIC',
180
- '0x0000000000000000000000000000000000001010',
181
- ],
182
- [sdk_core_1.ChainId.CELO]: ['CELO'],
183
- [sdk_core_1.ChainId.CELO_ALFAJORES]: ['CELO'],
184
- [sdk_core_1.ChainId.GNOSIS]: ['XDAI'],
185
- [sdk_core_1.ChainId.MOONBEAM]: ['GLMR'],
186
- [sdk_core_1.ChainId.BNB]: [
187
- 'BNB',
188
- 'BNB',
189
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
190
- ],
191
- [sdk_core_1.ChainId.AVALANCHE]: [
192
- 'AVAX',
193
- 'AVALANCHE',
194
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
195
- ],
196
- [sdk_core_1.ChainId.BASE]: [
197
- 'ETH',
198
- 'ETHER',
199
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
200
- ],
201
- [sdk_core_1.ChainId.UOMI]: [
202
- 'UOMI',
203
- 'UOMI',
204
- '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
205
- ],
127
+ [sdk_core_1.ChainId.MAINNET]: [
128
+ 'ETH',
129
+ 'ETHER',
130
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
131
+ ],
132
+ [sdk_core_1.ChainId.GOERLI]: [
133
+ 'ETH',
134
+ 'ETHER',
135
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
136
+ ],
137
+ [sdk_core_1.ChainId.SEPOLIA]: [
138
+ 'ETH',
139
+ 'ETHER',
140
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
141
+ ],
142
+ [sdk_core_1.ChainId.OPTIMISM]: [
143
+ 'ETH',
144
+ 'ETHER',
145
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
146
+ ],
147
+ [sdk_core_1.ChainId.OPTIMISM_GOERLI]: [
148
+ 'ETH',
149
+ 'ETHER',
150
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
151
+ ],
152
+ [sdk_core_1.ChainId.ARBITRUM_ONE]: [
153
+ 'ETH',
154
+ 'ETHER',
155
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
156
+ ],
157
+ [sdk_core_1.ChainId.ARBITRUM_GOERLI]: [
158
+ 'ETH',
159
+ 'ETHER',
160
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
161
+ ],
162
+ [sdk_core_1.ChainId.POLYGON]: ['MATIC', '0x0000000000000000000000000000000000001010'],
163
+ [sdk_core_1.ChainId.POLYGON_MUMBAI]: [
164
+ 'MATIC',
165
+ '0x0000000000000000000000000000000000001010',
166
+ ],
167
+ [sdk_core_1.ChainId.CELO]: ['CELO'],
168
+ [sdk_core_1.ChainId.CELO_ALFAJORES]: ['CELO'],
169
+ [sdk_core_1.ChainId.GNOSIS]: ['XDAI'],
170
+ [sdk_core_1.ChainId.MOONBEAM]: ['GLMR'],
171
+ [sdk_core_1.ChainId.BNB]: ['BNB', 'BNB', '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'],
172
+ [sdk_core_1.ChainId.AVALANCHE]: [
173
+ 'AVAX',
174
+ 'AVALANCHE',
175
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
176
+ ],
177
+ [sdk_core_1.ChainId.BASE]: [
178
+ 'ETH',
179
+ 'ETHER',
180
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
181
+ ],
182
+ [sdk_core_1.ChainId.UOMI]: [
183
+ 'UOMI',
184
+ 'UOMI',
185
+ '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
186
+ ],
187
+ [sdk_core_1.ChainId.IRYS]: ['IRYS', '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'],
188
+ [sdk_core_1.ChainId.HELIOS]: ['HELIOS', '0xD4949664cD82660AaE99bEdc034a0deA8A0bd517'],
206
189
  };
207
190
  exports.NATIVE_CURRENCY = {
208
- [sdk_core_1.ChainId.MAINNET]: NativeCurrencyName.ETHER,
209
- [sdk_core_1.ChainId.GOERLI]: NativeCurrencyName.ETHER,
210
- [sdk_core_1.ChainId.SEPOLIA]: NativeCurrencyName.ETHER,
211
- [sdk_core_1.ChainId.OPTIMISM]: NativeCurrencyName.ETHER,
212
- [sdk_core_1.ChainId.OPTIMISM_GOERLI]: NativeCurrencyName.ETHER,
213
- [sdk_core_1.ChainId.ARBITRUM_ONE]: NativeCurrencyName.ETHER,
214
- [sdk_core_1.ChainId.ARBITRUM_GOERLI]: NativeCurrencyName.ETHER,
215
- [sdk_core_1.ChainId.POLYGON]: NativeCurrencyName.MATIC,
216
- [sdk_core_1.ChainId.POLYGON_MUMBAI]: NativeCurrencyName.MATIC,
217
- [sdk_core_1.ChainId.CELO]: NativeCurrencyName.CELO,
218
- [sdk_core_1.ChainId.CELO_ALFAJORES]: NativeCurrencyName.CELO,
219
- [sdk_core_1.ChainId.GNOSIS]: NativeCurrencyName.GNOSIS,
220
- [sdk_core_1.ChainId.MOONBEAM]: NativeCurrencyName.MOONBEAM,
221
- [sdk_core_1.ChainId.BNB]: NativeCurrencyName.BNB,
222
- [sdk_core_1.ChainId.AVALANCHE]: NativeCurrencyName.AVALANCHE,
223
- [sdk_core_1.ChainId.BASE]: NativeCurrencyName.ETHER,
224
- [sdk_core_1.ChainId.UOMI]: NativeCurrencyName.UOMI,
191
+ [sdk_core_1.ChainId.MAINNET]: NativeCurrencyName.ETHER,
192
+ [sdk_core_1.ChainId.GOERLI]: NativeCurrencyName.ETHER,
193
+ [sdk_core_1.ChainId.SEPOLIA]: NativeCurrencyName.ETHER,
194
+ [sdk_core_1.ChainId.OPTIMISM]: NativeCurrencyName.ETHER,
195
+ [sdk_core_1.ChainId.OPTIMISM_GOERLI]: NativeCurrencyName.ETHER,
196
+ [sdk_core_1.ChainId.ARBITRUM_ONE]: NativeCurrencyName.ETHER,
197
+ [sdk_core_1.ChainId.ARBITRUM_GOERLI]: NativeCurrencyName.ETHER,
198
+ [sdk_core_1.ChainId.POLYGON]: NativeCurrencyName.MATIC,
199
+ [sdk_core_1.ChainId.POLYGON_MUMBAI]: NativeCurrencyName.MATIC,
200
+ [sdk_core_1.ChainId.CELO]: NativeCurrencyName.CELO,
201
+ [sdk_core_1.ChainId.CELO_ALFAJORES]: NativeCurrencyName.CELO,
202
+ [sdk_core_1.ChainId.GNOSIS]: NativeCurrencyName.GNOSIS,
203
+ [sdk_core_1.ChainId.MOONBEAM]: NativeCurrencyName.MOONBEAM,
204
+ [sdk_core_1.ChainId.BNB]: NativeCurrencyName.BNB,
205
+ [sdk_core_1.ChainId.AVALANCHE]: NativeCurrencyName.AVALANCHE,
206
+ [sdk_core_1.ChainId.BASE]: NativeCurrencyName.ETHER,
207
+ [sdk_core_1.ChainId.UOMI]: NativeCurrencyName.UOMI,
208
+ [sdk_core_1.ChainId.IRYS]: NativeCurrencyName.IRYS,
209
+ [sdk_core_1.ChainId.HELIOS]: NativeCurrencyName.HELIOS,
225
210
  };
226
211
  const ID_TO_NETWORK_NAME = (id) => {
227
- switch (id) {
228
- case 1:
229
- return ChainName.MAINNET;
230
- case 5:
231
- return ChainName.GOERLI;
232
- case 11155111:
233
- return ChainName.SEPOLIA;
234
- case 56:
235
- return ChainName.BNB;
236
- case 10:
237
- return ChainName.OPTIMISM;
238
- case 420:
239
- return ChainName.OPTIMISM_GOERLI;
240
- case 42161:
241
- return ChainName.ARBITRUM_ONE;
242
- case 421613:
243
- return ChainName.ARBITRUM_GOERLI;
244
- case 137:
245
- return ChainName.POLYGON;
246
- case 80001:
247
- return ChainName.POLYGON_MUMBAI;
248
- case 42220:
249
- return ChainName.CELO;
250
- case 44787:
251
- return ChainName.CELO_ALFAJORES;
252
- case 100:
253
- return ChainName.GNOSIS;
254
- case 1284:
255
- return ChainName.MOONBEAM;
256
- case 43114:
257
- return ChainName.AVALANCHE;
258
- case 8453:
259
- return ChainName.BASE;
260
- case 84531:
261
- return ChainName.BASE_GOERLI;
262
- case 4386:
263
- return ChainName.UOMI;
264
- default:
265
- throw new Error(`Unknown chain id: ${id}`);
266
- }
212
+ switch (id) {
213
+ case 1:
214
+ return ChainName.MAINNET;
215
+ case 5:
216
+ return ChainName.GOERLI;
217
+ case 11155111:
218
+ return ChainName.SEPOLIA;
219
+ case 56:
220
+ return ChainName.BNB;
221
+ case 10:
222
+ return ChainName.OPTIMISM;
223
+ case 420:
224
+ return ChainName.OPTIMISM_GOERLI;
225
+ case 42161:
226
+ return ChainName.ARBITRUM_ONE;
227
+ case 421613:
228
+ return ChainName.ARBITRUM_GOERLI;
229
+ case 137:
230
+ return ChainName.POLYGON;
231
+ case 80001:
232
+ return ChainName.POLYGON_MUMBAI;
233
+ case 42220:
234
+ return ChainName.CELO;
235
+ case 44787:
236
+ return ChainName.CELO_ALFAJORES;
237
+ case 100:
238
+ return ChainName.GNOSIS;
239
+ case 1284:
240
+ return ChainName.MOONBEAM;
241
+ case 43114:
242
+ return ChainName.AVALANCHE;
243
+ case 8453:
244
+ return ChainName.BASE;
245
+ case 84531:
246
+ return ChainName.BASE_GOERLI;
247
+ case 4386:
248
+ return ChainName.UOMI;
249
+ case 1270:
250
+ return ChainName.IRYS;
251
+ case 42000:
252
+ return ChainName.HELIOS;
253
+ default:
254
+ throw new Error(`Unknown chain id: ${id}`);
255
+ }
267
256
  };
268
257
  exports.ID_TO_NETWORK_NAME = ID_TO_NETWORK_NAME;
269
- exports.CHAIN_IDS_LIST = Object.values(sdk_core_1.ChainId).map((c) =>
270
- c.toString()
271
- );
258
+ exports.CHAIN_IDS_LIST = Object.values(sdk_core_1.ChainId).map((c) => c.toString());
272
259
  const ID_TO_PROVIDER = (id) => {
273
- switch (id) {
274
- case sdk_core_1.ChainId.MAINNET:
275
- return process.env.JSON_RPC_PROVIDER;
276
- case sdk_core_1.ChainId.GOERLI:
277
- return process.env.JSON_RPC_PROVIDER_GORLI;
278
- case sdk_core_1.ChainId.SEPOLIA:
279
- return process.env.JSON_RPC_PROVIDER_SEPOLIA;
280
- case sdk_core_1.ChainId.OPTIMISM:
281
- return process.env.JSON_RPC_PROVIDER_OPTIMISM;
282
- case sdk_core_1.ChainId.OPTIMISM_GOERLI:
283
- return process.env.JSON_RPC_PROVIDER_OPTIMISM_GOERLI;
284
- case sdk_core_1.ChainId.ARBITRUM_ONE:
285
- return process.env.JSON_RPC_PROVIDER_ARBITRUM_ONE;
286
- case sdk_core_1.ChainId.ARBITRUM_GOERLI:
287
- return process.env.JSON_RPC_PROVIDER_ARBITRUM_GOERLI;
288
- case sdk_core_1.ChainId.POLYGON:
289
- return process.env.JSON_RPC_PROVIDER_POLYGON;
290
- case sdk_core_1.ChainId.POLYGON_MUMBAI:
291
- return process.env.JSON_RPC_PROVIDER_POLYGON_MUMBAI;
292
- case sdk_core_1.ChainId.CELO:
293
- return process.env.JSON_RPC_PROVIDER_CELO;
294
- case sdk_core_1.ChainId.CELO_ALFAJORES:
295
- return process.env.JSON_RPC_PROVIDER_CELO_ALFAJORES;
296
- case sdk_core_1.ChainId.BNB:
297
- return process.env.JSON_RPC_PROVIDER_BNB;
298
- case sdk_core_1.ChainId.AVALANCHE:
299
- return process.env.JSON_RPC_PROVIDER_AVALANCHE;
300
- case sdk_core_1.ChainId.BASE:
301
- return process.env.JSON_RPC_PROVIDER_BASE;
302
- case sdk_core_1.ChainId.UOMI:
303
- return 'https://turing.uomi.ai';
304
- default:
305
- throw new Error(`Chain id: ${id} not supported`);
306
- }
260
+ switch (id) {
261
+ case sdk_core_1.ChainId.MAINNET:
262
+ return process.env.JSON_RPC_PROVIDER;
263
+ case sdk_core_1.ChainId.GOERLI:
264
+ return process.env.JSON_RPC_PROVIDER_GORLI;
265
+ case sdk_core_1.ChainId.SEPOLIA:
266
+ return process.env.JSON_RPC_PROVIDER_SEPOLIA;
267
+ case sdk_core_1.ChainId.OPTIMISM:
268
+ return process.env.JSON_RPC_PROVIDER_OPTIMISM;
269
+ case sdk_core_1.ChainId.OPTIMISM_GOERLI:
270
+ return process.env.JSON_RPC_PROVIDER_OPTIMISM_GOERLI;
271
+ case sdk_core_1.ChainId.ARBITRUM_ONE:
272
+ return process.env.JSON_RPC_PROVIDER_ARBITRUM_ONE;
273
+ case sdk_core_1.ChainId.ARBITRUM_GOERLI:
274
+ return process.env.JSON_RPC_PROVIDER_ARBITRUM_GOERLI;
275
+ case sdk_core_1.ChainId.POLYGON:
276
+ return process.env.JSON_RPC_PROVIDER_POLYGON;
277
+ case sdk_core_1.ChainId.POLYGON_MUMBAI:
278
+ return process.env.JSON_RPC_PROVIDER_POLYGON_MUMBAI;
279
+ case sdk_core_1.ChainId.CELO:
280
+ return process.env.JSON_RPC_PROVIDER_CELO;
281
+ case sdk_core_1.ChainId.CELO_ALFAJORES:
282
+ return process.env.JSON_RPC_PROVIDER_CELO_ALFAJORES;
283
+ case sdk_core_1.ChainId.BNB:
284
+ return process.env.JSON_RPC_PROVIDER_BNB;
285
+ case sdk_core_1.ChainId.AVALANCHE:
286
+ return process.env.JSON_RPC_PROVIDER_AVALANCHE;
287
+ case sdk_core_1.ChainId.BASE:
288
+ return process.env.JSON_RPC_PROVIDER_BASE;
289
+ case sdk_core_1.ChainId.UOMI:
290
+ return 'https://turing.uomi.io';
291
+ case sdk_core_1.ChainId.IRYS:
292
+ return 'https://testnet-rpc.irys.xyz/v1/execution-rpc';
293
+ case sdk_core_1.ChainId.HELIOS:
294
+ return 'https://testnet1.helioschainlabs.org';
295
+ default:
296
+ throw new Error(`Chain id: ${id} not supported`);
297
+ }
307
298
  };
308
299
  exports.ID_TO_PROVIDER = ID_TO_PROVIDER;
309
300
  exports.WRAPPED_NATIVE_CURRENCY = {
310
- [sdk_core_1.ChainId.MAINNET]: new sdk_core_1.Token(
311
- 1,
312
- '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
313
- 18,
314
- 'WETH',
315
- 'Wrapped Ether'
316
- ),
317
- [sdk_core_1.ChainId.GOERLI]: new sdk_core_1.Token(
318
- 5,
319
- '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6',
320
- 18,
321
- 'WETH',
322
- 'Wrapped Ether'
323
- ),
324
- [sdk_core_1.ChainId.SEPOLIA]: new sdk_core_1.Token(
325
- 11155111,
326
- '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
327
- 18,
328
- 'WETH',
329
- 'Wrapped Ether'
330
- ),
331
- [sdk_core_1.ChainId.BNB]: new sdk_core_1.Token(
332
- 56,
333
- '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
334
- 18,
335
- 'WBNB',
336
- 'Wrapped BNB'
337
- ),
338
- [sdk_core_1.ChainId.OPTIMISM]: new sdk_core_1.Token(
339
- sdk_core_1.ChainId.OPTIMISM,
340
- '0x4200000000000000000000000000000000000006',
341
- 18,
342
- 'WETH',
343
- 'Wrapped Ether'
344
- ),
345
- [sdk_core_1.ChainId.OPTIMISM_GOERLI]: new sdk_core_1.Token(
346
- sdk_core_1.ChainId.OPTIMISM_GOERLI,
347
- '0x4200000000000000000000000000000000000006',
348
- 18,
349
- 'WETH',
350
- 'Wrapped Ether'
351
- ),
352
- [sdk_core_1.ChainId.ARBITRUM_ONE]: new sdk_core_1.Token(
353
- sdk_core_1.ChainId.ARBITRUM_ONE,
354
- '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
355
- 18,
356
- 'WETH',
357
- 'Wrapped Ether'
358
- ),
359
- [sdk_core_1.ChainId.ARBITRUM_GOERLI]: new sdk_core_1.Token(
360
- sdk_core_1.ChainId.ARBITRUM_GOERLI,
361
- '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3',
362
- 18,
363
- 'WETH',
364
- 'Wrapped Ether'
365
- ),
366
- [sdk_core_1.ChainId.POLYGON]: new sdk_core_1.Token(
367
- sdk_core_1.ChainId.POLYGON,
368
- '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
369
- 18,
370
- 'WMATIC',
371
- 'Wrapped MATIC'
372
- ),
373
- [sdk_core_1.ChainId.POLYGON_MUMBAI]: new sdk_core_1.Token(
374
- sdk_core_1.ChainId.POLYGON_MUMBAI,
375
- '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
376
- 18,
377
- 'WMATIC',
378
- 'Wrapped MATIC'
379
- ),
380
- // The Celo native currency 'CELO' implements the erc-20 token standard
381
- [sdk_core_1.ChainId.CELO]: new sdk_core_1.Token(
382
- sdk_core_1.ChainId.CELO,
383
- '0x471EcE3750Da237f93B8E339c536989b8978a438',
384
- 18,
385
- 'CELO',
386
- 'Celo native asset'
387
- ),
388
- [sdk_core_1.ChainId.CELO_ALFAJORES]: new sdk_core_1.Token(
389
- sdk_core_1.ChainId.CELO_ALFAJORES,
390
- '0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9',
391
- 18,
392
- 'CELO',
393
- 'Celo native asset'
394
- ),
395
- [sdk_core_1.ChainId.GNOSIS]: new sdk_core_1.Token(
396
- sdk_core_1.ChainId.GNOSIS,
397
- '0xe91d153e0b41518a2ce8dd3d7944fa863463a97d',
398
- 18,
399
- 'WXDAI',
400
- 'Wrapped XDAI on Gnosis'
401
- ),
402
- [sdk_core_1.ChainId.MOONBEAM]: new sdk_core_1.Token(
403
- sdk_core_1.ChainId.MOONBEAM,
404
- '0xAcc15dC74880C9944775448304B263D191c6077F',
405
- 18,
406
- 'WGLMR',
407
- 'Wrapped GLMR'
408
- ),
409
- [sdk_core_1.ChainId.AVALANCHE]: new sdk_core_1.Token(
410
- sdk_core_1.ChainId.AVALANCHE,
411
- '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
412
- 18,
413
- 'WAVAX',
414
- 'Wrapped AVAX'
415
- ),
416
- [sdk_core_1.ChainId.BASE]: new sdk_core_1.Token(
417
- sdk_core_1.ChainId.BASE,
418
- '0x4200000000000000000000000000000000000006',
419
- 18,
420
- 'WETH',
421
- 'Wrapped Ether'
422
- ),
423
- [sdk_core_1.ChainId.BASE_GOERLI]: new sdk_core_1.Token(
424
- sdk_core_1.ChainId.BASE_GOERLI,
425
- '0x4200000000000000000000000000000000000006',
426
- 18,
427
- 'WETH',
428
- 'Wrapped Ether'
429
- ),
430
- [sdk_core_1.ChainId.UOMI]: new sdk_core_1.Token(
431
- sdk_core_1.ChainId.UOMI,
432
- '0x1b8FA17f94DB8481E17152AaB8D242d438180BCf',
433
- 18,
434
- 'WUOMI',
435
- 'Wrapped UOMI'
436
- ),
437
- [11155420]: new sdk_core_1.Token(
438
- 11155420,
439
- '0x0000000000000000000000000000000000000000',
440
- 18,
441
- 'WTEST',
442
- 'Wrapped Test Token'
443
- ),
444
- [421614]: new sdk_core_1.Token(
445
- 421614,
446
- '0x0000000000000000000000000000000000000000',
447
- 18,
448
- 'WTEST',
449
- 'Wrapped Test Token'
450
- ),
451
- [7777777]: new sdk_core_1.Token(
452
- 7777777,
453
- '0x0000000000000000000000000000000000000000',
454
- 18,
455
- 'WTEST',
456
- 'Wrapped Test Token'
457
- ),
458
- [999999999]: new sdk_core_1.Token(
459
- 999999999,
460
- '0x0000000000000000000000000000000000000000',
461
- 18,
462
- 'WTEST',
463
- 'Wrapped Test Token'
464
- ),
301
+ [sdk_core_1.ChainId.MAINNET]: new sdk_core_1.Token(1, '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', 18, 'WETH', 'Wrapped Ether'),
302
+ [sdk_core_1.ChainId.GOERLI]: new sdk_core_1.Token(5, '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6', 18, 'WETH', 'Wrapped Ether'),
303
+ [sdk_core_1.ChainId.SEPOLIA]: new sdk_core_1.Token(11155111, '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14', 18, 'WETH', 'Wrapped Ether'),
304
+ [sdk_core_1.ChainId.BNB]: new sdk_core_1.Token(56, '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c', 18, 'WBNB', 'Wrapped BNB'),
305
+ [sdk_core_1.ChainId.OPTIMISM]: new sdk_core_1.Token(sdk_core_1.ChainId.OPTIMISM, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
306
+ [sdk_core_1.ChainId.OPTIMISM_GOERLI]: new sdk_core_1.Token(sdk_core_1.ChainId.OPTIMISM_GOERLI, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
307
+ [sdk_core_1.ChainId.ARBITRUM_ONE]: new sdk_core_1.Token(sdk_core_1.ChainId.ARBITRUM_ONE, '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', 18, 'WETH', 'Wrapped Ether'),
308
+ [sdk_core_1.ChainId.ARBITRUM_GOERLI]: new sdk_core_1.Token(sdk_core_1.ChainId.ARBITRUM_GOERLI, '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3', 18, 'WETH', 'Wrapped Ether'),
309
+ [sdk_core_1.ChainId.POLYGON]: new sdk_core_1.Token(sdk_core_1.ChainId.POLYGON, '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270', 18, 'WMATIC', 'Wrapped MATIC'),
310
+ [sdk_core_1.ChainId.POLYGON_MUMBAI]: new sdk_core_1.Token(sdk_core_1.ChainId.POLYGON_MUMBAI, '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889', 18, 'WMATIC', 'Wrapped MATIC'),
311
+ // The Celo native currency 'CELO' implements the erc-20 token standard
312
+ [sdk_core_1.ChainId.CELO]: new sdk_core_1.Token(sdk_core_1.ChainId.CELO, '0x471EcE3750Da237f93B8E339c536989b8978a438', 18, 'CELO', 'Celo native asset'),
313
+ [sdk_core_1.ChainId.CELO_ALFAJORES]: new sdk_core_1.Token(sdk_core_1.ChainId.CELO_ALFAJORES, '0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9', 18, 'CELO', 'Celo native asset'),
314
+ [sdk_core_1.ChainId.GNOSIS]: new sdk_core_1.Token(sdk_core_1.ChainId.GNOSIS, '0xe91d153e0b41518a2ce8dd3d7944fa863463a97d', 18, 'WXDAI', 'Wrapped XDAI on Gnosis'),
315
+ [sdk_core_1.ChainId.MOONBEAM]: new sdk_core_1.Token(sdk_core_1.ChainId.MOONBEAM, '0xAcc15dC74880C9944775448304B263D191c6077F', 18, 'WGLMR', 'Wrapped GLMR'),
316
+ [sdk_core_1.ChainId.AVALANCHE]: new sdk_core_1.Token(sdk_core_1.ChainId.AVALANCHE, '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7', 18, 'WAVAX', 'Wrapped AVAX'),
317
+ [sdk_core_1.ChainId.BASE]: new sdk_core_1.Token(sdk_core_1.ChainId.BASE, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
318
+ [sdk_core_1.ChainId.BASE_GOERLI]: new sdk_core_1.Token(sdk_core_1.ChainId.BASE_GOERLI, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
319
+ [sdk_core_1.ChainId.UOMI]: new sdk_core_1.Token(sdk_core_1.ChainId.UOMI, '0x31257229820F0Eebf9C2a98b34245eB35eB062AF', 18, 'WUOMI', 'Wrapped UOMI'),
320
+ [sdk_core_1.ChainId.IRYS]: new sdk_core_1.Token(sdk_core_1.ChainId.IRYS, '0x33e4191705c386532ba27cbf171db86919200b94', 18, 'WIRYS', 'Wrapped IRYS'),
321
+ [sdk_core_1.ChainId.HELIOS]: new sdk_core_1.Token(sdk_core_1.ChainId.HELIOS, '0xD4949664cD82660AaE99bEdc034a0deA8A0bd517', 18, 'WHELIOS', 'Wrapped HELIOS'),
322
+ [11155420]: new sdk_core_1.Token(11155420, '0x0000000000000000000000000000000000000000', 18, 'WTEST', 'Wrapped Test Token'),
323
+ [421614]: new sdk_core_1.Token(421614, '0x0000000000000000000000000000000000000000', 18, 'WTEST', 'Wrapped Test Token'),
324
+ [7777777]: new sdk_core_1.Token(7777777, '0x0000000000000000000000000000000000000000', 18, 'WTEST', 'Wrapped Test Token'),
325
+ [999999999]: new sdk_core_1.Token(999999999, '0x0000000000000000000000000000000000000000', 18, 'WTEST', 'Wrapped Test Token'),
465
326
  };
466
327
  function isMatic(chainId) {
467
- return (
468
- chainId === sdk_core_1.ChainId.POLYGON_MUMBAI ||
469
- chainId === sdk_core_1.ChainId.POLYGON
470
- );
328
+ return chainId === sdk_core_1.ChainId.POLYGON_MUMBAI || chainId === sdk_core_1.ChainId.POLYGON;
471
329
  }
472
330
  class MaticNativeCurrency extends sdk_core_1.NativeCurrency {
473
- equals(other) {
474
- return other.isNative && other.chainId === this.chainId;
475
- }
476
- get wrapped() {
477
- if (!isMatic(this.chainId)) throw new Error('Not matic');
478
- const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
479
- if (nativeCurrency) {
480
- return nativeCurrency;
481
- }
482
- throw new Error(`Does not support this chain ${this.chainId}`);
483
- }
484
- constructor(chainId) {
485
- if (!isMatic(chainId)) throw new Error('Not matic');
486
- super(chainId, 18, 'MATIC', 'Polygon Matic');
487
- }
331
+ equals(other) {
332
+ return other.isNative && other.chainId === this.chainId;
333
+ }
334
+ get wrapped() {
335
+ if (!isMatic(this.chainId))
336
+ throw new Error('Not matic');
337
+ const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
338
+ if (nativeCurrency) {
339
+ return nativeCurrency;
340
+ }
341
+ throw new Error(`Does not support this chain ${this.chainId}`);
342
+ }
343
+ constructor(chainId) {
344
+ if (!isMatic(chainId))
345
+ throw new Error('Not matic');
346
+ super(chainId, 18, 'MATIC', 'Polygon Matic');
347
+ }
488
348
  }
489
349
  function isCelo(chainId) {
490
- return (
491
- chainId === sdk_core_1.ChainId.CELO_ALFAJORES ||
492
- chainId === sdk_core_1.ChainId.CELO
493
- );
350
+ return chainId === sdk_core_1.ChainId.CELO_ALFAJORES || chainId === sdk_core_1.ChainId.CELO;
494
351
  }
495
352
  class CeloNativeCurrency extends sdk_core_1.NativeCurrency {
496
- equals(other) {
497
- return other.isNative && other.chainId === this.chainId;
498
- }
499
- get wrapped() {
500
- if (!isCelo(this.chainId)) throw new Error('Not celo');
501
- const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
502
- if (nativeCurrency) {
503
- return nativeCurrency;
504
- }
505
- throw new Error(`Does not support this chain ${this.chainId}`);
506
- }
507
- constructor(chainId) {
508
- if (!isCelo(chainId)) throw new Error('Not celo');
509
- super(chainId, 18, 'CELO', 'Celo');
510
- }
353
+ equals(other) {
354
+ return other.isNative && other.chainId === this.chainId;
355
+ }
356
+ get wrapped() {
357
+ if (!isCelo(this.chainId))
358
+ throw new Error('Not celo');
359
+ const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
360
+ if (nativeCurrency) {
361
+ return nativeCurrency;
362
+ }
363
+ throw new Error(`Does not support this chain ${this.chainId}`);
364
+ }
365
+ constructor(chainId) {
366
+ if (!isCelo(chainId))
367
+ throw new Error('Not celo');
368
+ super(chainId, 18, 'CELO', 'Celo');
369
+ }
511
370
  }
512
371
  function isGnosis(chainId) {
513
- return chainId === sdk_core_1.ChainId.GNOSIS;
372
+ return chainId === sdk_core_1.ChainId.GNOSIS;
514
373
  }
515
374
  class GnosisNativeCurrency extends sdk_core_1.NativeCurrency {
516
- equals(other) {
517
- return other.isNative && other.chainId === this.chainId;
518
- }
519
- get wrapped() {
520
- if (!isGnosis(this.chainId)) throw new Error('Not gnosis');
521
- const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
522
- if (nativeCurrency) {
523
- return nativeCurrency;
524
- }
525
- throw new Error(`Does not support this chain ${this.chainId}`);
526
- }
527
- constructor(chainId) {
528
- if (!isGnosis(chainId)) throw new Error('Not gnosis');
529
- super(chainId, 18, 'XDAI', 'xDai');
530
- }
375
+ equals(other) {
376
+ return other.isNative && other.chainId === this.chainId;
377
+ }
378
+ get wrapped() {
379
+ if (!isGnosis(this.chainId))
380
+ throw new Error('Not gnosis');
381
+ const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
382
+ if (nativeCurrency) {
383
+ return nativeCurrency;
384
+ }
385
+ throw new Error(`Does not support this chain ${this.chainId}`);
386
+ }
387
+ constructor(chainId) {
388
+ if (!isGnosis(chainId))
389
+ throw new Error('Not gnosis');
390
+ super(chainId, 18, 'XDAI', 'xDai');
391
+ }
531
392
  }
532
393
  function isBnb(chainId) {
533
- return chainId === sdk_core_1.ChainId.BNB;
394
+ return chainId === sdk_core_1.ChainId.BNB;
534
395
  }
535
396
  class BnbNativeCurrency extends sdk_core_1.NativeCurrency {
536
- equals(other) {
537
- return other.isNative && other.chainId === this.chainId;
538
- }
539
- get wrapped() {
540
- if (!isBnb(this.chainId)) throw new Error('Not bnb');
541
- const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
542
- if (nativeCurrency) {
543
- return nativeCurrency;
544
- }
545
- throw new Error(`Does not support this chain ${this.chainId}`);
546
- }
547
- constructor(chainId) {
548
- if (!isBnb(chainId)) throw new Error('Not bnb');
549
- super(chainId, 18, 'BNB', 'BNB');
550
- }
397
+ equals(other) {
398
+ return other.isNative && other.chainId === this.chainId;
399
+ }
400
+ get wrapped() {
401
+ if (!isBnb(this.chainId))
402
+ throw new Error('Not bnb');
403
+ const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
404
+ if (nativeCurrency) {
405
+ return nativeCurrency;
406
+ }
407
+ throw new Error(`Does not support this chain ${this.chainId}`);
408
+ }
409
+ constructor(chainId) {
410
+ if (!isBnb(chainId))
411
+ throw new Error('Not bnb');
412
+ super(chainId, 18, 'BNB', 'BNB');
413
+ }
551
414
  }
552
415
  function isMoonbeam(chainId) {
553
- return chainId === sdk_core_1.ChainId.MOONBEAM;
416
+ return chainId === sdk_core_1.ChainId.MOONBEAM;
554
417
  }
555
418
  class MoonbeamNativeCurrency extends sdk_core_1.NativeCurrency {
556
- equals(other) {
557
- return other.isNative && other.chainId === this.chainId;
558
- }
559
- get wrapped() {
560
- if (!isMoonbeam(this.chainId)) throw new Error('Not moonbeam');
561
- const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
562
- if (nativeCurrency) {
563
- return nativeCurrency;
564
- }
565
- throw new Error(`Does not support this chain ${this.chainId}`);
566
- }
567
- constructor(chainId) {
568
- if (!isMoonbeam(chainId)) throw new Error('Not moonbeam');
569
- super(chainId, 18, 'GLMR', 'Glimmer');
570
- }
419
+ equals(other) {
420
+ return other.isNative && other.chainId === this.chainId;
421
+ }
422
+ get wrapped() {
423
+ if (!isMoonbeam(this.chainId))
424
+ throw new Error('Not moonbeam');
425
+ const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
426
+ if (nativeCurrency) {
427
+ return nativeCurrency;
428
+ }
429
+ throw new Error(`Does not support this chain ${this.chainId}`);
430
+ }
431
+ constructor(chainId) {
432
+ if (!isMoonbeam(chainId))
433
+ throw new Error('Not moonbeam');
434
+ super(chainId, 18, 'GLMR', 'Glimmer');
435
+ }
571
436
  }
572
437
  function isAvax(chainId) {
573
- return chainId === sdk_core_1.ChainId.AVALANCHE;
438
+ return chainId === sdk_core_1.ChainId.AVALANCHE;
574
439
  }
575
440
  class AvalancheNativeCurrency extends sdk_core_1.NativeCurrency {
576
- equals(other) {
577
- return other.isNative && other.chainId === this.chainId;
578
- }
579
- get wrapped() {
580
- if (!isAvax(this.chainId)) throw new Error('Not avalanche');
581
- const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
582
- if (nativeCurrency) {
583
- return nativeCurrency;
584
- }
585
- throw new Error(`Does not support this chain ${this.chainId}`);
586
- }
587
- constructor(chainId) {
588
- if (!isAvax(chainId)) throw new Error('Not avalanche');
589
- super(chainId, 18, 'AVAX', 'Avalanche');
590
- }
441
+ equals(other) {
442
+ return other.isNative && other.chainId === this.chainId;
443
+ }
444
+ get wrapped() {
445
+ if (!isAvax(this.chainId))
446
+ throw new Error('Not avalanche');
447
+ const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
448
+ if (nativeCurrency) {
449
+ return nativeCurrency;
450
+ }
451
+ throw new Error(`Does not support this chain ${this.chainId}`);
452
+ }
453
+ constructor(chainId) {
454
+ if (!isAvax(chainId))
455
+ throw new Error('Not avalanche');
456
+ super(chainId, 18, 'AVAX', 'Avalanche');
457
+ }
591
458
  }
592
459
  function isUomi(chainId) {
593
- return chainId === sdk_core_1.ChainId.UOMI;
460
+ return chainId === sdk_core_1.ChainId.UOMI;
594
461
  }
595
462
  class UomiNativeCurrency extends sdk_core_1.NativeCurrency {
596
- equals(other) {
597
- return other.isNative && other.chainId === this.chainId;
598
- }
599
- get wrapped() {
600
- if (!isUomi(this.chainId)) throw new Error('Not uomi');
601
- const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
602
- if (nativeCurrency) {
603
- return nativeCurrency;
604
- }
605
- throw new Error(`Does not support this chain ${this.chainId}`);
606
- }
607
- constructor(chainId) {
608
- if (!isUomi(chainId)) throw new Error('Not uomi');
609
- super(chainId, 18, 'UOMI', 'Uomi');
610
- }
463
+ equals(other) {
464
+ return other.isNative && other.chainId === this.chainId;
465
+ }
466
+ get wrapped() {
467
+ if (!isUomi(this.chainId))
468
+ throw new Error('Not uomi');
469
+ const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
470
+ if (nativeCurrency) {
471
+ return nativeCurrency;
472
+ }
473
+ throw new Error(`Does not support this chain ${this.chainId}`);
474
+ }
475
+ constructor(chainId) {
476
+ if (!isUomi(chainId))
477
+ throw new Error('Not uomi');
478
+ super(chainId, 18, 'UOMI', 'Uomi');
479
+ }
480
+ }
481
+ function isIrys(chainId) {
482
+ return chainId === sdk_core_1.ChainId.IRYS;
483
+ }
484
+ class IrysNativeCurrency extends sdk_core_1.NativeCurrency {
485
+ equals(other) {
486
+ return other.isNative && other.chainId === this.chainId;
487
+ }
488
+ get wrapped() {
489
+ if (!isIrys(this.chainId))
490
+ throw new Error('Not irys');
491
+ const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
492
+ if (nativeCurrency) {
493
+ return nativeCurrency;
494
+ }
495
+ throw new Error(`Does not support this chain ${this.chainId}`);
496
+ }
497
+ constructor(chainId) {
498
+ if (!isIrys(chainId))
499
+ throw new Error('Not irys');
500
+ super(chainId, 18, 'IRYS', 'Irys');
501
+ }
502
+ }
503
+ function isHelios(chainId) {
504
+ return chainId === sdk_core_1.ChainId.HELIOS;
505
+ }
506
+ class HeliosNativeCurrency extends sdk_core_1.NativeCurrency {
507
+ equals(other) {
508
+ return other.isNative && other.chainId === this.chainId;
509
+ }
510
+ get wrapped() {
511
+ if (!isHelios(this.chainId))
512
+ throw new Error('Not helios');
513
+ const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
514
+ if (nativeCurrency) {
515
+ return nativeCurrency;
516
+ }
517
+ throw new Error(`Does not support this chain ${this.chainId}`);
518
+ }
519
+ constructor(chainId) {
520
+ if (!isHelios(chainId))
521
+ throw new Error('Not helios');
522
+ super(chainId, 18, 'HELIOS', 'Helios');
523
+ }
611
524
  }
612
525
  class ExtendedEther extends sdk_core_1.Ether {
613
- get wrapped() {
614
- if (this.chainId in exports.WRAPPED_NATIVE_CURRENCY) {
615
- return exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
616
- }
617
- throw new Error('Unsupported chain ID');
618
- }
619
- static onChain(chainId) {
620
- var _a;
621
- return (_a = this._cachedExtendedEther[chainId]) !== null && _a !== void 0
622
- ? _a
623
- : (this._cachedExtendedEther[chainId] = new ExtendedEther(chainId));
624
- }
526
+ get wrapped() {
527
+ if (this.chainId in exports.WRAPPED_NATIVE_CURRENCY) {
528
+ return exports.WRAPPED_NATIVE_CURRENCY[this.chainId];
529
+ }
530
+ throw new Error('Unsupported chain ID');
531
+ }
532
+ static onChain(chainId) {
533
+ var _a;
534
+ return ((_a = this._cachedExtendedEther[chainId]) !== null && _a !== void 0 ? _a : (this._cachedExtendedEther[chainId] = new ExtendedEther(chainId)));
535
+ }
625
536
  }
626
537
  exports.ExtendedEther = ExtendedEther;
627
538
  ExtendedEther._cachedExtendedEther = {};
628
539
  const cachedNativeCurrency = {};
629
540
  function nativeOnChain(chainId) {
630
- if (cachedNativeCurrency[chainId] != undefined) {
541
+ if (cachedNativeCurrency[chainId] != undefined) {
542
+ return cachedNativeCurrency[chainId];
543
+ }
544
+ if (isMatic(chainId)) {
545
+ cachedNativeCurrency[chainId] = new MaticNativeCurrency(chainId);
546
+ }
547
+ else if (isCelo(chainId)) {
548
+ cachedNativeCurrency[chainId] = new CeloNativeCurrency(chainId);
549
+ }
550
+ else if (isGnosis(chainId)) {
551
+ cachedNativeCurrency[chainId] = new GnosisNativeCurrency(chainId);
552
+ }
553
+ else if (isMoonbeam(chainId)) {
554
+ cachedNativeCurrency[chainId] = new MoonbeamNativeCurrency(chainId);
555
+ }
556
+ else if (isBnb(chainId)) {
557
+ cachedNativeCurrency[chainId] = new BnbNativeCurrency(chainId);
558
+ }
559
+ else if (isAvax(chainId)) {
560
+ cachedNativeCurrency[chainId] = new AvalancheNativeCurrency(chainId);
561
+ }
562
+ else if (isUomi(chainId)) {
563
+ cachedNativeCurrency[chainId] = new UomiNativeCurrency(chainId);
564
+ }
565
+ else if (isIrys(chainId)) {
566
+ cachedNativeCurrency[chainId] = new IrysNativeCurrency(chainId);
567
+ }
568
+ else if (isHelios(chainId)) {
569
+ cachedNativeCurrency[chainId] = new HeliosNativeCurrency(chainId);
570
+ }
571
+ else {
572
+ cachedNativeCurrency[chainId] = ExtendedEther.onChain(chainId);
573
+ }
631
574
  return cachedNativeCurrency[chainId];
632
- }
633
- if (isMatic(chainId)) {
634
- cachedNativeCurrency[chainId] = new MaticNativeCurrency(chainId);
635
- } else if (isCelo(chainId)) {
636
- cachedNativeCurrency[chainId] = new CeloNativeCurrency(chainId);
637
- } else if (isGnosis(chainId)) {
638
- cachedNativeCurrency[chainId] = new GnosisNativeCurrency(chainId);
639
- } else if (isMoonbeam(chainId)) {
640
- cachedNativeCurrency[chainId] = new MoonbeamNativeCurrency(chainId);
641
- } else if (isBnb(chainId)) {
642
- cachedNativeCurrency[chainId] = new BnbNativeCurrency(chainId);
643
- } else if (isAvax(chainId)) {
644
- cachedNativeCurrency[chainId] = new AvalancheNativeCurrency(chainId);
645
- } else if (isUomi(chainId)) {
646
- cachedNativeCurrency[chainId] = new UomiNativeCurrency(chainId);
647
- } else {
648
- cachedNativeCurrency[chainId] = ExtendedEther.onChain(chainId);
649
- }
650
- return cachedNativeCurrency[chainId];
651
575
  }
652
576
  exports.nativeOnChain = nativeOnChain;
653
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvY2hhaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQU1nQztBQUVuQixRQUFBLGdCQUFnQixHQUFjO0lBQ3pDLGtCQUFPLENBQUMsT0FBTztJQUNmLGtCQUFPLENBQUMsUUFBUTtJQUNoQixrQkFBTyxDQUFDLGVBQWU7SUFDdkIsa0JBQU8sQ0FBQyxZQUFZO0lBQ3BCLGtCQUFPLENBQUMsZUFBZTtJQUN2QixrQkFBTyxDQUFDLE9BQU87SUFDZixrQkFBTyxDQUFDLGNBQWM7SUFDdEIsa0JBQU8sQ0FBQyxNQUFNO0lBQ2Qsa0JBQU8sQ0FBQyxPQUFPO0lBQ2Ysa0JBQU8sQ0FBQyxjQUFjO0lBQ3RCLGtCQUFPLENBQUMsSUFBSTtJQUNaLGtCQUFPLENBQUMsR0FBRztJQUNYLGtCQUFPLENBQUMsU0FBUztJQUNqQixrQkFBTyxDQUFDLElBQUk7SUFDWixrQkFBTyxDQUFDLElBQUk7SUFDWiw0REFBNEQ7Q0FDN0QsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLENBQUMsa0JBQU8sQ0FBQyxPQUFPLEVBQUUsa0JBQU8sQ0FBQyxNQUFNLEVBQUUsa0JBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVsRSxRQUFBLFVBQVUsR0FBRztJQUN4QixrQkFBTyxDQUFDLFFBQVE7SUFDaEIsa0JBQU8sQ0FBQyxlQUFlO0lBQ3ZCLGtCQUFPLENBQUMsWUFBWTtJQUNwQixrQkFBTyxDQUFDLGVBQWU7SUFDdkIsa0JBQU8sQ0FBQyxJQUFJO0lBQ1osa0JBQU8sQ0FBQyxXQUFXO0NBQ3BCLENBQUM7QUFFVyxRQUFBLG9DQUFvQyxHQUFHO0lBQ2xELGtCQUFPLENBQUMsT0FBTztJQUNmLGtCQUFPLENBQUMsTUFBTTtJQUNkLGtCQUFPLENBQUMsUUFBUTtJQUNoQixrQkFBTyxDQUFDLFlBQVk7SUFDcEIsa0JBQU8sQ0FBQyxPQUFPO0lBQ2Ysa0JBQU8sQ0FBQyxj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
577
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvY2hhaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQU1nQztBQUVuQixRQUFBLGdCQUFnQixHQUFjO0lBQ3pDLGtCQUFPLENBQUMsT0FBTztJQUNmLGtCQUFPLENBQUMsUUFBUTtJQUNoQixrQkFBTyxDQUFDLGVBQWU7SUFDdkIsa0JBQU8sQ0FBQyxZQUFZO0lBQ3BCLGtCQUFPLENBQUMsZUFBZTtJQUN2QixrQkFBTyxDQUFDLE9BQU87SUFDZixrQkFBTyxDQUFDLGNBQWM7SUFDdEIsa0JBQU8sQ0FBQyxNQUFNO0lBQ2Qsa0JBQU8sQ0FBQyxPQUFPO0lBQ2Ysa0JBQU8sQ0FBQyxjQUFjO0lBQ3RCLGtCQUFPLENBQUMsSUFBSTtJQUNaLGtCQUFPLENBQUMsR0FBRztJQUNYLGtCQUFPLENBQUMsU0FBUztJQUNqQixrQkFBTyxDQUFDLElBQUk7SUFDWixrQkFBTyxDQUFDLElBQUk7SUFDWixrQkFBTyxDQUFDLElBQUk7SUFDWixrQkFBTyxDQUFDLE1BQU07SUFDZCw0REFBNEQ7Q0FDN0QsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLENBQUMsa0JBQU8sQ0FBQyxPQUFPLEVBQUUsa0JBQU8sQ0FBQyxNQUFNLEVBQUUsa0JBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVsRSxRQUFBLFVBQVUsR0FBRztJQUN4QixrQkFBTyxDQUFDLFFBQVE7SUFDaEIsa0JBQU8sQ0FBQyxlQUFlO0lBQ3ZCLGtCQUFPLENBQUMsWUFBWTtJQUNwQixrQkFBTyxDQUFDLGVBQWU7SUFDdkIsa0JBQU8sQ0FBQyxJQUFJO0lBQ1osa0JBQU8sQ0FBQyxXQUFXO0NBQ3BCLENBQUM7QUFFVyxRQUFBLG9DQUFvQyxHQUFHO0lBQ2xELGtCQUFPLENBQUMsT0FBTztJQUNmLGtCQUFPLENBQUMsTUFBTTtJQUNkLGtCQUFPLENBQUMsUUFBUTtJQUNoQixrQkFBTyxDQUFDLFlB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