@kalamba/sdk
Index
Classes
Enumerations
Interfaces
Type Aliases
- AutoplayLimit
- Bet
- Cashier
- CashierConfig
- CasinoOnlyMessagePayloadMap
- ContractPlayPayload
- DomainAllowedPayloadMap
- DomainMessage
- DomainMessageMessageEvent
- DomainMessagePayload
- DomainPrefix
- DomainToMessagePayloadMap
- ForwardToPluginsMessage
- ForwardToPluginsMessagePayload
- ForwardToSdkMessage
- ForwardToSdkMessagePayload
- FreeRound
- FreeRoundsAction
- FreeRoundsResponse
- Message
- MessageMap
- MessageMessageEvent
- MessagePayload
- OpenGameResponse
- PlayRequest
- PlayResponse
- PluginDomain
- PrefixedForwardToPluginsMessage
- PrefixedMessage
- PrefixedMessageMap
- PrefixedMessageMessageEvent
- PrefixedMessagePayload
- PrefixedMessagePayloadMap
- RealityCheckConfig
- RgsErrorData
- RgsErrorWithType
- RgsOnlyMessagePayloadMap
- RgsResponse
- SdkError
- SdkOnlyMessagePayloadMap
- Settings
- TelemetryOnlyMessagePayloadMap
- ToCasinoPluginsForwardedMessageMap
- ToRgsPluginsForwardedMessageMap
- ToSdkForwardedMessageMap
- ToTelemetryPluginsForwardedMessageMap
- WrapperConfig
- WrapperOnlyMessagePayloadMap
- WrapperState
Variables
Type Aliases
AutoplayLimit
Type declaration
enabled: boolean
options: number[]
showCustomLimit: boolean
showNoLimit: boolean
Bet
Type declaration
base: number
multiplier: number
Cashier
Type declaration
type: ON_DEMAND | BALANCE_LOW | BALANCE_INSUFFICIENT
CashierConfig
Type declaration
balanceThreshold: number[]
enabled: boolean
CasinoOnlyMessagePayloadMap
Type declaration
balance: { balance: number }
balance: number
bet: Bet
cashier: Cashier
choice: { id: string }
id: string
close: never
freeze: never
help: { show?: boolean }
optionalshow?: boolean
history: History
paytable: { show?: boolean }
optionalshow?: boolean
play: PlayRequest
resume: never
settings: Settings
suspend: never
unfreeze: never
ContractPlayPayload
Type declaration
[key string]: any
bet: Bet | null
optionalforcedOutcomes?: unknown
DomainAllowedPayloadMap
Type parameters
- P: DomainPrefix
DomainMessage
Type parameters
- P: DomainPrefix
DomainMessageMessageEvent
Type parameters
- P: DomainPrefix
- M: DomainMessage<P>
DomainMessagePayload
Type parameters
- P: DomainPrefix
- M: DomainMessage<P>
DomainPrefix
DomainToMessagePayloadMap
Type declaration
casino: CasinoOnlyMessagePayloadMap
rgs: RgsOnlyMessagePayloadMap
sdk: SdkOnlyMessagePayloadMap
telemetry: TelemetryOnlyMessagePayloadMap
wrapper: WrapperOnlyMessagePayloadMap
ForwardToPluginsMessage
Type parameters
- P: PluginDomain
ForwardToPluginsMessagePayload
Type parameters
- P: PluginDomain
- M: ForwardToPluginsMessage<P>
ForwardToSdkMessage
ForwardToSdkMessagePayload
Type parameters
FreeRound
Type declaration
conf: { base: number; multiplier: number; numAwarded: number }
base: number
multiplier: number
numAwarded: number
data: { numLeft: number; numPlayed: number; win: number }
numLeft: number
numPlayed: number
win: number
id: string
rejectable: boolean
skippable: boolean
status: PENDING | ACTIVE | FINISHED
type: string
FreeRoundsAction
Type declaration
action: ACCEPT | DECLINE | SKIP
id: string
FreeRoundsResponse
Type declaration
action: ACCEPT | DECLINE | SKIP
id: string
Message
MessageMap
MessageMessageEvent
Type parameters
- M: Message
MessagePayload
Type parameters
- M: Message
OpenGameResponse
Type declaration
contract: { balance: { coins: number; version: number }; bet: { available: Record<number, number[]>; default: Bet; last: Bet | null; lastPaid: Bet | null; max: number | null }; freeRounds: FreeRound[]; gameModel: string; metaData: { maxWin: { key: string; maxWinOdds: number; maxWinValueXBet: number }[]; rtpValues: { key: string; rtpValue: string }[]; version: string }; roundId?: string; serverTime: number; sessionId: string; stateType: { nextRound: string; thisRound: string }; uiMessages: unknown[]; win: { max: number | null; round: number; total: number } }
balance: { coins: number; version: number }
coins: number
version: number
bet: { available: Record<number, number[]>; default: Bet; last: Bet | null; lastPaid: Bet | null; max: number | null }
freeRounds: FreeRound[]
gameModel: string
metaData: { maxWin: { key: string; maxWinOdds: number; maxWinValueXBet: number }[]; rtpValues: { key: string; rtpValue: string }[]; version: string }
maxWin: { key: string; maxWinOdds: number; maxWinValueXBet: number }[]
rtpValues: { key: string; rtpValue: string }[]
version: string
optionalroundId?: string
serverTime: number
sessionId: string
stateType: { nextRound: string; thisRound: string }
nextRound: string
thisRound: string
uiMessages: unknown[]
win: { max: number | null; round: number; total: number }
max: number | null
round: number
total: number
data: unknown
PlayRequest
Type declaration
actionType: string
contract: ContractPlayPayload
optionalextra?: unknown
PlayResponse
Type declaration
contract: { balance: { coins: number; version: number }; bet: { last: Bet | null; lastPaid: Bet }; freeRounds: FreeRound[]; roundId: string; serverTime: number; stateType: { nextRound: string; thisRound: string }; uiMessages: unknown[]; win: { round: number; total: number } }
balance: { coins: number; version: number }
coins: number
version: number
bet: { last: Bet | null; lastPaid: Bet }
freeRounds: FreeRound[]
roundId: string
serverTime: number
stateType: { nextRound: string; thisRound: string }
nextRound: string
thisRound: string
uiMessages: unknown[]
win: { round: number; total: number }
round: number
total: number
data: unknown
PluginDomain
PrefixedForwardToPluginsMessage
Type parameters
- P: PluginDomain
PrefixedMessage
PrefixedMessageMap
PrefixedMessageMessageEvent
Type parameters
PrefixedMessagePayload
Type parameters
PrefixedMessagePayloadMap
Type parameters
- P: DomainPrefix
RealityCheckConfig
Type declaration
sessionDurationPeriodFormat: seconds | minutes | hours
showCloseGame: boolean
showHistory: boolean
showNetPosition: boolean
showSessionDuration: boolean
showSumBets: boolean
showSumWins: boolean
RgsErrorData
Type declaration
code: keyof typeof RgsErrorCode
optionaldetails?: unknown
RgsErrorWithType
RgsOnlyMessagePayloadMap
Type declaration
error: SdkError
freeRoundsError: RgsErrorWithType
freeRoundsResponse: FreeRoundsResponse
openGameError: RgsErrorWithType
openGameResponse: OpenGameResponse
playError: RgsErrorWithType
playResponse: PlayResponse
realityCheck: { duration: number; sumBetAmount: number; sumWinAmount: number }
duration: number
sumBetAmount: number
sumWinAmount: number
RgsResponse
Type parameters
- M: DomainMessage<sdk>
SdkError
SdkOnlyMessagePayloadMap
Type declaration
autoplay: { action: start | stop | pause | resume }
action: start | stop | pause | resume
balance: { balance: number }
balance: number
bet: Bet
cashier: Cashier
choice: { message: string; options: { id: string; label: string }[] }
message: string
options: { id: string; label: string }[]
close: never
configure: Partial<WrapperConfig>
error: SdkError
freeRounds: FreeRoundsAction
freeRoundsPopup: never
fullscreen: { lock?: OrientationLockType }
optionallock?: OrientationLockType
history: History
loadEnd: never
loadProgress: { progress: number }
progress: number
loadStart: never
openGame: never
play: PlayRequest
playCycleEnd: PlayResponse
playCycleStart: ContractPlayPayload
playEnd: PlayResponse
playReady: never
playStart: ContractPlayPayload
settings: Settings
telemetry.click: { location: string; name: string }
location: string
name: string
telemetry.orientationChange: never
translations: NestedRecord<string, string>
Settings
Type declaration
optionalfastPlay?: boolean
optionalfastPlaySpeed?: number
optionalmusic?: boolean
optionalsounds?: boolean
TelemetryOnlyMessagePayloadMap
Type declaration
[key string]: unknown
ToCasinoPluginsForwardedMessageMap
Type declaration
casino: undefined
rgs: Pick<RgsOnlyMessagePayloadMap, playResponse | playError | openGameResponse>
sdk: Pick<SdkOnlyMessagePayloadMap, autoplay | balance | bet | cashier | choice | close | error | history | loadEnd | loadProgress | loadStart | openGame | play | playCycleEnd | playCycleStart | playEnd | playReady | playStart | settings>
telemetry: undefined
wrapper: undefined
ToRgsPluginsForwardedMessageMap
Type declaration
casino: Pick<CasinoOnlyMessagePayloadMap, play | cashier | close | history>
rgs: undefined
sdk: Pick<SdkOnlyMessagePayloadMap, history | openGame | play>
telemetry: undefined
wrapper: undefined
ToSdkForwardedMessageMap
ToTelemetryPluginsForwardedMessageMap
Type declaration
casino: undefined
rgs: Pick<RgsOnlyMessagePayloadMap, openGameResponse | openGameError | playResponse | playError>
sdk: Pick<SdkOnlyMessagePayloadMap, autoplay | error | loadStart | loadProgress | loadEnd | playCycleStart | playCycleEnd | settings | telemetry.click | telemetry.orientationChange>
telemetry: undefined
wrapper: undefined
WrapperConfig
Type declaration
optionalgameHistoryUrl?: string
gameName: string
gameVersion: string
showBars: boolean
showErrors: boolean
showFreeRounds: boolean
showRealityCheck: boolean
skipErrors: (typeof RgsErrorCode[keyof typeof RgsErrorCode] | TIMEOUT)[]
WrapperOnlyMessagePayloadMap
Type declaration
bet: Bet
close: never
configured: SdkConfig
error: SdkError
freeRounds: FreeRoundsAction
freeRoundsComplete: FreeRound
freeRoundsInfo: FreeRound
freeRoundsOffer: FreeRound
freeRoundsPopup: never
freeze: never
history: History
legalBets: Record<number, number[]>
play: PlayRequest & { payloadToInject?: Record<string, unknown> }
resume: never
state: WrapperState
suspend: never
unfreeze: never
WrapperState
Type declaration
balance: number
bet: Bet
optionalfreeRoundId?: string
isSdkConfigured: boolean
optionallastPlayResponse?: PlayResponse
optionalopenGameResponse?: OpenGameResponse
Variables
constRgsErrorCode
Type declaration
readonlyACCESS_DENIED: ACCESS_DENIED
readonlyALREADY_LOGGED_IN: ALREADY_LOGGED_IN
readonlyBONUS_RESTRICTION: BONUS_RESTRICTION
readonlyCONNECTION_ERROR: CONNECTION_ERROR
readonlyCREDENTIALS_NOT_FOUND: CREDENTIALS_NOT_FOUND
readonlyDATA_ACCESS_ERROR: DATA_ACCESS_ERROR
readonlyFORCED_OUTCOMES_NOT_ALLOWED: FORCED_OUTCOMES_NOT_ALLOWED
readonlyFREE_ROUNDS_PROCESSING_ERROR: FREE_ROUNDS_PROCESSING_ERROR
readonlyGAME_FROZEN: GAME_FROZEN
readonlyGAME_SERVER_ERROR: GAME_SERVER_ERROR
readonlyGAME_UNAVAILABLE: GAME_UNAVAILABLE
readonlyGAMING_LIMITS_REACHED: GAMING_LIMITS_REACHED
readonlyINVALID_BET: INVALID_BET
readonlyINVALID_BET_CURRENCY: INVALID_BET_CURRENCY
readonlyINVALID_CAGE_CODE: INVALID_CAGE_CODE
readonlyINVALID_CLIENT_TYPE: INVALID_CLIENT_TYPE
readonlyINVALID_MESSAGE_FORMAT: INVALID_MESSAGE_FORMAT
readonlyINVALID_SESSION: INVALID_SESSION
readonlyMESSAGE_SENDER_ERROR: MESSAGE_SENDER_ERROR
readonlyMISSING_GAME_STATE: MISSING_GAME_STATE
readonlyOUT_OF_MONEY: OUT_OF_MONEY
readonlySESSION_MANAGEMENT_ERROR: SESSION_MANAGEMENT_ERROR
readonlyTOO_HIGH_ACTION_FREQUENCY: TOO_HIGH_ACTION_FREQUENCY
readonlyTOO_HIGH_BET_FREQUENCY: TOO_HIGH_BET_FREQUENCY
readonlyTOO_MANY_OPEN_GAMES: TOO_MANY_OPEN_GAMES
readonlyUNFINISHED_ROUND_IN_PROGRESS: UNFINISHED_ROUND_IN_PROGRESS
readonlyUNKNOWN: UNKNOWN
readonlyUSER_ALREADY_LOCKED: USER_ALREADY_LOCKED
readonlyUSER_LOCK_INVALID_PARAMS: USER_LOCK_INVALID_PARAMS
readonlyWALLET_PROCESSING_ERROR: WALLET_PROCESSING_ERROR
readonlyWEB_SESSION_NOT_OPEN: WEB_SESSION_NOT_OPEN