tempo_node/rpc/token/
role_history.rs1use alloy_primitives::{Address, B256, BlockNumber, TxHash};
2use serde::{Deserialize, Serialize};
3use tempo_alloy::rpc::pagination::FilterRange;
4
5#[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct RoleHistoryResponse {
8 pub next_cursor: Option<String>,
10 pub role_changes: Vec<RoleChange>,
12}
13
14#[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct RoleHistoryFilters {
17 pub account: Option<Address>,
19 pub block_number: Option<FilterRange<BlockNumber>>,
21 pub granted: Option<bool>,
23 pub role: Option<B256>,
25 pub sender: Option<Address>,
27 pub timestamp: Option<FilterRange<u64>>,
29 pub token: Option<Address>,
31}
32
33#[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
34#[serde(rename_all = "camelCase")]
35pub struct RoleChange {
36 pub account: Address,
38 pub block_number: BlockNumber,
40 pub granted: bool,
42 pub role: B256,
44 pub sender: Address,
46 pub timestamp: u64,
48 pub token: Address,
50 pub transaction_hash: TxHash,
52}