Skip to main content

runx_runtime/
host.rs

1use runx_contracts::{ExecutionEvent, ResolutionRequest, ResolutionResponse};
2
3use crate::RuntimeError;
4
5pub trait Host {
6    fn report(&mut self, event: ExecutionEvent) -> Result<(), RuntimeError>;
7
8    fn resolve(
9        &mut self,
10        _request: ResolutionRequest,
11    ) -> Result<Option<ResolutionResponse>, RuntimeError> {
12        Ok(None)
13    }
14
15    fn log(&mut self, _message: String) -> Result<(), RuntimeError> {
16        Ok(())
17    }
18}
19
20#[derive(Default)]
21pub struct NoopHost;
22
23impl Host for NoopHost {
24    fn report(&mut self, _event: ExecutionEvent) -> Result<(), RuntimeError> {
25        Ok(())
26    }
27}