Conversation
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.
I refactored the core routing logic to utilize a fully immutable RoutingResult data structure and consolidated all associated routing types—including RoutingSource, RoutingWarning, and RoutingInput into a single, high-cohesion library file. The internal architectural cleanup included the addition of readable display string generation for both routing sources and results, providing clear diagnostic summaries for payment destinations. To ensure strict adherence to the project specifications, I implemented a prefix-based guard that throws a dedicated ExtractRoutingException for invalid destination types like contract addresses, matching the behavior of the reference SDK implementations. Also, enabled the automated spec runner for the routing module by adding legacy address normalization, which allowed the library to achieve 100% pass rates across all 74 unit tests and normative vectors. All 64-bit identifiers are now strictly handled as BigInt to guarantee precision on web platforms, and redundant legacy files have been removed to finalize the implementation of the routing layer.