Skip to main content

liquid_finance/
staking_linked_list.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use cosmwasm_std::{Addr, Uint128};
5
6// linked-list storage
7#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
8pub struct LinkedList {
9    pub head_id: u64,
10    pub tail_id: u64,
11    pub length: u64,
12}
13
14// node storage
15#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
16pub struct Node {
17    pub receiver: Addr,
18    pub value: Uint128,
19    pub height: u64,
20    pub prev: u64,
21    pub next: u64,
22}
23
24#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
25pub struct NodeWithId {
26    pub id: u64,
27    pub info: Node
28}