From 91f033d1de02c75df51f48e22f756f7ad49cc0ba Mon Sep 17 00:00:00 2001 From: elizabethengelman <4752801+elizabethengelman@users.noreply.github.com> Date: Tue, 6 Jan 2026 14:07:05 -0500 Subject: [PATCH 1/6] Update submitGuess to expect a boolean on the tutorial branch --- src/components/GuessTheNumber.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/components/GuessTheNumber.tsx b/src/components/GuessTheNumber.tsx index d319ea02..8287dc92 100644 --- a/src/components/GuessTheNumber.tsx +++ b/src/components/GuessTheNumber.tsx @@ -23,11 +23,7 @@ export const GuessTheNumber = () => { a_number: BigInt(theGuess), guesser: address, }); - if (result.isErr()) { - console.error(result.unwrapErr()); - } else { - setGuessedIt(result.unwrap()); - } + setGuessedIt(result); }; return ( From 3841562d65425d451cd3e926d7e8b9e1c90576ae Mon Sep 17 00:00:00 2001 From: elizabethengelman <4752801+elizabethengelman@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:00:16 -0500 Subject: [PATCH 2/6] Make guess-the-number contract match the tutorial more closely --- contracts/guess-the-number/src/lib.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/contracts/guess-the-number/src/lib.rs b/contracts/guess-the-number/src/lib.rs index bdf7d287..2b40b13d 100644 --- a/contracts/guess-the-number/src/lib.rs +++ b/contracts/guess-the-number/src/lib.rs @@ -24,7 +24,7 @@ impl GuessTheNumber { /// Guess a number between 1 and 10 pub fn guess(env: &Env, a_number: u64) -> bool { - a_number == Self::number(env) + a_number == env.storage().instance().get::<_, u64>(NUMBER_KEY).expect("no number set") } /// Upgrade the contract to new wasm. Only callable by admin. @@ -33,10 +33,6 @@ impl GuessTheNumber { env.deployer().update_current_contract_wasm(new_wasm_hash); } - pub(crate) fn number(env: &Env) -> u64 { - env.storage().instance().get::<_, u64>(NUMBER_KEY).unwrap() - } - /// Get current admin pub fn admin(env: &Env) -> Option
{ env.storage().instance().get(ADMIN_KEY) From 032dd2eb3cc76a0ef5bde479a4ea2e7c6f0ce291 Mon Sep 17 00:00:00 2001 From: elizabethengelman <4752801+elizabethengelman@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:50:40 -0500 Subject: [PATCH 3/6] Make tutorial closer to final contract --- contracts/guess-the-number/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contracts/guess-the-number/src/lib.rs b/contracts/guess-the-number/src/lib.rs index 2b40b13d..e1a0420d 100644 --- a/contracts/guess-the-number/src/lib.rs +++ b/contracts/guess-the-number/src/lib.rs @@ -4,7 +4,7 @@ use soroban_sdk::{contract, contractimpl, symbol_short, Address, BytesN, Env, Sy #[contract] pub struct GuessTheNumber; -pub const NUMBER_KEY: &Symbol = &symbol_short!("NUMBER"); +const THE_NUMBER: &Symbol = &symbol_short!("n"); pub const ADMIN_KEY: &Symbol = &symbol_short!("ADMIN"); #[contractimpl] @@ -19,12 +19,12 @@ impl GuessTheNumber { pub fn reset(env: &Env) { Self::require_admin(env); let new_number: u64 = env.prng().gen_range(1..=10); - env.storage().instance().set(NUMBER_KEY, &new_number); + env.storage().instance().set(THE_NUMBER, &new_number); } /// Guess a number between 1 and 10 pub fn guess(env: &Env, a_number: u64) -> bool { - a_number == env.storage().instance().get::<_, u64>(NUMBER_KEY).expect("no number set") + a_number == env.storage().instance().get::<_, u64>(THE_NUMBER).expect("no number set") } /// Upgrade the contract to new wasm. Only callable by admin. From 539270288a237639440b36a57b65de701cf30d67 Mon Sep 17 00:00:00 2001 From: elizabethengelman <4752801+elizabethengelman@users.noreply.github.com> Date: Wed, 7 Jan 2026 10:52:45 -0500 Subject: [PATCH 4/6] Remove mod xlm from contract to start --- contracts/guess-the-number/src/lib.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contracts/guess-the-number/src/lib.rs b/contracts/guess-the-number/src/lib.rs index e1a0420d..f1bdf793 100644 --- a/contracts/guess-the-number/src/lib.rs +++ b/contracts/guess-the-number/src/lib.rs @@ -55,5 +55,4 @@ impl GuessTheNumber { } mod error; -mod test; -mod xlm; +mod test; \ No newline at end of file From eef2b5e728b1af4e747a1df67f05743e79e3dc1c Mon Sep 17 00:00:00 2001 From: elizabethengelman <4752801+elizabethengelman@users.noreply.github.com> Date: Wed, 7 Jan 2026 10:57:32 -0500 Subject: [PATCH 5/6] Apply formatter updates --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8d7f58d0..22194e18 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ Have a look at `environments.toml` for more fined-grained control. npm run dev ``` -Open the server URL in your web browser. +Open the server URL in your web browser. 4. For testnet/mainnet deployment: From 546c08fe82ab439a93416525e767752fc2013189 Mon Sep 17 00:00:00 2001 From: elizabethengelman <4752801+elizabethengelman@users.noreply.github.com> Date: Wed, 7 Jan 2026 14:33:20 -0500 Subject: [PATCH 6/6] Make ADMIN_KEY private because it doesn't need to be public --- contracts/guess-the-number/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/guess-the-number/src/lib.rs b/contracts/guess-the-number/src/lib.rs index f1bdf793..4a9ee2cd 100644 --- a/contracts/guess-the-number/src/lib.rs +++ b/contracts/guess-the-number/src/lib.rs @@ -5,7 +5,7 @@ use soroban_sdk::{contract, contractimpl, symbol_short, Address, BytesN, Env, Sy pub struct GuessTheNumber; const THE_NUMBER: &Symbol = &symbol_short!("n"); -pub const ADMIN_KEY: &Symbol = &symbol_short!("ADMIN"); +const ADMIN_KEY: &Symbol = &symbol_short!("ADMIN"); #[contractimpl] impl GuessTheNumber {