-
Notifications
You must be signed in to change notification settings - Fork 130
Validate invoice paid-state transitions from cumulative partial payments #618
Copy link
Copy link
Open
Labels
Stellar WaveIssues in the Stellar wave programIssues in the Stellar wave programinvoice-lifecycleAuto label for contract issues: invoice-lifecycleAuto label for contract issues: invoice-lifecyclepriority-mediumAuto label for contract issues: priority-mediumAuto label for contract issues: priority-mediumsettlementAuto label for contract issues: settlementAuto label for contract issues: settlementsmart-contractsAuto label for contract issues: smart-contractsAuto label for contract issues: smart-contractstestingAuto label for contract issues: testingAuto label for contract issues: testing
Description
Description
Develop cumulative partial payment tests validating exact transition to paid status at threshold amount.
Requirements and context
- Must be secure, tested, and documented
- Should be efficient and easy to review
- Prevent early or delayed paid transitions
Suggested execution
- Fork the repo and create a branch
git checkout -b feature/cumulative-partial-paid-transition- Implement changes
- Write contract:
src/settlement.rsandsrc/invoice.rs - Write comprehensive tests:
src/test_partial_payments.rsandsrc/test_settlement.rs - Add documentation:
docs/contracts/settlement.md - Include NatSpec-style comments
- Validate security assumptions
Test and commit
- Run tests
- Cover edge cases
- Include test output and security notes
Example commit message
feat: validate paid transitions from cumulative partial payments
Guidelines
- Minimum 95 percent test coverage
- Clear documentation
- Timeframe: 96 hours
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Stellar WaveIssues in the Stellar wave programIssues in the Stellar wave programinvoice-lifecycleAuto label for contract issues: invoice-lifecycleAuto label for contract issues: invoice-lifecyclepriority-mediumAuto label for contract issues: priority-mediumAuto label for contract issues: priority-mediumsettlementAuto label for contract issues: settlementAuto label for contract issues: settlementsmart-contractsAuto label for contract issues: smart-contractsAuto label for contract issues: smart-contractstestingAuto label for contract issues: testingAuto label for contract issues: testing