@parallel-protocol/chains 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,417 @@
1
+ 'use strict';
2
+
3
+ var chains = require('viem/chains');
4
+ var zod = require('zod');
5
+
6
+ // src/addresses.ts
7
+ var PRL_ADDRESS = "0x6c0aeceeDc55c9d55d8B99216a670D85330941c3";
8
+ var SPRL1_ADDRESS = "0xeAd729472f82E5eC2FF4e691d67633077C1B5901";
9
+ var SPRL2_ADDRESS = "0xE8A2d848fE656E34A6caA35f375B42979e322135";
10
+ var REWARD_MERKLE_DISTRIBUTOR_ADDRESS = "0x7b54f3D993d3bcA077946034Ea710F9c07420C72";
11
+ var WETH_ADDRESS = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";
12
+ var BPT_POOL_ID = "0x1846c6cbe0d433e152fa358e5ff27968e18bce7c";
13
+ var SPRL1_CHAIN_ADDRESSES = {
14
+ ethereum: SPRL1_ADDRESS,
15
+ polygon: "0xDB7Be3a50bdf5641757EBEa38e8014E1F0AA9475",
16
+ base: "0x01fA35fDE0E813e2D6687660a74A313d8D922E48",
17
+ sonic: "0x7Df74BBB6F82eC1BCB1562a30ef5Bf5c326e2811"
18
+ };
19
+ var STAKING_CHAINS = Object.keys(SPRL1_CHAIN_ADDRESSES);
20
+ var ChainEnum = zod.z.enum([
21
+ "ethereum",
22
+ "base",
23
+ "arbitrum",
24
+ "optimism",
25
+ "polygon",
26
+ "avalanche",
27
+ "bsc",
28
+ "scroll",
29
+ "gnosis",
30
+ "sei",
31
+ "berachain",
32
+ "hyperevm",
33
+ "unichain",
34
+ "ink",
35
+ "tac",
36
+ "sonic",
37
+ "mantle",
38
+ "linea",
39
+ "xlayer",
40
+ "fraxtal",
41
+ "worldchain",
42
+ "hemi",
43
+ "plume",
44
+ "plasma",
45
+ "katana"
46
+ ]);
47
+ var CHAIN_NAMES = ChainEnum.options;
48
+ var MULTICALL3_CONTRACT = {
49
+ address: "0xcA11bde05977b3631167028862bE2a173976CA11"
50
+ };
51
+ var hyperEvmWithMulticall = {
52
+ ...chains.hyperEvm,
53
+ contracts: { ...chains.hyperEvm.contracts, multicall3: MULTICALL3_CONTRACT }
54
+ };
55
+ var hemiWithMulticall = {
56
+ ...chains.hemi,
57
+ contracts: { ...chains.hemi.contracts, multicall3: MULTICALL3_CONTRACT }
58
+ };
59
+ var CHAINS_STATIC = {
60
+ ethereum: {
61
+ viem: chains.mainnet,
62
+ status: "active",
63
+ lzEid: 30101,
64
+ contracts: {
65
+ accessManager: "0x94Ea8800444017695345156319e96bdB1E355F7a",
66
+ parallelizer: "0x6efeDDF9269c3683Ba516cb0e2124FE335F262a2",
67
+ usdp: "0x9B3a8f7CEC208e247d97dEE13313690977e24459",
68
+ susdp: "0x0d45b129dc868963025Db79A9074EA9c9e32Cae4",
69
+ bridgeableUsdp: "0x78BB4882b77D74aD9B04Ab71fE8e61f72595823C",
70
+ flashParallel: "0xC9B6279baa19dBB8bCc3250c89cAa093AaBA0bfc",
71
+ harvester: "0x36DA06796fD9d22BCD6287b66A87FfdadB12636C"
72
+ }
73
+ },
74
+ base: {
75
+ viem: chains.base,
76
+ status: "active",
77
+ lzEid: 30184,
78
+ contracts: {
79
+ accessManager: "0x0e4e7Ca9D7b1e6293D0713EFEfB4BCA010DeBF46",
80
+ parallelizer: "0xC3BEF21Ea7dEB5C34CF33E918c8e28972C8048eD",
81
+ usdp: "0x76A9A0062ec6712b99B4f63bD2b4270185759dd5",
82
+ susdp: "0x472eD57b376fE400259FB28e5C46eB53f0E3e7E7",
83
+ bridgeableUsdp: "0x4Dde0e308CFB60515218C6ad2DF1134Fc48531FC",
84
+ flashParallel: "0x08417cdb7F52a5021bB4eb6E0deAf3f295c3f182",
85
+ harvester: "0xCa43eCFCDFBA1fED003649e946Ae6091646B410a"
86
+ }
87
+ },
88
+ arbitrum: {
89
+ viem: chains.arbitrum,
90
+ status: "active",
91
+ lzEid: 30110,
92
+ contracts: {
93
+ accessManager: "0x0e4e7Ca9D7b1e6293D0713EFEfB4BCA010DeBF46",
94
+ usdp: "0x76A9A0062ec6712b99B4f63bD2b4270185759dd5",
95
+ bridgeableUsdp: "0x4Dde0e308CFB60515218C6ad2DF1134Fc48531FC",
96
+ flashParallel: "0x08417cdb7F52a5021bB4eb6E0deAf3f295c3f182"
97
+ }
98
+ },
99
+ optimism: {
100
+ viem: chains.optimism,
101
+ status: "active",
102
+ lzEid: 30111,
103
+ contracts: {
104
+ accessManager: "0x0e4e7Ca9D7b1e6293D0713EFEfB4BCA010DeBF46",
105
+ usdp: "0x90337e484B1Cb02132fc150d3Afa262147348545",
106
+ bridgeableUsdp: "0x76A9A0062ec6712b99B4f63bD2b4270185759dd5",
107
+ flashParallel: "0x3EBE332d2AA8cCB5dDc051c9925D9A41708e54D9"
108
+ }
109
+ },
110
+ polygon: {
111
+ viem: chains.polygon,
112
+ status: "active",
113
+ lzEid: 30109,
114
+ contracts: {
115
+ accessManager: "0x7Df74BBB6F82eC1BCB1562a30ef5Bf5c326e2811",
116
+ usdp: "0x1250304F66404cd153fA39388DDCDAec7E0f1707",
117
+ bridgeableUsdp: "0x9aFDB5A5eC2BBDDdAa4573BAA25CAA4e4e4a2CA9",
118
+ flashParallel: "0xC15Fd01A21E8f6625f709b16f6b3562d2848Da5f"
119
+ }
120
+ },
121
+ avalanche: {
122
+ viem: chains.avalanche,
123
+ status: "active",
124
+ lzEid: 30106,
125
+ contracts: {
126
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
127
+ parallelizer: "0x41d58951cbd12D4Ef49b0437897677bbF5547C80",
128
+ usdp: "0x9eE1963f05553eF838604Dd39403be21ceF26AA4",
129
+ susdp: "0x9d92c21205383651610f90722131655a5b8ed3e0",
130
+ bridgeableUsdp: "0x9fFaCB3dB5cB74BdD4C68af3b7CF203130c699ec",
131
+ flashParallel: "0x9e0DCF7a33bBde6689560C5c807dd2a3dF991277",
132
+ harvester: "0x0d45b129dc868963025db79a9074ea9c9e32cae4"
133
+ }
134
+ },
135
+ bsc: {
136
+ viem: chains.bsc,
137
+ status: "active",
138
+ lzEid: 30102,
139
+ contracts: {
140
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
141
+ usdp: "0x048C4e07D170eEdEE8772cA76AEE1C4e2D133d5c",
142
+ bridgeableUsdp: "0x7b54f3D993d3bcA077946034Ea710F9c07420C72",
143
+ flashParallel: "0xc0e62F863bbD9dab9d2F79e4EcC248e60c4fE3FA"
144
+ }
145
+ },
146
+ scroll: {
147
+ viem: chains.scroll,
148
+ status: "active",
149
+ lzEid: 30214,
150
+ contracts: {
151
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
152
+ usdp: "0x9eE1963f05553eF838604Dd39403be21ceF26AA4",
153
+ bridgeableUsdp: "0x9fFaCB3dB5cB74BdD4C68af3b7CF203130c699ec",
154
+ flashParallel: "0x9e0DCF7a33bBde6689560C5c807dd2a3dF991277"
155
+ }
156
+ },
157
+ gnosis: {
158
+ viem: chains.gnosis,
159
+ status: "active",
160
+ lzEid: 30145,
161
+ contracts: {
162
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
163
+ usdp: "0x9eE1963f05553eF838604Dd39403be21ceF26AA4",
164
+ bridgeableUsdp: "0x9fFaCB3dB5cB74BdD4C68af3b7CF203130c699ec",
165
+ flashParallel: "0x9e0DCF7a33bBde6689560C5c807dd2a3dF991277"
166
+ }
167
+ },
168
+ sei: {
169
+ viem: chains.sei,
170
+ status: "active",
171
+ lzEid: 30280,
172
+ contracts: {
173
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
174
+ usdp: "0x048C4e07D170eEdEE8772cA76AEE1C4e2D133d5c",
175
+ bridgeableUsdp: "0x7b54f3D993d3bcA077946034Ea710F9c07420C72",
176
+ flashParallel: "0xc0e62F863bbD9dab9d2F79e4EcC248e60c4fE3FA"
177
+ }
178
+ },
179
+ berachain: {
180
+ viem: chains.berachain,
181
+ status: "active",
182
+ lzEid: 30362,
183
+ contracts: {
184
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
185
+ usdp: "0x9eE1963f05553eF838604Dd39403be21ceF26AA4",
186
+ bridgeableUsdp: "0x9fFaCB3dB5cB74BdD4C68af3b7CF203130c699ec",
187
+ flashParallel: "0x9e0DCF7a33bBde6689560C5c807dd2a3dF991277"
188
+ }
189
+ },
190
+ hyperevm: {
191
+ viem: hyperEvmWithMulticall,
192
+ status: "active",
193
+ lzEid: 30367,
194
+ contracts: {
195
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
196
+ parallelizer: "0x1250304F66404cd153fA39388DDCDAec7E0f1707",
197
+ usdp: "0xBE65F0F410A72BeC163dC65d46c83699e957D588",
198
+ susdp: "0x9B3a8f7CEC208e247d97dEE13313690977e24459",
199
+ bridgeableUsdp: "0xC3BEF21Ea7dEB5C34CF33E918c8e28972C8048eD",
200
+ flashParallel: "0x15452454A9735D68df430879B2941316a09295B1",
201
+ harvester: "0x57770C1721Eb35509f38210A935c8b1911db7E0e"
202
+ }
203
+ },
204
+ unichain: {
205
+ viem: chains.unichain,
206
+ status: "active",
207
+ lzEid: 30320,
208
+ contracts: {
209
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
210
+ usdp: "0x9eE1963f05553eF838604Dd39403be21ceF26AA4",
211
+ bridgeableUsdp: "0x9fFaCB3dB5cB74BdD4C68af3b7CF203130c699ec",
212
+ flashParallel: "0x9e0DCF7a33bBde6689560C5c807dd2a3dF991277"
213
+ }
214
+ },
215
+ ink: {
216
+ viem: chains.ink,
217
+ status: "active",
218
+ lzEid: 30339,
219
+ contracts: {
220
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
221
+ usdp: "0x9eE1963f05553eF838604Dd39403be21ceF26AA4",
222
+ bridgeableUsdp: "0x9fFaCB3dB5cB74BdD4C68af3b7CF203130c699ec",
223
+ flashParallel: "0x9e0DCF7a33bBde6689560C5c807dd2a3dF991277"
224
+ }
225
+ },
226
+ tac: {
227
+ viem: chains.tac,
228
+ status: "active",
229
+ lzEid: 30377,
230
+ contracts: {
231
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
232
+ usdp: "0x4DeF531c3060686948f00EcC7504f2E0b71EDa14",
233
+ bridgeableUsdp: "0xB3DbecE41acDD6aD76d037b8Da2e53C58826746c",
234
+ flashParallel: "0x76A9A0062ec6712b99B4f63bD2b4270185759dd5"
235
+ }
236
+ },
237
+ sonic: {
238
+ viem: chains.sonic,
239
+ status: "sunset",
240
+ lzEid: 30332,
241
+ contracts: {
242
+ accessManager: "0x8eFb3DED78FbaEF2a4eFe01E01BBD911E4094b78",
243
+ parallelizer: "0xBEFBAe2330186F031b469e26283aCc66bb5F8826",
244
+ usdp: "0x08417cdb7F52a5021bB4eb6E0deAf3f295c3f182",
245
+ susdp: "0xe8a3DA6f5ed1cf04c58ac7f6A7383641e877517b",
246
+ bridgeableUsdp: "0xDa818995DdEee3AC36BF492133E1FeAE1FA377E6",
247
+ flashParallel: "0x2cb56dF31b909854B01D4B1EAd5676cf90e885E7",
248
+ harvester: "0x120805265fA944834DC6e930De2995768806a9d2"
249
+ }
250
+ },
251
+ mantle: {
252
+ viem: chains.mantle,
253
+ status: "active",
254
+ lzEid: 30181,
255
+ contracts: {
256
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
257
+ usdp: "0x9eE1963f05553eF838604Dd39403be21ceF26AA4",
258
+ flashParallel: "0x9e0DCF7a33bBde6689560C5c807dd2a3dF991277"
259
+ }
260
+ },
261
+ linea: {
262
+ viem: chains.linea,
263
+ status: "active",
264
+ lzEid: 30183,
265
+ contracts: {
266
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
267
+ usdp: "0x8fCf9118fdD359f6277cDd143c2Da206e64140F3",
268
+ bridgeableUsdp: "0x9E79eC4BC3574f2865636aECFF44B60A723A9eE7",
269
+ flashParallel: "0x46B053Ce47F16390574Bb8f54cAccd04C1E3Faf2"
270
+ }
271
+ },
272
+ xlayer: {
273
+ viem: chains.xLayer,
274
+ status: "active",
275
+ lzEid: 30274,
276
+ contracts: {
277
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
278
+ usdp: "0x8fCf9118fdD359f6277cDd143c2Da206e64140F3",
279
+ bridgeableUsdp: "0x9E79eC4BC3574f2865636aECFF44B60A723A9eE7",
280
+ flashParallel: "0x46B053Ce47F16390574Bb8f54cAccd04C1E3Faf2"
281
+ }
282
+ },
283
+ fraxtal: {
284
+ viem: chains.fraxtal,
285
+ status: "active",
286
+ lzEid: 30255,
287
+ contracts: {
288
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
289
+ usdp: "0x8fCf9118fdD359f6277cDd143c2Da206e64140F3",
290
+ bridgeableUsdp: "0x9E79eC4BC3574f2865636aECFF44B60A723A9eE7",
291
+ flashParallel: "0x46B053Ce47F16390574Bb8f54cAccd04C1E3Faf2"
292
+ }
293
+ },
294
+ worldchain: {
295
+ viem: chains.worldchain,
296
+ status: "active",
297
+ lzEid: 30319,
298
+ contracts: {
299
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
300
+ usdp: "0x8fCf9118fdD359f6277cDd143c2Da206e64140F3",
301
+ bridgeableUsdp: "0x9E79eC4BC3574f2865636aECFF44B60A723A9eE7",
302
+ flashParallel: "0x46B053Ce47F16390574Bb8f54cAccd04C1E3Faf2"
303
+ }
304
+ },
305
+ hemi: {
306
+ viem: hemiWithMulticall,
307
+ status: "active",
308
+ lzEid: 30329,
309
+ contracts: {
310
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
311
+ usdp: "0x8fCf9118fdD359f6277cDd143c2Da206e64140F3",
312
+ bridgeableUsdp: "0x9E79eC4BC3574f2865636aECFF44B60A723A9eE7",
313
+ flashParallel: "0x46B053Ce47F16390574Bb8f54cAccd04C1E3Faf2"
314
+ }
315
+ },
316
+ plume: {
317
+ viem: chains.plume,
318
+ status: "active",
319
+ lzEid: 30370,
320
+ contracts: {
321
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
322
+ usdp: "0x8fCf9118fdD359f6277cDd143c2Da206e64140F3",
323
+ bridgeableUsdp: "0x9E79eC4BC3574f2865636aECFF44B60A723A9eE7",
324
+ flashParallel: "0x46B053Ce47F16390574Bb8f54cAccd04C1E3Faf2"
325
+ }
326
+ },
327
+ plasma: {
328
+ viem: chains.plasma,
329
+ status: "active",
330
+ lzEid: 30383,
331
+ contracts: {
332
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
333
+ usdp: "0xC2f8B5d893217462aE9c9879c9285A5a3AAbcb8F",
334
+ bridgeableUsdp: "0x9E79eC4BC3574f2865636aECFF44B60A723A9eE7",
335
+ flashParallel: "0x46B053Ce47F16390574Bb8f54cAccd04C1E3Faf2"
336
+ }
337
+ },
338
+ katana: {
339
+ viem: chains.katana,
340
+ status: "active",
341
+ lzEid: 30375,
342
+ contracts: {
343
+ accessManager: "0xfD28f108e95f4D41daAE9dbfFf707D677985998E",
344
+ usdp: "0x8fCf9118fdD359f6277cDd143c2Da206e64140F3",
345
+ bridgeableUsdp: "0x9E79eC4BC3574f2865636aECFF44B60A723A9eE7",
346
+ flashParallel: "0x46B053Ce47F16390574Bb8f54cAccd04C1E3Faf2"
347
+ }
348
+ }
349
+ };
350
+ var ACTIVE_CHAINS = CHAIN_NAMES.filter(
351
+ (c) => CHAINS_STATIC[c].status === "active"
352
+ );
353
+ var PARALLELIZER_CHAINS = CHAIN_NAMES.filter(
354
+ (c) => !!CHAINS_STATIC[c].contracts.parallelizer
355
+ );
356
+ var SAVINGS_CHAINS = CHAIN_NAMES.filter(
357
+ (c) => !!CHAINS_STATIC[c].contracts.susdp
358
+ );
359
+
360
+ // src/helpers.ts
361
+ function getChainId(chainName) {
362
+ return CHAINS_STATIC[chainName]?.viem.id;
363
+ }
364
+ function isParallelizerChain(chainName) {
365
+ return !!CHAINS_STATIC[chainName]?.contracts.parallelizer;
366
+ }
367
+ function getUSDpAddress(chainName) {
368
+ return CHAINS_STATIC[chainName]?.contracts.usdp;
369
+ }
370
+ function getParallelizerAddress(chainName) {
371
+ return CHAINS_STATIC[chainName]?.contracts.parallelizer;
372
+ }
373
+ function getSUSDpAddress(chainName) {
374
+ return CHAINS_STATIC[chainName]?.contracts.susdp;
375
+ }
376
+ var USDC_CHAIN_ADDRESSES = {
377
+ ethereum: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
378
+ base: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
379
+ avalanche: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
380
+ hyperevm: "0xb88339CB7199b77E23DB6E890353E22632Ba630f",
381
+ sonic: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894",
382
+ sepolia: "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8"
383
+ };
384
+ function getUSDCAddress(chainName) {
385
+ return USDC_CHAIN_ADDRESSES[chainName];
386
+ }
387
+ function isKnownChain(chainName) {
388
+ return CHAIN_NAMES.includes(chainName);
389
+ }
390
+ function getMulticall3Address(chainName) {
391
+ const cfg = CHAINS_STATIC[chainName];
392
+ return cfg?.viem.contracts?.multicall3?.address;
393
+ }
394
+
395
+ exports.ACTIVE_CHAINS = ACTIVE_CHAINS;
396
+ exports.BPT_POOL_ID = BPT_POOL_ID;
397
+ exports.CHAINS_STATIC = CHAINS_STATIC;
398
+ exports.CHAIN_NAMES = CHAIN_NAMES;
399
+ exports.ChainEnum = ChainEnum;
400
+ exports.PARALLELIZER_CHAINS = PARALLELIZER_CHAINS;
401
+ exports.PRL_ADDRESS = PRL_ADDRESS;
402
+ exports.REWARD_MERKLE_DISTRIBUTOR_ADDRESS = REWARD_MERKLE_DISTRIBUTOR_ADDRESS;
403
+ exports.SAVINGS_CHAINS = SAVINGS_CHAINS;
404
+ exports.SPRL1_ADDRESS = SPRL1_ADDRESS;
405
+ exports.SPRL1_CHAIN_ADDRESSES = SPRL1_CHAIN_ADDRESSES;
406
+ exports.SPRL2_ADDRESS = SPRL2_ADDRESS;
407
+ exports.STAKING_CHAINS = STAKING_CHAINS;
408
+ exports.USDC_CHAIN_ADDRESSES = USDC_CHAIN_ADDRESSES;
409
+ exports.WETH_ADDRESS = WETH_ADDRESS;
410
+ exports.getChainId = getChainId;
411
+ exports.getMulticall3Address = getMulticall3Address;
412
+ exports.getParallelizerAddress = getParallelizerAddress;
413
+ exports.getSUSDpAddress = getSUSDpAddress;
414
+ exports.getUSDCAddress = getUSDCAddress;
415
+ exports.getUSDpAddress = getUSDpAddress;
416
+ exports.isKnownChain = isKnownChain;
417
+ exports.isParallelizerChain = isParallelizerChain;
@@ -0,0 +1,104 @@
1
+ import { Chain as Chain$1, Address } from 'viem';
2
+ import { z } from 'zod';
3
+
4
+ declare const ChainEnum: z.ZodEnum<{
5
+ ethereum: "ethereum";
6
+ base: "base";
7
+ arbitrum: "arbitrum";
8
+ optimism: "optimism";
9
+ polygon: "polygon";
10
+ avalanche: "avalanche";
11
+ bsc: "bsc";
12
+ scroll: "scroll";
13
+ gnosis: "gnosis";
14
+ sei: "sei";
15
+ berachain: "berachain";
16
+ hyperevm: "hyperevm";
17
+ unichain: "unichain";
18
+ ink: "ink";
19
+ tac: "tac";
20
+ sonic: "sonic";
21
+ mantle: "mantle";
22
+ linea: "linea";
23
+ xlayer: "xlayer";
24
+ fraxtal: "fraxtal";
25
+ worldchain: "worldchain";
26
+ hemi: "hemi";
27
+ plume: "plume";
28
+ plasma: "plasma";
29
+ katana: "katana";
30
+ }>;
31
+ type Chain = z.infer<typeof ChainEnum>;
32
+ declare const CHAIN_NAMES: ("ethereum" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "bsc" | "scroll" | "gnosis" | "sei" | "berachain" | "hyperevm" | "unichain" | "ink" | "tac" | "sonic" | "mantle" | "linea" | "xlayer" | "fraxtal" | "worldchain" | "hemi" | "plume" | "plasma" | "katana")[];
33
+ type ChainStatus = "active" | "paused" | "sunset";
34
+ interface ChainContracts {
35
+ /** OpenZeppelin AccessManager */
36
+ accessManager?: Address;
37
+ /** Parallelizer Diamond Proxy */
38
+ parallelizer?: Address;
39
+ /** USDp — present on all chains */
40
+ usdp: Address;
41
+ /** sUSDp Savings Module (ERC-4626) */
42
+ susdp?: Address;
43
+ /** BridgeableTokenP — LayerZero OFT */
44
+ bridgeableUsdp?: Address;
45
+ /** FlashParallelToken */
46
+ flashParallel?: Address;
47
+ /** GenericHarvester */
48
+ harvester?: Address;
49
+ }
50
+ /**
51
+ * Parallel-specific overlay on top of viem's canonical `Chain` object.
52
+ *
53
+ * `viem` is the source of truth for `id`, `name`, native currency, default
54
+ * RPC URLs, block explorers, and `multicall3` — pass `.viem` straight to
55
+ * `createPublicClient({ chain, transport })`.
56
+ *
57
+ * The Parallel overlay adds protocol status, LayerZero V2 endpoint id, and
58
+ * the contract addresses the protocol cares about.
59
+ */
60
+ interface ChainStaticConfig {
61
+ viem: Chain$1;
62
+ status: ChainStatus;
63
+ /** LayerZero V2 Endpoint ID */
64
+ lzEid: number;
65
+ contracts: ChainContracts;
66
+ }
67
+ declare const CHAINS_STATIC: Record<Chain, ChainStaticConfig>;
68
+ declare const ACTIVE_CHAINS: Chain[];
69
+ declare const PARALLELIZER_CHAINS: Chain[];
70
+ declare const SAVINGS_CHAINS: Chain[];
71
+
72
+ /** PRL governance token — Ethereum mainnet */
73
+ declare const PRL_ADDRESS: Address;
74
+ /** sPRL1 — staked PRL (cooldown-based unstake) */
75
+ declare const SPRL1_ADDRESS: Address;
76
+ /** sPRL2 — staked PRL/WETH BPT pool token */
77
+ declare const SPRL2_ADDRESS: Address;
78
+ /** RewardMerkleDistributor — claims epoch rewards */
79
+ declare const REWARD_MERKLE_DISTRIBUTOR_ADDRESS: Address;
80
+ /** WETH (mainnet) */
81
+ declare const WETH_ADDRESS: Address;
82
+ /** Balancer pool id for the PRL/WETH 80/20 pool */
83
+ declare const BPT_POOL_ID: "0x1846c6cbe0d433e152fa358e5ff27968e18bce7c";
84
+ /** sPRL1 deployed addresses per chain */
85
+ declare const SPRL1_CHAIN_ADDRESSES: Partial<Record<Chain, Address>>;
86
+ /**
87
+ * Chains where staking (sPRL1) is deployed. Derived from
88
+ * `SPRL1_CHAIN_ADDRESSES` so adding a chain in one place is enough.
89
+ */
90
+ declare const STAKING_CHAINS: Chain[];
91
+
92
+ declare function getChainId(chainName: string): number | undefined;
93
+ /** Only chains with a Parallelizer support Routes B, C, D, E, G, H, I, K, L */
94
+ declare function isParallelizerChain(chainName: string): boolean;
95
+ declare function getUSDpAddress(chainName: string): Address | undefined;
96
+ declare function getParallelizerAddress(chainName: string): Address | undefined;
97
+ declare function getSUSDpAddress(chainName: string): Address | undefined;
98
+ declare const USDC_CHAIN_ADDRESSES: Partial<Record<string, Address>>;
99
+ declare function getUSDCAddress(chainName: string): Address | undefined;
100
+ declare function isKnownChain(chainName: string): chainName is Chain;
101
+ /** Returns the canonical multicall3 address for a given chain, if available. */
102
+ declare function getMulticall3Address(chainName: string): Address | undefined;
103
+
104
+ export { ACTIVE_CHAINS, BPT_POOL_ID, CHAINS_STATIC, CHAIN_NAMES, type Chain, type ChainContracts, ChainEnum, type ChainStaticConfig, type ChainStatus, PARALLELIZER_CHAINS, PRL_ADDRESS, REWARD_MERKLE_DISTRIBUTOR_ADDRESS, SAVINGS_CHAINS, SPRL1_ADDRESS, SPRL1_CHAIN_ADDRESSES, SPRL2_ADDRESS, STAKING_CHAINS, USDC_CHAIN_ADDRESSES, WETH_ADDRESS, getChainId, getMulticall3Address, getParallelizerAddress, getSUSDpAddress, getUSDCAddress, getUSDpAddress, isKnownChain, isParallelizerChain };
@@ -0,0 +1,104 @@
1
+ import { Chain as Chain$1, Address } from 'viem';
2
+ import { z } from 'zod';
3
+
4
+ declare const ChainEnum: z.ZodEnum<{
5
+ ethereum: "ethereum";
6
+ base: "base";
7
+ arbitrum: "arbitrum";
8
+ optimism: "optimism";
9
+ polygon: "polygon";
10
+ avalanche: "avalanche";
11
+ bsc: "bsc";
12
+ scroll: "scroll";
13
+ gnosis: "gnosis";
14
+ sei: "sei";
15
+ berachain: "berachain";
16
+ hyperevm: "hyperevm";
17
+ unichain: "unichain";
18
+ ink: "ink";
19
+ tac: "tac";
20
+ sonic: "sonic";
21
+ mantle: "mantle";
22
+ linea: "linea";
23
+ xlayer: "xlayer";
24
+ fraxtal: "fraxtal";
25
+ worldchain: "worldchain";
26
+ hemi: "hemi";
27
+ plume: "plume";
28
+ plasma: "plasma";
29
+ katana: "katana";
30
+ }>;
31
+ type Chain = z.infer<typeof ChainEnum>;
32
+ declare const CHAIN_NAMES: ("ethereum" | "base" | "arbitrum" | "optimism" | "polygon" | "avalanche" | "bsc" | "scroll" | "gnosis" | "sei" | "berachain" | "hyperevm" | "unichain" | "ink" | "tac" | "sonic" | "mantle" | "linea" | "xlayer" | "fraxtal" | "worldchain" | "hemi" | "plume" | "plasma" | "katana")[];
33
+ type ChainStatus = "active" | "paused" | "sunset";
34
+ interface ChainContracts {
35
+ /** OpenZeppelin AccessManager */
36
+ accessManager?: Address;
37
+ /** Parallelizer Diamond Proxy */
38
+ parallelizer?: Address;
39
+ /** USDp — present on all chains */
40
+ usdp: Address;
41
+ /** sUSDp Savings Module (ERC-4626) */
42
+ susdp?: Address;
43
+ /** BridgeableTokenP — LayerZero OFT */
44
+ bridgeableUsdp?: Address;
45
+ /** FlashParallelToken */
46
+ flashParallel?: Address;
47
+ /** GenericHarvester */
48
+ harvester?: Address;
49
+ }
50
+ /**
51
+ * Parallel-specific overlay on top of viem's canonical `Chain` object.
52
+ *
53
+ * `viem` is the source of truth for `id`, `name`, native currency, default
54
+ * RPC URLs, block explorers, and `multicall3` — pass `.viem` straight to
55
+ * `createPublicClient({ chain, transport })`.
56
+ *
57
+ * The Parallel overlay adds protocol status, LayerZero V2 endpoint id, and
58
+ * the contract addresses the protocol cares about.
59
+ */
60
+ interface ChainStaticConfig {
61
+ viem: Chain$1;
62
+ status: ChainStatus;
63
+ /** LayerZero V2 Endpoint ID */
64
+ lzEid: number;
65
+ contracts: ChainContracts;
66
+ }
67
+ declare const CHAINS_STATIC: Record<Chain, ChainStaticConfig>;
68
+ declare const ACTIVE_CHAINS: Chain[];
69
+ declare const PARALLELIZER_CHAINS: Chain[];
70
+ declare const SAVINGS_CHAINS: Chain[];
71
+
72
+ /** PRL governance token — Ethereum mainnet */
73
+ declare const PRL_ADDRESS: Address;
74
+ /** sPRL1 — staked PRL (cooldown-based unstake) */
75
+ declare const SPRL1_ADDRESS: Address;
76
+ /** sPRL2 — staked PRL/WETH BPT pool token */
77
+ declare const SPRL2_ADDRESS: Address;
78
+ /** RewardMerkleDistributor — claims epoch rewards */
79
+ declare const REWARD_MERKLE_DISTRIBUTOR_ADDRESS: Address;
80
+ /** WETH (mainnet) */
81
+ declare const WETH_ADDRESS: Address;
82
+ /** Balancer pool id for the PRL/WETH 80/20 pool */
83
+ declare const BPT_POOL_ID: "0x1846c6cbe0d433e152fa358e5ff27968e18bce7c";
84
+ /** sPRL1 deployed addresses per chain */
85
+ declare const SPRL1_CHAIN_ADDRESSES: Partial<Record<Chain, Address>>;
86
+ /**
87
+ * Chains where staking (sPRL1) is deployed. Derived from
88
+ * `SPRL1_CHAIN_ADDRESSES` so adding a chain in one place is enough.
89
+ */
90
+ declare const STAKING_CHAINS: Chain[];
91
+
92
+ declare function getChainId(chainName: string): number | undefined;
93
+ /** Only chains with a Parallelizer support Routes B, C, D, E, G, H, I, K, L */
94
+ declare function isParallelizerChain(chainName: string): boolean;
95
+ declare function getUSDpAddress(chainName: string): Address | undefined;
96
+ declare function getParallelizerAddress(chainName: string): Address | undefined;
97
+ declare function getSUSDpAddress(chainName: string): Address | undefined;
98
+ declare const USDC_CHAIN_ADDRESSES: Partial<Record<string, Address>>;
99
+ declare function getUSDCAddress(chainName: string): Address | undefined;
100
+ declare function isKnownChain(chainName: string): chainName is Chain;
101
+ /** Returns the canonical multicall3 address for a given chain, if available. */
102
+ declare function getMulticall3Address(chainName: string): Address | undefined;
103
+
104
+ export { ACTIVE_CHAINS, BPT_POOL_ID, CHAINS_STATIC, CHAIN_NAMES, type Chain, type ChainContracts, ChainEnum, type ChainStaticConfig, type ChainStatus, PARALLELIZER_CHAINS, PRL_ADDRESS, REWARD_MERKLE_DISTRIBUTOR_ADDRESS, SAVINGS_CHAINS, SPRL1_ADDRESS, SPRL1_CHAIN_ADDRESSES, SPRL2_ADDRESS, STAKING_CHAINS, USDC_CHAIN_ADDRESSES, WETH_ADDRESS, getChainId, getMulticall3Address, getParallelizerAddress, getSUSDpAddress, getUSDCAddress, getUSDpAddress, isKnownChain, isParallelizerChain };