Contract e74caa0c10e3e8af2f977691e7560d1b6ef700a7df390f610ecb23b60738e5a6

← Back to Index 📥 Download WASM

Meta

cliver 27.0.0#5a7c5fe76530bf4248477ac812fc757146b98cc4
rssdkver 22.0.11#34f7f53ae31e0fd02aab436a9872e79fa671ca02
rsver 1.97.1

Instances

  • CBCQYZKHMK5VPSZ7ZFJZU46JNPZYGRO5U7GNYEDX77ZQSCL7SIPCJHH7
  • CBDLP5GWHU2OCN7LAEZAI7NBKRNLDXEXON4MIC4PYW5CG5WUBJXTMXWD

Interface

Grants the achievement to to.

Design choice (CosmosX): we require to.require_auth(), NOT the admin's. This means the player's own connected wallet must sign their own claim — the on-stage demo flow where the player presses "Claim" and approves it in Freighter. Nobody can mint an achievement to an address that didn't itself authorize the call.

fn mint(env: soroban_sdk::Env, to: soroban_sdk::Address)

Read-only: who is the admin (deployer/owner) of this contract?

fn get_admin(env: soroban_sdk::Env) -> soroban_sdk::Address

Runs once, right after deployment, to record who deployed/owns this contract. Panics if called a second time so the admin can't be silently reassigned after setup.

fn initialize(env: soroban_sdk::Env, admin: soroban_sdk::Address)

Read-only: does who have the achievement?

fn has_achievement(env: soroban_sdk::Env, who: soroban_sdk::Address) -> bool

Imports

WebAssembly Text (WAT) ▶