whisky_common/models/
action.rs

1use serde::{Deserialize, Serialize};
2use super::Budget;
3
4#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
5#[serde(rename_all = "camelCase")]
6pub struct Action {
7    pub index: u32,
8    pub budget: Budget,
9    pub tag: RedeemerTag,
10}
11
12#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
13#[serde(rename_all = "camelCase")]
14pub struct EvalError {
15    pub index: u32,
16    pub budget: Budget,
17    pub tag: RedeemerTag,
18    pub error_message: String,
19    pub logs: Vec<String>,
20}
21
22#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
23#[serde(rename_all = "camelCase")]
24pub enum EvalResult {
25    Success(Action),
26    Error(EvalError),
27}
28
29#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
30#[serde(rename_all = "camelCase")]
31pub enum RedeemerTag {
32    Spend,
33    Mint,
34    Cert,
35    Reward,
36    Vote,
37    Propose,
38}