@@ -22,60 +22,60 @@ pub fn from_flat(coins: i128) -> f64 {
2222 ( x * 1e9 ) . round ( ) / 1e9
2323}
2424
25- pub fn balance_burnt ( env : & crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> i128 {
25+ pub fn balance_burnt ( env : & mut crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> i128 {
2626 balance ( env, & BURN_ADDRESS , symbol)
2727}
2828
29- pub fn balance ( env : & crate :: consensus:: consensus_apply:: ApplyEnv , address : & [ u8 ] , symbol : & [ u8 ] ) -> i128 {
29+ pub fn balance ( env : & mut crate :: consensus:: consensus_apply:: ApplyEnv , address : & [ u8 ] , symbol : & [ u8 ] ) -> i128 {
3030 match kv_get ( env, & bcat ( & [ b"account:" , address, b":balance:" , symbol] ) ) {
3131 Some ( amount) => std:: str:: from_utf8 ( & amount) . unwrap ( ) . parse :: < i128 > ( ) . unwrap_or_else ( |_| panic_any ( "invalid_balance" ) ) ,
3232 None => 0
3333 }
3434}
3535
36- pub fn mintable ( env : & crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
36+ pub fn mintable ( env : & mut crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
3737 match kv_get ( env, & bcat ( & [ b"coin:" , symbol, b":mintable" ] ) ) . as_deref ( ) {
3838 Some ( b"true" ) => true ,
3939 _ => false
4040 }
4141}
4242
43- pub fn pausable ( env : & crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
43+ pub fn pausable ( env : & mut crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
4444 match kv_get ( env, & bcat ( & [ b"coin:" , symbol, b":pausable" ] ) ) . as_deref ( ) {
4545 Some ( b"true" ) => true ,
4646 _ => false
4747 }
4848}
4949
50- pub fn paused ( env : & crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
50+ pub fn paused ( env : & mut crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
5151 match kv_get ( env, & bcat ( & [ b"coin:" , symbol, b":paused" ] ) ) . as_deref ( ) {
5252 Some ( b"true" ) => pausable ( env, symbol) ,
5353 _ => false
5454 }
5555}
5656
57- pub fn soulbound ( env : & crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
57+ pub fn soulbound ( env : & mut crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
5858 match kv_get ( env, & bcat ( & [ b"coin:" , symbol, b":soulbound" ] ) ) . as_deref ( ) {
5959 Some ( b"true" ) => true ,
6060 _ => false
6161 }
6262}
6363
64- pub fn total_supply ( env : & crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> i128 {
64+ pub fn total_supply ( env : & mut crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> i128 {
6565 match kv_get ( env, & bcat ( & [ b"coin:" , symbol, b":totalSupply" ] ) ) {
6666 Some ( amount) => std:: str:: from_utf8 ( & amount) . unwrap ( ) . parse :: < i128 > ( ) . unwrap_or_else ( |_| panic_any ( "invalid_total_supply" ) ) ,
6767 None => 0
6868 }
6969}
7070
71- pub fn exists ( env : & crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
71+ pub fn exists ( env : & mut crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] ) -> bool {
7272 match kv_get ( env, & bcat ( & [ b"coin:" , symbol, b":totalSupply" ] ) ) {
7373 Some ( _) => true ,
7474 None => false
7575 }
7676}
7777
78- pub fn has_permission ( env : & crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] , signer : & [ u8 ] ) -> bool {
78+ pub fn has_permission ( env : & mut crate :: consensus:: consensus_apply:: ApplyEnv , symbol : & [ u8 ] , signer : & [ u8 ] ) -> bool {
7979 match kv_get ( env, & bcat ( & [ b"coin:" , symbol, b":permission" ] ) ) {
8080 None => false ,
8181 Some ( permission_list) => {
@@ -100,7 +100,7 @@ pub fn call_transfer(env: &mut crate::consensus::consensus_apply::ApplyEnv, args
100100 if receiver. len ( ) != 48 { panic_any ( "invalid_receiver_pk" ) }
101101 if !( consensus:: bls12_381:: validate_public_key ( receiver) || receiver == & BURN_ADDRESS ) { panic_any ( "invalid_receiver_pk" ) }
102102 if amount <= 0 { panic_any ( "invalid_amount" ) }
103- if amount > balance ( env, env. caller_env . account_caller . as_slice ( ) , & symbol) { panic_any ( "insufficient_funds" ) }
103+ if amount > balance ( env, & env. caller_env . account_caller . clone ( ) , & symbol) { panic_any ( "insufficient_funds" ) }
104104
105105 if paused ( env, symbol) { panic_any ( "paused" ) }
106106 if soulbound ( env, symbol) { panic_any ( "soulbound" ) }
@@ -159,7 +159,7 @@ pub fn call_mint(env: &mut crate::consensus::consensus_apply::ApplyEnv, args: Ve
159159 let receiver = args[ 2 ] . as_slice ( ) ;
160160 if receiver. len ( ) != 48 { panic_any ( "invalid_receiver_pk" ) }
161161
162- if !has_permission ( env, & symbol, env. caller_env . account_caller . as_slice ( ) ) { panic_any ( "no_permissions" ) }
162+ if !has_permission ( env, & symbol, & env. caller_env . account_caller . clone ( ) ) { panic_any ( "no_permissions" ) }
163163
164164 mint ( env, symbol, amount, receiver) ;
165165}
@@ -184,7 +184,7 @@ pub fn call_pause(env: &mut crate::consensus::consensus_apply::ApplyEnv, args: V
184184 if direction != b"true" && direction != b"false" { panic_any ( "invalid_direction" ) }
185185
186186 if !exists ( env, & symbol) { panic_any ( "symbol_doesnt_exist" ) }
187- if !has_permission ( env, & symbol, env. caller_env . account_caller . as_slice ( ) ) { panic_any ( "no_permissions" ) }
187+ if !has_permission ( env, & symbol, & env. caller_env . account_caller . clone ( ) ) { panic_any ( "no_permissions" ) }
188188 if !pausable ( env, & symbol) { panic_any ( "not_pausable" ) }
189189
190190 kv_put ( env, & bcat ( & [ b"coin:" , & symbol, b":paused" ] ) , & direction) ;
0 commit comments