function getRewardPercents()
/// @return uint8 rewardPcnt - 25% of game price
/// @return uint8 gamePrizePcnt - 2% of game price
/// @return uint8 megaPrizePcnt - 2% of game price
/// @return uint8 fomoPcnt - of undistributed ref rewards
/// @return uint8[] memory refRewardPcnts - [7, 5, 4, 3, 2]% of game price
function getUserId(address addr)
/// @return uint32 userId;
upd
function getUser(uint32 userId)
/// @return address addr;
/// @return uint32 refId;
/// @return uint64 regtime;
/// @return uint64 referrals;
/// @return uint96 reward;
/// @return uint96 refReward;
/// @return uint96 missedRefReward;
upd
function getUserGame(uint8 gameId, uint32 userId)
/// @return uint64 level
/// @return uint64 remainHops - общее количество
/// @return uint96 reward
/// @return uint96 refReward
/// @return uint96 missedRefReward
function getUserGameProgress(uint8 gameId, uint32 userId)
/// @return uint64 completet game hops
/// @return uint64 max game hops
/// @return uint96 gotten game reward
/// @return uint96 max game reward
function getUserGameLevelProgress(
uint8 gameId,
uint32 userId,
uint64 level
)
/// @return uint64 completet level hops
/// @return uint64 max level hops
/// @return uint96 gotten level reward
/// @return uint96 max level reward
upd
function getGame(uint8 gameId)
/// @return uint96 price
/// @return uint64 enters
/// @return uint96 reward
/// @return uint96 refReward
/// @return uint96 missedRefReward
new
function getRegStatus()
/// @return uint96 regPrice
/// @return uint32 regRemainCount
new
function getStartStatus()
/// @return uint64 startTime
/// @return bool isStarted
upd
function getGameTop(uint8 gameId)
/// @return uint96 fund
/// @return uint64 curEnters
/// @return uint64 minEnters
/// @return bool isReady
upd
function getMegaTop()
/// @return uint96 fund
/// @return uint64 curEnters
/// @return uint64 minEnters
/// @return bool isReady
upd
function getGameTopList(uint8 gameId)
/// @return uint32[] memory userIds
/// @return uint256[] memory balances
upd
function getMegaTopList()
/// @return uint32[] memory userIds
/// @return uint256[] memory balances
function getProvisionGamePrize(uint8 gameId, uint32 userId)
/// @return uint96 prizeAmount
function getProvisionMegaPrize(uint32 userId)
/// @return uint96 prizeAmount
function getGameFomo(uint8 gameId)
/// @return uint96 fund
/// @return uint32 lastUserId
/// @return uint64 lastEnterAt
/// @return uint64 timeRemain
/// @return bool isReady
function register(uint32 refId)
function enter(uint8 gameId, uint32 refId)
function gamePrizeRaffle(uint8 gameId)
function megaPrizeRaffle()
function gameFomoRaffle(uint8 gameId)
getRegStatus - стаутус предрегистрации, показывает цену и сколько еще осталось
getStartStatus - стаутус cnfhnf buhs, показывает время старта и bool признак что игрна началась
getUserGame - выдаст текущее состояние юзера в игра, в частности его текущий level и сколько еще прыжков есть
getUserGameLevelHops - остаток прыжков по конкретному уровню юзера. Можно юзать для прогресс заполнения бара у юзера по уровням
getMegaTop/getGameTop - статус призовых фондов, сумма, сколько юзеров уже вошло после обнуления и сколько надо всео входов. Признак isReady указывает, что можно взывать метод распрделения призового фонда по то списку.
getGameFomo - инфо о фомо фонде, isReady = true значит можно забирать приз.
getGameTopList/getMegaTopList - выдаст списки топ юзеров. Важный момент - топ списки формируются исходя из баланса токенов у юзера, т.е. если их просто купить у кого-нибудь достаточное количество, то в топ попадешь.
В остальных случаях игра сравнивает уровни юзеров, а не баланс токенов (например при решении отправить рефку или нет).
gamePrizeRaffle/megaPrizeRaffle/gameFomoRaffle - методы розыгрыша призов, работают только при условии isReady = true в соотвествующем фонде.
register/enter - без изменения