@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,65 @@
|
|
|
1
|
+
/** YieldNest WithdrawalQueueManager — ERC-721 enumerable + per-id
|
|
2
|
+
* getter. Address on chain 1:
|
|
3
|
+
* `0x0bc9bc81ad379810b36ad5cc95387112990aa67b`. */
|
|
4
|
+
export declare const YieldNestWithdrawalQueueAbi: readonly [{
|
|
5
|
+
readonly name: "balanceOf";
|
|
6
|
+
readonly type: "function";
|
|
7
|
+
readonly stateMutability: "view";
|
|
8
|
+
readonly inputs: readonly [{
|
|
9
|
+
readonly type: "address";
|
|
10
|
+
}];
|
|
11
|
+
readonly outputs: readonly [{
|
|
12
|
+
readonly type: "uint256";
|
|
13
|
+
}];
|
|
14
|
+
}, {
|
|
15
|
+
readonly name: "tokenOfOwnerByIndex";
|
|
16
|
+
readonly type: "function";
|
|
17
|
+
readonly stateMutability: "view";
|
|
18
|
+
readonly inputs: readonly [{
|
|
19
|
+
readonly type: "address";
|
|
20
|
+
}, {
|
|
21
|
+
readonly type: "uint256";
|
|
22
|
+
}];
|
|
23
|
+
readonly outputs: readonly [{
|
|
24
|
+
readonly type: "uint256";
|
|
25
|
+
}];
|
|
26
|
+
}, {
|
|
27
|
+
readonly name: "withdrawalRequest";
|
|
28
|
+
readonly type: "function";
|
|
29
|
+
readonly stateMutability: "view";
|
|
30
|
+
readonly inputs: readonly [{
|
|
31
|
+
readonly type: "uint256";
|
|
32
|
+
readonly name: "tokenId";
|
|
33
|
+
}];
|
|
34
|
+
readonly outputs: readonly [{
|
|
35
|
+
readonly type: "tuple";
|
|
36
|
+
readonly components: readonly [{
|
|
37
|
+
readonly type: "uint256";
|
|
38
|
+
readonly name: "amount";
|
|
39
|
+
}, {
|
|
40
|
+
readonly type: "uint256";
|
|
41
|
+
readonly name: "feeAtRequestTime";
|
|
42
|
+
}, {
|
|
43
|
+
readonly type: "uint256";
|
|
44
|
+
readonly name: "redemptionRateAtRequestTime";
|
|
45
|
+
}, {
|
|
46
|
+
readonly type: "uint256";
|
|
47
|
+
readonly name: "creationTimestamp";
|
|
48
|
+
}, {
|
|
49
|
+
readonly type: "bool";
|
|
50
|
+
readonly name: "processed";
|
|
51
|
+
}, {
|
|
52
|
+
readonly type: "bytes";
|
|
53
|
+
readonly name: "data";
|
|
54
|
+
}];
|
|
55
|
+
}];
|
|
56
|
+
}, {
|
|
57
|
+
readonly name: "secondsToFinalization";
|
|
58
|
+
readonly type: "function";
|
|
59
|
+
readonly stateMutability: "view";
|
|
60
|
+
readonly inputs: readonly [];
|
|
61
|
+
readonly outputs: readonly [{
|
|
62
|
+
readonly type: "uint256";
|
|
63
|
+
}];
|
|
64
|
+
}];
|
|
65
|
+
//# sourceMappingURL=yieldnest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yieldnest.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/abis/yieldnest.ts"],"names":[],"mappings":"AAAA;;oDAEoD;AACpD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC9B,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { MulticallRetryFunction } from '../../../types';
|
|
2
|
+
import type { LstWithdrawalKnownIds } from './readers';
|
|
3
|
+
import type { LstWithdrawalRegistryEntry } from './registry';
|
|
4
|
+
import type { LstWithdrawalRequestsByLst } from './types';
|
|
5
|
+
/** Optional knobs for the orchestrator. */
|
|
6
|
+
export interface LstWithdrawalFetchOptions {
|
|
7
|
+
/** Per-LST caller-supplied IDs. Required for protocols whose
|
|
8
|
+
* readers are `callerSupplied`-shaped (Mantle, Puffer, TruFin) —
|
|
9
|
+
* those readers return `[]` when no IDs are supplied. Ignored by
|
|
10
|
+
* protocols with on-chain enumeration. Keyed by lowercased LST
|
|
11
|
+
* share-token address. */
|
|
12
|
+
knownIds?: LstWithdrawalKnownIds;
|
|
13
|
+
/** Caller-supplied registry entries appended to the static registry.
|
|
14
|
+
* Lets the orchestrator read withdrawal requests for vaults not in
|
|
15
|
+
* the hardcoded LST allowlist — e.g. an arbitrary ERC-7540 vault
|
|
16
|
+
* surfaced by the public-data lookup. Each entry needs at least
|
|
17
|
+
* `{ lst, brand, symbol, reader }`; the `erc7540` reader needs only
|
|
18
|
+
* the address. De-duped against the static registry (static wins). */
|
|
19
|
+
extraEntries?: LstWithdrawalRegistryEntry[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Fetch a user's pending LST withdrawal requests across all LSTs on
|
|
23
|
+
* a chain.
|
|
24
|
+
*
|
|
25
|
+
* One reader-`fetch` invocation per registered LST, all running in
|
|
26
|
+
* parallel via `Promise.all`. Per-reader failures (RPC error,
|
|
27
|
+
* malformed response, unsupported protocol) are logged and produce
|
|
28
|
+
* an empty array — they don't sink the whole call.
|
|
29
|
+
*
|
|
30
|
+
* Returns a map keyed by lowercased LST share-token address.
|
|
31
|
+
* Empty-array entries are kept so callers can render "no pending
|
|
32
|
+
* requests" UX uniformly.
|
|
33
|
+
*
|
|
34
|
+
* For protocols with no user-keyed on-chain storage and no public
|
|
35
|
+
* subgraph (Mantle mETH, Puffer pufETH, TruFin TruMATIC), pass
|
|
36
|
+
* `options.knownIds[lstAddress]` — the list of withdrawal IDs the
|
|
37
|
+
* caller captured at request time. See `INDEXING_STRATEGIES.md`
|
|
38
|
+
* "Caller-supplied IDs" section.
|
|
39
|
+
*
|
|
40
|
+
* Note: the orchestrator runs N parallel multicalls (one per LST,
|
|
41
|
+
* possibly with internal sub-stages). Per-chain consolidation is not
|
|
42
|
+
* yet implemented — see GAPS.md section F for the optimization
|
|
43
|
+
* trade-off.
|
|
44
|
+
*/
|
|
45
|
+
export declare const getLstWithdrawalRequests: (user: string, chainId: string, multicallRetry: MulticallRetryFunction, options?: LstWithdrawalFetchOptions) => Promise<LstWithdrawalRequestsByLst>;
|
|
46
|
+
/**
|
|
47
|
+
* Alias for {@link getLstWithdrawalRequests}. The orchestrator is no
|
|
48
|
+
* longer LST-specific — with `options.extraEntries` it reads withdrawal
|
|
49
|
+
* requests for any vault (e.g. arbitrary ERC-7540) — so this name reads
|
|
50
|
+
* better at non-LST call sites. Same signature, same behaviour.
|
|
51
|
+
*/
|
|
52
|
+
export declare const getVaultWithdrawalRequests: (user: string, chainId: string, multicallRetry: MulticallRetryFunction, options?: LstWithdrawalFetchOptions) => Promise<LstWithdrawalRequestsByLst>;
|
|
53
|
+
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/withdrawals/fetchPublic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEtD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAQzD,2CAA2C;AAC3C,MAAM,WAAW,yBAAyB;IACxC;;;;+BAI2B;IAC3B,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC;;;;;2EAKuE;IACvE,YAAY,CAAC,EAAE,0BAA0B,EAAE,CAAA;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,UAAU,yBAAyB,KAClC,OAAO,CAAC,0BAA0B,CA4BpC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,SAxC/B,MAAM,WACH,MAAM,kBACC,sBAAsB,YAC5B,yBAAyB,KAClC,OAAO,CAAC,0BAA0B,CAoC6B,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { getLstWithdrawalRequests, getVaultWithdrawalRequests, type LstWithdrawalFetchOptions, } from './fetchPublic';
|
|
2
|
+
export { LST_WITHDRAWAL_REGISTRY, getLstWithdrawalRegistry, type LstWithdrawalRegistryEntry, } from './registry';
|
|
3
|
+
export type { LstWithdrawalRequest, LstWithdrawalRequestsByLst, LstWithdrawalStatus, LstWithdrawalReaderKind, } from './types';
|
|
4
|
+
export type { LstWithdrawalKnownId, LstWithdrawalKnownIds } from './readers';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/withdrawals/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,0BAA0B,GAChC,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Beets stS — paginated user-withdraw enumeration on the SonicStaking
|
|
4
|
+
* proxy. 14-day Sonic validator unbond is the cooldown.
|
|
5
|
+
*
|
|
6
|
+
* Single stage: fetch up to N requests + `withdrawDelay()` constant
|
|
7
|
+
* in one multicall. `WithdrawRequest.isWithdrawn` flips to true on
|
|
8
|
+
* claim.
|
|
9
|
+
*
|
|
10
|
+
* Hardcoded page size of 200 — should cover any realistic user.
|
|
11
|
+
*/
|
|
12
|
+
export declare const readerBeets: LstWithdrawalReader;
|
|
13
|
+
//# sourceMappingURL=beets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beets.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/beets.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAE,mBA2CzB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Hyperbeat beHYPE — per-user withdrawal-request enumeration on the
|
|
4
|
+
* WithdrawManager.
|
|
5
|
+
*
|
|
6
|
+
* Stage 1: `getUserUnclaimedWithdrawals(user)` → open request ids.
|
|
7
|
+
* Stage 2: per id, `withdrawalQueue(id)` (amounts) +
|
|
8
|
+
* `canClaimWithdrawal(id)` (finalization flag).
|
|
9
|
+
*
|
|
10
|
+
* The WithdrawManager exposes no per-request ready timestamp, so
|
|
11
|
+
* `status` is derived from `canClaimWithdrawal` and `readyAt` is left
|
|
12
|
+
* unset (mirrors the Kelp reader).
|
|
13
|
+
*/
|
|
14
|
+
export declare const readerBeHype: LstWithdrawalReader;
|
|
15
|
+
//# sourceMappingURL=behype.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"behype.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/behype.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,mBAgE1B,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* BENQI sAVAX — paginated unlock-requests. 15-day cooldown + 2-day
|
|
4
|
+
* claim window.
|
|
5
|
+
*
|
|
6
|
+
* Two stages:
|
|
7
|
+
* 1. `getUnlockRequestCount(user) + cooldownPeriod() + redeemPeriod()`
|
|
8
|
+
* 2. `getPaginatedUnlockRequests(user, 0, count)`
|
|
9
|
+
*
|
|
10
|
+
* Surfaces both `readyAt` (cooldown end) and `expiresAt` (claim
|
|
11
|
+
* window close). After `expiresAt` the request becomes `expired` and
|
|
12
|
+
* the unlock is forfeited.
|
|
13
|
+
*/
|
|
14
|
+
export declare const readerBenqi: LstWithdrawalReader;
|
|
15
|
+
//# sourceMappingURL=benqi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benqi.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/benqi.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,EAAE,mBAyEzB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* BeraPaw LBGT — redemption position on the BeraPawForge.
|
|
4
|
+
*
|
|
5
|
+
* LBGT → BERA exits are tracked per-user by `redeemPosition(account)`
|
|
6
|
+
* returning `(queued, available)` LBGT amounts (1:1 with BERA). There is
|
|
7
|
+
* no per-request id, so this emits at most two normalised entries: the
|
|
8
|
+
* `available` portion as `claimable` and the `queued` portion as
|
|
9
|
+
* `pending`. No deterministic `readyAt` (depends on `queueDelay()` from
|
|
10
|
+
* the request block), so it's left unset.
|
|
11
|
+
*/
|
|
12
|
+
export declare const readerBeraPaw: LstWithdrawalReader;
|
|
13
|
+
//# sourceMappingURL=berapaw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"berapaw.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/berapaw.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,mBAmD3B,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Placeholder reader for protocols that can't be enumerated
|
|
4
|
+
* on-chain. Used for:
|
|
5
|
+
* - **eventsOnly** — mETH, pufETH, osETH require off-chain event
|
|
6
|
+
* indexing to discover request IDs. The orchestrator could be
|
|
7
|
+
* extended to accept an event-derived list of (user, requestId)
|
|
8
|
+
* pairs as input; until then these return [].
|
|
9
|
+
* - **noQueue** — rETH (instant burn against deposit-pool buffer)
|
|
10
|
+
* and cbETH (off-chain Coinbase redemption). No queue to
|
|
11
|
+
* enumerate.
|
|
12
|
+
* - **unverified** — kHYPE, beHYPE, wstHYPE, swETH. Function
|
|
13
|
+
* selectors not yet pinned against the deployed contracts.
|
|
14
|
+
*
|
|
15
|
+
* Returning [] is correct behavior: the user simply has no
|
|
16
|
+
* fetched-via-this-API pending withdrawals for this LST, even if
|
|
17
|
+
* they have one in reality. UI should surface the limitation
|
|
18
|
+
* separately (e.g. link to the protocol's official UI).
|
|
19
|
+
*/
|
|
20
|
+
export declare const readerEmpty: LstWithdrawalReader;
|
|
21
|
+
//# sourceMappingURL=empty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/empty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,EAAE,mBAEzB,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Generic ERC-7540 async-redeem reader.
|
|
4
|
+
*
|
|
5
|
+
* Uses the single-pending-request shortcut (`requestId = 0`) common
|
|
6
|
+
* to most 7540 vaults. For vaults that emit distinct requestIds per
|
|
7
|
+
* call, this misses requests beyond the first — caller would need
|
|
8
|
+
* event indexing to enumerate all IDs.
|
|
9
|
+
*
|
|
10
|
+
* Two calls in one multicall:
|
|
11
|
+
* - `pendingRedeemRequest(0, user)` → shares still pending
|
|
12
|
+
* - `claimableRedeemRequest(0, user)` → shares ready to claim
|
|
13
|
+
*
|
|
14
|
+
* If both are zero, no pending request; we return [].
|
|
15
|
+
*
|
|
16
|
+
* `amountUnderlying` is approximated by `convertToAssets(shares)` —
|
|
17
|
+
* the orchestrator could enrich with the vault's live exchange rate
|
|
18
|
+
* but for now we surface raw shares with a `symbol` of the share
|
|
19
|
+
* token.
|
|
20
|
+
*/
|
|
21
|
+
export declare const readerErc7540: LstWithdrawalReader;
|
|
22
|
+
//# sourceMappingURL=erc7540.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc7540.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/erc7540.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,EAAE,mBA4D3B,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Ethena-style cooldown reader (sUSDe, and any savings vault exposing
|
|
4
|
+
* the same `cooldowns(address)` getter).
|
|
5
|
+
*
|
|
6
|
+
* One call: `cooldowns(user) → (cooldownEnd, underlyingAmount)`. A
|
|
7
|
+
* non-zero `underlyingAmount` means the user has assets escrowed in the
|
|
8
|
+
* cooldown; `cooldownEnd` is the unlock time. `status` is derived from
|
|
9
|
+
* `cooldownEnd` vs now (`pending` before, `claimable` after). No
|
|
10
|
+
* enumeration — Ethena keeps a single cooldown slot per user.
|
|
11
|
+
*/
|
|
12
|
+
export declare const readerEthenaCooldown: LstWithdrawalReader;
|
|
13
|
+
//# sourceMappingURL=ethenaCooldown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ethenaCooldown.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/ethenaCooldown.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE5E;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,mBAyClC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* EtherFi WithdrawRequestNFT — ERC-721 enumerable.
|
|
4
|
+
*
|
|
5
|
+
* Three stages:
|
|
6
|
+
* 1. `balanceOf(user)` → count.
|
|
7
|
+
* 2. `tokenOfOwnerByIndex(user, i)` for i in [0, count) — enumerate
|
|
8
|
+
* token IDs.
|
|
9
|
+
* 3. `getRequest(id) + isFinalized(id) + isValid(id)` per id — get
|
|
10
|
+
* per-request status.
|
|
11
|
+
*/
|
|
12
|
+
export declare const readerEtherFi: LstWithdrawalReader;
|
|
13
|
+
//# sourceMappingURL=etherfi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"etherfi.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/etherfi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEvE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,mBAmE3B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ibera.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/ibera.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAyBvE,eAAO,MAAM,WAAW,EAAE,mBAsEzB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LstWithdrawalRegistryEntry } from '../registry';
|
|
2
|
+
import type { LstWithdrawalReader } from './shared';
|
|
3
|
+
export type { LstWithdrawalReader, LstWithdrawalKnownId, LstWithdrawalKnownIds, } from './shared';
|
|
4
|
+
export { computeStatus, toBigInt, toNumber } from './shared';
|
|
5
|
+
/** Dispatch a registry entry to its withdrawal reader. */
|
|
6
|
+
export declare const buildWithdrawalReader: (entry: LstWithdrawalRegistryEntry) => LstWithdrawalReader;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AA4B7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAE5D,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,GAChC,OAAO,0BAA0B,KAChC,mBA4DF,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Kelp rsETH — per-asset FIFO deque keyed by `(asset, user)`.
|
|
4
|
+
*
|
|
5
|
+
* Log-free enumeration sequence:
|
|
6
|
+
* 1. For each whitelisted asset, derive the deque value slot via
|
|
7
|
+
* `keccak256` and read it with `eth_getStorageAt`. The 32-byte
|
|
8
|
+
* word holds `_begin` (low 128 bits) and `_end` (high 128 bits);
|
|
9
|
+
* `length = _end - _begin`.
|
|
10
|
+
* 2. Multicall `getUserWithdrawalRequest(asset, user, i)` for
|
|
11
|
+
* `i in [0, length)`. The contract handles the `_begin` offset
|
|
12
|
+
* internally — pass plain index, not `i + _begin`.
|
|
13
|
+
* 3. Pull `withdrawalDelayBlocks()` once for the per-request
|
|
14
|
+
* finalization check (`currentBlock >= withdrawalStartBlock + delay`).
|
|
15
|
+
*
|
|
16
|
+
* Storage slot is brittle to upgrades. Re-verify the slot derivation
|
|
17
|
+
* if the proxy's implementation changes — see
|
|
18
|
+
* `INDEXING_STRATEGIES.md` for the derivation walkthrough.
|
|
19
|
+
*/
|
|
20
|
+
export declare const readerKelp: LstWithdrawalReader;
|
|
21
|
+
//# sourceMappingURL=kelp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kelp.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/kelp.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AA+C7D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,EAAE,mBA6GxB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Kinetiq kHYPE — per-user withdrawal-request enumeration on the
|
|
4
|
+
* StakingManager Diamond.
|
|
5
|
+
*
|
|
6
|
+
* Stage 1: `nextWithdrawalId(user)` (request count) + `withdrawalDelay()`.
|
|
7
|
+
* Stage 2: `withdrawalRequests(user, id)` for `id in [0, count)`.
|
|
8
|
+
*
|
|
9
|
+
* A confirmed/cleared request reads back `hypeAmount == 0` and is
|
|
10
|
+
* skipped. `readyAt = timestamp + withdrawalDelay`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const readerKinetiq: LstWithdrawalReader;
|
|
13
|
+
//# sourceMappingURL=kinetiq.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kinetiq.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/kinetiq.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,mBA0E3B,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Lair Finance stKAIA — log-free via caller-supplied IDs.
|
|
4
|
+
*
|
|
5
|
+
* Unstaking is a two-step 7-day queue on the stKAIA contract:
|
|
6
|
+
* `unstake(node, amount)` burns stKAIA and emits a request, then
|
|
7
|
+
* `claim(requestId)` pays out after the unbonding period. The contract
|
|
8
|
+
* exposes no confirmed public getter to enumerate a user's pending
|
|
9
|
+
* requests (only `claim(uint256)`), so — per the no-logs constraint —
|
|
10
|
+
* the reader expects the caller (frontend / worker-api) to have
|
|
11
|
+
* captured each `requestId` from the unstake tx receipt and to pass the
|
|
12
|
+
* accumulated list as `knownIds`.
|
|
13
|
+
*
|
|
14
|
+
* Without a detail getter we cannot resolve the settled amount or the
|
|
15
|
+
* exact `readyAt`, so each known id is surfaced as a bare `pending`
|
|
16
|
+
* request. If a public request-detail getter is later confirmed on the
|
|
17
|
+
* stKAIA contract, enrich here: resolve `amountUnderlying` and
|
|
18
|
+
* `readyAt = requestTs + 7d`, then derive `status` via `computeStatus`.
|
|
19
|
+
*
|
|
20
|
+
* Returns `[]` when no IDs are supplied — no enumeration is attempted.
|
|
21
|
+
*/
|
|
22
|
+
export declare const readerLair: LstWithdrawalReader;
|
|
23
|
+
//# sourceMappingURL=lair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lair.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/lair.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,EAAE,mBAmBxB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Lido stETH/wstETH — FIFO withdrawal queue, NFT-enumerable.
|
|
4
|
+
*
|
|
5
|
+
* Two stages:
|
|
6
|
+
* 1. `WithdrawalQueueERC721.getWithdrawalRequests(owner) → uint256[]`
|
|
7
|
+
* — enumerate request IDs owned by the user.
|
|
8
|
+
* 2. `WithdrawalQueueERC721.getWithdrawalStatus(ids[]) → struct[]` +
|
|
9
|
+
* `getLastFinalizedRequestId()` — get per-request status + the
|
|
10
|
+
* frontier for queue-position computation.
|
|
11
|
+
*
|
|
12
|
+
* `amountUnderlying` = `amountOfStETH` (raw wei stETH at request time;
|
|
13
|
+
* exact ETH payout is determined at finalization).
|
|
14
|
+
*/
|
|
15
|
+
export declare const readerLido: LstWithdrawalReader;
|
|
16
|
+
//# sourceMappingURL=lido.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lido.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/lido.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,EAAE,mBAoFxB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Lista slisBNB — per-user withdrawal-request enumeration on the
|
|
4
|
+
* ListaStakeManager.
|
|
5
|
+
*
|
|
6
|
+
* Stage 1: `getUserWithdrawalRequests(user)` → open requests
|
|
7
|
+
* (`uuid`, `amountInSnBnb`, `startTime`).
|
|
8
|
+
* Stage 2: per index, `getUserRequestStatus(user, idx)` →
|
|
9
|
+
* `(isClaimable, amount)` where `amount` is the BNB owed.
|
|
10
|
+
*
|
|
11
|
+
* `getUserRequestStatus` is indexed by position in the array returned
|
|
12
|
+
* by stage 1 (not by `uuid`). The StakeManager exposes no per-request
|
|
13
|
+
* ready timestamp — claimability follows the BNB validator unbond
|
|
14
|
+
* (~7–15 days) — so `status` is derived from `isClaimable` and
|
|
15
|
+
* `readyAt` is left unset (mirrors the beHYPE / Kelp readers).
|
|
16
|
+
*/
|
|
17
|
+
export declare const readerLista: LstWithdrawalReader;
|
|
18
|
+
//# sourceMappingURL=lista.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lista.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/lista.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,EAAE,mBA8EzB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Mantle mETH — log-free via caller-supplied IDs.
|
|
4
|
+
*
|
|
5
|
+
* No user-keyed on-chain storage exists; the only on-chain
|
|
6
|
+
* enumeration path is the `UnstakeRequestCreated` event. Per the
|
|
7
|
+
* no-logs constraint, the reader expects the caller (frontend /
|
|
8
|
+
* worker-api) to have captured `unstakeRequestId` from the withdraw
|
|
9
|
+
* tx receipt at request time and to pass the accumulated list as
|
|
10
|
+
* `knownIds`.
|
|
11
|
+
*
|
|
12
|
+
* Returns `[]` when no IDs are supplied — no enumeration is attempted.
|
|
13
|
+
*
|
|
14
|
+
* Per id: multicall `requestByID(id)` + `requestInfo(id)`. The latter
|
|
15
|
+
* already returns the claimable flag and the settled amount.
|
|
16
|
+
*/
|
|
17
|
+
export declare const readerMantle: LstWithdrawalReader;
|
|
18
|
+
//# sourceMappingURL=mantle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mantle.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/mantle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,EAAE,mBAyE1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primestaking.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/primestaking.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AA0BvE,eAAO,MAAM,kBAAkB,EAAE,mBA4EhC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Puffer pufETH — log-free via caller-supplied IDs.
|
|
4
|
+
*
|
|
5
|
+
* The reader expects `knownIds` to be the list of `withdrawalIdx`
|
|
6
|
+
* values captured from the `WithdrawalRequested` event in the
|
|
7
|
+
* withdraw tx receipt at request time.
|
|
8
|
+
*
|
|
9
|
+
* Per request: multicall `getWithdrawal(idx)` per id plus a single
|
|
10
|
+
* `getFinalizedWithdrawalBatch()` + `BATCH_SIZE()` for the
|
|
11
|
+
* finalization frontier. A request is claimable iff
|
|
12
|
+
* `floor(idx / BATCH_SIZE) <= finalizedBatch`.
|
|
13
|
+
*
|
|
14
|
+
* Returns `[]` when no IDs are supplied.
|
|
15
|
+
*/
|
|
16
|
+
export declare const readerPuffer: LstWithdrawalReader;
|
|
17
|
+
//# sourceMappingURL=puffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puffer.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/puffer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,EAAE,mBAqE1B,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Renzo ezETH — per-user indexed enumeration. Deterministic readyAt
|
|
4
|
+
* via `createdAt + coolDownPeriod()`.
|
|
5
|
+
*
|
|
6
|
+
* Three stages:
|
|
7
|
+
* 1. `getOutstandingWithdrawRequests(user)` → count + cooldown
|
|
8
|
+
* constant in one multicall.
|
|
9
|
+
* 2. `withdrawRequests(user, i)` per index.
|
|
10
|
+
*
|
|
11
|
+
* Note: Renzo deletes entries on claim, compacting the array — the
|
|
12
|
+
* index returned here is the **client-side index at fetch time**.
|
|
13
|
+
* Re-enumerate after each claim.
|
|
14
|
+
*/
|
|
15
|
+
export declare const readerRenzo: LstWithdrawalReader;
|
|
16
|
+
//# sourceMappingURL=renzo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renzo.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/renzo.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,EAAE,mBAuDzB,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { MulticallRetryFunction } from '../../../../types';
|
|
2
|
+
import type { LstWithdrawalRegistryEntry } from '../registry';
|
|
3
|
+
import type { LstWithdrawalRequest } from '../types';
|
|
4
|
+
/** Composite withdrawal id for protocols where the natural unit is a
|
|
5
|
+
* `(validator, nonce)` pair (e.g. TruFin TruMATIC), in addition to
|
|
6
|
+
* the standard `bigint` id used by everything else. */
|
|
7
|
+
export type LstWithdrawalKnownId = bigint | {
|
|
8
|
+
validator: string;
|
|
9
|
+
nonce: bigint;
|
|
10
|
+
};
|
|
11
|
+
/** Per-LST list of caller-known withdrawal IDs, keyed by lowercased
|
|
12
|
+
* LST share-token address. Caller (frontend / worker-api) captures
|
|
13
|
+
* these from the withdraw tx receipt at request time and passes the
|
|
14
|
+
* accumulated list back on subsequent reads.
|
|
15
|
+
*
|
|
16
|
+
* See `INDEXING_STRATEGIES.md` — "Caller-supplied IDs" section — for
|
|
17
|
+
* why this is the universal log-free fallback. */
|
|
18
|
+
export type LstWithdrawalKnownIds = {
|
|
19
|
+
[lstAddress: string]: LstWithdrawalKnownId[];
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Reader interface for per-user withdrawal-request enumeration.
|
|
23
|
+
*
|
|
24
|
+
* Each reader is responsible for its protocol's enumeration sequence
|
|
25
|
+
* (typically two stages: a `count` / `balanceOf` call to discover how
|
|
26
|
+
* many pending requests exist, then a per-id detail call). Returns a
|
|
27
|
+
* normalised `LstWithdrawalRequest[]` regardless of mechanism.
|
|
28
|
+
*
|
|
29
|
+
* Why a callable function instead of the data-driven `LstReader`
|
|
30
|
+
* shape used elsewhere: withdrawal enumeration is **per-user** and
|
|
31
|
+
* usually **multi-stage** (count depends on user; detail calls depend
|
|
32
|
+
* on count). Inlining the sequencing in each reader is simpler than
|
|
33
|
+
* stage-based pipelining at the orchestrator level.
|
|
34
|
+
*
|
|
35
|
+
* Tolerances: per-reader failures (RPC errors, malformed responses)
|
|
36
|
+
* should NOT throw — return an empty array and log via the
|
|
37
|
+
* orchestrator's debug channel. The vaults-endpoint user model
|
|
38
|
+
* tolerates "we don't know your requests" but not "the entire
|
|
39
|
+
* endpoint failed".
|
|
40
|
+
*
|
|
41
|
+
* `knownIds` is only used by `callerSupplied`-style readers (Mantle,
|
|
42
|
+
* Puffer, TruFin). Readers with on-chain enumeration ignore it.
|
|
43
|
+
*/
|
|
44
|
+
export interface LstWithdrawalReader {
|
|
45
|
+
fetch: (user: string, multicallRetry: MulticallRetryFunction, chainId: string, entry: LstWithdrawalRegistryEntry, knownIds?: LstWithdrawalKnownId[]) => Promise<LstWithdrawalRequest[]>;
|
|
46
|
+
}
|
|
47
|
+
/** Safely coerce a multicall return cell to bigint. Mirrors the
|
|
48
|
+
* pattern used in `vaults/lst/readers/shared.ts`. */
|
|
49
|
+
export declare const toBigInt: (v: unknown) => bigint | undefined;
|
|
50
|
+
/** Safely coerce to number. Used for counts / indices (uint sizes
|
|
51
|
+
* that fit in Number range). */
|
|
52
|
+
export declare const toNumber: (v: unknown) => number | undefined;
|
|
53
|
+
/** Builds the `status` field given `readyAt`/`expiresAt` and the
|
|
54
|
+
* current time. */
|
|
55
|
+
export declare const computeStatus: (readyAt: number, expiresAt?: number, nowSeconds?: number) => "pending" | "claimable" | "expired";
|
|
56
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD;;wDAEwD;AACxD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhF;;;;;;mDAMmD;AACnD,MAAM,MAAM,qBAAqB,GAAG;IAClC,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAA;CAC7C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,CACL,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,0BAA0B,EACjC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,KAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;CACrC;AAED;sDACsD;AACtD,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,MAAM,GAAG,SAa9C,CAAA;AAED;iCACiC;AACjC,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,MAAM,GAAG,SAK9C,CAAA;AAED;oBACoB;AACpB,eAAO,MAAM,aAAa,GACxB,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,aAAY,MAAsC,KACjD,SAAS,GAAG,WAAW,GAAG,SAI5B,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Stader ETHx — per-user request ID list + per-id detail.
|
|
4
|
+
*
|
|
5
|
+
* Two stages:
|
|
6
|
+
* 1. `getRequestIdsByUser(owner)` → uint256[] of request IDs.
|
|
7
|
+
* 2. `userWithdrawRequests(id)` per id → request struct. Status is
|
|
8
|
+
* finalized iff `id < nextRequestIdToFinalize` AND
|
|
9
|
+
* `ethFinalized > 0`.
|
|
10
|
+
*
|
|
11
|
+
* `amountUnderlying` uses `ethFinalized` when finalized (the actual
|
|
12
|
+
* payable amount) and `ethExpected` while pending.
|
|
13
|
+
*/
|
|
14
|
+
export declare const readerStaderEthx: LstWithdrawalReader;
|
|
15
|
+
//# sourceMappingURL=staderEthx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staderEthx.d.ts","sourceRoot":"","sources":["../../../../../src/vaults/lst/withdrawals/readers/staderEthx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,EAAE,mBA+D9B,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type LstWithdrawalReader } from './shared';
|
|
2
|
+
/**
|
|
3
|
+
* Stader MaticX — per-user array enumeration on the Ethereum home
|
|
4
|
+
* contract. Finalized when `IStakeManager(stakeManager).epoch() >=
|
|
5
|
+
* requestEpoch + stakeManager.withdrawalDelay()`.
|
|
6
|
+
*
|
|
7
|
+
* Single stage: `getUserWithdrawalRequests(user)` returns the array
|
|
8
|
+
* + `IStakeManager.epoch()` and `IStakeManager.withdrawalDelay()` for
|
|
9
|
+
* finalization checks. Stake manager address is pinned in
|
|
10
|
+
* `readerExtras.polygonStakeManager`.
|
|
11
|
+
*
|
|
12
|
+
* Per-request `readyAt` is a Polygon-checkpoint-based ETA, not a wall
|
|
13
|
+
* clock. We surface it as the boolean `claimable` via
|
|
14
|
+
* `requestEpoch + withdrawalDelay <= currentEpoch`; consumers wanting
|
|
15
|
+
* an estimated time should map "checkpoints" → "seconds" off-chain.
|
|
16
|
+
*/
|
|
17
|
+
export declare const readerStaderMaticX: LstWithdrawalReader;
|
|
18
|
+
//# sourceMappingURL=staderMaticx.d.ts.map
|