Struct ckb_script::TransactionState
source · pub struct TransactionState {
pub current: usize,
pub vms: Vec<ResumableMachine>,
pub current_cycles: Cycle,
pub limit_cycles: Cycle,
pub machine_context: Arc<Mutex<MachineContext>>,
}Expand description
Struct specifies which script has verified so far. State lifetime bound with vm machine.
Fields§
§current: usizecurrent suspended script index
vms: Vec<ResumableMachine>vm states
current_cycles: Cyclecurrent consumed cycle
limit_cycles: Cyclelimit cycles
machine_context: Arc<Mutex<MachineContext>>machine context for the vms included in this state
Implementations§
source§impl TransactionState
impl TransactionState
sourcepub fn new(
vms: Vec<ResumableMachine>,
machine_context: Arc<Mutex<MachineContext>>,
current: usize,
current_cycles: Cycle,
limit_cycles: Cycle
) -> Self
pub fn new( vms: Vec<ResumableMachine>, machine_context: Arc<Mutex<MachineContext>>, current: usize, current_cycles: Cycle, limit_cycles: Cycle ) -> Self
Creates a new TransactionState struct
Trait Implementations§
source§impl Debug for TransactionState
impl Debug for TransactionState
Auto Trait Implementations§
impl Freeze for TransactionState
impl !RefUnwindSafe for TransactionState
impl Send for TransactionState
impl Sync for TransactionState
impl Unpin for TransactionState
impl !UnwindSafe for TransactionState
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more