Description
Our current IPaymentStream implementation has limited functionality for checking and reporting stream status. We should provide more comprehensive status information and calculations. We need to add theses capabilities to improve monitoring and user experience.
Requirements
- Add
status_of function to return the current stream status
- Implement
accrued_debt_of to calculate debt accrued since snapshot
- Add
covered_debt_of and uncovered_debt_of as public functions
- Improve documentation and status reporting
Implementation Details
- Function signatures:
fn status_of(self: @TContractState, stream_id: u256) -> StreamStatus
fn ongoing_debt_scaled_of(self: @TContractState, stream_id: u256) -> u256
fn covered_debt_of(self: @TContractState, stream_id: u256) -> u128
fn uncovered_debt_of(self: @TContractState, stream_id: u256) -> u128
- Ensure consistent status reporting across all functions
- Provide clear documentation for what each status means
- Handle edge cases like zero balances appropriately
Acceptance Criteria
- All new status functions correctly report stream state
- Debt calculations are accurate for both covered and uncovered portions
- The functions work with all stream states (active, paused, etc.)
- Documentation is comprehensive and clear
References
Description
Our current IPaymentStream implementation has limited functionality for checking and reporting stream status. We should provide more comprehensive status information and calculations. We need to add theses capabilities to improve monitoring and user experience.
Requirements
status_offunction to return the current stream statusaccrued_debt_ofto calculate debt accrued since snapshotcovered_debt_ofanduncovered_debt_ofas public functionsImplementation Details
fn status_of(self: @TContractState, stream_id: u256) -> StreamStatusfn ongoing_debt_scaled_of(self: @TContractState, stream_id: u256) -> u256fn covered_debt_of(self: @TContractState, stream_id: u256) -> u128fn uncovered_debt_of(self: @TContractState, stream_id: u256) -> u128Acceptance Criteria
References
statusOf,coveredDebtOf, and other status functions