Group

GroupClient allows you to create groups and add IP Assets to them.

GroupClient

Methods

  • registerGroup
  • mintAndRegisterIpAndAttachLicenseAndAddToGroup
  • registerIpAndAttachLicenseAndAddToGroup
  • registerGroupAndAttachLicense
  • registerGroupAndAttachLicenseAndAddIps

registerGroup

Registers a Group IPA.

MethodType
registerGroup(request: RegisterGroupRequest) => Promise<RegisterGroupResponse>

Parameters:

  • request.groupPool: The address specifying how royalty will be split amongst the pool of IPs in the group.
  • request.txOptions: [Optional] The transaction options.

mintAndRegisterIpAndAttachLicenseAndAddToGroup

Mint an NFT from a SPGNFT collection, register it with metadata as an IP, attach license terms to the registered IP, and add it to a group IP.

MethodType
mintAndRegisterIpAndAttachLicenseAndAddToGroup(request: MintAndRegisterIpAndAttachLicenseAndAddToGroupRequest) => Promise<MintAndRegisterIpAndAttachLicenseAndAddToGroupResponse>

Parameters:

  • 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.
  • request.txOptions: [Optional] The transaction options.

registerIpAndAttachLicenseAndAddToGroup

Register an NFT as IP with metadata, attach license terms to the registered IP, and add it to a group IP.

MethodType
registerIpAndAttachLicenseAndAddToGroup(request: RegisterIpAndAttachLicenseAndAddToGroupRequest) => Promise<RegisterIpAndAttachLicenseAndAddToGroupResponse>

Parameters:

  • 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.
  • request.txOptions: [Optional] The transaction options.

registerGroupAndAttachLicense

Register a group IP with a group reward pool and attach license terms to the group IP.

MethodType
registerGroupAndAttachLicense(request: RegisterGroupAndAttachLicenseRequest) => Promise<RegisterGroupAndAttachLicenseResponse>

Parameters:

  • 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.
  • request.txOptions: [Optional] The transaction options.

registerGroupAndAttachLicenseAndAddIps

Register a group IP with a group reward pool, attach license terms to the group IP, and add individual IPs to the group IP.

MethodType
registerGroupAndAttachLicenseAndAddIps(request: RegisterGroupAndAttachLicenseAndAddIpsRequest) => Promise<RegisterGroupAndAttachLicenseAndAddIpsResponse>

Parameters:

  • request.pIds: must have the same PIL terms as the group IP.
  • 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.
  • request.txOptions: [Optional] The transaction options.