Fix rate-limit error envelope and add contract event-coverage test suite#363
Open
francisdouglas-ux wants to merge 1 commit into
Open
Conversation
- Align the listener's 429 rate-limit response body with Issue Core-Foundry#253/Core-Foundry#292's spec ({error:"TooManyRequests", message:"Rate limit exceeded. Please try again later."}); the underlying limiter/middleware/config/tests already existed. - Fix pre-existing merge corruption blocking compilation: interleaved event structs and an unclosed brace in the Soroban contract, a broken reputation_logic storage key/event-publish path, duplicate method in event-registry.ts, a type error in batch-validation-service.ts, and a missing brace in the listener's index.ts entrypoint. - Fix a notification_validation_test.rs helper that silently misread the priority topic as the category once priority became a trailing topic. - Add contract/contracts/hello-world/src/tests/event_emission_test.rs (Issue Core-Foundry#291): full structural event-tuple assertions (address + all topics + data) across 22/23 event types, multi-event ordering checks, and negative tests proving failed transactions emit nothing observable. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@francisdouglas-ux 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! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
-## Overview
This Pull Request delivers critical security, stabilization, and verification layers for the Notify-Chain ecosystem. It resolves major pre-existing compilation blocks across the smart contract and listener services, addresses structural integration bugs, deploys an exhaustive contract event coverage test suite achieving full structural equality validation, and standardizes the runtime behavior and error presentation vectors of the notification rate-limiting engine.
🔑 Linked Issues
🛠️ Summary of Changes
🧪 1. Exhaustive Smart Contract Event Coverage Suite (#291)
contract/contracts/hello-world/src/tests/event_emission_test.rsintroducing 29 granular verification tests covering 22 out of 23 protocol event types.notification_validation_test.rswhere the parser incorrectly transposed the priority topic with the category layer.🎛️ 2. Rate-Limiting Harmonization & Payload Mapping (#253 & #292)
listener/src/api/rate-limiter.ts) response scheme to deliver the exact requested JSON structure on saturation limits:{ "error": "TooManyRequests", "message": "Rate limit exceeded. Please try again later." }