Struct vapcore_trace::TraceDB [−][src]
Database to store transaction execution trace.
Whenever a transaction is executed by VVM it’s execution trace is stored in trace database. Each trace has information, which contracts have been touched, which have been created during the execution of transaction, and which calls failed.
Implementations
impl<T> TraceDB<T> where
T: DatabaseExtras,
[src]
T: DatabaseExtras,
pub fn new(config: Config, db: Arc<dyn BlockChainDB>, extras: Arc<T>) -> Self
[src]
Creates new instance of TraceDB
.
pub fn collect_garbage(&self)
[src]
Ticks our cache system and throws out any old data.
Trait Implementations
impl<T> Database for TraceDB<T> where
T: DatabaseExtras,
[src]
T: DatabaseExtras,
fn tracing_enabled(&self) -> bool
[src]
fn import(&self, batch: &mut DBTransaction, request: ImportRequest)
[src]
Traces of import request’s enacted blocks are expected to be already in database or to be the currently inserted trace.
fn trace(
&self,
block_number: u64,
tx_position: usize,
trace_position: Vec<usize>
) -> Option<LocalizedTrace>
[src]
&self,
block_number: u64,
tx_position: usize,
trace_position: Vec<usize>
) -> Option<LocalizedTrace>
fn transaction_traces(
&self,
block_number: u64,
tx_position: usize
) -> Option<Vec<LocalizedTrace>>
[src]
&self,
block_number: u64,
tx_position: usize
) -> Option<Vec<LocalizedTrace>>
fn block_traces(&self, block_number: u64) -> Option<Vec<LocalizedTrace>>
[src]
fn filter(&self, filter: &Filter) -> Vec<LocalizedTrace>
[src]
Auto Trait Implementations
impl<T> !RefUnwindSafe for TraceDB<T>
impl<T> Send for TraceDB<T> where
T: Send + Sync,
T: Send + Sync,
impl<T> Sync for TraceDB<T> where
T: Send + Sync,
T: Send + Sync,
impl<T> Unpin for TraceDB<T>
impl<T> !UnwindSafe for TraceDB<T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,