@lifi/perps-sdk-provider-ondo 0.0.0-preview-7ff840c

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 (280) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +38 -0
  3. package/dist/cjs/OndoProvider.d.ts +8 -0
  4. package/dist/cjs/OndoProvider.d.ts.map +1 -0
  5. package/dist/cjs/OndoProvider.js +338 -0
  6. package/dist/cjs/OndoProvider.js.map +1 -0
  7. package/dist/cjs/accountConfig.d.ts +3 -0
  8. package/dist/cjs/accountConfig.d.ts.map +1 -0
  9. package/dist/cjs/accountConfig.js +59 -0
  10. package/dist/cjs/accountConfig.js.map +1 -0
  11. package/dist/cjs/accountSummary.d.ts +3 -0
  12. package/dist/cjs/accountSummary.d.ts.map +1 -0
  13. package/dist/cjs/accountSummary.js +8 -0
  14. package/dist/cjs/accountSummary.js.map +1 -0
  15. package/dist/cjs/auth/OndoTokenStore.d.ts +13 -0
  16. package/dist/cjs/auth/OndoTokenStore.d.ts.map +1 -0
  17. package/dist/cjs/auth/OndoTokenStore.js +53 -0
  18. package/dist/cjs/auth/OndoTokenStore.js.map +1 -0
  19. package/dist/cjs/auth/completeSiweLogin.d.ts +13 -0
  20. package/dist/cjs/auth/completeSiweLogin.d.ts.map +1 -0
  21. package/dist/cjs/auth/completeSiweLogin.js +15 -0
  22. package/dist/cjs/auth/completeSiweLogin.js.map +1 -0
  23. package/dist/cjs/auth/index.d.ts +4 -0
  24. package/dist/cjs/auth/index.d.ts.map +1 -0
  25. package/dist/cjs/auth/index.js +11 -0
  26. package/dist/cjs/auth/index.js.map +1 -0
  27. package/dist/cjs/auth/signActions.d.ts +13 -0
  28. package/dist/cjs/auth/signActions.d.ts.map +1 -0
  29. package/dist/cjs/auth/signActions.js +86 -0
  30. package/dist/cjs/auth/signActions.js.map +1 -0
  31. package/dist/cjs/constants.d.ts +9 -0
  32. package/dist/cjs/constants.d.ts.map +1 -0
  33. package/dist/cjs/constants.js +12 -0
  34. package/dist/cjs/constants.js.map +1 -0
  35. package/dist/cjs/index.d.ts +9 -0
  36. package/dist/cjs/index.d.ts.map +1 -0
  37. package/dist/cjs/index.js +37 -0
  38. package/dist/cjs/index.js.map +1 -0
  39. package/dist/cjs/package.json +1 -0
  40. package/dist/cjs/types/auth.d.ts +16 -0
  41. package/dist/cjs/types/auth.d.ts.map +1 -0
  42. package/dist/cjs/types/auth.js +3 -0
  43. package/dist/cjs/types/auth.js.map +1 -0
  44. package/dist/cjs/types/index.d.ts +4 -0
  45. package/dist/cjs/types/index.d.ts.map +1 -0
  46. package/dist/cjs/types/index.js +3 -0
  47. package/dist/cjs/types/index.js.map +1 -0
  48. package/dist/cjs/types/wire.d.ts +154 -0
  49. package/dist/cjs/types/wire.d.ts.map +1 -0
  50. package/dist/cjs/types/wire.js +3 -0
  51. package/dist/cjs/types/wire.js.map +1 -0
  52. package/dist/cjs/types/ws.d.ts +92 -0
  53. package/dist/cjs/types/ws.d.ts.map +1 -0
  54. package/dist/cjs/types/ws.js +3 -0
  55. package/dist/cjs/types/ws.js.map +1 -0
  56. package/dist/cjs/utils/activityCursor.d.ts +9 -0
  57. package/dist/cjs/utils/activityCursor.d.ts.map +1 -0
  58. package/dist/cjs/utils/activityCursor.js +79 -0
  59. package/dist/cjs/utils/activityCursor.js.map +1 -0
  60. package/dist/cjs/utils/apiClient.d.ts +43 -0
  61. package/dist/cjs/utils/apiClient.d.ts.map +1 -0
  62. package/dist/cjs/utils/apiClient.js +134 -0
  63. package/dist/cjs/utils/apiClient.js.map +1 -0
  64. package/dist/cjs/utils/index.d.ts +11 -0
  65. package/dist/cjs/utils/index.d.ts.map +1 -0
  66. package/dist/cjs/utils/index.js +39 -0
  67. package/dist/cjs/utils/index.js.map +1 -0
  68. package/dist/cjs/utils/liquidation.d.ts +4 -0
  69. package/dist/cjs/utils/liquidation.d.ts.map +1 -0
  70. package/dist/cjs/utils/liquidation.js +16 -0
  71. package/dist/cjs/utils/liquidation.js.map +1 -0
  72. package/dist/cjs/utils/mapActivity.d.ts +5 -0
  73. package/dist/cjs/utils/mapActivity.d.ts.map +1 -0
  74. package/dist/cjs/utils/mapActivity.js +34 -0
  75. package/dist/cjs/utils/mapActivity.js.map +1 -0
  76. package/dist/cjs/utils/mapFill.d.ts +4 -0
  77. package/dist/cjs/utils/mapFill.d.ts.map +1 -0
  78. package/dist/cjs/utils/mapFill.js +36 -0
  79. package/dist/cjs/utils/mapFill.js.map +1 -0
  80. package/dist/cjs/utils/mapOrder.d.ts +16 -0
  81. package/dist/cjs/utils/mapOrder.d.ts.map +1 -0
  82. package/dist/cjs/utils/mapOrder.js +135 -0
  83. package/dist/cjs/utils/mapOrder.js.map +1 -0
  84. package/dist/cjs/utils/mapPosition.d.ts +5 -0
  85. package/dist/cjs/utils/mapPosition.d.ts.map +1 -0
  86. package/dist/cjs/utils/mapPosition.js +26 -0
  87. package/dist/cjs/utils/mapPosition.js.map +1 -0
  88. package/dist/cjs/utils/ohlcvInterval.d.ts +4 -0
  89. package/dist/cjs/utils/ohlcvInterval.d.ts.map +1 -0
  90. package/dist/cjs/utils/ohlcvInterval.js +49 -0
  91. package/dist/cjs/utils/ohlcvInterval.js.map +1 -0
  92. package/dist/cjs/utils/ondoAsset.d.ts +3 -0
  93. package/dist/cjs/utils/ondoAsset.d.ts.map +1 -0
  94. package/dist/cjs/utils/ondoAsset.js +12 -0
  95. package/dist/cjs/utils/ondoAsset.js.map +1 -0
  96. package/dist/cjs/utils/orderFormatting.d.ts +4 -0
  97. package/dist/cjs/utils/orderFormatting.d.ts.map +1 -0
  98. package/dist/cjs/utils/orderFormatting.js +40 -0
  99. package/dist/cjs/utils/orderFormatting.js.map +1 -0
  100. package/dist/cjs/websocket/OndoWsProvider.d.ts +56 -0
  101. package/dist/cjs/websocket/OndoWsProvider.d.ts.map +1 -0
  102. package/dist/cjs/websocket/OndoWsProvider.js +515 -0
  103. package/dist/cjs/websocket/OndoWsProvider.js.map +1 -0
  104. package/dist/esm/OndoProvider.d.ts +39 -0
  105. package/dist/esm/OndoProvider.d.ts.map +1 -0
  106. package/dist/esm/OndoProvider.js +366 -0
  107. package/dist/esm/OndoProvider.js.map +1 -0
  108. package/dist/esm/accountConfig.d.ts +13 -0
  109. package/dist/esm/accountConfig.d.ts.map +1 -0
  110. package/dist/esm/accountConfig.js +77 -0
  111. package/dist/esm/accountConfig.js.map +1 -0
  112. package/dist/esm/accountSummary.d.ts +12 -0
  113. package/dist/esm/accountSummary.d.ts.map +1 -0
  114. package/dist/esm/accountSummary.js +14 -0
  115. package/dist/esm/accountSummary.js.map +1 -0
  116. package/dist/esm/auth/OndoTokenStore.d.ts +20 -0
  117. package/dist/esm/auth/OndoTokenStore.d.ts.map +1 -0
  118. package/dist/esm/auth/OndoTokenStore.js +61 -0
  119. package/dist/esm/auth/OndoTokenStore.js.map +1 -0
  120. package/dist/esm/auth/completeSiweLogin.d.ts +28 -0
  121. package/dist/esm/auth/completeSiweLogin.d.ts.map +1 -0
  122. package/dist/esm/auth/completeSiweLogin.js +21 -0
  123. package/dist/esm/auth/completeSiweLogin.js.map +1 -0
  124. package/dist/esm/auth/index.d.ts +4 -0
  125. package/dist/esm/auth/index.d.ts.map +1 -0
  126. package/dist/esm/auth/index.js +5 -0
  127. package/dist/esm/auth/index.js.map +1 -0
  128. package/dist/esm/auth/signActions.d.ts +35 -0
  129. package/dist/esm/auth/signActions.d.ts.map +1 -0
  130. package/dist/esm/auth/signActions.js +103 -0
  131. package/dist/esm/auth/signActions.js.map +1 -0
  132. package/dist/esm/constants.d.ts +35 -0
  133. package/dist/esm/constants.d.ts.map +1 -0
  134. package/dist/esm/constants.js +35 -0
  135. package/dist/esm/constants.js.map +1 -0
  136. package/dist/esm/index.d.ts +19 -0
  137. package/dist/esm/index.d.ts.map +1 -0
  138. package/dist/esm/index.js +21 -0
  139. package/dist/esm/index.js.map +1 -0
  140. package/dist/esm/package.json +1 -0
  141. package/dist/esm/types/auth.d.ts +32 -0
  142. package/dist/esm/types/auth.d.ts.map +1 -0
  143. package/dist/esm/types/auth.js +2 -0
  144. package/dist/esm/types/auth.js.map +1 -0
  145. package/dist/esm/types/index.d.ts +4 -0
  146. package/dist/esm/types/index.d.ts.map +1 -0
  147. package/dist/esm/types/index.js +3 -0
  148. package/dist/esm/types/index.js.map +1 -0
  149. package/dist/esm/types/wire.d.ts +195 -0
  150. package/dist/esm/types/wire.d.ts.map +1 -0
  151. package/dist/esm/types/wire.js +7 -0
  152. package/dist/esm/types/wire.js.map +1 -0
  153. package/dist/esm/types/ws.d.ts +108 -0
  154. package/dist/esm/types/ws.d.ts.map +1 -0
  155. package/dist/esm/types/ws.js +7 -0
  156. package/dist/esm/types/ws.js.map +1 -0
  157. package/dist/esm/utils/activityCursor.d.ts +47 -0
  158. package/dist/esm/utils/activityCursor.d.ts.map +1 -0
  159. package/dist/esm/utils/activityCursor.js +93 -0
  160. package/dist/esm/utils/activityCursor.js.map +1 -0
  161. package/dist/esm/utils/apiClient.d.ts +90 -0
  162. package/dist/esm/utils/apiClient.d.ts.map +1 -0
  163. package/dist/esm/utils/apiClient.js +169 -0
  164. package/dist/esm/utils/apiClient.js.map +1 -0
  165. package/dist/esm/utils/index.d.ts +11 -0
  166. package/dist/esm/utils/index.d.ts.map +1 -0
  167. package/dist/esm/utils/index.js +12 -0
  168. package/dist/esm/utils/index.js.map +1 -0
  169. package/dist/esm/utils/liquidation.d.ts +20 -0
  170. package/dist/esm/utils/liquidation.d.ts.map +1 -0
  171. package/dist/esm/utils/liquidation.js +29 -0
  172. package/dist/esm/utils/liquidation.js.map +1 -0
  173. package/dist/esm/utils/mapActivity.d.ts +21 -0
  174. package/dist/esm/utils/mapActivity.d.ts.map +1 -0
  175. package/dist/esm/utils/mapActivity.js +45 -0
  176. package/dist/esm/utils/mapActivity.js.map +1 -0
  177. package/dist/esm/utils/mapFill.d.ts +12 -0
  178. package/dist/esm/utils/mapFill.d.ts.map +1 -0
  179. package/dist/esm/utils/mapFill.js +37 -0
  180. package/dist/esm/utils/mapFill.js.map +1 -0
  181. package/dist/esm/utils/mapOrder.d.ts +50 -0
  182. package/dist/esm/utils/mapOrder.d.ts.map +1 -0
  183. package/dist/esm/utils/mapOrder.js +155 -0
  184. package/dist/esm/utils/mapOrder.js.map +1 -0
  185. package/dist/esm/utils/mapPosition.d.ts +19 -0
  186. package/dist/esm/utils/mapPosition.d.ts.map +1 -0
  187. package/dist/esm/utils/mapPosition.js +32 -0
  188. package/dist/esm/utils/mapPosition.js.map +1 -0
  189. package/dist/esm/utils/ohlcvInterval.d.ts +11 -0
  190. package/dist/esm/utils/ohlcvInterval.d.ts.map +1 -0
  191. package/dist/esm/utils/ohlcvInterval.js +59 -0
  192. package/dist/esm/utils/ohlcvInterval.js.map +1 -0
  193. package/dist/esm/utils/ondoAsset.d.ts +4 -0
  194. package/dist/esm/utils/ondoAsset.d.ts.map +1 -0
  195. package/dist/esm/utils/ondoAsset.js +9 -0
  196. package/dist/esm/utils/ondoAsset.js.map +1 -0
  197. package/dist/esm/utils/orderFormatting.d.ts +33 -0
  198. package/dist/esm/utils/orderFormatting.d.ts.map +1 -0
  199. package/dist/esm/utils/orderFormatting.js +62 -0
  200. package/dist/esm/utils/orderFormatting.js.map +1 -0
  201. package/dist/esm/websocket/OndoWsProvider.d.ts +122 -0
  202. package/dist/esm/websocket/OndoWsProvider.d.ts.map +1 -0
  203. package/dist/esm/websocket/OndoWsProvider.js +591 -0
  204. package/dist/esm/websocket/OndoWsProvider.js.map +1 -0
  205. package/dist/types/OndoProvider.d.ts +39 -0
  206. package/dist/types/OndoProvider.d.ts.map +1 -0
  207. package/dist/types/accountConfig.d.ts +13 -0
  208. package/dist/types/accountConfig.d.ts.map +1 -0
  209. package/dist/types/accountSummary.d.ts +12 -0
  210. package/dist/types/accountSummary.d.ts.map +1 -0
  211. package/dist/types/auth/OndoTokenStore.d.ts +20 -0
  212. package/dist/types/auth/OndoTokenStore.d.ts.map +1 -0
  213. package/dist/types/auth/completeSiweLogin.d.ts +28 -0
  214. package/dist/types/auth/completeSiweLogin.d.ts.map +1 -0
  215. package/dist/types/auth/index.d.ts +4 -0
  216. package/dist/types/auth/index.d.ts.map +1 -0
  217. package/dist/types/auth/signActions.d.ts +35 -0
  218. package/dist/types/auth/signActions.d.ts.map +1 -0
  219. package/dist/types/constants.d.ts +35 -0
  220. package/dist/types/constants.d.ts.map +1 -0
  221. package/dist/types/index.d.ts +19 -0
  222. package/dist/types/index.d.ts.map +1 -0
  223. package/dist/types/types/auth.d.ts +32 -0
  224. package/dist/types/types/auth.d.ts.map +1 -0
  225. package/dist/types/types/index.d.ts +4 -0
  226. package/dist/types/types/index.d.ts.map +1 -0
  227. package/dist/types/types/wire.d.ts +195 -0
  228. package/dist/types/types/wire.d.ts.map +1 -0
  229. package/dist/types/types/ws.d.ts +108 -0
  230. package/dist/types/types/ws.d.ts.map +1 -0
  231. package/dist/types/utils/activityCursor.d.ts +47 -0
  232. package/dist/types/utils/activityCursor.d.ts.map +1 -0
  233. package/dist/types/utils/apiClient.d.ts +90 -0
  234. package/dist/types/utils/apiClient.d.ts.map +1 -0
  235. package/dist/types/utils/index.d.ts +11 -0
  236. package/dist/types/utils/index.d.ts.map +1 -0
  237. package/dist/types/utils/liquidation.d.ts +20 -0
  238. package/dist/types/utils/liquidation.d.ts.map +1 -0
  239. package/dist/types/utils/mapActivity.d.ts +21 -0
  240. package/dist/types/utils/mapActivity.d.ts.map +1 -0
  241. package/dist/types/utils/mapFill.d.ts +12 -0
  242. package/dist/types/utils/mapFill.d.ts.map +1 -0
  243. package/dist/types/utils/mapOrder.d.ts +50 -0
  244. package/dist/types/utils/mapOrder.d.ts.map +1 -0
  245. package/dist/types/utils/mapPosition.d.ts +19 -0
  246. package/dist/types/utils/mapPosition.d.ts.map +1 -0
  247. package/dist/types/utils/ohlcvInterval.d.ts +11 -0
  248. package/dist/types/utils/ohlcvInterval.d.ts.map +1 -0
  249. package/dist/types/utils/ondoAsset.d.ts +4 -0
  250. package/dist/types/utils/ondoAsset.d.ts.map +1 -0
  251. package/dist/types/utils/orderFormatting.d.ts +33 -0
  252. package/dist/types/utils/orderFormatting.d.ts.map +1 -0
  253. package/dist/types/websocket/OndoWsProvider.d.ts +122 -0
  254. package/dist/types/websocket/OndoWsProvider.d.ts.map +1 -0
  255. package/package.json +64 -0
  256. package/src/OndoProvider.ts +635 -0
  257. package/src/accountConfig.ts +105 -0
  258. package/src/accountSummary.ts +22 -0
  259. package/src/auth/OndoTokenStore.ts +83 -0
  260. package/src/auth/completeSiweLogin.ts +43 -0
  261. package/src/auth/index.ts +12 -0
  262. package/src/auth/signActions.ts +160 -0
  263. package/src/constants.ts +38 -0
  264. package/src/index.ts +36 -0
  265. package/src/types/auth.ts +32 -0
  266. package/src/types/index.ts +5 -0
  267. package/src/types/wire.ts +228 -0
  268. package/src/types/ws.ts +79 -0
  269. package/src/utils/activityCursor.ts +140 -0
  270. package/src/utils/apiClient.ts +257 -0
  271. package/src/utils/index.ts +35 -0
  272. package/src/utils/liquidation.ts +37 -0
  273. package/src/utils/mapActivity.ts +61 -0
  274. package/src/utils/mapFill.ts +47 -0
  275. package/src/utils/mapOrder.ts +201 -0
  276. package/src/utils/mapPosition.ts +44 -0
  277. package/src/utils/ohlcvInterval.ts +69 -0
  278. package/src/utils/ondoAsset.ts +10 -0
  279. package/src/utils/orderFormatting.ts +70 -0
  280. package/src/websocket/OndoWsProvider.ts +752 -0
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.estimateLiquidationPrice = estimateLiquidationPrice;
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ function estimateLiquidationPrice(market, params) {
6
+ if (market.maintenanceMarginRate === undefined) {
7
+ return undefined;
8
+ }
9
+ return (0, perps_sdk_1.estimateIsolatedLiquidationPrice)({
10
+ entryPrice: params.entryPrice,
11
+ leverage: params.leverage,
12
+ isLong: params.isLong,
13
+ maintenanceMarginRate: market.maintenanceMarginRate,
14
+ });
15
+ }
16
+ //# sourceMappingURL=liquidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liquidation.js","sourceRoot":"","sources":["../../../src/utils/liquidation.ts"],"names":[],"mappings":";;AAuBA,4DAaC;AA5BD,+CAGwB;AAYxB,SAAgB,wBAAwB,CACtC,MAAmB,EACnB,MAAiC;IAEjC,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,IAAA,4CAAgC,EAAC;QACtC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;KACpD,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { FundingActivity, LiquidationActivity, MarketDisplay } from '@lifi/perps-types';
2
+ import type { OndoFundingFeeTransfer, OndoLiquidationEvent } from '../types/wire.js';
3
+ export declare const mapFundingActivity: (transfer: OndoFundingFeeTransfer, market: MarketDisplay) => FundingActivity;
4
+ export declare const mapLiquidationActivity: (event: OndoLiquidationEvent, resolveMarket: (market: string) => MarketDisplay) => LiquidationActivity;
5
+ //# sourceMappingURL=mapActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapActivity.d.ts","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,aAAa,EACd,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AAWzB,eAAO,MAAM,kBAAkB,GAC7B,UAAU,sBAAsB,EAChC,QAAQ,aAAa,KACpB,eAYF,CAAA;AASD,eAAO,MAAM,sBAAsB,GACjC,OAAO,oBAAoB,EAC3B,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,KAC/C,mBAYD,CAAA"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapLiquidationActivity = exports.mapFundingActivity = void 0;
4
+ const perps_types_1 = require("@lifi/perps-types");
5
+ const constants_js_1 = require("../constants.js");
6
+ const mapFundingActivity = (transfer, market) => {
7
+ const timestamp = new Date(transfer.time).toISOString();
8
+ return {
9
+ id: `funding:${transfer.market}:${timestamp}`,
10
+ provider: constants_js_1.ONDO_PROVIDER_KEY,
11
+ timestamp,
12
+ type: perps_types_1.ActivityType.FUNDING,
13
+ market,
14
+ amount: transfer.amount,
15
+ positionSize: transfer.positionSize,
16
+ fundingRate: transfer.rate,
17
+ };
18
+ };
19
+ exports.mapFundingActivity = mapFundingActivity;
20
+ const mapLiquidationActivity = (event, resolveMarket) => ({
21
+ id: event.id,
22
+ provider: constants_js_1.ONDO_PROVIDER_KEY,
23
+ timestamp: new Date(event.time).toISOString(),
24
+ type: perps_types_1.ActivityType.LIQUIDATION,
25
+ liquidatedNotionalPosition: event.filledQuoteSize ?? '0',
26
+ accountValue: '0',
27
+ leverageType: 'cross',
28
+ liquidatedPositions: (event.triggeringPositions ?? []).map((p) => ({
29
+ market: resolveMarket(p.market),
30
+ size: p.netQuantity,
31
+ })),
32
+ });
33
+ exports.mapLiquidationActivity = mapLiquidationActivity;
34
+ //# sourceMappingURL=mapActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapActivity.js","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":";;;AAKA,mDAAgD;AAChD,kDAAmD;AAe5C,MAAM,kBAAkB,GAAG,CAChC,QAAgC,EAChC,MAAqB,EACJ,EAAE;IACnB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;IACvD,OAAO;QACL,EAAE,EAAE,WAAW,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE;QAC7C,QAAQ,EAAE,gCAAiB;QAC3B,SAAS;QACT,IAAI,EAAE,0BAAY,CAAC,OAAO;QAC1B,MAAM;QACN,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,WAAW,EAAE,QAAQ,CAAC,IAAI;KAC3B,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,kBAAkB,sBAe9B;AASM,MAAM,sBAAsB,GAAG,CACpC,KAA2B,EAC3B,aAAgD,EAC3B,EAAE,CAAC,CAAC;IACzB,EAAE,EAAE,KAAK,CAAC,EAAE;IACZ,QAAQ,EAAE,gCAAiB;IAC3B,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;IAC7C,IAAI,EAAE,0BAAY,CAAC,WAAW;IAC9B,0BAA0B,EAAE,KAAK,CAAC,eAAe,IAAI,GAAG;IACxD,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,OAAO;IACrB,mBAAmB,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/B,IAAI,EAAE,CAAC,CAAC,WAAW;KACpB,CAAC,CAAC;CACJ,CAAC,CAAA;AAfW,QAAA,sBAAsB,0BAejC"}
@@ -0,0 +1,4 @@
1
+ import type { Fill, MarketDisplay } from '@lifi/perps-types';
2
+ import type { OndoFill } from '../types/wire.js';
3
+ export declare const mapFill: (fill: OndoFill, market: MarketDisplay) => Fill;
4
+ //# sourceMappingURL=mapFill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapFill.d.ts","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAQ5D,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,kBAAkB,CAAA;AAoBnE,eAAO,MAAM,OAAO,GAAI,MAAM,QAAQ,EAAE,QAAQ,aAAa,KAAG,IAkB9D,CAAA"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mapFill = void 0;
7
+ const perps_types_1 = require("@lifi/perps-types");
8
+ const big_js_1 = __importDefault(require("big.js"));
9
+ const DIRECTION_CLASSIFICATIONS = {
10
+ openLong: perps_types_1.FillClassification.OPENED_LONG,
11
+ openShort: perps_types_1.FillClassification.OPENED_SHORT,
12
+ closeLong: perps_types_1.FillClassification.CLOSED_LONG,
13
+ closeShort: perps_types_1.FillClassification.CLOSED_SHORT,
14
+ flipLongToShort: perps_types_1.FillClassification.SWITCHED_SHORT,
15
+ flipShortToLong: perps_types_1.FillClassification.SWITCHED_LONG,
16
+ };
17
+ const mapFill = (fill, market) => ({
18
+ id: fill.id,
19
+ orderId: fill.orderId,
20
+ market,
21
+ side: fill.side === 'buy' ? perps_types_1.OrderSide.BUY : perps_types_1.OrderSide.SELL,
22
+ size: fill.size,
23
+ price: fill.price,
24
+ status: perps_types_1.FillStatus.FILLED,
25
+ liquidity: fill.isMaker ? perps_types_1.LiquidityRole.MAKER : perps_types_1.LiquidityRole.TAKER,
26
+ fee: new big_js_1.default(fill.fee).minus(fill.feeRebate ?? '0').toFixed(),
27
+ realizedPnl: fill.pnl,
28
+ classification: fill.direction !== undefined
29
+ ? DIRECTION_CLASSIFICATIONS[fill.direction]
30
+ : fill.side === 'buy'
31
+ ? perps_types_1.FillClassification.OPENED_LONG
32
+ : perps_types_1.FillClassification.OPENED_SHORT,
33
+ createdAt: new Date(fill.time).toISOString(),
34
+ });
35
+ exports.mapFill = mapFill;
36
+ //# sourceMappingURL=mapFill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapFill.js","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":";;;;;;AACA,mDAK0B;AAC1B,oDAAwB;AAGxB,MAAM,yBAAyB,GAC7B;IACE,QAAQ,EAAE,gCAAkB,CAAC,WAAW;IACxC,SAAS,EAAE,gCAAkB,CAAC,YAAY;IAC1C,SAAS,EAAE,gCAAkB,CAAC,WAAW;IACzC,UAAU,EAAE,gCAAkB,CAAC,YAAY;IAC3C,eAAe,EAAE,gCAAkB,CAAC,cAAc;IAClD,eAAe,EAAE,gCAAkB,CAAC,aAAa;CAClD,CAAA;AAUI,MAAM,OAAO,GAAG,CAAC,IAAc,EAAE,MAAqB,EAAQ,EAAE,CAAC,CAAC;IACvE,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,OAAO,EAAE,IAAI,CAAC,OAAO;IACrB,MAAM;IACN,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,uBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAS,CAAC,IAAI;IAC1D,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,MAAM,EAAE,wBAAU,CAAC,MAAM;IACzB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,2BAAa,CAAC,KAAK,CAAC,CAAC,CAAC,2BAAa,CAAC,KAAK;IACnE,GAAG,EAAE,IAAI,gBAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE;IAC7D,WAAW,EAAE,IAAI,CAAC,GAAG;IACrB,cAAc,EACZ,IAAI,CAAC,SAAS,KAAK,SAAS;QAC1B,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;YACnB,CAAC,CAAC,gCAAkB,CAAC,WAAW;YAChC,CAAC,CAAC,gCAAkB,CAAC,YAAY;IACvC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;CAC7C,CAAC,CAAA;AAlBW,QAAA,OAAO,WAkBlB"}
@@ -0,0 +1,16 @@
1
+ import type { MarketDisplay, OpenOrder, Order, TriggerOrder } from '@lifi/perps-types';
2
+ import { OrderStatus, OrderType } from '@lifi/perps-types';
3
+ import type { OndoOrder, OndoOrderStatus, OndoOrderType } from '../types/wire.js';
4
+ export declare const mapOrderType: (type: OndoOrderType) => OrderType;
5
+ export declare const mapOrderStatus: (status: OndoOrderStatus) => OrderStatus;
6
+ export declare const mapStatusReason: (order: OndoOrder) => string | undefined;
7
+ export declare const isTriggerOrder: (order: OndoOrder) => boolean;
8
+ export declare const mapOrder: (order: OndoOrder, market: MarketDisplay) => OpenOrder;
9
+ export declare const mapTriggerOrder: (order: OndoOrder, market: MarketDisplay) => TriggerOrder;
10
+ export declare const classifyAndMapOrders: (orders: OndoOrder[], resolveMarket: (market: string) => MarketDisplay | undefined) => {
11
+ openOrders: OpenOrder[];
12
+ triggerOrders: TriggerOrder[];
13
+ terminated: string[];
14
+ };
15
+ export declare const mapOrderDetail: (order: OndoOrder, market: MarketDisplay) => Order;
16
+ //# sourceMappingURL=mapOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,KAAK,EACL,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAEV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACd,MAAM,kBAAkB,CAAA;AAQzB,eAAO,MAAM,YAAY,GAAI,MAAM,aAAa,KAAG,SAWlD,CAAA;AAQD,eAAO,MAAM,cAAc,GAAI,QAAQ,eAAe,KAAG,WAYxD,CAAA;AAeD,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,KAAG,MAAM,GAAG,SAK3D,CAAA;AAQD,eAAO,MAAM,cAAc,GAAI,OAAO,SAAS,KAAG,OAIhB,CAAA;AAGlC,eAAO,MAAM,QAAQ,GACnB,OAAO,SAAS,EAChB,QAAQ,aAAa,KACpB,SAUD,CAAA;AAGF,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,EAChB,QAAQ,aAAa,KACpB,YAOD,CAAA;AAaF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,EAAE,EACnB,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KAC3D;IACD,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;CAqBrB,CAAA;AASD,eAAO,MAAM,cAAc,GACzB,OAAO,SAAS,EAChB,QAAQ,aAAa,KACpB,KA+BF,CAAA"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mapOrderDetail = exports.classifyAndMapOrders = exports.mapTriggerOrder = exports.mapOrder = exports.isTriggerOrder = exports.mapStatusReason = exports.mapOrderStatus = exports.mapOrderType = void 0;
7
+ const perps_types_1 = require("@lifi/perps-types");
8
+ const big_js_1 = __importDefault(require("big.js"));
9
+ const toIso = (time) => new Date(time).toISOString();
10
+ const mapSide = (side) => side === 'buy' ? perps_types_1.OrderSide.BUY : perps_types_1.OrderSide.SELL;
11
+ const mapOrderType = (type) => {
12
+ switch (type) {
13
+ case 'limit':
14
+ return perps_types_1.OrderType.LIMIT;
15
+ case 'market':
16
+ return perps_types_1.OrderType.MARKET;
17
+ case 'stopMarket':
18
+ return perps_types_1.OrderType.STOP_MARKET;
19
+ case 'takeProfitMarket':
20
+ return perps_types_1.OrderType.TAKE_PROFIT_MARKET;
21
+ }
22
+ };
23
+ exports.mapOrderType = mapOrderType;
24
+ const mapOrderStatus = (status) => {
25
+ switch (status) {
26
+ case 'open':
27
+ case 'untriggered':
28
+ return perps_types_1.OrderStatus.OPEN;
29
+ case 'pending':
30
+ return perps_types_1.OrderStatus.PENDING;
31
+ case 'fullyfilled':
32
+ return perps_types_1.OrderStatus.FILLED;
33
+ case 'canceled':
34
+ return perps_types_1.OrderStatus.CANCELLED;
35
+ }
36
+ };
37
+ exports.mapOrderStatus = mapOrderStatus;
38
+ const CANCEL_REASON_SENTENCES = {
39
+ liquidation: 'Order cancelled: position was liquidated.',
40
+ selfMatchPrevention: 'Order cancelled: would self-match against your own resting order.',
41
+ immediateOrCancel: 'Order cancelled: immediate-or-cancel remainder.',
42
+ };
43
+ const mapStatusReason = (order) => {
44
+ if (order.status !== 'canceled') {
45
+ return undefined;
46
+ }
47
+ return CANCEL_REASON_SENTENCES[order.cancelReason ?? ''] ?? 'Order cancelled.';
48
+ };
49
+ exports.mapStatusReason = mapStatusReason;
50
+ const isTriggerOrder = (order) => order.type === 'stopMarket' ||
51
+ order.type === 'takeProfitMarket' ||
52
+ order.stopOrderType !== undefined ||
53
+ order.triggerPrice !== undefined;
54
+ exports.isTriggerOrder = isTriggerOrder;
55
+ const mapOrder = (order, market) => ({
56
+ orderId: order.orderId,
57
+ market,
58
+ side: mapSide(order.side),
59
+ type: (0, exports.mapOrderType)(order.type),
60
+ size: order.size,
61
+ price: order.price,
62
+ filledSize: order.filledSize,
63
+ reduceOnly: order.reduceOnly ?? false,
64
+ createdAt: toIso(order.createdAt),
65
+ });
66
+ exports.mapOrder = mapOrder;
67
+ const mapTriggerOrder = (order, market) => ({
68
+ orderId: order.orderId,
69
+ market,
70
+ type: (0, exports.mapOrderType)(order.type),
71
+ size: order.size,
72
+ triggerPrice: order.triggerPrice ?? '0',
73
+ createdAt: toIso(order.createdAt),
74
+ });
75
+ exports.mapTriggerOrder = mapTriggerOrder;
76
+ const TERMINAL_STATUSES = new Set([
77
+ 'canceled',
78
+ 'fullyfilled',
79
+ ]);
80
+ const classifyAndMapOrders = (orders, resolveMarket) => {
81
+ const openOrders = [];
82
+ const triggerOrders = [];
83
+ const terminated = [];
84
+ for (const order of orders) {
85
+ if (TERMINAL_STATUSES.has(order.status)) {
86
+ terminated.push(order.orderId);
87
+ continue;
88
+ }
89
+ const market = resolveMarket(order.market);
90
+ if (market === undefined) {
91
+ continue;
92
+ }
93
+ if ((0, exports.isTriggerOrder)(order)) {
94
+ triggerOrders.push((0, exports.mapTriggerOrder)(order, market));
95
+ }
96
+ else {
97
+ openOrders.push((0, exports.mapOrder)(order, market));
98
+ }
99
+ }
100
+ return { openOrders, triggerOrders, terminated };
101
+ };
102
+ exports.classifyAndMapOrders = classifyAndMapOrders;
103
+ const mapOrderDetail = (order, market) => {
104
+ const filled = new big_js_1.default(order.filledSize);
105
+ const trigger = (0, exports.isTriggerOrder)(order);
106
+ return {
107
+ orderId: order.orderId,
108
+ market,
109
+ side: mapSide(order.side),
110
+ type: (0, exports.mapOrderType)(order.type),
111
+ price: order.price,
112
+ originalSize: order.size,
113
+ remainingSize: new big_js_1.default(order.size).minus(filled).toFixed(),
114
+ filledSize: order.filledSize,
115
+ timeInForce: order.timeInForce === undefined
116
+ ? undefined
117
+ : perps_types_1.TimeInForce[order.timeInForce],
118
+ reduceOnly: order.reduceOnly ?? false,
119
+ isTrigger: trigger,
120
+ ...(trigger && order.triggerPrice !== undefined
121
+ ? { triggerPrice: order.triggerPrice }
122
+ : {}),
123
+ status: (0, exports.mapOrderStatus)(order.status),
124
+ ...((0, exports.mapStatusReason)(order) !== undefined
125
+ ? { statusReason: (0, exports.mapStatusReason)(order) }
126
+ : {}),
127
+ ...(filled.gt(0)
128
+ ? { averagePrice: new big_js_1.default(order.filledCost).div(filled).toFixed() }
129
+ : {}),
130
+ createdAt: toIso(order.createdAt),
131
+ updatedAt: toIso(order.canceledAt ?? order.filledAt ?? order.createdAt),
132
+ };
133
+ };
134
+ exports.mapOrderDetail = mapOrderDetail;
135
+ //# sourceMappingURL=mapOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { MarketDisplay, Position } from '@lifi/perps-types';
2
+ import type { OndoPosition } from '../types/wire.js';
3
+ export declare const mapPosition: (pos: OndoPosition, market: MarketDisplay) => Position;
4
+ export declare const mapOpenPositions: (positions: OndoPosition[], resolveMarket: (market: string) => MarketDisplay) => Position[];
5
+ //# sourceMappingURL=mapPosition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapPosition.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AASpD,eAAO,MAAM,WAAW,GACtB,KAAK,YAAY,EACjB,QAAQ,aAAa,KACpB,QAWD,CAAA;AASF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,YAAY,EAAE,EACzB,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,KAC/C,QAAQ,EAK6C,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mapOpenPositions = exports.mapPosition = void 0;
7
+ const perps_types_1 = require("@lifi/perps-types");
8
+ const big_js_1 = __importDefault(require("big.js"));
9
+ const mapPosition = (pos, market) => ({
10
+ market,
11
+ side: pos.direction === 'short' ? perps_types_1.PositionSide.SHORT : perps_types_1.PositionSide.LONG,
12
+ size: new big_js_1.default(pos.netQuantity).abs().toFixed(),
13
+ entryPrice: pos.averageEntryPrice,
14
+ markPrice: pos.markPrice,
15
+ liquidationPrice: pos.liquidationPrice,
16
+ unrealizedPnl: pos.unrealizedPnl,
17
+ leverage: Number.parseFloat(pos.leverage),
18
+ marginUsed: pos.usedMargin,
19
+ marginMode: perps_types_1.MarginMode.CROSS,
20
+ });
21
+ exports.mapPosition = mapPosition;
22
+ const mapOpenPositions = (positions, resolveMarket) => positions
23
+ .filter((p) => p.direction !== 'neutral' && Number.parseFloat(p.netQuantity) !== 0)
24
+ .map((p) => (0, exports.mapPosition)(p, resolveMarket(p.market)));
25
+ exports.mapOpenPositions = mapOpenPositions;
26
+ //# sourceMappingURL=mapPosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapPosition.js","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":";;;;;;AACA,mDAA4D;AAC5D,oDAAwB;AAUjB,MAAM,WAAW,GAAG,CACzB,GAAiB,EACjB,MAAqB,EACX,EAAE,CAAC,CAAC;IACd,MAAM;IACN,IAAI,EAAE,GAAG,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,0BAAY,CAAC,KAAK,CAAC,CAAC,CAAC,0BAAY,CAAC,IAAI;IACxE,IAAI,EAAE,IAAI,gBAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;IAC9C,UAAU,EAAE,GAAG,CAAC,iBAAiB;IACjC,SAAS,EAAE,GAAG,CAAC,SAAS;IACxB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;IACtC,aAAa,EAAE,GAAG,CAAC,aAAa;IAChC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;IACzC,UAAU,EAAE,GAAG,CAAC,UAAU;IAC1B,UAAU,EAAE,wBAAU,CAAC,KAAK;CAC7B,CAAC,CAAA;AAdW,QAAA,WAAW,eActB;AASK,MAAM,gBAAgB,GAAG,CAC9B,SAAyB,EACzB,aAAgD,EACpC,EAAE,CACd,SAAS;KACN,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAC3E;KACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAR3C,QAAA,gBAAgB,oBAQ2B"}
@@ -0,0 +1,4 @@
1
+ import type { OhlcvInterval } from '@lifi/perps-types';
2
+ export declare const mapInterval: (interval: string) => string;
3
+ export declare const intervalFromBarSpan: (spanSecs: number) => OhlcvInterval | undefined;
4
+ //# sourceMappingURL=ohlcvInterval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ohlcvInterval.d.ts","sourceRoot":"","sources":["../../../src/utils/ohlcvInterval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAqCtD,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,KAAG,MAU9C,CAAA;AAQD,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,KACf,aAAa,GAAG,SAUlB,CAAA"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.intervalFromBarSpan = exports.mapInterval = void 0;
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ const perps_types_1 = require("@lifi/perps-types");
6
+ const ONDO_SUPPORTED_INTERVALS = {
7
+ '1m': '1',
8
+ '5m': '5',
9
+ '15m': '15',
10
+ '30m': '30',
11
+ '1h': '1H',
12
+ '4h': '4H',
13
+ '1d': '1D',
14
+ '1w': '1W',
15
+ '1M': '1M',
16
+ };
17
+ const INTERVAL_SECONDS = {
18
+ 60: '1m',
19
+ 300: '5m',
20
+ 900: '15m',
21
+ 1800: '30m',
22
+ 3600: '1h',
23
+ 14400: '4h',
24
+ 86400: '1d',
25
+ 604800: '1w',
26
+ };
27
+ const MONTH_MIN_SECS = 28 * 86400;
28
+ const MONTH_MAX_SECS = 31 * 86400;
29
+ const mapInterval = (interval) => {
30
+ const resolution = ONDO_SUPPORTED_INTERVALS[interval];
31
+ if (!resolution) {
32
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Ondo does not support OHLCV interval '${interval}'. ` +
33
+ `Supported: ${Object.keys(ONDO_SUPPORTED_INTERVALS).join(', ')}.`);
34
+ }
35
+ return resolution;
36
+ };
37
+ exports.mapInterval = mapInterval;
38
+ const intervalFromBarSpan = (spanSecs) => {
39
+ const fixed = INTERVAL_SECONDS[spanSecs];
40
+ if (fixed !== undefined) {
41
+ return fixed;
42
+ }
43
+ if (spanSecs >= MONTH_MIN_SECS && spanSecs <= MONTH_MAX_SECS) {
44
+ return '1M';
45
+ }
46
+ return undefined;
47
+ };
48
+ exports.intervalFromBarSpan = intervalFromBarSpan;
49
+ //# sourceMappingURL=ohlcvInterval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ohlcvInterval.js","sourceRoot":"","sources":["../../../src/utils/ohlcvInterval.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,mDAAkD;AASlD,MAAM,wBAAwB,GAA2B;IACvD,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACX,CAAA;AAED,MAAM,gBAAgB,GAAkC;IACtD,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;CACb,CAAA;AAED,MAAM,cAAc,GAAG,EAAE,GAAG,KAAK,CAAA;AACjC,MAAM,cAAc,GAAG,EAAE,GAAG,KAAK,CAAA;AAG1B,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE;IACtD,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,yCAAyC,QAAQ,KAAK;YACpD,cAAc,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpE,CAAA;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB;AAQM,MAAM,mBAAmB,GAAG,CACjC,QAAgB,EACW,EAAE;IAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,QAAQ,IAAI,cAAc,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAZY,QAAA,mBAAmB,uBAY/B"}
@@ -0,0 +1,3 @@
1
+ import type { Asset } from '@lifi/perps-types';
2
+ export declare const ondoAsset: (id: string, displaySymbol: string) => Asset;
3
+ //# sourceMappingURL=ondoAsset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ondoAsset.d.ts","sourceRoot":"","sources":["../../../src/utils/ondoAsset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAI9C,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,EAAE,eAAe,MAAM,KAAG,KAK5D,CAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ondoAsset = void 0;
4
+ const constants_js_1 = require("../constants.js");
5
+ const ondoAsset = (id, displaySymbol) => ({
6
+ providerId: constants_js_1.ONDO_PROVIDER_KEY,
7
+ id,
8
+ displaySymbol,
9
+ logoURI: '',
10
+ });
11
+ exports.ondoAsset = ondoAsset;
12
+ //# sourceMappingURL=ondoAsset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ondoAsset.js","sourceRoot":"","sources":["../../../src/utils/ondoAsset.ts"],"names":[],"mappings":";;;AACA,kDAAmD;AAG5C,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,aAAqB,EAAS,EAAE,CAAC,CAAC;IACtE,UAAU,EAAE,gCAAiB;IAC7B,EAAE;IACF,aAAa;IACb,OAAO,EAAE,EAAE;CACZ,CAAC,CAAA;AALW,QAAA,SAAS,aAKpB"}
@@ -0,0 +1,4 @@
1
+ import { type Market } from '@lifi/perps-types';
2
+ export declare function formatOrderPrice(market: Market, price: number): string;
3
+ export declare function formatOrderSize(market: Market, size: number): string;
4
+ //# sourceMappingURL=orderFormatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,mBAAmB,CAAA;AA6B/D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOtE;AAWD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUpE"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formatOrderPrice = formatOrderPrice;
7
+ exports.formatOrderSize = formatOrderSize;
8
+ const perps_sdk_1 = require("@lifi/perps-sdk");
9
+ const perps_types_1 = require("@lifi/perps-types");
10
+ const big_js_1 = __importDefault(require("big.js"));
11
+ const powerOfTenIncrement = (decimals) => new big_js_1.default(`1e-${decimals}`);
12
+ const priceGrid = (market) => {
13
+ if (market.priceIncrement !== undefined) {
14
+ return new big_js_1.default(market.priceIncrement);
15
+ }
16
+ if (market.priceDecimals !== undefined) {
17
+ return powerOfTenIncrement(market.priceDecimals);
18
+ }
19
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Market '${market.id}' carries no price grid; Ondo order prices cannot ` +
20
+ `be formatted without the market's tick increment.`);
21
+ };
22
+ function formatOrderPrice(market, price) {
23
+ const increment = priceGrid(market);
24
+ const snapped = new big_js_1.default(price)
25
+ .div(increment)
26
+ .round(0, big_js_1.default.roundHalfUp)
27
+ .times(increment);
28
+ return snapped.eq(0) ? '0' : snapped.toFixed();
29
+ }
30
+ function formatOrderSize(market, size) {
31
+ const increment = market.sizeIncrement !== undefined
32
+ ? new big_js_1.default(market.sizeIncrement)
33
+ : powerOfTenIncrement(market.szDecimals);
34
+ const snapped = new big_js_1.default(size)
35
+ .div(increment)
36
+ .round(0, big_js_1.default.roundDown)
37
+ .times(increment);
38
+ return snapped.eq(0) ? '0' : snapped.toFixed();
39
+ }
40
+ //# sourceMappingURL=orderFormatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderFormatting.js","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":";;;;;AAyCA,4CAOC;AAWD,0CAUC;AA1DD,+CAA4C;AAC5C,mDAA+D;AAC/D,oDAAwB;AAExB,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAO,EAAE,CAAC,IAAI,gBAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAA;AAEhF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAO,EAAE;IACxC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAAI,gBAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,WAAW,MAAM,CAAC,EAAE,oDAAoD;QACtE,mDAAmD,CACtD,CAAA;AACH,CAAC,CAAA;AAYD,SAAgB,gBAAgB,CAAC,MAAc,EAAE,KAAa;IAC5D,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,gBAAG,CAAC,KAAK,CAAC;SAC3B,GAAG,CAAC,SAAS,CAAC;SACd,KAAK,CAAC,CAAC,EAAE,gBAAG,CAAC,WAAW,CAAC;SACzB,KAAK,CAAC,SAAS,CAAC,CAAA;IACnB,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC;AAWD,SAAgB,eAAe,CAAC,MAAc,EAAE,IAAY;IAC1D,MAAM,SAAS,GACb,MAAM,CAAC,aAAa,KAAK,SAAS;QAChC,CAAC,CAAC,IAAI,gBAAG,CAAC,MAAM,CAAC,aAAa,CAAC;QAC/B,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,gBAAG,CAAC,IAAI,CAAC;SAC1B,GAAG,CAAC,SAAS,CAAC;SACd,KAAK,CAAC,CAAC,EAAE,gBAAG,CAAC,SAAS,CAAC;SACvB,KAAK,CAAC,SAAS,CAAC,CAAA;IACnB,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { type PerpsSDKClient, type ProviderGetQuoteParams, type QuoteListener, type StorageAdapter, WsProviderBase, type WsProviderFactory } from '@lifi/perps-sdk';
2
+ import type { Subscription } from '@lifi/perps-types';
3
+ import type { Address } from 'viem';
4
+ interface SubState {
5
+ frame: {
6
+ channel: string;
7
+ markets?: string[];
8
+ resolution?: string;
9
+ };
10
+ needsAuth: boolean;
11
+ address?: Address;
12
+ }
13
+ export interface OndoWsProviderOptions {
14
+ apiUrl?: string;
15
+ storage?: StorageAdapter;
16
+ }
17
+ export declare class OndoWsProvider extends WsProviderBase<SubState> {
18
+ private readonly tokenStore;
19
+ private readonly client;
20
+ private readonly registry;
21
+ private readonly apiUrl;
22
+ private readonly authWireRefs;
23
+ private accountSummary;
24
+ private contexts;
25
+ private pendingFunding;
26
+ private accountAddress;
27
+ private loginPromise;
28
+ constructor(wsUrl?: string, providerKey?: string, options?: OndoWsProviderOptions, client?: PerpsSDKClient);
29
+ subscribeQuote(params: ProviderGetQuoteParams, onQuote: QuoteListener): Promise<() => void>;
30
+ protected toKey(sub: Subscription): string;
31
+ protected openChannel(sub: Subscription): Promise<() => void>;
32
+ private acquireWire;
33
+ private releaseWire;
34
+ protected sendSubscribe(state: SubState): Promise<void>;
35
+ protected onClose(): void;
36
+ private resolveChannel;
37
+ private ensureLogin;
38
+ private restClient;
39
+ private seedAccountSummary;
40
+ private refreshAccountSummaryBalance;
41
+ private emitAccountSummary;
42
+ protected handleMessage(raw: string): void;
43
+ private handleBooks;
44
+ private handleTrades;
45
+ private handleKline;
46
+ private handleMarkPrices;
47
+ private handleFundingRates;
48
+ private emitContexts;
49
+ private resolveMarket;
50
+ private handleOrders;
51
+ private handleFills;
52
+ private handlePositions;
53
+ }
54
+ export declare const ondoWsProvider: (options?: OndoWsProviderOptions) => WsProviderFactory;
55
+ export {};
56
+ //# sourceMappingURL=OndoWsProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OndoWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/OndoWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,KAAK,cAAc,EAEnB,cAAc,EACd,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAGV,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAwDnC,UAAU,QAAQ;IAEhB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnE,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAOD,MAAM,WAAW,qBAAqB;IAMpC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAUD,qBAAa,cAAe,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAQ/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IAOzD,OAAO,CAAC,cAAc,CAET;IAGb,OAAO,CAAC,QAAQ,CAAoC;IAEpD,OAAO,CAAC,cAAc,CAGnB;IAGH,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,YAAY,CAA2B;gBAG7C,KAAK,GAAE,MAA4B,EACnC,WAAW,SAAoB,EAC/B,OAAO,GAAE,qBAA0B,EACnC,MAAM,CAAC,EAAE,cAAc;IAmBnB,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;IAkBtB,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;cAqB1B,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;YAiDrD,WAAW;IAuBzB,OAAO,CAAC,WAAW;cAaH,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAO1C,OAAO,IAAI,IAAI;IAOlC,OAAO,CAAC,cAAc;IA8GtB,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,UAAU;YAYJ,kBAAkB;YAoBlB,4BAA4B;IAsB1C,OAAO,CAAC,kBAAkB;IAkB1B,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IA+C1C,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,aAAa,CAGpB;IAED,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,eAAe;CA2BxB;AAaD,eAAO,MAAM,cAAc,GACxB,UAAU,qBAAqB,KAAG,iBAEmB,CAAA"}