olympus_pro/
subsidy_router.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
5pub struct InstantiateMsg {
6    pub policy: String,
7}
8
9#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
10#[serde(rename_all = "snake_case")]
11pub enum ExecuteMsg {
12    UpdateConfig {
13        policy: Option<String>,
14    },
15    PaySubsidy {},
16    AddSubsidyController {
17        subsidy_controller: String,
18        bond: String,
19    },
20    RemoveSubsidyController {
21        subsidy_controller: String,
22    },
23}
24
25#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
26#[serde(rename_all = "snake_case")]
27pub struct MigrateMsg {}
28
29#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
30#[serde(rename_all = "snake_case")]
31pub enum QueryMsg {
32    Config {},
33    BondForController { subsidy_controller: String },
34}
35
36// We define a custom struct for each query response
37#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
38pub struct ConfigResponse {
39    pub policy: String,
40}