@mento-protocol/mento-sdk 3.2.7 → 3.3.0-beta.0
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/cache/routes.d.ts +13 -0
- package/dist/cache/routes.js +14588 -0
- package/dist/cache/tokens.d.ts +68 -0
- package/dist/cache/tokens.js +514 -0
- package/dist/core/abis/activePool.d.ts +2 -0
- package/dist/core/abis/activePool.js +14 -0
- package/dist/core/abis/addressesRegistry.d.ts +2 -0
- package/dist/core/abis/addressesRegistry.js +26 -0
- package/dist/core/abis/bipoolmanager.d.ts +34 -0
- package/dist/core/abis/bipoolmanager.js +72 -0
- package/dist/core/abis/borrowerOperations.d.ts +9 -0
- package/dist/core/abis/borrowerOperations.js +89 -0
- package/dist/core/abis/breakerbox.d.ts +13 -0
- package/dist/core/abis/breakerbox.js +8 -0
- package/dist/core/abis/broker.d.ts +2 -0
- package/dist/core/abis/broker.js +9 -0
- package/dist/core/abis/erc20.d.ts +9 -0
- package/dist/core/abis/erc20.js +21 -0
- package/dist/core/abis/fpmm.d.ts +270 -0
- package/dist/core/abis/fpmm.js +49 -0
- package/dist/core/abis/fpmmFactory.d.ts +85 -0
- package/dist/core/abis/fpmmFactory.js +26 -0
- package/dist/core/abis/hintHelpers.d.ts +2 -0
- package/dist/core/abis/hintHelpers.js +14 -0
- package/dist/core/abis/index.d.ts +22 -0
- package/dist/core/abis/index.js +38 -0
- package/dist/core/abis/liquidityStrategy.d.ts +132 -0
- package/dist/core/abis/liquidityStrategy.js +10 -0
- package/dist/core/abis/multiTroveGetter.d.ts +8 -0
- package/dist/core/abis/multiTroveGetter.js +15 -0
- package/dist/core/abis/priceFeed.d.ts +7 -0
- package/dist/core/abis/priceFeed.js +16 -0
- package/dist/core/abis/pricingmodule.d.ts +2 -0
- package/dist/core/abis/pricingmodule.js +6 -0
- package/dist/core/abis/reserve.d.ts +3 -0
- package/dist/core/abis/reserve.js +18 -0
- package/dist/core/abis/router.d.ts +521 -0
- package/dist/core/abis/router.js +45 -0
- package/dist/core/abis/sortedTroves.d.ts +2 -0
- package/dist/core/abis/sortedTroves.js +15 -0
- package/dist/core/abis/systemParams.d.ts +2 -0
- package/dist/core/abis/systemParams.js +14 -0
- package/dist/core/abis/troveManager.d.ts +2 -0
- package/dist/core/abis/troveManager.js +27 -0
- package/dist/core/abis/troveNFT.d.ts +2 -0
- package/dist/core/abis/troveNFT.js +9 -0
- package/dist/core/abis/virtualPool.d.ts +50 -0
- package/dist/core/abis/virtualPool.js +11 -0
- package/dist/core/abis/virtualPoolFactory.d.ts +59 -0
- package/dist/core/abis/virtualPoolFactory.js +17 -0
- package/dist/core/constants/addresses.d.ts +18 -0
- package/dist/core/constants/addresses.js +125 -0
- package/dist/core/constants/borrowConstants.d.ts +10 -0
- package/dist/core/constants/borrowConstants.js +16 -0
- package/dist/core/constants/borrowRegistries.d.ts +7 -0
- package/dist/core/constants/borrowRegistries.js +34 -0
- package/dist/core/constants/chainId.d.ts +8 -0
- package/dist/core/constants/chainId.js +12 -0
- package/dist/core/constants/contractNames.d.ts +21 -0
- package/dist/core/constants/contractNames.js +24 -0
- package/dist/core/constants/index.d.ts +6 -0
- package/dist/core/constants/index.js +22 -0
- package/dist/core/errors/base.d.ts +8 -0
- package/dist/core/errors/base.js +17 -0
- package/dist/core/errors/index.d.ts +4 -0
- package/dist/core/errors/index.js +20 -0
- package/dist/core/errors/oracle.d.ts +9 -0
- package/dist/core/errors/oracle.js +15 -0
- package/dist/core/errors/router.d.ts +14 -0
- package/dist/core/errors/router.js +24 -0
- package/dist/core/types/borrow.d.ts +87 -0
- package/dist/core/types/borrow.js +3 -0
- package/dist/core/types/contractAddresses.d.ts +42 -0
- package/dist/core/types/contractAddresses.js +3 -0
- package/dist/core/types/index.d.ts +10 -0
- package/dist/core/types/index.js +26 -0
- package/dist/core/types/liquidity.d.ts +194 -0
- package/dist/core/types/liquidity.js +3 -0
- package/dist/core/types/pool.d.ts +208 -0
- package/dist/core/types/pool.js +14 -0
- package/dist/core/types/provider.d.ts +45 -0
- package/dist/core/types/provider.js +3 -0
- package/dist/core/types/route.d.ts +62 -0
- package/dist/core/types/route.js +3 -0
- package/dist/core/types/token.d.ts +21 -0
- package/dist/core/types/token.js +3 -0
- package/dist/core/types/tradingLimits.d.ts +91 -0
- package/dist/core/types/tradingLimits.js +3 -0
- package/dist/core/types/tradingMode.d.ts +24 -0
- package/dist/core/types/tradingMode.js +31 -0
- package/dist/core/types/transaction.d.ts +45 -0
- package/dist/core/types/transaction.js +3 -0
- package/dist/esm/cache/routes.js +14583 -0
- package/dist/esm/cache/tokens.js +506 -0
- package/dist/esm/core/abis/activePool.js +10 -0
- package/dist/esm/core/abis/addressesRegistry.js +22 -0
- package/dist/esm/core/abis/bipoolmanager.js +68 -0
- package/dist/esm/core/abis/borrowerOperations.js +85 -0
- package/dist/esm/core/abis/breakerbox.js +4 -0
- package/dist/esm/core/abis/broker.js +5 -0
- package/dist/esm/core/abis/erc20.js +17 -0
- package/dist/esm/core/abis/fpmm.js +45 -0
- package/dist/esm/core/abis/fpmmFactory.js +22 -0
- package/dist/esm/core/abis/hintHelpers.js +10 -0
- package/dist/esm/core/abis/index.js +21 -0
- package/dist/esm/core/abis/liquidityStrategy.js +6 -0
- package/dist/esm/core/abis/multiTroveGetter.js +11 -0
- package/dist/esm/core/abis/priceFeed.js +12 -0
- package/dist/esm/core/abis/pricingmodule.js +2 -0
- package/dist/esm/core/abis/reserve.js +14 -0
- package/dist/esm/core/abis/router.js +41 -0
- package/dist/esm/core/abis/sortedTroves.js +11 -0
- package/dist/esm/core/abis/systemParams.js +10 -0
- package/dist/esm/core/abis/troveManager.js +23 -0
- package/dist/esm/core/abis/troveNFT.js +5 -0
- package/dist/esm/core/abis/virtualPool.js +7 -0
- package/dist/esm/core/abis/virtualPoolFactory.js +13 -0
- package/dist/esm/core/constants/addresses.js +119 -0
- package/dist/esm/core/constants/borrowConstants.js +12 -0
- package/dist/esm/core/constants/borrowRegistries.js +29 -0
- package/dist/esm/core/constants/chainId.js +8 -0
- package/dist/esm/core/constants/contractNames.js +20 -0
- package/dist/esm/core/constants/index.js +5 -0
- package/dist/esm/core/errors/base.js +12 -0
- package/dist/esm/core/errors/index.js +3 -0
- package/dist/esm/core/errors/oracle.js +10 -0
- package/dist/esm/core/errors/router.js +18 -0
- package/dist/esm/core/types/borrow.js +1 -0
- package/dist/esm/core/types/contractAddresses.js +1 -0
- package/dist/esm/core/types/index.js +9 -0
- package/dist/esm/core/types/liquidity.js +1 -0
- package/dist/esm/core/types/pool.js +10 -0
- package/dist/esm/core/types/provider.js +1 -0
- package/dist/esm/core/types/route.js +1 -0
- package/dist/esm/core/types/token.js +1 -0
- package/dist/esm/core/types/tradingLimits.js +1 -0
- package/dist/esm/core/types/tradingMode.js +26 -0
- package/dist/esm/core/types/transaction.js +1 -0
- package/dist/esm/index.js +139 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/services/borrow/BorrowService.js +455 -0
- package/dist/esm/services/borrow/borrowHelpers.js +3 -0
- package/dist/esm/services/borrow/borrowMath.js +127 -0
- package/dist/esm/services/borrow/index.js +3 -0
- package/dist/esm/services/borrow/internal/borrowApprovalService.js +48 -0
- package/dist/esm/services/borrow/internal/borrowContextStore.js +35 -0
- package/dist/esm/services/borrow/internal/borrowErc20.js +38 -0
- package/dist/esm/services/borrow/internal/borrowHints.js +27 -0
- package/dist/esm/services/borrow/internal/borrowPositionParser.js +82 -0
- package/dist/esm/services/borrow/internal/borrowReadService.js +271 -0
- package/dist/esm/services/borrow/internal/borrowRegistryReader.js +108 -0
- package/dist/esm/services/borrow/internal/borrowTransactionService.js +271 -0
- package/dist/esm/services/borrow/internal/borrowTypes.js +1 -0
- package/dist/esm/services/borrow/internal/borrowValidation.js +89 -0
- package/dist/esm/services/index.js +8 -0
- package/dist/esm/services/liquidity/LiquidityService.js +163 -0
- package/dist/esm/services/liquidity/basicLiquidity.js +162 -0
- package/dist/esm/services/liquidity/index.js +1 -0
- package/dist/esm/services/liquidity/liquidityHelpers.js +95 -0
- package/dist/esm/services/liquidity/rebalance.js +59 -0
- package/dist/esm/services/liquidity/zapHelpers.js +181 -0
- package/dist/esm/services/liquidity/zapIn.js +131 -0
- package/dist/esm/services/liquidity/zapOut.js +248 -0
- package/dist/esm/services/pools/PoolService.js +204 -0
- package/dist/esm/services/pools/index.js +1 -0
- package/dist/esm/services/pools/poolDetails.js +209 -0
- package/dist/esm/services/pools/poolDiscovery.js +112 -0
- package/dist/esm/services/pools/rebalancePreview.js +181 -0
- package/dist/esm/services/quotes/QuoteService.js +85 -0
- package/dist/esm/services/quotes/index.js +1 -0
- package/dist/esm/services/routes/RouteService.js +268 -0
- package/dist/esm/services/routes/index.js +1 -0
- package/dist/esm/services/swap/SwapService.js +247 -0
- package/dist/esm/services/swap/index.js +1 -0
- package/dist/esm/services/tokens/index.js +1 -0
- package/dist/esm/services/tokens/tokenService.js +285 -0
- package/dist/esm/services/trading/TradingLimitsService.js +154 -0
- package/dist/esm/services/trading/TradingService.js +222 -0
- package/dist/esm/services/trading/index.js +2 -0
- package/dist/esm/utils/chainConfig.js +122 -0
- package/dist/esm/utils/costUtils.js +56 -0
- package/dist/esm/utils/deadline.js +22 -0
- package/dist/esm/utils/index.js +9 -0
- package/dist/esm/utils/multicall.js +47 -0
- package/dist/esm/utils/pathEncoder.js +69 -0
- package/dist/esm/utils/rateFeed.js +23 -0
- package/dist/esm/utils/retry.js +24 -0
- package/dist/esm/utils/routeUtils.js +361 -0
- package/dist/esm/utils/routes.js +2 -0
- package/dist/esm/utils/sortUtils.js +33 -0
- package/dist/esm/utils/tokens.js +2 -0
- package/dist/esm/utils/tradingLimits.js +163 -0
- package/dist/esm/utils/validation.js +30 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.js +158 -0
- package/dist/services/borrow/BorrowService.d.ts +381 -0
- package/dist/services/borrow/BorrowService.js +460 -0
- package/dist/services/borrow/borrowHelpers.d.ts +4 -0
- package/dist/services/borrow/borrowHelpers.js +13 -0
- package/dist/services/borrow/borrowMath.d.ts +21 -0
- package/dist/services/borrow/borrowMath.js +137 -0
- package/dist/services/borrow/index.d.ts +4 -0
- package/dist/services/borrow/index.js +20 -0
- package/dist/services/borrow/internal/borrowApprovalService.d.ts +14 -0
- package/dist/services/borrow/internal/borrowApprovalService.js +53 -0
- package/dist/services/borrow/internal/borrowContextStore.d.ts +11 -0
- package/dist/services/borrow/internal/borrowContextStore.js +40 -0
- package/dist/services/borrow/internal/borrowErc20.d.ts +5 -0
- package/dist/services/borrow/internal/borrowErc20.js +43 -0
- package/dist/services/borrow/internal/borrowHints.d.ts +7 -0
- package/dist/services/borrow/internal/borrowHints.js +31 -0
- package/dist/services/borrow/internal/borrowPositionParser.d.ts +4 -0
- package/dist/services/borrow/internal/borrowPositionParser.js +87 -0
- package/dist/services/borrow/internal/borrowReadService.d.ts +31 -0
- package/dist/services/borrow/internal/borrowReadService.js +276 -0
- package/dist/services/borrow/internal/borrowRegistryReader.d.ts +5 -0
- package/dist/services/borrow/internal/borrowRegistryReader.js +113 -0
- package/dist/services/borrow/internal/borrowTransactionService.d.ts +23 -0
- package/dist/services/borrow/internal/borrowTransactionService.js +276 -0
- package/dist/services/borrow/internal/borrowTypes.d.ts +15 -0
- package/dist/services/borrow/internal/borrowTypes.js +3 -0
- package/dist/services/borrow/internal/borrowValidation.d.ts +14 -0
- package/dist/services/borrow/internal/borrowValidation.js +104 -0
- package/dist/services/index.d.ts +9 -0
- package/dist/services/index.js +25 -0
- package/dist/services/liquidity/LiquidityService.d.ts +139 -0
- package/dist/services/liquidity/LiquidityService.js +168 -0
- package/dist/services/liquidity/basicLiquidity.d.ts +11 -0
- package/dist/services/liquidity/basicLiquidity.js +172 -0
- package/dist/services/liquidity/index.d.ts +2 -0
- package/dist/services/liquidity/index.js +18 -0
- package/dist/services/liquidity/liquidityHelpers.d.ts +19 -0
- package/dist/services/liquidity/liquidityHelpers.js +104 -0
- package/dist/services/liquidity/rebalance.d.ts +6 -0
- package/dist/services/liquidity/rebalance.js +64 -0
- package/dist/services/liquidity/zapHelpers.d.ts +100 -0
- package/dist/services/liquidity/zapHelpers.js +192 -0
- package/dist/services/liquidity/zapIn.d.ts +18 -0
- package/dist/services/liquidity/zapIn.js +138 -0
- package/dist/services/liquidity/zapOut.d.ts +9 -0
- package/dist/services/liquidity/zapOut.js +255 -0
- package/dist/services/pools/PoolService.d.ts +69 -0
- package/dist/services/pools/PoolService.js +209 -0
- package/dist/services/pools/index.d.ts +2 -0
- package/dist/services/pools/index.js +18 -0
- package/dist/services/pools/poolDetails.d.ts +13 -0
- package/dist/services/pools/poolDetails.js +216 -0
- package/dist/services/pools/poolDiscovery.d.ts +12 -0
- package/dist/services/pools/poolDiscovery.js +117 -0
- package/dist/services/pools/rebalancePreview.d.ts +5 -0
- package/dist/services/pools/rebalancePreview.js +186 -0
- package/dist/services/quotes/QuoteService.d.ts +51 -0
- package/dist/services/quotes/QuoteService.js +91 -0
- package/dist/services/quotes/index.d.ts +2 -0
- package/dist/services/quotes/index.js +18 -0
- package/dist/services/routes/RouteService.d.ts +117 -0
- package/dist/services/routes/RouteService.js +306 -0
- package/dist/services/routes/index.d.ts +2 -0
- package/dist/services/routes/index.js +18 -0
- package/dist/services/swap/SwapService.d.ts +198 -0
- package/dist/services/swap/SwapService.js +252 -0
- package/dist/services/swap/index.d.ts +2 -0
- package/dist/services/swap/index.js +18 -0
- package/dist/services/tokens/index.d.ts +2 -0
- package/dist/services/tokens/index.js +18 -0
- package/dist/services/tokens/tokenService.d.ts +55 -0
- package/dist/services/tokens/tokenService.js +290 -0
- package/dist/services/trading/TradingLimitsService.d.ts +38 -0
- package/dist/services/trading/TradingLimitsService.js +159 -0
- package/dist/services/trading/TradingService.d.ts +115 -0
- package/dist/services/trading/TradingService.js +227 -0
- package/dist/services/trading/index.d.ts +3 -0
- package/dist/services/trading/index.js +19 -0
- package/dist/utils/chainConfig.d.ts +16 -0
- package/dist/utils/chainConfig.js +127 -0
- package/dist/utils/costUtils.d.ts +12 -0
- package/dist/utils/costUtils.js +60 -0
- package/dist/utils/deadline.d.ts +21 -0
- package/dist/utils/deadline.js +26 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.js +26 -0
- package/dist/utils/multicall.d.ts +30 -0
- package/dist/utils/multicall.js +52 -0
- package/dist/utils/pathEncoder.d.ts +34 -0
- package/dist/utils/pathEncoder.js +73 -0
- package/dist/utils/rateFeed.d.ts +18 -0
- package/dist/utils/rateFeed.js +27 -0
- package/dist/utils/retry.d.ts +12 -0
- package/dist/utils/retry.js +28 -0
- package/dist/utils/routeUtils.d.ts +295 -0
- package/dist/utils/routeUtils.js +371 -0
- package/dist/utils/routes.d.ts +3 -0
- package/dist/utils/routes.js +8 -0
- package/dist/utils/sortUtils.d.ts +24 -0
- package/dist/utils/sortUtils.js +39 -0
- package/dist/utils/tokens.d.ts +2 -0
- package/dist/utils/tokens.js +13 -0
- package/dist/utils/tradingLimits.d.ts +41 -0
- package/dist/utils/tradingLimits.js +171 -0
- package/dist/utils/validation.d.ts +19 -0
- package/dist/utils/validation.js +34 -0
- package/package.json +1 -1
|
@@ -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,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal token info for routing purposes.
|
|
3
|
+
* Contains only the fields needed to identify and route between tokens.
|
|
4
|
+
*/
|
|
5
|
+
export interface RouteToken {
|
|
6
|
+
address: string;
|
|
7
|
+
symbol: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Full token info for consumer-facing operations.
|
|
11
|
+
* Extends RouteToken with display and transaction fields.
|
|
12
|
+
*/
|
|
13
|
+
export interface Token extends RouteToken {
|
|
14
|
+
name: string;
|
|
15
|
+
decimals: number;
|
|
16
|
+
}
|
|
17
|
+
export interface StableToken extends Token {
|
|
18
|
+
totalSupply: string;
|
|
19
|
+
}
|
|
20
|
+
export type CollateralAsset = Token;
|
|
21
|
+
//# sourceMappingURL=token.d.ts.map
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-friendly representation of a trading limit.
|
|
3
|
+
* Used by frontends to display limit status and calculate remaining capacity.
|
|
4
|
+
*/
|
|
5
|
+
export interface TradingLimit {
|
|
6
|
+
/** Token address this limit applies to */
|
|
7
|
+
asset: string;
|
|
8
|
+
/** Maximum amount that can flow IN (raw value - V1: 0 decimals, V2: 15 decimals) */
|
|
9
|
+
maxIn: bigint;
|
|
10
|
+
/** Maximum amount that can flow OUT (raw value - V1: 0 decimals, V2: 15 decimals) */
|
|
11
|
+
maxOut: bigint;
|
|
12
|
+
/** Unix timestamp when this limit window resets */
|
|
13
|
+
until: number;
|
|
14
|
+
/** Token decimals for consumer scaling */
|
|
15
|
+
decimals: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Trading limits configuration for V1 (Broker/Virtual pools).
|
|
19
|
+
* Uses configurable timeframes and 0 decimal precision.
|
|
20
|
+
*/
|
|
21
|
+
export interface TradingLimitsConfigV1 {
|
|
22
|
+
/** Time window in seconds for L0 limit */
|
|
23
|
+
timestep0: number;
|
|
24
|
+
/** Time window in seconds for L1 limit */
|
|
25
|
+
timestep1: number;
|
|
26
|
+
/** L0 limit value (0 decimal precision) */
|
|
27
|
+
limit0: bigint;
|
|
28
|
+
/** L1 limit value (0 decimal precision) */
|
|
29
|
+
limit1: bigint;
|
|
30
|
+
/** Global limit value (0 decimal precision) */
|
|
31
|
+
limitGlobal: bigint;
|
|
32
|
+
/** Flags bitmap: bit 0=L0, bit 1=L1, bit 2=LG */
|
|
33
|
+
flags: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Trading limits state for V1 (Broker/Virtual pools).
|
|
37
|
+
*/
|
|
38
|
+
export interface TradingLimitsStateV1 {
|
|
39
|
+
/** Timestamp of last L0 window reset */
|
|
40
|
+
lastUpdated0: number;
|
|
41
|
+
/** Timestamp of last L1 window reset */
|
|
42
|
+
lastUpdated1: number;
|
|
43
|
+
/** Current netflow for L0 (0 decimal precision) */
|
|
44
|
+
netflow0: bigint;
|
|
45
|
+
/** Current netflow for L1 (0 decimal precision) */
|
|
46
|
+
netflow1: bigint;
|
|
47
|
+
/** Current global netflow (0 decimal precision) */
|
|
48
|
+
netflowGlobal: bigint;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Trading limits configuration for V2 (FPMM pools).
|
|
52
|
+
* Uses fixed timeframes (5 min for L0, 1 day for L1) and 15 decimal precision.
|
|
53
|
+
*/
|
|
54
|
+
export interface TradingLimitsConfigV2 {
|
|
55
|
+
/** L0 limit value (15 decimal precision) */
|
|
56
|
+
limit0: bigint;
|
|
57
|
+
/** L1 limit value (15 decimal precision) */
|
|
58
|
+
limit1: bigint;
|
|
59
|
+
/** Token decimals */
|
|
60
|
+
decimals: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Trading limits state for V2 (FPMM pools).
|
|
64
|
+
*/
|
|
65
|
+
export interface TradingLimitsStateV2 {
|
|
66
|
+
/** Timestamp of last L0 window reset */
|
|
67
|
+
lastUpdated0: number;
|
|
68
|
+
/** Timestamp of last L1 window reset */
|
|
69
|
+
lastUpdated1: number;
|
|
70
|
+
/** Current netflow for L0 (15 decimal precision) */
|
|
71
|
+
netflow0: bigint;
|
|
72
|
+
/** Current netflow for L1 (15 decimal precision) */
|
|
73
|
+
netflow1: bigint;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Combined tradability status for a pool.
|
|
77
|
+
* Separates circuit breaker and trading limits for distinct UI messaging.
|
|
78
|
+
*/
|
|
79
|
+
export interface PoolTradabilityStatus {
|
|
80
|
+
/** Overall tradability (circuitBreakerOk AND limitsOk) */
|
|
81
|
+
tradable: boolean;
|
|
82
|
+
/** Circuit breaker status - true if not tripped */
|
|
83
|
+
circuitBreakerOk: boolean;
|
|
84
|
+
/** Raw trading mode value (0 = BIDIRECTIONAL, non-zero = suspended) */
|
|
85
|
+
tradingMode: number;
|
|
86
|
+
/** Trading limits status - true if limits not exhausted */
|
|
87
|
+
limitsOk: boolean;
|
|
88
|
+
/** Detailed limit info for UI display */
|
|
89
|
+
limits: TradingLimit[];
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=tradingLimits.d.ts.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trading modes for rate feeds in the BreakerBox circuit breaker.
|
|
3
|
+
*
|
|
4
|
+
* The BreakerBox uses a bitmask approach where multiple breakers can
|
|
5
|
+
* contribute to the final trading mode. In practice:
|
|
6
|
+
* - 0 = Bidirectional (trading enabled)
|
|
7
|
+
* - Any non-zero value = Trading suspended
|
|
8
|
+
*
|
|
9
|
+
* For SDK consumers, use isTradingEnabled() helper to check if trading
|
|
10
|
+
* is allowed.
|
|
11
|
+
*/
|
|
12
|
+
export declare enum TradingMode {
|
|
13
|
+
/** Bidirectional trading is enabled (normal operation) */
|
|
14
|
+
BIDIRECTIONAL = 0,
|
|
15
|
+
/** Trading is suspended (circuit breaker tripped) - any non-zero value */
|
|
16
|
+
SUSPENDED = 1
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Check if trading is enabled for a given trading mode.
|
|
20
|
+
* @param mode - The trading mode value from BreakerBox
|
|
21
|
+
* @returns true if trading is enabled (mode === 0)
|
|
22
|
+
*/
|
|
23
|
+
export declare function isTradingEnabled(mode: number): boolean;
|
|
24
|
+
//# sourceMappingURL=tradingMode.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TradingMode = void 0;
|
|
4
|
+
exports.isTradingEnabled = isTradingEnabled;
|
|
5
|
+
/**
|
|
6
|
+
* Trading modes for rate feeds in the BreakerBox circuit breaker.
|
|
7
|
+
*
|
|
8
|
+
* The BreakerBox uses a bitmask approach where multiple breakers can
|
|
9
|
+
* contribute to the final trading mode. In practice:
|
|
10
|
+
* - 0 = Bidirectional (trading enabled)
|
|
11
|
+
* - Any non-zero value = Trading suspended
|
|
12
|
+
*
|
|
13
|
+
* For SDK consumers, use isTradingEnabled() helper to check if trading
|
|
14
|
+
* is allowed.
|
|
15
|
+
*/
|
|
16
|
+
var TradingMode;
|
|
17
|
+
(function (TradingMode) {
|
|
18
|
+
/** Bidirectional trading is enabled (normal operation) */
|
|
19
|
+
TradingMode[TradingMode["BIDIRECTIONAL"] = 0] = "BIDIRECTIONAL";
|
|
20
|
+
/** Trading is suspended (circuit breaker tripped) - any non-zero value */
|
|
21
|
+
TradingMode[TradingMode["SUSPENDED"] = 1] = "SUSPENDED";
|
|
22
|
+
})(TradingMode || (exports.TradingMode = TradingMode = {}));
|
|
23
|
+
/**
|
|
24
|
+
* Check if trading is enabled for a given trading mode.
|
|
25
|
+
* @param mode - The trading mode value from BreakerBox
|
|
26
|
+
* @returns true if trading is enabled (mode === 0)
|
|
27
|
+
*/
|
|
28
|
+
function isTradingEnabled(mode) {
|
|
29
|
+
return mode === TradingMode.BIDIRECTIONAL;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=tradingMode.js.map
|
|
@@ -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=transaction.d.ts.map
|