Skip to content

Commit 3e01f82

Browse files
committed
Merge branch 'dev'
2 parents b44d920 + 104c85d commit 3e01f82

29 files changed

Lines changed: 347 additions & 54 deletions

File tree

packages/exceptions/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@injectivelabs/exceptions",
3-
"version": "1.18.15",
3+
"version": "1.18.16",
44
"description": "List of exceptions that can be reused throughout Injective's projects.",
55
"license": "Apache-2.0",
66
"author": {

packages/networks/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@injectivelabs/networks",
3-
"version": "1.18.15",
3+
"version": "1.18.16",
44
"description": "Endpoints, networks, etc. Can be reused throughout Injective's projects.",
55
"license": "Apache-2.0",
66
"author": {

packages/sdk-ts/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@injectivelabs/sdk-ts",
3-
"version": "1.18.15",
3+
"version": "1.18.16",
44
"description": "SDK in TypeScript for building Injective applications in a browser, node, and react native environment.",
55
"license": "Apache-2.0",
66
"author": {
@@ -348,7 +348,7 @@
348348
"@injectivelabs/grpc-web": "^0.0.1",
349349
"@injectivelabs/grpc-web-node-http-transport": "^0.0.2",
350350
"@injectivelabs/grpc-web-react-native-transport": "^0.0.2",
351-
"@injectivelabs/indexer-proto-ts-v2": "1.18.10",
351+
"@injectivelabs/indexer-proto-ts-v2": "1.18.11",
352352
"@injectivelabs/mito-proto-ts-v2": "1.17.3",
353353
"@injectivelabs/networks": "workspace:*",
354354
"@injectivelabs/olp-proto-ts-v2": "1.17.6",

packages/sdk-ts/src/client/indexer/grpc/IndexerGrpcRfqApi.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ describe('IndexerGrpcRFQApi', () => {
1010
try {
1111
const response = await indexerGrpcRfqApi.submitRequest({
1212
direction: 'LONG',
13-
status: 'PENDING',
1413
clientId: '1717000000',
1514
expiry: BigInt(1717000000),
1615
margin: '1000000000000000000',

packages/sdk-ts/src/client/indexer/grpc/IndexerGrpcRfqApi.ts

Lines changed: 132 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,27 @@ export class IndexerGrpcRFQApi extends BaseIndexerGrpcConsumer {
1818
async submitRequest({
1919
margin,
2020
expiry,
21-
status,
2221
clientId,
2322
marketId,
2423
quantity,
2524
direction,
2625
worstPrice,
26+
priceCheck,
2727
requestAddress,
2828
transactionTime,
2929
}: {
3030
margin: string
3131
expiry?: bigint
32-
status?: string
3332
marketId: string
3433
quantity: string
3534
direction: string
3635
clientId?: string
3736
worstPrice: string
37+
priceCheck?: boolean
3838
requestAddress?: string
3939
transactionTime?: bigint
4040
}) {
41-
const request = InjectiveRFQExchangeRpcPb.RFQRequestType.create()
41+
const request = InjectiveRFQExchangeRpcPb.RFQRequestInputType.create()
4242

4343
if (clientId) {
4444
request.clientId = clientId
@@ -72,14 +72,14 @@ export class IndexerGrpcRFQApi extends BaseIndexerGrpcConsumer {
7272
request.expiry = expiry
7373
}
7474

75-
if (status) {
76-
request.status = status
77-
}
78-
7975
if (transactionTime) {
8076
request.transactionTime = transactionTime
8177
}
8278

79+
if (priceCheck) {
80+
request.priceCheck = priceCheck
81+
}
82+
8383
const requestMessage = InjectiveRFQExchangeRpcPb.RequestRequest.create()
8484
requestMessage.request = request
8585

@@ -247,4 +247,129 @@ export class IndexerGrpcRFQApi extends BaseIndexerGrpcConsumer {
247247
response,
248248
)
249249
}
250+
251+
async createConditionalOrder({
252+
margin,
253+
orderId,
254+
marketId,
255+
quantity,
256+
direction,
257+
orderType,
258+
signature,
259+
worstPrice,
260+
triggerPrice,
261+
requestAddress,
262+
}: {
263+
margin: string
264+
orderId: string
265+
marketId: string
266+
quantity: string
267+
direction: string
268+
orderType: string
269+
signature: string
270+
worstPrice: string
271+
triggerPrice: string
272+
requestAddress: string
273+
}) {
274+
const order = InjectiveRFQExchangeRpcPb.ConditionalOrderInputType.create()
275+
276+
order.margin = margin
277+
order.orderId = orderId
278+
order.marketId = marketId
279+
order.quantity = quantity
280+
order.direction = direction
281+
order.orderType = orderType
282+
order.signature = signature
283+
order.worstPrice = worstPrice
284+
order.triggerPrice = triggerPrice
285+
order.requestAddress = requestAddress
286+
287+
const request =
288+
InjectiveRFQExchangeRpcPb.CreateConditionalOrderRequest.create()
289+
request.order = order
290+
291+
const response = await this.executeGrpcCall<
292+
InjectiveRFQExchangeRpcPb.CreateConditionalOrderRequest,
293+
InjectiveRFQExchangeRpcPb.CreateConditionalOrderResponse
294+
>(request, this.client.createConditionalOrder.bind(this.client))
295+
296+
return {
297+
order: response.order
298+
? IndexerGrpcRfqTransformer.grpcConditionalOrderToConditionalOrder(
299+
response.order,
300+
)
301+
: undefined,
302+
}
303+
}
304+
305+
async listConditionalOrders(params?: {
306+
token?: string
307+
status?: string
308+
perPage?: number
309+
marketId?: string
310+
requestAddress?: string
311+
}) {
312+
const { requestAddress, status, marketId, perPage, token } = params || {}
313+
const request =
314+
InjectiveRFQExchangeRpcPb.ListConditionalOrdersRequest.create()
315+
316+
if (requestAddress) {
317+
request.requestAddress = requestAddress
318+
}
319+
320+
if (status) {
321+
request.status = status
322+
}
323+
324+
if (marketId) {
325+
request.marketId = marketId
326+
}
327+
328+
if (perPage) {
329+
request.perPage = perPage
330+
}
331+
332+
if (token) {
333+
request.token = token
334+
}
335+
336+
const response = await this.executeGrpcCall<
337+
InjectiveRFQExchangeRpcPb.ListConditionalOrdersRequest,
338+
InjectiveRFQExchangeRpcPb.ListConditionalOrdersResponse
339+
>(request, this.client.listConditionalOrders.bind(this.client))
340+
341+
return IndexerGrpcRfqTransformer.listConditionalOrdersResponseToConditionalOrders(
342+
response,
343+
)
344+
}
345+
346+
async cancelConditionalOrder({
347+
orderId,
348+
requestAddress,
349+
signature,
350+
}: {
351+
orderId: string
352+
requestAddress: string
353+
signature: string
354+
}) {
355+
const request =
356+
InjectiveRFQExchangeRpcPb.CancelConditionalOrderRequest.create()
357+
358+
request.orderId = orderId
359+
request.requestAddress = requestAddress
360+
request.signature = signature
361+
362+
const response = await this.executeGrpcCall<
363+
InjectiveRFQExchangeRpcPb.CancelConditionalOrderRequest,
364+
InjectiveRFQExchangeRpcPb.CancelConditionalOrderResponse
365+
>(request, this.client.cancelConditionalOrder.bind(this.client))
366+
367+
return {
368+
order: response.order
369+
? IndexerGrpcRfqTransformer.grpcConditionalOrderToConditionalOrder(
370+
response.order,
371+
)
372+
: undefined,
373+
}
374+
}
250375
}

packages/sdk-ts/src/client/indexer/grpc/IndexerGrpcTcDerivativesApi.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,20 @@ export class IndexerGrpcTcDerivativesApi extends BaseIndexerGrpcConsumer {
9898
token?: string
9999
perPage?: number
100100
marketId?: string
101+
withUpnl?: boolean
101102
direction?: string
102103
withCount?: boolean
103104
accountAddress?: string
104105
}) {
105-
const { marketId, direction, perPage, token, accountAddress, withCount } =
106-
params || {}
106+
const {
107+
marketId,
108+
direction,
109+
perPage,
110+
token,
111+
accountAddress,
112+
withCount,
113+
withUpnl,
114+
} = params || {}
107115

108116
const request = InjectiveTCDerivativesRpcPb.PositionsRequest.create()
109117

@@ -123,6 +131,10 @@ export class IndexerGrpcTcDerivativesApi extends BaseIndexerGrpcConsumer {
123131
request.withCount = withCount
124132
}
125133

134+
if (withUpnl !== undefined) {
135+
request.withUpnl = withUpnl
136+
}
137+
126138
if (perPage) {
127139
request.perPage = perPage
128140
}

packages/sdk-ts/src/client/indexer/transformers/IndexerGrpcDerivativeTransformer.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -555,19 +555,20 @@ export class IndexerGrpcDerivativeTransformer {
555555
position: GrpcDerivativePositionV2,
556556
): PositionV2 {
557557
return {
558+
upnl: position.upnl,
559+
denom: position.denom,
560+
margin: position.margin,
561+
ticker: position.ticker,
558562
marketId: position.marketId,
559-
subaccountId: position.subaccountId,
560-
direction: position.direction as TradeDirection,
561563
quantity: position.quantity,
562-
entryPrice: position.entryPrice,
563-
margin: position.margin,
564-
denom: position.denom,
565-
liquidationPrice: position.liquidationPrice,
566564
markPrice: position.markPrice,
567-
ticker: position.ticker,
568-
updatedAt: Number(position.updatedAt),
565+
entryPrice: position.entryPrice,
569566
fundingSum: position.fundingSum,
570567
fundingLast: position.fundingLast,
568+
subaccountId: position.subaccountId,
569+
updatedAt: Number(position.updatedAt),
570+
liquidationPrice: position.liquidationPrice,
571+
direction: position.direction as TradeDirection,
571572
cumulativeFundingEntry: position.cumulativeFundingEntry,
572573
effectiveCumulativeFundingEntry: position.effectiveCumulativeFundingEntry,
573574
}

packages/sdk-ts/src/client/indexer/transformers/IndexerGrpcRfqTransformer.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@ import type {
77
RFQSettlementType,
88
GrpcRFQSettlement,
99
SettlementsResponse,
10+
RFQConditionalOrder,
1011
RFQProcessedQuoteType,
1112
GrpcRFQProcessedQuote,
13+
GrpcRFQConditionalOrder,
14+
RFQConditionalOrdersResponse,
1215
} from '../types'
1316

1417
/**
@@ -46,9 +49,11 @@ export class IndexerGrpcRfqTransformer {
4649
chainId: grpcQuote.chainId,
4750
marketId: grpcQuote.marketId,
4851
quantity: grpcQuote.quantity,
52+
clientId: grpcQuote.clientId,
4953
signature: grpcQuote.signature,
5054
rfqId: Number(grpcQuote.rfqId),
5155
height: Number(grpcQuote.height),
56+
priceCheck: grpcQuote.priceCheck,
5257
createdAt: Number(grpcQuote.createdAt),
5358
updatedAt: Number(grpcQuote.updatedAt),
5459
eventTime: Number(grpcQuote.eventTime),
@@ -114,8 +119,10 @@ export class IndexerGrpcRfqTransformer {
114119
marketId: grpcProcessedQuote.marketId,
115120
quantity: grpcProcessedQuote.quantity,
116121
signature: grpcProcessedQuote.signature,
122+
clientId: grpcProcessedQuote.clientId,
117123
rfqId: Number(grpcProcessedQuote.rfqId),
118124
height: Number(grpcProcessedQuote.height),
125+
priceCheck: grpcProcessedQuote.priceCheck,
119126
createdAt: Number(grpcProcessedQuote.createdAt),
120127
updatedAt: Number(grpcProcessedQuote.updatedAt),
121128
eventTime: Number(grpcProcessedQuote.eventTime),
@@ -149,4 +156,35 @@ export class IndexerGrpcRfqTransformer {
149156
next: response.next,
150157
}
151158
}
159+
160+
static grpcConditionalOrderToConditionalOrder(
161+
grpcOrder: GrpcRFQConditionalOrder,
162+
): RFQConditionalOrder {
163+
return {
164+
orderId: grpcOrder.orderId,
165+
marketId: grpcOrder.marketId,
166+
direction: grpcOrder.direction,
167+
margin: grpcOrder.margin,
168+
quantity: grpcOrder.quantity,
169+
worstPrice: grpcOrder.worstPrice,
170+
requestAddress: grpcOrder.requestAddress,
171+
orderType: grpcOrder.orderType,
172+
triggerPrice: grpcOrder.triggerPrice,
173+
status: grpcOrder.status,
174+
createdAt: Number(grpcOrder.createdAt),
175+
updatedAt: Number(grpcOrder.updatedAt),
176+
expiresAt: Number(grpcOrder.expiresAt),
177+
}
178+
}
179+
180+
static listConditionalOrdersResponseToConditionalOrders(
181+
response: InjectiveRFQRpcPb.ListConditionalOrdersResponse,
182+
): RFQConditionalOrdersResponse {
183+
return {
184+
orders: response.orders.map(
185+
IndexerGrpcRfqTransformer.grpcConditionalOrderToConditionalOrder,
186+
),
187+
next: response.next,
188+
}
189+
}
152190
}

packages/sdk-ts/src/client/indexer/transformers/IndexerGrpcTcDerivativesTransformer.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ export class IndexerGrpcTcDerivativesTransformer {
104104
position: GrpcTcDerivativePosition,
105105
): TcDerivativePosition {
106106
return {
107+
upnl: position.upnl,
107108
denom: position.denom,
108109
ticker: position.ticker,
109110
margin: position.margin,

packages/sdk-ts/src/client/indexer/types/derivatives.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export interface PositionV2 extends Omit<
3434
Position,
3535
'aggregateReduceOnlyQuantity'
3636
> {
37+
upnl: string
3738
denom: string
3839
fundingSum: string
3940
fundingLast: string

0 commit comments

Comments
 (0)