pub trait TransactionContext {
// Required methods
fn get_state_entries(
&self,
addresses: &[String],
) -> Result<Vec<(String, Vec<u8>)>, ContextError>;
fn set_state_entries(
&self,
entries: Vec<(String, Vec<u8>)>,
) -> Result<(), ContextError>;
fn delete_state_entries(
&self,
addresses: &[String],
) -> Result<Vec<String>, ContextError>;
fn add_receipt_data(&self, data: &[u8]) -> Result<(), ContextError>;
fn add_event(
&self,
event_type: String,
attributes: Vec<(String, String)>,
data: &[u8],
) -> Result<(), ContextError>;
// Provided methods
fn get_state(
&self,
addresses: &[String],
) -> Result<Vec<(String, Vec<u8>)>, ContextError> { ... }
fn get_state_entry(
&self,
address: &str,
) -> Result<Option<Vec<u8>>, ContextError> { ... }
fn set_state(
&self,
entries: HashMap<String, Vec<u8>>,
) -> Result<(), ContextError> { ... }
fn set_state_entry(
&self,
address: String,
data: Vec<u8>,
) -> Result<(), ContextError> { ... }
fn delete_state(
&self,
addresses: &[String],
) -> Result<Vec<String>, ContextError> { ... }
fn delete_state_entry(
&self,
address: &str,
) -> Result<Option<String>, ContextError> { ... }
}Required Methods§
Sourcefn get_state_entries(
&self,
addresses: &[String],
) -> Result<Vec<(String, Vec<u8>)>, ContextError>
fn get_state_entries( &self, addresses: &[String], ) -> Result<Vec<(String, Vec<u8>)>, ContextError>
get_state_entries queries the validator state for data at each of the addresses in the given list. The addresses that have been set are returned.
§Arguments
addresses- the addresses to fetch
Sourcefn set_state_entries(
&self,
entries: Vec<(String, Vec<u8>)>,
) -> Result<(), ContextError>
fn set_state_entries( &self, entries: Vec<(String, Vec<u8>)>, ) -> Result<(), ContextError>
set_state_entries requests that each address in the provided map be set in validator state to its corresponding value.
§Arguments
entries- entries are a hashmap where the key is an address and value is the data
Sourcefn delete_state_entries(
&self,
addresses: &[String],
) -> Result<Vec<String>, ContextError>
fn delete_state_entries( &self, addresses: &[String], ) -> Result<Vec<String>, ContextError>
delete_state_entries requests that each of the provided addresses be unset in validator state. A list of successfully deleted addresses is returned.
§Arguments
addresses- the addresses to delete
Sourcefn add_receipt_data(&self, data: &[u8]) -> Result<(), ContextError>
fn add_receipt_data(&self, data: &[u8]) -> Result<(), ContextError>
add_receipt_data adds a blob to the execution result for this transaction
§Arguments
data- the data to add
Sourcefn add_event(
&self,
event_type: String,
attributes: Vec<(String, String)>,
data: &[u8],
) -> Result<(), ContextError>
fn add_event( &self, event_type: String, attributes: Vec<(String, String)>, data: &[u8], ) -> Result<(), ContextError>
add_event adds a new event to the execution result for this transaction.
§Arguments
event_type- This is used to subscribe to events. It should be globally unique and describe what, in general, has occured.attributes- Additional information about the event that is transparent to the validator. Attributes can be used by subscribers to filter the type of events they receive.data- Additional information about the event that is opaque to the validator.
Provided Methods§
Sourcefn get_state(
&self,
addresses: &[String],
) -> Result<Vec<(String, Vec<u8>)>, ContextError>
👎Deprecated since 0.3.0: please use get_state_entry or get_state_entries instead
fn get_state( &self, addresses: &[String], ) -> Result<Vec<(String, Vec<u8>)>, ContextError>
get_state_entry or get_state_entries insteadget_state queries the validator state for data at each of the addresses in the given list. The addresses that have been set are returned. get_state is deprecated, please use get_state_entry or get_state_entries instead
§Arguments
addresses- the addresses to fetch
Sourcefn get_state_entry(
&self,
address: &str,
) -> Result<Option<Vec<u8>>, ContextError>
fn get_state_entry( &self, address: &str, ) -> Result<Option<Vec<u8>>, ContextError>
get_state_entry queries the validator state for data at the address given. If the address is set, the data is returned.
§Arguments
address- the address to fetch
Sourcefn set_state(
&self,
entries: HashMap<String, Vec<u8>>,
) -> Result<(), ContextError>
👎Deprecated since 0.3.0: please use set_state_entry or set_state_entries instead
fn set_state( &self, entries: HashMap<String, Vec<u8>>, ) -> Result<(), ContextError>
set_state_entry or set_state_entries insteadset_state requests that each address in the provided map be set in validator state to its corresponding value. set_state is deprecated, please use set_state_entry to set_state_entries instead
§Arguments
entries- entries are a hashmap where the key is an address and value is the data
Sourcefn set_state_entry(
&self,
address: String,
data: Vec<u8>,
) -> Result<(), ContextError>
fn set_state_entry( &self, address: String, data: Vec<u8>, ) -> Result<(), ContextError>
set_state_entry requests that the provided address is set in the validator state to its corresponding value.
§Arguments
address- address of where to store the datadata- payload is the data to store at the address
Sourcefn delete_state(
&self,
addresses: &[String],
) -> Result<Vec<String>, ContextError>
👎Deprecated since 0.3.0: please use delete_state_entry or delete_state_entries instead
fn delete_state( &self, addresses: &[String], ) -> Result<Vec<String>, ContextError>
delete_state_entry or delete_state_entries insteaddelete_state requests that each of the provided addresses be unset in validator state. A list of successfully deleted addresses is returned. delete_state is deprecated, please use delete_state_entry to delete_state_entries instead
§Arguments
addresses- the addresses to delete
Sourcefn delete_state_entry(
&self,
address: &str,
) -> Result<Option<String>, ContextError>
fn delete_state_entry( &self, address: &str, ) -> Result<Option<String>, ContextError>
delete_state_entry requests that the provided address be unset in validator state. A list of successfully deleted addresses is returned.
§Arguments
address- the address to delete