Skip to content

Add SGOV Feed#20

Open
Siddharth2207 wants to merge 5 commits intomainfrom
2026-04-19-sgov
Open

Add SGOV Feed#20
Siddharth2207 wants to merge 5 commits intomainfrom
2026-04-19-sgov

Conversation

@Siddharth2207
Copy link
Copy Markdown
Contributor

@Siddharth2207 Siddharth2207 commented Apr 19, 2026

Motivation

Add SGOV Feed

Checks

By submitting this for review, I'm confirming I've done the following:

  • made this PR as small as possible
  • unit-tested any new functionality
  • linked any relevant issues or PRs
  • included screenshots (if this involves a front-end change)

Summary by CodeRabbit

  • New Features

    • Added support for SGOV/USD price feed symbol and corresponding identifier.
  • Tests

    • Added test cases validating SGOV/USD price feed functionality across different fork configurations.
  • Chores

    • Updated gitignore configuration.
    • Refactored internal function pointer declarations for improved code clarity.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 19, 2026

Warning

Rate limit exceeded

@Siddharth2207 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 14 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 10 minutes and 14 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1ef3ee58-b10b-4211-82f6-deeca32d7a6d

📥 Commits

Reviewing files that changed from the base of the PR and between df6cd9a and e9cccd7.

📒 Files selected for processing (2)
  • .github/workflows/manual-sol-artifacts.yaml
  • script/Deploy.sol

Walkthrough

Added support for a new Pyth price feed identifier for SGOV/USD by introducing new constants and extending the feed symbol resolution logic. Updated related test cases and fork configuration to validate the new feed. Minor formatting changes applied to function-pointer declarations.

Changes

Cohort / File(s) Summary
Configuration Updates
.gitignore
Updated cache-related ignore entries and added .pre-commit-config.yaml to the ignore list.
Code Formatting
src/abstract/PythExtern.sol, src/abstract/PythSubParser.sol
Reformatted inline function-pointer type declarations for buildOpcodeFunctionPointers(), buildIntegrityFunctionPointers(), and related methods; consolidating multi-line signatures into single-line forms without altering logic or API contracts.
SGOV Price Feed Support
src/lib/pyth/LibPyth.sol
Added new constants PRICE_FEED_ID_EQUITY_US_SGOV_USD and PRICE_FEED_SYMBOL_INTORASTRING_EQUITY_US_SGOV_USD; extended getPriceFeedId() to recognize and resolve the SGOV symbol to its corresponding feed identifier.
Fork Configuration
test/lib/LibFork.sol
Added new fork block baseline constant FORK_BLOCK_BASE_SGOV set to block 44912388.
SGOV Test Coverage
test/src/lib/pyth/LibPyth.constants.t.sol, test/src/lib/pyth/LibPyth.getPriceFeedId.t.sol, test/src/lib/pyth/LibPyth.getPriceNoOlderThan.t.sol
Extended test assertions to validate SGOV constant unwrapping, feed ID mapping resolution, and price retrieval behavior with expected packed price values; reformatted line breaks in existing comparisons for readability.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Add SGOV Feed' accurately reflects the main objective of the changeset, which adds support for the SGOV/USD price feed across multiple files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 2026-04-19-sgov

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.gitignore:
- Line 3: Remove the .pre-commit-config.yaml entry from .gitignore so the shared
pre-commit configuration is tracked by the repository; locate the .gitignore
line that lists ".pre-commit-config.yaml" and delete that line (or stop ignoring
that specific filename) so the repository can update and version the pre-commit
hooks without requiring forced adds.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 752a9c68-8075-4373-a43f-b52657239ad9

📥 Commits

Reviewing files that changed from the base of the PR and between 7db8604 and df6cd9a.

⛔ Files ignored due to path filters (2)
  • flake.lock is excluded by !**/*.lock
  • src/generated/PythWords.pointers.sol is excluded by !**/generated/**
📒 Files selected for processing (8)
  • .gitignore
  • src/abstract/PythExtern.sol
  • src/abstract/PythSubParser.sol
  • src/lib/pyth/LibPyth.sol
  • test/lib/LibFork.sol
  • test/src/lib/pyth/LibPyth.constants.t.sol
  • test/src/lib/pyth/LibPyth.getPriceFeedId.t.sol
  • test/src/lib/pyth/LibPyth.getPriceNoOlderThan.t.sol

Comment thread .gitignore
out
cache No newline at end of file
cache
.pre-commit-config.yaml No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Don’t ignore the shared pre-commit config.

.pre-commit-config.yaml is normally repository-owned; ignoring it makes hook updates easy to miss and forces git add -f if the project later adopts pre-commit.

♻️ Proposed cleanup
-.pre-commit-config.yaml
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.pre-commit-config.yaml
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.gitignore at line 3, Remove the .pre-commit-config.yaml entry from
.gitignore so the shared pre-commit configuration is tracked by the repository;
locate the .gitignore line that lists ".pre-commit-config.yaml" and delete that
line (or stop ignoring that specific filename) so the repository can update and
version the pre-commit hooks without requiring forced adds.

@Siddharth2207 Siddharth2207 self-assigned this Apr 19, 2026
@Siddharth2207 Siddharth2207 requested a review from hardyjosh April 19, 2026 17:33
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.

1 participant