tempo_node/rpc/policy/
addresses.rs

1use alloy_primitives::Address;
2use serde::{Deserialize, Serialize};
3use tempo_alloy::rpc::pagination::PaginationParams;
4
5#[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct AddressesResponse {
8    /// Cursor for next page, null if no more results
9    pub next_cursor: Option<String>,
10    /// Array of items matching the input query
11    pub addresses: Vec<PolicyAddress>,
12}
13
14#[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct AddressesParams {
17    /// Policy ID to query addresses for
18    pub policy_id: u64,
19    /// Determines what items should be yielded in the response.
20    #[serde(flatten)]
21    pub params: PaginationParams<AddressesFilters>,
22}
23
24#[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
25#[serde(rename_all = "camelCase")]
26pub struct AddressesFilters {
27    /// Filter by authorization status (true = authorized, false = not authorized)
28    pub authorized: Option<bool>,
29}
30
31#[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
32#[serde(rename_all = "camelCase")]
33pub struct PolicyAddress {
34    /// Address in the policy
35    pub address: Address,
36    /// Whether address is authorized (depends on policy type)
37    pub authorized: bool,
38}