shufflecom-calculations 1.0.41 → 1.0.43

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 (66) hide show
  1. package/lib/games/crash.d.ts +2 -4
  2. package/lib/games/crash.js +3 -2
  3. package/lib/games/crash.js.map +1 -1
  4. package/lib/games/crash.spec.js +2 -2
  5. package/lib/games/crash.spec.js.map +1 -1
  6. package/lib/games/dice.d.ts +11 -13
  7. package/lib/games/dice.js +12 -12
  8. package/lib/games/dice.js.map +1 -1
  9. package/lib/games/dice.spec.js +11 -34
  10. package/lib/games/dice.spec.js.map +1 -1
  11. package/lib/games/hilo.d.ts +11 -13
  12. package/lib/games/hilo.js +12 -12
  13. package/lib/games/hilo.js.map +1 -1
  14. package/lib/games/hilo.spec.js +2 -5
  15. package/lib/games/hilo.spec.js.map +1 -1
  16. package/lib/games/keno.d.ts +6 -7
  17. package/lib/games/keno.js +6 -6
  18. package/lib/games/keno.js.map +1 -1
  19. package/lib/games/keno.spec.js +4 -9
  20. package/lib/games/keno.spec.js.map +1 -1
  21. package/lib/games/limbo.d.ts +2 -4
  22. package/lib/games/limbo.js +3 -2
  23. package/lib/games/limbo.js.map +1 -1
  24. package/lib/games/limbo.spec.js +2 -2
  25. package/lib/games/limbo.spec.js.map +1 -1
  26. package/lib/games/mines.d.ts +5 -7
  27. package/lib/games/mines.js +8 -9
  28. package/lib/games/mines.js.map +1 -1
  29. package/lib/games/mines.spec.js +6 -9
  30. package/lib/games/mines.spec.js.map +1 -1
  31. package/lib/games/plinko.d.ts +7 -8
  32. package/lib/games/plinko.js +7 -7
  33. package/lib/games/plinko.js.map +1 -1
  34. package/lib/games/plinko.spec.js +7 -30
  35. package/lib/games/plinko.spec.js.map +1 -1
  36. package/lib/index.d.ts +7 -7
  37. package/lib/index.js +12 -11
  38. package/lib/index.js.map +1 -1
  39. package/lib/tsconfig.tsbuildinfo +1 -1
  40. package/lib/utils/date-calculator.spec.js +3 -3
  41. package/lib/utils/date-calculator.spec.js.map +1 -1
  42. package/lib/utils/dates-calculator.d.ts +3 -5
  43. package/lib/utils/dates-calculator.js +26 -25
  44. package/lib/utils/dates-calculator.js.map +1 -1
  45. package/lib/utils/index.d.ts +1 -0
  46. package/lib/utils/index.js +3 -1
  47. package/lib/utils/index.js.map +1 -1
  48. package/package.json +2 -2
  49. package/src/games/crash.spec.ts +2 -2
  50. package/src/games/crash.ts +3 -3
  51. package/src/games/dice.spec.ts +20 -20
  52. package/src/games/dice.ts +11 -13
  53. package/src/games/hilo.spec.ts +2 -2
  54. package/src/games/hilo.ts +11 -13
  55. package/src/games/keno.spec.ts +6 -8
  56. package/src/games/keno.ts +5 -7
  57. package/src/games/limbo.spec.ts +2 -2
  58. package/src/games/limbo.ts +2 -4
  59. package/src/games/mines.spec.ts +6 -6
  60. package/src/games/mines.ts +6 -7
  61. package/src/games/plinko.spec.ts +7 -7
  62. package/src/games/plinko.ts +6 -8
  63. package/src/index.ts +7 -7
  64. package/src/utils/date-calculator.spec.ts +3 -3
  65. package/src/utils/dates-calculator.ts +3 -5
  66. package/src/utils/index.ts +1 -0
@@ -1,6 +1,4 @@
1
1
  import BigNumber from 'bignumber.js';
2
- declare class Crash {
3
- getResult(hexStr: string): BigNumber;
2
+ export declare class Crash {
3
+ static getResult(hexStr: string): BigNumber;
4
4
  }
5
- declare const _default: Crash;
6
- export default _default;
@@ -3,11 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Crash = void 0;
6
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
8
  const MAX_FACTOR = new bignumber_js_1.default(4294967296);
8
9
  const EDGE = 0.01;
9
10
  class Crash {
10
- getResult(hexStr) {
11
+ static getResult(hexStr) {
11
12
  let result = new bignumber_js_1.default(0);
12
13
  for (let i = 0; i < 8; i++) {
13
14
  const value = hexStr[i];
@@ -17,5 +18,5 @@ class Crash {
17
18
  return bignumber_js_1.default.max(result, 1);
18
19
  }
19
20
  }
20
- exports.default = new Crash();
21
+ exports.Crash = Crash;
21
22
  //# sourceMappingURL=crash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crash.js","sourceRoot":"","sources":["../../src/games/crash.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AAErC,MAAM,UAAU,GAAG,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;AAC7C,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,MAAM,KAAK;IACT,SAAS,CAAC,MAAc;QACtB,IAAI,MAAM,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QAG9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SACtF;QAED,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrE,OAAO,sBAAS,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CACF;AACD,kBAAe,IAAI,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"crash.js","sourceRoot":"","sources":["../../src/games/crash.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,MAAM,UAAU,GAAG,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;AAC7C,MAAM,IAAI,GAAG,IAAI,CAAC;AAElB,MAAa,KAAK;IAChB,MAAM,CAAC,SAAS,CAAC,MAAc;QAC7B,IAAI,MAAM,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QAG9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SACtF;QAED,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrE,OAAO,sBAAS,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CACF;AAbD,sBAaC"}
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const crypto_1 = require("crypto");
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const crash_1 = __importDefault(require("./crash"));
8
+ const crash_1 = require("./crash");
9
9
  const testData = [
10
10
  {
11
11
  serverSeed: 'GN263y8yIlX7euoO7mYMwIgqbBJDQ+2wlnSdHEzKQAzzBfIZcjShX+ht5GSCvjTSlTG4xclqmzLtq4hrCfB1mT6dUiQ3Gg90U8gjctWMHhw=',
@@ -22,7 +22,7 @@ describe('Crash', () => {
22
22
  it('be able to provably result', () => {
23
23
  testData.forEach((e) => {
24
24
  const resultHex = generateDigestHex(e);
25
- const result = crash_1.default.getResult(resultHex);
25
+ const result = crash_1.Crash.getResult(resultHex);
26
26
  expect(result.decimalPlaces(2, bignumber_js_1.default.ROUND_DOWN).toNumber()).toBeCloseTo(e.multiplier, 2);
27
27
  });
28
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"crash.spec.js","sourceRoot":"","sources":["../../src/games/crash.spec.ts"],"names":[],"mappings":";;;;;AAAA,mCAAoC;AACpC,gEAAqC;AACrC,oDAA4B;AAE5B,MAAM,QAAQ,GAAG;IACf;QACE,UAAU,EAAE,8GAA8G;QAC1H,WAAW,EAAE,YAAY;QACzB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kEAAkE;QAC/E,UAAU,EAAE,GAAG;KAChB;CACF,CAAC;AAEF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,eAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,sBAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,EAAE,UAAU,EAAE,WAAW,EAA+C;IACjG,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"crash.spec.js","sourceRoot":"","sources":["../../src/games/crash.spec.ts"],"names":[],"mappings":";;;;;AAAA,mCAAoC;AACpC,gEAAqC;AACrC,mCAAgC;AAEhC,MAAM,QAAQ,GAAG;IACf;QACE,UAAU,EAAE,8GAA8G;QAC1H,WAAW,EAAE,YAAY;QACzB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kEAAkE;QAC/E,UAAU,EAAE,GAAG;KAChB;CACF,CAAC;AAEF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,sBAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,EAAE,UAAU,EAAE,WAAW,EAA+C;IACjG,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
@@ -3,17 +3,15 @@ export declare enum DiceDirection {
3
3
  ABOVE = "ABOVE",
4
4
  BELOW = "BELOW"
5
5
  }
6
- declare class Dice {
7
- getResult(hexStr: string): BigNumber;
8
- private convertToBN;
9
- isWin(direction: DiceDirection, playerBet: number, result: number): boolean;
10
- isWinBN(direction: DiceDirection, playerBet: BigNumber, result: BigNumber): boolean;
11
- calculateMultiplier(direction: DiceDirection, playerBet: number, edgeBps: number): number;
12
- calculateMultiplierBN(direction: DiceDirection, playerBet: BigNumber, edgeBps: number): BigNumber;
13
- calculateWinChance(direction: DiceDirection, playerBet: number): number;
14
- calculateWinChanceBN(direction: DiceDirection, playerBet: BigNumber): BigNumber;
15
- calculateBetFromMultiplier(direction: DiceDirection, multiplier: number, edgeBps: number): number;
16
- calculateBetFromWinChance(direction: DiceDirection, winChance: number): number;
6
+ export declare class Dice {
7
+ static getResult(hexStr: string): BigNumber;
8
+ private static convertToBN;
9
+ static isWin(direction: DiceDirection, playerBet: number, result: number): boolean;
10
+ static isWinBN(direction: DiceDirection, playerBet: BigNumber, result: BigNumber): boolean;
11
+ static calculateMultiplier(direction: DiceDirection, playerBet: number, edgeBps: number): number;
12
+ static calculateMultiplierBN(direction: DiceDirection, playerBet: BigNumber, edgeBps: number): BigNumber;
13
+ static calculateWinChance(direction: DiceDirection, playerBet: number): number;
14
+ static calculateWinChanceBN(direction: DiceDirection, playerBet: BigNumber): BigNumber;
15
+ static calculateBetFromMultiplier(direction: DiceDirection, multiplier: number, edgeBps: number): number;
16
+ static calculateBetFromWinChance(direction: DiceDirection, winChance: number): number;
17
17
  }
18
- declare const _default: Dice;
19
- export default _default;
package/lib/games/dice.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DiceDirection = void 0;
6
+ exports.Dice = exports.DiceDirection = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const edge_1 = require("../utils/edge");
9
9
  const hex_to_bytes_1 = require("../utils/hex-to-bytes");
@@ -18,7 +18,7 @@ const TOTAL_DICE_RESULTS_EFFECTIVE = TOTAL_DICE_RESULTS.minus(1);
18
18
  const DICE_CONVERSION_MULTIPLIER = new bignumber_js_1.default(100);
19
19
  const WIN_CHANCE_CONVERSION_MULTIPLIER = new bignumber_js_1.default(100);
20
20
  class Dice {
21
- getResult(hexStr) {
21
+ static getResult(hexStr) {
22
22
  const gameResultBytes = (0, hex_to_bytes_1.hexToBytes)(hexStr);
23
23
  let result = new bignumber_js_1.default(0);
24
24
  for (let i = 0; i < 4; i++) {
@@ -28,13 +28,13 @@ class Dice {
28
28
  result = result.multipliedBy(TOTAL_DICE_RESULTS).integerValue(bignumber_js_1.default.ROUND_DOWN);
29
29
  return result;
30
30
  }
31
- convertToBN(playerBet) {
31
+ static convertToBN(playerBet) {
32
32
  return new bignumber_js_1.default(playerBet).multipliedBy(DICE_CONVERSION_MULTIPLIER);
33
33
  }
34
- isWin(direction, playerBet, result) {
34
+ static isWin(direction, playerBet, result) {
35
35
  return this.isWinBN(direction, this.convertToBN(playerBet), this.convertToBN(result));
36
36
  }
37
- isWinBN(direction, playerBet, result) {
37
+ static isWinBN(direction, playerBet, result) {
38
38
  if (direction === DiceDirection.ABOVE && result.isGreaterThan(playerBet)) {
39
39
  return true;
40
40
  }
@@ -43,19 +43,19 @@ class Dice {
43
43
  }
44
44
  return false;
45
45
  }
46
- calculateMultiplier(direction, playerBet, edgeBps) {
46
+ static calculateMultiplier(direction, playerBet, edgeBps) {
47
47
  const result = this.calculateMultiplierBN(direction, this.convertToBN(playerBet), edgeBps);
48
48
  return result.toNumber();
49
49
  }
50
- calculateMultiplierBN(direction, playerBet, edgeBps) {
50
+ static calculateMultiplierBN(direction, playerBet, edgeBps) {
51
51
  const winChance = this.calculateWinChanceBN(direction, playerBet);
52
52
  return winChance.pow(-1).multipliedBy((0, edge_1.calculateEdgeMultiplier)(edgeBps)).decimalPlaces(4);
53
53
  }
54
- calculateWinChance(direction, playerBet) {
54
+ static calculateWinChance(direction, playerBet) {
55
55
  const result = this.calculateWinChanceBN(direction, this.convertToBN(playerBet));
56
56
  return result.multipliedBy(100).decimalPlaces(4).toNumber();
57
57
  }
58
- calculateWinChanceBN(direction, playerBet) {
58
+ static calculateWinChanceBN(direction, playerBet) {
59
59
  let possibleOutcomes;
60
60
  if (direction === DiceDirection.ABOVE) {
61
61
  possibleOutcomes = TOTAL_DICE_RESULTS_EFFECTIVE.minus(playerBet);
@@ -68,12 +68,12 @@ class Dice {
68
68
  }
69
69
  return possibleOutcomes.dividedBy(TOTAL_DICE_RESULTS_EFFECTIVE);
70
70
  }
71
- calculateBetFromMultiplier(direction, multiplier, edgeBps) {
71
+ static calculateBetFromMultiplier(direction, multiplier, edgeBps) {
72
72
  const multiplierBeforeEdge = new bignumber_js_1.default(multiplier).dividedBy((0, edge_1.calculateEdgeMultiplier)(edgeBps));
73
73
  const winChance = new bignumber_js_1.default(1).dividedBy(multiplierBeforeEdge).multipliedBy(WIN_CHANCE_CONVERSION_MULTIPLIER).toNumber();
74
74
  return this.calculateBetFromWinChance(direction, winChance);
75
75
  }
76
- calculateBetFromWinChance(direction, winChance) {
76
+ static calculateBetFromWinChance(direction, winChance) {
77
77
  const winChanceBN = new bignumber_js_1.default(winChance).dividedBy(WIN_CHANCE_CONVERSION_MULTIPLIER);
78
78
  let result;
79
79
  if (direction === DiceDirection.BELOW) {
@@ -88,5 +88,5 @@ class Dice {
88
88
  return result.dividedBy(DICE_CONVERSION_MULTIPLIER).decimalPlaces(2).toNumber();
89
89
  }
90
90
  }
91
- exports.default = new Dice();
91
+ exports.Dice = Dice;
92
92
  //# sourceMappingURL=dice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dice.js","sourceRoot":"","sources":["../../src/games/dice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dice.js","sourceRoot":"","sources":["../../src/games/dice.ts"],"names":[],"mappings":"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"}
@@ -1,58 +1,35 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
- const dice_1 = __importStar(require("./dice"));
3
+ const dice_1 = require("./dice");
27
4
  const edgeBps = 100;
28
5
  const results = [
29
- { direction: dice_1.DiceDirection.ABOVE, multiplier: 2, bet: 50.50, winChance: 49.5 },
6
+ { direction: dice_1.DiceDirection.ABOVE, multiplier: 2, bet: 50.5, winChance: 49.5 },
30
7
  { direction: dice_1.DiceDirection.BELOW, multiplier: 1.9412, bet: 51, winChance: 51 },
31
8
  { direction: dice_1.DiceDirection.BELOW, multiplier: 2.3571, bet: 42, winChance: 42 },
32
- { direction: dice_1.DiceDirection.BELOW, multiplier: 6.7762, bet: 14.61, winChance: 14.61 }
9
+ { direction: dice_1.DiceDirection.BELOW, multiplier: 6.7762, bet: 14.61, winChance: 14.61 },
33
10
  ];
34
11
  describe('Dice', () => {
35
12
  results.forEach((item) => {
36
13
  describe(`${JSON.stringify(item)}`, () => {
37
14
  it('be able to calculate the correct win chances', () => {
38
- expect(dice_1.default.calculateWinChance(item.direction, item.bet)).toBe(item.winChance);
15
+ expect(dice_1.Dice.calculateWinChance(item.direction, item.bet)).toBe(item.winChance);
39
16
  });
40
17
  it('should be able to calulate the correct multiplier', () => {
41
- expect(dice_1.default.calculateMultiplier(item.direction, item.bet, edgeBps)).toBe(item.multiplier);
18
+ expect(dice_1.Dice.calculateMultiplier(item.direction, item.bet, edgeBps)).toBe(item.multiplier);
42
19
  });
43
20
  it('should calculate the bet number based on win chance', () => {
44
- expect(dice_1.default.calculateBetFromWinChance(item.direction, item.winChance)).toEqual(item.bet);
21
+ expect(dice_1.Dice.calculateBetFromWinChance(item.direction, item.winChance)).toEqual(item.bet);
45
22
  });
46
23
  it('should calculate the bet number based on multiplier', () => {
47
- expect(dice_1.default.calculateBetFromMultiplier(item.direction, item.multiplier, edgeBps)).toEqual(item.bet);
24
+ expect(dice_1.Dice.calculateBetFromMultiplier(item.direction, item.multiplier, edgeBps)).toEqual(item.bet);
48
25
  });
49
26
  });
50
27
  });
51
28
  it('should be able to determine win or loss', () => {
52
- expect(dice_1.default.isWin(dice_1.DiceDirection.ABOVE, 50, 49)).toBe(false);
53
- expect(dice_1.default.isWin(dice_1.DiceDirection.ABOVE, 50, 51)).toBe(true);
54
- expect(dice_1.default.isWin(dice_1.DiceDirection.BELOW, 50, 49)).toBe(true);
55
- expect(dice_1.default.isWin(dice_1.DiceDirection.BELOW, 50, 51)).toBe(false);
29
+ expect(dice_1.Dice.isWin(dice_1.DiceDirection.ABOVE, 50, 49)).toBe(false);
30
+ expect(dice_1.Dice.isWin(dice_1.DiceDirection.ABOVE, 50, 51)).toBe(true);
31
+ expect(dice_1.Dice.isWin(dice_1.DiceDirection.BELOW, 50, 49)).toBe(true);
32
+ expect(dice_1.Dice.isWin(dice_1.DiceDirection.BELOW, 50, 51)).toBe(false);
56
33
  });
57
34
  });
58
35
  //# sourceMappingURL=dice.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dice.spec.js","sourceRoot":"","sources":["../../src/games/dice.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA6C;AAE7C,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB,MAAM,OAAO,GAAG;IACd,EAAE,SAAS,EAAE,oBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IAC9E,EAAE,SAAS,EAAE,oBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC9E,EAAE,SAAS,EAAE,oBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC9E,EAAE,SAAS,EAAE,oBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;CACrF,CAAA;AAED,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACvB,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;YACvC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;gBACtD,MAAM,CAAC,cAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjF,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;gBAC3D,MAAM,CAAC,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;gBAC7D,MAAM,CAAC,cAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3F,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;gBAC7D,MAAM,CAAC,cAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtG,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,cAAI,CAAC,KAAK,CAAC,oBAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,cAAI,CAAC,KAAK,CAAC,oBAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,cAAI,CAAC,KAAK,CAAC,oBAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,cAAI,CAAC,KAAK,CAAC,oBAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"dice.spec.js","sourceRoot":"","sources":["../../src/games/dice.spec.ts"],"names":[],"mappings":";;AAAA,iCAA6C;AAE7C,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB,MAAM,OAAO,GAAG;IACd,EAAE,SAAS,EAAE,oBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;IAC7E,EAAE,SAAS,EAAE,oBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC9E,EAAE,SAAS,EAAE,oBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC9E,EAAE,SAAS,EAAE,oBAAa,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;CACrF,CAAC;AAEF,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACvB,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;YACvC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;gBACtD,MAAM,CAAC,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;gBAC3D,MAAM,CAAC,WAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;gBAC7D,MAAM,CAAC,WAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3F,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;gBAC7D,MAAM,CAAC,WAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtG,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,WAAI,CAAC,KAAK,CAAC,oBAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,WAAI,CAAC,KAAK,CAAC,oBAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,WAAI,CAAC,KAAK,CAAC,oBAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,WAAI,CAAC,KAAK,CAAC,oBAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -7,20 +7,18 @@ export declare enum HiloGuess {
7
7
  BELOW = "BELOW",
8
8
  SAME = "SAME"
9
9
  }
10
- declare class Hilo {
11
- getResult(hexStr: string, cardNo: number): number;
12
- getResults(hexStr: string[]): number[];
13
- toComparableNo(result: number): number;
14
- isAllowGuess(previousCard: number, guess: HiloGuess): boolean;
15
- isGuessCorrect(previousCard: number, guess: HiloGuess, result: number): boolean;
16
- calculateTotalMultiplierBN(actions: {
10
+ export declare class Hilo {
11
+ static getResult(hexStr: string, cardNo: number): number;
12
+ static getResults(hexStr: string[]): number[];
13
+ static toComparableNo(result: number): number;
14
+ static isAllowGuess(previousCard: number, guess: HiloGuess): boolean;
15
+ static isGuessCorrect(previousCard: number, guess: HiloGuess, result: number): boolean;
16
+ static calculateTotalMultiplierBN(actions: {
17
17
  guess: HiloGuess;
18
18
  lastCard: number;
19
19
  }[], edgeBps: number): BigNumber;
20
- calculateMultiplier(guess: HiloGuess, previousCard: number, edgeBps: number): number;
21
- calculateMultiplierBN(guess: HiloGuess, previousCard: number, edgeBps: number): BigNumber;
22
- calculateWinChance(guess: HiloGuess, previousCard: number): number;
23
- calculateWinChanceBN(guess: HiloGuess, previousCard: number): BigNumber;
20
+ static calculateMultiplier(guess: HiloGuess, previousCard: number, edgeBps: number): number;
21
+ static calculateMultiplierBN(guess: HiloGuess, previousCard: number, edgeBps: number): BigNumber;
22
+ static calculateWinChance(guess: HiloGuess, previousCard: number): number;
23
+ static calculateWinChanceBN(guess: HiloGuess, previousCard: number): BigNumber;
24
24
  }
25
- declare const _default: Hilo;
26
- export default _default;
package/lib/games/hilo.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HiloGuess = void 0;
6
+ exports.Hilo = exports.HiloGuess = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const utils_1 = require("../utils");
9
9
  const BYTE_TOTAL = new bignumber_js_1.default(256);
@@ -18,7 +18,7 @@ var HiloGuess;
18
18
  HiloGuess["SAME"] = "SAME";
19
19
  })(HiloGuess = exports.HiloGuess || (exports.HiloGuess = {}));
20
20
  class Hilo {
21
- getResult(hexStr, cardNo) {
21
+ static getResult(hexStr, cardNo) {
22
22
  const bytePosition = cardNo % 8;
23
23
  const bytes = (0, utils_1.hexToBytes)(hexStr);
24
24
  let result = new bignumber_js_1.default(0);
@@ -28,7 +28,7 @@ class Hilo {
28
28
  }
29
29
  return result.multipliedBy(52).integerValue(bignumber_js_1.default.ROUND_FLOOR).toNumber();
30
30
  }
31
- getResults(hexStr) {
31
+ static getResults(hexStr) {
32
32
  const results = [];
33
33
  for (let i = 0; i < hexStr.length * 8; i++) {
34
34
  const hexNo = Math.trunc(i / 8);
@@ -36,7 +36,7 @@ class Hilo {
36
36
  }
37
37
  return results;
38
38
  }
39
- toComparableNo(result) {
39
+ static toComparableNo(result) {
40
40
  const comparableNo = Math.trunc(result / 4) + 2;
41
41
  if (comparableNo === 14) {
42
42
  return 1;
@@ -45,7 +45,7 @@ class Hilo {
45
45
  return comparableNo;
46
46
  }
47
47
  }
48
- isAllowGuess(previousCard, guess) {
48
+ static isAllowGuess(previousCard, guess) {
49
49
  if (guess === HiloGuess.SKIP) {
50
50
  return true;
51
51
  }
@@ -57,7 +57,7 @@ class Hilo {
57
57
  }
58
58
  return guess === HiloGuess.SAME_OR_BELOW || guess === HiloGuess.SAME_OR_ABOVE;
59
59
  }
60
- isGuessCorrect(previousCard, guess, result) {
60
+ static isGuessCorrect(previousCard, guess, result) {
61
61
  if (guess === HiloGuess.SAME) {
62
62
  return this.toComparableNo(result) === this.toComparableNo(previousCard);
63
63
  }
@@ -77,25 +77,25 @@ class Hilo {
77
77
  return false;
78
78
  }
79
79
  }
80
- calculateTotalMultiplierBN(actions, edgeBps) {
80
+ static calculateTotalMultiplierBN(actions, edgeBps) {
81
81
  const totalWinChance = actions
82
82
  .map((action) => this.calculateWinChanceBN(action.guess, action.lastCard))
83
83
  .reduce((prev, curr) => prev.multipliedBy(curr), (0, bignumber_js_1.default)(1));
84
84
  return totalWinChance.pow(-1).multipliedBy((0, utils_1.calculateEdgeMultiplier)(edgeBps)).decimalPlaces(4);
85
85
  }
86
- calculateMultiplier(guess, previousCard, edgeBps) {
86
+ static calculateMultiplier(guess, previousCard, edgeBps) {
87
87
  const result = this.calculateMultiplierBN(guess, previousCard, edgeBps);
88
88
  return result.toNumber();
89
89
  }
90
- calculateMultiplierBN(guess, previousCard, edgeBps) {
90
+ static calculateMultiplierBN(guess, previousCard, edgeBps) {
91
91
  const winChance = this.calculateWinChanceBN(guess, previousCard);
92
92
  return winChance.pow(-1).multipliedBy((0, utils_1.calculateEdgeMultiplier)(edgeBps)).decimalPlaces(4);
93
93
  }
94
- calculateWinChance(guess, previousCard) {
94
+ static calculateWinChance(guess, previousCard) {
95
95
  const result = this.calculateWinChanceBN(guess, previousCard);
96
96
  return result.multipliedBy(100).decimalPlaces(4).toNumber();
97
97
  }
98
- calculateWinChanceBN(guess, previousCard) {
98
+ static calculateWinChanceBN(guess, previousCard) {
99
99
  let possibleOutcomes;
100
100
  if (guess === HiloGuess.SAME) {
101
101
  possibleOutcomes = (0, bignumber_js_1.default)(1);
@@ -118,5 +118,5 @@ class Hilo {
118
118
  return possibleOutcomes.dividedBy(TOTAL_CARD);
119
119
  }
120
120
  }
121
- exports.default = new Hilo();
121
+ exports.Hilo = Hilo;
122
122
  //# sourceMappingURL=hilo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hilo.js","sourceRoot":"","sources":["../../src/games/hilo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hilo.js","sourceRoot":"","sources":["../../src/games/hilo.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const crypto_1 = require("crypto");
7
- const hilo_1 = __importDefault(require("./hilo"));
4
+ const hilo_1 = require("./hilo");
8
5
  describe('HiLo', () => {
9
6
  it('be able to provably result', () => {
10
7
  const gameSeeds = [
@@ -38,7 +35,7 @@ describe('HiLo', () => {
38
35
  ];
39
36
  gameSeeds.forEach((e) => {
40
37
  const resultHex = generateDigestHex(e);
41
- const results = hilo_1.default.getResults(resultHex);
38
+ const results = hilo_1.Hilo.getResults(resultHex);
42
39
  expect(results.slice(0, 52)).toEqual(e.results);
43
40
  });
44
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"hilo.spec.js","sourceRoot":"","sources":["../../src/games/hilo.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hilo.spec.js","sourceRoot":"","sources":["../../src/games/hilo.spec.ts"],"names":[],"mappings":"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"}
@@ -9,14 +9,13 @@ interface KenoConfig {
9
9
  tiles: number;
10
10
  payout: Record<KenoRiskLevel, number[]>;
11
11
  }
12
- declare class Keno {
13
- configs(): KenoConfig[];
14
- calculateMultiplier(risk: KenoRiskLevel, selectedTiles: number[], results: number[]): BigNumber;
15
- getResults(hexStr: string[], rows: number): number[];
16
- getChance({ correctPicks, picked }: {
12
+ export declare class Keno {
13
+ static configs(): KenoConfig[];
14
+ static calculateMultiplier(risk: KenoRiskLevel, selectedTiles: number[], results: number[]): BigNumber;
15
+ static getResults(hexStr: string[], rows: number): number[];
16
+ static getChance({ correctPicks, picked }: {
17
17
  correctPicks: number;
18
18
  picked: number;
19
19
  }): BigNumber;
20
20
  }
21
- declare const _default: Keno;
22
- export default _default;
21
+ export {};
package/lib/games/keno.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.KenoRiskLevel = void 0;
6
+ exports.Keno = exports.KenoRiskLevel = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const utils_1 = require("../utils");
9
9
  const ncr_1 = require("../utils/ncr");
@@ -109,15 +109,15 @@ const kenoConfigs = [
109
109
  },
110
110
  ];
111
111
  class Keno {
112
- configs() {
112
+ static configs() {
113
113
  return kenoConfigs;
114
114
  }
115
- calculateMultiplier(risk, selectedTiles, results) {
115
+ static calculateMultiplier(risk, selectedTiles, results) {
116
116
  var _a;
117
117
  const matchedTiles = results.filter((result) => selectedTiles.includes(result));
118
118
  return new bignumber_js_1.default(this.configs().find((config) => config.tiles === selectedTiles.length).payout[risk][(_a = matchedTiles === null || matchedTiles === void 0 ? void 0 : matchedTiles.length) !== null && _a !== void 0 ? _a : 0]);
119
119
  }
120
- getResults(hexStr, rows) {
120
+ static getResults(hexStr, rows) {
121
121
  const results = [];
122
122
  const grids = Array.from(Array(TOTAL_TILES.toNumber()).keys());
123
123
  hexStr.map(utils_1.hexToBytes).every((gameResultBytes, counter) => {
@@ -137,9 +137,9 @@ class Keno {
137
137
  });
138
138
  return results;
139
139
  }
140
- getChance({ correctPicks, picked }) {
140
+ static getChance({ correctPicks, picked }) {
141
141
  return new bignumber_js_1.default((0, ncr_1.nCr)(10, correctPicks)).multipliedBy((0, ncr_1.nCr)(30, picked - correctPicks)).dividedBy(new bignumber_js_1.default((0, ncr_1.nCr)(40, picked)));
142
142
  }
143
143
  }
144
- exports.default = new Keno();
144
+ exports.Keno = Keno;
145
145
  //# sourceMappingURL=keno.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keno.js","sourceRoot":"","sources":["../../src/games/keno.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keno.js","sourceRoot":"","sources":["../../src/games/keno.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const crypto_1 = require("crypto");
7
- const keno_1 = __importDefault(require("./keno"));
4
+ const keno_1 = require("./keno");
8
5
  describe('Keno', () => {
9
6
  it('be able to provably result', () => {
10
7
  const gameSeeds = [
@@ -29,7 +26,7 @@ describe('Keno', () => {
29
26
  ];
30
27
  gameSeeds.forEach((e) => {
31
28
  const resultHex = generateDigestHex(e);
32
- const results = keno_1.default.getResults(resultHex, 10);
29
+ const results = keno_1.Keno.getResults(resultHex, 10);
33
30
  expect(results).toEqual(e.results);
34
31
  });
35
32
  });
@@ -58,12 +55,10 @@ test('should generate correct changes', () => {
58
55
  '0.0000000',
59
56
  ];
60
57
  correctPicks.forEach((pick) => {
61
- expect(keno_1.default
62
- .getChance({
58
+ expect(keno_1.Keno.getChance({
63
59
  picked: 10,
64
60
  correctPicks: pick,
65
- })
66
- .toFixed(7)).toEqual(result[pick]);
61
+ }).toFixed(7)).toEqual(result[pick]);
67
62
  });
68
63
  });
69
64
  //# sourceMappingURL=keno.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keno.spec.js","sourceRoot":"","sources":["../../src/games/keno.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keno.spec.js","sourceRoot":"","sources":["../../src/games/keno.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  import BigNumber from 'bignumber.js';
2
- declare class Limbo {
3
- getResult(hexStr: string, edgeBps: number): BigNumber;
2
+ export declare class Limbo {
3
+ static getResult(hexStr: string, edgeBps: number): BigNumber;
4
4
  }
5
- declare const _default: Limbo;
6
- export default _default;