Skip to content

feat: Add multi-class share support (Class A/B) with per-class BPS allocations#490

Open
morelucks wants to merge 1 commit into
RevoraOrg:masterfrom
morelucks:feat/multi-class-shares-446
Open

feat: Add multi-class share support (Class A/B) with per-class BPS allocations#490
morelucks wants to merge 1 commit into
RevoraOrg:masterfrom
morelucks:feat/multi-class-shares-446

Conversation

@morelucks

Copy link
Copy Markdown

Closes #446.

Summary

This PR adds support for multi-class revenue share offerings (Class A/B) with per-class basis point allocations, allowing distributions to be split correctly across multiple share classes.

Changes

  • Added ShareClass enum and ClassConfig struct to represent different classes (A/B/Custom) and their configs (BPS and voting rights).
  • Extended register_offering signature and internal logic to optionally accept classes: Option<Vec<(ShareClass, ClassConfig)>>.
  • Added validation to ensure class-specific BPS allocations sum to exactly 10,000 (100%).
  • Implemented class-aware holder share setting (set_holder_share_class) and lookup (get_holder_share_class).
  • Integrated multi-class revenue share splitting into compute_claimable_preview, claim, and simulate_distribution.
  • Maintained full backward compatibility for single-class offerings.

…locations (RevoraOrg#446)

- Added ShareClass enum and ClassConfig struct.
- Extended register_offering to accept Option<Vec<(ShareClass, ClassConfig)>>.
- Added validation to ensure class-specific BPS allocations sum to 10,000.
- Implemented class-aware holder share setting (set_holder_share_class) and lookup (get_holder_share_class).
- Integrated multi-class revenue share splitting into compute_claimable_preview, claim, and simulate_distribution.
- Kept single-class offerings fully backward-compatible.
@drips-wave

drips-wave Bot commented Jun 28, 2026

Copy link
Copy Markdown

@morelucks 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.

Add multi-class share support (Class A/B) with per-class revenue-share BPS in register_offering

1 participant