Description
- Consistent internal representation for decimals and comparison operators.
Requirements and context
- Must be secure, tested, and documented.
- Should be efficient and easy to review for auditors and integrators.
- Scope is Predictify Hybrid Soroban smart contracts in
predictify-contracts only (no frontend or backend services).
Suggested execution
- Fork the repository and create a branch:
git checkout -b feature/oracle-normalization
- Implement changes:
- Contract / module: update logic in
contracts/predictify-hybrid/src/oracles.rs and related modules as required.
- Tests: extend or add
oracle_integration_tests.rs (and supporting test utilities under contracts/predictify-hybrid/src/tests/ when applicable).
- Documentation: update or add
docs/contracts/ORACLE_RESOLUTION.md; add a link from docs/README.md when adding new top-level docs.
- Comments: use Rust doc comments (
///, //!) on all new or changed public contract API — equivalent discipline to NatSpec for Solidity.
Primary touchpoints: contracts/predictify-hybrid/src/oracles.rs
Test and commit
- Run
cargo test -p predictify-hybrid and narrow with filters while iterating.
- Add regression tests for every bug or ambiguity found during review.
- In the PR, include summarized test output and short security notes (threat model, invariants proven, explicit non-goals).
Example commit message
feat(contract): normalize multi-provider oracle results
Guidelines
- Target ≥ 95% line coverage on modules touched (e.g.
cargo llvm-cov / cargo tarpaulin per repo conventions).
- Documentation must be sufficient for an external integrator without reading all Rust internals.
- Timeframe: 96 hours from assignment.
Description
Requirements and context
predictify-contractsonly (no frontend or backend services).Suggested execution
git checkout -b feature/oracle-normalizationcontracts/predictify-hybrid/src/oracles.rsand related modules as required.oracle_integration_tests.rs(and supporting test utilities undercontracts/predictify-hybrid/src/tests/when applicable).docs/contracts/ORACLE_RESOLUTION.md; add a link fromdocs/README.mdwhen adding new top-level docs.///,//!) on all new or changed public contract API — equivalent discipline to NatSpec for Solidity.Primary touchpoints:
contracts/predictify-hybrid/src/oracles.rsTest and commit
cargo test -p predictify-hybridand narrow with filters while iterating.Example commit message
Guidelines
cargo llvm-cov/cargo tarpaulinper repo conventions).