@1delta/margin-fetcher 0.0.265 → 0.0.266
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ccip-XQNAHYUN.js +5 -0
- package/dist/{ccip-SQXTDOS7.js.map → ccip-XQNAHYUN.js.map} +1 -1
- package/dist/{chunk-KQ6K6D2V.js → chunk-H6U3H7VY.js} +4 -4
- package/dist/{chunk-KQ6K6D2V.js.map → chunk-H6U3H7VY.js.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8151 -316
- package/dist/index.js.map +1 -1
- package/dist/vaults/classification.d.ts +78 -0
- package/dist/vaults/classification.d.ts.map +1 -0
- package/dist/vaults/euler-earn/types.d.ts +2 -1
- package/dist/vaults/euler-earn/types.d.ts.map +1 -1
- package/dist/vaults/fetchVaultsAll.d.ts +25 -1
- package/dist/vaults/fetchVaultsAll.d.ts.map +1 -1
- package/dist/vaults/fluid/types.d.ts +2 -1
- package/dist/vaults/fluid/types.d.ts.map +1 -1
- package/dist/vaults/gearbox/types.d.ts +2 -1
- package/dist/vaults/gearbox/types.d.ts.map +1 -1
- package/dist/vaults/gmx/abis.d.ts +590 -0
- package/dist/vaults/gmx/abis.d.ts.map +1 -0
- package/dist/vaults/gmx/api.d.ts +54 -0
- package/dist/vaults/gmx/api.d.ts.map +1 -0
- package/dist/vaults/gmx/contracts.d.ts +20 -0
- package/dist/vaults/gmx/contracts.d.ts.map +1 -0
- package/dist/vaults/gmx/fetchPublic.d.ts +21 -0
- package/dist/vaults/gmx/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/gmx/fetchUser.d.ts +19 -0
- package/dist/vaults/gmx/fetchUser.d.ts.map +1 -0
- package/dist/vaults/gmx/index.d.ts +9 -0
- package/dist/vaults/gmx/index.d.ts.map +1 -0
- package/dist/vaults/gmx/keys.d.ts +25 -0
- package/dist/vaults/gmx/keys.d.ts.map +1 -0
- package/dist/vaults/gmx/pricing.d.ts +52 -0
- package/dist/vaults/gmx/pricing.d.ts.map +1 -0
- package/dist/vaults/gmx/registry.d.ts +13 -0
- package/dist/vaults/gmx/registry.d.ts.map +1 -0
- package/dist/vaults/gmx/types.d.ts +155 -0
- package/dist/vaults/gmx/types.d.ts.map +1 -0
- package/dist/vaults/hypercore/fetchPublic.d.ts +13 -0
- package/dist/vaults/hypercore/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/hypercore/fetchUser.d.ts +18 -0
- package/dist/vaults/hypercore/fetchUser.d.ts.map +1 -0
- package/dist/vaults/hypercore/index.d.ts +5 -0
- package/dist/vaults/hypercore/index.d.ts.map +1 -0
- package/dist/vaults/hypercore/registry.d.ts +19 -0
- package/dist/vaults/hypercore/registry.d.ts.map +1 -0
- package/dist/vaults/hypercore/types.d.ts +80 -0
- package/dist/vaults/hypercore/types.d.ts.map +1 -0
- package/dist/vaults/index.d.ts +8 -0
- package/dist/vaults/index.d.ts.map +1 -1
- package/dist/vaults/interfaceKind.d.ts +33 -0
- package/dist/vaults/interfaceKind.d.ts.map +1 -0
- package/dist/vaults/lagoon/api.d.ts +67 -0
- package/dist/vaults/lagoon/api.d.ts.map +1 -0
- package/dist/vaults/lagoon/fetchPublic.d.ts +19 -0
- package/dist/vaults/lagoon/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/lagoon/index.d.ts +4 -0
- package/dist/vaults/lagoon/index.d.ts.map +1 -0
- package/dist/vaults/lagoon/types.d.ts +104 -0
- package/dist/vaults/lagoon/types.d.ts.map +1 -0
- package/dist/vaults/lookup.d.ts +20 -0
- package/dist/vaults/lookup.d.ts.map +1 -1
- package/dist/vaults/lst/abis/ankr.d.ts +14 -0
- package/dist/vaults/lst/abis/ankr.d.ts.map +1 -0
- package/dist/vaults/lst/abis/beets.d.ts +21 -0
- package/dist/vaults/lst/abis/beets.d.ts.map +1 -0
- package/dist/vaults/lst/abis/benqi.d.ts +25 -0
- package/dist/vaults/lst/abis/benqi.d.ts.map +1 -0
- package/dist/vaults/lst/abis/dinero.d.ts +16 -0
- package/dist/vaults/lst/abis/dinero.d.ts.map +1 -0
- package/dist/vaults/lst/abis/etherfi.d.ts +21 -0
- package/dist/vaults/lst/abis/etherfi.d.ts.map +1 -0
- package/dist/vaults/lst/abis/hyperbeat.d.ts +17 -0
- package/dist/vaults/lst/abis/hyperbeat.d.ts.map +1 -0
- package/dist/vaults/lst/abis/index.d.ts +30 -0
- package/dist/vaults/lst/abis/index.d.ts.map +1 -0
- package/dist/vaults/lst/abis/kelp.d.ts +11 -0
- package/dist/vaults/lst/abis/kelp.d.ts.map +1 -0
- package/dist/vaults/lst/abis/kinetiq.d.ts +16 -0
- package/dist/vaults/lst/abis/kinetiq.d.ts.map +1 -0
- package/dist/vaults/lst/abis/lair.d.ts +25 -0
- package/dist/vaults/lst/abis/lair.d.ts.map +1 -0
- package/dist/vaults/lst/abis/lido.d.ts +11 -0
- package/dist/vaults/lst/abis/lido.d.ts.map +1 -0
- package/dist/vaults/lst/abis/lista.d.ts +28 -0
- package/dist/vaults/lst/abis/lista.d.ts.map +1 -0
- package/dist/vaults/lst/abis/mantle.d.ts +15 -0
- package/dist/vaults/lst/abis/mantle.d.ts.map +1 -0
- package/dist/vaults/lst/abis/renzo.d.ts +17 -0
- package/dist/vaults/lst/abis/renzo.d.ts.map +1 -0
- package/dist/vaults/lst/abis/rocketpool.d.ts +29 -0
- package/dist/vaults/lst/abis/rocketpool.d.ts.map +1 -0
- package/dist/vaults/lst/abis/shared.d.ts +57 -0
- package/dist/vaults/lst/abis/shared.d.ts.map +1 -0
- package/dist/vaults/lst/abis/stader.d.ts +34 -0
- package/dist/vaults/lst/abis/stader.d.ts.map +1 -0
- package/dist/vaults/lst/abis/stakewise.d.ts +16 -0
- package/dist/vaults/lst/abis/stakewise.d.ts.map +1 -0
- package/dist/vaults/lst/abis/stcelo.d.ts +17 -0
- package/dist/vaults/lst/abis/stcelo.d.ts.map +1 -0
- package/dist/vaults/lst/abis/swell.d.ts +13 -0
- package/dist/vaults/lst/abis/swell.d.ts.map +1 -0
- package/dist/vaults/lst/abis/valantis.d.ts +13 -0
- package/dist/vaults/lst/abis/valantis.d.ts.map +1 -0
- package/dist/vaults/lst/abis/veda.d.ts +14 -0
- package/dist/vaults/lst/abis/veda.d.ts.map +1 -0
- package/dist/vaults/lst/fetchPublic.d.ts +25 -0
- package/dist/vaults/lst/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/lst/index.d.ts +5 -0
- package/dist/vaults/lst/index.d.ts.map +1 -0
- package/dist/vaults/lst/readers/ankr.d.ts +16 -0
- package/dist/vaults/lst/readers/ankr.d.ts.map +1 -0
- package/dist/vaults/lst/readers/beets.d.ts +16 -0
- package/dist/vaults/lst/readers/beets.d.ts.map +1 -0
- package/dist/vaults/lst/readers/benqi.d.ts +16 -0
- package/dist/vaults/lst/readers/benqi.d.ts.map +1 -0
- package/dist/vaults/lst/readers/bgtWrapper.d.ts +14 -0
- package/dist/vaults/lst/readers/bgtWrapper.d.ts.map +1 -0
- package/dist/vaults/lst/readers/dinero.d.ts +14 -0
- package/dist/vaults/lst/readers/dinero.d.ts.map +1 -0
- package/dist/vaults/lst/readers/erc4626.d.ts +23 -0
- package/dist/vaults/lst/readers/erc4626.d.ts.map +1 -0
- package/dist/vaults/lst/readers/etherfi.d.ts +15 -0
- package/dist/vaults/lst/readers/etherfi.d.ts.map +1 -0
- package/dist/vaults/lst/readers/hyperbeat.d.ts +17 -0
- package/dist/vaults/lst/readers/hyperbeat.d.ts.map +1 -0
- package/dist/vaults/lst/readers/index.d.ts +22 -0
- package/dist/vaults/lst/readers/index.d.ts.map +1 -0
- package/dist/vaults/lst/readers/kelp.d.ts +13 -0
- package/dist/vaults/lst/readers/kelp.d.ts.map +1 -0
- package/dist/vaults/lst/readers/kinetiq.d.ts +17 -0
- package/dist/vaults/lst/readers/kinetiq.d.ts.map +1 -0
- package/dist/vaults/lst/readers/lair.d.ts +16 -0
- package/dist/vaults/lst/readers/lair.d.ts.map +1 -0
- package/dist/vaults/lst/readers/lido.d.ts +12 -0
- package/dist/vaults/lst/readers/lido.d.ts.map +1 -0
- package/dist/vaults/lst/readers/lista.d.ts +17 -0
- package/dist/vaults/lst/readers/lista.d.ts.map +1 -0
- package/dist/vaults/lst/readers/mantle.d.ts +14 -0
- package/dist/vaults/lst/readers/mantle.d.ts.map +1 -0
- package/dist/vaults/lst/readers/offChain.d.ts +11 -0
- package/dist/vaults/lst/readers/offChain.d.ts.map +1 -0
- package/dist/vaults/lst/readers/renzo.d.ts +19 -0
- package/dist/vaults/lst/readers/renzo.d.ts.map +1 -0
- package/dist/vaults/lst/readers/rocketpool.d.ts +17 -0
- package/dist/vaults/lst/readers/rocketpool.d.ts.map +1 -0
- package/dist/vaults/lst/readers/shared.d.ts +65 -0
- package/dist/vaults/lst/readers/shared.d.ts.map +1 -0
- package/dist/vaults/lst/readers/stader.d.ts +34 -0
- package/dist/vaults/lst/readers/stader.d.ts.map +1 -0
- package/dist/vaults/lst/readers/stakewise.d.ts +14 -0
- package/dist/vaults/lst/readers/stakewise.d.ts.map +1 -0
- package/dist/vaults/lst/readers/stcelo.d.ts +15 -0
- package/dist/vaults/lst/readers/stcelo.d.ts.map +1 -0
- package/dist/vaults/lst/readers/swell.d.ts +13 -0
- package/dist/vaults/lst/readers/swell.d.ts.map +1 -0
- package/dist/vaults/lst/readers/valantis.d.ts +15 -0
- package/dist/vaults/lst/readers/valantis.d.ts.map +1 -0
- package/dist/vaults/lst/readers/veda.d.ts +19 -0
- package/dist/vaults/lst/readers/veda.d.ts.map +1 -0
- package/dist/vaults/lst/registry.d.ts +125 -0
- package/dist/vaults/lst/registry.d.ts.map +1 -0
- package/dist/vaults/lst/types.d.ts +124 -0
- package/dist/vaults/lst/types.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/beets.d.ts +51 -0
- package/dist/vaults/lst/withdrawals/abis/beets.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/behype.d.ts +52 -0
- package/dist/vaults/lst/withdrawals/abis/behype.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/benqi.d.ts +55 -0
- package/dist/vaults/lst/withdrawals/abis/benqi.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/berapaw.d.ts +33 -0
- package/dist/vaults/lst/withdrawals/abis/berapaw.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/erc7540.d.ts +50 -0
- package/dist/vaults/lst/withdrawals/abis/erc7540.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/ethena.d.ts +25 -0
- package/dist/vaults/lst/withdrawals/abis/ethena.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/etherfi.d.ts +70 -0
- package/dist/vaults/lst/withdrawals/abis/etherfi.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/ibera.d.ts +52 -0
- package/dist/vaults/lst/withdrawals/abis/ibera.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/index.d.ts +24 -0
- package/dist/vaults/lst/withdrawals/abis/index.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/kelp.d.ts +46 -0
- package/dist/vaults/lst/withdrawals/abis/kelp.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/kinetiq.d.ts +59 -0
- package/dist/vaults/lst/withdrawals/abis/kinetiq.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/lido.d.ts +53 -0
- package/dist/vaults/lst/withdrawals/abis/lido.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/lista.d.ts +47 -0
- package/dist/vaults/lst/withdrawals/abis/lista.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/mantle.d.ts +54 -0
- package/dist/vaults/lst/withdrawals/abis/mantle.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/primestaking.d.ts +57 -0
- package/dist/vaults/lst/withdrawals/abis/primestaking.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/puffer.d.ts +48 -0
- package/dist/vaults/lst/withdrawals/abis/puffer.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/renzo.d.ts +50 -0
- package/dist/vaults/lst/withdrawals/abis/renzo.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/staderEthx.d.ts +48 -0
- package/dist/vaults/lst/withdrawals/abis/staderEthx.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/staderMaticx.d.ts +50 -0
- package/dist/vaults/lst/withdrawals/abis/staderMaticx.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/stakewise.d.ts +47 -0
- package/dist/vaults/lst/withdrawals/abis/stakewise.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/stcelo.d.ts +24 -0
- package/dist/vaults/lst/withdrawals/abis/stcelo.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/swell.d.ts +66 -0
- package/dist/vaults/lst/withdrawals/abis/swell.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/trufin.d.ts +43 -0
- package/dist/vaults/lst/withdrawals/abis/trufin.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/valantis.d.ts +46 -0
- package/dist/vaults/lst/withdrawals/abis/valantis.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/abis/yieldnest.d.ts +65 -0
- package/dist/vaults/lst/withdrawals/abis/yieldnest.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/fetchPublic.d.ts +53 -0
- package/dist/vaults/lst/withdrawals/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/index.d.ts +5 -0
- package/dist/vaults/lst/withdrawals/index.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/beets.d.ts +13 -0
- package/dist/vaults/lst/withdrawals/readers/beets.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/behype.d.ts +15 -0
- package/dist/vaults/lst/withdrawals/readers/behype.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/benqi.d.ts +15 -0
- package/dist/vaults/lst/withdrawals/readers/benqi.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/berapaw.d.ts +13 -0
- package/dist/vaults/lst/withdrawals/readers/berapaw.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/empty.d.ts +21 -0
- package/dist/vaults/lst/withdrawals/readers/empty.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/erc7540.d.ts +22 -0
- package/dist/vaults/lst/withdrawals/readers/erc7540.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/ethenaCooldown.d.ts +13 -0
- package/dist/vaults/lst/withdrawals/readers/ethenaCooldown.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/etherfi.d.ts +13 -0
- package/dist/vaults/lst/withdrawals/readers/etherfi.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/ibera.d.ts +3 -0
- package/dist/vaults/lst/withdrawals/readers/ibera.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/index.d.ts +7 -0
- package/dist/vaults/lst/withdrawals/readers/index.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/kelp.d.ts +21 -0
- package/dist/vaults/lst/withdrawals/readers/kelp.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/kinetiq.d.ts +13 -0
- package/dist/vaults/lst/withdrawals/readers/kinetiq.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/lair.d.ts +23 -0
- package/dist/vaults/lst/withdrawals/readers/lair.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/lido.d.ts +16 -0
- package/dist/vaults/lst/withdrawals/readers/lido.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/lista.d.ts +18 -0
- package/dist/vaults/lst/withdrawals/readers/lista.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/mantle.d.ts +18 -0
- package/dist/vaults/lst/withdrawals/readers/mantle.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/primestaking.d.ts +3 -0
- package/dist/vaults/lst/withdrawals/readers/primestaking.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/puffer.d.ts +17 -0
- package/dist/vaults/lst/withdrawals/readers/puffer.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/renzo.d.ts +16 -0
- package/dist/vaults/lst/withdrawals/readers/renzo.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/shared.d.ts +56 -0
- package/dist/vaults/lst/withdrawals/readers/shared.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/staderEthx.d.ts +15 -0
- package/dist/vaults/lst/withdrawals/readers/staderEthx.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/staderMaticx.d.ts +18 -0
- package/dist/vaults/lst/withdrawals/readers/staderMaticx.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/stakewise.d.ts +26 -0
- package/dist/vaults/lst/withdrawals/readers/stakewise.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/stcelo.d.ts +16 -0
- package/dist/vaults/lst/withdrawals/readers/stcelo.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/swell.d.ts +18 -0
- package/dist/vaults/lst/withdrawals/readers/swell.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/trufin.d.ts +19 -0
- package/dist/vaults/lst/withdrawals/readers/trufin.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/valantis.d.ts +11 -0
- package/dist/vaults/lst/withdrawals/readers/valantis.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/readers/yieldnest.d.ts +11 -0
- package/dist/vaults/lst/withdrawals/readers/yieldnest.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/registry.d.ts +46 -0
- package/dist/vaults/lst/withdrawals/registry.d.ts.map +1 -0
- package/dist/vaults/lst/withdrawals/types.d.ts +74 -0
- package/dist/vaults/lst/withdrawals/types.d.ts.map +1 -0
- package/dist/vaults/lst/yieldBinding.d.ts +26 -0
- package/dist/vaults/lst/yieldBinding.d.ts.map +1 -0
- package/dist/vaults/morpho/types.d.ts +2 -1
- package/dist/vaults/morpho/types.d.ts.map +1 -1
- package/dist/vaults/savings/abis/index.d.ts +12 -0
- package/dist/vaults/savings/abis/index.d.ts.map +1 -0
- package/dist/vaults/savings/abis/shared.d.ts +33 -0
- package/dist/vaults/savings/abis/shared.d.ts.map +1 -0
- package/dist/vaults/savings/fetchPublic.d.ts +22 -0
- package/dist/vaults/savings/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/savings/index.d.ts +4 -0
- package/dist/vaults/savings/index.d.ts.map +1 -0
- package/dist/vaults/savings/readers/erc4626.d.ts +25 -0
- package/dist/vaults/savings/readers/erc4626.d.ts.map +1 -0
- package/dist/vaults/savings/readers/index.d.ts +16 -0
- package/dist/vaults/savings/readers/index.d.ts.map +1 -0
- package/dist/vaults/savings/readers/shared.d.ts +44 -0
- package/dist/vaults/savings/readers/shared.d.ts.map +1 -0
- package/dist/vaults/savings/registry.d.ts +69 -0
- package/dist/vaults/savings/registry.d.ts.map +1 -0
- package/dist/vaults/savings/types.d.ts +111 -0
- package/dist/vaults/savings/types.d.ts.map +1 -0
- package/dist/vaults/savings/yieldBinding.d.ts +19 -0
- package/dist/vaults/savings/yieldBinding.d.ts.map +1 -0
- package/dist/vaults/silo/types.d.ts +2 -1
- package/dist/vaults/silo/types.d.ts.map +1 -1
- package/dist/vaults/yield/annualize.d.ts +62 -0
- package/dist/vaults/yield/annualize.d.ts.map +1 -0
- package/dist/vaults/yield/index.d.ts +3 -0
- package/dist/vaults/yield/index.d.ts.map +1 -0
- package/dist/vaults/yield/sharePrice.d.ts +21 -0
- package/dist/vaults/yield/sharePrice.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/ankr.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/ankr.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/berapaw.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/berapaw.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/defillama.d.ts +2 -0
- package/dist/yields/intrinsic/fetchers/defillama.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/dinero.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/dinero.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/etherfi.d.ts +1 -0
- package/dist/yields/intrinsic/fetchers/etherfi.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/infrared.d.ts +4 -0
- package/dist/yields/intrinsic/fetchers/infrared.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/kinetiq.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/kinetiq.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/lair.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/lair.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/lista.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/lista.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/lombard.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/lombard.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/primestaking.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/primestaking.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/solv.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/solv.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/stcelo.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/stcelo.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/swBTC.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/swBTC.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/trufin.d.ts +1 -0
- package/dist/yields/intrinsic/fetchers/trufin.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/valantis.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/valantis.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/yieldnest.d.ts.map +1 -1
- package/dist/yields/intrinsic/index.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/ccip-SQXTDOS7.js +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAQzD,OAAO,KAAK,EAAY,SAAS,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAsBzE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,iBAAiB,sBAAsB,EACvC,UAAU,qBAAqB,KAC9B,OAAO,CAAC,SAAS,CAmInB,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MulticallRetryFunction } from '../../types';
|
|
2
|
+
import type { GmxUserPositions, GmxUserPositionsOptions } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Read a user's GMX position state on a chain: optional GM/GLV token
|
|
5
|
+
* balances plus all pending (keeper-unexecuted) deposit/withdrawal
|
|
6
|
+
* "tickets".
|
|
7
|
+
*
|
|
8
|
+
* GM tickets aren't exposed by a batch reader, so we enumerate the user's
|
|
9
|
+
* request-key sets from the `DataStore` (`accountDeposit/WithdrawalListKey`)
|
|
10
|
+
* and resolve each key via `Reader.getDeposit/getWithdrawal`. GLV tickets
|
|
11
|
+
* have a convenience batch reader (`GlvReader.getAccountGlv*`), so those
|
|
12
|
+
* are read directly. Balances are a plain `balanceOf` multicall.
|
|
13
|
+
*
|
|
14
|
+
* All sub-fetches run concurrently and degrade independently — a failing
|
|
15
|
+
* reader yields an empty slice rather than sinking the whole call. Returns
|
|
16
|
+
* empty arrays on unsupported chains.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getGmxUserPositions: (chainId: string, account: string, multicallRetry: MulticallRetryFunction, options?: GmxUserPositionsOptions) => Promise<GmxUserPositions>;
|
|
19
|
+
//# sourceMappingURL=fetchUser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUser.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/fetchUser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AASzD,OAAO,KAAK,EAIV,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAMhB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,UAAU,uBAAuB,KAChC,OAAO,CAAC,gBAAgB,CA4N1B,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { fetchGmxVaults } from './fetchPublic';
|
|
2
|
+
export { getGmxUserPositions } from './fetchUser';
|
|
3
|
+
export { fetchGmxTickerPrices, priceGmMarkets, priceGlvVaults, fetchGmxExecutionFees, } from './pricing';
|
|
4
|
+
export { GMX_API_HOSTS, GMX_SUPPORTED_CHAINS, getGmxApiHost, } from './registry';
|
|
5
|
+
export { GMX_READ_CONTRACTS, getGmxReadContracts, type GmxReadContracts, } from './contracts';
|
|
6
|
+
export { accountDepositListKey, accountWithdrawalListKey } from './keys';
|
|
7
|
+
export type { GmxVault, GmxVaults, GmxVaultKind, GmxVaultsFetchOptions, GmxUserBalance, GmxPendingDeposit, GmxPendingWithdrawal, GmxUserPositions, GmxUserPositionsOptions, GmxExecutionFees, } from './types';
|
|
8
|
+
export type { GmxApyEntry, GmxApyResponse, GmxMarketMeta, GmxGlvMeta, GmxTokenMeta, } from './api';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAA;AACxE,YAAY,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,OAAO,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Address, type Hex } from 'viem';
|
|
2
|
+
/** Key of the set holding `account`'s pending GM deposit request keys. */
|
|
3
|
+
export declare const accountDepositListKey: (account: Address) => Hex;
|
|
4
|
+
/** Key of the set holding `account`'s pending GM withdrawal request keys. */
|
|
5
|
+
export declare const accountWithdrawalListKey: (account: Address) => Hex;
|
|
6
|
+
/**
|
|
7
|
+
* PnL-factor type used for GM/GLV token-price display (mirrors what the
|
|
8
|
+
* GMX UI passes to `getMarketTokenPrice`).
|
|
9
|
+
*/
|
|
10
|
+
export declare const MAX_PNL_FACTOR_FOR_TRADERS: `0x${string}`;
|
|
11
|
+
/**
|
|
12
|
+
* Plain `DataStore.getUint` config keys for the execution-fee estimate.
|
|
13
|
+
* `feeTokenAmount = (baseGasLimit + estimatedGasLimit * multiplier / 1e30) *
|
|
14
|
+
* gasPrice` — mirrors the GMX SDK's `getExecutionFee`.
|
|
15
|
+
*/
|
|
16
|
+
export declare const GMX_GAS_KEYS: {
|
|
17
|
+
readonly estimatedGasFeeBaseAmount: `0x${string}`;
|
|
18
|
+
readonly estimatedGasFeeMultiplierFactor: `0x${string}`;
|
|
19
|
+
readonly depositGasLimit: `0x${string}`;
|
|
20
|
+
readonly withdrawalGasLimit: `0x${string}`;
|
|
21
|
+
readonly glvDepositGasLimit: `0x${string}`;
|
|
22
|
+
readonly glvWithdrawalGasLimit: `0x${string}`;
|
|
23
|
+
readonly glvPerMarketGasLimit: `0x${string}`;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AA0B7E,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAE/C,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,eAA2C,CAAA;AAElF;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAUf,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { MulticallRetryFunction } from '../../types';
|
|
2
|
+
import type { GmxExecutionFees } from './types';
|
|
3
|
+
export interface TickerPrice {
|
|
4
|
+
min: bigint;
|
|
5
|
+
max: bigint;
|
|
6
|
+
}
|
|
7
|
+
export type TickerPrices = Map<string, TickerPrice>;
|
|
8
|
+
/**
|
|
9
|
+
* Fetch the GMX oracle min/max prices from `/prices/tickers`. These are in
|
|
10
|
+
* exactly the fixed-point form `getMarketTokenPrice` / `getGlvTokenPrice`
|
|
11
|
+
* expect, so they can be fed straight in. Keyed by lowercased token address.
|
|
12
|
+
*/
|
|
13
|
+
export declare const fetchGmxTickerPrices: (chainId: string, apiUrlOverride?: string) => Promise<TickerPrices>;
|
|
14
|
+
export interface GmxUsdValue {
|
|
15
|
+
priceUsd: number;
|
|
16
|
+
tvlUsd: number;
|
|
17
|
+
}
|
|
18
|
+
interface GmMarketInput {
|
|
19
|
+
marketToken: string;
|
|
20
|
+
indexToken: string;
|
|
21
|
+
longToken: string;
|
|
22
|
+
shortToken: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Value GM market tokens in USD via `Reader.getMarketTokenPrice`, fed the
|
|
26
|
+
* index/long/short oracle prices from `/prices/tickers`. Markets missing an
|
|
27
|
+
* oracle price are skipped. Returns a map (lowercased GM token → value).
|
|
28
|
+
* Resolves to an empty map on any failure — pricing is best-effort.
|
|
29
|
+
*/
|
|
30
|
+
export declare const priceGmMarkets: (chainId: string, multicallRetry: MulticallRetryFunction, markets: GmMarketInput[], prices: TickerPrices) => Promise<Map<string, GmxUsdValue>>;
|
|
31
|
+
/**
|
|
32
|
+
* Value GLV tokens in USD. Two stages: `getGlvInfo` (each GLV → its
|
|
33
|
+
* constituent GM markets), then `getGlvTokenPrice` with the per-market
|
|
34
|
+
* index-price array assembled from `/prices/tickers`. Returns the value map
|
|
35
|
+
* plus the largest GLV market count (used to size the GLV execution-fee gas
|
|
36
|
+
* estimate). Best-effort — empty on failure.
|
|
37
|
+
*/
|
|
38
|
+
export declare const priceGlvVaults: (chainId: string, multicallRetry: MulticallRetryFunction, glvTokens: string[], prices: TickerPrices,
|
|
39
|
+
/** market address (lowercased) → its index token address. From `/markets`. */
|
|
40
|
+
marketIndexToken: Map<string, string>) => Promise<{
|
|
41
|
+
values: Map<string, GmxUsdValue>;
|
|
42
|
+
maxMarketCount: number;
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Estimate per-chain minimum execution fees for the four GM/GLV request
|
|
46
|
+
* types. Reads the DataStore gas-limit + multiplier config in one multicall
|
|
47
|
+
* and multiplies by `gasPriceWei`. Returns `undefined` if the chain is
|
|
48
|
+
* unsupported or the reads/gas-price fail.
|
|
49
|
+
*/
|
|
50
|
+
export declare const fetchGmxExecutionFees: (chainId: string, multicallRetry: MulticallRetryFunction, gasPriceWei: bigint) => Promise<GmxExecutionFees | undefined>;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=pricing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/pricing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AASzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAW/C,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAQnD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,iBAAiB,MAAM,KACtB,OAAO,CAAC,YAAY,CAoBtB,CAAA;AAKD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAS,aAAa,EAAE,EACxB,QAAQ,YAAY,KACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CA0DlC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,WAAW,MAAM,EAAE,EACnB,QAAQ,YAAY;AACpB,8EAA8E;AAC9E,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KACpC,OAAO,CAAC;IAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAuFtE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,aAAa,MAAM,KAClB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CA6CtC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-chain gmxinfra REST API host. GMX V2 is deployed on Arbitrum One and
|
|
3
|
+
* Avalanche C-Chain; each has its own API host serving the same routes
|
|
4
|
+
* (`/apy`, `/markets`, `/glvs`, `/tokens`).
|
|
5
|
+
*/
|
|
6
|
+
export declare const GMX_API_HOSTS: {
|
|
7
|
+
[chainId: string]: string;
|
|
8
|
+
};
|
|
9
|
+
/** Chains for which a GMX vault listing is available. */
|
|
10
|
+
export declare const GMX_SUPPORTED_CHAINS: string[];
|
|
11
|
+
/** Resolve the gmxinfra API base for a chain, or `undefined` if unsupported. */
|
|
12
|
+
export declare const getGmxApiHost: (chainId: string) => string | undefined;
|
|
13
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAGtD,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,UAA6B,CAAA;AAE9D,gFAAgF;AAChF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SACjC,CAAA"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/** GMX V2 GM/GLV pool-token read types. */
|
|
2
|
+
/**
|
|
3
|
+
* Which GMX product a listing represents.
|
|
4
|
+
* - `gm` — a single GMX V2 market pool token (one index asset, backed by a
|
|
5
|
+
* long + short token pair).
|
|
6
|
+
* - `glv` — a GMX Liquidity Vault token: an auto-rebalancing meta-vault that
|
|
7
|
+
* aggregates several GM markets sharing the same long/short pair.
|
|
8
|
+
*/
|
|
9
|
+
export type GmxVaultKind = 'gm' | 'glv';
|
|
10
|
+
/**
|
|
11
|
+
* Vault-level public data for a single GMX GM or GLV pool token, normalised
|
|
12
|
+
* from the gmxinfra REST API (`/apy`, `/markets`, `/glvs`, `/tokens`).
|
|
13
|
+
*
|
|
14
|
+
* GM/GLV tokens are 18-decimal ERC-20s representing a share of a perp-DEX
|
|
15
|
+
* liquidity pool. LPs earn trading + borrow fees but absorb trader PnL, so
|
|
16
|
+
* NAV fluctuates and can draw down — hence always `volatile`. They are not
|
|
17
|
+
* ERC-4626 and have no monotonic share/asset ratio, so (like HyperCore) they
|
|
18
|
+
* are surfaced as a listing only, not folded into the generic vault lookup.
|
|
19
|
+
*/
|
|
20
|
+
export interface GmxVault {
|
|
21
|
+
/** GM market token / GLV token address, lowercased. */
|
|
22
|
+
address: string;
|
|
23
|
+
/** Display name from the API (e.g. `ETH/USD [WETH-USDC]`, `GLV [WBTC.b-USDC]`). */
|
|
24
|
+
name: string;
|
|
25
|
+
/** GM market vs GLV vault. */
|
|
26
|
+
kind: GmxVaultKind;
|
|
27
|
+
/** Share-token symbol — synthesised (`GM` / `GLV`); the API has no symbol. */
|
|
28
|
+
symbol: string;
|
|
29
|
+
/** Share decimals. GM and GLV tokens are 18-decimal on GMX V2. */
|
|
30
|
+
decimals: number;
|
|
31
|
+
/** Long-leg token address, lowercased. */
|
|
32
|
+
longToken: string;
|
|
33
|
+
/** Short-leg token address (the quote leg, typically USDC), lowercased. */
|
|
34
|
+
shortToken: string;
|
|
35
|
+
/** Index (priced) token address, lowercased. GM only — absent for GLV. */
|
|
36
|
+
indexToken?: string;
|
|
37
|
+
/** Long-leg token symbol, when resolvable from the `/tokens` map. */
|
|
38
|
+
longSymbol?: string;
|
|
39
|
+
/** Short-leg token symbol, when resolvable from the `/tokens` map. */
|
|
40
|
+
shortSymbol?: string;
|
|
41
|
+
/** Total APY as a fraction (e.g. `0.16` = 16%) for the requested period. */
|
|
42
|
+
apy: number;
|
|
43
|
+
/** Base (fee) APY as a fraction. */
|
|
44
|
+
baseApy: number;
|
|
45
|
+
/** Bonus APR (incentives) as a fraction. */
|
|
46
|
+
bonusApr: number;
|
|
47
|
+
/** Always volatile (perp-DEX liquidity provision). */
|
|
48
|
+
yieldProfile: 'volatile';
|
|
49
|
+
/** `stable` only when both legs are stablecoins; otherwise `volatile`. */
|
|
50
|
+
denomination: 'stable' | 'volatile';
|
|
51
|
+
/** USD price of one GM/GLV token, from `Reader.getMarketTokenPrice` /
|
|
52
|
+
* `GlvReader.getGlvTokenPrice` (fed by `/prices/tickers`). Absent when
|
|
53
|
+
* multicall pricing was unavailable (no `multicallRetry`, missing
|
|
54
|
+
* oracle price, or a failed read). */
|
|
55
|
+
priceUsd?: number;
|
|
56
|
+
/** Total pool value (TVL) in USD, from the same call. Absent under the
|
|
57
|
+
* same conditions as {@link priceUsd}. */
|
|
58
|
+
tvlUsd?: number;
|
|
59
|
+
}
|
|
60
|
+
/** Vault-level listing keyed by lowercased address. */
|
|
61
|
+
export type GmxVaults = {
|
|
62
|
+
[address: string]: GmxVault;
|
|
63
|
+
};
|
|
64
|
+
export interface GmxVaultsFetchOptions {
|
|
65
|
+
/** APY averaging window passed to the API (default `90d`). */
|
|
66
|
+
period?: string;
|
|
67
|
+
/** Override the gmxinfra API base for the chain (testing). */
|
|
68
|
+
apiUrl?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Per-chain minimum execution fees (wei) for the four GMX V2 GM/GLV
|
|
72
|
+
* request types — what to pass as `executionFee` on the matching calldata
|
|
73
|
+
* builder. Computed as `(baseGasLimit + opGasLimit * multiplier / 1e30) *
|
|
74
|
+
* gasPrice`, mirroring the GMX SDK; GLV ops add `glvPerMarketGasLimit ×`
|
|
75
|
+
* the chain's largest GLV market count. Gas price is volatile, so treat
|
|
76
|
+
* these as fresh-at-fetch estimates (GMX refunds any overpayment).
|
|
77
|
+
*/
|
|
78
|
+
export interface GmxExecutionFees {
|
|
79
|
+
chainId: string;
|
|
80
|
+
/** Gas price (wei) used for the estimate. */
|
|
81
|
+
gasPriceWei: string;
|
|
82
|
+
deposit: string;
|
|
83
|
+
withdrawal: string;
|
|
84
|
+
glvDeposit: string;
|
|
85
|
+
glvWithdrawal: string;
|
|
86
|
+
}
|
|
87
|
+
/** A user's GM/GLV token balance (raw ERC-20 units, 18-dec). */
|
|
88
|
+
export interface GmxUserBalance {
|
|
89
|
+
/** GM market token or GLV token address, lowercased. */
|
|
90
|
+
token: string;
|
|
91
|
+
kind: GmxVaultKind;
|
|
92
|
+
/** Raw integer balance string. */
|
|
93
|
+
balance: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* A pending (keeper-unexecuted) GM/GLV deposit request — the "ticket"
|
|
97
|
+
* that mints GM/GLV once a keeper executes it. Cancellable until then via
|
|
98
|
+
* the calldata-sdk `buildGmxCancel`.
|
|
99
|
+
*/
|
|
100
|
+
export interface GmxPendingDeposit {
|
|
101
|
+
/** DataStore request key (GM) — undefined for GLV deposits, which the
|
|
102
|
+
* GlvReader returns without exposing the key. */
|
|
103
|
+
key?: string;
|
|
104
|
+
kind: GmxVaultKind;
|
|
105
|
+
account: string;
|
|
106
|
+
receiver: string;
|
|
107
|
+
/** GM market the request routes through. */
|
|
108
|
+
market: string;
|
|
109
|
+
/** GLV token (GLV deposits only). */
|
|
110
|
+
glv?: string;
|
|
111
|
+
initialLongToken: string;
|
|
112
|
+
initialShortToken: string;
|
|
113
|
+
initialLongTokenAmount: string;
|
|
114
|
+
initialShortTokenAmount: string;
|
|
115
|
+
/** Min GM out (GM) / min GLV out (GLV), raw. */
|
|
116
|
+
minOut: string;
|
|
117
|
+
executionFee: string;
|
|
118
|
+
/** Request creation time (unix seconds, as a string). */
|
|
119
|
+
updatedAtTime: string;
|
|
120
|
+
}
|
|
121
|
+
/** A pending GM/GLV withdrawal request (burn GM/GLV → long+short legs). */
|
|
122
|
+
export interface GmxPendingWithdrawal {
|
|
123
|
+
key?: string;
|
|
124
|
+
kind: GmxVaultKind;
|
|
125
|
+
account: string;
|
|
126
|
+
receiver: string;
|
|
127
|
+
market: string;
|
|
128
|
+
glv?: string;
|
|
129
|
+
/** GM/GLV token amount being redeemed, raw. */
|
|
130
|
+
tokenAmount: string;
|
|
131
|
+
minLongTokenAmount: string;
|
|
132
|
+
minShortTokenAmount: string;
|
|
133
|
+
executionFee: string;
|
|
134
|
+
updatedAtTime: string;
|
|
135
|
+
}
|
|
136
|
+
/** Combined GMX position view for one account on one chain. */
|
|
137
|
+
export interface GmxUserPositions {
|
|
138
|
+
chainId: string;
|
|
139
|
+
account: string;
|
|
140
|
+
/** Present only when the caller supplied tokens to balance-check. */
|
|
141
|
+
balances: GmxUserBalance[];
|
|
142
|
+
pendingDeposits: GmxPendingDeposit[];
|
|
143
|
+
pendingWithdrawals: GmxPendingWithdrawal[];
|
|
144
|
+
}
|
|
145
|
+
export interface GmxUserPositionsOptions {
|
|
146
|
+
/** GM/GLV tokens to read `balanceOf` for (e.g. from the listing). When
|
|
147
|
+
* omitted, `balances` is empty and only pending tickets are read. */
|
|
148
|
+
tokens?: {
|
|
149
|
+
address: string;
|
|
150
|
+
kind: GmxVaultKind;
|
|
151
|
+
}[];
|
|
152
|
+
/** Max pending requests to enumerate per list (default 50). */
|
|
153
|
+
cap?: number;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { HypercoreVaults, HypercoreVaultsFetchOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Fetch vault-level public data for the curated set of HyperCore vaults
|
|
4
|
+
* via the Hyperliquid `vaultDetails` info API (read-only, no signing).
|
|
5
|
+
* Returns a map keyed by lowercased address. Per-vault failures are
|
|
6
|
+
* dropped rather than thrown.
|
|
7
|
+
*
|
|
8
|
+
* This is the listing counterpart to `getHypercoreUserPositions` — it
|
|
9
|
+
* surfaces TVL / APR / leader for arbitrary HyperCore vaults, not just a
|
|
10
|
+
* single user's positions.
|
|
11
|
+
*/
|
|
12
|
+
export declare const fetchHypercoreVaults: (options?: HypercoreVaultsFetchOptions) => Promise<HypercoreVaults>;
|
|
13
|
+
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/hypercore/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EACf,2BAA2B,EAC5B,MAAM,SAAS,CAAA;AA0EhB;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,2BAA2B,KACpC,OAAO,CAAC,eAAe,CAOzB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HypercoreUserPositionsOptions, HypercoreVaultPosition } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Read a user's HyperCore vault positions from the Hyperliquid L1 info
|
|
4
|
+
* API and normalise them to {@link HypercoreVaultPosition}.
|
|
5
|
+
*
|
|
6
|
+
* Two-stage:
|
|
7
|
+
* 1. `userVaultEquities` → one call listing every vault the user holds
|
|
8
|
+
* equity in (`{ vaultAddress, equity }`).
|
|
9
|
+
* 2. (optional, default on) per-vault `vaultDetails` to read the
|
|
10
|
+
* caller's `followers[]` entry for `lockupUntil` (ms → seconds),
|
|
11
|
+
* `pnl`, and the vault's `maxWithdrawable`. Run in parallel.
|
|
12
|
+
*
|
|
13
|
+
* Off-chain and unproven on-chain — amounts are decimal USD strings as
|
|
14
|
+
* returned by the L1. Per-vault `vaultDetails` failures degrade to a
|
|
15
|
+
* position without lockup info rather than sinking the whole call.
|
|
16
|
+
*/
|
|
17
|
+
export declare const getHypercoreUserPositions: (user: string, options?: HypercoreUserPositionsOptions) => Promise<HypercoreVaultPosition[]>;
|
|
18
|
+
//# sourceMappingURL=fetchUser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUser.d.ts","sourceRoot":"","sources":["../../../src/vaults/hypercore/fetchUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAgChB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,EACZ,UAAU,6BAA6B,KACtC,OAAO,CAAC,sBAAsB,EAAE,CAuDlC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { getHypercoreUserPositions } from './fetchUser';
|
|
2
|
+
export { fetchHypercoreVaults } from './fetchPublic';
|
|
3
|
+
export { HYPERCORE_VAULT_REGISTRY, getHypercoreVaultRegistry, type HypercoreVaultRegistryEntry, } from './registry';
|
|
4
|
+
export type { HypercoreVaultPosition, HypercoreUserPositionsOptions, HypercoreLockStatus, HypercoreVault, HypercoreVaults, HypercoreVaultsFetchOptions, } from './types';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/hypercore/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,2BAA2B,GACjC,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,2BAA2B,GAC5B,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated registry of Hyperliquid HyperCore vaults to surface as
|
|
3
|
+
* public-data listings.
|
|
4
|
+
*
|
|
5
|
+
* HyperCore has no clean "list all vaults" info endpoint, so we pin a
|
|
6
|
+
* curated set of addresses and read each via the `vaultDetails` info API
|
|
7
|
+
* (see `fetchPublic.ts`). Seeded from the TradingStrategy dataset's
|
|
8
|
+
* top HyperCore vaults by NAV — HLP (the protocol vault) plus the
|
|
9
|
+
* largest leader/strategy vaults. Extend this list to track more.
|
|
10
|
+
*/
|
|
11
|
+
export interface HypercoreVaultRegistryEntry {
|
|
12
|
+
/** Vault address (L1), lowercased. */
|
|
13
|
+
address: string;
|
|
14
|
+
/** Display name (fallback when `vaultDetails` omits it). */
|
|
15
|
+
name: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const HYPERCORE_VAULT_REGISTRY: HypercoreVaultRegistryEntry[];
|
|
18
|
+
export declare const getHypercoreVaultRegistry: () => HypercoreVaultRegistryEntry[];
|
|
19
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/vaults/hypercore/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,wBAAwB,EAAE,2BAA2B,EAoDjE,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,2BAA2B,EAC9C,CAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/** Hyperliquid HyperCore (L1) vault read types. */
|
|
2
|
+
/** Status of a HyperCore vault position w.r.t. its withdrawal lockup. */
|
|
3
|
+
export type HypercoreLockStatus = 'locked' | 'withdrawable';
|
|
4
|
+
/**
|
|
5
|
+
* A user's position in a single HyperCore vault, normalised from the
|
|
6
|
+
* Hyperliquid info API (`userVaultEquities` + `vaultDetails`).
|
|
7
|
+
*
|
|
8
|
+
* HyperCore vaults are USDC-denominated and live on the Hyperliquid L1,
|
|
9
|
+
* so amounts are decimal USD strings (not on-chain integers) and there
|
|
10
|
+
* is no EVM share token. Deposits are subject to a lockup (typically
|
|
11
|
+
* 4 days) before any withdrawal is allowed.
|
|
12
|
+
*/
|
|
13
|
+
export interface HypercoreVaultPosition {
|
|
14
|
+
/** HyperCore vault address (L1). Lowercased. */
|
|
15
|
+
vault: string;
|
|
16
|
+
/** User's equity in the vault, decimal USD string (e.g. `"1234.56"`). */
|
|
17
|
+
equity: string;
|
|
18
|
+
/** Unix seconds after which the user may withdraw, if known. */
|
|
19
|
+
lockupUntil?: number;
|
|
20
|
+
/** Lock status derived from `lockupUntil` vs the provided `now`. */
|
|
21
|
+
lockStatus?: HypercoreLockStatus;
|
|
22
|
+
/** Amount immediately withdrawable, decimal USD string, if known. */
|
|
23
|
+
maxWithdrawable?: string;
|
|
24
|
+
/** User's PnL in the vault, decimal USD string, if known. */
|
|
25
|
+
pnl?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface HypercoreUserPositionsOptions {
|
|
28
|
+
/** Override the info API base (defaults to mainnet). */
|
|
29
|
+
apiUrl?: string;
|
|
30
|
+
/** Fetch per-vault `vaultDetails` for lockup/withdrawable (default true). */
|
|
31
|
+
withLockup?: boolean;
|
|
32
|
+
/** `now` in unix seconds for deriving `lockStatus` (defaults to wall clock). */
|
|
33
|
+
nowSeconds?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Vault-level public data for a single HyperCore vault, normalised from
|
|
37
|
+
* the `vaultDetails` info API. The listing counterpart to
|
|
38
|
+
* {@link HypercoreVaultPosition} (which is per-user).
|
|
39
|
+
*
|
|
40
|
+
* HyperCore vaults are USDC-denominated perp/trading vaults — there's no
|
|
41
|
+
* ERC-4626 share token, so TVL/PnL are decimal USD strings and the vault
|
|
42
|
+
* is always `volatile` + `stable`-denominated.
|
|
43
|
+
*/
|
|
44
|
+
export interface HypercoreVault {
|
|
45
|
+
/** Vault address (L1), lowercased. */
|
|
46
|
+
address: string;
|
|
47
|
+
/** Display name. */
|
|
48
|
+
name: string;
|
|
49
|
+
/** Vault leader / manager address, lowercased, if known. */
|
|
50
|
+
leader?: string;
|
|
51
|
+
/** Total value locked in USDC, decimal string. */
|
|
52
|
+
tvlUsd: string;
|
|
53
|
+
/** Annualised return as a fraction (e.g. `0.12` = 12%), when the API
|
|
54
|
+
* reports one. */
|
|
55
|
+
apr?: number;
|
|
56
|
+
/** Number of followers (depositors). */
|
|
57
|
+
followerCount?: number;
|
|
58
|
+
/** Whether the vault is closed to new deposits. */
|
|
59
|
+
isClosed?: boolean;
|
|
60
|
+
/** Underlying is always USDC for HyperCore vaults. */
|
|
61
|
+
underlyingSymbol: 'USDC';
|
|
62
|
+
/** Always volatile (perp/trading strategy). */
|
|
63
|
+
yieldProfile: 'volatile';
|
|
64
|
+
/** Always stable-denominated (USDC). */
|
|
65
|
+
denomination: 'stable';
|
|
66
|
+
}
|
|
67
|
+
/** Vault-level listing keyed by lowercased address. */
|
|
68
|
+
export type HypercoreVaults = {
|
|
69
|
+
[address: string]: HypercoreVault;
|
|
70
|
+
};
|
|
71
|
+
export interface HypercoreVaultsFetchOptions {
|
|
72
|
+
/** Override the info API base (defaults to mainnet). */
|
|
73
|
+
apiUrl?: string;
|
|
74
|
+
/** Registry override — which vaults to list (defaults to the curated set). */
|
|
75
|
+
entries?: {
|
|
76
|
+
address: string;
|
|
77
|
+
name: string;
|
|
78
|
+
}[];
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/hypercore/types.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,cAAc,CAAA;AAE3D;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oEAAoE;IACpE,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,6BAA6B;IAC5C,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAA;IACd;uBACmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sDAAsD;IACtD,gBAAgB,EAAE,MAAM,CAAA;IACxB,+CAA+C;IAC/C,YAAY,EAAE,UAAU,CAAA;IACxB,wCAAwC;IACxC,YAAY,EAAE,QAAQ,CAAA;CACvB;AAED,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAA;AAEnE,MAAM,WAAW,2BAA2B;IAC1C,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC9C"}
|
package/dist/vaults/index.d.ts
CHANGED
|
@@ -3,7 +3,15 @@ export * from './gearbox';
|
|
|
3
3
|
export * from './morpho';
|
|
4
4
|
export * from './silo';
|
|
5
5
|
export * from './euler-earn';
|
|
6
|
+
export * from './lst';
|
|
7
|
+
export * from './savings';
|
|
8
|
+
export * from './lagoon';
|
|
9
|
+
export * from './hypercore';
|
|
10
|
+
export * from './gmx';
|
|
11
|
+
export * from './yield';
|
|
6
12
|
export { composeVaultDisplayName } from './displayName';
|
|
7
13
|
export { getVaultPublicDataAll, type VaultProvider, type VaultPublicDataAll, type VaultPublicDataResult, type GetVaultPublicDataAllOptions, } from './fetchVaultsAll';
|
|
8
14
|
export { buildVaultLookup, type VaultLookupEntry } from './lookup';
|
|
15
|
+
export { detectInterfaceKinds, INTERFACE_IDS, type InterfaceKind, } from './interfaceKind';
|
|
16
|
+
export { classifyVault, stampVaultClassification, isStablecoinSymbol, STABLECOIN_SYMBOLS, VOLATILE_VAULT_OVERRIDES, type YieldProfile, type Denomination, type VaultClassification, type VaultClassificationFields, } from './classification';
|
|
9
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { MulticallRetryFunction } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Vault interface family, detected via ERC-165 `supportsInterface`.
|
|
4
|
+
*
|
|
5
|
+
* - `erc4626` — plain synchronous tokenized vault (the default; most
|
|
6
|
+
* vaults don't implement ERC-165 at all, which we treat as 4626).
|
|
7
|
+
* - `erc7540` — asynchronous deposit and/or redeem (request → claim).
|
|
8
|
+
* - `erc7575` — multi-asset vault (share token split from entrypoints)
|
|
9
|
+
* that is NOT also 7540.
|
|
10
|
+
*/
|
|
11
|
+
export type InterfaceKind = 'erc4626' | 'erc7540' | 'erc7575';
|
|
12
|
+
/**
|
|
13
|
+
* ERC-165 interface IDs, verified against EIP-7540 / EIP-7575:
|
|
14
|
+
* - `0xe3bc4e65` — ERC-7540 operator methods (implemented by ALL 7540
|
|
15
|
+
* vaults, async-deposit and async-redeem alike). Best single probe
|
|
16
|
+
* for "is this a 7540 vault".
|
|
17
|
+
* - `0x2f0a18c5` — ERC-7575 interface. All 7540 vaults also return true
|
|
18
|
+
* here, so 7575-but-not-7540 is the pure multi-asset (sync) case.
|
|
19
|
+
*/
|
|
20
|
+
export declare const INTERFACE_IDS: {
|
|
21
|
+
readonly erc7540Operator: "0xe3bc4e65";
|
|
22
|
+
readonly erc7575: "0x2f0a18c5";
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Classify each vault address by interface family using two ERC-165
|
|
26
|
+
* probes per vault (`supportsInterface(0xe3bc4e65)` for 7540,
|
|
27
|
+
* `supportsInterface(0x2f0a18c5)` for 7575). Failures / reverts (a vault
|
|
28
|
+
* that doesn't implement ERC-165) fall back to `erc4626`.
|
|
29
|
+
*
|
|
30
|
+
* Returns a map keyed by lowercased address. Pure read — one multicall.
|
|
31
|
+
*/
|
|
32
|
+
export declare const detectInterfaceKinds: (addresses: string[], chainId: string, multicallRetry: MulticallRetryFunction) => Promise<Record<string, InterfaceKind>>;
|
|
33
|
+
//# sourceMappingURL=interfaceKind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaceKind.d.ts","sourceRoot":"","sources":["../../src/vaults/interfaceKind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEtD;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa;;;CAGhB,CAAA;AAYV;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,MAAM,EAAE,EACnB,SAAS,MAAM,EACf,gBAAgB,sBAAsB,KACrC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAoCvC,CAAA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lagoon public GraphQL API client.
|
|
3
|
+
*
|
|
4
|
+
* One batched query returns every visible Lagoon vault on a chain with
|
|
5
|
+
* its full state (NAV, totalAssets/Supply, time-weighted APR windows,
|
|
6
|
+
* deposit-mode flags). This is the data-of-record for Lagoon: pricing
|
|
7
|
+
* and yield come straight from the API, so the public-data fetch needs
|
|
8
|
+
* no multicall and no archival RPC (Lagoon's on-chain history is only
|
|
9
|
+
* available via pruned RPCs / the subgraph — the API serves it
|
|
10
|
+
* directly).
|
|
11
|
+
*
|
|
12
|
+
* Endpoint and chain coverage:
|
|
13
|
+
* https://api.lagoon.finance/query (GraphQL, no auth)
|
|
14
|
+
* Chains are gated by {@link LAGOON_CHAIN_IDS} so we don't fire a query
|
|
15
|
+
* at chains where Lagoon has no factory. The API itself returns an empty
|
|
16
|
+
* page for an unknown chain, but short-circuiting avoids the round-trip.
|
|
17
|
+
*/
|
|
18
|
+
export declare const LAGOON_API_URL = "https://api.lagoon.finance/query";
|
|
19
|
+
/**
|
|
20
|
+
* Chains with a Lagoon vault factory (per
|
|
21
|
+
* docs.lagoon.finance/resources/networks-and-addresses). Numeric chain
|
|
22
|
+
* ids as strings. Extend as Lagoon deploys to more chains — the parser
|
|
23
|
+
* is chain-agnostic, this set only decides whether to issue the query.
|
|
24
|
+
*/
|
|
25
|
+
export declare const LAGOON_CHAIN_IDS: Set<string>;
|
|
26
|
+
export declare const hasLagoonVaults: (chainId: string) => boolean;
|
|
27
|
+
/** Shape of a single `vaults.items[]` entry in the API response. */
|
|
28
|
+
export interface LagoonApiVault {
|
|
29
|
+
address: string | null;
|
|
30
|
+
name: string | null;
|
|
31
|
+
symbol: string | null;
|
|
32
|
+
decimals: number | null;
|
|
33
|
+
isVisible: boolean | null;
|
|
34
|
+
asset: {
|
|
35
|
+
address: string | null;
|
|
36
|
+
symbol: string | null;
|
|
37
|
+
decimals: number | null;
|
|
38
|
+
} | null;
|
|
39
|
+
state: {
|
|
40
|
+
totalAssets: string | null;
|
|
41
|
+
totalAssetsUsd: number | null;
|
|
42
|
+
totalSupply: string | null;
|
|
43
|
+
pricePerShare: string | null;
|
|
44
|
+
pricePerShareUsd: number | null;
|
|
45
|
+
isAsyncOnly: boolean | null;
|
|
46
|
+
syncMode: string | null;
|
|
47
|
+
weeklyApr: {
|
|
48
|
+
twrrNetApr: number | null;
|
|
49
|
+
} | null;
|
|
50
|
+
monthlyApr: {
|
|
51
|
+
twrrNetApr: number | null;
|
|
52
|
+
} | null;
|
|
53
|
+
yearlyApr: {
|
|
54
|
+
twrrNetApr: number | null;
|
|
55
|
+
} | null;
|
|
56
|
+
inceptionApr: {
|
|
57
|
+
twrrNetApr: number | null;
|
|
58
|
+
} | null;
|
|
59
|
+
} | null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Fetch every visible Lagoon vault on a chain, paginating until the API
|
|
63
|
+
* returns a short page. Returns the raw API items; normalization to
|
|
64
|
+
* `LagoonVault` happens in `fetchPublic`.
|
|
65
|
+
*/
|
|
66
|
+
export declare function fetchLagoonApiVaults(chainId: string): Promise<LagoonApiVault[]>;
|
|
67
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/vaults/lagoon/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,cAAc,qCAAqC,CAAA;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,aAU3B,CAAA;AAEF,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,KAAG,OACX,CAAA;AAEvC,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KACxB,GAAG,IAAI,CAAA;IACR,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;QAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;QAC/B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;QAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,SAAS,EAAE;YAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;QAC/C,UAAU,EAAE;YAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;QAChD,SAAS,EAAE;YAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;QAC/C,YAAY,EAAE;YAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;KACnD,GAAG,IAAI,CAAA;CACT;AAiDD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,EAAE,CAAC,CAkC3B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GenericTokenList } from '../../types';
|
|
2
|
+
import { LagoonVaults } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* One-shot fetcher for all visible Lagoon vaults on a chain.
|
|
5
|
+
*
|
|
6
|
+
* HTTP-only (Lagoon public GraphQL API) — no multicall executor needed,
|
|
7
|
+
* mirroring the Morpho fetcher. Returns an empty map for chains without
|
|
8
|
+
* a Lagoon deployment.
|
|
9
|
+
*
|
|
10
|
+
* @param chainId target chain
|
|
11
|
+
* @param prices optional price map keyed by oracle key / underlying
|
|
12
|
+
* @param tokenList optional token list for hydrating `asset` metadata
|
|
13
|
+
*
|
|
14
|
+
* @returns `LagoonVaults` — map keyed by lowercased vault address.
|
|
15
|
+
*/
|
|
16
|
+
export declare const fetchLagoonVaults: (chainId: string, prices?: {
|
|
17
|
+
[asset: string]: number;
|
|
18
|
+
}, tokenList?: GenericTokenList) => Promise<LagoonVaults>;
|
|
19
|
+
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/lagoon/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAQ9C,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AAqGnD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,YAAY,CAUtB,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { fetchLagoonVaults } from './fetchPublic';
|
|
2
|
+
export { LAGOON_API_URL, LAGOON_CHAIN_IDS, hasLagoonVaults, fetchLagoonApiVaults, type LagoonApiVault, } from './api';
|
|
3
|
+
export type { LagoonVault, LagoonVaults, LagoonSyncMode } from './types';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|