shufflecom-calculations 1.2.4 → 1.3.0

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.
@@ -58,6 +58,7 @@ exports.twentyOnePlusThreePayout = {
58
58
  [TwentyOnePlusThreeType.STRAIGHT]: new bignumber_js_1.default(11),
59
59
  [TwentyOnePlusThreeType.FLUSH]: new bignumber_js_1.default(6),
60
60
  };
61
+ const TEN_VALUE_CARDS = ['10', 'J', 'Q', 'K'];
61
62
  var SuitColor;
62
63
  (function (SuitColor) {
63
64
  SuitColor["RED"] = "RED";
@@ -230,7 +231,9 @@ class Blackjack {
230
231
  return false;
231
232
  }
232
233
  const cardActions = cardGames_1.CardGames.getCardDetailsArr(mainHand);
233
- return cardActions[0].value === cardActions[1].value;
234
+ const sameValue = cardActions[0].value === cardActions[1].value;
235
+ const both10Value = TEN_VALUE_CARDS.includes(cardActions[0].value) && TEN_VALUE_CARDS.includes(cardActions[1].value);
236
+ return sameValue || both10Value;
234
237
  }
235
238
  static canDoubleDown(playerCards) {
236
239
  return playerCards.length === 2;
@@ -1 +1 @@
1
- {"version":3,"file":"blackjack.js","sourceRoot":"","sources":["../../src/games/blackjack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blackjack.js","sourceRoot":"","sources":["../../src/games/blackjack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import BigNumber from 'bignumber.js';
2
+ export declare enum RouletteParity {
3
+ EVEN = "EVEN",
4
+ ODD = "ODD"
5
+ }
6
+ interface RouletteParityInput {
7
+ parity: RouletteParity;
8
+ amount: BigNumber;
9
+ }
10
+ export declare enum RouletteColor {
11
+ RED = "RED",
12
+ BLACK = "BLACK"
13
+ }
14
+ interface ColorInput {
15
+ color: RouletteColor;
16
+ amount: BigNumber;
17
+ }
18
+ export declare enum RouletteColumn {
19
+ TOP = "TOP",
20
+ MIDDLE = "MIDDLE",
21
+ BOTTOM = "BOTTOM"
22
+ }
23
+ interface ColumnInput {
24
+ column: RouletteColumn;
25
+ amount: BigNumber;
26
+ }
27
+ export declare enum RouletteDozen {
28
+ FIRST = "FIRST",
29
+ SECOND = "SECOND",
30
+ THIRD = "THIRD"
31
+ }
32
+ interface DozenInput {
33
+ dozen: RouletteDozen;
34
+ amount: BigNumber;
35
+ }
36
+ export declare enum RouletteHalf {
37
+ LOW = "LOW",
38
+ HIGH = "HIGH"
39
+ }
40
+ interface HalfInput {
41
+ half: RouletteHalf;
42
+ amount: BigNumber;
43
+ }
44
+ export declare const STRAIGHT_VALUES: readonly [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36];
45
+ export declare const STREET_VALUES: readonly [readonly [0, 1, 2], readonly [0, 2, 3], readonly [1, 2, 3], readonly [4, 5, 6], readonly [7, 8, 9], readonly [10, 11, 12], readonly [13, 14, 15], readonly [16, 17, 18], readonly [19, 20, 21], readonly [22, 23, 24], readonly [25, 26, 27], readonly [28, 29, 30], readonly [31, 32, 33], readonly [34, 35, 36]];
46
+ export type straightValue = (typeof STRAIGHT_VALUES)[number];
47
+ export type streetValue = (typeof STREET_VALUES)[number];
48
+ export interface StraightInput {
49
+ straightNumber: straightValue;
50
+ amount: BigNumber;
51
+ }
52
+ export interface SplitInput {
53
+ firstNumber: straightValue;
54
+ secondNumber: straightValue;
55
+ amount: BigNumber;
56
+ }
57
+ export interface CornerInput {
58
+ firstNumber: straightValue;
59
+ secondNumber: straightValue;
60
+ thirdNumber: straightValue;
61
+ fourthNumber: straightValue;
62
+ amount: BigNumber;
63
+ }
64
+ export interface StreetInput {
65
+ street: streetValue;
66
+ amount: BigNumber;
67
+ }
68
+ export interface DoubleStreetInput {
69
+ firstStreet: streetValue;
70
+ secondStreet: streetValue;
71
+ amount: BigNumber;
72
+ }
73
+ export interface RouletteInput {
74
+ parityValues: RouletteParityInput[];
75
+ colorValues: ColorInput[];
76
+ halfValues: HalfInput[];
77
+ columnValues: ColumnInput[];
78
+ dozenValues: DozenInput[];
79
+ straightValues: StraightInput[];
80
+ splitValues: SplitInput[];
81
+ streetValues: StreetInput[];
82
+ cornerValues: CornerInput[];
83
+ doubleStreetValues: DoubleStreetInput[];
84
+ }
85
+ export declare const isValidStreet: (street: streetValue) => boolean;
86
+ export declare const cornerNumbers: (num: straightValue) => straightValue[];
87
+ export declare const isValidSplit: (firstNumber: straightValue, secondNumber: straightValue) => boolean;
88
+ export declare const isValidCorner: (firstNumber: straightValue, secondNumber: straightValue, thirdNumber: straightValue, fourthNumber: straightValue) => boolean;
89
+ export declare const isValidDoubleStreet: (firstStreet: streetValue, secondStreet: streetValue) => boolean;
90
+ export declare enum BetType {
91
+ PARITY = "PARITY",
92
+ COLOR = "COLOR",
93
+ HALF = "HALF",
94
+ COLUMN = "COLUMN",
95
+ DOZEN = "DOZEN",
96
+ STRAIGHT = "STRAIGHT",
97
+ SPLIT = "SPLIT",
98
+ STREET = "STREET",
99
+ CORNER = "CORNER",
100
+ DOUBLE_STREET = "DOUBLE_STREET"
101
+ }
102
+ export declare const RED_NUMBERS: number[];
103
+ export declare const BLACK_NUMBERS: number[];
104
+ export declare const parityPayout: ({ parity, amount }: RouletteParityInput, result: straightValue) => BigNumber;
105
+ export declare const colorPayout: ({ color, amount }: ColorInput, result: straightValue) => BigNumber;
106
+ export declare const halfsPayout: ({ half, amount }: HalfInput, result: straightValue) => BigNumber;
107
+ export declare const columnPayout: ({ column, amount }: ColumnInput, result: straightValue) => BigNumber;
108
+ export declare const dozenPayout: ({ dozen, amount }: DozenInput, result: straightValue) => BigNumber;
109
+ export declare const straightPayout: ({ straightNumber, amount }: StraightInput, result: straightValue) => BigNumber;
110
+ export declare const splitPayout: ({ firstNumber, secondNumber, amount }: SplitInput, result: straightValue) => BigNumber;
111
+ export declare const streetPayout: ({ street, amount }: StreetInput, result: straightValue) => BigNumber;
112
+ export declare const cornerPayout: ({ firstNumber, secondNumber, thirdNumber, fourthNumber, amount }: CornerInput, result: straightValue) => BigNumber;
113
+ export declare const doubleStreetPayout: ({ firstStreet, secondStreet, amount }: DoubleStreetInput, result: straightValue) => BigNumber;
114
+ export declare class Roulette {
115
+ static getResult(hexStr: string): straightValue;
116
+ static getPayout(inputs: RouletteInput, result: straightValue): BigNumber;
117
+ static validateInputs(inputs: RouletteInput): boolean;
118
+ }
119
+ export {};
@@ -0,0 +1,353 @@
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.Roulette = exports.doubleStreetPayout = exports.cornerPayout = exports.streetPayout = exports.splitPayout = exports.straightPayout = exports.dozenPayout = exports.columnPayout = exports.halfsPayout = exports.colorPayout = exports.parityPayout = exports.BLACK_NUMBERS = exports.RED_NUMBERS = exports.BetType = exports.isValidDoubleStreet = exports.isValidCorner = exports.isValidSplit = exports.cornerNumbers = exports.isValidStreet = exports.STREET_VALUES = exports.STRAIGHT_VALUES = exports.RouletteHalf = exports.RouletteDozen = exports.RouletteColumn = exports.RouletteColor = exports.RouletteParity = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const hex_to_bytes_1 = require("../utils/hex-to-bytes");
9
+ const BYTE_TOTAL = (0, bignumber_js_1.default)(256);
10
+ const TOTAL_TILES = (0, bignumber_js_1.default)(37);
11
+ var RouletteParity;
12
+ (function (RouletteParity) {
13
+ RouletteParity["EVEN"] = "EVEN";
14
+ RouletteParity["ODD"] = "ODD";
15
+ })(RouletteParity = exports.RouletteParity || (exports.RouletteParity = {}));
16
+ var RouletteColor;
17
+ (function (RouletteColor) {
18
+ RouletteColor["RED"] = "RED";
19
+ RouletteColor["BLACK"] = "BLACK";
20
+ })(RouletteColor = exports.RouletteColor || (exports.RouletteColor = {}));
21
+ var RouletteColumn;
22
+ (function (RouletteColumn) {
23
+ RouletteColumn["TOP"] = "TOP";
24
+ RouletteColumn["MIDDLE"] = "MIDDLE";
25
+ RouletteColumn["BOTTOM"] = "BOTTOM";
26
+ })(RouletteColumn = exports.RouletteColumn || (exports.RouletteColumn = {}));
27
+ var RouletteDozen;
28
+ (function (RouletteDozen) {
29
+ RouletteDozen["FIRST"] = "FIRST";
30
+ RouletteDozen["SECOND"] = "SECOND";
31
+ RouletteDozen["THIRD"] = "THIRD";
32
+ })(RouletteDozen = exports.RouletteDozen || (exports.RouletteDozen = {}));
33
+ var RouletteHalf;
34
+ (function (RouletteHalf) {
35
+ RouletteHalf["LOW"] = "LOW";
36
+ RouletteHalf["HIGH"] = "HIGH";
37
+ })(RouletteHalf = exports.RouletteHalf || (exports.RouletteHalf = {}));
38
+ exports.STRAIGHT_VALUES = [
39
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
40
+ ];
41
+ exports.STREET_VALUES = [
42
+ [0, 1, 2],
43
+ [0, 2, 3],
44
+ [1, 2, 3],
45
+ [4, 5, 6],
46
+ [7, 8, 9],
47
+ [10, 11, 12],
48
+ [13, 14, 15],
49
+ [16, 17, 18],
50
+ [19, 20, 21],
51
+ [22, 23, 24],
52
+ [25, 26, 27],
53
+ [28, 29, 30],
54
+ [31, 32, 33],
55
+ [34, 35, 36],
56
+ ];
57
+ const isValidStraight = (num) => {
58
+ return exports.STRAIGHT_VALUES.includes(num);
59
+ };
60
+ const isValidStreet = (street) => {
61
+ const sortedStreet = street.sort((a, b) => a - b);
62
+ return sortedStreet.length === 3 && exports.STREET_VALUES.some((val) => val[0] === sortedStreet[0] && val[1] === sortedStreet[1] && val[2] === sortedStreet[2]);
63
+ };
64
+ exports.isValidStreet = isValidStreet;
65
+ const cornerNumbers = (num) => {
66
+ if (!isValidStraight(num)) {
67
+ return [];
68
+ }
69
+ if (num === 0) {
70
+ return [1, 2, 3];
71
+ }
72
+ else if (num === 1) {
73
+ return [0, 2, 3, 4, 5];
74
+ }
75
+ else if (num === 2) {
76
+ return [0, 1, 3, 4, 5, 6];
77
+ }
78
+ else if (num === 3) {
79
+ return [0, 1, 2, 5, 6];
80
+ }
81
+ let possibleCornerNumbers = [];
82
+ if (num % 3 === 1) {
83
+ possibleCornerNumbers = [num - 3, num - 2, num + 1, num + 3, num + 4];
84
+ }
85
+ else if (num % 3 === 2) {
86
+ possibleCornerNumbers = [num - 4, num - 3, num - 2, num - 1, num + 1, num + 2, num + 3, num + 4];
87
+ }
88
+ else {
89
+ possibleCornerNumbers = [num - 4, num - 3, num - 1, num + 2, num + 3];
90
+ }
91
+ return possibleCornerNumbers.filter((num) => isValidStraight(num));
92
+ };
93
+ exports.cornerNumbers = cornerNumbers;
94
+ const isValidSplit = (firstNumber, secondNumber) => {
95
+ if (!isValidStraight(firstNumber) || !isValidStraight(secondNumber)) {
96
+ return false;
97
+ }
98
+ let possibleSplitNumbers = [];
99
+ if (firstNumber % 3 === 1) {
100
+ possibleSplitNumbers = [firstNumber - 3, firstNumber + 1, firstNumber + 3];
101
+ }
102
+ else if (firstNumber % 3 === 2) {
103
+ possibleSplitNumbers = [firstNumber - 3, firstNumber - 1, firstNumber + 1, firstNumber + 3];
104
+ }
105
+ else {
106
+ possibleSplitNumbers = [firstNumber - 3, firstNumber - 1, firstNumber + 3];
107
+ }
108
+ const filteredPossibleSplitNumbers = possibleSplitNumbers.filter((num) => isValidStraight(num));
109
+ if (firstNumber !== 0 && secondNumber !== 0) {
110
+ return filteredPossibleSplitNumbers.includes(secondNumber);
111
+ }
112
+ else if (firstNumber === 0) {
113
+ return secondNumber === 1 || secondNumber === 2 || secondNumber === 3;
114
+ }
115
+ else if (secondNumber === 0) {
116
+ return firstNumber === 1 || firstNumber === 2 || firstNumber === 3;
117
+ }
118
+ return false;
119
+ };
120
+ exports.isValidSplit = isValidSplit;
121
+ const isValidCorner = (firstNumber, secondNumber, thirdNumber, fourthNumber) => {
122
+ const numbersAdjacentToFirstNumber = (0, exports.cornerNumbers)(firstNumber);
123
+ const numbersAdjacentToSecondNumber = (0, exports.cornerNumbers)(secondNumber);
124
+ const numbersAdjacentToThirdNumber = (0, exports.cornerNumbers)(thirdNumber);
125
+ const numbersAdjacentToFourthNumber = (0, exports.cornerNumbers)(fourthNumber);
126
+ const allNumsAdjacentToFirstNumber = numbersAdjacentToFirstNumber.includes(secondNumber) &&
127
+ numbersAdjacentToFirstNumber.includes(thirdNumber) &&
128
+ numbersAdjacentToFirstNumber.includes(fourthNumber);
129
+ const allNumsAdjacentToSecondNumber = numbersAdjacentToSecondNumber.includes(firstNumber) &&
130
+ numbersAdjacentToSecondNumber.includes(thirdNumber) &&
131
+ numbersAdjacentToSecondNumber.includes(fourthNumber);
132
+ const allNumsAdjacentToThirdNumber = numbersAdjacentToThirdNumber.includes(firstNumber) &&
133
+ numbersAdjacentToThirdNumber.includes(secondNumber) &&
134
+ numbersAdjacentToThirdNumber.includes(fourthNumber);
135
+ const allNumsAdjacentToFourthNumber = numbersAdjacentToFourthNumber.includes(firstNumber) &&
136
+ numbersAdjacentToFourthNumber.includes(secondNumber) &&
137
+ numbersAdjacentToFourthNumber.includes(thirdNumber);
138
+ return allNumsAdjacentToFirstNumber && allNumsAdjacentToSecondNumber && allNumsAdjacentToThirdNumber && allNumsAdjacentToFourthNumber;
139
+ };
140
+ exports.isValidCorner = isValidCorner;
141
+ const isValidDoubleStreet = (firstStreet, secondStreet) => {
142
+ if (!(0, exports.isValidStreet)(firstStreet) || !(0, exports.isValidStreet)(secondStreet)) {
143
+ return false;
144
+ }
145
+ const firstNumOfFirstStreet = firstStreet[0];
146
+ const firstNumOfSecondStreet = secondStreet[0];
147
+ if (firstNumOfFirstStreet === 0 || firstNumOfSecondStreet === 0) {
148
+ return false;
149
+ }
150
+ return firstNumOfFirstStreet + 3 === firstNumOfSecondStreet || firstNumOfFirstStreet - 3 === firstNumOfSecondStreet;
151
+ };
152
+ exports.isValidDoubleStreet = isValidDoubleStreet;
153
+ var BetType;
154
+ (function (BetType) {
155
+ BetType["PARITY"] = "PARITY";
156
+ BetType["COLOR"] = "COLOR";
157
+ BetType["HALF"] = "HALF";
158
+ BetType["COLUMN"] = "COLUMN";
159
+ BetType["DOZEN"] = "DOZEN";
160
+ BetType["STRAIGHT"] = "STRAIGHT";
161
+ BetType["SPLIT"] = "SPLIT";
162
+ BetType["STREET"] = "STREET";
163
+ BetType["CORNER"] = "CORNER";
164
+ BetType["DOUBLE_STREET"] = "DOUBLE_STREET";
165
+ })(BetType = exports.BetType || (exports.BetType = {}));
166
+ const PAYOUT_MAP = {
167
+ [BetType.PARITY]: (0, bignumber_js_1.default)(2),
168
+ [BetType.COLOR]: (0, bignumber_js_1.default)(2),
169
+ [BetType.HALF]: (0, bignumber_js_1.default)(2),
170
+ [BetType.COLUMN]: (0, bignumber_js_1.default)(3),
171
+ [BetType.DOZEN]: (0, bignumber_js_1.default)(3),
172
+ [BetType.STRAIGHT]: (0, bignumber_js_1.default)(36),
173
+ [BetType.SPLIT]: (0, bignumber_js_1.default)(18),
174
+ [BetType.STREET]: (0, bignumber_js_1.default)(12),
175
+ [BetType.CORNER]: (0, bignumber_js_1.default)(9),
176
+ [BetType.DOUBLE_STREET]: (0, bignumber_js_1.default)(6),
177
+ };
178
+ exports.RED_NUMBERS = [1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36];
179
+ exports.BLACK_NUMBERS = [2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35];
180
+ const parityPayout = ({ parity, amount }, result) => {
181
+ if (result === 0)
182
+ return (0, bignumber_js_1.default)(0);
183
+ const resultParity = result % 2 === 0 ? RouletteParity.EVEN : RouletteParity.ODD;
184
+ const isWin = parity === resultParity;
185
+ if (isWin) {
186
+ return amount.multipliedBy(PAYOUT_MAP[BetType.PARITY]);
187
+ }
188
+ return (0, bignumber_js_1.default)(0);
189
+ };
190
+ exports.parityPayout = parityPayout;
191
+ const colorPayout = ({ color, amount }, result) => {
192
+ const isRed = exports.RED_NUMBERS.includes(result);
193
+ const isBlack = exports.BLACK_NUMBERS.includes(result);
194
+ if ((isRed && color === RouletteColor.RED) || (isBlack && color === RouletteColor.BLACK)) {
195
+ return amount.multipliedBy(PAYOUT_MAP[BetType.COLOR]);
196
+ }
197
+ return (0, bignumber_js_1.default)(0);
198
+ };
199
+ exports.colorPayout = colorPayout;
200
+ const halfsPayout = ({ half, amount }, result) => {
201
+ const isLow = result > 0 && result <= 18;
202
+ const isHigh = result > 18 && result <= 36;
203
+ if ((isLow && half === RouletteHalf.LOW) || (isHigh && half === RouletteHalf.HIGH)) {
204
+ return amount.multipliedBy(PAYOUT_MAP[BetType.HALF]);
205
+ }
206
+ return (0, bignumber_js_1.default)(0);
207
+ };
208
+ exports.halfsPayout = halfsPayout;
209
+ const columnPayout = ({ column, amount }, result) => {
210
+ const topColumn = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36];
211
+ const middleColumn = [2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35];
212
+ const bottomColumn = [1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34];
213
+ if ((column === RouletteColumn.TOP && topColumn.includes(result)) ||
214
+ (column === RouletteColumn.MIDDLE && middleColumn.includes(result)) ||
215
+ (column === RouletteColumn.BOTTOM && bottomColumn.includes(result))) {
216
+ return amount.multipliedBy(PAYOUT_MAP[BetType.COLUMN]);
217
+ }
218
+ return (0, bignumber_js_1.default)(0);
219
+ };
220
+ exports.columnPayout = columnPayout;
221
+ const dozenPayout = ({ dozen, amount }, result) => {
222
+ const firstDozen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
223
+ const secondDozen = [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24];
224
+ const thirdDozen = [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36];
225
+ if ((dozen === RouletteDozen.FIRST && firstDozen.includes(result)) ||
226
+ (dozen === RouletteDozen.SECOND && secondDozen.includes(result)) ||
227
+ (dozen === RouletteDozen.THIRD && thirdDozen.includes(result))) {
228
+ return amount.multipliedBy(PAYOUT_MAP[BetType.DOZEN]);
229
+ }
230
+ return (0, bignumber_js_1.default)(0);
231
+ };
232
+ exports.dozenPayout = dozenPayout;
233
+ const straightPayout = ({ straightNumber, amount }, result) => {
234
+ if (result === straightNumber) {
235
+ return amount.multipliedBy(PAYOUT_MAP[BetType.STRAIGHT]);
236
+ }
237
+ return (0, bignumber_js_1.default)(0);
238
+ };
239
+ exports.straightPayout = straightPayout;
240
+ const splitPayout = ({ firstNumber, secondNumber, amount }, result) => {
241
+ if (result === firstNumber || result === secondNumber) {
242
+ return amount.multipliedBy(PAYOUT_MAP[BetType.SPLIT]);
243
+ }
244
+ return (0, bignumber_js_1.default)(0);
245
+ };
246
+ exports.splitPayout = splitPayout;
247
+ const streetPayout = ({ street, amount }, result) => {
248
+ if (street.includes(result)) {
249
+ return amount.multipliedBy(PAYOUT_MAP[BetType.STREET]);
250
+ }
251
+ return (0, bignumber_js_1.default)(0);
252
+ };
253
+ exports.streetPayout = streetPayout;
254
+ const cornerPayout = ({ firstNumber, secondNumber, thirdNumber, fourthNumber, amount }, result) => {
255
+ const cornerNumbers = [firstNumber, secondNumber, thirdNumber, fourthNumber];
256
+ if (cornerNumbers.includes(result)) {
257
+ return amount.multipliedBy(PAYOUT_MAP[BetType.CORNER]);
258
+ }
259
+ return (0, bignumber_js_1.default)(0);
260
+ };
261
+ exports.cornerPayout = cornerPayout;
262
+ const doubleStreetPayout = ({ firstStreet, secondStreet, amount }, result) => {
263
+ if (firstStreet.includes(result) || secondStreet.includes(result)) {
264
+ return amount.multipliedBy(PAYOUT_MAP[BetType.DOUBLE_STREET]);
265
+ }
266
+ return (0, bignumber_js_1.default)(0);
267
+ };
268
+ exports.doubleStreetPayout = doubleStreetPayout;
269
+ class Roulette {
270
+ static getResult(hexStr) {
271
+ const gameResultBytes = (0, hex_to_bytes_1.hexToBytes)(hexStr);
272
+ let result = (0, bignumber_js_1.default)(0);
273
+ for (let i = 0; i < 4; i++) {
274
+ const value = gameResultBytes[i];
275
+ result = result.plus((0, bignumber_js_1.default)(value).dividedBy(BYTE_TOTAL.pow(i + 1)));
276
+ }
277
+ const resultNum = result.multipliedBy(TOTAL_TILES).integerValue(bignumber_js_1.default.ROUND_DOWN).toNumber();
278
+ if (!isValidStraight(resultNum)) {
279
+ throw new Error('Invalid result');
280
+ }
281
+ return resultNum;
282
+ }
283
+ static getPayout(inputs, result) {
284
+ if (!this.validateInputs(inputs)) {
285
+ throw new Error('Invalid inputs');
286
+ }
287
+ const { parityValues, colorValues, halfValues, columnValues, dozenValues, straightValues, splitValues, streetValues, cornerValues, doubleStreetValues, } = inputs;
288
+ const totalParityPayout = parityValues.reduce((totalPayout, input) => {
289
+ return totalPayout.plus((0, exports.parityPayout)(input, result));
290
+ }, (0, bignumber_js_1.default)(0));
291
+ const totalColorPayout = colorValues.reduce((totalPayout, input) => {
292
+ return totalPayout.plus((0, exports.colorPayout)(input, result));
293
+ }, (0, bignumber_js_1.default)(0));
294
+ const totalHalfsPayout = halfValues.reduce((totalPayout, input) => {
295
+ return totalPayout.plus((0, exports.halfsPayout)(input, result));
296
+ }, (0, bignumber_js_1.default)(0));
297
+ const totalColumnsPayout = columnValues.reduce((totalPayout, input) => {
298
+ return totalPayout.plus((0, exports.columnPayout)(input, result));
299
+ }, (0, bignumber_js_1.default)(0));
300
+ const totalDozensPayout = dozenValues.reduce((totalPayout, input) => {
301
+ return totalPayout.plus((0, exports.dozenPayout)(input, result));
302
+ }, (0, bignumber_js_1.default)(0));
303
+ const totalStraightsPayout = straightValues.reduce((totalPayout, input) => {
304
+ return totalPayout.plus((0, exports.straightPayout)(input, result));
305
+ }, (0, bignumber_js_1.default)(0));
306
+ const totalSplitPayout = splitValues.reduce((totalPayout, input) => {
307
+ return totalPayout.plus((0, exports.splitPayout)(input, result));
308
+ }, (0, bignumber_js_1.default)(0));
309
+ const totalStreetPayout = streetValues.reduce((totalPayout, input) => {
310
+ return totalPayout.plus((0, exports.streetPayout)(input, result));
311
+ }, (0, bignumber_js_1.default)(0));
312
+ const totalCornerPayout = cornerValues.reduce((totalPayout, input) => {
313
+ return totalPayout.plus((0, exports.cornerPayout)(input, result));
314
+ }, (0, bignumber_js_1.default)(0));
315
+ const totalDoubleStreetPayout = doubleStreetValues.reduce((totalPayout, input) => {
316
+ return totalPayout.plus((0, exports.doubleStreetPayout)(input, result));
317
+ }, (0, bignumber_js_1.default)(0));
318
+ const totalPayout = totalParityPayout
319
+ .plus(totalColorPayout)
320
+ .plus(totalHalfsPayout)
321
+ .plus(totalColumnsPayout)
322
+ .plus(totalDozensPayout)
323
+ .plus(totalStraightsPayout)
324
+ .plus(totalSplitPayout)
325
+ .plus(totalStreetPayout)
326
+ .plus(totalCornerPayout)
327
+ .plus(totalDoubleStreetPayout);
328
+ return totalPayout;
329
+ }
330
+ static validateInputs(inputs) {
331
+ const { straightValues, splitValues, streetValues, cornerValues, doubleStreetValues, parityValues, colorValues, columnValues, dozenValues, halfValues } = inputs;
332
+ if (straightValues.length === 0 &&
333
+ splitValues.length === 0 &&
334
+ streetValues.length === 0 &&
335
+ cornerValues.length === 0 &&
336
+ doubleStreetValues.length === 0 &&
337
+ parityValues.length === 0 &&
338
+ colorValues.length === 0 &&
339
+ columnValues.length === 0 &&
340
+ dozenValues.length === 0 &&
341
+ halfValues.length === 0) {
342
+ return false;
343
+ }
344
+ const straightsValid = straightValues.every((input) => isValidStraight(input.straightNumber));
345
+ const splitsValid = splitValues.every((input) => (0, exports.isValidSplit)(input.firstNumber, input.secondNumber));
346
+ const streetsValid = streetValues.every((input) => (0, exports.isValidStreet)(input.street));
347
+ const cornersValid = cornerValues.every((input) => (0, exports.isValidCorner)(input.firstNumber, input.secondNumber, input.thirdNumber, input.fourthNumber));
348
+ const doubleStreetsValid = doubleStreetValues.every((input) => (0, exports.isValidDoubleStreet)(input.firstStreet, input.secondStreet));
349
+ return straightsValid && splitsValid && streetsValid && cornersValid && doubleStreetsValid;
350
+ }
351
+ }
352
+ exports.Roulette = Roulette;
353
+ //# sourceMappingURL=roulette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roulette.js","sourceRoot":"","sources":["../../src/games/roulette.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { VipBonusIssuanceStatus } from './utils/vip-bonus.type';
8
8
  export { deriveBonusIssuances } from './utils/derive-vip-bonus';
9
9
  export { convertBs58ToUuid, convertUuidToBs58 } from './utils/uuid-converter';
10
10
  export { Dice, DiceDirection } from './games/dice';
11
+ export { Roulette } from './games/roulette';
11
12
  export { Mines } from './games/mines';
12
13
  export { Plinko, PlinkoRiskLevel } from './games/plinko';
13
14
  export { Crash } from './games/crash';
package/lib/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.HandOutcome = exports.twentyOnePlusThreePayout = exports.perfectPairPayout = exports.TwentyOnePlusThreeType = exports.PerfectPairType = exports.InsuranceStatus = exports.Blackjack = exports.BlackjackAction = exports.suitsArr = exports.Suits = exports.CardGames = exports.HiloGuess = exports.Hilo = exports.KenoRiskLevel = exports.Keno = exports.Limbo = exports.Crash = exports.PlinkoRiskLevel = exports.Plinko = exports.Mines = exports.DiceDirection = exports.Dice = exports.convertUuidToBs58 = exports.convertBs58ToUuid = exports.deriveBonusIssuances = exports.VipBonusIssuanceStatus = exports.DatesCalculator = exports.ChatMessageType = exports.getChatMessageLength = exports.CHAT_CHAR_LIMIT = exports.calculateEdgeMultiplier = exports.hexToBytes = void 0;
17
+ exports.HandOutcome = exports.twentyOnePlusThreePayout = exports.perfectPairPayout = exports.TwentyOnePlusThreeType = exports.PerfectPairType = exports.InsuranceStatus = exports.Blackjack = exports.BlackjackAction = exports.suitsArr = exports.Suits = exports.CardGames = exports.HiloGuess = exports.Hilo = exports.KenoRiskLevel = exports.Keno = exports.Limbo = exports.Crash = exports.PlinkoRiskLevel = exports.Plinko = exports.Mines = exports.Roulette = exports.DiceDirection = exports.Dice = exports.convertUuidToBs58 = exports.convertBs58ToUuid = exports.deriveBonusIssuances = exports.VipBonusIssuanceStatus = exports.DatesCalculator = exports.ChatMessageType = exports.getChatMessageLength = exports.CHAT_CHAR_LIMIT = exports.calculateEdgeMultiplier = exports.hexToBytes = void 0;
18
18
  __exportStar(require("./regex"), exports);
19
19
  var hex_to_bytes_1 = require("./utils/hex-to-bytes");
20
20
  Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function () { return hex_to_bytes_1.hexToBytes; } });
@@ -37,6 +37,8 @@ Object.defineProperty(exports, "convertUuidToBs58", { enumerable: true, get: fun
37
37
  var dice_1 = require("./games/dice");
38
38
  Object.defineProperty(exports, "Dice", { enumerable: true, get: function () { return dice_1.Dice; } });
39
39
  Object.defineProperty(exports, "DiceDirection", { enumerable: true, get: function () { return dice_1.DiceDirection; } });
40
+ var roulette_1 = require("./games/roulette");
41
+ Object.defineProperty(exports, "Roulette", { enumerable: true, get: function () { return roulette_1.Roulette; } });
40
42
  var mines_1 = require("./games/mines");
41
43
  Object.defineProperty(exports, "Mines", { enumerable: true, get: function () { return mines_1.Mines; } });
42
44
  var plinko_1 = require("./games/plinko");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,qCAAuD;AAA9C,+GAAA,uBAAuB,OAAA;AAChC,qEAAqF;AAA5E,uHAAA,eAAe,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAC9C,+DAAyE;AAAhE,oHAAA,eAAe,OAAA;AACxB,6DAA2D;AAAlD,mHAAA,eAAe,OAAA;AACxB,yDAAgE;AAAvD,wHAAA,sBAAsB,OAAA;AAC/B,6DAAgE;AAAvD,wHAAA,oBAAoB,OAAA;AAC7B,yDAA8E;AAArE,mHAAA,iBAAiB,OAAA;AAAE,mHAAA,iBAAiB,OAAA;AAC7C,qCAAmD;AAA1C,4FAAA,IAAI,OAAA;AAAE,qGAAA,aAAa,OAAA;AAC5B,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,yCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,yGAAA,eAAe,OAAA;AAChC,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,qCAAmD;AAA1C,4FAAA,IAAI,OAAA;AAAE,qGAAA,aAAa,OAAA;AAC5B,qCAA+C;AAAtC,4FAAA,IAAI,OAAA;AAAE,iGAAA,SAAS,OAAA;AACxB,+CAAsF;AAA7E,sGAAA,SAAS,OAAA;AAAyB,kGAAA,KAAK,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAC1D,+CAS2B;AARzB,4GAAA,eAAe,OAAA;AACf,sGAAA,SAAS,OAAA;AACT,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,8GAAA,iBAAiB,OAAA;AACjB,qHAAA,wBAAwB,OAAA;AACxB,wGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,qCAAuD;AAA9C,+GAAA,uBAAuB,OAAA;AAChC,qEAAqF;AAA5E,uHAAA,eAAe,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAC9C,+DAAyE;AAAhE,oHAAA,eAAe,OAAA;AACxB,6DAA2D;AAAlD,mHAAA,eAAe,OAAA;AACxB,yDAAgE;AAAvD,wHAAA,sBAAsB,OAAA;AAC/B,6DAAgE;AAAvD,wHAAA,oBAAoB,OAAA;AAC7B,yDAA8E;AAArE,mHAAA,iBAAiB,OAAA;AAAE,mHAAA,iBAAiB,OAAA;AAC7C,qCAAmD;AAA1C,4FAAA,IAAI,OAAA;AAAE,qGAAA,aAAa,OAAA;AAC5B,6CAA4C;AAAnC,oGAAA,QAAQ,OAAA;AACjB,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,yCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,yGAAA,eAAe,OAAA;AAChC,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,qCAAmD;AAA1C,4FAAA,IAAI,OAAA;AAAE,qGAAA,aAAa,OAAA;AAC5B,qCAA+C;AAAtC,4FAAA,IAAI,OAAA;AAAE,iGAAA,SAAS,OAAA;AACxB,+CAAsF;AAA7E,sGAAA,SAAS,OAAA;AAAyB,kGAAA,KAAK,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAC1D,+CAS2B;AARzB,4GAAA,eAAe,OAAA;AACf,sGAAA,SAAS,OAAA;AACT,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,8GAAA,iBAAiB,OAAA;AACjB,qHAAA,wBAAwB,OAAA;AACxB,wGAAA,WAAW,OAAA"}