1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use crate::Binary;
#[non_exhaustive]
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum WasmQuery {
/// this queries the public API of another contract at a known address (with known ABI)
/// return value is whatever the contract returns (caller should know)
Smart {
contract_addr: String,
/// msg is the json-encoded QueryMsg struct
msg: Binary,
},
/// this queries the raw kv-store of the contract.
/// returns the raw, unparsed data stored at that key, which may be an empty vector if not present
Raw {
contract_addr: String,
/// Key is the raw key used in the contracts Storage
key: Binary,
},
}