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>,
}
Name
Type
Description

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,
    }
Name
Type
Description

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,
}
Name
Type
Description

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,
}
Name
Type
Descripton

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,
}
Name
Type
Description

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,
}
Name
Type
Description

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>,
    }
}
Name
Type
Description

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
Type
Description

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.

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)>,
}
Name
Type
Description

all_rates

A vector containing the name of the action and its applied rates.

Last updated

Additional Resources

GithubWebsite