State Variables
ROYALTY_MODULE
GROUPING_MODULE
GROUP_IP_ASSET_REGISTRY
MAX_GROUP_SIZE
GroupInfo
token: The reward token for the group, defined by the license terms attached to the group IPtotalMembers: Total number of IPs in the grouppendingBalance: Pending balance to be added to accRewardPerIpaccRewardPerIp: Accumulated rewards per IP, times MAX_GROUP_SIZEaverageRewardShare: The average reward share per IP, only increases as new IPs join with higher minimum share
Functions
initialize
accessManager: The address of the protocol admin roles contract.
addIp
groupId: The group ID.ipId: The IP ID.minimumGroupRewardShare: The minimum group reward share the IP expects to be added to the group.
totalGroupRewardShare: The total group reward share after adding the IP.
removeIp
groupId: The group ID.ipId: The IP ID.
depositReward
groupId: The group ID.token: The reward token.amount: The amount of reward.
getAvailableReward
groupId: The group ID.token: The reward token.ipIds: The IP IDs.
uint256[] memory: The rewards for each IP.
distributeRewards
groupId: The group ID.token: The reward tokens.ipIds: The IP IDs.
rewards: An array containing the reward amounts distributed to each IP.
getTotalIps
groupId: The group ID.
uint256: The total number of IPs in the group.
getIpAddedTime
groupId: The group ID.ipId: The IP ID.
uint256: The timestamp when the IP was added to the group.
getIpRewardDebt
groupId: The group ID.token: The reward token.ipId: The IP ID.
uint256: The reward debt of the IP.
isIPAdded
groupId: The group ID.ipId: The IP ID.
bool: True if the IP is added to the group, false otherwise.
getMinimumRewardShare
groupId: The group ID.ipId: The IP ID.
uint256: The minimum reward share of the IP.
getTotalAllocatedRewardShare
groupId: The group ID.
uint256: The total allocated reward share of the group.

