@levrbet/shared 0.2.103 → 0.3.3
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 +0 -8
- package/dist/core/config/urls.js +12 -20
- package/dist/core/config/urls.js.map +1 -1
- package/dist/core/contracts/abis/LevrManager.d.ts +988 -1008
- package/dist/core/contracts/abis/LevrManager.js +497 -1536
- package/dist/core/contracts/abis/LevrManager.js.map +1 -1
- package/dist/core/contracts/abis/index.d.ts +988 -1008
- package/dist/core/contracts/addresses.d.ts +21 -21
- package/dist/core/contracts/addresses.js +19 -19
- package/dist/core/types/oracle/market/positions.types.d.ts +1 -7
- package/dist/react/hooks/contracts/useContracts.d.ts +19 -19
- package/dist/server/config/kms.js +1 -1
- package/dist/server/config/redis.d.ts +0 -5
- package/dist/server/config/redis.js +3 -13
- package/dist/server/config/redis.js.map +1 -1
- package/dist/server/config/urls.d.ts +0 -8
- package/dist/server/contracts/clients/ozRelayerService.d.ts +0 -1
- package/dist/server/contracts/clients/ozRelayerService.js +17 -110
- package/dist/server/contracts/clients/ozRelayerService.js.map +1 -1
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.d.ts +9 -9
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.js.map +1 -1
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js +1 -1
- package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js.map +1 -1
- package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.d.ts +0 -4
- package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.js +1 -5
- package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.js.map +1 -1
- package/dist/server/oracle/config/game-periods/sports.config.d.ts +1 -1
- package/dist/server/oracle/config/game-periods/sports.config.js +6 -56
- package/dist/server/oracle/config/game-periods/sports.config.js.map +1 -1
- package/dist/server/oracle/config/game-periods/types.d.ts +1 -9
- package/dist/server/oracle/config/game-periods/types.js +0 -5
- package/dist/server/oracle/config/game-periods/types.js.map +1 -1
- package/dist/server/oracle/redis-cache-manager/cache.keys.utils.d.ts +45 -74
- package/dist/server/oracle/redis-cache-manager/cache.keys.utils.js +65 -120
- package/dist/server/oracle/redis-cache-manager/cache.keys.utils.js.map +1 -1
- package/dist/server/oracle/redis-cache-manager/channels.d.ts +2 -2
- package/dist/server/oracle/redis-cache-manager/channels.js.map +1 -1
- package/dist/server/oracle/redis-cache-manager/game.progress.d.ts +4 -4
- package/dist/server/oracle/redis-cache-manager/game.progress.js.map +1 -1
- package/dist/server/oracle/redis-cache-manager/game.query.engine.d.ts +90 -0
- package/dist/server/oracle/redis-cache-manager/game.query.engine.js +436 -0
- package/dist/server/oracle/redis-cache-manager/game.query.engine.js.map +1 -0
- package/dist/server/oracle/redis-cache-manager/index.d.ts +2 -2
- package/dist/server/oracle/redis-cache-manager/index.js +2 -2
- package/dist/server/oracle/redis-cache-manager/index.js.map +1 -1
- package/dist/server/oracle/redis-cache-manager/leagues.cache.service.d.ts +3 -3
- package/dist/server/oracle/redis-cache-manager/leagues.cache.service.js +1 -5
- package/dist/server/oracle/redis-cache-manager/leagues.cache.service.js.map +1 -1
- package/dist/server/oracle/redis-cache-manager/market.query.engine.d.ts +50 -97
- package/dist/server/oracle/redis-cache-manager/market.query.engine.js +310 -467
- package/dist/server/oracle/redis-cache-manager/market.query.engine.js.map +1 -1
- package/dist/server/oracle/rmq-manager/base.queue.manager.d.ts +1 -1
- package/dist/server/oracle/rmq-manager/base.queue.manager.js +1 -1
- package/dist/server/oracle/rmq-manager/base.queue.manager.js.map +1 -1
- package/dist/server/services/presigned.urls.js +1 -1
- package/dist/server/services/presigned.urls.js.map +1 -1
- package/dist/server/utils/game_progress/caclulate.game.progress.d.ts +4 -132
- package/dist/server/utils/game_progress/caclulate.game.progress.js +24 -195
- package/dist/server/utils/game_progress/caclulate.game.progress.js.map +1 -1
- package/dist/server/utils/game_progress/game.utils.d.ts +1 -6
- package/dist/server/utils/game_progress/game.utils.js +52 -71
- package/dist/server/utils/game_progress/game.utils.js.map +1 -1
- package/dist/server/utils/game_progress/parser.js +0 -6
- package/dist/server/utils/game_progress/parser.js.map +1 -1
- package/package.json +5 -5
- package/prisma/schema.prisma +3 -39
- package/scripts/setup-prisma.js +0 -0
- package/dist/server/oracle/redis-cache-manager/game.cache.service.d.ts +0 -186
- package/dist/server/oracle/redis-cache-manager/game.cache.service.js +0 -712
- package/dist/server/oracle/redis-cache-manager/game.cache.service.js.map +0 -1
- package/dist/server/oracle/redis-cache-manager/market.cache.service.d.ts +0 -87
- package/dist/server/oracle/redis-cache-manager/market.cache.service.js +0 -139
- package/dist/server/oracle/redis-cache-manager/market.cache.service.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"game.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/game.cache.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { Market, MarketType, Odds } from "@prisma/client";
|
|
2
|
-
import type { RedisClient } from "../../config";
|
|
3
|
-
import { MarketWithRelations } from "../../../core";
|
|
4
|
-
/**
|
|
5
|
-
* A collection of functions to manage market and odds data in Redis cache
|
|
6
|
-
* These functions handle operations like setting, getting, and invalidating market data and odds
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Sets market data in Redis cache using hash structure
|
|
10
|
-
* @param redis - Redis client instance
|
|
11
|
-
* @param market - Market object to be cached
|
|
12
|
-
* @dev This function stores market data in a hash where the key is derived from the game unique identifier (gameUniqueIdentifier)
|
|
13
|
-
* and the field is the market type (e.g., Fulltime, Halftime).
|
|
14
|
-
* The market data is serialized to JSON format before being stored.
|
|
15
|
-
* This allows for efficient retrieval of market data by game and market type.
|
|
16
|
-
* @returns {Promise<void>} - Resolves when the operation is complete
|
|
17
|
-
*/
|
|
18
|
-
export declare const setMarketDataCache: (redis: RedisClient, markets: Market[]) => Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* @dev this function sets only a map of game unique identifiers to their completed markets game unique identifiers
|
|
21
|
-
* FullTime:Completed => {"gameUniqueIdentifier1:Fulltime": gameUniqueIdentifier1, "gameUniqueIdentifier2:Fulltime", "gameUniqueIdentifier2"}
|
|
22
|
-
* by market type in Redis cache.
|
|
23
|
-
* It allows for efficient retrieval of completed markets by their game unique identifier and market type.
|
|
24
|
-
* Sets the completed markets keys and fields in Redis cache
|
|
25
|
-
* This enables efficient retrieval of completed markets by their game unique identifier and market type
|
|
26
|
-
* @param redis - Redis client instance
|
|
27
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
28
|
-
* @param marketType - Type of market (e.g., Fulltime)
|
|
29
|
-
* @audit @dev might look into the field, seems this operations could be simpler
|
|
30
|
-
*/
|
|
31
|
-
export declare const setCompletedMarketsKeysAndFields: (redis: RedisClient, markets: Market[]) => Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* Retrieves completed markets data for multiple games
|
|
34
|
-
* @param redis - Redis client instance
|
|
35
|
-
* @param gameUniqueIdentifiers - Array of game unique identifiers
|
|
36
|
-
* @param marketType - Type of market to retrieve
|
|
37
|
-
* @returns Array of Market objects or null if none found
|
|
38
|
-
*/
|
|
39
|
-
export declare const getCompletedMarkets: (redis: RedisClient, marketType: MarketType) => Promise<Market[] | null>;
|
|
40
|
-
/**
|
|
41
|
-
* Retrieves market data from cache for a specific game and market type
|
|
42
|
-
* @param redis - Redis client instance
|
|
43
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
44
|
-
* @param marketType - Type of market to retrieve
|
|
45
|
-
* @returns Market object or null if not found
|
|
46
|
-
*/
|
|
47
|
-
export declare const getMarketDataCache: (redis: RedisClient, gameUniqueIdentifier: string, marketType: MarketType) => Promise<Market | null>;
|
|
48
|
-
/**
|
|
49
|
-
* Retrieves market data with associated odds for multiple games and market types
|
|
50
|
-
* @param redis - Redis client instance
|
|
51
|
-
* @param query - Array of query objects with gameUniqueIdentifier and marketType
|
|
52
|
-
* @returns Map of game IDs to their markets with odds
|
|
53
|
-
*/
|
|
54
|
-
export declare const getMarketDataCacheWithOdds: (redis: RedisClient, query: Array<{
|
|
55
|
-
gameUniqueIdentifier: string;
|
|
56
|
-
marketType: MarketType;
|
|
57
|
-
}>) => Promise<Record<string, MarketWithRelations[]>>;
|
|
58
|
-
/**
|
|
59
|
-
* Retrieves all odds from cache for a specific game and market type
|
|
60
|
-
* @param redis - Redis client instance
|
|
61
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
62
|
-
* @param marketType - Type of market
|
|
63
|
-
* @returns Array of Odds objects
|
|
64
|
-
*/
|
|
65
|
-
export declare const getOddsCache: (redis: RedisClient, gameUniqueIdentifier: string, marketType: MarketType) => Promise<Odds[]>;
|
|
66
|
-
/**
|
|
67
|
-
* Retrieves the latest odds from cache for a specific game and market type
|
|
68
|
-
* @param redis - Redis client instance
|
|
69
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
70
|
-
* @param marketType - Type of market
|
|
71
|
-
* @returns Latest Odds object or null if not found
|
|
72
|
-
*/
|
|
73
|
-
export declare const getLatestOddsCache: (redis: RedisClient, gameUniqueIdentifier: string, marketType: MarketType) => Promise<Odds | null>;
|
|
74
|
-
/**
|
|
75
|
-
* Invalidates the market odds cache for a specific game and market
|
|
76
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
77
|
-
* @param marketType - Type of market
|
|
78
|
-
*/
|
|
79
|
-
export declare const invalidateMarketOddsCache: (redis: RedisClient, gameUniqueIdentifier: string, marketType: MarketType) => Promise<void>;
|
|
80
|
-
/**
|
|
81
|
-
* Adds new odds to the cache for a specific game and market type
|
|
82
|
-
* @param redis - Redis client instance
|
|
83
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
84
|
-
* @param marketType - Type of market
|
|
85
|
-
* @param odds - Array of new odds to add
|
|
86
|
-
*/
|
|
87
|
-
export declare const addOddsCache: (redis: RedisClient, gameUniqueIdentifier: string, marketType: MarketType, odds: Odds[]) => Promise<void>;
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.addOddsCache = exports.invalidateMarketOddsCache = exports.getLatestOddsCache = exports.getOddsCache = exports.getMarketDataCacheWithOdds = exports.getMarketDataCache = exports.getCompletedMarkets = exports.setCompletedMarketsKeysAndFields = exports.setMarketDataCache = void 0;
|
|
7
|
-
const client_1 = require("@prisma/client");
|
|
8
|
-
const winston_1 = __importDefault(require("../../config/winston"));
|
|
9
|
-
const cache_keys_utils_1 = require("./cache.keys.utils");
|
|
10
|
-
const market_query_engine_1 = require("./market.query.engine");
|
|
11
|
-
/**
|
|
12
|
-
* A collection of functions to manage market and odds data in Redis cache
|
|
13
|
-
* These functions handle operations like setting, getting, and invalidating market data and odds
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Sets market data in Redis cache using hash structure
|
|
17
|
-
* @param redis - Redis client instance
|
|
18
|
-
* @param market - Market object to be cached
|
|
19
|
-
* @dev This function stores market data in a hash where the key is derived from the game unique identifier (gameUniqueIdentifier)
|
|
20
|
-
* and the field is the market type (e.g., Fulltime, Halftime).
|
|
21
|
-
* The market data is serialized to JSON format before being stored.
|
|
22
|
-
* This allows for efficient retrieval of market data by game and market type.
|
|
23
|
-
* @returns {Promise<void>} - Resolves when the operation is complete
|
|
24
|
-
*/
|
|
25
|
-
const setMarketDataCache = async (redis, markets) => {
|
|
26
|
-
(0, market_query_engine_1.updateMarketCache)(redis, markets);
|
|
27
|
-
};
|
|
28
|
-
exports.setMarketDataCache = setMarketDataCache;
|
|
29
|
-
/**
|
|
30
|
-
* @dev this function sets only a map of game unique identifiers to their completed markets game unique identifiers
|
|
31
|
-
* FullTime:Completed => {"gameUniqueIdentifier1:Fulltime": gameUniqueIdentifier1, "gameUniqueIdentifier2:Fulltime", "gameUniqueIdentifier2"}
|
|
32
|
-
* by market type in Redis cache.
|
|
33
|
-
* It allows for efficient retrieval of completed markets by their game unique identifier and market type.
|
|
34
|
-
* Sets the completed markets keys and fields in Redis cache
|
|
35
|
-
* This enables efficient retrieval of completed markets by their game unique identifier and market type
|
|
36
|
-
* @param redis - Redis client instance
|
|
37
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
38
|
-
* @param marketType - Type of market (e.g., Fulltime)
|
|
39
|
-
* @audit @dev might look into the field, seems this operations could be simpler
|
|
40
|
-
*/
|
|
41
|
-
const setCompletedMarketsKeysAndFields = async (redis, markets) => {
|
|
42
|
-
await (0, market_query_engine_1.updateMarketCache)(redis, markets);
|
|
43
|
-
};
|
|
44
|
-
exports.setCompletedMarketsKeysAndFields = setCompletedMarketsKeysAndFields;
|
|
45
|
-
/**
|
|
46
|
-
* Retrieves completed markets data for multiple games
|
|
47
|
-
* @param redis - Redis client instance
|
|
48
|
-
* @param gameUniqueIdentifiers - Array of game unique identifiers
|
|
49
|
-
* @param marketType - Type of market to retrieve
|
|
50
|
-
* @returns Array of Market objects or null if none found
|
|
51
|
-
*/
|
|
52
|
-
const getCompletedMarkets = async (redis, marketType) => {
|
|
53
|
-
const results = await (0, market_query_engine_1.searchMarkets)(redis, {
|
|
54
|
-
status: client_1.MarketStatus.Closed,
|
|
55
|
-
marketType: marketType,
|
|
56
|
-
});
|
|
57
|
-
return results.length > 0 ? results : null;
|
|
58
|
-
};
|
|
59
|
-
exports.getCompletedMarkets = getCompletedMarkets;
|
|
60
|
-
/**
|
|
61
|
-
* Retrieves market data from cache for a specific game and market type
|
|
62
|
-
* @param redis - Redis client instance
|
|
63
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
64
|
-
* @param marketType - Type of market to retrieve
|
|
65
|
-
* @returns Market object or null if not found
|
|
66
|
-
*/
|
|
67
|
-
const getMarketDataCache = async (redis, gameUniqueIdentifier, marketType) => {
|
|
68
|
-
const value = await (0, market_query_engine_1.searchMarketsFallback)(redis, gameUniqueIdentifier, marketType);
|
|
69
|
-
if (!value)
|
|
70
|
-
return null;
|
|
71
|
-
return value;
|
|
72
|
-
};
|
|
73
|
-
exports.getMarketDataCache = getMarketDataCache;
|
|
74
|
-
/**
|
|
75
|
-
* Retrieves market data with associated odds for multiple games and market types
|
|
76
|
-
* @param redis - Redis client instance
|
|
77
|
-
* @param query - Array of query objects with gameUniqueIdentifier and marketType
|
|
78
|
-
* @returns Map of game IDs to their markets with odds
|
|
79
|
-
*/
|
|
80
|
-
const getMarketDataCacheWithOdds = async (redis, query) => {
|
|
81
|
-
try {
|
|
82
|
-
const results = await (0, market_query_engine_1.searchMultipleMarketsWithOddsFallback)(redis, query);
|
|
83
|
-
return results?.results || {};
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
winston_1.default.error("Error getting market data cache with odds", error);
|
|
87
|
-
return {};
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
exports.getMarketDataCacheWithOdds = getMarketDataCacheWithOdds;
|
|
91
|
-
/**
|
|
92
|
-
* Retrieves all odds from cache for a specific game and market type
|
|
93
|
-
* @param redis - Redis client instance
|
|
94
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
95
|
-
* @param marketType - Type of market
|
|
96
|
-
* @returns Array of Odds objects
|
|
97
|
-
*/
|
|
98
|
-
const getOddsCache = async (redis, gameUniqueIdentifier, marketType) => {
|
|
99
|
-
const data = await (0, market_query_engine_1.getOddsList)(redis, gameUniqueIdentifier, marketType);
|
|
100
|
-
return data;
|
|
101
|
-
};
|
|
102
|
-
exports.getOddsCache = getOddsCache;
|
|
103
|
-
/**
|
|
104
|
-
* Retrieves the latest odds from cache for a specific game and market type
|
|
105
|
-
* @param redis - Redis client instance
|
|
106
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
107
|
-
* @param marketType - Type of market
|
|
108
|
-
* @returns Latest Odds object or null if not found
|
|
109
|
-
*/
|
|
110
|
-
const getLatestOddsCache = async (redis, gameUniqueIdentifier, marketType) => {
|
|
111
|
-
return await (0, market_query_engine_1.getLatestOdds)(redis, gameUniqueIdentifier, marketType);
|
|
112
|
-
};
|
|
113
|
-
exports.getLatestOddsCache = getLatestOddsCache;
|
|
114
|
-
/**
|
|
115
|
-
* Invalidates the market odds cache for a specific game and market
|
|
116
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
117
|
-
* @param marketType - Type of market
|
|
118
|
-
*/
|
|
119
|
-
const invalidateMarketOddsCache = async (redis, gameUniqueIdentifier, marketType) => {
|
|
120
|
-
const key = cache_keys_utils_1.marketOddsKey;
|
|
121
|
-
const field = (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueIdentifier, marketType);
|
|
122
|
-
const success = (await redis.hdel(key, field));
|
|
123
|
-
if (success <= cache_keys_utils_1.RedisNumStates.failure) {
|
|
124
|
-
winston_1.default.error(`Failed to invalidate market odds cache for game ${gameUniqueIdentifier} and market type ${marketType}`);
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
exports.invalidateMarketOddsCache = invalidateMarketOddsCache;
|
|
128
|
-
/**
|
|
129
|
-
* Adds new odds to the cache for a specific game and market type
|
|
130
|
-
* @param redis - Redis client instance
|
|
131
|
-
* @param gameUniqueIdentifier - Unique identifier for the game
|
|
132
|
-
* @param marketType - Type of market
|
|
133
|
-
* @param odds - Array of new odds to add
|
|
134
|
-
*/
|
|
135
|
-
const addOddsCache = async (redis, gameUniqueIdentifier, marketType, odds) => {
|
|
136
|
-
await (0, market_query_engine_1.addOddsToOddsCache)(redis, gameUniqueIdentifier, marketType, odds);
|
|
137
|
-
};
|
|
138
|
-
exports.addOddsCache = addOddsCache;
|
|
139
|
-
//# sourceMappingURL=market.cache.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"market.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.cache.service.ts"],"names":[],"mappings":"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"}
|