Skip to content

fix(core,docs,ci): implement std::error::Error traits, shared backoff constant, dead code/dep removal, deny/CI hardening, and docs (#785, #784, #783, #764, #765, #766, #767, #768, #769, #770, #773, #774, #775, #776, #760, #762, #780) - #788

Open
ghzhost wants to merge 1 commit into
SO4-Markets:mainfrom
ghzhost:fix/error-traits-constants-and-tooling

Conversation

@ghzhost

@ghzhost ghzhost commented Aug 22, 2026

Copy link
Copy Markdown

Summary

This PR addresses multiple code hygiene, trait consistency, tooling, supply-chain safety, and documentation issues across the workspace:

1. Error Handling & Traits

  • Implement for error enums (): Added for , , , , and , matching sibling error types and allowing them to be boxed and chained.
  • Consolidate 30s backoff cap (): Defined in and replaced the duplicated bare literals across , , and .

2. Dead Code & Unused Dependencies

  • Remove dead struct (): Removed the unused definition from ( is the struct used for parsing).
  • **Clean up ** (, , , ):
    • Removed from leaving only .
    • Moved/removed feature from production Tokio entry.
    • Removed unused direct dependencies and .
    • Removed unused dev-dependency .

3. CI, Security & Infrastructure

  • **Harden ** (, ): Configured and / to prevent unvetted dependency supply-chain risks.
  • Fast CI audit (): Switched installation in CI from slow source compilation to pre-built binary via .
  • Systemd hardening (): Removed unnecessary from .
  • Dockerfile cleanup (): Removed redundant from the runtime Docker stage since config is embedded at build time.
  • Readiness healthcheck timeout (): Aligned 's healthcheck timeout to 15s to match the application HTTP client timeout.

4. Developer Experience & Documentation

  • Makefile targets (): Added , , and targets to .
  • CONTRIBUTING.md corrections (, ):
    • Replaced stale with .
    • Corrected test directory path to and updated testing guidelines.
  • README.md endpoint parity (): Added missing to the architecture diagram and endpoints table.

Closes #785, closes #784, closes #783, closes #764, closes #765, closes #766, closes #767, closes #768, closes #769, closes #770, closes #773, closes #774, closes #775, closes #776, closes #760, closes #762, closes #780.

…lidate backoff constant, clean up dead structs/deps, harden CI/deny configs, and fix documentation

- Implement std::error::Error for PriceSourceError, SequenceFetchError, SubmitError, RpcError, and SigningError (SO4-Markets#785)
- Introduce MAX_BACKOFF_DELAY_MS constant in retry.rs and reference across all 5 call sites (SO4-Markets#784)
- Remove unused dead struct PythPrice (SO4-Markets#783)
- Add GET /keeper/balance to README.md endpoint table and architecture diagram (SO4-Markets#764)
- Replace stale NETWORK_PASSPHRASE with STELLAR_NETWORK in CONTRIBUTING.md (SO4-Markets#765)
- Fix integration test path in CONTRIBUTING.md layout diagram and testing section (SO4-Markets#766)
- Add fmt, clippy, and verify targets to Makefile (SO4-Markets#767)
- Remove unnecessary ReadWritePaths=/opt/oracle from oracle.service (SO4-Markets#768)
- Remove redundant runtime COPY config/tokens.json from Dockerfile (SO4-Markets#769)
- Adjust fly.toml /ready healthcheck timeout to 15s to match HTTP client timeout (SO4-Markets#770)
- Remove cdylib from oracle/Cargo.toml crate-type (SO4-Markets#773)
- Remove test-util from production dependencies in oracle/Cargo.toml (SO4-Markets#774)
- Remove unused direct dependencies uuid, digest, and predicates from oracle/Cargo.toml (SO4-Markets#775, SO4-Markets#776)
- Update deny.toml to deny wildcards and unknown-git/unknown-registry sources (SO4-Markets#760, SO4-Markets#762)
- Optimize CI cargo audit step using taiki-e/install-action@cargo-audit (SO4-Markets#780)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment