Introduce TracePos type for trace positions (#273)

Many internal structures refer to trace positions; this is an important type of values. In the code, it is sometimes `u32`, sometimes `usize`. While such variables usually have "_pos" suffix, having a dedicated type does improve code with type guarantees.
This commit is contained in:
Ivan Boldyrev
2022-06-10 08:29:56 +03:00
committed by GitHub
parent e0f6fa1b4d
commit 6df2b9d084
47 changed files with 439 additions and 233 deletions

View File

@ -89,8 +89,9 @@ pub fn data_from_result(result: &RawAVMOutcome) -> InterpreterData {
serde_json::from_slice(&result.data).expect("default serializer shouldn't fail")
}
pub fn raw_data_from_trace(trace: ExecutionTrace) -> Vec<u8> {
let data = InterpreterData::from_execution_result(trace, <_>::default(), <_>::default(), 0);
pub fn raw_data_from_trace(trace: impl Into<ExecutionTrace>) -> Vec<u8> {
let data =
InterpreterData::from_execution_result(trace.into(), <_>::default(), <_>::default(), 0);
serde_json::to_vec(&data).expect("default serializer shouldn't fail")
}