@lifi/perps-sdk-provider-ondo 2.2.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/OndoProvider.d.ts.map +1 -1
- package/dist/cjs/OndoProvider.js +23 -2
- package/dist/cjs/OndoProvider.js.map +1 -1
- package/dist/cjs/utils/depositAddress.d.ts +3 -2
- package/dist/cjs/utils/depositAddress.d.ts.map +1 -1
- package/dist/cjs/utils/depositAddress.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +3 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/mapPosition.d.ts +3 -3
- package/dist/cjs/utils/mapPosition.d.ts.map +1 -1
- package/dist/cjs/utils/mapPosition.js +1 -0
- package/dist/cjs/utils/mapPosition.js.map +1 -1
- package/dist/cjs/utils/transferMargin.d.ts +3 -0
- package/dist/cjs/utils/transferMargin.d.ts.map +1 -0
- package/dist/cjs/utils/transferMargin.js +7 -0
- package/dist/cjs/utils/transferMargin.js.map +1 -0
- package/dist/cjs/websocket/OndoWsProvider.d.ts +1 -0
- package/dist/cjs/websocket/OndoWsProvider.d.ts.map +1 -1
- package/dist/cjs/websocket/OndoWsProvider.js +13 -2
- package/dist/cjs/websocket/OndoWsProvider.js.map +1 -1
- package/dist/esm/OndoProvider.d.ts.map +1 -1
- package/dist/esm/OndoProvider.js +28 -4
- package/dist/esm/OndoProvider.js.map +1 -1
- package/dist/esm/utils/depositAddress.d.ts +3 -2
- package/dist/esm/utils/depositAddress.d.ts.map +1 -1
- package/dist/esm/utils/depositAddress.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/mapPosition.d.ts +3 -3
- package/dist/esm/utils/mapPosition.d.ts.map +1 -1
- package/dist/esm/utils/mapPosition.js +1 -0
- package/dist/esm/utils/mapPosition.js.map +1 -1
- package/dist/esm/utils/transferMargin.d.ts +10 -0
- package/dist/esm/utils/transferMargin.d.ts.map +1 -0
- package/dist/esm/utils/transferMargin.js +11 -0
- package/dist/esm/utils/transferMargin.js.map +1 -0
- package/dist/esm/websocket/OndoWsProvider.d.ts +1 -0
- package/dist/esm/websocket/OndoWsProvider.d.ts.map +1 -1
- package/dist/esm/websocket/OndoWsProvider.js +15 -4
- package/dist/esm/websocket/OndoWsProvider.js.map +1 -1
- package/dist/types/OndoProvider.d.ts.map +1 -1
- package/dist/types/utils/depositAddress.d.ts +3 -2
- package/dist/types/utils/depositAddress.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/mapPosition.d.ts +3 -3
- package/dist/types/utils/mapPosition.d.ts.map +1 -1
- package/dist/types/utils/transferMargin.d.ts +10 -0
- package/dist/types/utils/transferMargin.d.ts.map +1 -0
- package/dist/types/websocket/OndoWsProvider.d.ts +1 -0
- package/dist/types/websocket/OndoWsProvider.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/OndoProvider.ts +45 -2
- package/src/utils/depositAddress.ts +3 -3
- package/src/utils/index.ts +1 -0
- package/src/utils/mapPosition.ts +4 -3
- package/src/utils/transferMargin.ts +12 -0
- package/src/websocket/OndoWsProvider.ts +21 -8
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
resolveSubscribeQuote,
|
|
10
10
|
type StorageAdapter,
|
|
11
11
|
toMarketDisplay,
|
|
12
|
+
toPerpsMarketDisplay,
|
|
12
13
|
WsProviderBase,
|
|
13
14
|
type WsProviderFactory,
|
|
14
15
|
wsLog,
|
|
@@ -16,6 +17,7 @@ import {
|
|
|
16
17
|
import type {
|
|
17
18
|
MarketContext,
|
|
18
19
|
MarketDisplay,
|
|
20
|
+
PerpsMarketDisplay,
|
|
19
21
|
Subscription,
|
|
20
22
|
} from '@lifi/perps-types'
|
|
21
23
|
import type { Address } from 'viem'
|
|
@@ -42,7 +44,7 @@ import { OndoSessionExpiredError } from '../utils/apiClient.js'
|
|
|
42
44
|
import {
|
|
43
45
|
classifyAndMapOrders,
|
|
44
46
|
mapFill,
|
|
45
|
-
|
|
47
|
+
mapPosition,
|
|
46
48
|
OndoApiClient,
|
|
47
49
|
} from '../utils/index.js'
|
|
48
50
|
import { intervalFromBarSpan, mapInterval } from '../utils/ohlcvInterval.js'
|
|
@@ -744,6 +746,13 @@ export class OndoWsProvider extends WsProviderBase<SubState> {
|
|
|
744
746
|
return known && toMarketDisplay(known)
|
|
745
747
|
}
|
|
746
748
|
|
|
749
|
+
private resolvePerpsMarket = (
|
|
750
|
+
market: string
|
|
751
|
+
): PerpsMarketDisplay | undefined => {
|
|
752
|
+
const known = this.registry?.get(market)
|
|
753
|
+
return known && toPerpsMarketDisplay(known)
|
|
754
|
+
}
|
|
755
|
+
|
|
747
756
|
private handleOrders(orders: OndoOrder[]): void {
|
|
748
757
|
const address = this.accountAddress
|
|
749
758
|
if (address === undefined) {
|
|
@@ -780,15 +789,19 @@ export class OndoWsProvider extends WsProviderBase<SubState> {
|
|
|
780
789
|
if (address === undefined) {
|
|
781
790
|
return
|
|
782
791
|
}
|
|
783
|
-
const
|
|
784
|
-
|
|
785
|
-
|
|
792
|
+
const mapped = positions.flatMap((position) => {
|
|
793
|
+
if (
|
|
794
|
+
position.direction === 'neutral' ||
|
|
795
|
+
Number.parseFloat(position.netQuantity) === 0
|
|
796
|
+
) {
|
|
797
|
+
return []
|
|
798
|
+
}
|
|
799
|
+
const market = this.resolvePerpsMarket(position.market)
|
|
800
|
+
return market === undefined ? [] : [mapPosition(position, market)]
|
|
801
|
+
})
|
|
786
802
|
this.emit(`positions:${address}`, {
|
|
787
803
|
channel: 'positions',
|
|
788
|
-
data:
|
|
789
|
-
known,
|
|
790
|
-
(market) => this.resolveMarket(market) as MarketDisplay
|
|
791
|
-
),
|
|
804
|
+
data: mapped,
|
|
792
805
|
})
|
|
793
806
|
if (this.accountSummary !== undefined) {
|
|
794
807
|
let marginUsed = 0
|