@metamask-previews/perps-controller 1.3.0-preview-a0caca0c0 → 1.3.0-preview-afe010990

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.
Files changed (158) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/PerpsController-method-action-types.cjs +3 -0
  3. package/dist/PerpsController-method-action-types.cjs.map +1 -0
  4. package/dist/PerpsController-method-action-types.d.cts +147 -0
  5. package/dist/PerpsController-method-action-types.d.cts.map +1 -0
  6. package/dist/PerpsController-method-action-types.d.mts +147 -0
  7. package/dist/PerpsController-method-action-types.d.mts.map +1 -0
  8. package/dist/PerpsController-method-action-types.mjs +2 -0
  9. package/dist/PerpsController-method-action-types.mjs.map +1 -0
  10. package/dist/PerpsController.cjs +488 -183
  11. package/dist/PerpsController.cjs.map +1 -1
  12. package/dist/PerpsController.d.cts +91 -131
  13. package/dist/PerpsController.d.cts.map +1 -1
  14. package/dist/PerpsController.d.mts +91 -131
  15. package/dist/PerpsController.d.mts.map +1 -1
  16. package/dist/PerpsController.mjs +485 -182
  17. package/dist/PerpsController.mjs.map +1 -1
  18. package/dist/constants/eventNames.cjs +26 -0
  19. package/dist/constants/eventNames.cjs.map +1 -1
  20. package/dist/constants/eventNames.d.cts +19 -0
  21. package/dist/constants/eventNames.d.cts.map +1 -1
  22. package/dist/constants/eventNames.d.mts +19 -0
  23. package/dist/constants/eventNames.d.mts.map +1 -1
  24. package/dist/constants/eventNames.mjs +26 -0
  25. package/dist/constants/eventNames.mjs.map +1 -1
  26. package/dist/constants/hyperLiquidConfig.cjs +24 -4
  27. package/dist/constants/hyperLiquidConfig.cjs.map +1 -1
  28. package/dist/constants/hyperLiquidConfig.d.cts +8 -3
  29. package/dist/constants/hyperLiquidConfig.d.cts.map +1 -1
  30. package/dist/constants/hyperLiquidConfig.d.mts +8 -3
  31. package/dist/constants/hyperLiquidConfig.d.mts.map +1 -1
  32. package/dist/constants/hyperLiquidConfig.mjs +23 -3
  33. package/dist/constants/hyperLiquidConfig.mjs.map +1 -1
  34. package/dist/constants/myxConfig.cjs +75 -51
  35. package/dist/constants/myxConfig.cjs.map +1 -1
  36. package/dist/constants/myxConfig.d.cts +58 -19
  37. package/dist/constants/myxConfig.d.cts.map +1 -1
  38. package/dist/constants/myxConfig.d.mts +58 -19
  39. package/dist/constants/myxConfig.d.mts.map +1 -1
  40. package/dist/constants/myxConfig.mjs +74 -50
  41. package/dist/constants/myxConfig.mjs.map +1 -1
  42. package/dist/constants/perpsConfig.cjs +6 -2
  43. package/dist/constants/perpsConfig.cjs.map +1 -1
  44. package/dist/constants/perpsConfig.d.cts +5 -1
  45. package/dist/constants/perpsConfig.d.cts.map +1 -1
  46. package/dist/constants/perpsConfig.d.mts +5 -1
  47. package/dist/constants/perpsConfig.d.mts.map +1 -1
  48. package/dist/constants/perpsConfig.mjs +5 -1
  49. package/dist/constants/perpsConfig.mjs.map +1 -1
  50. package/dist/index.cjs +243 -25
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.cts +48 -5
  53. package/dist/index.d.cts.map +1 -1
  54. package/dist/index.d.mts +48 -5
  55. package/dist/index.d.mts.map +1 -1
  56. package/dist/index.mjs +36 -10
  57. package/dist/index.mjs.map +1 -1
  58. package/dist/providers/AggregatedPerpsProvider.cjs +24 -0
  59. package/dist/providers/AggregatedPerpsProvider.cjs.map +1 -1
  60. package/dist/providers/AggregatedPerpsProvider.d.cts +4 -0
  61. package/dist/providers/AggregatedPerpsProvider.d.cts.map +1 -1
  62. package/dist/providers/AggregatedPerpsProvider.d.mts +4 -0
  63. package/dist/providers/AggregatedPerpsProvider.d.mts.map +1 -1
  64. package/dist/providers/AggregatedPerpsProvider.mjs +24 -0
  65. package/dist/providers/AggregatedPerpsProvider.mjs.map +1 -1
  66. package/dist/providers/HyperLiquidProvider.cjs +470 -154
  67. package/dist/providers/HyperLiquidProvider.cjs.map +1 -1
  68. package/dist/providers/HyperLiquidProvider.d.cts +11 -2
  69. package/dist/providers/HyperLiquidProvider.d.cts.map +1 -1
  70. package/dist/providers/HyperLiquidProvider.d.mts +11 -2
  71. package/dist/providers/HyperLiquidProvider.d.mts.map +1 -1
  72. package/dist/providers/HyperLiquidProvider.mjs +471 -155
  73. package/dist/providers/HyperLiquidProvider.mjs.map +1 -1
  74. package/dist/selectors.cjs +1 -1
  75. package/dist/selectors.cjs.map +1 -1
  76. package/dist/selectors.mjs +1 -1
  77. package/dist/selectors.mjs.map +1 -1
  78. package/dist/services/AccountService.cjs +1 -1
  79. package/dist/services/AccountService.cjs.map +1 -1
  80. package/dist/services/AccountService.d.cts.map +1 -1
  81. package/dist/services/AccountService.d.mts.map +1 -1
  82. package/dist/services/AccountService.mjs +2 -2
  83. package/dist/services/AccountService.mjs.map +1 -1
  84. package/dist/services/DepositService.cjs +2 -1
  85. package/dist/services/DepositService.cjs.map +1 -1
  86. package/dist/services/DepositService.d.cts.map +1 -1
  87. package/dist/services/DepositService.d.mts.map +1 -1
  88. package/dist/services/DepositService.mjs +2 -1
  89. package/dist/services/DepositService.mjs.map +1 -1
  90. package/dist/services/EligibilityService.cjs +8 -103
  91. package/dist/services/EligibilityService.cjs.map +1 -1
  92. package/dist/services/EligibilityService.d.cts +4 -15
  93. package/dist/services/EligibilityService.d.cts.map +1 -1
  94. package/dist/services/EligibilityService.d.mts +4 -15
  95. package/dist/services/EligibilityService.d.mts.map +1 -1
  96. package/dist/services/EligibilityService.mjs +8 -103
  97. package/dist/services/EligibilityService.mjs.map +1 -1
  98. package/dist/services/HyperLiquidSubscriptionService.cjs +252 -46
  99. package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -1
  100. package/dist/services/HyperLiquidSubscriptionService.d.cts +1 -0
  101. package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -1
  102. package/dist/services/HyperLiquidSubscriptionService.d.mts +1 -0
  103. package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -1
  104. package/dist/services/HyperLiquidSubscriptionService.mjs +252 -46
  105. package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -1
  106. package/dist/services/MarketDataService.cjs +2 -4
  107. package/dist/services/MarketDataService.cjs.map +1 -1
  108. package/dist/services/MarketDataService.d.cts.map +1 -1
  109. package/dist/services/MarketDataService.d.mts.map +1 -1
  110. package/dist/services/MarketDataService.mjs +2 -4
  111. package/dist/services/MarketDataService.mjs.map +1 -1
  112. package/dist/services/TradingService.cjs +72 -6
  113. package/dist/services/TradingService.cjs.map +1 -1
  114. package/dist/services/TradingService.d.cts.map +1 -1
  115. package/dist/services/TradingService.d.mts.map +1 -1
  116. package/dist/services/TradingService.mjs +72 -6
  117. package/dist/services/TradingService.mjs.map +1 -1
  118. package/dist/types/index.cjs.map +1 -1
  119. package/dist/types/index.d.cts +51 -3
  120. package/dist/types/index.d.cts.map +1 -1
  121. package/dist/types/index.d.mts +51 -3
  122. package/dist/types/index.d.mts.map +1 -1
  123. package/dist/types/index.mjs.map +1 -1
  124. package/dist/types/messenger.cjs.map +1 -1
  125. package/dist/types/messenger.d.cts +2 -1
  126. package/dist/types/messenger.d.cts.map +1 -1
  127. package/dist/types/messenger.d.mts +2 -1
  128. package/dist/types/messenger.d.mts.map +1 -1
  129. package/dist/types/messenger.mjs.map +1 -1
  130. package/dist/types/myx-types.cjs +19 -3
  131. package/dist/types/myx-types.cjs.map +1 -1
  132. package/dist/types/myx-types.d.cts +33 -2
  133. package/dist/types/myx-types.d.cts.map +1 -1
  134. package/dist/types/myx-types.d.mts +33 -2
  135. package/dist/types/myx-types.d.mts.map +1 -1
  136. package/dist/types/myx-types.mjs +6 -2
  137. package/dist/types/myx-types.mjs.map +1 -1
  138. package/dist/types/perps-types.cjs +3 -0
  139. package/dist/types/perps-types.cjs.map +1 -1
  140. package/dist/types/perps-types.d.cts +3 -3
  141. package/dist/types/perps-types.d.cts.map +1 -1
  142. package/dist/types/perps-types.d.mts +3 -3
  143. package/dist/types/perps-types.d.mts.map +1 -1
  144. package/dist/types/perps-types.mjs +3 -0
  145. package/dist/types/perps-types.mjs.map +1 -1
  146. package/dist/utils/accountUtils.cjs.map +1 -1
  147. package/dist/utils/accountUtils.d.cts.map +1 -1
  148. package/dist/utils/accountUtils.d.mts.map +1 -1
  149. package/dist/utils/accountUtils.mjs.map +1 -1
  150. package/dist/utils/myxAdapter.cjs +360 -15
  151. package/dist/utils/myxAdapter.cjs.map +1 -1
  152. package/dist/utils/myxAdapter.d.cts +94 -7
  153. package/dist/utils/myxAdapter.d.cts.map +1 -1
  154. package/dist/utils/myxAdapter.d.mts +94 -7
  155. package/dist/utils/myxAdapter.d.mts.map +1 -1
  156. package/dist/utils/myxAdapter.mjs +351 -16
  157. package/dist/utils/myxAdapter.mjs.map +1 -1
  158. package/package.json +4 -2
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * MYX SDK Adapter Utilities
3
3
  *
4
- * Stage 1 adapters for transforming between MetaMask Perps API types and MYX SDK types.
5
- * Only includes adapters needed for market display and price fetching.
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
- * - Prices use 30 decimals
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;AAGH,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,oBAAoB,EACrB,2BAAiB;AAElB,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,+BAA2B;AAiCnE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAmBlE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAWA;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,UAAU,EAAE,oBAAoB,GAC/B,eAAe,CAkCjB;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EAAE,GACrB,aAAa,EAAE,CAQjB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI3D;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EAAE,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EAAE,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CASvB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK9D"}
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
- * Stage 1 adapters for transforming between MetaMask Perps API types and MYX SDK types.
5
- * Only includes adapters needed for market display and price fetching.
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
- * - Prices use 30 decimals
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;AAGH,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,oBAAoB,EACrB,2BAAiB;AAElB,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,+BAA2B;AAiCnE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAmBlE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAWA;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,UAAU,EAAE,oBAAoB,GAC/B,eAAe,CAkCjB;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EAAE,GACrB,aAAa,EAAE,CAQjB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI3D;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EAAE,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EAAE,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CASvB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK9D"}
1
+ {"version":3,"file":"myxAdapter.d.mts","sourceRoot":"","sources":["../../src/utils/myxAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,OAAO,EACP,UAAU,EACV,KAAK,EACL,SAAS,EACT,eAAe,EACf,QAAQ,EACR,oBAAoB,EACpB,eAAe,EAChB,2BAAiB;AAWlB,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACf,+BAA2B;AAiC5B;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAelE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAWA;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,UAAU,EAAE,oBAAoB,GAC/B,eAAe,CAkCjB;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EAAE,GACrB,aAAa,EAAE,CAQjB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI3D;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EAAE,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EAAE,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CASvB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ9D;AA6BD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,QAAQ,CA0CV;AAMD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,mBAAmB,EACjC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,KAAK,CAoEP;AAMD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAChD,aAAa,CAAC,EAAE,MAAM,GACrB,YAAY,CAoBd;AAMD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,SAAS,CAiCX;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,EAAE,EACzB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,OAAO,EAAE,CAiBX;AAMD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EAAE,GACxB,eAAe,EAAE,CAuBnB;AAMD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CASlE;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,CAS7E;AAwBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACnD,OAAO,EAAE,MAAM,GACd,IAAI,CAMN"}