osmo_reflect/
state.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use cosmwasm_std::{Addr, Reply, Storage};
5use cosmwasm_storage::{
6    bucket, bucket_read, singleton, singleton_read, Bucket, ReadonlyBucket, ReadonlySingleton,
7    Singleton,
8};
9
10const CONFIG_KEY: &[u8] = b"config";
11const RESULT_PREFIX: &[u8] = b"result";
12
13#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
14pub struct State {
15    pub owner: Addr,
16}
17
18pub fn config(storage: &mut dyn Storage) -> Singleton<State> {
19    singleton(storage, CONFIG_KEY)
20}
21
22pub fn config_read(storage: &dyn Storage) -> ReadonlySingleton<State> {
23    singleton_read(storage, CONFIG_KEY)
24}
25
26pub fn replies(storage: &mut dyn Storage) -> Bucket<Reply> {
27    bucket(storage, RESULT_PREFIX)
28}
29
30pub fn replies_read(storage: &dyn Storage) -> ReadonlyBucket<Reply> {
31    bucket_read(storage, RESULT_PREFIX)
32}