1pub mod condition;
2pub mod variable;
3
4use warp_controller_pkg::job::{ExternalInput, JobStatus};
5use cosmwasm_schema::{cw_serde, QueryResponses};
6use cosmwasm_std::{CosmosMsg, QueryRequest};
7#[cw_serde]
8pub struct InstantiateMsg {}
9
10#[cw_serde]
11pub enum ExecuteMsg {
12 ExecuteSimulateQuery(ExecuteSimulateQueryMsg),
13 ExecuteValidateJobCreation(ExecuteValidateJobCreationMsg),
14 ExecuteHydrateVars(ExecuteHydrateVarsMsg),
15 ExecuteResolveCondition(ExecuteResolveConditionMsg),
16 ExecuteApplyVarFn(ExecuteApplyVarFnMsg),
17 ExecuteHydrateMsgs(ExecuteHydrateMsgsMsg),
18}
19
20#[derive(QueryResponses)]
21#[cw_serde]
22pub enum QueryMsg {
23 #[returns(SimulateResponse)]
24 SimulateQuery(SimulateQueryMsg),
25 #[returns(String)]
26 QueryValidateJobCreation(QueryValidateJobCreationMsg),
27 #[returns(String)]
28 QueryHydrateVars(QueryHydrateVarsMsg),
29 #[returns(bool)]
30 QueryResolveCondition(QueryResolveConditionMsg),
31 #[returns(String)]
32 QueryApplyVarFn(QueryApplyVarFnMsg),
33 #[returns(Vec<CosmosMsg>)]
34 QueryHydrateMsgs(QueryHydrateMsgsMsg),
35}
36
37#[cw_serde]
38pub struct MigrateMsg {}
39
40#[cw_serde]
41pub struct ExecuteSimulateQueryMsg {
42 pub query: QueryRequest<String>,
43}
44
45#[cw_serde]
46pub struct ExecuteHydrateMsgsMsg {
47 pub msgs: String,
48 pub vars: String,
49}
50
51#[cw_serde]
52pub struct ExecuteHydrateVarsMsg {
53 pub vars: String,
54 pub external_inputs: Option<Vec<ExternalInput>>,
55}
56
57#[cw_serde]
58pub struct ExecuteResolveConditionMsg {
59 pub condition: String,
60 pub vars: String,
61}
62
63#[cw_serde]
64pub struct ExecuteApplyVarFnMsg {
65 pub vars: String,
66 pub status: JobStatus,
67}
68
69#[cw_serde]
70pub struct ExecuteValidateJobCreationMsg {
71 pub condition: String,
72 pub terminate_condition: Option<String>,
73 pub vars: String,
74 pub msgs: String,
75}
76
77#[cw_serde]
78pub struct QueryValidateJobCreationMsg {
79 pub condition: String,
80 pub terminate_condition: Option<String>,
81 pub vars: String,
82 pub msgs: String,
83}
84
85#[cw_serde]
86pub struct QueryHydrateMsgsMsg {
87 pub msgs: String,
88 pub vars: String,
89}
90
91#[cw_serde]
92pub struct QueryHydrateVarsMsg {
93 pub vars: String,
94 pub external_inputs: Option<Vec<ExternalInput>>,
95}
96
97#[cw_serde]
98pub struct QueryResolveConditionMsg {
99 pub condition: String,
100 pub vars: String,
101}
102
103#[cw_serde]
104pub struct QueryApplyVarFnMsg {
105 pub vars: String,
106 pub status: JobStatus,
107}
108
109#[cw_serde]
110pub struct SimulateQueryMsg {
111 pub query: QueryRequest<String>,
112}
113
114#[cw_serde]
115pub struct SimulateResponse {
116 pub response: String,
117}