@@ -9,7 +9,7 @@ use error::Error;
99#[ contract]
1010pub struct GuessTheNumber ;
1111
12- const THE_NUMBER : Symbol = symbol_short ! ( "n" ) ;
12+ const THE_NUMBER : & Symbol = & symbol_short ! ( "n" ) ;
1313pub const ADMIN_KEY : & Symbol = & symbol_short ! ( "ADMIN" ) ;
1414
1515#[ contractimpl]
@@ -32,27 +32,27 @@ impl GuessTheNumber {
3232 // Set the admin in storage
3333 Self :: set_admin ( env, admin) ;
3434 // Set a random number between 1 and 10
35- Self :: reset_guess ( env) ;
35+ Self :: reset_number ( env) ;
3636 }
3737
3838 /// Update the number. Only callable by admin.
3939 pub fn reset ( env : & Env ) {
4040 Self :: require_admin ( env) ;
41- Self :: reset_guess ( env) ;
41+ Self :: reset_number ( env) ;
4242 }
4343
4444 // Private function to reset the number to a new random value
4545 // which doesn't require auth from the admin
46- fn reset_guess ( env : & Env ) {
46+ fn reset_number ( env : & Env ) {
4747 let new_number: u64 = env. prng ( ) . gen_range ( 1 ..=10 ) ;
48- env. storage ( ) . instance ( ) . set ( & THE_NUMBER , & new_number) ;
48+ env. storage ( ) . instance ( ) . set ( THE_NUMBER , & new_number) ;
4949 }
5050
5151 /// Guess a number between 1 and 10
5252 pub fn guess ( env : & Env , a_number : u64 , guesser : Address ) -> Result < bool , Error > {
5353 let xlm_client = xlm:: token_client ( env) ;
5454 let contract_address = env. current_contract_address ( ) ;
55- let guessed_it = a_number == env . storage ( ) . instance ( ) . get :: < _ , u64 > ( & THE_NUMBER ) . unwrap ( ) ;
55+ let guessed_it = a_number == Self :: number ( env ) . unwrap ( ) ;
5656 if guessed_it {
5757 let balance = xlm_client. balance ( & contract_address) ;
5858 if balance == 0 {
@@ -88,6 +88,11 @@ impl GuessTheNumber {
8888 }
8989
9090 /// readonly function to get the current number
91+ pub fn number ( env : & Env ) -> Option < u64 > {
92+ env. storage ( ) . instance ( ) . get ( THE_NUMBER )
93+ }
94+
95+ /// readonly function to get the current admin
9196 pub fn admin ( env : & Env ) -> Option < Address > {
9297 env. storage ( ) . instance ( ) . get ( ADMIN_KEY )
9398 }
0 commit comments