Description
Allow recipient change only with auth from payer and new recipient (and old recipient if required).
Requirements and context
Suggested execution
- Fork the repository and create a branch (example below).
- Implement the changes in the StreamPay-Contracts Soroban crate (
streampay-contracts).
- Keep the contract secure, tested, and documented; prefer small, reviewable diffs.
git checkout -b feature/transfer-stream-recipient
Implementation targets
lib.rs — propose_recipient / accept or single-tx pattern.
- Tests for each auth combo.
Tests and validation
-
Add or extend contract tests for this scope.
-
Cover edge cases; paste summarized test output and security notes in the PR.
-
Run cargo test in StreamPay-Contracts.
-
Cover edge cases; capture test output and short security notes in the PR description.
Guidelines
- Target minimum 95% test coverage for touched contract code (or justify gaps explicitly).
- Clear documentation (rustdoc / project docs as specified).
- Timeframe: 96 hours from assignment.
Example commit message
feat(contracts): recipient change with explicit authorization
Description
Allow recipient change only with auth from payer and new recipient (and old recipient if required).
Requirements and context
Suggested execution
streampay-contracts).Implementation targets
lib.rs—propose_recipient/acceptor single-tx pattern.Tests and validation
Add or extend contract tests for this scope.
Cover edge cases; paste summarized test output and security notes in the PR.
Run
cargo testinStreamPay-Contracts.Cover edge cases; capture test output and short security notes in the PR description.
Guidelines
Example commit message