@1delta/margin-fetcher 0.0.265 → 0.0.267
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 +9297 -331
- package/dist/index.js.map +1 -1
- package/dist/lending/dolomite-subgraph.d.ts +11 -0
- package/dist/lending/dolomite-subgraph.d.ts.map +1 -0
- package/dist/lending/public-data/dolomite/emodeConfig.d.ts +45 -0
- package/dist/lending/public-data/dolomite/emodeConfig.d.ts.map +1 -0
- package/dist/lending/public-data/dolomite/fetchFromSubgraph.d.ts +56 -0
- package/dist/lending/public-data/dolomite/fetchFromSubgraph.d.ts.map +1 -0
- package/dist/lending/public-data/dolomite/publicCallBuild.d.ts +19 -0
- package/dist/lending/public-data/dolomite/publicCallBuild.d.ts.map +1 -0
- package/dist/lending/public-data/dolomite/publicCallParse.d.ts +23 -0
- package/dist/lending/public-data/dolomite/publicCallParse.d.ts.map +1 -0
- package/dist/lending/public-data/fetchLender.d.ts.map +1 -1
- package/dist/lending/public-data/fetchLenderAll.d.ts.map +1 -1
- package/dist/lending/public-data/fetchLenderExt.d.ts.map +1 -1
- package/dist/lending/user-data/abis.d.ts.map +1 -1
- package/dist/lending/user-data/dolomite/userCallBuild.d.ts +21 -0
- package/dist/lending/user-data/dolomite/userCallBuild.d.ts.map +1 -0
- package/dist/lending/user-data/dolomite/userCallParse.d.ts +15 -0
- package/dist/lending/user-data/dolomite/userCallParse.d.ts.map +1 -0
- package/dist/lending/user-data/fetch-balances/parse.d.ts.map +1 -1
- package/dist/lending/user-data/fetch-balances/prepare.d.ts.map +1 -1
- package/dist/prices/oracle-prices/fetchOraclePrices.d.ts.map +1 -1
- package/dist/prices/oracle-prices/fetchers/dolomite.d.ts +297 -0
- package/dist/prices/oracle-prices/fetchers/dolomite.d.ts.map +1 -0
- package/dist/prices/oracle-prices/fetchers/index.d.ts +1 -0
- package/dist/prices/oracle-prices/fetchers/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/marketName.d.ts.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/core.d.ts +27 -0
- package/dist/vaults/lst/abis/core.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 +32 -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/stella.d.ts +30 -0
- package/dist/vaults/lst/abis/stella.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/coreValidators.d.ts +16 -0
- package/dist/vaults/lst/coreValidators.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 +6 -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/core.d.ts +22 -0
- package/dist/vaults/lst/readers/core.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/stella.d.ts +18 -0
- package/dist/vaults/lst/readers/stella.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 +135 -0
- package/dist/vaults/lst/registry.d.ts.map +1 -0
- package/dist/vaults/lst/types.d.ts +133 -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/stella.d.ts +25 -0
- package/dist/vaults/lst/withdrawals/abis/stella.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/stella.d.ts +17 -0
- package/dist/vaults/lst/withdrawals/readers/stella.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/core.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/core.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/stella.d.ts +3 -0
- package/dist/yields/intrinsic/fetchers/stella.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 +6 -6
- package/dist/ccip-SQXTDOS7.js +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staderMaticx.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/staderMaticx.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAoDhC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* StakeWise V3 osETH — multi-vault async exit queue, indexed only via
|
|
4
|
+
* StakeWise's self-hosted subgraph.
|
|
5
|
+
*
|
|
6
|
+
* Sequence:
|
|
7
|
+
* 1. GraphQL POST to the StakeWise subgraph for all non-claimed exit
|
|
8
|
+
* requests owned by `user`. Returns the list with per-vault
|
|
9
|
+
* positionTicket + (lagging) `isClaimable`.
|
|
10
|
+
* 2. For each request that has an `exitQueueIndex` assigned, multicall
|
|
11
|
+
* `calculateExitedAssets(receiver, positionTicket, timestamp,
|
|
12
|
+
* exitQueueIndex)` on the vault to re-confirm finalization (the
|
|
13
|
+
* subgraph lags a few blocks; on-chain is the source of truth).
|
|
14
|
+
* 3. Normalise to `LstWithdrawalRequest[]`.
|
|
15
|
+
*
|
|
16
|
+
* Subgraph downtime: returns `[]` and lets the orchestrator surface
|
|
17
|
+
* "we don't know your requests" rather than fail-loud. The reader's
|
|
18
|
+
* caller already tolerates per-reader empty results.
|
|
19
|
+
*
|
|
20
|
+
* Per-vault address surfaced in `lst` field overrides the registry's
|
|
21
|
+
* osETH share-token address — StakeWise exits are per-vault, not
|
|
22
|
+
* per-osETH (osETH is the protocol-wide minted share). Each request
|
|
23
|
+
* carries its source vault so UIs can group / route claims correctly.
|
|
24
|
+
*/
|
|
25
|
+
export declare const readerStakeWise: LstWithdrawalReader;
|
|
26
|
+
//# sourceMappingURL=stakewise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stakewise.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/stakewise.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AA2C7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,eAAe,EAAE,mBAkF7B,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* StakedCelo (stCELO) — pending-withdrawal enumeration.
|
|
4
|
+
*
|
|
5
|
+
* Single stage: `Account.getPendingWithdrawals(beneficiary)` returns
|
|
6
|
+
* parallel `(values[], timestamps[])` arrays. Each entry is a
|
|
7
|
+
* LockedGold unlock created by `Account.withdraw`; `timestamp` is the
|
|
8
|
+
* unix-second moment it becomes claimable via
|
|
9
|
+
* `Account.finishPendingWithdrawal`.
|
|
10
|
+
*
|
|
11
|
+
* Entries only appear here **after** the per-group `Account.withdraw`
|
|
12
|
+
* step has run (the post-`Manager.withdraw` scheduled withdrawals are
|
|
13
|
+
* not yet LockedGold pending withdrawals and so are not enumerated).
|
|
14
|
+
*/
|
|
15
|
+
export declare const readerStCelo: LstWithdrawalReader;
|
|
16
|
+
//# sourceMappingURL=stcelo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stcelo.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/stcelo.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,EAAE,mBA6C1B,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* StellaSwap stDOT unbonding reader (Moonbeam 1284).
|
|
4
|
+
*
|
|
5
|
+
* One call: `getUnbonded(user) → (waiting, unbonded)`. The lido-dot-ksm
|
|
6
|
+
* stToken tracks only the per-user **aggregate** in two buckets — no
|
|
7
|
+
* per-request IDs — so this surfaces up to two synthetic requests:
|
|
8
|
+
* - `waiting` > 0 → a `pending` request (still in the ~28-day unbond;
|
|
9
|
+
* the exact ready time is not exposed per-bucket, so `readyAt` is
|
|
10
|
+
* left unset).
|
|
11
|
+
* - `unbonded` > 0 → a `claimable` request (matured, redeemable via
|
|
12
|
+
* `claimUnbonded()`).
|
|
13
|
+
*
|
|
14
|
+
* No enumeration, same single-call shape as the Ethena cooldown reader.
|
|
15
|
+
*/
|
|
16
|
+
export declare const readerStellaUnbond: LstWithdrawalReader;
|
|
17
|
+
//# sourceMappingURL=stella.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stella.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/stella.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAgDhC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Swell rswETH — ERC-721 enumerable rswEXIT NFT. Same enumeration
|
|
4
|
+
* pattern as EtherFi:
|
|
5
|
+
* 1. `balanceOf(user)` → count.
|
|
6
|
+
* 2. `tokenOfOwnerByIndex(user, i)` for i in [0, count) — enumerate
|
|
7
|
+
* token IDs.
|
|
8
|
+
* 3. `getWithdrawalRequest(id)` per id + a single
|
|
9
|
+
* `getLastTokenIdProcessed()` for the finalization frontier.
|
|
10
|
+
*
|
|
11
|
+
* A request is claimable iff `tokenId <= lastTokenIdProcessed`.
|
|
12
|
+
*
|
|
13
|
+
* Log-free per `INDEXING_STRATEGIES.md`: ERC721EnumerableUpgradeable
|
|
14
|
+
* is in rswEXIT's inheritance chain (verified via
|
|
15
|
+
* `supportsInterface(0x780e9d63)`).
|
|
16
|
+
*/
|
|
17
|
+
export declare const readerSwell: LstWithdrawalReader;
|
|
18
|
+
//# sourceMappingURL=swell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swell.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/swell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEvE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,EAAE,mBAmEzB,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* TruFin TruMATIC — log-free via caller-supplied
|
|
4
|
+
* `{ validator, nonce }` pairs.
|
|
5
|
+
*
|
|
6
|
+
* Unlike Mantle/Puffer (single-bigint id), TruFin's natural request
|
|
7
|
+
* unit is `(validator, unbondNonce)` — both arguments to the claim
|
|
8
|
+
* function `withdrawClaim(unbondNonce, validator)`. The reader
|
|
9
|
+
* filters `knownIds` to objects with `validator` + `nonce`.
|
|
10
|
+
*
|
|
11
|
+
* Per pair: multicall `withdrawals(validator, nonce)` +
|
|
12
|
+
* `isClaimable(nonce, validator)`. `withdrawals` also returns the
|
|
13
|
+
* recipient — used as a defensive filter against stale persisted
|
|
14
|
+
* IDs from other accounts.
|
|
15
|
+
*
|
|
16
|
+
* Returns `[]` when no pairs are supplied.
|
|
17
|
+
*/
|
|
18
|
+
export declare const readerTruFin: LstWithdrawalReader;
|
|
19
|
+
//# sourceMappingURL=trufin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trufin.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/trufin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,EAAE,mBA8D1B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Valantis stHYPE / wstHYPE — burn-request enumeration on the Overseer.
|
|
4
|
+
*
|
|
5
|
+
* Single call: `getBurns(user, 0, MAX_BURNS)` returns parallel `(Burn[],
|
|
6
|
+
* ids[], redeemable[])`. `completed` burns have already been redeemed
|
|
7
|
+
* and are skipped. The Overseer exposes no per-burn ready timestamp, so
|
|
8
|
+
* `status` comes from the `redeemable` flag.
|
|
9
|
+
*/
|
|
10
|
+
export declare const readerValantis: LstWithdrawalReader;
|
|
11
|
+
//# sourceMappingURL=valantis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valantis.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/valantis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAM7D;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,mBAkD5B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* YieldNest ynETH — ERC-721 enumerable withdrawal queue with
|
|
4
|
+
* deterministic `secondsToFinalization` (a global value, applied to
|
|
5
|
+
* every request's `creationTimestamp`).
|
|
6
|
+
*
|
|
7
|
+
* Three stages: `balanceOf` → per-index id → per-id detail. Plus a
|
|
8
|
+
* one-time `secondsToFinalization()` for `readyAt` computation.
|
|
9
|
+
*/
|
|
10
|
+
export declare const readerYieldNest: LstWithdrawalReader;
|
|
11
|
+
//# sourceMappingURL=yieldnest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yieldnest.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/yieldnest.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,mBA2E7B,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { LstWithdrawalReaderKind } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Static registry entry for an LST's withdrawal-request enumeration
|
|
4
|
+
* surface.
|
|
5
|
+
*
|
|
6
|
+
* Each entry pins: the LST share-token address, the brand/symbol
|
|
7
|
+
* (for output labelling), the reader kind, and any auxiliary contract
|
|
8
|
+
* addresses the reader needs (the withdrawal-manager NFT/queue
|
|
9
|
+
* contract, Polygon stake manager for MaticX, …).
|
|
10
|
+
*
|
|
11
|
+
* Mirrors [LST_WITHDRAWAL_QUEUES.md](../LST_WITHDRAWAL_QUEUES.md);
|
|
12
|
+
* read that for per-protocol semantics.
|
|
13
|
+
*/
|
|
14
|
+
export interface LstWithdrawalRegistryEntry {
|
|
15
|
+
/** LST share-token address (matches `address` in
|
|
16
|
+
* `../registry.ts → LST_REGISTRY`). Lowercased. */
|
|
17
|
+
lst: string;
|
|
18
|
+
/** Brand label. */
|
|
19
|
+
brand: string;
|
|
20
|
+
/** Symbol — used to label the per-asset request list in UI. */
|
|
21
|
+
symbol: string;
|
|
22
|
+
/** Reader kind. */
|
|
23
|
+
reader: LstWithdrawalReaderKind;
|
|
24
|
+
/** Optional withdrawal contract — separate from the LST share token
|
|
25
|
+
* for most protocols. Lowercased.
|
|
26
|
+
* - Lido: WithdrawalQueueERC721
|
|
27
|
+
* - EtherFi: WithdrawRequestNFT
|
|
28
|
+
* - YieldNest: WithdrawalQueueManager
|
|
29
|
+
* - Stader ETHx: UserWithdrawalManager
|
|
30
|
+
* - Stader MaticX: the home contract itself
|
|
31
|
+
* - Renzo: WithdrawQueue
|
|
32
|
+
* - BENQI sAVAX: the sAVAX contract itself
|
|
33
|
+
* - Beets stS: the SonicStaking proxy itself
|
|
34
|
+
* - Hyperbeat hbHYPE: the share token itself (ERC-7540 surface) */
|
|
35
|
+
withdrawalContract?: string;
|
|
36
|
+
/** Polygon IStakeManager — only for `staderMaticXQueue`. The
|
|
37
|
+
* finalization check requires `epoch()` + `withdrawalDelay()`. */
|
|
38
|
+
polygonStakeManager?: string;
|
|
39
|
+
}
|
|
40
|
+
/** Per-chain LST withdrawal-reader allowlist. */
|
|
41
|
+
export declare const LST_WITHDRAWAL_REGISTRY: {
|
|
42
|
+
[chainId: string]: LstWithdrawalRegistryEntry[];
|
|
43
|
+
};
|
|
44
|
+
/** Returns the withdrawal-registry entries for a chain, or `[]`. */
|
|
45
|
+
export declare const getLstWithdrawalRegistry: (chainId: string, extraEntries?: LstWithdrawalRegistryEntry[]) => LstWithdrawalRegistryEntry[];
|
|
46
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/withdrawals/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,0BAA0B;IACzC;wDACoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB;IACnB,MAAM,EAAE,uBAAuB,CAAA;IAC/B;;;;;;;;;;wEAUoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;uEACmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,iDAAiD;AACjD,eAAO,MAAM,uBAAuB,EAAE;IACpC,CAAC,OAAO,EAAE,MAAM,GAAG,0BAA0B,EAAE,CAAA;CAoYhD,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,eAAe,0BAA0B,EAAE,KAC1C,0BAA0B,EAQ5B,CAAA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalised shape for a single pending withdrawal request, uniform
|
|
3
|
+
* across all LST protocols regardless of underlying mechanism
|
|
4
|
+
* (fixed-cooldown vs queue-finalization vs ERC-7540).
|
|
5
|
+
*
|
|
6
|
+
* Consumers (UI, worker-api) treat the list as a single bucket;
|
|
7
|
+
* protocol-specific fields like `queuePosition` are populated when
|
|
8
|
+
* available and ignored otherwise.
|
|
9
|
+
*
|
|
10
|
+
* See [../LST_WITHDRAWAL_QUEUES.md](../LST_WITHDRAWAL_QUEUES.md) for
|
|
11
|
+
* the per-protocol enumeration ABI and the
|
|
12
|
+
* [GAPS.md](../../GAPS.md) section A for the design intent.
|
|
13
|
+
*/
|
|
14
|
+
export interface LstWithdrawalRequest {
|
|
15
|
+
/** LST share-token address the request was made against. */
|
|
16
|
+
lst: string;
|
|
17
|
+
/** Brand label — `Lido`, `EtherFi`, `Renzo`, … */
|
|
18
|
+
brand: string;
|
|
19
|
+
/** Symbol — `wstETH`, `weETH`, `ezETH`, … */
|
|
20
|
+
symbol: string;
|
|
21
|
+
/** Protocol-native request identifier (NFT tokenId, queue index,
|
|
22
|
+
* ERC-7540 requestId, …). Encoded as a string for cross-protocol
|
|
23
|
+
* uniformity. */
|
|
24
|
+
requestId: string;
|
|
25
|
+
/** Raw underlying amount the request will return on claim. Wei-like
|
|
26
|
+
* integer string. Some protocols only know this at claim time
|
|
27
|
+
* (queue-finalization with floating finalization rate) — those
|
|
28
|
+
* surface the **expected** amount at request time. */
|
|
29
|
+
amountUnderlying: string;
|
|
30
|
+
/** Status discriminator. */
|
|
31
|
+
status: LstWithdrawalStatus;
|
|
32
|
+
/** Unix seconds when the request becomes claimable. Set for
|
|
33
|
+
* fixed-cooldown protocols where the deadline is deterministic.
|
|
34
|
+
* Unset for queue-finalization protocols (use `queuePosition` +
|
|
35
|
+
* `etaSeconds` instead) and ERC-7540 (use `status` directly). */
|
|
36
|
+
readyAt?: number;
|
|
37
|
+
/** Unix seconds when the claim window closes. Currently only used
|
|
38
|
+
* by sAVAX (15-day cooldown + 2-day claim window). After this
|
|
39
|
+
* timestamp the request transitions to `expired` and the unlock
|
|
40
|
+
* is forfeited unless admin recovery is triggered. */
|
|
41
|
+
expiresAt?: number;
|
|
42
|
+
/** Position in the protocol's queue, relative to the finalization
|
|
43
|
+
* frontier. Set for queue-finalization protocols. Positive values
|
|
44
|
+
* mean "still pending"; zero or negative means "finalized". */
|
|
45
|
+
queuePosition?: number;
|
|
46
|
+
/** Off-chain estimate of seconds-to-claim. Only set when the
|
|
47
|
+
* orchestrator received a finalization-rate sample (TODO: not
|
|
48
|
+
* yet wired). Frontier-based protocols can show this when
|
|
49
|
+
* available. */
|
|
50
|
+
etaSeconds?: number;
|
|
51
|
+
}
|
|
52
|
+
/** Status discriminator for a withdrawal request. */
|
|
53
|
+
export type LstWithdrawalStatus =
|
|
54
|
+
/** Submitted; not yet claimable. */
|
|
55
|
+
'pending'
|
|
56
|
+
/** Ready to claim now. */
|
|
57
|
+
| 'claimable'
|
|
58
|
+
/** Already claimed (typically pruned from the list — kept for
|
|
59
|
+
* protocols that surface historical entries via the same getter). */
|
|
60
|
+
| 'claimed'
|
|
61
|
+
/** Window expired without being claimed. Only meaningful for
|
|
62
|
+
* sAVAX-style protocols with a finite claim window. */
|
|
63
|
+
| 'expired';
|
|
64
|
+
/** Withdrawal-reader implementation kind — drives which enumeration
|
|
65
|
+
* function the user is queried against. */
|
|
66
|
+
export type LstWithdrawalReaderKind = 'lidoQueue' | 'etherfiNft' | 'yieldNestNft' | 'staderEthxQueue' | 'staderMaticXQueue' | 'renzoQueue' | 'kelpQueue' | 'benqiSavaxQueue' | 'beetsStSQueue' | 'hyperbeatBeHype7540' | 'erc7540' | 'ethenaCooldown' | 'swellNft' | 'stakeWiseSubgraph' | 'mantleCallerSuppliedIds' | 'pufferCallerSuppliedIds' | 'trufinCallerSuppliedIds' | 'lairCallerSuppliedIds' | 'stceloAccountQueue' | 'kinetiqQueue' | 'beHypeQueue' | 'valantisBurnQueue' | 'listaQueue' | 'iberaQueue' | 'primeStakingQueue' | 'berapawRedeemQueue' | 'stellaUnbondQueue' | 'eventsOnly' | 'noQueue' | 'unverified';
|
|
67
|
+
/** Map keyed by lowercased LST share-token address. The orchestrator
|
|
68
|
+
* fetches all LSTs on a chain in parallel and returns this map
|
|
69
|
+
* (possibly with empty arrays for LSTs the user has no requests
|
|
70
|
+
* against). */
|
|
71
|
+
export type LstWithdrawalRequestsByLst = {
|
|
72
|
+
[lstAddress: string]: LstWithdrawalRequest[];
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/withdrawals/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAA;IACX,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd;;sBAEkB;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB;;;2DAGuD;IACvD,gBAAgB,EAAE,MAAM,CAAA;IACxB,4BAA4B;IAC5B,MAAM,EAAE,mBAAmB,CAAA;IAC3B;;;sEAGkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;2DAGuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;oEAEgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;qBAGiB;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qDAAqD;AACrD,MAAM,MAAM,mBAAmB;AAC7B,oCAAoC;AAClC,SAAS;AACX,0BAA0B;GACxB,WAAW;AACb;sEACsE;GACpE,SAAS;AACX;wDACwD;GACtD,SAAS,CAAA;AAEb;4CAC4C;AAC5C,MAAM,MAAM,uBAAuB,GAC/B,WAAW,GACX,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,eAAe,GACf,qBAAqB,GACrB,SAAS,GACT,gBAAgB,GAChB,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,yBAAyB,GACzB,yBAAyB,GACzB,uBAAuB,GACvB,oBAAoB,GACpB,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,YAAY,GACZ,YAAY,GACZ,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,YAAY,GACZ,SAAS,GACT,YAAY,CAAA;AAEhB;;;gBAGgB;AAChB,MAAM,MAAM,0BAA0B,GAAG;IACvC,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAA;CAC7C,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { LstRegistryEntry } from './registry';
|
|
2
|
+
/**
|
|
3
|
+
* Runs every yield source referenced by an LST registry slice and
|
|
4
|
+
* returns a flat `address → apr%` map.
|
|
5
|
+
*
|
|
6
|
+
* Two pieces of complexity wrapped here:
|
|
7
|
+
*
|
|
8
|
+
* 1. **Dedup** — many registry entries can point at the same
|
|
9
|
+
* `YieldFetcher` instance (today only one does, but the wstETH /
|
|
10
|
+
* weETH composition pattern lights this up). We collect unique
|
|
11
|
+
* fetcher refs, run each `safeFetch` once, and reuse the result
|
|
12
|
+
* when reading per-entry keys.
|
|
13
|
+
*
|
|
14
|
+
* 2. **weETH special case** — `createWeethFetcher` needs a wstETH
|
|
15
|
+
* promise as input because EtherFi's APR is `wstETH APR + LRT2
|
|
16
|
+
* bonus`. We compute it here using the same wstETH result we
|
|
17
|
+
* already fetched (or a fresh one) — the registry can't pre-bind
|
|
18
|
+
* it cleanly because `wstethFetcher` is a `YieldFetcher` not a
|
|
19
|
+
* `Promise`.
|
|
20
|
+
*
|
|
21
|
+
* Returns `{ [shareAddressLowercase]: aprPercent }`. Missing keys
|
|
22
|
+
* become `0` downstream — never `undefined` — so the parser doesn't
|
|
23
|
+
* have to branch.
|
|
24
|
+
*/
|
|
25
|
+
export declare const resolveYieldApr: (entries: LstRegistryEntry[]) => Promise<Record<string, number>>;
|
|
26
|
+
//# sourceMappingURL=yieldBinding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yieldBinding.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/yieldBinding.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,gBAAgB,EAAE,KAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoDhC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { GenericCurrency } from '../../types/general';
|
|
2
|
+
import type { VaultClassificationFields } from '../classification';
|
|
2
3
|
/** Curator metadata as surfaced by the Morpho API. */
|
|
3
4
|
export interface VaultCuratorMeta {
|
|
4
5
|
/** Curator slug, e.g. `gauntlet`, `kpk`, `steakhouse`. */
|
|
@@ -25,7 +26,7 @@ export interface VaultCuratorMeta {
|
|
|
25
26
|
* than underlying — differs from Fluid/Gearbox where one vault per
|
|
26
27
|
* underlying is the norm.
|
|
27
28
|
*/
|
|
28
|
-
export interface MorphoVault {
|
|
29
|
+
export interface MorphoVault extends VaultClassificationFields {
|
|
29
30
|
/** MetaMorpho vault (share token) contract address, lowercased. */
|
|
30
31
|
address: string;
|
|
31
32
|
/** Lowercased underlying ERC20 address. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAA;IACV,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAY,SAAQ,yBAAyB;IAC5D,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd;;mDAE+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ;uEACmE;IACnE,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAEhB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IAEnB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB;iEAC6D;IAC7D,WAAW,EAAE,OAAO,CAAA;IAEpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;8EAE0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;kCAC8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;kBAEc;IACd,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAE7B,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;;4EAKwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAA;CACpC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal ABI fragments for ERC-4626 savings vaults. Only the read
|
|
3
|
+
* surface we actually call is included.
|
|
4
|
+
*
|
|
5
|
+
* Every savings entry today uses the same generic ERC-4626 reader so
|
|
6
|
+
* a single `shared.ts` is sufficient. When a future entry needs a
|
|
7
|
+
* custom getter (e.g. a `floorPrice()` for a bond-shaped vault),
|
|
8
|
+
* add a per-protocol file (`abis/<protocol>.ts`) following the LST
|
|
9
|
+
* provider's pattern in [../../lst/abis/](../../lst/abis/).
|
|
10
|
+
*/
|
|
11
|
+
export * from './shared';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vaults/savings/abis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Standard ERC-20 `totalSupply()`. */
|
|
2
|
+
export declare const TotalSupplyAbi: readonly [{
|
|
3
|
+
readonly name: "totalSupply";
|
|
4
|
+
readonly type: "function";
|
|
5
|
+
readonly stateMutability: "view";
|
|
6
|
+
readonly inputs: readonly [];
|
|
7
|
+
readonly outputs: readonly [{
|
|
8
|
+
readonly type: "uint256";
|
|
9
|
+
}];
|
|
10
|
+
}];
|
|
11
|
+
/** ERC-4626 read surface — `totalAssets()` + `convertToAssets(uint256)`. */
|
|
12
|
+
export declare const Erc4626ReadAbi: readonly [{
|
|
13
|
+
readonly name: "totalAssets";
|
|
14
|
+
readonly type: "function";
|
|
15
|
+
readonly stateMutability: "view";
|
|
16
|
+
readonly inputs: readonly [];
|
|
17
|
+
readonly outputs: readonly [{
|
|
18
|
+
readonly type: "uint256";
|
|
19
|
+
}];
|
|
20
|
+
}, {
|
|
21
|
+
readonly name: "convertToAssets";
|
|
22
|
+
readonly type: "function";
|
|
23
|
+
readonly stateMutability: "view";
|
|
24
|
+
readonly inputs: readonly [{
|
|
25
|
+
readonly type: "uint256";
|
|
26
|
+
readonly name: "shares";
|
|
27
|
+
}];
|
|
28
|
+
readonly outputs: readonly [{
|
|
29
|
+
readonly type: "uint256";
|
|
30
|
+
readonly name: "assets";
|
|
31
|
+
}];
|
|
32
|
+
}];
|
|
33
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/vaults/savings/abis/shared.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,eAAO,MAAM,cAAc;;;;;;;;EAQjB,CAAA;AAEV,4EAA4E;AAC5E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;EAejB,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MulticallRetryFunction, GenericTokenList } from '../../types';
|
|
2
|
+
import type { SavingsVaults } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* One-shot fetcher for all savings vaults on a chain.
|
|
5
|
+
*
|
|
6
|
+
* Two parallel I/O legs that both feed the same output map:
|
|
7
|
+
*
|
|
8
|
+
* 1. **On-chain leg** — every reader's calls (3 per entry:
|
|
9
|
+
* `totalAssets`, `totalSupply`, `convertToAssets(10**decimals)`)
|
|
10
|
+
* are concatenated into a single `multicallRetry` payload. The
|
|
11
|
+
* response is sliced back into per-entry chunks and parsed;
|
|
12
|
+
* per-entry failures are silently dropped.
|
|
13
|
+
*
|
|
14
|
+
* 2. **APR leg** — `resolveYieldApr` dedups the registry's
|
|
15
|
+
* `YieldFetcher` refs and runs each once.
|
|
16
|
+
*
|
|
17
|
+
* Returns `{}` when the chain has no registry entries.
|
|
18
|
+
*/
|
|
19
|
+
export declare const fetchSavingsVaults: (chainId: string, multicallRetry: MulticallRetryFunction, prices?: {
|
|
20
|
+
[asset: string]: number;
|
|
21
|
+
}, tokenList?: GenericTokenList) => Promise<SavingsVaults>;
|
|
22
|
+
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/fetchPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKtE,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAI1D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,aAAa,CAyGvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SavingsRegistryEntry } from '../registry';
|
|
2
|
+
import { type SavingsReader } from './shared';
|
|
3
|
+
/**
|
|
4
|
+
* Generic ERC-4626 reader — three calls per entry:
|
|
5
|
+
* 1. `totalAssets()`
|
|
6
|
+
* 2. `totalSupply()`
|
|
7
|
+
* 3. `convertToAssets(10**shareDecimals)`
|
|
8
|
+
*
|
|
9
|
+
* The third gives `assets per 1 share` in **raw underlying units**.
|
|
10
|
+
* To normalise to a 1e18-scaled "underlying per share" rate, we
|
|
11
|
+
* divide by `10**underlyingDecimals`.
|
|
12
|
+
*
|
|
13
|
+
* For vaults where share and underlying decimals match (the
|
|
14
|
+
* ERC-4626 convention) this collapses to `convertToAssets(1e18) *
|
|
15
|
+
* 1e18 / 1e18`. For yUSD (18-d shares over 6-d USDC) it correctly
|
|
16
|
+
* scales 1e6 → 1e18.
|
|
17
|
+
*
|
|
18
|
+
* Every savings entry today uses this reader. When a future entry
|
|
19
|
+
* diverges (rebasing-via-wrapper for srUSD, bond floor for USD0++,
|
|
20
|
+
* oracle-priced for RWA), add a sibling reader file under `readers/`
|
|
21
|
+
* mirroring [../../lst/readers/](../../lst/readers/) and extend the
|
|
22
|
+
* dispatch in [./index.ts](./index.ts).
|
|
23
|
+
*/
|
|
24
|
+
export declare const readerErc4626: (entry: SavingsRegistryEntry) => SavingsReader;
|
|
25
|
+
//# sourceMappingURL=erc4626.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc4626.d.ts","sourceRoot":"","sources":["../../../../src/vaults/savings/readers/erc4626.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAEhE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,oBAAoB,KAAG,aAiC3D,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SavingsRegistryEntry } from '../registry';
|
|
2
|
+
import type { SavingsReader } from './shared';
|
|
3
|
+
export type { SavingsCall, SavingsOnChainState, SavingsReader } from './shared';
|
|
4
|
+
export { ONE_E18, toBigInt } from './shared';
|
|
5
|
+
/**
|
|
6
|
+
* Dispatch a registry entry to its reader.
|
|
7
|
+
*
|
|
8
|
+
* Today every savings entry uses the generic ERC-4626 reader. When a
|
|
9
|
+
* future entry needs a custom shape (e.g. wrapped-rebasing for srUSD,
|
|
10
|
+
* `floorPrice()` for USD0++, oracle-priced for RWA), add a
|
|
11
|
+
* `reader` discriminant to {@link SavingsRegistryEntry} and a case
|
|
12
|
+
* here — same pattern as
|
|
13
|
+
* [../../lst/readers/index.ts](../../lst/readers/index.ts).
|
|
14
|
+
*/
|
|
15
|
+
export declare const buildReader: (entry: SavingsRegistryEntry) => SavingsReader;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vaults/savings/readers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,oBAAoB,KAAG,aACpC,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types and helpers for savings-vault readers.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors [../../lst/readers/shared.ts](../../lst/readers/shared.ts)
|
|
5
|
+
* so cross-provider tooling (orchestrator slicing, parser shape) stays
|
|
6
|
+
* uniform.
|
|
7
|
+
*/
|
|
8
|
+
/** 10**18 — scaling factor for normalised exchange rates. */
|
|
9
|
+
export declare const ONE_E18: bigint;
|
|
10
|
+
/** One multicall item — `{ address, name, params }` matched against
|
|
11
|
+
* a parallel ABI array, identical to every other vault provider. */
|
|
12
|
+
export interface SavingsCall {
|
|
13
|
+
address: string;
|
|
14
|
+
name: string;
|
|
15
|
+
params: readonly unknown[];
|
|
16
|
+
}
|
|
17
|
+
/** What a reader produces after consuming its multicall slice. */
|
|
18
|
+
export interface SavingsOnChainState {
|
|
19
|
+
/** Total underlying held, raw. */
|
|
20
|
+
totalAssets: bigint;
|
|
21
|
+
/** Total shares minted, raw. */
|
|
22
|
+
totalSupply: bigint;
|
|
23
|
+
/** 1e18-scaled exchange rate: 1 share → X underlying.
|
|
24
|
+
* Normalised regardless of share decimals. */
|
|
25
|
+
exchangeRate: bigint;
|
|
26
|
+
}
|
|
27
|
+
/** A self-contained slice of the multicall payload plus a parser
|
|
28
|
+
* that consumes exactly `calls.length` results. */
|
|
29
|
+
export interface SavingsReader {
|
|
30
|
+
calls: SavingsCall[];
|
|
31
|
+
/** ABI per call slot. `any[]` to accept `as const` fragments without
|
|
32
|
+
* per-call casting — the downstream multicall API is `any`-typed. */
|
|
33
|
+
abis: any[];
|
|
34
|
+
/** Returns `undefined` on parse failure so the orchestrator can
|
|
35
|
+
* skip the entry without poisoning the batch. */
|
|
36
|
+
parse: (slice: unknown[]) => SavingsOnChainState | undefined;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Safely coerce a multicall return cell to `bigint`. Failures surface
|
|
40
|
+
* as `undefined` so the parser can bail on the whole entry without
|
|
41
|
+
* poisoning the batch.
|
|
42
|
+
*/
|
|
43
|
+
export declare const toBigInt: (v: unknown) => bigint | undefined;
|
|
44
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/vaults/savings/readers/shared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,OAAO,QAAa,CAAA;AAEjC;qEACqE;AACrE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;CAC3B;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB;mDAC+C;IAC/C,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;oDACoD;AACpD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB;0EACsE;IAEtE,IAAI,EAAE,GAAG,EAAE,CAAA;IACX;sDACkD;IAClD,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,mBAAmB,GAAG,SAAS,CAAA;CAC7D;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,MAAM,GAAG,SAgB9C,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { YieldFetcher } from '../../yields/types';
|
|
2
|
+
import type { SavingsWithdrawalMode } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Static registry entry for a savings vault.
|
|
5
|
+
*
|
|
6
|
+
* Per-chain entries live in {@link SAVINGS_REGISTRY}. Each pins the
|
|
7
|
+
* on-chain identity (address, decimals), brand metadata, the
|
|
8
|
+
* withdrawal mechanism (drives UX), and a pointer to the existing
|
|
9
|
+
* intrinsic-yield fetcher whose APR is surfaced as `supplyRate`.
|
|
10
|
+
*
|
|
11
|
+
* No `reader` discriminant — every savings entry uses the same
|
|
12
|
+
* generic ERC-4626 reader. If a future entry diverges (e.g.
|
|
13
|
+
* rebasing-via-wrapper for srUSD), add a kind here and extend
|
|
14
|
+
* [`readers/`](./readers/).
|
|
15
|
+
*/
|
|
16
|
+
export interface SavingsRegistryEntry {
|
|
17
|
+
/** Share-token contract address, lowercased. */
|
|
18
|
+
address: string;
|
|
19
|
+
/** Underlying ERC-20 address, lowercased. */
|
|
20
|
+
underlying: string;
|
|
21
|
+
/** Share-token symbol — usually the on-chain `symbol()`. */
|
|
22
|
+
symbol: string;
|
|
23
|
+
/** Brand label (`Ethena`, `Sky`, `Maker`, …). */
|
|
24
|
+
brand: string;
|
|
25
|
+
/** Share decimals. Most are 18; Maple syrup* are 6. */
|
|
26
|
+
decimals: number;
|
|
27
|
+
/** Underlying ERC-20 decimals. Defaults to `decimals` when absent
|
|
28
|
+
* — every ERC-4626 vault except a handful keep share/underlying
|
|
29
|
+
* decimals aligned. yUSD breaks this (18-decimal shares over
|
|
30
|
+
* 6-decimal USDC) so it must set this explicitly. */
|
|
31
|
+
underlyingDecimals?: number;
|
|
32
|
+
/** True if the share token rebases. False for nearly every
|
|
33
|
+
* savings vault — the rebase lives on the underlying. */
|
|
34
|
+
isRebasing: boolean;
|
|
35
|
+
/** Whether deposits are permissionless. */
|
|
36
|
+
isMintable: boolean;
|
|
37
|
+
/** Mint entry — undefined ⇒ share token itself (ERC-4626
|
|
38
|
+
* `deposit/mint`). */
|
|
39
|
+
mintContract?: string;
|
|
40
|
+
/** Withdrawal mechanism. */
|
|
41
|
+
withdrawalMode: SavingsWithdrawalMode;
|
|
42
|
+
/** Fixed cooldown in seconds for `fixed-cooldown` mode. Pinned
|
|
43
|
+
* here; read on-chain if the precise governance-current value is
|
|
44
|
+
* needed. */
|
|
45
|
+
withdrawalCooldownSeconds?: number;
|
|
46
|
+
/** Existing intrinsic-yield fetcher whose APR is surfaced as
|
|
47
|
+
* `supplyRate`. Optional — `sDAI` for example has no dedicated
|
|
48
|
+
* fetcher today; entry still works, `supplyRate` defaults to 0. */
|
|
49
|
+
yieldFetcher?: YieldFetcher;
|
|
50
|
+
/** Key inside the yield fetcher's `YieldResult` to read. Yield
|
|
51
|
+
* fetchers return maps keyed by symbol or by a free-text label;
|
|
52
|
+
* this is the exact key. */
|
|
53
|
+
yieldKey?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Per-chain savings-vault allowlist. Assembled at module load from
|
|
57
|
+
* single-chain entries plus the expanded `MULTI_CHAIN_GROUPS`.
|
|
58
|
+
*
|
|
59
|
+
* See [TIMELOCKS_AND_CHAINS.md](./TIMELOCKS_AND_CHAINS.md) for the
|
|
60
|
+
* verification notes and
|
|
61
|
+
* [../lst/EXPANSION_PLAN.md](../lst/EXPANSION_PLAN.md) for the
|
|
62
|
+
* rollout order.
|
|
63
|
+
*/
|
|
64
|
+
export declare const SAVINGS_REGISTRY: {
|
|
65
|
+
[chainId: string]: SavingsRegistryEntry[];
|
|
66
|
+
};
|
|
67
|
+
/** Returns the registry entries for a chain, or `[]` when unsupported. */
|
|
68
|
+
export declare const getSavingsRegistry: (chainId: string) => SavingsRegistryEntry[];
|
|
69
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAgBtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAA;IAChB;;;0DAGsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;8DAC0D;IAC1D,UAAU,EAAE,OAAO,CAAA;IACnB,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAA;IACnB;2BACuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4BAA4B;IAC5B,cAAc,EAAE,qBAAqB,CAAA;IACrC;;kBAEc;IACd,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC;;wEAEoE;IACpE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;iCAE6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AA2UD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAA;CAapE,CAAA;AAEN,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,oBAAoB,EACxC,CAAA"}
|