AndromedaQuery

The set of query messages common to all ADOs in the Andromeda Logic Library.

AndromedaQuery

All of the ADOs can call the base query messages found in the AndromedaMsg.

AMP ADOs are the only ADOs that do not implement the AndromedaQuery base queries.

pub enum AndromedaQuery {
    #[returns(self::ownership::ContractOwnerResponse)]
    Owner {},
    #[returns(self::ownership::ContractPotentialOwnerResponse)]
    OwnershipRequest {},
    #[returns(self::ado_type::TypeResponse)]
    Type {},
    #[returns(self::kernel_address::KernelAddressResponse)]
    KernelAddress {},
    #[returns(self::ownership::PublisherResponse)]
    OriginalPublisher {},
    #[returns(self::block_height::BlockHeightResponse)]
    BlockHeightUponCreation {},
    #[returns(self::version::VersionResponse)]
    Version {},
    #[returns(self::version::ADOBaseVersionResponse)]
    ADOBaseVersion {},
    #[returns(Option<::cosmwasm_std::Addr>)]
    AppContract {},
    #[returns(Vec<self::permissioning::PermissionInfo>)]
    Permissions {
        actor: AndrAddr,
        limit: Option<u32>,
        start_after: Option<String>,
    },
    #[returns(Vec<self::permissioning::PermissionedActionsResponse>)]
    PermissionedActions {},
    #[cfg(feature = "rates")]
    #[returns(Option<self::rates::Rate>)]
    GetRate { action: String },
}

Owner

Queries the owner of the contract.

pub enum AndromedaQuery {
    #[returns(self::ownership::ContractOwnerResponse)]
    Owner{}
}

ContractOwnerResponse

pub struct ContractOwnerResponse {
    pub owner: String
}

OwnershipRequest

Returns the owner that has a request to take ownership of the ADO.

An OwnershipRequest is present when UpdateOwner is called.

pub enum AndromedaQuery {
#[returns(self::ownership::ContractPotentialOwnerResponse)]
OwnershipRequest {},
}

ContractPotentialOwnerResponse

A struct that returns the address that has the ownership offer for the ADO.

pub struct ContractPotentialOwnerResponse {
    pub potential_owner: Option<Addr>,
    pub expiration: Option<MillisecondsExpiration>,
}

Type

Queries the ADO type.

pub enum AndromedaQuery {
    #[returns(self::ado_type::TypeResponse)]
    Type {}
}

TypeResponse

pub struct TypeResponse {
    pub ado_type: String,
    }

KernelAddress

Queries the kernel address of the chain the ADO is deployed on.

pub enum AndromedaQuery {
    #[returns(self::kernel_address::KernelAddressResponse)]
    KernelAddress {},
    }

Returns a String containing the contract address of the Kernel.

BlockHeightUponCreation

Queries the block height when the ADO was created.

pub enum AndromedaQuery{
      #[returns(self::block_height::BlockHeightResponse)]
      BlockHeightUponCreation {},
      }

BlockHeightResponse

pub struct BlockHeightResponse {
    pub block_height: u64,
}

Version

Queries the version of the ADO.

pub enum AndromedaQuery {
     #[returns(self::version::VersionResponse)]
     Version {}
     }

VersionResponse

pub struct VersionResponse {
    pub version: String,
}

ADOBaseVersion

Queries the version of the andromeda-std..

pub enum AndromedaQuery {
    #[returns(self::version::ADOBaseVersionResponse)]
    ADOBaseVersion {},
     }

ADOBaseVersionResponse

pub struct ADOBaseVersionResponse {
    pub version: String,
}

AppContract

Returns the address of the App ADO that instantiated the ADO.

pub enum AndromedaQuery {
 #[returns(self::app_contract::AppContractResponse)]
 AppContract {}
 }

AppContractResponse

The struct containing the address of the App ADO.

pub struct AppContractResponse {
    pub app_contract: Addr,
}

OriginalPublisher

Queries the orginal address that published/instantiated the ADO.

pub enum AndromedaQuery {
    #[returns(self::ownership::PublisherResponse)]
    OriginalPublisher {}
    }

PublisherResponse

pub struct PublisherResponse {
    pub original_publisher: String,
}

Permisions

Queries the permissions set for the specified actor address.

pub enum AndromedaQuery {
    #[returns(Vec<self::permissioning::PermissionInfo>)]
    Permissions {
        actor: AndrAddr,
        limit: Option<u32>,
        start_after: Option<String>,
    }
}

PermissionInfo

Returns a vector of the PermissionInfo struct containing all the permissions for the actor.

pub struct PermissionInfo {
    pub permission: Permission,
    pub action: String,
    pub actor: String,
}

PermissionedActions

Queries the actions or execute messages that are permissioned in the ADO.

The actions that are permissioned are the ones that have PermissionAction called on them.

pub enum AndromedaQuery {
    #[returns(Vec<self::permissioning::PermissionedActionsResponse>)]
    PermissionedActions {},
    }

Returns a Vector of String containing the actions that are permissioned.

Rate

Only available to the ADOs that implement rates.

Queries the rates applied for the specified action.

pub enum AndromedaQuery {
   #[returns(Option<self::rates::Rate>)]
    Rate { action: String },
    }

Returns a rate struct containing the configurations of the rate.

AllRates

Queries all the rates applied on an ADO.

Only available to the ADOs that implement rates.

Queries the rates applied for the specified action.

pub enum AndromedaQuery {
#[returns(self::rates::AllRatesResponse)]
    AllRates {},
    }

AllRatesResponse

#[cw_serde]
pub struct AllRatesResponse {
    pub all_rates: Vec<(String, Rate)>,
}

Last updated

Additional Resources

GithubWebsite