//! Constants for Altius USD multi-token transactions.
//!
//! These constants define the default fee parameters for USD multi-token chains.
//!
//! **IMPORTANT**: This is the single source of truth for Rust code.
//! All addresses must be defined here AND in the JS SDK (sdk/js/src/constants.js).
//! When modifying addresses, update BOTH SDKs.

// ============================================================================
// Address Constants
//!
//! These addresses are derived from the Altius predeploy system.
// ============================================================================

/// USDA Fee Token (ERC20) - Genesis Fee Token (index 1)
pub const USDA_ADDRESS: &str = "0xa1700000000000000000000000000000000000001";

/// Fee Token Factory (index 0)
pub const FEE_TOKEN_FACTORY_ADDRESS: &str = "0xa1700000000000000000000000000000000000000";

/// Fee Manager (Independent prefix)
pub const FEE_MANAGER_ADDRESS: &str = "0xFE0000000000000000000000000000000000000001";

/// Alternative fee token for testing (index 2)
pub const ALT_FEE_TOKEN_ADDRESS: &str = "0xa1700000000000000000000000000000000000002";

/// Fee token prefix (10 bytes) for validation
pub const FEE_TOKEN_PREFIX: &str = "0xa1700000";

// ============================================================================
// Fee Configuration
// ============================================================================

/// Base fee in attodollars per gas (50 G-attodollars/gas).
pub const BASE_FEE_ATTO: u64 = 50_000_000_000;

/// Default faucet amount in token units (100 USDA with 18 decimals).
pub const DEFAULT_FAUCET_AMOUNT: u128 = 100_000_000_000_000_000_000;

/// Default faucet amount in microdollars.
pub const DEFAULT_FAUCET_AMOUNT_MICRO: u64 = 100_000_000;

// ============================================================================
// Gas Configuration
// ============================================================================

/// Default gas limit for ERC20 transfers.
pub const DEFAULT_GAS_LIMIT: u64 = 100_000;
