@kalamba/sdk 0.30.0 → 0.35.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.
@@ -0,0 +1,282 @@
1
+ /**
2
+ * BSD 3-Clause License
3
+ * Copyright (c) 2026, Kalamba Games Limited
4
+ */
5
+ function l(m, i) {
6
+ return m * i / 100;
7
+ }
8
+ function C(m, i, t) {
9
+ if (!["string", "number"].includes(typeof i))
10
+ return "NaN";
11
+ const { locales: n } = m;
12
+ try {
13
+ return new Intl.NumberFormat(n, {
14
+ ...t,
15
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
16
+ // @ts-ignore
17
+ numberingSystem: "latn",
18
+ style: "decimal"
19
+ }).format(+i);
20
+ } catch {
21
+ return `${i}`;
22
+ }
23
+ }
24
+ const D = "XTS";
25
+ var r = /* @__PURE__ */ ((m) => (m.Currency = "Currency", m.Number = "Number", m))(r || {}), s = /* @__PURE__ */ ((m) => (m.Coins = "Coins", m.Money = "Money", m))(s || {});
26
+ const F = {
27
+ /* eslint-disable sort-keys-fix/sort-keys-fix */
28
+ // ARSB is the internal currency relevant for invoicing purposes, players should see it as ARS
29
+ ARSB: { displayAs: "ARS", maximumFractionDigits: 2, minimumFractionDigits: 2 },
30
+ // Social Casino chips
31
+ CHIPS: { maximumFractionDigits: 0, minimumFractionDigits: 0 },
32
+ // Binance Coin
33
+ BNB: { maximumFractionDigits: 6, minimumFractionDigits: 6 },
34
+ // Binance USD
35
+ BUSD: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
36
+ // Bitcoin
37
+ BTC: { maximumFractionDigits: 8, minimumFractionDigits: 2 },
38
+ mBTC: { maximumFractionDigits: 5, minimumFractionDigits: 2 },
39
+ uBTC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
40
+ // Bitcoin Cash
41
+ BCH: { maximumFractionDigits: 8, minimumFractionDigits: 2 },
42
+ mBCH: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
43
+ // Ethereum
44
+ ETH: { maximumFractionDigits: 8, minimumFractionDigits: 2 },
45
+ mETH: { maximumFractionDigits: 5, minimumFractionDigits: 2 },
46
+ uETH: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
47
+ // SocialCoin
48
+ SOC: { maximumFractionDigits: 8, minimumFractionDigits: 2 },
49
+ // Litecoins
50
+ LTC: { maximumFractionDigits: 8, minimumFractionDigits: 2 },
51
+ mLTC: { maximumFractionDigits: 5, minimumFractionDigits: 2 },
52
+ uLTC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
53
+ // Dogecoin
54
+ DOG: { maximumFractionDigits: 4, minimumFractionDigits: 2 },
55
+ // USD Coin
56
+ USDC: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
57
+ // Tether
58
+ USDT: { maximumFractionDigits: 4, minimumFractionDigits: 2 },
59
+ // Tron
60
+ TRX: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
61
+ // TrueUSD
62
+ TUSD: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
63
+ // Dai
64
+ DAI: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
65
+ // Monero
66
+ XMR: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
67
+ // CBET
68
+ CBET: { maximumFractionDigits: 0, minimumFractionDigits: 0 },
69
+ kCBET: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
70
+ // Shiba Inu
71
+ SHIB: { maximumFractionDigits: 0, minimumFractionDigits: 0 },
72
+ kSHIB: { maximumFractionDigits: 4, minimumFractionDigits: 2 },
73
+ // Neo
74
+ NEO: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
75
+ // Bitcoin SV
76
+ BSV: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
77
+ // EOS
78
+ EOS: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
79
+ // Dash
80
+ DASH: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
81
+ // Stellar
82
+ XLM: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
83
+ // South Korean Won
84
+ // While the jeon (1/100th of Won) is no longer used for everyday transactions,
85
+ // we received complaint from operator that we should show 2 fraction digits though, so we override it here.
86
+ KRW: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
87
+ // Vietnamese dong
88
+ kVND: { maximumFractionDigits: 4, minimumFractionDigits: 2 },
89
+ // Indonesian rupiah
90
+ kIDR: { maximumFractionDigits: 4, minimumFractionDigits: 2 },
91
+ // Serbian dinar
92
+ // There is a difference how browsers handle currency data:
93
+ // - Google Chrome uses CLDR, which defines 0 minor digits for RSD currency.
94
+ // - Firefox, Edge, Safari use ISO 4217, which defines 2 minor digits for RSD currency.
95
+ // We received complaint from operator that we should show 2 fraction digits though, so we override it here.
96
+ RSD: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
97
+ // Social currency on Stake
98
+ STAKEGC: { displayAs: "GC", maximumFractionDigits: 0, minimumFractionDigits: 0 },
99
+ STAKESC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
100
+ // Social currency on Relax
101
+ "BK.": { maximumFractionDigits: 2, minimumFractionDigits: 2 },
102
+ "BT.": { maximumFractionDigits: 2, minimumFractionDigits: 2 },
103
+ "FC.": { maximumFractionDigits: 2, minimumFractionDigits: 2 },
104
+ "GC.": { maximumFractionDigits: 2, minimumFractionDigits: 2 },
105
+ "SC.": { maximumFractionDigits: 2, minimumFractionDigits: 2 },
106
+ GC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
107
+ SC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
108
+ GLD: { displayAs: "GC.", maximumFractionDigits: 2, minimumFractionDigits: 2 },
109
+ SS1: { displayAs: "SC.", maximumFractionDigits: 2, minimumFractionDigits: 2 },
110
+ // Softswiss
111
+ SWEP: { displayAs: "SC.", maximumFractionDigits: 2, minimumFractionDigits: 2 },
112
+ GCLC: { displayAs: "GC.", maximumFractionDigits: 2, minimumFractionDigits: 2 },
113
+ SWPC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
114
+ LUKC: { displayAs: "LC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
115
+ TTSC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
116
+ TTGC: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
117
+ // Silvercash
118
+ SVC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
119
+ // Polkadot
120
+ DOT: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
121
+ // Solana
122
+ SOL: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
123
+ // XRP
124
+ XRP: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
125
+ // Cardano
126
+ ADA: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
127
+ // Toncoin
128
+ TON: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
129
+ // Fasttoken
130
+ FTN: { maximumFractionDigits: 4, minimumFractionDigits: 4 },
131
+ // Omani Rial
132
+ OMR: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
133
+ // Jordanian Dinar
134
+ JOD: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
135
+ // Bahraini Dinar
136
+ BHD: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
137
+ // Kuwaiti Dinar
138
+ KWD: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
139
+ // MicroGame
140
+ BNS: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
141
+ // Quanta
142
+ GRSC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
143
+ GRGC: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
144
+ // Softswiss
145
+ EEGP: { displayAs: "EP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
146
+ EPGP: { displayAs: "PP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
147
+ LUCK: { displayAs: "LUCK", maximumFractionDigits: 2, minimumFractionDigits: 2 },
148
+ CXCO: { displayAs: "CC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
149
+ GZCO: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
150
+ // gametech
151
+ FC: { displayAs: "", maximumFractionDigits: 2, minimumFractionDigits: 2 },
152
+ RC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
153
+ MWSC: { displayAs: "MC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
154
+ MWGC: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
155
+ // https://kalamba.atlassian.net/browse/FRAM-1829
156
+ // Myanmar Kyat
157
+ MMK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
158
+ // West African CFA franc
159
+ XOF: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
160
+ // Vietnamese dong
161
+ VND: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
162
+ // Burundian franc
163
+ BIF: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
164
+ // Chilean peso
165
+ CLP: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
166
+ // Guinean franc
167
+ GNF: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
168
+ // Iraqi dinar
169
+ IQD: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
170
+ // Icelandic króna
171
+ ISK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
172
+ // Paraguayan guaraní
173
+ PYG: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
174
+ // Central African CFA franc
175
+ XAF: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
176
+ // Lao kip
177
+ LAK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
178
+ // Lebanese pound
179
+ LBP: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
180
+ // Malagasy ariary
181
+ MGA: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
182
+ // Somali shilling
183
+ SOS: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
184
+ // Ugandan shilling
185
+ UGX: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
186
+ // Albanian lek
187
+ ALL: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
188
+ // Iranian rial
189
+ IRR: { maximumFractionDigits: 2, minimumFractionDigits: 2 }
190
+ /* eslint-enable sort-keys-fix/sort-keys-fix */
191
+ };
192
+ function x(m) {
193
+ return m in F;
194
+ }
195
+ function S(m) {
196
+ return x(m) ? {
197
+ ...F[m],
198
+ currency: D
199
+ } : {
200
+ currency: m
201
+ };
202
+ }
203
+ function f(m, i, t) {
204
+ const n = i.format(+m);
205
+ return x(t) ? n.replace(D, F[t].displayAs ?? t) : n;
206
+ }
207
+ function A(m, i, t) {
208
+ const { maximumFractionDigits: n, minimumFractionDigits: a } = t.resolvedOptions();
209
+ return C(m, i, { maximumFractionDigits: n, minimumFractionDigits: a });
210
+ }
211
+ function p(m, i, { as: t } = {
212
+ as: "Currency"
213
+ /* Currency */
214
+ }) {
215
+ const { canShowCurrency: n, currency: a } = m;
216
+ return t === "Number" || !n ? `${i}` : `${i} ${a}`;
217
+ }
218
+ function d(m, i, { as: t, from: n } = {
219
+ as: "Currency",
220
+ from: "Money"
221
+ /* Money */
222
+ }, a) {
223
+ if (!["string", "number"].includes(typeof i))
224
+ return "NaN";
225
+ const { canShowCurrency: u = !0, coinValueInCents: c, currency: o, locales: g } = m;
226
+ n === "Coins" && (i = l(+i, c));
227
+ try {
228
+ const y = S(o), e = new Intl.NumberFormat(g, {
229
+ ...y,
230
+ ...a,
231
+ currencyDisplay: "symbol",
232
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
233
+ // @ts-ignore
234
+ numberingSystem: "latn",
235
+ style: "currency"
236
+ });
237
+ return t === "Number" || !u ? A(m, i, e) : f(i, e, o);
238
+ } catch {
239
+ return p(m, i, { as: t });
240
+ }
241
+ }
242
+ class N {
243
+ #i;
244
+ constructor({ config: i }) {
245
+ this.#i = i;
246
+ }
247
+ formatNumber(i, t) {
248
+ const n = { locales: [this.#i.ui.language] };
249
+ return C(n, i, t);
250
+ }
251
+ formatCurrency(i, t = { as: r.Currency, from: s.Money }, n) {
252
+ const a = this.#i.ui.feature.showCurrency, u = this.#i.api.coinValueInCents, c = this.#i.api.currency || D, o = [this.#i.ui.language];
253
+ return d({
254
+ canShowCurrency: a,
255
+ coinValueInCents: u,
256
+ currency: c,
257
+ locales: o
258
+ }, i, t, n);
259
+ }
260
+ formatCoins(i, t) {
261
+ return this.formatCurrency(i, { as: r.Number, from: s.Coins }, t);
262
+ }
263
+ formatCoinsWithCurrency(i, t) {
264
+ return this.formatCurrency(i, { as: r.Currency, from: s.Coins }, t);
265
+ }
266
+ formatMoney(i, t) {
267
+ return this.formatCurrency(i, { as: r.Number, from: s.Money }, t);
268
+ }
269
+ formatMoneyWithCurrency(i, t) {
270
+ return this.formatCurrency(i, { as: r.Currency, from: s.Money }, t);
271
+ }
272
+ }
273
+ const T = {
274
+ json: JSON.parse
275
+ }, G = {
276
+ json: JSON.stringify
277
+ };
278
+ export {
279
+ N as I,
280
+ T as d,
281
+ G as e
282
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * BSD 3-Clause License
3
+ * Copyright (c) 2026, Kalamba Games Limited
4
+ */
5
+ "use strict";function l(m,i){return m*i/100}function C(m,i,t){if(!["string","number"].includes(typeof i))return"NaN";const{locales:n}=m;try{return new Intl.NumberFormat(n,{...t,numberingSystem:"latn",style:"decimal"}).format(+i)}catch{return`${i}`}}const D="XTS";var r=(m=>(m.Currency="Currency",m.Number="Number",m))(r||{}),s=(m=>(m.Coins="Coins",m.Money="Money",m))(s||{});const F={ARSB:{displayAs:"ARS",maximumFractionDigits:2,minimumFractionDigits:2},CHIPS:{maximumFractionDigits:0,minimumFractionDigits:0},BNB:{maximumFractionDigits:6,minimumFractionDigits:6},BUSD:{maximumFractionDigits:4,minimumFractionDigits:4},BTC:{maximumFractionDigits:8,minimumFractionDigits:2},mBTC:{maximumFractionDigits:5,minimumFractionDigits:2},uBTC:{maximumFractionDigits:2,minimumFractionDigits:2},BCH:{maximumFractionDigits:8,minimumFractionDigits:2},mBCH:{maximumFractionDigits:2,minimumFractionDigits:2},ETH:{maximumFractionDigits:8,minimumFractionDigits:2},mETH:{maximumFractionDigits:5,minimumFractionDigits:2},uETH:{maximumFractionDigits:2,minimumFractionDigits:2},SOC:{maximumFractionDigits:8,minimumFractionDigits:2},LTC:{maximumFractionDigits:8,minimumFractionDigits:2},mLTC:{maximumFractionDigits:5,minimumFractionDigits:2},uLTC:{maximumFractionDigits:2,minimumFractionDigits:2},DOG:{maximumFractionDigits:4,minimumFractionDigits:2},USDC:{maximumFractionDigits:4,minimumFractionDigits:4},USDT:{maximumFractionDigits:4,minimumFractionDigits:2},TRX:{maximumFractionDigits:2,minimumFractionDigits:2},TUSD:{maximumFractionDigits:2,minimumFractionDigits:2},DAI:{maximumFractionDigits:2,minimumFractionDigits:2},XMR:{maximumFractionDigits:4,minimumFractionDigits:4},CBET:{maximumFractionDigits:0,minimumFractionDigits:0},kCBET:{maximumFractionDigits:2,minimumFractionDigits:2},SHIB:{maximumFractionDigits:0,minimumFractionDigits:0},kSHIB:{maximumFractionDigits:4,minimumFractionDigits:2},NEO:{maximumFractionDigits:4,minimumFractionDigits:4},BSV:{maximumFractionDigits:4,minimumFractionDigits:4},EOS:{maximumFractionDigits:4,minimumFractionDigits:4},DASH:{maximumFractionDigits:4,minimumFractionDigits:4},XLM:{maximumFractionDigits:2,minimumFractionDigits:2},KRW:{maximumFractionDigits:2,minimumFractionDigits:2},kVND:{maximumFractionDigits:4,minimumFractionDigits:2},kIDR:{maximumFractionDigits:4,minimumFractionDigits:2},RSD:{maximumFractionDigits:2,minimumFractionDigits:2},STAKEGC:{displayAs:"GC",maximumFractionDigits:0,minimumFractionDigits:0},STAKESC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},"BK.":{maximumFractionDigits:2,minimumFractionDigits:2},"BT.":{maximumFractionDigits:2,minimumFractionDigits:2},"FC.":{maximumFractionDigits:2,minimumFractionDigits:2},"GC.":{maximumFractionDigits:2,minimumFractionDigits:2},"SC.":{maximumFractionDigits:2,minimumFractionDigits:2},GC:{maximumFractionDigits:2,minimumFractionDigits:2},SC:{maximumFractionDigits:2,minimumFractionDigits:2},GLD:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SS1:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},SWEP:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},GCLC:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SWPC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},LUKC:{displayAs:"LC",maximumFractionDigits:2,minimumFractionDigits:2},TTSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},TTGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},SVC:{maximumFractionDigits:2,minimumFractionDigits:2},DOT:{maximumFractionDigits:4,minimumFractionDigits:4},SOL:{maximumFractionDigits:4,minimumFractionDigits:4},XRP:{maximumFractionDigits:2,minimumFractionDigits:2},ADA:{maximumFractionDigits:2,minimumFractionDigits:2},TON:{maximumFractionDigits:4,minimumFractionDigits:4},FTN:{maximumFractionDigits:4,minimumFractionDigits:4},OMR:{maximumFractionDigits:2,minimumFractionDigits:2},JOD:{maximumFractionDigits:2,minimumFractionDigits:2},BHD:{maximumFractionDigits:2,minimumFractionDigits:2},KWD:{maximumFractionDigits:2,minimumFractionDigits:2},BNS:{maximumFractionDigits:2,minimumFractionDigits:2},GRSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},GRGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},EEGP:{displayAs:"EP",maximumFractionDigits:2,minimumFractionDigits:2},EPGP:{displayAs:"PP",maximumFractionDigits:2,minimumFractionDigits:2},LUCK:{displayAs:"LUCK",maximumFractionDigits:2,minimumFractionDigits:2},CXCO:{displayAs:"CC",maximumFractionDigits:2,minimumFractionDigits:2},GZCO:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},FC:{displayAs:"",maximumFractionDigits:2,minimumFractionDigits:2},RC:{maximumFractionDigits:2,minimumFractionDigits:2},MWSC:{displayAs:"MC",maximumFractionDigits:2,minimumFractionDigits:2},MWGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},MMK:{maximumFractionDigits:2,minimumFractionDigits:2},XOF:{maximumFractionDigits:2,minimumFractionDigits:2},VND:{maximumFractionDigits:2,minimumFractionDigits:2},BIF:{maximumFractionDigits:2,minimumFractionDigits:2},CLP:{maximumFractionDigits:2,minimumFractionDigits:2},GNF:{maximumFractionDigits:2,minimumFractionDigits:2},IQD:{maximumFractionDigits:2,minimumFractionDigits:2},ISK:{maximumFractionDigits:2,minimumFractionDigits:2},PYG:{maximumFractionDigits:2,minimumFractionDigits:2},XAF:{maximumFractionDigits:2,minimumFractionDigits:2},LAK:{maximumFractionDigits:2,minimumFractionDigits:2},LBP:{maximumFractionDigits:2,minimumFractionDigits:2},MGA:{maximumFractionDigits:2,minimumFractionDigits:2},SOS:{maximumFractionDigits:2,minimumFractionDigits:2},UGX:{maximumFractionDigits:2,minimumFractionDigits:2},ALL:{maximumFractionDigits:2,minimumFractionDigits:2},IRR:{maximumFractionDigits:2,minimumFractionDigits:2}};function x(m){return m in F}function S(m){return x(m)?{...F[m],currency:D}:{currency:m}}function f(m,i,t){const n=i.format(+m);return x(t)?n.replace(D,F[t].displayAs??t):n}function A(m,i,t){const{maximumFractionDigits:n,minimumFractionDigits:a}=t.resolvedOptions();return C(m,i,{maximumFractionDigits:n,minimumFractionDigits:a})}function d(m,i,{as:t}={as:"Currency"}){const{canShowCurrency:n,currency:a}=m;return t==="Number"||!n?`${i}`:`${i} ${a}`}function p(m,i,{as:t,from:n}={as:"Currency",from:"Money"},a){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:u=!0,coinValueInCents:c,currency:o,locales:g}=m;n==="Coins"&&(i=l(+i,c));try{const y=S(o),e=new Intl.NumberFormat(g,{...y,...a,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return t==="Number"||!u?A(m,i,e):f(i,e,o)}catch{return d(m,i,{as:t})}}class N{#i;constructor({config:i}){this.#i=i}formatNumber(i,t){const n={locales:[this.#i.ui.language]};return C(n,i,t)}formatCurrency(i,t={as:r.Currency,from:s.Money},n){const a=this.#i.ui.feature.showCurrency,u=this.#i.api.coinValueInCents,c=this.#i.api.currency||D,o=[this.#i.ui.language];return p({canShowCurrency:a,coinValueInCents:u,currency:c,locales:o},i,t,n)}formatCoins(i,t){return this.formatCurrency(i,{as:r.Number,from:s.Coins},t)}formatCoinsWithCurrency(i,t){return this.formatCurrency(i,{as:r.Currency,from:s.Coins},t)}formatMoney(i,t){return this.formatCurrency(i,{as:r.Number,from:s.Money},t)}formatMoneyWithCurrency(i,t){return this.formatCurrency(i,{as:r.Currency,from:s.Money},t)}}const T={json:JSON.parse},G={json:JSON.stringify};exports.I18n=N;exports.decoders=T;exports.encoders=G;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * BSD 3-Clause License
3
+ * Copyright (c) 2026, Kalamba Games Limited
4
+ */
5
+ "use strict";const O={CONNECTION_ERROR:"CONNECTION_ERROR",INVALID_BET_CURRENCY:"INVALID_BET_CURRENCY",INVALID_BET:"INVALID_BET",INVALID_CAGE_CODE:"INVALID_CAGE_CODE",INVALID_CLIENT_TYPE:"INVALID_CLIENT_TYPE",INVALID_MESSAGE_FORMAT:"INVALID_MESSAGE_FORMAT",INVALID_SESSION:"INVALID_SESSION",TOO_HIGH_BET_FREQUENCY:"TOO_HIGH_BET_FREQUENCY",TOO_HIGH_ACTION_FREQUENCY:"TOO_HIGH_ACTION_FREQUENCY",USER_LOCK_INVALID_PARAMS:"USER_LOCK_INVALID_PARAMS",USER_ALREADY_LOCKED:"USER_ALREADY_LOCKED",GAME_SERVER_ERROR:"GAME_SERVER_ERROR",SESSION_MANAGEMENT_ERROR:"SESSION_MANAGEMENT_ERROR",MESSAGE_SENDER_ERROR:"MESSAGE_SENDER_ERROR",FREE_ROUNDS_PROCESSING_ERROR:"FREE_ROUNDS_PROCESSING_ERROR",WEB_SESSION_NOT_OPEN:"WEB_SESSION_NOT_OPEN",GAMING_LIMITS_REACHED:"GAMING_LIMITS_REACHED",OUT_OF_MONEY:"OUT_OF_MONEY",UNFINISHED_ROUND_IN_PROGRESS:"UNFINISHED_ROUND_IN_PROGRESS",ACCESS_DENIED:"ACCESS_DENIED",CREDENTIALS_NOT_FOUND:"CREDENTIALS_NOT_FOUND",ALREADY_LOGGED_IN:"ALREADY_LOGGED_IN",GAME_UNAVAILABLE:"GAME_UNAVAILABLE",BONUS_RESTRICTION:"BONUS_RESTRICTION",TOO_MANY_OPEN_GAMES:"TOO_MANY_OPEN_GAMES",GAME_FROZEN:"GAME_FROZEN",WALLET_PROCESSING_ERROR:"WALLET_PROCESSING_ERROR",FORCED_OUTCOMES_NOT_ALLOWED:"FORCED_OUTCOMES_NOT_ALLOWED",MISSING_GAME_STATE:"MISSING_GAME_STATE",DATA_ACCESS_ERROR:"DATA_ACCESS_ERROR",UNKNOWN:"UNKNOWN"},R={CONNECTION_ERROR:"RELOAD",INVALID_BET_CURRENCY:"CLOSE",INVALID_BET:"CONTINUE",INVALID_CAGE_CODE:"CLOSE",INVALID_CLIENT_TYPE:"CLOSE",INVALID_MESSAGE_FORMAT:"CLOSE",INVALID_SESSION:"CLOSE",TOO_HIGH_BET_FREQUENCY:"CONTINUE",TOO_HIGH_ACTION_FREQUENCY:"CONTINUE",USER_LOCK_INVALID_PARAMS:"CLOSE",USER_ALREADY_LOCKED:"CLOSE",GAME_SERVER_ERROR:"RELOAD",SESSION_MANAGEMENT_ERROR:"RELOAD",MESSAGE_SENDER_ERROR:"RELOAD",FREE_ROUNDS_PROCESSING_ERROR:"RELOAD",WEB_SESSION_NOT_OPEN:"RELOAD",GAMING_LIMITS_REACHED:"CLOSE",OUT_OF_MONEY:"CONTINUE",UNFINISHED_ROUND_IN_PROGRESS:"CLOSE",ACCESS_DENIED:"CLOSE",CREDENTIALS_NOT_FOUND:"CLOSE",ALREADY_LOGGED_IN:"CLOSE",GAME_UNAVAILABLE:"CLOSE",BONUS_RESTRICTION:"CLOSE",TOO_MANY_OPEN_GAMES:"CLOSE",GAME_FROZEN:"CLOSE",WALLET_PROCESSING_ERROR:"CLOSE",FORCED_OUTCOMES_NOT_ALLOWED:"CONTINUE",MISSING_GAME_STATE:"RELOAD",DATA_ACCESS_ERROR:"RELOAD",UNKNOWN:"CLOSE"};class N extends Error{data;constructor(_){super(),this.name="RgsError",this.data=_}}class S extends Error{constructor(){super(),this.name="TimeoutError"}}exports.RgsError=N;exports.RgsErrorAction=R;exports.RgsErrorCode=O;exports.TimeoutError=S;
@@ -1,11 +1,8 @@
1
1
  /**
2
2
  * BSD 3-Clause License
3
- * Copyright (c) 2025, Kalamba Games Limited
3
+ * Copyright (c) 2026, Kalamba Games Limited
4
4
  */
5
- var R = Object.defineProperty;
6
- var S = (_, E, O) => E in _ ? R(_, E, { enumerable: !0, configurable: !0, writable: !0, value: O }) : _[E] = O;
7
- var N = (_, E, O) => S(_, typeof E != "symbol" ? E + "" : E, O);
8
- const I = {
5
+ const O = {
9
6
  CONNECTION_ERROR: "CONNECTION_ERROR",
10
7
  INVALID_BET_CURRENCY: "INVALID_BET_CURRENCY",
11
8
  INVALID_BET: "INVALID_BET",
@@ -37,7 +34,7 @@ const I = {
37
34
  MISSING_GAME_STATE: "MISSING_GAME_STATE",
38
35
  DATA_ACCESS_ERROR: "DATA_ACCESS_ERROR",
39
36
  UNKNOWN: "UNKNOWN"
40
- }, C = {
37
+ }, N = {
41
38
  CONNECTION_ERROR: "RELOAD",
42
39
  INVALID_BET_CURRENCY: "CLOSE",
43
40
  INVALID_BET: "CONTINUE",
@@ -70,21 +67,20 @@ const I = {
70
67
  DATA_ACCESS_ERROR: "RELOAD",
71
68
  UNKNOWN: "CLOSE"
72
69
  };
73
- class L extends Error {
74
- constructor(O) {
75
- super();
76
- N(this, "data");
77
- this.name = "RgsError", this.data = O;
70
+ class R extends Error {
71
+ data;
72
+ constructor(_) {
73
+ super(), this.name = "RgsError", this.data = _;
78
74
  }
79
75
  }
80
- class T extends Error {
76
+ class S extends Error {
81
77
  constructor() {
82
78
  super(), this.name = "TimeoutError";
83
79
  }
84
80
  }
85
81
  export {
86
- L as R,
87
- T,
88
- I as a,
89
- C as b
82
+ R,
83
+ S as T,
84
+ O as a,
85
+ N as b
90
86
  };
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * BSD 3-Clause License
3
- * Copyright (c) 2025, Kalamba Games Limited
3
+ * Copyright (c) 2026, Kalamba Games Limited
4
4
  */
5
- "use strict";var h=t=>{throw TypeError(t)};var A=(t,i,m)=>i.has(t)||h("Cannot "+m);var a=(t,i,m)=>(A(t,i,"read from private field"),m?m.call(t):i.get(t)),C=(t,i,m)=>i.has(t)?h("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(t):i.set(t,m),x=(t,i,m,n)=>(A(t,i,"write to private field"),n?n.call(t,m):i.set(t,m),m);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./errors-BXO3dlhS.cjs"),E=require("./encoders-DVHzIpWT.cjs");function R(t,i){return t*i/100}function T(t,i,m){if(!["string","number"].includes(typeof i))return"NaN";const{locales:n}=t;try{return new Intl.NumberFormat(n,{...m,numberingSystem:"latn",style:"decimal"}).format(+i)}catch{return`${i}`}}const f="XTS";var c=(t=>(t.Currency="Currency",t.Number="Number",t))(c||{}),e=(t=>(t.Coins="Coins",t.Money="Money",t))(e||{});const d={ARSB:{displayAs:"ARS",maximumFractionDigits:2,minimumFractionDigits:2},CHIPS:{maximumFractionDigits:0,minimumFractionDigits:0},BNB:{maximumFractionDigits:6,minimumFractionDigits:6},BUSD:{maximumFractionDigits:4,minimumFractionDigits:4},BTC:{maximumFractionDigits:8,minimumFractionDigits:2},mBTC:{maximumFractionDigits:5,minimumFractionDigits:2},uBTC:{maximumFractionDigits:2,minimumFractionDigits:2},BCH:{maximumFractionDigits:8,minimumFractionDigits:2},mBCH:{maximumFractionDigits:2,minimumFractionDigits:2},ETH:{maximumFractionDigits:8,minimumFractionDigits:2},mETH:{maximumFractionDigits:5,minimumFractionDigits:2},uETH:{maximumFractionDigits:2,minimumFractionDigits:2},SOC:{maximumFractionDigits:8,minimumFractionDigits:2},LTC:{maximumFractionDigits:8,minimumFractionDigits:2},mLTC:{maximumFractionDigits:5,minimumFractionDigits:2},uLTC:{maximumFractionDigits:2,minimumFractionDigits:2},DOG:{maximumFractionDigits:4,minimumFractionDigits:2},USDC:{maximumFractionDigits:4,minimumFractionDigits:4},USDT:{maximumFractionDigits:4,minimumFractionDigits:2},TRX:{maximumFractionDigits:2,minimumFractionDigits:2},TUSD:{maximumFractionDigits:2,minimumFractionDigits:2},DAI:{maximumFractionDigits:2,minimumFractionDigits:2},XMR:{maximumFractionDigits:4,minimumFractionDigits:4},CBET:{maximumFractionDigits:0,minimumFractionDigits:0},kCBET:{maximumFractionDigits:2,minimumFractionDigits:2},SHIB:{maximumFractionDigits:0,minimumFractionDigits:0},kSHIB:{maximumFractionDigits:4,minimumFractionDigits:2},NEO:{maximumFractionDigits:4,minimumFractionDigits:4},BSV:{maximumFractionDigits:4,minimumFractionDigits:4},EOS:{maximumFractionDigits:4,minimumFractionDigits:4},DASH:{maximumFractionDigits:4,minimumFractionDigits:4},XLM:{maximumFractionDigits:2,minimumFractionDigits:2},KRW:{maximumFractionDigits:2,minimumFractionDigits:2},kVND:{maximumFractionDigits:4,minimumFractionDigits:2},kIDR:{maximumFractionDigits:4,minimumFractionDigits:2},RSD:{maximumFractionDigits:2,minimumFractionDigits:2},STAKEGC:{displayAs:"GC",maximumFractionDigits:0,minimumFractionDigits:0},STAKESC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},"BK.":{maximumFractionDigits:2,minimumFractionDigits:2},"BT.":{maximumFractionDigits:2,minimumFractionDigits:2},"FC.":{maximumFractionDigits:2,minimumFractionDigits:2},"GC.":{maximumFractionDigits:2,minimumFractionDigits:2},"SC.":{maximumFractionDigits:2,minimumFractionDigits:2},GC:{maximumFractionDigits:2,minimumFractionDigits:2},SC:{maximumFractionDigits:2,minimumFractionDigits:2},GLD:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SS1:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},SWEP:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},GCLC:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SWPC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},LUKC:{displayAs:"LC",maximumFractionDigits:2,minimumFractionDigits:2},TTSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},TTGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},SVC:{maximumFractionDigits:2,minimumFractionDigits:2},DOT:{maximumFractionDigits:4,minimumFractionDigits:4},SOL:{maximumFractionDigits:4,minimumFractionDigits:4},XRP:{maximumFractionDigits:2,minimumFractionDigits:2},ADA:{maximumFractionDigits:2,minimumFractionDigits:2},TON:{maximumFractionDigits:4,minimumFractionDigits:4},FTN:{maximumFractionDigits:4,minimumFractionDigits:4},OMR:{maximumFractionDigits:2,minimumFractionDigits:2},JOD:{maximumFractionDigits:2,minimumFractionDigits:2},BHD:{maximumFractionDigits:2,minimumFractionDigits:2},KWD:{maximumFractionDigits:2,minimumFractionDigits:2},BNS:{maximumFractionDigits:2,minimumFractionDigits:2},GRSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},GRGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},EEGP:{displayAs:"EP",maximumFractionDigits:2,minimumFractionDigits:2},EPGP:{displayAs:"PP",maximumFractionDigits:2,minimumFractionDigits:2},LUCK:{displayAs:"LUCK",maximumFractionDigits:2,minimumFractionDigits:2},CXCO:{displayAs:"CC",maximumFractionDigits:2,minimumFractionDigits:2},GZCO:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},FC:{displayAs:"",maximumFractionDigits:2,minimumFractionDigits:2},RC:{maximumFractionDigits:2,minimumFractionDigits:2},MWSC:{displayAs:"MC",maximumFractionDigits:2,minimumFractionDigits:2},MWGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},MMK:{maximumFractionDigits:2,minimumFractionDigits:2},XOF:{maximumFractionDigits:2,minimumFractionDigits:2},VND:{maximumFractionDigits:2,minimumFractionDigits:2},BIF:{maximumFractionDigits:2,minimumFractionDigits:2},CLP:{maximumFractionDigits:2,minimumFractionDigits:2},GNF:{maximumFractionDigits:2,minimumFractionDigits:2},IQD:{maximumFractionDigits:2,minimumFractionDigits:2},ISK:{maximumFractionDigits:2,minimumFractionDigits:2},PYG:{maximumFractionDigits:2,minimumFractionDigits:2},XAF:{maximumFractionDigits:2,minimumFractionDigits:2},LAK:{maximumFractionDigits:2,minimumFractionDigits:2},LBP:{maximumFractionDigits:2,minimumFractionDigits:2},MGA:{maximumFractionDigits:2,minimumFractionDigits:2},SOS:{maximumFractionDigits:2,minimumFractionDigits:2},UGX:{maximumFractionDigits:2,minimumFractionDigits:2},ALL:{maximumFractionDigits:2,minimumFractionDigits:2},IRR:{maximumFractionDigits:2,minimumFractionDigits:2}};function w(t){return t in d}function M(t){return w(t)?{...d[t],currency:f}:{currency:t}}function P(t,i,m){const n=i.format(+t);return w(m)?n.replace(f,d[m].displayAs??m):n}function B(t,i,m){const{maximumFractionDigits:n,minimumFractionDigits:r}=m.resolvedOptions();return T(t,i,{maximumFractionDigits:n,minimumFractionDigits:r})}function b(t,i,{as:m}={as:"Currency"}){const{canShowCurrency:n,currency:r}=t;return m==="Number"||!n?`${i}`:`${i} ${r}`}function O(t,i,{as:m,from:n}={as:"Currency",from:"Money"},r){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:F=!0,coinValueInCents:o,currency:l,locales:p}=t;n==="Coins"&&(i=R(+i,o));try{const N=M(l),S=new Intl.NumberFormat(p,{...N,...r,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return m==="Number"||!F?B(t,i,S):P(i,S,l)}catch{return b(t,i,{as:m})}}var s;class G{constructor({config:i}){C(this,s);x(this,s,i)}formatNumber(i,m){const n={locales:[a(this,s).ui.language]};return T(n,i,m)}formatCurrency(i,m={as:c.Currency,from:e.Money},n){const r=a(this,s).ui.feature.showCurrency,F=a(this,s).api.coinValueInCents,o=a(this,s).api.currency||f,l=[a(this,s).ui.language];return O({canShowCurrency:r,coinValueInCents:F,currency:o,locales:l},i,m,n)}formatCoins(i,m){return this.formatCurrency(i,{as:c.Number,from:e.Coins},m)}formatCoinsWithCurrency(i,m){return this.formatCurrency(i,{as:c.Currency,from:e.Coins},m)}formatMoney(i,m){return this.formatCurrency(i,{as:c.Number,from:e.Money},m)}formatMoneyWithCurrency(i,m){return this.formatCurrency(i,{as:c.Currency,from:e.Money},m)}}s=new WeakMap;const I=()=>{};var g,D,y;class L{constructor({messagePort:i}){C(this,g);C(this,D);C(this,y);x(this,y,i),this.on("configured",m=>{x(this,g,m),x(this,D,new G({config:m}))})}get config(){if(!a(this,g))throw new Error("config is not initialized, you must open game first");return a(this,g)}get i18n(){if(!a(this,D))throw new Error("i18n is not initialized, you must open game first");return a(this,D)}request(i,...[m]){return new Promise(n=>{this.on(`${i}Response`,r=>n({type:"response",response:r}),{once:!0}),this.on(`${i}Error`,r=>n({type:"error",error:r}),{once:!0}),this.send(i,m)})}on(i,m,n){const r=function F(o){o.data.message===`kalamba:wrapper:${i}`&&(I("on",o.data.message.replace(/^kalamba:/,""),o.data.payload),m(o.data.payload),n!=null&&n.once&&window.removeEventListener("message",F))};window.addEventListener("message",r)}send(i,...[m]){a(this,y).postMessage({message:`kalamba:sdk:${i}`,payload:m},"*")}configure(i){this.send("configure",i)}async openGame(){const i=new Promise(n=>this.on("configured",n,{once:!0})),m=await this.request("openGame");if(m.type==="response")return await i,m.response;throw m.error.type==="timeout"?new u.TimeoutError:new u.RgsError(m.error.data)}async play(i,m){const n={contract:i,extra:m},r=await this.request("play",n);if(r.type==="response")return r.response;throw r.error.type==="timeout"?new u.TimeoutError:new u.RgsError(r.error.data)}}g=new WeakMap,D=new WeakMap,y=new WeakMap;exports.RgsError=u.RgsError;exports.RgsErrorCode=u.RgsErrorCode;exports.TimeoutError=u.TimeoutError;exports.decoders=E.decoders;exports.encoders=E.encoders;exports.I18n=G;exports.KalambaSdk=L;
5
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./errors-BZBs3Z5K.cjs"),i=require("./encoders-C-jSxC0Z.cjs"),d=()=>{};class u{#e;#r;#o;constructor({messagePort:e}){this.#o=e,this.on("configured",r=>{this.#e=r,this.#r=new i.I18n({config:r})})}get config(){if(!this.#e)throw new Error("config is not initialized, you must open game first");return this.#e}get i18n(){if(!this.#r)throw new Error("i18n is not initialized, you must open game first");return this.#r}request(e,...[r]){return new Promise(s=>{this.on(`${e}Response`,o=>s({type:"response",response:o}),{once:!0}),this.on(`${e}Error`,o=>s({type:"error",error:o}),{once:!0}),this.send(e,r)})}on(e,r,s){const o=function a(n){n.data.message===`kalamba:wrapper:${e}`&&(d("on",n.data.message.replace(/^kalamba:/,""),n.data.payload),r(n.data.payload),s?.once&&window.removeEventListener("message",a))};window.addEventListener("message",o)}send(e,...[r]){this.#o.postMessage({message:`kalamba:sdk:${e}`,payload:r},"*")}configure(e){this.send("configure",e)}async openGame(){const e=new Promise(s=>this.on("configured",s,{once:!0})),r=await this.request("openGame");if(r.type==="response")return await e,r.response;throw r.error.type==="timeout"?new t.TimeoutError:new t.RgsError(r.error.data)}async play(e,r){const s={contract:e,extra:r},o=await this.request("play",s);if(o.type==="response")return o.response;throw o.error.type==="timeout"?new t.TimeoutError:new t.RgsError(o.error.data)}}exports.RgsError=t.RgsError;exports.RgsErrorCode=t.RgsErrorCode;exports.TimeoutError=t.TimeoutError;exports.I18n=i.I18n;exports.decoders=i.decoders;exports.encoders=i.encoders;exports.KalambaSdk=u;
package/dist/index.d.ts CHANGED
@@ -53,6 +53,7 @@ export declare type CasinoOnlyMessagePayloadMap = {
53
53
  settings: Settings;
54
54
  suspend: never;
55
55
  unfreeze: never;
56
+ translations: NestedRecord<string, string>;
56
57
  };
57
58
 
58
59
  export declare type ContractPlayPayload = {
@@ -107,7 +108,7 @@ export declare const encoders: {
107
108
 
108
109
  export { FormatCurrencyOptions }
109
110
 
110
- export declare type ForwardToPluginsMessage<P extends PluginDomain> = keyof ForwardToPluginsMessageMap<'sdk'>[P] | keyof ForwardToPluginsMessageMap<'rgs'>[P] | keyof ForwardToPluginsMessageMap<'casino'>[P] | keyof ForwardToPluginsMessageMap<'telemetry'>[P];
111
+ export declare type ForwardToPluginsMessage<P extends PluginDomain> = keyof ForwardToPluginsMessageMap<'sdk'>[P] | keyof ForwardToPluginsMessageMap<'rgs'>[P] | keyof ForwardToPluginsMessageMap<'casino'>[P] | keyof ForwardToPluginsMessageMap<'telemetry'>[P] | keyof ForwardToPluginsMessageMap<'wrapper'>[P];
111
112
 
112
113
  export declare interface ForwardToPluginsMessageMap<SourceDomain extends DomainPrefix> {
113
114
  casino: ToCasinoPluginsForwardedMessageMap[SourceDomain];
@@ -115,7 +116,7 @@ export declare interface ForwardToPluginsMessageMap<SourceDomain extends DomainP
115
116
  telemetry: ToTelemetryPluginsForwardedMessageMap[SourceDomain];
116
117
  }
117
118
 
118
- export declare type ForwardToPluginsMessagePayload<P extends PluginDomain, M extends ForwardToPluginsMessage<P>> = ForwardToPluginsMessageMap<'sdk'>[P][M] & ForwardToPluginsMessageMap<'rgs'>[P][M] & ForwardToPluginsMessageMap<'casino'>[P][M] & ForwardToPluginsMessageMap<'telemetry'>[P][M];
119
+ export declare type ForwardToPluginsMessagePayload<P extends PluginDomain, M extends ForwardToPluginsMessage<P>> = ForwardToPluginsMessageMap<'sdk'>[P][M] & ForwardToPluginsMessageMap<'rgs'>[P][M] & ForwardToPluginsMessageMap<'casino'>[P][M] & ForwardToPluginsMessageMap<'telemetry'>[P][M] & ForwardToPluginsMessageMap<'wrapper'>[P][M];
119
120
 
120
121
  export declare type ForwardToSdkMessage = keyof ToSdkForwardedMessageMap;
121
122
 
@@ -287,7 +288,7 @@ export declare type PlayResponse = {
287
288
 
288
289
  export declare type PluginDomain = keyof ForwardToPluginsMessageMap<any>;
289
290
 
290
- export declare type PrefixedForwardToPluginsMessage<P extends PluginDomain> = PrefixTypes<keyof ForwardToPluginsMessageMap<'sdk'>[P], 'sdk'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'rgs'>[P], 'rgs'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'casino'>[P], 'casino'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'telemetry'>[P], 'telemetry'>;
291
+ export declare type PrefixedForwardToPluginsMessage<P extends PluginDomain> = PrefixTypes<keyof ForwardToPluginsMessageMap<'sdk'>[P], 'sdk'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'rgs'>[P], 'rgs'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'casino'>[P], 'casino'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'telemetry'>[P], 'telemetry'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'wrapper'>[P], 'wrapper'>;
291
292
 
292
293
  export declare type PrefixedMessage = keyof PrefixedMessageMap;
293
294
 
@@ -479,9 +480,6 @@ export declare type SdkOnlyMessagePayloadMap = {
479
480
  autoplay: {
480
481
  action: 'start' | 'stop' | 'pause' | 'resume';
481
482
  };
482
- balance: {
483
- balance: number;
484
- };
485
483
  bet: Bet;
486
484
  cashier: Cashier;
487
485
  choice: {
@@ -545,9 +543,9 @@ export declare class TimeoutError extends Error {
545
543
  }
546
544
 
547
545
  export declare type ToCasinoPluginsForwardedMessageMap = {
548
- sdk: Pick<SdkOnlyMessagePayloadMap, 'autoplay' | 'balance' | 'bet' | 'cashier' | 'choice' | 'close' | 'configure' | 'error' | 'history' | 'loadEnd' | 'loadProgress' | 'loadStart' | 'openGame' | 'play' | 'playCycleEnd' | 'playCycleStart' | 'playEnd' | 'playReady' | 'playStart' | 'settings' | 'fullscreen'>;
546
+ sdk: Pick<SdkOnlyMessagePayloadMap, 'autoplay' | 'bet' | 'cashier' | 'choice' | 'close' | 'configure' | 'error' | 'history' | 'loadEnd' | 'loadProgress' | 'loadStart' | 'openGame' | 'play' | 'playCycleEnd' | 'playCycleStart' | 'playEnd' | 'playReady' | 'playStart' | 'settings' | 'fullscreen'>;
549
547
  casino: undefined;
550
- rgs: Pick<RgsOnlyMessagePayloadMap, 'playResponse' | 'playError' | 'openGameResponse'>;
548
+ rgs: Pick<RgsOnlyMessagePayloadMap, 'balance' | 'playResponse' | 'playError' | 'openGameResponse'>;
551
549
  telemetry: undefined;
552
550
  wrapper: undefined;
553
551
  };
@@ -560,7 +558,7 @@ export declare type ToRgsPluginsForwardedMessageMap = {
560
558
  wrapper: undefined;
561
559
  };
562
560
 
563
- export declare type ToSdkForwardedMessageMap = Pick<CasinoOnlyMessagePayloadMap, 'balance' | 'bet' | 'choice' | 'freeze' | 'help' | 'paytable' | 'resume' | 'settings' | 'suspend' | 'unfreeze'> & Pick<RgsOnlyMessagePayloadMap, 'realityCheck' | 'openGameError' | 'openGameResponse' | 'playError' | 'playResponse'>;
561
+ export declare type ToSdkForwardedMessageMap = Pick<CasinoOnlyMessagePayloadMap, 'balance' | 'bet' | 'choice' | 'freeze' | 'help' | 'paytable' | 'resume' | 'settings' | 'suspend' | 'unfreeze'> & Pick<RgsOnlyMessagePayloadMap, 'balance' | 'realityCheck' | 'openGameError' | 'openGameResponse' | 'playError' | 'playResponse'>;
564
562
 
565
563
  export declare type ToTelemetryPluginsForwardedMessageMap = {
566
564
  sdk: Pick<SdkOnlyMessagePayloadMap, 'autoplay' | 'error' | 'loadStart' | 'loadProgress' | 'loadEnd' | 'playCycleStart' | 'playCycleEnd' | 'settings' | 'telemetry.click' | 'telemetry.orientationChange'>;
@@ -586,6 +584,7 @@ export declare type WrapperConfig = {
586
584
 
587
585
  export declare type WrapperOnlyMessagePayloadMap = {
588
586
  bet: Bet;
587
+ cashier: Cashier;
589
588
  close: never;
590
589
  configured: SdkConfig;
591
590
  error: SdkError;
@@ -608,8 +607,8 @@ export declare type WrapperState = {
608
607
  isSdkConfigured: boolean;
609
608
  balance: number;
610
609
  bet: Bet;
611
- openGameResponse?: OpenGameResponse;
612
- lastPlayResponse?: PlayResponse;
610
+ openGameResponse?: OpenGameResponse['contract'];
611
+ lastPlayResponse?: PlayResponse['contract'];
613
612
  freeRoundId?: string;
614
613
  };
615
614