Summary
Add a distribution path on MUSD that reads the cap-table from Labelton.capTableOf(masterId) (or capTableOfVariant(variantId)) instead of IMuzixCatalog.royaltySplits(tokenId). Pull-payment, batch-payout, and ERC-20-Permit features stay intact.
Notes
- This makes MUSD distribution work against LABELTON-anchored rights structures.
- Open: does MUSD survive the tokenomics rebrainstorm, or does CR8 native gas absorb the settlement role? This issue assumes MUSD stays.
Concrete changes
- Add
ILabelton interface to MUSD (subset: capTableOf(uint256) -> CapTableEntry[]).
- Add
setLabelton(address) (or constructor arg on a new deploy) so MUSD knows the Labelton address.
- Add
transferWithLabeltonRoyalty(masterId, amount) and batchLabeltonRoyaltyDistribution(masterIds[], amounts[]) mirroring the existing catalog paths.
- Leave the legacy MuzixCatalog distribution paths in place until #D retires them.
Depends on
Part of #38. Depends on companion Labelton.sol PR landing.
cc @abhicris
Summary
Add a distribution path on
MUSDthat reads the cap-table fromLabelton.capTableOf(masterId)(orcapTableOfVariant(variantId)) instead ofIMuzixCatalog.royaltySplits(tokenId). Pull-payment, batch-payout, and ERC-20-Permit features stay intact.Notes
Concrete changes
ILabeltoninterface to MUSD (subset:capTableOf(uint256) -> CapTableEntry[]).setLabelton(address)(or constructor arg on a new deploy) so MUSD knows the Labelton address.transferWithLabeltonRoyalty(masterId, amount)andbatchLabeltonRoyaltyDistribution(masterIds[], amounts[])mirroring the existing catalog paths.Depends on
Part of #38. Depends on companion Labelton.sol PR landing.
cc @abhicris