shufflecom-calculations 2.2.32 → 2.3.1

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 +1 @@
1
- {"version":3,"file":"calculate-sports-payout-odds.js","sourceRoot":"","sources":["../../src/utils/calculate-sports-payout-odds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculate-sports-payout-odds.js","sourceRoot":"","sources":["../../src/utils/calculate-sports-payout-odds.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,7 @@ export interface SportsBetInterface {
101
101
  status: SportsBetStatus;
102
102
  }
103
103
  export interface SportsBetSelectionInterface {
104
+ id: string;
104
105
  marketSelectionId: string;
105
106
  status: SportsBetSelectionStatus;
106
107
  oddsNumerator: BigNumber;
@@ -190,6 +191,7 @@ export declare class EventOddsUpdate {
190
191
  messageTime: Date;
191
192
  publishedAt: Date;
192
193
  }
194
+ export declare const SportsBetVoidedStatuses: SportsBetSelectionStatus[];
193
195
  export declare enum Language {
194
196
  en = "en",
195
197
  fr = "fr",
@@ -633,6 +635,5 @@ export declare class SportsCategoryInfo {
633
635
  export declare enum CustomSportsBetValidationErrors {
634
636
  MAX_SELECTIONS_PER_BET_EXCEEDED = "MAX_SELECTIONS_PER_BET_EXCEEDED",
635
637
  COMBINATIONS_ACROSS_MATCHES_EXCEEDED = "COMBINATIONS_ACROSS_MATCHES_EXCEEDED",
636
- MULTIPLE_LEGS_IN_SAME_MARKET_NOT_SUPPORTED = "MULTIPLE_LEGS_IN_SAME_MARKET_NOT_SUPPORTED",
637
638
  SAME_SELECTION_ID_NOT_ALLOWED = "SAME_SELECTION_ID_NOT_ALLOWED"
638
639
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SportsCategoryInfo = exports.SportsCompetitionInfo = exports.SportsDefaultMarketInfo = exports.OddinProduct = exports.BetradarProduct = exports.SportsMarketSubInfo = exports.SportsMarketInfo = exports.SportsNewMarketOddsUpdate = exports.SelectionInfo = exports.SelectionInfoVariantKey = exports.PlayerMarket = exports.SelectionGroup = exports.DisplayGroup = exports.DefaultDisplayGroup = exports.BaseDisplayGroup = exports.MarketInfoVariantKey = exports.MarketLayout = exports.SportsMarketGroup = exports.SportsGroupedSelectionsDisplayType = exports.SportsMatchStateUpdatedPayloadType = exports.MatchSummary = exports.SportsMatchStatistics = exports.SportsMatchStatisticCount = exports.MatchStatusParts = exports.SportsMatchPhaseSummary = exports.Sports = exports.SportsMatchPhaseHomeAway = exports.EventState = exports.SportsMatchPhase = exports.SportsMatchPhaseWinner = exports.Language = exports.EventOddsUpdate = exports.SportsMarketOddsUpdate = exports.SportsMarketOddsBase = exports.SportsMarketSelectionOddsUpdate = exports.BetradarOutcomeResult = exports.OutcomeResult = exports.SportsBetTournamentType = exports.SportsMarketSelectionTeam = exports.SportsFixtureBannerType = exports.SportsBetSelectionStatus = exports.SportsBetType = exports.SportsBetStatus = exports.SportsMarketSelectionResultStatus = exports.SportsMarketSelectionStatus = exports.SportsMarketCashoutStatus = exports.SportsMarketStatus = exports.SportsFixtureStatus = exports.SportsMarketDisplayType = exports.SportsMarketProvider = void 0;
4
- exports.CustomSportsBetValidationErrors = void 0;
3
+ exports.SportsCompetitionInfo = exports.SportsDefaultMarketInfo = exports.OddinProduct = exports.BetradarProduct = exports.SportsMarketSubInfo = exports.SportsMarketInfo = exports.SportsNewMarketOddsUpdate = exports.SelectionInfo = exports.SelectionInfoVariantKey = exports.PlayerMarket = exports.SelectionGroup = exports.DisplayGroup = exports.DefaultDisplayGroup = exports.BaseDisplayGroup = exports.MarketInfoVariantKey = exports.MarketLayout = exports.SportsMarketGroup = exports.SportsGroupedSelectionsDisplayType = exports.SportsMatchStateUpdatedPayloadType = exports.MatchSummary = exports.SportsMatchStatistics = exports.SportsMatchStatisticCount = exports.MatchStatusParts = exports.SportsMatchPhaseSummary = exports.Sports = exports.SportsMatchPhaseHomeAway = exports.EventState = exports.SportsMatchPhase = exports.SportsMatchPhaseWinner = exports.Language = exports.SportsBetVoidedStatuses = exports.EventOddsUpdate = exports.SportsMarketOddsUpdate = exports.SportsMarketOddsBase = exports.SportsMarketSelectionOddsUpdate = exports.BetradarOutcomeResult = exports.OutcomeResult = exports.SportsBetTournamentType = exports.SportsMarketSelectionTeam = exports.SportsFixtureBannerType = exports.SportsBetSelectionStatus = exports.SportsBetType = exports.SportsBetStatus = exports.SportsMarketSelectionResultStatus = exports.SportsMarketSelectionStatus = exports.SportsMarketCashoutStatus = exports.SportsMarketStatus = exports.SportsFixtureStatus = exports.SportsMarketDisplayType = exports.SportsMarketProvider = void 0;
4
+ exports.CustomSportsBetValidationErrors = exports.SportsCategoryInfo = void 0;
5
5
  var SportsMarketProvider;
6
6
  (function (SportsMarketProvider) {
7
7
  SportsMarketProvider["SHUFFLE"] = "SHUFFLE";
@@ -135,6 +135,7 @@ exports.SportsMarketOddsUpdate = SportsMarketOddsUpdate;
135
135
  class EventOddsUpdate {
136
136
  }
137
137
  exports.EventOddsUpdate = EventOddsUpdate;
138
+ exports.SportsBetVoidedStatuses = [SportsBetSelectionStatus.VOIDED, SportsBetSelectionStatus.PROVIDER_VOIDED];
138
139
  var Language;
139
140
  (function (Language) {
140
141
  Language["en"] = "en";
@@ -502,7 +503,6 @@ var CustomSportsBetValidationErrors;
502
503
  (function (CustomSportsBetValidationErrors) {
503
504
  CustomSportsBetValidationErrors["MAX_SELECTIONS_PER_BET_EXCEEDED"] = "MAX_SELECTIONS_PER_BET_EXCEEDED";
504
505
  CustomSportsBetValidationErrors["COMBINATIONS_ACROSS_MATCHES_EXCEEDED"] = "COMBINATIONS_ACROSS_MATCHES_EXCEEDED";
505
- CustomSportsBetValidationErrors["MULTIPLE_LEGS_IN_SAME_MARKET_NOT_SUPPORTED"] = "MULTIPLE_LEGS_IN_SAME_MARKET_NOT_SUPPORTED";
506
506
  CustomSportsBetValidationErrors["SAME_SELECTION_ID_NOT_ALLOWED"] = "SAME_SELECTION_ID_NOT_ALLOWED";
507
507
  })(CustomSportsBetValidationErrors || (exports.CustomSportsBetValidationErrors = CustomSportsBetValidationErrors = {}));
508
508
  //# sourceMappingURL=sports.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sports.types.js","sourceRoot":"","sources":["../../src/utils/sports.types.ts"],"names":[],"mappings":";;;;AAEA,IAAY,oBASX;AATD,WAAY,oBAAoB;IAC9B,2CAAmB,CAAA;IACnB,uCAAe,CAAA;IACf,6CAAqB,CAAA;IAKrB,yCAAiB,CAAA;AACnB,CAAC,EATW,oBAAoB,oCAApB,oBAAoB,QAS/B;AAED,IAAY,uBAkBX;AAlBD,WAAY,uBAAuB;IACjC,wCAAa,CAAA;IACb,0DAA+B,CAAA;IAC/B,0CAAe,CAAA;IACf,4DAAiC,CAAA;IACjC,8DAAmC,CAAA;IACnC,0DAA+B,CAAA;IAC/B,sDAA2B,CAAA;IAC3B,wDAA6B,CAAA;IAC7B,4DAAiC,CAAA;IACjC,8FAAmE,CAAA;IACnE,4EAAiD,CAAA;IACjD,kEAAuC,CAAA;IACvC,sDAA2B,CAAA;IAC3B,0DAA+B,CAAA;IAC/B,sDAA2B,CAAA;IAC3B,4CAAiB,CAAA;IACjB,gDAAqB,CAAA;AACvB,CAAC,EAlBW,uBAAuB,uCAAvB,uBAAuB,QAkBlC;AAED,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAI7B,8CAAuB,CAAA;IACvB,4CAAqB,CAAA;IACrB,oCAAa,CAAA;IACb,8CAAuB,CAAA;IACvB,sCAAe,CAAA;IACf,0CAAmB,CAAA;AACrB,CAAC,EAVW,mBAAmB,mCAAnB,mBAAmB,QAU9B;AAED,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,iDAA2B,CAAA;IAC3B,6CAAuB,CAAA;AACzB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,0CAAa,CAAA;IACb,8CAAiB,CAAA;IACjB,oDAAuB,CAAA;AACzB,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC;AAED,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,kDAAmB,CAAA;IACnB,sDAAuB,CAAA;IACvB,oDAAqB,CAAA;IACrB,0DAA2B,CAAA;AAC7B,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC;AAED,IAAY,iCAMX;AAND,WAAY,iCAAiC;IAC3C,oDAAe,CAAA;IACf,sDAAiB,CAAA;IACjB,wDAAmB,CAAA;IACnB,sDAAiB,CAAA;IACjB,sDAAiB,CAAA;AACnB,CAAC,EANW,iCAAiC,iDAAjC,iCAAiC,QAM5C;AAED,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,8BAAW,CAAA;IACX,gCAAa,CAAA;IACb,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;IACzB,oCAAiB,CAAA;AACnB,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AAED,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,0CAAyB,CAAA;IACzB,4BAAW,CAAA;AACb,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAED,IAAY,wBAWX;AAXD,WAAY,wBAAwB;IAClC,+CAAmB,CAAA;IACnB,yCAAa,CAAA;IACb,uCAAW,CAAA;IACX,6CAAiB,CAAA;IACjB,qDAAyB,CAAA;IACzB,6CAAiB,CAAA;IACjB,+DAAmC,CAAA;IACnC,+CAAmB,CAAA;IAEnB,6CAAiB,CAAA;AACnB,CAAC,EAXW,wBAAwB,wCAAxB,wBAAwB,QAWnC;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,gEAAqC,CAAA;IACrC,oEAAyC,CAAA;AAC3C,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC;AAED,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,0CAAa,CAAA;IACb,0CAAa,CAAA;AACf,CAAC,EAHW,yBAAyB,yCAAzB,yBAAyB,QAGpC;AAED,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,0CAAe,CAAA;IACf,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;AAC3B,CAAC,EALW,uBAAuB,uCAAvB,uBAAuB,QAKlC;AAqED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,6BAAY,CAAA;AACd,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,qCAAY,CAAA;AACd,CAAC,EAHW,qBAAqB,qCAArB,qBAAqB,QAGhC;AAED,MAAa,+BAA+B;CAY3C;AAZD,0EAYC;AAED,MAAa,oBAAoB;CAOhC;AAPD,oDAOC;AAED,MAAa,sBAAuB,SAAQ,oBAAoB;CAE/D;AAFD,wDAEC;AAED,MAAa,eAAe;CAM3B;AAND,0CAMC;AAID,IAAY,QAoBX;AApBD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;AACX,CAAC,EApBW,QAAQ,wBAAR,QAAQ,QAoBnB;AAED,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,uCAAa,CAAA;AACf,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAED,IAAY,gBAyEX;AAzED,WAAY,gBAAgB;IAE1B,uCAAmB,CAAA;IACnB,iDAA6B,CAAA;IAC7B,+DAA2C,CAAA;IAC3C,mDAA+B,CAAA;IAC/B,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;IACrB,iDAA6B,CAAA;IAC7B,+DAA2C,CAAA;IAC3C,mDAA+B,CAAA;IAC/B,6CAAyB,CAAA;IACzB,qDAAiC,CAAA;IACjC,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,mDAA+B,CAAA;IAG/B,yCAAqB,CAAA;IACrB,6DAAyC,CAAA;IACzC,6DAAyC,CAAA;IACzC,2DAAuC,CAAA;IACvC,+DAA2C,CAAA;IAC3C,2DAAuC,CAAA;IACvC,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,qDAAiC,CAAA;IAGjC,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IAGvB,+CAA2B,CAAA;IAC3B,yDAAqC,CAAA;IACrC,iDAA6B,CAAA;IAC7B,2DAAuC,CAAA;IACvC,+CAA2B,CAAA;IAC3B,yDAAqC,CAAA;IACrC,qDAAiC,CAAA;IACjC,+DAA2C,CAAA;IAC3C,uDAAmC,CAAA;IAGnC,qCAAiB,CAAA;IACjB,+CAA2B,CAAA;IAC3B,2CAAuB,CAAA;IAGvB,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;IAC7B,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;IAC7B,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,+CAA2B,CAAA;AAC7B,CAAC,EAzEW,gBAAgB,gCAAhB,gBAAgB,QAyE3B;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;AACvB,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AAED,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,yCAAa,CAAA;AACf,CAAC,EAHW,wBAAwB,wCAAxB,wBAAwB,QAGnC;AAED,IAAY,MAiEX;AAjED,WAAY,MAAM;IAEhB,iDAAuC,CAAA;IACvC,iCAAuB,CAAA;IACvB,+BAAqB,CAAA;IACrB,mCAAyB,CAAA;IACzB,yBAAe,CAAA;IACf,mCAAyB,CAAA;IACzB,2BAAiB,CAAA;IACjB,2BAAiB,CAAA;IACjB,6BAAmB,CAAA;IACnB,qBAAW,CAAA;IACX,2BAAiB,CAAA;IACjB,uCAA6B,CAAA;IAC7B,uBAAa,CAAA;IACb,qCAA2B,CAAA;IAC3B,mCAAyB,CAAA;IACzB,6BAAmB,CAAA;IACnB,qCAA2B,CAAA;IAC3B,2BAAiB,CAAA;IACjB,+BAAqB,CAAA;IACrB,2BAAiB,CAAA;IACjB,iCAAuB,CAAA;IACvB,mBAAS,CAAA;IACT,mEAAyD,CAAA;IACzD,yDAA+C,CAAA;IAC/C,iDAAuC,CAAA;IACvC,+CAAqC,CAAA;IACrC,uCAA6B,CAAA;IAI7B,qBAAW,CAAA;IACX,iCAAuB,CAAA;IACvB,qCAA2B,CAAA;IAC3B,yCAA+B,CAAA;IAC/B,6CAAmC,CAAA;IACnC,qBAAW,CAAA;IACX,yBAAe,CAAA;IACf,iCAAuB,CAAA;IACvB,qBAAW,CAAA;IACX,qBAAW,CAAA;IACX,uCAA6B,CAAA;IAC7B,+BAAqB,CAAA;IACrB,qBAAW,CAAA;IACX,qBAAW,CAAA;IACX,mBAAS,CAAA;IACT,mBAAS,CAAA;IACT,uBAAa,CAAA;IACb,mBAAS,CAAA;IACT,qBAAW,CAAA;IACX,qBAAW,CAAA;IACX,mBAAS,CAAA;IACT,+BAAqB,CAAA;IACrB,iCAAuB,CAAA;IACvB,qCAA2B,CAAA;IAG3B,qCAA2B,CAAA;IAC3B,+BAAqB,CAAA;IACrB,uBAAa,CAAA;IACb,uBAAa,CAAA;IACb,yBAAe,CAAA;IACf,qCAA2B,CAAA;IAC3B,qBAAW,CAAA;AACb,CAAC,EAjEW,MAAM,sBAAN,MAAM,QAiEjB;AAID,MAAa,uBAAuB;CASnC;AATD,0DASC;AAED,MAAa,gBAAgB;CAK5B;AALD,4CAKC;AAED,MAAa,yBAAyB;CAGrC;AAHD,8DAGC;AAED,MAAa,qBAAqB;CAMjC;AAND,sDAMC;AAED,MAAa,YAAY;CAiBxB;AAjBD,oCAiBC;AAED,MAAa,kCAAkC;CAK9C;AALD,gFAKC;AAED,IAAY,kCAIX;AAJD,WAAY,kCAAkC;IAC5C,yDAAmB,CAAA;IACnB,uDAAiB,CAAA;IACjB,mEAA6B,CAAA;AAC/B,CAAC,EAJW,kCAAkC,kDAAlC,kCAAkC,QAI7C;AAED,IAAY,iBAmHX;AAnHD,WAAY,iBAAiB;IAC3B,wDAAmC,CAAA;IACnC,gDAA2B,CAAA;IAC3B,8DAAyC,CAAA;IACzC,gEAA2C,CAAA;IAC3C,oEAA+C,CAAA;IAC/C,sEAAiD,CAAA;IACjD,oEAA+C,CAAA;IAC/C,sEAAiD,CAAA;IACjD,wDAAmC,CAAA;IACnC,kEAA6C,CAAA;IAC7C,oEAA+C,CAAA;IAC/C,kEAA6C,CAAA;IAC7C,gDAA2B,CAAA;IAC3B,0DAAqC,CAAA;IACrC,wEAAmD,CAAA;IACnD,oDAA+B,CAAA;IAC/B,8DAAyC,CAAA;IACzC,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAC/C,gEAA2C,CAAA;IAC3C,wDAAmC,CAAA;IACnC,wDAAmC,CAAA;IACnC,kDAA6B,CAAA;IAC7B,8DAAyC,CAAA;IACzC,oEAA+C,CAAA;IAC/C,4DAAuC,CAAA;IACvC,sEAAiD,CAAA;IACjD,sDAAiC,CAAA;IACjC,gEAA2C,CAAA;IAC3C,oDAA+B,CAAA;IAE/B,4DAAuC,CAAA;IACvC,oEAA+C,CAAA;IAC/C,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,oDAA+B,CAAA;IAC/B,wDAAmC,CAAA;IACnC,4DAAuC,CAAA;IACvC,0DAAqC,CAAA;IACrC,wDAAmC,CAAA;IACnC,oDAA+B,CAAA;IAC/B,wEAAmD,CAAA;IACnD,kDAA6B,CAAA;IAC7B,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sEAAiD,CAAA;IACjD,oDAA+B,CAAA;IAC/B,4DAAuC,CAAA;IACvC,sDAAiC,CAAA;IACjC,0DAAqC,CAAA;IACrC,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,sDAAiC,CAAA;IACjC,wDAAmC,CAAA;IACnC,sDAAiC,CAAA;IACjC,oDAA+B,CAAA;IAC/B,kEAA6C,CAAA;IAC7C,gDAA2B,CAAA;IAC3B,4DAAuC,CAAA;IACvC,gDAA2B,CAAA;IAC3B,kDAA6B,CAAA;IAC7B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,wDAAmC,CAAA;IACnC,gDAA2B,CAAA;IAC3B,4EAAuD,CAAA;IACvD,gEAA2C,CAAA;IAC3C,wDAAmC,CAAA;IAGnC,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,0FAAqE,CAAA;IACrE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,oJAA+H,CAAA;IAC/H,kKAA6I,CAAA;IAC7I,8EAAyD,CAAA;IACzD,kFAA6D,CAAA;AAC/D,CAAC,EAnHW,iBAAiB,iCAAjB,iBAAiB,QAmH5B;AAED,MAAa,YAAY;CAGxB;AAHD,oCAGC;AAED,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,mCAAW,CAAA;AACb,CAAC,EAFW,oBAAoB,oCAApB,oBAAoB,QAE/B;AAID,MAAa,gBAAgB;CAS5B;AATD,4CASC;AAED,MAAa,mBAAoB,SAAQ,gBAAgB;CAGxD;AAHD,kDAGC;AAED,MAAa,YAAa,SAAQ,gBAAgB;CAKjD;AALD,oCAKC;AAED,MAAa,cAAc;CAO1B;AAPD,wCAOC;AAED,MAAa,YAAY;CAIxB;AAJD,oCAIC;AAED,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,wCAAa,CAAA;IACb,2CAAgB,CAAA;IAChB,0CAAe,CAAA;AACjB,CAAC,EAJW,uBAAuB,uCAAvB,uBAAuB,QAIlC;AAcD,MAAa,aAAa;CAYzB;AAZD,sCAYC;AAED,MAAa,yBAA0B,SAAQ,oBAAoB;CAElE;AAFD,8DAEC;AAED,MAAa,gBAAgB;CAI5B;AAJD,4CAIC;AAED,MAAa,mBAAoB,SAAQ,gBAAgB;CAGxD;AAHD,kDAGC;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,6BAAU,CAAA;IACV,gCAAa,CAAA;IACb,wCAAqB,CAAA;AACvB,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,0BAAU,CAAA;AACZ,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAID,MAAa,uBAAuB;CAGnC;AAHD,0DAGC;AAED,MAAa,qBAAqB;CAOjC;AAPD,sDAOC;AAED,MAAa,kBAAkB;CAS9B;AATD,gDASC;AAED,IAAY,+BAKX;AALD,WAAY,+BAA+B;IACzC,sGAAmE,CAAA;IACnE,gHAA6E,CAAA;IAC7E,4HAAyF,CAAA;IACzF,kGAA+D,CAAA;AACjE,CAAC,EALW,+BAA+B,+CAA/B,+BAA+B,QAK1C"}
1
+ {"version":3,"file":"sports.types.js","sourceRoot":"","sources":["../../src/utils/sports.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shufflecom-calculations",
3
- "version": "2.2.32",
3
+ "version": "2.3.1",
4
4
  "description": "",
5
5
  "types": "lib/index.d.ts",
6
6
  "main": "lib/index.js",
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "author": "",
16
16
  "license": "ISC",
17
- "gitHead": "7df79f5b309a3e52bcb255c2341cda860b8644c2"
17
+ "gitHead": "97d2ac09d980250f1a2110e336448e8bc0c23ad7"
18
18
  }
@@ -0,0 +1,102 @@
1
+ import { Chicken, ChickenDifficulty } from './chicken';
2
+ import { GameCalculation } from './gameCalculation';
3
+
4
+ const edgeBps = 200;
5
+
6
+ const resultMultipliers = {
7
+ [ChickenDifficulty.EASY]: [1.03, 1.09, 1.15, 1.23, 1.31, 1.4, 1.51, 1.63, 1.78, 1.96, 2.18, 2.45, 2.8, 3.27, 3.92, 4.9, 6.53, 9.8, 19.6],
8
+ [ChickenDifficulty.MEDIUM]: [1.15, 1.37, 1.64, 2.0, 2.46, 3.07, 3.91, 5.08, 6.77, 9.31, 13.3, 19.95, 31.92, 55.86, 111.72, 279.3, 1117.2],
9
+ [ChickenDifficulty.HARD]: [1.31, 1.77, 2.46, 3.48, 5.06, 7.59, 11.81, 19.18, 32.89, 60.29, 120.59, 271.32, 723.52, 2532.32, 15193.92],
10
+ [ChickenDifficulty.EXPERT]: [1.96, 4.14, 9.31, 22.61, 60.29, 180.88, 633.08, 2743.35, 16460.08, 181060.88],
11
+ };
12
+
13
+ describe('Chicken', () => {
14
+ it('should calculate the correct multiplier', () => {
15
+ Object.keys(resultMultipliers).forEach(difficulty => {
16
+ const multiplierArr = resultMultipliers[difficulty as ChickenDifficulty];
17
+ multiplierArr.forEach((multiplier, index) => {
18
+ expect(Chicken.calculateMultiplierBN(difficulty as ChickenDifficulty, index, edgeBps).toFixed(2)).toBe(multiplier.toFixed(2));
19
+ });
20
+ });
21
+ });
22
+
23
+ it('chicken provably fair', () => {
24
+ const gameSeeds = [
25
+ {
26
+ serverSeed: 'da5a4cd5eca04d91d36569207265bd79d2989a19378eea897399755f2c9b83e6',
27
+ clientSeed: '7qkHqOhx-F',
28
+ nonce: '1',
29
+ rounds: Chicken.DIFFICULTY_TO_HEX_ROUNDS[ChickenDifficulty.EASY],
30
+ difficulty: ChickenDifficulty.EASY,
31
+ results: [1],
32
+ },
33
+ {
34
+ serverSeed: 'db9e7314084e5dd9335424abccd3277903e238d0160b82ea8b82439e1935c202',
35
+ clientSeed: '7bsnudbuu5',
36
+ nonce: '6',
37
+ rounds: Chicken.DIFFICULTY_TO_HEX_ROUNDS[ChickenDifficulty.EASY],
38
+ difficulty: ChickenDifficulty.EASY,
39
+ results: [8],
40
+ },
41
+ {
42
+ serverSeed: '779ddeb1e84ef941e25f495cd2d5a011b3be8a8024192a276d332aad5925175f',
43
+ clientSeed: '92p9csrt50',
44
+ nonce: '13',
45
+ rounds: Chicken.DIFFICULTY_TO_HEX_ROUNDS[ChickenDifficulty.MEDIUM],
46
+ difficulty: ChickenDifficulty.MEDIUM,
47
+ results: [16, 19, 17],
48
+ },
49
+ {
50
+ serverSeed: 'ebd3ff712ee7ed3cabe3753146f95847b017f847758ed254c531ff0d45686cea',
51
+ clientSeed: 'pf4jl5q97q',
52
+ nonce: '13',
53
+ rounds: Chicken.DIFFICULTY_TO_HEX_ROUNDS[ChickenDifficulty.MEDIUM],
54
+ difficulty: ChickenDifficulty.MEDIUM,
55
+ results: [9, 3, 13],
56
+ },
57
+ {
58
+ serverSeed: 'da5a4cd5eca04d91d36569207265bd79d2989a19378eea897399755f2c9b83e6',
59
+ clientSeed: '7qkHqOhxLF',
60
+ nonce: '27',
61
+ rounds: Chicken.DIFFICULTY_TO_HEX_ROUNDS[ChickenDifficulty.HARD],
62
+ difficulty: ChickenDifficulty.HARD,
63
+ results: [12, 0, 14, 17, 18],
64
+ },
65
+ {
66
+ serverSeed: '9b0499f7abbebf3ea889e3f958d1bc2d77c514792143d07dc66378711f7eb313',
67
+ clientSeed: '92p9csrt50',
68
+ nonce: '30',
69
+ rounds: Chicken.DIFFICULTY_TO_HEX_ROUNDS[ChickenDifficulty.HARD],
70
+ difficulty: ChickenDifficulty.HARD,
71
+ results: [9, 18, 16, 13, 7],
72
+ },
73
+ {
74
+ serverSeed: '9b0499f7abbebf3ea889e3f958d1bc2d77c514792143d07dc66378711f7eb313',
75
+ clientSeed: '7bsnudbuu5',
76
+ nonce: '35',
77
+ rounds: Chicken.DIFFICULTY_TO_HEX_ROUNDS[ChickenDifficulty.EXPERT],
78
+ difficulty: ChickenDifficulty.EXPERT,
79
+ results: [12, 10, 18, 14, 11, 6, 13, 15, 3, 9],
80
+ },
81
+ {
82
+ serverSeed: '779ddeb1e84ef941e25f495cd2d5a011b3be8a8024192a276d332aad5925175f',
83
+ clientSeed: 'pf4jl5q97q',
84
+ nonce: '40',
85
+ rounds: Chicken.DIFFICULTY_TO_HEX_ROUNDS[ChickenDifficulty.EXPERT],
86
+ difficulty: ChickenDifficulty.EXPERT,
87
+ results: [5, 2, 10, 18, 3, 7, 12, 19, 11, 14],
88
+ },
89
+ ];
90
+
91
+ gameSeeds.forEach(e => {
92
+ const resultHex = GameCalculation.generateDigestHex({
93
+ serverSeed: e.serverSeed,
94
+ clientSeed: e.clientSeed,
95
+ nonce: e.nonce,
96
+ rounds: e.rounds,
97
+ });
98
+ const results = Chicken.getResults(resultHex, e.difficulty);
99
+ expect(results).toEqual(e.results);
100
+ });
101
+ });
102
+ });
@@ -0,0 +1,59 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { calculateEdgeMultiplier } from '../utils/edge';
3
+ import { nCr } from '../utils/ncr';
4
+ import { GameCalculation } from './gameCalculation';
5
+
6
+ export enum ChickenDifficulty {
7
+ EASY = 'EASY',
8
+ MEDIUM = 'MEDIUM',
9
+ HARD = 'HARD',
10
+ EXPERT = 'EXPERT',
11
+ }
12
+
13
+ export class Chicken extends GameCalculation {
14
+ static readonly TOTAL_LANES = 20;
15
+
16
+ static readonly DIFFICULTY_TO_VALID_LANE_COUNT: Record<ChickenDifficulty, number> = {
17
+ [ChickenDifficulty.EASY]: 19,
18
+ [ChickenDifficulty.MEDIUM]: 17,
19
+ [ChickenDifficulty.HARD]: 15,
20
+ [ChickenDifficulty.EXPERT]: 10,
21
+ };
22
+
23
+ static readonly DIFFICULTY_TO_HEX_ROUNDS: Record<ChickenDifficulty, number> = {
24
+ [ChickenDifficulty.EASY]: 1,
25
+ [ChickenDifficulty.MEDIUM]: 1,
26
+ [ChickenDifficulty.HARD]: 1,
27
+ [ChickenDifficulty.EXPERT]: 2,
28
+ };
29
+
30
+ static getResults(hexStr: string[], difficulty: ChickenDifficulty): number[] {
31
+ const losingLaneCount = this.TOTAL_LANES - this.DIFFICULTY_TO_VALID_LANE_COUNT[difficulty];
32
+
33
+ return this.pickUniqueNumbers(hexStr, losingLaneCount, this.TOTAL_LANES);
34
+ }
35
+
36
+ static calculateWinChanceBN(difficulty: ChickenDifficulty, selectedLane: number): BigNumber {
37
+ const validLanes = this.DIFFICULTY_TO_VALID_LANE_COUNT[difficulty];
38
+ const selectedLaneCount = selectedLane + 1; // selectedLane is 0-indexed
39
+
40
+ return nCr(validLanes, selectedLaneCount).dividedBy(nCr(this.TOTAL_LANES, selectedLaneCount));
41
+ }
42
+
43
+ static calculateMultiplierBN(difficulty: ChickenDifficulty, selectedLane: number, edgeBps: number): BigNumber {
44
+ const winChance = this.calculateWinChanceBN(difficulty, selectedLane);
45
+
46
+ return calculateEdgeMultiplier(edgeBps).div(winChance);
47
+ }
48
+
49
+ static firstDeathLane(results: number[]): number {
50
+ if (results.length === 0) {
51
+ throw new Error('Results array is empty, cannot determine first death lane.');
52
+ }
53
+ return Math.min(...results);
54
+ }
55
+
56
+ static isLoss(results: number[], selected: number): boolean {
57
+ return selected >= this.firstDeathLane(results);
58
+ }
59
+ }
@@ -0,0 +1,153 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { hexToBytes } from '../utils/hex-to-bytes';
3
+ import { createHmac } from 'crypto';
4
+
5
+ export abstract class GameCalculation {
6
+ private static readonly BYTE_TOTAL = new BigNumber(256);
7
+ private static readonly BYTES_PER_HEX_STRING = 32;
8
+ private static readonly BYTES_PER_RANDOM_NUMBER = 4;
9
+ private static readonly NUMBERS_PER_HEX_STRING = 8;
10
+
11
+ /**
12
+ * Convert 4 consecutive bytes to a probability in [0, 1)
13
+ * This is the foundation of all randomness
14
+ *
15
+ * @param byteArray - The full byte array (Uint8Array)
16
+ * @param startIndex - Starting position to read 4 bytes from
17
+ * @returns A probability value between 0 (inclusive) and 1 (exclusive)
18
+ */
19
+ private static bytesToProbability(byteArray: Uint8Array, startIndex: number): BigNumber {
20
+ let probability = new BigNumber(0);
21
+
22
+ // Read 4 consecutive bytes starting at startIndex
23
+ for (let i = 0; i < this.BYTES_PER_RANDOM_NUMBER; i++) {
24
+ const byteValue = byteArray[startIndex + i];
25
+ probability = probability.plus(new BigNumber(byteValue).dividedBy(this.BYTE_TOTAL.pow(i + 1)));
26
+ }
27
+
28
+ return probability;
29
+ }
30
+
31
+ /**
32
+ * Generate a random integer in range [0, maxValue)
33
+ *
34
+ * @param byteArray - The full byte array
35
+ * @param startIndex - Starting position to read 4 bytes from
36
+ * @param maxValue - Upper bound (exclusive)
37
+ * @returns Random integer in [0, maxValue)
38
+ */
39
+ private static getRandomInt(byteArray: Uint8Array, startIndex: number, maxValue: number): number {
40
+ const probability = this.bytesToProbability(byteArray, startIndex);
41
+ return probability.multipliedBy(maxValue).integerValue(BigNumber.ROUND_DOWN).toNumber();
42
+ }
43
+
44
+ /**
45
+ * Pick N unique numbers from a pool (Fisher-Yates shuffle / sampling without replacement)
46
+ *
47
+ * How it works:
48
+ * 1. Start with pool: [0, 1, 2, ..., poolSize-1]
49
+ * 2. Generate random position in remaining pool
50
+ * 3. Pick number at that position and REMOVE it from pool
51
+ * 4. Repeat until we have N unique numbers
52
+ *
53
+ * @param hexStrings - Array of hex strings for randomness
54
+ * @param count - How many unique numbers to pick
55
+ * @param poolSize - Size of the pool to pick from (0 to poolSize-1)
56
+ * @returns Array of unique numbers
57
+ */
58
+ static pickUniqueNumbers(hexStrings: string[], count: number, poolSize: number): number[] {
59
+ const bytesAvailable = hexStrings.length * this.BYTES_PER_HEX_STRING;
60
+ const bytesNeeded = count * this.BYTES_PER_RANDOM_NUMBER;
61
+ if (bytesAvailable < bytesNeeded) {
62
+ throw new Error(`Not enough randomness: need ${bytesNeeded} bytes for ${count} numbers, only have ${bytesAvailable} bytes`);
63
+ }
64
+
65
+ const results: number[] = [];
66
+ const pool = Array.from({ length: poolSize }, (_, i) => i);
67
+
68
+ const byteArrays = hexStrings.map(hexToBytes);
69
+
70
+ for (let hexIndex = 0; hexIndex < byteArrays.length; hexIndex++) {
71
+ const byteArray = byteArrays[hexIndex];
72
+
73
+ // Each hex string can generate up to 8 numbers (32 bytes / 4 bytes per number)
74
+ for (let numberIndex = 0; numberIndex < this.NUMBERS_PER_HEX_STRING; numberIndex++) {
75
+ if (results.length >= count) {
76
+ return results;
77
+ }
78
+
79
+ const byteOffset = numberIndex * this.BYTES_PER_RANDOM_NUMBER;
80
+ const remainingPoolSize = pool.length;
81
+ const randomPosition = this.getRandomInt(byteArray, byteOffset, remainingPoolSize);
82
+
83
+ const pickedNumber = pool.splice(randomPosition, 1)[0];
84
+ results.push(pickedNumber);
85
+ }
86
+ }
87
+
88
+ return results;
89
+ }
90
+
91
+ /**
92
+ * Generate N independent random numbers (duplicates allowed)
93
+ *
94
+ * Each number is generated independently - the pool doesn't shrink.
95
+ * Same number can appear multiple times.
96
+ *
97
+ *
98
+ * @param hexStrings - Array of hex strings for randomness
99
+ * @param count - How many random numbers to generate
100
+ * @param maxValue - Upper bound (exclusive) for each number
101
+ * @returns Array of random numbers (may contain duplicates)
102
+ */
103
+ static generateIndependentNumbers(hexStrings: string[], count: number, maxValue: number): number[] {
104
+ const bytesAvailable = hexStrings.length * this.BYTES_PER_HEX_STRING;
105
+ const bytesNeeded = count * this.BYTES_PER_RANDOM_NUMBER;
106
+ if (bytesAvailable < bytesNeeded) {
107
+ throw new Error(`Not enough randomness: need ${bytesNeeded} bytes for ${count} numbers, only have ${bytesAvailable} bytes`);
108
+ }
109
+
110
+ const results: number[] = [];
111
+ const byteArrays = hexStrings.map(hexToBytes);
112
+
113
+ for (let hexIndex = 0; hexIndex < byteArrays.length; hexIndex++) {
114
+ const byteArray = byteArrays[hexIndex];
115
+
116
+ for (let numberIndex = 0; numberIndex < this.NUMBERS_PER_HEX_STRING; numberIndex++) {
117
+ if (results.length >= count) {
118
+ return results;
119
+ }
120
+
121
+ const byteOffset = numberIndex * this.BYTES_PER_RANDOM_NUMBER;
122
+ const randomNumber = this.getRandomInt(byteArray, byteOffset, maxValue);
123
+ results.push(randomNumber);
124
+ }
125
+ }
126
+
127
+ return results;
128
+ }
129
+
130
+ /**
131
+ * Generate provably fair random hex strings using HMAC-SHA256
132
+ *
133
+ * @param serverSeed - Secret server seed (revealed after game/rotation)
134
+ * @param clientSeed - Player-provided seed for transparency
135
+ * @param nonce - Sequential number that increments with each bet
136
+ * @param rounds - How many hex strings to generate (each = 32 bytes of randomness)
137
+ * @returns Array of hex strings, each representing 32 bytes of cryptographic randomness
138
+ */
139
+ static generateDigestHex({
140
+ serverSeed,
141
+ clientSeed,
142
+ nonce,
143
+ rounds,
144
+ }: { serverSeed: string; clientSeed: string; nonce: string; rounds: number }): string[] {
145
+ const results = Array.from(Array(rounds).keys()).map(round => {
146
+ const hmac = createHmac('sha256', serverSeed);
147
+ hmac.update(`${clientSeed}:${nonce}:${round}`);
148
+ return hmac.digest('hex');
149
+ });
150
+
151
+ return results;
152
+ }
153
+ }
@@ -17,6 +17,7 @@ const createSelection = (
17
17
  oddsNumerator: number,
18
18
  oddsDenominator: number,
19
19
  ): SportsBetSelectionInterface => ({
20
+ id,
20
21
  marketSelectionId: id,
21
22
  status,
22
23
  oddsNumerator: new BigNumber(oddsNumerator),
@@ -4,7 +4,7 @@ import { OutcomeResult, SportsBetSelectionInterface, SportsBetSelectionStatus, S
4
4
  import { SportsSystemBetType, SportsSystemBetTypeCombinations, SportsSystemBetTypeSelectionCountsToBetCounts } from './system-bet.types';
5
5
 
6
6
  export const MARGIN_MIN_BPS = 100; // hard limit min 1% for cashout
7
- export const MARGIN_MAX_BPS = 10000;
7
+ export const MARGIN_MAX_BPS = 10_000;
8
8
 
9
9
  export const BPS_DIVISOR = 10_000;
10
10
  export const SPORTS_BET_CASHOUT_MARGIN = 500; // in bps
@@ -124,6 +124,7 @@ export interface SportsBetInterface {
124
124
  }
125
125
 
126
126
  export interface SportsBetSelectionInterface {
127
+ id: string;
127
128
  marketSelectionId: string;
128
129
  status: SportsBetSelectionStatus;
129
130
  oddsNumerator: BigNumber;
@@ -231,6 +232,8 @@ export class EventOddsUpdate {
231
232
  publishedAt: Date;
232
233
  }
233
234
 
235
+ export const SportsBetVoidedStatuses = [SportsBetSelectionStatus.VOIDED, SportsBetSelectionStatus.PROVIDER_VOIDED];
236
+
234
237
  // http://www.lingoes.net/en/translator/langcode.htm
235
238
  // Be careful removing a language here, might affect existing values in the db
236
239
  export enum Language {
@@ -734,6 +737,5 @@ export class SportsCategoryInfo {
734
737
  export enum CustomSportsBetValidationErrors {
735
738
  MAX_SELECTIONS_PER_BET_EXCEEDED = 'MAX_SELECTIONS_PER_BET_EXCEEDED',
736
739
  COMBINATIONS_ACROSS_MATCHES_EXCEEDED = 'COMBINATIONS_ACROSS_MATCHES_EXCEEDED',
737
- MULTIPLE_LEGS_IN_SAME_MARKET_NOT_SUPPORTED = 'MULTIPLE_LEGS_IN_SAME_MARKET_NOT_SUPPORTED',
738
740
  SAME_SELECTION_ID_NOT_ALLOWED = 'SAME_SELECTION_ID_NOT_ALLOWED',
739
741
  }