Skip to content

feat: add payer-verification oracle interface, mock oracle, and fix clippy warnings#176

Merged
Nursca merged 1 commit into
Invoice-Liquidity-Network:mainfrom
vjuliaife:main
May 31, 2026
Merged

feat: add payer-verification oracle interface, mock oracle, and fix clippy warnings#176
Nursca merged 1 commit into
Invoice-Liquidity-Network:mainfrom
vjuliaife:main

Conversation

@vjuliaife
Copy link
Copy Markdown
Contributor

Summary

Changes

Oracle interface & documentation (#91, #95)

  • contracts/invoice_liquidity/src/oracle_interface.rsOracleInterface trait, VerificationResult struct,
    check_payer_verified helper (fail-open when no oracle configured), ORACLE_STALENESS_THRESHOLD_SECS = 7 days
  • docs/oracle-design.md — data format, update mechanism, trust model, failure modes, staleness policy,
    security notes
  • docs/oracle-integration.md — step-by-step deployment guide, worked MockOracle examples, security checklist

Mock oracle for testing (#94)

  • contracts/tests/mocks/mock_oracle.rs — controllable mock: set_verified(address, bool),
    set_timestamp(ts), set_should_panic() (one-shot panic simulation)
  • contracts/tests/oracle_integration_test.rs — 9 integration tests covering default state, set/revoke,
    timestamp, staleness detection, panic simulation, per-address independence
  • contracts/invoice_liquidity/Cargo.toml — added [[test]] entry for the new integration test

Clippy zero-warnings (#97)

  • .github/workflows/ci.yml — new clippy job running cargo clippy --all-targets -- -D warnings
  • Fixed all pre-existing clippy warnings across invoice_liquidity, iln_governance, and reputation_bonus
    crates

Test plan

  • cargo clippy --all-targets -- -D warnings exits 0
  • cargo test --workspace --tests --all — all tests pass including oracle_integration_test (9/9)

Closes #91, closes #94, closes #95, closes #97

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 31, 2026

@vjuliaife Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

…lippy warnings

Resolves Invoice-Liquidity-Network#91 — oracle interface (oracle_interface.rs, docs/oracle-design.md)
Resolves Invoice-Liquidity-Network#94 — mock oracle contract and 9 integration tests
Resolves Invoice-Liquidity-Network#95 — oracle integration guide (docs/oracle-integration.md)
Resolves Invoice-Liquidity-Network#97 — clippy CI job + zero-warnings across all crates

Closes Invoice-Liquidity-Network#91, closes Invoice-Liquidity-Network#94, closes Invoice-Liquidity-Network#95, closes Invoice-Liquidity-Network#97
@Nursca Nursca merged commit a05fcd6 into Invoice-Liquidity-Network:main May 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants