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>,
}
NameTypeDescription

potential_owner

Option<Addr>

The address that has been offered ownership of the ADO.

expiration

When the ownership request expires. Specified as a timestamp in milliseconds.

Type

Queries the ADO type.

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

TypeResponse

pub struct TypeResponse {
    pub ado_type: String,
    }
NameTypeDescription

ado_type

String

The type of the ado.

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,
}
NameTypeDescription

block_height

u64

The block height at the time of creation of the ADO.

Version

Queries the version of the ADO.

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

VersionResponse

pub struct VersionResponse {
    pub version: String,
}
NameTypeDescripton

version

String

The version of the ADO.

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,
}
NameTypeDescription

app_contract

Addr

The address of the App that instantiated the ADO.

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,
}
NameTypeDescription

original_publisher

String

The original address that instantiated/published the ADO.

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>,
    }
}
NameTypeDescription

actor

The address we are checking permissions for.

limit

Option<u32>

Optional limit to the number of permissions returned. Defaults to 25 and can be set to a maximum of 50.

start_after

Option<String>

Optional permission to start after. Used for pagination.

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,
}
Name TypeDescription

permission

The permission that the actor was given.

action

String

The action or message that the permission is for.

actor

String

The address that has these permissions.

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.

GetRate

Only available to the ADOs that implement modules.

Queries the rates applied for the specified action.

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

Returns a rate struct containing the configurations of the rate.

Additional Resources

GithubWebsite