Skip to content

feat: implement issues #559, #560, #561, #562 - #571

Open
adeniran19-maker wants to merge 2 commits into
Stellar-split:mainfrom
adeniran19-maker:feat/559-560-561-562-implementation
Open

feat: implement issues #559, #560, #561, #562#571
adeniran19-maker wants to merge 2 commits into
Stellar-split:mainfrom
adeniran19-maker:feat/559-560-561-562-implementation

Conversation

@adeniran19-maker

Copy link
Copy Markdown

Summary

Implements four feature issues in the Split Contract:

  • Invoice Creator Revenue Share #559 Creator Revenue Share — adds creator_fee_bps to InvoiceOptions2/Invoice, validates the combined fee cap in _create_invoice_inner, deducts the creator fee in _release_full and _release_tranches, and emits creator_fee_paid events.
  • Invoice Creator Migration #560 Creator Migration — adds nominate_new_creator / accept_creator_role entry points, pending_creator_key storage, and creator_nominated / creator_migrated events.
  • Recipient Payout Ordering Guarantee #561 Payout Ordering — adds sort_recipients in calc.rs for canonical address ordering, and emits payout_initiated events with recipient index during release.
  • Invoice Soft-Delete with Tombstone Record #562 Soft-Delete with Tombstone — adds Tombstone type, delete_invoice / get_tombstone entry points, tombstone_key storage, InvoiceDeleted / FundsUnclaimed / NotDeleted guards, and invoice_state_changed updates.

Files Changed

  • contracts/split/src/types.rs
  • contracts/split/src/error.rs
  • contracts/split/src/events.rs
  • contracts/split/src/storage_keys.rs
  • contracts/split/src/calc.rs
  • contracts/split/src/lib.rs
  • contracts/split/src/test.rs

Testing

  • Added tests for all four issues in test.rs.
  • Note: upstream main currently has a pre-existing unclosed-delimiter compilation failure in lib.rs (claim_delayed_payout/pay bodies). This PR includes minimal structural fixes so the new feature code can compile, but those pre-existing issues are not the focus of this PR.

Closing Issues

Closes #559, Closes #560, Closes #561, Closes #562

Kilo and others added 2 commits July 30, 2026 12:39
…split#561, Stellar-split#562

- Stellar-split#559 Creator Revenue Share: add creator_fee_bps to InvoiceOptions2/Invoice,
  validate fee cap in _create_invoice_inner, deduct creator fee in release
  paths, emit creator_fee_paid event
- Stellar-split#560 Creator Migration: add nominate_new_creator/accept_creator_role entry
  points, pending_creator_key storage, creator_nominated/creator_migrated events
- Stellar-split#561 Payout Ordering: add sort_recipients in calc.rs, emit payout_initiated
  events with recipient index during release
- Stellar-split#562 Soft-Delete with Tombstone: add Tombstone type, delete_invoice/get_tombstone
  entry points, tombstone_key storage, InvoiceDeleted/FundsUnclaimed/NotDeleted
  guards, and invoice_state_changed updates

Closes Stellar-split#559, Stellar-split#560, Stellar-split#561, Stellar-split#562
@drips-wave

drips-wave Bot commented Jul 30, 2026

Copy link
Copy Markdown

@adeniran19-maker 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! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Invoice Soft-Delete with Tombstone Record Recipient Payout Ordering Guarantee Invoice Creator Migration Invoice Creator Revenue Share

1 participant