revm_context/
setters.rs

1use crate::Context;
2use auto_impl::auto_impl;
3use context_interface::{Block, Cfg, Database, Journal, Transaction};
4
5#[auto_impl(&mut, Box)]
6pub trait ContextSetters {
7    type Tx: Transaction;
8    type Block: Block;
9
10    fn set_tx(&mut self, tx: Self::Tx);
11    fn set_block(&mut self, block: Self::Block);
12}
13
14impl<BLOCK, TX, CFG, DB, JOURNAL, CHAIN> ContextSetters
15    for Context<BLOCK, TX, CFG, DB, JOURNAL, CHAIN>
16where
17    BLOCK: Block,
18    TX: Transaction,
19    CFG: Cfg,
20    DB: Database,
21    JOURNAL: Journal<Database = DB>,
22{
23    type Tx = TX;
24    type Block = BLOCK;
25
26    fn set_tx(&mut self, tx: Self::Tx) {
27        self.tx = tx;
28    }
29
30    fn set_block(&mut self, block: Self::Block) {
31        self.block = block;
32    }
33}