pub trait ContractContext<Storage: ContractStorage> {
// Required method
fn storage(&self) -> &Storage;
// Provided methods
fn get_caller(&self) -> Key { ... }
fn self_addr(&mut self) -> Key { ... }
}pub trait ContractContext<Storage: ContractStorage> {
// Required method
fn storage(&self) -> &Storage;
// Provided methods
fn get_caller(&self) -> Key { ... }
fn self_addr(&mut self) -> Key { ... }
}