This PR adds an admin-gated governance parameter setter to the escrow contract in contracts/escrow. It introduces set_governed_params(admin, protocol_fee_bps, max_escrow_total_stroops), persists governed parameters, and flips the readiness checklist flag ReadinessChecklist.governed_params_set to true.
contracts/escrow/src/governance.rscontracts/escrow/src/lib.rscontracts/escrow/src/types.rscontracts/escrow/src/test/mainnet_readiness.rscontracts/escrow/src/test/mod.rsdocs/escrow/mainnet-readiness.md
- Adds
GovernedParametersstorage andDataKey::GovernedParameters - Adds a secure admin-controlled setter for governed parameters
- Enforces validation of
protocol_fee_bpsandmax_escrow_total_stroops - Ensures
governed_params_setbecomestrueonly after a successful admin-set operation - Exposes
get_governed_parameters()for read-back - Updates readiness documentation to match the new setter flow
set_governed_paramsrequiresinitialize()to have been called and authenticated as the registered admin.- Invalid parameter updates and unauthorized callers do not mutate readiness state.
- The readiness checklist update is atomic and persisted together with the governed parameter values.
Run the following commands from the repo root:
cargo fmt --all -- --check
cargo test -p escrow- Branch name:
feature/governed-params-setter - Example commit message:
feat(escrow): add governed params setter wiring readiness
- This PR is scoped to the TalentTrust escrow Soroban contract.
- Documentation in
docs/escrow/mainnet-readiness.mdhas been aligned with the new contract behavior.