-
-
Notifications
You must be signed in to change notification settings - Fork 1
Starting fresh consolidating multiple sync fixes #236
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
Draft
shruggr
wants to merge
52
commits into
master
Choose a base branch
from
fix/dont-track-when-empty
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
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
…in/go-overlay-services into chore/update-go-sdk
- Remove committed vendor/ directory to avoid vendoring mode conflicts - Uncomment vendor/ in .gitignore to prevent future vendoring issues - All tests pass without vendoring
…alue - Add limit field to RequestSyncResponseBody in OpenAPI spec - Configure as uint32 with default value of 0 - Update generated OpenAPI types to include limit field - Fix test expectations to match actual limit values passed in service calls - Ensure all tests pass with proper type handling
…de models and handlers
- Fix ProvideForeignGASPNode to use outpoint parameter instead of graphId for correct dependency lookup - Add global deduplication cache to prevent duplicate processing across UTXOs - Add network-level flow control in OverlayGASPRemote for RequestNode calls - Add InFlight deduplication in OverlayGASPRemote to prevent duplicate network requests - Convert sharedOutpoints from map to sync.Map for concurrent access safety
Fix variable scoping bug and add local coin lookup during graph validation.
Enhance both ValidateGraphAnchor and FindNeededInputs to check tempGraphNodeRefs for missing dependencies, enabling multi-level dependency chain validation.
Properly reads server error messages instead of causing nil pointer dereferences when requestSyncResponse returns 500 errors. Now provides actual server error details instead of panicking on JSON decode failures.
Fixes 'unexpected end of JSON input' server errors by using json.Marshal and bytes.NewReader instead of reusing bytes.Buffer after String() calls. The String() method can corrupt buffer state for subsequent reads.
Replace memory-intensive all-UTXO loading with efficient page-based lookups using new HasOutputs method. Reduces memory usage and improves sync performance for large UTXO datasets.
- Replace HasOutputs with three-state system using *bool pointers: * nil = unknown (not in storage) * &true = known valid (has valid merkle proof) * &false = known invalid (needs merkle proof update) - Add UpdateProof method to GASP storage interface - Add upfront merkle proof validation in HandleNewMerkleProof - Update GASP sync logic with proper error handling
- Add SyncInvalidatedOutputs method to sync outputs with invalidated merkle proofs. - Introduce MerkleState type to represent validation states of outputs. - Update HasOutputs method to return boolean results for output existence checks. - Modify storage interface to include methods for finding outpoints by merkle state and reconciling merkle roots. - Adjust tests to accommodate changes in storage interface and output validation logic.
…ockchain/go-overlay-services into fix/dont-track-when-empty
- Add omitempty tags to GASP Node struct fields for TypeScript compatibility - Ensures unmined transactions (without merkle proofs) don't break the sync process
Contributor
Manual Testsℹ️ Remember to ask team members to perform manual tests and to assign |
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Jason Chavannes <jason.chavannes@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Michal Gosek <michal.gosek@4chain.studio> Co-authored-by: Mr. Z <mrz1836@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
…ockchain/go-overlay-services into fix/dont-track-when-empty
|
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.



Consolidating all un-released work for a clean review process