@silvana-one/orderbook 1.1.12 → 1.1.15

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @silvana-one/orderbook
2
2
 
3
- Silvana Orderbook Client - A TypeScript/JavaScript client library for interacting with the Silvana Orderbook Service via gRPC.
3
+ Silvana Orderbook Client for Node.js and Browser environments.
4
4
 
5
5
  ## Installation
6
6
 
@@ -8,111 +8,142 @@ Silvana Orderbook Client - A TypeScript/JavaScript client library for interactin
8
8
  npm install @silvana-one/orderbook
9
9
  ```
10
10
 
11
+ For Node.js:
12
+ ```bash
13
+ npm install @connectrpc/connect-node
14
+ ```
15
+
16
+ For Browser:
17
+ ```bash
18
+ npm install @connectrpc/connect-web
19
+ ```
20
+
11
21
  ## Usage
12
22
 
13
- ### Basic Setup
23
+ ### Node.js
14
24
 
15
25
  ```typescript
16
- import { OrderbookClient, OrderType, OrderStatus, TimeInForce } from '@silvana-one/orderbook';
26
+ import { createGrpcTransport } from "@connectrpc/connect-node";
27
+ import { OrderbookClient, OrderType, TimeInForce } from "@silvana-one/orderbook";
28
+
29
+ const transport = createGrpcTransport({
30
+ baseUrl: "https://api.silvana.one",
31
+ });
17
32
 
18
- // Initialize the client
19
33
  const client = new OrderbookClient({
20
- baseUrl: 'http://localhost:50052',
21
- token: 'your-jwt-token-here'
34
+ transport,
35
+ token: "your-jwt-token",
22
36
  });
23
- ```
24
37
 
25
- ### Submitting Orders
38
+ // Get markets
39
+ const markets = await client.getMarkets();
40
+ console.log(markets.markets);
26
41
 
27
- ```typescript
28
- // Submit a buy order
29
- const response = await client.submitOrder({
30
- marketId: 'BTC-USD',
42
+ // Submit an order
43
+ const order = await client.submitOrder({
44
+ marketId: "BTC-USD",
31
45
  orderType: OrderType.BID,
32
- price: '50000.00',
33
- quantity: '0.5',
46
+ price: "50000.00",
47
+ quantity: "0.1",
34
48
  timeInForce: TimeInForce.GTC,
35
- expiresAt: new Date('2024-12-31'),
36
- traderOrderRef: 'my-order-123'
37
49
  });
38
-
39
- if (response.success) {
40
- console.log('Order submitted:', response.order);
41
- }
42
50
  ```
43
51
 
44
- ### Querying Orders
52
+ ### Browser
45
53
 
46
54
  ```typescript
47
- // Get your active orders
48
- const orders = await client.getOrders({
49
- marketId: 'BTC-USD',
50
- status: OrderStatus.ACTIVE,
51
- limit: 50
55
+ import { createGrpcWebTransport } from "@connectrpc/connect-web";
56
+ import { OrderbookClient, OrderType, TimeInForce } from "@silvana-one/orderbook";
57
+
58
+ const transport = createGrpcWebTransport({
59
+ baseUrl: "https://api.silvana.one",
52
60
  });
53
61
 
54
- // Get order history
55
- const history = await client.getOrderHistory({
56
- marketId: 'BTC-USD',
57
- fromTime: new Date('2024-01-01'),
58
- toTime: new Date(),
59
- limit: 100
62
+ const client = new OrderbookClient({
63
+ transport,
64
+ token: "your-jwt-token",
60
65
  });
66
+
67
+ // Same API as Node.js
68
+ const markets = await client.getMarkets();
61
69
  ```
62
70
 
63
- ### Market Data
71
+ ## Clients
72
+
73
+ ### OrderbookClient
74
+
75
+ Main client for trading operations.
64
76
 
65
77
  ```typescript
66
- // Get orderbook depth
67
- const depth = await client.getOrderbookDepth({
68
- marketId: 'BTC-USD',
69
- depth: 20
70
- });
78
+ import { OrderbookClient } from "@silvana-one/orderbook";
71
79
 
72
- console.log('Bids:', depth.orderbook?.bids);
73
- console.log('Offers:', depth.orderbook?.offers);
80
+ const client = new OrderbookClient({ transport, token });
74
81
 
75
- // Get market data for multiple markets
76
- const marketData = await client.getMarketData({
77
- marketIds: ['BTC-USD', 'ETH-USD']
78
- });
82
+ // Trading
83
+ await client.getMarkets();
84
+ await client.getOrders({ marketId: "BTC-USD" });
85
+ await client.submitOrder({ ... });
86
+ await client.cancelOrder({ orderId: 123n });
87
+
88
+ // Market data
89
+ await client.getOrderbookDepth({ marketId: "BTC-USD", depth: 10 });
90
+ await client.getMarketData({ marketIds: ["BTC-USD"] });
91
+
92
+ // Streaming
93
+ for await (const update of client.subscribeOrderbook({ marketId: "BTC-USD" })) {
94
+ console.log(update);
95
+ }
79
96
  ```
80
97
 
81
- ### Streaming Real-time Updates
98
+ ### PricingClient
99
+
100
+ Client for price data and market feeds.
82
101
 
83
102
  ```typescript
84
- // Subscribe to orderbook updates
85
- const orderbookStream = client.subscribeOrderbook({
86
- marketId: 'BTC-USD',
87
- depth: 10
88
- });
103
+ import { PricingClient } from "@silvana-one/orderbook";
89
104
 
90
- for await (const update of orderbookStream) {
91
- console.log('Orderbook update:', update);
92
- }
105
+ const client = new PricingClient({ transport });
93
106
 
94
- // Subscribe to your order updates
95
- const orderStream = client.subscribeOrders({
96
- marketId: 'BTC-USD'
97
- });
107
+ await client.getPrice({ marketId: "BTC-USD" });
108
+ await client.getPrices({ marketIds: ["BTC-USD", "ETH-USD"] });
109
+ await client.getKlines({ marketId: "BTC-USD", interval: "1h", limit: 100 });
98
110
 
99
- for await (const update of orderStream) {
100
- console.log('Order update:', update.eventType, update.order);
111
+ // Streaming
112
+ for await (const update of client.streamPrices({ marketIds: ["BTC-USD"] })) {
113
+ console.log(update);
101
114
  }
102
115
  ```
103
116
 
104
- ### Canceling Orders
117
+ ### NewsClient
118
+
119
+ Client for news and market updates.
105
120
 
106
121
  ```typescript
107
- const cancelResponse = await client.cancelOrder({
108
- orderId: BigInt(12345)
109
- });
122
+ import { NewsClient } from "@silvana-one/orderbook";
123
+
124
+ const client = new NewsClient({ transport });
125
+
126
+ await client.getNews({ tokens: ["BTC", "ETH"], limit: 10 });
110
127
 
111
- if (cancelResponse.success) {
112
- console.log('Order cancelled');
128
+ // Streaming
129
+ for await (const news of client.streamNews({ tokens: ["BTC"] })) {
130
+ console.log(news);
113
131
  }
114
132
  ```
115
133
 
134
+ ### SettlementClient
135
+
136
+ Client for settlement operations (Canton node integration).
137
+
138
+ ```typescript
139
+ import { SettlementClient } from "@silvana-one/orderbook";
140
+
141
+ const client = new SettlementClient({ transport });
142
+
143
+ await client.getPendingProposals({ auth, partyId: "party-1" });
144
+ await client.getSettlementStatus({ auth, settlementId: "settlement-1" });
145
+ ```
146
+
116
147
  ## API Methods
117
148
 
118
149
  ### Order Management
@@ -136,56 +167,23 @@ if (cancelResponse.success) {
136
167
  - `subscribeOrders()` - Stream order updates
137
168
  - `subscribeSettlements()` - Stream settlement updates
138
169
 
139
- ## Types and Enums
170
+ ## Types
140
171
 
141
- The package exports all necessary types and enums:
172
+ All protobuf types are exported from the package:
142
173
 
143
174
  ```typescript
144
175
  import {
176
+ Order,
145
177
  OrderType,
146
178
  OrderStatus,
147
179
  TimeInForce,
148
180
  MarketType,
149
181
  SettlementStatus,
150
- type Order,
151
- type Market,
152
- type Instrument,
153
- type Settlement,
154
- type OrderbookDepth
155
- } from '@silvana-one/orderbook';
156
- ```
157
-
158
- ## JWT Authentication
159
-
160
- All methods require JWT authentication. The token should be signed with an Ed25519 private key and include the necessary claims for accessing the orderbook service.
161
-
162
- ```typescript
163
- const token = generateJWT({
164
- sub: 'trader-id',
165
- exp: Date.now() + 3600000,
166
- // ... other required claims
167
- });
168
-
169
- const client = new OrderbookClient({
170
- baseUrl: 'http://orderbook-service:50052',
171
- token
172
- });
173
- ```
174
-
175
- ## Error Handling
176
-
177
- All async methods may throw errors. It's recommended to wrap calls in try-catch blocks:
178
-
179
- ```typescript
180
- try {
181
- const response = await client.submitOrder({
182
- // ... order parameters
183
- });
184
- } catch (error) {
185
- console.error('Failed to submit order:', error);
186
- }
182
+ Market,
183
+ Instrument,
184
+ } from "@silvana-one/orderbook";
187
185
  ```
188
186
 
189
187
  ## License
190
188
 
191
- Apache-2.0
189
+ Apache-2.0
@@ -178,7 +178,6 @@ __export(index_exports, {
178
178
  module.exports = __toCommonJS(index_exports);
179
179
 
180
180
  // dist/node/orderbook.js
181
- var import_connect_node = require("@connectrpc/connect-node");
182
181
  var import_connect = require("@connectrpc/connect");
183
182
  var import_protobuf = require("@bufbuild/protobuf");
184
183
  var import_wkt2 = require("@bufbuild/protobuf/wkt");
@@ -344,10 +343,7 @@ var OrderbookClient = class {
344
343
  * @param config Client configuration
345
344
  */
346
345
  constructor(config) {
347
- const transport = (0, import_connect_node.createGrpcTransport)({
348
- baseUrl: config.baseUrl
349
- });
350
- this.client = (0, import_connect.createClient)(OrderbookService, transport);
346
+ this.client = (0, import_connect.createClient)(OrderbookService, config.transport);
351
347
  this.token = config.token;
352
348
  }
353
349
  /**
@@ -536,6 +532,66 @@ var OrderbookClient = class {
536
532
  return await this.client.createParty(request);
537
533
  }, "createParty");
538
534
  }
535
+ /**
536
+ * Get a single party by ID
537
+ */
538
+ async getParty(params) {
539
+ return await this.wrapCall(async () => {
540
+ const request = (0, import_protobuf.create)(GetPartyRequestSchema, {
541
+ auth: this.createAuth(),
542
+ ...params
543
+ });
544
+ return await this.client.getParty(request);
545
+ }, "getParty");
546
+ }
547
+ /**
548
+ * List parties with filters and pagination
549
+ */
550
+ async getParties(params) {
551
+ return await this.wrapCall(async () => {
552
+ const request = (0, import_protobuf.create)(GetPartiesRequestSchema, {
553
+ auth: this.createAuth(),
554
+ ...params
555
+ });
556
+ return await this.client.getParties(request);
557
+ }, "getParties");
558
+ }
559
+ /**
560
+ * Update an existing party (admin operation)
561
+ */
562
+ async updateParty(params) {
563
+ return await this.wrapCall(async () => {
564
+ const request = (0, import_protobuf.create)(UpdatePartyRequestSchema, {
565
+ auth: this.createAuth(),
566
+ ...params
567
+ });
568
+ return await this.client.updateParty(request);
569
+ }, "updateParty");
570
+ }
571
+ /**
572
+ * Deactivate a party (soft delete - admin operation)
573
+ */
574
+ async deactivateParty(params) {
575
+ return await this.wrapCall(async () => {
576
+ const request = (0, import_protobuf.create)(DeactivatePartyRequestSchema, {
577
+ auth: this.createAuth(),
578
+ ...params
579
+ });
580
+ return await this.client.deactivateParty(request);
581
+ }, "deactivateParty");
582
+ }
583
+ /**
584
+ * Get party change history (audit trail)
585
+ */
586
+ async getPartyHistory(params) {
587
+ return await this.wrapCall(async () => {
588
+ const request = (0, import_protobuf.create)(GetPartyHistoryRequestSchema, {
589
+ auth: this.createAuth(),
590
+ ...params
591
+ });
592
+ return await this.client.getPartyHistory(request);
593
+ }, "getPartyHistory");
594
+ }
539
595
  /**
540
596
  * Create a new instrument (admin operation)
541
597
  */
@@ -575,7 +631,6 @@ var OrderbookClient = class {
575
631
  };
576
632
 
577
633
  // dist/node/pricing.js
578
- var import_connect_node2 = require("@connectrpc/connect-node");
579
634
  var import_connect2 = require("@connectrpc/connect");
580
635
  var import_protobuf2 = require("@bufbuild/protobuf");
581
636
  var import_wkt4 = require("@bufbuild/protobuf/wkt");
@@ -627,10 +682,7 @@ var PricingClient = class {
627
682
  * @param config Client configuration
628
683
  */
629
684
  constructor(config) {
630
- const transport = (0, import_connect_node2.createGrpcTransport)({
631
- baseUrl: config.baseUrl
632
- });
633
- this.client = (0, import_connect2.createClient)(PricingService, transport);
685
+ this.client = (0, import_connect2.createClient)(PricingService, config.transport);
634
686
  }
635
687
  /**
636
688
  * Wraps async calls with error handling
@@ -707,7 +759,6 @@ var PricingClient = class {
707
759
  };
708
760
 
709
761
  // dist/node/news.js
710
- var import_connect_node3 = require("@connectrpc/connect-node");
711
762
  var import_connect3 = require("@connectrpc/connect");
712
763
  var import_protobuf3 = require("@bufbuild/protobuf");
713
764
 
@@ -738,10 +789,7 @@ var NewsClient = class {
738
789
  * @param config Client configuration
739
790
  */
740
791
  constructor(config) {
741
- const transport = (0, import_connect_node3.createGrpcTransport)({
742
- baseUrl: config.baseUrl
743
- });
744
- this.client = (0, import_connect3.createClient)(NewsService, transport);
792
+ this.client = (0, import_connect3.createClient)(NewsService, config.transport);
745
793
  }
746
794
  /**
747
795
  * Wraps async calls with error handling
@@ -775,7 +823,6 @@ var NewsClient = class {
775
823
  };
776
824
 
777
825
  // dist/node/settlement.js
778
- var import_connect_node4 = require("@connectrpc/connect-node");
779
826
  var import_connect4 = require("@connectrpc/connect");
780
827
  var import_protobuf4 = require("@bufbuild/protobuf");
781
828
 
@@ -883,10 +930,7 @@ var SettlementClient = class {
883
930
  * @param config Client configuration
884
931
  */
885
932
  constructor(config) {
886
- const transport = (0, import_connect_node4.createGrpcTransport)({
887
- baseUrl: config.baseUrl
888
- });
889
- this.client = (0, import_connect4.createClient)(SettlementService, transport);
933
+ this.client = (0, import_connect4.createClient)(SettlementService, config.transport);
890
934
  }
891
935
  /**
892
936
  * Wraps async calls with error handling
@@ -1,3 +1,4 @@
1
+ import type { Transport } from "@connectrpc/connect";
1
2
  export * from "./proto/silvana/news/v1/news_pb.js";
2
3
  import { type GetNewsResponse } from "./proto/silvana/news/v1/news_pb.js";
3
4
  /**
@@ -12,8 +13,8 @@ export declare class NewsError extends Error {
12
13
  * News client configuration
13
14
  */
14
15
  export interface NewsClientConfig {
15
- /** Base URL of the news service (e.g., "http://localhost:50054") */
16
- baseUrl: string;
16
+ /** Transport instance (create with @connectrpc/connect-node or @connectrpc/connect-web) */
17
+ transport: Transport;
17
18
  }
18
19
  /**
19
20
  * News client for interacting with the Silvana News Service
package/dist/node/news.js CHANGED
@@ -1,4 +1,3 @@
1
- import { createGrpcTransport } from "@connectrpc/connect-node";
2
1
  import { createClient, ConnectError } from "@connectrpc/connect";
3
2
  import { create } from "@bufbuild/protobuf";
4
3
  // Export all types and schemas from the generated protobuf file
@@ -24,10 +23,7 @@ export class NewsClient {
24
23
  * @param config Client configuration
25
24
  */
26
25
  constructor(config) {
27
- const transport = createGrpcTransport({
28
- baseUrl: config.baseUrl,
29
- });
30
- this.client = createClient(NewsService, transport);
26
+ this.client = createClient(NewsService, config.transport);
31
27
  }
32
28
  /**
33
29
  * Wraps async calls with error handling
@@ -1 +1 @@
1
- {"version":3,"file":"news.js","sourceRoot":"","sources":["../../src/news.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,gEAAgE;AAChE,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EACL,WAAW,EAEX,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YACE,OAAe,EACR,IAAa,EACb,OAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAS;QACb,YAAO,GAAP,OAAO,CAAM;QAGpB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAUD;;GAEG;AACH,MAAM,OAAO,UAAU;IAGrB;;;OAGG;IACH,YAAY,MAAwB;QAClC,MAAM,SAAS,GAAG,mBAAmB,CAAC;YACpC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CACpB,SAA2B,EAC3B,aAAqB;QAErB,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,MAAM,IAAI,SAAS,CACjB,GAAG,aAAa,YAAY,KAAK,CAAC,OAAO,EAAE,EAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,CAAC,QAAQ,CACf,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,GAAG,aAAa,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EACtF,SAAS,EACT,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAKb;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;YAC3D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAGV;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,uBAAuB,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"news.js","sourceRoot":"","sources":["../../src/news.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,gEAAgE;AAChE,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EACL,WAAW,EAEX,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YACE,OAAe,EACR,IAAa,EACb,OAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAS;QACb,YAAO,GAAP,OAAO,CAAM;QAGpB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAUD;;GAEG;AACH,MAAM,OAAO,UAAU;IAGrB;;;OAGG;IACH,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CACpB,SAA2B,EAC3B,aAAqB;QAErB,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,MAAM,IAAI,SAAS,CACjB,GAAG,aAAa,YAAY,KAAK,CAAC,OAAO,EAAE,EAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,CAAC,QAAQ,CACf,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,GAAG,aAAa,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EACtF,SAAS,EACT,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAKb;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;YAC3D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAGV;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,uBAAuB,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
+ import type { Transport } from "@connectrpc/connect";
1
2
  export * from "./proto/silvana/orderbook/v1/orderbook_pb.js";
2
- import { type GetOrdersResponse, type GetOrderbookDepthResponse, type GetSettlementProposalsResponse, type GetInstrumentsResponse, type GetMarketsResponse, type GetOrderHistoryResponse, type GetMarketDataResponse, type GetSettlementsResponse, type SubmitOrderResponse, type CancelOrderResponse, type CreatePartyResponse, type CreateInstrumentResponse, type CreateMarketResponse, type UpdateMarketPriceFeedsResponse, OrderType, OrderStatus, TimeInForce, MarketType, SettlementStatus } from "./proto/silvana/orderbook/v1/orderbook_pb.js";
3
+ import { type GetOrdersResponse, type GetOrderbookDepthResponse, type GetSettlementProposalsResponse, type GetInstrumentsResponse, type GetMarketsResponse, type GetOrderHistoryResponse, type GetMarketDataResponse, type GetSettlementsResponse, type SubmitOrderResponse, type CancelOrderResponse, type CreatePartyResponse, type CreateInstrumentResponse, type CreateMarketResponse, type UpdateMarketPriceFeedsResponse, type GetPartyResponse, type GetPartiesResponse, type UpdatePartyResponse, type DeactivatePartyResponse, type GetPartyHistoryResponse, OrderType, OrderStatus, TimeInForce, MarketType, SettlementStatus } from "./proto/silvana/orderbook/v1/orderbook_pb.js";
3
4
  export { OrderType, OrderStatus, TimeInForce, MarketType, SettlementStatus };
4
5
  /**
5
6
  * Custom error class for Orderbook client errors
@@ -13,8 +14,8 @@ export declare class OrderbookError extends Error {
13
14
  * Orderbook client configuration
14
15
  */
15
16
  export interface OrderbookClientConfig {
16
- /** Base URL of the orderbook service (e.g., "http://localhost:50052") */
17
- baseUrl: string;
17
+ /** Transport instance (create with @connectrpc/connect-node or @connectrpc/connect-web) */
18
+ transport: Transport;
18
19
  /** JWT token for authentication */
19
20
  token: string;
20
21
  }
@@ -158,7 +159,54 @@ export declare class OrderbookClient {
158
159
  userServiceCid?: string;
159
160
  operatorConfigCid?: string;
160
161
  metadata?: any;
162
+ userServiceRequestCid?: string;
163
+ userData: any;
161
164
  }): Promise<CreatePartyResponse>;
165
+ /**
166
+ * Get a single party by ID
167
+ */
168
+ getParty(params: {
169
+ partyId: string;
170
+ }): Promise<GetPartyResponse>;
171
+ /**
172
+ * List parties with filters and pagination
173
+ */
174
+ getParties(params?: {
175
+ partyType?: string;
176
+ activeOnly?: boolean;
177
+ limit?: number;
178
+ offset?: number;
179
+ }): Promise<GetPartiesResponse>;
180
+ /**
181
+ * Update an existing party (admin operation)
182
+ */
183
+ updateParty(params: {
184
+ partyId: string;
185
+ expectedVersion: bigint;
186
+ partyName?: string;
187
+ userServiceCid?: string;
188
+ operatorConfigCid?: string;
189
+ userServiceRequestCid?: string;
190
+ userData?: any;
191
+ metadata?: any;
192
+ changeReason?: string;
193
+ }): Promise<UpdatePartyResponse>;
194
+ /**
195
+ * Deactivate a party (soft delete - admin operation)
196
+ */
197
+ deactivateParty(params: {
198
+ partyId: string;
199
+ expectedVersion: bigint;
200
+ changeReason: string;
201
+ }): Promise<DeactivatePartyResponse>;
202
+ /**
203
+ * Get party change history (audit trail)
204
+ */
205
+ getPartyHistory(params: {
206
+ partyId: string;
207
+ limit?: number;
208
+ offset?: number;
209
+ }): Promise<GetPartyHistoryResponse>;
162
210
  /**
163
211
  * Create a new instrument (admin operation)
164
212
  */
@@ -1,10 +1,9 @@
1
- import { createGrpcTransport } from "@connectrpc/connect-node";
2
1
  import { createClient, ConnectError } from "@connectrpc/connect";
3
2
  import { create } from "@bufbuild/protobuf";
4
3
  import { TimestampSchema } from "@bufbuild/protobuf/wkt";
5
4
  // Export all types and schemas from the generated protobuf file
6
5
  export * from "./proto/silvana/orderbook/v1/orderbook_pb.js";
7
- import { OrderbookService, GetOrdersRequestSchema, GetOrderbookDepthRequestSchema, GetSettlementProposalsRequestSchema, GetInstrumentsRequestSchema, GetMarketsRequestSchema, GetOrderHistoryRequestSchema, GetMarketDataRequestSchema, GetSettlementsRequestSchema, SubmitOrderRequestSchema, CancelOrderRequestSchema, CreatePartyRequestSchema, CreateInstrumentRequestSchema, CreateMarketRequestSchema, UpdateMarketPriceFeedsRequestSchema, SubscribeOrderbookRequestSchema, SubscribeOrdersRequestSchema, SubscribeSettlementsRequestSchema, JWTAuthSchema, OrderType, OrderStatus, TimeInForce, MarketType, SettlementStatus, } from "./proto/silvana/orderbook/v1/orderbook_pb.js";
6
+ import { OrderbookService, GetOrdersRequestSchema, GetOrderbookDepthRequestSchema, GetSettlementProposalsRequestSchema, GetInstrumentsRequestSchema, GetMarketsRequestSchema, GetOrderHistoryRequestSchema, GetMarketDataRequestSchema, GetSettlementsRequestSchema, SubmitOrderRequestSchema, CancelOrderRequestSchema, CreatePartyRequestSchema, CreateInstrumentRequestSchema, CreateMarketRequestSchema, UpdateMarketPriceFeedsRequestSchema, GetPartyRequestSchema, GetPartiesRequestSchema, UpdatePartyRequestSchema, DeactivatePartyRequestSchema, GetPartyHistoryRequestSchema, SubscribeOrderbookRequestSchema, SubscribeOrdersRequestSchema, SubscribeSettlementsRequestSchema, JWTAuthSchema, OrderType, OrderStatus, TimeInForce, MarketType, SettlementStatus, } from "./proto/silvana/orderbook/v1/orderbook_pb.js";
8
7
  // Re-export commonly used enums for convenience
9
8
  export { OrderType, OrderStatus, TimeInForce, MarketType, SettlementStatus };
10
9
  /**
@@ -35,10 +34,7 @@ export class OrderbookClient {
35
34
  * @param config Client configuration
36
35
  */
37
36
  constructor(config) {
38
- const transport = createGrpcTransport({
39
- baseUrl: config.baseUrl,
40
- });
41
- this.client = createClient(OrderbookService, transport);
37
+ this.client = createClient(OrderbookService, config.transport);
42
38
  this.token = config.token;
43
39
  }
44
40
  /**
@@ -228,6 +224,66 @@ export class OrderbookClient {
228
224
  return await this.client.createParty(request);
229
225
  }, 'createParty');
230
226
  }
227
+ /**
228
+ * Get a single party by ID
229
+ */
230
+ async getParty(params) {
231
+ return await this.wrapCall(async () => {
232
+ const request = create(GetPartyRequestSchema, {
233
+ auth: this.createAuth(),
234
+ ...params,
235
+ });
236
+ return await this.client.getParty(request);
237
+ }, 'getParty');
238
+ }
239
+ /**
240
+ * List parties with filters and pagination
241
+ */
242
+ async getParties(params) {
243
+ return await this.wrapCall(async () => {
244
+ const request = create(GetPartiesRequestSchema, {
245
+ auth: this.createAuth(),
246
+ ...params,
247
+ });
248
+ return await this.client.getParties(request);
249
+ }, 'getParties');
250
+ }
251
+ /**
252
+ * Update an existing party (admin operation)
253
+ */
254
+ async updateParty(params) {
255
+ return await this.wrapCall(async () => {
256
+ const request = create(UpdatePartyRequestSchema, {
257
+ auth: this.createAuth(),
258
+ ...params,
259
+ });
260
+ return await this.client.updateParty(request);
261
+ }, 'updateParty');
262
+ }
263
+ /**
264
+ * Deactivate a party (soft delete - admin operation)
265
+ */
266
+ async deactivateParty(params) {
267
+ return await this.wrapCall(async () => {
268
+ const request = create(DeactivatePartyRequestSchema, {
269
+ auth: this.createAuth(),
270
+ ...params,
271
+ });
272
+ return await this.client.deactivateParty(request);
273
+ }, 'deactivateParty');
274
+ }
275
+ /**
276
+ * Get party change history (audit trail)
277
+ */
278
+ async getPartyHistory(params) {
279
+ return await this.wrapCall(async () => {
280
+ const request = create(GetPartyHistoryRequestSchema, {
281
+ auth: this.createAuth(),
282
+ ...params,
283
+ });
284
+ return await this.client.getPartyHistory(request);
285
+ }, 'getPartyHistory');
286
+ }
231
287
  /**
232
288
  * Create a new instrument (admin operation)
233
289
  */
@@ -1 +1 @@
1
- {"version":3,"file":"orderbook.js","sourceRoot":"","sources":["../../src/orderbook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,gEAAgE;AAChE,cAAc,8CAA8C,CAAC;AAE7D,OAAO,EACL,gBAAgB,EAehB,sBAAsB,EACtB,8BAA8B,EAC9B,mCAAmC,EACnC,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,mCAAmC,EACnC,+BAA+B,EAC/B,4BAA4B,EAC5B,iCAAiC,EACjC,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,8CAA8C,CAAC;AAEtD,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAE7E;;GAEG;AACH,SAAS,eAAe,CAAC,IAAU;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IAChD,OAAO,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YACE,OAAe,EACR,IAAa,EACb,OAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAS;QACb,YAAO,GAAP,OAAO,CAAM;QAGpB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAYD;;GAEG;AACH,MAAM,OAAO,eAAe;IAI1B;;;OAGG;IACH,YAAY,MAA6B;QACvC,MAAM,SAAS,GAAG,mBAAmB,CAAC;YACpC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,OAAO,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CACpB,SAA2B,EAC3B,aAAqB;QAErB,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,MAAM,IAAI,cAAc,CACtB,GAAG,aAAa,YAAY,KAAK,CAAC,OAAO,EAAE,EAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,CAAC,QAAQ,CACf,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,cAAc,CACtB,GAAG,aAAa,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EACtF,SAAS,EACT,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAMf;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,EAAE;gBAC7C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAGvB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,8BAA8B,EAAE;YACrD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAK5B;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,mCAAmC,EAAE;gBAC1D,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAIpB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,2BAA2B,EAAE;YAClD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAOhB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,uBAAuB,EAAE;gBAC9C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAMrB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE;YACnD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACxE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAEnB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,0BAA0B,EAAE;YACjD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAMpB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,2BAA2B,EAAE;YAClD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACxE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAWjB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3E,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,EAAE,aAAa,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAEjB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAGlB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,+BAA+B,EAAE;YACtD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAEf;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE;YACnD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,MAEpB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,iCAAiC,EAAE;YACxD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAOjB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,EAAE,aAAa,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAStB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,6BAA6B,EAAE;gBACpD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAYlB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,yBAAyB,EAAE;gBAChD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC,EAAE,cAAc,CAAC,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAG5B;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,mCAAmC,EAAE;gBAC1D,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"orderbook.js","sourceRoot":"","sources":["../../src/orderbook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,gEAAgE;AAChE,cAAc,8CAA8C,CAAC;AAE7D,OAAO,EACL,gBAAgB,EAoBhB,sBAAsB,EACtB,8BAA8B,EAC9B,mCAAmC,EACnC,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,mCAAmC,EACnC,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,iCAAiC,EACjC,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,8CAA8C,CAAC;AAEtD,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAE7E;;GAEG;AACH,SAAS,eAAe,CAAC,IAAU;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IAChD,OAAO,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YACE,OAAe,EACR,IAAa,EACb,OAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAS;QACb,YAAO,GAAP,OAAO,CAAM;QAGpB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAYD;;GAEG;AACH,MAAM,OAAO,eAAe;IAI1B;;;OAGG;IACH,YAAY,MAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,OAAO,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CACpB,SAA2B,EAC3B,aAAqB;QAErB,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,MAAM,IAAI,cAAc,CACtB,GAAG,aAAa,YAAY,KAAK,CAAC,OAAO,EAAE,EAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,CAAC,QAAQ,CACf,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,cAAc,CACtB,GAAG,aAAa,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EACtF,SAAS,EACT,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAMf;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,EAAE;gBAC7C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAGvB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,8BAA8B,EAAE;YACrD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAK5B;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,mCAAmC,EAAE;gBAC1D,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAIpB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,2BAA2B,EAAE;YAClD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAOhB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,uBAAuB,EAAE;gBAC9C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAMrB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE;YACnD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACxE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAEnB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,0BAA0B,EAAE;YACjD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAMpB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,2BAA2B,EAAE;YAClD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACxE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAWjB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3E,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,EAAE,aAAa,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAEjB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAGlB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,+BAA+B,EAAE;YACtD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAEf;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE;YACnD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,MAEpB;QACC,MAAM,OAAO,GAAG,MAAM,CAAC,iCAAiC,EAAE;YACxD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YACvB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MASjB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,EAAE,aAAa,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAEd;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,EAAE;gBAC5C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAKhB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,uBAAuB,EAAE;gBAC9C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAUjB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,EAAE,aAAa,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAIrB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE;gBACnD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAIrB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE;gBACnD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAStB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,6BAA6B,EAAE;gBACpD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAYlB;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,yBAAyB,EAAE;gBAChD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC,EAAE,cAAc,CAAC,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAG5B;QACC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,mCAAmC,EAAE;gBAC1D,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,GAAG,MAAM;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC/B,CAAC;CACF"}