hara_native/lang/protocol/
iworkstore.rs1use hara_protocol_macros::hara_protocol;
2
3#[hara_protocol(
4 namespace = "std.protocol.iworkstore",
5 name = "IWorkStore",
6 availability = "capability-gated",
7 capability = "native-runtime-protocols"
8)]
9pub trait IWorkStore {
10 type Query;
11 type Transition;
12 type Output;
13
14 #[hara_method(value = "work-query", arity = 2)]
15 fn work_query(&self, query: Self::Query) -> Self::Output;
16 #[hara_method(value = "work-transact", arity = 2)]
17 fn work_transact(&self, transition: Self::Transition) -> Self::Output;
18}