Contract 48b1ba3e9747c46fc155cd841a16faf6a82eabba83503c85827901c3dcd53982

← Back to Index 📥 Download WASM

Meta

rssdkver 23.1.0#7456be9d91fe1f4cb070fc2732bac78244ce6c3f
rsver 1.91.0

Interface

Update the contract WASM hash (upgrade contract)

Arguments

  • new_wasm_hash - The hash of the new WASM binary

Errors

  • NotAdmin - If caller is not the admin
fn upgrade(
    env: soroban_sdk::Env,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>

Get game information.

Arguments

  • game_id - The ID of the game

Returns

  • Game - The game state (includes winning number after game ends)
fn get_game(env: soroban_sdk::Env, game_id: u32) -> Result

Make a guess for the current game. Players can guess a number between 1 and 10.

Arguments

  • game_id - The ID of the game
  • player - Address of the player making the guess
  • guess - The guessed number (1-10)
fn make_guess(
    env: soroban_sdk::Env,
    game_id: u32,
    player: soroban_sdk::Address,
    guess: u32,
) -> Result<(), soroban_sdk::Error>

Start a new game between two players with FP wagers. This creates a session in Blendizzard and locks FP before starting the game.

CRITICAL: This method requires authorization from THIS contract (not players). Blendizzard will call game_id.require_auth() which checks this contract's address.

Arguments

  • session_id - Unique session identifier (u32)
  • player1 - Address of first player
  • player2 - Address of second player
  • player1_wager - FP amount player1 is wagering
  • player2_wager - FP amount player2 is wagering

Returns

  • u32 - The game ID
fn start_game(
    env: soroban_sdk::Env,
    session_id: u32,
    player1: soroban_sdk::Address,
    player2: soroban_sdk::Address,
    player1_wager: i128,
    player2_wager: i128,
) -> Result

Initialize the contract with Blendizzard address and admin

Arguments

  • admin - Admin address (can upgrade contract)
  • blendizzard - Address of the Blendizzard contract
fn __constructor(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    blendizzard: soroban_sdk::Address,
)

Reveal the winner of the game and submit outcome to Blendizzard. Can only be called after both players have made their guesses. This ends the Blendizzard session, unlocks FP, and updates faction standings.

Arguments

  • game_id - The ID of the game

Returns

  • Address - Address of the winning player
fn reveal_winner(
    env: soroban_sdk::Env,
    game_id: u32,
) -> Result

Imports

WebAssembly Text (WAT) ▶