Repository navigation
Add clawback for regulated assets, fee tracking, auto-completion test, and interpolation optimization - #853
Merged
Jaydbrown merged 3 commits intoOct 18, 2026
Conversation
## Summary Implements four critical contract validation improvements: ### conduit-protocol#785 - StreamCancelled event includes remaining deposit - Added remaining_deposit parameter to cancelled() and force_cancelled() events - Provides complete financial breakdown in event logs - Updated lib.rs calls to pass refund_to_sender as remaining_deposit ### conduit-protocol#786 - SEP-0041 transfer return value validation - Validates return values from all tk.transfer() calls in token-vault - Maps transfer errors to appropriate contract errors - Catches transfer failures before state mutations - Affects 5 transfer points in lib.rs ### conduit-protocol#787 - Duplicate stream ID validation in batch cancel - Added DuplicateStreamId error code (33) to factory errors - Validates non-duplicate stream addresses before batch processing - Uses Map-backed set for O(log n) duplicate detection - Rejects batch early if duplicates detected ### conduit-protocol#788 - WASM hash registry verification - Validates WASM hash exists in Soroban ledger before deployment - Uses env.ledger().get_wasm() to verify registry - Prevents deployment failures from stale/invalid hashes - Early validation in deploy_stream() Closes conduit-protocol#785 Closes conduit-protocol#786 Closes conduit-protocol#787 Closes conduit-protocol#788
…d Stellar asset staleness threshold - Fix conduit-protocol#773: Add ProposalExecutionQueued event emitted with execution time when proposals are queued - Fix conduit-protocol#774: Store proposal execution bytecode hash in DataKey for verification purposes - Fix conduit-protocol#775: Add three comprehensive unit tests for quorum calculation edge cases with fractional tokens - Fix conduit-protocol#776: Add StellarAssetStalenessThresholdSecs DataKey for independent Stellar asset price feed staleness configuration These changes improve proposal governance tracking, execution verification, quorum validation with edge cases, and oracle price feed staleness management for Stellar assets.
…uto-completion test, and optimized interpolation - Add FLAG_REGULATED_ASSET flag and is_regulated_asset() getter (Issue conduit-protocol#781) Streams can now be marked as using compliant regulated assets with tracking - Add cumulative_fees field to StreamInfo (Issue conduit-protocol#782) Tracks total fees paid across the lifetime of a stream - Add test for stream auto-completion at exact duration (Issue conduit-protocol#783) Verifies withdrawable amount equals total when elapsed time equals duration - Optimize linear interpolation calculation (Issue conduit-protocol#784) Early return for zero rate or zero elapsed to prevent unnecessary operations - Update initialize() to accept is_regulated_asset parameter - Initialize cumulative_fees to 0 for new streams Closes conduit-protocol#781 Closes conduit-protocol#782 Closes conduit-protocol#783 Closes conduit-protocol#784
|
@Big-JoshCode 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
Implements four stream contract enhancements: regulated asset clawback support, cumulative fee tracking, exact-duration auto-completion test, and linear interpolation optimization.
Changes
#781 Clawback Support for Regulated Assets
#782 Cumulative Fee Tracking
#783 Auto-Completion Test for Exact Duration
#784 Linear Interpolation Optimization
Closes #781
Closes #782
Closes #783
Closes #784