@levrbet/shared 0.1.20 → 0.1.22

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.
@@ -1,3 +1,4 @@
1
1
  export * from "./prisma";
2
2
  export * from "./redis-cache-manager";
3
3
  export * from "./types";
4
+ export * from "./rmq-manager";
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./prisma"), exports);
18
18
  __exportStar(require("./redis-cache-manager"), exports);
19
19
  __exportStar(require("./types"), exports);
20
+ __exportStar(require("./rmq-manager"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,wDAAqC;AACrC,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,wDAAqC;AACrC,0CAAuB;AACvB,gDAA6B"}
@@ -2,4 +2,3 @@ export * from "./cache.keys.utils";
2
2
  export * from "./channels";
3
3
  export * from "./game.cache.service";
4
4
  export * from "./market.cache.service";
5
- export * from "./queue.blocks";
@@ -18,5 +18,4 @@ __exportStar(require("./cache.keys.utils"), exports);
18
18
  __exportStar(require("./channels"), exports);
19
19
  __exportStar(require("./game.cache.service"), exports);
20
20
  __exportStar(require("./market.cache.service"), exports);
21
- __exportStar(require("./queue.blocks"), exports);
22
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,6CAA0B;AAC1B,uDAAoC;AACpC,yDAAsC;AACtC,iDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,6CAA0B;AAC1B,uDAAoC;AACpC,yDAAsC"}
@@ -0,0 +1,21 @@
1
+ import { Channel, ChannelModel } from "amqplib";
2
+ export interface QueueConfig {
3
+ queuePrefix: string;
4
+ exchange: string;
5
+ routingKeyPrefix: string;
6
+ deadLetterExchange: string;
7
+ className: string;
8
+ isLiquidationEngineQueue: boolean;
9
+ }
10
+ export declare class BaseQueueManager {
11
+ protected config: QueueConfig;
12
+ constructor(config: QueueConfig);
13
+ protected withChannel<T>(connection: ChannelModel, operation: (channel: Channel) => Promise<T>): Promise<T>;
14
+ protected handleError(functionName: string, error: unknown, message: string): void;
15
+ generateQueueName(identifier: string): string;
16
+ createQueue(connection: ChannelModel, identifier: string, exchangeIdentifier: string, isLiquidationEngineQueue?: boolean): Promise<void>;
17
+ addToQueue(connection: ChannelModel, identifier: string, exchangeIdentifier: string, data: unknown, priority?: number): Promise<boolean>;
18
+ deleteQueue(connection: ChannelModel, identifier: string): Promise<void>;
19
+ checkQueueExists(connection: ChannelModel, identifier: string): Promise<boolean>;
20
+ isQueueEmpty(connection: ChannelModel, identifier: string): Promise<boolean>;
21
+ }
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseQueueManager = void 0;
4
+ const config_1 = require("../../config");
5
+ class BaseQueueManager {
6
+ constructor(config) {
7
+ this.config = config;
8
+ }
9
+ async withChannel(connection, operation) {
10
+ const channel = await connection.createChannel();
11
+ const result = await operation(channel);
12
+ await channel.close();
13
+ return result;
14
+ }
15
+ handleError(functionName, error, message) {
16
+ if (error instanceof Error) {
17
+ config_1.logger.error(`${this.config.className} ${functionName} ${error}`);
18
+ }
19
+ else {
20
+ config_1.logger.error(`Unknown error: ${error}`);
21
+ config_1.logger.debug(`${message} ${this.config.className} ${functionName}`);
22
+ }
23
+ }
24
+ generateQueueName(identifier) {
25
+ // if (this.config.isLiquidationEngineQueue && !identifier.endsWith(this.liquidationEngineQueueSuffix)) {
26
+ // this.config.queuePrefix identifier += this.liquidationEngineQueueSuffix
27
+ // }
28
+ return this.config.queuePrefix + identifier;
29
+ }
30
+ async createQueue(connection, identifier, exchangeIdentifier, isLiquidationEngineQueue = false) {
31
+ try {
32
+ await this.withChannel(connection, async (channel) => {
33
+ const exchangeName = this.config.exchange;
34
+ await channel.assertExchange(exchangeName, "direct", { durable: true });
35
+ let queueArguments = {};
36
+ if (!isLiquidationEngineQueue) {
37
+ queueArguments = {
38
+ "x-group": exchangeIdentifier, // Enable queue grouping by setting the group ID
39
+ "x-single-active-consumer": true, // Ensure only one consumer is active at a time within the group
40
+ };
41
+ }
42
+ const queueName = this.generateQueueName(identifier);
43
+ console.log({ queueName });
44
+ await channel.assertQueue(queueName, {
45
+ durable: true,
46
+ deadLetterExchange: this.config.deadLetterExchange,
47
+ maxPriority: 10,
48
+ arguments: queueArguments,
49
+ });
50
+ await channel.bindQueue(queueName, exchangeName, this.config.routingKeyPrefix + identifier);
51
+ config_1.logger.info(this.config.className, "createQueue", `Queue created: ${queueName}`);
52
+ });
53
+ }
54
+ catch (error) {
55
+ this.handleError("createQueue", error, "Failed to create queue");
56
+ }
57
+ }
58
+ async addToQueue(connection, identifier, exchangeIdentifier, data, priority = 5) {
59
+ try {
60
+ return await this.withChannel(connection, async (channel) => {
61
+ await this.createQueue(connection, identifier, exchangeIdentifier, this.config.isLiquidationEngineQueue);
62
+ config_1.logger.info("Message added to queue", this.config.queuePrefix + identifier, data);
63
+ const success = channel.publish(this.config.exchange, this.config.routingKeyPrefix + identifier, Buffer.from(JSON.stringify(data)), {
64
+ persistent: true,
65
+ priority,
66
+ timestamp: Date.now(),
67
+ contentType: "application/json",
68
+ });
69
+ if (success) {
70
+ config_1.logger.info(`Message published successfully: ${this.config.routingKeyPrefix + identifier}`, data);
71
+ }
72
+ return success;
73
+ });
74
+ }
75
+ catch (error) {
76
+ this.handleError("addToQueue", error, "Failed to add data to queue");
77
+ return false;
78
+ }
79
+ }
80
+ async deleteQueue(connection, identifier) {
81
+ if (!(await this.isQueueEmpty(connection, identifier)))
82
+ return;
83
+ try {
84
+ await this.withChannel(connection, async (channel) => {
85
+ const queueName = this.config.queuePrefix + identifier;
86
+ await channel.deleteQueue(queueName);
87
+ config_1.logger.info(this.config.className, "deleteQueue", `Queue deleted: ${queueName}`);
88
+ });
89
+ }
90
+ catch (error) {
91
+ this.handleError("deleteQueue", error, "Failed to delete queue");
92
+ }
93
+ }
94
+ async checkQueueExists(connection, identifier) {
95
+ try {
96
+ return await this.withChannel(connection, async (channel) => {
97
+ const queueInfo = await channel.checkQueue(this.config.queuePrefix + identifier);
98
+ return !!queueInfo;
99
+ });
100
+ }
101
+ catch (error) {
102
+ if (error instanceof Error && error.message.includes("NOT_FOUND")) {
103
+ config_1.logger.info(this.config.className, "checkQueueExists", `Queue does not exist: ${this.config.queuePrefix + identifier}`);
104
+ return false;
105
+ }
106
+ this.handleError("checkQueueExists", error, "Failed to check queue existence");
107
+ return false;
108
+ }
109
+ }
110
+ async isQueueEmpty(connection, identifier) {
111
+ try {
112
+ return await this.withChannel(connection, async (channel) => {
113
+ const queueInfo = await channel.checkQueue(this.config.queuePrefix + identifier);
114
+ return queueInfo.messageCount === 0;
115
+ });
116
+ }
117
+ catch (error) {
118
+ if (error instanceof Error && error.message.includes("NOT_FOUND")) {
119
+ config_1.logger.info(this.config.className, "isQueueEmpty", `Queue does not exist: ${this.config.queuePrefix + identifier}`);
120
+ return true;
121
+ }
122
+ this.handleError("isQueueEmpty", error, "Failed to check if queue is empty");
123
+ return false;
124
+ }
125
+ }
126
+ }
127
+ exports.BaseQueueManager = BaseQueueManager;
128
+ //# sourceMappingURL=base.queue.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.queue.manager.js","sourceRoot":"","sources":["../../../../src/server/oracle/rmq-manager/base.queue.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./queue.configs";
2
+ export * from "./base.queue.manager";
@@ -0,0 +1,19 @@
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("./queue.configs"), exports);
18
+ __exportStar(require("./base.queue.manager"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/oracle/rmq-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,uDAAoC"}
@@ -0,0 +1,5 @@
1
+ import { BaseQueueManager } from "./base.queue.manager";
2
+ export declare const gameQueueManager: BaseQueueManager;
3
+ export declare const gameTimeQueueManager: BaseQueueManager;
4
+ export declare const marketQueueManager: BaseQueueManager;
5
+ export declare const liquidationQueueManager: BaseQueueManager;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.liquidationQueueManager = exports.marketQueueManager = exports.gameTimeQueueManager = exports.gameQueueManager = void 0;
4
+ const types_1 = require("../types");
5
+ const base_queue_manager_1 = require("./base.queue.manager");
6
+ exports.gameQueueManager = new base_queue_manager_1.BaseQueueManager({
7
+ queuePrefix: types_1.GAME_QUEUE_PREFIX,
8
+ exchange: "game.exchange",
9
+ routingKeyPrefix: "game.routing.",
10
+ deadLetterExchange: "dlx.game",
11
+ className: "game.queue.manager",
12
+ isLiquidationEngineQueue: false,
13
+ });
14
+ exports.gameTimeQueueManager = new base_queue_manager_1.BaseQueueManager({
15
+ queuePrefix: types_1.GAME_TIME_QUEUE_PREFIX,
16
+ exchange: "game.exchange",
17
+ routingKeyPrefix: "game.routing.",
18
+ deadLetterExchange: "dlx.game",
19
+ className: "game.time.queue.manager",
20
+ isLiquidationEngineQueue: false,
21
+ });
22
+ exports.marketQueueManager = new base_queue_manager_1.BaseQueueManager({
23
+ queuePrefix: types_1.MARKET_QUEUE_PREFIX,
24
+ exchange: "market.exchange",
25
+ routingKeyPrefix: "market.routing.",
26
+ deadLetterExchange: "dlx.market",
27
+ className: "market.queue.manager",
28
+ isLiquidationEngineQueue: false,
29
+ });
30
+ exports.liquidationQueueManager = new base_queue_manager_1.BaseQueueManager({
31
+ queuePrefix: types_1.LIQUIDATION_QUEUE_PREFIX,
32
+ exchange: "liquidation.exchange",
33
+ routingKeyPrefix: "liquidation.routing.",
34
+ deadLetterExchange: "dlx.liquidation",
35
+ className: "liquidation.queue.manager",
36
+ isLiquidationEngineQueue: true,
37
+ });
38
+ //# sourceMappingURL=queue.configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.configs.js","sourceRoot":"","sources":["../../../../src/server/oracle/rmq-manager/queue.configs.ts"],"names":[],"mappings":";;;AAAA,oCAAmH;AACnH,6DAAuD;AAE1C,QAAA,gBAAgB,GAAG,IAAI,qCAAgB,CAAC;IACjD,WAAW,EAAE,yBAAiB;IAC9B,QAAQ,EAAE,eAAe;IACzB,gBAAgB,EAAE,eAAe;IACjC,kBAAkB,EAAE,UAAU;IAC9B,SAAS,EAAE,oBAAoB;IAC/B,wBAAwB,EAAE,KAAK;CAClC,CAAC,CAAA;AAEW,QAAA,oBAAoB,GAAG,IAAI,qCAAgB,CAAC;IACrD,WAAW,EAAE,8BAAsB;IACnC,QAAQ,EAAE,eAAe;IACzB,gBAAgB,EAAE,eAAe;IACjC,kBAAkB,EAAE,UAAU;IAC9B,SAAS,EAAE,yBAAyB;IACpC,wBAAwB,EAAE,KAAK;CAClC,CAAC,CAAA;AAEW,QAAA,kBAAkB,GAAG,IAAI,qCAAgB,CAAC;IACnD,WAAW,EAAE,2BAAmB;IAChC,QAAQ,EAAE,iBAAiB;IAC3B,gBAAgB,EAAE,iBAAiB;IACnC,kBAAkB,EAAE,YAAY;IAChC,SAAS,EAAE,sBAAsB;IACjC,wBAAwB,EAAE,KAAK;CAClC,CAAC,CAAA;AAEW,QAAA,uBAAuB,GAAG,IAAI,qCAAgB,CAAC;IACxD,WAAW,EAAE,gCAAwB;IACrC,QAAQ,EAAE,sBAAsB;IAChC,gBAAgB,EAAE,sBAAsB;IACxC,kBAAkB,EAAE,iBAAiB;IACrC,SAAS,EAAE,2BAA2B;IACtC,wBAAwB,EAAE,IAAI;CACjC,CAAC,CAAA"}
@@ -1,8 +1,4 @@
1
- import { SportGroup } from "../oracle";
2
1
  export declare const calculatePrice: (americanOdds: number, normalizationFactor: number) => number;
3
2
  export declare const getGameUniqueIdentifier: (gameId: number, chainId: string) => string;
4
3
  export declare const calculateAmericanOdds: (price: number, normalizationFactor?: number) => string;
5
- export declare const calculateGameProgressBPSWithGameClockCountUp: (gameClock: string, totalPeriodDurationInSeconds: number, period: number, totalGameDurationInSeconds: number) => number | null;
6
- export declare const calculateGameProgressBPSWithGameClockCountDown: (gameClock: string, totalPeriodDurationInSeconds: number, period: number, totalGameDurationInSeconds: number) => number | null;
7
- export declare const calculateGameProgressBPSWithPeriodsOnly: (period: number, totalPeriods: number) => number | null;
8
- export declare const getGameProgressBPS: (gameClock: string, totalPeriodDurationInSeconds: number, period: number, totalPeriods: number, totalGameDurationInSeconds: number, isClockCountingDown: boolean, sportGroup: SportGroup) => number | null;
4
+ export declare const getGameProgressBPS: (gameClock: string, totalPeriodDurationInSeconds: number, period: number, totalPeriods: number, isClockCountingDown: boolean, hasNoGameClock?: boolean) => number | null;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGameProgressBPS = exports.calculateGameProgressBPSWithPeriodsOnly = exports.calculateGameProgressBPSWithGameClockCountDown = exports.calculateGameProgressBPSWithGameClockCountUp = exports.calculateAmericanOdds = exports.getGameUniqueIdentifier = exports.calculatePrice = void 0;
4
- const oracle_1 = require("../oracle");
3
+ exports.getGameProgressBPS = exports.calculateAmericanOdds = exports.getGameUniqueIdentifier = exports.calculatePrice = void 0;
5
4
  const calculatePrice = (americanOdds, normalizationFactor) => {
6
5
  const decimalOdds = americanOdds > 0 ? americanOdds / 100 + 1 : 100 / Math.abs(americanOdds) + 1;
7
6
  return Number((normalizationFactor / decimalOdds).toFixed(4));
@@ -26,7 +25,6 @@ const calculateAmericanOdds = (price, normalizationFactor = 1) => {
26
25
  }
27
26
  };
28
27
  exports.calculateAmericanOdds = calculateAmericanOdds;
29
- //identify the sport
30
28
  // Game progress calculation utilities
31
29
  const parseGameClockToSeconds = (gameClock) => {
32
30
  const [rawMinutes, rawSeconds] = gameClock.split(":");
@@ -36,43 +34,45 @@ const parseGameClockToSeconds = (gameClock) => {
36
34
  return null;
37
35
  return minutes * 60 + seconds;
38
36
  };
39
- const calculateGameProgressBPS = (elapsedSeconds, totalPeriodDurationInSeconds, period) => {
37
+ const calculateGameProgressBPSWithPeriodsOnly = (period, totalPeriods) => {
38
+ if (period > totalPeriods)
39
+ return 1e4;
40
+ const progress = period / totalPeriods;
41
+ return Math.round(progress * 1e4);
42
+ };
43
+ const calculateGameProgressBPS = (elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period) => {
40
44
  if (totalPeriodDurationInSeconds === 0)
41
45
  return 0;
42
- const progress = (elapsedSeconds / totalPeriodDurationInSeconds) * 100;
43
- return Math.round((progress / period) * 1e4);
46
+ if (elapsedSeconds > totalPeriodDurationInSeconds)
47
+ elapsedSeconds = totalPeriodDurationInSeconds;
48
+ const progress = elapsedSeconds / totalPeriodDurationInSeconds;
49
+ const periodsPassed = period - 1;
50
+ const pastProgress = calculateGameProgressBPSWithPeriodsOnly(periodsPassed, totalPeriods);
51
+ const currentPeriodProgress = (progress * 1e4) / totalPeriods;
52
+ return Math.round(pastProgress + currentPeriodProgress);
44
53
  };
45
- const calculateGameProgressBPSWithGameClockCountUp = (gameClock, totalPeriodDurationInSeconds, period, totalGameDurationInSeconds) => {
54
+ const calculateGameProgressBPSWithGameClockCountUp = (gameClock, totalPeriodDurationInSeconds, totalPeriods, period) => {
46
55
  const elapsedSeconds = parseGameClockToSeconds(gameClock);
47
- if (elapsedSeconds === null || totalGameDurationInSeconds === 0)
56
+ if (elapsedSeconds === null)
48
57
  return null;
49
- return calculateGameProgressBPS(elapsedSeconds, totalPeriodDurationInSeconds, period);
58
+ return calculateGameProgressBPS(elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period);
50
59
  };
51
- exports.calculateGameProgressBPSWithGameClockCountUp = calculateGameProgressBPSWithGameClockCountUp;
52
- const calculateGameProgressBPSWithGameClockCountDown = (gameClock, totalPeriodDurationInSeconds, period, totalGameDurationInSeconds) => {
60
+ const calculateGameProgressBPSWithGameClockCountDown = (gameClock, totalPeriodDurationInSeconds, totalPeriods, period) => {
53
61
  const remainingSeconds = parseGameClockToSeconds(gameClock);
54
- if (remainingSeconds === null || totalGameDurationInSeconds === 0)
62
+ if (remainingSeconds === null)
55
63
  return null;
56
64
  const elapsedSeconds = totalPeriodDurationInSeconds - remainingSeconds;
57
- return calculateGameProgressBPS(elapsedSeconds, totalPeriodDurationInSeconds, period);
58
- };
59
- exports.calculateGameProgressBPSWithGameClockCountDown = calculateGameProgressBPSWithGameClockCountDown;
60
- const calculateGameProgressBPSWithPeriodsOnly = (period, totalPeriods) => {
61
- if (period > totalPeriods)
62
- return 1e4;
63
- const progress = (period / totalPeriods) * 100;
64
- return Math.round(progress * 1e4);
65
+ return calculateGameProgressBPS(elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period);
65
66
  };
66
- exports.calculateGameProgressBPSWithPeriodsOnly = calculateGameProgressBPSWithPeriodsOnly;
67
- const getGameProgressBPS = (gameClock, totalPeriodDurationInSeconds, period, totalPeriods, totalGameDurationInSeconds, isClockCountingDown, sportGroup) => {
68
- if (sportGroup === oracle_1.SportGroup.Baseball) {
69
- return (0, exports.calculateGameProgressBPSWithPeriodsOnly)(period, totalPeriods);
67
+ const getGameProgressBPS = (gameClock, totalPeriodDurationInSeconds, period, totalPeriods, isClockCountingDown, hasNoGameClock = false) => {
68
+ if (hasNoGameClock) {
69
+ return calculateGameProgressBPSWithPeriodsOnly(period, totalPeriods);
70
70
  }
71
71
  else if (isClockCountingDown) {
72
- return (0, exports.calculateGameProgressBPSWithGameClockCountDown)(gameClock, totalPeriodDurationInSeconds, period, totalGameDurationInSeconds);
72
+ return calculateGameProgressBPSWithGameClockCountDown(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
73
73
  }
74
74
  else {
75
- return (0, exports.calculateGameProgressBPSWithGameClockCountUp)(gameClock, totalPeriodDurationInSeconds, period, totalGameDurationInSeconds);
75
+ return calculateGameProgressBPSWithGameClockCountUp(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
76
76
  }
77
77
  };
78
78
  exports.getGameProgressBPS = getGameProgressBPS;
@@ -1 +1 @@
1
- {"version":3,"file":"game.utils.js","sourceRoot":"","sources":["../../../src/server/utils/game.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game.utils.js","sourceRoot":"","sources":["../../../src/server/utils/game.utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@levrbet/shared",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -58,6 +58,8 @@
58
58
  "@openzeppelin/relayer-sdk": "^1.5.0",
59
59
  "@prisma/client": "^6.16.2",
60
60
  "@privy-io/server-auth": "^1.32.4",
61
+ "@types/amqplib": "^0.10.7",
62
+ "amqplib": "^0.10.9",
61
63
  "axios": "^1.12.2",
62
64
  "bson": "^6.10.4",
63
65
  "coralogix-logger": "^1.1.30",
@@ -1,25 +0,0 @@
1
- import Redis from "ioredis";
2
- import { type QueueBlock } from "../types/queue/queue.types";
3
- /**
4
- * Adds multiple queue blocks to the Redis cache.
5
- * @param redis - The Redis client instance.
6
- * @param blocks - An array of maps, each containing queue block data to be added.
7
- * used when creating a all relevant queues for a game
8
- */
9
- export declare const addQueueBlocks: (redis: Redis, blocks: Map<string, QueueBlock>[]) => Promise<void>;
10
- /**
11
- * Retrieves a queue block from the Redis cache by its key.
12
- * @param redis - The Redis client instance.
13
- * @param key - The key of the queue block to retrieve.
14
- * @return A promise that resolves to the QueueBlock if found, or null if not found.
15
- * used when processing a game and its markets
16
- */
17
- export declare const retrieveQueueBlock: (redis: Redis, key: string) => Promise<QueueBlock | null>;
18
- /**
19
- *
20
- * @param redis - Redis client instance
21
- * @description retrieves all queue blocks from redis
22
- * @returns a promise that resolves to a record of queue blocks
23
- */
24
- export declare const retrieveAllQueueBlocks: (redis: Redis) => Promise<Record<string, QueueBlock>>;
25
- export declare const deleteQueueBlock: (redis: Redis, key: string) => Promise<void>;
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteQueueBlock = exports.retrieveAllQueueBlocks = exports.retrieveQueueBlock = exports.addQueueBlocks = void 0;
4
- const cache_keys_utils_1 = require("./cache.keys.utils");
5
- /**
6
- * Adds multiple queue blocks to the Redis cache.
7
- * @param redis - The Redis client instance.
8
- * @param blocks - An array of maps, each containing queue block data to be added.
9
- * used when creating a all relevant queues for a game
10
- */
11
- const addQueueBlocks = async (redis, blocks) => {
12
- const pipeline = redis.pipeline();
13
- for (const block of blocks) {
14
- for (const [key, value] of block) {
15
- pipeline.hset(cache_keys_utils_1.queueBlockHashKey, key, JSON.stringify(value));
16
- }
17
- }
18
- await pipeline.exec();
19
- };
20
- exports.addQueueBlocks = addQueueBlocks;
21
- /**
22
- * Retrieves a queue block from the Redis cache by its key.
23
- * @param redis - The Redis client instance.
24
- * @param key - The key of the queue block to retrieve.
25
- * @return A promise that resolves to the QueueBlock if found, or null if not found.
26
- * used when processing a game and its markets
27
- */
28
- const retrieveQueueBlock = async (redis, key) => {
29
- const result = await redis.hget(cache_keys_utils_1.queueBlockHashKey, key);
30
- if (result) {
31
- return JSON.parse(result);
32
- }
33
- return null;
34
- };
35
- exports.retrieveQueueBlock = retrieveQueueBlock;
36
- /**
37
- *
38
- * @param redis - Redis client instance
39
- * @description retrieves all queue blocks from redis
40
- * @returns a promise that resolves to a record of queue blocks
41
- */
42
- const retrieveAllQueueBlocks = async (redis) => {
43
- const result = await redis.hgetall(cache_keys_utils_1.queueBlockHashKey);
44
- const parsedResult = {};
45
- for (const [key, value] of Object.entries(result)) {
46
- parsedResult[key] = JSON.parse(value);
47
- }
48
- return parsedResult;
49
- };
50
- exports.retrieveAllQueueBlocks = retrieveAllQueueBlocks;
51
- const deleteQueueBlock = async (redis, key) => {
52
- const success = (await redis.hdel(cache_keys_utils_1.queueBlockHashKey, key));
53
- if (success != cache_keys_utils_1.RedisNumStates.success) {
54
- throw new Error(`Failed to delete queue block with key: ${key}`);
55
- }
56
- };
57
- exports.deleteQueueBlock = deleteQueueBlock;
58
- //# sourceMappingURL=queue.blocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.blocks.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/queue.blocks.ts"],"names":[],"mappings":";;;AAEA,yDAAsE;AAEtE;;;;;GAKG;AACI,MAAM,cAAc,GAAG,KAAK,EAAE,KAAY,EAAE,MAAiC,EAAiB,EAAE;IACnG,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,oCAAiB,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAChE,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;AACzB,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B;AAED;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAY,EAAE,GAAW,EAA8B,EAAE;IAC9F,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,oCAAiB,EAAE,GAAG,CAAC,CAAA;IACvD,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAe,CAAA;IAC3C,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AANY,QAAA,kBAAkB,sBAM9B;AAED;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,KAAK,EAAE,KAAY,EAAuC,EAAE;IAC9F,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,oCAAiB,CAAC,CAAA;IACrD,MAAM,YAAY,GAA+B,EAAE,CAAA;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAe,CAAA;IACvD,CAAC;IACD,OAAO,YAAY,CAAA;AACvB,CAAC,CAAA;AAPY,QAAA,sBAAsB,0BAOlC;AAEM,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAY,EAAE,GAAW,EAAiB,EAAE;IAC/E,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,oCAAiB,EAAE,GAAG,CAAC,CAAmB,CAAA;IAC5E,IAAI,OAAO,IAAI,iCAAc,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAA;IACpE,CAAC;AACL,CAAC,CAAA;AALY,QAAA,gBAAgB,oBAK5B"}