@metamask-previews/perps-controller 1.3.0-preview-a0caca0c0 → 1.3.0-preview-17c76be24
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/CHANGELOG.md +9 -0
- package/dist/PerpsController-method-action-types.cjs +3 -0
- package/dist/PerpsController-method-action-types.cjs.map +1 -0
- package/dist/PerpsController-method-action-types.d.cts +147 -0
- package/dist/PerpsController-method-action-types.d.cts.map +1 -0
- package/dist/PerpsController-method-action-types.d.mts +147 -0
- package/dist/PerpsController-method-action-types.d.mts.map +1 -0
- package/dist/PerpsController-method-action-types.mjs +2 -0
- package/dist/PerpsController-method-action-types.mjs.map +1 -0
- package/dist/PerpsController.cjs +488 -183
- package/dist/PerpsController.cjs.map +1 -1
- package/dist/PerpsController.d.cts +91 -131
- package/dist/PerpsController.d.cts.map +1 -1
- package/dist/PerpsController.d.mts +91 -131
- package/dist/PerpsController.d.mts.map +1 -1
- package/dist/PerpsController.mjs +485 -182
- package/dist/PerpsController.mjs.map +1 -1
- package/dist/constants/eventNames.cjs +26 -0
- package/dist/constants/eventNames.cjs.map +1 -1
- package/dist/constants/eventNames.d.cts +19 -0
- package/dist/constants/eventNames.d.cts.map +1 -1
- package/dist/constants/eventNames.d.mts +19 -0
- package/dist/constants/eventNames.d.mts.map +1 -1
- package/dist/constants/eventNames.mjs +26 -0
- package/dist/constants/eventNames.mjs.map +1 -1
- package/dist/constants/hyperLiquidConfig.cjs +24 -4
- package/dist/constants/hyperLiquidConfig.cjs.map +1 -1
- package/dist/constants/hyperLiquidConfig.d.cts +8 -3
- package/dist/constants/hyperLiquidConfig.d.cts.map +1 -1
- package/dist/constants/hyperLiquidConfig.d.mts +8 -3
- package/dist/constants/hyperLiquidConfig.d.mts.map +1 -1
- package/dist/constants/hyperLiquidConfig.mjs +23 -3
- package/dist/constants/hyperLiquidConfig.mjs.map +1 -1
- package/dist/constants/myxConfig.cjs +75 -51
- package/dist/constants/myxConfig.cjs.map +1 -1
- package/dist/constants/myxConfig.d.cts +58 -19
- package/dist/constants/myxConfig.d.cts.map +1 -1
- package/dist/constants/myxConfig.d.mts +58 -19
- package/dist/constants/myxConfig.d.mts.map +1 -1
- package/dist/constants/myxConfig.mjs +74 -50
- package/dist/constants/myxConfig.mjs.map +1 -1
- package/dist/constants/perpsConfig.cjs +6 -2
- package/dist/constants/perpsConfig.cjs.map +1 -1
- package/dist/constants/perpsConfig.d.cts +5 -1
- package/dist/constants/perpsConfig.d.cts.map +1 -1
- package/dist/constants/perpsConfig.d.mts +5 -1
- package/dist/constants/perpsConfig.d.mts.map +1 -1
- package/dist/constants/perpsConfig.mjs +5 -1
- package/dist/constants/perpsConfig.mjs.map +1 -1
- package/dist/index.cjs +243 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +48 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +48 -5
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +36 -10
- package/dist/index.mjs.map +1 -1
- package/dist/providers/AggregatedPerpsProvider.cjs +24 -0
- package/dist/providers/AggregatedPerpsProvider.cjs.map +1 -1
- package/dist/providers/AggregatedPerpsProvider.d.cts +4 -0
- package/dist/providers/AggregatedPerpsProvider.d.cts.map +1 -1
- package/dist/providers/AggregatedPerpsProvider.d.mts +4 -0
- package/dist/providers/AggregatedPerpsProvider.d.mts.map +1 -1
- package/dist/providers/AggregatedPerpsProvider.mjs +24 -0
- package/dist/providers/AggregatedPerpsProvider.mjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.cjs +470 -154
- package/dist/providers/HyperLiquidProvider.cjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.cts +11 -2
- package/dist/providers/HyperLiquidProvider.d.cts.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.mts +11 -2
- package/dist/providers/HyperLiquidProvider.d.mts.map +1 -1
- package/dist/providers/HyperLiquidProvider.mjs +471 -155
- package/dist/providers/HyperLiquidProvider.mjs.map +1 -1
- package/dist/selectors.cjs +1 -1
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.mjs +1 -1
- package/dist/selectors.mjs.map +1 -1
- package/dist/services/AccountService.cjs +1 -1
- package/dist/services/AccountService.cjs.map +1 -1
- package/dist/services/AccountService.d.cts.map +1 -1
- package/dist/services/AccountService.d.mts.map +1 -1
- package/dist/services/AccountService.mjs +2 -2
- package/dist/services/AccountService.mjs.map +1 -1
- package/dist/services/DepositService.cjs +2 -1
- package/dist/services/DepositService.cjs.map +1 -1
- package/dist/services/DepositService.d.cts.map +1 -1
- package/dist/services/DepositService.d.mts.map +1 -1
- package/dist/services/DepositService.mjs +2 -1
- package/dist/services/DepositService.mjs.map +1 -1
- package/dist/services/EligibilityService.cjs +8 -103
- package/dist/services/EligibilityService.cjs.map +1 -1
- package/dist/services/EligibilityService.d.cts +4 -15
- package/dist/services/EligibilityService.d.cts.map +1 -1
- package/dist/services/EligibilityService.d.mts +4 -15
- package/dist/services/EligibilityService.d.mts.map +1 -1
- package/dist/services/EligibilityService.mjs +8 -103
- package/dist/services/EligibilityService.mjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.cjs +252 -46
- package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.cts +1 -0
- package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.mts +1 -0
- package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.mjs +252 -46
- package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -1
- package/dist/services/MarketDataService.cjs +2 -4
- package/dist/services/MarketDataService.cjs.map +1 -1
- package/dist/services/MarketDataService.d.cts.map +1 -1
- package/dist/services/MarketDataService.d.mts.map +1 -1
- package/dist/services/MarketDataService.mjs +2 -4
- package/dist/services/MarketDataService.mjs.map +1 -1
- package/dist/services/TradingService.cjs +72 -6
- package/dist/services/TradingService.cjs.map +1 -1
- package/dist/services/TradingService.d.cts.map +1 -1
- package/dist/services/TradingService.d.mts.map +1 -1
- package/dist/services/TradingService.mjs +72 -6
- package/dist/services/TradingService.mjs.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +51 -3
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.mts +51 -3
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs.map +1 -1
- package/dist/types/messenger.cjs.map +1 -1
- package/dist/types/messenger.d.cts +2 -1
- package/dist/types/messenger.d.cts.map +1 -1
- package/dist/types/messenger.d.mts +2 -1
- package/dist/types/messenger.d.mts.map +1 -1
- package/dist/types/messenger.mjs.map +1 -1
- package/dist/types/myx-types.cjs +19 -3
- package/dist/types/myx-types.cjs.map +1 -1
- package/dist/types/myx-types.d.cts +33 -2
- package/dist/types/myx-types.d.cts.map +1 -1
- package/dist/types/myx-types.d.mts +33 -2
- package/dist/types/myx-types.d.mts.map +1 -1
- package/dist/types/myx-types.mjs +6 -2
- package/dist/types/myx-types.mjs.map +1 -1
- package/dist/types/perps-types.cjs +3 -0
- package/dist/types/perps-types.cjs.map +1 -1
- package/dist/types/perps-types.d.cts +3 -3
- package/dist/types/perps-types.d.cts.map +1 -1
- package/dist/types/perps-types.d.mts +3 -3
- package/dist/types/perps-types.d.mts.map +1 -1
- package/dist/types/perps-types.mjs +3 -0
- package/dist/types/perps-types.mjs.map +1 -1
- package/dist/utils/accountUtils.cjs.map +1 -1
- package/dist/utils/accountUtils.d.cts.map +1 -1
- package/dist/utils/accountUtils.d.mts.map +1 -1
- package/dist/utils/accountUtils.mjs.map +1 -1
- package/dist/utils/myxAdapter.cjs +360 -15
- package/dist/utils/myxAdapter.cjs.map +1 -1
- package/dist/utils/myxAdapter.d.cts +94 -7
- package/dist/utils/myxAdapter.d.cts.map +1 -1
- package/dist/utils/myxAdapter.d.mts +94 -7
- package/dist/utils/myxAdapter.d.mts.map +1 -1
- package/dist/utils/myxAdapter.mjs +351 -16
- package/dist/utils/myxAdapter.mjs.map +1 -1
- package/package.json +5 -3
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MYX SDK Adapter Utilities
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Adapters for transforming between MetaMask Perps API types and MYX SDK types.
|
|
5
|
+
* Includes adapters for market display, positions, orders, account state, and fills.
|
|
6
6
|
*
|
|
7
7
|
* Portable: no mobile-specific imports.
|
|
8
8
|
* Formatters are injected via MarketDataFormatters interface (same pattern as marketDataTransform.ts).
|
|
9
9
|
*
|
|
10
10
|
* Key differences from HyperLiquid:
|
|
11
|
-
* -
|
|
11
|
+
* - API prices are normal floats (SDK contract layer uses 30 decimals internally)
|
|
12
12
|
* - Sizes use 18 decimals (vs HyperLiquid's szDecimals per asset)
|
|
13
13
|
* - Multiple pools can exist per symbol (MPM model)
|
|
14
14
|
* - USDT collateral (vs USDC)
|
|
15
15
|
*/
|
|
16
|
-
import type { MarketInfo, PerpsMarketData, MarketDataFormatters } from "../types/index.cjs";
|
|
17
|
-
import type { MYXPoolSymbol, MYXTicker } from "../types/myx-types.cjs";
|
|
16
|
+
import type { AccountState, CandleStick, Funding, MarketInfo, Order, OrderFill, PerpsMarketData, Position, MarketDataFormatters, UserHistoryItem } from "../types/index.cjs";
|
|
17
|
+
import type { MYXPoolSymbol, MYXTicker, MYXPositionType, MYXHistoryOrderItem, MYXTradeFlowItem, MYXKlineData, MYXKlineWsData } from "../types/myx-types.cjs";
|
|
18
18
|
/**
|
|
19
19
|
* Transform MYX Pool/Market info to MetaMask Perps API MarketInfo format
|
|
20
20
|
*
|
|
@@ -72,10 +72,97 @@ export declare function buildPoolSymbolMap(pools: MYXPoolSymbol[]): Map<string,
|
|
|
72
72
|
export declare function buildSymbolPoolsMap(pools: MYXPoolSymbol[]): Map<string, string[]>;
|
|
73
73
|
/**
|
|
74
74
|
* Extract symbol from pool ID
|
|
75
|
-
* Pool IDs typically contain the symbol as a suffix or can be parsed
|
|
75
|
+
* Pool IDs typically contain the symbol as a suffix or can be parsed.
|
|
76
|
+
* When baseSymbol is unavailable, returns a truncated address for UI display.
|
|
76
77
|
*
|
|
77
78
|
* @param poolId - MYX pool ID string
|
|
78
|
-
* @returns Extracted symbol or poolId as fallback
|
|
79
|
+
* @returns Extracted symbol or truncated poolId as fallback
|
|
79
80
|
*/
|
|
80
81
|
export declare function extractSymbolFromPoolId(poolId: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* Adapt MYX SDK PositionType to MetaMask Position
|
|
84
|
+
*
|
|
85
|
+
* @param pos - MYX position from SDK
|
|
86
|
+
* @param poolSymbolMap - Map of poolId to symbol
|
|
87
|
+
* @returns MetaMask Position object
|
|
88
|
+
*/
|
|
89
|
+
export declare function adaptPositionFromMYX(pos: MYXPositionType, poolSymbolMap: Map<string, string>): Position;
|
|
90
|
+
/**
|
|
91
|
+
* Adapt MYX SDK open order (PositionType-shaped from getOrders) to MetaMask Order.
|
|
92
|
+
* Note: getOrders returns PositionType[] per the SDK types.
|
|
93
|
+
* For richer order data, use getOrderHistory.
|
|
94
|
+
*
|
|
95
|
+
* @param historyOrder - MYX history order item
|
|
96
|
+
* @param poolSymbolMap - Map of poolId to symbol
|
|
97
|
+
* @returns MetaMask Order object
|
|
98
|
+
*/
|
|
99
|
+
export declare function adaptOrderFromMYX(historyOrder: MYXHistoryOrderItem, poolSymbolMap: Map<string, string>): Order;
|
|
100
|
+
/**
|
|
101
|
+
* Adapt MYX account info response to MetaMask AccountState.
|
|
102
|
+
*
|
|
103
|
+
* @param accountInfo - Raw account info from MYX SDK
|
|
104
|
+
* @param walletBalance - Wallet USDT balance (from getWalletQuoteTokenBalance)
|
|
105
|
+
* @returns MetaMask AccountState
|
|
106
|
+
*/
|
|
107
|
+
export declare function adaptAccountStateFromMYX(accountInfo: Record<string, unknown> | undefined, walletBalance?: string): AccountState;
|
|
108
|
+
/**
|
|
109
|
+
* Adapt MYX history order item (filled) to MetaMask OrderFill
|
|
110
|
+
*
|
|
111
|
+
* @param order - MYX history order item
|
|
112
|
+
* @param poolSymbolMap - Map of poolId to symbol
|
|
113
|
+
* @returns MetaMask OrderFill
|
|
114
|
+
*/
|
|
115
|
+
export declare function adaptOrderFillFromMYX(order: MYXHistoryOrderItem, poolSymbolMap: Map<string, string>): OrderFill;
|
|
116
|
+
/**
|
|
117
|
+
* Adapt MYX trade flow items (funding type) to MetaMask Funding
|
|
118
|
+
*
|
|
119
|
+
* @param flows - MYX trade flow items filtered to funding type
|
|
120
|
+
* @param poolSymbolMap - Map of poolId to symbol
|
|
121
|
+
* @returns Array of MetaMask Funding objects
|
|
122
|
+
*/
|
|
123
|
+
export declare function adaptFundingFromMYX(flows: MYXTradeFlowItem[], poolSymbolMap: Map<string, string>): Funding[];
|
|
124
|
+
/**
|
|
125
|
+
* Adapt MYX trade flow items to MetaMask UserHistoryItem
|
|
126
|
+
*
|
|
127
|
+
* @param flows - MYX trade flow items
|
|
128
|
+
* @returns Array of UserHistoryItem
|
|
129
|
+
*/
|
|
130
|
+
export declare function adaptUserHistoryFromMYX(flows: MYXTradeFlowItem[]): UserHistoryItem[];
|
|
131
|
+
/**
|
|
132
|
+
* Adapt MYX KlineDataItemType to MetaMask CandleStick.
|
|
133
|
+
* KlineDataItemType fields (time, open, close, high, low) are already
|
|
134
|
+
* human-readable strings — no 30-decimal conversion needed.
|
|
135
|
+
*
|
|
136
|
+
* @param item - MYX kline data item from SDK
|
|
137
|
+
* @returns MetaMask CandleStick object
|
|
138
|
+
*/
|
|
139
|
+
export declare function adaptCandleFromMYX(item: MYXKlineData): CandleStick;
|
|
140
|
+
/**
|
|
141
|
+
* Adapt MYX WebSocket KlineData to MetaMask CandleStick.
|
|
142
|
+
* WS KlineData uses single-letter fields: {t, o, h, l, c, v}.
|
|
143
|
+
*
|
|
144
|
+
* @param data - MYX WebSocket kline data
|
|
145
|
+
* @returns MetaMask CandleStick object
|
|
146
|
+
*/
|
|
147
|
+
export declare function adaptCandleFromMYXWebSocket(data: MYXKlineWsData): CandleStick;
|
|
148
|
+
/**
|
|
149
|
+
* Convert a CandlePeriod string to MYX KlineResolution.
|
|
150
|
+
*
|
|
151
|
+
* @param period - CandlePeriod value (e.g., '1m', '3m', '1h')
|
|
152
|
+
* @returns MYX KlineResolution string
|
|
153
|
+
*/
|
|
154
|
+
export declare function toMYXKlineResolution(period: string): string;
|
|
155
|
+
/**
|
|
156
|
+
* Assert MYX API response is successful.
|
|
157
|
+
* MYX uses code 9200 or 0 for success.
|
|
158
|
+
*
|
|
159
|
+
* @param response - MYX API response with code field
|
|
160
|
+
* @param response.code - Response code (9200 or 0 = success)
|
|
161
|
+
* @param response.message - Optional error message
|
|
162
|
+
* @param context - Context string for error messages
|
|
163
|
+
*/
|
|
164
|
+
export declare function assertMYXSuccess(response: {
|
|
165
|
+
code: number;
|
|
166
|
+
message?: string | null;
|
|
167
|
+
}, context: string): void;
|
|
81
168
|
//# sourceMappingURL=myxAdapter.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"myxAdapter.d.cts","sourceRoot":"","sources":["../../src/utils/myxAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"myxAdapter.d.cts","sourceRoot":"","sources":["../../src/utils/myxAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MYX SDK Adapter Utilities
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Adapters for transforming between MetaMask Perps API types and MYX SDK types.
|
|
5
|
+
* Includes adapters for market display, positions, orders, account state, and fills.
|
|
6
6
|
*
|
|
7
7
|
* Portable: no mobile-specific imports.
|
|
8
8
|
* Formatters are injected via MarketDataFormatters interface (same pattern as marketDataTransform.ts).
|
|
9
9
|
*
|
|
10
10
|
* Key differences from HyperLiquid:
|
|
11
|
-
* -
|
|
11
|
+
* - API prices are normal floats (SDK contract layer uses 30 decimals internally)
|
|
12
12
|
* - Sizes use 18 decimals (vs HyperLiquid's szDecimals per asset)
|
|
13
13
|
* - Multiple pools can exist per symbol (MPM model)
|
|
14
14
|
* - USDT collateral (vs USDC)
|
|
15
15
|
*/
|
|
16
|
-
import type { MarketInfo, PerpsMarketData, MarketDataFormatters } from "../types/index.mjs";
|
|
17
|
-
import type { MYXPoolSymbol, MYXTicker } from "../types/myx-types.mjs";
|
|
16
|
+
import type { AccountState, CandleStick, Funding, MarketInfo, Order, OrderFill, PerpsMarketData, Position, MarketDataFormatters, UserHistoryItem } from "../types/index.mjs";
|
|
17
|
+
import type { MYXPoolSymbol, MYXTicker, MYXPositionType, MYXHistoryOrderItem, MYXTradeFlowItem, MYXKlineData, MYXKlineWsData } from "../types/myx-types.mjs";
|
|
18
18
|
/**
|
|
19
19
|
* Transform MYX Pool/Market info to MetaMask Perps API MarketInfo format
|
|
20
20
|
*
|
|
@@ -72,10 +72,97 @@ export declare function buildPoolSymbolMap(pools: MYXPoolSymbol[]): Map<string,
|
|
|
72
72
|
export declare function buildSymbolPoolsMap(pools: MYXPoolSymbol[]): Map<string, string[]>;
|
|
73
73
|
/**
|
|
74
74
|
* Extract symbol from pool ID
|
|
75
|
-
* Pool IDs typically contain the symbol as a suffix or can be parsed
|
|
75
|
+
* Pool IDs typically contain the symbol as a suffix or can be parsed.
|
|
76
|
+
* When baseSymbol is unavailable, returns a truncated address for UI display.
|
|
76
77
|
*
|
|
77
78
|
* @param poolId - MYX pool ID string
|
|
78
|
-
* @returns Extracted symbol or poolId as fallback
|
|
79
|
+
* @returns Extracted symbol or truncated poolId as fallback
|
|
79
80
|
*/
|
|
80
81
|
export declare function extractSymbolFromPoolId(poolId: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* Adapt MYX SDK PositionType to MetaMask Position
|
|
84
|
+
*
|
|
85
|
+
* @param pos - MYX position from SDK
|
|
86
|
+
* @param poolSymbolMap - Map of poolId to symbol
|
|
87
|
+
* @returns MetaMask Position object
|
|
88
|
+
*/
|
|
89
|
+
export declare function adaptPositionFromMYX(pos: MYXPositionType, poolSymbolMap: Map<string, string>): Position;
|
|
90
|
+
/**
|
|
91
|
+
* Adapt MYX SDK open order (PositionType-shaped from getOrders) to MetaMask Order.
|
|
92
|
+
* Note: getOrders returns PositionType[] per the SDK types.
|
|
93
|
+
* For richer order data, use getOrderHistory.
|
|
94
|
+
*
|
|
95
|
+
* @param historyOrder - MYX history order item
|
|
96
|
+
* @param poolSymbolMap - Map of poolId to symbol
|
|
97
|
+
* @returns MetaMask Order object
|
|
98
|
+
*/
|
|
99
|
+
export declare function adaptOrderFromMYX(historyOrder: MYXHistoryOrderItem, poolSymbolMap: Map<string, string>): Order;
|
|
100
|
+
/**
|
|
101
|
+
* Adapt MYX account info response to MetaMask AccountState.
|
|
102
|
+
*
|
|
103
|
+
* @param accountInfo - Raw account info from MYX SDK
|
|
104
|
+
* @param walletBalance - Wallet USDT balance (from getWalletQuoteTokenBalance)
|
|
105
|
+
* @returns MetaMask AccountState
|
|
106
|
+
*/
|
|
107
|
+
export declare function adaptAccountStateFromMYX(accountInfo: Record<string, unknown> | undefined, walletBalance?: string): AccountState;
|
|
108
|
+
/**
|
|
109
|
+
* Adapt MYX history order item (filled) to MetaMask OrderFill
|
|
110
|
+
*
|
|
111
|
+
* @param order - MYX history order item
|
|
112
|
+
* @param poolSymbolMap - Map of poolId to symbol
|
|
113
|
+
* @returns MetaMask OrderFill
|
|
114
|
+
*/
|
|
115
|
+
export declare function adaptOrderFillFromMYX(order: MYXHistoryOrderItem, poolSymbolMap: Map<string, string>): OrderFill;
|
|
116
|
+
/**
|
|
117
|
+
* Adapt MYX trade flow items (funding type) to MetaMask Funding
|
|
118
|
+
*
|
|
119
|
+
* @param flows - MYX trade flow items filtered to funding type
|
|
120
|
+
* @param poolSymbolMap - Map of poolId to symbol
|
|
121
|
+
* @returns Array of MetaMask Funding objects
|
|
122
|
+
*/
|
|
123
|
+
export declare function adaptFundingFromMYX(flows: MYXTradeFlowItem[], poolSymbolMap: Map<string, string>): Funding[];
|
|
124
|
+
/**
|
|
125
|
+
* Adapt MYX trade flow items to MetaMask UserHistoryItem
|
|
126
|
+
*
|
|
127
|
+
* @param flows - MYX trade flow items
|
|
128
|
+
* @returns Array of UserHistoryItem
|
|
129
|
+
*/
|
|
130
|
+
export declare function adaptUserHistoryFromMYX(flows: MYXTradeFlowItem[]): UserHistoryItem[];
|
|
131
|
+
/**
|
|
132
|
+
* Adapt MYX KlineDataItemType to MetaMask CandleStick.
|
|
133
|
+
* KlineDataItemType fields (time, open, close, high, low) are already
|
|
134
|
+
* human-readable strings — no 30-decimal conversion needed.
|
|
135
|
+
*
|
|
136
|
+
* @param item - MYX kline data item from SDK
|
|
137
|
+
* @returns MetaMask CandleStick object
|
|
138
|
+
*/
|
|
139
|
+
export declare function adaptCandleFromMYX(item: MYXKlineData): CandleStick;
|
|
140
|
+
/**
|
|
141
|
+
* Adapt MYX WebSocket KlineData to MetaMask CandleStick.
|
|
142
|
+
* WS KlineData uses single-letter fields: {t, o, h, l, c, v}.
|
|
143
|
+
*
|
|
144
|
+
* @param data - MYX WebSocket kline data
|
|
145
|
+
* @returns MetaMask CandleStick object
|
|
146
|
+
*/
|
|
147
|
+
export declare function adaptCandleFromMYXWebSocket(data: MYXKlineWsData): CandleStick;
|
|
148
|
+
/**
|
|
149
|
+
* Convert a CandlePeriod string to MYX KlineResolution.
|
|
150
|
+
*
|
|
151
|
+
* @param period - CandlePeriod value (e.g., '1m', '3m', '1h')
|
|
152
|
+
* @returns MYX KlineResolution string
|
|
153
|
+
*/
|
|
154
|
+
export declare function toMYXKlineResolution(period: string): string;
|
|
155
|
+
/**
|
|
156
|
+
* Assert MYX API response is successful.
|
|
157
|
+
* MYX uses code 9200 or 0 for success.
|
|
158
|
+
*
|
|
159
|
+
* @param response - MYX API response with code field
|
|
160
|
+
* @param response.code - Response code (9200 or 0 = success)
|
|
161
|
+
* @param response.message - Optional error message
|
|
162
|
+
* @param context - Context string for error messages
|
|
163
|
+
*/
|
|
164
|
+
export declare function assertMYXSuccess(response: {
|
|
165
|
+
code: number;
|
|
166
|
+
message?: string | null;
|
|
167
|
+
}, context: string): void;
|
|
81
168
|
//# sourceMappingURL=myxAdapter.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"myxAdapter.d.mts","sourceRoot":"","sources":["../../src/utils/myxAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"myxAdapter.d.mts","sourceRoot":"","sources":["../../src/utils/myxAdapter.ts"],"names":[],"mappings":"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"}
|