circles_types/
config.rs

1use alloy_primitives::Address;
2use serde::{Deserialize, Serialize};
3
4/// Circles protocol configuration for a specific chain.
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct CirclesConfig {
7    /// RPC URL for Circles-specific endpoints
8    pub circles_rpc_url: String,
9    /// Pathfinder service URL for computing transfer paths
10    pub pathfinder_url: String,
11    /// Profile service URL for user profiles and metadata
12    pub profile_service_url: String,
13    /// Circles V1 Hub contract address
14    pub v1_hub_address: Address,
15    /// Circles V2 Hub contract address
16    pub v2_hub_address: Address,
17    /// Name Registry contract address
18    pub name_registry_address: Address,
19    /// Base Group Mint Policy contract address
20    pub base_group_mint_policy: Address,
21    /// Standard Treasury contract address
22    pub standard_treasury: Address,
23    /// Core Members Group Deployer contract address
24    pub core_members_group_deployer: Address,
25    /// Base Group Factory contract address
26    pub base_group_factory_address: Address,
27    /// Lift ERC20 contract address
28    pub lift_erc20_address: Address,
29    /// Invitation Escrow contract address
30    pub invitation_escrow_address: Address,
31    /// Invitation Farm contract address
32    pub invitation_farm_address: Address,
33    /// Referrals Module contract address
34    pub referrals_module_address: Address,
35}