@story-protocol/core-sdk 1.2.0-rc.3 → 1.3.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/dist/declarations/src/abi/generated.d.ts +12699 -4314
  2. package/dist/declarations/src/abi/generated.d.ts.map +1 -1
  3. package/dist/declarations/src/constants/common.d.ts +1 -0
  4. package/dist/declarations/src/constants/common.d.ts.map +1 -1
  5. package/dist/declarations/src/index.d.ts +3 -2
  6. package/dist/declarations/src/index.d.ts.map +1 -1
  7. package/dist/declarations/src/resources/dispute.d.ts +8 -4
  8. package/dist/declarations/src/resources/dispute.d.ts.map +1 -1
  9. package/dist/declarations/src/resources/group.d.ts +73 -20
  10. package/dist/declarations/src/resources/group.d.ts.map +1 -1
  11. package/dist/declarations/src/resources/ipAsset.d.ts +304 -209
  12. package/dist/declarations/src/resources/ipAsset.d.ts.map +1 -1
  13. package/dist/declarations/src/resources/license.d.ts +11 -3
  14. package/dist/declarations/src/resources/license.d.ts.map +1 -1
  15. package/dist/declarations/src/resources/nftClient.d.ts +1 -1
  16. package/dist/declarations/src/resources/nftClient.d.ts.map +1 -1
  17. package/dist/declarations/src/resources/permission.d.ts.map +1 -1
  18. package/dist/declarations/src/resources/royalty.d.ts +5 -87
  19. package/dist/declarations/src/resources/royalty.d.ts.map +1 -1
  20. package/dist/declarations/src/types/common.d.ts +18 -7
  21. package/dist/declarations/src/types/common.d.ts.map +1 -1
  22. package/dist/declarations/src/types/config.d.ts +1 -1
  23. package/dist/declarations/src/types/config.d.ts.map +1 -1
  24. package/dist/declarations/src/types/resources/dispute.d.ts +3 -2
  25. package/dist/declarations/src/types/resources/dispute.d.ts.map +1 -1
  26. package/dist/declarations/src/types/resources/group.d.ts +19 -9
  27. package/dist/declarations/src/types/resources/group.d.ts.map +1 -1
  28. package/dist/declarations/src/types/resources/ipAsset.d.ts +57 -43
  29. package/dist/declarations/src/types/resources/ipAsset.d.ts.map +1 -1
  30. package/dist/declarations/src/types/resources/license.d.ts +10 -7
  31. package/dist/declarations/src/types/resources/license.d.ts.map +1 -1
  32. package/dist/declarations/src/types/resources/permission.d.ts +0 -1
  33. package/dist/declarations/src/types/resources/permission.d.ts.map +1 -1
  34. package/dist/declarations/src/types/resources/royalty.d.ts +1 -2
  35. package/dist/declarations/src/types/resources/royalty.d.ts.map +1 -1
  36. package/dist/declarations/src/utils/chain.d.ts +5 -5
  37. package/dist/declarations/src/utils/chain.d.ts.map +1 -1
  38. package/dist/declarations/src/utils/getIpMetadataForWorkflow.d.ts +9 -0
  39. package/dist/declarations/src/utils/getIpMetadataForWorkflow.d.ts.map +1 -0
  40. package/dist/declarations/src/utils/sign.d.ts +0 -1
  41. package/dist/declarations/src/utils/sign.d.ts.map +1 -1
  42. package/dist/story-protocol-core-sdk.cjs.dev.js +2114 -2548
  43. package/dist/story-protocol-core-sdk.cjs.prod.js +2114 -2548
  44. package/dist/story-protocol-core-sdk.esm.js +2115 -2549
  45. package/package.json +1 -1
@@ -27,7 +27,7 @@ export declare class IPAssetClient {
27
27
  * @param params.address The wallet address of the creator.
28
28
  * @param params.description [Optional] A description of the creator.
29
29
  * @param params.image [Optional] The URL or path to an image representing the creator.
30
- * @param params.socialMedia [Optional] An array of social media profiles associated with the creator.
30
+ * @param {Array} params.socialMedia [Optional] An array of social media profiles associated with the creator.
31
31
  * @param params.socialMedia[].platform The name of the social media platform.
32
32
  * @param params.socialMedia[].url The URL to the creator's profile on the platform.
33
33
  * @param params.contributionPercent The percentage of contribution by the creator, must add up to 100.
@@ -41,12 +41,12 @@ export declare class IPAssetClient {
41
41
  * @param params.title [Optional] The title of the IP.
42
42
  * @param params.description [Optional] A description of the IP.
43
43
  * @param params.ipType [Optional] The type of the IP asset (e.g., "character", "chapter").
44
- * @param params.relationships [Optional] An array of relationships between this IP and its parent IPs.
44
+ * @param {Array} params.relationships [Optional] An array of relationships between this IP and its parent IPs.
45
45
  * @param params.relationships[].ipId The ID of the parent IP.
46
46
  * @param params.relationships[].type The type of relationship (e.g., "APPEARS_IN").
47
47
  * @param params.createdAt [Optional] The creation date and time of the IP in ISO 8601 format.
48
48
  * @param params.watermarkImg [Optional] The URL or path to an image used as a watermark for the IP.
49
- * @param params.creators [Optional] An array of creators associated with the IP.
49
+ * @param {Array} params.creators [Optional] An array of creators associated with the IP.
50
50
  * @param params.creators[].name The name of the creator.
51
51
  * @param params.creators[].address The address of the creator.
52
52
  * @param params.creators[].description [Optional] A description of the creator.
@@ -56,19 +56,19 @@ export declare class IPAssetClient {
56
56
  * @param params.creators[].socialMedia[].url The URL to the creator's profile.
57
57
  * @param params.creators[].role [Optional] The role of the creator in relation to the IP.
58
58
  * @param params.creators[].contributionPercent The percentage of contribution by the creator.
59
- * @param params.media [Optional] An array of media related to the IP.
59
+ * @param {Array} params.media [Optional] An array of media related to the IP.
60
60
  * @param params.media[].name The name of the media.
61
61
  * @param params.media[].url The URL to the media.
62
62
  * @param params.media[].mimeType The MIME type of the media.
63
- * @param params.attributes [Optional] An array of key-value pairs providing additional metadata.
63
+ * @param {Array} params.attributes [Optional] An array of key-value pairs providing additional metadata.
64
64
  * @param params.attributes[].key The key for the attribute.
65
65
  * @param params.attributes[].value The value for the attribute, can be a string or number.
66
- * @param params.app [Optional] Information about the application associated with the IP.
66
+ * @param {Object} params.app [Optional] Information about the application associated with the IP.
67
67
  * @param params.app.id The ID of the application.
68
68
  * @param params.app.name The name of the application.
69
69
  * @param params.app.website The website URL of the application.
70
- * @param params.tags [Optional] An array of tags associated with the IP.
71
- * @param params.robotTerms [Optional] Robot terms for the IP, specifying access rules.
70
+ * @param {Array} params.tags [Optional] An array of tags associated with the IP.
71
+ * @param {Object} params.robotTerms [Optional] Robot terms for the IP, specifying access rules.
72
72
  * @param params.robotTerms.userAgent The user agent for which the rules apply.
73
73
  * @param params.robotTerms.allow The rules allowing access.
74
74
  * @param params.additionalProperties [Optional] Any additional key-value pairs to include in the metadata.
@@ -80,11 +80,11 @@ export declare class IPAssetClient {
80
80
  * @param request - The request object that contains all data needed to register IP.
81
81
  * @param request.nftContract The address of the NFT.
82
82
  * @param request.tokenId The token identifier of the NFT.
83
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
84
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
85
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
86
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
87
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
83
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
84
+ * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
85
+ * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
86
+ * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
87
+ * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
88
88
  * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
89
89
  * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
90
90
  * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data, and if waitForTransaction is true, includes IP ID, token ID.
@@ -97,7 +97,7 @@ export declare class IPAssetClient {
97
97
  * @param {Array} request.args The array of objects containing the data needed to register IP.
98
98
  * @param request.args.nftContract The address of the NFT.
99
99
  * @param request.args.tokenId The token identifier of the NFT.
100
- * @param request.args.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
100
+ * @param {Object} request.args.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
101
101
  * @param request.args.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
102
102
  * @param request.args.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
103
103
  * @param request.args.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
@@ -115,8 +115,12 @@ export declare class IPAssetClient {
115
115
  * The derivative IP owner must be the caller or an authorized operator.
116
116
  * @param request - The request object that contains all data needed to register derivative IP.
117
117
  * @param request.childIpId The derivative IP ID.
118
- * @param request.parentIpIds The parent IP IDs.
119
- * @param request.licenseTermsIds The IDs of the license terms that the parent IP supports.
118
+ * @param {Array} request.parentIpIds The parent IP IDs.
119
+ * @param {Array} request.licenseTermsIds The IDs of the license terms that the parent IP supports.
120
+ * @param request.maxMintingFee The maximum minting fee that the caller is willing to pay. if set to 0 then no limit.
121
+ * @param request.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
122
+ * @param request.maxRevenueShare The maximum revenue share percentage allowed for minting the License Tokens. Must be between 0 and 100,000,000 (where 100,000,000 represents 100%).
123
+ * @param request.licenseTemplate [Optional] The license template address, default value is Programmable IP License.
120
124
  * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
121
125
  * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data.
122
126
  */
@@ -125,22 +129,25 @@ export declare class IPAssetClient {
125
129
  * Batch registers a derivative directly with parent IP's license terms.
126
130
  * @param request - The request object that contains all data needed to batch register derivative IP.
127
131
  * @param {Array} request.args The array of objects containing the data needed to register derivative IP.
128
- * @param request.args.childIpId The derivative IP ID.
129
- * @param request.args.parentIpIds The parent IP IDs.
130
- * @param request.args.licenseTermsIds The IDs of the license terms that the parent IP supports.
132
+ * @param request.args.childIpId The derivative IP ID.
133
+ * @param {Array} request.args.parentIpIds The parent IP IDs.
134
+ * @param {Array} request.args.licenseTermsIds The IDs of the license terms that the parent IP supports.
135
+ * @param request.args.maxMintingFee The maximum minting fee that the caller is willing to pay. if set to 0 then no limit.
136
+ * @param request.args.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
137
+ * @param request.args.maxRevenueShare The maximum revenue share percentage allowed for minting the License Tokens. Must be between 0 and 100,000,000 (where 100,000,000 represents 100%).
131
138
  * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
132
139
  * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxDataOnly option.
133
140
  * @returns A Promise that resolves to a transaction hash.
134
141
  */
135
142
  batchRegisterDerivative(request: BatchRegisterDerivativeRequest): Promise<BatchRegisterDerivativeResponse>;
136
143
  /**
137
- * Registers a derivative with license tokens.
138
- * the derivative IP is registered with license tokens minted from the parent IP's license terms.
139
- * the license terms of the parent IPs issued with license tokens are attached to the derivative IP.
140
- * the caller must be the derivative IP owner or an authorized operator.
144
+ * Registers a derivative with license tokens. The derivative IP is registered with license tokens minted from the parent IP's license terms.
145
+ * The license terms of the parent IPs issued with license tokens are attached to the derivative IP.
146
+ * The caller must be the derivative IP owner or an authorized operator.
141
147
  * @param request - The request object that contains all data needed to register derivative license tokens.
142
148
  * @param request.childIpId The derivative IP ID.
143
- * @param request.licenseTokenIds The IDs of the license tokens.
149
+ * @param {Array} request.licenseTokenIds The IDs of the license tokens.
150
+ * @param request.args.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
144
151
  * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
145
152
  * @returns A Promise that resolves to an object containing the transaction hash.
146
153
  */
@@ -149,25 +156,37 @@ export declare class IPAssetClient {
149
156
  * Mint an NFT from a collection and register it as an IP.
150
157
  * @param request - The request object that contains all data needed to mint and register ip.
151
158
  * @param request.spgNftContract The address of the NFT collection.
152
- * @param {Array} request.terms The array of license terms to be attached.
153
- * @param request.terms.transferable Indicates whether the license is transferable or not.
154
- * @param request.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
155
- * @param request.terms.mintingFee The fee to be paid when minting a license.
156
- * @param request.terms.expiration The expiration period of the license.
157
- * @param request.terms.commercialUse Indicates whether the work can be used commercially or not.
158
- * @param request.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
159
- * @param request.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
160
- * @param request.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
161
- * @param request.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
162
- * @param request.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
163
- * @param request.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
164
- * @param request.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
165
- * @param request.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
166
- * @param request.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
167
- * @param request.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
168
- * @param request.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
169
- * @param request.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
170
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
159
+ * @param request.allowDuplicates Indicates whether the license terms can be attached to the same IP ID or not.
160
+ * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to be attached to the IP.
161
+ * @param {Object} request.licenseTermsData.terms The PIL terms to be used for the licensing.
162
+ * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
163
+ * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
164
+ * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
165
+ * @param request.licenseTermsData.terms.expiration The expiration period of the license.
166
+ * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
167
+ * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
168
+ * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
169
+ * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
170
+ * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
171
+ * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
172
+ * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
173
+ * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
174
+ * @param request.licenseTermsData.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
175
+ * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
176
+ * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
177
+ * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
178
+ * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
179
+ * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
180
+ * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
181
+ * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
182
+ * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
183
+ * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
184
+ * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
185
+ * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
186
+ * @param request.licenseTermsData.licensingConfig.expectMinimumGroupRewardShare The minimum percentage of the group’s reward share (from 0 to 100%, represented as 100 * 10 ** 6) that can be allocated to the IP when it is added to the group.
187
+ * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
188
+ * @param request.licenseTermsData.licensingConfig.expectGroupRewardPool The address of the expected group reward pool. The IP can only be added to a group with this specified reward pool address, or address(0) if the IP does not want to be added to any group.
189
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
171
190
  * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
172
191
  * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
173
192
  * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
@@ -184,26 +203,38 @@ export declare class IPAssetClient {
184
203
  * @param request - The request object that contains all data needed to batch mint and register ip.
185
204
  * @param {Array} request.args The array of mint and register IP requests.
186
205
  * @param request.args.spgNftContract The address of the NFT collection.
187
- * @param {Array} request.args.terms The array of license terms to be attached.
188
- * @param request.args.terms.transferable Indicates whether the license is transferable or not.
189
- * @param request.args.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
190
- * @param request.args.terms.mintingFee The fee to be paid when minting a license.
191
- * @param request.args.terms.expiration The expiration period of the license.
192
- * @param request.args.terms.commercialUse Indicates whether the work can be used commercially or not.
193
- * @param request.args.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
194
- * @param request.args.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
195
- * @param request.args.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
196
- * @param request.args.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
197
- * @param request.args.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
198
- * @param request.args.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
199
- * @param request.args.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
200
- * @param request.args.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
201
- * @param request.args.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
202
- * @param request.args.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
203
- * @param request.args.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
204
- * @param request.args.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
205
- * @param request.args.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
206
- * @param request.args.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
206
+ * @param request.allowDuplicates Indicates whether the license terms can be attached to the same IP ID or not.
207
+ * @param {Array} request.args.licenseTermsData The PIL terms and licensing configuration data to be attached to the IP.
208
+ * @param {Object} request.args.licenseTermsData.terms The PIL terms to be used for the licensing.
209
+ * @param request.args.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
210
+ * @param request.args.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
211
+ * @param request.args.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
212
+ * @param request.args.licenseTermsData.terms.expiration The expiration period of the license.
213
+ * @param request.args.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
214
+ * @param request.args.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
215
+ * @param request.args.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
216
+ * @param request.args.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
217
+ * @param request.args.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
218
+ * @param request.args.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
219
+ * @param request.args.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
220
+ * @param request.args.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
221
+ * @param request.args.licenseTermsData.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
222
+ * @param request.args.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
223
+ * @param request.args.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
224
+ * @param request.args.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
225
+ * @param request.args.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
226
+ * @param {Object} request.args.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
227
+ * @param request.args.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
228
+ * @param request.args.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
229
+ * @param request.args.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
230
+ * @param request.args.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
231
+ * @param request.args.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
232
+ * @param request.args.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
233
+ * @param request.args.licenseTermsData.licensingConfig.expectMinimumGroupRewardShare The minimum percentage of the group’s reward share (from 0 to 100%, represented as 100 * 10 ** 6) that can be allocated to the IP when it is added to the group.
234
+ * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
235
+ * @param request.args.licenseTermsData.licensingConfig.expectGroupRewardPool The address of the expected group reward pool. The IP can only be added to a group with this specified reward pool address, or address(0) if the IP does not want to be added to any group.
236
+ * @param {Object} request.args.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
237
+ * @param request.args.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
207
238
  * @param request.args.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
208
239
  * @param request.args.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
209
240
  * @param request.args.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
@@ -219,29 +250,40 @@ export declare class IPAssetClient {
219
250
  * @param request - The request object that contains all data needed to mint and register ip.
220
251
  * @param request.nftContract The address of the NFT collection.
221
252
  * @param request.tokenId The ID of the NFT.
222
- * @param {Array} request.terms The array of license terms to be attached.
223
- * @param request.terms.transferable Indicates whether the license is transferable or not.
224
- * @param request.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
225
- * @param request.terms.mintingFee The fee to be paid when minting a license.
226
- * @param request.terms.expiration The expiration period of the license.
227
- * @param request.terms.commercialUse Indicates whether the work can be used commercially or not.
228
- * @param request.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
229
- * @param request.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
230
- * @param request.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
231
- * @param request.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
232
- * @param request.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
233
- * @param request.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
234
- * @param request.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
235
- * @param request.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
236
- * @param request.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
237
- * @param request.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
238
- * @param request.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
239
- * @param request.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
240
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
241
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
242
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
243
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
244
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
253
+ * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to be attached to the IP.
254
+ * @param {Object} request.licenseTermsData.terms The PIL terms to be used for the licensing.
255
+ * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
256
+ * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
257
+ * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
258
+ * @param request.licenseTermsData.terms.expiration The expiration period of the license.
259
+ * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
260
+ * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
261
+ * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
262
+ * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
263
+ * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
264
+ * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
265
+ * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
266
+ * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
267
+ * @param request.licenseTermsData.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
268
+ * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
269
+ * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
270
+ * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
271
+ * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
272
+ * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
273
+ * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
274
+ * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
275
+ * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
276
+ * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
277
+ * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
278
+ * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
279
+ * @param request.licenseTermsData.licensingConfig.expectMinimumGroupRewardShare The minimum percentage of the group’s reward share (from 0 to 100%, represented as 100 * 10 ** 6) that can be allocated to the IP when it is added to the group.
280
+ * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
281
+ * @param request.licenseTermsData.licensingConfig.expectGroupRewardPool The address of the expected group reward pool. The IP can only be added to a group with this specified reward pool address, or address(0) if the IP does not want to be added to any group.
282
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
283
+ * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
284
+ * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
285
+ * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
286
+ * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
245
287
  * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
246
288
  * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
247
289
  * @returns A Promise that resolves to a transaction hash, if waitForTransaction is true, including IP ID, token ID and License terms IDs.
@@ -253,15 +295,15 @@ export declare class IPAssetClient {
253
295
  * @param request - The request object that contains all data needed to register derivative IP.
254
296
  * @param request.nftContract The address of the NFT collection.
255
297
  * @param request.tokenId The ID of the NFT.
256
- * @param request.derivData The derivative data to be used for registerDerivative.
257
- * @param request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
258
- * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking.
259
- * @param request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
260
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
261
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
262
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
263
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
264
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
298
+ * @param {Object} request.derivData The derivative data to be used for registerDerivative.
299
+ * @param {Array} request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
300
+ * @param {Array} request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
301
+ * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking, default value is Programmable IP License.
302
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
303
+ * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
304
+ * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
305
+ * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
306
+ * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
265
307
  * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
266
308
  * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
267
309
  * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data, and if waitForTransaction is true, included IP ID, Token ID.
@@ -272,11 +314,16 @@ export declare class IPAssetClient {
272
314
  * Mint an NFT from a collection and register it as a derivative IP without license tokens.
273
315
  * @param request - The request object that contains all data needed to mint and register ip and make derivative.
274
316
  * @param request.spgNftContract The address of the NFT collection.
275
- * @param request.derivData The derivative data to be used for registerDerivative.
276
- * @param request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
277
- * @param request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
278
- * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking.
279
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
317
+ * @param request.allowDuplicates Set to true to allow minting an NFT with a duplicate metadata hash.
318
+ * @param {Object} request.derivData The derivative data to be used for registerDerivative.
319
+ * @param {Array} request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
320
+ * @param {Array} request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
321
+ * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking, default value is Programmable IP License.
322
+ * @param request.derivData.royaltyContext The address of the royalty context to be used for the linking, default value is zero address.
323
+ * @param request.derivData.maxMintingFee The maximum minting fee that the caller is willing to pay. if set to 0 then no limit.
324
+ * @param request.derivData.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
325
+ * @param request.derivData.maxRevenueShare The maximum revenue share percentage allowed for minting the License Tokens. Must be between 0 and 100,000,000 (where 100,000,000 represents 100%).
326
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
280
327
  * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
281
328
  * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
282
329
  * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
@@ -292,11 +339,11 @@ export declare class IPAssetClient {
292
339
  * @param request - The request object that contains all data needed to batch mint and register ip and make derivative.
293
340
  * @param {Array} request.args The array of mint and register IP requests.
294
341
  * @param request.args.spgNftContract The address of the NFT collection.
295
- * @param request.args.derivData The derivative data to be used for registerDerivative.
296
- * @param request.args.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
297
- * @param request.args.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
342
+ * @param {Object} request.args.derivData The derivative data to be used for registerDerivative.
343
+ * @param {Array} request.args.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
344
+ * @param {Array} request.args.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
298
345
  * @param request.args.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking.
299
- * @param request.args.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
346
+ * @param {Object} request.args.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
300
347
  * @param request.args.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
301
348
  * @param request.args.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
302
349
  * @param request.args.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
@@ -312,11 +359,12 @@ export declare class IPAssetClient {
312
359
  * @param request - The request object that contains all data needed to attach license terms.
313
360
  * @param request.spgNftContract The address of the SPGNFT collection.
314
361
  * @param request.recipient The address of the recipient of the minted NFT,default value is your wallet address.
315
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
316
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
317
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
318
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
319
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
362
+ * @param request.allowDuplicates Set to true to allow minting an NFT with a duplicate metadata hash.
363
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
364
+ * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
365
+ * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
366
+ * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
367
+ * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
320
368
  * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
321
369
  * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data, or if waitForTransaction is true, includes IP ID and Token ID.
322
370
  * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
@@ -326,24 +374,35 @@ export declare class IPAssetClient {
326
374
  * Register Programmable IP License Terms (if unregistered) and attach it to IP.
327
375
  * @param request - The request object that contains all data needed to attach license terms.
328
376
  * @param request.ipId The ID of the IP.
329
- * @param {Array} request.terms The array of license terms to be attached.
330
- * @param request.terms.transferable Indicates whether the license is transferable or not.
331
- * @param request.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
332
- * @param request.terms.mintingFee The fee to be paid when minting a license.
333
- * @param request.terms.expiration The expiration period of the license.
334
- * @param request.terms.commercialUse Indicates whether the work can be used commercially or not.
335
- * @param request.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
336
- * @param request.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
337
- * @param request.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
338
- * @param request.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
339
- * @param request.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
340
- * @param request.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
341
- * @param request.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
342
- * @param request.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
343
- * @param request.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
344
- * @param request.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
345
- * @param request.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
346
- * @param request.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
377
+ * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to be attached to the IP.
378
+ * @param {Object} request.licenseTermsData.terms The PIL terms to be used for the licensing.
379
+ * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
380
+ * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
381
+ * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
382
+ * @param request.licenseTermsData.terms.expiration The expiration period of the license.
383
+ * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
384
+ * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
385
+ * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
386
+ * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
387
+ * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
388
+ * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
389
+ * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
390
+ * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
391
+ * @param request.licenseTermsData.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
392
+ * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
393
+ * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
394
+ * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
395
+ * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
396
+ * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
397
+ * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
398
+ * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
399
+ * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
400
+ * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
401
+ * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
402
+ * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
403
+ * @param request.licenseTermsData.licensingConfig.expectMinimumGroupRewardShare The minimum percentage of the group’s reward share (from 0 to 100%, represented as 100 * 10 ** 6) that can be allocated to the IP when it is added to the group.
404
+ * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
405
+ * @param request.licenseTermsData.licensingConfig.expectGroupRewardPool The address of the expected group reward pool. The IP can only be added to a group with this specified reward pool address, or address(0) if the IP does not want to be added to any group.
347
406
  * @param request.deadline [Optional] The deadline for the signature in milliseconds, default is 1000s.
348
407
  * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
349
408
  * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data, and if waitForTransaction is true, returns an array containing the license terms ID.
@@ -352,14 +411,17 @@ export declare class IPAssetClient {
352
411
  registerPilTermsAndAttach(request: RegisterPilTermsAndAttachRequest): Promise<RegisterPilTermsAndAttachResponse>;
353
412
  /**
354
413
  * Mint an NFT from a collection and register it as a derivative IP using license tokens
414
+ * Requires caller to have the minter role or the SPG NFT to allow public minting. Caller must own the license tokens and have approved DerivativeWorkflows to transfer them.
355
415
  * @param request - The request object that contains all data needed to mint and register ip and make derivative with license tokens.
356
416
  * @param request.spgNftContract The address of the NFT collection.
357
- * @param request.licenseTokenIds The IDs of the license tokens to be burned for linking the IP to parent IPs.
358
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
359
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
360
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
361
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
362
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
417
+ * @param {Array} request.licenseTokenIds The IDs of the license tokens to be burned for linking the IP to parent IPs.
418
+ * @param request.allowDuplicates Set to true to allow minting an NFT with a duplicate metadata hash.
419
+ * @param request.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
420
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
421
+ * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
422
+ * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
423
+ * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
424
+ * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
363
425
  * @param request.recipient - [Optional] The address to receive the minted NFT,default value is your wallet address.
364
426
  * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
365
427
  * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data, or if waitForTransaction is true, includes IP ID and Token ID.
@@ -370,53 +432,64 @@ export declare class IPAssetClient {
370
432
  * Register the given NFT as a derivative IP using license tokens.
371
433
  * @param request - The request object that contains all data needed to register ip and make derivative with license tokens.
372
434
  * @param request.nftContract The address of the NFT collection.
373
- * @param request.licenseTokenIds The IDs of the license tokens to be burned for linking the IP to parent IPs.
435
+ * @param {Array} request.licenseTokenIds The IDs of the license tokens to be burned for linking the IP to parent IPs.
374
436
  * @param request.tokenId The ID of the NFT.
375
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
376
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
377
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
378
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
379
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
437
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
438
+ * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
439
+ * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
440
+ * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
441
+ * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
380
442
  * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
381
443
  * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
382
444
  * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data, or if waitForTransaction is true, includes IP ID, Token ID.
383
445
  */
384
446
  registerIpAndMakeDerivativeWithLicenseTokens(request: RegisterIpAndMakeDerivativeWithLicenseTokensRequest): Promise<RegisterIpResponse>;
385
447
  /**
386
- * Register the given NFT and attach license terms and distribute royalty tokens. In order to successfully distribute royalty tokens, the license terms attached to the IP must be
448
+ * Register the given NFT and attach license terms and distribute royalty tokens. In order to successfully distribute royalty tokens, the first license terms attached to the IP must be
387
449
  * a commercial license.
388
450
  * @param request - The request object that contains all data needed to register ip and attach license terms and distribute royalty tokens.
389
451
  * @param request.nftContract The address of the NFT collection.
390
452
  * @param request.tokenId The ID of the NFT.
391
- * @param request.terms The array of license terms to be attached.
392
- * @param request.terms.transferable Indicates whether the license is transferable or not.
393
- * @param request.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
394
- * @param request.terms.mintingFee The fee to be paid when minting a license.
395
- * @param request.terms.expiration The expiration period of the license.
396
- * @param request.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
397
- * @param request.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
398
- * @param request.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
399
- * @param request.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
400
- * @param request.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
401
- * @param request.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
402
- * @param request.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
403
- * @param request.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
404
- * @param request.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
405
- * @param request.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
406
- * @param request.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
407
- * @param request.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
408
- * @param request.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
409
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
410
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
411
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
412
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
413
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
453
+ * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to be attached to the IP.
454
+ * @param {Object} request.licenseTermsData.terms The PIL terms to be used for the licensing.
455
+ * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
456
+ * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
457
+ * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
458
+ * @param request.licenseTermsData.terms.expiration The expiration period of the license.
459
+ * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
460
+ * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
461
+ * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
462
+ * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
463
+ * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
464
+ * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
465
+ * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
466
+ * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
467
+ * @param request.licenseTermsData.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
468
+ * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
469
+ * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
470
+ * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
471
+ * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
472
+ * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
473
+ * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
474
+ * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
475
+ * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
476
+ * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
477
+ * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
478
+ * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
479
+ * @param request.licenseTermsData.licensingConfig.expectMinimumGroupRewardShare The minimum percentage of the group’s reward share (from 0 to 100%, represented as 100 * 10 ** 6) that can be allocated to the IP when it is added to the group.
480
+ * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
481
+ * @param request.licenseTermsData.licensingConfig.expectGroupRewardPool The address of the expected group reward pool. The IP can only be added to a group with this specified reward pool address, or address(0) if the IP does not want to be added to any group.
482
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
483
+ * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
484
+ * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
485
+ * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
486
+ * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
414
487
  * @param {Array} request.royaltyShares Authors of the IP and their shares of the royalty tokens.
415
- * @param request.royaltyShares.author The address of the author.
488
+ * @param request.royaltyShares.recipient The address of the recipient.
416
489
  * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
417
490
  * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
418
491
  * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option.
419
- * @returns A Promise that resolves to a transaction hashes, IP ID, License terms ID, and IP royalty vault.
492
+ * @returns A Promise that resolves to a transaction hashes, IP ID, IP royalty vault and an array containing the license terms ID.
420
493
  * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
421
494
  * @emits IpRoyaltyVaultDeployed (ipId, ipRoyaltyVault)
422
495
  */
@@ -427,81 +500,99 @@ export declare class IPAssetClient {
427
500
  * @param request - The request object that contains all data needed to register derivative IP and distribute royalty tokens.
428
501
  * @param request.nftContract The address of the NFT collection.
429
502
  * @param request.tokenId The ID of the NFT.
430
- * @param request.derivData The derivative data to be used for registerDerivative.
431
- * @param request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
432
- * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking.
433
- * @param request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
434
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
503
+ * @param {Object} request.derivData The derivative data to be used for registerDerivative.
504
+ * @param {Array} request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
505
+ * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking, default value is Programmable IP License.
506
+ * @param {Array} request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
507
+ * @param request.derivData.maxMintingFee The maximum minting fee that the caller is willing to pay. if set to 0 then no limit.
508
+ * @param request.derivData.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
509
+ * @param request.derivData.maxRevenueShare The maximum revenue share percentage allowed for minting the License Tokens. Must be between 0 and 100,000,000 (where 100,000,000 represents 100%).
510
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
435
511
  * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
436
512
  * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
437
513
  * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
438
514
  * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
439
- * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
440
515
  * @param {Array} request.royaltyShares Authors of the IP and their shares of the royalty tokens.
441
- * @param request.royaltyShares.author The address of the author.
516
+ * @param request.royaltyShares.recipient The address of the recipient.
442
517
  * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
518
+ * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
443
519
  * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option.
444
520
  * @returns A Promise that resolves to a transaction hashes, IP ID and IP royalty vault, token ID.
445
521
  * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
446
522
  * @emits IpRoyaltyVaultDeployed (ipId, ipRoyaltyVault)
447
523
  */
448
- registerDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokens(request: RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest): Promise<RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse>;
524
+ registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens(request: RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest): Promise<RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse>;
449
525
  /**
450
- * Mint an NFT and register the IP, attach PIL terms, and distribute royalty tokens. In order to successfully distribute royalty tokens, the license terms attached to the IP must be
451
- * a commercial license.
526
+ * Mint an NFT and register the IP, attach PIL terms, and distribute royalty tokens.
452
527
  * @param request - The request object that contains all data needed to mint an NFT and register the IP, attach PIL terms, and distribute royalty tokens.
453
528
  * @param request.spgNftContract The address of the SPG NFT contract.
454
- * @param request.terms The array of license terms to be attached.
455
- * @param request.terms.transferable Indicates whether the license is transferable or not.
456
- * @param request.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
457
- * @param request.terms.mintingFee The fee to be paid when minting a license.
458
- * @param request.terms.expiration The expiration period of the license.
459
- * @param request.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
460
- * @param request.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
461
- * @param request.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
462
- * @param request.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
463
- * @param request.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
464
- * @param request.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
465
- * @param request.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
466
- * @param request.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
467
- * @param request.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
468
- * @param request.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
469
- * @param request.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
470
- * @param request.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
471
- * @param request.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
472
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
473
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
474
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
475
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
476
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
529
+ * @param request.allowDuplicates Set to true to allow minting an NFT with a duplicate metadata hash.
530
+ * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to attach to the IP.
531
+ * @param {Object} request.licenseTermsData.terms The PIL terms to be attached.
532
+ * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
533
+ * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
534
+ * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
535
+ * @param request.licenseTermsData.terms.expiration The expiration period of the license.
536
+ * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
537
+ * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
538
+ * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
539
+ * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
540
+ * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
541
+ * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
542
+ * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
543
+ * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
544
+ * @param request.licenseTermsData.terms.derivativesApproval Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not.
545
+ * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
546
+ * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
547
+ * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
548
+ * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
549
+ * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
550
+ * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
551
+ * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
552
+ * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
553
+ * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
554
+ * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
555
+ * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
556
+ * @param request.licenseTermsData.licensingConfig.expectMinimumGroupRewardShare The minimum percentage of the group’s reward share (from 0 to 100%, represented as 100 * 10 ** 6) that can be allocated to the IP when it is added to the group.
557
+ * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
558
+ * @param request.licenseTermsData.licensingConfig.expectGroupRewardPool The address of the expected group reward pool. The IP can only be added to a group with this specified reward pool address, or address(0) if the IP does not want to be added to any group.
559
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
560
+ * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
561
+ * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
562
+ * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
563
+ * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
477
564
  * @param {Array} request.royaltyShares Authors of the IP and their shares of the royalty tokens.
478
- * @param request.royaltyShares.author The address of the author.
565
+ * @param request.royaltyShares.recipient The address of the recipient.
479
566
  * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
480
567
  * @param request.recipient - [Optional] The address to receive the minted NFT,default value is your wallet address.
481
568
  * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option.
482
- * @returns A Promise that resolves to a transaction hash, IP ID, License terms ID, and IP royalty vault, Token ID.
569
+ * @returns A Promise that resolves to a transaction hash, IP ID, IP royalty vault, Token ID, and an array containing the license terms ID.
483
570
  * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
571
+ * @emits IpRoyaltyVaultDeployed (ipId, ipRoyaltyVault)
484
572
  */
485
573
  mintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokens(request: MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensRequest): Promise<MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensResponse>;
486
574
  /**
487
- * Mint an NFT and register the IP, make a derivative, and distribute royalty tokens. In order to successfully distribute royalty tokens, the license terms attached to the IP must be
488
- * a commercial license.
575
+ * Mint an NFT and register the IP, make a derivative, and distribute royalty tokens.
489
576
  * @param request - The request object that contains all data needed to mint an NFT and register the IP, make a derivative, and distribute royalty tokens.
490
577
  * @param request.spgNftContract The address of the SPG NFT collection.
491
578
  * @param request.derivData The derivative data to be used for registerDerivative.
492
- * @param request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
493
- * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking.
494
- * @param request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
495
- * @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
579
+ * @param {Array} request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
580
+ * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking, default value is Programmable IP License.
581
+ * @param {Array} request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
582
+ * @param request.derivData.maxMintingFee The maximum minting fee that the caller is willing to pay. if set to 0 then no limit.
583
+ * @param request.derivData.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
584
+ * @param request.derivData.maxRevenueShare The maximum revenue share percentage allowed for minting the License Tokens. Must be between 0 and 100,000,000 (where 100,000,000 represents 100%).
585
+ * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
496
586
  * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
497
587
  * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
498
588
  * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
499
589
  * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
500
590
  * @param {Array} request.royaltyShares Authors of the IP and their shares of the royalty tokens.
501
- * @param request.royaltyShares.author The address of the author.
591
+ * @param request.royaltyShares.recipient The address of the recipient.
502
592
  * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
503
- * @param request.recipient - [Optional] The address to receive the minted NFT,default value is your wallet address.
504
- * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option..
593
+ * @param request.allowDuplicates Set to true to allow minting an NFT with a duplicate metadata hash.
594
+ * @param request.recipient - [Optional] The address to receive the minted NFT,default value is your wallet address.
595
+ * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option..
505
596
  * @returns A Promise that resolves to a transaction hash, IP ID and token ID.
506
597
  * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
507
598
  */
@@ -513,5 +604,9 @@ export declare class IPAssetClient {
513
604
  private getLicenseTermsId;
514
605
  private validateLicenseTokenIds;
515
606
  private getIpIdAndTokenIdsFromEvent;
607
+ private getCalculatedDeadline;
608
+ private validateMaxRts;
609
+ private validateDerivativeData;
610
+ private validateLicenseTermsData;
516
611
  }
517
612
  //# sourceMappingURL=ipAsset.d.ts.map