Attribute Macro frame_support::transactional [−][src]
#[transactional]
Execute the annotated function in a new storage transaction.
The return type of the annotated function must be Result
. All changes to storage performed
by the annotated function are discarded if it returns Err
, or committed if Ok
.
Example
#[transactional]
fn value_commits(v: u32) -> result::Result<u32, &'static str> {
Value::set(v);
Ok(v)
}
#[transactional]
fn value_rollbacks(v: u32) -> result::Result<u32, &'static str> {
Value::set(v);
Err("nah")
}