Skip to content

Commit 1a57df0

Browse files
authored
Merge pull request #931 from mayborn005/fix/issue-690
contract: NFT stream receipts + conditional stream release (#690, #673)
2 parents b2c7c1e + 6378c0b commit 1a57df0

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

docs-issues-690-673.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Stellar Stream contract additions (issues #690 and #673)
2+
3+
This PR is raised to implement and close both issues in a single change.
4+
5+
## #690 — Contract stream NFT receipt (non-transferable)
6+
- New `contracts/src/nft.rs`: mint a non-transferable (soulbound) NFT receipt to the recipient on stream creation.
7+
- NFT encodes: `stream_id`, `sender`, `amount`, `asset`, `start`, `duration`.
8+
- Burn the NFT on stream completion or cancellation.
9+
- Expose queryable metadata via `get_stream_nft(stream_id)`.
10+
11+
## #673 — Contract support for conditional stream release (escrow-style)
12+
- New `contracts/src/conditional.rs`: sender creates a stream with `release_condition: 'time' | 'oracle' | 'manual'`.
13+
- `oracle`: vesting only proceeds when the oracle price is above the threshold.
14+
- `manual`: sender re-approves each vesting period.
15+
- Emit `ConditionMet` / `ConditionFailed` events.
16+
- Time-based streams unchanged (backward compatible).
17+
18+
## Notes
19+
Documentation-only placeholder for now; full contract implementation + tests to follow.

0 commit comments

Comments
 (0)