|
50 | 50 | //! ``` |
51 | 51 | //! use soroban_sdk::{contract, contractimpl, contracttrait, Address, Env}; |
52 | 52 | //! |
53 | | -//! const PAUSED: &str = "paused"; |
54 | | -//! |
55 | 53 | //! // A regular trait for admin access control - not exported as contract functions |
56 | 54 | //! pub trait RequireAdmin { |
57 | 55 | //! fn require_admin(env: &Env); |
|
60 | 58 | //! // Define a contracttrait with default implementations that require RequireAdmin |
61 | 59 | //! #[contracttrait] |
62 | 60 | //! pub trait Pausable: RequireAdmin { |
| 61 | +//! const PAUSED: &'static str = "paused"; |
| 62 | +//! |
63 | 63 | //! fn is_paused(env: &Env) -> bool { |
64 | | -//! env.storage().instance().has(&PAUSED) |
| 64 | +//! env.storage().instance().has(&Self::PAUSED) |
65 | 65 | //! } |
66 | 66 | //! |
67 | 67 | //! fn pause(env: &Env) { |
68 | 68 | //! Self::require_admin(env); |
69 | | -//! env.storage().instance().set(&PAUSED, &true); |
| 69 | +//! env.storage().instance().set(&Self::PAUSED, &true); |
70 | 70 | //! } |
71 | 71 | //! |
72 | 72 | //! fn unpause(env: &Env) { |
73 | 73 | //! Self::require_admin(env); |
74 | | -//! env.storage().instance().remove(&PAUSED); |
| 74 | +//! env.storage().instance().remove(&Self::PAUSED); |
75 | 75 | //! } |
76 | 76 | //! } |
77 | 77 | //! |
|
114 | 114 | //! ``` |
115 | 115 | //! use soroban_sdk::{contract, contractimpl, contracttrait, Address, Env}; |
116 | 116 | //! |
117 | | -//! const PAUSED: &str = "paused"; |
118 | | -//! |
119 | 117 | //! // A regular trait for admin access control - not exported as contract functions |
120 | 118 | //! pub trait RequireAdmin { |
121 | 119 | //! fn require_admin(env: &Env); |
|
124 | 122 | //! // Define a contracttrait with default implementations that require RequireAdmin |
125 | 123 | //! #[contracttrait] |
126 | 124 | //! pub trait Pausable: RequireAdmin { |
| 125 | +//! const PAUSED: &'static str = "paused"; |
| 126 | +//! |
127 | 127 | //! fn is_paused(env: &Env) -> bool { |
128 | | -//! env.storage().instance().has(&PAUSED) |
| 128 | +//! env.storage().instance().has(&Self::PAUSED) |
129 | 129 | //! } |
130 | 130 | //! |
131 | 131 | //! fn pause(env: &Env) { |
132 | 132 | //! Self::require_admin(env); |
133 | | -//! env.storage().instance().set(&PAUSED, &true); |
| 133 | +//! env.storage().instance().set(&Self::PAUSED, &true); |
134 | 134 | //! } |
135 | 135 | //! |
136 | 136 | //! fn unpause(env: &Env) { |
137 | 137 | //! Self::require_admin(env); |
138 | | -//! env.storage().instance().remove(&PAUSED); |
| 138 | +//! env.storage().instance().remove(&Self::PAUSED); |
139 | 139 | //! } |
140 | 140 | //! } |
141 | 141 | //! |
|
156 | 156 | //! impl Pausable for MyContract { |
157 | 157 | //! // Override is_paused with custom logic that returns false when not set |
158 | 158 | //! fn is_paused(env: &Env) -> bool { |
159 | | -//! env.storage().instance().get(&PAUSED).unwrap_or(false) |
| 159 | +//! env.storage().instance().get(&Self::PAUSED).unwrap_or(false) |
160 | 160 | //! } |
161 | 161 | //! // pause() and unpause() use the default implementations |
162 | 162 | //! } |
|
184 | 184 | //! ``` |
185 | 185 | //! use soroban_sdk::{contract, contractimpl, contracttrait, Address, Env}; |
186 | 186 | //! |
187 | | -//! const PAUSED: &str = "paused"; |
188 | | -//! |
189 | 187 | //! // A regular trait for admin access control - not exported as contract functions |
190 | 188 | //! pub trait RequireAdmin { |
191 | 189 | //! fn require_admin(env: &Env); |
|
194 | 192 | //! // Define a contracttrait with default implementations that require RequireAdmin |
195 | 193 | //! #[contracttrait] |
196 | 194 | //! pub trait Pausable: RequireAdmin { |
| 195 | +//! const PAUSED: &'static str = "paused"; |
| 196 | +//! |
197 | 197 | //! fn is_paused(env: &Env) -> bool { |
198 | | -//! env.storage().instance().has(&PAUSED) |
| 198 | +//! env.storage().instance().has(&Self::PAUSED) |
199 | 199 | //! } |
200 | 200 | //! |
201 | 201 | //! fn pause(env: &Env) { |
202 | 202 | //! Self::require_admin(env); |
203 | | -//! env.storage().instance().set(&PAUSED, &true); |
| 203 | +//! env.storage().instance().set(&Self::PAUSED, &true); |
204 | 204 | //! } |
205 | 205 | //! |
206 | 206 | //! fn unpause(env: &Env) { |
207 | 207 | //! Self::require_admin(env); |
208 | | -//! env.storage().instance().remove(&PAUSED); |
| 208 | +//! env.storage().instance().remove(&Self::PAUSED); |
209 | 209 | //! } |
210 | 210 | //! } |
211 | 211 | //! |
|
0 commit comments