@1delta/providers 0.0.4 → 0.0.5
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/evm.js +166 -159
- package/dist/index.js +17 -1
- package/package.json +2 -1
- package/tsconfig.json +16 -20
package/dist/evm.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphLinq = exports.hyperEvm = exports.botanix = exports.crossfi = void 0;
|
|
4
|
+
exports.getEvmClient = getEvmClient;
|
|
5
|
+
exports.createMulticallRetry = createMulticallRetry;
|
|
6
|
+
exports.getEvmClientWithCustomRpcs = getEvmClientWithCustomRpcs;
|
|
7
|
+
exports.multicallRetry = multicallRetry;
|
|
8
|
+
const asset_registry_1 = require("@1delta/asset-registry");
|
|
9
|
+
const lodash_1 = require("lodash");
|
|
10
|
+
const viem_1 = require("viem");
|
|
11
|
+
const chains_1 = require("viem/chains");
|
|
12
|
+
exports.crossfi = (0, viem_1.defineChain)({
|
|
6
13
|
id: 4158,
|
|
7
14
|
name: 'CrossFi Mainet',
|
|
8
15
|
nativeCurrency: {
|
|
@@ -25,7 +32,7 @@ export const crossfi = defineChain({
|
|
|
25
32
|
// }
|
|
26
33
|
// }
|
|
27
34
|
});
|
|
28
|
-
|
|
35
|
+
exports.botanix = (0, viem_1.defineChain)({
|
|
29
36
|
id: 3637,
|
|
30
37
|
name: 'Botanix',
|
|
31
38
|
nativeCurrency: {
|
|
@@ -51,7 +58,7 @@ export const botanix = defineChain({
|
|
|
51
58
|
},
|
|
52
59
|
},
|
|
53
60
|
});
|
|
54
|
-
|
|
61
|
+
exports.hyperEvm = (0, viem_1.defineChain)({
|
|
55
62
|
id: 999,
|
|
56
63
|
name: 'Hyper EVM',
|
|
57
64
|
nativeCurrency: {
|
|
@@ -74,7 +81,7 @@ export const hyperEvm = defineChain({
|
|
|
74
81
|
},
|
|
75
82
|
},
|
|
76
83
|
});
|
|
77
|
-
|
|
84
|
+
exports.GraphLinq = (0, viem_1.defineChain)({
|
|
78
85
|
id: 614,
|
|
79
86
|
name: 'GraphLinq Chain',
|
|
80
87
|
nativeCurrency: {
|
|
@@ -99,47 +106,47 @@ export const GraphLinq = defineChain({
|
|
|
99
106
|
});
|
|
100
107
|
function getEvmChain(chain) {
|
|
101
108
|
switch (chain) {
|
|
102
|
-
case Chain.ARBITRUM_ONE:
|
|
103
|
-
return arbitrum;
|
|
104
|
-
case Chain.ETHEREUM_MAINNET:
|
|
105
|
-
return mainnet;
|
|
106
|
-
case Chain.MANTLE:
|
|
107
|
-
return mantle;
|
|
108
|
-
case Chain.BNB_SMART_CHAIN_MAINNET:
|
|
109
|
-
return bsc;
|
|
110
|
-
case Chain.OPBNB_MAINNET:
|
|
111
|
-
return opBNB;
|
|
112
|
-
case Chain.TAIKO_ALETHIA:
|
|
113
|
-
return taiko;
|
|
114
|
-
case Chain.AVALANCHE_C_CHAIN:
|
|
115
|
-
return avalanche;
|
|
116
|
-
case Chain.OP_MAINNET:
|
|
117
|
-
return optimism;
|
|
118
|
-
case Chain.METIS_ANDROMEDA_MAINNET:
|
|
119
|
-
return metis;
|
|
120
|
-
case Chain.POLYGON_MAINNET:
|
|
121
|
-
return polygon;
|
|
122
|
-
case Chain.ZKSYNC_MAINNET:
|
|
123
|
-
return zksync;
|
|
124
|
-
case Chain.SCROLL:
|
|
125
|
-
return scroll;
|
|
126
|
-
case Chain.GNOSIS:
|
|
127
|
-
return gnosis;
|
|
128
|
-
case Chain.BASE:
|
|
129
|
-
return base;
|
|
130
|
-
case Chain.BLAST:
|
|
131
|
-
return blast;
|
|
132
|
-
case Chain.KAIA_MAINNET:
|
|
133
|
-
return kaia;
|
|
134
|
-
case Chain.FANTOM_OPERA:
|
|
135
|
-
return fantom;
|
|
136
|
-
case Chain.SONIC_MAINNET:
|
|
137
|
-
return sonic;
|
|
138
|
-
case Chain.LINEA:
|
|
139
|
-
return linea;
|
|
140
|
-
case Chain.HEMI_NETWORK:
|
|
109
|
+
case asset_registry_1.Chain.ARBITRUM_ONE:
|
|
110
|
+
return chains_1.arbitrum;
|
|
111
|
+
case asset_registry_1.Chain.ETHEREUM_MAINNET:
|
|
112
|
+
return chains_1.mainnet;
|
|
113
|
+
case asset_registry_1.Chain.MANTLE:
|
|
114
|
+
return chains_1.mantle;
|
|
115
|
+
case asset_registry_1.Chain.BNB_SMART_CHAIN_MAINNET:
|
|
116
|
+
return chains_1.bsc;
|
|
117
|
+
case asset_registry_1.Chain.OPBNB_MAINNET:
|
|
118
|
+
return chains_1.opBNB;
|
|
119
|
+
case asset_registry_1.Chain.TAIKO_ALETHIA:
|
|
120
|
+
return chains_1.taiko;
|
|
121
|
+
case asset_registry_1.Chain.AVALANCHE_C_CHAIN:
|
|
122
|
+
return chains_1.avalanche;
|
|
123
|
+
case asset_registry_1.Chain.OP_MAINNET:
|
|
124
|
+
return chains_1.optimism;
|
|
125
|
+
case asset_registry_1.Chain.METIS_ANDROMEDA_MAINNET:
|
|
126
|
+
return chains_1.metis;
|
|
127
|
+
case asset_registry_1.Chain.POLYGON_MAINNET:
|
|
128
|
+
return chains_1.polygon;
|
|
129
|
+
case asset_registry_1.Chain.ZKSYNC_MAINNET:
|
|
130
|
+
return chains_1.zksync;
|
|
131
|
+
case asset_registry_1.Chain.SCROLL:
|
|
132
|
+
return chains_1.scroll;
|
|
133
|
+
case asset_registry_1.Chain.GNOSIS:
|
|
134
|
+
return chains_1.gnosis;
|
|
135
|
+
case asset_registry_1.Chain.BASE:
|
|
136
|
+
return chains_1.base;
|
|
137
|
+
case asset_registry_1.Chain.BLAST:
|
|
138
|
+
return chains_1.blast;
|
|
139
|
+
case asset_registry_1.Chain.KAIA_MAINNET:
|
|
140
|
+
return chains_1.kaia;
|
|
141
|
+
case asset_registry_1.Chain.FANTOM_OPERA:
|
|
142
|
+
return chains_1.fantom;
|
|
143
|
+
case asset_registry_1.Chain.SONIC_MAINNET:
|
|
144
|
+
return chains_1.sonic;
|
|
145
|
+
case asset_registry_1.Chain.LINEA:
|
|
146
|
+
return chains_1.linea;
|
|
147
|
+
case asset_registry_1.Chain.HEMI_NETWORK:
|
|
141
148
|
return {
|
|
142
|
-
...hemi,
|
|
149
|
+
...chains_1.hemi,
|
|
143
150
|
contracts: {
|
|
144
151
|
multicall3: {
|
|
145
152
|
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
@@ -147,11 +154,11 @@ function getEvmChain(chain) {
|
|
|
147
154
|
},
|
|
148
155
|
},
|
|
149
156
|
};
|
|
150
|
-
case Chain.NEON_EVM_MAINNET:
|
|
151
|
-
return neonMainnet;
|
|
152
|
-
case Chain.DEGEN_CHAIN:
|
|
157
|
+
case asset_registry_1.Chain.NEON_EVM_MAINNET:
|
|
158
|
+
return chains_1.neonMainnet;
|
|
159
|
+
case asset_registry_1.Chain.DEGEN_CHAIN:
|
|
153
160
|
return {
|
|
154
|
-
...degen,
|
|
161
|
+
...chains_1.degen,
|
|
155
162
|
contracts: {
|
|
156
163
|
multicall3: {
|
|
157
164
|
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
@@ -159,31 +166,31 @@ function getEvmChain(chain) {
|
|
|
159
166
|
},
|
|
160
167
|
},
|
|
161
168
|
};
|
|
162
|
-
case Chain.GRAVITY_ALPHA_MAINNET:
|
|
163
|
-
return gravity;
|
|
164
|
-
case Chain.LIGHTLINK_PHOENIX_MAINNET:
|
|
165
|
-
return lightlinkPhoenix;
|
|
166
|
-
case Chain.PLUME_MAINNET:
|
|
167
|
-
return plume;
|
|
168
|
-
case Chain.ABSTRACT:
|
|
169
|
-
return abstract;
|
|
170
|
-
case Chain.PEAQ:
|
|
171
|
-
return peaq;
|
|
172
|
-
case Chain.EVM_ON_FLOW:
|
|
173
|
-
return flowMainnet;
|
|
174
|
-
case Chain.SONEIUM:
|
|
175
|
-
return soneium;
|
|
176
|
-
case Chain.GOAT_NETWORK:
|
|
177
|
-
return goat;
|
|
178
|
-
case Chain.BERACHAIN:
|
|
179
|
-
return berachain;
|
|
180
|
-
case Chain.ROOTSTOCK_MAINNET:
|
|
181
|
-
return rootstock;
|
|
182
|
-
case Chain.VANAR_MAINNET:
|
|
183
|
-
return vanar;
|
|
184
|
-
case Chain.INK:
|
|
169
|
+
case asset_registry_1.Chain.GRAVITY_ALPHA_MAINNET:
|
|
170
|
+
return chains_1.gravity;
|
|
171
|
+
case asset_registry_1.Chain.LIGHTLINK_PHOENIX_MAINNET:
|
|
172
|
+
return chains_1.lightlinkPhoenix;
|
|
173
|
+
case asset_registry_1.Chain.PLUME_MAINNET:
|
|
174
|
+
return chains_1.plume;
|
|
175
|
+
case asset_registry_1.Chain.ABSTRACT:
|
|
176
|
+
return chains_1.abstract;
|
|
177
|
+
case asset_registry_1.Chain.PEAQ:
|
|
178
|
+
return chains_1.peaq;
|
|
179
|
+
case asset_registry_1.Chain.EVM_ON_FLOW:
|
|
180
|
+
return chains_1.flowMainnet;
|
|
181
|
+
case asset_registry_1.Chain.SONEIUM:
|
|
182
|
+
return chains_1.soneium;
|
|
183
|
+
case asset_registry_1.Chain.GOAT_NETWORK:
|
|
184
|
+
return chains_1.goat;
|
|
185
|
+
case asset_registry_1.Chain.BERACHAIN:
|
|
186
|
+
return chains_1.berachain;
|
|
187
|
+
case asset_registry_1.Chain.ROOTSTOCK_MAINNET:
|
|
188
|
+
return chains_1.rootstock;
|
|
189
|
+
case asset_registry_1.Chain.VANAR_MAINNET:
|
|
190
|
+
return chains_1.vanar;
|
|
191
|
+
case asset_registry_1.Chain.INK:
|
|
185
192
|
return {
|
|
186
|
-
...ink,
|
|
193
|
+
...chains_1.ink,
|
|
187
194
|
contracts: {
|
|
188
195
|
multicall3: {
|
|
189
196
|
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
@@ -191,13 +198,13 @@ function getEvmChain(chain) {
|
|
|
191
198
|
},
|
|
192
199
|
},
|
|
193
200
|
};
|
|
194
|
-
case Chain.FUSE_MAINNET:
|
|
195
|
-
return fuse;
|
|
196
|
-
case Chain.SUPERPOSITION:
|
|
197
|
-
return superposition;
|
|
198
|
-
case Chain.STORY:
|
|
201
|
+
case asset_registry_1.Chain.FUSE_MAINNET:
|
|
202
|
+
return chains_1.fuse;
|
|
203
|
+
case asset_registry_1.Chain.SUPERPOSITION:
|
|
204
|
+
return chains_1.superposition;
|
|
205
|
+
case asset_registry_1.Chain.STORY:
|
|
199
206
|
return {
|
|
200
|
-
...story,
|
|
207
|
+
...chains_1.story,
|
|
201
208
|
contracts: {
|
|
202
209
|
multicall3: {
|
|
203
210
|
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
@@ -205,51 +212,51 @@ function getEvmChain(chain) {
|
|
|
205
212
|
},
|
|
206
213
|
},
|
|
207
214
|
};
|
|
208
|
-
case Chain.APECHAIN:
|
|
209
|
-
return apeChain;
|
|
210
|
-
case Chain.IOTEX_NETWORK_MAINNET:
|
|
211
|
-
return iotex;
|
|
212
|
-
case Chain.TELOS_EVM_MAINNET:
|
|
213
|
-
return telos;
|
|
214
|
-
case Chain.FLARE_MAINNET:
|
|
215
|
-
return flare;
|
|
216
|
-
case Chain.AURA_MAINNET:
|
|
217
|
-
return aurora;
|
|
218
|
-
case Chain.KAVA:
|
|
219
|
-
return kava;
|
|
220
|
-
case Chain.IOTA_EVM:
|
|
221
|
-
return iota;
|
|
222
|
-
case Chain.AURORA_MAINNET:
|
|
223
|
-
return aurora;
|
|
224
|
-
case Chain.UNICHAIN:
|
|
225
|
-
return unichain;
|
|
226
|
-
case Chain.CORE_BLOCKCHAIN_MAINNET:
|
|
227
|
-
return coreDao;
|
|
228
|
-
case Chain.MODE:
|
|
229
|
-
return mode;
|
|
230
|
-
case Chain.CORN:
|
|
231
|
-
return corn;
|
|
232
|
-
case Chain.BOB:
|
|
233
|
-
return bob;
|
|
234
|
-
case Chain.RONIN_MAINNET:
|
|
235
|
-
return ronin;
|
|
236
|
-
case Chain.MANTA_PACIFIC_MAINNET:
|
|
237
|
-
return manta;
|
|
238
|
-
case Chain.ZIRCUIT_MAINNET:
|
|
239
|
-
return zircuit;
|
|
240
|
-
case Chain.GRAPHLINQ_BLOCKCHAIN_MAINNET:
|
|
241
|
-
return GraphLinq;
|
|
242
|
-
case Chain.ZETACHAIN_MAINNET:
|
|
243
|
-
return zetachain;
|
|
244
|
-
case Chain.BITLAYER_MAINNET:
|
|
245
|
-
return bitlayer;
|
|
246
|
-
case Chain.CROSSFI_MAINNET:
|
|
247
|
-
return crossfi;
|
|
248
|
-
case Chain.INEVM_MAINNET:
|
|
249
|
-
return inEVM;
|
|
250
|
-
case Chain.B2_MAINNET:
|
|
215
|
+
case asset_registry_1.Chain.APECHAIN:
|
|
216
|
+
return chains_1.apeChain;
|
|
217
|
+
case asset_registry_1.Chain.IOTEX_NETWORK_MAINNET:
|
|
218
|
+
return chains_1.iotex;
|
|
219
|
+
case asset_registry_1.Chain.TELOS_EVM_MAINNET:
|
|
220
|
+
return chains_1.telos;
|
|
221
|
+
case asset_registry_1.Chain.FLARE_MAINNET:
|
|
222
|
+
return chains_1.flare;
|
|
223
|
+
case asset_registry_1.Chain.AURA_MAINNET:
|
|
224
|
+
return chains_1.aurora;
|
|
225
|
+
case asset_registry_1.Chain.KAVA:
|
|
226
|
+
return chains_1.kava;
|
|
227
|
+
case asset_registry_1.Chain.IOTA_EVM:
|
|
228
|
+
return chains_1.iota;
|
|
229
|
+
case asset_registry_1.Chain.AURORA_MAINNET:
|
|
230
|
+
return chains_1.aurora;
|
|
231
|
+
case asset_registry_1.Chain.UNICHAIN:
|
|
232
|
+
return chains_1.unichain;
|
|
233
|
+
case asset_registry_1.Chain.CORE_BLOCKCHAIN_MAINNET:
|
|
234
|
+
return chains_1.coreDao;
|
|
235
|
+
case asset_registry_1.Chain.MODE:
|
|
236
|
+
return chains_1.mode;
|
|
237
|
+
case asset_registry_1.Chain.CORN:
|
|
238
|
+
return chains_1.corn;
|
|
239
|
+
case asset_registry_1.Chain.BOB:
|
|
240
|
+
return chains_1.bob;
|
|
241
|
+
case asset_registry_1.Chain.RONIN_MAINNET:
|
|
242
|
+
return chains_1.ronin;
|
|
243
|
+
case asset_registry_1.Chain.MANTA_PACIFIC_MAINNET:
|
|
244
|
+
return chains_1.manta;
|
|
245
|
+
case asset_registry_1.Chain.ZIRCUIT_MAINNET:
|
|
246
|
+
return chains_1.zircuit;
|
|
247
|
+
case asset_registry_1.Chain.GRAPHLINQ_BLOCKCHAIN_MAINNET:
|
|
248
|
+
return exports.GraphLinq;
|
|
249
|
+
case asset_registry_1.Chain.ZETACHAIN_MAINNET:
|
|
250
|
+
return chains_1.zetachain;
|
|
251
|
+
case asset_registry_1.Chain.BITLAYER_MAINNET:
|
|
252
|
+
return chains_1.bitlayer;
|
|
253
|
+
case asset_registry_1.Chain.CROSSFI_MAINNET:
|
|
254
|
+
return exports.crossfi;
|
|
255
|
+
case asset_registry_1.Chain.INEVM_MAINNET:
|
|
256
|
+
return chains_1.inEVM;
|
|
257
|
+
case asset_registry_1.Chain.B2_MAINNET:
|
|
251
258
|
return {
|
|
252
|
-
...bsquared,
|
|
259
|
+
...chains_1.bsquared,
|
|
253
260
|
contracts: {
|
|
254
261
|
multicall3: {
|
|
255
262
|
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
@@ -257,11 +264,11 @@ function getEvmChain(chain) {
|
|
|
257
264
|
},
|
|
258
265
|
},
|
|
259
266
|
};
|
|
260
|
-
case Chain.SEI_NETWORK:
|
|
261
|
-
return sei;
|
|
262
|
-
case Chain.MERLIN_MAINNET:
|
|
267
|
+
case asset_registry_1.Chain.SEI_NETWORK:
|
|
268
|
+
return chains_1.sei;
|
|
269
|
+
case asset_registry_1.Chain.MERLIN_MAINNET:
|
|
263
270
|
return {
|
|
264
|
-
...merlin,
|
|
271
|
+
...chains_1.merlin,
|
|
265
272
|
contracts: {
|
|
266
273
|
multicall3: {
|
|
267
274
|
address: '0x46063722c010AF39E465d286B84936A12aFb81F0',
|
|
@@ -269,16 +276,16 @@ function getEvmChain(chain) {
|
|
|
269
276
|
},
|
|
270
277
|
},
|
|
271
278
|
};
|
|
272
|
-
case Chain.X_LAYER_MAINNET:
|
|
273
|
-
return xLayer;
|
|
274
|
-
case Chain.CELO_MAINNET:
|
|
275
|
-
return celo;
|
|
276
|
-
case Chain.BOTANIX_MAINNET:
|
|
277
|
-
return botanix;
|
|
278
|
-
case Chain.HARMONY_MAINNET_SHARD_0:
|
|
279
|
-
return harmonyOne;
|
|
280
|
-
case Chain.HYPEREVM:
|
|
281
|
-
return hyperEvm;
|
|
279
|
+
case asset_registry_1.Chain.X_LAYER_MAINNET:
|
|
280
|
+
return chains_1.xLayer;
|
|
281
|
+
case asset_registry_1.Chain.CELO_MAINNET:
|
|
282
|
+
return chains_1.celo;
|
|
283
|
+
case asset_registry_1.Chain.BOTANIX_MAINNET:
|
|
284
|
+
return exports.botanix;
|
|
285
|
+
case asset_registry_1.Chain.HARMONY_MAINNET_SHARD_0:
|
|
286
|
+
return chains_1.harmonyOne;
|
|
287
|
+
case asset_registry_1.Chain.HYPEREVM:
|
|
288
|
+
return exports.hyperEvm;
|
|
282
289
|
// case Chain.VANA:
|
|
283
290
|
// return vana
|
|
284
291
|
// case Chain.RARI_CHAIN_MAINNET:
|
|
@@ -290,13 +297,13 @@ function getEvmChain(chain) {
|
|
|
290
297
|
}
|
|
291
298
|
}
|
|
292
299
|
const RPC_OVERRIDES = {
|
|
293
|
-
[Chain.FANTOM_OPERA]: 'https://rpc.fantom.network',
|
|
294
|
-
[Chain.BNB_SMART_CHAIN_MAINNET]: 'https://bsc-dataseed2.ninicoin.io',
|
|
295
|
-
[Chain.METIS_ANDROMEDA_MAINNET]: 'https://andromeda.metis.io/?owner=1088',
|
|
296
|
-
[Chain.X_LAYER_MAINNET]: 'https://xlayerrpc.okx.com',
|
|
300
|
+
[asset_registry_1.Chain.FANTOM_OPERA]: 'https://rpc.fantom.network',
|
|
301
|
+
[asset_registry_1.Chain.BNB_SMART_CHAIN_MAINNET]: 'https://bsc-dataseed2.ninicoin.io',
|
|
302
|
+
[asset_registry_1.Chain.METIS_ANDROMEDA_MAINNET]: 'https://andromeda.metis.io/?owner=1088',
|
|
303
|
+
[asset_registry_1.Chain.X_LAYER_MAINNET]: 'https://xlayerrpc.okx.com',
|
|
297
304
|
};
|
|
298
305
|
const LIST_OVERRIDES = {
|
|
299
|
-
[Chain.BASE]: [
|
|
306
|
+
[asset_registry_1.Chain.BASE]: [
|
|
300
307
|
'https://base.drpc.org',
|
|
301
308
|
'https://base.public.blockpi.network/v1/rpc/public',
|
|
302
309
|
'https://1rpc.io/base',
|
|
@@ -327,30 +334,30 @@ function trimTrailingSlash(url) {
|
|
|
327
334
|
return undefined;
|
|
328
335
|
return url.endsWith('/') ? url.slice(0, -1) : url;
|
|
329
336
|
}
|
|
330
|
-
|
|
337
|
+
function getEvmClient(chain, rpcId = 0) {
|
|
331
338
|
const chainInfo = getEvmChain(chain);
|
|
332
339
|
let rpc;
|
|
333
340
|
if (rpcId === 0)
|
|
334
341
|
rpc = chainInfo.rpcUrls.default.http[0];
|
|
335
342
|
else {
|
|
336
343
|
const rpcsChain = LIST_OVERRIDES[chain] ??
|
|
337
|
-
CHAIN_INFO[chain].rpc?.filter((a) => !a.includes('wss://'));
|
|
344
|
+
asset_registry_1.CHAIN_INFO[chain].rpc?.filter((a) => !a.includes('wss://'));
|
|
338
345
|
const rpcs = chainInfo.rpcUrls.default.http.map((a) => trimTrailingSlash(a));
|
|
339
346
|
const rpcsAdded = rpcsChain.map((a) => trimTrailingSlash(a));
|
|
340
|
-
const allRpcs = uniq([...rpcs, ...rpcsAdded]);
|
|
347
|
+
const allRpcs = (0, lodash_1.uniq)([...rpcs, ...rpcsAdded]);
|
|
341
348
|
rpc = allRpcs[rpcId];
|
|
342
349
|
}
|
|
343
|
-
return createPublicClient({
|
|
350
|
+
return (0, viem_1.createPublicClient)({
|
|
344
351
|
chain: chainInfo,
|
|
345
|
-
transport: http(RPC_OVERRIDES[chain] ?? rpc),
|
|
352
|
+
transport: (0, viem_1.http)(RPC_OVERRIDES[chain] ?? rpc),
|
|
346
353
|
});
|
|
347
354
|
}
|
|
348
355
|
const DEFAULT_BATCH_SIZE = 4096;
|
|
349
|
-
|
|
356
|
+
function createMulticallRetry(customRpcs) {
|
|
350
357
|
return async function multicallRetry(chain, calls, abi, batchSize = DEFAULT_BATCH_SIZE, maxRetries = 3, providerId = 0, allowFailure = true) {
|
|
351
358
|
try {
|
|
352
359
|
const provider = getEvmClientWithCustomRpcs(chain, providerId, customRpcs);
|
|
353
|
-
const abiIsArray = isArray(abi[0]);
|
|
360
|
+
const abiIsArray = (0, lodash_1.isArray)(abi[0]);
|
|
354
361
|
const data = await provider.multicall({
|
|
355
362
|
batchSize,
|
|
356
363
|
contracts: calls.map((call, i) => ({
|
|
@@ -376,12 +383,12 @@ export function createMulticallRetry(customRpcs) {
|
|
|
376
383
|
}
|
|
377
384
|
};
|
|
378
385
|
}
|
|
379
|
-
|
|
386
|
+
function getEvmClientWithCustomRpcs(chain, rpcId = 0, customRpcs) {
|
|
380
387
|
const chainInfo = getEvmChain(chain);
|
|
381
388
|
let rpc;
|
|
382
389
|
if (customRpcs && customRpcs[chain]) {
|
|
383
390
|
// Use custom RPC list if any (make sure that they are unique and valid)
|
|
384
|
-
const customRpcList = uniq(customRpcs[chain]
|
|
391
|
+
const customRpcList = (0, lodash_1.uniq)(customRpcs[chain]
|
|
385
392
|
.filter(Boolean) // Remove empty ones
|
|
386
393
|
.filter((a) => !a.includes('wss://')) // filter websocket ones (like the default impl)
|
|
387
394
|
.map((url) => trimTrailingSlash(url))
|
|
@@ -396,19 +403,19 @@ export function getEvmClientWithCustomRpcs(chain, rpcId = 0, customRpcs) {
|
|
|
396
403
|
if (rpcId === 0)
|
|
397
404
|
rpc = chainInfo.rpcUrls.default.http[0];
|
|
398
405
|
else {
|
|
399
|
-
const rpcsChain = CHAIN_INFO[chain].rpc?.filter((a) => !a.includes('wss://'));
|
|
406
|
+
const rpcsChain = asset_registry_1.CHAIN_INFO[chain].rpc?.filter((a) => !a.includes('wss://'));
|
|
400
407
|
const rpcs = chainInfo.rpcUrls.default.http.map((a) => trimTrailingSlash(a));
|
|
401
408
|
const rpcsAdded = rpcsChain.map((a) => trimTrailingSlash(a));
|
|
402
|
-
const allRpcs = uniq([...rpcs, ...rpcsAdded]);
|
|
409
|
+
const allRpcs = (0, lodash_1.uniq)([...rpcs, ...rpcsAdded]);
|
|
403
410
|
rpc = allRpcs[rpcId];
|
|
404
411
|
}
|
|
405
412
|
}
|
|
406
|
-
return createPublicClient({
|
|
413
|
+
return (0, viem_1.createPublicClient)({
|
|
407
414
|
chain: chainInfo,
|
|
408
|
-
transport: http(RPC_OVERRIDES[chain] ?? rpc),
|
|
415
|
+
transport: (0, viem_1.http)(RPC_OVERRIDES[chain] ?? rpc),
|
|
409
416
|
});
|
|
410
417
|
}
|
|
411
|
-
|
|
418
|
+
async function multicallRetry(chain, calls, abi, batchSize = DEFAULT_BATCH_SIZE, maxRetries = 5, providerId = 0, allowFailure = false, overrdies = LIST_OVERRIDES) {
|
|
412
419
|
const defaultMulticallRetry = createMulticallRetry(overrdies);
|
|
413
420
|
return defaultMulticallRetry(chain, calls, abi, batchSize, maxRetries, providerId, allowFailure);
|
|
414
421
|
}
|
package/dist/index.js
CHANGED
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./evm"), exports);
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1delta/providers",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
|
+
"require": "./dist/index.js",
|
|
9
10
|
"import": "./dist/index.js",
|
|
10
11
|
"types": "./dist/index.d.ts"
|
|
11
12
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "../../tsconfig.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
4
|
+
// Switch output to CommonJS for Jest/CJS compatibility
|
|
5
|
+
"module": "CommonJS",
|
|
6
|
+
"target": "ESNext",
|
|
7
|
+
"moduleResolution": "node",
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"outDir": "dist",
|
|
10
|
+
"rootDir": "src",
|
|
11
|
+
"declaration": true,
|
|
12
|
+
"declarationMap": true,
|
|
13
|
+
"allowJs": true,
|
|
14
|
+
"resolveJsonModule": true,
|
|
15
|
+
"skipLibCheck": true,
|
|
16
|
+
"strict": true,
|
|
17
|
+
"isolatedModules": true
|
|
17
18
|
},
|
|
18
|
-
"include": [
|
|
19
|
-
|
|
20
|
-
], // Include all the TypeScript files in src/
|
|
21
|
-
"exclude": [
|
|
22
|
-
"node_modules",
|
|
23
|
-
"dist"
|
|
24
|
-
] // Exclude node_modules and dist from being compiled
|
|
19
|
+
"include": ["src/**/*"],
|
|
20
|
+
"exclude": ["node_modules", "dist"]
|
|
25
21
|
}
|