@levrbet/shared 0.3.3 → 0.3.4

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.
Files changed (59) hide show
  1. package/dist/core/config/urls.d.ts +8 -0
  2. package/dist/core/config/urls.js +20 -12
  3. package/dist/core/config/urls.js.map +1 -1
  4. package/dist/core/contracts/abis/LevrManager.d.ts +1008 -988
  5. package/dist/core/contracts/abis/LevrManager.js +1538 -499
  6. package/dist/core/contracts/abis/LevrManager.js.map +1 -1
  7. package/dist/core/contracts/abis/index.d.ts +1008 -988
  8. package/dist/core/contracts/addresses.d.ts +21 -21
  9. package/dist/core/contracts/addresses.js +19 -19
  10. package/dist/core/types/oracle/game/game.types.d.ts +3 -2
  11. package/dist/core/types/oracle/game/game.types.js +0 -1
  12. package/dist/core/types/oracle/game/game.types.js.map +1 -1
  13. package/dist/core/types/oracle/market/markets.types.d.ts +4 -2
  14. package/dist/core/types/oracle/market/markets.types.js.map +1 -1
  15. package/dist/core/types/oracle/market/positions.types.d.ts +7 -1
  16. package/dist/react/hooks/contracts/useContracts.d.ts +19 -19
  17. package/dist/server/config/kms.js +1 -1
  18. package/dist/server/config/redis.d.ts +5 -0
  19. package/dist/server/config/redis.js +13 -3
  20. package/dist/server/config/redis.js.map +1 -1
  21. package/dist/server/config/urls.d.ts +8 -0
  22. package/dist/server/contracts/clients/ozRelayerService.d.ts +1 -0
  23. package/dist/server/contracts/clients/ozRelayerService.js +110 -17
  24. package/dist/server/contracts/clients/ozRelayerService.js.map +1 -1
  25. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.d.ts +9 -9
  26. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.js.map +1 -1
  27. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js +1 -1
  28. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js.map +1 -1
  29. package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.d.ts +4 -0
  30. package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.js +5 -1
  31. package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.js.map +1 -1
  32. package/dist/server/oracle/config/game-periods/sports.config.d.ts +1 -1
  33. package/dist/server/oracle/config/game-periods/sports.config.js +56 -6
  34. package/dist/server/oracle/config/game-periods/sports.config.js.map +1 -1
  35. package/dist/server/oracle/config/game-periods/types.d.ts +9 -1
  36. package/dist/server/oracle/config/game-periods/types.js +5 -0
  37. package/dist/server/oracle/config/game-periods/types.js.map +1 -1
  38. package/dist/server/oracle/redis-cache-manager/channels.d.ts +2 -2
  39. package/dist/server/oracle/redis-cache-manager/channels.js.map +1 -1
  40. package/dist/server/oracle/redis-cache-manager/game.progress.d.ts +4 -4
  41. package/dist/server/oracle/redis-cache-manager/game.progress.js.map +1 -1
  42. package/dist/server/oracle/redis-cache-manager/leagues.cache.service.d.ts +3 -3
  43. package/dist/server/oracle/redis-cache-manager/leagues.cache.service.js +5 -1
  44. package/dist/server/oracle/redis-cache-manager/leagues.cache.service.js.map +1 -1
  45. package/dist/server/oracle/rmq-manager/base.queue.manager.d.ts +1 -1
  46. package/dist/server/oracle/rmq-manager/base.queue.manager.js +3 -1
  47. package/dist/server/oracle/rmq-manager/base.queue.manager.js.map +1 -1
  48. package/dist/server/services/presigned.urls.js +1 -1
  49. package/dist/server/services/presigned.urls.js.map +1 -1
  50. package/dist/server/utils/game_progress/caclulate.game.progress.d.ts +132 -4
  51. package/dist/server/utils/game_progress/caclulate.game.progress.js +195 -24
  52. package/dist/server/utils/game_progress/caclulate.game.progress.js.map +1 -1
  53. package/dist/server/utils/game_progress/game.utils.d.ts +6 -1
  54. package/dist/server/utils/game_progress/game.utils.js +71 -52
  55. package/dist/server/utils/game_progress/game.utils.js.map +1 -1
  56. package/dist/server/utils/game_progress/parser.js +6 -0
  57. package/dist/server/utils/game_progress/parser.js.map +1 -1
  58. package/package.json +2 -1
  59. package/prisma/schema.prisma +54 -15
@@ -1,5 +1,5 @@
1
1
  import { Odds } from "@prisma/client";
2
- import { Redis } from "ioredis";
2
+ import type { RedisClient } from "../../config";
3
3
  import { type Bytes32 } from "../../../core";
4
4
  import { type SnapShotReadState } from "../types";
5
5
  /**
@@ -25,7 +25,7 @@ import { type SnapShotReadState } from "../types";
25
25
  * - Ensures that each market is always assigned to a set, and the mapping is kept up-to-date for efficient retrieval.
26
26
  * - Designed for high-throughput environments where market assignments need to be balanced dynamically.
27
27
  */
28
- export declare const updateStreamSetsRoundRobin: (redis: Redis, marketId: Bytes32) => Promise<void>;
28
+ export declare const updateStreamSetsRoundRobin: (redis: RedisClient, marketId: Bytes32) => Promise<void>;
29
29
  /**
30
30
  * Removes a market's price stream from its associated Redis set and deletes its mapping.
31
31
  *
@@ -47,8 +47,8 @@ export declare const updateStreamSetsRoundRobin: (redis: Redis, marketId: Bytes3
47
47
  * - Designed for use in environments where market-to-set mappings are dynamically managed.
48
48
  * - Logging is performed at both warning and error levels for observability.
49
49
  */
50
- export declare const removeStreamFromSet: (redis: Redis, marketId: Bytes32) => Promise<void>;
51
- export declare const streamsOfMarketsBeingWatched: (redis: Redis, Id: number) => Promise<string[]>;
50
+ export declare const removeStreamFromSet: (redis: RedisClient, marketId: Bytes32) => Promise<void>;
51
+ export declare const streamsOfMarketsBeingWatched: (redis: RedisClient, Id: number) => Promise<string[]>;
52
52
  /**
53
53
  * Adds an array of price objects to a Redis stream for a specific market.
54
54
  *
@@ -72,7 +72,7 @@ export declare const streamsOfMarketsBeingWatched: (redis: Redis, Id: number) =>
72
72
  * @throws
73
73
  * Throws any unexpected errors encountered during consumer group creation or pipeline execution.
74
74
  */
75
- export declare const addPrices: (redis: Redis, prices: Odds[], marketId: Bytes32) => Promise<void>;
75
+ export declare const addPrices: (redis: RedisClient, prices: Odds[], marketId: Bytes32) => Promise<void>;
76
76
  /**
77
77
  * Deletes the price stream associated with a specific market from Redis.
78
78
  *
@@ -88,7 +88,7 @@ export declare const addPrices: (redis: Redis, prices: Odds[], marketId: Bytes32
88
88
  * - Use this function when a market is being decommissioned or its price stream is no longer required.
89
89
  * - Ensure that no other process is concurrently writing to the same stream to avoid race conditions.
90
90
  */
91
- export declare const deleteStream: (redis: Redis, marketId: Bytes32) => Promise<void>;
91
+ export declare const deleteStream: (redis: RedisClient, marketId: Bytes32) => Promise<void>;
92
92
  /**
93
93
  * Retrieves and aggregates all odds data from a Redis stream for a given market.
94
94
  *
@@ -111,15 +111,15 @@ export declare const deleteStream: (redis: Redis, marketId: Bytes32) => Promise<
111
111
  *
112
112
  * @throws Never throws; errors are caught internally and reflected in the `snapshotState`.
113
113
  */
114
- export declare const getStreamData: (redis: Redis, marketId: Bytes32) => Promise<{
114
+ export declare const getStreamData: (redis: RedisClient, marketId: Bytes32) => Promise<{
115
115
  odds: Odds[];
116
116
  snapshotState: SnapShotReadState;
117
117
  }>;
118
118
  /**
119
119
  * Sets the change-over active marker in Redis.
120
120
  */
121
- export declare const setChangeOverActive: (redis: Redis, status: boolean) => Promise<void>;
121
+ export declare const setChangeOverActive: (redis: RedisClient, status: boolean) => Promise<void>;
122
122
  /**
123
123
  * Checks whether the changeover for active liquidation is enabled in Redis.
124
124
  */
125
- export declare const checkChangeOverActive: (redis: Redis) => Promise<boolean>;
125
+ export declare const checkChangeOverActive: (redis: RedisClient) => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"prices.set.manager.js","sourceRoot":"","sources":["../../../../src/server/liquidation-engine/redis.cache.manager/prices.set.manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prices.set.manager.js","sourceRoot":"","sources":["../../../../src/server/liquidation-engine/redis.cache.manager/prices.set.manager.ts"],"names":[],"mappings":"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"}
@@ -64,7 +64,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
64
64
  // } as unknown as Redis
65
65
  // }
66
66
  // describe("prices.set.manager", () => {
67
- // let redis: Redis
67
+ // let redis: RedisClient
68
68
  // const marketId: Bytes16 = "0x1234567890abcdef"
69
69
  // const odds: Odds = { id: "odds-1", value: 2.5 }
70
70
  // const odds2: Odds = { id: "odds-2", value: 3.1 }
@@ -1 +1 @@
1
- {"version":3,"file":"prices.set.manager.test.js","sourceRoot":"","sources":["../../../../src/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,+CAA+C;AAC/C,8HAA8H;;AAE9H,uBAAuB;AAEvB,4BAA4B;AAC5B,mDAAmD;AACnD,gCAAgC;AAEhC,eAAe;AACf,oCAAoC;AACpC,oCAAoC;AACpC,uBAAuB;AACvB,kEAAkE;AAClE,uCAAuC;AACvC,gDAAgD;AAChD,+CAA+C;AAC/C,mCAAmC;AACnC,yBAAyB;AACzB,sBAAsB;AACtB,mEAAmE;AACnE,uCAAuC;AACvC,8CAA8C;AAC9C,mCAAmC;AACnC,yBAAyB;AACzB,sBAAsB;AACtB,yEAAyE;AACzE,uCAAuC;AACvC,4DAA4D;AAC5D,qDAAqD;AACrD,yBAAyB;AACzB,sBAAsB;AACtB,kEAAkE;AAClE,uCAAuC;AACvC,sDAAsD;AACtD,sDAAsD;AACtD,uCAAuC;AACvC,4BAA4B;AAC5B,mCAAmC;AACnC,yBAAyB;AACzB,sBAAsB;AACtB,kFAAkF;AAClF,uCAAuC;AACvC,0CAA0C;AAC1C,uEAAuE;AACvE,uDAAuD;AACvD,oDAAoD;AACpD,4CAA4C;AAC5C,gCAAgC;AAChC,4BAA4B;AAC5B,yCAAyC;AACzC,yBAAyB;AACzB,sBAAsB;AACtB,sEAAsE;AACtE,gBAAgB;AAChB,cAAc;AACd,iFAAiF;AACjF,0EAA0E;AAC1E,wBAAwB;AACxB,cAAc;AACd,kDAAkD;AAClD,oDAAoD;AACpD,cAAc;AACd,4BAA4B;AAC5B,IAAI;AAEJ,yCAAyC;AACzC,uBAAuB;AACvB,qDAAqD;AACrD,sDAAsD;AACtD,uDAAuD;AAEvD,yBAAyB;AACzB,8BAA8B;AAC9B,SAAS;AAET,iFAAiF;AACjF,0DAA0D;AAC1D,+CAA+C;AAC/C,gFAAgF;AAChF,uEAAuE;AACvE,wCAAwC;AACxC,gFAAgF;AAChF,gCAAgC;AAChC,SAAS;AAET,iFAAiF;AACjF,mDAAmD;AACnD,yEAAyE;AACzE,sCAAsC;AACtC,mDAAmD;AACnD,iDAAiD;AACjD,SAAS;AAET,oFAAoF;AACpF,yEAAyE;AACzE,oCAAoC;AACpC,SAAS;AAET,kGAAkG;AAClG,mDAAmD;AACnD,oEAAoE;AACpE,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAChF,2EAA2E;AAC3E,SAAS;AAET,iFAAiF;AACjF,8FAA8F;AAC9F,SAAS;AAET,kEAAkE;AAClE,0DAA0D;AAC1D,mCAAmC;AACnC,SAAS;AAET,uEAAuE;AACvE,mDAAmD;AACnD,0DAA0D;AAC1D,oCAAoC;AACpC,SAAS;AACT,KAAK"}
1
+ {"version":3,"file":"prices.set.manager.test.js","sourceRoot":"","sources":["../../../../src/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,+CAA+C;AAC/C,8HAA8H;;AAE9H,uBAAuB;AAEvB,4BAA4B;AAC5B,mDAAmD;AACnD,gCAAgC;AAEhC,eAAe;AACf,oCAAoC;AACpC,oCAAoC;AACpC,uBAAuB;AACvB,kEAAkE;AAClE,uCAAuC;AACvC,gDAAgD;AAChD,+CAA+C;AAC/C,mCAAmC;AACnC,yBAAyB;AACzB,sBAAsB;AACtB,mEAAmE;AACnE,uCAAuC;AACvC,8CAA8C;AAC9C,mCAAmC;AACnC,yBAAyB;AACzB,sBAAsB;AACtB,yEAAyE;AACzE,uCAAuC;AACvC,4DAA4D;AAC5D,qDAAqD;AACrD,yBAAyB;AACzB,sBAAsB;AACtB,kEAAkE;AAClE,uCAAuC;AACvC,sDAAsD;AACtD,sDAAsD;AACtD,uCAAuC;AACvC,4BAA4B;AAC5B,mCAAmC;AACnC,yBAAyB;AACzB,sBAAsB;AACtB,kFAAkF;AAClF,uCAAuC;AACvC,0CAA0C;AAC1C,uEAAuE;AACvE,uDAAuD;AACvD,oDAAoD;AACpD,4CAA4C;AAC5C,gCAAgC;AAChC,4BAA4B;AAC5B,yCAAyC;AACzC,yBAAyB;AACzB,sBAAsB;AACtB,sEAAsE;AACtE,gBAAgB;AAChB,cAAc;AACd,iFAAiF;AACjF,0EAA0E;AAC1E,wBAAwB;AACxB,cAAc;AACd,kDAAkD;AAClD,oDAAoD;AACpD,cAAc;AACd,4BAA4B;AAC5B,IAAI;AAEJ,yCAAyC;AACzC,6BAA6B;AAC7B,qDAAqD;AACrD,sDAAsD;AACtD,uDAAuD;AAEvD,yBAAyB;AACzB,8BAA8B;AAC9B,SAAS;AAET,iFAAiF;AACjF,0DAA0D;AAC1D,+CAA+C;AAC/C,gFAAgF;AAChF,uEAAuE;AACvE,wCAAwC;AACxC,gFAAgF;AAChF,gCAAgC;AAChC,SAAS;AAET,iFAAiF;AACjF,mDAAmD;AACnD,yEAAyE;AACzE,sCAAsC;AACtC,mDAAmD;AACnD,iDAAiD;AACjD,SAAS;AAET,oFAAoF;AACpF,yEAAyE;AACzE,oCAAoC;AACpC,SAAS;AAET,kGAAkG;AAClG,mDAAmD;AACnD,oEAAoE;AACpE,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAChF,2EAA2E;AAC3E,SAAS;AAET,iFAAiF;AACjF,8FAA8F;AAC9F,SAAS;AAET,kEAAkE;AAClE,0DAA0D;AAC1D,mCAAmC;AACnC,SAAS;AAET,uEAAuE;AACvE,mDAAmD;AACnD,0DAA0D;AAC1D,oCAAoC;AACpC,SAAS;AACT,KAAK"}
@@ -29,3 +29,7 @@ export declare const OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS: {
29
29
  readonly THIRD_QUARTER: 3;
30
30
  readonly FOURTH_QUARTER: 4;
31
31
  };
32
+ export declare const OPTIC_ODDS_NCAA_PERIODS: {
33
+ readonly FIRST_HALF: 1;
34
+ readonly SECOND_HALF: 2;
35
+ };
@@ -4,7 +4,7 @@
4
4
  * TODO: Add period mappings when OpticOdds integration is complete
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS = exports.OPTIC_ODDS_BASEBALL_PERIODS = exports.OPTIC_ODDS_BASKETBALL_PERIODS = exports.OPTIC_ODDS_SOCCER_PERIODS = void 0;
7
+ exports.OPTIC_ODDS_NCAA_PERIODS = exports.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS = exports.OPTIC_ODDS_BASEBALL_PERIODS = exports.OPTIC_ODDS_BASKETBALL_PERIODS = exports.OPTIC_ODDS_SOCCER_PERIODS = void 0;
8
8
  exports.OPTIC_ODDS_SOCCER_PERIODS = {
9
9
  FIRST_HALF: 1,
10
10
  SECOND_HALF: 2,
@@ -32,4 +32,8 @@ exports.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS = {
32
32
  THIRD_QUARTER: 3,
33
33
  FOURTH_QUARTER: 4,
34
34
  };
35
+ exports.OPTIC_ODDS_NCAA_PERIODS = {
36
+ FIRST_HALF: 1,
37
+ SECOND_HALF: 2,
38
+ };
35
39
  //# sourceMappingURL=optic-odds.periods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optic-odds.periods.js","sourceRoot":"","sources":["../../../../../../src/server/oracle/config/game-periods/providers/optic-odds.periods.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,yBAAyB,GAAG;IACrC,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;CACR,CAAA;AAEG,QAAA,6BAA6B,GAAG;IACzC,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;CACX,CAAA;AAEG,QAAA,2BAA2B,GAAG;IACvC,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;CACT,CAAA;AAEG,QAAA,oCAAoC,GAAG;IAChD,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;CACX,CAAA"}
1
+ {"version":3,"file":"optic-odds.periods.js","sourceRoot":"","sources":["../../../../../../src/server/oracle/config/game-periods/providers/optic-odds.periods.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,yBAAyB,GAAG;IACrC,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;CACR,CAAA;AAEG,QAAA,6BAA6B,GAAG;IACzC,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;CACX,CAAA;AAEG,QAAA,2BAA2B,GAAG;IACvC,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;CACT,CAAA;AAEG,QAAA,oCAAoC,GAAG;IAChD,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;CACX,CAAA;AAEG,QAAA,uBAAuB,GAAG;IACnC,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;CACR,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { SportsGamePeriodClockConfigType } from "./types";
1
+ import { type SportsGamePeriodClockConfigType } from "./types";
2
2
  /**
3
3
  * Main configuration for game periods and clock behavior by sport and provider
4
4
  */
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SportsGamePeriodClockConfig = void 0;
4
4
  const client_1 = require("@prisma/client");
5
- const providers_1 = require("./providers");
6
5
  const core_1 = require("../../../../core");
6
+ const providers_1 = require("./providers");
7
+ const types_1 = require("./types");
7
8
  /**
8
9
  * Main configuration for game periods and clock behavior by sport and provider
9
10
  */
@@ -27,7 +28,22 @@ exports.SportsGamePeriodClockConfig = {
27
28
  extraTime: [providers_1.LSPORTS_BASKETBALL_PERIODS.OVERTIME],
28
29
  countUpClock: false,
29
30
  },
30
- leaguePeriods: null,
31
+ leaguePeriods: {
32
+ [types_1.LEAGUE_SELECTORS.NCAA_BASKETBALL]: {
33
+ periodConfig: {
34
+ regular: [providers_1.LSPORTS_NCAA_PERIODS.FIRST_HALF, providers_1.LSPORTS_NCAA_PERIODS.SECOND_HALF],
35
+ fullCycle: [
36
+ providers_1.LSPORTS_BASKETBALL_PERIODS.OVERTIME,
37
+ providers_1.LSPORTS_BASKETBALL_PERIODS.FULL_TIME,
38
+ providers_1.LSPORTS_BASKETBALL_PERIODS.FULL_TIME_AFTER_OVERTIME,
39
+ ],
40
+ extraTime: [providers_1.LSPORTS_BASKETBALL_PERIODS.OVERTIME],
41
+ countUpClock: false,
42
+ },
43
+ totalPeriodDurationInSeconds: 1200,
44
+ totalPeriods: 2,
45
+ },
46
+ }, //TODO: Add NCAA Basketball specific periods
31
47
  },
32
48
  [core_1.OddsServices.OPTIC_ODDS]: {
33
49
  sportPeriods: {
@@ -41,7 +57,18 @@ exports.SportsGamePeriodClockConfig = {
41
57
  extraTime: [],
42
58
  countUpClock: true,
43
59
  },
44
- leaguePeriods: null,
60
+ leaguePeriods: {
61
+ [types_1.LEAGUE_SELECTORS.NCAA_BASKETBALL]: {
62
+ periodConfig: {
63
+ regular: [providers_1.OPTIC_ODDS_NCAA_PERIODS.FIRST_HALF, providers_1.OPTIC_ODDS_NCAA_PERIODS.SECOND_HALF],
64
+ fullCycle: [],
65
+ extraTime: [],
66
+ countUpClock: true,
67
+ },
68
+ totalPeriodDurationInSeconds: 1200,
69
+ totalPeriods: 2,
70
+ },
71
+ },
45
72
  },
46
73
  },
47
74
  [client_1.SportGroup.Soccer]: {
@@ -76,7 +103,8 @@ exports.SportsGamePeriodClockConfig = {
76
103
  },
77
104
  },
78
105
  [client_1.SportGroup.Baseball]: {
79
- totalPeriodDurationInSeconds: 1200, // Approximate 20 minutes per inning
106
+ //TODO: add breakdown of top and bottom halves of innings for more granular clock control
107
+ totalPeriodDurationInSeconds: 1200, // TODO: remove time, not used in baseball
80
108
  totalPeriods: 9,
81
109
  [core_1.OddsServices.LSPORTS]: {
82
110
  sportPeriods: {
@@ -135,7 +163,18 @@ exports.SportsGamePeriodClockConfig = {
135
163
  extraTime: [providers_1.LSPORTS_AMERICAN_FOOTBALL_PERIODS.OVERTIME],
136
164
  countUpClock: false,
137
165
  },
138
- leaguePeriods: null,
166
+ leaguePeriods: {
167
+ [types_1.LEAGUE_SELECTORS.NCAA_FOOTBALL]: {
168
+ periodConfig: {
169
+ regular: [providers_1.LSPORTS_NCAA_PERIODS.FIRST_HALF, providers_1.LSPORTS_NCAA_PERIODS.SECOND_HALF],
170
+ fullCycle: [],
171
+ extraTime: [providers_1.LSPORTS_AMERICAN_FOOTBALL_PERIODS.OVERTIME],
172
+ countUpClock: true,
173
+ },
174
+ totalPeriodDurationInSeconds: 1800,
175
+ totalPeriods: 2,
176
+ },
177
+ },
139
178
  },
140
179
  [core_1.OddsServices.OPTIC_ODDS]: {
141
180
  sportPeriods: {
@@ -149,7 +188,18 @@ exports.SportsGamePeriodClockConfig = {
149
188
  extraTime: [],
150
189
  countUpClock: true,
151
190
  },
152
- leaguePeriods: null,
191
+ leaguePeriods: {
192
+ [types_1.LEAGUE_SELECTORS.NCAA_FOOTBALL]: {
193
+ periodConfig: {
194
+ regular: [providers_1.OPTIC_ODDS_NCAA_PERIODS.FIRST_HALF, providers_1.OPTIC_ODDS_NCAA_PERIODS.SECOND_HALF],
195
+ fullCycle: [],
196
+ extraTime: [],
197
+ countUpClock: true,
198
+ },
199
+ totalPeriodDurationInSeconds: 1800,
200
+ totalPeriods: 2,
201
+ },
202
+ },
153
203
  },
154
204
  },
155
205
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sports.config.js","sourceRoot":"","sources":["../../../../../src/server/oracle/config/game-periods/sports.config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sports.config.js","sourceRoot":"","sources":["../../../../../src/server/oracle/config/game-periods/sports.config.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,11 @@ export interface ProviderPeriodConfig {
20
20
  sportPeriods: PeriodConfig;
21
21
  /** Optional league-specific overrides keyed by league ID */
22
22
  leaguePeriods: null | {
23
- [leagueId: number]: PeriodConfig;
23
+ [leagueId: string]: {
24
+ totalPeriods: number;
25
+ totalPeriodDurationInSeconds: number;
26
+ periodConfig: PeriodConfig;
27
+ };
24
28
  };
25
29
  }
26
30
  /**
@@ -38,3 +42,7 @@ export interface SportPeriodClockConfig {
38
42
  export type SportsGamePeriodClockConfigType = {
39
43
  [key in SportGroup]?: SportPeriodClockConfig;
40
44
  };
45
+ export declare const LEAGUE_SELECTORS: {
46
+ NCAA_BASKETBALL: string;
47
+ NCAA_FOOTBALL: string;
48
+ };
@@ -1,4 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LEAGUE_SELECTORS = void 0;
3
4
  const core_1 = require("../../../../core");
5
+ exports.LEAGUE_SELECTORS = {
6
+ NCAA_BASKETBALL: "NCAAB",
7
+ NCAA_FOOTBALL: "NCAAF",
8
+ };
4
9
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/server/oracle/config/game-periods/types.ts"],"names":[],"mappings":";;AACA,2CAA+C"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/server/oracle/config/game-periods/types.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAiDlC,QAAA,gBAAgB,GAAG;IAC5B,eAAe,EAAE,OAAO;IACxB,aAAa,EAAE,OAAO;CACzB,CAAA"}
@@ -1,2 +1,2 @@
1
- import Redis from "ioredis";
2
- export declare const publishToChannel: (redis: Redis, channel: string, data: unknown) => Promise<void>;
1
+ import type { RedisClient } from "../../config";
2
+ export declare const publishToChannel: (redis: RedisClient, channel: string, data: unknown) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/channels.ts"],"names":[],"mappings":";;;AACA,yDAAmD;AAE5C,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAY,EAAE,OAAe,EAAE,IAAa,EAAiB,EAAE;IAClG,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAmB,CAAA;IACtF,IAAI,OAAO,IAAI,iCAAc,CAAC,OAAO;QAAE,MAAM,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAA;AACvG,CAAC,CAAA;AAHY,QAAA,gBAAgB,oBAG5B"}
1
+ {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/channels.ts"],"names":[],"mappings":";;;AACA,yDAAmD;AAE5C,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAkB,EAAE,OAAe,EAAE,IAAa,EAAiB,EAAE;IACxG,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAmB,CAAA;IACtF,IAAI,OAAO,IAAI,iCAAc,CAAC,OAAO;QAAE,MAAM,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAA;AACvG,CAAC,CAAA;AAHY,QAAA,gBAAgB,oBAG5B"}
@@ -1,4 +1,4 @@
1
- import Redis from "ioredis";
2
- export declare const saveGameProgressToCache: (gameObjectId: string, progressBPS: number, redisClient: Redis) => Promise<void>;
3
- export declare const getAllGameProgressFromCache: (gameObjectId: string, redisClient: Redis) => Promise<number[]>;
4
- export declare const getLatestGameProgressFromCache: (gameObjectId: string, redisClient: Redis) => Promise<number | null>;
1
+ import type { RedisClient } from "../../config";
2
+ export declare const saveGameProgressToCache: (gameObjectId: string, progressBPS: number, redisClient: RedisClient) => Promise<void>;
3
+ export declare const getAllGameProgressFromCache: (gameObjectId: string, redisClient: RedisClient) => Promise<number[]>;
4
+ export declare const getLatestGameProgressFromCache: (gameObjectId: string, redisClient: RedisClient) => Promise<number | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"game.progress.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/game.progress.ts"],"names":[],"mappings":";;;AAIA,MAAM,QAAQ,GAAG,qBAAqB,CAAA;AAEtC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAU,EAAE;IACjD,OAAO,GAAG,QAAQ,GAAG,YAAY,EAAE,CAAA;AACvC,CAAC,CAAA;AAEM,MAAM,uBAAuB,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAE,WAAkB,EAAE,EAAE;IAC3G,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC7D,CAAC,CAAA;AAHY,QAAA,uBAAuB,2BAGnC;AAEM,MAAM,2BAA2B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAkB,EAAqB,EAAE;IAC7G,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAJY,QAAA,2BAA2B,+BAIvC;AAEM,MAAM,8BAA8B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAkB,EAA0B,EAAE;IACrH,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACpD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAChC,OAAO,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC,CAAA;AALY,QAAA,8BAA8B,kCAK1C"}
1
+ {"version":3,"file":"game.progress.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/game.progress.ts"],"names":[],"mappings":";;;AAIA,MAAM,QAAQ,GAAG,qBAAqB,CAAA;AAEtC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAU,EAAE;IACjD,OAAO,GAAG,QAAQ,GAAG,YAAY,EAAE,CAAA;AACvC,CAAC,CAAA;AAEM,MAAM,uBAAuB,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAE,WAAwB,EAAE,EAAE;IACjH,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC7D,CAAC,CAAA;AAHY,QAAA,uBAAuB,2BAGnC;AAEM,MAAM,2BAA2B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAwB,EAAqB,EAAE;IACnH,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAJY,QAAA,2BAA2B,+BAIvC;AAEM,MAAM,8BAA8B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAwB,EAA0B,EAAE;IAC3H,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACpD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAChC,OAAO,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC,CAAA;AALY,QAAA,8BAA8B,kCAK1C"}
@@ -1,6 +1,6 @@
1
- import Redis from "ioredis";
2
- export declare const storePresignedUrlsInRedis: (redisClient: Redis, leaguesWithUrls: {
1
+ import type { RedisClient } from "../../config";
2
+ export declare const storePresignedUrlsInRedis: (redisClient: RedisClient, leaguesWithUrls: {
3
3
  leagueObjectId: string;
4
4
  presignedUrl: string;
5
5
  }[]) => Promise<void>;
6
- export declare const getPresignedUrlsFromRedis: (redisClient: Redis, leagueObjectIds: string[]) => Promise<Record<string, string | null | undefined>>;
6
+ export declare const getPresignedUrlsFromRedis: (redisClient: RedisClient, leagueObjectIds: string[]) => Promise<Record<string, string | null | undefined>>;
@@ -12,8 +12,12 @@ const storePresignedUrlsInRedis = async (redisClient, leaguesWithUrls) => {
12
12
  };
13
13
  exports.storePresignedUrlsInRedis = storePresignedUrlsInRedis;
14
14
  const getPresignedUrlsFromRedis = async (redisClient, leagueObjectIds) => {
15
- const redisKey = "leaguePresignedUrls";
16
15
  const urls = {};
16
+ // Return empty object if no league IDs provided (hmget requires at least one field)
17
+ if (leagueObjectIds.length === 0) {
18
+ return urls;
19
+ }
20
+ const redisKey = "leaguePresignedUrls";
17
21
  const results = await redisClient.hmget(redisKey, ...leagueObjectIds);
18
22
  leagueObjectIds.forEach((id, index) => {
19
23
  urls[id] = results[index];
@@ -1 +1 @@
1
- {"version":3,"file":"leagues.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/leagues.cache.service.ts"],"names":[],"mappings":";;;AAEO,MAAM,yBAAyB,GAAG,KAAK,EAC1C,WAAkB,EAClB,eAAmE,EACtD,EAAE;IACf,MAAM,QAAQ,GAAG,qBAAqB,CAAA;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAA;IAEvC,KAAK,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,eAAe,EAAE,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;QACrD,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA,CAAC,qBAAqB;IAC1D,CAAC;IACD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;AACzB,CAAC,CAAA;AAZY,QAAA,yBAAyB,6BAYrC;AAEM,MAAM,yBAAyB,GAAG,KAAK,EAC1C,WAAkB,EAClB,eAAyB,EACyB,EAAE;IACpD,MAAM,QAAQ,GAAG,qBAAqB,CAAA;IACtC,MAAM,IAAI,GAA8C,EAAE,CAAA;IAC1D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,eAAe,CAAC,CAAA;IAErE,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QAClC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAZY,QAAA,yBAAyB,6BAYrC"}
1
+ {"version":3,"file":"leagues.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/leagues.cache.service.ts"],"names":[],"mappings":";;;AAEO,MAAM,yBAAyB,GAAG,KAAK,EAC1C,WAAwB,EACxB,eAAmE,EACtD,EAAE;IACf,MAAM,QAAQ,GAAG,qBAAqB,CAAA;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAA;IAEvC,KAAK,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,eAAe,EAAE,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;QACrD,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA,CAAC,qBAAqB;IAC1D,CAAC;IACD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;AACzB,CAAC,CAAA;AAZY,QAAA,yBAAyB,6BAYrC;AAEM,MAAM,yBAAyB,GAAG,KAAK,EAC1C,WAAwB,EACxB,eAAyB,EACyB,EAAE;IACpD,MAAM,IAAI,GAA8C,EAAE,CAAA;IAE1D,oFAAoF;IACpF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAA;IACtC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,eAAe,CAAC,CAAA;IAErE,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QAClC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAlBY,QAAA,yBAAyB,6BAkBrC"}
@@ -1,4 +1,4 @@
1
- import { Channel, ChannelModel } from "amqplib";
1
+ import type { Channel, ChannelModel } from "amqplib";
2
2
  export interface QueueConfig {
3
3
  queuePrefix: string;
4
4
  exchange: string;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseQueueManager = void 0;
4
4
  const config_1 = require("../../config");
5
+ const core_1 = require("../../../core");
5
6
  class BaseQueueManager {
6
7
  constructor(config) {
7
8
  this.config = config;
@@ -37,6 +38,7 @@ class BaseQueueManager {
37
38
  queueArguments = {
38
39
  "x-group": exchangeIdentifier, // Enable queue grouping by setting the group ID
39
40
  "x-single-active-consumer": true, // Ensure only one consumer is active at a time within the group
41
+ ...(config_1.LEVR_ENV === core_1.LevrEnv.DEV && { "x-queue-type": "quorum" }),
40
42
  };
41
43
  }
42
44
  const queueName = this.generateQueueName(identifier);
@@ -44,7 +46,7 @@ class BaseQueueManager {
44
46
  await channel.assertQueue(queueName, {
45
47
  durable: true,
46
48
  deadLetterExchange: this.config.deadLetterExchange,
47
- maxPriority: 10,
49
+ // maxPriority: 10, /// Quorum does not support priority queues
48
50
  arguments: queueArguments,
49
51
  });
50
52
  await channel.bindQueue(queueName, exchangeName, this.config.routingKeyPrefix + identifier);
@@ -1 +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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"}
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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"}
@@ -30,7 +30,7 @@ class PresignedUrlService {
30
30
  throw new Error("S3 client not initialized. Call presignedUrlService.init().");
31
31
  }
32
32
  const command = new client_s3_1.GetObjectCommand({
33
- Bucket: "levr-v1-assets-dev",
33
+ Bucket: `levr-v1-assets-${config_1.LEVR_ENV}`,
34
34
  Key: keyId,
35
35
  });
36
36
  const imageUrl = await (0, s3_request_presigner_1.getSignedUrl)(this.s3, command, { expiresIn: 172800 }); // 48 hour expiry
@@ -1 +1 @@
1
- {"version":3,"file":"presigned.urls.js","sourceRoot":"","sources":["../../../src/server/services/presigned.urls.ts"],"names":[],"mappings":";;;AAAA,kDAA+D;AAC/D,wEAA4D;AAC5D,qCAAmC;AACnC,sCAA0C;AAE1C;;GAEG;AACH,MAAM,mBAAmB;IAAzB;QACY,gBAAW,GAAG,KAAK,CAAA;IA8B/B,CAAC;IA3BG,IAAI;QACA,IAAI,IAAI,CAAC,WAAW;YAAE,OAAM;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,GAAG,aAAM,CAAC,IAAI,CAAC,uBAAc,CAAC,CAAA;QAC5F,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAQ,CAAC;YACnB,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE;gBACT,WAAW,EAAE,iBAAiB;gBAC9B,eAAe,EAAE,qBAAqB;aACzC;SACJ,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,KAAa;QACzC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAClF,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACjC,MAAM,EAAE,oBAAoB;YAC5B,GAAG,EAAE,KAAK;SACb,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,mCAAY,EAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA,CAAC,iBAAiB;QAC9F,OAAO,QAAQ,CAAA;IACnB,CAAC;CACJ;AAEY,QAAA,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"presigned.urls.js","sourceRoot":"","sources":["../../../src/server/services/presigned.urls.ts"],"names":[],"mappings":";;;AAAA,kDAA+D;AAC/D,wEAA4D;AAC5D,qCAAmC;AACnC,sCAAoD;AAEpD;;GAEG;AACH,MAAM,mBAAmB;IAAzB;QACY,gBAAW,GAAG,KAAK,CAAA;IA8B/B,CAAC;IA3BG,IAAI;QACA,IAAI,IAAI,CAAC,WAAW;YAAE,OAAM;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,GAAG,aAAM,CAAC,IAAI,CAAC,uBAAc,CAAC,CAAA;QAC5F,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAQ,CAAC;YACnB,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE;gBACT,WAAW,EAAE,iBAAiB;gBAC9B,eAAe,EAAE,qBAAqB;aACzC;SACJ,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,KAAa;QACzC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAClF,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACjC,MAAM,EAAE,kBAAkB,iBAAQ,EAAE;YACpC,GAAG,EAAE,KAAK;SACb,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,mCAAY,EAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA,CAAC,iBAAiB;QAC9F,OAAO,QAAQ,CAAA;IACnB,CAAC;CACJ;AAEY,QAAA,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
@@ -1,6 +1,134 @@
1
+ /**
2
+ * @fileoverview Game progress calculation utilities for various sports.
3
+ * This module provides functions to calculate game progress in basis points (BPS)
4
+ * for different sports including Soccer, Basketball, Football, and Baseball.
5
+ * It supports multiple odds providers (LSports, OpticOdds) with provider-specific
6
+ * period mapping logic.
7
+ * @module game_progress/calculate.game.progress
8
+ */
1
9
  import { SportGroup } from "@prisma/client";
2
10
  import { OddsServices } from "../../../core";
3
- export declare const calculateSoccerProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
4
- export declare const calculateBasketballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
5
- export declare const calculateFootballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
6
- export declare const calculateBaseballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
11
+ /**
12
+ * Calculates the game progress in basis points (BPS) for a given sport.
13
+ * This is the core calculation function used by all sport-specific progress functions.
14
+ *
15
+ * @param currentPeriod - The current period/quarter/half number from the provider
16
+ * @param gameClock - The game clock string (e.g., "12:30", "45:00")
17
+ * @param sportGroup - The sport group enum value (Soccer, Basketball, Football, Baseball)
18
+ * @param provider - The odds service provider (LSports, OpticOdds)
19
+ * @param isTopOfInning - For baseball only: whether it's the top of the inning
20
+ * @param leagueSelector - Optional league identifier for league-specific configurations (e.g., NCAA)
21
+ * @returns The game progress in basis points (0-10000) or null if invalid input
22
+ *
23
+ * @example
24
+ * // Calculate NBA game progress at 5:30 remaining in Q2
25
+ * calculateGameProgress(2, "05:30", SportGroup.Basketball, OddsServices.LSPORTS)
26
+ * // Returns approximately 3125 BPS (31.25% through the game)
27
+ */
28
+ export declare const calculateGameProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices, isTopOfInning?: boolean, leagueSelector?: string) => number | null;
29
+ /**
30
+ * Calculates game progress for Soccer matches in basis points (BPS).
31
+ * Soccer uses 2 x 45 minute halves with a count-up clock.
32
+ *
33
+ * @param currentPeriod - The current half (LSports: 10=1st half, 20=2nd half; OpticOdds: 1 or 2)
34
+ * @param gameClock - The elapsed time in "MM:SS" format (e.g., "32:15")
35
+ * @param provider - The odds service provider
36
+ * @returns Game progress in BPS (0-10000) or null if invalid
37
+ *
38
+ * @example
39
+ * // First half at 30 minutes
40
+ * calculateSoccerProgress(10, "30:00", SportGroup.Soccer, OddsServices.LSPORTS)
41
+ * // Returns ~3333 BPS (33.33% through the game)
42
+ */
43
+ export declare const calculateSoccerProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;
44
+ /**
45
+ * Calculates game progress for Basketball (NBA) matches in basis points (BPS).
46
+ * NBA uses 4 x 12 minute quarters with a countdown clock.
47
+ *
48
+ * @param currentPeriod - The current quarter (1-4)
49
+ * @param gameClock - The time remaining in "MM:SS" format (e.g., "08:45")
50
+ * @param provider - The odds service provider
51
+ * @returns Game progress in BPS (0-10000) or null if invalid
52
+ *
53
+ * @example
54
+ * // Third quarter with 6 minutes remaining
55
+ * calculateBasketballProgress(3, "06:00", SportGroup.Basketball, OddsServices.LSPORTS)
56
+ * // Returns ~6250 BPS (62.5% through the game)
57
+ */
58
+ export declare const calculateBasketballProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;
59
+ /**
60
+ * Calculates game progress for American Football (NFL) matches in basis points (BPS).
61
+ * NFL uses 4 x 15 minute quarters with a countdown clock.
62
+ *
63
+ * @param currentPeriod - The current quarter (1-4)
64
+ * @param gameClock - The time remaining in "MM:SS" format (e.g., "12:30")
65
+ * @param provider - The odds service provider
66
+ * @returns Game progress in BPS (0-10000) or null if invalid
67
+ *
68
+ * @example
69
+ * // Second quarter with 8 minutes remaining
70
+ * calculateFootballProgress(2, "08:00", SportGroup.Football, OddsServices.LSPORTS)
71
+ * // Returns ~3667 BPS (36.67% through the game)
72
+ */
73
+ export declare const calculateFootballProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;
74
+ /**
75
+ * Calculates game progress for Baseball (MLB) matches in basis points (BPS).
76
+ * Baseball uses 9 innings, each with a top and bottom half.
77
+ * Progress is calculated based on completed half-innings.
78
+ *
79
+ * @param currentPeriod - The current inning (1-9)
80
+ * @param isTopOfInning - True if it's the top of the inning (away team batting)
81
+ * @returns Game progress in BPS (0-10000) or null if invalid
82
+ *
83
+ * @example
84
+ * // Top of the 5th inning
85
+ * calculateBaseballProgress(5, true)
86
+ * // Returns ~4444 BPS (44.44% through the game)
87
+ *
88
+ * @example
89
+ * // Bottom of the 7th inning
90
+ * calculateBaseballProgress(7, false)
91
+ * // Returns ~7778 BPS (77.78% through the game)
92
+ */
93
+ export declare const calculateBaseballProgress: (currentPeriod: number, isTopOfInning: boolean) => number | null;
94
+ /**
95
+ * Calculates game progress for NCAA Basketball (NCAAB) matches in basis points (BPS).
96
+ * NCAAB uses 2 x 20 minute halves with a countdown clock (different from NBA's 4 quarters).
97
+ *
98
+ * @param currentPeriod - The current half (LSports: 10=1st half, 20=2nd half; OpticOdds: 1 or 2)
99
+ * @param gameClock - The time remaining
100
+ * @param provider - The odds service provider
101
+ * @returns Game progress in BPS (0-10000) or null if invalid
102
+ *
103
+ * @remarks
104
+ * - LSports uses period codes 10 and 20 for 1st and 2nd halves respectively
105
+ * - OpticOdds uses standard 1 and 2 for halves
106
+ * - Total game duration: 40 minutes (2 x 20 min halves)
107
+ *
108
+ * @example
109
+ * // First half with 10 minutes remaining (LSports)
110
+ * calculateNCAABProgress(10, "10:00", OddsServices.LSPORTS)
111
+ * // Returns ~2500 BPS (25% through the game)
112
+ */
113
+ export declare const calculateNCAABProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;
114
+ /**
115
+ * Calculates game progress for NCAA Football (NCAAF) matches in basis points (BPS).
116
+ * NCAAF uses 2 x 30 minute halves (equivalent to 4 x 15 min quarters) with a countdown clock.
117
+ *
118
+ * @param currentPeriod - The current half (LSports: 10=1st half, 20=2nd half; OpticOdds: 1 or 2)
119
+ * @param gameClock - The time remaining in "MM:SS" format (e.g., "25:00")
120
+ * @param provider - The odds service provider
121
+ * @returns Game progress in BPS (0-10000) or null if invalid
122
+ *
123
+ * @remarks
124
+ * - LSports uses period codes 10 and 20 for 1st and 2nd halves respectively
125
+ * - OpticOdds uses standard 1 and 2 for halves
126
+ * - Total game duration: 60 minutes (2 x 30 min halves)
127
+ * - Quarters are grouped into halves for period tracking
128
+ *
129
+ * @example
130
+ * // First half with 20 minutes remaining (LSports)
131
+ * calculateNCAAFProgress(10, "20:00", OddsServices.LSPORTS)
132
+ * // Returns ~1667 BPS (16.67% through the game)
133
+ */
134
+ export declare const calculateNCAAFProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;