shufflecom-calculations 3.3.11 → 3.3.13

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.
@@ -42,4 +42,5 @@ declare const CHECKED: unique symbol;
42
42
  export type CheckedCurrency = Currency & {
43
43
  readonly [CHECKED]: true;
44
44
  };
45
+ export declare function unsafeMintCheckedCurrency(currency: Currency): CheckedCurrency;
45
46
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CurrencyType = exports.Currency = void 0;
3
+ exports.unsafeMintCheckedCurrency = exports.CurrencyType = exports.Currency = void 0;
4
4
  var Currency;
5
5
  (function (Currency) {
6
6
  Currency["BTC"] = "BTC";
@@ -68,4 +68,8 @@ CurrencyType.TYPE_MAP = {
68
68
  };
69
69
  CurrencyType.CRYPTO_CURRENCIES = Object.keys(CurrencyType.TYPE_MAP).filter((c) => CurrencyType.kindOf(c) === 'crypto');
70
70
  CurrencyType.FIAT_CURRENCIES = Object.keys(CurrencyType.TYPE_MAP).filter((c) => CurrencyType.kindOf(c) === 'fiat');
71
+ function unsafeMintCheckedCurrency(currency) {
72
+ return currency;
73
+ }
74
+ exports.unsafeMintCheckedCurrency = unsafeMintCheckedCurrency;
71
75
  //# sourceMappingURL=currency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/utils/currency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/utils/currency.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shufflecom-calculations",
3
- "version": "3.3.11",
3
+ "version": "3.3.13",
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": "ef4532ce504fc76df3fda095044475231b91cf19"
17
+ "gitHead": "f7c863dd1d91f17f2f11841b79ae3900403e2bfd"
18
18
  }
package/src/index.ts CHANGED
@@ -45,4 +45,5 @@ export { Tower, TowerDifficulty, TOWER_DIFFICULTY_TO_CONFIG, TOWER_TOTAL_ROWS }
45
45
  export { Wheel, WheelRiskLevel, WheelSegments, WHEEL_MULTIPLIERS, WHEEL_SEGMENTS_TO_NUMBER } from './games/wheel';
46
46
  export { formatSelectionName } from './sports/sports-name';
47
47
  export { SportsContentWithFixturesInfo } from './sports/sports-content-fixture.types';
48
+ export { SportsProviderMaxBet, BetradarOverrideLimitType, BETRADAR_OVERRIDE_LIMIT_TO_MAX_BET } from './sports/override-limit-max-bet';
48
49
  export { Blitz, BlitzResult, BLITZ_MIN_PICKS, BLITZ_MAX_PICKS } from './games/blitz';
@@ -0,0 +1,30 @@
1
+ export enum SportsProviderMaxBet {
2
+ ON = 'ON',
3
+ NEUTRAL = 'NEUTRAL',
4
+ OFF = 'OFF',
5
+ }
6
+
7
+ export enum BetradarOverrideLimitType {
8
+ SUPER_VIP = 'SUPER_VIP',
9
+ VIP = 'VIP',
10
+ SAFE = 'SAFE',
11
+ HIGH_RISK = 'HIGH_RISK',
12
+ POTENTIAL_VIP = 'POTENTIAL_VIP',
13
+ ENHANCED = 'ENHANCED',
14
+ BAD_ACCOUNTS = 'BAD_ACCOUNTS',
15
+ DEFAULT = 'DEFAULT',
16
+ UNWANTED_ACCOUNTS = 'UNWANTED_ACCOUNTS',
17
+ MARKETING_ACCOUNTS = 'MARKETING_ACCOUNTS',
18
+ }
19
+
20
+ export const BETRADAR_OVERRIDE_LIMIT_TO_MAX_BET: Partial<Record<BetradarOverrideLimitType, SportsProviderMaxBet | undefined>> = {
21
+ [BetradarOverrideLimitType.BAD_ACCOUNTS]: SportsProviderMaxBet.OFF,
22
+ [BetradarOverrideLimitType.UNWANTED_ACCOUNTS]: SportsProviderMaxBet.OFF,
23
+ [BetradarOverrideLimitType.HIGH_RISK]: SportsProviderMaxBet.OFF,
24
+ [BetradarOverrideLimitType.SAFE]: SportsProviderMaxBet.OFF,
25
+ [BetradarOverrideLimitType.SUPER_VIP]: SportsProviderMaxBet.NEUTRAL,
26
+ [BetradarOverrideLimitType.VIP]: SportsProviderMaxBet.NEUTRAL,
27
+ [BetradarOverrideLimitType.ENHANCED]: SportsProviderMaxBet.NEUTRAL,
28
+ [BetradarOverrideLimitType.POTENTIAL_VIP]: SportsProviderMaxBet.NEUTRAL,
29
+ [BetradarOverrideLimitType.DEFAULT]: SportsProviderMaxBet.NEUTRAL,
30
+ };
@@ -7,6 +7,7 @@ import {
7
7
  SportsBetSelectionStatus,
8
8
  SportsBetStatus,
9
9
  SportsBetType,
10
+ SportsCashoutFailedReason,
10
11
  SportsFixtureBannerType,
11
12
  SportsFixtureStatus,
12
13
  SportsMarketProductId,
@@ -132,7 +133,7 @@ export interface SportsBetSettlementV3 {
132
133
 
133
134
  export interface SportsBetCashoutAvailableV3 {
134
135
  canCashout: boolean;
135
- reason: string | null;
136
+ reason: SportsCashoutFailedReason | null;
136
137
  }
137
138
 
138
139
  export interface SportsBetUserV3 {
@@ -85,6 +85,17 @@ export enum SportsBetStatus {
85
85
  VOIDED = 'VOIDED',
86
86
  }
87
87
 
88
+ export enum SportsCashoutFailedReason {
89
+ SPORTS_BET_IS_CLOSED = 'SPORTS_BET_IS_CLOSED',
90
+ SPORTS_BET_SELECTION_NOT_FOUND = 'SPORTS_BET_SELECTION_NOT_FOUND',
91
+ MANUAL_MARKET_NOT_ALLOWED_CASHOUT = 'MANUAL_MARKET_NOT_ALLOWED_CASHOUT',
92
+ SPORTS_MARKET_CASHOUT_IS_NOT_OPEN = 'SPORTS_MARKET_CASHOUT_IS_NOT_OPEN',
93
+ SPORTS_MARKET_NOT_FOUND = 'SPORTS_MARKET_NOT_FOUND',
94
+ SPORTS_FIXTURE_NOT_FOUND = 'SPORTS_FIXTURE_NOT_FOUND',
95
+ SPORTS_MARKET_CLOSED = 'SPORTS_MARKET_CLOSED',
96
+ SPORTS_MARKET_CASHOUT_NOT_ENABLED = 'SPORTS_MARKET_CASHOUT_NOT_ENABLED',
97
+ }
98
+
88
99
  export enum SportsBetType {
89
100
  REGULAR = 'REGULAR',
90
101
  CUSTOM_BET = 'CUSTOM_BET',
@@ -650,6 +661,7 @@ export class DisplayGroup extends BaseDisplayGroup {
650
661
  isDefaultMarket: Nullable<boolean>;
651
662
  groupDisplayType: SportsGroupedSelectionsDisplayType;
652
663
  playerMarkets: PlayerMarket[] | null;
664
+ groups: Partial<Record<SportsMarketGroup, number>> | null; // For SGM sub-groups
653
665
  }
654
666
 
655
667
  export class SelectionGroup {
@@ -106,3 +106,21 @@ declare const CHECKED: unique symbol;
106
106
  export type CheckedCurrency = Currency & {
107
107
  readonly [CHECKED]: true;
108
108
  };
109
+
110
+ /**
111
+ * Escape hatch for minting a CheckedCurrency without running
112
+ * CurrencyEligibilityService.check().
113
+ *
114
+ * Example use cases:
115
+ * - Webhooks crediting an already-settled payment (eligibility ran at
116
+ * initiation; re-checking could refuse money that's already been taken).
117
+ * - Backfill/migration scripts over historical rows with no live eligibility
118
+ * context.
119
+ * - Hot-path bet settlement where the currency was already established upstream.
120
+ *
121
+ * For any normal account-credit path (bonuses, etc.) call check() even when it's
122
+ * a no-op for crypto, so the brand stays meaningful.
123
+ */
124
+ export function unsafeMintCheckedCurrency(currency: Currency): CheckedCurrency {
125
+ return currency as CheckedCurrency;
126
+ }