@mento-protocol/mento-sdk 2.0.0-beta.9 → 3.0.0-beta.10
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/README.md +204 -132
- package/dist/cache/routes.d.ts +13 -0
- package/dist/cache/routes.d.ts.map +1 -0
- package/dist/cache/routes.js +130 -0
- package/dist/cache/routes.js.map +1 -0
- package/dist/cache/tokens.d.ts +67 -0
- package/dist/cache/tokens.d.ts.map +1 -0
- package/dist/cache/tokens.js +379 -0
- package/dist/cache/tokens.js.map +1 -0
- package/dist/core/abis/bipoolmanager.d.ts +34 -0
- package/dist/core/abis/bipoolmanager.d.ts.map +1 -0
- package/dist/core/abis/bipoolmanager.js +72 -0
- package/dist/core/abis/bipoolmanager.js.map +1 -0
- package/dist/core/abis/breakerbox.d.ts +13 -0
- package/dist/core/abis/breakerbox.d.ts.map +1 -0
- package/dist/core/abis/breakerbox.js +8 -0
- package/dist/core/abis/breakerbox.js.map +1 -0
- package/dist/core/abis/broker.d.ts +2 -0
- package/dist/core/abis/broker.d.ts.map +1 -0
- package/dist/core/abis/broker.js +9 -0
- package/dist/core/abis/broker.js.map +1 -0
- package/dist/core/abis/erc20.d.ts +9 -0
- package/dist/core/abis/erc20.d.ts.map +1 -0
- package/dist/core/abis/erc20.js +21 -0
- package/dist/core/abis/erc20.js.map +1 -0
- package/dist/core/abis/fpmm.d.ts +160 -0
- package/dist/core/abis/fpmm.d.ts.map +1 -0
- package/dist/core/abis/fpmm.js +21 -0
- package/dist/core/abis/fpmm.js.map +1 -0
- package/dist/core/abis/fpmmFactory.d.ts +21 -0
- package/dist/core/abis/fpmmFactory.d.ts.map +1 -0
- package/dist/core/abis/fpmmFactory.js +9 -0
- package/dist/core/abis/fpmmFactory.js.map +1 -0
- package/dist/core/abis/index.d.ts +12 -0
- package/dist/core/abis/index.d.ts.map +1 -0
- package/dist/{abis → core/abis}/index.js +6 -0
- package/dist/core/abis/index.js.map +1 -0
- package/dist/core/abis/pricingmodule.d.ts +2 -0
- package/dist/core/abis/pricingmodule.d.ts.map +1 -0
- package/dist/core/abis/pricingmodule.js +6 -0
- package/dist/core/abis/pricingmodule.js.map +1 -0
- package/dist/core/abis/reserve.d.ts +2 -0
- package/dist/core/abis/reserve.d.ts.map +1 -0
- package/dist/core/abis/reserve.js +10 -0
- package/dist/core/abis/reserve.js.map +1 -0
- package/dist/core/abis/router.d.ts +2 -0
- package/dist/core/abis/router.d.ts.map +1 -0
- package/dist/core/abis/router.js +10 -0
- package/dist/core/abis/router.js.map +1 -0
- package/dist/core/abis/uniswapV3.d.ts +4 -0
- package/dist/core/abis/uniswapV3.d.ts.map +1 -0
- package/dist/{abis → core/abis}/uniswapV3.js +7 -6
- package/dist/core/abis/uniswapV3.js.map +1 -0
- package/dist/core/abis/virtualPool.d.ts +40 -0
- package/dist/core/abis/virtualPool.d.ts.map +1 -0
- package/dist/core/abis/virtualPool.js +10 -0
- package/dist/core/abis/virtualPool.js.map +1 -0
- package/dist/core/abis/virtualPoolFactory.d.ts +27 -0
- package/dist/core/abis/virtualPoolFactory.d.ts.map +1 -0
- package/dist/core/abis/virtualPoolFactory.js +9 -0
- package/dist/core/abis/virtualPoolFactory.js.map +1 -0
- package/dist/core/constants/aaveConfig.d.ts.map +1 -0
- package/dist/{constants → core/constants}/aaveConfig.js +2 -2
- package/dist/core/constants/aaveConfig.js.map +1 -0
- package/dist/{constants → core/constants}/addresses.d.ts +4 -5
- package/dist/core/constants/addresses.d.ts.map +1 -0
- package/dist/core/constants/addresses.js +78 -0
- package/dist/core/constants/addresses.js.map +1 -0
- package/dist/core/constants/chainId.d.ts +5 -0
- package/dist/core/constants/chainId.d.ts.map +1 -0
- package/dist/{constants → core/constants}/chainId.js +1 -1
- package/dist/core/constants/chainId.js.map +1 -0
- package/dist/core/constants/contractNames.d.ts.map +1 -0
- package/dist/core/constants/contractNames.js.map +1 -0
- package/dist/{constants → core/constants}/index.d.ts +0 -2
- package/dist/core/constants/index.d.ts.map +1 -0
- package/dist/{constants → core/constants}/index.js +0 -2
- package/dist/core/constants/index.js.map +1 -0
- package/dist/{constants → core/constants}/mentoAddresses.d.ts +2 -0
- package/dist/core/constants/mentoAddresses.d.ts.map +1 -0
- package/dist/{constants → core/constants}/mentoAddresses.js +2 -0
- package/dist/core/constants/mentoAddresses.js.map +1 -0
- package/dist/core/constants/protocolAddresses.d.ts.map +1 -0
- package/dist/core/constants/protocolAddresses.js.map +1 -0
- package/dist/core/errors/base.d.ts +8 -0
- package/dist/core/errors/base.d.ts.map +1 -0
- package/dist/core/errors/base.js +17 -0
- package/dist/core/errors/base.js.map +1 -0
- package/dist/core/errors/index.d.ts +3 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/{types → core/errors}/index.js +2 -4
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/router.d.ts +8 -0
- package/dist/core/errors/router.d.ts.map +1 -0
- package/dist/core/errors/router.js +14 -0
- package/dist/core/errors/router.js.map +1 -0
- package/dist/core/types/contractAddresses.d.ts +41 -0
- package/dist/core/types/contractAddresses.d.ts.map +1 -0
- package/dist/core/types/contractAddresses.js.map +1 -0
- package/dist/core/types/index.d.ts +8 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +24 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/pool.d.ts +145 -0
- package/dist/core/types/pool.d.ts.map +1 -0
- package/dist/core/types/pool.js +14 -0
- package/dist/core/types/pool.js.map +1 -0
- package/dist/core/types/provider.d.ts +45 -0
- package/dist/core/types/provider.d.ts.map +1 -0
- package/dist/{types → core/types}/provider.js.map +1 -1
- package/dist/core/types/route.d.ts +62 -0
- package/dist/core/types/route.d.ts.map +1 -0
- package/dist/{types/exchange.js → core/types/route.js} +1 -1
- package/dist/core/types/route.js.map +1 -0
- package/dist/{types → core/types}/token.d.ts +16 -6
- package/dist/core/types/token.d.ts.map +1 -0
- package/dist/{types → core/types}/token.js.map +1 -1
- package/dist/core/types/tradingLimits.d.ts +91 -0
- package/dist/core/types/tradingLimits.d.ts.map +1 -0
- package/dist/core/types/tradingLimits.js +3 -0
- package/dist/core/types/tradingLimits.js.map +1 -0
- package/dist/core/types/tradingMode.d.ts +24 -0
- package/dist/core/types/tradingMode.d.ts.map +1 -0
- package/dist/core/types/tradingMode.js +31 -0
- package/dist/core/types/tradingMode.js.map +1 -0
- package/dist/core/types/transaction.d.ts +45 -0
- package/dist/core/types/transaction.d.ts.map +1 -0
- package/dist/core/types/transaction.js +3 -0
- package/dist/core/types/transaction.js.map +1 -0
- package/dist/index.d.ts +50 -109
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +69 -152
- package/dist/index.js.map +1 -1
- package/dist/services/index.d.ts +7 -6
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +7 -6
- package/dist/services/index.js.map +1 -1
- package/dist/services/pools/PoolService.d.ts +49 -0
- package/dist/services/pools/PoolService.d.ts.map +1 -0
- package/dist/services/pools/PoolService.js +92 -0
- package/dist/services/pools/PoolService.js.map +1 -0
- package/dist/services/pools/index.d.ts +2 -0
- package/dist/services/pools/index.d.ts.map +1 -0
- package/dist/services/pools/index.js +18 -0
- package/dist/services/pools/index.js.map +1 -0
- package/dist/services/pools/poolDetails.d.ts +11 -0
- package/dist/services/pools/poolDetails.d.ts.map +1 -0
- package/dist/services/pools/poolDetails.js +136 -0
- package/dist/services/pools/poolDetails.js.map +1 -0
- package/dist/services/pools/poolDiscovery.d.ts +13 -0
- package/dist/services/pools/poolDiscovery.d.ts.map +1 -0
- package/dist/services/pools/poolDiscovery.js +115 -0
- package/dist/services/pools/poolDiscovery.js.map +1 -0
- package/dist/services/quotes/QuoteService.d.ts +50 -0
- package/dist/services/quotes/QuoteService.d.ts.map +1 -0
- package/dist/services/quotes/QuoteService.js +74 -0
- package/dist/services/quotes/QuoteService.js.map +1 -0
- package/dist/services/quotes/index.d.ts +2 -0
- package/dist/services/quotes/index.d.ts.map +1 -0
- package/dist/services/quotes/index.js +18 -0
- package/dist/services/quotes/index.js.map +1 -0
- package/dist/services/routes/RouteService.d.ts +109 -0
- package/dist/services/routes/RouteService.d.ts.map +1 -0
- package/dist/services/routes/RouteService.js +239 -0
- package/dist/services/routes/RouteService.js.map +1 -0
- package/dist/services/routes/index.d.ts +2 -0
- package/dist/services/routes/index.d.ts.map +1 -0
- package/dist/services/routes/index.js +18 -0
- package/dist/services/routes/index.js.map +1 -0
- package/dist/services/swap/SwapService.d.ts +162 -0
- package/dist/services/swap/SwapService.d.ts.map +1 -0
- package/dist/services/swap/SwapService.js +180 -0
- package/dist/services/swap/SwapService.js.map +1 -0
- package/dist/services/swap/index.d.ts +2 -0
- package/dist/services/swap/index.d.ts.map +1 -0
- package/dist/services/swap/index.js +18 -0
- package/dist/services/swap/index.js.map +1 -0
- package/dist/services/tokens/index.d.ts +2 -0
- package/dist/services/tokens/index.d.ts.map +1 -0
- package/dist/services/tokens/index.js +18 -0
- package/dist/services/tokens/index.js.map +1 -0
- package/dist/services/tokens/supply/ISupplyCalculator.d.ts.map +1 -0
- package/dist/services/tokens/supply/ISupplyCalculator.js.map +1 -0
- package/dist/services/{supply → tokens/supply}/aaveSupplyCalculator.d.ts +4 -3
- package/dist/services/tokens/supply/aaveSupplyCalculator.d.ts.map +1 -0
- package/dist/services/{supply → tokens/supply}/aaveSupplyCalculator.js +7 -7
- package/dist/services/tokens/supply/aaveSupplyCalculator.js.map +1 -0
- package/dist/services/tokens/supply/calculatorFactory.d.ts +8 -0
- package/dist/services/tokens/supply/calculatorFactory.d.ts.map +1 -0
- package/dist/services/tokens/supply/calculatorFactory.js.map +1 -0
- package/dist/services/tokens/supply/defaultCalculatorFactory.d.ts +9 -0
- package/dist/services/tokens/supply/defaultCalculatorFactory.d.ts.map +1 -0
- package/dist/services/{supply → tokens/supply}/defaultCalculatorFactory.js +12 -7
- package/dist/services/tokens/supply/defaultCalculatorFactory.js.map +1 -0
- package/dist/services/tokens/supply/index.d.ts.map +1 -0
- package/dist/services/tokens/supply/index.js.map +1 -0
- package/dist/services/tokens/supply/multisigSupplyCalculator.d.ts +9 -0
- package/dist/services/tokens/supply/multisigSupplyCalculator.d.ts.map +1 -0
- package/dist/services/tokens/supply/multisigSupplyCalculator.js +33 -0
- package/dist/services/tokens/supply/multisigSupplyCalculator.js.map +1 -0
- package/dist/services/{supply → tokens/supply}/uniV3SupplyCalculator.d.ts +3 -3
- package/dist/services/tokens/supply/uniV3SupplyCalculator.d.ts.map +1 -0
- package/dist/services/{supply → tokens/supply}/uniV3SupplyCalculator.js +11 -6
- package/dist/services/tokens/supply/uniV3SupplyCalculator.js.map +1 -0
- package/dist/services/{supplyAdjustmentService.d.ts → tokens/supplyAdjustmentService.d.ts} +3 -2
- package/dist/services/tokens/supplyAdjustmentService.d.ts.map +1 -0
- package/dist/services/{supplyAdjustmentService.js → tokens/supplyAdjustmentService.js} +11 -13
- package/dist/services/tokens/supplyAdjustmentService.js.map +1 -0
- package/dist/services/tokens/tokenService.d.ts +33 -0
- package/dist/services/tokens/tokenService.d.ts.map +1 -0
- package/dist/services/tokens/tokenService.js +136 -0
- package/dist/services/tokens/tokenService.js.map +1 -0
- package/dist/services/trading/TradingLimitsService.d.ts +38 -0
- package/dist/services/trading/TradingLimitsService.d.ts.map +1 -0
- package/dist/services/trading/TradingLimitsService.js +157 -0
- package/dist/services/trading/TradingLimitsService.js.map +1 -0
- package/dist/services/trading/TradingService.d.ts +110 -0
- package/dist/services/trading/TradingService.d.ts.map +1 -0
- package/dist/services/trading/TradingService.js +162 -0
- package/dist/services/trading/TradingService.js.map +1 -0
- package/dist/services/trading/index.d.ts +3 -0
- package/dist/services/trading/index.d.ts.map +1 -0
- package/dist/services/trading/index.js +19 -0
- package/dist/services/trading/index.js.map +1 -0
- package/dist/utils/chainConfig.d.ts +16 -0
- package/dist/utils/chainConfig.d.ts.map +1 -0
- package/dist/utils/chainConfig.js +62 -0
- package/dist/utils/chainConfig.js.map +1 -0
- package/dist/utils/costUtils.d.ts +12 -0
- package/dist/utils/costUtils.d.ts.map +1 -0
- package/dist/utils/costUtils.js +59 -0
- package/dist/utils/costUtils.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/pathEncoder.d.ts +29 -0
- package/dist/utils/pathEncoder.d.ts.map +1 -0
- package/dist/utils/pathEncoder.js +73 -0
- package/dist/utils/pathEncoder.js.map +1 -0
- package/dist/utils/rateFeed.d.ts +18 -0
- package/dist/utils/rateFeed.d.ts.map +1 -0
- package/dist/utils/rateFeed.js +27 -0
- package/dist/utils/rateFeed.js.map +1 -0
- package/dist/utils/routeUtils.d.ts +295 -0
- package/dist/utils/routeUtils.d.ts.map +1 -0
- package/dist/utils/routeUtils.js +371 -0
- package/dist/utils/routeUtils.js.map +1 -0
- package/dist/utils/routes.d.ts +3 -0
- package/dist/utils/routes.d.ts.map +1 -0
- package/dist/utils/routes.js +8 -0
- package/dist/utils/routes.js.map +1 -0
- package/dist/utils/sortUtils.d.ts +24 -0
- package/dist/utils/sortUtils.d.ts.map +1 -0
- package/dist/utils/sortUtils.js +39 -0
- package/dist/utils/sortUtils.js.map +1 -0
- package/dist/utils/tokens.d.ts +2 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/tokens.js +13 -0
- package/dist/utils/tokens.js.map +1 -0
- package/dist/utils/tradingLimits.d.ts +41 -0
- package/dist/utils/tradingLimits.d.ts.map +1 -0
- package/dist/utils/tradingLimits.js +171 -0
- package/dist/utils/tradingLimits.js.map +1 -0
- package/dist/utils/validation.d.ts +19 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +34 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +10 -23
- package/dist/abis/bipoolmanager.d.ts +0 -15
- package/dist/abis/bipoolmanager.d.ts.map +0 -1
- package/dist/abis/bipoolmanager.js +0 -26
- package/dist/abis/bipoolmanager.js.map +0 -1
- package/dist/abis/broker.d.ts +0 -2
- package/dist/abis/broker.d.ts.map +0 -1
- package/dist/abis/broker.js +0 -15
- package/dist/abis/broker.js.map +0 -1
- package/dist/abis/erc20.d.ts +0 -2
- package/dist/abis/erc20.d.ts.map +0 -1
- package/dist/abis/erc20.js +0 -11
- package/dist/abis/erc20.js.map +0 -1
- package/dist/abis/index.d.ts +0 -6
- package/dist/abis/index.d.ts.map +0 -1
- package/dist/abis/index.js.map +0 -1
- package/dist/abis/pricingmodule.d.ts +0 -2
- package/dist/abis/pricingmodule.d.ts.map +0 -1
- package/dist/abis/pricingmodule.js +0 -5
- package/dist/abis/pricingmodule.js.map +0 -1
- package/dist/abis/reserve.d.ts +0 -2
- package/dist/abis/reserve.d.ts.map +0 -1
- package/dist/abis/reserve.js +0 -9
- package/dist/abis/reserve.js.map +0 -1
- package/dist/abis/uniswapV3.d.ts +0 -4
- package/dist/abis/uniswapV3.d.ts.map +0 -1
- package/dist/abis/uniswapV3.js.map +0 -1
- package/dist/adapters/implementations/ethersAdapter.d.ts +0 -13
- package/dist/adapters/implementations/ethersAdapter.d.ts.map +0 -1
- package/dist/adapters/implementations/ethersAdapter.js +0 -92
- package/dist/adapters/implementations/ethersAdapter.js.map +0 -1
- package/dist/adapters/implementations/ethersV5Adapter.d.ts +0 -13
- package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +0 -1
- package/dist/adapters/implementations/ethersV5Adapter.js +0 -92
- package/dist/adapters/implementations/ethersV5Adapter.js.map +0 -1
- package/dist/adapters/implementations/viemAdapter.d.ts +0 -18
- package/dist/adapters/implementations/viemAdapter.d.ts.map +0 -1
- package/dist/adapters/implementations/viemAdapter.js +0 -126
- package/dist/adapters/implementations/viemAdapter.js.map +0 -1
- package/dist/adapters/index.d.ts +0 -5
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js +0 -10
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts +0 -26
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +0 -1
- package/dist/adapters/proxies/ethersAdapterProxy.js +0 -78
- package/dist/adapters/proxies/ethersAdapterProxy.js.map +0 -1
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +0 -26
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +0 -1
- package/dist/adapters/proxies/ethersV5AdapterProxy.js +0 -78
- package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +0 -1
- package/dist/adapters/proxies/viemAdapterProxy.d.ts +0 -29
- package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +0 -1
- package/dist/adapters/proxies/viemAdapterProxy.js +0 -78
- package/dist/adapters/proxies/viemAdapterProxy.js.map +0 -1
- package/dist/constants/aaveConfig.d.ts.map +0 -1
- package/dist/constants/aaveConfig.js.map +0 -1
- package/dist/constants/addresses.d.ts.map +0 -1
- package/dist/constants/addresses.js +0 -61
- package/dist/constants/addresses.js.map +0 -1
- package/dist/constants/chainId.d.ts +0 -5
- package/dist/constants/chainId.d.ts.map +0 -1
- package/dist/constants/chainId.js.map +0 -1
- package/dist/constants/contractNames.d.ts.map +0 -1
- package/dist/constants/contractNames.js.map +0 -1
- package/dist/constants/index.d.ts.map +0 -1
- package/dist/constants/index.js.map +0 -1
- package/dist/constants/mentoAddresses.d.ts.map +0 -1
- package/dist/constants/mentoAddresses.js.map +0 -1
- package/dist/constants/proposalState.d.ts +0 -11
- package/dist/constants/proposalState.d.ts.map +0 -1
- package/dist/constants/proposalState.js +0 -15
- package/dist/constants/proposalState.js.map +0 -1
- package/dist/constants/protocolAddresses.d.ts.map +0 -1
- package/dist/constants/protocolAddresses.js.map +0 -1
- package/dist/constants/stableTokenMetadata.d.ts +0 -12
- package/dist/constants/stableTokenMetadata.d.ts.map +0 -1
- package/dist/constants/stableTokenMetadata.js +0 -14
- package/dist/constants/stableTokenMetadata.js.map +0 -1
- package/dist/services/collateralAssetService.d.ts +0 -8
- package/dist/services/collateralAssetService.d.ts.map +0 -1
- package/dist/services/collateralAssetService.js +0 -47
- package/dist/services/collateralAssetService.js.map +0 -1
- package/dist/services/stableTokenService.d.ts +0 -9
- package/dist/services/stableTokenService.d.ts.map +0 -1
- package/dist/services/stableTokenService.js +0 -40
- package/dist/services/stableTokenService.js.map +0 -1
- package/dist/services/supply/ISupplyCalculator.d.ts.map +0 -1
- package/dist/services/supply/ISupplyCalculator.js.map +0 -1
- package/dist/services/supply/aaveSupplyCalculator.d.ts.map +0 -1
- package/dist/services/supply/aaveSupplyCalculator.js.map +0 -1
- package/dist/services/supply/calculatorFactory.d.ts +0 -8
- package/dist/services/supply/calculatorFactory.d.ts.map +0 -1
- package/dist/services/supply/calculatorFactory.js.map +0 -1
- package/dist/services/supply/defaultCalculatorFactory.d.ts +0 -9
- package/dist/services/supply/defaultCalculatorFactory.d.ts.map +0 -1
- package/dist/services/supply/defaultCalculatorFactory.js.map +0 -1
- package/dist/services/supply/index.d.ts.map +0 -1
- package/dist/services/supply/index.js.map +0 -1
- package/dist/services/supply/multisigSupplyCalculator.d.ts +0 -9
- package/dist/services/supply/multisigSupplyCalculator.d.ts.map +0 -1
- package/dist/services/supply/multisigSupplyCalculator.js +0 -21
- package/dist/services/supply/multisigSupplyCalculator.js.map +0 -1
- package/dist/services/supply/uniV3SupplyCalculator.d.ts.map +0 -1
- package/dist/services/supply/uniV3SupplyCalculator.js.map +0 -1
- package/dist/services/supplyAdjustmentService.d.ts.map +0 -1
- package/dist/services/supplyAdjustmentService.js.map +0 -1
- package/dist/services/swapService.d.ts +0 -70
- package/dist/services/swapService.d.ts.map +0 -1
- package/dist/services/swapService.js +0 -134
- package/dist/services/swapService.js.map +0 -1
- package/dist/services/tokenMetadataService.d.ts +0 -8
- package/dist/services/tokenMetadataService.d.ts.map +0 -1
- package/dist/services/tokenMetadataService.js +0 -44
- package/dist/services/tokenMetadataService.js.map +0 -1
- package/dist/types/contractAddresses.d.ts +0 -23
- package/dist/types/contractAddresses.d.ts.map +0 -1
- package/dist/types/contractAddresses.js.map +0 -1
- package/dist/types/exchange.d.ts +0 -6
- package/dist/types/exchange.d.ts.map +0 -1
- package/dist/types/exchange.js.map +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/types/provider.d.ts +0 -29
- package/dist/types/provider.d.ts.map +0 -1
- package/dist/types/token.d.ts.map +0 -1
- /package/dist/{constants → core/constants}/aaveConfig.d.ts +0 -0
- /package/dist/{constants → core/constants}/contractNames.d.ts +0 -0
- /package/dist/{constants → core/constants}/contractNames.js +0 -0
- /package/dist/{constants → core/constants}/protocolAddresses.d.ts +0 -0
- /package/dist/{constants → core/constants}/protocolAddresses.js +0 -0
- /package/dist/{types → core/types}/contractAddresses.js +0 -0
- /package/dist/{types → core/types}/provider.js +0 -0
- /package/dist/{types → core/types}/token.js +0 -0
- /package/dist/services/{supply → tokens/supply}/ISupplyCalculator.d.ts +0 -0
- /package/dist/services/{supply → tokens/supply}/ISupplyCalculator.js +0 -0
- /package/dist/services/{supply → tokens/supply}/calculatorFactory.js +0 -0
- /package/dist/services/{supply → tokens/supply}/index.d.ts +0 -0
- /package/dist/services/{supply → tokens/supply}/index.js +0 -0
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export * from './addresses';
|
|
2
2
|
export * from './chainId';
|
|
3
|
-
export * from './proposalState';
|
|
4
3
|
export * from './contractNames';
|
|
5
|
-
export * from './stableTokenMetadata';
|
|
6
4
|
export * from './protocolAddresses';
|
|
7
5
|
export * from './mentoAddresses';
|
|
8
6
|
export * from './aaveConfig';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA"}
|
|
@@ -16,9 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./addresses"), exports);
|
|
18
18
|
__exportStar(require("./chainId"), exports);
|
|
19
|
-
__exportStar(require("./proposalState"), exports);
|
|
20
19
|
__exportStar(require("./contractNames"), exports);
|
|
21
|
-
__exportStar(require("./stableTokenMetadata"), exports);
|
|
22
20
|
__exportStar(require("./protocolAddresses"), exports);
|
|
23
21
|
__exportStar(require("./mentoAddresses"), exports);
|
|
24
22
|
__exportStar(require("./aaveConfig"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,4CAAyB;AACzB,kDAA+B;AAC/B,sDAAmC;AACnC,mDAAgC;AAChC,+CAA4B"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export declare const MENTO_ADDRESSES: {
|
|
2
2
|
readonly PROTOCOL_MULTISIG: "0x87647780180b8f55980c7d3ffefe08a9b29e9ae1";
|
|
3
3
|
readonly OPERATIONAL_WALLET: "0xDA7BFEF937F0944551a24b4C68B054bfA7127570";
|
|
4
|
+
readonly OPERATIONAL_WALLET_2: "0xD3D2e5c5Af667DA817b2D752d86c8f40c22137E1";
|
|
5
|
+
readonly REBALANCER_BOT: "0xaa8299FC6A685B5f9Ce9bdA8d0B3ea3D54731976";
|
|
4
6
|
};
|
|
5
7
|
//# sourceMappingURL=mentoAddresses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mentoAddresses.d.ts","sourceRoot":"","sources":["../../../src/core/constants/mentoAddresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;CAKlB,CAAA"}
|
|
@@ -4,5 +4,7 @@ exports.MENTO_ADDRESSES = void 0;
|
|
|
4
4
|
exports.MENTO_ADDRESSES = {
|
|
5
5
|
PROTOCOL_MULTISIG: '0x87647780180b8f55980c7d3ffefe08a9b29e9ae1',
|
|
6
6
|
OPERATIONAL_WALLET: '0xDA7BFEF937F0944551a24b4C68B054bfA7127570',
|
|
7
|
+
OPERATIONAL_WALLET_2: '0xD3D2e5c5Af667DA817b2D752d86c8f40c22137E1',
|
|
8
|
+
REBALANCER_BOT: '0xaa8299FC6A685B5f9Ce9bdA8d0B3ea3D54731976',
|
|
7
9
|
};
|
|
8
10
|
//# sourceMappingURL=mentoAddresses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mentoAddresses.js","sourceRoot":"","sources":["../../../src/core/constants/mentoAddresses.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,iBAAiB,EAAE,4CAA4C;IAC/D,kBAAkB,EAAE,4CAA4C;IAChE,oBAAoB,EAAE,4CAA4C;IAClE,cAAc,EAAE,4CAA4C;CACpD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocolAddresses.d.ts","sourceRoot":"","sources":["../../../src/core/constants/protocolAddresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;CAGrB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocolAddresses.js","sourceRoot":"","sources":["../../../src/core/constants/protocolAddresses.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAChC,sBAAsB,EAAE,4CAA4C;IACpE,aAAa,EAAE,4CAA4C;CACnD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/core/errors/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAM5B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MentoError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Base error class for all Mento SDK errors.
|
|
6
|
+
* Provides consistent error naming and proper prototype chain setup.
|
|
7
|
+
*/
|
|
8
|
+
class MentoError extends Error {
|
|
9
|
+
constructor(message) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.name = this.constructor.name;
|
|
12
|
+
// Maintains proper prototype chain for instanceof checks
|
|
13
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.MentoError = MentoError;
|
|
17
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/errors/base.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,yDAAyD;QACzD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;CACF;AAPD,gCAOC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
|
|
@@ -14,8 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./token"), exports);
|
|
20
|
-
__exportStar(require("./exchange"), exports);
|
|
17
|
+
__exportStar(require("./base"), exports);
|
|
18
|
+
__exportStar(require("./router"), exports);
|
|
21
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,2CAAwB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MentoError } from './base';
|
|
2
|
+
/**
|
|
3
|
+
* Error thrown when no tradable route exists between two tokens.
|
|
4
|
+
*/
|
|
5
|
+
export declare class RouteNotFoundError extends MentoError {
|
|
6
|
+
constructor(tokenIn: string, tokenOut: string);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/core/errors/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAK9C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RouteNotFoundError = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
/**
|
|
6
|
+
* Error thrown when no tradable route exists between two tokens.
|
|
7
|
+
*/
|
|
8
|
+
class RouteNotFoundError extends base_1.MentoError {
|
|
9
|
+
constructor(tokenIn, tokenOut) {
|
|
10
|
+
super(`No route found for tokens ${tokenIn} and ${tokenOut}. They may not have a tradable path.`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.RouteNotFoundError = RouteNotFoundError;
|
|
14
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/core/errors/router.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AAEnC;;GAEG;AACH,MAAa,kBAAmB,SAAQ,iBAAU;IAChD,YAAY,OAAe,EAAE,QAAgB;QAC3C,KAAK,CACH,6BAA6B,OAAO,QAAQ,QAAQ,sCAAsC,CAC3F,CAAA;IACH,CAAC;CACF;AAND,gDAMC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ChainId } from '../constants/chainId';
|
|
2
|
+
/**
|
|
3
|
+
* All possible contract identifiers across all chains.
|
|
4
|
+
* Not all chains have all contracts deployed.
|
|
5
|
+
*/
|
|
6
|
+
export type ContractAddresses = {
|
|
7
|
+
FPMMFactory?: string;
|
|
8
|
+
VirtualPoolFactory?: string;
|
|
9
|
+
BreakerBox?: string;
|
|
10
|
+
MedianDeltaBreaker?: string;
|
|
11
|
+
SortedOracles?: string;
|
|
12
|
+
ValueDeltaBreaker?: string;
|
|
13
|
+
BiPoolManager?: string;
|
|
14
|
+
Broker?: string;
|
|
15
|
+
ConstantProductPricingModule?: string;
|
|
16
|
+
ConstantSumPricingModule?: string;
|
|
17
|
+
MentoRouter?: string;
|
|
18
|
+
Reserve?: string;
|
|
19
|
+
Airgrab?: string;
|
|
20
|
+
Emission?: string;
|
|
21
|
+
GovernanceFactory?: string;
|
|
22
|
+
Locking?: string;
|
|
23
|
+
MentoGovernor?: string;
|
|
24
|
+
MentoToken?: string;
|
|
25
|
+
TimelockController?: string;
|
|
26
|
+
StableToken?: string;
|
|
27
|
+
StableTokenEUR?: string;
|
|
28
|
+
StableTokenBRL?: string;
|
|
29
|
+
StableTokenXOF?: string;
|
|
30
|
+
Router?: string;
|
|
31
|
+
ReserveLiquidityStrategy?: string;
|
|
32
|
+
CDPLiquidityStrategy?: string;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Map of chain IDs to their contract addresses.
|
|
36
|
+
* Each chain may have a different subset of contracts deployed.
|
|
37
|
+
*/
|
|
38
|
+
export type ContractAddressMap = {
|
|
39
|
+
[key in ChainId]: ContractAddresses;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=contractAddresses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contractAddresses.d.ts","sourceRoot":"","sources":["../../../src/core/types/contractAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAG3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAG1B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;KAC9B,GAAG,IAAI,OAAO,GAAG,iBAAiB;CACpC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contractAddresses.js","sourceRoot":"","sources":["../../../src/core/types/contractAddresses.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./contractAddresses"), exports);
|
|
18
|
+
__exportStar(require("./transaction"), exports);
|
|
19
|
+
__exportStar(require("./token"), exports);
|
|
20
|
+
__exportStar(require("./route"), exports);
|
|
21
|
+
__exportStar(require("./pool"), exports);
|
|
22
|
+
__exportStar(require("./tradingMode"), exports);
|
|
23
|
+
__exportStar(require("./tradingLimits"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC;AACnC,gDAA6B;AAC7B,0CAAuB;AACvB,0CAAuB;AACvB,yCAAsB;AACtB,gDAA6B;AAC7B,kDAA+B"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types of liquidity pools supported in the Mento protocol
|
|
3
|
+
*/
|
|
4
|
+
export declare enum PoolType {
|
|
5
|
+
/** FPMM (Fixed Product Market Maker) pools - v3 native pools */
|
|
6
|
+
FPMM = "FPMM",
|
|
7
|
+
/** Virtual pools - wrapper around v2 BiPoolManager exchanges */
|
|
8
|
+
Virtual = "Virtual"
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Represents a liquidity pool between two tokens in the Mento protocol
|
|
12
|
+
*/
|
|
13
|
+
export interface Pool {
|
|
14
|
+
/**
|
|
15
|
+
* The address of the factory contract that was used to deploy this pool
|
|
16
|
+
*/
|
|
17
|
+
factoryAddr: string;
|
|
18
|
+
/**
|
|
19
|
+
* The deployed pool contract address (serves as unique identifier)
|
|
20
|
+
*/
|
|
21
|
+
poolAddr: string;
|
|
22
|
+
/**
|
|
23
|
+
* The address of the first token in the pool
|
|
24
|
+
*/
|
|
25
|
+
token0: string;
|
|
26
|
+
/**
|
|
27
|
+
* The address of the second token in the pool
|
|
28
|
+
*/
|
|
29
|
+
token1: string;
|
|
30
|
+
/**
|
|
31
|
+
* The type of pool (FPMM or Virtual)
|
|
32
|
+
*/
|
|
33
|
+
poolType: `${PoolType}`;
|
|
34
|
+
/**
|
|
35
|
+
* The exchange ID from BiPoolManager (Virtual pools only).
|
|
36
|
+
*/
|
|
37
|
+
exchangeId?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Pricing and oracle data for an FPMM pool
|
|
41
|
+
*/
|
|
42
|
+
export interface FPMMPricing {
|
|
43
|
+
/** Raw oracle price numerator from contract */
|
|
44
|
+
oraclePriceNum: bigint;
|
|
45
|
+
/** Raw oracle price denominator from contract */
|
|
46
|
+
oraclePriceDen: bigint;
|
|
47
|
+
/** Oracle price as a decimal number (num / den) */
|
|
48
|
+
oraclePrice: number;
|
|
49
|
+
/** Raw reserve/pool price numerator from contract */
|
|
50
|
+
reservePriceNum: bigint;
|
|
51
|
+
/** Raw reserve/pool price denominator from contract */
|
|
52
|
+
reservePriceDen: bigint;
|
|
53
|
+
/** Reserve/pool price as a decimal number (num / den) */
|
|
54
|
+
reservePrice: number;
|
|
55
|
+
/** Price difference in basis points (raw from contract) */
|
|
56
|
+
priceDifferenceBps: bigint;
|
|
57
|
+
/** Price difference as a percentage (bps / 100, e.g. 12 bps → 0.12%) */
|
|
58
|
+
priceDifferencePercent: number;
|
|
59
|
+
/** Whether the reserve/pool price is above the oracle price */
|
|
60
|
+
reservePriceAboveOraclePrice: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Fee configuration for an FPMM pool
|
|
64
|
+
*/
|
|
65
|
+
export interface FPMMFees {
|
|
66
|
+
/** LP fee in basis points (raw) */
|
|
67
|
+
lpFeeBps: bigint;
|
|
68
|
+
/** LP fee as a percentage (e.g. 0.25 = 0.25%) */
|
|
69
|
+
lpFeePercent: number;
|
|
70
|
+
/** Protocol fee in basis points (raw) */
|
|
71
|
+
protocolFeeBps: bigint;
|
|
72
|
+
/** Protocol fee as a percentage */
|
|
73
|
+
protocolFeePercent: number;
|
|
74
|
+
/** Total fee (lpFee + protocolFee) as a percentage */
|
|
75
|
+
totalFeePercent: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Rebalancing state and configuration for an FPMM pool
|
|
79
|
+
*/
|
|
80
|
+
export interface FPMMRebalancing {
|
|
81
|
+
/** Rebalance incentive in basis points (raw) */
|
|
82
|
+
rebalanceIncentiveBps: bigint;
|
|
83
|
+
/** Rebalance incentive as a percentage */
|
|
84
|
+
rebalanceIncentivePercent: number;
|
|
85
|
+
/** Threshold above oracle price in basis points (raw) */
|
|
86
|
+
rebalanceThresholdAboveBps: bigint;
|
|
87
|
+
/** Threshold above as a percentage */
|
|
88
|
+
rebalanceThresholdAbovePercent: number;
|
|
89
|
+
/** Threshold below oracle price in basis points (raw) */
|
|
90
|
+
rebalanceThresholdBelowBps: bigint;
|
|
91
|
+
/** Threshold below as a percentage */
|
|
92
|
+
rebalanceThresholdBelowPercent: number;
|
|
93
|
+
/** Whether the current price is within rebalancing thresholds */
|
|
94
|
+
inBand: boolean;
|
|
95
|
+
/** The active liquidity strategy address for this pool, or null if none */
|
|
96
|
+
liquidityStrategy: string | null;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Enriched details for an FPMM pool including pricing, fees, and rebalancing state
|
|
100
|
+
*/
|
|
101
|
+
export interface FPMMPoolDetails extends Pool {
|
|
102
|
+
poolType: 'FPMM';
|
|
103
|
+
/** Scaling factor for token0 (10^tokenDecimals) */
|
|
104
|
+
decimals0: bigint;
|
|
105
|
+
/** Scaling factor for token1 (10^tokenDecimals) */
|
|
106
|
+
decimals1: bigint;
|
|
107
|
+
/** Reserve of token0 (raw) */
|
|
108
|
+
reserve0: bigint;
|
|
109
|
+
/** Reserve of token1 (raw) */
|
|
110
|
+
reserve1: bigint;
|
|
111
|
+
/** Block timestamp of last reserve update */
|
|
112
|
+
blockTimestampLast: bigint;
|
|
113
|
+
/** Pricing and oracle data */
|
|
114
|
+
pricing: FPMMPricing;
|
|
115
|
+
/** Fee configuration */
|
|
116
|
+
fees: FPMMFees;
|
|
117
|
+
/** Rebalancing state */
|
|
118
|
+
rebalancing: FPMMRebalancing;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Enriched details for a Virtual pool including reserves and spread
|
|
122
|
+
*/
|
|
123
|
+
export interface VirtualPoolDetails extends Pool {
|
|
124
|
+
poolType: 'Virtual';
|
|
125
|
+
/** Scaling factor for token0 (10^tokenDecimals) */
|
|
126
|
+
decimals0: bigint;
|
|
127
|
+
/** Scaling factor for token1 (10^tokenDecimals) */
|
|
128
|
+
decimals1: bigint;
|
|
129
|
+
/** Reserve (bucket) of token0 (raw) */
|
|
130
|
+
reserve0: bigint;
|
|
131
|
+
/** Reserve (bucket) of token1 (raw) */
|
|
132
|
+
reserve1: bigint;
|
|
133
|
+
/** Block timestamp of last reserve update */
|
|
134
|
+
blockTimestampLast: bigint;
|
|
135
|
+
/** Spread/fee in basis points (raw) */
|
|
136
|
+
spreadBps: bigint;
|
|
137
|
+
/** Spread as a percentage (e.g. 0.5 = 0.5%) */
|
|
138
|
+
spreadPercent: number;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Discriminated union of enriched pool details.
|
|
142
|
+
* Use `poolType` to narrow the type.
|
|
143
|
+
*/
|
|
144
|
+
export type PoolDetails = FPMMPoolDetails | VirtualPoolDetails;
|
|
145
|
+
//# sourceMappingURL=pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/core/types/pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PoolType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Types of liquidity pools supported in the Mento protocol
|
|
6
|
+
*/
|
|
7
|
+
var PoolType;
|
|
8
|
+
(function (PoolType) {
|
|
9
|
+
/** FPMM (Fixed Product Market Maker) pools - v3 native pools */
|
|
10
|
+
PoolType["FPMM"] = "FPMM";
|
|
11
|
+
/** Virtual pools - wrapper around v2 BiPoolManager exchanges */
|
|
12
|
+
PoolType["Virtual"] = "Virtual";
|
|
13
|
+
})(PoolType || (exports.PoolType = PoolType = {}));
|
|
14
|
+
//# sourceMappingURL=pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/core/types/pool.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,gEAAgE;IAChE,yBAAa,CAAA;IACb,gEAAgE;IAChE,+BAAmB,CAAA;AACrB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface ContractCallOptions {
|
|
2
|
+
address: string;
|
|
3
|
+
abi: string[] | unknown[];
|
|
4
|
+
functionName: string;
|
|
5
|
+
args?: unknown[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Contract write options for building call parameters
|
|
9
|
+
*
|
|
10
|
+
* Configuration for building transaction call parameters for write operations.
|
|
11
|
+
* These parameters can be used by consumers to execute transactions themselves.
|
|
12
|
+
*/
|
|
13
|
+
export interface ContractWriteOptions extends ContractCallOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Optional gas limit override
|
|
16
|
+
* If not provided, will be estimated automatically
|
|
17
|
+
*/
|
|
18
|
+
gasLimit?: bigint;
|
|
19
|
+
/**
|
|
20
|
+
* Transaction value in wei
|
|
21
|
+
* For payable functions only
|
|
22
|
+
*/
|
|
23
|
+
value?: bigint;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Call parameters for executing a contract transaction
|
|
27
|
+
*
|
|
28
|
+
* Contains all the data needed to execute a contract call.
|
|
29
|
+
* Consumers can use these parameters with their own wallet/signer to execute transactions.
|
|
30
|
+
*/
|
|
31
|
+
export interface CallParams {
|
|
32
|
+
/**
|
|
33
|
+
* Contract address to call
|
|
34
|
+
*/
|
|
35
|
+
to: string;
|
|
36
|
+
/**
|
|
37
|
+
* Encoded function call data (hex string)
|
|
38
|
+
*/
|
|
39
|
+
data: string;
|
|
40
|
+
/**
|
|
41
|
+
* Transaction value in wei (hex string with 0x prefix)
|
|
42
|
+
*/
|
|
43
|
+
value: string;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/core/types/provider.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/core/types/provider.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Pool } from './pool';
|
|
2
|
+
import { RouteToken } from './token';
|
|
3
|
+
/**
|
|
4
|
+
* Route identifier: sorted symbols joined with hyphen
|
|
5
|
+
* Represents the two endpoint tokens regardless of the path taken
|
|
6
|
+
*/
|
|
7
|
+
export type RouteID = `${string}-${string}`;
|
|
8
|
+
/**
|
|
9
|
+
* Represents a tradable route between two tokens, including the pool path needed to execute the trade
|
|
10
|
+
*/
|
|
11
|
+
export interface Route {
|
|
12
|
+
/**
|
|
13
|
+
* Canonical identifier: sorted symbols joined with hyphen
|
|
14
|
+
* Always uses alphabetical order (e.g., 'EURm-USDm' not 'USDm-EURm')
|
|
15
|
+
* Ensures consistent identification regardless of query direction
|
|
16
|
+
*/
|
|
17
|
+
id: RouteID;
|
|
18
|
+
/**
|
|
19
|
+
* The two tokens being traded, in alphabetical order by symbol
|
|
20
|
+
* Always [symbolA, symbolB] where symbolA < symbolB alphabetically
|
|
21
|
+
*/
|
|
22
|
+
tokens: [RouteToken, RouteToken];
|
|
23
|
+
/**
|
|
24
|
+
* Array of exchange hops needed to execute the trade
|
|
25
|
+
* Length 1: Direct route (single pool)
|
|
26
|
+
* Length 2: Two-hop route via intermediate token through two pools
|
|
27
|
+
* Order matters for execution
|
|
28
|
+
*/
|
|
29
|
+
path: Array<Pool>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Extended route with cost data for route optimization
|
|
33
|
+
*/
|
|
34
|
+
export interface RouteWithCost extends Route {
|
|
35
|
+
/**
|
|
36
|
+
* Cost data for this route
|
|
37
|
+
* Used to select optimal route when multiple options exist
|
|
38
|
+
*/
|
|
39
|
+
costData: {
|
|
40
|
+
/**
|
|
41
|
+
* Total cost percentage for this route
|
|
42
|
+
* Lower is better (more cost-efficient)
|
|
43
|
+
* Example: 0.3 means 0.3% cost
|
|
44
|
+
*/
|
|
45
|
+
totalCostPercent: number;
|
|
46
|
+
/**
|
|
47
|
+
* Per-hop cost breakdown
|
|
48
|
+
* Used for detailed cost analysis and debugging
|
|
49
|
+
*/
|
|
50
|
+
hops: Array<{
|
|
51
|
+
/**
|
|
52
|
+
* Pool Address for this hop
|
|
53
|
+
*/
|
|
54
|
+
poolAddress: string;
|
|
55
|
+
/**
|
|
56
|
+
* Cost percentage for this specific hop
|
|
57
|
+
*/
|
|
58
|
+
costPercent: number;
|
|
59
|
+
}>;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/core/types/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;AAE3C;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB;;;;OAIG;IACH,EAAE,EAAE,OAAO,CAAA;IAEX;;;OAGG;IACH,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEhC;;;;;OAKG;IACH,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C;;;OAGG;IACH,QAAQ,EAAE;QACR;;;;WAIG;QACH,gBAAgB,EAAE,MAAM,CAAA;QAExB;;;WAGG;QACH,IAAI,EAAE,KAAK,CAAC;YACV;;eAEG;YACH,WAAW,EAAE,MAAM,CAAA;YAEnB;;eAEG;YACH,WAAW,EAAE,MAAM,CAAA;SACpB,CAAC,CAAA;KACH,CAAA;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/core/types/route.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import { ISupplyCalculator } from '
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ISupplyCalculator } from '../../services';
|
|
2
|
+
/**
|
|
3
|
+
* Minimal token info for routing purposes.
|
|
4
|
+
* Contains only the fields needed to identify and route between tokens.
|
|
5
|
+
*/
|
|
6
|
+
export interface RouteToken {
|
|
5
7
|
address: string;
|
|
8
|
+
symbol: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Full token info for consumer-facing operations.
|
|
12
|
+
* Extends RouteToken with display and transaction fields.
|
|
13
|
+
*/
|
|
14
|
+
export interface Token extends RouteToken {
|
|
15
|
+
name: string;
|
|
6
16
|
decimals: number;
|
|
7
17
|
}
|
|
8
|
-
export interface StableToken extends
|
|
18
|
+
export interface StableToken extends Token {
|
|
9
19
|
totalSupply: string;
|
|
10
20
|
}
|
|
11
|
-
export type CollateralAsset =
|
|
21
|
+
export type CollateralAsset = Token;
|
|
12
22
|
/**
|
|
13
23
|
* A supply adjustment is a calculator that is used to adjust the supply of a token.
|
|
14
24
|
* It takes the address of the token and will return the amount that should be removed
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/core/types/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,KAAM,SAAQ,UAAU;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CAAA;CACnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/core/types/token.ts"],"names":[],"mappings":""}
|