Skip to content

Conversation

@cawthorne
Copy link
Contributor

Upgrading the LLO Feeds Verifier and Verifier Proxy to have a view function path.

Audit by dedaub:
https://docs.google.com/document/d/1zjdP_BjsHij5M76LaHfW3OoU1fbEaSj4njdcEq1syZ0/edit?usp=sharing

Copilot AI review requested due to automatic review settings January 7, 2026 13:39
@cawthorne cawthorne requested a review from a team as a code owner January 7, 2026 13:39
@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2026

👋 cawthorne, thanks for creating this pull request!

To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.

Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds view function paths to the LLO Feeds Verifier and VerifierProxy contracts, enabling read-only verification of reports without state changes or billing. The changes introduce verifyView and verifyBulkView functions alongside comprehensive test coverage for the v0.5.1 implementation.

Key Changes

  • Added verifyView() and verifyBulkView() view functions to both Verifier and VerifierProxy contracts
  • Implemented comprehensive test suites covering verification, configuration management, fee processing, and reward distribution
  • Added NoOpFeeManager for zero-fee scenarios
  • Created mock contracts and utility functions to support testing infrastructure

Reviewed changes

Copilot reviewed 53 out of 53 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
contracts/src/v0.8/llo-feeds/v0.5.1/interfaces/IVerifier.sol Added verifyView() interface declaration
contracts/src/v0.8/llo-feeds/v0.5.1/interfaces/IVerifierProxy.sol Added verifyView() and verifyBulkView() interface declarations
contracts/src/v0.8/llo-feeds/v0.5.1/test/verifier/*.t.sol Test coverage for verifier functionality including configuration, verification, and access control
contracts/src/v0.8/llo-feeds/v0.5.1/test/fee-manager/*.t.sol Test coverage for fee processing, discounts, surcharges, and billing logic
contracts/src/v0.8/llo-feeds/v0.5.1/test/reward-manager/*.t.sol Test coverage for reward distribution, recipient management, and claiming
contracts/src/v0.8/llo-feeds/v0.5.1/test/mocks/*.sol Mock contracts for testing (FeeManager, Configurator, ErroredVerifier, etc.)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

import {Verifier} from "../../Verifier.sol";
import {BaseTestWithMultipleConfiguredDigests} from "./BaseVerifierTest.t.sol";

contract VerificationdeactivateConfigWhenThereAreMultipleDigestsTestV05 is BaseTestWithMultipleConfiguredDigests {
Copy link

Copilot AI Jan 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The contract name has incorrect capitalization and concatenation. It should be 'VerifierDeactivateConfigWhenThereAreMultipleDigestsTestV05' (capitalize 'Deactivate' and separate 'Verification' from 'deactivate').

Suggested change
contract VerificationdeactivateConfigWhenThereAreMultipleDigestsTestV05 is BaseTestWithMultipleConfiguredDigests {
contract VerifierDeactivateConfigWhenThereAreMultipleDigestsTestV05 is BaseTestWithMultipleConfiguredDigests {

Copilot uses AI. Check for mistakes.
* @param configDigest The digest of the configuration we're updating
* @param prevSigners the existing signers that need to be removed
* @param newSigners the signers to be added
* @param f the newnumber of faulty oracles the system can tolerate
Copy link

Copilot AI Jan 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling: 'newnumber' should be 'new number' (two separate words).

Suggested change
* @param f the newnumber of faulty oracles the system can tolerate
* @param f the new number of faulty oracles the system can tolerate

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2026

Static analysis results are available

Hey @cawthorne, you can view Slither reports in the job summary here or download them as artifact here.
Please check them before merging and make sure you have addressed all issues.

….5.1 gethwrappers

- Fix foundry.toml lint warning by changing [lint] to [profile.lint]
- Regenerate gas snapshot for llo-feeds tests
- Generate and add gethwrappers for v0.5.1 contracts (Verifier, VerifierProxy, FeeManager, RewardManager, NoOpFeeManager)
@cawthorne cawthorne requested a review from a team as a code owner January 7, 2026 14:08
- Add V03 suffix to v0.3.0 gas test contracts (Verifier_setConfigV03, Verifier_verifyV03, etc.)
- Update gas snapshot to reflect renamed tests
- This resolves naming conflicts between v0.3.0, v0.5.0, and v0.5.1 gas tests
- Gas values are non-deterministic and vary between runs
- Updated snapshot to reflect current test outputs
- Small variations (~146 gas) are expected due to compiler optimizations
- CI should handle these variations
- Update FeeManagerProcessFeeTest gas values to match current test output
- All tests now passing with correct gas values in snapshot
- Update FeeManagerProcessFeeTest gas values to match CI (27833)
- Update DestinationFeeManagerProcessFeeTest gas values to match CI (30097)
- CI environment produces different gas values than local
- This ensures CI snapshot check passes
@cawthorne cawthorne merged commit 4b93f62 into develop Jan 7, 2026
53 checks passed
@cawthorne cawthorne deleted the feature/update-llo-feeds-verifier-contracts-add-view-path-2 branch January 7, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants