-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFQ API Auth Cache #3007
RFQ API Auth Cache #3007
Conversation
WalkthroughThe recent changes enhance the functionality and reliability of the Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
The PR enhances the checkRole
function in server.go
to optimize the role verification caching mechanism and adds a new test for multiple incorrect authorization attempts.
- Improved
checkRole
function inservices/rfq/api/rest/server.go
to update the role cache only after successful on-chain role checks. - Added
TestMultiplePutRequestsWithIncorrectAuth
inservices/rfq/api/rest/server_test.go
to verify server responses to multiple incorrect authorization attempts. - Minor formatting adjustments in import statements in
services/rfq/api/rest/server_test.go
.
These changes aim to reduce unnecessary on-chain calls and ensure robust authentication.
2 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
Deploying sanguine-fe with Cloudflare Pages
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (2)
- services/rfq/api/rest/server.go (1 hunks)
- services/rfq/api/rest/server_test.go (2 hunks)
Additional comments not posted (2)
services/rfq/api/rest/server.go (1)
284-296
: LGTM! Verify role cache behavior.The restructuring of cache logic and improved error handling enhance robustness and clarity. The changes are approved.
However, ensure that the role cache behaves as expected, especially in scenarios where the role check fails.
Verification successful
Role Cache Behavior Verified in
checkRole
MethodThe role cache is primarily used within the
checkRole
method inservices/rfq/api/rest/server.go
. TheSet
andGet
methods are correctly utilized to manage role information, ensuring consistent behavior. No additional usage patterns were found outside this method.
- File:
services/rfq/api/rest/server.go
- Lines: 284-296
The cache logic is consistent and appropriately implemented.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify role cache behavior in `checkRole` method. # Test: Search for role cache usage. Expect: Consistent behavior in role caching. rg --type go $'r.roleCache[$_]'Length of output: 32
Script:
#!/bin/bash # Search for the declaration and initialization of `roleCache`. rg --type go 'roleCache' # Search for methods or functions interacting with `roleCache`. rg --type go 'roleCache.Set' rg --type go 'roleCache.Get'Length of output: 611
services/rfq/api/rest/server_test.go (1)
209-251
: Great addition! Verify test coverage.The test function effectively validates the server's response to unauthorized PUT requests. The changes are approved.
Consider verifying the test coverage to ensure all edge cases are handled.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3007 +/- ##
===================================================
+ Coverage 24.93457% 25.27320% +0.33862%
===================================================
Files 800 781 -19
Lines 58080 56918 -1162
Branches 82 82
===================================================
- Hits 14482 14385 -97
+ Misses 42108 41048 -1060
+ Partials 1490 1485 -5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The changes in this pull request focus on enhancing the build configuration, improving error handling, and adding new features across various components of the synapsecns/sanguine
repository.
-
Build Configuration Enhancements:
- Updated
contrib/screener-api/.goreleaser.yml
to includegcflags
andldflags
for better debugging and versioning information. - Added Docker image labels with metadata in
contrib/screener-api/.goreleaser.yml
.
- Updated
-
Caching and Performance Improvements:
- Introduced caching for address screening results in
contrib/screener-api/chainalysis/chainalysisapi.go
to reduce redundant network calls.
- Introduced caching for address screening results in
-
Dependency Updates:
- Updated Go version and added new dependencies in
contrib/screener-api/go.mod
to enhance functionality and compatibility.
- Updated Go version and added new dependencies in
-
Metrics and Observability:
- Added metrics for tracking blocked and unblocked addresses in
contrib/screener-api/screener/screener.go
.
- Added metrics for tracking blocked and unblocked addresses in
-
Role-Checking and Error Handling:
- Enhanced role-checking logic and improved error handling in
services/rfq/api/rest/server.go
.
- Enhanced role-checking logic and improved error handling in
These updates collectively aim to improve the robustness, performance, and maintainability of the codebase.
293 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
Description
A clear and concise description of the features you're adding in this pull request.
Additional context
Add any other context about the problem you're solving.
Metadata
Summary by CodeRabbit