#controller #macro #derive #interface #enums #variant #cw-ica-controller

macro cw-ica-controller-derive

This crate contains macros for deriving cw-ica-controller interfaces

2 releases

0.4.2 Jan 28, 2024
0.4.1 Jan 27, 2024

#150 in #controller

Download history 104/week @ 2024-07-22 165/week @ 2024-07-29 178/week @ 2024-08-05 212/week @ 2024-08-12 28/week @ 2024-08-19 64/week @ 2024-08-26 150/week @ 2024-09-02 70/week @ 2024-09-09 32/week @ 2024-09-16 76/week @ 2024-09-23 212/week @ 2024-09-30 286/week @ 2024-10-07 192/week @ 2024-10-14 260/week @ 2024-10-21 99/week @ 2024-10-28 58/week @ 2024-11-04

632 downloads per month
Used in 2 crates

Apache-2.0

7KB

cw-ica-controller-derive - ICA Controller Derive

This crate provides a derive macro for contracts receiving ICA controller callback messages. This crate's macros are not intended to be used directly, but rather as a dependency of the cw-ica-controller crate where it is re-exported under the cw_ica_controller::helpers.

This allows the users of the cw-ica-controller crate to easily merge the required callback message enum variant into their ExecuteMsg enum.

Usage

I will show the usage of this crate (from the cw-ica-controller crate) in testing/contracts/callback-counter/src/msg.rs.

use cosmwasm_schema::{cw_serde, QueryResponses};
use cw_ica_controller::helpers::ica_callback_execute;

#[cw_serde]
pub struct InstantiateMsg {}

#[ica_callback_execute]
#[cw_serde]
pub enum ExecuteMsg {}

#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
    /// GetCallbackCounter returns the callback counter.
    #[returns(crate::state::CallbackCounter)]
    GetCallbackCounter {},
}

Dependencies

~1.5MB
~36K SLoC