Summary
gateway_secret is read, stored, and redacted in Debug, but is referenced nowhere else in the codebase.
Location
src/config.rs:115 (read) — grep gateway_secret src/ shows no consumer outside config.rs.
Details & impact
The service never signs or submits any Stellar transaction, so:
- overpayment refunds documented in the README/
horizon.rs policy cannot actually be performed by the gateway, and
- operators are asked to mount a live wallet secret into a process that has no use for it, needlessly widening the blast radius of a compromise.
Suggested fix
Either implement the outbound/refund path that needs the secret, or remove the variable and stop requesting it. Document the decision.
Acceptance criteria
- The secret is either used by an implemented feature or removed from config and docs.
Summary
gateway_secretis read, stored, and redacted inDebug, but is referenced nowhere else in the codebase.Location
src/config.rs:115(read) —grep gateway_secret src/shows no consumer outsideconfig.rs.Details & impact
The service never signs or submits any Stellar transaction, so:
horizon.rspolicy cannot actually be performed by the gateway, andSuggested fix
Either implement the outbound/refund path that needs the secret, or remove the variable and stop requesting it. Document the decision.
Acceptance criteria