declare_plugin_states

Macro declare_plugin_states 

Source
macro_rules! declare_plugin_states {
    ($($state:ty),+ $(,)?) => { ... };
}
Expand description

Declares the StateSpec types managed by a plugin behavior.

Generates register_lattice_paths and register_state_scopes implementations for AgentBehavior, so plugin authors only need to list their state types once instead of implementing two methods.

§Example

#[async_trait]
impl AgentBehavior for MyPlugin {
    fn id(&self) -> &str { "my_plugin" }
    tirea_contract::declare_plugin_states!(MyState, MyOtherState);
}