@levrbet/shared 0.5.7 → 0.5.9
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/core/config/urls.d.ts +1 -0
- package/dist/core/config/urls.js +4 -0
- package/dist/core/config/urls.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/socket.io/events.d.ts +18 -0
- package/dist/core/socket.io/events.js +22 -1
- package/dist/core/socket.io/events.js.map +1 -1
- package/dist/core/socket.io/rooms.d.ts +11 -1
- package/dist/core/socket.io/rooms.js +9 -1
- package/dist/core/socket.io/rooms.js.map +1 -1
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.js +1 -0
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/orderbook/depth.types.d.ts +10 -0
- package/dist/core/types/orderbook/depth.types.js +3 -0
- package/dist/core/types/orderbook/depth.types.js.map +1 -0
- package/dist/core/types/orderbook/index.d.ts +3 -0
- package/dist/core/types/orderbook/index.js +20 -0
- package/dist/core/types/orderbook/index.js.map +1 -0
- package/dist/core/types/orderbook/order.types.d.ts +70 -0
- package/dist/core/types/orderbook/order.types.js +45 -0
- package/dist/core/types/orderbook/order.types.js.map +1 -0
- package/dist/core/types/orderbook/preview.types.d.ts +61 -0
- package/dist/core/types/orderbook/preview.types.js +3 -0
- package/dist/core/types/orderbook/preview.types.js.map +1 -0
- package/dist/server/config/urls.d.ts +1 -0
- package/package.json +1 -1
package/dist/core/config/urls.js
CHANGED
|
@@ -6,6 +6,7 @@ const indexers_types_1 = require("../types/indexers.types");
|
|
|
6
6
|
exports.allUrls = {
|
|
7
7
|
[types_1.LevrEnv.LOCAL]: {
|
|
8
8
|
auth: "https://auth-api.dev.levr.bet",
|
|
9
|
+
orderbook: "https://orderbook.dev.levr.bet",
|
|
9
10
|
oracleCore: "https://oracle-core.dev.levr.bet",
|
|
10
11
|
oraclePeriphery: "https://oracle-periphery.dev.levr.bet",
|
|
11
12
|
oracleProcessors: "https://oracle-processor.dev.levr.bet",
|
|
@@ -23,6 +24,7 @@ exports.allUrls = {
|
|
|
23
24
|
},
|
|
24
25
|
[types_1.LevrEnv.DEV]: {
|
|
25
26
|
auth: "https://auth-api.dev.levr.bet",
|
|
27
|
+
orderbook: "https://orderbook.dev.levr.bet",
|
|
26
28
|
oracleCore: "https://oracle-core.dev.levr.bet",
|
|
27
29
|
oraclePeriphery: "https://oracle-periphery.dev.levr.bet",
|
|
28
30
|
oracleProcessors: "https://oracle-processor.dev.levr.bet",
|
|
@@ -40,6 +42,7 @@ exports.allUrls = {
|
|
|
40
42
|
},
|
|
41
43
|
[types_1.LevrEnv.STAGING]: {
|
|
42
44
|
auth: "https://auth-api.staging.levr.bet",
|
|
45
|
+
orderbook: "https://orderbook.staging.levr.bet",
|
|
43
46
|
oracleCore: "https://oracle-core.staging.levr.bet",
|
|
44
47
|
oraclePeriphery: "https://oracle-periphery.staging.levr.bet",
|
|
45
48
|
oracleProcessors: "https://oracle-processor.staging.levr.bet",
|
|
@@ -57,6 +60,7 @@ exports.allUrls = {
|
|
|
57
60
|
},
|
|
58
61
|
[types_1.LevrEnv.PROD]: {
|
|
59
62
|
auth: "https://auth.api.levr.bet",
|
|
63
|
+
orderbook: "https://orderbook.api.levr.bet",
|
|
60
64
|
oracleCore: "https://oracle-core.api.levr.bet",
|
|
61
65
|
oraclePeriphery: "https://oracle-periphery.api.levr.bet",
|
|
62
66
|
oracleProcessors: "https://oracle-processor.api.levr.bet",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/core/config/urls.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAC7C,4DAAqD;AAmBxC,QAAA,OAAO,GAA6B;IAC7C,CAAC,eAAO,CAAC,KAAK,CAAC,EAAE;QACb,IAAI,EAAE,+BAA+B;QACrC,UAAU,EAAE,kCAAkC;QAC9C,eAAe,EAAE,uCAAuC;QACxD,gBAAgB,EAAE,uCAAuC;QACzD,OAAO,EAAE,+BAA+B;QACxC,SAAS,EAAE,gCAAgC;QAC3C,MAAM,EAAE,6BAA6B;QACrC,iBAAiB,EAAE,yCAAyC;QAC5D,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,4BAAW,CAAC,KAAK,EAAE,GAAG,EAAE,uDAAuD,EAAE;gBACzF,EAAE,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,wDAAwD,EAAE;aAChG;SACJ;KACJ;IACD,CAAC,eAAO,CAAC,GAAG,CAAC,EAAE;QACX,IAAI,EAAE,+BAA+B;QACrC,UAAU,EAAE,kCAAkC;QAC9C,eAAe,EAAE,uCAAuC;QACxD,gBAAgB,EAAE,uCAAuC;QACzD,OAAO,EAAE,+BAA+B,EAAE,wEAAwE;QAClH,SAAS,EAAE,gCAAgC;QAC3C,MAAM,EAAE,6BAA6B;QACrC,iBAAiB,EAAE,yCAAyC;QAC5D,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,4BAAW,CAAC,KAAK,EAAE,GAAG,EAAE,uDAAuD,EAAE;gBACzF,EAAE,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,wDAAwD,EAAE;aAChG;SACJ;KACJ;IACD,CAAC,eAAO,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,EAAE,mCAAmC;QACzC,UAAU,EAAE,sCAAsC;QAClD,eAAe,EAAE,2CAA2C;QAC5D,gBAAgB,EAAE,2CAA2C;QAC7D,OAAO,EAAE,mCAAmC;QAC5C,SAAS,EAAE,oCAAoC;QAC/C,MAAM,EAAE,iCAAiC;QACzC,iBAAiB,EAAE,6CAA6C;QAChE,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,4BAAW,CAAC,KAAK,EAAE,GAAG,EAAE,mDAAmD,EAAE;gBACrF,EAAE,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,4DAA4D,EAAE;aACpG;SACJ;KACJ;IACD,CAAC,eAAO,CAAC,IAAI,CAAC,EAAE;QACZ,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,kCAAkC;QAC9C,eAAe,EAAE,uCAAuC;QACxD,gBAAgB,EAAE,uCAAuC;QACzD,OAAO,EAAE,+BAA+B;QACxC,SAAS,EAAE,gCAAgC;QAC3C,MAAM,EAAE,6BAA6B;QACrC,iBAAiB,EAAE,yCAAyC;QAC5D,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,4BAAW,CAAC,KAAK,EAAE,GAAG,EAAE,mDAAmD,EAAE;gBACrF,EAAE,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,+DAA+D,EAAE;aACvG;SACJ;KACJ;CACJ,CAAA"}
|
|
1
|
+
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/core/config/urls.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAC7C,4DAAqD;AAmBxC,QAAA,OAAO,GAA6B;IAC7C,CAAC,eAAO,CAAC,KAAK,CAAC,EAAE;QACb,IAAI,EAAE,+BAA+B;QACrC,SAAS,EAAE,gCAAgC;QAC3C,UAAU,EAAE,kCAAkC;QAC9C,eAAe,EAAE,uCAAuC;QACxD,gBAAgB,EAAE,uCAAuC;QACzD,OAAO,EAAE,+BAA+B;QACxC,SAAS,EAAE,gCAAgC;QAC3C,MAAM,EAAE,6BAA6B;QACrC,iBAAiB,EAAE,yCAAyC;QAC5D,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,4BAAW,CAAC,KAAK,EAAE,GAAG,EAAE,uDAAuD,EAAE;gBACzF,EAAE,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,wDAAwD,EAAE;aAChG;SACJ;KACJ;IACD,CAAC,eAAO,CAAC,GAAG,CAAC,EAAE;QACX,IAAI,EAAE,+BAA+B;QACrC,SAAS,EAAE,gCAAgC;QAC3C,UAAU,EAAE,kCAAkC;QAC9C,eAAe,EAAE,uCAAuC;QACxD,gBAAgB,EAAE,uCAAuC;QACzD,OAAO,EAAE,+BAA+B,EAAE,wEAAwE;QAClH,SAAS,EAAE,gCAAgC;QAC3C,MAAM,EAAE,6BAA6B;QACrC,iBAAiB,EAAE,yCAAyC;QAC5D,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,4BAAW,CAAC,KAAK,EAAE,GAAG,EAAE,uDAAuD,EAAE;gBACzF,EAAE,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,wDAAwD,EAAE;aAChG;SACJ;KACJ;IACD,CAAC,eAAO,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,EAAE,mCAAmC;QACzC,SAAS,EAAE,oCAAoC;QAC/C,UAAU,EAAE,sCAAsC;QAClD,eAAe,EAAE,2CAA2C;QAC5D,gBAAgB,EAAE,2CAA2C;QAC7D,OAAO,EAAE,mCAAmC;QAC5C,SAAS,EAAE,oCAAoC;QAC/C,MAAM,EAAE,iCAAiC;QACzC,iBAAiB,EAAE,6CAA6C;QAChE,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,4BAAW,CAAC,KAAK,EAAE,GAAG,EAAE,mDAAmD,EAAE;gBACrF,EAAE,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,4DAA4D,EAAE;aACpG;SACJ;KACJ;IACD,CAAC,eAAO,CAAC,IAAI,CAAC,EAAE;QACZ,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,gCAAgC;QAC3C,UAAU,EAAE,kCAAkC;QAC9C,eAAe,EAAE,uCAAuC;QACxD,gBAAgB,EAAE,uCAAuC;QACzD,OAAO,EAAE,+BAA+B;QACxC,SAAS,EAAE,gCAAgC;QAC3C,MAAM,EAAE,6BAA6B;QACrC,iBAAiB,EAAE,yCAAyC;QAC5D,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE;YACN,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,4BAAW,CAAC,KAAK,EAAE,GAAG,EAAE,mDAAmD,EAAE;gBACrF,EAAE,IAAI,EAAE,4BAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,+DAA+D,EAAE;aACvG;SACJ;KACJ;CACJ,CAAA"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from "./alerts";
|
|
1
2
|
export * from "./config";
|
|
2
3
|
export * from "./contracts";
|
|
3
4
|
export * from "./indexers";
|
|
@@ -7,4 +8,3 @@ export * from "./socket.io";
|
|
|
7
8
|
export * from "./types";
|
|
8
9
|
export * from "./utils";
|
|
9
10
|
export * from "./validators";
|
|
10
|
-
export * from "./alerts";
|
package/dist/core/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./alerts"), exports);
|
|
17
18
|
__exportStar(require("./config"), exports);
|
|
18
19
|
__exportStar(require("./contracts"), exports);
|
|
19
20
|
__exportStar(require("./indexers"), exports);
|
|
@@ -23,5 +24,4 @@ __exportStar(require("./socket.io"), exports);
|
|
|
23
24
|
__exportStar(require("./types"), exports);
|
|
24
25
|
__exportStar(require("./utils"), exports);
|
|
25
26
|
__exportStar(require("./validators"), exports);
|
|
26
|
-
__exportStar(require("./alerts"), exports);
|
|
27
27
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,8CAA2B;AAC3B,6CAA0B;AAC1B,2CAAwB;AACxB,0CAAuB;AACvB,8CAA2B;AAC3B,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,2CAAwB;AACxB,8CAA2B;AAC3B,6CAA0B;AAC1B,2CAAwB;AACxB,0CAAuB;AACvB,8CAA2B;AAC3B,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B"}
|
|
@@ -38,3 +38,21 @@ export type MarketStatusUpdate = {
|
|
|
38
38
|
gameId: number;
|
|
39
39
|
open: boolean;
|
|
40
40
|
};
|
|
41
|
+
export declare enum OrderbookEvent {
|
|
42
|
+
OrderPlaced = "orderPlaced",
|
|
43
|
+
OrderCancelled = "orderCancelled",
|
|
44
|
+
OrderEdited = "orderEdited",
|
|
45
|
+
OrderFilled = "orderFilled",
|
|
46
|
+
OrderUpdated = "orderUpdated",
|
|
47
|
+
BookUpdate = "bookUpdate"
|
|
48
|
+
}
|
|
49
|
+
export declare enum OrderbookRoomEvent {
|
|
50
|
+
JoinGame = "joinGame",
|
|
51
|
+
LeaveGame = "leaveGame",
|
|
52
|
+
JoinBook = "joinBook",
|
|
53
|
+
LeaveBook = "leaveBook",
|
|
54
|
+
JoinFills = "joinFills",
|
|
55
|
+
LeaveFills = "leaveFills",
|
|
56
|
+
JoinUser = "joinUser",
|
|
57
|
+
LeaveUser = "leaveUser"
|
|
58
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MarketEvent = exports.GameEvent = exports.RoomEvent = void 0;
|
|
3
|
+
exports.OrderbookRoomEvent = exports.OrderbookEvent = exports.MarketEvent = exports.GameEvent = exports.RoomEvent = void 0;
|
|
4
4
|
var RoomEvent;
|
|
5
5
|
(function (RoomEvent) {
|
|
6
6
|
RoomEvent["JoinRoom"] = "joinRoom";
|
|
@@ -20,4 +20,25 @@ var MarketEvent;
|
|
|
20
20
|
MarketEvent["GlobalOddsUpdate"] = "globalOddsUpdate";
|
|
21
21
|
MarketEvent["StatusUpdate"] = "marketStatusUpdate";
|
|
22
22
|
})(MarketEvent || (exports.MarketEvent = MarketEvent = {}));
|
|
23
|
+
// ORDERBOOK EVENTS AND TYPES
|
|
24
|
+
var OrderbookEvent;
|
|
25
|
+
(function (OrderbookEvent) {
|
|
26
|
+
OrderbookEvent["OrderPlaced"] = "orderPlaced";
|
|
27
|
+
OrderbookEvent["OrderCancelled"] = "orderCancelled";
|
|
28
|
+
OrderbookEvent["OrderEdited"] = "orderEdited";
|
|
29
|
+
OrderbookEvent["OrderFilled"] = "orderFilled";
|
|
30
|
+
OrderbookEvent["OrderUpdated"] = "orderUpdated";
|
|
31
|
+
OrderbookEvent["BookUpdate"] = "bookUpdate";
|
|
32
|
+
})(OrderbookEvent || (exports.OrderbookEvent = OrderbookEvent = {}));
|
|
33
|
+
var OrderbookRoomEvent;
|
|
34
|
+
(function (OrderbookRoomEvent) {
|
|
35
|
+
OrderbookRoomEvent["JoinGame"] = "joinGame";
|
|
36
|
+
OrderbookRoomEvent["LeaveGame"] = "leaveGame";
|
|
37
|
+
OrderbookRoomEvent["JoinBook"] = "joinBook";
|
|
38
|
+
OrderbookRoomEvent["LeaveBook"] = "leaveBook";
|
|
39
|
+
OrderbookRoomEvent["JoinFills"] = "joinFills";
|
|
40
|
+
OrderbookRoomEvent["LeaveFills"] = "leaveFills";
|
|
41
|
+
OrderbookRoomEvent["JoinUser"] = "joinUser";
|
|
42
|
+
OrderbookRoomEvent["LeaveUser"] = "leaveUser";
|
|
43
|
+
})(OrderbookRoomEvent || (exports.OrderbookRoomEvent = OrderbookRoomEvent = {}));
|
|
23
44
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/core/socket.io/events.ts"],"names":[],"mappings":";;;AAGA,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;AAC3B,CAAC,EAHW,SAAS,aAAT,SAAS,GAAT,SAAS,QAGpB;AAED,wBAAwB;AACxB,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,8CAAiC,CAAA;AACrC,CAAC,EAJW,SAAS,aAAT,SAAS,GAAT,SAAS,QAIpB;AAkBD,0BAA0B;AAC1B,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,8CAA+B,CAAA;IAC/B,oDAAqC,CAAA;IACrC,kDAAmC,CAAA;AACvC,CAAC,EAJW,WAAW,aAAX,WAAW,GAAX,WAAW,QAItB"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/core/socket.io/events.ts"],"names":[],"mappings":";;;AAGA,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;AAC3B,CAAC,EAHW,SAAS,aAAT,SAAS,GAAT,SAAS,QAGpB;AAED,wBAAwB;AACxB,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,8CAAiC,CAAA;AACrC,CAAC,EAJW,SAAS,aAAT,SAAS,GAAT,SAAS,QAIpB;AAkBD,0BAA0B;AAC1B,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,8CAA+B,CAAA;IAC/B,oDAAqC,CAAA;IACrC,kDAAmC,CAAA;AACvC,CAAC,EAJW,WAAW,aAAX,WAAW,GAAX,WAAW,QAItB;AAUD,6BAA6B;AAC7B,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,6CAA2B,CAAA;IAC3B,mDAAiC,CAAA;IACjC,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,+CAA6B,CAAA;IAC7B,2CAAyB,CAAA;AAC7B,CAAC,EAPW,cAAc,aAAd,cAAc,GAAd,cAAc,QAOzB;AAED,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC1B,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;IACvB,+CAAyB,CAAA;IACzB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;AAC3B,CAAC,EATW,kBAAkB,aAAlB,kBAAkB,GAAlB,kBAAkB,QAS7B"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import { Side } from "../types/blockchain/contract.types";
|
|
3
|
+
import type { LevrChain } from "../types/blockchain/chains.types";
|
|
4
|
+
import type { LevrFixtureId, LevrGameMarketId } from "../types/oracle/market/markets.types";
|
|
2
5
|
declare class SocketRooms {
|
|
3
6
|
gameOddsRoom: (chainId: number, fixture: LevrFixtureId) => string;
|
|
4
7
|
}
|
|
5
8
|
export declare const socketRooms: SocketRooms;
|
|
9
|
+
export declare const orderbookRooms: {
|
|
10
|
+
readonly game: (chainId: LevrChain, gameId: string) => string;
|
|
11
|
+
readonly book: (gameMarketId: LevrGameMarketId, side: Side) => string;
|
|
12
|
+
readonly fills: (gameMarketId: LevrGameMarketId) => string;
|
|
13
|
+
readonly user: (address: Address) => string;
|
|
14
|
+
readonly admin: () => string;
|
|
15
|
+
};
|
|
6
16
|
export {};
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.socketRooms = void 0;
|
|
3
|
+
exports.orderbookRooms = exports.socketRooms = void 0;
|
|
4
|
+
const contract_types_1 = require("../types/blockchain/contract.types");
|
|
4
5
|
class SocketRooms {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.gameOddsRoom = (chainId, fixture) => `gameOdds:chainId=${chainId}:fixtureId=${fixture}`;
|
|
7
8
|
}
|
|
8
9
|
}
|
|
9
10
|
exports.socketRooms = new SocketRooms();
|
|
11
|
+
exports.orderbookRooms = {
|
|
12
|
+
game: (chainId, gameId) => `game:${chainId}:${gameId}`,
|
|
13
|
+
book: (gameMarketId, side) => `market:${gameMarketId}:book:${contract_types_1.Side[side]}`,
|
|
14
|
+
fills: (gameMarketId) => `market:${gameMarketId}:fills`,
|
|
15
|
+
user: (address) => `user:${address}`,
|
|
16
|
+
admin: () => "admin",
|
|
17
|
+
};
|
|
10
18
|
//# sourceMappingURL=rooms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.js","sourceRoot":"","sources":["../../../src/core/socket.io/rooms.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"rooms.js","sourceRoot":"","sources":["../../../src/core/socket.io/rooms.ts"],"names":[],"mappings":";;;AACA,uEAAyD;AAIzD,MAAM,WAAW;IAAjB;QACI,iBAAY,GAAG,CAAC,OAAe,EAAE,OAAsB,EAAU,EAAE,CAAC,oBAAoB,OAAO,cAAc,OAAO,EAAE,CAAA;IAC1H,CAAC;CAAA;AAEY,QAAA,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AAE/B,QAAA,cAAc,GAAG;IAC1B,IAAI,EAAE,CAAC,OAAkB,EAAE,MAAc,EAAU,EAAE,CAAC,QAAQ,OAAO,IAAI,MAAM,EAAE;IACjF,IAAI,EAAE,CAAC,YAA8B,EAAE,IAAU,EAAU,EAAE,CAAC,UAAU,YAAY,SAAS,qBAAI,CAAC,IAAI,CAAC,EAAE;IACzG,KAAK,EAAE,CAAC,YAA8B,EAAU,EAAE,CAAC,UAAU,YAAY,QAAQ;IACjF,IAAI,EAAE,CAAC,OAAgB,EAAU,EAAE,CAAC,QAAQ,OAAO,EAAE;IACrD,KAAK,EAAE,GAAW,EAAE,CAAC,OAAO;CACtB,CAAA"}
|
package/dist/core/types/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./auth"), exports);
|
|
18
18
|
__exportStar(require("./blockchain"), exports);
|
|
19
19
|
__exportStar(require("./indexers.types"), exports);
|
|
20
|
+
__exportStar(require("./orderbook"), exports);
|
|
20
21
|
__exportStar(require("./misc.types"), exports);
|
|
21
22
|
__exportStar(require("./oracle"), exports);
|
|
22
23
|
__exportStar(require("./privy.types"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,+CAA4B;AAC5B,mDAAgC;AAChC,+CAA4B;AAC5B,2CAAwB;AACxB,gDAA6B;AAC7B,kDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,+CAA4B;AAC5B,mDAAgC;AAChC,8CAA2B;AAC3B,+CAA4B;AAC5B,2CAAwB;AACxB,gDAA6B;AAC7B,kDAA+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depth.types.js","sourceRoot":"","sources":["../../../../src/core/types/orderbook/depth.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./depth.types"), exports);
|
|
18
|
+
__exportStar(require("./order.types"), exports);
|
|
19
|
+
__exportStar(require("./preview.types"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/orderbook/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,gDAA6B;AAC7B,kDAA+B"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { OrderDirection } from "@prisma/client";
|
|
2
|
+
import type { Address } from "viem";
|
|
3
|
+
import type { LevrMarketId } from "../../contracts/constants";
|
|
4
|
+
import type { Bytes32 } from "../../validators/bytes.validators";
|
|
5
|
+
import type { LevrChain } from "../blockchain/chains.types";
|
|
6
|
+
import type { Side } from "../blockchain/contract.types";
|
|
7
|
+
import type { LevrGameMarketId } from "../oracle/market/markets.types";
|
|
8
|
+
export declare enum OrderType {
|
|
9
|
+
LIMIT = "LIMIT",
|
|
10
|
+
MARKET = "MARKET"
|
|
11
|
+
}
|
|
12
|
+
export declare enum OrderStatus {
|
|
13
|
+
OPEN = "OPEN",
|
|
14
|
+
PENDING_SETTLEMENT = "PENDING_SETTLEMENT",
|
|
15
|
+
CANCEL_PENDING = "CANCEL_PENDING",
|
|
16
|
+
FILLED = "FILLED",
|
|
17
|
+
CANCELLED = "CANCELLED"
|
|
18
|
+
}
|
|
19
|
+
export declare enum CancelReason {
|
|
20
|
+
USER = "user_cancelled",
|
|
21
|
+
GAME_ENDED = "game_ended",
|
|
22
|
+
GAME_CANCELLED = "game_cancelled",
|
|
23
|
+
LIQUIDATION = "position_liquidated",
|
|
24
|
+
ADMIN_CANCEL_ALL = "admin_cancel_all",
|
|
25
|
+
ADMIN_FORCE_CANCEL = "admin_force_cancel",
|
|
26
|
+
BAD_ORDER = "bad_order",
|
|
27
|
+
DUST = "dust",
|
|
28
|
+
EXPIRED = "expired",
|
|
29
|
+
BALANCE_DECREASED = "balance_decreased",
|
|
30
|
+
USER_BLACKLISTED = "user_blacklisted"
|
|
31
|
+
}
|
|
32
|
+
interface BaseOrder {
|
|
33
|
+
orderId: string;
|
|
34
|
+
chainId: LevrChain;
|
|
35
|
+
gameId: number;
|
|
36
|
+
gameMarketId: LevrGameMarketId;
|
|
37
|
+
levrMarketId: LevrMarketId;
|
|
38
|
+
side: Side;
|
|
39
|
+
type: OrderType;
|
|
40
|
+
price: number;
|
|
41
|
+
score: number;
|
|
42
|
+
ethAddress: Address;
|
|
43
|
+
timestamp: number;
|
|
44
|
+
expiresAt?: number;
|
|
45
|
+
status: OrderStatus;
|
|
46
|
+
cancelRequested: boolean;
|
|
47
|
+
cancelReason?: CancelReason;
|
|
48
|
+
fillOrKill?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface BidOrder extends BaseOrder {
|
|
51
|
+
direction: typeof OrderDirection.BID;
|
|
52
|
+
budget: bigint;
|
|
53
|
+
unfilledBudget: bigint;
|
|
54
|
+
settlingBudget: bigint;
|
|
55
|
+
filledBudget: bigint;
|
|
56
|
+
leverage: number;
|
|
57
|
+
}
|
|
58
|
+
export interface AskOrder extends BaseOrder {
|
|
59
|
+
direction: typeof OrderDirection.ASK;
|
|
60
|
+
volume: bigint;
|
|
61
|
+
unfilledVolume: bigint;
|
|
62
|
+
settlingVolume: bigint;
|
|
63
|
+
filledVolume: bigint;
|
|
64
|
+
positionId: Bytes32;
|
|
65
|
+
}
|
|
66
|
+
export type Order = BidOrder | AskOrder;
|
|
67
|
+
export declare function isBidOrder(order: Order): order is BidOrder;
|
|
68
|
+
export declare function isAskOrder(order: Order): order is AskOrder;
|
|
69
|
+
export declare function isActiveOrder(order: Order): boolean;
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CancelReason = exports.OrderStatus = exports.OrderType = void 0;
|
|
4
|
+
exports.isBidOrder = isBidOrder;
|
|
5
|
+
exports.isAskOrder = isAskOrder;
|
|
6
|
+
exports.isActiveOrder = isActiveOrder;
|
|
7
|
+
const client_1 = require("@prisma/client");
|
|
8
|
+
var OrderType;
|
|
9
|
+
(function (OrderType) {
|
|
10
|
+
OrderType["LIMIT"] = "LIMIT";
|
|
11
|
+
OrderType["MARKET"] = "MARKET";
|
|
12
|
+
})(OrderType || (exports.OrderType = OrderType = {}));
|
|
13
|
+
var OrderStatus;
|
|
14
|
+
(function (OrderStatus) {
|
|
15
|
+
OrderStatus["OPEN"] = "OPEN";
|
|
16
|
+
OrderStatus["PENDING_SETTLEMENT"] = "PENDING_SETTLEMENT";
|
|
17
|
+
OrderStatus["CANCEL_PENDING"] = "CANCEL_PENDING";
|
|
18
|
+
OrderStatus["FILLED"] = "FILLED";
|
|
19
|
+
OrderStatus["CANCELLED"] = "CANCELLED";
|
|
20
|
+
})(OrderStatus || (exports.OrderStatus = OrderStatus = {}));
|
|
21
|
+
var CancelReason;
|
|
22
|
+
(function (CancelReason) {
|
|
23
|
+
CancelReason["USER"] = "user_cancelled";
|
|
24
|
+
CancelReason["GAME_ENDED"] = "game_ended";
|
|
25
|
+
CancelReason["GAME_CANCELLED"] = "game_cancelled";
|
|
26
|
+
CancelReason["LIQUIDATION"] = "position_liquidated";
|
|
27
|
+
CancelReason["ADMIN_CANCEL_ALL"] = "admin_cancel_all";
|
|
28
|
+
CancelReason["ADMIN_FORCE_CANCEL"] = "admin_force_cancel";
|
|
29
|
+
CancelReason["BAD_ORDER"] = "bad_order";
|
|
30
|
+
CancelReason["DUST"] = "dust";
|
|
31
|
+
CancelReason["EXPIRED"] = "expired";
|
|
32
|
+
CancelReason["BALANCE_DECREASED"] = "balance_decreased";
|
|
33
|
+
CancelReason["USER_BLACKLISTED"] = "user_blacklisted";
|
|
34
|
+
})(CancelReason || (exports.CancelReason = CancelReason = {}));
|
|
35
|
+
const TERMINAL_STATUSES = new Set([OrderStatus.CANCELLED, OrderStatus.FILLED]);
|
|
36
|
+
function isBidOrder(order) {
|
|
37
|
+
return order.direction === client_1.OrderDirection.BID;
|
|
38
|
+
}
|
|
39
|
+
function isAskOrder(order) {
|
|
40
|
+
return order.direction === client_1.OrderDirection.ASK;
|
|
41
|
+
}
|
|
42
|
+
function isActiveOrder(order) {
|
|
43
|
+
return !TERMINAL_STATUSES.has(order.status);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=order.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.types.js","sourceRoot":"","sources":["../../../../src/core/types/orderbook/order.types.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA+C;AAQ/C,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,4BAAe,CAAA;IACf,8BAAiB,CAAA;AACrB,CAAC,EAHW,SAAS,aAAT,SAAS,GAAT,SAAS,QAGpB;AAED,IAAY,WAMX;AAND,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,wDAAyC,CAAA;IACzC,gDAAiC,CAAA;IACjC,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;AAC3B,CAAC,EANW,WAAW,aAAX,WAAW,GAAX,WAAW,QAMtB;AAED,IAAY,YAYX;AAZD,WAAY,YAAY;IACpB,uCAAuB,CAAA;IACvB,yCAAyB,CAAA;IACzB,iDAAiC,CAAA;IACjC,mDAAmC,CAAA;IACnC,qDAAqC,CAAA;IACrC,yDAAyC,CAAA;IACzC,uCAAuB,CAAA;IACvB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,uDAAuC,CAAA;IACvC,qDAAqC,CAAA;AACzC,CAAC,EAZW,YAAY,aAAZ,YAAY,GAAZ,YAAY,QAYvB;AAyCD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;AAE9E,oBAA2B,KAAY;IACnC,OAAO,KAAK,CAAC,SAAS,KAAK,uBAAc,CAAC,GAAG,CAAA;AACjD,CAAC;AAED,oBAA2B,KAAY;IACnC,OAAO,KAAK,CAAC,SAAS,KAAK,uBAAc,CAAC,GAAG,CAAA;AACjD,CAAC;AAED,uBAA8B,KAAY;IACtC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { OrderDirection } from "@prisma/client";
|
|
2
|
+
import type { Side } from "../blockchain/contract.types";
|
|
3
|
+
import type { LevrGameMarketId } from "../oracle/market/markets.types";
|
|
4
|
+
import type { OrderType } from "./order.types";
|
|
5
|
+
export interface AskPositionContext {
|
|
6
|
+
posEntryPrice: bigint;
|
|
7
|
+
posGameProgressAtOpen: number;
|
|
8
|
+
posPositionSize: bigint;
|
|
9
|
+
posTokensBought: bigint;
|
|
10
|
+
posTokenAmount: bigint;
|
|
11
|
+
posCollateral: bigint;
|
|
12
|
+
posEffectiveLeverage: bigint;
|
|
13
|
+
gameProgressBps: number;
|
|
14
|
+
borrowFeeBps: number;
|
|
15
|
+
txFeeBps: number;
|
|
16
|
+
}
|
|
17
|
+
export interface PreviewOrderInput {
|
|
18
|
+
gameMarketId: LevrGameMarketId;
|
|
19
|
+
side: Side;
|
|
20
|
+
direction: OrderDirection;
|
|
21
|
+
type: OrderType;
|
|
22
|
+
price?: number;
|
|
23
|
+
budget?: string;
|
|
24
|
+
tokenAmount?: string;
|
|
25
|
+
leverage?: number;
|
|
26
|
+
askContext?: AskPositionContext;
|
|
27
|
+
}
|
|
28
|
+
export interface PreviewOrderResult {
|
|
29
|
+
fillRatio: number;
|
|
30
|
+
estimatedOutput: string;
|
|
31
|
+
estimatedFees: string | null;
|
|
32
|
+
estimatedAveragePrice: number;
|
|
33
|
+
blockingReason: string | null;
|
|
34
|
+
}
|
|
35
|
+
export interface BatchPreviewOrderItem {
|
|
36
|
+
positionId: string;
|
|
37
|
+
gameMarketId: LevrGameMarketId;
|
|
38
|
+
side: Side;
|
|
39
|
+
direction: OrderDirection;
|
|
40
|
+
type: OrderType;
|
|
41
|
+
price?: number;
|
|
42
|
+
budget?: string;
|
|
43
|
+
tokenAmount?: string;
|
|
44
|
+
leverage?: number;
|
|
45
|
+
posEntryPrice?: string;
|
|
46
|
+
posGameProgressAtOpen?: number;
|
|
47
|
+
posPositionSize?: string;
|
|
48
|
+
posTokensBought?: string;
|
|
49
|
+
posTokenAmount?: string;
|
|
50
|
+
posCollateral?: string;
|
|
51
|
+
posEffectiveLeverage?: string;
|
|
52
|
+
gameProgressBps?: number;
|
|
53
|
+
borrowFeeBps?: number;
|
|
54
|
+
txFeeBps?: number;
|
|
55
|
+
}
|
|
56
|
+
export interface BatchPreviewOrderRequest {
|
|
57
|
+
items: BatchPreviewOrderItem[];
|
|
58
|
+
}
|
|
59
|
+
export interface BatchPreviewOrderResult extends PreviewOrderResult {
|
|
60
|
+
positionId: string;
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.types.js","sourceRoot":"","sources":["../../../../src/core/types/orderbook/preview.types.ts"],"names":[],"mappings":""}
|