From d0906c9b5210f4922072b0f8f309fe35eac2c437 Mon Sep 17 00:00:00 2001 From: Andrei Marinica Date: Thu, 13 Jul 2023 12:56:08 +0300 Subject: [PATCH] TypedScQuery refactor --- .../src/scenario/model/step/typed_sc_query.rs | 46 ++++--------------- 1 file changed, 9 insertions(+), 37 deletions(-) diff --git a/framework/scenario/src/scenario/model/step/typed_sc_query.rs b/framework/scenario/src/scenario/model/step/typed_sc_query.rs index 8f2b8652dd..8b2cf66e38 100644 --- a/framework/scenario/src/scenario/model/step/typed_sc_query.rs +++ b/framework/scenario/src/scenario/model/step/typed_sc_query.rs @@ -2,54 +2,26 @@ use std::marker::PhantomData; use crate::multiversx_sc::codec::{CodecFrom, TopEncodeMulti}; -use crate::scenario::model::{AddressValue, BytesValue, TxExpect, TxQuery}; +use crate::scenario::model::{AddressValue, BytesValue, TxExpect}; use super::ScQueryStep; -#[derive(Debug)] +#[derive(Debug, Default)] pub struct TypedScQuery { - pub id: String, - pub tx_id: Option, - pub comment: Option, - pub tx: Box, - pub expect: Option, + pub sc_query_step: ScQueryStep, _return_type: PhantomData, } -impl Default for TypedScQuery { - fn default() -> Self { - Self { - id: Default::default(), - tx_id: Default::default(), - comment: Default::default(), - tx: Default::default(), - expect: Default::default(), - _return_type: PhantomData, - } - } -} - impl From> for ScQueryStep { fn from(typed: TypedScQuery) -> Self { - Self { - id: typed.id, - tx_id: typed.tx_id, - explicit_tx_hash: None, - comment: typed.comment, - tx: typed.tx, - expect: typed.expect, - } + typed.sc_query_step } } impl From for TypedScQuery { fn from(untyped: ScQueryStep) -> Self { Self { - id: untyped.id, - tx_id: untyped.tx_id, - comment: untyped.comment, - tx: untyped.tx, - expect: untyped.expect, + sc_query_step: untyped, _return_type: PhantomData, } } @@ -57,7 +29,7 @@ impl From for TypedScQuery { impl TypedScQuery { pub fn function(mut self, expr: &str) -> Self { - self.tx.function = expr.to_string(); + self.sc_query_step.tx.function = expr.to_string(); self } @@ -65,7 +37,7 @@ impl TypedScQuery { where BytesValue: From, { - self.tx.arguments.push(BytesValue::from(expr)); + self.sc_query_step.tx.arguments.push(BytesValue::from(expr)); self } @@ -73,12 +45,12 @@ impl TypedScQuery { where AddressValue: From, { - self.tx.to = AddressValue::from(address); + self.sc_query_step.tx.to = AddressValue::from(address); self } pub fn expect(mut self, expect: TxExpect) -> Self { - self.expect = Some(expect); + self.sc_query_step.expect = Some(expect); self } }