@loafmarkets/shared-types 2.0.24 → 2.0.26

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/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export type OrderType = 'MARKET' | 'LIMIT';
10
10
  export type OrderStatus = 'OPEN' | 'PARTIALLY_FILLED' | 'FILLED' | 'CANCELLED' | 'REJECTED';
11
11
  export type ConditionalOrderType = 'STOP_LIMIT' | 'STOP_MARKET' | 'TAKE_LIMIT' | 'TAKE_MARKET';
12
12
  export type PlaceableOrderType = OrderType | ConditionalOrderType;
13
- export type ConditionalOrderStatus = 'PENDING' | 'ARMED' | 'TRIGGERING' | 'PLACED' | 'FAILED' | 'CANCELLED';
13
+ export type ConditionalOrderStatus = 'PENDING' | 'ARMED' | 'PLACED' | 'FAILED' | 'CANCELLED';
14
14
  export declare function isConditionalOrderType(type: PlaceableOrderType): type is ConditionalOrderType;
15
15
  export declare function emitTypeOf(type: PlaceableOrderType): OrderType;
16
16
  export declare function triggerDirectionOf(type: ConditionalOrderType, side: OrderSide): 'UP' | 'DOWN';
@@ -43,24 +43,40 @@ export declare const orderBodySchema: z.ZodObject<{
43
43
  BUY: "BUY";
44
44
  SELL: "SELL";
45
45
  }>;
46
+ type: z.ZodEnum<{
47
+ MARKET: "MARKET";
48
+ LIMIT: "LIMIT";
49
+ }>;
46
50
  timeInForce: z.ZodEnum<{
47
51
  GTC: "GTC";
48
52
  }>;
49
53
  deadline: z.ZodInt;
50
54
  nonce: z.ZodOptional<z.ZodString>;
55
+ tpPrice: z.ZodOptional<z.ZodNumber>;
56
+ slPrice: z.ZodOptional<z.ZodNumber>;
57
+ }, z.core.$strict>;
58
+ export type OrderRequestBody = z.infer<typeof orderBodySchema>;
59
+ export declare const conditionalOrderBodySchema: z.ZodObject<{
60
+ tokenName: z.ZodString;
61
+ price: z.ZodNumber;
62
+ quantity: z.ZodNumber;
63
+ side: z.ZodEnum<{
64
+ BUY: "BUY";
65
+ SELL: "SELL";
66
+ }>;
67
+ timeInForce: z.ZodEnum<{
68
+ GTC: "GTC";
69
+ }>;
70
+ deadline: z.ZodInt;
51
71
  type: z.ZodEnum<{
52
- MARKET: "MARKET";
53
- LIMIT: "LIMIT";
54
72
  STOP_LIMIT: "STOP_LIMIT";
55
73
  STOP_MARKET: "STOP_MARKET";
56
74
  TAKE_LIMIT: "TAKE_LIMIT";
57
75
  TAKE_MARKET: "TAKE_MARKET";
58
76
  }>;
59
- triggerPrice: z.ZodOptional<z.ZodNumber>;
60
- tpPrice: z.ZodOptional<z.ZodNumber>;
61
- slPrice: z.ZodOptional<z.ZodNumber>;
77
+ triggerPrice: z.ZodNumber;
62
78
  }, z.core.$strict>;
63
- export type OrderRequestBody = z.infer<typeof orderBodySchema>;
79
+ export type ConditionalOrderRequestBody = z.infer<typeof conditionalOrderBodySchema>;
64
80
  export declare const mmOrderBodySchema: z.ZodObject<{
65
81
  tokenName: z.ZodString;
66
82
  price: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -39,7 +39,7 @@ const MAX_TOKEN_LENGTH = 4_096; // JWTs, opaque tokens, cursors
39
39
  export const MAX_ARRAY_ITEMS = 100; // documents, images, history rows
40
40
  const orderSideEnum = z.enum(['BUY', 'SELL']);
41
41
  const orderTypeEnum = z.enum(['MARKET', 'LIMIT']);
42
- const placeableOrderTypeEnum = z.enum(['MARKET', 'LIMIT', 'STOP_LIMIT', 'STOP_MARKET', 'TAKE_LIMIT', 'TAKE_MARKET']);
42
+ const conditionalOrderTypeEnum = z.enum(['STOP_LIMIT', 'STOP_MARKET', 'TAKE_LIMIT', 'TAKE_MARKET']);
43
43
  const conditionalPriceSchema = z.number().min(PRICE_TICK).max(ORDER_PRICE_MAX)
44
44
  .refine((v) => !hasExcessDecimals(v, ORDER_PRICE_MAX_DECIMALS), {
45
45
  message: `Price must have at most ${ORDER_PRICE_MAX_DECIMALS} decimal places`,
@@ -115,25 +115,12 @@ function refineOrderBody(data, ctx) {
115
115
  export const orderBodySchema = orderBodyBaseSchema
116
116
  .extend({
117
117
  nonce: z.string().optional(), // Deprecated, ignored. Only for legacy support.
118
- type: placeableOrderTypeEnum,
119
- triggerPrice: conditionalPriceSchema.optional(), // Conditional orders only
120
118
  tpPrice: conditionalPriceSchema.optional(), // Market TP
121
119
  slPrice: conditionalPriceSchema.optional(), // Market SL
122
120
  })
123
121
  .superRefine((data, ctx) => {
124
122
  refineOrderBody(data, ctx);
125
123
  const { tpPrice, slPrice } = data;
126
- const conditional = isConditionalOrderType(data.type);
127
- // A trigger price is required by, and exclusive to, the conditional types.
128
- if (conditional !== (data.triggerPrice !== undefined)) {
129
- ctx.addIssue({
130
- code: 'custom',
131
- message: conditional
132
- ? 'Stop and take orders require a trigger price'
133
- : 'Only stop and take orders accept a trigger price',
134
- path: ['triggerPrice'],
135
- });
136
- }
137
124
  if (tpPrice === undefined && slPrice === undefined)
138
125
  return;
139
126
  if (tpPrice !== undefined && slPrice !== undefined && tpPrice <= slPrice) {
@@ -155,10 +142,15 @@ export const orderBodySchema = orderBodyBaseSchema
155
142
  if (data.side !== 'BUY') {
156
143
  ctx.addIssue({ code: 'custom', message: 'Take-profit and stop-loss can only be attached to a buy order', path: ['side'] });
157
144
  }
158
- if (conditional) {
159
- ctx.addIssue({ code: 'custom', message: 'Take-profit and stop-loss cannot be attached to a stop or take order', path: ['type'] });
160
- }
161
145
  });
146
+ // -- POST /api/orders/conditional --------------------------------------
147
+ // A stop / take order: Hyperliquid's Stop Limit entry form. Price rules follow the emitted type (see refineOrderBody).
148
+ export const conditionalOrderBodySchema = orderBodyBaseSchema
149
+ .extend({
150
+ type: conditionalOrderTypeEnum,
151
+ triggerPrice: conditionalPriceSchema,
152
+ })
153
+ .superRefine(refineOrderBody);
162
154
  // -- POST /api/orders/market-maker -------------------------------------
163
155
  export const mmOrderBodySchema = orderBodyBaseSchema
164
156
  .extend({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loafmarkets/shared-types",
3
- "version": "2.0.24",
3
+ "version": "2.0.26",
4
4
  "description": "Shared contracts for Loaf Markets frontend, backend, and matching engine.",
5
5
  "type": "module",
6
6
  "private": false,
@@ -1,180 +1,644 @@
1
1
  syntax = "proto3";
2
2
 
3
- package loaf.trading;
3
+ // Loaf trading contract:
4
+ // 1. the gRPC service loaf.trading.OrderService (client: Loaf-Backend; server: the matching engine);
5
+ // 2. the JSON schemas of the matching engine's Redis pub/sub payloads (end of this file; those
6
+ // messages are never sent over gRPC).
7
+ //
8
+ // This file (Shared-Types/proto/trading.proto) is the canonical copy. The matching engine vendors a
9
+ // byte-identical copy and compiles it with tonic-prost-build. The backend loads it at runtime with
10
+ // @grpc/proto-loader {keepCase: true, longs: String, enums: String, defaults: true, oneofs: true}:
11
+ // - field names are the snake_case names below;
12
+ // - 64-bit integers (uint64, int64) reach the backend as decimal strings (parse with BigInt, or
13
+ // with Number after checking Number.isSafeInteger); 32-bit integers reach it as numbers;
14
+ // - enums travel as their full value names (for example "REJECT_REASON_TRIGGER_LOST"). A value the
15
+ // reader's copy does not know arrives as a number, so every mapping needs a default branch;
16
+ // protobufjs silently encodes an unknown enum NAME as 0;
17
+ // - an omitted request field reaches the engine as its zero value.
18
+ //
19
+ // Units. Every amount is a scaled integer:
20
+ // - prices and USDL amounts: USDL x 1000 (price_exponent 3); order prices lie on a grid of 10
21
+ // (0.01 USDL);
22
+ // - quantities: property tokens x 10 (quantity_exponent 1);
23
+ // - fee rates: basis points (100 bps = 1%);
24
+ // - users.id and properties.id are PostgreSQL integer, hence the bounds 1..=2147483647; order,
25
+ // trade and conditional-order ids are bigint, hence 1..=9223372036854775807.
26
+ //
27
+ // Enums. Enums added for the write-loop matching engine have <NAME>_UNSPECIFIED = 0 and prefixed
28
+ // values; UNSPECIFIED is never a valid business value (rejected in requests, "not applicable" in
29
+ // replies). The older enums OrderSide, OrderType and TimeInForce keep a meaningful zero (BUY, MARKET,
30
+ // GTC), so the engine cannot tell an omitted value from that zero: callers must always set them.
31
+ //
32
+ // gRPC status contract (every RPC):
33
+ // OK The request was processed; the response carries its outcome, including a
34
+ // business rejection (SubmitOrder success = false). Every reply is sent only
35
+ // after the batch that decided the request has resolved (committed, or reached
36
+ // its final per-property outcome after an internal fault). Once a call has
37
+ // returned OK, every call sent afterwards observes its effect.
38
+ // UNAVAILABLE + trailing metadata "loaf-not-processed: 1"
39
+ // The request had no effect and never will: the engine is shutting down or not
40
+ // running, its input queue is full, it stopped before processing the request,
41
+ // it gave up committing the batch after its retries, it stopped on a fatal
42
+ // error, or (SubmitOrder, CancelOrder) the batch failed permanently for the
43
+ // property concerned (an internal fault; the engine records it and raises an
44
+ // alert). Safe to report "not processed" and to retry.
45
+ // INVALID_ARGUMENT CancelOrder, CancelAll and LoadOrderBook only: the request is malformed; it
46
+ // was never queued and had no effect. SubmitOrder never returns it: a
47
+ // malformed order is answered OK with success = false and
48
+ // REJECT_REASON_INVALID.
49
+ // NOT_FOUND LoadOrderBook with property_id only: the property has no properties row.
50
+ // anything else AMBIGUOUS: the request may or may not have taken effect. This includes
51
+ // UNAVAILABLE without the trailer (the engine lost its database connection while
52
+ // committing), INTERNAL, and every status a client library synthesises itself
53
+ // (DEADLINE_EXCEEDED, CANCELLED, and UNAVAILABLE or RESOURCE_EXHAUSTED after a
54
+ // dropped connection or a reset stream). Only the trailer proves "not
55
+ // processed"; never infer it from the status code.
56
+ //
57
+ // Deadlines. The engine honours the client deadline (grpc-timeout) for admissions: a SubmitOrder whose
58
+ // deadline has passed, or whose caller has gone, when its batch is decided is not admitted and gets no
59
+ // reply. Cancels and control commands are applied even when their caller has gone. The engine accepts
60
+ // connections only after its startup batch has committed.
4
61
 
5
- // Order message
6
- message Order {
7
- uint64 order_id = 1;
8
- uint32 user_id = 2;
9
- uint32 property_id = 3;
10
- uint64 price = 4;
11
- uint32 price_multiplier = 5; // 1, 100, 1000
12
- uint32 quantity = 6;
13
- uint32 quantity_multiplier = 7; // 1, 100, 1000
14
- uint32 quantity_remaining = 8;
15
- OrderSide side = 9;
16
- OrderType type = 10;
17
- TimeInForce time_in_force = 11;
18
- int64 deadline = 12;
19
- string signature = 13;
20
- string wallet_address = 14;
21
- string nonce = 15;
22
- int64 created_at = 16;
23
- int64 maker_fee = 17;
24
- int64 taker_fee = 18;
62
+ package loaf.trading;
25
63
 
26
- }
64
+ // ----------------------------------------------------------------------------------------------------
65
+ // Enums shared by the gRPC messages and the Redis payloads (values unchanged since v1).
66
+ // ----------------------------------------------------------------------------------------------------
27
67
 
68
+ // Side of an order. In TradeExecution it is the aggressor side and is printed as a number (0 or 1).
28
69
  enum OrderSide {
29
- BUY = 0;
30
- SELL = 1;
70
+ // Buy property tokens with USDL. Also what an omitted side decodes as: always set it explicitly.
71
+ BUY = 0;
72
+ // Sell property tokens for USDL.
73
+ SELL = 1;
31
74
  }
32
75
 
76
+ // Type of an order. The engine has no separate market-order path: both types match as limit orders at
77
+ // SubmitOrderRequest.price, and an unfilled remainder rests in the book.
33
78
  enum OrderType {
34
- MARKET = 0;
35
- LIMIT = 1;
79
+ // Market order: price carries the backend's slippage-capped limit, never 0. Also what an omitted
80
+ // type decodes as: always set it explicitly.
81
+ MARKET = 0;
82
+ // Limit order at the user's price.
83
+ LIMIT = 1;
36
84
  }
37
85
 
86
+ // Time in force. Only GTC is supported; the other values exist so that they are rejected rather than
87
+ // silently decoded as GTC.
38
88
  enum TimeInForce {
39
- GTC = 0;
40
- IOC = 1;
41
- FOK = 2;
42
- GTD = 3;
89
+ // Good till cancelled: the unfilled remainder rests until it fills or is cancelled.
90
+ GTC = 0;
91
+ // Immediate or cancel. Not supported: SubmitOrder rejects it (REJECT_REASON_INVALID).
92
+ IOC = 1;
93
+ // Fill or kill. Not supported: SubmitOrder rejects it (REJECT_REASON_INVALID).
94
+ FOK = 2;
95
+ // Good till date. Not supported: SubmitOrder rejects it (REJECT_REASON_INVALID).
96
+ GTD = 3;
43
97
  }
44
98
 
45
- // Trade execution
46
- message TradeExecution {
47
- uint64 trade_id = 1;
48
- uint64 buy_order_id = 2;
49
- uint64 sell_order_id = 3;
50
- uint32 property_id = 4;
51
- string property_token_address = 5;
52
- uint64 price = 6;
53
- uint32 price_multiplier = 7; // 1, 100, 1000
54
- uint64 quantity = 8;
55
- uint32 quantity_multiplier = 9; // 1, 100, 1000
56
- uint64 buyer_fee = 10;
57
- uint64 seller_fee = 11;
58
- string buyer_wallet = 12;
59
- string seller_wallet = 13;
60
- OrderSide side = 14;
61
- int64 timestamp = 15;
62
- int64 deadline = 16;
63
- string buyer_nonce = 17;
64
- string seller_nonce = 18;
65
- string buyer_signature = 19;
66
- string seller_signature = 20;
67
- string cpp_signature = 21;
68
- uint64 buy_price = 22;
69
- uint32 buy_price_multiplier = 23;
70
- uint32 buy_quantity = 24;
71
- uint32 buy_quantity_remaining = 25;
72
- uint32 buy_quantity_multiplier = 26;
73
- int64 buy_deadline = 27;
74
- uint64 sell_price = 28;
75
- uint32 sell_price_multiplier = 29;
76
- uint32 sell_quantity = 30;
77
- uint32 sell_quantity_remaining = 31;
78
- uint32 sell_quantity_multiplier = 32;
79
- int64 sell_deadline = 33;
80
- string original_trade_signature = 34; // EIP-712 OriginalTrade signature (for settleAtomicPair)
81
- uint32 settlement_error_code = 35;
82
- uint64 settlement_block_number = 36;
83
- string settlement_settled_at = 37;
84
- string settlement_tx_hash = 38;
85
- uint64 payment_amount = 39;
99
+ // ----------------------------------------------------------------------------------------------------
100
+ // gRPC service (the status contract is at the top of this file).
101
+ // ----------------------------------------------------------------------------------------------------
102
+
103
+ // Order entry and control API of the matching engine. The service is unauthenticated: expose it only
104
+ // on a private network.
105
+ service OrderService {
106
+ // Admits or rejects one order. An admission freezes the order's funds, inserts the order (with its
107
+ // attached legs, or claiming its conditional order), matches it, and commits all of it in one
108
+ // database transaction with the rest of its batch; the reply is sent after that commit. Idempotent
109
+ // by (wallet_address, nonce): after an ambiguous failure the caller may re-send the byte-identical
110
+ // request, which is answered as a duplicate if the first attempt was admitted.
111
+ rpc SubmitOrder(SubmitOrderRequest) returns (SubmitOrderResponse);
112
+
113
+ // Cancels one resting order; the reply is sent after the cancel committed. Never refused because
114
+ // the property is not LIVE. If the batch fails permanently for the order's property, the call
115
+ // fails with UNAVAILABLE and loaf-not-processed, and the order stays open.
116
+ rpc CancelOrder(CancelOrderRequest) returns (CancelOrderResponse);
117
+
118
+ // Cancels every order resting in scope when its batch applies the command (control commands and
119
+ // cancels are applied before the batch's admissions), each exactly as CancelOrder would, and records
120
+ // the reason. Orders admitted afterwards, including later in the same batch, are not affected.
121
+ // Idempotent: a repeat cancels whatever is left, normally nothing. Never refused because a
122
+ // property is not LIVE; per-property failures are reported in failed_property_ids.
123
+ rpc CancelAll(CancelAllRequest) returns (CancelAllResponse);
124
+
125
+ // Rebuilds the engine's state for one property, or for all, from the database (the properties row
126
+ // and the open orders), exactly as an engine restart would. A LIVE property gets a tradeable book;
127
+ // a property that is not LIVE but still has open orders gets a cancel-only book; any other property
128
+ // has no book. A tradeable book is never left crossed: if its open orders cross, they are matched as
129
+ // at a restart (the trades are committed and published like any others) and an alert is raised.
130
+ // Applied at the start of its batch, so every admission decided afterwards sees the rebuilt book.
131
+ // Idempotent. Call it after every change of properties.status and after bulk database changes (the
132
+ // competition history wipe).
133
+ rpc LoadOrderBook(LoadOrderBookRequest) returns (LoadOrderBookResponse);
86
134
  }
87
135
 
88
- message OrderData {
89
- uint64 order_id = 1;
90
- uint32 quantity = 2;
136
+ // ----------------------------------------------------------------------------------------------------
137
+ // SubmitOrder
138
+ // ----------------------------------------------------------------------------------------------------
139
+
140
+ // SubmitOrder request. The gRPC handler validates it before queueing (the rules are in the field
141
+ // comments) and answers a malformed request at once with success = false and REJECT_REASON_INVALID;
142
+ // nothing is queued or written. Everything that depends on state (duplicates, the conditional claim,
143
+ // the book, the minimum value, the balance) is decided in the engine's batch.
144
+ //
145
+ // The freeze reserves `quantity` for a SELL (property tokens x 10) and, for a BUY (USDL x 1000),
146
+ // `ceil(price * quantity / 10) + ceil(price * quantity * taker_fee / 100000)`. A BUY whose freeze
147
+ // exceeds 9223372036854775807 is rejected as malformed.
148
+ message SubmitOrderRequest {
149
+ // Owner of the order: users.id. Required: 1..=2147483647.
150
+ uint32 user_id = 1;
151
+
152
+ // Property whose book the order joins: properties.id. Required: 1..=2147483647. Whether the property
153
+ // has a tradeable book is decided in the batch (REJECT_REASON_PROPERTY_NOT_FOUND), never by the
154
+ // handler.
155
+ uint32 property_id = 2;
156
+
157
+ // Limit price, USDL x 1000 per whole token; stored as orders.limit_price. Required:
158
+ // 1..=9223372036854775807 and a multiple of 10 (the 0.01 USDL grid). A MARKET order carries the
159
+ // backend's slippage-capped limit snapped to the grid. MARKET with price 0 is rejected with the
160
+ // message "Market order rejected: price is zero. Provide a non-zero price to place a market order
161
+ // as a limit order."
162
+ uint64 price = 3;
163
+
164
+ // Quantity, property tokens x 10; stored as orders.quantity. Required: 1..=9223372036854775807.
165
+ // Widened from uint32; the varint encoding is the same, so older encoders stay readable.
166
+ uint64 quantity = 4;
167
+
168
+ // BUY or SELL; any other number is rejected.
169
+ OrderSide side = 5;
170
+
171
+ // MARKET or LIMIT; any other number is rejected. Must be LIMIT when conditional_order_id is set.
172
+ OrderType type = 6;
173
+
174
+ // Must be GTC.
175
+ TimeInForce time_in_force = 7;
176
+
177
+ // Expiry in unix seconds. Must be 0: orders never expire (GTC only).
178
+ int64 deadline = 8;
179
+
180
+ // Must be 0: the engine allocates the order id (from orders_id_seq) when it admits the order. A
181
+ // non-zero value is rejected; it identifies a client that still books orders itself.
182
+ uint64 order_id = 9;
183
+
184
+ // EIP-712 signature of the order, stored verbatim as orders.signature; the engine does not verify
185
+ // it. Required: `^0x[0-9a-fA-F]{130}$`.
186
+ string signature = 10;
187
+
188
+ // Wallet that signed the order, stored verbatim (case preserved) as orders.wallet_address.
189
+ // Required: `^0x[0-9a-fA-F]{40}$` and not the zero address. The idempotency key compares it byte
190
+ // for byte; the self-trade guard and the conditional-claim check compare it ignoring case.
191
+ string wallet_address = 11;
192
+
193
+ // Order nonce, stored as orders.nonce. Required: `^[0-9a-f]{32}$`. The pair (wallet_address, nonce)
194
+ // is the idempotency key: see SubmitOrderResponse.duplicate.
195
+ string nonce = 12;
196
+
197
+ // Fee rate in bps charged when this order is the resting (maker) side of a fill; stored as
198
+ // orders.maker_fee_bps. Required: 0..=100.
199
+ int64 maker_fee = 13;
200
+
201
+ // Fee rate in bps charged when this order is the aggressor (taker) side of a fill; a BUY's freeze
202
+ // reserves fees at this rate. Stored as orders.taker_fee_bps. Required: 0..=100.
203
+ int64 taker_fee = 14;
204
+
205
+ // Scale of price. Must be 1000 (price_exponent 3).
206
+ int32 price_multiplier = 15;
207
+
208
+ // Scale of quantity. Must be 10 (quantity_exponent 1).
209
+ int32 quantity_multiplier = 16;
210
+
211
+ // Take-profit and stop-loss legs inserted with the order (see AttachedLeg). At most 2, at most one
212
+ // of each type, only on a BUY, never on a conditional trigger.
213
+ repeated AttachedLeg attached_legs = 17;
214
+
215
+ // 0 for an ordinary order. Otherwise this order is the trigger of the conditional_orders row with
216
+ // this id, which must be ARMED: the admission sets that row PLACED (placed_order_id = the new order,
217
+ // triggered_at = the batch time) and cancels its live OCO siblings (same parent_order_id, PENDING or
218
+ // ARMED), atomically with the order. The row's user_id, property_id, side, wallet_address (ignoring
219
+ // case), nonce, signature (ignoring hex case), limit_price (equal to price) and quantity must match
220
+ // this request. When non-zero: at most 9223372036854775807, type LIMIT, and no attached_legs.
221
+ uint64 conditional_order_id = 18;
222
+
223
+ // Minimum order value, USDL x 1000 (10 USDL = 10000). Required: greater than 0 (an omitted field
224
+ // reads as 0 and is rejected). The order is rejected with REJECT_REASON_BELOW_MIN_ORDER_VALUE when
225
+ // `price * quantity < min_order_value * 10` (exact integer arithmetic; exactly the minimum passes),
226
+ // unless it is a SELL of exactly the tokens full_close_basis measures (a full-position close).
227
+ uint64 min_order_value = 19;
228
+
229
+ // How the full-close exemption from min_order_value measures a SELL's property tokens. Required on
230
+ // every order, BUY included: FULL_CLOSE_BASIS_AVAILABLE or FULL_CLOSE_BASIS_TOTAL.
231
+ FullCloseBasis full_close_basis = 20;
91
232
  }
92
233
 
93
- // Order book
94
- message PriceLevel {
95
- double price = 1;
96
- double quantity = 2;
97
- repeated OrderData orders = 3;
234
+ // A take-profit or stop-loss leg of a BUY: a conditional SELL of the parent's full quantity by the same
235
+ // user and wallet on the same property. The engine inserts it into conditional_orders (status PENDING,
236
+ // parent_order_id = the new order's id) in the parent's transaction, even if the parent ends CANCELLED
237
+ // in that batch. The backend arms and fires it later.
238
+ message AttachedLeg {
239
+ // CONDITIONAL_ORDER_TYPE_TAKE_MARKET (take-profit: fires when the mark price rises to trigger_price)
240
+ // or CONDITIONAL_ORDER_TYPE_STOP_MARKET (stop-loss: fires when the mark price falls to
241
+ // trigger_price). Any other value is rejected, and so are two legs of the same type.
242
+ ConditionalOrderType type = 1;
243
+
244
+ // Mark price that fires the leg, USDL x 1000; stored as conditional_orders.trigger_price. Required:
245
+ // 1..=9223372036854775807.
246
+ uint64 trigger_price = 2;
247
+
248
+ // Limit price of the leg's SELL, USDL x 1000: the price its signature covers (the backend derives it
249
+ // from trigger_price less its slippage allowance, snapped to the grid). Stored as
250
+ // conditional_orders.limit_price; the order that fires the leg must carry exactly this price.
251
+ // Required: 1..=9223372036854775807 and a multiple of 10.
252
+ uint64 limit_price = 3;
253
+
254
+ // The leg's own order nonce, stored as conditional_orders.nonce. Required: `^[0-9a-f]{32}$`, and
255
+ // different from the parent's nonce and from the other leg's nonce.
256
+ string nonce = 4;
257
+
258
+ // EIP-712 signature of the leg's SELL order (limit_price, the parent's quantity, deadline 0), stored
259
+ // verbatim as conditional_orders.signature. Required: `^0x[0-9a-fA-F]{130}$`.
260
+ string signature = 5;
98
261
  }
99
262
 
100
- message OrderBookSnapshot {
101
- uint32 property_id = 1;
102
- uint32 price_multiplier = 2;
103
- uint32 quantity_multiplier = 3;
104
- repeated PriceLevel bids = 4;
105
- repeated PriceLevel asks = 5;
263
+ // Type of a conditional order; the value names without the prefix are the database enum
264
+ // conditional_order_type_enum. Attached legs accept only the two MARKET types.
265
+ enum ConditionalOrderType {
266
+ // Not a valid type; rejected.
267
+ CONDITIONAL_ORDER_TYPE_UNSPECIFIED = 0;
268
+ // Stop order that signs the user's own limit price. Not accepted for attached legs.
269
+ CONDITIONAL_ORDER_TYPE_STOP_LIMIT = 1;
270
+ // Stop order that signs the trigger price adjusted by the slippage allowance. As a SELL
271
+ // (stop-loss) it fires when the mark price falls to the trigger price.
272
+ CONDITIONAL_ORDER_TYPE_STOP_MARKET = 2;
273
+ // Take order that signs the user's own limit price. Not accepted for attached legs.
274
+ CONDITIONAL_ORDER_TYPE_TAKE_LIMIT = 3;
275
+ // Take order that signs the trigger price adjusted by the slippage allowance. As a SELL
276
+ // (take-profit) it fires when the mark price rises to the trigger price.
277
+ CONDITIONAL_ORDER_TYPE_TAKE_MARKET = 4;
106
278
  }
107
279
 
108
- // Quote book
109
- message QuoteLevel {
110
- OrderSide side = 1;
111
- OrderType type = 2;
112
- uint64 price = 3;
113
- uint32 quantity = 4;
280
+ // How the minimum-order-value exemption measures the tokens of the SELL's PROPERTY balance row: the
281
+ // SELL is exempt when its quantity equals that measure. A BUY is never exempt, and neither is a SELL
282
+ // without a PROPERTY balance row.
283
+ enum FullCloseBasis {
284
+ // Not a valid basis; rejected.
285
+ FULL_CLOSE_BASIS_UNSPECIFIED = 0;
286
+ // The tokens available when the order is decided: total - frozen, plus what the batch's
287
+ // CancelOrder and CancelAll cancels released from the row (they are applied before any admission),
288
+ // minus what orders admitted earlier in the batch froze on it. For direct placements (session
289
+ // signer, market maker).
290
+ FULL_CLOSE_BASIS_AVAILABLE = 1;
291
+ // The row's total as read under lock at the start of the batch, whatever is frozen. For
292
+ // conditional triggers, which were accepted at placement as a close of the whole holding.
293
+ FULL_CLOSE_BASIS_TOTAL = 2;
114
294
  }
115
295
 
116
- message QuoteBook {
296
+ // SubmitOrder reply. Invariants: success = true implies order_id > 0, status is not UNSPECIFIED,
297
+ // reject_reason = UNSPECIFIED and error_message = "". success = false implies order_id = 0,
298
+ // status = UNSPECIFIED, quantity_left = 0, both id lists empty, duplicate = false, reject_reason is
299
+ // not UNSPECIFIED, error_message is not empty, and nothing was written for this request.
300
+ message SubmitOrderResponse {
301
+ // true: the order is admitted, by this request (duplicate = false) or by an earlier request with
302
+ // the same (wallet_address, nonce) (duplicate = true). false: rejected for reject_reason; no row in
303
+ // orders, order_updates, financial_transactions or conditional_orders and no balance changed.
304
+ bool success = 1;
305
+
306
+ // The order's id (orders.id) when success; 0 otherwise.
307
+ uint64 order_id = 2;
308
+
309
+ // "" when success. Otherwise why the order was rejected. The REJECT_REASON_INVALID texts are
310
+ // written for API clients; the other reasons' texts are diagnostics (the backend shows its own).
311
+ string error_message = 3;
312
+
313
+ // The order's status as of the commit of the batch that answered this request; UNSPECIFIED when
314
+ // success is false.
315
+ OrderStatus status = 4;
316
+
317
+ // `quantity - quantity_filled` as of that commit, property tokens x 10: the unfilled remainder,
318
+ // also for CANCELLED. 0 when success is false.
319
+ uint64 quantity_left = 5;
320
+
321
+ // Ids of the conditional_orders rows inserted for attached_legs, in request order, each greater than
322
+ // order_id. Empty on a duplicate or a rejection.
323
+ repeated uint64 attached_leg_ids = 6;
324
+
325
+ // Ids of the OCO sibling conditional_orders rows this conditional claim cancelled. Empty for an
326
+ // ordinary order, on a duplicate and on a rejection.
327
+ repeated uint64 cancelled_sibling_ids = 7;
328
+
329
+ // true: (wallet_address, nonce) belongs to an order already admitted, earlier in this batch or in an
330
+ // earlier one, with the same user_id, property_id, side, price, quantity and signature (ignoring hex
331
+ // case) and, for a conditional trigger, the claimed row's placed_order_id pointing at it. Nothing
332
+ // was written; order_id, status and quantity_left describe that order. Re-read its legs and siblings
333
+ // from the database. A key used by a different order is rejected with REJECT_REASON_INVALID instead.
334
+ bool duplicate = 8;
335
+
336
+ // Why success is false; UNSPECIFIED exactly when success is true.
337
+ RejectReason reject_reason = 9;
338
+ }
339
+
340
+ // Status of an admitted order in a SubmitOrder reply; the value names without the prefix are the
341
+ // orders.status values. There is no REJECTED: a rejection is success = false.
342
+ enum OrderStatus {
343
+ // Not applicable: success is false.
344
+ ORDER_STATUS_UNSPECIFIED = 0;
345
+ // Resting with no fill: quantity_left = quantity.
346
+ ORDER_STATUS_OPEN = 1;
347
+ // Resting after one or more fills: 0 < quantity_left < quantity.
348
+ ORDER_STATUS_PARTIALLY_FILLED = 2;
349
+ // Fully filled: quantity_left = 0.
350
+ ORDER_STATUS_FILLED = 3;
351
+ // Cancelled with quantity_left > 0 unfilled. On a fresh admission: a BUY that, after at least one
352
+ // fill in its own batch, could not fund another fill within its frozen budget, so the engine
353
+ // cancelled the remainder ("budget exhausted"). On a duplicate: the order was cancelled since.
354
+ ORDER_STATUS_CANCELLED = 4;
355
+ }
356
+
357
+ // Why SubmitOrder answered success = false. The first failing check wins, in this order: stateless
358
+ // validation (in the handler); then, in the batch, the idempotency key (a duplicate is a success, a key
359
+ // used by a different order is INVALID), the conditional claim (TRIGGER_LOST, then INVALID), the
360
+ // property (PROPERTY_NOT_FOUND), the minimum value, and the balance.
361
+ enum RejectReason {
362
+ // Not applicable: success is true.
363
+ REJECT_REASON_UNSPECIFIED = 0;
364
+ // The debit balance row (the user's USDL row for a BUY, the user's PROPERTY row for property_id for
365
+ // a SELL) does not exist, or its available amount is below the order's freeze. Available =
366
+ // total - frozen, plus what the batch's CancelOrder and CancelAll cancels released from the row,
367
+ // minus what orders admitted earlier in the batch froze on it.
368
+ REJECT_REASON_INSUFFICIENT_BALANCE = 1;
369
+ // `price * quantity < min_order_value * 10`, and the order is not an exempt full-close SELL.
370
+ REJECT_REASON_BELOW_MIN_ORDER_VALUE = 2;
371
+ // The engine holds no book for the property, or holds only a cancel-only book because the property
372
+ // is not LIVE.
373
+ REJECT_REASON_PROPERTY_NOT_FOUND = 3;
374
+ // conditional_order_id names a row that does not exist or is not ARMED (pending, cancelled, failed,
375
+ // placed, or claimed earlier in the same batch). The row is left untouched.
376
+ REJECT_REASON_TRIGGER_LOST = 4;
377
+ // A caller bug: the request failed stateless validation, its (wallet_address, nonce) belongs to a
378
+ // different order, or the claimed ARMED row does not match the request. error_message names the
379
+ // failed rule and is written for the API client.
380
+ REJECT_REASON_INVALID = 5;
381
+ }
382
+
383
+ // ----------------------------------------------------------------------------------------------------
384
+ // CancelOrder
385
+ // ----------------------------------------------------------------------------------------------------
386
+
387
+ // CancelOrder request. A malformed request fails with INVALID_ARGUMENT and is never queued.
388
+ message CancelOrderRequest {
389
+ // The order to cancel: orders.id. Required: 1..=9223372036854775807.
390
+ uint64 order_id = 1;
391
+
392
+ // The order's property as the caller read it from orders.property_id, or 0 if unknown. At most
393
+ // 2147483647. When non-zero and different from the order's property, the reply is "Order not
394
+ // found".
395
+ uint32 property_id = 2;
396
+ }
397
+
398
+ // CancelOrder reply.
399
+ message CancelOrderResponse {
400
+ // true: the cancel committed. The order left its book, orders.status became CANCELLED, one CANCEL
401
+ // order_updates row recorded the unfilled remainder, and the order's remaining freeze was released
402
+ // (USDL for a BUY, property tokens for a SELL; clamped at the balance's frozen amount, with an alert,
403
+ // if that is smaller). false: the order was not resting when the batch applied the cancel (it never
404
+ // existed, was already filled or cancelled, was cancelled earlier in the same batch, or property_id
405
+ // did not match); nothing was written.
406
+ bool success = 1;
407
+
408
+ // The request's order_id, echoed.
409
+ uint64 order_id = 2;
410
+
411
+ // "" when success, "Order not found" otherwise. Diagnostic only.
412
+ string error_message = 3;
413
+ }
414
+
415
+ // ----------------------------------------------------------------------------------------------------
416
+ // CancelAll
417
+ // ----------------------------------------------------------------------------------------------------
418
+
419
+ // CancelAll request. The scope is exactly one of property_id != 0 or all_properties = true; anything
420
+ // else fails with INVALID_ARGUMENT. These are deliberately two plain fields, not a oneof: protobufjs
421
+ // encodes both members of a oneof when a caller sets both, and the decoder keeps the last one, which
422
+ // would silently widen a one-property call to every property.
423
+ message CancelAllRequest {
424
+ // One property: properties.id, 1..=2147483647. 0 when all_properties is set. A property the engine
425
+ // holds no book for has nothing to cancel: the reply is all zeros.
117
426
  uint32 property_id = 1;
118
- repeated QuoteLevel bids = 2;
119
- repeated QuoteLevel asks = 3;
427
+
428
+ // true: every property the engine holds a book for.
429
+ bool all_properties = 2;
430
+
431
+ // Why the orders are cancelled, stored as order_updates.rejection_reason of every CANCEL row
432
+ // written. Required: `^[A-Z][A-Z0-9_]{0,63}$`, for example ADMIN_FORCE_CANCEL, PROPERTY_DELISTED or
433
+ // PROPERTY_UNLISTED.
434
+ string reason = 3;
120
435
  }
121
436
 
437
+ // CancelAll reply. The totals cover only the orders this call cancelled.
438
+ message CancelAllResponse {
439
+ // Orders cancelled by this call (one CANCEL order_updates row each).
440
+ uint32 cancelled_orders = 1;
122
441
 
123
- // --------------------------------------------------------------
124
- // Service 1: OrderService (for Node.js Backend)
125
- // --------------------------------------------------------------
442
+ // Distinct owners (users.id) of those orders.
443
+ uint32 affected_users = 2;
126
444
 
127
- service OrderService {
128
- rpc SubmitOrder(SubmitOrderRequest) returns (SubmitOrderResponse);
129
- rpc CancelOrder(CancelOrderRequest) returns (CancelOrderResponse);
130
- rpc GetOrderStatus(GetOrderStatusRequest) returns (Order);
445
+ // USDL x 1000 released from balances.frozen by the cancelled BUY orders: the amounts actually
446
+ // removed, after any clamping.
447
+ uint64 released_usdl = 3;
448
+
449
+ // Property tokens x 10 released from balances.frozen by the cancelled SELL orders, after any
450
+ // clamping: one entry per property with a non-zero release, in ascending property_id.
451
+ repeated PropertyQuantity released_property = 4;
452
+
453
+ // Cancelled orders whose release was short of their frozen amount, because the balance's frozen
454
+ // was smaller (it was clamped to 0) or the balance row is missing. Each also raises a DATA
455
+ // INTEGRITY alert. Normally 0.
456
+ uint32 clamped_unfreezes = 5;
457
+
458
+ // In-scope properties whose resting orders were NOT cancelled, in ascending order: the property's
459
+ // part of the batch failed permanently (an internal fault, which the engine records and alerts on;
460
+ // its orders stay open). Empty on success; otherwise re-run the call once the fault is resolved.
461
+ repeated uint32 failed_property_ids = 6;
131
462
  }
132
463
 
133
- message SubmitOrderRequest {
134
- uint32 user_id = 1;
135
- uint32 property_id = 2;
136
- uint64 price = 3;
137
- uint32 quantity = 4;
138
- OrderSide side = 5;
139
- OrderType type = 6;
140
- TimeInForce time_in_force = 7;
141
- int64 deadline = 8;
142
- uint64 order_id = 9;
143
- string signature = 10;
144
- string wallet_address = 11;
145
- string nonce = 12;
146
- int64 maker_fee = 13;
147
- int64 taker_fee = 14;
148
- int32 price_multiplier = 15;
149
- int32 quantity_multiplier = 16;
464
+ // A token quantity for one property.
465
+ message PropertyQuantity {
466
+ // properties.id.
467
+ uint32 property_id = 1;
468
+
469
+ // Property tokens x 10.
470
+ uint64 quantity = 2;
150
471
  }
151
472
 
152
- message SubmitOrderResponse {
153
- bool success = 1;
154
- uint64 order_id = 2;
155
- string error_message = 3;
473
+ // ----------------------------------------------------------------------------------------------------
474
+ // LoadOrderBook
475
+ // ----------------------------------------------------------------------------------------------------
476
+
477
+ // LoadOrderBook request. The scope is exactly one of property_id != 0 or all_properties = true;
478
+ // anything else fails with INVALID_ARGUMENT (two plain fields, not a oneof, as in CancelAllRequest).
479
+ message LoadOrderBookRequest {
480
+ // One property: properties.id, 1..=2147483647. 0 when all_properties is set. A property without a
481
+ // properties row fails with NOT_FOUND, after the engine dropped any book it held for it.
482
+ uint32 property_id = 1;
483
+
484
+ // true: every LIVE property, every property with open orders, and every property the engine holds a
485
+ // book for (so that books of deleted properties are dropped).
486
+ bool all_properties = 2;
156
487
  }
157
488
 
158
- message GetOrderStatusRequest {
159
- // string order_id = 1;
160
- // string user_id = 2;
489
+ // LoadOrderBook reply: the engine's state for the scope after the batch that applied the command.
490
+ message LoadOrderBookResponse {
491
+ // Books the engine holds for the scope (0 or 1 for a single property).
492
+ uint32 books = 1;
493
+
494
+ // Of those, books that admit orders: the property is LIVE.
495
+ uint32 tradeable_books = 2;
496
+
497
+ // Resting orders in those books, including orders admitted later in the same batch.
498
+ uint32 open_orders = 3;
499
+
500
+ // In-scope properties that could not be loaded, in ascending order: the property's part of the
501
+ // batch failed permanently (an internal fault, for example open orders that cannot be replayed,
502
+ // which the engine records and alerts on), so the load was not applied to it. Empty on success;
503
+ // otherwise re-run the call once the fault is resolved.
504
+ repeated uint32 failed_property_ids = 4;
161
505
  }
162
506
 
163
- message CancelOrderRequest {
164
- uint64 order_id = 1;
165
- uint32 property_id = 2;
507
+ // ----------------------------------------------------------------------------------------------------
508
+ // Redis pub/sub payloads. These messages are never sent over gRPC: they define the JSON the matching
509
+ // engine publishes, which is proto3 JSON with these rules:
510
+ // - compact (no whitespace), original field names, keys in field-number order;
511
+ // - uint64 and int64 fields are JSON strings ("901"); uint32 and int32 fields and enums are JSON
512
+ // numbers;
513
+ // - TradeExecution prints every field, even at its default value; OrderBookSnapshot omits
514
+ // default-valued fields (an empty side has no key);
515
+ // - the uint32 quantity fields stay uint32 so that they print as JSON numbers, but order quantities
516
+ // are 64-bit, so a value may exceed 4294967295: consumers must accept any non-negative integer.
517
+ // Changing a type, name or number below changes the published bytes.
518
+ // ----------------------------------------------------------------------------------------------------
519
+
520
+ // Channel `trades:{property_id}`: one message per committed trade, in trade id order, published after
521
+ // the batch commits.
522
+ message TradeExecution {
523
+ // trades.id, from trades_id_seq; ascending in match order.
524
+ uint64 trade_id = 1;
525
+ // orders.id of the BUY order.
526
+ uint64 buy_order_id = 2;
527
+ // orders.id of the SELL order.
528
+ uint64 sell_order_id = 3;
529
+ // properties.id of the book.
530
+ uint32 property_id = 4;
531
+ // properties.contract_address as of the book's last load, or "" when NULL. Informational.
532
+ string property_token_address = 5;
533
+ // Fill price, USDL x 1000: the resting (maker) order's limit price.
534
+ uint64 price = 6;
535
+ // Scale of price: always 1000.
536
+ uint32 price_multiplier = 7;
537
+ // Fill quantity, property tokens x 10.
538
+ uint64 quantity = 8;
539
+ // Scale of quantity: always 10.
540
+ uint32 quantity_multiplier = 9;
541
+ // Fee charged to the buyer for this fill, USDL x 1000 (trades.buyer_fee_amount): at the BUY order's
542
+ // taker rate if it was the aggressor, else its maker rate, rounded up over the order's cumulative
543
+ // fills, then trimmed by the order's remaining freeze and by the cap of 5% of payment_amount on
544
+ // the two fees together (the buyer's fee is kept first).
545
+ uint64 buyer_fee = 10;
546
+ // Fee charged to the seller for this fill, USDL x 1000 (trades.seller_fee_amount):
547
+ // `ceil(rate * price * quantity / 100000)` at the SELL order's taker rate if it was the aggressor,
548
+ // else its maker rate, then trimmed to what the 5% cap leaves after buyer_fee.
549
+ uint64 seller_fee = 11;
550
+ // wallet_address of the BUY order, verbatim.
551
+ string buyer_wallet = 12;
552
+ // wallet_address of the SELL order, verbatim.
553
+ string seller_wallet = 13;
554
+ // Aggressor (taker) side, printed as 0 (BUY) or 1 (SELL): trades.aggressor_side.
555
+ OrderSide side = 14;
556
+ // The batch attempt's single clock reading, unix nanoseconds, shared by every trade of the batch:
557
+ // `timestamp / 1000000000`, rounded down, equals trades.created_at.
558
+ int64 timestamp = 15;
559
+ // The larger of the two orders' deadlines: always 0 (GTC only).
560
+ int64 deadline = 16;
561
+ // nonce of the BUY order.
562
+ string buyer_nonce = 17;
563
+ // nonce of the SELL order.
564
+ string seller_nonce = 18;
565
+ // signature of the BUY order, verbatim.
566
+ string buyer_signature = 19;
567
+ // signature of the SELL order, verbatim.
568
+ string seller_signature = 20;
569
+ // Limit price of the BUY order, USDL x 1000.
570
+ uint64 buy_price = 22;
571
+ // Always 1000.
572
+ uint32 buy_price_multiplier = 23;
573
+ // Original quantity of the BUY order, property tokens x 10.
574
+ uint32 buy_quantity = 24;
575
+ // Unfilled quantity of the BUY order before this fill, property tokens x 10.
576
+ uint32 buy_quantity_remaining = 25;
577
+ // Always 10.
578
+ uint32 buy_quantity_multiplier = 26;
579
+ // Deadline of the BUY order: always 0.
580
+ int64 buy_deadline = 27;
581
+ // Limit price of the SELL order, USDL x 1000.
582
+ uint64 sell_price = 28;
583
+ // Always 1000.
584
+ uint32 sell_price_multiplier = 29;
585
+ // Original quantity of the SELL order, property tokens x 10.
586
+ uint32 sell_quantity = 30;
587
+ // Unfilled quantity of the SELL order before this fill, property tokens x 10.
588
+ uint32 sell_quantity_remaining = 31;
589
+ // Always 10.
590
+ uint32 sell_quantity_multiplier = 32;
591
+ // Deadline of the SELL order: always 0.
592
+ int64 sell_deadline = 33;
593
+ // Always 0 (on-chain settlement removed). Kept for byte compatibility.
594
+ uint32 settlement_error_code = 35;
595
+ // Always 0 (on-chain settlement removed). Kept for byte compatibility.
596
+ uint64 settlement_block_number = 36;
597
+ // Always "" (on-chain settlement removed). Kept for byte compatibility.
598
+ string settlement_settled_at = 37;
599
+ // Always "" (on-chain settlement removed). Kept for byte compatibility.
600
+ string settlement_tx_hash = 38;
601
+ // USDL x 1000 the buyer pays the seller for this fill, fees excluded (trades.payment_amount):
602
+ // `ceil(price * quantity / 10)`, reduced only when the BUY order's remaining freeze cannot cover
603
+ // the payment and the buyer fee.
604
+ uint64 payment_amount = 39;
605
+ // Retired trade signatures: never reuse their numbers or names.
606
+ reserved 21, 34;
607
+ reserved "cpp_signature", "original_trade_signature";
166
608
  }
167
609
 
168
- message CancelOrderResponse {
169
- bool success = 1;
170
- uint64 order_id = 2;
171
- string error_message = 3;
610
+ // Channel `order_book:{property_id}`: the full-depth book (every resting order) in its committed state.
611
+ // Published for each property a committed batch changed (the latest state per publish run), and for
612
+ // every book after the engine starts and after each Redis reconnect.
613
+ message OrderBookSnapshot {
614
+ // properties.id.
615
+ uint32 property_id = 1;
616
+ // Scale of the level prices: always 1000.
617
+ uint32 price_multiplier = 2;
618
+ // Scale of the level quantities: always 10.
619
+ uint32 quantity_multiplier = 3;
620
+ // Buy levels, highest price first. The key is absent when there are none.
621
+ repeated PriceLevel bids = 4;
622
+ // Sell levels, lowest price first. The key is absent when there are none.
623
+ repeated PriceLevel asks = 5;
172
624
  }
173
625
 
174
- message OrderCancelled {
175
- uint64 order_id = 1;
176
- uint32 property_id = 2;
177
- int64 timestamp = 3;
178
- }
626
+ // One price level of an OrderBookSnapshot.
627
+ message PriceLevel {
628
+ // Level price, USDL x 1000. Declared double for historical reasons: always an integer, printed as a
629
+ // JSON integer.
630
+ double price = 1;
631
+ // Sum of the level's unfilled quantities, property tokens x 10. Declared double for historical
632
+ // reasons: always an integer, printed as a JSON integer.
633
+ double quantity = 2;
634
+ // The level's resting orders in time priority (the first fills first).
635
+ repeated OrderData orders = 3;
636
+ }
179
637
 
180
- //
638
+ // One resting order in a PriceLevel.
639
+ message OrderData {
640
+ // orders.id.
641
+ uint64 order_id = 1;
642
+ // Unfilled quantity, property tokens x 10.
643
+ uint32 quantity = 2;
644
+ }