Struct abstract_api::state::ApiContract
source · [−]pub struct ApiContract<'a, T: Serialize + DeserializeOwned> {
pub traders: Map<'a, Addr, HashSet<Addr>>,
pub base_state: Item<'a, ApiState>,
pub version: Item<'a, ContractVersion>,
pub dependencies: &'static [&'static str],
pub target_os: Option<Core>,
/* private fields */
}
Expand description
The state variables for our ApiContract.
Fields
traders: Map<'a, Addr, HashSet<Addr>>
base_state: Item<'a, ApiState>
version: Item<'a, ContractVersion>
Stores the API version
dependencies: &'static [&'static str]
target_os: Option<Core>
Implementations
sourceimpl<'a, T: Serialize + DeserializeOwned> ApiContract<'a, T>
impl<'a, T: Serialize + DeserializeOwned> ApiContract<'a, T>
The api-contract base implementation.
sourcepub fn handle_request<RequestError: From<StdError> + From<ApiError>>(
self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
msg: ExecuteMsg<T>,
request_handler: impl FnOnce(DepsMut<'_>, Env, MessageInfo, ApiContract<'_, T>, T) -> Result<Response, RequestError>
) -> Result<Response, RequestError>
pub fn handle_request<RequestError: From<StdError> + From<ApiError>>(
self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
msg: ExecuteMsg<T>,
request_handler: impl FnOnce(DepsMut<'_>, Env, MessageInfo, ApiContract<'_, T>, T) -> Result<Response, RequestError>
) -> Result<Response, RequestError>
Takes request, sets destination and executes request handler This fn is the only way to get an ApiContract instance which ensures the destination address is set correctly.
pub fn execute(
&mut self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
message: BaseExecuteMsg
) -> ApiResult
sourceimpl<'a, T: Serialize + DeserializeOwned> ApiContract<'a, T>
impl<'a, T: Serialize + DeserializeOwned> ApiContract<'a, T>
sourcepub fn instantiate(
deps: DepsMut<'_>,
_env: Env,
_info: MessageInfo,
msg: BaseInstantiateMsg,
module_name: &str,
module_version: &str,
_api_dependencies: Vec<String>
) -> StdResult<Self>
pub fn instantiate(
deps: DepsMut<'_>,
_env: Env,
_info: MessageInfo,
msg: BaseInstantiateMsg,
module_name: &str,
module_version: &str,
_api_dependencies: Vec<String>
) -> StdResult<Self>
Instantiate the API
sourceimpl<'a, T: Serialize + DeserializeOwned> ApiContract<'a, T>
impl<'a, T: Serialize + DeserializeOwned> ApiContract<'a, T>
Where we dispatch the queries for the ApiContract
These ApiQueryMsg declarations can be found in abstract_os::common_module::add_on_msg
sourceimpl<'a, T: Serialize + DeserializeOwned> ApiContract<'a, T>
impl<'a, T: Serialize + DeserializeOwned> ApiContract<'a, T>
Constructor
Trait Implementations
sourceimpl<'a, T: Serialize + DeserializeOwned> Default for ApiContract<'a, T>
impl<'a, T: Serialize + DeserializeOwned> Default for ApiContract<'a, T>
sourceimpl<T: Serialize + DeserializeOwned> Dependency for ApiContract<'_, T>
impl<T: Serialize + DeserializeOwned> Dependency for ApiContract<'_, T>
Implement the dependency functions for an API contract
sourceimpl<T: Serialize + DeserializeOwned> MemoryOperation for ApiContract<'_, T>
impl<T: Serialize + DeserializeOwned> MemoryOperation for ApiContract<'_, T>
sourceimpl<T: Serialize + DeserializeOwned> OsExecute for ApiContract<'_, T>
impl<T: Serialize + DeserializeOwned> OsExecute for ApiContract<'_, T>
Execute a set of CosmosMsgs on the proxy contract of an OS.
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for ApiContract<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for ApiContract<'a, T>where
T: Send,
impl<'a, T> Sync for ApiContract<'a, T>where
T: Sync,
impl<'a, T> Unpin for ApiContract<'a, T>where
T: Unpin,
impl<'a, T> UnwindSafe for ApiContract<'a, T>where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more