refactor(aquavm): getting rid of CallOutputValue in call merger (#353)

This PR refactors call merger of `TraceHandler`. Previously it requires `CallOutputValue` to determine a type of call output value (stream or scalar). And internally it checked correspondence between data result and call output type and return a error if they are not equal. Although execution engine component also had a match over these values and does nothing if they are not matched since `TraceHandler` did this job. This PR eliminate such behaviour and improve isolation of AquaVM modules.
This commit is contained in:
Mike Voronov
2022-10-06 19:59:47 +03:00
committed by GitHub
parent c3aa8efa04
commit a8b227caf5
19 changed files with 141 additions and 219 deletions

View File

@ -29,20 +29,11 @@
mod data_keeper;
mod errors;
mod handler;
mod merger;
pub mod merger;
mod state_automata;
pub use errors::TraceHandlerError;
pub use handler::TraceHandler;
pub use merger::ApResultError;
pub use merger::CallResultError;
pub use merger::FoldResultError;
pub use merger::MergeCtxType;
pub use merger::MergeError;
pub use merger::MergerApResult;
pub use merger::MergerCallResult;
pub use merger::MergerCanonResult;
pub use merger::PreparationScheme;
pub use state_automata::SubgraphType;
pub type TraceHandlerResult<T> = std::result::Result<T, TraceHandlerError>;