Skip to main content

hara_native/lang/protocol/
iworkstore.rs

1use 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}