@panoptic-eng/sdk 1.0.55 → 1.0.57

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/dist/chainDeployments-D_bvyWEm.js +408 -0
  2. package/dist/{cow-BahYFov0.js → cow-45nsAaEr.js} +1 -1
  3. package/dist/deployments.js +2 -2
  4. package/dist/deployments.js.map +1 -1
  5. package/dist/index.d.ts +83 -41
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +323 -78
  8. package/dist/index.js.map +1 -1
  9. package/dist/{irm-BsRdsXMS.js → irm-DsM35dGO.js} +2 -409
  10. package/dist/panoptic/v2/index.d.ts +147 -1
  11. package/dist/panoptic/v2/index.d.ts.map +1 -1
  12. package/dist/panoptic/v2/index.js +266 -22
  13. package/dist/panoptic/v2/index.js.map +1 -1
  14. package/dist/panoptic/v2/react-public.d.ts +147 -1
  15. package/dist/panoptic/v2/react-public.d.ts.map +1 -1
  16. package/dist/panoptic/v2/react-public.js +266 -22
  17. package/dist/panoptic/v2/react-public.js.map +1 -1
  18. package/dist/{rates-B0uPUed1.js → rates-CEJz8fjw.js} +1 -1
  19. package/dist/{router-BhJqStSJ.js → router-DOUAKfn6.js} +2 -2
  20. package/dist/{router-kAllFA4i.js → router-DUOHNdYZ.js} +21 -12
  21. package/dist/{transactionFees-DE-Whxab.js → transactionFees-qweht4Rd.js} +54 -28
  22. package/dist/uniswap/index.d.ts +6 -1
  23. package/dist/uniswap/index.d.ts.map +1 -1
  24. package/dist/uniswap/index.js +19 -10
  25. package/dist/uniswap/index.js.map +1 -1
  26. package/dist/{v2-bpvC_P3W.js → v2-B3MqHVHt.js} +247 -12
  27. package/dist/vault-transaction-fees.d.ts +5 -3
  28. package/dist/vault-transaction-fees.d.ts.map +1 -1
  29. package/dist/vault-transaction-fees.js +443 -28
  30. package/dist/vault-transaction-fees.js.map +1 -1
  31. package/dist/{writes-B4nGIi6h.js → writes-CQrevcCu.js} +2 -2
  32. package/dist/zodiac/index.d.ts.map +1 -1
  33. package/package.json +1 -1
@@ -0,0 +1,408 @@
1
+ //#region ../deployments/src/chainDeployments.data.json
2
+ var _1 = {
3
+ "chainId": 1,
4
+ "infrastructure": {
5
+ "uniswapV3Factory": "0x1F98431c8aD98523631AE4a59f267346ea31F984",
6
+ "poolManager": "0x000000000004444c5dc75cB358380D2e3dE08A90",
7
+ "stateView": "0x7ffe42c4a5deea5b0fec41c94c136cf115597227"
8
+ },
9
+ "hypovault": {
10
+ "core": {
11
+ "hypoVaultImplementation": "0xF16714665955DBd0361D997eFc50fe391D96E8D0",
12
+ "factory": "0xd5049B2647de57141dE7F65E5124707B99A452A3",
13
+ "accountant": "0x65aA902AE3135658587FFC36ED51B61c927114e1",
14
+ "rolesAuthority": "0xb952D345c413Ddb7850173422bAe4968e0330598",
15
+ "collateralTrackerDecoderAndSanitizer": "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6"
16
+ },
17
+ "vaults": {
18
+ "wethPlpVault": "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92",
19
+ "usdcPlpVault": "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"
20
+ },
21
+ "managers": {
22
+ "wethPlpVaultManager": "0xB6Fc48e658C9B1a7dbdFA51A5E153ab60BB2e04d",
23
+ "usdcPlpVaultManager": "0x2ce65016366ef7320078e0758D58Cf1038bc7C4e"
24
+ },
25
+ "turnkeySigners": {
26
+ "wethPlpVaultManager": "0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F",
27
+ "usdcPlpVaultManager": "0x3c1c79d0cfc316Ba959194c89696a8382d7d283b"
28
+ }
29
+ },
30
+ "panoptic": {
31
+ "pool": {
32
+ "version": "v4",
33
+ "panopticPool": "0x00000000563b70d704f4c6675a5f6ac989fbae13",
34
+ "collateralTracker0": "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7",
35
+ "collateralTracker1": "0x12bF31955522BAC337D93e1bC0a39F68D8BDa216"
36
+ },
37
+ "additionalPools": { "ethUsdc5bpsV3": {
38
+ "version": "v3",
39
+ "panopticPool": "0x00000000009C7B687e833559e34503f64d7ed7c4",
40
+ "collateralTracker0": "0x3CCdA7d5E841d6543D90BcEc20b36a724C184DE9",
41
+ "collateralTracker1": "0x69E9f9e44E5F52237493b980dd7306198C64A4E4"
42
+ } },
43
+ "v2": {
44
+ "semiFungiblePositionManagerV4": "0x00000000000005C3287f136Ef5AF56c68Ea6849f",
45
+ "semiFungiblePositionManagerV3": "0x00000000000005E4693aDc8Ec0f12D686f728198",
46
+ "builderFactory": "0x0000000000000a3D22E158417AA639D7F71b0FF7",
47
+ "riskEngine": "0x0000000000000E65545005B26207D7edFd031260",
48
+ "panopticPoolImplementation": "0x000000000000135429F0DaCaB61639Bf6a63EbbC",
49
+ "collateralTrackerImplementation": "0x0000000000001d9c38CA405A2e04420865A08A33",
50
+ "panopticFactoryV4": "0x0000000000000c51d0f8cf4bd9adE7191372a625",
51
+ "panopticFactoryV3": "0x0000000000000aDC9A108591e718F2aee963a2a7",
52
+ "panopticHelper": "0x0000000000000000000000000000000000000000",
53
+ "panopticMath": "0x000000000000334bbd65C195581cf59ECf315932",
54
+ "panopticQuery": "0x0000000000000e1aE9c66C1c3B0A547D23389C93",
55
+ "interactionHelper": "0x00000000000041fe14Ce3c2392337CE501aE8328"
56
+ }
57
+ },
58
+ "riskEngines": [
59
+ "0x000000000000075e29cdaa9cb640a69e148ca7da",
60
+ "0x0000000000000fe1e261f66ce2f44def4f5ae0cb",
61
+ "0x0000000000000e673aECBDB5f5fE5DFAf4a8e9Ac",
62
+ "0x0000000000000E65545005B26207D7edFd031260"
63
+ ],
64
+ "markets": { "ethUsdc30bps": {
65
+ "currency0": "0x0000000000000000000000000000000000000000",
66
+ "currency1": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
67
+ "fee": 3e3,
68
+ "tickSpacing": 60,
69
+ "poolId": "0x3C08AE4977F78D"
70
+ } },
71
+ "subgraphs": {
72
+ "hypovault": "https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-mainnet/prod/gn",
73
+ "panoptic": "https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-mainnet/v2_prod/gn"
74
+ },
75
+ "sfpmSwap": {
76
+ "version": "v3",
77
+ "sfpm": "0x00000000000005E4693aDc8Ec0f12D686f728198",
78
+ "poolAddress": "0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640",
79
+ "poolId": "2824133844976349",
80
+ "fee": 500,
81
+ "weth": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
82
+ }
83
+ };
84
+ var _4663 = {
85
+ "chainId": 4663,
86
+ "infrastructure": {
87
+ "uniswapV3Factory": "0x1f7d7550b1b028f7571e69a784071f0205fd2efa",
88
+ "poolManager": "0x8366a39cc670b4001a1121b8f6a443a643e40951",
89
+ "stateView": "0xf3334192d15450cdd385c8b70e03f9a6bd9e673b"
90
+ },
91
+ "hypovault": {
92
+ "core": {
93
+ "hypoVaultImplementation": "0xF16714665955DBd0361D997eFc50fe391D96E8D0",
94
+ "factory": "0xd5049B2647de57141dE7F65E5124707B99A452A3",
95
+ "accountant": "0x9e345d862c41010F87D8E5A279e8D320D2831D36",
96
+ "rolesAuthority": "0xb952D345c413Ddb7850173422bAe4968e0330598",
97
+ "collateralTrackerDecoderAndSanitizer": "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6"
98
+ },
99
+ "vaults": {
100
+ "wethPlpVault": "0x0000000000000000000000000000000000000000",
101
+ "usdcPlpVault": "0x0000000000000000000000000000000000000000",
102
+ "usdgPlpVault": "0x08B24123252Bd9c4DD473b6573D4cF67196FFC4B"
103
+ },
104
+ "managers": {
105
+ "wethPlpVaultManager": "0x0000000000000000000000000000000000000000",
106
+ "usdcPlpVaultManager": "0x0000000000000000000000000000000000000000",
107
+ "usdgPlpVaultManager": "0x67Edb096585efe88a9A1ee16c5857AB74Fc8EA87"
108
+ },
109
+ "turnkeySigners": {
110
+ "wethPlpVaultManager": "0x0000000000000000000000000000000000000000",
111
+ "usdcPlpVaultManager": "0x0000000000000000000000000000000000000000",
112
+ "usdgPlpVaultManager": "0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F"
113
+ }
114
+ },
115
+ "panoptic": {
116
+ "pool": {
117
+ "version": "v4",
118
+ "panopticPool": "0x00000000989bcb6f24af4a1Ab2A6d6a31c98A58E",
119
+ "collateralTracker0": "0x49eaAC32A7CD4B8fB2209a12859a95E0b20aB0e5",
120
+ "collateralTracker1": "0x670C44a0FC35dbC410498e47A6290a1C3196d191"
121
+ },
122
+ "v2": {
123
+ "semiFungiblePositionManagerV4": "0x00000000000005C3287f136Ef5AF56c68Ea6849f",
124
+ "semiFungiblePositionManagerV3": "0x00000000000005E4693aDc8Ec0f12D686f728198",
125
+ "builderFactory": "0x0000000000000a3D22E158417AA639D7F71b0FF7",
126
+ "riskEngine": "0x0000000000000E65545005B26207D7edFd031260",
127
+ "panopticPoolImplementation": "0x000000000000135429F0DaCaB61639Bf6a63EbbC",
128
+ "collateralTrackerImplementation": "0x0000000000001d9c38CA405A2e04420865A08A33",
129
+ "panopticFactoryV4": "0x0000000000000c51d0f8cf4bd9adE7191372a625",
130
+ "panopticFactoryV3": "0x0000000000000aDC9A108591e718F2aee963a2a7",
131
+ "panopticHelper": "0x0000000000000000000000000000000000000000",
132
+ "panopticMath": "0x000000000000334bbd65C195581cf59ECf315932",
133
+ "panopticQuery": "0x0000000000000e1aE9c66C1c3B0A547D23389C93",
134
+ "interactionHelper": "0x00000000000041fe14Ce3c2392337CE501aE8328"
135
+ }
136
+ },
137
+ "riskEngines": ["0x0000000000000E65545005B26207D7edFd031260", "0x0000000000000fe1e261f66ce2f44def4f5ae0cb"],
138
+ "markets": { "spyUsdg": {
139
+ "currency0": "0x117cc2133c37B721F49dE2A7a74833232B3B4C0C",
140
+ "currency1": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
141
+ "fee": 3e3,
142
+ "tickSpacing": 60,
143
+ "poolId": "0xfe2a80bb5618fd14984b92ca6d45bf5ba67443ddb1435e28b2e48df2fc1526cd"
144
+ } },
145
+ "subgraphs": {
146
+ "hypovault": "https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-robinhood/prod/gn",
147
+ "panoptic": "https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-robinhood/v2_prod/gn"
148
+ }
149
+ };
150
+ var _8453 = {
151
+ "chainId": 8453,
152
+ "infrastructure": {
153
+ "uniswapV3Factory": "0x33128a8fC17869897dcE68Ed026d694621f6FDfD",
154
+ "poolManager": "0x498581fF718922c3f8e6A244956aF099B2652b2b",
155
+ "stateView": "0xA3c0c9b65baD0b08107Aa264b0f3dB444b867A71"
156
+ },
157
+ "hypovault": {
158
+ "core": {
159
+ "hypoVaultImplementation": "0xec311aE06486ad44Ba782133b502A34aCE0f479E",
160
+ "factory": "0x9bE53b169a41030f1710A9B82e9eA6413f14D12E",
161
+ "accountant": "0x345cA3407942f9d175c9eA8B90e83A36F570f852",
162
+ "rolesAuthority": "0x278D37CaBFFB4B72D2866E30fEFE08aef773E0B6",
163
+ "collateralTrackerDecoderAndSanitizer": "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b"
164
+ },
165
+ "vaults": {
166
+ "wethPlpVault": "0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04",
167
+ "usdcPlpVault": "0xb452af299c565D04B05E601efF2840e000C922f1"
168
+ },
169
+ "managers": {
170
+ "wethPlpVaultManager": "0x2a4923456c79E9ebD10F5Bf5305a5C742bBc1D7C",
171
+ "usdcPlpVaultManager": "0xdd6E2406a044582463CFE9F0C774870eAf4A310B"
172
+ },
173
+ "turnkeySigners": {
174
+ "wethPlpVaultManager": "0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F",
175
+ "usdcPlpVaultManager": "0x3c1c79d0cfc316Ba959194c89696a8382d7d283b"
176
+ }
177
+ },
178
+ "panoptic": {
179
+ "pool": {
180
+ "version": "v4",
181
+ "panopticPool": "0xB50e8bb68f5855DA742f4579274902a20454174a",
182
+ "collateralTracker0": "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869",
183
+ "collateralTracker1": "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
184
+ },
185
+ "v2": {
186
+ "semiFungiblePositionManagerV4": "0x8dcAa08cF298F8b4830FAf56d47930981AdE33af",
187
+ "semiFungiblePositionManagerV3": "0xFB1c06B491305d618bb8a7a368C6e50c001C153A",
188
+ "builderFactory": "0x6d26E916a18d522f7DdA2a26d9E1645564ccDcA5",
189
+ "riskEngine": "0x8bbce8b1eb64118cfe6c1eab0afe13b80ea41481",
190
+ "panopticPoolImplementation": "0x5BA68a018fF149c38ec52D181Dd24aBabE9a07DB",
191
+ "collateralTrackerImplementation": "0x34B3a4e4F14f292575ECe3EF67886C4598af459f",
192
+ "panopticFactoryV4": "0x9ac0317fcd124aff0b5429beb8de17020bc45f9a",
193
+ "panopticFactoryV3": "0x687f616d68c483a7223e6922f59aef7452e26c1d",
194
+ "panopticHelper": "0x0000000000000000000000000000000000000000",
195
+ "panopticMath": "0x6d21699192f5aF112C87e53b32ff846782afF407",
196
+ "panopticQuery": "0xd2586E1bbdd1169F597F3A370117EdF7372A7350",
197
+ "interactionHelper": "0x643d8DD5372FD6c71f8fAbCce4Eb8857704F3E15"
198
+ }
199
+ },
200
+ "riskEngines": ["0x8bbce8b1eb64118cfe6c1eab0afe13b80ea41481"],
201
+ "markets": { "ethUsdc5bps": {
202
+ "currency0": "0x0000000000000000000000000000000000000000",
203
+ "currency1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
204
+ "fee": 500,
205
+ "tickSpacing": 10,
206
+ "poolId": "0x96d4b53a38337a5733179751781178a2613306063c511b78cd02684739288c0a"
207
+ } },
208
+ "subgraphs": {
209
+ "hypovault": "https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-base/prod/gn",
210
+ "panoptic": "https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-base/v2_prod/gn"
211
+ }
212
+ };
213
+ var _11155111 = {
214
+ "chainId": 11155111,
215
+ "infrastructure": {
216
+ "uniswapV3Factory": "0x0227628f3F023bb0B980b67D528571c95c6DaC1c",
217
+ "poolManager": "0xE03A1074c86CFeDd5C142C4F04F1a1536e203543",
218
+ "stateView": "0xE1Dd9c3fA50EDB962E442f60DfBc432e24537E4C"
219
+ },
220
+ "hypovault": {
221
+ "core": {
222
+ "hypoVaultImplementation": "0xC5b415Db4087228Af817893769DC3a205160160B",
223
+ "factory": "0x363a9d605ca45cBfF3b597350DeADb53cdC292c7",
224
+ "accountant": "0x25BBef1DF262c24aa1AACD1F7eCeEcc1a7AD08ab",
225
+ "rolesAuthority": "0x673BfafB4e2712215B422347c1571421B83E8A3d",
226
+ "collateralTrackerDecoderAndSanitizer": "0xb899BE50BAF25BBB3A3ca3403256B3c703E5AB5d"
227
+ },
228
+ "vaults": {
229
+ "wethPlpVault": "0xD58C4F9AEe5bBfcf28dC9a8d3D57b323fA6521b1",
230
+ "usdcPlpVault": "0xdd7a8d6c6975488e801129bC84302d74e2361208"
231
+ },
232
+ "managers": {
233
+ "wethPlpVaultManager": "0x95eC124FAAB70D7aE147c3BE0336E01a828AE2d5",
234
+ "usdcPlpVaultManager": "0xFB5aa3e0b46F3859D90B14b52ffd287013b5Ec53"
235
+ },
236
+ "turnkeySigners": {
237
+ "wethPlpVaultManager": "0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F",
238
+ "usdcPlpVaultManager": "0x3c1c79d0cfc316Ba959194c89696a8382d7d283b"
239
+ }
240
+ },
241
+ "panoptic": {
242
+ "pool": {
243
+ "version": "v4",
244
+ "panopticPool": "0x872b98C46b2062F663BEb2CC9D4cE046Da2a2918",
245
+ "collateralTracker0": "0x09a60b78d06a03e5148faedd3bfee6f58b22012f",
246
+ "collateralTracker1": "0x7365664c8101ff7e9422ae2b203822253c31e69c"
247
+ },
248
+ "v2": {
249
+ "semiFungiblePositionManagerV3": "0x9DaD2C40107Db4B29a5450401BB7A28e6eA00e43",
250
+ "semiFungiblePositionManagerV4": "0xD2615995A71644E122cC2FD7FeC2392b971220DE",
251
+ "builderFactory": "0x55f3D2d9D065AA5Fcc11D94c55a6085849e8b6C3",
252
+ "riskEngine": "0x1376aF5ca426B6B9fad6a712c21f6Cf58a94b93c",
253
+ "panopticPoolImplementation": "0x969235B5830f13b58BB699305d9c70A8Cd3BD97C",
254
+ "collateralTrackerImplementation": "0xafcd5F651Ae0403Ff668bb2dAc38BEa907a35Dba",
255
+ "panopticFactoryV3": "0xd9FFCa53C0A6155001Ce8cbcAEfe89DB204690F1",
256
+ "panopticFactoryV4": "0x8FCBb59b05779818D9BAD2686cc44B705603ce03",
257
+ "panopticHelper": "0xfFEbB3A4ab793cB244209d4dA0Cb3e6B07133bd0",
258
+ "panopticMath": "0x6d21699192f5aF112C87e53b32ff846782afF407",
259
+ "panopticQuery": "0x74057945467Fb4eAE9193B46A60ae66a53f06A5b",
260
+ "interactionHelper": "0x643d8DD5372FD6c71f8fAbCce4Eb8857704F3E15"
261
+ }
262
+ },
263
+ "riskEngines": ["0x1376aF5ca426B6B9fad6a712c21f6Cf58a94b93c"],
264
+ "markets": { "ethUsdc5bps": {
265
+ "currency0": "0x0000000000000000000000000000000000000000",
266
+ "currency1": "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A",
267
+ "fee": 500,
268
+ "tickSpacing": 10,
269
+ "poolId": "0xba6673bcb27568a73a93dd23b20c8174fa16193cd90905be859144e8f13097a5"
270
+ } },
271
+ "subgraphs": {
272
+ "hypovault": "https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-sepolia/prod/gn",
273
+ "panoptic": "https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-sepolia/v2_prod/gn"
274
+ }
275
+ };
276
+ var chainDeployments_data_default = {
277
+ "1": _1,
278
+ "4663": _4663,
279
+ "8453": _8453,
280
+ "11155111": _11155111
281
+ };
282
+
283
+ //#endregion
284
+ //#region ../deployments/src/chainDeployments.js
285
+ const MAINNET_CHAIN_ID = 1;
286
+ const SEPOLIA_CHAIN_ID = 11155111;
287
+ const BASE_CHAIN_ID = 8453;
288
+ const ROBINHOOD_CHAIN_ID = 4663;
289
+ const CHAIN_DEPLOYMENTS = chainDeployments_data_default;
290
+ function getChainDeployment(chainId) {
291
+ return CHAIN_DEPLOYMENTS[chainId];
292
+ }
293
+ function requireChainDeployment(chainId) {
294
+ const deployment = getChainDeployment(chainId);
295
+ if (deployment === void 0) throw new Error(`Unsupported chain deployment for chainId ${chainId}`);
296
+ return deployment;
297
+ }
298
+ function isSupportedChain(chainId) {
299
+ return getChainDeployment(chainId) !== void 0;
300
+ }
301
+ function getEthUsdcMarket(deployment) {
302
+ const market = deployment.markets.ethUsdc5bps ?? deployment.markets.ethUsdc30bps;
303
+ if (market === void 0) throw new Error(`Missing ETH/USDC market for chainId ${deployment.chainId}`);
304
+ return market;
305
+ }
306
+ function getSpyUsdgMarket(deployment) {
307
+ const market = deployment.markets.spyUsdg;
308
+ if (market === void 0) throw new Error(`Missing SPY/USDG market for chainId ${deployment.chainId}`);
309
+ return market;
310
+ }
311
+ const MAINNET_DEPLOYMENT = CHAIN_DEPLOYMENTS[MAINNET_CHAIN_ID];
312
+ const MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES = MAINNET_DEPLOYMENT.panoptic.additionalPools?.ethUsdc5bpsV3;
313
+ const MAINNET_PANOPTIC_V2_ADDRESSES = MAINNET_DEPLOYMENT.panoptic.v2;
314
+ const SEPOLIA_DEPLOYMENT = CHAIN_DEPLOYMENTS[SEPOLIA_CHAIN_ID];
315
+ const SEPOLIA_HYPOVAULT_CORE_ADDRESSES = SEPOLIA_DEPLOYMENT.hypovault.core;
316
+ const SEPOLIA_HYPOVAULT_ADDRESSES = SEPOLIA_DEPLOYMENT.hypovault.vaults;
317
+ const SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES = SEPOLIA_DEPLOYMENT.hypovault.managers;
318
+ const SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = SEPOLIA_DEPLOYMENT.hypovault.turnkeySigners;
319
+ const SEPOLIA_PANOPTIC_POOL_ADDRESSES = SEPOLIA_DEPLOYMENT.panoptic.pool;
320
+ const SEPOLIA_PANOPTIC_V2_ADDRESSES = SEPOLIA_DEPLOYMENT.panoptic.v2;
321
+ const BASE_DEPLOYMENT = CHAIN_DEPLOYMENTS[BASE_CHAIN_ID];
322
+ const BASE_HYPOVAULT_CORE_ADDRESSES = BASE_DEPLOYMENT.hypovault.core;
323
+ const BASE_HYPOVAULT_ADDRESSES = BASE_DEPLOYMENT.hypovault.vaults;
324
+ const BASE_HYPOVAULT_MANAGER_ADDRESSES = BASE_DEPLOYMENT.hypovault.managers;
325
+ const BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = BASE_DEPLOYMENT.hypovault.turnkeySigners;
326
+ const BASE_PANOPTIC_POOL_ADDRESSES = BASE_DEPLOYMENT.panoptic.pool;
327
+ const BASE_PANOPTIC_V2_ADDRESSES = BASE_DEPLOYMENT.panoptic.v2;
328
+ const BASE_ETH_USDC_5BPS_MARKET = getEthUsdcMarket(BASE_DEPLOYMENT);
329
+ const SEPOLIA_ETH_USDC_5BPS_MARKET = getEthUsdcMarket(SEPOLIA_DEPLOYMENT);
330
+ const MAINNET_RISK_ENGINES = MAINNET_DEPLOYMENT.riskEngines;
331
+ const BASE_RISK_ENGINES = BASE_DEPLOYMENT.riskEngines;
332
+ const SEPOLIA_RISK_ENGINES = SEPOLIA_DEPLOYMENT.riskEngines;
333
+ const ROBINHOOD_DEPLOYMENT = CHAIN_DEPLOYMENTS[ROBINHOOD_CHAIN_ID];
334
+ const ROBINHOOD_HYPOVAULT_CORE_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.core;
335
+ const ROBINHOOD_HYPOVAULT_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.vaults;
336
+ const ROBINHOOD_HYPOVAULT_MANAGER_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.managers;
337
+ const ROBINHOOD_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = ROBINHOOD_DEPLOYMENT.hypovault.turnkeySigners;
338
+ const ROBINHOOD_PANOPTIC_POOL_ADDRESSES = ROBINHOOD_DEPLOYMENT.panoptic.pool;
339
+ const ROBINHOOD_PANOPTIC_V2_ADDRESSES = ROBINHOOD_DEPLOYMENT.panoptic.v2;
340
+ const ROBINHOOD_RISK_ENGINES = ROBINHOOD_DEPLOYMENT.riskEngines;
341
+ const ROBINHOOD_SPY_USDG_MARKET = getSpyUsdgMarket(ROBINHOOD_DEPLOYMENT);
342
+
343
+ //#endregion
344
+ //#region ../deployments/src/vaultDisplayNames.js
345
+ const mainnetDeployment = requireChainDeployment(MAINNET_CHAIN_ID);
346
+ const mainnetVaults = mainnetDeployment.hypovault.vaults;
347
+ const legacyMainnetVaults = {
348
+ wethPlpVault: "0x779a2aa634A004b3a3f3b322083744869BBC6D66",
349
+ usdcPlpVault: "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"
350
+ };
351
+ const sepoliaDeployment = requireChainDeployment(SEPOLIA_CHAIN_ID);
352
+ const sepoliaVaults = sepoliaDeployment.hypovault.vaults;
353
+ const baseDeployment = requireChainDeployment(BASE_CHAIN_ID);
354
+ const baseVaults = baseDeployment.hypovault.vaults;
355
+ const robinhoodDeployment = requireChainDeployment(ROBINHOOD_CHAIN_ID);
356
+ const robinhoodUsdgVault = robinhoodDeployment.hypovault.vaults.usdgPlpVault;
357
+ if (robinhoodUsdgVault === void 0) throw new Error("Missing Robinhood USDG PLP vault address");
358
+ const VAULT_DISPLAY_NAMES_PER_CHAIN = {
359
+ [MAINNET_CHAIN_ID]: {
360
+ [mainnetVaults.wethPlpVault.toLowerCase()]: "PLP Vault",
361
+ [mainnetVaults.usdcPlpVault.toLowerCase()]: "Unicorn Vault",
362
+ [legacyMainnetVaults.wethPlpVault.toLowerCase()]: "PLP Vault",
363
+ [legacyMainnetVaults.usdcPlpVault.toLowerCase()]: "Unicorn Vault"
364
+ },
365
+ [BASE_CHAIN_ID]: {
366
+ [baseVaults.wethPlpVault.toLowerCase()]: "PLP Vault",
367
+ [baseVaults.usdcPlpVault.toLowerCase()]: "Unicorn Vault"
368
+ },
369
+ [SEPOLIA_CHAIN_ID]: {
370
+ [sepoliaVaults.wethPlpVault.toLowerCase()]: "PLP Vault",
371
+ [sepoliaVaults.usdcPlpVault.toLowerCase()]: "Unicorn Vault"
372
+ },
373
+ [ROBINHOOD_CHAIN_ID]: { [robinhoodUsdgVault.toLowerCase()]: "0DTE +67∆ Vault" }
374
+ };
375
+ const VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN = {
376
+ [MAINNET_CHAIN_ID]: {
377
+ [mainnetVaults.wethPlpVault.toLowerCase()]: () => "PLP Vault",
378
+ [mainnetVaults.usdcPlpVault.toLowerCase()]: () => "Unicorn Vault",
379
+ [legacyMainnetVaults.wethPlpVault.toLowerCase()]: () => "PLP Vault",
380
+ [legacyMainnetVaults.usdcPlpVault.toLowerCase()]: () => "Unicorn Vault"
381
+ },
382
+ [BASE_CHAIN_ID]: {
383
+ [baseVaults.wethPlpVault.toLowerCase()]: () => "PLP Vault",
384
+ [baseVaults.usdcPlpVault.toLowerCase()]: () => "Unicorn Vault"
385
+ },
386
+ [SEPOLIA_CHAIN_ID]: {
387
+ [sepoliaVaults.wethPlpVault.toLowerCase()]: () => "PLP Vault",
388
+ [sepoliaVaults.usdcPlpVault.toLowerCase()]: () => "Unicorn Vault"
389
+ },
390
+ [ROBINHOOD_CHAIN_ID]: { [robinhoodUsdgVault.toLowerCase()]: () => "0DTE +67∆ Vault" }
391
+ };
392
+ function resolveVaultDisplayName({ chainId, vaultAddress, underlyingSymbol, fallbackName }) {
393
+ const vaultAddressLower = vaultAddress.toLowerCase();
394
+ const resolver = VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN[chainId]?.[vaultAddressLower];
395
+ if (resolver !== void 0) return resolver({
396
+ chainId,
397
+ vaultAddress: vaultAddressLower,
398
+ underlyingSymbol,
399
+ fallbackName
400
+ });
401
+ const staticName = VAULT_DISPLAY_NAMES_PER_CHAIN[chainId]?.[vaultAddressLower];
402
+ if (staticName !== void 0) return staticName;
403
+ if (fallbackName !== void 0 && fallbackName !== null) return fallbackName;
404
+ return "Vault";
405
+ }
406
+
407
+ //#endregion
408
+ export { BASE_CHAIN_ID, BASE_DEPLOYMENT, BASE_ETH_USDC_5BPS_MARKET, BASE_HYPOVAULT_ADDRESSES, BASE_HYPOVAULT_CORE_ADDRESSES, BASE_HYPOVAULT_MANAGER_ADDRESSES, BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, BASE_PANOPTIC_POOL_ADDRESSES, BASE_PANOPTIC_V2_ADDRESSES, CHAIN_DEPLOYMENTS, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES, MAINNET_PANOPTIC_V2_ADDRESSES, MAINNET_RISK_ENGINES, ROBINHOOD_CHAIN_ID, ROBINHOOD_DEPLOYMENT, ROBINHOOD_HYPOVAULT_ADDRESSES, ROBINHOOD_HYPOVAULT_CORE_ADDRESSES, ROBINHOOD_HYPOVAULT_MANAGER_ADDRESSES, ROBINHOOD_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, ROBINHOOD_PANOPTIC_POOL_ADDRESSES, ROBINHOOD_PANOPTIC_V2_ADDRESSES, ROBINHOOD_RISK_ENGINES, ROBINHOOD_SPY_USDG_MARKET, SEPOLIA_CHAIN_ID, SEPOLIA_DEPLOYMENT, SEPOLIA_ETH_USDC_5BPS_MARKET, SEPOLIA_HYPOVAULT_ADDRESSES, SEPOLIA_HYPOVAULT_CORE_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, SEPOLIA_PANOPTIC_POOL_ADDRESSES, SEPOLIA_PANOPTIC_V2_ADDRESSES, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, getChainDeployment, getEthUsdcMarket, getSpyUsdgMarket, isSupportedChain, requireChainDeployment, resolveVaultDisplayName };
@@ -1,4 +1,4 @@
1
- import { PanopticError, submitWrite } from "./rates-B0uPUed1.js";
1
+ import { PanopticError, submitWrite } from "./rates-CEJz8fjw.js";
2
2
  import { erc20Abi, getAddress, keccak256, maxUint256, stringToHex, zeroAddress } from "viem";
3
3
 
4
4
  //#region src/cow/addresses.ts
@@ -374,7 +374,7 @@ const VAULT_DISPLAY_NAMES_PER_CHAIN = {
374
374
  [sepoliaVaults.wethPlpVault.toLowerCase()]: "PLP Vault",
375
375
  [sepoliaVaults.usdcPlpVault.toLowerCase()]: "Unicorn Vault"
376
376
  },
377
- [ROBINHOOD_CHAIN_ID]: { [robinhoodUsdgVault.toLowerCase()]: "USDG PLP Vault" }
377
+ [ROBINHOOD_CHAIN_ID]: { [robinhoodUsdgVault.toLowerCase()]: "0DTE +67∆ Vault" }
378
378
  };
379
379
  const VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN = {
380
380
  [MAINNET_CHAIN_ID]: {
@@ -391,7 +391,7 @@ const VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN = {
391
391
  [sepoliaVaults.wethPlpVault.toLowerCase()]: () => "PLP Vault",
392
392
  [sepoliaVaults.usdcPlpVault.toLowerCase()]: () => "Unicorn Vault"
393
393
  },
394
- [ROBINHOOD_CHAIN_ID]: { [robinhoodUsdgVault.toLowerCase()]: () => "USDG PLP Vault" }
394
+ [ROBINHOOD_CHAIN_ID]: { [robinhoodUsdgVault.toLowerCase()]: () => "0DTE +67∆ Vault" }
395
395
  };
396
396
  function resolveVaultDisplayName({ chainId, vaultAddress, underlyingSymbol, fallbackName }) {
397
397
  const vaultAddressLower = vaultAddress.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"deployments.js","names":["chainDeploymentsData","chainId: number","deployment: ChainDeployment","VAULT_DISPLAY_NAMES_PER_CHAIN: Record<number, Record<Address, string>>","VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN: Record<\n number,\n Record<Address, VaultDisplayNameResolver>\n>"],"sources":["../../deployments/src/chainDeployments.data.json","../../deployments/src/chainDeployments.ts","../../deployments/src/vaultDisplayNames.ts"],"sourcesContent":["{\n \"1\": {\n \"chainId\": 1,\n \"infrastructure\": {\n \"uniswapV3Factory\": \"0x1F98431c8aD98523631AE4a59f267346ea31F984\",\n \"poolManager\": \"0x000000000004444c5dc75cB358380D2e3dE08A90\",\n \"stateView\": \"0x7ffe42c4a5deea5b0fec41c94c136cf115597227\"\n },\n \"hypovault\": {\n \"core\": {\n \"hypoVaultImplementation\": \"0xF16714665955DBd0361D997eFc50fe391D96E8D0\",\n \"factory\": \"0xd5049B2647de57141dE7F65E5124707B99A452A3\",\n \"accountant\": \"0x65aA902AE3135658587FFC36ED51B61c927114e1\",\n \"rolesAuthority\": \"0xb952D345c413Ddb7850173422bAe4968e0330598\",\n \"collateralTrackerDecoderAndSanitizer\": \"0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6\"\n },\n \"vaults\": {\n \"wethPlpVault\": \"0xd4e2c720a760049cc4151bcf61e3a9348db9cd92\",\n \"usdcPlpVault\": \"0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18\"\n },\n \"managers\": {\n \"wethPlpVaultManager\": \"0xB6Fc48e658C9B1a7dbdFA51A5E153ab60BB2e04d\",\n \"usdcPlpVaultManager\": \"0x2ce65016366ef7320078e0758D58Cf1038bc7C4e\"\n },\n \"turnkeySigners\": {\n \"wethPlpVaultManager\": \"0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F\",\n \"usdcPlpVaultManager\": \"0x3c1c79d0cfc316Ba959194c89696a8382d7d283b\"\n }\n },\n \"panoptic\": {\n \"pool\": {\n \"version\": \"v4\",\n \"panopticPool\": \"0x00000000563b70d704f4c6675a5f6ac989fbae13\",\n \"collateralTracker0\": \"0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7\",\n \"collateralTracker1\": \"0x12bF31955522BAC337D93e1bC0a39F68D8BDa216\"\n },\n \"additionalPools\": {\n \"ethUsdc5bpsV3\": {\n \"version\": \"v3\",\n \"panopticPool\": \"0x00000000009C7B687e833559e34503f64d7ed7c4\",\n \"collateralTracker0\": \"0x3CCdA7d5E841d6543D90BcEc20b36a724C184DE9\",\n \"collateralTracker1\": \"0x69E9f9e44E5F52237493b980dd7306198C64A4E4\"\n }\n },\n \"v2\": {\n \"semiFungiblePositionManagerV4\": \"0x00000000000005C3287f136Ef5AF56c68Ea6849f\",\n \"semiFungiblePositionManagerV3\": \"0x00000000000005E4693aDc8Ec0f12D686f728198\",\n \"builderFactory\": \"0x0000000000000a3D22E158417AA639D7F71b0FF7\",\n \"riskEngine\": \"0x0000000000000E65545005B26207D7edFd031260\",\n \"panopticPoolImplementation\": \"0x000000000000135429F0DaCaB61639Bf6a63EbbC\",\n \"collateralTrackerImplementation\": \"0x0000000000001d9c38CA405A2e04420865A08A33\",\n \"panopticFactoryV4\": \"0x0000000000000c51d0f8cf4bd9adE7191372a625\",\n \"panopticFactoryV3\": \"0x0000000000000aDC9A108591e718F2aee963a2a7\",\n \"panopticHelper\": \"0x0000000000000000000000000000000000000000\",\n \"panopticMath\": \"0x000000000000334bbd65C195581cf59ECf315932\",\n \"panopticQuery\": \"0x0000000000000e1aE9c66C1c3B0A547D23389C93\",\n \"interactionHelper\": \"0x00000000000041fe14Ce3c2392337CE501aE8328\"\n }\n },\n \"riskEngines\": [\n \"0x000000000000075e29cdaa9cb640a69e148ca7da\",\n \"0x0000000000000fe1e261f66ce2f44def4f5ae0cb\",\n \"0x0000000000000e673aECBDB5f5fE5DFAf4a8e9Ac\",\n \"0x0000000000000E65545005B26207D7edFd031260\"\n ],\n \"markets\": {\n \"ethUsdc30bps\": {\n \"currency0\": \"0x0000000000000000000000000000000000000000\",\n \"currency1\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"fee\": 3000,\n \"tickSpacing\": 60,\n \"poolId\": \"0x3C08AE4977F78D\"\n }\n },\n \"subgraphs\": {\n \"hypovault\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-mainnet/prod/gn\",\n \"panoptic\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-mainnet/v2_prod/gn\"\n },\n \"sfpmSwap\": {\n \"version\": \"v3\",\n \"sfpm\": \"0x00000000000005E4693aDc8Ec0f12D686f728198\",\n \"poolAddress\": \"0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640\",\n \"poolId\": \"2824133844976349\",\n \"fee\": 500,\n \"weth\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\"\n }\n },\n \"4663\": {\n \"chainId\": 4663,\n \"infrastructure\": {\n \"uniswapV3Factory\": \"0x1f7d7550b1b028f7571e69a784071f0205fd2efa\",\n \"poolManager\": \"0x8366a39cc670b4001a1121b8f6a443a643e40951\",\n \"stateView\": \"0xf3334192d15450cdd385c8b70e03f9a6bd9e673b\"\n },\n \"hypovault\": {\n \"core\": {\n \"hypoVaultImplementation\": \"0xF16714665955DBd0361D997eFc50fe391D96E8D0\",\n \"factory\": \"0xd5049B2647de57141dE7F65E5124707B99A452A3\",\n \"accountant\": \"0x9e345d862c41010F87D8E5A279e8D320D2831D36\",\n \"rolesAuthority\": \"0xb952D345c413Ddb7850173422bAe4968e0330598\",\n \"collateralTrackerDecoderAndSanitizer\": \"0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6\"\n },\n \"vaults\": {\n \"wethPlpVault\": \"0x0000000000000000000000000000000000000000\",\n \"usdcPlpVault\": \"0x0000000000000000000000000000000000000000\",\n \"usdgPlpVault\": \"0x08B24123252Bd9c4DD473b6573D4cF67196FFC4B\"\n },\n \"managers\": {\n \"wethPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdcPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdgPlpVaultManager\": \"0x67Edb096585efe88a9A1ee16c5857AB74Fc8EA87\"\n },\n \"turnkeySigners\": {\n \"wethPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdcPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdgPlpVaultManager\": \"0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F\"\n }\n },\n \"panoptic\": {\n \"pool\": {\n \"version\": \"v4\",\n \"panopticPool\": \"0x00000000989bcb6f24af4a1Ab2A6d6a31c98A58E\",\n \"collateralTracker0\": \"0x49eaAC32A7CD4B8fB2209a12859a95E0b20aB0e5\",\n \"collateralTracker1\": \"0x670C44a0FC35dbC410498e47A6290a1C3196d191\"\n },\n \"v2\": {\n \"semiFungiblePositionManagerV4\": \"0x00000000000005C3287f136Ef5AF56c68Ea6849f\",\n \"semiFungiblePositionManagerV3\": \"0x00000000000005E4693aDc8Ec0f12D686f728198\",\n \"builderFactory\": \"0x0000000000000a3D22E158417AA639D7F71b0FF7\",\n \"riskEngine\": \"0x0000000000000E65545005B26207D7edFd031260\",\n \"panopticPoolImplementation\": \"0x000000000000135429F0DaCaB61639Bf6a63EbbC\",\n \"collateralTrackerImplementation\": \"0x0000000000001d9c38CA405A2e04420865A08A33\",\n \"panopticFactoryV4\": \"0x0000000000000c51d0f8cf4bd9adE7191372a625\",\n \"panopticFactoryV3\": \"0x0000000000000aDC9A108591e718F2aee963a2a7\",\n \"panopticHelper\": \"0x0000000000000000000000000000000000000000\",\n \"panopticMath\": \"0x000000000000334bbd65C195581cf59ECf315932\",\n \"panopticQuery\": \"0x0000000000000e1aE9c66C1c3B0A547D23389C93\",\n \"interactionHelper\": \"0x00000000000041fe14Ce3c2392337CE501aE8328\"\n }\n },\n \"riskEngines\": [\n \"0x0000000000000E65545005B26207D7edFd031260\",\n \"0x0000000000000fe1e261f66ce2f44def4f5ae0cb\"\n ],\n \"markets\": {\n \"spyUsdg\": {\n \"currency0\": \"0x117cc2133c37B721F49dE2A7a74833232B3B4C0C\",\n \"currency1\": \"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168\",\n \"fee\": 3000,\n \"tickSpacing\": 60,\n \"poolId\": \"0xfe2a80bb5618fd14984b92ca6d45bf5ba67443ddb1435e28b2e48df2fc1526cd\"\n }\n },\n \"subgraphs\": {\n \"hypovault\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-robinhood/prod/gn\",\n \"panoptic\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-robinhood/v2_prod/gn\"\n }\n },\n \"8453\": {\n \"chainId\": 8453,\n \"infrastructure\": {\n \"uniswapV3Factory\": \"0x33128a8fC17869897dcE68Ed026d694621f6FDfD\",\n \"poolManager\": \"0x498581fF718922c3f8e6A244956aF099B2652b2b\",\n \"stateView\": \"0xA3c0c9b65baD0b08107Aa264b0f3dB444b867A71\"\n },\n \"hypovault\": {\n \"core\": {\n \"hypoVaultImplementation\": \"0xec311aE06486ad44Ba782133b502A34aCE0f479E\",\n \"factory\": \"0x9bE53b169a41030f1710A9B82e9eA6413f14D12E\",\n \"accountant\": \"0x345cA3407942f9d175c9eA8B90e83A36F570f852\",\n \"rolesAuthority\": \"0x278D37CaBFFB4B72D2866E30fEFE08aef773E0B6\",\n \"collateralTrackerDecoderAndSanitizer\": \"0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b\"\n },\n \"vaults\": {\n \"wethPlpVault\": \"0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04\",\n \"usdcPlpVault\": \"0xb452af299c565D04B05E601efF2840e000C922f1\"\n },\n \"managers\": {\n \"wethPlpVaultManager\": \"0x2a4923456c79E9ebD10F5Bf5305a5C742bBc1D7C\",\n \"usdcPlpVaultManager\": \"0xdd6E2406a044582463CFE9F0C774870eAf4A310B\"\n },\n \"turnkeySigners\": {\n \"wethPlpVaultManager\": \"0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F\",\n \"usdcPlpVaultManager\": \"0x3c1c79d0cfc316Ba959194c89696a8382d7d283b\"\n }\n },\n \"panoptic\": {\n \"pool\": {\n \"version\": \"v4\",\n \"panopticPool\": \"0xB50e8bb68f5855DA742f4579274902a20454174a\",\n \"collateralTracker0\": \"0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869\",\n \"collateralTracker1\": \"0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2\"\n },\n \"v2\": {\n \"semiFungiblePositionManagerV4\": \"0x8dcAa08cF298F8b4830FAf56d47930981AdE33af\",\n \"semiFungiblePositionManagerV3\": \"0xFB1c06B491305d618bb8a7a368C6e50c001C153A\",\n \"builderFactory\": \"0x6d26E916a18d522f7DdA2a26d9E1645564ccDcA5\",\n \"riskEngine\": \"0x8bbce8b1eb64118cfe6c1eab0afe13b80ea41481\",\n \"panopticPoolImplementation\": \"0x5BA68a018fF149c38ec52D181Dd24aBabE9a07DB\",\n \"collateralTrackerImplementation\": \"0x34B3a4e4F14f292575ECe3EF67886C4598af459f\",\n \"panopticFactoryV4\": \"0x9ac0317fcd124aff0b5429beb8de17020bc45f9a\",\n \"panopticFactoryV3\": \"0x687f616d68c483a7223e6922f59aef7452e26c1d\",\n \"panopticHelper\": \"0x0000000000000000000000000000000000000000\",\n \"panopticMath\": \"0x6d21699192f5aF112C87e53b32ff846782afF407\",\n \"panopticQuery\": \"0xd2586E1bbdd1169F597F3A370117EdF7372A7350\",\n \"interactionHelper\": \"0x643d8DD5372FD6c71f8fAbCce4Eb8857704F3E15\"\n }\n },\n \"riskEngines\": [\n \"0x8bbce8b1eb64118cfe6c1eab0afe13b80ea41481\"\n ],\n \"markets\": {\n \"ethUsdc5bps\": {\n \"currency0\": \"0x0000000000000000000000000000000000000000\",\n \"currency1\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"fee\": 500,\n \"tickSpacing\": 10,\n \"poolId\": \"0x96d4b53a38337a5733179751781178a2613306063c511b78cd02684739288c0a\"\n }\n },\n \"subgraphs\": {\n \"hypovault\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-base/prod/gn\",\n \"panoptic\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-base/v2_prod/gn\"\n }\n },\n \"11155111\": {\n \"chainId\": 11155111,\n \"infrastructure\": {\n \"uniswapV3Factory\": \"0x0227628f3F023bb0B980b67D528571c95c6DaC1c\",\n \"poolManager\": \"0xE03A1074c86CFeDd5C142C4F04F1a1536e203543\",\n \"stateView\": \"0xE1Dd9c3fA50EDB962E442f60DfBc432e24537E4C\"\n },\n \"hypovault\": {\n \"core\": {\n \"hypoVaultImplementation\": \"0xC5b415Db4087228Af817893769DC3a205160160B\",\n \"factory\": \"0x363a9d605ca45cBfF3b597350DeADb53cdC292c7\",\n \"accountant\": \"0x25BBef1DF262c24aa1AACD1F7eCeEcc1a7AD08ab\",\n \"rolesAuthority\": \"0x673BfafB4e2712215B422347c1571421B83E8A3d\",\n \"collateralTrackerDecoderAndSanitizer\": \"0xb899BE50BAF25BBB3A3ca3403256B3c703E5AB5d\"\n },\n \"vaults\": {\n \"wethPlpVault\": \"0xD58C4F9AEe5bBfcf28dC9a8d3D57b323fA6521b1\",\n \"usdcPlpVault\": \"0xdd7a8d6c6975488e801129bC84302d74e2361208\"\n },\n \"managers\": {\n \"wethPlpVaultManager\": \"0x95eC124FAAB70D7aE147c3BE0336E01a828AE2d5\",\n \"usdcPlpVaultManager\": \"0xFB5aa3e0b46F3859D90B14b52ffd287013b5Ec53\"\n },\n \"turnkeySigners\": {\n \"wethPlpVaultManager\": \"0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F\",\n \"usdcPlpVaultManager\": \"0x3c1c79d0cfc316Ba959194c89696a8382d7d283b\"\n }\n },\n \"panoptic\": {\n \"pool\": {\n \"version\": \"v4\",\n \"panopticPool\": \"0x872b98C46b2062F663BEb2CC9D4cE046Da2a2918\",\n \"collateralTracker0\": \"0x09a60b78d06a03e5148faedd3bfee6f58b22012f\",\n \"collateralTracker1\": \"0x7365664c8101ff7e9422ae2b203822253c31e69c\"\n },\n \"v2\": {\n \"semiFungiblePositionManagerV3\": \"0x9DaD2C40107Db4B29a5450401BB7A28e6eA00e43\",\n \"semiFungiblePositionManagerV4\": \"0xD2615995A71644E122cC2FD7FeC2392b971220DE\",\n \"builderFactory\": \"0x55f3D2d9D065AA5Fcc11D94c55a6085849e8b6C3\",\n \"riskEngine\": \"0x1376aF5ca426B6B9fad6a712c21f6Cf58a94b93c\",\n \"panopticPoolImplementation\": \"0x969235B5830f13b58BB699305d9c70A8Cd3BD97C\",\n \"collateralTrackerImplementation\": \"0xafcd5F651Ae0403Ff668bb2dAc38BEa907a35Dba\",\n \"panopticFactoryV3\": \"0xd9FFCa53C0A6155001Ce8cbcAEfe89DB204690F1\",\n \"panopticFactoryV4\": \"0x8FCBb59b05779818D9BAD2686cc44B705603ce03\",\n \"panopticHelper\": \"0xfFEbB3A4ab793cB244209d4dA0Cb3e6B07133bd0\",\n \"panopticMath\": \"0x6d21699192f5aF112C87e53b32ff846782afF407\",\n \"panopticQuery\": \"0x74057945467Fb4eAE9193B46A60ae66a53f06A5b\",\n \"interactionHelper\": \"0x643d8DD5372FD6c71f8fAbCce4Eb8857704F3E15\"\n }\n },\n \"riskEngines\": [\n \"0x1376aF5ca426B6B9fad6a712c21f6Cf58a94b93c\"\n ],\n \"markets\": {\n \"ethUsdc5bps\": {\n \"currency0\": \"0x0000000000000000000000000000000000000000\",\n \"currency1\": \"0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A\",\n \"fee\": 500,\n \"tickSpacing\": 10,\n \"poolId\": \"0xba6673bcb27568a73a93dd23b20c8174fa16193cd90905be859144e8f13097a5\"\n }\n },\n \"subgraphs\": {\n \"hypovault\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-sepolia/prod/gn\",\n \"panoptic\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-sepolia/v2_prod/gn\"\n }\n }\n}\n","import type { Address, Hex } from 'viem'\n\nimport chainDeploymentsData from './chainDeployments.data.json'\n\nexport type HypoVaultCoreAddresses = {\n hypoVaultImplementation: Address\n factory: Address\n accountant: Address\n rolesAuthority: Address\n collateralTrackerDecoderAndSanitizer: Address\n}\n\nexport type HypoVaultVaultAddresses = {\n wethPlpVault: Address\n usdcPlpVault: Address\n usdgPlpVault?: Address\n}\n\nexport type HypoVaultManagerAddresses = {\n wethPlpVaultManager: Address\n usdcPlpVaultManager: Address\n usdgPlpVaultManager?: Address\n}\n\nexport type HypoVaultManagerTurnkeySigners = {\n wethPlpVaultManager: Address\n usdcPlpVaultManager: Address\n usdgPlpVaultManager?: Address\n}\n\nexport type PanopticPoolAddresses = {\n version: 'v3' | 'v4'\n panopticPool: Address\n collateralTracker0: Address\n collateralTracker1: Address\n}\n\nexport type PanopticV2Addresses = {\n semiFungiblePositionManagerV3: Address\n semiFungiblePositionManagerV4: Address\n builderFactory: Address\n riskEngine: Address\n panopticPoolImplementation: Address\n collateralTrackerImplementation: Address\n panopticFactoryV3: Address\n panopticFactoryV4: Address\n panopticHelper: Address\n panopticMath: Address\n panopticQuery: Address\n interactionHelper: Address\n}\n\nexport type EthUsdc5BpsMarket = {\n currency0: Address\n currency1: Address\n fee: number\n tickSpacing: number\n poolId: Hex\n}\n\nexport type SpyUsdgMarket = EthUsdc5BpsMarket\n\nexport type InfrastructureAddresses = {\n uniswapV3Factory: Address\n poolManager: Address\n stateView: Address\n}\n\n/**\n * The off-venue swap venue: a cheaper Uniswap pool the hedger routes its\n * hedge-netting swap through via the SemiFungiblePositionManager, instead of the\n * options pool's own (pricier) pool. `sfpm` is the SFPM the pool is registered on\n * and `poolId` is its registered uint64 id. `weth` bridges native-ETH collateral\n * (the v3 pool trades WETH).\n */\nexport type SfpmSwapMarket = {\n version: 'v3' | 'v4'\n sfpm: Address\n poolAddress: Address\n poolId: string\n fee: number\n weth: Address\n}\n\nexport type ChainDeployment = {\n chainId: number\n infrastructure: InfrastructureAddresses\n hypovault: {\n core: HypoVaultCoreAddresses\n vaults: HypoVaultVaultAddresses\n managers: HypoVaultManagerAddresses\n turnkeySigners: HypoVaultManagerTurnkeySigners\n }\n panoptic: {\n pool: PanopticPoolAddresses\n additionalPools?: Readonly<\n Record<string, PanopticPoolAddresses> & {\n ethUsdc5bpsV3?: PanopticPoolAddresses\n }\n >\n v2: PanopticV2Addresses\n }\n // Keep this whitelist current as new RiskEngines are deployed, otherwise UI subgraph queries\n // that filter by risk engine will stop surfacing markets for the new deployments.\n riskEngines: Address[]\n markets: {\n ethUsdc5bps?: EthUsdc5BpsMarket\n ethUsdc30bps?: EthUsdc5BpsMarket\n spyUsdg?: SpyUsdgMarket\n }\n /** Off-venue SFPM swap venue for the hedger (optional; absent = feature unavailable). */\n sfpmSwap?: SfpmSwapMarket\n subgraphs: {\n hypovault: string\n panoptic?: string\n }\n}\n\nexport const MAINNET_CHAIN_ID = 1\nexport const SEPOLIA_CHAIN_ID = 11155111\nexport const BASE_CHAIN_ID = 8453\nexport const ROBINHOOD_CHAIN_ID = 4663\n\nexport const CHAIN_DEPLOYMENTS = chainDeploymentsData as Readonly<Record<number, ChainDeployment>>\n\nexport function getChainDeployment(chainId: number): ChainDeployment | undefined {\n return CHAIN_DEPLOYMENTS[chainId]\n}\n\nexport function requireChainDeployment(chainId: number): ChainDeployment {\n const deployment = getChainDeployment(chainId)\n if (deployment === undefined) {\n throw new Error(`Unsupported chain deployment for chainId ${chainId}`)\n }\n return deployment\n}\n\nexport function isSupportedChain(chainId: number): boolean {\n return getChainDeployment(chainId) !== undefined\n}\n\nexport function getEthUsdcMarket(deployment: ChainDeployment): EthUsdc5BpsMarket {\n const market = deployment.markets.ethUsdc5bps ?? deployment.markets.ethUsdc30bps\n if (market === undefined) {\n throw new Error(`Missing ETH/USDC market for chainId ${deployment.chainId}`)\n }\n return market\n}\n\nexport function getSpyUsdgMarket(deployment: ChainDeployment): SpyUsdgMarket {\n const market = deployment.markets.spyUsdg\n if (market === undefined) {\n throw new Error(`Missing SPY/USDG market for chainId ${deployment.chainId}`)\n }\n return market\n}\n\n\n/** The off-venue SFPM swap venue for a chain, or undefined if not configured. */\nexport function getSfpmSwapMarket(deployment: ChainDeployment): SfpmSwapMarket | undefined {\n return deployment.sfpmSwap\n}\n\nexport const MAINNET_DEPLOYMENT = CHAIN_DEPLOYMENTS[MAINNET_CHAIN_ID]\nexport const MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES =\n MAINNET_DEPLOYMENT.panoptic.additionalPools?.ethUsdc5bpsV3\nexport const MAINNET_PANOPTIC_V2_ADDRESSES = MAINNET_DEPLOYMENT.panoptic.v2\nexport const SEPOLIA_DEPLOYMENT = CHAIN_DEPLOYMENTS[SEPOLIA_CHAIN_ID]\nexport const SEPOLIA_HYPOVAULT_CORE_ADDRESSES = SEPOLIA_DEPLOYMENT.hypovault.core\nexport const SEPOLIA_HYPOVAULT_ADDRESSES = SEPOLIA_DEPLOYMENT.hypovault.vaults\nexport const SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES = SEPOLIA_DEPLOYMENT.hypovault.managers\nexport const SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = SEPOLIA_DEPLOYMENT.hypovault.turnkeySigners\nexport const SEPOLIA_PANOPTIC_POOL_ADDRESSES = SEPOLIA_DEPLOYMENT.panoptic.pool\nexport const SEPOLIA_PANOPTIC_V2_ADDRESSES = SEPOLIA_DEPLOYMENT.panoptic.v2\nexport const BASE_DEPLOYMENT = CHAIN_DEPLOYMENTS[BASE_CHAIN_ID]\nexport const BASE_HYPOVAULT_CORE_ADDRESSES = BASE_DEPLOYMENT.hypovault.core\nexport const BASE_HYPOVAULT_ADDRESSES = BASE_DEPLOYMENT.hypovault.vaults\nexport const BASE_HYPOVAULT_MANAGER_ADDRESSES = BASE_DEPLOYMENT.hypovault.managers\nexport const BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = BASE_DEPLOYMENT.hypovault.turnkeySigners\nexport const BASE_PANOPTIC_POOL_ADDRESSES = BASE_DEPLOYMENT.panoptic.pool\nexport const BASE_PANOPTIC_V2_ADDRESSES = BASE_DEPLOYMENT.panoptic.v2\nexport const BASE_ETH_USDC_5BPS_MARKET = getEthUsdcMarket(BASE_DEPLOYMENT)\nexport const SEPOLIA_ETH_USDC_5BPS_MARKET = getEthUsdcMarket(SEPOLIA_DEPLOYMENT)\n\nexport const MAINNET_RISK_ENGINES = MAINNET_DEPLOYMENT.riskEngines\nexport const BASE_RISK_ENGINES = BASE_DEPLOYMENT.riskEngines\nexport const SEPOLIA_RISK_ENGINES = SEPOLIA_DEPLOYMENT.riskEngines\n\nexport const ROBINHOOD_DEPLOYMENT = CHAIN_DEPLOYMENTS[ROBINHOOD_CHAIN_ID]\nexport const ROBINHOOD_HYPOVAULT_CORE_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.core\nexport const ROBINHOOD_HYPOVAULT_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.vaults\nexport const ROBINHOOD_HYPOVAULT_MANAGER_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.managers\nexport const ROBINHOOD_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = ROBINHOOD_DEPLOYMENT.hypovault.turnkeySigners\nexport const ROBINHOOD_PANOPTIC_POOL_ADDRESSES = ROBINHOOD_DEPLOYMENT.panoptic.pool\nexport const ROBINHOOD_PANOPTIC_V2_ADDRESSES = ROBINHOOD_DEPLOYMENT.panoptic.v2\nexport const ROBINHOOD_RISK_ENGINES = ROBINHOOD_DEPLOYMENT.riskEngines\nexport const ROBINHOOD_SPY_USDG_MARKET = getSpyUsdgMarket(ROBINHOOD_DEPLOYMENT)\n","import type { Address } from 'viem'\n\nimport {\n BASE_CHAIN_ID,\n MAINNET_CHAIN_ID,\n requireChainDeployment,\n ROBINHOOD_CHAIN_ID,\n SEPOLIA_CHAIN_ID,\n} from './chainDeployments'\n\nconst mainnetDeployment = requireChainDeployment(MAINNET_CHAIN_ID)\nconst mainnetVaults = mainnetDeployment.hypovault.vaults\nconst legacyMainnetVaults = {\n wethPlpVault: '0x779a2aa634A004b3a3f3b322083744869BBC6D66',\n usdcPlpVault: '0x963Fe9c93bc353602656ee4051A75114bA74d6c5',\n} as const satisfies Record<string, Address>\nconst sepoliaDeployment = requireChainDeployment(SEPOLIA_CHAIN_ID)\nconst sepoliaVaults = sepoliaDeployment.hypovault.vaults\nconst baseDeployment = requireChainDeployment(BASE_CHAIN_ID)\nconst baseVaults = baseDeployment.hypovault.vaults\nconst robinhoodDeployment = requireChainDeployment(ROBINHOOD_CHAIN_ID)\nconst robinhoodUsdgVault = robinhoodDeployment.hypovault.vaults.usdgPlpVault\n\nif (robinhoodUsdgVault === undefined) {\n throw new Error('Missing Robinhood USDG PLP vault address')\n}\n\nexport type VaultDisplayNameResolverInput = {\n chainId: number\n vaultAddress: string\n underlyingSymbol?: string | null\n fallbackName?: string | null\n}\n\nexport type VaultDisplayNameResolver = (input: VaultDisplayNameResolverInput) => string\n\nexport const VAULT_DISPLAY_NAMES_PER_CHAIN: Record<number, Record<Address, string>> = {\n [MAINNET_CHAIN_ID]: {\n [mainnetVaults.wethPlpVault.toLowerCase() as Address]: 'PLP Vault',\n [mainnetVaults.usdcPlpVault.toLowerCase() as Address]: 'Unicorn Vault',\n [legacyMainnetVaults.wethPlpVault.toLowerCase() as Address]: 'PLP Vault',\n [legacyMainnetVaults.usdcPlpVault.toLowerCase() as Address]: 'Unicorn Vault',\n },\n [BASE_CHAIN_ID]: {\n [baseVaults.wethPlpVault.toLowerCase() as Address]: 'PLP Vault',\n [baseVaults.usdcPlpVault.toLowerCase() as Address]: 'Unicorn Vault',\n },\n [SEPOLIA_CHAIN_ID]: {\n [sepoliaVaults.wethPlpVault.toLowerCase() as Address]: 'PLP Vault',\n [sepoliaVaults.usdcPlpVault.toLowerCase() as Address]: 'Unicorn Vault',\n },\n [ROBINHOOD_CHAIN_ID]: {\n [robinhoodUsdgVault.toLowerCase() as Address]: 'USDG PLP Vault',\n },\n}\n\nexport const VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN: Record<\n number,\n Record<Address, VaultDisplayNameResolver>\n> = {\n [MAINNET_CHAIN_ID]: {\n [mainnetVaults.wethPlpVault.toLowerCase() as Address]: () => 'PLP Vault',\n [mainnetVaults.usdcPlpVault.toLowerCase() as Address]: () => 'Unicorn Vault',\n [legacyMainnetVaults.wethPlpVault.toLowerCase() as Address]: () => 'PLP Vault',\n [legacyMainnetVaults.usdcPlpVault.toLowerCase() as Address]: () => 'Unicorn Vault',\n },\n [BASE_CHAIN_ID]: {\n [baseVaults.wethPlpVault.toLowerCase() as Address]: () => 'PLP Vault',\n [baseVaults.usdcPlpVault.toLowerCase() as Address]: () => 'Unicorn Vault',\n },\n [SEPOLIA_CHAIN_ID]: {\n [sepoliaVaults.wethPlpVault.toLowerCase() as Address]: () => 'PLP Vault',\n [sepoliaVaults.usdcPlpVault.toLowerCase() as Address]: () => 'Unicorn Vault',\n },\n [ROBINHOOD_CHAIN_ID]: {\n [robinhoodUsdgVault.toLowerCase() as Address]: () => 'USDG PLP Vault',\n },\n}\n\nexport function resolveVaultDisplayName({\n chainId,\n vaultAddress,\n underlyingSymbol,\n fallbackName,\n}: VaultDisplayNameResolverInput): string {\n const vaultAddressLower = vaultAddress.toLowerCase() as Address\n const resolver = VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN[chainId]?.[vaultAddressLower]\n if (resolver !== undefined) {\n return resolver({\n chainId,\n vaultAddress: vaultAddressLower,\n underlyingSymbol,\n fallbackName,\n })\n }\n\n const staticName = VAULT_DISPLAY_NAMES_PER_CHAIN[chainId]?.[vaultAddressLower]\n if (staticName !== undefined) {\n return staticName\n }\n\n if (fallbackName !== undefined && fallbackName !== null) {\n return fallbackName\n }\n\n return 'Vault'\n}\n"],"mappings":";SACO;CACH,WAAW;CACX,kBAAkB;EAChB,oBAAoB;EACpB,eAAe;EACf,aAAa;CACd;CACD,aAAa;EACX,QAAQ;GACN,2BAA2B;GAC3B,WAAW;GACX,cAAc;GACd,kBAAkB;GAClB,wCAAwC;EACzC;EACD,UAAU;GACR,gBAAgB;GAChB,gBAAgB;EACjB;EACD,YAAY;GACV,uBAAuB;GACvB,uBAAuB;EACxB;EACD,kBAAkB;GAChB,uBAAuB;GACvB,uBAAuB;EACxB;CACF;CACD,YAAY;EACV,QAAQ;GACN,WAAW;GACX,gBAAgB;GAChB,sBAAsB;GACtB,sBAAsB;EACvB;EACD,mBAAmB,EACjB,iBAAiB;GACf,WAAW;GACX,gBAAgB;GAChB,sBAAsB;GACtB,sBAAsB;EACvB,EACF;EACD,MAAM;GACJ,iCAAiC;GACjC,iCAAiC;GACjC,kBAAkB;GAClB,cAAc;GACd,8BAA8B;GAC9B,mCAAmC;GACnC,qBAAqB;GACrB,qBAAqB;GACrB,kBAAkB;GAClB,gBAAgB;GAChB,iBAAiB;GACjB,qBAAqB;EACtB;CACF;CACD,eAAe;EACb;EACA;EACA;EACA;CACD;CACD,WAAW,EACT,gBAAgB;EACd,aAAa;EACb,aAAa;EACb,OAAO;EACP,eAAe;EACf,UAAU;CACX,EACF;CACD,aAAa;EACX,aAAa;EACb,YAAY;CACb;CACD,YAAY;EACV,WAAW;EACX,QAAQ;EACR,eAAe;EACf,UAAU;EACV,OAAO;EACP,QAAQ;CACT;AACF;YACO;CACN,WAAW;CACX,kBAAkB;EAChB,oBAAoB;EACpB,eAAe;EACf,aAAa;CACd;CACD,aAAa;EACX,QAAQ;GACN,2BAA2B;GAC3B,WAAW;GACX,cAAc;GACd,kBAAkB;GAClB,wCAAwC;EACzC;EACD,UAAU;GACR,gBAAgB;GAChB,gBAAgB;GAChB,gBAAgB;EACjB;EACD,YAAY;GACV,uBAAuB;GACvB,uBAAuB;GACvB,uBAAuB;EACxB;EACD,kBAAkB;GAChB,uBAAuB;GACvB,uBAAuB;GACvB,uBAAuB;EACxB;CACF;CACD,YAAY;EACV,QAAQ;GACN,WAAW;GACX,gBAAgB;GAChB,sBAAsB;GACtB,sBAAsB;EACvB;EACD,MAAM;GACJ,iCAAiC;GACjC,iCAAiC;GACjC,kBAAkB;GAClB,cAAc;GACd,8BAA8B;GAC9B,mCAAmC;GACnC,qBAAqB;GACrB,qBAAqB;GACrB,kBAAkB;GAClB,gBAAgB;GAChB,iBAAiB;GACjB,qBAAqB;EACtB;CACF;CACD,eAAe,CACb,8CACA,4CACD;CACD,WAAW,EACT,WAAW;EACT,aAAa;EACb,aAAa;EACb,OAAO;EACP,eAAe;EACf,UAAU;CACX,EACF;CACD,aAAa;EACX,aAAa;EACb,YAAY;CACb;AACF;YACO;CACN,WAAW;CACX,kBAAkB;EAChB,oBAAoB;EACpB,eAAe;EACf,aAAa;CACd;CACD,aAAa;EACX,QAAQ;GACN,2BAA2B;GAC3B,WAAW;GACX,cAAc;GACd,kBAAkB;GAClB,wCAAwC;EACzC;EACD,UAAU;GACR,gBAAgB;GAChB,gBAAgB;EACjB;EACD,YAAY;GACV,uBAAuB;GACvB,uBAAuB;EACxB;EACD,kBAAkB;GAChB,uBAAuB;GACvB,uBAAuB;EACxB;CACF;CACD,YAAY;EACV,QAAQ;GACN,WAAW;GACX,gBAAgB;GAChB,sBAAsB;GACtB,sBAAsB;EACvB;EACD,MAAM;GACJ,iCAAiC;GACjC,iCAAiC;GACjC,kBAAkB;GAClB,cAAc;GACd,8BAA8B;GAC9B,mCAAmC;GACnC,qBAAqB;GACrB,qBAAqB;GACrB,kBAAkB;GAClB,gBAAgB;GAChB,iBAAiB;GACjB,qBAAqB;EACtB;CACF;CACD,eAAe,CACb,4CACD;CACD,WAAW,EACT,eAAe;EACb,aAAa;EACb,aAAa;EACb,OAAO;EACP,eAAe;EACf,UAAU;CACX,EACF;CACD,aAAa;EACX,aAAa;EACb,YAAY;CACb;AACF;gBACW;CACV,WAAW;CACX,kBAAkB;EAChB,oBAAoB;EACpB,eAAe;EACf,aAAa;CACd;CACD,aAAa;EACX,QAAQ;GACN,2BAA2B;GAC3B,WAAW;GACX,cAAc;GACd,kBAAkB;GAClB,wCAAwC;EACzC;EACD,UAAU;GACR,gBAAgB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"}
1
+ {"version":3,"file":"deployments.js","names":["chainDeploymentsData","chainId: number","deployment: ChainDeployment","VAULT_DISPLAY_NAMES_PER_CHAIN: Record<number, Record<Address, string>>","VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN: Record<\n number,\n Record<Address, VaultDisplayNameResolver>\n>"],"sources":["../../deployments/src/chainDeployments.data.json","../../deployments/src/chainDeployments.ts","../../deployments/src/vaultDisplayNames.ts"],"sourcesContent":["{\n \"1\": {\n \"chainId\": 1,\n \"infrastructure\": {\n \"uniswapV3Factory\": \"0x1F98431c8aD98523631AE4a59f267346ea31F984\",\n \"poolManager\": \"0x000000000004444c5dc75cB358380D2e3dE08A90\",\n \"stateView\": \"0x7ffe42c4a5deea5b0fec41c94c136cf115597227\"\n },\n \"hypovault\": {\n \"core\": {\n \"hypoVaultImplementation\": \"0xF16714665955DBd0361D997eFc50fe391D96E8D0\",\n \"factory\": \"0xd5049B2647de57141dE7F65E5124707B99A452A3\",\n \"accountant\": \"0x65aA902AE3135658587FFC36ED51B61c927114e1\",\n \"rolesAuthority\": \"0xb952D345c413Ddb7850173422bAe4968e0330598\",\n \"collateralTrackerDecoderAndSanitizer\": \"0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6\"\n },\n \"vaults\": {\n \"wethPlpVault\": \"0xd4e2c720a760049cc4151bcf61e3a9348db9cd92\",\n \"usdcPlpVault\": \"0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18\"\n },\n \"managers\": {\n \"wethPlpVaultManager\": \"0xB6Fc48e658C9B1a7dbdFA51A5E153ab60BB2e04d\",\n \"usdcPlpVaultManager\": \"0x2ce65016366ef7320078e0758D58Cf1038bc7C4e\"\n },\n \"turnkeySigners\": {\n \"wethPlpVaultManager\": \"0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F\",\n \"usdcPlpVaultManager\": \"0x3c1c79d0cfc316Ba959194c89696a8382d7d283b\"\n }\n },\n \"panoptic\": {\n \"pool\": {\n \"version\": \"v4\",\n \"panopticPool\": \"0x00000000563b70d704f4c6675a5f6ac989fbae13\",\n \"collateralTracker0\": \"0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7\",\n \"collateralTracker1\": \"0x12bF31955522BAC337D93e1bC0a39F68D8BDa216\"\n },\n \"additionalPools\": {\n \"ethUsdc5bpsV3\": {\n \"version\": \"v3\",\n \"panopticPool\": \"0x00000000009C7B687e833559e34503f64d7ed7c4\",\n \"collateralTracker0\": \"0x3CCdA7d5E841d6543D90BcEc20b36a724C184DE9\",\n \"collateralTracker1\": \"0x69E9f9e44E5F52237493b980dd7306198C64A4E4\"\n }\n },\n \"v2\": {\n \"semiFungiblePositionManagerV4\": \"0x00000000000005C3287f136Ef5AF56c68Ea6849f\",\n \"semiFungiblePositionManagerV3\": \"0x00000000000005E4693aDc8Ec0f12D686f728198\",\n \"builderFactory\": \"0x0000000000000a3D22E158417AA639D7F71b0FF7\",\n \"riskEngine\": \"0x0000000000000E65545005B26207D7edFd031260\",\n \"panopticPoolImplementation\": \"0x000000000000135429F0DaCaB61639Bf6a63EbbC\",\n \"collateralTrackerImplementation\": \"0x0000000000001d9c38CA405A2e04420865A08A33\",\n \"panopticFactoryV4\": \"0x0000000000000c51d0f8cf4bd9adE7191372a625\",\n \"panopticFactoryV3\": \"0x0000000000000aDC9A108591e718F2aee963a2a7\",\n \"panopticHelper\": \"0x0000000000000000000000000000000000000000\",\n \"panopticMath\": \"0x000000000000334bbd65C195581cf59ECf315932\",\n \"panopticQuery\": \"0x0000000000000e1aE9c66C1c3B0A547D23389C93\",\n \"interactionHelper\": \"0x00000000000041fe14Ce3c2392337CE501aE8328\"\n }\n },\n \"riskEngines\": [\n \"0x000000000000075e29cdaa9cb640a69e148ca7da\",\n \"0x0000000000000fe1e261f66ce2f44def4f5ae0cb\",\n \"0x0000000000000e673aECBDB5f5fE5DFAf4a8e9Ac\",\n \"0x0000000000000E65545005B26207D7edFd031260\"\n ],\n \"markets\": {\n \"ethUsdc30bps\": {\n \"currency0\": \"0x0000000000000000000000000000000000000000\",\n \"currency1\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"fee\": 3000,\n \"tickSpacing\": 60,\n \"poolId\": \"0x3C08AE4977F78D\"\n }\n },\n \"subgraphs\": {\n \"hypovault\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-mainnet/prod/gn\",\n \"panoptic\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-mainnet/v2_prod/gn\"\n },\n \"sfpmSwap\": {\n \"version\": \"v3\",\n \"sfpm\": \"0x00000000000005E4693aDc8Ec0f12D686f728198\",\n \"poolAddress\": \"0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640\",\n \"poolId\": \"2824133844976349\",\n \"fee\": 500,\n \"weth\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\"\n }\n },\n \"4663\": {\n \"chainId\": 4663,\n \"infrastructure\": {\n \"uniswapV3Factory\": \"0x1f7d7550b1b028f7571e69a784071f0205fd2efa\",\n \"poolManager\": \"0x8366a39cc670b4001a1121b8f6a443a643e40951\",\n \"stateView\": \"0xf3334192d15450cdd385c8b70e03f9a6bd9e673b\"\n },\n \"hypovault\": {\n \"core\": {\n \"hypoVaultImplementation\": \"0xF16714665955DBd0361D997eFc50fe391D96E8D0\",\n \"factory\": \"0xd5049B2647de57141dE7F65E5124707B99A452A3\",\n \"accountant\": \"0x9e345d862c41010F87D8E5A279e8D320D2831D36\",\n \"rolesAuthority\": \"0xb952D345c413Ddb7850173422bAe4968e0330598\",\n \"collateralTrackerDecoderAndSanitizer\": \"0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6\"\n },\n \"vaults\": {\n \"wethPlpVault\": \"0x0000000000000000000000000000000000000000\",\n \"usdcPlpVault\": \"0x0000000000000000000000000000000000000000\",\n \"usdgPlpVault\": \"0x08B24123252Bd9c4DD473b6573D4cF67196FFC4B\"\n },\n \"managers\": {\n \"wethPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdcPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdgPlpVaultManager\": \"0x67Edb096585efe88a9A1ee16c5857AB74Fc8EA87\"\n },\n \"turnkeySigners\": {\n \"wethPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdcPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdgPlpVaultManager\": \"0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F\"\n }\n },\n \"panoptic\": {\n \"pool\": {\n \"version\": \"v4\",\n \"panopticPool\": \"0x00000000989bcb6f24af4a1Ab2A6d6a31c98A58E\",\n \"collateralTracker0\": \"0x49eaAC32A7CD4B8fB2209a12859a95E0b20aB0e5\",\n \"collateralTracker1\": \"0x670C44a0FC35dbC410498e47A6290a1C3196d191\"\n },\n \"v2\": {\n \"semiFungiblePositionManagerV4\": \"0x00000000000005C3287f136Ef5AF56c68Ea6849f\",\n \"semiFungiblePositionManagerV3\": \"0x00000000000005E4693aDc8Ec0f12D686f728198\",\n \"builderFactory\": \"0x0000000000000a3D22E158417AA639D7F71b0FF7\",\n \"riskEngine\": \"0x0000000000000E65545005B26207D7edFd031260\",\n \"panopticPoolImplementation\": \"0x000000000000135429F0DaCaB61639Bf6a63EbbC\",\n \"collateralTrackerImplementation\": \"0x0000000000001d9c38CA405A2e04420865A08A33\",\n \"panopticFactoryV4\": \"0x0000000000000c51d0f8cf4bd9adE7191372a625\",\n \"panopticFactoryV3\": \"0x0000000000000aDC9A108591e718F2aee963a2a7\",\n \"panopticHelper\": \"0x0000000000000000000000000000000000000000\",\n \"panopticMath\": \"0x000000000000334bbd65C195581cf59ECf315932\",\n \"panopticQuery\": \"0x0000000000000e1aE9c66C1c3B0A547D23389C93\",\n \"interactionHelper\": \"0x00000000000041fe14Ce3c2392337CE501aE8328\"\n }\n },\n \"riskEngines\": [\n \"0x0000000000000E65545005B26207D7edFd031260\",\n \"0x0000000000000fe1e261f66ce2f44def4f5ae0cb\"\n ],\n \"markets\": {\n \"spyUsdg\": {\n \"currency0\": \"0x117cc2133c37B721F49dE2A7a74833232B3B4C0C\",\n \"currency1\": \"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168\",\n \"fee\": 3000,\n \"tickSpacing\": 60,\n \"poolId\": \"0xfe2a80bb5618fd14984b92ca6d45bf5ba67443ddb1435e28b2e48df2fc1526cd\"\n }\n },\n \"subgraphs\": {\n \"hypovault\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-robinhood/prod/gn\",\n \"panoptic\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-robinhood/v2_prod/gn\"\n }\n },\n \"8453\": {\n \"chainId\": 8453,\n \"infrastructure\": {\n \"uniswapV3Factory\": \"0x33128a8fC17869897dcE68Ed026d694621f6FDfD\",\n \"poolManager\": \"0x498581fF718922c3f8e6A244956aF099B2652b2b\",\n \"stateView\": \"0xA3c0c9b65baD0b08107Aa264b0f3dB444b867A71\"\n },\n \"hypovault\": {\n \"core\": {\n \"hypoVaultImplementation\": \"0xec311aE06486ad44Ba782133b502A34aCE0f479E\",\n \"factory\": \"0x9bE53b169a41030f1710A9B82e9eA6413f14D12E\",\n \"accountant\": \"0x345cA3407942f9d175c9eA8B90e83A36F570f852\",\n \"rolesAuthority\": \"0x278D37CaBFFB4B72D2866E30fEFE08aef773E0B6\",\n \"collateralTrackerDecoderAndSanitizer\": \"0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b\"\n },\n \"vaults\": {\n \"wethPlpVault\": \"0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04\",\n \"usdcPlpVault\": \"0xb452af299c565D04B05E601efF2840e000C922f1\"\n },\n \"managers\": {\n \"wethPlpVaultManager\": \"0x2a4923456c79E9ebD10F5Bf5305a5C742bBc1D7C\",\n \"usdcPlpVaultManager\": \"0xdd6E2406a044582463CFE9F0C774870eAf4A310B\"\n },\n \"turnkeySigners\": {\n \"wethPlpVaultManager\": \"0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F\",\n \"usdcPlpVaultManager\": \"0x3c1c79d0cfc316Ba959194c89696a8382d7d283b\"\n }\n },\n \"panoptic\": {\n \"pool\": {\n \"version\": \"v4\",\n \"panopticPool\": \"0xB50e8bb68f5855DA742f4579274902a20454174a\",\n \"collateralTracker0\": \"0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869\",\n \"collateralTracker1\": \"0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2\"\n },\n \"v2\": {\n \"semiFungiblePositionManagerV4\": \"0x8dcAa08cF298F8b4830FAf56d47930981AdE33af\",\n \"semiFungiblePositionManagerV3\": \"0xFB1c06B491305d618bb8a7a368C6e50c001C153A\",\n \"builderFactory\": \"0x6d26E916a18d522f7DdA2a26d9E1645564ccDcA5\",\n \"riskEngine\": \"0x8bbce8b1eb64118cfe6c1eab0afe13b80ea41481\",\n \"panopticPoolImplementation\": \"0x5BA68a018fF149c38ec52D181Dd24aBabE9a07DB\",\n \"collateralTrackerImplementation\": \"0x34B3a4e4F14f292575ECe3EF67886C4598af459f\",\n \"panopticFactoryV4\": \"0x9ac0317fcd124aff0b5429beb8de17020bc45f9a\",\n \"panopticFactoryV3\": \"0x687f616d68c483a7223e6922f59aef7452e26c1d\",\n \"panopticHelper\": \"0x0000000000000000000000000000000000000000\",\n \"panopticMath\": \"0x6d21699192f5aF112C87e53b32ff846782afF407\",\n \"panopticQuery\": \"0xd2586E1bbdd1169F597F3A370117EdF7372A7350\",\n \"interactionHelper\": \"0x643d8DD5372FD6c71f8fAbCce4Eb8857704F3E15\"\n }\n },\n \"riskEngines\": [\n \"0x8bbce8b1eb64118cfe6c1eab0afe13b80ea41481\"\n ],\n \"markets\": {\n \"ethUsdc5bps\": {\n \"currency0\": \"0x0000000000000000000000000000000000000000\",\n \"currency1\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"fee\": 500,\n \"tickSpacing\": 10,\n \"poolId\": \"0x96d4b53a38337a5733179751781178a2613306063c511b78cd02684739288c0a\"\n }\n },\n \"subgraphs\": {\n \"hypovault\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-base/prod/gn\",\n \"panoptic\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-base/v2_prod/gn\"\n }\n },\n \"11155111\": {\n \"chainId\": 11155111,\n \"infrastructure\": {\n \"uniswapV3Factory\": \"0x0227628f3F023bb0B980b67D528571c95c6DaC1c\",\n \"poolManager\": \"0xE03A1074c86CFeDd5C142C4F04F1a1536e203543\",\n \"stateView\": \"0xE1Dd9c3fA50EDB962E442f60DfBc432e24537E4C\"\n },\n \"hypovault\": {\n \"core\": {\n \"hypoVaultImplementation\": \"0xC5b415Db4087228Af817893769DC3a205160160B\",\n \"factory\": \"0x363a9d605ca45cBfF3b597350DeADb53cdC292c7\",\n \"accountant\": \"0x25BBef1DF262c24aa1AACD1F7eCeEcc1a7AD08ab\",\n \"rolesAuthority\": \"0x673BfafB4e2712215B422347c1571421B83E8A3d\",\n \"collateralTrackerDecoderAndSanitizer\": \"0xb899BE50BAF25BBB3A3ca3403256B3c703E5AB5d\"\n },\n \"vaults\": {\n \"wethPlpVault\": \"0xD58C4F9AEe5bBfcf28dC9a8d3D57b323fA6521b1\",\n \"usdcPlpVault\": \"0xdd7a8d6c6975488e801129bC84302d74e2361208\"\n },\n \"managers\": {\n \"wethPlpVaultManager\": \"0x95eC124FAAB70D7aE147c3BE0336E01a828AE2d5\",\n \"usdcPlpVaultManager\": \"0xFB5aa3e0b46F3859D90B14b52ffd287013b5Ec53\"\n },\n \"turnkeySigners\": {\n \"wethPlpVaultManager\": \"0x8FfA6DAB99f8afc64F61BeF83F0966eD6362f24F\",\n \"usdcPlpVaultManager\": \"0x3c1c79d0cfc316Ba959194c89696a8382d7d283b\"\n }\n },\n \"panoptic\": {\n \"pool\": {\n \"version\": \"v4\",\n \"panopticPool\": \"0x872b98C46b2062F663BEb2CC9D4cE046Da2a2918\",\n \"collateralTracker0\": \"0x09a60b78d06a03e5148faedd3bfee6f58b22012f\",\n \"collateralTracker1\": \"0x7365664c8101ff7e9422ae2b203822253c31e69c\"\n },\n \"v2\": {\n \"semiFungiblePositionManagerV3\": \"0x9DaD2C40107Db4B29a5450401BB7A28e6eA00e43\",\n \"semiFungiblePositionManagerV4\": \"0xD2615995A71644E122cC2FD7FeC2392b971220DE\",\n \"builderFactory\": \"0x55f3D2d9D065AA5Fcc11D94c55a6085849e8b6C3\",\n \"riskEngine\": \"0x1376aF5ca426B6B9fad6a712c21f6Cf58a94b93c\",\n \"panopticPoolImplementation\": \"0x969235B5830f13b58BB699305d9c70A8Cd3BD97C\",\n \"collateralTrackerImplementation\": \"0xafcd5F651Ae0403Ff668bb2dAc38BEa907a35Dba\",\n \"panopticFactoryV3\": \"0xd9FFCa53C0A6155001Ce8cbcAEfe89DB204690F1\",\n \"panopticFactoryV4\": \"0x8FCBb59b05779818D9BAD2686cc44B705603ce03\",\n \"panopticHelper\": \"0xfFEbB3A4ab793cB244209d4dA0Cb3e6B07133bd0\",\n \"panopticMath\": \"0x6d21699192f5aF112C87e53b32ff846782afF407\",\n \"panopticQuery\": \"0x74057945467Fb4eAE9193B46A60ae66a53f06A5b\",\n \"interactionHelper\": \"0x643d8DD5372FD6c71f8fAbCce4Eb8857704F3E15\"\n }\n },\n \"riskEngines\": [\n \"0x1376aF5ca426B6B9fad6a712c21f6Cf58a94b93c\"\n ],\n \"markets\": {\n \"ethUsdc5bps\": {\n \"currency0\": \"0x0000000000000000000000000000000000000000\",\n \"currency1\": \"0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A\",\n \"fee\": 500,\n \"tickSpacing\": 10,\n \"poolId\": \"0xba6673bcb27568a73a93dd23b20c8174fa16193cd90905be859144e8f13097a5\"\n }\n },\n \"subgraphs\": {\n \"hypovault\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/hypovault-subgraph-sepolia/prod/gn\",\n \"panoptic\": \"https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-sepolia/v2_prod/gn\"\n }\n }\n}\n","import type { Address, Hex } from 'viem'\n\nimport chainDeploymentsData from './chainDeployments.data.json'\n\nexport type HypoVaultCoreAddresses = {\n hypoVaultImplementation: Address\n factory: Address\n accountant: Address\n rolesAuthority: Address\n collateralTrackerDecoderAndSanitizer: Address\n}\n\nexport type HypoVaultVaultAddresses = {\n wethPlpVault: Address\n usdcPlpVault: Address\n usdgPlpVault?: Address\n}\n\nexport type HypoVaultManagerAddresses = {\n wethPlpVaultManager: Address\n usdcPlpVaultManager: Address\n usdgPlpVaultManager?: Address\n}\n\nexport type HypoVaultManagerTurnkeySigners = {\n wethPlpVaultManager: Address\n usdcPlpVaultManager: Address\n usdgPlpVaultManager?: Address\n}\n\nexport type PanopticPoolAddresses = {\n version: 'v3' | 'v4'\n panopticPool: Address\n collateralTracker0: Address\n collateralTracker1: Address\n}\n\nexport type PanopticV2Addresses = {\n semiFungiblePositionManagerV3: Address\n semiFungiblePositionManagerV4: Address\n builderFactory: Address\n riskEngine: Address\n panopticPoolImplementation: Address\n collateralTrackerImplementation: Address\n panopticFactoryV3: Address\n panopticFactoryV4: Address\n panopticHelper: Address\n panopticMath: Address\n panopticQuery: Address\n interactionHelper: Address\n}\n\nexport type EthUsdc5BpsMarket = {\n currency0: Address\n currency1: Address\n fee: number\n tickSpacing: number\n poolId: Hex\n}\n\nexport type SpyUsdgMarket = EthUsdc5BpsMarket\n\nexport type InfrastructureAddresses = {\n uniswapV3Factory: Address\n poolManager: Address\n stateView: Address\n}\n\n/**\n * The off-venue swap venue: a cheaper Uniswap pool the hedger routes its\n * hedge-netting swap through via the SemiFungiblePositionManager, instead of the\n * options pool's own (pricier) pool. `sfpm` is the SFPM the pool is registered on\n * and `poolId` is its registered uint64 id. `weth` bridges native-ETH collateral\n * (the v3 pool trades WETH).\n */\nexport type SfpmSwapMarket = {\n version: 'v3' | 'v4'\n sfpm: Address\n poolAddress: Address\n poolId: string\n fee: number\n weth: Address\n}\n\nexport type ChainDeployment = {\n chainId: number\n infrastructure: InfrastructureAddresses\n hypovault: {\n core: HypoVaultCoreAddresses\n vaults: HypoVaultVaultAddresses\n managers: HypoVaultManagerAddresses\n turnkeySigners: HypoVaultManagerTurnkeySigners\n }\n panoptic: {\n pool: PanopticPoolAddresses\n additionalPools?: Readonly<\n Record<string, PanopticPoolAddresses> & {\n ethUsdc5bpsV3?: PanopticPoolAddresses\n }\n >\n v2: PanopticV2Addresses\n }\n // Keep this whitelist current as new RiskEngines are deployed, otherwise UI subgraph queries\n // that filter by risk engine will stop surfacing markets for the new deployments.\n riskEngines: Address[]\n markets: {\n ethUsdc5bps?: EthUsdc5BpsMarket\n ethUsdc30bps?: EthUsdc5BpsMarket\n spyUsdg?: SpyUsdgMarket\n }\n /** Off-venue SFPM swap venue for the hedger (optional; absent = feature unavailable). */\n sfpmSwap?: SfpmSwapMarket\n subgraphs: {\n hypovault: string\n panoptic?: string\n }\n}\n\nexport const MAINNET_CHAIN_ID = 1\nexport const SEPOLIA_CHAIN_ID = 11155111\nexport const BASE_CHAIN_ID = 8453\nexport const ROBINHOOD_CHAIN_ID = 4663\n\nexport const CHAIN_DEPLOYMENTS = chainDeploymentsData as Readonly<Record<number, ChainDeployment>>\n\nexport function getChainDeployment(chainId: number): ChainDeployment | undefined {\n return CHAIN_DEPLOYMENTS[chainId]\n}\n\nexport function requireChainDeployment(chainId: number): ChainDeployment {\n const deployment = getChainDeployment(chainId)\n if (deployment === undefined) {\n throw new Error(`Unsupported chain deployment for chainId ${chainId}`)\n }\n return deployment\n}\n\nexport function isSupportedChain(chainId: number): boolean {\n return getChainDeployment(chainId) !== undefined\n}\n\nexport function getEthUsdcMarket(deployment: ChainDeployment): EthUsdc5BpsMarket {\n const market = deployment.markets.ethUsdc5bps ?? deployment.markets.ethUsdc30bps\n if (market === undefined) {\n throw new Error(`Missing ETH/USDC market for chainId ${deployment.chainId}`)\n }\n return market\n}\n\nexport function getSpyUsdgMarket(deployment: ChainDeployment): SpyUsdgMarket {\n const market = deployment.markets.spyUsdg\n if (market === undefined) {\n throw new Error(`Missing SPY/USDG market for chainId ${deployment.chainId}`)\n }\n return market\n}\n\n\n/** The off-venue SFPM swap venue for a chain, or undefined if not configured. */\nexport function getSfpmSwapMarket(deployment: ChainDeployment): SfpmSwapMarket | undefined {\n return deployment.sfpmSwap\n}\n\nexport const MAINNET_DEPLOYMENT = CHAIN_DEPLOYMENTS[MAINNET_CHAIN_ID]\nexport const MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES =\n MAINNET_DEPLOYMENT.panoptic.additionalPools?.ethUsdc5bpsV3\nexport const MAINNET_PANOPTIC_V2_ADDRESSES = MAINNET_DEPLOYMENT.panoptic.v2\nexport const SEPOLIA_DEPLOYMENT = CHAIN_DEPLOYMENTS[SEPOLIA_CHAIN_ID]\nexport const SEPOLIA_HYPOVAULT_CORE_ADDRESSES = SEPOLIA_DEPLOYMENT.hypovault.core\nexport const SEPOLIA_HYPOVAULT_ADDRESSES = SEPOLIA_DEPLOYMENT.hypovault.vaults\nexport const SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES = SEPOLIA_DEPLOYMENT.hypovault.managers\nexport const SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = SEPOLIA_DEPLOYMENT.hypovault.turnkeySigners\nexport const SEPOLIA_PANOPTIC_POOL_ADDRESSES = SEPOLIA_DEPLOYMENT.panoptic.pool\nexport const SEPOLIA_PANOPTIC_V2_ADDRESSES = SEPOLIA_DEPLOYMENT.panoptic.v2\nexport const BASE_DEPLOYMENT = CHAIN_DEPLOYMENTS[BASE_CHAIN_ID]\nexport const BASE_HYPOVAULT_CORE_ADDRESSES = BASE_DEPLOYMENT.hypovault.core\nexport const BASE_HYPOVAULT_ADDRESSES = BASE_DEPLOYMENT.hypovault.vaults\nexport const BASE_HYPOVAULT_MANAGER_ADDRESSES = BASE_DEPLOYMENT.hypovault.managers\nexport const BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = BASE_DEPLOYMENT.hypovault.turnkeySigners\nexport const BASE_PANOPTIC_POOL_ADDRESSES = BASE_DEPLOYMENT.panoptic.pool\nexport const BASE_PANOPTIC_V2_ADDRESSES = BASE_DEPLOYMENT.panoptic.v2\nexport const BASE_ETH_USDC_5BPS_MARKET = getEthUsdcMarket(BASE_DEPLOYMENT)\nexport const SEPOLIA_ETH_USDC_5BPS_MARKET = getEthUsdcMarket(SEPOLIA_DEPLOYMENT)\n\nexport const MAINNET_RISK_ENGINES = MAINNET_DEPLOYMENT.riskEngines\nexport const BASE_RISK_ENGINES = BASE_DEPLOYMENT.riskEngines\nexport const SEPOLIA_RISK_ENGINES = SEPOLIA_DEPLOYMENT.riskEngines\n\nexport const ROBINHOOD_DEPLOYMENT = CHAIN_DEPLOYMENTS[ROBINHOOD_CHAIN_ID]\nexport const ROBINHOOD_HYPOVAULT_CORE_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.core\nexport const ROBINHOOD_HYPOVAULT_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.vaults\nexport const ROBINHOOD_HYPOVAULT_MANAGER_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.managers\nexport const ROBINHOOD_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = ROBINHOOD_DEPLOYMENT.hypovault.turnkeySigners\nexport const ROBINHOOD_PANOPTIC_POOL_ADDRESSES = ROBINHOOD_DEPLOYMENT.panoptic.pool\nexport const ROBINHOOD_PANOPTIC_V2_ADDRESSES = ROBINHOOD_DEPLOYMENT.panoptic.v2\nexport const ROBINHOOD_RISK_ENGINES = ROBINHOOD_DEPLOYMENT.riskEngines\nexport const ROBINHOOD_SPY_USDG_MARKET = getSpyUsdgMarket(ROBINHOOD_DEPLOYMENT)\n","import type { Address } from 'viem'\n\nimport {\n BASE_CHAIN_ID,\n MAINNET_CHAIN_ID,\n requireChainDeployment,\n ROBINHOOD_CHAIN_ID,\n SEPOLIA_CHAIN_ID,\n} from './chainDeployments'\n\nconst mainnetDeployment = requireChainDeployment(MAINNET_CHAIN_ID)\nconst mainnetVaults = mainnetDeployment.hypovault.vaults\nconst legacyMainnetVaults = {\n wethPlpVault: '0x779a2aa634A004b3a3f3b322083744869BBC6D66',\n usdcPlpVault: '0x963Fe9c93bc353602656ee4051A75114bA74d6c5',\n} as const satisfies Record<string, Address>\nconst sepoliaDeployment = requireChainDeployment(SEPOLIA_CHAIN_ID)\nconst sepoliaVaults = sepoliaDeployment.hypovault.vaults\nconst baseDeployment = requireChainDeployment(BASE_CHAIN_ID)\nconst baseVaults = baseDeployment.hypovault.vaults\nconst robinhoodDeployment = requireChainDeployment(ROBINHOOD_CHAIN_ID)\nconst robinhoodUsdgVault = robinhoodDeployment.hypovault.vaults.usdgPlpVault\n\nif (robinhoodUsdgVault === undefined) {\n throw new Error('Missing Robinhood USDG PLP vault address')\n}\n\nexport type VaultDisplayNameResolverInput = {\n chainId: number\n vaultAddress: string\n underlyingSymbol?: string | null\n fallbackName?: string | null\n}\n\nexport type VaultDisplayNameResolver = (input: VaultDisplayNameResolverInput) => string\n\nexport const VAULT_DISPLAY_NAMES_PER_CHAIN: Record<number, Record<Address, string>> = {\n [MAINNET_CHAIN_ID]: {\n [mainnetVaults.wethPlpVault.toLowerCase() as Address]: 'PLP Vault',\n [mainnetVaults.usdcPlpVault.toLowerCase() as Address]: 'Unicorn Vault',\n [legacyMainnetVaults.wethPlpVault.toLowerCase() as Address]: 'PLP Vault',\n [legacyMainnetVaults.usdcPlpVault.toLowerCase() as Address]: 'Unicorn Vault',\n },\n [BASE_CHAIN_ID]: {\n [baseVaults.wethPlpVault.toLowerCase() as Address]: 'PLP Vault',\n [baseVaults.usdcPlpVault.toLowerCase() as Address]: 'Unicorn Vault',\n },\n [SEPOLIA_CHAIN_ID]: {\n [sepoliaVaults.wethPlpVault.toLowerCase() as Address]: 'PLP Vault',\n [sepoliaVaults.usdcPlpVault.toLowerCase() as Address]: 'Unicorn Vault',\n },\n [ROBINHOOD_CHAIN_ID]: {\n [robinhoodUsdgVault.toLowerCase() as Address]: '0DTE +67∆ Vault',\n },\n}\n\nexport const VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN: Record<\n number,\n Record<Address, VaultDisplayNameResolver>\n> = {\n [MAINNET_CHAIN_ID]: {\n [mainnetVaults.wethPlpVault.toLowerCase() as Address]: () => 'PLP Vault',\n [mainnetVaults.usdcPlpVault.toLowerCase() as Address]: () => 'Unicorn Vault',\n [legacyMainnetVaults.wethPlpVault.toLowerCase() as Address]: () => 'PLP Vault',\n [legacyMainnetVaults.usdcPlpVault.toLowerCase() as Address]: () => 'Unicorn Vault',\n },\n [BASE_CHAIN_ID]: {\n [baseVaults.wethPlpVault.toLowerCase() as Address]: () => 'PLP Vault',\n [baseVaults.usdcPlpVault.toLowerCase() as Address]: () => 'Unicorn Vault',\n },\n [SEPOLIA_CHAIN_ID]: {\n [sepoliaVaults.wethPlpVault.toLowerCase() as Address]: () => 'PLP Vault',\n [sepoliaVaults.usdcPlpVault.toLowerCase() as Address]: () => 'Unicorn Vault',\n },\n [ROBINHOOD_CHAIN_ID]: {\n [robinhoodUsdgVault.toLowerCase() as Address]: () => '0DTE +67∆ Vault',\n },\n}\n\nexport function resolveVaultDisplayName({\n chainId,\n vaultAddress,\n underlyingSymbol,\n fallbackName,\n}: VaultDisplayNameResolverInput): string {\n const vaultAddressLower = vaultAddress.toLowerCase() as Address\n const resolver = VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN[chainId]?.[vaultAddressLower]\n if (resolver !== undefined) {\n return resolver({\n chainId,\n vaultAddress: vaultAddressLower,\n underlyingSymbol,\n fallbackName,\n })\n }\n\n const staticName = VAULT_DISPLAY_NAMES_PER_CHAIN[chainId]?.[vaultAddressLower]\n if (staticName !== undefined) {\n return staticName\n }\n\n if (fallbackName !== undefined && fallbackName !== null) {\n return fallbackName\n }\n\n return 'Vault'\n}\n"],"mappings":";SACO;CACH,WAAW;CACX,kBAAkB;EAChB,oBAAoB;EACpB,eAAe;EACf,aAAa;CACd;CACD,aAAa;EACX,QAAQ;GACN,2BAA2B;GAC3B,WAAW;GACX,cAAc;GACd,kBAAkB;GAClB,wCAAwC;EACzC;EACD,UAAU;GACR,gBAAgB;GAChB,gBAAgB;EACjB;EACD,YAAY;GACV,uBAAuB;GACvB,uBAAuB;EACxB;EACD,kBAAkB;GAChB,uBAAuB;GACvB,uBAAuB;EACxB;CACF;CACD,YAAY;EACV,QAAQ;GACN,WAAW;GACX,gBAAgB;GAChB,sBAAsB;GACtB,sBAAsB;EACvB;EACD,mBAAmB,EACjB,iBAAiB;GACf,WAAW;GACX,gBAAgB;GAChB,sBAAsB;GACtB,sBAAsB;EACvB,EACF;EACD,MAAM;GACJ,iCAAiC;GACjC,iCAAiC;GACjC,kBAAkB;GAClB,cAAc;GACd,8BAA8B;GAC9B,mCAAmC;GACnC,qBAAqB;GACrB,qBAAqB;GACrB,kBAAkB;GAClB,gBAAgB;GAChB,iBAAiB;GACjB,qBAAqB;EACtB;CACF;CACD,eAAe;EACb;EACA;EACA;EACA;CACD;CACD,WAAW,EACT,gBAAgB;EACd,aAAa;EACb,aAAa;EACb,OAAO;EACP,eAAe;EACf,UAAU;CACX,EACF;CACD,aAAa;EACX,aAAa;EACb,YAAY;CACb;CACD,YAAY;EACV,WAAW;EACX,QAAQ;EACR,eAAe;EACf,UAAU;EACV,OAAO;EACP,QAAQ;CACT;AACF;YACO;CACN,WAAW;CACX,kBAAkB;EAChB,oBAAoB;EACpB,eAAe;EACf,aAAa;CACd;CACD,aAAa;EACX,QAAQ;GACN,2BAA2B;GAC3B,WAAW;GACX,cAAc;GACd,kBAAkB;GAClB,wCAAwC;EACzC;EACD,UAAU;GACR,gBAAgB;GAChB,gBAAgB;GAChB,gBAAgB;EACjB;EACD,YAAY;GACV,uBAAuB;GACvB,uBAAuB;GACvB,uBAAuB;EACxB;EACD,kBAAkB;GAChB,uBAAuB;GACvB,uBAAuB;GACvB,uBAAuB;EACxB;CACF;CACD,YAAY;EACV,QAAQ;GACN,WAAW;GACX,gBAAgB;GAChB,sBAAsB;GACtB,sBAAsB;EACvB;EACD,MAAM;GACJ,iCAAiC;GACjC,iCAAiC;GACjC,kBAAkB;GAClB,cAAc;GACd,8BAA8B;GAC9B,mCAAmC;GACnC,qBAAqB;GACrB,qBAAqB;GACrB,kBAAkB;GAClB,gBAAgB;GAChB,iBAAiB;GACjB,qBAAqB;EACtB;CACF;CACD,eAAe,CACb,8CACA,4CACD;CACD,WAAW,EACT,WAAW;EACT,aAAa;EACb,aAAa;EACb,OAAO;EACP,eAAe;EACf,UAAU;CACX,EACF;CACD,aAAa;EACX,aAAa;EACb,YAAY;CACb;AACF;YACO;CACN,WAAW;CACX,kBAAkB;EAChB,oBAAoB;EACpB,eAAe;EACf,aAAa;CACd;CACD,aAAa;EACX,QAAQ;GACN,2BAA2B;GAC3B,WAAW;GACX,cAAc;GACd,kBAAkB;GAClB,wCAAwC;EACzC;EACD,UAAU;GACR,gBAAgB;GAChB,gBAAgB;EACjB;EACD,YAAY;GACV,uBAAuB;GACvB,uBAAuB;EACxB;EACD,kBAAkB;GAChB,uBAAuB;GACvB,uBAAuB;EACxB;CACF;CACD,YAAY;EACV,QAAQ;GACN,WAAW;GACX,gBAAgB;GAChB,sBAAsB;GACtB,sBAAsB;EACvB;EACD,MAAM;GACJ,iCAAiC;GACjC,iCAAiC;GACjC,kBAAkB;GAClB,cAAc;GACd,8BAA8B;GAC9B,mCAAmC;GACnC,qBAAqB;GACrB,qBAAqB;GACrB,kBAAkB;GAClB,gBAAgB;GAChB,iBAAiB;GACjB,qBAAqB;EACtB;CACF;CACD,eAAe,CACb,4CACD;CACD,WAAW,EACT,eAAe;EACb,aAAa;EACb,aAAa;EACb,OAAO;EACP,eAAe;EACf,UAAU;CACX,EACF;CACD,aAAa;EACX,aAAa;EACb,YAAY;CACb;AACF;gBACW;CACV,WAAW;CACX,kBAAkB;EAChB,oBAAoB;EACpB,eAAe;EACf,aAAa;CACd;CACD,aAAa;EACX,QAAQ;GACN,2BAA2B;GAC3B,WAAW;GACX,cAAc;GACd,kBAAkB;GAClB,wCAAwC;EACzC;EACD,UAAU;GACR,gBAAgB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"}