injective_cosmwasm/authz/
response.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
5#[serde(rename_all = "snake_case")]
6pub struct Grant {
7    authorization: String,
8    expiration: u64,
9}
10
11#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
12#[serde(rename_all = "snake_case")]
13pub struct GrantAuthorization {
14    pub granter: String,
15    pub grantee: String,
16    pub authorization: String,
17    pub expiration: u64,
18}
19
20#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
21#[serde(rename_all = "snake_case")]
22pub struct PageResponse {
23    pub next_key: Option<Vec<u8>>,
24    pub total: Option<u64>,
25}
26
27#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
28pub struct GrantsResponse {
29    pub grants: Option<Vec<Grant>>,
30    pub pagination: Option<PageResponse>,
31}
32
33#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
34pub struct GranteeGrantsResponse {
35    pub grants: Option<Vec<GrantAuthorization>>,
36    pub pagination: Option<PageResponse>,
37}
38
39#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
40pub struct GranterGrantsResponse {
41    pub grants: Option<Vec<GrantAuthorization>>,
42    pub pagination: Option<PageResponse>,
43}