tx3_resolver/trp/
spec.rs

1// Generated by cargo xtask gen --lang rust
2use serde::{Deserialize, Serialize};
3
4use crate::interop::{BytesEncoding, BytesEnvelope};
5
6pub type JsonArgMap = serde_json::Map<String, serde_json::Value>;
7
8#[derive(Debug, Deserialize, Serialize, Clone)]
9pub struct TirEnvelope {
10    pub content: String,
11    pub encoding: BytesEncoding,
12    pub version: String,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct SubmitParams {
17    #[serde(rename = "tx")]
18    pub tx: BytesEnvelope,
19    #[serde(rename = "witnesses")]
20    pub witnesses: Vec<SubmitWitness>,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
24pub struct TxEnvelope {
25    #[serde(rename = "hash")]
26    pub hash: String,
27    #[serde(rename = "tx")]
28    pub tx: String,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
32pub struct SubmitResponse {
33    #[serde(rename = "hash")]
34    pub hash: String,
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
38pub struct SearchSpaceDiagnostic {
39    #[serde(rename = "by_address_count")]
40    pub by_address_count: Option<usize>,
41    #[serde(rename = "by_asset_class_count")]
42    pub by_asset_class_count: Option<usize>,
43    #[serde(rename = "by_ref_count")]
44    pub by_ref_count: Option<usize>,
45    #[serde(rename = "matched")]
46    pub matched: Vec<String>,
47}
48
49#[derive(Debug, Clone, Serialize, Deserialize)]
50pub struct InputQueryDiagnostic {
51    #[serde(rename = "address")]
52    pub address: Option<String>,
53    #[serde(rename = "collateral")]
54    pub collateral: bool,
55    #[serde(rename = "min_amount")]
56    pub min_amount: std::collections::HashMap<String, String>,
57    #[serde(rename = "refs")]
58    pub refs: Vec<String>,
59    #[serde(rename = "support_many")]
60    pub support_many: bool,
61}
62
63#[derive(Debug, Clone, Serialize, Deserialize)]
64pub struct ResolveParams {
65    #[serde(rename = "args")]
66    pub args: JsonArgMap,
67    #[serde(rename = "tir")]
68    pub tir: TirEnvelope,
69}
70
71#[derive(Debug, Clone, Serialize, Deserialize)]
72pub struct SubmitWitness {
73    #[serde(rename = "key")]
74    pub key: BytesEnvelope,
75    #[serde(rename = "signature")]
76    pub signature: BytesEnvelope,
77    #[serde(rename = "type")]
78    pub ty: String,
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
82pub struct UnsupportedTirDiagnostic {
83    #[serde(rename = "expected")]
84    pub expected: String,
85    #[serde(rename = "provided")]
86    pub provided: String,
87}
88
89#[derive(Debug, Clone, Serialize, Deserialize)]
90pub struct InputNotResolvedDiagnostic {
91    #[serde(rename = "name")]
92    pub name: String,
93    #[serde(rename = "query")]
94    pub query: InputQueryDiagnostic,
95    #[serde(rename = "search_space")]
96    pub search_space: SearchSpaceDiagnostic,
97}
98
99#[derive(Debug, Clone, Serialize, Deserialize)]
100pub struct MissingTxArgDiagnostic {
101    #[serde(rename = "key")]
102    pub key: String,
103    #[serde(rename = "type")]
104    pub ty: String,
105}
106
107#[derive(Debug, Clone, Serialize, Deserialize)]
108pub struct TxScriptFailureDiagnostic {
109    #[serde(rename = "logs")]
110    pub logs: Vec<String>,
111}