Skip to content

feat: implement invoice dispute arbitration tournament (#881) and cre… - #905

Merged
Kingsman-99 merged 1 commit into
Stellar-split:mainfrom
Nasa112197:feat/issues-881-882
Sep 30, 2026
Merged

Kingsman-99 merged 1 commit into
Stellar-split:mainfrom
Nasa112197:feat/issues-881-882

Conversation

@Nasa112197

Copy link
Copy Markdown

…ator reputation NFT minting (#882)

Issue #881 – Invoice Dispute Arbitration Tournament

  • Add ArbitrationTournament, ArbitrationTournamentStatus, TournamentVote types
  • Add InvoiceKey::ArbitrationTournament, CompoundKey::TournamentVote storage keys
  • Implement open_tournament, cast_tournament_vote, advance_tournament, cancel_tournament, get_tournament entry points
  • Multi-round voting: majority wins each round; ties break in favour of Refund
  • Final round auto-resolves the invoice (Released or Refunded)
  • Events: trn_open, trn_vote, trn_adv, trn_done, trn_cncl
  • Comprehensive tests covering votes, round advancement, duplicates, cancellation

Issue #882 – Creator Reputation NFT Minting

  • Add RepNFT type and StorageKey::RepNftThreshold, AddressKey::RepNftCount, CompoundKey::RepNft storage keys
  • Implement mint_rep_nft, get_rep_nft, get_rep_nft_count, burn_rep_nft, set_rep_nft_threshold, get_rep_nft_threshold entry points
  • Score derived from existing RepScore formula; configurable admin threshold
  • Events: nft_mint, nft_burn, nft_thr
  • Comprehensive tests covering minting, threshold enforcement, burn, auth

Supporting changes

  • Add ContractError::TournamentNotFound (84), TournamentAlreadyOpen (85), RepScoreTooLow (86) to error taxonomy
  • Make load_invoice, save_invoice, require_not_paused, admin_key, rep_key, invoice_key pub(crate) to support cross-module access
  • Deduplicate and clean .gitignore (134 lines)

closes #881
closes #882

…#881) and creator reputation NFT minting (Stellar-split#882)

Issue Stellar-split#881 – Invoice Dispute Arbitration Tournament
- Add ArbitrationTournament, ArbitrationTournamentStatus, TournamentVote types
- Add InvoiceKey::ArbitrationTournament, CompoundKey::TournamentVote storage keys
- Implement open_tournament, cast_tournament_vote, advance_tournament,
  cancel_tournament, get_tournament entry points
- Multi-round voting: majority wins each round; ties break in favour of Refund
- Final round auto-resolves the invoice (Released or Refunded)
- Events: trn_open, trn_vote, trn_adv, trn_done, trn_cncl
- Comprehensive tests covering votes, round advancement, duplicates, cancellation

Issue Stellar-split#882 – Creator Reputation NFT Minting
- Add RepNFT type and StorageKey::RepNftThreshold, AddressKey::RepNftCount,
  CompoundKey::RepNft storage keys
- Implement mint_rep_nft, get_rep_nft, get_rep_nft_count, burn_rep_nft,
  set_rep_nft_threshold, get_rep_nft_threshold entry points
- Score derived from existing RepScore formula; configurable admin threshold
- Events: nft_mint, nft_burn, nft_thr
- Comprehensive tests covering minting, threshold enforcement, burn, auth

Supporting changes
- Add ContractError::TournamentNotFound (84), TournamentAlreadyOpen (85),
  RepScoreTooLow (86) to error taxonomy
- Make load_invoice, save_invoice, require_not_paused, admin_key, rep_key,
  invoice_key pub(crate) to support cross-module access
- Deduplicate and clean .gitignore (134 lines)
@drips-wave

drips-wave Bot commented Sep 29, 2026

Copy link
Copy Markdown

@Nasa112197 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

@Kingsman-99
Kingsman-99 merged commit fde9aa1 into Stellar-split:main Sep 30, 2026
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.

Implement creator reputation NFT minting Add invoice dispute arbitration tournament

2 participants