use cosmwasm_std::Binary; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; type HumanAddr = String; #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { // governance contract details pub gov_chain: u16, pub gov_address: Binary, pub wormhole_contract: HumanAddr, pub wrapped_asset_code_id: u64, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { RegisterAssetHook { asset_id: Binary, }, InitiateTransfer { contract_addr: String, token_id: String, recipient_chain: u16, recipient: Binary, nonce: u32, }, SubmitVaa { data: Binary, }, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct MigrateMsg {} #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { WrappedRegistry { chain: u16, address: Binary }, AllWrappedAssets {}, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct WrappedRegistryResponse { pub address: HumanAddr, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum WormholeQueryMsg { VerifyVAA { vaa: Binary, block_time: u64 }, }