@panoptic-eng/sdk 1.0.49 → 1.0.50

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 (39) hide show
  1. package/dist/cow/index.js.map +1 -1
  2. package/dist/{cow-DMX9ebPk.js → cow-CSSKPknb.js} +1 -1
  3. package/dist/deployments.d.ts +12 -4
  4. package/dist/deployments.d.ts.map +1 -1
  5. package/dist/deployments.js +78 -10
  6. package/dist/deployments.js.map +1 -1
  7. package/dist/{greeks-9aTE-DwO.js → greeks-CNi1-cnp.js} +39 -16
  8. package/dist/index.d.ts +518 -76
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +701 -84
  11. package/dist/index.js.map +1 -1
  12. package/dist/{irm-mySi_YMF.js → irm-BJaJSUjF.js} +80 -12
  13. package/dist/panoptic/v2/greeks/index.d.ts +12 -1
  14. package/dist/panoptic/v2/greeks/index.d.ts.map +1 -1
  15. package/dist/panoptic/v2/greeks/index.js +39 -16
  16. package/dist/panoptic/v2/greeks/index.js.map +1 -1
  17. package/dist/panoptic/v2/index.d.ts +1336 -74
  18. package/dist/panoptic/v2/index.d.ts.map +1 -1
  19. package/dist/panoptic/v2/index.js +20322 -18660
  20. package/dist/panoptic/v2/index.js.map +1 -1
  21. package/dist/panoptic/v2/react-public.d.ts +1518 -240
  22. package/dist/panoptic/v2/react-public.d.ts.map +1 -1
  23. package/dist/panoptic/v2/react-public.js +11518 -9319
  24. package/dist/panoptic/v2/react-public.js.map +1 -1
  25. package/dist/{rates-CDLIUGDz.js → rates-COAJpKRd.js} +612 -73
  26. package/dist/{router-45ulPnWe.js → router-B-I1eACz.js} +5 -43
  27. package/dist/router-BSS7HKd2.js +837 -0
  28. package/dist/uniswap/index.d.ts +465 -215
  29. package/dist/uniswap/index.d.ts.map +1 -1
  30. package/dist/uniswap/index.js +1799 -1076
  31. package/dist/uniswap/index.js.map +1 -1
  32. package/dist/{v2-DshssxX4.js → v2-zF6b01PI.js} +2488 -1596
  33. package/dist/{writes-2reV_omF.js → writes-D1zN0v9x.js} +4 -3
  34. package/dist/zodiac/index.d.ts +51 -7
  35. package/dist/zodiac/index.d.ts.map +1 -1
  36. package/dist/zodiac/index.js +154 -2
  37. package/dist/zodiac/index.js.map +1 -1
  38. package/package.json +2 -1
  39. package/dist/router-B2jY9Nyb.js +0 -312
@@ -1,4 +1,4 @@
1
- import { PanopticError, submitWrite } from "./rates-CDLIUGDz.js";
1
+ import { PanopticError, submitWrite } from "./rates-COAJpKRd.js";
2
2
  import { erc20Abi, getAddress, keccak256, maxUint256, stringToHex, zeroAddress } from "viem";
3
3
 
4
4
  //#region src/cow/addresses.ts
@@ -56,9 +56,8 @@ type InfrastructureAddresses = {
56
56
  * The off-venue swap venue: a cheaper Uniswap pool the hedger routes its
57
57
  * hedge-netting swap through via the SemiFungiblePositionManager, instead of the
58
58
  * options pool's own (pricier) pool. `sfpm` is the SFPM the pool is registered on
59
- * (the CURRENT v3 SFPM on mainnet — distinct from the stale
60
- * `semiFungiblePositionManagerV3` field), and `poolId` is its registered uint64
61
- * id. `weth` bridges native-ETH collateral (the v3 pool trades WETH).
59
+ * and `poolId` is its registered uint64 id. `weth` bridges native-ETH collateral
60
+ * (the v3 pool trades WETH).
62
61
  */
63
62
  type SfpmSwapMarket = {
64
63
  version: 'v3' | 'v4';
@@ -99,6 +98,7 @@ type ChainDeployment = {
99
98
  declare const MAINNET_CHAIN_ID = 1;
100
99
  declare const SEPOLIA_CHAIN_ID = 11155111;
101
100
  declare const BASE_CHAIN_ID = 8453;
101
+ declare const ROBINHOOD_CHAIN_ID = 4663;
102
102
  declare const CHAIN_DEPLOYMENTS: Readonly<Record<number, ChainDeployment>>;
103
103
  declare function getChainDeployment(chainId: number): ChainDeployment | undefined;
104
104
  declare function requireChainDeployment(chainId: number): ChainDeployment;
@@ -128,6 +128,14 @@ declare const SEPOLIA_ETH_USDC_5BPS_MARKET: EthUsdc5BpsMarket;
128
128
  declare const MAINNET_RISK_ENGINES: Address[];
129
129
  declare const BASE_RISK_ENGINES: Address[];
130
130
  declare const SEPOLIA_RISK_ENGINES: Address[];
131
+ declare const ROBINHOOD_DEPLOYMENT: ChainDeployment;
132
+ declare const ROBINHOOD_HYPOVAULT_CORE_ADDRESSES: HypoVaultCoreAddresses;
133
+ declare const ROBINHOOD_HYPOVAULT_ADDRESSES: HypoVaultVaultAddresses;
134
+ declare const ROBINHOOD_HYPOVAULT_MANAGER_ADDRESSES: HypoVaultManagerAddresses;
135
+ declare const ROBINHOOD_HYPOVAULT_MANAGER_TURNKEY_SIGNERS: HypoVaultManagerTurnkeySigners;
136
+ declare const ROBINHOOD_PANOPTIC_POOL_ADDRESSES: PanopticPoolAddresses;
137
+ declare const ROBINHOOD_PANOPTIC_V2_ADDRESSES: PanopticV2Addresses;
138
+ declare const ROBINHOOD_RISK_ENGINES: Address[];
131
139
 
132
140
  //#endregion
133
141
  //#region ../deployments/src/vaultDisplayNames.d.ts
@@ -148,5 +156,5 @@ declare function resolveVaultDisplayName({
148
156
  }: VaultDisplayNameResolverInput): string;
149
157
 
150
158
  //#endregion
151
- 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, BASE_RISK_ENGINES, CHAIN_DEPLOYMENTS, ChainDeployment, EthUsdc5BpsMarket, HypoVaultCoreAddresses, HypoVaultManagerAddresses, HypoVaultManagerTurnkeySigners, HypoVaultVaultAddresses, InfrastructureAddresses, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES, MAINNET_PANOPTIC_V2_ADDRESSES, MAINNET_RISK_ENGINES, PanopticPoolAddresses, PanopticV2Addresses, 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, SEPOLIA_RISK_ENGINES, SfpmSwapMarket, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, VaultDisplayNameResolver, VaultDisplayNameResolverInput, getChainDeployment, getEthUsdcMarket, getSfpmSwapMarket, isSupportedChain, requireChainDeployment, resolveVaultDisplayName };
159
+ 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, BASE_RISK_ENGINES, CHAIN_DEPLOYMENTS, ChainDeployment, EthUsdc5BpsMarket, HypoVaultCoreAddresses, HypoVaultManagerAddresses, HypoVaultManagerTurnkeySigners, HypoVaultVaultAddresses, InfrastructureAddresses, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES, MAINNET_PANOPTIC_V2_ADDRESSES, MAINNET_RISK_ENGINES, PanopticPoolAddresses, PanopticV2Addresses, 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, 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, SEPOLIA_RISK_ENGINES, SfpmSwapMarket, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, VaultDisplayNameResolver, VaultDisplayNameResolverInput, getChainDeployment, getEthUsdcMarket, getSfpmSwapMarket, isSupportedChain, requireChainDeployment, resolveVaultDisplayName };
152
160
  //# sourceMappingURL=deployments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployments.d.ts","names":["Address","Hex","HypoVaultCoreAddresses","HypoVaultVaultAddresses","HypoVaultManagerAddresses","HypoVaultManagerTurnkeySigners","PanopticPoolAddresses","PanopticV2Addresses","EthUsdc5BpsMarket","InfrastructureAddresses","SfpmSwapMarket","ChainDeployment","Record","Readonly","MAINNET_CHAIN_ID","SEPOLIA_CHAIN_ID","BASE_CHAIN_ID","CHAIN_DEPLOYMENTS","getChainDeployment","requireChainDeployment","isSupportedChain","getEthUsdcMarket","getSfpmSwapMarket","MAINNET_DEPLOYMENT","MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES","MAINNET_PANOPTIC_V2_ADDRESSES","SEPOLIA_DEPLOYMENT","SEPOLIA_HYPOVAULT_CORE_ADDRESSES","SEPOLIA_HYPOVAULT_ADDRESSES","SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES","SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS","SEPOLIA_PANOPTIC_POOL_ADDRESSES","SEPOLIA_PANOPTIC_V2_ADDRESSES","BASE_DEPLOYMENT","BASE_HYPOVAULT_CORE_ADDRESSES","BASE_HYPOVAULT_ADDRESSES","BASE_HYPOVAULT_MANAGER_ADDRESSES","BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS","BASE_PANOPTIC_POOL_ADDRESSES","BASE_PANOPTIC_V2_ADDRESSES","BASE_ETH_USDC_5BPS_MARKET","SEPOLIA_ETH_USDC_5BPS_MARKET","MAINNET_RISK_ENGINES","BASE_RISK_ENGINES","SEPOLIA_RISK_ENGINES","Address","VaultDisplayNameResolverInput","VaultDisplayNameResolver","VAULT_DISPLAY_NAMES_PER_CHAIN","Record","VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN","resolveVaultDisplayName","chainId","vaultAddress","underlyingSymbol","fallbackName"],"sources":["../../deployments/src/chainDeployments.d.ts","../../deployments/src/vaultDisplayNames.d.ts"],"sourcesContent":null,"mappings":"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"}
1
+ {"version":3,"file":"deployments.d.ts","names":["Address","Hex","HypoVaultCoreAddresses","HypoVaultVaultAddresses","HypoVaultManagerAddresses","HypoVaultManagerTurnkeySigners","PanopticPoolAddresses","PanopticV2Addresses","EthUsdc5BpsMarket","InfrastructureAddresses","SfpmSwapMarket","ChainDeployment","Record","Readonly","MAINNET_CHAIN_ID","SEPOLIA_CHAIN_ID","BASE_CHAIN_ID","ROBINHOOD_CHAIN_ID","CHAIN_DEPLOYMENTS","getChainDeployment","requireChainDeployment","isSupportedChain","getEthUsdcMarket","getSfpmSwapMarket","MAINNET_DEPLOYMENT","MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES","MAINNET_PANOPTIC_V2_ADDRESSES","SEPOLIA_DEPLOYMENT","SEPOLIA_HYPOVAULT_CORE_ADDRESSES","SEPOLIA_HYPOVAULT_ADDRESSES","SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES","SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS","SEPOLIA_PANOPTIC_POOL_ADDRESSES","SEPOLIA_PANOPTIC_V2_ADDRESSES","BASE_DEPLOYMENT","BASE_HYPOVAULT_CORE_ADDRESSES","BASE_HYPOVAULT_ADDRESSES","BASE_HYPOVAULT_MANAGER_ADDRESSES","BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS","BASE_PANOPTIC_POOL_ADDRESSES","BASE_PANOPTIC_V2_ADDRESSES","BASE_ETH_USDC_5BPS_MARKET","SEPOLIA_ETH_USDC_5BPS_MARKET","MAINNET_RISK_ENGINES","BASE_RISK_ENGINES","SEPOLIA_RISK_ENGINES","ROBINHOOD_DEPLOYMENT","ROBINHOOD_HYPOVAULT_CORE_ADDRESSES","ROBINHOOD_HYPOVAULT_ADDRESSES","ROBINHOOD_HYPOVAULT_MANAGER_ADDRESSES","ROBINHOOD_HYPOVAULT_MANAGER_TURNKEY_SIGNERS","ROBINHOOD_PANOPTIC_POOL_ADDRESSES","ROBINHOOD_PANOPTIC_V2_ADDRESSES","ROBINHOOD_RISK_ENGINES","Address","VaultDisplayNameResolverInput","VaultDisplayNameResolver","VAULT_DISPLAY_NAMES_PER_CHAIN","Record","VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN","resolveVaultDisplayName","chainId","vaultAddress","underlyingSymbol","fallbackName"],"sources":["../../deployments/src/chainDeployments.d.ts","../../deployments/src/vaultDisplayNames.d.ts"],"sourcesContent":null,"mappings":"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"}
@@ -41,24 +41,25 @@ var _1 = {
41
41
  "collateralTracker1": "0x69E9f9e44E5F52237493b980dd7306198C64A4E4"
42
42
  } },
43
43
  "v2": {
44
- "semiFungiblePositionManagerV4": "0x000000000000047534b9E1D528ED997169865a64",
45
- "semiFungiblePositionManagerV3": "0x000000000000031d296bBA22f188472157eEb01f",
46
- "builderFactory": "0x00000000000008D41F2cd5bF144F61cEB3661F98",
47
- "riskEngine": "0x0000000000000e673aECBDB5f5fE5DFAf4a8e9Ac",
48
- "panopticPoolImplementation": "0x00000000000010bb6695dAAC60D0515c0A01a948",
49
- "collateralTrackerImplementation": "0x0000000000002038055dB8f2B2Fd356598935C51",
44
+ "semiFungiblePositionManagerV4": "0x00000000000005C3287f136Ef5AF56c68Ea6849f",
45
+ "semiFungiblePositionManagerV3": "0x00000000000005E4693aDc8Ec0f12D686f728198",
46
+ "builderFactory": "0x0000000000000a3D22E158417AA639D7F71b0FF7",
47
+ "riskEngine": "0x0000000000000E65545005B26207D7edFd031260",
48
+ "panopticPoolImplementation": "0x000000000000135429F0DaCaB61639Bf6a63EbbC",
49
+ "collateralTrackerImplementation": "0x0000000000001d9c38CA405A2e04420865A08A33",
50
50
  "panopticFactoryV4": "0x0000000000000c51d0f8cf4bd9adE7191372a625",
51
51
  "panopticFactoryV3": "0x0000000000000aDC9A108591e718F2aee963a2a7",
52
52
  "panopticHelper": "0x0000000000000000000000000000000000000000",
53
- "panopticMath": "0x000000000000301F5BC0171C75967b8e78a92b10",
53
+ "panopticMath": "0x000000000000334bbd65C195581cf59ECf315932",
54
54
  "panopticQuery": "0x0000000000000e1aE9c66C1c3B0A547D23389C93",
55
- "interactionHelper": "0x00000000000040ae7CD505F4E0e3F34195D8c08C"
55
+ "interactionHelper": "0x00000000000041fe14Ce3c2392337CE501aE8328"
56
56
  }
57
57
  },
58
58
  "riskEngines": [
59
59
  "0x000000000000075e29cdaa9cb640a69e148ca7da",
60
60
  "0x0000000000000fe1e261f66ce2f44def4f5ae0cb",
61
- "0x0000000000000e673aECBDB5f5fE5DFAf4a8e9Ac"
61
+ "0x0000000000000e673aECBDB5f5fE5DFAf4a8e9Ac",
62
+ "0x0000000000000E65545005B26207D7edFd031260"
62
63
  ],
63
64
  "markets": { "ethUsdc30bps": {
64
65
  "currency0": "0x0000000000000000000000000000000000000000",
@@ -80,6 +81,63 @@ var _1 = {
80
81
  "weth": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
81
82
  }
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": "0x0000000000000000000000000000000000000000",
94
+ "factory": "0x0000000000000000000000000000000000000000",
95
+ "accountant": "0x0000000000000000000000000000000000000000",
96
+ "rolesAuthority": "0x0000000000000000000000000000000000000000",
97
+ "collateralTrackerDecoderAndSanitizer": "0x0000000000000000000000000000000000000000"
98
+ },
99
+ "vaults": {
100
+ "wethPlpVault": "0x0000000000000000000000000000000000000000",
101
+ "usdcPlpVault": "0x0000000000000000000000000000000000000000"
102
+ },
103
+ "managers": {
104
+ "wethPlpVaultManager": "0x0000000000000000000000000000000000000000",
105
+ "usdcPlpVaultManager": "0x0000000000000000000000000000000000000000"
106
+ },
107
+ "turnkeySigners": {
108
+ "wethPlpVaultManager": "0x0000000000000000000000000000000000000000",
109
+ "usdcPlpVaultManager": "0x0000000000000000000000000000000000000000"
110
+ }
111
+ },
112
+ "panoptic": {
113
+ "pool": {
114
+ "version": "v4",
115
+ "panopticPool": "0x0000000000000000000000000000000000000000",
116
+ "collateralTracker0": "0x0000000000000000000000000000000000000000",
117
+ "collateralTracker1": "0x0000000000000000000000000000000000000000"
118
+ },
119
+ "v2": {
120
+ "semiFungiblePositionManagerV4": "0x00000000000005C3287f136Ef5AF56c68Ea6849f",
121
+ "semiFungiblePositionManagerV3": "0x00000000000005E4693aDc8Ec0f12D686f728198",
122
+ "builderFactory": "0x0000000000000a3D22E158417AA639D7F71b0FF7",
123
+ "riskEngine": "0x0000000000000E65545005B26207D7edFd031260",
124
+ "panopticPoolImplementation": "0x000000000000135429F0DaCaB61639Bf6a63EbbC",
125
+ "collateralTrackerImplementation": "0x0000000000001d9c38CA405A2e04420865A08A33",
126
+ "panopticFactoryV4": "0x0000000000000c51d0f8cf4bd9adE7191372a625",
127
+ "panopticFactoryV3": "0x0000000000000aDC9A108591e718F2aee963a2a7",
128
+ "panopticHelper": "0x0000000000000000000000000000000000000000",
129
+ "panopticMath": "0x000000000000334bbd65C195581cf59ECf315932",
130
+ "panopticQuery": "0x0000000000000e1aE9c66C1c3B0A547D23389C93",
131
+ "interactionHelper": "0x00000000000041fe14Ce3c2392337CE501aE8328"
132
+ }
133
+ },
134
+ "riskEngines": ["0x0000000000000E65545005B26207D7edFd031260"],
135
+ "markets": {},
136
+ "subgraphs": {
137
+ "hypovault": "",
138
+ "panoptic": "https://api.goldsky.com/api/public/project_cl9gc21q105380hxuh8ks53k3/subgraphs/panoptic-subgraph-robinhood/v2_prod/gn"
139
+ }
140
+ };
83
141
  var _8453 = {
84
142
  "chainId": 8453,
85
143
  "infrastructure": {
@@ -208,6 +266,7 @@ var _11155111 = {
208
266
  };
209
267
  var chainDeployments_data_default = {
210
268
  "1": _1,
269
+ "4663": _4663,
211
270
  "8453": _8453,
212
271
  "11155111": _11155111
213
272
  };
@@ -217,6 +276,7 @@ var chainDeployments_data_default = {
217
276
  const MAINNET_CHAIN_ID = 1;
218
277
  const SEPOLIA_CHAIN_ID = 11155111;
219
278
  const BASE_CHAIN_ID = 8453;
279
+ const ROBINHOOD_CHAIN_ID = 4663;
220
280
  const CHAIN_DEPLOYMENTS = chainDeployments_data_default;
221
281
  function getChainDeployment(chainId) {
222
282
  return CHAIN_DEPLOYMENTS[chainId];
@@ -260,6 +320,14 @@ const SEPOLIA_ETH_USDC_5BPS_MARKET = getEthUsdcMarket(SEPOLIA_DEPLOYMENT);
260
320
  const MAINNET_RISK_ENGINES = MAINNET_DEPLOYMENT.riskEngines;
261
321
  const BASE_RISK_ENGINES = BASE_DEPLOYMENT.riskEngines;
262
322
  const SEPOLIA_RISK_ENGINES = SEPOLIA_DEPLOYMENT.riskEngines;
323
+ const ROBINHOOD_DEPLOYMENT = CHAIN_DEPLOYMENTS[ROBINHOOD_CHAIN_ID];
324
+ const ROBINHOOD_HYPOVAULT_CORE_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.core;
325
+ const ROBINHOOD_HYPOVAULT_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.vaults;
326
+ const ROBINHOOD_HYPOVAULT_MANAGER_ADDRESSES = ROBINHOOD_DEPLOYMENT.hypovault.managers;
327
+ const ROBINHOOD_HYPOVAULT_MANAGER_TURNKEY_SIGNERS = ROBINHOOD_DEPLOYMENT.hypovault.turnkeySigners;
328
+ const ROBINHOOD_PANOPTIC_POOL_ADDRESSES = ROBINHOOD_DEPLOYMENT.panoptic.pool;
329
+ const ROBINHOOD_PANOPTIC_V2_ADDRESSES = ROBINHOOD_DEPLOYMENT.panoptic.v2;
330
+ const ROBINHOOD_RISK_ENGINES = ROBINHOOD_DEPLOYMENT.riskEngines;
263
331
 
264
332
  //#endregion
265
333
  //#region ../deployments/src/vaultDisplayNames.ts
@@ -321,5 +389,5 @@ function resolveVaultDisplayName({ chainId, vaultAddress, underlyingSymbol, fall
321
389
  }
322
390
 
323
391
  //#endregion
324
- 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, BASE_RISK_ENGINES, CHAIN_DEPLOYMENTS, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES, MAINNET_PANOPTIC_V2_ADDRESSES, MAINNET_RISK_ENGINES, 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, SEPOLIA_RISK_ENGINES, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, getChainDeployment, getEthUsdcMarket, getSfpmSwapMarket, isSupportedChain, requireChainDeployment, resolveVaultDisplayName };
392
+ 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, BASE_RISK_ENGINES, 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, 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, SEPOLIA_RISK_ENGINES, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, getChainDeployment, getEthUsdcMarket, getSfpmSwapMarket, isSupportedChain, requireChainDeployment, resolveVaultDisplayName };
325
393
  //# sourceMappingURL=deployments.js.map
@@ -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\": \"0x000000000000047534b9E1D528ED997169865a64\",\n \"semiFungiblePositionManagerV3\": \"0x000000000000031d296bBA22f188472157eEb01f\",\n \"builderFactory\": \"0x00000000000008D41F2cd5bF144F61cEB3661F98\",\n \"riskEngine\": \"0x0000000000000e673aECBDB5f5fE5DFAf4a8e9Ac\",\n \"panopticPoolImplementation\": \"0x00000000000010bb6695dAAC60D0515c0A01a948\",\n \"collateralTrackerImplementation\": \"0x0000000000002038055dB8f2B2Fd356598935C51\",\n \"panopticFactoryV4\": \"0x0000000000000c51d0f8cf4bd9adE7191372a625\",\n \"panopticFactoryV3\": \"0x0000000000000aDC9A108591e718F2aee963a2a7\",\n \"panopticHelper\": \"0x0000000000000000000000000000000000000000\",\n \"panopticMath\": \"0x000000000000301F5BC0171C75967b8e78a92b10\",\n \"panopticQuery\": \"0x0000000000000e1aE9c66C1c3B0A547D23389C93\",\n \"interactionHelper\": \"0x00000000000040ae7CD505F4E0e3F34195D8c08C\"\n }\n },\n \"riskEngines\": [\n \"0x000000000000075e29cdaa9cb640a69e148ca7da\",\n \"0x0000000000000fe1e261f66ce2f44def4f5ae0cb\",\n \"0x0000000000000e673aECBDB5f5fE5DFAf4a8e9Ac\"\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 \"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}\n\nexport type HypoVaultManagerAddresses = {\n wethPlpVaultManager: Address\n usdcPlpVaultManager: Address\n}\n\nexport type HypoVaultManagerTurnkeySigners = {\n wethPlpVaultManager: Address\n usdcPlpVaultManager: 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 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 * (the CURRENT v3 SFPM on mainnet — distinct from the stale\n * `semiFungiblePositionManagerV3` field), and `poolId` is its registered uint64\n * id. `weth` bridges native-ETH collateral (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 }\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\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\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","import type { Address } from 'viem'\n\nimport {\n BASE_CHAIN_ID,\n MAINNET_CHAIN_ID,\n requireChainDeployment,\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\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}\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}\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;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;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,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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\": \"0x0000000000000000000000000000000000000000\",\n \"factory\": \"0x0000000000000000000000000000000000000000\",\n \"accountant\": \"0x0000000000000000000000000000000000000000\",\n \"rolesAuthority\": \"0x0000000000000000000000000000000000000000\",\n \"collateralTrackerDecoderAndSanitizer\": \"0x0000000000000000000000000000000000000000\"\n },\n \"vaults\": {\n \"wethPlpVault\": \"0x0000000000000000000000000000000000000000\",\n \"usdcPlpVault\": \"0x0000000000000000000000000000000000000000\"\n },\n \"managers\": {\n \"wethPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdcPlpVaultManager\": \"0x0000000000000000000000000000000000000000\"\n },\n \"turnkeySigners\": {\n \"wethPlpVaultManager\": \"0x0000000000000000000000000000000000000000\",\n \"usdcPlpVaultManager\": \"0x0000000000000000000000000000000000000000\"\n }\n },\n \"panoptic\": {\n \"pool\": {\n \"version\": \"v4\",\n \"panopticPool\": \"0x0000000000000000000000000000000000000000\",\n \"collateralTracker0\": \"0x0000000000000000000000000000000000000000\",\n \"collateralTracker1\": \"0x0000000000000000000000000000000000000000\"\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 ],\n \"markets\": {},\n \"subgraphs\": {\n \"hypovault\": \"\",\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}\n\nexport type HypoVaultManagerAddresses = {\n wethPlpVaultManager: Address\n usdcPlpVaultManager: Address\n}\n\nexport type HypoVaultManagerTurnkeySigners = {\n wethPlpVaultManager: Address\n usdcPlpVaultManager: 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 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 }\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\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\n","import type { Address } from 'viem'\n\nimport {\n BASE_CHAIN_ID,\n MAINNET_CHAIN_ID,\n requireChainDeployment,\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\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}\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}\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;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,CAAE;CACb,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;GAChB,gBAAgB;EACjB;EACD,YAAY;GACV,uBAAuB;GACvB,uBAAuB;EACxB;EACD,kBAAkB;GAChB,uBAAuB;GACvB,uBAAuB;EACxB;CACF;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"}
@@ -910,9 +910,13 @@ function getLegGamma(leg, currentTick, positionSize, poolTickSpacing, assetIndex
910
910
  * Calculate total value across all legs.
911
911
  */
912
912
  function calculatePositionValue(input) {
913
- const { legs, currentTick, mintTick, positionSize, poolTickSpacing, assetIndex, swapAtMint } = input;
913
+ return preparePositionValue(input)(input.currentTick);
914
+ }
915
+ /** Prepare mint-time invariants once for an arbitrary series of valuation ticks. */
916
+ function preparePositionValue(input) {
917
+ const { legs, mintTick, positionSize, poolTickSpacing, assetIndex, swapAtMint } = input;
914
918
  const definedRisk = isDefinedRisk(legs);
915
- if (swapAtMint === void 0) return legs.reduce((sum$1, leg) => sum$1 + getLegValue(leg, currentTick, mintTick, positionSize, poolTickSpacing, definedRisk, assetIndex, swapAtMint), 0n);
919
+ if (swapAtMint === void 0) return (currentTick) => legs.reduce((sum, leg) => sum + getLegValue(leg, currentTick, mintTick, positionSize, poolTickSpacing, definedRisk, assetIndex, swapAtMint), 0n);
916
920
  let numeraireItmPool = 0n;
917
921
  let assetItmPool = 0n;
918
922
  for (const leg of legs) {
@@ -927,19 +931,29 @@ function calculatePositionValue(input) {
927
931
  if (isPut) numeraireItmPool += itm;
928
932
  else assetItmPool += itm;
929
933
  }
930
- let sum = 0n;
931
- for (const leg of legs) if (leg.width === 0n) {
932
- const isAssetToken0 = resolveAssetDirection(leg, assetIndex);
933
- const borrowsAsset = isCall(leg.tokenType, isAssetToken0);
934
- const offset = borrowsAsset ? assetItmPool : numeraireItmPool;
935
- if (borrowsAsset) assetItmPool = 0n;
936
- else numeraireItmPool = 0n;
937
- const qCurrentTick = quoteTick(currentTick, isAssetToken0);
938
- const qMintTick = quoteTick(mintTick, isAssetToken0);
939
- const m = leg.isLong ? -(positionSize * leg.optionRatio) : positionSize * leg.optionRatio;
940
- sum += getLegNetValueWidth0(leg, m, qCurrentTick, qMintTick, isAssetToken0, swapAtMint, offset);
941
- } else sum += getLegValue(leg, currentTick, mintTick, positionSize, poolTickSpacing, definedRisk, assetIndex, swapAtMint);
942
- return sum;
934
+ const initialNumeraireItm = numeraireItmPool;
935
+ const initialAssetItm = assetItmPool;
936
+ return (currentTick) => {
937
+ let numeraireItmPool$1 = initialNumeraireItm;
938
+ let assetItmPool$1 = initialAssetItm;
939
+ let sum = 0n;
940
+ for (const leg of legs) if (leg.width === 0n) {
941
+ const isAssetToken0 = resolveAssetDirection(leg, assetIndex);
942
+ const borrowsAsset = isCall(leg.tokenType, isAssetToken0);
943
+ const offset = borrowsAsset ? assetItmPool$1 : numeraireItmPool$1;
944
+ if (borrowsAsset) assetItmPool$1 = 0n;
945
+ else numeraireItmPool$1 = 0n;
946
+ const qCurrentTick = quoteTick(currentTick, isAssetToken0);
947
+ const qMintTick = quoteTick(mintTick, isAssetToken0);
948
+ const m = leg.isLong ? -(positionSize * leg.optionRatio) : positionSize * leg.optionRatio;
949
+ sum += getLegNetValueWidth0(leg, m, qCurrentTick, qMintTick, isAssetToken0, swapAtMint, offset);
950
+ } else sum += getLegValue(leg, currentTick, mintTick, positionSize, poolTickSpacing, definedRisk, assetIndex, swapAtMint);
951
+ return sum;
952
+ };
953
+ }
954
+ /** Value a tick series without repeating position preparation. */
955
+ function calculatePositionValues(input, ticks) {
956
+ return ticks.map(preparePositionValue(input));
943
957
  }
944
958
  /**
945
959
  * Calculate total delta across all legs.
@@ -965,6 +979,15 @@ function calculatePositionDeltaDebtOnly(input) {
965
979
  const definedRisk = isDefinedRisk(legs);
966
980
  return legs.reduce((sum, leg) => sum + getLegDeltaInVaultFrame(leg, currentTick, positionSize, poolTickSpacing, mintTick, definedRisk, assetIndex), 0n);
967
981
  }
982
+ /** Delta and one strategy contract's notional, both in the requested asset frame. */
983
+ function getPositionDeltaMetrics(input) {
984
+ const orderedLegs = [...input.legs].sort((a, b) => a.index < b.index ? -1 : a.index > b.index ? 1 : 0);
985
+ const nativeLeg = orderedLegs.find((leg) => leg.width > 0n) ?? orderedLegs[0];
986
+ return {
987
+ delta: calculatePositionDeltaDebtOnly(input),
988
+ contractSize: nativeLeg ? toVaultFrameAtTick(input.positionSize, nativeLeg.asset, input.assetIndex, input.currentTick) : 0n
989
+ };
990
+ }
968
991
  /**
969
992
  * Calculate total gamma across all legs.
970
993
  */
@@ -1078,4 +1101,4 @@ function calculatePositionDeltaWithSwap(input) {
1078
1101
  }
1079
1102
 
1080
1103
  //#endregion
1081
- export { BPS_DENOMINATOR, MAX_TICK, MAX_TRACKED_CHUNKS, MIN_TICK, NO_LOWER_LIQUIDATION_TICK, NO_UPPER_LIQUIDATION_TICK, ORACLE_EPOCH_SECONDS, REORG_DEPTH, SCHEMA_VERSION, STORAGE_PREFIX, UTILIZATION_DENOMINATOR, WAD, ZERO_COLLATERAL, ZERO_VALUATION, calculatePortfolioDelta, calculatePortfolioGamma, calculatePortfolioGreeks, calculatePortfolioValue, calculatePositionDelta, calculatePositionDeltaDebtOnly, calculatePositionDeltaWithSwap, calculatePositionGamma, calculatePositionGreeks, calculatePositionValue, formatPriceRange, formatTick, formatTickRange, getLegDelta, getLegDeltaInVaultFrame, getLegGamma, getLegNetValueWidth0, getLegValue, getLoanEffectiveDelta, getPricesAtTick, getTickSpacing, isCall, isDefinedRisk, priceToTick, roundToTickSpacing, sqrtPriceX96ToPriceDecimalScaled, sqrtPriceX96ToTick, tickLimits, tickToPrice, tickToPriceDecimalScaled, tickToSqrtPriceX96, toVaultFrameAtTick };
1104
+ export { BPS_DENOMINATOR, MAX_TICK, MAX_TRACKED_CHUNKS, MIN_TICK, NO_LOWER_LIQUIDATION_TICK, NO_UPPER_LIQUIDATION_TICK, ORACLE_EPOCH_SECONDS, REORG_DEPTH, SCHEMA_VERSION, STORAGE_PREFIX, UTILIZATION_DENOMINATOR, WAD, ZERO_COLLATERAL, ZERO_VALUATION, calculatePortfolioDelta, calculatePortfolioGamma, calculatePortfolioGreeks, calculatePortfolioValue, calculatePositionDelta, calculatePositionDeltaDebtOnly, calculatePositionDeltaWithSwap, calculatePositionGamma, calculatePositionGreeks, calculatePositionValue, calculatePositionValues, formatPriceRange, formatTick, formatTickRange, getLegDelta, getLegDeltaInVaultFrame, getLegGamma, getLegNetValueWidth0, getLegValue, getLoanEffectiveDelta, getPositionDeltaMetrics, getPricesAtTick, getTickSpacing, isCall, isDefinedRisk, preparePositionValue, priceToTick, roundToTickSpacing, sqrtPriceX96ToPriceDecimalScaled, sqrtPriceX96ToTick, tickLimits, tickToPrice, tickToPriceDecimalScaled, tickToSqrtPriceX96, toVaultFrameAtTick };