Fix/1175 1176 1177 1178 issues - #1231
Merged
Maki-Zeninn merged 4 commits intoAug 30, 2026
Merged
Conversation
|
@kossyomma-beep 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.
Summary
This PR implements four improvements across the stellar-router codebase, addressing documentation gaps, performance optimizations, and CI/CD
enhancements. All changes follow the established conventions and improve code quality and developer experience.
Changes Implemented
📚 Issue #1176: Add Missing
alias_resolvedEvent DocumentationFile:
contracts/router-core/src/lib.rsAdded the missing
alias_resolvedevent to the module-level Events documentation list. The event is emitted whenever a route alias is resolved duringthe
resolve()function call. This ensures developers and auditors have a complete reference of all emitted events.Event Details:
alias_resolved(alias_name, resolved_name)Impact: Improves documentation completeness for integrators building off-chain indexers and auditors reviewing contract behavior.
⚡ Issue #1177: Optimize
validate_registration()PerformanceFile:
contracts/router-registry/src/lib.rsRefactored the
validate_registration()function to check only the last version in the versions list instead of scanning through all versions. Sinceversions are always maintained in ascending order by design, checking the last element is sufficient to validate that a new version is greater than all
previous versions.
Optimization:
if let Some(last) = versions.last()patternImpact: Significant performance improvement for contracts with many registered versions, especially beneficial during batch registration operations.
🔧 Issue #1178: Add Path Filters to Metrics Workflow
File:
.github/workflows/metrics-integration-tests.ymlAdded path filters to the
metrics-integration-tests.ymlworkflow to prevent unnecessary CI execution on unrelated changes. This aligns with theexisting pattern used in
metrics-exporter.yml.Changes:
pathsfilter for push events on main branchpathsfilter for pull_request eventsmetrics/**and.github/workflows/metrics-integration-tests.ymlImpact: Eliminates wasteful CI runs triggered by changes to unrelated parts of the repository, reducing resource consumption and improving feedback
time for non-metrics changes.
📖 Issue #1175: Complete
execute_batch()Error DocumentationFile:
contracts/router-multicall/src/lib.rsAdded two missing error variants to the
execute_batch()function's error documentation. These errors were already being returned by the implementationbut were omitted from the doc comment, creating a discrepancy between documentation and actual behavior.
Added Error Variants:
Reentrancy— Returned whenexecute_batch()is called from within an executing batch (detected via reentrancy guard)ArgsTooLarge— Returned when any call'sargsvector exceedsMAX_ARGS_PER_CALLlimitImpact: Enables developers to write exhaustive error handling and better understand contract behavior. Improves downstream documentation accuracy
for API users.
Testing
Checklist
Related Issues
Closes #1176
Closes #1177
Closes #1178
Closes #1175