@story-protocol/core-sdk 1.4.0-rc.1 → 1.4.0
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.
- package/dist/declarations/src/resources/group.d.ts.map +1 -1
- package/dist/declarations/src/resources/ipAsset.d.ts +193 -10
- package/dist/declarations/src/resources/ipAsset.d.ts.map +1 -1
- package/dist/declarations/src/resources/license.d.ts +56 -49
- package/dist/declarations/src/resources/license.d.ts.map +1 -1
- package/dist/declarations/src/types/common.d.ts +28 -4
- package/dist/declarations/src/types/common.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/dispute.d.ts +6 -5
- package/dist/declarations/src/types/resources/dispute.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/group.d.ts +19 -10
- package/dist/declarations/src/types/resources/group.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/ipAccount.d.ts +3 -3
- package/dist/declarations/src/types/resources/ipAccount.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/ipAsset.d.ts +328 -75
- package/dist/declarations/src/types/resources/ipAsset.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/license.d.ts +113 -78
- package/dist/declarations/src/types/resources/license.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/nftClient.d.ts +4 -3
- package/dist/declarations/src/types/resources/nftClient.d.ts.map +1 -1
- package/dist/declarations/src/types/resources/permission.d.ts +13 -4
- package/dist/declarations/src/types/resources/permission.d.ts.map +1 -1
- package/dist/declarations/src/types/utils/pilFlavor.d.ts +4 -3
- package/dist/declarations/src/types/utils/pilFlavor.d.ts.map +1 -1
- package/dist/declarations/src/utils/oov3.d.ts +2 -1
- package/dist/declarations/src/utils/oov3.d.ts.map +1 -1
- package/dist/declarations/src/utils/sign.d.ts +2 -1
- package/dist/declarations/src/utils/sign.d.ts.map +1 -1
- package/dist/story-protocol-core-sdk.cjs.dev.js +1633 -1086
- package/dist/story-protocol-core-sdk.cjs.prod.js +1633 -1086
- package/dist/story-protocol-core-sdk.esm.js +1633 -1086
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"group.d.ts","sourceRoot":"../../../../src/resources","sources":["group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoC,MAAM,MAAM,CAAC;AAEtE,OAAO,EAEL,wBAAwB,EAIxB,oBAAoB,EAEpB,yBAAyB,EAGzB,uBAAuB,EAMvB,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAE1B,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EACnB,4BAAyB;AAE1B,OAAO,EAAE,QAAQ,EAAE,2BAAwB;AAC3C,OAAO,EAAE,mBAAmB,EAAE,4BAAyB;AACvD,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,yCAAyC,EACzC,0CAA0C,EAC1C,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EAGzB,qDAAqD,EACrD,sDAAsD,EACtD,6CAA6C,EAC7C,8CAA8C,EAC9C,oCAAoC,EACpC,qCAAqC,EACrC,oBAAoB,EACpB,qBAAqB,EACrB,8CAA8C,EAC9C,+CAA+C,EAC/C,yBAAyB,EAC1B,oCAAiC;AAWlC,qBAAa,WAAW;IACf,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,uBAAuB,CAAC;IAC/C,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D,wBAAwB,EAAE,wBAAwB,CAAC;IAE1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;gBAEvB,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ;IAgBlF;;;OAGG;IACU,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwBzF;;;OAGG;IACU,8CAA8C,CACzD,OAAO,EAAE,qDAAqD,GAC7D,OAAO,CAAC,sDAAsD,CAAC;
|
1
|
+
{"version":3,"file":"group.d.ts","sourceRoot":"../../../../src/resources","sources":["group.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Hex, PublicClient } from "viem";
|
2
2
|
import { AccessControllerClient, CoreMetadataModuleClient, DerivativeWorkflowsClient, IpAssetRegistryClient, LicenseAttachmentWorkflowsClient, LicenseRegistryReadOnlyClient, LicenseTokenReadOnlyClient, LicensingModuleClient, Multicall3Client, PiLicenseTemplateClient, RegistrationWorkflowsClient, RoyaltyModuleEventClient, RoyaltyTokenDistributionWorkflowsClient, SimpleWalletClient, SpgnftImplReadOnlyClient, TotalLicenseTokenLimitHookClient, WrappedIpClient } from "../abi/generated.js";
|
3
3
|
import { ChainIds } from "../types/config.js";
|
4
|
-
import { BatchMintAndRegisterIpAndMakeDerivativeRequest, BatchMintAndRegisterIpAndMakeDerivativeResponse, BatchMintAndRegisterIpAssetWithPilTermsRequest, BatchMintAndRegisterIpAssetWithPilTermsResponse, BatchMintAndRegisterIpRequest, BatchMintAndRegisterIpResponse, BatchRegisterDerivativeRequest, BatchRegisterDerivativeResponse, BatchRegisterIpAssetsWithOptimizedWorkflowsRequest, BatchRegisterIpAssetsWithOptimizedWorkflowsResponse, BatchRegisterRequest, BatchRegisterResponse, MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensRequest, MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensResponse, MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensRequest, MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensResponse, MintAndRegisterIpAndMakeDerivativeRequest, MintAndRegisterIpAndMakeDerivativeResponse, MintAndRegisterIpAndMakeDerivativeWithLicenseTokensRequest, MintAndRegisterIpAssetWithPilTermsRequest, MintAndRegisterIpAssetWithPilTermsResponse, MintAndRegisterIpRequest, RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest, RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse,
|
4
|
+
import { BatchMintAndRegisterIpAndMakeDerivativeRequest, BatchMintAndRegisterIpAndMakeDerivativeResponse, BatchMintAndRegisterIpAssetWithPilTermsRequest, BatchMintAndRegisterIpAssetWithPilTermsResponse, BatchMintAndRegisterIpRequest, BatchMintAndRegisterIpResponse, BatchRegisterDerivativeRequest, BatchRegisterDerivativeResponse, BatchRegisterIpAssetsWithOptimizedWorkflowsRequest, BatchRegisterIpAssetsWithOptimizedWorkflowsResponse, BatchRegisterRequest, BatchRegisterResponse, LinkDerivativeResponse, MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensRequest, MintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokensResponse, MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensRequest, MintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensResponse, MintAndRegisterIpAndMakeDerivativeRequest, MintAndRegisterIpAndMakeDerivativeResponse, MintAndRegisterIpAndMakeDerivativeWithLicenseTokensRequest, MintAndRegisterIpAssetWithPilTermsRequest, MintAndRegisterIpAssetWithPilTermsResponse, MintAndRegisterIpRequest, MintedNFT, MintNFT, RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest, RegisterDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse, RegisterDerivativeIpAssetRequest, RegisterDerivativeIpAssetResponse, RegisterDerivativeRequest, RegisterDerivativeWithLicenseTokensRequest, RegisterIPAndAttachLicenseTermsAndDistributeRoyaltyTokensRequest, RegisterIPAndAttachLicenseTermsAndDistributeRoyaltyTokensResponse, RegisterIpAndAttachPilTermsRequest, RegisterIpAndAttachPilTermsResponse, RegisterIpAndMakeDerivativeRequest, RegisterIpAndMakeDerivativeResponse, RegisterIpAndMakeDerivativeWithLicenseTokensRequest, RegisterIpAssetRequest, RegisterIpAssetResponse, RegisterIpResponse, RegisterRequest } from "../types/resources/ipAsset.js";
|
5
5
|
import { IpCreator, IpMetadata } from "../types/resources/ipMetadata.js";
|
6
6
|
export declare class IPAssetClient {
|
7
7
|
licensingModuleClient: LicensingModuleClient;
|
@@ -24,6 +24,7 @@ export declare class IPAssetClient {
|
|
24
24
|
private readonly wallet;
|
25
25
|
private readonly chainId;
|
26
26
|
private readonly walletAddress;
|
27
|
+
private readonly licenseTemplateAddress;
|
27
28
|
constructor(rpcClient: PublicClient, wallet: SimpleWalletClient, chainId: ChainIds);
|
28
29
|
generateCreatorMetadata(creator: IpCreator): IpCreator;
|
29
30
|
generateIpMetadata(metadata: IpMetadata): IpMetadata;
|
@@ -46,7 +47,7 @@ export declare class IPAssetClient {
|
|
46
47
|
* All IPs attached default license terms by default.
|
47
48
|
* The derivative IP owner must be the caller or an authorized operator.
|
48
49
|
*/
|
49
|
-
registerDerivative(request: RegisterDerivativeRequest): Promise<
|
50
|
+
registerDerivative(request: RegisterDerivativeRequest): Promise<LinkDerivativeResponse>;
|
50
51
|
/**
|
51
52
|
* Batch registers a derivative directly with parent IP's license terms.
|
52
53
|
*/
|
@@ -56,7 +57,7 @@ export declare class IPAssetClient {
|
|
56
57
|
* The license terms of the parent IPs issued with license tokens are attached to the derivative IP.
|
57
58
|
* The caller must be the derivative IP owner or an authorized operator.
|
58
59
|
*/
|
59
|
-
registerDerivativeWithLicenseTokens(request: RegisterDerivativeWithLicenseTokensRequest): Promise<
|
60
|
+
registerDerivativeWithLicenseTokens(request: RegisterDerivativeWithLicenseTokensRequest): Promise<LinkDerivativeResponse>;
|
60
61
|
/**
|
61
62
|
* Mint an NFT from a collection and register it as an IP.
|
62
63
|
*
|
@@ -115,12 +116,6 @@ export declare class IPAssetClient {
|
|
115
116
|
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/registries/IIPAssetRegistry.sol#L17 | `IPRegistered`} event.
|
116
117
|
*/
|
117
118
|
batchMintAndRegisterIp(request: BatchMintAndRegisterIpRequest): Promise<BatchMintAndRegisterIpResponse>;
|
118
|
-
/**
|
119
|
-
* Register Programmable IP License Terms (if unregistered) and attach it to IP.
|
120
|
-
*
|
121
|
-
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicensingModule.sol#L19 | `LicenseTermsAttached`} event.
|
122
|
-
*/
|
123
|
-
registerPilTermsAndAttach(request: RegisterPilTermsAndAttachRequest): Promise<RegisterPilTermsAndAttachResponse>;
|
124
119
|
/**
|
125
120
|
* Mint an NFT from a collection and register it as a derivative IP using license tokens.
|
126
121
|
* 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.
|
@@ -200,11 +195,199 @@ export declare class IPAssetClient {
|
|
200
195
|
* - Always uses SPG's multicall for batching registration operations
|
201
196
|
*/
|
202
197
|
batchRegisterIpAssetsWithOptimizedWorkflows(request: BatchRegisterIpAssetsWithOptimizedWorkflowsRequest): Promise<BatchRegisterIpAssetsWithOptimizedWorkflowsResponse>;
|
198
|
+
/**
|
199
|
+
* Register an IP asset, supporting both minted and mint-on-demand NFTs, with optional `licenseTermsData` and `royaltyShares`.
|
200
|
+
*
|
201
|
+
* This method automatically selects and calls the appropriate workflow from 6 available methods based on your input parameters.
|
202
|
+
* Here are three common usage patterns:
|
203
|
+
*
|
204
|
+
* **1. Minted NFT with License Terms and Royalty Distribution:**
|
205
|
+
* ```typescript
|
206
|
+
* const result = await client.ipAsset.registerIpAsset({
|
207
|
+
* nft: { type: "minted", nftContract: "0x...", tokenId: 1n },
|
208
|
+
* licenseTermsData: [
|
209
|
+
* {
|
210
|
+
* terms: PILFlavor.commercialRemix({
|
211
|
+
* defaultMintingFee: 10000n,
|
212
|
+
* commercialRevShare: 100,
|
213
|
+
* currency: "0x..."
|
214
|
+
* })
|
215
|
+
* }
|
216
|
+
* ],
|
217
|
+
* royaltyShares: [
|
218
|
+
* { recipient: "0x...", percentage: 100 }
|
219
|
+
* ]
|
220
|
+
* });
|
221
|
+
* ```
|
222
|
+
*
|
223
|
+
* **2. Minted NFT with Basic License Terms:**
|
224
|
+
* ```typescript
|
225
|
+
* const result = await client.ipAsset.registerIpAsset({
|
226
|
+
* nft: { type: "minted", nftContract: "0x...", tokenId: 1n },
|
227
|
+
* licenseTermsData: [
|
228
|
+
* {
|
229
|
+
* terms: PILFlavor.nonCommercialSocialRemixing()
|
230
|
+
* }
|
231
|
+
* ]
|
232
|
+
* });
|
233
|
+
* ```
|
234
|
+
*
|
235
|
+
* **3. Mint NFT with IP Asset:**
|
236
|
+
* ```typescript
|
237
|
+
* const result = await client.ipAsset.registerIpAsset({
|
238
|
+
* nft: { type: "mint", spgNftContract: "0x...", recipient: "0x...", allowDuplicates: false },
|
239
|
+
* });
|
240
|
+
* ```
|
241
|
+
*
|
242
|
+
* **Supported Workflows (6 methods automatically selected based on parameters):**
|
243
|
+
* - {@link registerIPAndAttachLicenseTermsAndDistributeRoyaltyTokens} - Register IP with license terms and royalty distribution
|
244
|
+
* - {@link registerIpAndAttachPilTerms} - Register IP with license terms
|
245
|
+
* - {@link register} - Register basic IP asset
|
246
|
+
* - {@link mintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokens} - Mint NFT and register IP with license terms and royalty distribution
|
247
|
+
* - {@link mintAndRegisterIpAssetWithPilTerms} - Mint NFT and register IP with license terms
|
248
|
+
* - {@link mintAndRegisterIp} - Mint NFT and register basic IP asset
|
249
|
+
*
|
250
|
+
* **Automatic Token Handling:**
|
251
|
+
* - If the wallet's IP token balance is insufficient to cover minting fees, it automatically wraps native IP tokens into WIP tokens.
|
252
|
+
* - It checks allowances for all required spenders and automatically approves them if their current allowance is lower than needed.
|
253
|
+
* - These automatic processes can be configured through the `wipOptions` parameter to control behavior like multicall usage and approval settings.
|
254
|
+
*
|
255
|
+
* @throws {Error} If the NFT type is invalid.
|
256
|
+
* @throws {Error} If `licenseTermsData` is not provided when `royaltyShares` are specified.
|
257
|
+
*
|
258
|
+
*/
|
259
|
+
registerIpAsset<T extends RegisterIpAssetRequest<MintedNFT | MintNFT>>(request: T): Promise<RegisterIpAssetResponse<T>>;
|
260
|
+
/**
|
261
|
+
* Register a derivative IP asset, supporting both minted and mint-on-demand NFTs, with optional `derivData`, `royaltyShares` and `licenseTokenIds`.
|
262
|
+
*
|
263
|
+
* This method automatically selects and calls the appropriate workflow from 6 available methods based on your input parameters.
|
264
|
+
* Here are three common usage patterns:
|
265
|
+
*
|
266
|
+
* **1. Minted NFT with License Terms and Royalty Distribution:**
|
267
|
+
* ```typescript
|
268
|
+
* const result = await client.ipAsset.registerDerivativeIpAsset({
|
269
|
+
* nft: { type: "minted", nftContract: "0x...", tokenId: 1n },
|
270
|
+
* derivData: {
|
271
|
+
* parentIpIds: ["0x..."],
|
272
|
+
* licenseTermsIds: [1n],
|
273
|
+
* maxMintingFee: 10000n,
|
274
|
+
* maxRevenueShare: 100
|
275
|
+
* },
|
276
|
+
* royaltyShares: [
|
277
|
+
* { recipient: "0x...", percentage: 100 }
|
278
|
+
* ]
|
279
|
+
* });
|
280
|
+
* ```
|
281
|
+
*
|
282
|
+
* **2. Minted NFT with Basic Derivative Registration:**
|
283
|
+
* ```typescript
|
284
|
+
* const result = await client.ipAsset.registerDerivativeIpAsset({
|
285
|
+
* nft: { type: "minted", nftContract: "0x...", tokenId: 1n },
|
286
|
+
* derivData: {
|
287
|
+
* parentIpIds: ["0x..."],
|
288
|
+
* licenseTermsIds: [1n],
|
289
|
+
* maxMintingFee: 10000n,
|
290
|
+
* maxRevenueShare: 100
|
291
|
+
* }
|
292
|
+
* });
|
293
|
+
* ```
|
294
|
+
*
|
295
|
+
* **3. Mint NFT with License Token IDs:**
|
296
|
+
* ```typescript
|
297
|
+
* const result = await client.ipAsset.registerDerivativeIpAsset({
|
298
|
+
* nft: { type: "mint", spgNftContract: "0x...", recipient: "0x...", allowDuplicates: false },
|
299
|
+
* licenseTokenIds: [1, 2, 3],
|
300
|
+
* });
|
301
|
+
* ```
|
302
|
+
*
|
303
|
+
* **Supported Workflows (6 methods automatically selected based on parameters):**
|
304
|
+
* - {@link registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens} - Register derivative with license terms and royalty distribution
|
305
|
+
* - {@link registerDerivativeIp} - Register derivative with basic derivative data
|
306
|
+
* - {@link registerIpAndMakeDerivativeWithLicenseTokens} - Register derivative using existing license tokens
|
307
|
+
* - {@link mintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokens} - Mint NFT and register as derivative with royalty distribution
|
308
|
+
* - {@link mintAndRegisterIpAndMakeDerivative} - Mint NFT and register as derivative
|
309
|
+
* - {@link mintAndRegisterIpAndMakeDerivativeWithLicenseTokens} - Mint NFT and register as derivative using license tokens
|
310
|
+
*
|
311
|
+
* **Automatic Token Handling:**
|
312
|
+
* - If the wallet's IP token balance is insufficient to cover minting fees, it automatically wraps native IP tokens into WIP tokens.
|
313
|
+
* - It checks allowances for all required spenders and automatically approves them if their current allowance is lower than needed.
|
314
|
+
* - These automatic processes can be configured through the `wipOptions` parameter to control behavior like multicall usage and approval settings.
|
315
|
+
*
|
316
|
+
* @throws {Error} If `derivData` is not provided when `royaltyShares` are provided.
|
317
|
+
* @throws {Error} If neither `derivData` nor `licenseTokenIds` are provided.
|
318
|
+
* @throws {Error} If the NFT type is invalid.
|
319
|
+
*/
|
320
|
+
registerDerivativeIpAsset<T extends RegisterDerivativeIpAssetRequest<MintedNFT | MintNFT>>(request: T): Promise<RegisterDerivativeIpAssetResponse<T>>;
|
321
|
+
/**
|
322
|
+
* Handles derivative registration for already minted NFTs with optional `derivData`, `royaltyShares` and `licenseTokenIds`.
|
323
|
+
*
|
324
|
+
* Supports the following workflows:
|
325
|
+
* - {@link registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens}
|
326
|
+
* - {@link registerDerivativeIp}
|
327
|
+
* - {@link registerIpAndMakeDerivativeWithLicenseTokens}
|
328
|
+
*/
|
329
|
+
private handleMintedNftDerivativeRegistration;
|
330
|
+
/**
|
331
|
+
* Handles derivative registration for minted NFTs with optional `derivData`, `royaltyShares` and `licenseTokenIds`.
|
332
|
+
*
|
333
|
+
* Supports the following workflows:
|
334
|
+
* - {@link mintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokens}
|
335
|
+
* - {@link mintAndRegisterIpAndMakeDerivative}
|
336
|
+
* - {@link mintAndRegisterIpAndMakeDerivativeWithLicenseTokens}
|
337
|
+
*/
|
338
|
+
private handleMintNftDerivativeRegistration;
|
339
|
+
/**
|
340
|
+
* Link a derivative IP asset using parent IP's license terms or license tokens.
|
341
|
+
*
|
342
|
+
* Supports the following workflows:
|
343
|
+
* - {@link registerDerivative}
|
344
|
+
* - {@link registerDerivativeWithLicenseTokens}
|
345
|
+
*
|
346
|
+
* @example
|
347
|
+
* ```typescript
|
348
|
+
* const result = await client.ipAsset.linkDerivative({
|
349
|
+
* licenseTokenIds: [1, 2, 3],
|
350
|
+
* childIpId: "0x...",
|
351
|
+
* });
|
352
|
+
* ```
|
353
|
+
*
|
354
|
+
* @example
|
355
|
+
* ```typescript
|
356
|
+
* const result = await client.ipAsset.linkDerivative({
|
357
|
+
* parentIpIds: ["0x..."],
|
358
|
+
* licenseTermsIds: [1],
|
359
|
+
* childIpId: "0x...",
|
360
|
+
* });
|
361
|
+
* ```
|
362
|
+
*
|
363
|
+
* **Automatic Token Handling:**
|
364
|
+
* - If the wallet's IP token balance is insufficient to cover minting fees, it automatically wraps native IP tokens into WIP tokens.
|
365
|
+
* - It checks allowances for all required spenders and automatically approves them if their current allowance is lower than needed.
|
366
|
+
* - These automatic processes can be configured through the `wipOptions` parameter to control behavior like multicall usage and approval settings.
|
367
|
+
*/
|
368
|
+
linkDerivative(request: RegisterDerivativeWithLicenseTokensRequest | RegisterDerivativeRequest): Promise<LinkDerivativeResponse>;
|
369
|
+
/**
|
370
|
+
* Handles registration for already minted NFTs with optional license terms and royalty shares.
|
371
|
+
*
|
372
|
+
* Supports the following workflows:
|
373
|
+
* - {@link registerIPAndAttachLicenseTermsAndDistributeRoyaltyTokens}
|
374
|
+
* - {@link registerIpAndAttachPilTerms}
|
375
|
+
* - {@link register}
|
376
|
+
*/
|
377
|
+
private handleMintedNftRegistration;
|
378
|
+
/**
|
379
|
+
* Handles minting and registration of new NFTs with optional license terms and royalty shares.
|
380
|
+
*
|
381
|
+
* Supports the following workflows:
|
382
|
+
* - {@link mintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokens}
|
383
|
+
* - {@link mintAndRegisterIpAssetWithPilTerms}
|
384
|
+
* - {@link mintAndRegisterIp}
|
385
|
+
*/
|
386
|
+
private handleMintNftRegistration;
|
203
387
|
private getLicenseTermsId;
|
204
388
|
private validateLicenseTokenIds;
|
205
389
|
private getIpIdAndTokenIdsFromEvent;
|
206
390
|
private handleRegistrationWithFees;
|
207
|
-
private setMaxLicenseTokens;
|
208
391
|
/**
|
209
392
|
* Process the `LicenseTermsIds` and `maxLicenseTokensTxHashes` for each IP asset.
|
210
393
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ipAsset.d.ts","sourceRoot":"../../../../src/resources","sources":["ipAsset.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"ipAsset.d.ts","sourceRoot":"../../../../src/resources","sources":["ipAsset.ts"],"names":[],"mappings":"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"}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { PublicClient } from "viem";
|
2
|
-
import { IpAssetRegistryClient, LicenseRegistryReadOnlyClient, LicensingModuleClient, LicensingModulePredictMintingLicenseFeeResponse, ModuleRegistryReadOnlyClient, Multicall3Client, PiLicenseTemplateClient, PiLicenseTemplateGetLicenseTermsResponse, PiLicenseTemplateReadOnlyClient, SimpleWalletClient, TotalLicenseTokenLimitHookClient, WrappedIpClient } from "../abi/generated.js";
|
3
|
-
import { LicensingConfig } from "../types/common.js";
|
2
|
+
import { IpAssetRegistryClient, LicenseAttachmentWorkflowsClient, LicenseRegistryReadOnlyClient, LicensingModuleClient, LicensingModulePredictMintingLicenseFeeResponse, ModuleRegistryReadOnlyClient, Multicall3Client, PiLicenseTemplateClient, PiLicenseTemplateGetLicenseTermsResponse, PiLicenseTemplateReadOnlyClient, SimpleWalletClient, TotalLicenseTokenLimitHookClient, WrappedIpClient } from "../abi/generated.js";
|
3
|
+
import { LicenseTermsIdInput, LicensingConfig } from "../types/common.js";
|
4
4
|
import { ChainIds } from "../types/config.js";
|
5
5
|
import { TransactionResponse } from "../types/options.js";
|
6
|
-
import { AttachLicenseTermsRequest, AttachLicenseTermsResponse, GetLicensingConfigRequest,
|
6
|
+
import { AttachLicenseTermsRequest, AttachLicenseTermsResponse, GetLicensingConfigRequest, MintLicenseTokensRequest, MintLicenseTokensResponse, PredictMintingLicenseFeeRequest, RegisterCommercialRemixPILRequest, RegisterCommercialUsePILRequest, RegisterCreativeCommonsAttributionPILRequest, RegisterNonComSocialRemixingPILRequest, RegisterPILResponse, RegisterPilTermsAndAttachRequest, RegisterPilTermsAndAttachResponse, RegisterPILTermsRequest, SetLicensingConfigRequest, SetLicensingConfigResponse, SetMaxLicenseTokensRequest } from "../types/resources/license.js";
|
7
7
|
export declare class LicenseClient {
|
8
8
|
licensingModuleClient: LicensingModuleClient;
|
9
9
|
ipAssetRegistryClient: IpAssetRegistryClient;
|
@@ -14,6 +14,7 @@ export declare class LicenseClient {
|
|
14
14
|
multicall3Client: Multicall3Client;
|
15
15
|
totalLicenseTokenLimitHookClient: TotalLicenseTokenLimitHookClient;
|
16
16
|
wipClient: WrappedIpClient;
|
17
|
+
licenseAttachmentWorkflowsClient: LicenseAttachmentWorkflowsClient;
|
17
18
|
private readonly rpcClient;
|
18
19
|
private readonly wallet;
|
19
20
|
private readonly chainId;
|
@@ -25,51 +26,6 @@ export declare class LicenseClient {
|
|
25
26
|
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicenseTemplate.sol#L19 | `LicenseTermsRegistered`} event.
|
26
27
|
*/
|
27
28
|
registerPILTerms(request: RegisterPILTermsRequest): Promise<RegisterPILResponse>;
|
28
|
-
/**
|
29
|
-
* @deprecated Use {@link PILFlavor.nonCommercialSocialRemixing} with {@link LicenseClient.registerPILTerms} instead.
|
30
|
-
* The method will be removed in the `v1.4.0`.
|
31
|
-
*
|
32
|
-
* Convenient function to register a PIL non commercial social remix license to the registry
|
33
|
-
*
|
34
|
-
* For more details, see {@link https://docs.story.foundation/concepts/programmable-ip-license/pil-flavors#flavor-%231%3A-non-commercial-social-remixing | Non Commercial Social Remixing}.
|
35
|
-
*
|
36
|
-
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicenseTemplate.sol#L19 | `LicenseTermsRegistered`} event.
|
37
|
-
*/
|
38
|
-
registerNonComSocialRemixingPIL(request?: RegisterNonComSocialRemixingPILRequest): Promise<RegisterPILResponse>;
|
39
|
-
/**
|
40
|
-
* @deprecated Use {@link PILFlavor.commercialUse} with {@link LicenseClient.registerPILTerms} instead.
|
41
|
-
* The method will be removed in the `v1.4.0`.
|
42
|
-
*
|
43
|
-
* Convenient function to register a PIL commercial use license to the registry.
|
44
|
-
*
|
45
|
-
* For more details, see {@link https://docs.story.foundation/concepts/programmable-ip-license/pil-flavors#flavor-%232%3A-commercial-use | Commercial Use}.
|
46
|
-
*
|
47
|
-
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicenseTemplate.sol#L19 | `LicenseTermsRegistered`} event.
|
48
|
-
*/
|
49
|
-
registerCommercialUsePIL(request: RegisterCommercialUsePILRequest): Promise<RegisterPILResponse>;
|
50
|
-
/**
|
51
|
-
* @deprecated Use {@link PILFlavor.commercialRemix} with {@link LicenseClient.registerPILTerms} instead.
|
52
|
-
* The method will be removed in the v1.4.0.
|
53
|
-
*
|
54
|
-
* Convenient function to register a PIL commercial Remix license to the registry.
|
55
|
-
*
|
56
|
-
* For more details, see {@link https://docs.story.foundation/concepts/programmable-ip-license/pil-flavors#flavor-%233%3A-commercial-remix | Commercial Remix }.
|
57
|
-
*
|
58
|
-
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicenseTemplate.sol#L19 | `LicenseTermsRegistered`} event.
|
59
|
-
*/
|
60
|
-
registerCommercialRemixPIL({ defaultMintingFee, currency, royaltyPolicyAddress, commercialRevShare, txOptions, }: RegisterCommercialRemixPILRequest): Promise<RegisterPILResponse>;
|
61
|
-
/**
|
62
|
-
* @deprecated Use {@link PILFlavor.creativeCommonsAttribution} with {@link LicenseClient.registerPILTerms} instead.
|
63
|
-
* The method will be removed in the `v1.4.0`.
|
64
|
-
*
|
65
|
-
* Convenient function to register a PIL creative commons attribution license to the registry.
|
66
|
-
* Creates a Creative Commons Attribution (CC-BY) license terms flavor.
|
67
|
-
*
|
68
|
-
* For more details, see {@link https://docs.story.foundation/concepts/programmable-ip-license/pil-flavors#flavor-%234%3A-creative-commons-attribution | Creative Commons Attribution}.
|
69
|
-
*
|
70
|
-
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicenseTemplate.sol#L19 | `LicenseTermsRegistered`} event.
|
71
|
-
*/
|
72
|
-
registerCreativeCommonsAttributionPIL({ currency, royaltyPolicyAddress, txOptions, }: RegisterCreativeCommonsAttributionPILRequest): Promise<RegisterPILResponse>;
|
73
29
|
/**
|
74
30
|
* Attaches license terms to an IP.
|
75
31
|
*/
|
@@ -93,7 +49,7 @@ export declare class LicenseClient {
|
|
93
49
|
/**
|
94
50
|
* Gets license terms of the given ID.
|
95
51
|
*/
|
96
|
-
getLicenseTerms(selectedLicenseTermsId:
|
52
|
+
getLicenseTerms(selectedLicenseTermsId: LicenseTermsIdInput): Promise<PiLicenseTemplateGetLicenseTermsResponse>;
|
97
53
|
/**
|
98
54
|
* Pre-compute the minting license fee for the given IP and license terms. The function can be used to calculate the minting license fee before minting license tokens.
|
99
55
|
*/
|
@@ -113,6 +69,57 @@ export declare class LicenseClient {
|
|
113
69
|
*/
|
114
70
|
setMaxLicenseTokens({ ipId, licenseTermsId, maxLicenseTokens, licenseTemplate, txOptions, }: SetMaxLicenseTokensRequest): Promise<TransactionResponse>;
|
115
71
|
getLicensingConfig(request: GetLicensingConfigRequest): Promise<LicensingConfig>;
|
72
|
+
/**
|
73
|
+
* Register Programmable IP License Terms (if unregistered) and attach it to IP.
|
74
|
+
*
|
75
|
+
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicensingModule.sol#L19 | `LicenseTermsAttached`} event.
|
76
|
+
*/
|
77
|
+
registerPilTermsAndAttach(request: RegisterPilTermsAndAttachRequest): Promise<RegisterPilTermsAndAttachResponse>;
|
78
|
+
/**
|
79
|
+
* @deprecated Use {@link PILFlavor.nonCommercialSocialRemixing} with {@link LicenseClient.registerPILTerms} instead.
|
80
|
+
* This method will be removed soon.
|
81
|
+
*
|
82
|
+
* Convenient function to register a PIL non commercial social remix license to the registry
|
83
|
+
*
|
84
|
+
* For more details, see {@link https://docs.story.foundation/concepts/programmable-ip-license/pil-flavors#flavor-%231%3A-non-commercial-social-remixing | Non Commercial Social Remixing}.
|
85
|
+
*
|
86
|
+
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicenseTemplate.sol#L19 | `LicenseTermsRegistered`} event.
|
87
|
+
*/
|
88
|
+
registerNonComSocialRemixingPIL(request?: RegisterNonComSocialRemixingPILRequest): Promise<RegisterPILResponse>;
|
89
|
+
/**
|
90
|
+
* @deprecated Use {@link PILFlavor.commercialUse} with {@link LicenseClient.registerPILTerms} instead.
|
91
|
+
* This method will be removed soon.
|
92
|
+
*
|
93
|
+
* Convenient function to register a PIL commercial use license to the registry.
|
94
|
+
*
|
95
|
+
* For more details, see {@link https://docs.story.foundation/concepts/programmable-ip-license/pil-flavors#flavor-%232%3A-commercial-use | Commercial Use}.
|
96
|
+
*
|
97
|
+
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicenseTemplate.sol#L19 | `LicenseTermsRegistered`} event.
|
98
|
+
*/
|
99
|
+
registerCommercialUsePIL(request: RegisterCommercialUsePILRequest): Promise<RegisterPILResponse>;
|
100
|
+
/**
|
101
|
+
* @deprecated Use {@link PILFlavor.commercialRemix} with {@link LicenseClient.registerPILTerms} instead.
|
102
|
+
* This method will be removed soon.
|
103
|
+
*
|
104
|
+
* Convenient function to register a PIL commercial Remix license to the registry.
|
105
|
+
*
|
106
|
+
* For more details, see {@link https://docs.story.foundation/concepts/programmable-ip-license/pil-flavors#flavor-%233%3A-commercial-remix | Commercial Remix }.
|
107
|
+
*
|
108
|
+
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicenseTemplate.sol#L19 | `LicenseTermsRegistered`} event.
|
109
|
+
*/
|
110
|
+
registerCommercialRemixPIL({ defaultMintingFee, currency, royaltyPolicyAddress, commercialRevShare, txOptions, }: RegisterCommercialRemixPILRequest): Promise<RegisterPILResponse>;
|
111
|
+
/**
|
112
|
+
* @deprecated Use {@link PILFlavor.creativeCommonsAttribution} with {@link LicenseClient.registerPILTerms} instead.
|
113
|
+
* This method will be removed soon.
|
114
|
+
*
|
115
|
+
* Convenient function to register a PIL creative commons attribution license to the registry.
|
116
|
+
* Creates a Creative Commons Attribution (CC-BY) license terms flavor.
|
117
|
+
*
|
118
|
+
* For more details, see {@link https://docs.story.foundation/concepts/programmable-ip-license/pil-flavors#flavor-%234%3A-creative-commons-attribution | Creative Commons Attribution}.
|
119
|
+
*
|
120
|
+
* Emits an on-chain {@link https://github.com/storyprotocol/protocol-core-v1/blob/v1.3.1/contracts/interfaces/modules/licensing/ILicenseTemplate.sol#L19 | `LicenseTermsRegistered`} event.
|
121
|
+
*/
|
122
|
+
registerCreativeCommonsAttributionPIL({ currency, royaltyPolicyAddress, txOptions, }: RegisterCreativeCommonsAttributionPILRequest): Promise<RegisterPILResponse>;
|
116
123
|
private getLicenseTermsId;
|
117
124
|
private registerPILTermsHelper;
|
118
125
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"license.d.ts","sourceRoot":"../../../../src/resources","sources":["license.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAe,MAAM,MAAM,CAAC;AAE1D,OAAO,EAEL,qBAAqB,
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"../../../../src/resources","sources":["license.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAe,MAAM,MAAM,CAAC;AAE1D,OAAO,EAEL,qBAAqB,EACrB,gCAAgC,EAGhC,6BAA6B,EAC7B,qBAAqB,EAGrB,+CAA+C,EAE/C,4BAA4B,EAC5B,gBAAgB,EAChB,uBAAuB,EACvB,wCAAwC,EACxC,+BAA+B,EAE/B,kBAAkB,EAClB,gCAAgC,EAChC,eAAe,EAChB,4BAAyB;AAC1B,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAgB,2BAAwB;AACrF,OAAO,EAAE,QAAQ,EAAE,2BAAwB;AAC3C,OAAO,EAAE,mBAAmB,EAAa,4BAAyB;AAClE,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EAGzB,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,iCAAiC,EACjC,+BAA+B,EAC/B,4CAA4C,EAC5C,sCAAsC,EACtC,mBAAmB,EACnB,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC3B,sCAAmC;AAkBpC,qBAAa,aAAa;IACjB,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,+BAA+B,EAAE,+BAA+B,CAAC;IACjE,qBAAqB,EAAE,uBAAuB,CAAC;IAC/C,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D,4BAA4B,EAAE,4BAA4B,CAAC;IAC3D,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gCAAgC,EAAE,gCAAgC,CAAC;IACnE,SAAS,EAAE,eAAe,CAAC;IAC3B,gCAAgC,EAAE,gCAAgC,CAAC;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAE5B,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ;IAiBlF;;;;OAIG;IACU,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAS7F;;OAEG;IACU,kBAAkB,CAC7B,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC;IA8CtC;;;;;;;;;;;;;;OAcG;IACU,iBAAiB,CAC5B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IA8FrC;;OAEG;IACU,eAAe,CAC1B,sBAAsB,EAAE,mBAAmB,GAC1C,OAAO,CAAC,wCAAwC,CAAC;IAUpD;;OAEG;IACU,wBAAwB,CACnC,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,+CAA+C,CAAC;IAoC3D;;OAEG;IACU,kBAAkB,CAC7B,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC;IAwDtC;;;;;;;;OAQG;IACU,mBAAmB,CAAC,EAC/B,IAAI,EACJ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,SAAS,GACV,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0C/C,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAe7F;;;;OAIG;IACU,yBAAyB,CACpC,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,iCAAiC,CAAC;IAqE7C;;;;;;;;;OASG;IACU,+BAA+B,CAC1C,OAAO,CAAC,EAAE,sCAAsC,GAC/C,OAAO,CAAC,mBAAmB,CAAC;IAS/B;;;;;;;;;OASG;IACU,wBAAwB,CACnC,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,mBAAmB,CAAC;IAa/B;;;;;;;;;OASG;IACU,0BAA0B,CAAC,EACtC,iBAAiB,EACjB,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,GACV,EAAE,iCAAiC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAcnE;;;;;;;;;;OAUG;IACU,qCAAqC,CAAC,EACjD,QAAQ,EACR,oBAAoB,EACpB,SAAS,GACV,EAAE,4CAA4C,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAahE,iBAAiB;YAOjB,sBAAsB;CA6BrC"}
|
@@ -19,7 +19,7 @@ export type LicensingConfigInput = {
|
|
19
19
|
/** Whether the licensing configuration is active. If false, the configuration is ignored. */
|
20
20
|
isSet: boolean;
|
21
21
|
/** The minting fee to be paid when minting license tokens. */
|
22
|
-
mintingFee:
|
22
|
+
mintingFee: FeeInput;
|
23
23
|
/**
|
24
24
|
* The licensingHook is an address to a smart contract that implements the `ILicensingHook` interface.
|
25
25
|
* This contract's `beforeMintLicenseTokens` function is executed before a user mints a License Token,
|
@@ -36,20 +36,20 @@ export type LicensingConfigInput = {
|
|
36
36
|
* Percentage of revenue that must be shared with the licensor.
|
37
37
|
* Must be between 0 and 100 (where 100% represents 100_000_000).
|
38
38
|
*/
|
39
|
-
commercialRevShare:
|
39
|
+
commercialRevShare: RevShareInput;
|
40
40
|
/** Whether the licensing is disabled or not. If this is true, then no licenses can be minted and no more derivatives can be attached at all. */
|
41
41
|
disabled: boolean;
|
42
42
|
/**
|
43
43
|
* The minimum percentage of the group’s reward share (from 0 to 100%, represented as 100_000_000) that can be allocated to the IP when it is added to the group.
|
44
44
|
* Must be between 0 and 100 (where 100% represents 100_000_000).
|
45
45
|
*/
|
46
|
-
expectMinimumGroupRewardShare:
|
46
|
+
expectMinimumGroupRewardShare: RevShareInput;
|
47
47
|
/** 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. */
|
48
48
|
expectGroupRewardPool: Address;
|
49
49
|
};
|
50
50
|
export type LicensingConfig = LicensingConfigInput & {
|
51
51
|
mintingFee: bigint;
|
52
|
-
commercialRevShare:
|
52
|
+
commercialRevShare: RevShareInput;
|
53
53
|
expectMinimumGroupRewardShare: number;
|
54
54
|
};
|
55
55
|
/**
|
@@ -57,6 +57,11 @@ export type LicensingConfig = LicensingConfigInput & {
|
|
57
57
|
* Will be converted to bigint for contract calls.
|
58
58
|
*/
|
59
59
|
export type TokenAmountInput = bigint | number;
|
60
|
+
/**
|
61
|
+
* Input for token id, can be bigint or number.
|
62
|
+
* Will be converted to bigint for contract calls.
|
63
|
+
*/
|
64
|
+
export type TokenIdInput = bigint | number;
|
60
65
|
/**
|
61
66
|
* The type of revenue share.
|
62
67
|
* It is used to determine the type of revenue share to be used in the revenue share calculation and throw error when the revenue share is not valid.
|
@@ -68,4 +73,23 @@ export declare enum RevShareType {
|
|
68
73
|
EXPECT_MINIMUM_GROUP_REWARD_SHARE = "expectMinimumGroupRewardShare",
|
69
74
|
MAX_ALLOWED_REWARD_SHARE_PERCENTAGE = "maxAllowedRewardSharePercentage"
|
70
75
|
}
|
76
|
+
/**
|
77
|
+
* Input for license terms id, can be bigint or number.
|
78
|
+
* Will be converted to bigint for contract calls.
|
79
|
+
*/
|
80
|
+
export type LicenseTermsIdInput = number | bigint;
|
81
|
+
/**
|
82
|
+
* Input for deadline, can be bigint or number.
|
83
|
+
* Will be converted to bigint for contract calls.
|
84
|
+
*/
|
85
|
+
export type DeadlineInput = number | bigint;
|
86
|
+
/**
|
87
|
+
* Input for revenue share, can be number.
|
88
|
+
*/
|
89
|
+
export type RevShareInput = number;
|
90
|
+
/**
|
91
|
+
* Input for fee, can be bigint or number.
|
92
|
+
* Will be converted to bigint for contract calls.
|
93
|
+
*/
|
94
|
+
export type FeeInput = bigint | number;
|
71
95
|
//# sourceMappingURL=common.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"../../../../src/types","sources":["common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,qBAAkB;AAC1C,OAAO,EAAE,qBAAqB,EAAE,6CAA0C;AAE1E,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,6FAA6F;IAC7F,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,UAAU,EAAE,
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"../../../../src/types","sources":["common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,qBAAkB;AAC1C,OAAO,EAAE,qBAAqB,EAAE,6CAA0C;AAE1E,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,6FAA6F;IAC7F,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,UAAU,EAAE,QAAQ,CAAC;IACrB;;;;;OAKG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,EAAE,GAAG,CAAC;IACd;;;OAGG;IACH,kBAAkB,EAAE,aAAa,CAAC;IAClC,gJAAgJ;IAChJ,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,6BAA6B,EAAE,aAAa,CAAC;IAC7C,oMAAoM;IACpM,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,aAAa,CAAC;IAClC,6BAA6B,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAC3C;;;GAGG;AACH,oBAAY,YAAY;IACtB,wBAAwB,uBAAuB;IAC/C,iBAAiB,oBAAoB;IACrC,wBAAwB,0BAA0B;IAClD,iCAAiC,kCAAkC;IACnE,mCAAmC,oCAAoC;CACxE;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Address, Hash, Hex } from "viem";
|
2
2
|
import { EncodedTxData } from "../../abi/generated.js";
|
3
3
|
import { TxOptions, WipOptions, WithTxOptions } from "../options.js";
|
4
|
+
export type DisputeId = number | bigint;
|
4
5
|
export type RaiseDisputeRequest = WithTxOptions & {
|
5
6
|
/** The IP ID that is the target of the dispute. */
|
6
7
|
targetIpId: Address;
|
@@ -17,14 +18,14 @@ export type RaiseDisputeRequest = WithTxOptions & {
|
|
17
18
|
*/
|
18
19
|
targetTag: DisputeTargetTag;
|
19
20
|
/** The liveness is the time window (in seconds) in which a counter dispute can be presented (30days). */
|
20
|
-
liveness: bigint | number
|
21
|
+
liveness: bigint | number;
|
21
22
|
/**
|
22
23
|
* The amount of wrapper IP that the dispute initiator pays upfront into a pool.
|
23
24
|
* To counter that dispute the opposite party of the dispute has to place a bond of the same amount.
|
24
25
|
* The winner of the dispute gets the original bond back + 50% of the other party bond. The remaining 50% of the loser party bond goes to the reviewer.
|
25
26
|
* The bond amount must be between the minimum and maximum bond values defined in the Optimistic Oracle V3 (OOV3) contract. If not specified, it defaults to the minimum bond value.
|
26
27
|
*/
|
27
|
-
bond?: bigint | number
|
28
|
+
bond?: bigint | number;
|
28
29
|
/**
|
29
30
|
* Omit {@link WipOptions.useMulticallWhenPossible} for this function due to disputeInitiator issue.
|
30
31
|
* It will be executed sequentially with several transactions.
|
@@ -37,7 +38,7 @@ export type RaiseDisputeResponse = {
|
|
37
38
|
disputeId?: bigint;
|
38
39
|
};
|
39
40
|
export type CancelDisputeRequest = {
|
40
|
-
disputeId:
|
41
|
+
disputeId: DisputeId;
|
41
42
|
/**
|
42
43
|
* Additional data used in the cancellation process.
|
43
44
|
*
|
@@ -51,7 +52,7 @@ export type CancelDisputeResponse = {
|
|
51
52
|
encodedTxData?: EncodedTxData;
|
52
53
|
};
|
53
54
|
export type ResolveDisputeRequest = {
|
54
|
-
disputeId:
|
55
|
+
disputeId: DisputeId;
|
55
56
|
/**
|
56
57
|
* Additional data used in the resolution process.
|
57
58
|
*
|
@@ -69,7 +70,7 @@ export type TagIfRelatedIpInfringedRequest = {
|
|
69
70
|
/** The ipId to tag */
|
70
71
|
ipId: Address;
|
71
72
|
/** The dispute id that tagged the related infringing ipId */
|
72
|
-
disputeId:
|
73
|
+
disputeId: DisputeId;
|
73
74
|
}[];
|
74
75
|
options?: {
|
75
76
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dispute.d.ts","sourceRoot":"../../../../../src/types/resources","sources":["dispute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,+BAA4B;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAmB;AAElE,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,mDAAmD;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,SAAS,EAAE,gBAAgB,CAAC;IAC5B,yGAAyG;IACzG,QAAQ,EAAE,MAAM,GAAG,MAAM,
|
1
|
+
{"version":3,"file":"dispute.d.ts","sourceRoot":"../../../../../src/types/resources","sources":["dispute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,+BAA4B;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAmB;AAElE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,mDAAmD;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,SAAS,EAAE,gBAAgB,CAAC;IAC5B,yGAAyG;IACzG,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,gBAAgB,EAAE;QAChB,sBAAsB;QACtB,IAAI,EAAE,OAAO,CAAC;QACd,6DAA6D;QAC7D,SAAS,EAAE,SAAS,CAAC;KACtB,EAAE,CAAC;IACJ,OAAO,CAAC,EAAE;QACR;;;;;WAKG;QACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC,CAAC;CACH,GAAG,aAAa,CAAC;AAElB,MAAM,MAAM,uBAAuB,GAAG;IACpC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,WAAW,EAAE,GAAG,CAAC;IACjB;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;CAC3D,GAAG,aAAa,CAAC;AAElB;;;;GAIG;AACH,oBAAY,gBAAgB;IAC1B,wDAAwD;IACxD,qBAAqB,0BAA0B;IAC/C;;;OAGG;IACH,cAAc,mBAAmB;IACjC,wDAAwD;IACxD,gBAAgB,qBAAqB;IACrC;;;OAGG;IACH,2BAA2B,gCAAgC;IAC3D;;;OAGG;IACH,UAAU,eAAe;CAC1B"}
|