You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Previously, address validation was only performed when an output was modified. This caused a sync issue: if an output was added first and a matching input was added later, the "duplicate address" error wouldn't show up because the reducer didn't re-validate the existing outputs against the new input list.
This PR centralizes validation into a validateOutputAddress helper and ensures that validateTransaction re-checks all current outputs every time inputs are updated.
Does this PR introduce a breaking change?
No
Checklist
I have tested my changes thoroughly.
I have added or updated tests to cover my changes (if applicable).
I have verified that test coverage meets or exceeds 95% (if applicable).
I have run the test suite locally, and all tests pass.
I have written tests for all new changes/features
I have followed the project's coding style and conventions.
I have created a changeset to document my changes (npm run changeset)
Other information
A new test file apps/coordinator/src/reducers/transactionReducer_repro.test.js was added to specifically verify the "output before input" scenario and prevent regressions.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
This pull request has been inactive for 30 days and has been marked as stale. It will be closed in 7 days if no further activity occurs. To keep this PR open, add the "long-lived" label or comment on it.
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
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.
What kind of change does this PR introduce?
Bugfix
Issue Number:
Fixes #58
Summary
Previously, address validation was only performed when an output was modified. This caused a sync issue: if an output was added first and a matching input was added later, the "duplicate address" error wouldn't show up because the reducer didn't re-validate the existing outputs against the new input list.
This PR centralizes validation into a validateOutputAddress helper and ensures that validateTransaction re-checks all current outputs every time inputs are updated.
Does this PR introduce a breaking change?
No
Checklist
npm run changeset)Other information
A new test file apps/coordinator/src/reducers/transactionReducer_repro.test.js was added to specifically verify the "output before input" scenario and prevent regressions.
Have you read the contributing guide?
Yes