@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.
- package/dist/declarations/src/abi/generated.d.ts +12699 -4314
- package/dist/declarations/src/abi/generated.d.ts.map +1 -1
- package/dist/declarations/src/constants/common.d.ts +1 -0
- package/dist/declarations/src/constants/common.d.ts.map +1 -1
- package/dist/declarations/src/index.d.ts +3 -2
- package/dist/declarations/src/index.d.ts.map +1 -1
- package/dist/declarations/src/resources/dispute.d.ts +8 -4
- package/dist/declarations/src/resources/dispute.d.ts.map +1 -1
- package/dist/declarations/src/resources/group.d.ts +73 -20
- package/dist/declarations/src/resources/group.d.ts.map +1 -1
- package/dist/declarations/src/resources/ipAsset.d.ts +304 -209
- package/dist/declarations/src/resources/ipAsset.d.ts.map +1 -1
- package/dist/declarations/src/resources/license.d.ts +11 -3
- package/dist/declarations/src/resources/license.d.ts.map +1 -1
- package/dist/declarations/src/resources/nftClient.d.ts +1 -1
- package/dist/declarations/src/resources/nftClient.d.ts.map +1 -1
- package/dist/declarations/src/resources/permission.d.ts.map +1 -1
- package/dist/declarations/src/resources/royalty.d.ts +5 -87
- package/dist/declarations/src/resources/royalty.d.ts.map +1 -1
- package/dist/declarations/src/types/common.d.ts +18 -7
- package/dist/declarations/src/types/common.d.ts.map +1 -1
- package/dist/declarations/src/types/config.d.ts +1 -1
- package/dist/declarations/src/types/config.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/dispute.d.ts +3 -2
- package/dist/declarations/src/types/resources/dispute.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/group.d.ts +19 -9
- package/dist/declarations/src/types/resources/group.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/ipAsset.d.ts +57 -43
- package/dist/declarations/src/types/resources/ipAsset.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/license.d.ts +10 -7
- package/dist/declarations/src/types/resources/license.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/permission.d.ts +0 -1
- package/dist/declarations/src/types/resources/permission.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/royalty.d.ts +1 -2
- package/dist/declarations/src/types/resources/royalty.d.ts.map +1 -1
- package/dist/declarations/src/utils/chain.d.ts +5 -5
- package/dist/declarations/src/utils/chain.d.ts.map +1 -1
- package/dist/declarations/src/utils/getIpMetadataForWorkflow.d.ts +9 -0
- package/dist/declarations/src/utils/getIpMetadataForWorkflow.d.ts.map +1 -0
- package/dist/declarations/src/utils/sign.d.ts +0 -1
- package/dist/declarations/src/utils/sign.d.ts.map +1 -1
- package/dist/story-protocol-core-sdk.cjs.dev.js +2114 -2548
- package/dist/story-protocol-core-sdk.cjs.prod.js +2114 -2548
- package/dist/story-protocol-core-sdk.esm.js +2115 -2549
- 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
|
-
*
|
85
|
-
*
|
86
|
-
*
|
87
|
-
*
|
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
|
-
*
|
129
|
-
*
|
130
|
-
*
|
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
|
139
|
-
*
|
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
|
153
|
-
*
|
154
|
-
* @param request.terms
|
155
|
-
*
|
156
|
-
*
|
157
|
-
*
|
158
|
-
*
|
159
|
-
*
|
160
|
-
*
|
161
|
-
*
|
162
|
-
*
|
163
|
-
*
|
164
|
-
*
|
165
|
-
*
|
166
|
-
*
|
167
|
-
*
|
168
|
-
*
|
169
|
-
*
|
170
|
-
*
|
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
|
188
|
-
*
|
189
|
-
* @param request.args.terms
|
190
|
-
*
|
191
|
-
*
|
192
|
-
*
|
193
|
-
*
|
194
|
-
*
|
195
|
-
*
|
196
|
-
*
|
197
|
-
*
|
198
|
-
*
|
199
|
-
*
|
200
|
-
*
|
201
|
-
*
|
202
|
-
*
|
203
|
-
*
|
204
|
-
*
|
205
|
-
*
|
206
|
-
*
|
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.
|
223
|
-
* @param request.terms
|
224
|
-
*
|
225
|
-
*
|
226
|
-
*
|
227
|
-
*
|
228
|
-
*
|
229
|
-
*
|
230
|
-
*
|
231
|
-
*
|
232
|
-
*
|
233
|
-
*
|
234
|
-
*
|
235
|
-
*
|
236
|
-
*
|
237
|
-
*
|
238
|
-
*
|
239
|
-
*
|
240
|
-
*
|
241
|
-
*
|
242
|
-
*
|
243
|
-
*
|
244
|
-
*
|
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
|
-
*
|
258
|
-
*
|
259
|
-
*
|
260
|
-
* @param request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
|
261
|
-
*
|
262
|
-
*
|
263
|
-
*
|
264
|
-
*
|
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.
|
276
|
-
*
|
277
|
-
* @param request.derivData.
|
278
|
-
* @param request.derivData.
|
279
|
-
*
|
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
|
-
*
|
316
|
-
* @param request.ipMetadata
|
317
|
-
*
|
318
|
-
*
|
319
|
-
*
|
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.
|
330
|
-
* @param request.terms
|
331
|
-
*
|
332
|
-
*
|
333
|
-
*
|
334
|
-
*
|
335
|
-
*
|
336
|
-
*
|
337
|
-
*
|
338
|
-
*
|
339
|
-
*
|
340
|
-
*
|
341
|
-
*
|
342
|
-
*
|
343
|
-
*
|
344
|
-
*
|
345
|
-
*
|
346
|
-
*
|
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.
|
359
|
-
* @param request.
|
360
|
-
* @param request.ipMetadata
|
361
|
-
*
|
362
|
-
*
|
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
|
-
*
|
377
|
-
*
|
378
|
-
*
|
379
|
-
*
|
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.
|
392
|
-
* @param request.terms
|
393
|
-
*
|
394
|
-
*
|
395
|
-
*
|
396
|
-
*
|
397
|
-
*
|
398
|
-
*
|
399
|
-
*
|
400
|
-
*
|
401
|
-
*
|
402
|
-
*
|
403
|
-
*
|
404
|
-
*
|
405
|
-
*
|
406
|
-
*
|
407
|
-
*
|
408
|
-
*
|
409
|
-
*
|
410
|
-
*
|
411
|
-
*
|
412
|
-
*
|
413
|
-
*
|
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.
|
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,
|
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
|
-
*
|
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
|
-
*
|
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
|
-
*
|
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
|
-
|
524
|
+
registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens(request: RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest): Promise<RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse>;
|
449
525
|
/**
|
450
|
-
* Mint an NFT and register the IP, attach PIL terms, and distribute royalty tokens.
|
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.
|
455
|
-
*
|
456
|
-
* @param request.terms
|
457
|
-
*
|
458
|
-
*
|
459
|
-
*
|
460
|
-
*
|
461
|
-
*
|
462
|
-
*
|
463
|
-
*
|
464
|
-
*
|
465
|
-
*
|
466
|
-
*
|
467
|
-
*
|
468
|
-
*
|
469
|
-
*
|
470
|
-
*
|
471
|
-
*
|
472
|
-
*
|
473
|
-
*
|
474
|
-
*
|
475
|
-
*
|
476
|
-
*
|
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.
|
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,
|
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.
|
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
|
-
*
|
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
|
-
*
|
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.
|
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
|
-
*
|
504
|
-
*
|
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
|