Spv in det rebased sam#99
Closed
QuantumExplorer wants to merge 39 commits into
Closed
Conversation
- Removed DashSPVFFI target from Package.swift - DashSPVFFI module now provided by unified SDK in dashpay-ios - Updated SwiftDashCoreSDK to have no dependencies - Added comments explaining standalone build limitations SwiftDashCoreSDK now relies on the unified SDK's DashSPVFFI module, which is available when used as a dependency in dashpay-ios but not for standalone builds. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
When no peers support compact filters, the sequential sync manager now properly transitions to the next phase instead of getting stuck. This fixes the issue where masternode lists weren't being synced to the chain tip. Changes: - Check return value of start_sync_headers and transition if it returns false - Add current_phase_needs_execution to detect phases that need execution after transition - Modified check_timeout to execute pending phases before checking for timeouts This ensures Platform SDK can fetch quorum public keys at recent heights by keeping masternode lists synced to the chain tip. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Move diff count increment to success case only to ensure accurate tracking - Add debug logging for diff completion checks and state tracking - Handle storage height exceeding tip gracefully by adjusting to available data - Fix phase completion logic to verify target height is actually reached - Re-start masternode sync if it reports complete but hasn't reached target - Add masternode engine state logging after applying diffs This improves sync reliability when dealing with partial syncs, phase transitions, and edge cases where the requested height exceeds available data. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add test-utils to workspace members - Add dashcore-test-utils dependency to dash-spv-ffi for testing - Add log crate to dash for improved debugging 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add DKGWindow struct to represent DKG mining windows - Implement get_dkg_window_for_height() to calculate mining windows - Implement get_dkg_windows_in_range() for efficient batch processing - Add NetworkLLMQExt trait for network-specific LLMQ operations - Fix LLMQ_100_67 interval from 2 to 24 (platform consensus quorum) - Add proper platform activation height checks for mainnet/testnet This enables smart masternode list fetching by calculating exactly which blocks can contain quorum commitments based on DKG intervals. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add ffiClientHandle property to expose FFI client pointer - Make client property @ObservationIgnored to prevent observation issues - Add debug logging for detailed sync progress callbacks - Document that handle is nil until start() is called This enables Platform SDK to access Core chain data through the unified SDK for proof verification and other platform operations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add Copy, Clone, Debug, PartialEq, Eq traits to FFIErrorCode - Enables better error handling and testing patterns - Improves ergonomics when working with error codes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add minimal platform integration test for basic null checks - Add comprehensive safety test suite covering: - Null pointer handling for all FFI functions - Buffer overflow prevention - Memory safety (double-free, use-after-free) - Thread safety with concurrent access - Error propagation and thread-local storage - Add CLAUDE.md with FFI build and integration instructions - Add PLAN.md documenting smart quorum fetching algorithm design - Add integration tests for smart fetch algorithm - Add test script for validating smart fetch behavior These tests ensure FFI safety and document the smart fetch implementation for future maintenance and development. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…ames Remove underscore prefixes from quorum_type and core_chain_locked_height parameters in ffi_dash_spv_get_quorum_public_key to follow standard naming conventions. The underscores were likely added to suppress unused parameter warnings but are no longer needed. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Add TODO comments clarifying height parameter usage in storage APIs: - get_header() method currently expects storage-relative heights (0-based from sync_base_height) - Document confusion between storage indexes vs blockchain heights - Suggest future refactor to use absolute blockchain heights for better UX - Add comments to both trait definition and disk implementation This addresses a common confusion point where blockchain operations expect absolute heights but storage APIs use relative indexing. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
No description provided.