GroupClient allows you to create groups and add IP Assets to them.
Method | Type |
---|---|
registerGroup | (request: RegisterGroupRequest) => Promise<RegisterGroupResponse> |
request.groupPool
: The address specifying how royalty will be split amongst the pool of IPs in the group.Method | Type |
---|---|
mintAndRegisterIpAndAttachLicenseAndAddToGroup | (request: MintAndRegisterIpAndAttachLicenseAndAddToGroupRequest) => Promise<MintAndRegisterIpAndAttachLicenseAndAddToGroupResponse> |
request.nftContract
: The address of the NFT collection.request.groupId
: The ID of the group IP to add the newly registered IP.request.licenseTermsId
: The ID of the registered license terms that will be attached to the new IP.request.recipient
: [Optional] The address of the recipient of the minted NFT,default value is your wallet address.request.licenseTemplate
: [Optional] The address of the license template to be attached to the new group IP,default value is Programmable IP License.request.deadline
: [Optional] The deadline for the signature in milliseconds,default value is 1000ms.request.ipMetadata
: [Optional] The desired metadata for the newly minted NFT and newly registered IP.
request.ipMetadata.ipMetadataURI
[Optional] The URI of the metadata for the IP.request.ipMetadata.ipMetadataHash
[Optional] The hash of the metadata for the IP.request.ipMetadata.nftMetadataURI
[Optional] The URI of the metadata for the NFT.request.ipMetadata.nftMetadataHash
[Optional] The hash of the metadata for the IP NFT.Method | Type |
---|---|
registerIpAndAttachLicenseAndAddToGroup | (request: RegisterIpAndAttachLicenseAndAddToGroupRequest) => Promise<RegisterIpAndAttachLicenseAndAddToGroupResponse> |
request.spgNftContract
: The address of the NFT collection.request.tokenId
: The ID of the NFT.request.groupId
: The ID of the group IP to add the newly registered IP.request.licenseTermsId
: The ID of the registered license terms that will be attached to the new IP.request.licenseTemplate
: [Optional] The address of the license template to be attached to the new group IP, default value is Programmable IP License.request.deadline
: [Optional] The deadline for the signature in milliseconds, default is 1000ms.request.ipMetadata
: [Optional] The desired metadata for the newly minted NFT and newly registered IP.
request.ipMetadata.ipMetadataURI
[Optional] The URI of the metadata for the IP.request.ipMetadata.ipMetadataHash
[Optional] The hash of the metadata for the IP.request.ipMetadata.nftMetadataURI
[Optional] The URI of the metadata for the NFT.request.ipMetadata.nftMetadataHash
[Optional] The hash of the metadata for the IP NFT.Method | Type |
---|---|
registerGroupAndAttachLicense | (request: RegisterGroupAndAttachLicenseRequest) => Promise<RegisterGroupAndAttachLicenseResponse> |
request.groupPool
: The address specifying how royalty will be split amongst the pool of IPs in the group.request.licenseTermsId
: The ID of the registered license terms that will be attached to the new group IP.request.licenseTemplate
: [Optional] The address of the license template to be attached to the new group IP, default value is Programmable IP License.Method | Type |
---|---|
registerGroupAndAttachLicenseAndAddIps | (request: RegisterGroupAndAttachLicenseAndAddIpsRequest) => Promise<RegisterGroupAndAttachLicenseAndAddIpsResponse> |
request.ipIds
: The IP IDs of the IPs to be added to the group.request.groupPool
: The address specifying how royalty will be split amongst the pool of IPs in the group.request.maxAllowedRevShare
: The maximum reward share percentage that can be allocated to each member IP.request.licenseData
: The data of the license and its configuration to be attached to the new group IP.
request.licenseData.licenseTermsId
: The ID of the registered license terms that will be attached to the new group IP.request.licenseData.licensingConfig
: [Optional] See the LicensingConfig type. If none provided, it will default to the one shown here.request.licenseData.licenseTemplate
: [Optional] The address of the license template to be attached to the new group IP, default value is Programmable IP License.Method | Type |
---|---|
collectAndDistributeGroupRoyalties | (request: CollectAndDistributeGroupRoyaltiesRequest) => Promise<CollectAndDistributeGroupRoyaltiesResponse> |
request.groupIpId
: The IP ID of the group.request.currencyTokens
: The addresses of the currency (revenue) tokens to claim.request.memberIpIds
: The IDs of the member IPs to distribute the rewards to.Method | Type |
---|---|
addIpsToGroup | (request: AddIpRequest) => Promise<TransactionResponse> |
request.groupIpId
: The ID of the group IP to add the IPs to.request.ipIds
: The addresses of the IPs to add to the Group IP. IP IDs must be attached to the group IP license terms.request.maxAllowedRewardSharePercentage
: [Optional] The maximum reward share percentage that can be allocated to each member IP. Must be between 0 and 100 (where 100% represents 100_000_000). Default is 100.Method | Type |
---|---|
getClaimableReward | (request: GetClaimableRewardRequest) => Promise<bigint[]> |
request.groupIpId
: The ID of the group IP.request.currencyToken
: The address of the currency (revenue) token to check.request.memberIpIds
: The IDs of the member IPs to check rewards for.Method | Type |
---|---|
removeIpsFromGroup | (request: RemoveIpsFromGroupRequest) => Promise<TransactionResponse> |
request.groupIpId
: The ID of the group IP to remove the IPs from.request.ipIds
: The addresses of the IPs to remove from the Group IP.Method | Type |
---|---|
claimReward | (request: ClaimRewardRequest) => Promise<ClaimRewardResponse> |
request.groupIpId
: The ID of the group IP.request.currencyToken
: The address of the currency (revenue) token to claim.request.memberIpIds
: The IDs of the member IPs to distribute the rewards to.Method | Type |
---|---|
collectRoyalties | (request: CollectRoyaltiesRequest) => Promise<CollectRoyaltiesResponse> |
request.groupIpId
: The ID of the group IP.request.currencyToken
: The address of the currency (revenue) token to collect.