Take the execution state during block execution. Has to be non-empty.
(&self)
| 308 | |
| 309 | /// Take the execution state during block execution. Has to be non-empty. |
| 310 | async fn take_exec_state(&self) -> FvmExecState<SS> { |
| 311 | let mut guard = self.exec_state.lock().await; |
| 312 | guard.take().expect("exec state empty") |
| 313 | } |
| 314 | |
| 315 | /// Take the execution state, update it, put it back, return the output. |
| 316 | async fn modify_exec_state<T, F, R>(&self, f: F) -> Result<T> |