Summary
contracts/pool/src/constants.rs exists specifically to hold shared numeric constants (currently just the re-exported TTL_THRESHOLD/TTL_EXTEND_TO), but MIN_INITIAL_DEPOSIT — a pool-specific economic constant used to gate the first deposit (contracts/pool/src/lib.rs lines 18-21, 170) — is defined directly in lib.rs instead.
Current Behavior
// lib.rs
pub const MIN_INITIAL_DEPOSIT: u128 = 10_000_000;
lives alongside contract logic rather than in constants.rs, which is pub use constants::*;-re-exported from lib.rs and is where a reader would expect to find contract-wide tunable numeric constants.
Expected Behavior
MIN_INITIAL_DEPOSIT (and, per the related magic-number finding, a DEFAULT_MAX_UTILIZATION_BPS) should live in constants.rs alongside the TTL constants, keeping all tunable numeric parameters in one file.
Acceptance Criteria
Tech Stack
Rust / Soroban SDK, contracts/pool/src/lib.rs, contracts/pool/src/constants.rs.
Summary
contracts/pool/src/constants.rsexists specifically to hold shared numeric constants (currently just the re-exportedTTL_THRESHOLD/TTL_EXTEND_TO), butMIN_INITIAL_DEPOSIT— a pool-specific economic constant used to gate the first deposit (contracts/pool/src/lib.rslines 18-21, 170) — is defined directly inlib.rsinstead.Current Behavior
lives alongside contract logic rather than in
constants.rs, which ispub use constants::*;-re-exported fromlib.rsand is where a reader would expect to find contract-wide tunable numeric constants.Expected Behavior
MIN_INITIAL_DEPOSIT(and, per the related magic-number finding, aDEFAULT_MAX_UTILIZATION_BPS) should live inconstants.rsalongside the TTL constants, keeping all tunable numeric parameters in one file.Acceptance Criteria
MIN_INITIAL_DEPOSITintoconstants.rs.lib.rsto reference it via the existingpub use constants::*;re-export.crate::MIN_INITIAL_DEPOSITcontinue to compile/pass unchanged.Tech Stack
Rust / Soroban SDK,
contracts/pool/src/lib.rs,contracts/pool/src/constants.rs.