use crate::deploy::outcomes::actions::bounded::Fraction;
use crate::utils::sign::{Map, Value};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Settlement {
pub outcome: u32,
pub fraction: Fraction,
pub name: String,
pub description: String,
pub sides: [String; 2],
}
impl Settlement {
#[must_use]
pub fn wire(&self) -> Map {
let [first, second] = &self.sides;
Map::new()
.put("outcome", self.outcome)
.put("settleFraction", self.fraction.to_wire())
.put("details", "")
.put("nameAndDescription", Value::array([self.name.clone(), self.description.clone()]))
.put("sideNames", Value::array([first.clone(), second.clone()]))
}
}