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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/declarations/src/abi/generated.d.ts +4327 -3815
  2. package/dist/declarations/src/abi/generated.d.ts.map +1 -1
  3. package/dist/declarations/src/client.d.ts +1 -0
  4. package/dist/declarations/src/client.d.ts.map +1 -1
  5. package/dist/declarations/src/index.d.ts +10 -5
  6. package/dist/declarations/src/index.d.ts.map +1 -1
  7. package/dist/declarations/src/resources/dispute.d.ts +33 -20
  8. package/dist/declarations/src/resources/dispute.d.ts.map +1 -1
  9. package/dist/declarations/src/resources/group.d.ts +11 -100
  10. package/dist/declarations/src/resources/group.d.ts.map +1 -1
  11. package/dist/declarations/src/resources/ipAccount.d.ts +9 -3
  12. package/dist/declarations/src/resources/ipAccount.d.ts.map +1 -1
  13. package/dist/declarations/src/resources/ipAsset.d.ts +36 -364
  14. package/dist/declarations/src/resources/ipAsset.d.ts.map +1 -1
  15. package/dist/declarations/src/resources/license.d.ts +4 -21
  16. package/dist/declarations/src/resources/license.d.ts.map +1 -1
  17. package/dist/declarations/src/resources/nftClient.d.ts +9 -1
  18. package/dist/declarations/src/resources/nftClient.d.ts.map +1 -1
  19. package/dist/declarations/src/resources/permission.d.ts +2 -2
  20. package/dist/declarations/src/resources/permission.d.ts.map +1 -1
  21. package/dist/declarations/src/resources/royalty.d.ts +22 -13
  22. package/dist/declarations/src/resources/royalty.d.ts.map +1 -1
  23. package/dist/declarations/src/resources/wip.d.ts +15 -9
  24. package/dist/declarations/src/resources/wip.d.ts.map +1 -1
  25. package/dist/declarations/src/types/common.d.ts +20 -2
  26. package/dist/declarations/src/types/common.d.ts.map +1 -1
  27. package/dist/declarations/src/types/config.d.ts +2 -1
  28. package/dist/declarations/src/types/config.d.ts.map +1 -1
  29. package/dist/declarations/src/types/options.d.ts +67 -1
  30. package/dist/declarations/src/types/options.d.ts.map +1 -1
  31. package/dist/declarations/src/types/resources/dispute.d.ts +56 -4
  32. package/dist/declarations/src/types/resources/dispute.d.ts.map +1 -1
  33. package/dist/declarations/src/types/resources/group.d.ts +30 -5
  34. package/dist/declarations/src/types/resources/group.d.ts.map +1 -1
  35. package/dist/declarations/src/types/resources/ipAccount.d.ts +10 -2
  36. package/dist/declarations/src/types/resources/ipAccount.d.ts.map +1 -1
  37. package/dist/declarations/src/types/resources/ipAsset.d.ts +118 -117
  38. package/dist/declarations/src/types/resources/ipAsset.d.ts.map +1 -1
  39. package/dist/declarations/src/types/resources/ipMetadata.d.ts +274 -0
  40. package/dist/declarations/src/types/resources/ipMetadata.d.ts.map +1 -0
  41. package/dist/declarations/src/types/resources/license.d.ts +6 -8
  42. package/dist/declarations/src/types/resources/license.d.ts.map +1 -1
  43. package/dist/declarations/src/types/resources/royalty.d.ts +40 -119
  44. package/dist/declarations/src/types/resources/royalty.d.ts.map +1 -1
  45. package/dist/declarations/src/types/resources/wip.d.ts +7 -0
  46. package/dist/declarations/src/types/resources/wip.d.ts.map +1 -1
  47. package/dist/declarations/src/utils/chain.d.ts +33 -1
  48. package/dist/declarations/src/utils/chain.d.ts.map +1 -1
  49. package/dist/declarations/src/utils/getIpMetadataForWorkflow.d.ts +4 -0
  50. package/dist/declarations/src/utils/getIpMetadataForWorkflow.d.ts.map +1 -1
  51. package/dist/story-protocol-core-sdk.cjs.dev.js +2932 -2467
  52. package/dist/story-protocol-core-sdk.cjs.prod.js +2932 -2467
  53. package/dist/story-protocol-core-sdk.esm.js +2928 -2470
  54. package/package.json +1 -1
  55. package/dist/declarations/src/types/utils/txOptions.d.ts +0 -13
  56. package/dist/declarations/src/types/utils/txOptions.d.ts.map +0 -1
  57. package/dist/declarations/src/types/utils/wip.d.ts +0 -87
  58. package/dist/declarations/src/types/utils/wip.d.ts.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import { Hex, PublicClient } from "viem";
2
- import { SupportedChainIds } from "../types/config.js";
3
- import { BatchMintAndRegisterIpAndMakeDerivativeRequest, BatchMintAndRegisterIpAndMakeDerivativeResponse, BatchMintAndRegisterIpAssetWithPilTermsRequest, BatchMintAndRegisterIpAssetWithPilTermsResponse, BatchRegisterDerivativeRequest, BatchRegisterDerivativeResponse, BatchRegisterRequest, BatchRegisterResponse, MintAndRegisterIpAssetWithPilTermsRequest, MintAndRegisterIpAssetWithPilTermsResponse, GenerateCreatorMetadataParam, GenerateIpMetadataParam, IpCreator, IpMetadata, MintAndRegisterIpAndMakeDerivativeRequest, MintAndRegisterIpAndMakeDerivativeWithLicenseTokensRequest, MintAndRegisterIpRequest, RegisterDerivativeRequest, RegisterDerivativeResponse, RegisterDerivativeWithLicenseTokensRequest, RegisterDerivativeWithLicenseTokensResponse, RegisterIpAndAttachPilTermsRequest, RegisterIpAndAttachPilTermsResponse, RegisterIpAndMakeDerivativeRequest, RegisterIpAndMakeDerivativeResponse, RegisterIpAndMakeDerivativeWithLicenseTokensRequest, RegisterIpResponse, RegisterPilTermsAndAttachRequest, RegisterPilTermsAndAttachResponse, RegisterRequest, MintAndRegisterIpAndMakeDerivativeResponse, RegisterIPAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest, RegisterIPAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse, RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest, RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse, MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensRequest, MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensRequest, MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensResponse, MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensResponse } from "../types/resources/ipAsset.js";
4
- import { AccessControllerClient, CoreMetadataModuleClient, DerivativeWorkflowsClient, Erc20TokenClient, IpAssetRegistryClient, LicenseAttachmentWorkflowsClient, LicenseRegistryReadOnlyClient, LicenseTokenReadOnlyClient, LicensingModuleClient, Multicall3Client, PiLicenseTemplateClient, RegistrationWorkflowsClient, RoyaltyModuleEventClient, RoyaltyTokenDistributionWorkflowsClient, SimpleWalletClient, SpgnftImplReadOnlyClient } from "../abi/generated.js";
2
+ import { BatchMintAndRegisterIpAndMakeDerivativeRequest, BatchMintAndRegisterIpAndMakeDerivativeResponse, BatchMintAndRegisterIpAssetWithPilTermsRequest, BatchMintAndRegisterIpAssetWithPilTermsResponse, BatchRegisterDerivativeRequest, BatchRegisterDerivativeResponse, BatchRegisterRequest, BatchRegisterResponse, MintAndRegisterIpAssetWithPilTermsRequest, MintAndRegisterIpAssetWithPilTermsResponse, MintAndRegisterIpAndMakeDerivativeRequest, MintAndRegisterIpAndMakeDerivativeWithLicenseTokensRequest, MintAndRegisterIpRequest, RegisterDerivativeRequest, RegisterDerivativeResponse, RegisterDerivativeWithLicenseTokensRequest, RegisterDerivativeWithLicenseTokensResponse, RegisterIpAndAttachPilTermsRequest, RegisterIpAndAttachPilTermsResponse, RegisterIpAndMakeDerivativeRequest, RegisterIpAndMakeDerivativeResponse, RegisterIpAndMakeDerivativeWithLicenseTokensRequest, RegisterIpResponse, RegisterPilTermsAndAttachRequest, RegisterPilTermsAndAttachResponse, RegisterRequest, MintAndRegisterIpAndMakeDerivativeResponse, RegisterIPAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest, RegisterIPAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse, RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest, RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse, MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensRequest, MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensRequest, MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensResponse, MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensResponse } from "../types/resources/ipAsset.js";
3
+ import { AccessControllerClient, CoreMetadataModuleClient, DerivativeWorkflowsClient, IpAssetRegistryClient, LicenseAttachmentWorkflowsClient, LicenseRegistryReadOnlyClient, LicenseTokenReadOnlyClient, LicensingModuleClient, Multicall3Client, PiLicenseTemplateClient, RegistrationWorkflowsClient, RoyaltyModuleEventClient, RoyaltyTokenDistributionWorkflowsClient, SimpleWalletClient, SpgnftImplReadOnlyClient, WrappedIpClient } from "../abi/generated.js";
4
+ import { ChainIds } from "../types/config.js";
5
+ import { IpCreator, IpMetadata } from "../types/resources/ipMetadata.js";
5
6
  export declare class IPAssetClient {
6
7
  licensingModuleClient: LicensingModuleClient;
7
8
  ipAssetRegistryClient: IpAssetRegistryClient;
@@ -16,68 +17,15 @@ export declare class IPAssetClient {
16
17
  multicall3Client: Multicall3Client;
17
18
  royaltyTokenDistributionWorkflowsClient: RoyaltyTokenDistributionWorkflowsClient;
18
19
  royaltyModuleEventClient: RoyaltyModuleEventClient;
19
- wipClient: Erc20TokenClient;
20
+ wipClient: WrappedIpClient;
20
21
  spgNftClient: SpgnftImplReadOnlyClient;
21
22
  private readonly rpcClient;
22
23
  private readonly wallet;
23
24
  private readonly chainId;
24
25
  private readonly walletAddress;
25
- constructor(rpcClient: PublicClient, wallet: SimpleWalletClient, chainId: SupportedChainIds);
26
- /**
27
- * Create a new `IpCreator` object with the specified details.
28
- * @param params - The parameters required to create the `IpCreator` object.
29
- * @param params.name The name of the creator.
30
- * @param params.address The wallet address of the creator.
31
- * @param params.description [Optional] A description of the creator.
32
- * @param params.image [Optional] The URL or path to an image representing the creator.
33
- * @param {Array} params.socialMedia [Optional] An array of social media profiles associated with the creator.
34
- * @param params.socialMedia[].platform The name of the social media platform.
35
- * @param params.socialMedia[].url The URL to the creator's profile on the platform.
36
- * @param params.contributionPercent The percentage of contribution by the creator, must add up to 100.
37
- * @param params.role [Optional] The role of the creator in relation to the IP.
38
- * @returns An `IpCreator` object containing the provided details.
39
- */
40
- generateCreatorMetadata(param: GenerateCreatorMetadataParam): IpCreator;
41
- /**
42
- * Create a new `IpMetadata` object with the specified details.
43
- * @param params - The parameters required to create the `IpMetadata` object.
44
- * @param params.title [Optional] The title of the IP.
45
- * @param params.description [Optional] A description of the IP.
46
- * @param params.ipType [Optional] The type of the IP asset (e.g., "character", "chapter").
47
- * @param {Array} params.relationships [Optional] An array of relationships between this IP and its parent IPs.
48
- * @param params.relationships[].ipId The ID of the parent IP.
49
- * @param params.relationships[].type The type of relationship (e.g., "APPEARS_IN").
50
- * @param params.createdAt [Optional] The creation date and time of the IP in ISO 8601 format.
51
- * @param params.watermarkImg [Optional] The URL or path to an image used as a watermark for the IP.
52
- * @param {Array} params.creators [Optional] An array of creators associated with the IP.
53
- * @param params.creators[].name The name of the creator.
54
- * @param params.creators[].address The address of the creator.
55
- * @param params.creators[].description [Optional] A description of the creator.
56
- * @param params.creators[].image [Optional] The URL or path to an image representing the creator.
57
- * @param params.creators[].socialMedia [Optional] An array of social media profiles for the creator.
58
- * @param params.creators[].socialMedia[].platform The social media platform name.
59
- * @param params.creators[].socialMedia[].url The URL to the creator's profile.
60
- * @param params.creators[].role [Optional] The role of the creator in relation to the IP.
61
- * @param params.creators[].contributionPercent The percentage of contribution by the creator.
62
- * @param {Array} params.media [Optional] An array of media related to the IP.
63
- * @param params.media[].name The name of the media.
64
- * @param params.media[].url The URL to the media.
65
- * @param params.media[].mimeType The MIME type of the media.
66
- * @param {Array} params.attributes [Optional] An array of key-value pairs providing additional metadata.
67
- * @param params.attributes[].key The key for the attribute.
68
- * @param params.attributes[].value The value for the attribute, can be a string or number.
69
- * @param {Object} params.app [Optional] Information about the application associated with the IP.
70
- * @param params.app.id The ID of the application.
71
- * @param params.app.name The name of the application.
72
- * @param params.app.website The website URL of the application.
73
- * @param {Array} params.tags [Optional] An array of tags associated with the IP.
74
- * @param {Object} params.robotTerms [Optional] Robot terms for the IP, specifying access rules.
75
- * @param params.robotTerms.userAgent The user agent for which the rules apply.
76
- * @param params.robotTerms.allow The rules allowing access.
77
- * @param params.additionalProperties [Optional] Any additional key-value pairs to include in the metadata.
78
- * @returns An `IpMetadata` object containing the provided details and any additional properties.
79
- */
80
- generateIpMetadata(param: GenerateIpMetadataParam): IpMetadata;
26
+ constructor(rpcClient: PublicClient, wallet: SimpleWalletClient, chainId: ChainIds);
27
+ generateCreatorMetadata(creator: IpCreator): IpCreator;
28
+ generateIpMetadata(metadata: IpMetadata): IpMetadata;
81
29
  /**
82
30
  * Registers an NFT as IP, creating a corresponding IP record.
83
31
  * @param request - The request object that contains all data needed to register IP.
@@ -116,16 +64,6 @@ export declare class IPAssetClient {
116
64
  * The license terms must be attached to the parent IP before calling this function.
117
65
  * All IPs attached default license terms by default.
118
66
  * The derivative IP owner must be the caller or an authorized operator.
119
- * @param request - The request object that contains all data needed to register derivative IP.
120
- * @param request.childIpId The derivative IP ID.
121
- * @param {Array} request.parentIpIds The parent IP IDs.
122
- * @param {Array} request.licenseTermsIds The IDs of the license terms that the parent IP supports.
123
- * @param request.maxMintingFee The maximum minting fee that the caller is willing to pay. if set to 0 then no limit.
124
- * @param request.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
125
- * @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%).
126
- * @param request.licenseTemplate [Optional] The license template address, default value is Programmable IP License.
127
- * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
128
- * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data.
129
67
  */
130
68
  registerDerivative(request: RegisterDerivativeRequest): Promise<RegisterDerivativeResponse>;
131
69
  /**
@@ -157,48 +95,10 @@ export declare class IPAssetClient {
157
95
  registerDerivativeWithLicenseTokens(request: RegisterDerivativeWithLicenseTokensRequest): Promise<RegisterDerivativeWithLicenseTokensResponse>;
158
96
  /**
159
97
  * Mint an NFT from a collection and register it as an IP.
160
- * @param request - The request object that contains all data needed to mint and register ip.
161
- * @param request.spgNftContract The address of the NFT collection.
162
- * @param request.allowDuplicates Indicates whether the license terms can be attached to the same IP ID or not.
163
- * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to be attached to the IP.
164
- * @param {Object} request.licenseTermsData.terms The PIL terms to be used for the licensing.
165
- * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
166
- * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
167
- * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
168
- * @param request.licenseTermsData.terms.expiration The expiration period of the license.
169
- * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
170
- * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
171
- * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
172
- * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
173
- * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
174
- * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
175
- * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
176
- * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
177
- * @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.
178
- * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
179
- * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
180
- * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
181
- * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
182
- * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
183
- * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
184
- * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
185
- * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
186
- * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
187
- * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
188
- * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
189
- * @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.
190
- * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
191
- * @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.
192
- * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
193
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
194
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
195
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
196
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
197
- * @param request.recipient [Optional] The address of the recipient of the minted NFT,default value is your wallet address.
198
- * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
199
- * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data, and if waitForTransaction is true, including IP ID, Token ID, License Terms Ids.
200
- * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
201
- * @emits LicenseTermsAttached (caller, ipId, licenseTemplate, licenseTermsId)
98
+ * it emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate).
99
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/registries/IIPAssetRegistry.sol#L17 | IIPAssetRegistry}
100
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicensingModule.sol#L19 | ILicensingModule}
101
+ * for a list of on-chain events emitted when an IP is minted and registered, and license terms are attached to an IP.
202
102
  */
203
103
  mintAndRegisterIpAssetWithPilTerms(request: MintAndRegisterIpAssetWithPilTermsRequest): Promise<MintAndRegisterIpAssetWithPilTermsResponse>;
204
104
  /**
@@ -229,13 +129,13 @@ export declare class IPAssetClient {
229
129
  * @param {Object} request.args.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
230
130
  * @param request.args.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
231
131
  * @param request.args.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
232
- * @param request.args.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
132
+ * @param request.args.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or zero address if none
233
133
  * @param request.args.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
234
134
  * @param request.args.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
235
135
  * @param request.args.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
236
- * @param request.args.licenseTermsData.licensingConfig.expectMinimumGroupRewardShare The minimum percentage of the groups 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.
136
+ * @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.
237
137
  * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
238
- * @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.
138
+ * @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 zero address if the IP does not want to be added to any group.
239
139
  * @param {Object} request.args.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
240
140
  * @param request.args.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
241
141
  * @param request.args.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
@@ -249,92 +149,21 @@ export declare class IPAssetClient {
249
149
  */
250
150
  batchMintAndRegisterIpAssetWithPilTerms(request: BatchMintAndRegisterIpAssetWithPilTermsRequest): Promise<BatchMintAndRegisterIpAssetWithPilTermsResponse>;
251
151
  /**
252
- * Register a given NFT as an IP and attach Programmable IP License Terms.R.
253
- * @param request - The request object that contains all data needed to mint and register ip.
254
- * @param request.nftContract The address of the NFT collection.
255
- * @param request.tokenId The ID of the NFT.
256
- * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to be attached to the IP.
257
- * @param {Object} request.licenseTermsData.terms The PIL terms to be used for the licensing.
258
- * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
259
- * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
260
- * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
261
- * @param request.licenseTermsData.terms.expiration The expiration period of the license.
262
- * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
263
- * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
264
- * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
265
- * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
266
- * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
267
- * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
268
- * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
269
- * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
270
- * @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.
271
- * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
272
- * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
273
- * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
274
- * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
275
- * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
276
- * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
277
- * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
278
- * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
279
- * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
280
- * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
281
- * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
282
- * @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.
283
- * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
284
- * @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.
285
- * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
286
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
287
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
288
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
289
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
290
- * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
291
- * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
292
- * @returns A Promise that resolves to a transaction hash, if waitForTransaction is true, including IP ID, token ID and License terms IDs.
293
- * @emits LicenseTermsAttached (caller, ipId, licenseTemplate, licenseTermsId)
152
+ * Register a given NFT as an IP and attach Programmable IP License Terms.
153
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicensingModule.sol#L19 | ILicensingModule}
154
+ * for a list of on-chain events emitted when an ip is registered and license terms are attached to it.
294
155
  */
295
156
  registerIpAndAttachPilTerms(request: RegisterIpAndAttachPilTermsRequest): Promise<RegisterIpAndAttachPilTermsResponse>;
296
157
  /**
297
158
  * Register the given NFT as a derivative IP with metadata without using license tokens.
298
- * @param request - The request object that contains all data needed to register derivative IP.
299
- * @param request.nftContract The address of the NFT collection.
300
- * @param request.tokenId The ID of the NFT.
301
- * @param {Object} request.derivData The derivative data to be used for registerDerivative.
302
- * @param {Array} request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
303
- * @param {Array} request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
304
- * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking, default value is Programmable IP License.
305
- * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
306
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
307
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
308
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
309
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
310
- * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
311
- * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
312
- * @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.
313
- * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
159
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/registries/IIPAssetRegistry.sol#L17 | IIPAssetRegistry}
160
+ * for a list of on-chain events emitted when a derivative IP is registered.
314
161
  */
315
162
  registerDerivativeIp(request: RegisterIpAndMakeDerivativeRequest): Promise<RegisterIpAndMakeDerivativeResponse>;
316
163
  /**
317
164
  * Mint an NFT from a collection and register it as a derivative IP without license tokens.
318
- * @param request - The request object that contains all data needed to mint and register ip and make derivative.
319
- * @param request.spgNftContract The address of the NFT collection.
320
- * @param request.allowDuplicates Set to true to allow minting an NFT with a duplicate metadata hash.
321
- * @param {Object} request.derivData The derivative data to be used for registerDerivative.
322
- * @param {Array} request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
323
- * @param {Array} request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
324
- * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking, default value is Programmable IP License.
325
- * @param request.derivData.royaltyContext The address of the royalty context to be used for the linking, default value is zero address.
326
- * @param request.derivData.maxMintingFee The maximum minting fee that the caller is willing to pay. if set to 0 then no limit.
327
- * @param request.derivData.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
328
- * @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%).
329
- * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
330
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
331
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
332
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
333
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
334
- * @param request.recipient [Optional] The address of the recipient of the minted NFT,default value is your wallet address.
335
- * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
336
- * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data, and if waitForTransaction is true, includes child IP ID and token ID.
337
- * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
165
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/registries/IIPAssetRegistry.sol#L17 | IIPAssetRegistry}
166
+ * for a list of on-chain events emitted when a derivative IP is minted and registered.
338
167
  */
339
168
  mintAndRegisterIpAndMakeDerivative(request: MintAndRegisterIpAndMakeDerivativeRequest): Promise<MintAndRegisterIpAndMakeDerivativeResponse>;
340
169
  /**
@@ -375,41 +204,8 @@ export declare class IPAssetClient {
375
204
  mintAndRegisterIp(request: MintAndRegisterIpRequest): Promise<RegisterIpResponse>;
376
205
  /**
377
206
  * Register Programmable IP License Terms (if unregistered) and attach it to IP.
378
- * @param request - The request object that contains all data needed to attach license terms.
379
- * @param request.ipId The ID of the IP.
380
- * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to be attached to the IP.
381
- * @param {Object} request.licenseTermsData.terms The PIL terms to be used for the licensing.
382
- * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
383
- * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
384
- * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
385
- * @param request.licenseTermsData.terms.expiration The expiration period of the license.
386
- * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
387
- * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
388
- * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
389
- * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
390
- * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
391
- * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
392
- * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
393
- * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
394
- * @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.
395
- * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
396
- * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
397
- * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
398
- * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
399
- * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
400
- * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
401
- * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
402
- * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
403
- * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
404
- * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
405
- * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
406
- * @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.
407
- * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
408
- * @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.
409
- * @param request.deadline [Optional] The deadline for the signature in milliseconds, default is 1000s.
410
- * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
411
- * @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.
412
- * @emits LicenseTermsAttached (caller, ipId, licenseTemplate, licenseTermsId)
207
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicensingModule.sol#L19 | ILicensingModule}
208
+ * for a list of on-chain events emitted when a license terms is attached to an IP.
413
209
  */
414
210
  registerPilTermsAndAttach(request: RegisterPilTermsAndAttachRequest): Promise<RegisterPilTermsAndAttachResponse>;
415
211
  /**
@@ -450,154 +246,30 @@ export declare class IPAssetClient {
450
246
  /**
451
247
  * 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
452
248
  * a commercial license.
453
- * @param request - The request object that contains all data needed to register ip and attach license terms and distribute royalty tokens.
454
- * @param request.nftContract The address of the NFT collection.
455
- * @param request.tokenId The ID of the NFT.
456
- * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to be attached to the IP.
457
- * @param {Object} request.licenseTermsData.terms The PIL terms to be used for the licensing.
458
- * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
459
- * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
460
- * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
461
- * @param request.licenseTermsData.terms.expiration The expiration period of the license.
462
- * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
463
- * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
464
- * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
465
- * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
466
- * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
467
- * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
468
- * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
469
- * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
470
- * @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.
471
- * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
472
- * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
473
- * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
474
- * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
475
- * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
476
- * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
477
- * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
478
- * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
479
- * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
480
- * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
481
- * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
482
- * @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.
483
- * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
484
- * @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.
485
- * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
486
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
487
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
488
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
489
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
490
- * @param {Array} request.royaltyShares Authors of the IP and their shares of the royalty tokens.
491
- * @param request.royaltyShares.recipient The address of the recipient.
492
- * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
493
- * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
494
- * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option.
495
- * @returns A Promise that resolves to a transaction hashes, IP ID, IP royalty vault and an array containing the license terms ID.
496
- * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
497
- * @emits IpRoyaltyVaultDeployed (ipId, ipRoyaltyVault)
249
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/registries/IIPAssetRegistry.sol#L17 | IIPAssetRegistry}
250
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/royalty/IRoyaltyModule.sol#L88 | IRoyaltyModule}
251
+ * for a list of on-chain events emitted when an IP is registered, license terms are attached to an IP, and royalty tokens are distributed.
498
252
  */
499
253
  registerIPAndAttachLicenseTermsAndDistributeRoyaltyTokens(request: RegisterIPAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest): Promise<RegisterIPAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse>;
500
254
  /**
501
255
  * Register the given NFT as a derivative IP and attach license terms and distribute royalty tokens. In order to successfully distribute royalty tokens, the license terms attached to the IP must be
502
256
  * a commercial license.
503
- * @param request - The request object that contains all data needed to register derivative IP and distribute royalty tokens.
504
- * @param request.nftContract The address of the NFT collection.
505
- * @param request.tokenId The ID of the NFT.
506
- * @param {Object} request.derivData The derivative data to be used for registerDerivative.
507
- * @param {Array} request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
508
- * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking, default value is Programmable IP License.
509
- * @param {Array} request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
510
- * @param request.derivData.maxMintingFee The maximum minting fee that the caller is willing to pay. if set to 0 then no limit.
511
- * @param request.derivData.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
512
- * @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%).
513
- * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
514
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
515
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
516
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
517
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
518
- * @param {Array} request.royaltyShares Authors of the IP and their shares of the royalty tokens.
519
- * @param request.royaltyShares.recipient The address of the recipient.
520
- * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
521
- * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
522
- * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option.
523
- * @returns A Promise that resolves to a transaction hashes, IP ID and IP royalty vault, token ID.
524
- * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
525
- * @emits IpRoyaltyVaultDeployed (ipId, ipRoyaltyVault)
257
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/registries/IIPAssetRegistry.sol#L17 | IIPAssetRegistry}
258
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/royalty/IRoyaltyModule.sol#L88| IRoyaltyModule}
259
+ * for a list of on-chain events emitted when a derivative IP is registered, license terms are attached to an IP, and royalty tokens are distributed.
526
260
  */
527
261
  registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens(request: RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest): Promise<RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse>;
528
262
  /**
529
263
  * Mint an NFT and register the IP, attach PIL terms, and distribute royalty tokens.
530
- * @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.
531
- * @param request.spgNftContract The address of the SPG NFT contract.
532
- * @param request.allowDuplicates Set to true to allow minting an NFT with a duplicate metadata hash.
533
- * @param {Array} request.licenseTermsData The PIL terms and licensing configuration data to attach to the IP.
534
- * @param {Object} request.licenseTermsData.terms The PIL terms to be attached.
535
- * @param request.licenseTermsData.terms.transferable Indicates whether the license is transferable or not.
536
- * @param request.licenseTermsData.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
537
- * @param request.licenseTermsData.terms.mintingFee The fee to be paid when minting a license.
538
- * @param request.licenseTermsData.terms.expiration The expiration period of the license.
539
- * @param request.licenseTermsData.terms.commercialUse Indicates whether the work can be used commercially or not, Commercial use is required to deploy a royalty vault.
540
- * @param request.licenseTermsData.terms.commercialAttribution Whether attribution is required when reproducing the work commercially or not.
541
- * @param request.licenseTermsData.terms.commercializerChecker Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions is enforced.
542
- * @param request.licenseTermsData.terms.commercializerCheckerData The data to be passed to the commercializer checker contract.
543
- * @param request.licenseTermsData.terms.commercialRevShare Percentage of revenue that must be shared with the licensor.
544
- * @param request.licenseTermsData.terms.commercialRevCeiling The maximum revenue that can be generated from the commercial use of the work.
545
- * @param request.licenseTermsData.terms.derivativesAllowed Indicates whether the licensee can create derivatives of his work or not.
546
- * @param request.licenseTermsData.terms.derivativesAttribution Indicates whether attribution is required for derivatives of the work or not.
547
- * @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.
548
- * @param request.licenseTermsData.terms.derivativesReciprocal Indicates whether the licensee must license derivatives of the work under the same terms or not.
549
- * @param request.licenseTermsData.terms.derivativeRevCeiling The maximum revenue that can be generated from the derivative use of the work.
550
- * @param request.licenseTermsData.terms.currency The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol.
551
- * @param request.licenseTermsData.terms.uri The URI of the license terms, which can be used to fetch the offchain license terms.
552
- * @param {Object} request.licenseTermsData.licensingConfig The PIL terms and licensing configuration data to attach to the IP.
553
- * @param request.licenseTermsData.licensingConfig.isSet Whether the configuration is set or not.
554
- * @param request.licenseTermsData.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
555
- * @param request.licenseTermsData.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none
556
- * @param request.licenseTermsData.licensingConfig.hookData The data to be used by the licensing hook.
557
- * @param request.licenseTermsData.licensingConfig.commercialRevShare The commercial revenue share percentage.
558
- * @param request.licenseTermsData.licensingConfig.disabled Whether the licensing is disabled or not.
559
- * @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.
560
- * If the remaining reward share in the group is less than the minimumGroupRewardShare,the IP cannot be added to the group.
561
- * @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.
562
- * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
563
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
564
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
565
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
566
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
567
- * @param {Array} request.royaltyShares Authors of the IP and their shares of the royalty tokens.
568
- * @param request.royaltyShares.recipient The address of the recipient.
569
- * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
570
- * @param request.recipient - [Optional] The address to receive the minted NFT,default value is your wallet address.
571
- * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option.
572
- * @returns A Promise that resolves to a transaction hash, IP ID, IP royalty vault, Token ID, and an array containing the license terms ID.
573
- * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
574
- * @emits IpRoyaltyVaultDeployed (ipId, ipRoyaltyVault)
264
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/registries/IIPAssetRegistry.sol#L17 | IIPAssetRegistry}
265
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/royalty/IRoyaltyModule.sol#L88| IRoyaltyModule}
266
+ * for a list of on-chain events emitted when an IP is minted and registered, PIL terms are attached to an IP, and royalty tokens are distributed.
575
267
  */
576
268
  mintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokens(request: MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensRequest): Promise<MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensResponse>;
577
269
  /**
578
270
  * Mint an NFT and register the IP, make a derivative, and distribute royalty tokens.
579
- * @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.
580
- * @param request.spgNftContract The address of the SPG NFT collection.
581
- * @param request.derivData The derivative data to be used for registerDerivative.
582
- * @param {Array} request.derivData.parentIpIds The IDs of the parent IPs to link the registered derivative IP.
583
- * @param request.derivData.licenseTemplate [Optional] The address of the license template to be used for the linking, default value is Programmable IP License.
584
- * @param {Array} request.derivData.licenseTermsIds The IDs of the license terms to be used for the linking.
585
- * @param request.derivData.maxMintingFee The maximum minting fee that the caller is willing to pay. if set to 0 then no limit.
586
- * @param request.derivData.maxRts The maximum number of royalty tokens that can be distributed to the external royalty policies (max: 100,000,000).
587
- * @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%).
588
- * @param {Object} request.ipMetadata - [Optional] The desired metadata for the newly minted NFT and newly registered IP.
589
- * @param request.ipMetadata.ipMetadataURI [Optional] The URI of the metadata for the IP.
590
- * @param request.ipMetadata.ipMetadataHash [Optional] The hash of the metadata for the IP.
591
- * @param request.ipMetadata.nftMetadataURI [Optional] The URI of the metadata for the NFT.
592
- * @param request.ipMetadata.nftMetadataHash [Optional] The hash of the metadata for the IP NFT.
593
- * @param {Array} request.royaltyShares Authors of the IP and their shares of the royalty tokens.
594
- * @param request.royaltyShares.recipient The address of the recipient.
595
- * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
596
- * @param request.allowDuplicates Set to true to allow minting an NFT with a duplicate metadata hash.
597
- * @param request.recipient - [Optional] The address to receive the minted NFT,default value is your wallet address.
598
- * @param request.txOptions - [Optional] transaction. This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option..
599
- * @returns A Promise that resolves to a transaction hash, IP ID and token ID.
600
- * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
271
+ * @see {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/registries/IIPAssetRegistry.sol#L17 | IIPAssetRegistry}
272
+ * for a list of on-chain events emitted when an IP is minted and registered, a derivative IP is made, and royalty tokens are distributed.
601
273
  */
602
274
  mintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokens(request: MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensRequest): Promise<MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensResponse>;
603
275
  private getRoyaltyShares;
@@ -611,6 +283,6 @@ export declare class IPAssetClient {
611
283
  private validateMaxRts;
612
284
  private validateDerivativeData;
613
285
  private validateLicenseTermsData;
614
- private commonRegistrationHandler;
286
+ private handleRegistrationWithFees;
615
287
  }
616
288
  //# sourceMappingURL=ipAsset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipAsset.d.ts","sourceRoot":"../../../../src/resources","sources":["ipAsset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipAsset.d.ts","sourceRoot":"../../../../src/resources","sources":["ipAsset.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { PublicClient } from "viem";
2
- import { Erc20TokenClient, IpAssetRegistryClient, LicenseRegistryEventClient, LicenseRegistryReadOnlyClient, LicensingModuleClient, LicensingModulePredictMintingLicenseFeeResponse, ModuleRegistryReadOnlyClient, Multicall3Client, PiLicenseTemplateClient, PiLicenseTemplateGetLicenseTermsResponse, PiLicenseTemplateReadOnlyClient, SimpleWalletClient } from "../abi/generated.js";
2
+ import { IpAssetRegistryClient, LicenseRegistryEventClient, LicenseRegistryReadOnlyClient, LicensingModuleClient, LicensingModulePredictMintingLicenseFeeResponse, ModuleRegistryReadOnlyClient, Multicall3Client, PiLicenseTemplateClient, PiLicenseTemplateGetLicenseTermsResponse, PiLicenseTemplateReadOnlyClient, SimpleWalletClient, WrappedIpClient } from "../abi/generated.js";
3
3
  import { RegisterNonComSocialRemixingPILRequest, RegisterPILResponse, RegisterCommercialUsePILRequest, RegisterCommercialRemixPILRequest, AttachLicenseTermsRequest, MintLicenseTokensRequest, MintLicenseTokensResponse, AttachLicenseTermsResponse, LicenseTermsId, RegisterPILTermsRequest, PredictMintingLicenseFeeRequest, SetLicensingConfigRequest, SetLicensingConfigResponse } from "../types/resources/license.js";
4
- import { SupportedChainIds } from "../types/config.js";
4
+ import { ChainIds } from "../types/config.js";
5
5
  export declare class LicenseClient {
6
6
  licenseRegistryClient: LicenseRegistryEventClient;
7
7
  licensingModuleClient: LicensingModuleClient;
@@ -11,12 +11,12 @@ export declare class LicenseClient {
11
11
  licenseRegistryReadOnlyClient: LicenseRegistryReadOnlyClient;
12
12
  moduleRegistryReadOnlyClient: ModuleRegistryReadOnlyClient;
13
13
  multicall3Client: Multicall3Client;
14
- wipClient: Erc20TokenClient;
14
+ wipClient: WrappedIpClient;
15
15
  private readonly rpcClient;
16
16
  private readonly wallet;
17
17
  private readonly chainId;
18
18
  private readonly walletAddress;
19
- constructor(rpcClient: PublicClient, wallet: SimpleWalletClient, chainId: SupportedChainIds);
19
+ constructor(rpcClient: PublicClient, wallet: SimpleWalletClient, chainId: ChainIds);
20
20
  /**
21
21
  * Registers new license terms and return the ID of the newly registered license terms.
22
22
  * @param request - The request object that contains all data needed to register a license term.
@@ -129,23 +129,6 @@ export declare class LicenseClient {
129
129
  predictMintingLicenseFee(request: PredictMintingLicenseFeeRequest): Promise<LicensingModulePredictMintingLicenseFeeResponse>;
130
130
  /**
131
131
  * Sets the licensing configuration for a specific license terms of an IP. If both licenseTemplate and licenseTermsId are not specified then the licensing config apply to all licenses of given IP.
132
- * @param request - The request object that contains all data needed to set licensing config.
133
- * @param request.ipId The address of the IP for which the configuration is being set.
134
- * @param request.licenseTermsId The ID of the license terms within the license template.
135
- * @param request.licenseTemplate The address of the license template used, If not specified, the configuration applies to all licenses.
136
- * @param request.licensingConfig The licensing configuration for the license.
137
- * @param request.licensingConfig.isSet Whether the configuration is set or not.
138
- * @param request.licensingConfig.mintingFee The minting fee to be paid when minting license tokens.
139
- * @param request.licensingConfig.hookData The data to be used by the licensing hook.
140
- * @param request.licensingConfig.licensingHook The hook contract address for the licensing module, or address(0) if none.
141
- * @param request.licensingConfig.commercialRevShare The commercial revenue share percentage.
142
- * @param request.licensingConfig.disabled Whether the license is disabled or not.
143
- * @param request.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.
144
- * If the remaining reward share in the group is less than the minimumGroupRewardShare, the IP cannot be added to the group.
145
- * @param request.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,
146
- * or address(0) if the IP does not want to be added to any group.
147
- * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property.
148
- * @returns A Promise that resolves to a transaction hash, and if encodedTxDataOnly is true, includes encoded transaction data, and if waitForTransaction is true, includes success.
149
132
  */
150
133
  setLicensingConfig(request: SetLicensingConfigRequest): Promise<SetLicensingConfigResponse>;
151
134
  private getLicenseTermsId;