Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API

game

Module0xd1ca…5dcf
Move path
0xe39b…a64d::game
Functions
906 public, 56 entry
Structs
37
Friend modules
None
game

Declarations

Rebuilt from the module interface. No verified source is published, and function bodies are only available as bytecode.

module game;
struct AdminCap has store, key {
id: UID,
}
struct BubbleCosmetic has store, key {
id: UID,
cosmetic_instance_id: u64,
cosmetic_type_id: u64,
name: String,
bubble_pressure: u64,
image_url: String,
attributes: VecMap<String, String>,
}
struct BubbleGenerator has store, key {
id: UID,
bubbler_id: u64,
tier: u8,
name: String,
bubble_pressure: u64,
tank_pressure: u64,
image_url: String,
attributes: VecMap<String, String>,
}
struct BubblerFused has copy, drop {
player: address,
from_tier: u8,
to_tier: u8,
new_bubbler_id: u64,
}
struct BubblerMinted has copy, drop {
owner: address,
bubbler_id: u64,
tier: u8,
bubble_pressure: u64,
}
struct BubblerStaked has copy, drop {
owner: address,
bubbler_id: u64,
tier: u8,
}
struct BubblerUnstaked has copy, drop {
owner: address,
bubbler_id: u64,
tier: u8,
}
struct CosmeticBonus has copy, drop, store {
bonus_type: u8,
bonus_bps: u64,
}
struct CosmeticBonusAppliedKey has copy, drop, store {
dummy_field: bool,
}
struct CosmeticBonusTableKey has copy, drop, store {
dummy_field: bool,
}
struct CosmeticMinted has copy, drop {
owner: address,
cosmetic_type_id: u64,
name: String,
}
struct CosmeticType has store {
name: String,
image_url: String,
bub_cost: u64,
bublz_cost: u64,
sui_cost: u64,
bubble_pressure: u64,
max_supply: u64,
minted: u64,
per_facility: u64,
disabled: bool,
}
struct CosmeticVault has key {
id: UID,
cosmetics: Table<u64, BubbleCosmetic>,
}
struct DefaultFeeKey has copy, drop, store {
dummy_field: bool,
}
struct DisplayedCosmeticInfo has drop, store {
owner: address,
cosmetic_type_id: u64,
bubble_pressure: u64,
}
struct FeeTableKey has copy, drop, store {
dummy_field: bool,
}
struct GAME has drop {
dummy_field: bool,
}
struct GameState<phantom T0, phantom T1> has key {
id: UID,
total_network_pressure: u64,
total_players: u64,
total_minted: u64,
total_burned: u64,
total_bublz_burned: u64,
game_start: u64,
paused: bool,
sui_treasury: Balance<SUI>,
treasury_recipient: address,
bublz_cost: u64,
sui_costs: vector<u64>,
cosmetic_types: Table<u64, CosmeticType>,
next_cosmetic_id: u64,
player_tanks: Table<address, PlayerTank>,
staked_bubblers: Table<u64, StakedBubblerInfo>,
staked_bubbler_objects: Table<u64, BubbleGenerator>,
displayed_cosmetics: Table<u64, DisplayedCosmeticInfo>,
next_bubbler_id: u64,
next_cosmetic_instance_id: u64,
}
struct MintVault<phantom T0> has key {
id: UID,
treasury_cap: TreasuryCap<T0>,
}
struct PlayerCheckedIn has copy, drop {
player: address,
rep: u64,
streak: u64,
}
struct PlayerTank has store {
tier: u8,
last_upgrade_time: u64,
staked_bubbler_ids: vector<u64>,
displayed_cosmetic_ids: vector<u64>,
total_pressure: u64,
total_tank_pressure: u64,
upgrade_levels: vector<u8>,
last_claim_time: u64,
total_earned: u64,
unclaimed_rewards: u64,
referrer: address,
has_referrer: bool,
}
struct RepAdded has copy, drop {
player: address,
amount: u64,
new_total: u64,
}
struct RepConfig has store {
daily_rep_cap: u64,
checkin_rep: u64,
checkin_cooldown_ms: u64,
streak_window_ms: u64,
base_fee_bps: u64,
streak_reduction_per_day_bps: u64,
max_streak_reduction_bps: u64,
streak_lock_days: u64,
}
struct RepConfigKey has copy, drop, store {
dummy_field: bool,
}
struct RepProfile has store {
rep: u64,
streak: u64,
best_streak: u64,
last_checkin_ms: u64,
rep_added_today: u64,
day_start_ms: u64,
streak_fee_locked: bool,
}
struct RepTableKey has copy, drop, store {
dummy_field: bool,
}
struct RepairConfig has store {
enabled: bool,
decay_period_ms: u64,
fee_bps: u64,
activated_at_ms: u64,
}
struct RepairConfigKey has copy, drop, store {
dummy_field: bool,
}
struct RepairTableKey has copy, drop, store {
dummy_field: bool,
}
struct RewardsClaimed has copy, drop {
player: address,
amount: u64,
burned: u64,
referrer_reward: u64,
}
struct StakedBubblerInfo has drop, store {
owner: address,
tier: u8,
bubble_pressure: u64,
tank_pressure: u64,
}
struct StatUpgraded has copy, drop {
player: address,
upgrade_type: u8,
new_level: u8,
}
struct StreakUpdated has copy, drop {
player: address,
streak: u64,
best_streak: u64,
locked: bool,
}
struct TankCreated has copy, drop {
player: address,
}
struct TankDurability has store {
last_repair_ms: u64,
total_earned_at_last_repair: u64,
}
struct TankRepaired has copy, drop {
player: address,
bub_cost: u64,
bub_earned_since_repair: u64,
}
struct TankUpgraded has copy, drop {
player: address,
new_tier: u8,
}
fun add_rep_capped(&mut RepProfile,u64,u64,u64): u64
entry fun admin_add_rep<T0, T1>(&mut GameState<T0, T1>,&AdminCap,address,u64,&Clock)
entry fun admin_clear_cosmetic<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64,&Clock)
entry fun admin_init_cosmetic_bonus<T0, T1>(&mut GameState<T0, T1>,&AdminCap)
entry fun admin_init_rep_system<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64,u64,u64,u64,u64,u64,u64,u64,u64)
entry fun admin_init_repair_system<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64,u64,&Clock)
entry fun admin_mint_bubbler_to<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u8,address)
entry fun admin_mint_cosmetic_to<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64,address)
entry fun admin_remove_cosmetic_bonus<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64)
entry fun admin_remove_player_fee<T0, T1>(&mut GameState<T0, T1>,&AdminCap,address)
entry fun admin_repair_player<T0, T1>(&mut GameState<T0, T1>,&AdminCap,address,&Clock)
entry fun admin_set_cosmetic_bonus<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64,u8,u64)
entry fun admin_set_player_fee<T0, T1>(&mut GameState<T0, T1>,&AdminCap,address,u64)
entry fun admin_set_rep_config<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64,u64,u64,u64,u64,u64,u64,u64)
entry fun admin_set_repair_config<T0, T1>(&mut GameState<T0, T1>,&AdminCap,bool,u64,u64)
entry fun admin_set_unregistered_fee<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64)
entry fun admin_upgrade_tank<T0, T1>(&mut GameState<T0, T1>,&AdminCap,address,u8,&Clock)
entry fun admin_vault_force_return(&mut CosmeticVault,&AdminCap,u64,address)
entry fun admin_vault_return<T0, T1>(&mut GameState<T0, T1>,&mut CosmeticVault,&AdminCap,u64,&Clock)
fun apply_cooling_bonus(&PlayerTank, u64): u64
fun apply_upgrade_bonus(&PlayerTank, u64): u64
fun burn_bub_payment<T0, T1, T2>(Balance<T0>,&mut GameState<T1, T2>)
fun calculate_current_emission<T0, T1>(&GameState<T0, T1>,u64): u64
fun calculate_pending_rewards<T0, T1>(&GameState<T0, T1>,&PlayerTank,u64): u64
fun calculate_pending_rewards_v2<T0, T1>(&GameState<T0, T1>,&PlayerTank,address,u64): u64
entry fun claim_rewards<T0, T1>(&mut GameState<T0, T1>,&mut MintVault<T0>,&Clock)
fun compute_fee_from_rep(&RepProfile,&RepConfig,u64): u64
entry fun create_cosmetic_type<T0, T1>(&mut GameState<T0, T1>,&AdminCap,vector<u8>,vector<u8>,u64,u64,u64,u64,u64,u64)
entry fun create_cosmetic_vault(&AdminCap)
entry fun create_game<T0, T1>(&AdminCap,u64,address,&Clock)
entry fun create_tank<T0, T1>(&mut GameState<T0, T1>,&Clock)
entry fun daily_checkin<T0, T1>(&mut GameState<T0, T1>,&Clock)
entry fun deposit_treasury_cap<T0>(&AdminCap,TreasuryCap<T0>)
entry fun disable_cosmetic<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64)
entry fun display_cosmetic<T0, T1>(&mut GameState<T0, T1>,&BubbleCosmetic,&Clock)
entry fun display_cosmetic_v2<T0, T1>(&mut GameState<T0, T1>,&BubbleCosmetic,&Clock)
entry fun display_cosmetic_v3<T0, T1>(&mut GameState<T0, T1>,&mut CosmeticVault,BubbleCosmetic,&Clock)
entry fun display_cosmetic_v4<T0, T1>(&mut GameState<T0, T1>,&mut CosmeticVault,BubbleCosmetic,&Clock)
entry fun emergency_withdraw<T0, T1>(&mut GameState<T0, T1>,&AdminCap)
entry fun enable_cosmetic<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64)
fun ensure_repair_record<T0, T1>(&mut GameState<T0, T1>,address,u64)
entry fun fuse_bubblers<T0, T1>(&mut GameState<T0, T1>,BubbleGenerator,BubbleGenerator,Coin<T0>,Coin<T1>,Coin<SUI>)
fun get_bubbler_stats(u8): (u64, u64, u64, String, String)
fun get_bubbler_sui_cost(u8, &vector<u64>): u64
fun get_effective_durability<T0, T1>(&GameState<T0, T1>,address,u64): u64
fun get_fusion_costs(u8): (u64, u64, u64)
public fun get_game_start<T0, T1>(&GameState<T0, T1>): u64
fun get_player_fee_bps<T0, T1>(&GameState<T0, T1>,address,u64): u64
fun get_skip_cumulative(u8): (u64, u64, u64)
fun get_tank_bub_cost(u8): u64
fun get_tank_cosmetic_slots(u8): u64
fun get_tank_max_bubblers(u8): u64
fun get_tank_pressure_capacity(u8): u64
fun get_tank_sui_cost(u8): u64
public fun get_total_bublz_burned<T0, T1>(&GameState<T0, T1>): u64
public fun get_total_burned<T0, T1>(&GameState<T0, T1>): u64
public fun get_total_minted<T0, T1>(&GameState<T0, T1>): u64
public fun get_total_network_pressure<T0, T1>(&GameState<T0, T1>): u64
public fun get_total_players<T0, T1>(&GameState<T0, T1>): u64
fun get_upgrade_base_bub(u8): u64
fun get_upgrade_bub_cost(u8, u8): u64
fun init(GAME)
fun make_bubbler_attrs(u8, String): VecMap<String, String>
fun make_cosmetic_attrs(String): VecMap<String, String>
entry fun mint_bubbler<T0, T1>(&mut GameState<T0, T1>,u8,Coin<T0>,Coin<T1>,Coin<SUI>)
entry fun mint_cosmetic<T0, T1>(&mut GameState<T0, T1>,u64,Coin<T0>,Coin<T1>,Coin<SUI>)
fun process_bub_payment<T0>(Coin<T0>, u64): Balance<T0>
fun process_bublz_payment<T0, T1, T2>(Coin<T0>,u64,&mut GameState<T1, T2>)
fun process_sui_payment<T0, T1>(Coin<SUI>,u64,&mut GameState<T0, T1>)
entry fun refresh_cosmetic_metadata<T0, T1>(&GameState<T0, T1>,&mut BubbleCosmetic)
entry fun remove_cosmetic<T0, T1>(&mut GameState<T0, T1>,&BubbleCosmetic,&Clock)
entry fun remove_cosmetic_v2<T0, T1>(&mut GameState<T0, T1>,&mut CosmeticVault,u64,&Clock)
entry fun remove_cosmetic_v3<T0, T1>(&mut GameState<T0, T1>,&mut CosmeticVault,u64,&Clock)
entry fun rep_register<T0, T1>(&mut GameState<T0, T1>,&Clock)
entry fun repair_tank<T0, T1>(&mut GameState<T0, T1>,Coin<T0>,&Clock)
entry fun set_bublz_cost<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64)
entry fun set_cosmetic_bp<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64,u64)
entry fun set_cosmetic_costs<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64,u64,u64,u64)
entry fun set_cosmetic_metadata<T0, T1>(&mut GameState<T0, T1>,&AdminCap,u64,vector<u8>,vector<u8>)
entry fun set_paused<T0, T1>(&mut GameState<T0, T1>,&AdminCap,bool)
entry fun set_referral<T0, T1>(&mut GameState<T0, T1>,address)
entry fun set_sui_costs<T0, T1>(&mut GameState<T0, T1>,&AdminCap,vector<u64>)
entry fun set_treasury_recipient<T0, T1>(&mut GameState<T0, T1>,&AdminCap,address)
entry fun skip_to_tier<T0, T1>(&mut GameState<T0, T1>,u8,Coin<T0>,Coin<T1>,Coin<SUI>,&Clock)
entry fun stake_bubbler<T0, T1>(&mut GameState<T0, T1>,BubbleGenerator,&Clock)
entry fun unstake_all_bubblers<T0, T1>(&mut GameState<T0, T1>,&Clock)
entry fun unstake_bubbler<T0, T1>(&mut GameState<T0, T1>,u64,&Clock)
entry fun upgrade_stat<T0, T1>(&mut GameState<T0, T1>,u8,Coin<T0>,Coin<T1>,Coin<SUI>)
entry fun upgrade_tank<T0, T1>(&mut GameState<T0, T1>,Coin<T0>,Coin<T1>,Coin<SUI>,&Clock)
entry fun withdraw_sui_treasury<T0, T1>(&mut GameState<T0, T1>,&AdminCap)