gns 0.1.0

Gns name service package to interact with smart contracts
Documentation
use cosmwasm_std::Addr;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct InstantiateMsg {
    pub interface_id: u64,
    pub registry_address: String,
}

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
    SetAddress {
        node: Vec<u8>,
        coin_type: u64,
        address: String,
    },
    SetSeiAddress {
        node: Vec<u8>,
        address: String,
    },
    SetTextData {
        node: Vec<u8>,
        key: String,
        value: String,
    },
    SetContentHash {
        node: Vec<u8>,
        hash: Vec<u8>,
    },
    SetConfig {
        interface_id: u64,
        registry_address: String,
        owner: String,
    },
}

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
    GetAddress { node: Vec<u8>, coin_type: u64 },
    GetTextData { node: Vec<u8>, key: String },
    GetSeiAddress { node: Vec<u8> },
    GetContentHash { node: Vec<u8> },
    GetConfig {},
}

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct AddressResponse {
    pub address: String,
}

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct TextDataResponse {
    pub data: String,
}

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct ContentHashResponse {
    pub hash: Vec<u8>,
}

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct ConfigResponse {
    pub interface_id: u64,
    pub registry_address: Addr,
    pub owner: Addr,
}

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct MigrateMsg {}