hyperstack_stacks/pumpfun/
entity.rs1use hyperstack_sdk::{Entity, StateView, ViewBuilder, ViewHandle, Views};
2use super::types::PumpfunToken;
3
4pub struct PumpfunTokenEntity;
5
6impl Entity for PumpfunTokenEntity {
7 type Data = PumpfunToken;
8
9 const NAME: &'static str = "PumpfunToken";
10
11 fn state_view() -> &'static str {
12 "PumpfunToken/state"
13 }
14
15 fn list_view() -> &'static str {
16 "PumpfunToken/list"
17 }
18}
19
20
21pub struct PumpfunTokenViews {
22 builder: ViewBuilder,
23}
24
25impl Views for PumpfunTokenViews {
26 type Entity = PumpfunTokenEntity;
27
28 fn from_builder(builder: ViewBuilder) -> Self {
29 Self { builder }
30 }
31}
32
33impl PumpfunTokenViews {
34 pub fn state(&self) -> StateView<PumpfunToken> {
35 StateView::new(
36 self.builder.connection().clone(),
37 self.builder.store().clone(),
38 "PumpfunToken/state".to_string(),
39 self.builder.initial_data_timeout(),
40 )
41 }
42
43 pub fn list(&self) -> ViewHandle<PumpfunToken> {
44 self.builder.view("PumpfunToken/list")
45 }
46}