waves_rust/model/
evaluate_script.rs1use crate::error::Error;
2use serde_json::{Map, Value};
3
4use crate::model::Address;
5use crate::util::JsonDeserializer;
6
7#[derive(Eq, PartialEq, Clone, Debug)]
8pub struct EvaluateScriptResponse {
9 pub result: Map<String, Value>,
10 pub complexity: u64,
11 pub expr: String,
12 pub address: Address,
13}
14
15impl TryFrom<&Value> for EvaluateScriptResponse {
16 type Error = Error;
17
18 fn try_from(value: &Value) -> Result<Self, Self::Error> {
19 Ok(EvaluateScriptResponse {
20 result: JsonDeserializer::safe_to_map_from_field(value, "result")?,
21 complexity: JsonDeserializer::safe_to_int_from_field(value, "complexity")? as u64,
22 expr: JsonDeserializer::safe_to_string_from_field(value, "expr")?,
23 address: Address::from_string(
24 JsonDeserializer::safe_to_string_from_field(value, "address")?.as_str(),
25 )?,
26 })
27 }
28}