aboutsummaryrefslogtreecommitdiffstats
path: root/packages/order-watcher/src/schemas/websocket_schemas.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/order-watcher/src/schemas/websocket_schemas.ts')
-rw-r--r--packages/order-watcher/src/schemas/websocket_schemas.ts53
1 files changed, 41 insertions, 12 deletions
diff --git a/packages/order-watcher/src/schemas/websocket_schemas.ts b/packages/order-watcher/src/schemas/websocket_schemas.ts
index c250d12f1..5e4e1ab74 100644
--- a/packages/order-watcher/src/schemas/websocket_schemas.ts
+++ b/packages/order-watcher/src/schemas/websocket_schemas.ts
@@ -9,24 +9,53 @@ export const webSocketUtf8MessageSchema = {
export const webSocketRequestSchema = {
id: '/webSocketRequestSchema',
- properties: {
- action: { enum: ['GET_STATS', 'ADD_ORDER', 'REMOVE_ORDER'] },
- signedOrder: { $ref: '/signedOrderSchema' },
- orderHash: { type: 'string' },
+ type: 'object',
+ definitions: {
+ signedOrderParam: {
+ type: 'object',
+ properties: {
+ signedOrder: { $ref: '/signedOrderSchema' },
+ },
+ required: ['signedOrder'],
+ },
+ orderHashParam: {
+ type: 'object',
+ properties: {
+ orderHash: { $ref: '/hexSchema' },
+ },
+ required: ['orderHash'],
+ },
},
- anyOf: [
+ oneOf: [
{
- properties: { action: { enum: ['ADD_ORDER'] } },
- required: ['signedOrder'],
+ type: 'object',
+ properties: {
+ id: { type: 'string' },
+ jsonrpc: { type: 'string' },
+ method: { enum: ['ADD_ORDER'] },
+ params: { $ref: '#/definitions/signedOrderParam' },
+ },
+ required: ['id', 'jsonrpc', 'method', 'params'],
},
{
- properties: { action: { enum: ['REMOVE_ORDER'] } },
- required: ['orderHash'],
+ type: 'object',
+ properties: {
+ id: { type: 'string' },
+ jsonrpc: { type: 'string' },
+ method: { enum: ['REMOVE_ORDER'] },
+ params: { $ref: '#/definitions/orderHashParam' },
+ },
+ required: ['id', 'jsonrpc', 'method', 'params'],
},
{
- properties: { action: { enum: ['GET_STATS'] } },
- required: [],
+ type: 'object',
+ properties: {
+ id: { type: 'string' },
+ jsonrpc: { type: 'string' },
+ method: { enum: ['GET_STATS'] },
+ params: {},
+ },
+ required: ['id', 'jsonrpc', 'method'],
},
],
- type: 'object',
};