11import { ApiExtraModels , ApiProperty , getSchemaPath } from '@nestjs/swagger' ;
2- import { PerpTradesSide } from '../../enums/perp.enum' ;
2+ import {
3+ PerpPositionLeverageDirection ,
4+ PerpPositionLeverageType ,
5+ PerpTradesSide ,
6+ } from '../../enums/perp.enum' ;
37import { PerpCoinExtendedSlimWs , PerpSpotCoinExtendedSlimWs } from './coins' ;
48import {
59 ActiveAssetPerpEvent ,
610 ActiveAssetsPerpEvent ,
711 ActiveSpotAssetPerpEvent ,
812 ActiveSpotAssetsPerpEvent ,
913 L2BookPerpEvent ,
14+ SpotStatePerpEvent ,
1015 TradesPerpEvent ,
16+ WebData3PerpEvent ,
1117} from './request' ;
1218
1319export class L2BookPerpResponseSingle {
@@ -119,13 +125,146 @@ export class ActiveAssetsPerpResponse extends ActiveAssetsPerpEvent {
119125 tokens ! : PerpCoinExtendedSlimWs [ ] ;
120126}
121127
128+ export class Web3DataMarginSummary {
129+ @ApiProperty ( )
130+ accountValue ! : string ;
131+
132+ @ApiProperty ( )
133+ totalNtlPos ! : string ;
134+
135+ @ApiProperty ( )
136+ totalRawUsd ! : string ;
137+
138+ @ApiProperty ( )
139+ totalMarginUsed ! : string ;
140+ }
141+
142+ export class Web3DataAssetPositionCumFunding {
143+ @ApiProperty ( )
144+ allTime ! : string ;
145+
146+ @ApiProperty ( )
147+ sinceChange ! : string ;
148+
149+ @ApiProperty ( )
150+ sinceOpen ! : string ;
151+ }
152+
153+ export class Web3DataAssetPositionLeverage {
154+ @ApiProperty ( )
155+ rawUsd ! : string ;
156+
157+ @ApiProperty ( )
158+ type ! : PerpPositionLeverageType ;
159+
160+ @ApiProperty ( )
161+ value ! : number ;
162+ }
163+
164+ export class Web3DataAssetPositionPosition {
165+ @ApiProperty ( )
166+ coin ! : string ;
167+
168+ @ApiProperty ( )
169+ entryPx ! : string ;
170+
171+ @ApiProperty ( )
172+ liquidationPx ! : string ;
173+
174+ @ApiProperty ( )
175+ marginUsed ! : string ;
176+
177+ @ApiProperty ( )
178+ maxLeverage ! : number ;
179+
180+ @ApiProperty ( )
181+ positionValue ! : string ;
182+
183+ @ApiProperty ( )
184+ returnOnEquity ! : string ;
185+
186+ @ApiProperty ( )
187+ szi ! : string ;
188+
189+ @ApiProperty ( )
190+ unrealizedPnl ! : string ;
191+
192+ @ApiProperty ( )
193+ cumFunding ! : Web3DataAssetPositionCumFunding ;
194+ }
195+
196+ export class Web3DataAssetPosition {
197+ @ApiProperty ( )
198+ position ! : Web3DataAssetPositionPosition ;
199+
200+ @ApiProperty ( )
201+ type ! : PerpPositionLeverageDirection ;
202+ }
203+
204+ export class Web3DataClearingHouseState {
205+ @ApiProperty ( )
206+ crossMaintenanceMarginUsed ! : string ;
207+
208+ @ApiProperty ( )
209+ withdrawable ! : string ;
210+
211+ @ApiProperty ( )
212+ time ! : number ;
213+
214+ @ApiProperty ( )
215+ marginSummary ! : Web3DataMarginSummary ;
216+
217+ @ApiProperty ( )
218+ crossMarginSummary ! : Web3DataMarginSummary ;
219+
220+ @ApiProperty ( )
221+ assetPositions ! : Web3DataAssetPosition [ ] ;
222+ }
223+
224+ export class Web3DataPerpDexStates {
225+ @ApiProperty ( )
226+ totalVaultEquity ! : string ;
227+
228+ @ApiProperty ( )
229+ clearingHouseState ! : Web3DataClearingHouseState ;
230+ }
231+
232+ export class WebData3PerpResponse extends WebData3PerpEvent {
233+ @ApiProperty ( )
234+ perpDexStates ! : Web3DataPerpDexStates [ ] ;
235+ }
236+
237+ export class SpotStateBalance {
238+ @ApiProperty ( )
239+ coin ! : string ;
240+
241+ @ApiProperty ( )
242+ token ! : number ;
243+
244+ @ApiProperty ( )
245+ total ! : string ;
246+
247+ @ApiProperty ( )
248+ hold ! : string ;
249+
250+ @ApiProperty ( )
251+ entryNtl ! : string ;
252+ }
253+
254+ export class SpotStatePerpResponse extends SpotStatePerpEvent {
255+ @ApiProperty ( )
256+ balances ! : SpotStateBalance [ ] ;
257+ }
258+
122259@ApiExtraModels (
123260 L2BookPerpResponse ,
124261 TradesPerpResponse ,
125262 ActiveSpotAssetPerpResponse ,
126263 ActiveAssetPerpResponse ,
127264 ActiveSpotAssetsPerpResponse ,
128265 ActiveAssetsPerpResponse ,
266+ WebData3PerpResponse ,
267+ SpotStatePerpResponse ,
129268)
130269export class PerpResponse {
131270 @ApiProperty ( {
@@ -136,6 +275,8 @@ export class PerpResponse {
136275 { $ref : getSchemaPath ( ActiveAssetPerpResponse ) } ,
137276 { $ref : getSchemaPath ( ActiveSpotAssetsPerpResponse ) } ,
138277 { $ref : getSchemaPath ( ActiveAssetsPerpResponse ) } ,
278+ { $ref : getSchemaPath ( WebData3PerpResponse ) } ,
279+ { $ref : getSchemaPath ( SpotStatePerpResponse ) } ,
139280 ] ,
140281 } )
141282 event ! :
@@ -144,5 +285,7 @@ export class PerpResponse {
144285 | ActiveSpotAssetPerpResponse
145286 | ActiveAssetPerpResponse
146287 | ActiveSpotAssetsPerpResponse
147- | ActiveAssetsPerpResponse ;
288+ | ActiveAssetsPerpResponse
289+ | WebData3PerpResponse
290+ | SpotStatePerpResponse ;
148291}
0 commit comments