wormhole/terra/contracts/wormhole/src/msg.rs

62 lines
1.8 KiB
Rust
Raw Normal View History

use cosmwasm_std::{Binary, Coin};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use crate::state::{GuardianAddress, GuardianSetInfo};
type HumanAddr = String;
2022-09-30 03:07:27 -07:00
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
pub struct InstantiateMsg {
pub gov_chain: u16,
pub gov_address: Binary,
pub initial_guardian_set: GuardianSetInfo,
pub guardian_set_expirity: u64,
}
2022-09-30 03:07:27 -07:00
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
SubmitVAA { vaa: Binary },
PostMessage { message: Binary, nonce: u32 },
}
2022-09-30 03:07:27 -07:00
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub struct MigrateMsg {}
2022-09-30 03:07:27 -07:00
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
GuardianSetInfo {},
VerifyVAA { vaa: Binary, block_time: u64 },
GetState {},
QueryAddressHex { address: HumanAddr },
}
2022-09-30 03:07:27 -07:00
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
2020-12-31 04:47:09 -08:00
#[serde(rename_all = "snake_case")]
pub struct GuardianSetInfoResponse {
pub guardian_set_index: u32, // Current guardian set index
pub addresses: Vec<GuardianAddress>, // List of querdian addresses
}
2020-12-31 04:47:09 -08:00
2022-09-30 03:07:27 -07:00
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
2020-12-31 04:47:09 -08:00
#[serde(rename_all = "snake_case")]
pub struct WrappedRegistryResponse {
pub address: HumanAddr,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub struct GetStateResponse {
pub fee: Coin,
}
2022-09-30 03:07:27 -07:00
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub struct GetAddressHexResponse {
pub hex: String,
}