@campnetwork/origin 1.0.1 → 1.2.0-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.
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import React, { createContext, useState, useContext, useEffect, useLayoutEffect, useRef, useSyncExternalStore } from 'react';
3
- import { custom, createWalletClient, createPublicClient, http, erc20Abi, getAbiItem, zeroAddress, formatEther, formatUnits, checksumAddress, parseEther } from 'viem';
3
+ import { custom, createWalletClient, createPublicClient, http, erc20Abi, getAbiItem, zeroAddress, formatEther, formatUnits, encodeFunctionData, checksumAddress, parseEther } from 'viem';
4
4
  import { toAccount } from 'viem/accounts';
5
5
  import { createSiweMessage } from 'viem/siwe';
6
6
  import axios from 'axios';
@@ -175,2232 +175,2627 @@ const setChain = (chain) => {
175
175
 
176
176
  var ipnftMainnetAbi = [
177
177
  {
178
+ type: "function",
179
+ name: "UPGRADE_INTERFACE_VERSION",
178
180
  inputs: [
181
+ ],
182
+ outputs: [
179
183
  {
180
- internalType: "string",
181
- name: "name_",
182
- type: "string"
183
- },
184
- {
185
- internalType: "string",
186
- name: "symbol_",
187
- type: "string"
188
- },
189
- {
190
- internalType: "uint256",
191
- name: "maxTermDuration_",
192
- type: "uint256"
193
- },
194
- {
195
- internalType: "address",
196
- name: "signer_",
197
- type: "address"
198
- },
199
- {
200
- internalType: "address",
201
- name: "wCAMP_",
202
- type: "address"
203
- },
204
- {
205
- internalType: "uint256",
206
- name: "minTermDuration_",
207
- type: "uint256"
208
- },
209
- {
210
- internalType: "uint256",
211
- name: "minPrice_",
212
- type: "uint256"
213
- },
214
- {
215
- internalType: "uint256",
216
- name: "maxRoyaltyBps_",
217
- type: "uint256"
184
+ name: "",
185
+ type: "string",
186
+ internalType: "string"
218
187
  }
219
188
  ],
220
- stateMutability: "nonpayable",
221
- type: "constructor"
189
+ stateMutability: "view"
222
190
  },
223
191
  {
192
+ type: "function",
193
+ name: "approve",
224
194
  inputs: [
225
195
  {
226
- internalType: "address",
227
- name: "sender",
228
- type: "address"
196
+ name: "to",
197
+ type: "address",
198
+ internalType: "address"
229
199
  },
230
200
  {
231
- internalType: "uint256",
232
201
  name: "tokenId",
233
- type: "uint256"
234
- },
235
- {
236
- internalType: "address",
237
- name: "owner",
238
- type: "address"
202
+ type: "uint256",
203
+ internalType: "uint256"
239
204
  }
240
205
  ],
241
- name: "ERC721IncorrectOwner",
242
- type: "error"
206
+ outputs: [
207
+ ],
208
+ stateMutability: "nonpayable"
243
209
  },
244
210
  {
211
+ type: "function",
212
+ name: "balanceOf",
245
213
  inputs: [
246
214
  {
247
- internalType: "address",
248
- name: "operator",
249
- type: "address"
250
- },
215
+ name: "owner",
216
+ type: "address",
217
+ internalType: "address"
218
+ }
219
+ ],
220
+ outputs: [
251
221
  {
252
- internalType: "uint256",
253
- name: "tokenId",
254
- type: "uint256"
222
+ name: "",
223
+ type: "uint256",
224
+ internalType: "uint256"
255
225
  }
256
226
  ],
257
- name: "ERC721InsufficientApproval",
258
- type: "error"
227
+ stateMutability: "view"
259
228
  },
260
229
  {
230
+ type: "function",
231
+ name: "dataStatus",
261
232
  inputs: [
262
233
  {
263
- internalType: "address",
264
- name: "approver",
265
- type: "address"
234
+ name: "tokenId",
235
+ type: "uint256",
236
+ internalType: "uint256"
266
237
  }
267
238
  ],
268
- name: "ERC721InvalidApprover",
269
- type: "error"
270
- },
271
- {
272
- inputs: [
239
+ outputs: [
273
240
  {
274
- internalType: "address",
275
- name: "operator",
276
- type: "address"
241
+ name: "",
242
+ type: "uint8",
243
+ internalType: "enum IIpNFT.DataStatus"
277
244
  }
278
245
  ],
279
- name: "ERC721InvalidOperator",
280
- type: "error"
246
+ stateMutability: "view"
281
247
  },
282
248
  {
249
+ type: "function",
250
+ name: "disputeModule",
283
251
  inputs: [
252
+ ],
253
+ outputs: [
284
254
  {
285
- internalType: "address",
286
- name: "owner",
287
- type: "address"
255
+ name: "",
256
+ type: "address",
257
+ internalType: "address"
288
258
  }
289
259
  ],
290
- name: "ERC721InvalidOwner",
291
- type: "error"
260
+ stateMutability: "view"
292
261
  },
293
262
  {
263
+ type: "function",
264
+ name: "erc6551Account",
294
265
  inputs: [
266
+ ],
267
+ outputs: [
295
268
  {
296
- internalType: "address",
297
- name: "receiver",
298
- type: "address"
269
+ name: "",
270
+ type: "address",
271
+ internalType: "contract IERC6551Account"
299
272
  }
300
273
  ],
301
- name: "ERC721InvalidReceiver",
302
- type: "error"
274
+ stateMutability: "view"
303
275
  },
304
276
  {
277
+ type: "function",
278
+ name: "erc6551Registry",
305
279
  inputs: [
280
+ ],
281
+ outputs: [
306
282
  {
307
- internalType: "address",
308
- name: "sender",
309
- type: "address"
283
+ name: "",
284
+ type: "address",
285
+ internalType: "contract IERC6551Registry"
310
286
  }
311
287
  ],
312
- name: "ERC721InvalidSender",
313
- type: "error"
288
+ stateMutability: "view"
314
289
  },
315
290
  {
291
+ type: "function",
292
+ name: "finalizeDelete",
316
293
  inputs: [
317
294
  {
318
- internalType: "uint256",
319
295
  name: "tokenId",
320
- type: "uint256"
296
+ type: "uint256",
297
+ internalType: "uint256"
321
298
  }
322
299
  ],
323
- name: "ERC721NonexistentToken",
324
- type: "error"
325
- },
326
- {
327
- inputs: [
328
- ],
329
- name: "EnforcedPause",
330
- type: "error"
331
- },
332
- {
333
- inputs: [
334
- ],
335
- name: "ExpectedPause",
336
- type: "error"
337
- },
338
- {
339
- inputs: [
340
- ],
341
- name: "InvalidDeadline",
342
- type: "error"
343
- },
344
- {
345
- inputs: [
346
- ],
347
- name: "InvalidDuration",
348
- type: "error"
349
- },
350
- {
351
- inputs: [
352
- ],
353
- name: "InvalidPaymentToken",
354
- type: "error"
355
- },
356
- {
357
- inputs: [
358
- ],
359
- name: "InvalidPrice",
360
- type: "error"
361
- },
362
- {
363
- inputs: [
300
+ outputs: [
364
301
  ],
365
- name: "InvalidRoyalty",
366
- type: "error"
302
+ stateMutability: "nonpayable"
367
303
  },
368
304
  {
305
+ type: "function",
306
+ name: "getAccount",
369
307
  inputs: [
308
+ {
309
+ name: "tokenId",
310
+ type: "uint256",
311
+ internalType: "uint256"
312
+ }
370
313
  ],
371
- name: "InvalidSignature",
372
- type: "error"
373
- },
374
- {
375
- inputs: [
314
+ outputs: [
315
+ {
316
+ name: "account",
317
+ type: "address",
318
+ internalType: "address"
319
+ }
376
320
  ],
377
- name: "NotTokenOwner",
378
- type: "error"
321
+ stateMutability: "nonpayable"
379
322
  },
380
323
  {
324
+ type: "function",
325
+ name: "getApproved",
381
326
  inputs: [
382
327
  {
383
- internalType: "address",
384
- name: "owner",
385
- type: "address"
328
+ name: "tokenId",
329
+ type: "uint256",
330
+ internalType: "uint256"
386
331
  }
387
332
  ],
388
- name: "OwnableInvalidOwner",
389
- type: "error"
390
- },
391
- {
392
- inputs: [
333
+ outputs: [
393
334
  {
394
- internalType: "address",
395
- name: "account",
396
- type: "address"
335
+ name: "",
336
+ type: "address",
337
+ internalType: "address"
397
338
  }
398
339
  ],
399
- name: "OwnableUnauthorizedAccount",
400
- type: "error"
340
+ stateMutability: "view"
401
341
  },
402
342
  {
343
+ type: "function",
344
+ name: "getTerms",
403
345
  inputs: [
346
+ {
347
+ name: "tokenId",
348
+ type: "uint256",
349
+ internalType: "uint256"
350
+ }
404
351
  ],
405
- name: "TokenAlreadyExists",
406
- type: "error"
407
- },
408
- {
409
- inputs: [
352
+ outputs: [
353
+ {
354
+ name: "",
355
+ type: "tuple",
356
+ internalType: "struct IIpNFT.LicenseTerms",
357
+ components: [
358
+ {
359
+ name: "price",
360
+ type: "uint128",
361
+ internalType: "uint128"
362
+ },
363
+ {
364
+ name: "duration",
365
+ type: "uint32",
366
+ internalType: "uint32"
367
+ },
368
+ {
369
+ name: "royaltyBps",
370
+ type: "uint16",
371
+ internalType: "uint16"
372
+ },
373
+ {
374
+ name: "paymentToken",
375
+ type: "address",
376
+ internalType: "address"
377
+ }
378
+ ]
379
+ }
410
380
  ],
411
- name: "Unauthorized",
412
- type: "error"
381
+ stateMutability: "view"
413
382
  },
414
383
  {
415
- anonymous: false,
384
+ type: "function",
385
+ name: "initialize",
416
386
  inputs: [
417
387
  {
418
- indexed: true,
419
- internalType: "uint256",
420
- name: "tokenId",
421
- type: "uint256"
388
+ name: "name_",
389
+ type: "string",
390
+ internalType: "string"
422
391
  },
423
392
  {
424
- indexed: true,
425
- internalType: "address",
426
- name: "buyer",
427
- type: "address"
393
+ name: "symbol_",
394
+ type: "string",
395
+ internalType: "string"
428
396
  },
429
397
  {
430
- indexed: false,
431
- internalType: "uint32",
432
- name: "periods",
433
- type: "uint32"
398
+ name: "maxTermDuration_",
399
+ type: "uint256",
400
+ internalType: "uint256"
434
401
  },
435
402
  {
436
- indexed: false,
437
- internalType: "uint256",
438
- name: "newExpiry",
439
- type: "uint256"
403
+ name: "signer_",
404
+ type: "address",
405
+ internalType: "address"
440
406
  },
441
407
  {
442
- indexed: false,
443
- internalType: "uint256",
444
- name: "amountPaid",
445
- type: "uint256"
446
- }
447
- ],
448
- name: "AccessPurchased",
449
- type: "event"
450
- },
451
- {
452
- anonymous: false,
453
- inputs: [
408
+ name: "wCAMP_",
409
+ type: "address",
410
+ internalType: "address"
411
+ },
454
412
  {
455
- indexed: true,
456
- internalType: "address",
457
- name: "owner",
458
- type: "address"
413
+ name: "minTermDuration_",
414
+ type: "uint256",
415
+ internalType: "uint256"
459
416
  },
460
417
  {
461
- indexed: true,
462
- internalType: "address",
463
- name: "approved",
464
- type: "address"
418
+ name: "minPrice_",
419
+ type: "uint256",
420
+ internalType: "uint256"
465
421
  },
466
422
  {
467
- indexed: true,
468
- internalType: "uint256",
469
- name: "tokenId",
470
- type: "uint256"
423
+ name: "maxRoyaltyBps_",
424
+ type: "uint256",
425
+ internalType: "uint256"
426
+ },
427
+ {
428
+ name: "registry_",
429
+ type: "address",
430
+ internalType: "contract IERC6551Registry"
431
+ },
432
+ {
433
+ name: "implementation_",
434
+ type: "address",
435
+ internalType: "contract IERC6551Account"
471
436
  }
472
437
  ],
473
- name: "Approval",
474
- type: "event"
438
+ outputs: [
439
+ ],
440
+ stateMutability: "nonpayable"
475
441
  },
476
442
  {
477
- anonymous: false,
443
+ type: "function",
444
+ name: "isApprovedForAll",
478
445
  inputs: [
479
446
  {
480
- indexed: true,
481
- internalType: "address",
482
447
  name: "owner",
483
- type: "address"
448
+ type: "address",
449
+ internalType: "address"
484
450
  },
485
451
  {
486
- indexed: true,
487
- internalType: "address",
488
452
  name: "operator",
489
- type: "address"
490
- },
453
+ type: "address",
454
+ internalType: "address"
455
+ }
456
+ ],
457
+ outputs: [
491
458
  {
492
- indexed: false,
493
- internalType: "bool",
494
- name: "approved",
495
- type: "bool"
459
+ name: "",
460
+ type: "bool",
461
+ internalType: "bool"
496
462
  }
497
463
  ],
498
- name: "ApprovalForAll",
499
- type: "event"
464
+ stateMutability: "view"
500
465
  },
501
466
  {
502
- anonymous: false,
503
- inputs: [
504
- {
505
- indexed: true,
506
- internalType: "uint256",
507
- name: "id",
508
- type: "uint256"
509
- },
510
- {
511
- indexed: true,
512
- internalType: "uint256",
513
- name: "childIp",
514
- type: "uint256"
515
- },
516
- {
517
- indexed: false,
518
- internalType: "uint256",
519
- name: "parentIp",
520
- type: "uint256"
521
- }
522
- ],
523
- name: "ChildIpTagged",
524
- type: "event"
525
- },
526
- {
527
- anonymous: false,
467
+ type: "function",
468
+ name: "markDisputed",
528
469
  inputs: [
529
470
  {
530
- indexed: true,
531
- internalType: "uint256",
532
- name: "tokenId",
533
- type: "uint256"
534
- },
535
- {
536
- indexed: true,
537
- internalType: "address",
538
- name: "creator",
539
- type: "address"
471
+ name: "_tokenId",
472
+ type: "uint256",
473
+ internalType: "uint256"
540
474
  }
541
475
  ],
542
- name: "DataDeleted",
543
- type: "event"
476
+ outputs: [
477
+ ],
478
+ stateMutability: "nonpayable"
544
479
  },
545
480
  {
546
- anonymous: false,
481
+ type: "function",
482
+ name: "marketPlace",
547
483
  inputs: [
484
+ ],
485
+ outputs: [
548
486
  {
549
- indexed: true,
550
- internalType: "uint256",
551
- name: "tokenId",
552
- type: "uint256"
553
- },
554
- {
555
- indexed: true,
556
- internalType: "address",
557
- name: "creator",
558
- type: "address"
559
- },
560
- {
561
- indexed: false,
562
- internalType: "bytes32",
563
- name: "contentHash",
564
- type: "bytes32"
565
- },
566
- {
567
- indexed: false,
568
- internalType: "uint256[]",
569
- name: "parents",
570
- type: "uint256[]"
487
+ name: "",
488
+ type: "address",
489
+ internalType: "contract IMarketplace"
571
490
  }
572
491
  ],
573
- name: "DataMinted",
574
- type: "event"
492
+ stateMutability: "view"
575
493
  },
576
494
  {
577
- anonymous: false,
495
+ type: "function",
496
+ name: "maxRoyaltyBps",
578
497
  inputs: [
498
+ ],
499
+ outputs: [
579
500
  {
580
- indexed: true,
581
- internalType: "uint256",
582
- name: "id",
583
- type: "uint256"
584
- },
585
- {
586
- indexed: false,
587
- internalType: "bytes32",
588
- name: "counterEvidenceHash",
589
- type: "bytes32"
501
+ name: "",
502
+ type: "uint256",
503
+ internalType: "uint256"
590
504
  }
591
505
  ],
592
- name: "DisputeAssertion",
593
- type: "event"
506
+ stateMutability: "view"
594
507
  },
595
508
  {
596
- anonymous: false,
509
+ type: "function",
510
+ name: "maxTermDuration",
597
511
  inputs: [
512
+ ],
513
+ outputs: [
598
514
  {
599
- indexed: true,
600
- internalType: "uint256",
601
- name: "id",
602
- type: "uint256"
515
+ name: "",
516
+ type: "uint256",
517
+ internalType: "uint256"
603
518
  }
604
519
  ],
605
- name: "DisputeCancelled",
606
- type: "event"
520
+ stateMutability: "view"
607
521
  },
608
522
  {
609
- anonymous: false,
523
+ type: "function",
524
+ name: "minPrice",
610
525
  inputs: [
526
+ ],
527
+ outputs: [
611
528
  {
612
- indexed: true,
613
- internalType: "uint256",
614
- name: "id",
615
- type: "uint256"
616
- },
617
- {
618
- indexed: false,
619
- internalType: "bool",
620
- name: "judgement",
621
- type: "bool"
529
+ name: "",
530
+ type: "uint256",
531
+ internalType: "uint256"
622
532
  }
623
533
  ],
624
- name: "DisputeJudged",
625
- type: "event"
534
+ stateMutability: "view"
626
535
  },
627
536
  {
628
- anonymous: false,
537
+ type: "function",
538
+ name: "minTermDuration",
629
539
  inputs: [
540
+ ],
541
+ outputs: [
630
542
  {
631
- indexed: true,
632
- internalType: "address",
633
- name: "disputeModule",
634
- type: "address"
543
+ name: "",
544
+ type: "uint256",
545
+ internalType: "uint256"
635
546
  }
636
547
  ],
637
- name: "DisputeModuleUpdated",
638
- type: "event"
548
+ stateMutability: "view"
639
549
  },
640
550
  {
641
- anonymous: false,
551
+ type: "function",
552
+ name: "mintWithSignature",
642
553
  inputs: [
643
554
  {
644
- indexed: true,
645
- internalType: "uint256",
646
- name: "id",
647
- type: "uint256"
555
+ name: "to",
556
+ type: "address",
557
+ internalType: "address"
648
558
  },
649
559
  {
650
- indexed: true,
651
- internalType: "address",
652
- name: "initiator",
653
- type: "address"
560
+ name: "tokenId",
561
+ type: "uint256",
562
+ internalType: "uint256"
654
563
  },
655
564
  {
656
- indexed: true,
657
- internalType: "uint256",
658
- name: "targetId",
659
- type: "uint256"
565
+ name: "creatorContentHash",
566
+ type: "bytes32",
567
+ internalType: "bytes32"
660
568
  },
661
569
  {
662
- indexed: false,
663
- internalType: "bytes32",
664
- name: "disputeTag",
665
- type: "bytes32"
570
+ name: "uri",
571
+ type: "string",
572
+ internalType: "string"
573
+ },
574
+ {
575
+ name: "licenseTerms",
576
+ type: "tuple",
577
+ internalType: "struct IIpNFT.LicenseTerms",
578
+ components: [
579
+ {
580
+ name: "price",
581
+ type: "uint128",
582
+ internalType: "uint128"
583
+ },
584
+ {
585
+ name: "duration",
586
+ type: "uint32",
587
+ internalType: "uint32"
588
+ },
589
+ {
590
+ name: "royaltyBps",
591
+ type: "uint16",
592
+ internalType: "uint16"
593
+ },
594
+ {
595
+ name: "paymentToken",
596
+ type: "address",
597
+ internalType: "address"
598
+ }
599
+ ]
600
+ },
601
+ {
602
+ name: "deadline",
603
+ type: "uint256",
604
+ internalType: "uint256"
605
+ },
606
+ {
607
+ name: "parents",
608
+ type: "uint256[]",
609
+ internalType: "uint256[]"
610
+ },
611
+ {
612
+ name: "isIP",
613
+ type: "bool",
614
+ internalType: "bool"
615
+ },
616
+ {
617
+ name: "signature",
618
+ type: "bytes",
619
+ internalType: "bytes"
666
620
  }
667
621
  ],
668
- name: "DisputeRaised",
669
- type: "event"
622
+ outputs: [
623
+ ],
624
+ stateMutability: "nonpayable"
670
625
  },
671
626
  {
672
- anonymous: false,
627
+ type: "function",
628
+ name: "name",
673
629
  inputs: [
630
+ ],
631
+ outputs: [
674
632
  {
675
- indexed: true,
676
- internalType: "address",
677
- name: "marketPlace",
678
- type: "address"
633
+ name: "",
634
+ type: "string",
635
+ internalType: "string"
679
636
  }
680
637
  ],
681
- name: "MarketPlaceUpdated",
682
- type: "event"
638
+ stateMutability: "view"
683
639
  },
684
640
  {
685
- anonymous: false,
641
+ type: "function",
642
+ name: "owner",
686
643
  inputs: [
644
+ ],
645
+ outputs: [
687
646
  {
688
- indexed: true,
689
- internalType: "address",
690
- name: "previousOwner",
691
- type: "address"
692
- },
693
- {
694
- indexed: true,
695
- internalType: "address",
696
- name: "newOwner",
697
- type: "address"
647
+ name: "",
648
+ type: "address",
649
+ internalType: "address"
698
650
  }
699
651
  ],
700
- name: "OwnershipTransferred",
701
- type: "event"
652
+ stateMutability: "view"
702
653
  },
703
654
  {
704
- anonymous: false,
655
+ type: "function",
656
+ name: "ownerOf",
705
657
  inputs: [
706
658
  {
707
- indexed: false,
708
- internalType: "address",
709
- name: "account",
710
- type: "address"
659
+ name: "tokenId",
660
+ type: "uint256",
661
+ internalType: "uint256"
711
662
  }
712
663
  ],
713
- name: "Paused",
714
- type: "event"
664
+ outputs: [
665
+ {
666
+ name: "",
667
+ type: "address",
668
+ internalType: "address"
669
+ }
670
+ ],
671
+ stateMutability: "view"
715
672
  },
716
673
  {
717
- anonymous: false,
674
+ type: "function",
675
+ name: "pause",
718
676
  inputs: [
719
- {
720
- indexed: true,
721
- internalType: "uint256",
722
- name: "tokenId",
723
- type: "uint256"
724
- },
725
- {
726
- indexed: false,
727
- internalType: "uint256",
728
- name: "royaltyAmount",
729
- type: "uint256"
730
- },
731
- {
732
- indexed: false,
733
- internalType: "address",
734
- name: "creator",
735
- type: "address"
736
- },
737
- {
738
- indexed: false,
739
- internalType: "uint256",
740
- name: "protocolAmount",
741
- type: "uint256"
742
- }
743
677
  ],
744
- name: "RoyaltyPaid",
745
- type: "event"
678
+ outputs: [
679
+ ],
680
+ stateMutability: "nonpayable"
746
681
  },
747
682
  {
748
- anonymous: false,
683
+ type: "function",
684
+ name: "paused",
749
685
  inputs: [
686
+ ],
687
+ outputs: [
750
688
  {
751
- indexed: true,
752
- internalType: "address",
753
- name: "signer",
754
- type: "address"
689
+ name: "",
690
+ type: "bool",
691
+ internalType: "bool"
755
692
  }
756
693
  ],
757
- name: "SignerUpdated",
758
- type: "event"
694
+ stateMutability: "view"
759
695
  },
760
696
  {
761
- anonymous: false,
697
+ type: "function",
698
+ name: "proxiableUUID",
762
699
  inputs: [
700
+ ],
701
+ outputs: [
763
702
  {
764
- indexed: true,
765
- internalType: "uint256",
766
- name: "tokenId",
767
- type: "uint256"
768
- },
769
- {
770
- indexed: false,
771
- internalType: "enum IIpNFT.DataStatus",
772
- name: "status",
773
- type: "uint8"
703
+ name: "",
704
+ type: "bytes32",
705
+ internalType: "bytes32"
774
706
  }
775
707
  ],
776
- name: "StatusUpdated",
777
- type: "event"
708
+ stateMutability: "view"
778
709
  },
779
710
  {
780
- anonymous: false,
711
+ type: "function",
712
+ name: "renounceOwnership",
781
713
  inputs: [
782
- {
783
- indexed: true,
784
- internalType: "uint256",
785
- name: "tokenId",
786
- type: "uint256"
787
- },
788
- {
789
- indexed: false,
790
- internalType: "uint128",
791
- name: "newPrice",
792
- type: "uint128"
793
- },
794
- {
795
- indexed: false,
796
- internalType: "uint32",
797
- name: "newDuration",
798
- type: "uint32"
799
- },
800
- {
801
- indexed: false,
802
- internalType: "uint16",
803
- name: "newRoyaltyBps",
804
- type: "uint16"
805
- },
806
- {
807
- indexed: false,
808
- internalType: "address",
809
- name: "paymentToken",
810
- type: "address"
811
- }
812
714
  ],
813
- name: "TermsUpdated",
814
- type: "event"
715
+ outputs: [
716
+ ],
717
+ stateMutability: "nonpayable"
815
718
  },
816
719
  {
817
- anonymous: false,
720
+ type: "function",
721
+ name: "safeTransferFrom",
818
722
  inputs: [
819
723
  {
820
- indexed: true,
821
- internalType: "address",
822
724
  name: "from",
823
- type: "address"
725
+ type: "address",
726
+ internalType: "address"
824
727
  },
825
728
  {
826
- indexed: true,
827
- internalType: "address",
828
729
  name: "to",
829
- type: "address"
730
+ type: "address",
731
+ internalType: "address"
830
732
  },
831
733
  {
832
- indexed: true,
833
- internalType: "uint256",
834
734
  name: "tokenId",
835
- type: "uint256"
735
+ type: "uint256",
736
+ internalType: "uint256"
836
737
  }
837
738
  ],
838
- name: "Transfer",
839
- type: "event"
739
+ outputs: [
740
+ ],
741
+ stateMutability: "nonpayable"
840
742
  },
841
743
  {
842
- anonymous: false,
744
+ type: "function",
745
+ name: "safeTransferFrom",
843
746
  inputs: [
844
747
  {
845
- indexed: false,
846
- internalType: "address",
847
- name: "account",
848
- type: "address"
748
+ name: "from",
749
+ type: "address",
750
+ internalType: "address"
751
+ },
752
+ {
753
+ name: "to",
754
+ type: "address",
755
+ internalType: "address"
756
+ },
757
+ {
758
+ name: "tokenId",
759
+ type: "uint256",
760
+ internalType: "uint256"
761
+ },
762
+ {
763
+ name: "data",
764
+ type: "bytes",
765
+ internalType: "bytes"
849
766
  }
850
767
  ],
851
- name: "Unpaused",
852
- type: "event"
768
+ outputs: [
769
+ ],
770
+ stateMutability: "nonpayable"
853
771
  },
854
772
  {
773
+ type: "function",
774
+ name: "setApprovalForAll",
855
775
  inputs: [
856
776
  {
857
- internalType: "address",
858
- name: "to",
859
- type: "address"
777
+ name: "operator",
778
+ type: "address",
779
+ internalType: "address"
860
780
  },
861
781
  {
862
- internalType: "uint256",
863
- name: "tokenId",
864
- type: "uint256"
782
+ name: "approved",
783
+ type: "bool",
784
+ internalType: "bool"
865
785
  }
866
786
  ],
867
- name: "approve",
868
787
  outputs: [
869
788
  ],
870
- stateMutability: "nonpayable",
871
- type: "function"
789
+ stateMutability: "nonpayable"
872
790
  },
873
791
  {
792
+ type: "function",
793
+ name: "setDisputeModule",
874
794
  inputs: [
875
795
  {
876
- internalType: "address",
877
- name: "owner",
878
- type: "address"
796
+ name: "_disputeModule",
797
+ type: "address",
798
+ internalType: "address"
879
799
  }
880
800
  ],
881
- name: "balanceOf",
882
801
  outputs: [
883
- {
884
- internalType: "uint256",
885
- name: "",
886
- type: "uint256"
887
- }
888
802
  ],
889
- stateMutability: "view",
890
- type: "function"
803
+ stateMutability: "nonpayable"
891
804
  },
892
805
  {
806
+ type: "function",
807
+ name: "setMarketPlace",
893
808
  inputs: [
894
809
  {
895
- internalType: "uint256",
896
- name: "tokenId",
897
- type: "uint256"
810
+ name: "_marketPlace",
811
+ type: "address",
812
+ internalType: "address"
898
813
  }
899
814
  ],
900
- name: "dataStatus",
901
815
  outputs: [
902
- {
903
- internalType: "enum IIpNFT.DataStatus",
904
- name: "",
905
- type: "uint8"
906
- }
907
816
  ],
908
- stateMutability: "view",
909
- type: "function"
817
+ stateMutability: "nonpayable"
910
818
  },
911
819
  {
820
+ type: "function",
821
+ name: "setSigner",
912
822
  inputs: [
913
- ],
914
- name: "disputeModule",
915
- outputs: [
916
823
  {
917
- internalType: "address",
918
- name: "",
919
- type: "address"
824
+ name: "_signer",
825
+ type: "address",
826
+ internalType: "address"
920
827
  }
921
828
  ],
922
- stateMutability: "view",
923
- type: "function"
829
+ outputs: [
830
+ ],
831
+ stateMutability: "nonpayable"
924
832
  },
925
833
  {
834
+ type: "function",
835
+ name: "signer",
926
836
  inputs: [
927
- {
928
- internalType: "uint256",
929
- name: "tokenId",
930
- type: "uint256"
931
- }
932
837
  ],
933
- name: "finalizeDelete",
934
838
  outputs: [
839
+ {
840
+ name: "",
841
+ type: "address",
842
+ internalType: "address"
843
+ }
935
844
  ],
936
- stateMutability: "nonpayable",
937
- type: "function"
845
+ stateMutability: "view"
938
846
  },
939
847
  {
848
+ type: "function",
849
+ name: "supportsInterface",
940
850
  inputs: [
941
851
  {
942
- internalType: "uint256",
943
- name: "tokenId",
944
- type: "uint256"
852
+ name: "interfaceId",
853
+ type: "bytes4",
854
+ internalType: "bytes4"
945
855
  }
946
856
  ],
947
- name: "getApproved",
948
857
  outputs: [
949
858
  {
950
- internalType: "address",
951
859
  name: "",
952
- type: "address"
860
+ type: "bool",
861
+ internalType: "bool"
953
862
  }
954
863
  ],
955
- stateMutability: "view",
956
- type: "function"
864
+ stateMutability: "view"
957
865
  },
958
866
  {
867
+ type: "function",
868
+ name: "symbol",
959
869
  inputs: [
960
- {
961
- internalType: "address",
962
- name: "tokenOwner",
963
- type: "address"
964
- }
965
870
  ],
966
- name: "getOrCreateRoyaltyVault",
967
871
  outputs: [
968
872
  {
969
- internalType: "address",
970
- name: "vault",
971
- type: "address"
873
+ name: "",
874
+ type: "string",
875
+ internalType: "string"
972
876
  }
973
877
  ],
974
- stateMutability: "nonpayable",
975
- type: "function"
878
+ stateMutability: "view"
976
879
  },
977
880
  {
881
+ type: "function",
882
+ name: "tokenInfo",
978
883
  inputs: [
979
884
  {
980
- internalType: "uint256",
981
885
  name: "tokenId",
982
- type: "uint256"
886
+ type: "uint256",
887
+ internalType: "uint256"
983
888
  }
984
889
  ],
985
- name: "getTerms",
986
890
  outputs: [
987
891
  {
892
+ name: "",
893
+ type: "tuple",
894
+ internalType: "struct IIpNFT.TokenInfo",
988
895
  components: [
989
896
  {
990
- internalType: "uint128",
991
- name: "price",
992
- type: "uint128"
897
+ name: "tokenURI",
898
+ type: "string",
899
+ internalType: "string"
993
900
  },
994
901
  {
995
- internalType: "uint32",
996
- name: "duration",
997
- type: "uint32"
902
+ name: "isIP",
903
+ type: "bool",
904
+ internalType: "bool"
998
905
  },
999
906
  {
1000
- internalType: "uint16",
1001
- name: "royaltyBps",
1002
- type: "uint16"
907
+ name: "contentHash",
908
+ type: "bytes32",
909
+ internalType: "bytes32"
1003
910
  },
1004
911
  {
1005
- internalType: "address",
1006
- name: "paymentToken",
1007
- type: "address"
912
+ name: "terms",
913
+ type: "tuple",
914
+ internalType: "struct IIpNFT.LicenseTerms",
915
+ components: [
916
+ {
917
+ name: "price",
918
+ type: "uint128",
919
+ internalType: "uint128"
920
+ },
921
+ {
922
+ name: "duration",
923
+ type: "uint32",
924
+ internalType: "uint32"
925
+ },
926
+ {
927
+ name: "royaltyBps",
928
+ type: "uint16",
929
+ internalType: "uint16"
930
+ },
931
+ {
932
+ name: "paymentToken",
933
+ type: "address",
934
+ internalType: "address"
935
+ }
936
+ ]
937
+ },
938
+ {
939
+ name: "status",
940
+ type: "uint8",
941
+ internalType: "enum IIpNFT.DataStatus"
1008
942
  }
1009
- ],
1010
- internalType: "struct IIpNFT.LicenseTerms",
1011
- name: "",
1012
- type: "tuple"
943
+ ]
1013
944
  }
1014
945
  ],
1015
- stateMutability: "view",
1016
- type: "function"
946
+ stateMutability: "view"
1017
947
  },
1018
948
  {
949
+ type: "function",
950
+ name: "tokenURI",
1019
951
  inputs: [
1020
952
  {
1021
- internalType: "address",
1022
- name: "owner",
1023
- type: "address"
1024
- },
1025
- {
1026
- internalType: "address",
1027
- name: "operator",
1028
- type: "address"
953
+ name: "_tokenId",
954
+ type: "uint256",
955
+ internalType: "uint256"
1029
956
  }
1030
957
  ],
1031
- name: "isApprovedForAll",
1032
958
  outputs: [
1033
959
  {
1034
- internalType: "bool",
1035
960
  name: "",
1036
- type: "bool"
961
+ type: "string",
962
+ internalType: "string"
1037
963
  }
1038
964
  ],
1039
- stateMutability: "view",
1040
- type: "function"
965
+ stateMutability: "view"
1041
966
  },
1042
967
  {
968
+ type: "function",
969
+ name: "transferFrom",
1043
970
  inputs: [
1044
971
  {
1045
- internalType: "uint256",
1046
- name: "_tokenId",
1047
- type: "uint256"
1048
- }
1049
- ],
1050
- name: "markDisputed",
1051
- outputs: [
1052
- ],
1053
- stateMutability: "nonpayable",
1054
- type: "function"
1055
- },
1056
- {
1057
- inputs: [
1058
- ],
1059
- name: "marketPlace",
1060
- outputs: [
972
+ name: "from",
973
+ type: "address",
974
+ internalType: "address"
975
+ },
1061
976
  {
1062
- internalType: "contract IMarketplace",
1063
- name: "",
1064
- type: "address"
977
+ name: "to",
978
+ type: "address",
979
+ internalType: "address"
980
+ },
981
+ {
982
+ name: "tokenId",
983
+ type: "uint256",
984
+ internalType: "uint256"
1065
985
  }
1066
986
  ],
1067
- stateMutability: "view",
1068
- type: "function"
1069
- },
1070
- {
1071
- inputs: [
1072
- ],
1073
- name: "maxRoyaltyBps",
1074
987
  outputs: [
1075
- {
1076
- internalType: "uint256",
1077
- name: "",
1078
- type: "uint256"
1079
- }
1080
988
  ],
1081
- stateMutability: "view",
1082
- type: "function"
989
+ stateMutability: "nonpayable"
1083
990
  },
1084
991
  {
992
+ type: "function",
993
+ name: "transferOwnership",
1085
994
  inputs: [
1086
- ],
1087
- name: "maxTermDuration",
1088
- outputs: [
1089
995
  {
1090
- internalType: "uint256",
1091
- name: "",
1092
- type: "uint256"
996
+ name: "newOwner",
997
+ type: "address",
998
+ internalType: "address"
1093
999
  }
1094
1000
  ],
1095
- stateMutability: "view",
1096
- type: "function"
1097
- },
1098
- {
1099
- inputs: [
1100
- ],
1101
- name: "minPrice",
1102
1001
  outputs: [
1103
- {
1104
- internalType: "uint256",
1105
- name: "",
1106
- type: "uint256"
1107
- }
1108
1002
  ],
1109
- stateMutability: "view",
1110
- type: "function"
1003
+ stateMutability: "nonpayable"
1111
1004
  },
1112
1005
  {
1006
+ type: "function",
1007
+ name: "unpause",
1113
1008
  inputs: [
1114
1009
  ],
1115
- name: "minTermDuration",
1116
1010
  outputs: [
1117
- {
1118
- internalType: "uint256",
1119
- name: "",
1120
- type: "uint256"
1121
- }
1122
1011
  ],
1123
- stateMutability: "view",
1124
- type: "function"
1012
+ stateMutability: "nonpayable"
1125
1013
  },
1126
1014
  {
1015
+ type: "function",
1016
+ name: "updateTerms",
1127
1017
  inputs: [
1128
1018
  {
1129
- internalType: "address",
1130
- name: "to",
1131
- type: "address"
1132
- },
1133
- {
1134
- internalType: "uint256",
1135
1019
  name: "tokenId",
1136
- type: "uint256"
1137
- },
1138
- {
1139
- internalType: "bytes32",
1140
- name: "creatorContentHash",
1141
- type: "bytes32"
1142
- },
1143
- {
1144
- internalType: "string",
1145
- name: "uri",
1146
- type: "string"
1020
+ type: "uint256",
1021
+ internalType: "uint256"
1147
1022
  },
1148
1023
  {
1024
+ name: "newTerms",
1025
+ type: "tuple",
1026
+ internalType: "struct IIpNFT.LicenseTerms",
1149
1027
  components: [
1150
1028
  {
1151
- internalType: "uint128",
1152
1029
  name: "price",
1153
- type: "uint128"
1030
+ type: "uint128",
1031
+ internalType: "uint128"
1154
1032
  },
1155
1033
  {
1156
- internalType: "uint32",
1157
1034
  name: "duration",
1158
- type: "uint32"
1035
+ type: "uint32",
1036
+ internalType: "uint32"
1159
1037
  },
1160
1038
  {
1161
- internalType: "uint16",
1162
1039
  name: "royaltyBps",
1163
- type: "uint16"
1040
+ type: "uint16",
1041
+ internalType: "uint16"
1164
1042
  },
1165
1043
  {
1166
- internalType: "address",
1167
1044
  name: "paymentToken",
1168
- type: "address"
1045
+ type: "address",
1046
+ internalType: "address"
1169
1047
  }
1170
- ],
1171
- internalType: "struct IIpNFT.LicenseTerms",
1172
- name: "licenseTerms",
1173
- type: "tuple"
1174
- },
1175
- {
1176
- internalType: "uint256",
1177
- name: "deadline",
1178
- type: "uint256"
1179
- },
1180
- {
1181
- internalType: "uint256[]",
1182
- name: "parents",
1183
- type: "uint256[]"
1184
- },
1185
- {
1186
- internalType: "bytes",
1187
- name: "signature",
1188
- type: "bytes"
1048
+ ]
1189
1049
  }
1190
1050
  ],
1191
- name: "mintWithSignature",
1192
1051
  outputs: [
1193
1052
  ],
1194
- stateMutability: "nonpayable",
1195
- type: "function"
1053
+ stateMutability: "nonpayable"
1196
1054
  },
1197
1055
  {
1056
+ type: "function",
1057
+ name: "upgradeToAndCall",
1198
1058
  inputs: [
1199
- ],
1200
- name: "name",
1201
- outputs: [
1202
1059
  {
1203
- internalType: "string",
1204
- name: "",
1205
- type: "string"
1060
+ name: "newImplementation",
1061
+ type: "address",
1062
+ internalType: "address"
1063
+ },
1064
+ {
1065
+ name: "data",
1066
+ type: "bytes",
1067
+ internalType: "bytes"
1206
1068
  }
1207
1069
  ],
1208
- stateMutability: "view",
1209
- type: "function"
1070
+ outputs: [
1071
+ ],
1072
+ stateMutability: "payable"
1210
1073
  },
1211
1074
  {
1075
+ type: "function",
1076
+ name: "wCAMP",
1212
1077
  inputs: [
1213
1078
  ],
1214
- name: "owner",
1215
1079
  outputs: [
1216
1080
  {
1217
- internalType: "address",
1218
1081
  name: "",
1219
- type: "address"
1082
+ type: "address",
1083
+ internalType: "address"
1220
1084
  }
1221
1085
  ],
1222
- stateMutability: "view",
1223
- type: "function"
1086
+ stateMutability: "view"
1224
1087
  },
1225
1088
  {
1089
+ type: "event",
1090
+ name: "AccessPurchased",
1226
1091
  inputs: [
1227
1092
  {
1228
- internalType: "uint256",
1229
1093
  name: "tokenId",
1230
- type: "uint256"
1231
- }
1232
- ],
1233
- name: "ownerOf",
1234
- outputs: [
1094
+ type: "uint256",
1095
+ indexed: true,
1096
+ internalType: "uint256"
1097
+ },
1235
1098
  {
1236
- internalType: "address",
1237
- name: "",
1238
- type: "address"
1099
+ name: "buyer",
1100
+ type: "address",
1101
+ indexed: true,
1102
+ internalType: "address"
1103
+ },
1104
+ {
1105
+ name: "periods",
1106
+ type: "uint32",
1107
+ indexed: false,
1108
+ internalType: "uint32"
1109
+ },
1110
+ {
1111
+ name: "newExpiry",
1112
+ type: "uint256",
1113
+ indexed: false,
1114
+ internalType: "uint256"
1115
+ },
1116
+ {
1117
+ name: "amountPaid",
1118
+ type: "uint256",
1119
+ indexed: false,
1120
+ internalType: "uint256"
1239
1121
  }
1240
1122
  ],
1241
- stateMutability: "view",
1242
- type: "function"
1123
+ anonymous: false
1124
+ },
1125
+ {
1126
+ type: "event",
1127
+ name: "AgentRegistered",
1128
+ inputs: [
1129
+ {
1130
+ name: "agentId",
1131
+ type: "uint256",
1132
+ indexed: true,
1133
+ internalType: "uint256"
1134
+ },
1135
+ {
1136
+ name: "ipNftId",
1137
+ type: "uint256",
1138
+ indexed: true,
1139
+ internalType: "uint256"
1140
+ },
1141
+ {
1142
+ name: "agentAddress",
1143
+ type: "address",
1144
+ indexed: false,
1145
+ internalType: "address"
1146
+ }
1147
+ ],
1148
+ anonymous: false
1149
+ },
1150
+ {
1151
+ type: "event",
1152
+ name: "Approval",
1153
+ inputs: [
1154
+ {
1155
+ name: "owner",
1156
+ type: "address",
1157
+ indexed: true,
1158
+ internalType: "address"
1159
+ },
1160
+ {
1161
+ name: "approved",
1162
+ type: "address",
1163
+ indexed: true,
1164
+ internalType: "address"
1165
+ },
1166
+ {
1167
+ name: "tokenId",
1168
+ type: "uint256",
1169
+ indexed: true,
1170
+ internalType: "uint256"
1171
+ }
1172
+ ],
1173
+ anonymous: false
1174
+ },
1175
+ {
1176
+ type: "event",
1177
+ name: "ApprovalForAll",
1178
+ inputs: [
1179
+ {
1180
+ name: "owner",
1181
+ type: "address",
1182
+ indexed: true,
1183
+ internalType: "address"
1184
+ },
1185
+ {
1186
+ name: "operator",
1187
+ type: "address",
1188
+ indexed: true,
1189
+ internalType: "address"
1190
+ },
1191
+ {
1192
+ name: "approved",
1193
+ type: "bool",
1194
+ indexed: false,
1195
+ internalType: "bool"
1196
+ }
1197
+ ],
1198
+ anonymous: false
1199
+ },
1200
+ {
1201
+ type: "event",
1202
+ name: "ChildIpTagged",
1203
+ inputs: [
1204
+ {
1205
+ name: "id",
1206
+ type: "uint256",
1207
+ indexed: true,
1208
+ internalType: "uint256"
1209
+ },
1210
+ {
1211
+ name: "childIp",
1212
+ type: "uint256",
1213
+ indexed: true,
1214
+ internalType: "uint256"
1215
+ },
1216
+ {
1217
+ name: "parentIp",
1218
+ type: "uint256",
1219
+ indexed: false,
1220
+ internalType: "uint256"
1221
+ }
1222
+ ],
1223
+ anonymous: false
1224
+ },
1225
+ {
1226
+ type: "event",
1227
+ name: "DataDeleted",
1228
+ inputs: [
1229
+ {
1230
+ name: "tokenId",
1231
+ type: "uint256",
1232
+ indexed: true,
1233
+ internalType: "uint256"
1234
+ },
1235
+ {
1236
+ name: "creator",
1237
+ type: "address",
1238
+ indexed: true,
1239
+ internalType: "address"
1240
+ }
1241
+ ],
1242
+ anonymous: false
1243
+ },
1244
+ {
1245
+ type: "event",
1246
+ name: "DataMinted",
1247
+ inputs: [
1248
+ {
1249
+ name: "tokenId",
1250
+ type: "uint256",
1251
+ indexed: true,
1252
+ internalType: "uint256"
1253
+ },
1254
+ {
1255
+ name: "creator",
1256
+ type: "address",
1257
+ indexed: true,
1258
+ internalType: "address"
1259
+ },
1260
+ {
1261
+ name: "contentHash",
1262
+ type: "bytes32",
1263
+ indexed: false,
1264
+ internalType: "bytes32"
1265
+ },
1266
+ {
1267
+ name: "parents",
1268
+ type: "uint256[]",
1269
+ indexed: false,
1270
+ internalType: "uint256[]"
1271
+ }
1272
+ ],
1273
+ anonymous: false
1274
+ },
1275
+ {
1276
+ type: "event",
1277
+ name: "DisputeAssertion",
1278
+ inputs: [
1279
+ {
1280
+ name: "id",
1281
+ type: "uint256",
1282
+ indexed: true,
1283
+ internalType: "uint256"
1284
+ },
1285
+ {
1286
+ name: "counterEvidenceHash",
1287
+ type: "bytes32",
1288
+ indexed: false,
1289
+ internalType: "bytes32"
1290
+ }
1291
+ ],
1292
+ anonymous: false
1293
+ },
1294
+ {
1295
+ type: "event",
1296
+ name: "DisputeCancelled",
1297
+ inputs: [
1298
+ {
1299
+ name: "id",
1300
+ type: "uint256",
1301
+ indexed: true,
1302
+ internalType: "uint256"
1303
+ }
1304
+ ],
1305
+ anonymous: false
1306
+ },
1307
+ {
1308
+ type: "event",
1309
+ name: "DisputeJudged",
1310
+ inputs: [
1311
+ {
1312
+ name: "id",
1313
+ type: "uint256",
1314
+ indexed: true,
1315
+ internalType: "uint256"
1316
+ },
1317
+ {
1318
+ name: "judgement",
1319
+ type: "bool",
1320
+ indexed: false,
1321
+ internalType: "bool"
1322
+ }
1323
+ ],
1324
+ anonymous: false
1325
+ },
1326
+ {
1327
+ type: "event",
1328
+ name: "DisputeModuleUpdated",
1329
+ inputs: [
1330
+ {
1331
+ name: "disputeModule",
1332
+ type: "address",
1333
+ indexed: true,
1334
+ internalType: "address"
1335
+ }
1336
+ ],
1337
+ anonymous: false
1338
+ },
1339
+ {
1340
+ type: "event",
1341
+ name: "DisputeRaised",
1342
+ inputs: [
1343
+ {
1344
+ name: "id",
1345
+ type: "uint256",
1346
+ indexed: true,
1347
+ internalType: "uint256"
1348
+ },
1349
+ {
1350
+ name: "initiator",
1351
+ type: "address",
1352
+ indexed: true,
1353
+ internalType: "address"
1354
+ },
1355
+ {
1356
+ name: "targetId",
1357
+ type: "uint256",
1358
+ indexed: true,
1359
+ internalType: "uint256"
1360
+ },
1361
+ {
1362
+ name: "disputeTag",
1363
+ type: "bytes32",
1364
+ indexed: false,
1365
+ internalType: "bytes32"
1366
+ }
1367
+ ],
1368
+ anonymous: false
1369
+ },
1370
+ {
1371
+ type: "event",
1372
+ name: "Initialized",
1373
+ inputs: [
1374
+ {
1375
+ name: "version",
1376
+ type: "uint64",
1377
+ indexed: false,
1378
+ internalType: "uint64"
1379
+ }
1380
+ ],
1381
+ anonymous: false
1382
+ },
1383
+ {
1384
+ type: "event",
1385
+ name: "MarketPlaceUpdated",
1386
+ inputs: [
1387
+ {
1388
+ name: "marketPlace",
1389
+ type: "address",
1390
+ indexed: true,
1391
+ internalType: "address"
1392
+ }
1393
+ ],
1394
+ anonymous: false
1395
+ },
1396
+ {
1397
+ type: "event",
1398
+ name: "OwnershipTransferred",
1399
+ inputs: [
1400
+ {
1401
+ name: "previousOwner",
1402
+ type: "address",
1403
+ indexed: true,
1404
+ internalType: "address"
1405
+ },
1406
+ {
1407
+ name: "newOwner",
1408
+ type: "address",
1409
+ indexed: true,
1410
+ internalType: "address"
1411
+ }
1412
+ ],
1413
+ anonymous: false
1414
+ },
1415
+ {
1416
+ type: "event",
1417
+ name: "Paused",
1418
+ inputs: [
1419
+ {
1420
+ name: "account",
1421
+ type: "address",
1422
+ indexed: false,
1423
+ internalType: "address"
1424
+ }
1425
+ ],
1426
+ anonymous: false
1427
+ },
1428
+ {
1429
+ type: "event",
1430
+ name: "RoyaltyPaid",
1431
+ inputs: [
1432
+ {
1433
+ name: "tokenId",
1434
+ type: "uint256",
1435
+ indexed: true,
1436
+ internalType: "uint256"
1437
+ },
1438
+ {
1439
+ name: "royaltyAmount",
1440
+ type: "uint256",
1441
+ indexed: false,
1442
+ internalType: "uint256"
1443
+ },
1444
+ {
1445
+ name: "creator",
1446
+ type: "address",
1447
+ indexed: false,
1448
+ internalType: "address"
1449
+ },
1450
+ {
1451
+ name: "protocolAmount",
1452
+ type: "uint256",
1453
+ indexed: false,
1454
+ internalType: "uint256"
1455
+ }
1456
+ ],
1457
+ anonymous: false
1458
+ },
1459
+ {
1460
+ type: "event",
1461
+ name: "SignerUpdated",
1462
+ inputs: [
1463
+ {
1464
+ name: "signer",
1465
+ type: "address",
1466
+ indexed: true,
1467
+ internalType: "address"
1468
+ }
1469
+ ],
1470
+ anonymous: false
1471
+ },
1472
+ {
1473
+ type: "event",
1474
+ name: "StatusUpdated",
1475
+ inputs: [
1476
+ {
1477
+ name: "tokenId",
1478
+ type: "uint256",
1479
+ indexed: true,
1480
+ internalType: "uint256"
1481
+ },
1482
+ {
1483
+ name: "status",
1484
+ type: "uint8",
1485
+ indexed: false,
1486
+ internalType: "enum IIpNFT.DataStatus"
1487
+ }
1488
+ ],
1489
+ anonymous: false
1490
+ },
1491
+ {
1492
+ type: "event",
1493
+ name: "TermsUpdated",
1494
+ inputs: [
1495
+ {
1496
+ name: "tokenId",
1497
+ type: "uint256",
1498
+ indexed: true,
1499
+ internalType: "uint256"
1500
+ },
1501
+ {
1502
+ name: "newPrice",
1503
+ type: "uint128",
1504
+ indexed: false,
1505
+ internalType: "uint128"
1506
+ },
1507
+ {
1508
+ name: "newDuration",
1509
+ type: "uint32",
1510
+ indexed: false,
1511
+ internalType: "uint32"
1512
+ },
1513
+ {
1514
+ name: "newRoyaltyBps",
1515
+ type: "uint16",
1516
+ indexed: false,
1517
+ internalType: "uint16"
1518
+ },
1519
+ {
1520
+ name: "paymentToken",
1521
+ type: "address",
1522
+ indexed: false,
1523
+ internalType: "address"
1524
+ }
1525
+ ],
1526
+ anonymous: false
1527
+ },
1528
+ {
1529
+ type: "event",
1530
+ name: "Transfer",
1531
+ inputs: [
1532
+ {
1533
+ name: "from",
1534
+ type: "address",
1535
+ indexed: true,
1536
+ internalType: "address"
1537
+ },
1538
+ {
1539
+ name: "to",
1540
+ type: "address",
1541
+ indexed: true,
1542
+ internalType: "address"
1543
+ },
1544
+ {
1545
+ name: "tokenId",
1546
+ type: "uint256",
1547
+ indexed: true,
1548
+ internalType: "uint256"
1549
+ }
1550
+ ],
1551
+ anonymous: false
1552
+ },
1553
+ {
1554
+ type: "event",
1555
+ name: "Unpaused",
1556
+ inputs: [
1557
+ {
1558
+ name: "account",
1559
+ type: "address",
1560
+ indexed: false,
1561
+ internalType: "address"
1562
+ }
1563
+ ],
1564
+ anonymous: false
1565
+ },
1566
+ {
1567
+ type: "event",
1568
+ name: "Upgraded",
1569
+ inputs: [
1570
+ {
1571
+ name: "implementation",
1572
+ type: "address",
1573
+ indexed: true,
1574
+ internalType: "address"
1575
+ }
1576
+ ],
1577
+ anonymous: false
1578
+ },
1579
+ {
1580
+ type: "error",
1581
+ name: "AddressEmptyCode",
1582
+ inputs: [
1583
+ {
1584
+ name: "target",
1585
+ type: "address",
1586
+ internalType: "address"
1587
+ }
1588
+ ]
1589
+ },
1590
+ {
1591
+ type: "error",
1592
+ name: "ERC1967InvalidImplementation",
1593
+ inputs: [
1594
+ {
1595
+ name: "implementation",
1596
+ type: "address",
1597
+ internalType: "address"
1598
+ }
1599
+ ]
1600
+ },
1601
+ {
1602
+ type: "error",
1603
+ name: "ERC1967NonPayable",
1604
+ inputs: [
1605
+ ]
1606
+ },
1607
+ {
1608
+ type: "error",
1609
+ name: "ERC721IncorrectOwner",
1610
+ inputs: [
1611
+ {
1612
+ name: "sender",
1613
+ type: "address",
1614
+ internalType: "address"
1615
+ },
1616
+ {
1617
+ name: "tokenId",
1618
+ type: "uint256",
1619
+ internalType: "uint256"
1620
+ },
1621
+ {
1622
+ name: "owner",
1623
+ type: "address",
1624
+ internalType: "address"
1625
+ }
1626
+ ]
1627
+ },
1628
+ {
1629
+ type: "error",
1630
+ name: "ERC721InsufficientApproval",
1631
+ inputs: [
1632
+ {
1633
+ name: "operator",
1634
+ type: "address",
1635
+ internalType: "address"
1636
+ },
1637
+ {
1638
+ name: "tokenId",
1639
+ type: "uint256",
1640
+ internalType: "uint256"
1641
+ }
1642
+ ]
1643
+ },
1644
+ {
1645
+ type: "error",
1646
+ name: "ERC721InvalidApprover",
1647
+ inputs: [
1648
+ {
1649
+ name: "approver",
1650
+ type: "address",
1651
+ internalType: "address"
1652
+ }
1653
+ ]
1654
+ },
1655
+ {
1656
+ type: "error",
1657
+ name: "ERC721InvalidOperator",
1658
+ inputs: [
1659
+ {
1660
+ name: "operator",
1661
+ type: "address",
1662
+ internalType: "address"
1663
+ }
1664
+ ]
1665
+ },
1666
+ {
1667
+ type: "error",
1668
+ name: "ERC721InvalidOwner",
1669
+ inputs: [
1670
+ {
1671
+ name: "owner",
1672
+ type: "address",
1673
+ internalType: "address"
1674
+ }
1675
+ ]
1676
+ },
1677
+ {
1678
+ type: "error",
1679
+ name: "ERC721InvalidReceiver",
1680
+ inputs: [
1681
+ {
1682
+ name: "receiver",
1683
+ type: "address",
1684
+ internalType: "address"
1685
+ }
1686
+ ]
1687
+ },
1688
+ {
1689
+ type: "error",
1690
+ name: "ERC721InvalidSender",
1691
+ inputs: [
1692
+ {
1693
+ name: "sender",
1694
+ type: "address",
1695
+ internalType: "address"
1696
+ }
1697
+ ]
1698
+ },
1699
+ {
1700
+ type: "error",
1701
+ name: "ERC721NonexistentToken",
1702
+ inputs: [
1703
+ {
1704
+ name: "tokenId",
1705
+ type: "uint256",
1706
+ internalType: "uint256"
1707
+ }
1708
+ ]
1709
+ },
1710
+ {
1711
+ type: "error",
1712
+ name: "EnforcedPause",
1713
+ inputs: [
1714
+ ]
1715
+ },
1716
+ {
1717
+ type: "error",
1718
+ name: "ExpectedPause",
1719
+ inputs: [
1720
+ ]
1721
+ },
1722
+ {
1723
+ type: "error",
1724
+ name: "FailedCall",
1725
+ inputs: [
1726
+ ]
1727
+ },
1728
+ {
1729
+ type: "error",
1730
+ name: "InvalidDeadline",
1731
+ inputs: [
1732
+ ]
1733
+ },
1734
+ {
1735
+ type: "error",
1736
+ name: "InvalidDuration",
1737
+ inputs: [
1738
+ ]
1739
+ },
1740
+ {
1741
+ type: "error",
1742
+ name: "InvalidInitialization",
1743
+ inputs: [
1744
+ ]
1745
+ },
1746
+ {
1747
+ type: "error",
1748
+ name: "InvalidPaymentToken",
1749
+ inputs: [
1750
+ ]
1751
+ },
1752
+ {
1753
+ type: "error",
1754
+ name: "InvalidPrice",
1755
+ inputs: [
1756
+ ]
1243
1757
  },
1244
1758
  {
1759
+ type: "error",
1760
+ name: "InvalidRoyalty",
1245
1761
  inputs: [
1246
- ],
1247
- name: "pause",
1248
- outputs: [
1249
- ],
1250
- stateMutability: "nonpayable",
1251
- type: "function"
1762
+ ]
1252
1763
  },
1253
1764
  {
1765
+ type: "error",
1766
+ name: "InvalidSignature",
1254
1767
  inputs: [
1255
- ],
1256
- name: "paused",
1257
- outputs: [
1258
- {
1259
- internalType: "bool",
1260
- name: "",
1261
- type: "bool"
1262
- }
1263
- ],
1264
- stateMutability: "view",
1265
- type: "function"
1768
+ ]
1266
1769
  },
1267
1770
  {
1771
+ type: "error",
1772
+ name: "NotInitializing",
1268
1773
  inputs: [
1269
- ],
1270
- name: "renounceOwnership",
1271
- outputs: [
1272
- ],
1273
- stateMutability: "nonpayable",
1274
- type: "function"
1774
+ ]
1275
1775
  },
1276
1776
  {
1777
+ type: "error",
1778
+ name: "NotTokenOwner",
1277
1779
  inputs: [
1278
- {
1279
- internalType: "address",
1280
- name: "from",
1281
- type: "address"
1282
- },
1283
- {
1284
- internalType: "address",
1285
- name: "to",
1286
- type: "address"
1287
- },
1288
- {
1289
- internalType: "uint256",
1290
- name: "tokenId",
1291
- type: "uint256"
1292
- }
1293
- ],
1294
- name: "safeTransferFrom",
1295
- outputs: [
1296
- ],
1297
- stateMutability: "nonpayable",
1298
- type: "function"
1780
+ ]
1299
1781
  },
1300
1782
  {
1783
+ type: "error",
1784
+ name: "OwnableInvalidOwner",
1301
1785
  inputs: [
1302
1786
  {
1303
- internalType: "address",
1304
- name: "from",
1305
- type: "address"
1306
- },
1307
- {
1308
- internalType: "address",
1309
- name: "to",
1310
- type: "address"
1311
- },
1312
- {
1313
- internalType: "uint256",
1314
- name: "tokenId",
1315
- type: "uint256"
1316
- },
1317
- {
1318
- internalType: "bytes",
1319
- name: "data",
1320
- type: "bytes"
1787
+ name: "owner",
1788
+ type: "address",
1789
+ internalType: "address"
1321
1790
  }
1322
- ],
1323
- name: "safeTransferFrom",
1324
- outputs: [
1325
- ],
1326
- stateMutability: "nonpayable",
1327
- type: "function"
1791
+ ]
1328
1792
  },
1329
1793
  {
1794
+ type: "error",
1795
+ name: "OwnableUnauthorizedAccount",
1330
1796
  inputs: [
1331
1797
  {
1332
- internalType: "address",
1333
- name: "operator",
1334
- type: "address"
1335
- },
1336
- {
1337
- internalType: "bool",
1338
- name: "approved",
1339
- type: "bool"
1798
+ name: "account",
1799
+ type: "address",
1800
+ internalType: "address"
1340
1801
  }
1341
- ],
1342
- name: "setApprovalForAll",
1343
- outputs: [
1344
- ],
1345
- stateMutability: "nonpayable",
1346
- type: "function"
1802
+ ]
1347
1803
  },
1348
1804
  {
1805
+ type: "error",
1806
+ name: "TokenAlreadyExists",
1349
1807
  inputs: [
1350
- {
1351
- internalType: "address",
1352
- name: "_disputeModule",
1353
- type: "address"
1354
- }
1355
- ],
1356
- name: "setDisputeModule",
1357
- outputs: [
1358
- ],
1359
- stateMutability: "nonpayable",
1360
- type: "function"
1808
+ ]
1361
1809
  },
1362
1810
  {
1811
+ type: "error",
1812
+ name: "UUPSUnauthorizedCallContext",
1363
1813
  inputs: [
1364
- {
1365
- internalType: "address",
1366
- name: "_marketPlace",
1367
- type: "address"
1368
- }
1369
- ],
1370
- name: "setMarketPlace",
1371
- outputs: [
1372
- ],
1373
- stateMutability: "nonpayable",
1374
- type: "function"
1814
+ ]
1375
1815
  },
1376
1816
  {
1817
+ type: "error",
1818
+ name: "UUPSUnsupportedProxiableUUID",
1377
1819
  inputs: [
1378
1820
  {
1379
- internalType: "address",
1380
- name: "_signer",
1381
- type: "address"
1821
+ name: "slot",
1822
+ type: "bytes32",
1823
+ internalType: "bytes32"
1382
1824
  }
1383
- ],
1384
- name: "setSigner",
1385
- outputs: [
1386
- ],
1387
- stateMutability: "nonpayable",
1388
- type: "function"
1825
+ ]
1389
1826
  },
1390
1827
  {
1828
+ type: "error",
1829
+ name: "Unauthorized",
1391
1830
  inputs: [
1392
- ],
1393
- name: "signer",
1394
- outputs: [
1395
- {
1396
- internalType: "address",
1397
- name: "",
1398
- type: "address"
1399
- }
1400
- ],
1401
- stateMutability: "view",
1402
- type: "function"
1403
- },
1831
+ ]
1832
+ }
1833
+ ];
1834
+
1835
+ var marketplaceMainnetAbi = [
1404
1836
  {
1837
+ type: "function",
1838
+ name: "MAX_PARENTS",
1405
1839
  inputs: [
1406
- {
1407
- internalType: "bytes4",
1408
- name: "interfaceId",
1409
- type: "bytes4"
1410
- }
1411
1840
  ],
1412
- name: "supportsInterface",
1413
1841
  outputs: [
1414
1842
  {
1415
- internalType: "bool",
1416
1843
  name: "",
1417
- type: "bool"
1844
+ type: "uint256",
1845
+ internalType: "uint256"
1418
1846
  }
1419
1847
  ],
1420
- stateMutability: "view",
1421
- type: "function"
1848
+ stateMutability: "view"
1422
1849
  },
1423
1850
  {
1851
+ type: "function",
1852
+ name: "UPGRADE_INTERFACE_VERSION",
1424
1853
  inputs: [
1425
1854
  ],
1426
- name: "symbol",
1427
1855
  outputs: [
1428
1856
  {
1429
- internalType: "string",
1430
1857
  name: "",
1431
- type: "string"
1858
+ type: "string",
1859
+ internalType: "string"
1432
1860
  }
1433
1861
  ],
1434
- stateMutability: "view",
1435
- type: "function"
1862
+ stateMutability: "view"
1436
1863
  },
1437
1864
  {
1865
+ type: "function",
1866
+ name: "buyAccess",
1438
1867
  inputs: [
1439
1868
  {
1440
- internalType: "uint256",
1441
- name: "",
1442
- type: "uint256"
1443
- }
1444
- ],
1445
- name: "tokenInfo",
1446
- outputs: [
1869
+ name: "buyer",
1870
+ type: "address",
1871
+ internalType: "address"
1872
+ },
1447
1873
  {
1448
- internalType: "string",
1449
- name: "tokenURI",
1450
- type: "string"
1874
+ name: "tokenId",
1875
+ type: "uint256",
1876
+ internalType: "uint256"
1451
1877
  },
1452
1878
  {
1453
- internalType: "bytes32",
1454
- name: "contentHash",
1455
- type: "bytes32"
1879
+ name: "expectedPrice",
1880
+ type: "uint256",
1881
+ internalType: "uint256"
1456
1882
  },
1457
1883
  {
1458
- components: [
1459
- {
1460
- internalType: "uint128",
1461
- name: "price",
1462
- type: "uint128"
1463
- },
1464
- {
1465
- internalType: "uint32",
1466
- name: "duration",
1467
- type: "uint32"
1468
- },
1469
- {
1470
- internalType: "uint16",
1471
- name: "royaltyBps",
1472
- type: "uint16"
1473
- },
1474
- {
1475
- internalType: "address",
1476
- name: "paymentToken",
1477
- type: "address"
1478
- }
1479
- ],
1480
- internalType: "struct IIpNFT.LicenseTerms",
1481
- name: "terms",
1482
- type: "tuple"
1884
+ name: "expectedDuration",
1885
+ type: "uint32",
1886
+ internalType: "uint32"
1483
1887
  },
1484
1888
  {
1485
- internalType: "enum IIpNFT.DataStatus",
1486
- name: "status",
1487
- type: "uint8"
1889
+ name: "expectedPaymentToken",
1890
+ type: "address",
1891
+ internalType: "address"
1488
1892
  }
1489
1893
  ],
1490
- stateMutability: "view",
1491
- type: "function"
1894
+ outputs: [
1895
+ ],
1896
+ stateMutability: "payable"
1492
1897
  },
1493
1898
  {
1899
+ type: "function",
1900
+ name: "hasParentIp",
1494
1901
  inputs: [
1495
1902
  {
1496
- internalType: "uint256",
1497
- name: "_tokenId",
1498
- type: "uint256"
1903
+ name: "ipId",
1904
+ type: "uint256",
1905
+ internalType: "uint256"
1906
+ },
1907
+ {
1908
+ name: "parent",
1909
+ type: "uint256",
1910
+ internalType: "uint256"
1499
1911
  }
1500
1912
  ],
1501
- name: "tokenURI",
1502
1913
  outputs: [
1503
1914
  {
1504
- internalType: "string",
1505
1915
  name: "",
1506
- type: "string"
1916
+ type: "bool",
1917
+ internalType: "bool"
1507
1918
  }
1508
1919
  ],
1509
- stateMutability: "view",
1510
- type: "function"
1920
+ stateMutability: "view"
1511
1921
  },
1512
1922
  {
1923
+ type: "function",
1924
+ name: "initialize",
1513
1925
  inputs: [
1514
1926
  {
1515
- internalType: "address",
1516
- name: "from",
1517
- type: "address"
1927
+ name: "dataNFT_",
1928
+ type: "address",
1929
+ internalType: "address"
1518
1930
  },
1519
1931
  {
1520
- internalType: "address",
1521
- name: "to",
1522
- type: "address"
1932
+ name: "protocolFeeBps_",
1933
+ type: "uint16",
1934
+ internalType: "uint16"
1523
1935
  },
1524
1936
  {
1525
- internalType: "uint256",
1526
- name: "tokenId",
1527
- type: "uint256"
1528
- }
1529
- ],
1530
- name: "transferFrom",
1531
- outputs: [
1532
- ],
1533
- stateMutability: "nonpayable",
1534
- type: "function"
1535
- },
1536
- {
1537
- inputs: [
1538
- {
1539
- internalType: "address",
1540
- name: "newOwner",
1541
- type: "address"
1937
+ name: "treasury_",
1938
+ type: "address",
1939
+ internalType: "address"
1542
1940
  }
1543
1941
  ],
1544
- name: "transferOwnership",
1545
1942
  outputs: [
1546
1943
  ],
1547
- stateMutability: "nonpayable",
1548
- type: "function"
1944
+ stateMutability: "nonpayable"
1549
1945
  },
1550
1946
  {
1947
+ type: "function",
1948
+ name: "ipToken",
1551
1949
  inputs: [
1552
1950
  ],
1553
- name: "unpause",
1554
1951
  outputs: [
1555
- ],
1556
- stateMutability: "nonpayable",
1557
- type: "function"
1558
- },
1559
- {
1560
- inputs: [
1561
- {
1562
- internalType: "uint256",
1563
- name: "tokenId",
1564
- type: "uint256"
1565
- },
1566
1952
  {
1567
- components: [
1568
- {
1569
- internalType: "uint128",
1570
- name: "price",
1571
- type: "uint128"
1572
- },
1573
- {
1574
- internalType: "uint32",
1575
- name: "duration",
1576
- type: "uint32"
1577
- },
1578
- {
1579
- internalType: "uint16",
1580
- name: "royaltyBps",
1581
- type: "uint16"
1582
- },
1583
- {
1584
- internalType: "address",
1585
- name: "paymentToken",
1586
- type: "address"
1587
- }
1588
- ],
1589
- internalType: "struct IIpNFT.LicenseTerms",
1590
- name: "newTerms",
1591
- type: "tuple"
1953
+ name: "",
1954
+ type: "address",
1955
+ internalType: "contract IIpNFT"
1592
1956
  }
1593
1957
  ],
1594
- name: "updateTerms",
1595
- outputs: [
1596
- ],
1597
- stateMutability: "nonpayable",
1598
- type: "function"
1958
+ stateMutability: "view"
1599
1959
  },
1600
1960
  {
1961
+ type: "function",
1962
+ name: "owner",
1601
1963
  inputs: [
1602
1964
  ],
1603
- name: "wCAMP",
1604
1965
  outputs: [
1605
1966
  {
1606
- internalType: "address",
1607
1967
  name: "",
1608
- type: "address"
1968
+ type: "address",
1969
+ internalType: "address"
1609
1970
  }
1610
1971
  ],
1611
- stateMutability: "view",
1612
- type: "function"
1613
- }
1614
- ];
1615
-
1616
- var marketplaceMainnetAbi = [
1972
+ stateMutability: "view"
1973
+ },
1617
1974
  {
1975
+ type: "function",
1976
+ name: "parentRoyaltyPercent",
1618
1977
  inputs: [
1619
1978
  {
1620
- internalType: "address",
1621
- name: "dataNFT_",
1622
- type: "address"
1623
- },
1624
- {
1625
- internalType: "uint16",
1626
- name: "protocolFeeBps_",
1627
- type: "uint16"
1979
+ name: "",
1980
+ type: "uint256",
1981
+ internalType: "uint256"
1628
1982
  },
1629
1983
  {
1630
- internalType: "address",
1631
- name: "treasury_",
1632
- type: "address"
1984
+ name: "",
1985
+ type: "uint256",
1986
+ internalType: "uint256"
1633
1987
  }
1634
1988
  ],
1635
- stateMutability: "nonpayable",
1636
- type: "constructor"
1637
- },
1638
- {
1639
- inputs: [
1640
- ],
1641
- name: "EnforcedPause",
1642
- type: "error"
1643
- },
1644
- {
1645
- inputs: [
1989
+ outputs: [
1990
+ {
1991
+ name: "",
1992
+ type: "uint16",
1993
+ internalType: "uint16"
1994
+ }
1646
1995
  ],
1647
- name: "ExpectedPause",
1648
- type: "error"
1996
+ stateMutability: "view"
1649
1997
  },
1650
1998
  {
1999
+ type: "function",
2000
+ name: "pause",
1651
2001
  inputs: [
1652
2002
  ],
1653
- name: "InvalidParentIp",
1654
- type: "error"
2003
+ outputs: [
2004
+ ],
2005
+ stateMutability: "nonpayable"
1655
2006
  },
1656
2007
  {
2008
+ type: "function",
2009
+ name: "paused",
1657
2010
  inputs: [
1658
2011
  ],
1659
- name: "InvalidPayment",
1660
- type: "error"
2012
+ outputs: [
2013
+ {
2014
+ name: "",
2015
+ type: "bool",
2016
+ internalType: "bool"
2017
+ }
2018
+ ],
2019
+ stateMutability: "view"
1661
2020
  },
1662
2021
  {
2022
+ type: "function",
2023
+ name: "protocolFeeBps",
1663
2024
  inputs: [
1664
2025
  ],
1665
- name: "InvalidRoyalty",
1666
- type: "error"
2026
+ outputs: [
2027
+ {
2028
+ name: "",
2029
+ type: "uint16",
2030
+ internalType: "uint16"
2031
+ }
2032
+ ],
2033
+ stateMutability: "view"
1667
2034
  },
1668
2035
  {
2036
+ type: "function",
2037
+ name: "proxiableUUID",
1669
2038
  inputs: [
1670
2039
  ],
1671
- name: "MaxParentsExceeded",
1672
- type: "error"
2040
+ outputs: [
2041
+ {
2042
+ name: "",
2043
+ type: "bytes32",
2044
+ internalType: "bytes32"
2045
+ }
2046
+ ],
2047
+ stateMutability: "view"
1673
2048
  },
1674
2049
  {
2050
+ type: "function",
2051
+ name: "renounceOwnership",
1675
2052
  inputs: [
1676
2053
  ],
1677
- name: "MaxRoyaltyExceeded",
1678
- type: "error"
2054
+ outputs: [
2055
+ ],
2056
+ stateMutability: "nonpayable"
1679
2057
  },
1680
2058
  {
2059
+ type: "function",
2060
+ name: "royaltyStack",
1681
2061
  inputs: [
2062
+ {
2063
+ name: "",
2064
+ type: "uint256",
2065
+ internalType: "uint256"
2066
+ }
1682
2067
  ],
1683
- name: "NoSubscriptionFound",
1684
- type: "error"
2068
+ outputs: [
2069
+ {
2070
+ name: "",
2071
+ type: "uint16",
2072
+ internalType: "uint16"
2073
+ }
2074
+ ],
2075
+ stateMutability: "view"
1685
2076
  },
1686
2077
  {
2078
+ type: "function",
2079
+ name: "setParentIpsAndRoyaltyPercents",
1687
2080
  inputs: [
1688
2081
  {
1689
- internalType: "address",
1690
- name: "owner",
1691
- type: "address"
2082
+ name: "childIpId",
2083
+ type: "uint256",
2084
+ internalType: "uint256"
2085
+ },
2086
+ {
2087
+ name: "parents",
2088
+ type: "uint256[]",
2089
+ internalType: "uint256[]"
2090
+ },
2091
+ {
2092
+ name: "creator",
2093
+ type: "address",
2094
+ internalType: "address"
1692
2095
  }
1693
2096
  ],
1694
- name: "OwnableInvalidOwner",
1695
- type: "error"
2097
+ outputs: [
2098
+ ],
2099
+ stateMutability: "nonpayable"
1696
2100
  },
1697
2101
  {
2102
+ type: "function",
2103
+ name: "subscriptionExpiry",
1698
2104
  inputs: [
1699
2105
  {
1700
- internalType: "address",
1701
- name: "account",
1702
- type: "address"
2106
+ name: "",
2107
+ type: "uint256",
2108
+ internalType: "uint256"
2109
+ },
2110
+ {
2111
+ name: "",
2112
+ type: "address",
2113
+ internalType: "address"
1703
2114
  }
1704
2115
  ],
1705
- name: "OwnableUnauthorizedAccount",
1706
- type: "error"
2116
+ outputs: [
2117
+ {
2118
+ name: "",
2119
+ type: "uint256",
2120
+ internalType: "uint256"
2121
+ }
2122
+ ],
2123
+ stateMutability: "view"
1707
2124
  },
1708
2125
  {
2126
+ type: "function",
2127
+ name: "transferOwnership",
1709
2128
  inputs: [
2129
+ {
2130
+ name: "newOwner",
2131
+ type: "address",
2132
+ internalType: "address"
2133
+ }
1710
2134
  ],
1711
- name: "ParentAlreadyExists",
1712
- type: "error"
2135
+ outputs: [
2136
+ ],
2137
+ stateMutability: "nonpayable"
1713
2138
  },
1714
2139
  {
2140
+ type: "function",
2141
+ name: "treasury",
1715
2142
  inputs: [
1716
2143
  ],
1717
- name: "ParentIpAlreadyDeleted",
1718
- type: "error"
2144
+ outputs: [
2145
+ {
2146
+ name: "",
2147
+ type: "address",
2148
+ internalType: "address"
2149
+ }
2150
+ ],
2151
+ stateMutability: "view"
1719
2152
  },
1720
2153
  {
2154
+ type: "function",
2155
+ name: "unpause",
1721
2156
  inputs: [
1722
2157
  ],
1723
- name: "ParentIpAlreadyDisputed",
1724
- type: "error"
2158
+ outputs: [
2159
+ ],
2160
+ stateMutability: "nonpayable"
1725
2161
  },
1726
2162
  {
2163
+ type: "function",
2164
+ name: "updateProtocolFee",
1727
2165
  inputs: [
2166
+ {
2167
+ name: "newFeeBps",
2168
+ type: "uint16",
2169
+ internalType: "uint16"
2170
+ }
1728
2171
  ],
1729
- name: "TermsMismatch",
1730
- type: "error"
2172
+ outputs: [
2173
+ ],
2174
+ stateMutability: "nonpayable"
1731
2175
  },
1732
2176
  {
2177
+ type: "function",
2178
+ name: "updateTreasury",
1733
2179
  inputs: [
2180
+ {
2181
+ name: "newTreasury",
2182
+ type: "address",
2183
+ internalType: "address"
2184
+ }
1734
2185
  ],
1735
- name: "Unauthorized",
1736
- type: "error"
2186
+ outputs: [
2187
+ ],
2188
+ stateMutability: "nonpayable"
1737
2189
  },
1738
2190
  {
2191
+ type: "function",
2192
+ name: "upgradeToAndCall",
1739
2193
  inputs: [
2194
+ {
2195
+ name: "newImplementation",
2196
+ type: "address",
2197
+ internalType: "address"
2198
+ },
2199
+ {
2200
+ name: "data",
2201
+ type: "bytes",
2202
+ internalType: "bytes"
2203
+ }
1740
2204
  ],
1741
- name: "ZeroAddress",
1742
- type: "error"
2205
+ outputs: [
2206
+ ],
2207
+ stateMutability: "payable"
1743
2208
  },
1744
2209
  {
1745
- anonymous: false,
2210
+ type: "event",
2211
+ name: "AccessPurchased",
1746
2212
  inputs: [
1747
2213
  {
1748
- indexed: true,
1749
- internalType: "uint256",
1750
2214
  name: "tokenId",
1751
- type: "uint256"
2215
+ type: "uint256",
2216
+ indexed: true,
2217
+ internalType: "uint256"
1752
2218
  },
1753
2219
  {
1754
- indexed: true,
1755
- internalType: "address",
1756
2220
  name: "buyer",
1757
- type: "address"
2221
+ type: "address",
2222
+ indexed: true,
2223
+ internalType: "address"
1758
2224
  },
1759
2225
  {
1760
- indexed: false,
1761
- internalType: "uint32",
1762
2226
  name: "periods",
1763
- type: "uint32"
2227
+ type: "uint32",
2228
+ indexed: false,
2229
+ internalType: "uint32"
1764
2230
  },
1765
2231
  {
1766
- indexed: false,
1767
- internalType: "uint256",
1768
2232
  name: "newExpiry",
1769
- type: "uint256"
2233
+ type: "uint256",
2234
+ indexed: false,
2235
+ internalType: "uint256"
1770
2236
  },
1771
2237
  {
1772
- indexed: false,
1773
- internalType: "uint256",
1774
2238
  name: "amountPaid",
1775
- type: "uint256"
2239
+ type: "uint256",
2240
+ indexed: false,
2241
+ internalType: "uint256"
1776
2242
  }
1777
2243
  ],
1778
- name: "AccessPurchased",
1779
- type: "event"
2244
+ anonymous: false
1780
2245
  },
1781
2246
  {
1782
- anonymous: false,
2247
+ type: "event",
2248
+ name: "AgentRegistered",
1783
2249
  inputs: [
1784
2250
  {
2251
+ name: "agentId",
2252
+ type: "uint256",
1785
2253
  indexed: true,
1786
- internalType: "uint256",
1787
- name: "id",
1788
- type: "uint256"
2254
+ internalType: "uint256"
1789
2255
  },
1790
2256
  {
2257
+ name: "ipNftId",
2258
+ type: "uint256",
1791
2259
  indexed: true,
1792
- internalType: "uint256",
1793
- name: "childIp",
1794
- type: "uint256"
2260
+ internalType: "uint256"
1795
2261
  },
1796
2262
  {
2263
+ name: "agentAddress",
2264
+ type: "address",
1797
2265
  indexed: false,
1798
- internalType: "uint256",
1799
- name: "parentIp",
1800
- type: "uint256"
2266
+ internalType: "address"
1801
2267
  }
1802
2268
  ],
1803
- name: "ChildIpTagged",
1804
- type: "event"
2269
+ anonymous: false
1805
2270
  },
1806
2271
  {
1807
- anonymous: false,
2272
+ type: "event",
2273
+ name: "ChildIpTagged",
1808
2274
  inputs: [
1809
2275
  {
2276
+ name: "id",
2277
+ type: "uint256",
1810
2278
  indexed: true,
1811
- internalType: "uint256",
1812
- name: "tokenId",
1813
- type: "uint256"
2279
+ internalType: "uint256"
1814
2280
  },
1815
2281
  {
2282
+ name: "childIp",
2283
+ type: "uint256",
1816
2284
  indexed: true,
1817
- internalType: "address",
1818
- name: "creator",
1819
- type: "address"
2285
+ internalType: "uint256"
2286
+ },
2287
+ {
2288
+ name: "parentIp",
2289
+ type: "uint256",
2290
+ indexed: false,
2291
+ internalType: "uint256"
1820
2292
  }
1821
2293
  ],
1822
- name: "DataDeleted",
1823
- type: "event"
2294
+ anonymous: false
1824
2295
  },
1825
2296
  {
1826
- anonymous: false,
2297
+ type: "event",
2298
+ name: "DataDeleted",
1827
2299
  inputs: [
1828
2300
  {
1829
- indexed: true,
1830
- internalType: "uint256",
1831
2301
  name: "tokenId",
1832
- type: "uint256"
2302
+ type: "uint256",
2303
+ indexed: true,
2304
+ internalType: "uint256"
1833
2305
  },
1834
2306
  {
2307
+ name: "creator",
2308
+ type: "address",
2309
+ indexed: true,
2310
+ internalType: "address"
2311
+ }
2312
+ ],
2313
+ anonymous: false
2314
+ },
2315
+ {
2316
+ type: "event",
2317
+ name: "DataMinted",
2318
+ inputs: [
2319
+ {
2320
+ name: "tokenId",
2321
+ type: "uint256",
1835
2322
  indexed: true,
1836
- internalType: "address",
2323
+ internalType: "uint256"
2324
+ },
2325
+ {
1837
2326
  name: "creator",
1838
- type: "address"
2327
+ type: "address",
2328
+ indexed: true,
2329
+ internalType: "address"
1839
2330
  },
1840
2331
  {
1841
- indexed: false,
1842
- internalType: "bytes32",
1843
2332
  name: "contentHash",
1844
- type: "bytes32"
2333
+ type: "bytes32",
2334
+ indexed: false,
2335
+ internalType: "bytes32"
2336
+ },
2337
+ {
2338
+ name: "parents",
2339
+ type: "uint256[]",
2340
+ indexed: false,
2341
+ internalType: "uint256[]"
1845
2342
  }
1846
2343
  ],
1847
- name: "DataMinted",
1848
- type: "event"
2344
+ anonymous: false
1849
2345
  },
1850
2346
  {
1851
- anonymous: false,
2347
+ type: "event",
2348
+ name: "DisputeAssertion",
1852
2349
  inputs: [
1853
2350
  {
1854
- indexed: true,
1855
- internalType: "uint256",
1856
2351
  name: "id",
1857
- type: "uint256"
2352
+ type: "uint256",
2353
+ indexed: true,
2354
+ internalType: "uint256"
1858
2355
  },
1859
2356
  {
1860
- indexed: false,
1861
- internalType: "bytes32",
1862
2357
  name: "counterEvidenceHash",
1863
- type: "bytes32"
2358
+ type: "bytes32",
2359
+ indexed: false,
2360
+ internalType: "bytes32"
1864
2361
  }
1865
2362
  ],
1866
- name: "DisputeAssertion",
1867
- type: "event"
2363
+ anonymous: false
1868
2364
  },
1869
2365
  {
1870
- anonymous: false,
2366
+ type: "event",
2367
+ name: "DisputeCancelled",
1871
2368
  inputs: [
1872
2369
  {
1873
- indexed: true,
1874
- internalType: "uint256",
1875
2370
  name: "id",
1876
- type: "uint256"
2371
+ type: "uint256",
2372
+ indexed: true,
2373
+ internalType: "uint256"
1877
2374
  }
1878
2375
  ],
1879
- name: "DisputeCancelled",
1880
- type: "event"
2376
+ anonymous: false
1881
2377
  },
1882
2378
  {
1883
- anonymous: false,
2379
+ type: "event",
2380
+ name: "DisputeJudged",
1884
2381
  inputs: [
1885
2382
  {
1886
- indexed: true,
1887
- internalType: "uint256",
1888
2383
  name: "id",
1889
- type: "uint256"
2384
+ type: "uint256",
2385
+ indexed: true,
2386
+ internalType: "uint256"
1890
2387
  },
1891
2388
  {
1892
- indexed: false,
1893
- internalType: "bool",
1894
2389
  name: "judgement",
1895
- type: "bool"
2390
+ type: "bool",
2391
+ indexed: false,
2392
+ internalType: "bool"
1896
2393
  }
1897
2394
  ],
1898
- name: "DisputeJudged",
1899
- type: "event"
2395
+ anonymous: false
1900
2396
  },
1901
2397
  {
1902
- anonymous: false,
2398
+ type: "event",
2399
+ name: "DisputeModuleUpdated",
1903
2400
  inputs: [
1904
2401
  {
1905
- indexed: true,
1906
- internalType: "address",
1907
2402
  name: "disputeModule",
1908
- type: "address"
2403
+ type: "address",
2404
+ indexed: true,
2405
+ internalType: "address"
1909
2406
  }
1910
2407
  ],
1911
- name: "DisputeModuleUpdated",
1912
- type: "event"
2408
+ anonymous: false
1913
2409
  },
1914
2410
  {
1915
- anonymous: false,
2411
+ type: "event",
2412
+ name: "DisputeRaised",
1916
2413
  inputs: [
1917
2414
  {
1918
- indexed: true,
1919
- internalType: "uint256",
1920
2415
  name: "id",
1921
- type: "uint256"
2416
+ type: "uint256",
2417
+ indexed: true,
2418
+ internalType: "uint256"
1922
2419
  },
1923
2420
  {
1924
- indexed: true,
1925
- internalType: "address",
1926
2421
  name: "initiator",
1927
- type: "address"
2422
+ type: "address",
2423
+ indexed: true,
2424
+ internalType: "address"
1928
2425
  },
1929
2426
  {
1930
- indexed: true,
1931
- internalType: "uint256",
1932
2427
  name: "targetId",
1933
- type: "uint256"
2428
+ type: "uint256",
2429
+ indexed: true,
2430
+ internalType: "uint256"
1934
2431
  },
1935
2432
  {
2433
+ name: "disputeTag",
2434
+ type: "bytes32",
2435
+ indexed: false,
2436
+ internalType: "bytes32"
2437
+ }
2438
+ ],
2439
+ anonymous: false
2440
+ },
2441
+ {
2442
+ type: "event",
2443
+ name: "Initialized",
2444
+ inputs: [
2445
+ {
2446
+ name: "version",
2447
+ type: "uint64",
1936
2448
  indexed: false,
1937
- internalType: "bytes32",
1938
- name: "disputeTag",
1939
- type: "bytes32"
2449
+ internalType: "uint64"
1940
2450
  }
1941
2451
  ],
1942
- name: "DisputeRaised",
1943
- type: "event"
2452
+ anonymous: false
1944
2453
  },
1945
2454
  {
1946
- anonymous: false,
2455
+ type: "event",
2456
+ name: "MarketPlaceUpdated",
1947
2457
  inputs: [
1948
2458
  {
1949
- indexed: true,
1950
- internalType: "address",
1951
2459
  name: "marketPlace",
1952
- type: "address"
2460
+ type: "address",
2461
+ indexed: true,
2462
+ internalType: "address"
1953
2463
  }
1954
2464
  ],
1955
- name: "MarketPlaceUpdated",
1956
- type: "event"
2465
+ anonymous: false
1957
2466
  },
1958
2467
  {
1959
- anonymous: false,
2468
+ type: "event",
2469
+ name: "OwnershipTransferred",
1960
2470
  inputs: [
1961
2471
  {
1962
- indexed: true,
1963
- internalType: "address",
1964
2472
  name: "previousOwner",
1965
- type: "address"
2473
+ type: "address",
2474
+ indexed: true,
2475
+ internalType: "address"
1966
2476
  },
1967
2477
  {
1968
- indexed: true,
1969
- internalType: "address",
1970
2478
  name: "newOwner",
1971
- type: "address"
2479
+ type: "address",
2480
+ indexed: true,
2481
+ internalType: "address"
1972
2482
  }
1973
2483
  ],
1974
- name: "OwnershipTransferred",
1975
- type: "event"
2484
+ anonymous: false
1976
2485
  },
1977
2486
  {
1978
- anonymous: false,
2487
+ type: "event",
2488
+ name: "Paused",
1979
2489
  inputs: [
1980
2490
  {
1981
- indexed: false,
1982
- internalType: "address",
1983
2491
  name: "account",
1984
- type: "address"
2492
+ type: "address",
2493
+ indexed: false,
2494
+ internalType: "address"
1985
2495
  }
1986
2496
  ],
1987
- name: "Paused",
1988
- type: "event"
2497
+ anonymous: false
1989
2498
  },
1990
2499
  {
1991
- anonymous: false,
2500
+ type: "event",
2501
+ name: "RoyaltyPaid",
1992
2502
  inputs: [
1993
2503
  {
1994
- indexed: true,
1995
- internalType: "uint256",
1996
2504
  name: "tokenId",
1997
- type: "uint256"
2505
+ type: "uint256",
2506
+ indexed: true,
2507
+ internalType: "uint256"
1998
2508
  },
1999
2509
  {
2000
- indexed: false,
2001
- internalType: "uint256",
2002
2510
  name: "royaltyAmount",
2003
- type: "uint256"
2511
+ type: "uint256",
2512
+ indexed: false,
2513
+ internalType: "uint256"
2004
2514
  },
2005
2515
  {
2006
- indexed: false,
2007
- internalType: "address",
2008
2516
  name: "creator",
2009
- type: "address"
2517
+ type: "address",
2518
+ indexed: false,
2519
+ internalType: "address"
2010
2520
  },
2011
2521
  {
2012
- indexed: false,
2013
- internalType: "uint256",
2014
2522
  name: "protocolAmount",
2015
- type: "uint256"
2523
+ type: "uint256",
2524
+ indexed: false,
2525
+ internalType: "uint256"
2016
2526
  }
2017
2527
  ],
2018
- name: "RoyaltyPaid",
2019
- type: "event"
2528
+ anonymous: false
2020
2529
  },
2021
2530
  {
2022
- anonymous: false,
2531
+ type: "event",
2532
+ name: "SignerUpdated",
2023
2533
  inputs: [
2024
2534
  {
2025
- indexed: true,
2026
- internalType: "address",
2027
2535
  name: "signer",
2028
- type: "address"
2536
+ type: "address",
2537
+ indexed: true,
2538
+ internalType: "address"
2029
2539
  }
2030
2540
  ],
2031
- name: "SignerUpdated",
2032
- type: "event"
2541
+ anonymous: false
2033
2542
  },
2034
2543
  {
2035
- anonymous: false,
2544
+ type: "event",
2545
+ name: "StatusUpdated",
2036
2546
  inputs: [
2037
2547
  {
2038
- indexed: true,
2039
- internalType: "uint256",
2040
2548
  name: "tokenId",
2041
- type: "uint256"
2549
+ type: "uint256",
2550
+ indexed: true,
2551
+ internalType: "uint256"
2042
2552
  },
2043
2553
  {
2044
- indexed: false,
2045
- internalType: "enum IIpNFT.DataStatus",
2046
2554
  name: "status",
2047
- type: "uint8"
2555
+ type: "uint8",
2556
+ indexed: false,
2557
+ internalType: "enum IIpNFT.DataStatus"
2048
2558
  }
2049
2559
  ],
2050
- name: "StatusUpdated",
2051
- type: "event"
2560
+ anonymous: false
2052
2561
  },
2053
2562
  {
2054
- anonymous: false,
2563
+ type: "event",
2564
+ name: "TermsUpdated",
2055
2565
  inputs: [
2056
2566
  {
2057
- indexed: true,
2058
- internalType: "uint256",
2059
2567
  name: "tokenId",
2060
- type: "uint256"
2568
+ type: "uint256",
2569
+ indexed: true,
2570
+ internalType: "uint256"
2061
2571
  },
2062
2572
  {
2063
- indexed: false,
2064
- internalType: "uint128",
2065
2573
  name: "newPrice",
2066
- type: "uint128"
2574
+ type: "uint128",
2575
+ indexed: false,
2576
+ internalType: "uint128"
2067
2577
  },
2068
2578
  {
2069
- indexed: false,
2070
- internalType: "uint32",
2071
2579
  name: "newDuration",
2072
- type: "uint32"
2580
+ type: "uint32",
2581
+ indexed: false,
2582
+ internalType: "uint32"
2073
2583
  },
2074
2584
  {
2075
- indexed: false,
2076
- internalType: "uint16",
2077
2585
  name: "newRoyaltyBps",
2078
- type: "uint16"
2586
+ type: "uint16",
2587
+ indexed: false,
2588
+ internalType: "uint16"
2079
2589
  },
2080
2590
  {
2081
- indexed: false,
2082
- internalType: "address",
2083
2591
  name: "paymentToken",
2084
- type: "address"
2592
+ type: "address",
2593
+ indexed: false,
2594
+ internalType: "address"
2085
2595
  }
2086
2596
  ],
2087
- name: "TermsUpdated",
2088
- type: "event"
2597
+ anonymous: false
2089
2598
  },
2090
2599
  {
2091
- anonymous: false,
2600
+ type: "event",
2601
+ name: "Unpaused",
2092
2602
  inputs: [
2093
2603
  {
2094
- indexed: false,
2095
- internalType: "address",
2096
2604
  name: "account",
2097
- type: "address"
2605
+ type: "address",
2606
+ indexed: false,
2607
+ internalType: "address"
2098
2608
  }
2099
2609
  ],
2100
- name: "Unpaused",
2101
- type: "event"
2610
+ anonymous: false
2102
2611
  },
2103
2612
  {
2613
+ type: "event",
2614
+ name: "Upgraded",
2104
2615
  inputs: [
2105
- ],
2106
- name: "MAX_PARENTS",
2107
- outputs: [
2108
2616
  {
2109
- internalType: "uint256",
2110
- name: "",
2111
- type: "uint256"
2617
+ name: "implementation",
2618
+ type: "address",
2619
+ indexed: true,
2620
+ internalType: "address"
2112
2621
  }
2113
2622
  ],
2114
- stateMutability: "view",
2115
- type: "function"
2623
+ anonymous: false
2116
2624
  },
2117
2625
  {
2626
+ type: "error",
2627
+ name: "AddressEmptyCode",
2118
2628
  inputs: [
2119
2629
  {
2120
- internalType: "address",
2121
- name: "buyer",
2122
- type: "address"
2123
- },
2124
- {
2125
- internalType: "uint256",
2126
- name: "tokenId",
2127
- type: "uint256"
2128
- },
2129
- {
2130
- internalType: "uint256",
2131
- name: "expectedPrice",
2132
- type: "uint256"
2133
- },
2134
- {
2135
- internalType: "uint32",
2136
- name: "expectedDuration",
2137
- type: "uint32"
2138
- },
2139
- {
2140
- internalType: "address",
2141
- name: "expectedPaymentToken",
2142
- type: "address"
2630
+ name: "target",
2631
+ type: "address",
2632
+ internalType: "address"
2143
2633
  }
2144
- ],
2145
- name: "buyAccess",
2146
- outputs: [
2147
- ],
2148
- stateMutability: "payable",
2149
- type: "function"
2634
+ ]
2150
2635
  },
2151
2636
  {
2637
+ type: "error",
2638
+ name: "ERC1967InvalidImplementation",
2152
2639
  inputs: [
2153
2640
  {
2154
- internalType: "uint256",
2155
- name: "ipId",
2156
- type: "uint256"
2157
- },
2158
- {
2159
- internalType: "uint256",
2160
- name: "parent",
2161
- type: "uint256"
2162
- }
2163
- ],
2164
- name: "hasParentIp",
2165
- outputs: [
2166
- {
2167
- internalType: "bool",
2168
- name: "",
2169
- type: "bool"
2641
+ name: "implementation",
2642
+ type: "address",
2643
+ internalType: "address"
2170
2644
  }
2171
- ],
2172
- stateMutability: "view",
2173
- type: "function"
2645
+ ]
2174
2646
  },
2175
2647
  {
2648
+ type: "error",
2649
+ name: "ERC1967NonPayable",
2176
2650
  inputs: [
2177
- ],
2178
- name: "ipToken",
2179
- outputs: [
2180
- {
2181
- internalType: "contract IIpNFT",
2182
- name: "",
2183
- type: "address"
2184
- }
2185
- ],
2186
- stateMutability: "view",
2187
- type: "function"
2651
+ ]
2188
2652
  },
2189
2653
  {
2654
+ type: "error",
2655
+ name: "EnforcedPause",
2190
2656
  inputs: [
2191
- ],
2192
- name: "owner",
2193
- outputs: [
2194
- {
2195
- internalType: "address",
2196
- name: "",
2197
- type: "address"
2198
- }
2199
- ],
2200
- stateMutability: "view",
2201
- type: "function"
2657
+ ]
2202
2658
  },
2203
2659
  {
2660
+ type: "error",
2661
+ name: "ExpectedPause",
2204
2662
  inputs: [
2205
- {
2206
- internalType: "uint256",
2207
- name: "",
2208
- type: "uint256"
2209
- },
2210
- {
2211
- internalType: "uint256",
2212
- name: "",
2213
- type: "uint256"
2214
- }
2215
- ],
2216
- name: "parentRoyaltyPercent",
2217
- outputs: [
2218
- {
2219
- internalType: "uint16",
2220
- name: "",
2221
- type: "uint16"
2222
- }
2223
- ],
2224
- stateMutability: "view",
2225
- type: "function"
2663
+ ]
2226
2664
  },
2227
2665
  {
2666
+ type: "error",
2667
+ name: "FailedCall",
2228
2668
  inputs: [
2229
- ],
2230
- name: "pause",
2231
- outputs: [
2232
- ],
2233
- stateMutability: "nonpayable",
2234
- type: "function"
2669
+ ]
2235
2670
  },
2236
2671
  {
2672
+ type: "error",
2673
+ name: "InvalidInitialization",
2237
2674
  inputs: [
2238
- ],
2239
- name: "paused",
2240
- outputs: [
2241
- {
2242
- internalType: "bool",
2243
- name: "",
2244
- type: "bool"
2245
- }
2246
- ],
2247
- stateMutability: "view",
2248
- type: "function"
2675
+ ]
2249
2676
  },
2250
2677
  {
2678
+ type: "error",
2679
+ name: "InvalidParentIp",
2251
2680
  inputs: [
2252
- ],
2253
- name: "protocolFeeBps",
2254
- outputs: [
2255
- {
2256
- internalType: "uint16",
2257
- name: "",
2258
- type: "uint16"
2259
- }
2260
- ],
2261
- stateMutability: "view",
2262
- type: "function"
2681
+ ]
2263
2682
  },
2264
2683
  {
2684
+ type: "error",
2685
+ name: "InvalidPayment",
2265
2686
  inputs: [
2266
- ],
2267
- name: "renounceOwnership",
2268
- outputs: [
2269
- ],
2270
- stateMutability: "nonpayable",
2271
- type: "function"
2687
+ ]
2688
+ },
2689
+ {
2690
+ type: "error",
2691
+ name: "InvalidRoyalty",
2692
+ inputs: [
2693
+ ]
2694
+ },
2695
+ {
2696
+ type: "error",
2697
+ name: "MaxParentsExceeded",
2698
+ inputs: [
2699
+ ]
2700
+ },
2701
+ {
2702
+ type: "error",
2703
+ name: "MaxRoyaltyExceeded",
2704
+ inputs: [
2705
+ ]
2706
+ },
2707
+ {
2708
+ type: "error",
2709
+ name: "NoSubscriptionFound",
2710
+ inputs: [
2711
+ ]
2712
+ },
2713
+ {
2714
+ type: "error",
2715
+ name: "NotInitializing",
2716
+ inputs: [
2717
+ ]
2272
2718
  },
2273
2719
  {
2720
+ type: "error",
2721
+ name: "OwnableInvalidOwner",
2274
2722
  inputs: [
2275
2723
  {
2276
- internalType: "uint256",
2277
- name: "",
2278
- type: "uint256"
2724
+ name: "owner",
2725
+ type: "address",
2726
+ internalType: "address"
2279
2727
  }
2280
- ],
2281
- name: "royaltyStack",
2282
- outputs: [
2728
+ ]
2729
+ },
2730
+ {
2731
+ type: "error",
2732
+ name: "OwnableUnauthorizedAccount",
2733
+ inputs: [
2283
2734
  {
2284
- internalType: "uint16",
2285
- name: "",
2286
- type: "uint16"
2735
+ name: "account",
2736
+ type: "address",
2737
+ internalType: "address"
2287
2738
  }
2288
- ],
2289
- stateMutability: "view",
2290
- type: "function"
2739
+ ]
2740
+ },
2741
+ {
2742
+ type: "error",
2743
+ name: "ParentAlreadyExists",
2744
+ inputs: [
2745
+ ]
2291
2746
  },
2292
2747
  {
2748
+ type: "error",
2749
+ name: "ParentIpAlreadyDeleted",
2293
2750
  inputs: [
2294
- {
2295
- internalType: "uint256",
2296
- name: "childIpId",
2297
- type: "uint256"
2298
- },
2299
- {
2300
- internalType: "uint256[]",
2301
- name: "parents",
2302
- type: "uint256[]"
2303
- },
2304
- {
2305
- internalType: "address",
2306
- name: "creator",
2307
- type: "address"
2308
- }
2309
- ],
2310
- name: "setParentIpsAndRoyaltyPercents",
2311
- outputs: [
2312
- ],
2313
- stateMutability: "nonpayable",
2314
- type: "function"
2751
+ ]
2315
2752
  },
2316
2753
  {
2754
+ type: "error",
2755
+ name: "ParentIpAlreadyDisputed",
2317
2756
  inputs: [
2318
- {
2319
- internalType: "uint256",
2320
- name: "",
2321
- type: "uint256"
2322
- },
2323
- {
2324
- internalType: "address",
2325
- name: "",
2326
- type: "address"
2327
- }
2328
- ],
2329
- name: "subscriptionExpiry",
2330
- outputs: [
2331
- {
2332
- internalType: "uint256",
2333
- name: "",
2334
- type: "uint256"
2335
- }
2336
- ],
2337
- stateMutability: "view",
2338
- type: "function"
2757
+ ]
2339
2758
  },
2340
2759
  {
2760
+ type: "error",
2761
+ name: "SubscriptionNotAllowed",
2341
2762
  inputs: [
2342
- {
2343
- internalType: "address",
2344
- name: "newOwner",
2345
- type: "address"
2346
- }
2347
- ],
2348
- name: "transferOwnership",
2349
- outputs: [
2350
- ],
2351
- stateMutability: "nonpayable",
2352
- type: "function"
2763
+ ]
2353
2764
  },
2354
2765
  {
2766
+ type: "error",
2767
+ name: "TermsMismatch",
2355
2768
  inputs: [
2356
- ],
2357
- name: "treasury",
2358
- outputs: [
2359
- {
2360
- internalType: "address",
2361
- name: "",
2362
- type: "address"
2363
- }
2364
- ],
2365
- stateMutability: "view",
2366
- type: "function"
2769
+ ]
2367
2770
  },
2368
2771
  {
2772
+ type: "error",
2773
+ name: "UUPSUnauthorizedCallContext",
2369
2774
  inputs: [
2370
- ],
2371
- name: "unpause",
2372
- outputs: [
2373
- ],
2374
- stateMutability: "nonpayable",
2375
- type: "function"
2775
+ ]
2376
2776
  },
2377
2777
  {
2778
+ type: "error",
2779
+ name: "UUPSUnsupportedProxiableUUID",
2378
2780
  inputs: [
2379
2781
  {
2380
- internalType: "uint16",
2381
- name: "newFeeBps",
2382
- type: "uint16"
2782
+ name: "slot",
2783
+ type: "bytes32",
2784
+ internalType: "bytes32"
2383
2785
  }
2384
- ],
2385
- name: "updateProtocolFee",
2386
- outputs: [
2387
- ],
2388
- stateMutability: "nonpayable",
2389
- type: "function"
2786
+ ]
2390
2787
  },
2391
2788
  {
2789
+ type: "error",
2790
+ name: "Unauthorized",
2392
2791
  inputs: [
2393
- {
2394
- internalType: "address",
2395
- name: "newTreasury",
2396
- type: "address"
2397
- }
2398
- ],
2399
- name: "updateTreasury",
2400
- outputs: [
2401
- ],
2402
- stateMutability: "nonpayable",
2403
- type: "function"
2792
+ ]
2793
+ },
2794
+ {
2795
+ type: "error",
2796
+ name: "ZeroAddress",
2797
+ inputs: [
2798
+ ]
2404
2799
  }
2405
2800
  ];
2406
2801
 
@@ -2514,6 +2909,166 @@ var royaltyVaultAbi = [
2514
2909
  }
2515
2910
  ];
2516
2911
 
2912
+ var tbaAbi = [
2913
+ {
2914
+ type: "receive",
2915
+ stateMutability: "payable"
2916
+ },
2917
+ {
2918
+ type: "function",
2919
+ name: "execute",
2920
+ inputs: [
2921
+ {
2922
+ name: "to",
2923
+ type: "address",
2924
+ internalType: "address"
2925
+ },
2926
+ {
2927
+ name: "value",
2928
+ type: "uint256",
2929
+ internalType: "uint256"
2930
+ },
2931
+ {
2932
+ name: "data",
2933
+ type: "bytes",
2934
+ internalType: "bytes"
2935
+ },
2936
+ {
2937
+ name: "operation",
2938
+ type: "uint8",
2939
+ internalType: "uint8"
2940
+ }
2941
+ ],
2942
+ outputs: [
2943
+ {
2944
+ name: "result",
2945
+ type: "bytes",
2946
+ internalType: "bytes"
2947
+ }
2948
+ ],
2949
+ stateMutability: "payable"
2950
+ },
2951
+ {
2952
+ type: "function",
2953
+ name: "isValidSignature",
2954
+ inputs: [
2955
+ {
2956
+ name: "hash",
2957
+ type: "bytes32",
2958
+ internalType: "bytes32"
2959
+ },
2960
+ {
2961
+ name: "signature",
2962
+ type: "bytes",
2963
+ internalType: "bytes"
2964
+ }
2965
+ ],
2966
+ outputs: [
2967
+ {
2968
+ name: "magicValue",
2969
+ type: "bytes4",
2970
+ internalType: "bytes4"
2971
+ }
2972
+ ],
2973
+ stateMutability: "view"
2974
+ },
2975
+ {
2976
+ type: "function",
2977
+ name: "isValidSigner",
2978
+ inputs: [
2979
+ {
2980
+ name: "signer",
2981
+ type: "address",
2982
+ internalType: "address"
2983
+ },
2984
+ {
2985
+ name: "",
2986
+ type: "bytes",
2987
+ internalType: "bytes"
2988
+ }
2989
+ ],
2990
+ outputs: [
2991
+ {
2992
+ name: "",
2993
+ type: "bytes4",
2994
+ internalType: "bytes4"
2995
+ }
2996
+ ],
2997
+ stateMutability: "view"
2998
+ },
2999
+ {
3000
+ type: "function",
3001
+ name: "owner",
3002
+ inputs: [
3003
+ ],
3004
+ outputs: [
3005
+ {
3006
+ name: "",
3007
+ type: "address",
3008
+ internalType: "address"
3009
+ }
3010
+ ],
3011
+ stateMutability: "view"
3012
+ },
3013
+ {
3014
+ type: "function",
3015
+ name: "state",
3016
+ inputs: [
3017
+ ],
3018
+ outputs: [
3019
+ {
3020
+ name: "",
3021
+ type: "uint256",
3022
+ internalType: "uint256"
3023
+ }
3024
+ ],
3025
+ stateMutability: "view"
3026
+ },
3027
+ {
3028
+ type: "function",
3029
+ name: "supportsInterface",
3030
+ inputs: [
3031
+ {
3032
+ name: "interfaceId",
3033
+ type: "bytes4",
3034
+ internalType: "bytes4"
3035
+ }
3036
+ ],
3037
+ outputs: [
3038
+ {
3039
+ name: "",
3040
+ type: "bool",
3041
+ internalType: "bool"
3042
+ }
3043
+ ],
3044
+ stateMutability: "view"
3045
+ },
3046
+ {
3047
+ type: "function",
3048
+ name: "token",
3049
+ inputs: [
3050
+ ],
3051
+ outputs: [
3052
+ {
3053
+ name: "",
3054
+ type: "uint256",
3055
+ internalType: "uint256"
3056
+ },
3057
+ {
3058
+ name: "",
3059
+ type: "address",
3060
+ internalType: "address"
3061
+ },
3062
+ {
3063
+ name: "",
3064
+ type: "uint256",
3065
+ internalType: "uint256"
3066
+ }
3067
+ ],
3068
+ stateMutability: "view"
3069
+ }
3070
+ ];
3071
+
2517
3072
  var constants = {
2518
3073
  SIWE_MESSAGE_STATEMENT: "Connect with Camp Network",
2519
3074
  ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
@@ -2539,24 +3094,26 @@ const ENVIRONMENTS = {
2539
3094
  AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
2540
3095
  AUTH_ENDPOINT: "auth-testnet",
2541
3096
  ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
2542
- DATANFT_CONTRACT_ADDRESS: "0x8EB0E8C3bA99c04F05ab01A5BED34F00c6c3BE4D",
2543
- MARKETPLACE_CONTRACT_ADDRESS: "0x2947eE8a352158fda08F2cf5c0AE8e5b1DFCfDc9",
3097
+ DATANFT_CONTRACT_ADDRESS: "0xB53F5723Dd4E46da32e1769Bd36A5aD880e707A5",
3098
+ MARKETPLACE_CONTRACT_ADDRESS: "0x97b0A18B2888e904940fFd19E480a28aeec3F055",
2544
3099
  CHAIN: testnet,
2545
3100
  IPNFT_ABI: ipnftMainnetAbi,
2546
3101
  MARKETPLACE_ABI: marketplaceMainnetAbi,
2547
3102
  ROYALTY_VAULT_ABI: royaltyVaultAbi,
3103
+ TBA_ABI: tbaAbi,
2548
3104
  },
2549
3105
  PRODUCTION: {
2550
3106
  NAME: "PRODUCTION",
2551
3107
  AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
2552
3108
  AUTH_ENDPOINT: "auth-mainnet",
2553
3109
  ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
2554
- DATANFT_CONTRACT_ADDRESS: "0x54d8490f034e3A4D07CD220a7Dc88D9B91B82c25",
2555
- MARKETPLACE_CONTRACT_ADDRESS: "0x5D2be63c94931f82B602Ecd1538064ab4196F8e7",
3110
+ DATANFT_CONTRACT_ADDRESS: "0x39EeE1C3989f0dD543Dee60f8582F7F81F522C38",
3111
+ MARKETPLACE_CONTRACT_ADDRESS: "0xc69BAa987757d054455fC0f2d9797684E9FB8b9C",
2556
3112
  CHAIN: mainnet,
2557
3113
  IPNFT_ABI: ipnftMainnetAbi,
2558
3114
  MARKETPLACE_ABI: marketplaceMainnetAbi,
2559
3115
  ROYALTY_VAULT_ABI: royaltyVaultAbi,
3116
+ TBA_ABI: tbaAbi,
2560
3117
  },
2561
3118
  };
2562
3119
 
@@ -2595,20 +3152,6 @@ const formatAddress = (address, n = 8) => {
2595
3152
  const capitalize = (str) => {
2596
3153
  return str.charAt(0).toUpperCase() + str.slice(1);
2597
3154
  };
2598
- /**
2599
- * Formats a Camp amount to a human-readable string.
2600
- * @param {number} amount - The Camp amount to format.
2601
- * @returns {string} - The formatted Camp amount.
2602
- */
2603
- const formatCampAmount = (amount) => {
2604
- if (amount >= 1000) {
2605
- const formatted = (amount / 1000).toFixed(1);
2606
- return formatted.endsWith(".0")
2607
- ? formatted.slice(0, -2) + "k"
2608
- : formatted + "k";
2609
- }
2610
- return amount.toString();
2611
- };
2612
3155
  const SECONDS_IN_HOUR = 3600;
2613
3156
  const SECONDS_IN_DAY = 86400;
2614
3157
  const SECONDS_IN_WEEK = 604800;
@@ -2717,9 +3260,9 @@ const validateRoyaltyBps = (royaltyBps) => {
2717
3260
  * @param signature The signature for the minting operation.
2718
3261
  * @returns A promise that resolves when the minting is complete.
2719
3262
  */
2720
- function mintWithSignature(to, tokenId, parents, hash, uri, licenseTerms, deadline, signature) {
3263
+ function mintWithSignature(to, tokenId, parents, isIp, hash, uri, licenseTerms, deadline, signature) {
2721
3264
  return __awaiter(this, void 0, void 0, function* () {
2722
- return yield this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "mintWithSignature", [to, tokenId, hash, uri, licenseTerms, deadline, parents, signature], { waitForReceipt: true });
3265
+ return yield this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "mintWithSignature", [to, tokenId, hash, uri, licenseTerms, deadline, parents, isIp, signature], { waitForReceipt: true });
2723
3266
  });
2724
3267
  }
2725
3268
  /**
@@ -3048,7 +3591,7 @@ class Origin {
3048
3591
  throw new Error("Failed to register IpNFT: Missing required fields in registration response.");
3049
3592
  }
3050
3593
  try {
3051
- const mintResult = yield this.mintWithSignature(account, tokenId, parents || [], creatorContentHash, uri, license, deadline, signature);
3594
+ const mintResult = yield this.mintWithSignature(account, tokenId, parents || [], true, creatorContentHash, uri, license, deadline, signature);
3052
3595
  if (["0x1", "success"].indexOf(mintResult.receipt.status) === -1) {
3053
3596
  yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, info.key, "failed");
3054
3597
  throw new Error(`Minting failed with status: ${mintResult.receipt.status}`);
@@ -3088,7 +3631,7 @@ class Origin {
3088
3631
  throw new Error("Failed to register Social IpNFT: Missing required fields in registration response.");
3089
3632
  }
3090
3633
  try {
3091
- const mintResult = yield this.mintWithSignature(account, tokenId, [], creatorContentHash, uri, license, deadline, signature);
3634
+ const mintResult = yield this.mintWithSignature(account, tokenId, [], true, creatorContentHash, uri, license, deadline, signature);
3092
3635
  if (["0x1", "success"].indexOf(mintResult.receipt.status) === -1) {
3093
3636
  throw new Error(`Minting Social IpNFT failed with status: ${mintResult.receipt.status}`);
3094
3637
  }
@@ -3286,31 +3829,52 @@ class Origin {
3286
3829
  });
3287
3830
  }
3288
3831
  /**
3289
- * Get royalty information for a wallet address, including the royalty vault address and its balance.
3832
+ * Get the Token Bound Account (TBA) address for a specific token ID.
3833
+ * @param {bigint} tokenId - The token ID to get the TBA address for.
3834
+ * @returns {Promise<Address>} A promise that resolves with the TBA address.
3835
+ * @throws {Error} Throws an error if the TBA address cannot be retrieved.
3836
+ * @example
3837
+ * ```typescript
3838
+ * const tbaAddress = await origin.getTokenBoundAccount(1n);
3839
+ * console.log(`TBA Address: ${tbaAddress}`);
3840
+ * ```
3841
+ */
3842
+ getTokenBoundAccount(tokenId) {
3843
+ return __awaiter(this, void 0, void 0, function* () {
3844
+ try {
3845
+ const tbaAddress = yield this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "getAccount", [tokenId]);
3846
+ return tbaAddress;
3847
+ }
3848
+ catch (error) {
3849
+ throw new Error(`Failed to get Token Bound Account for token ${tokenId}: ${error instanceof Error ? error.message : String(error)}`);
3850
+ }
3851
+ });
3852
+ }
3853
+ /**
3854
+ * Get royalty information for a token ID, including the token bound account address and its balance.
3855
+ * @param {bigint} tokenId - The token ID to check royalties for.
3290
3856
  * @param {Address} [token] - Optional token address to check royalties for. If not provided, checks for native token.
3291
- * @param {Address} [owner] - Optional wallet address to check royalties for. If not provided, uses the connected wallet.
3292
- * @returns {Promise<RoyaltyInfo>} A promise that resolves with the royalty vault address and balance information.
3293
- * @throws {Error} Throws an error if no wallet is connected and no owner address is provided.
3857
+ * @returns {Promise<RoyaltyInfo>} A promise that resolves with the token bound account address and balance information.
3858
+ * @throws {Error} Throws an error if the token bound account cannot be retrieved.
3294
3859
  * @example
3295
3860
  * ```typescript
3296
- * // Get royalties for connected wallet
3297
- * const royalties = await origin.getRoyalties();
3861
+ * // Get royalties for a specific token
3862
+ * const royalties = await origin.getRoyalties(1n);
3298
3863
  *
3299
- * // Get royalties for specific address
3300
- * const royalties = await origin.getRoyalties("0x1234...");
3864
+ * // Get ERC20 token royalties for a specific token
3865
+ * const royalties = await origin.getRoyalties(1n, "0x1234...");
3301
3866
  * ```
3302
3867
  */
3303
- getRoyalties(token, owner) {
3868
+ getRoyalties(tokenId, token) {
3304
3869
  return __awaiter(this, void 0, void 0, function* () {
3305
- const walletAddress = yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_resolveWalletAddress).call(this, owner);
3306
3870
  try {
3307
- const royaltyVaultAddress = yield this.getOrCreateRoyaltyVault(walletAddress, true);
3871
+ const tokenBoundAccount = yield this.getTokenBoundAccount(tokenId);
3308
3872
  const publicClient = getPublicClient();
3309
3873
  let balance;
3310
3874
  let balanceFormatted;
3311
3875
  if (!token || token === zeroAddress) {
3312
3876
  balance = yield publicClient.getBalance({
3313
- address: royaltyVaultAddress,
3877
+ address: tokenBoundAccount,
3314
3878
  });
3315
3879
  balanceFormatted = formatEther(balance);
3316
3880
  }
@@ -3333,34 +3897,82 @@ class Origin {
3333
3897
  },
3334
3898
  ];
3335
3899
  balance = yield this.callContractMethod(token, erc20Abi, "balanceOf", [
3336
- royaltyVaultAddress,
3900
+ tokenBoundAccount,
3337
3901
  ]);
3338
3902
  const decimals = yield this.callContractMethod(token, erc20Abi, "decimals", []);
3339
3903
  balanceFormatted = formatUnits(balance, decimals);
3340
3904
  }
3341
3905
  return {
3342
- royaltyVault: royaltyVaultAddress,
3906
+ tokenBoundAccount,
3343
3907
  balance,
3344
3908
  balanceFormatted,
3345
3909
  };
3346
3910
  }
3347
3911
  catch (error) {
3348
- throw new Error(`Failed to retrieve royalties for address ${walletAddress}: ${error instanceof Error ? error.message : String(error)}`);
3912
+ throw new Error(`Failed to retrieve royalties for token ${tokenId}: ${error instanceof Error ? error.message : String(error)}`);
3349
3913
  }
3350
3914
  });
3351
3915
  }
3352
3916
  /**
3353
- * Claim royalties from the royalty vault.
3917
+ * Claim royalties from a token's Token Bound Account (TBA).
3918
+ * @param {bigint} tokenId - The token ID to claim royalties from.
3919
+ * @param {Address} [recipient] - Optional recipient address. If not provided, uses the connected wallet.
3354
3920
  * @param {Address} [token] - Optional token address to claim royalties in. If not provided, claims in native token.
3355
- * @param {Address} [owner] - Optional wallet address to claim royalties for. If not provided, uses the connected wallet.
3356
3921
  * @returns {Promise<any>} A promise that resolves when the claim transaction is confirmed.
3357
- * @throws {Error} Throws an error if no wallet is connected and no owner address is provided.
3922
+ * @throws {Error} Throws an error if no wallet is connected and no recipient address is provided.
3923
+ * @example
3924
+ * ```typescript
3925
+ * // Claim native token royalties for token #1 to connected wallet
3926
+ * await origin.claimRoyalties(1n);
3927
+ *
3928
+ * // Claim ERC20 token royalties to a specific address
3929
+ * await origin.claimRoyalties(1n, "0xRecipient...", "0xToken...");
3930
+ * ```
3358
3931
  */
3359
- claimRoyalties(token, owner) {
3932
+ claimRoyalties(tokenId, recipient, token) {
3360
3933
  return __awaiter(this, void 0, void 0, function* () {
3361
- const walletAddress = yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_resolveWalletAddress).call(this, owner);
3362
- const royaltyVaultAddress = yield this.getOrCreateRoyaltyVault(walletAddress, true);
3363
- return this.callContractMethod(royaltyVaultAddress, this.environment.ROYALTY_VAULT_ABI, "claimRoyalty", [token !== null && token !== void 0 ? token : zeroAddress], { waitForReceipt: true });
3934
+ const recipientAddress = yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_resolveWalletAddress).call(this, recipient);
3935
+ const tokenBoundAccount = yield this.getTokenBoundAccount(tokenId);
3936
+ // Get the balance to transfer
3937
+ const royaltyInfo = yield this.getRoyalties(tokenId, token);
3938
+ const balance = royaltyInfo.balance;
3939
+ if (balance === BigInt(0)) {
3940
+ throw new Error("No royalties available to claim");
3941
+ }
3942
+ let to;
3943
+ let value;
3944
+ let data;
3945
+ if (!token || token === zeroAddress) {
3946
+ // Native token transfer
3947
+ to = recipientAddress;
3948
+ value = balance;
3949
+ data = "0x";
3950
+ }
3951
+ else {
3952
+ // ERC20 token transfer
3953
+ to = token;
3954
+ value = BigInt(0);
3955
+ // Encode ERC20 transfer call: transfer(address to, uint256 amount)
3956
+ data = encodeFunctionData({
3957
+ abi: [
3958
+ {
3959
+ inputs: [
3960
+ { name: "to", type: "address" },
3961
+ { name: "amount", type: "uint256" },
3962
+ ],
3963
+ name: "transfer",
3964
+ outputs: [{ name: "", type: "bool" }],
3965
+ stateMutability: "nonpayable",
3966
+ type: "function",
3967
+ },
3968
+ ],
3969
+ functionName: "transfer",
3970
+ args: [recipientAddress, balance],
3971
+ });
3972
+ }
3973
+ // Call execute on the TBA
3974
+ return this.callContractMethod(tokenBoundAccount, this.environment.TBA_ABI, "execute", [to, value, data, 0], // operation: 0 = CALL
3975
+ { waitForReceipt: true, value: BigInt(0) });
3364
3976
  });
3365
3977
  }
3366
3978
  }
@@ -5768,90 +6380,62 @@ const LinkingModal = () => {
5768
6380
  * @returns { JSX.Element } The OriginSection component.
5769
6381
  */
5770
6382
  const OriginSection = () => {
5771
- const { stats, uploads } = useOrigin();
5772
- const [royaltiesToClaim, setRoyaltiesToClaim] = useState(null);
5773
- const [isClaiming, setIsClaiming] = useState(false);
6383
+ // const { stats, uploads } = useOrigin();
6384
+ // const [royaltiesToClaim, setRoyaltiesToClaim] = useState<null | string>(null);
6385
+ // const [isClaiming, setIsClaiming] = useState(false);
5774
6386
  const { environment, auth } = useContext(CampContext);
5775
- const { addToast: toast } = useToast();
5776
- const [uploadedImages, setUploadedImages] = useState(0);
5777
- const [uploadedVideos, setUploadedVideos] = useState(0);
5778
- const [uploadedAudio, setUploadedAudio] = useState(0);
5779
- const [uploadedText, setUploadedText] = useState(0);
5780
- useEffect(() => {
5781
- const fetchRoyalties = () => __awaiter(void 0, void 0, void 0, function* () {
5782
- if (!auth || !auth.origin)
5783
- return;
5784
- const royalties = yield (auth === null || auth === void 0 ? void 0 : auth.origin.getRoyalties());
5785
- const bal = formatEther(royalties.balance);
5786
- setRoyaltiesToClaim(bal !== "0" ? formatCampAmount(Number(bal)) : null);
5787
- });
5788
- fetchRoyalties();
5789
- }, [auth]);
5790
- const handleClaimRoyalties = () => __awaiter(void 0, void 0, void 0, function* () {
5791
- if (!auth || !auth.origin || !royaltiesToClaim)
5792
- return;
5793
- setIsClaiming(true);
5794
- try {
5795
- yield auth.origin.claimRoyalties();
5796
- setRoyaltiesToClaim(null);
5797
- toast("Royalties claimed successfully!", "success", 5000);
5798
- }
5799
- catch (error) {
5800
- console.error("Error claiming royalties:", error);
5801
- toast("Error claiming royalties. Please try again.", "error", 5000);
5802
- }
5803
- finally {
5804
- setIsClaiming(false);
5805
- }
5806
- });
5807
- useEffect(() => {
5808
- if (uploads.data) {
5809
- let imagesCount = 0;
5810
- let videosCount = 0;
5811
- let audioCount = 0;
5812
- let textCount = 0;
5813
- uploads.data.forEach((upload) => {
5814
- if (upload.type.startsWith("image")) {
5815
- imagesCount++;
5816
- }
5817
- else if (upload.type.startsWith("video")) {
5818
- videosCount++;
5819
- }
5820
- else if (upload.type.startsWith("audio")) {
5821
- audioCount++;
5822
- }
5823
- else if (upload.type.startsWith("text")) {
5824
- textCount++;
5825
- }
5826
- });
5827
- setUploadedImages(imagesCount);
5828
- setUploadedVideos(videosCount);
5829
- setUploadedAudio(audioCount);
5830
- setUploadedText(textCount);
5831
- }
5832
- }, [uploads.data]);
5833
- return stats.isLoading ? (React.createElement("div", { style: { marginTop: "1rem", marginBottom: "1rem", flex: 1 } },
5834
- React.createElement("div", { className: styles.spinner }))) : (React.createElement("div", { className: styles["origin-wrapper"] },
5835
- React.createElement("div", { className: styles["origin-section"] },
5836
- React.createElement(Tooltip, { content: `Images uploaded: ${uploadedImages.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
5837
- React.createElement("div", { className: styles["origin-container"] },
5838
- React.createElement("span", null, formatCampAmount(uploadedImages)),
5839
- React.createElement("span", { className: styles["origin-label"] }, "Images"))),
5840
- React.createElement("div", { className: styles["divider"] }),
5841
- React.createElement(Tooltip, { content: `Audio uploaded: ${uploadedAudio.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
5842
- React.createElement("div", { className: styles["origin-container"] },
5843
- React.createElement("span", null, formatCampAmount(uploadedAudio)),
5844
- React.createElement("span", { className: styles["origin-label"] }, "Audio"))),
5845
- React.createElement("div", { className: styles["divider"] }),
5846
- React.createElement(Tooltip, { content: `Videos uploaded: ${uploadedVideos.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
5847
- React.createElement("div", { className: styles["origin-container"] },
5848
- React.createElement("span", null, formatCampAmount(uploadedVideos)),
5849
- React.createElement("span", { className: styles["origin-label"] }, "Videos"))),
5850
- React.createElement("div", { className: styles["divider"] }),
5851
- React.createElement(Tooltip, { content: `Text uploaded: ${uploadedText.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
5852
- React.createElement("div", { className: styles["origin-container"] },
5853
- React.createElement("span", null, formatCampAmount(uploadedText)),
5854
- React.createElement("span", { className: styles["origin-label"] }, "Text")))),
6387
+ useToast();
6388
+ // const [uploadedImages, setUploadedImages] = useState(0);
6389
+ // const [uploadedVideos, setUploadedVideos] = useState(0);
6390
+ // const [uploadedAudio, setUploadedAudio] = useState(0);
6391
+ // const [uploadedText, setUploadedText] = useState(0);
6392
+ // useEffect(() => {
6393
+ // const fetchRoyalties = async () => {
6394
+ // if (!auth || !auth.origin) return;
6395
+ // const royalties = await auth?.origin.getRoyalties();
6396
+ // const bal = formatEther(royalties.balance);
6397
+ // setRoyaltiesToClaim(bal !== "0" ? formatCampAmount(Number(bal)) : null);
6398
+ // };
6399
+ // fetchRoyalties();
6400
+ // }, [auth]);
6401
+ // const handleClaimRoyalties = async () => {
6402
+ // if (!auth || !auth.origin || !royaltiesToClaim) return;
6403
+ // setIsClaiming(true);
6404
+ // try {
6405
+ // await auth.origin.claimRoyalties();
6406
+ // setRoyaltiesToClaim(null);
6407
+ // toast("Royalties claimed successfully!", "success", 5000);
6408
+ // } catch (error) {
6409
+ // console.error("Error claiming royalties:", error);
6410
+ // toast("Error claiming royalties. Please try again.", "error", 5000);
6411
+ // } finally {
6412
+ // setIsClaiming(false);
6413
+ // }
6414
+ // };
6415
+ // useEffect(() => {
6416
+ // if (uploads.data) {
6417
+ // let imagesCount = 0;
6418
+ // let videosCount = 0;
6419
+ // let audioCount = 0;
6420
+ // let textCount = 0;
6421
+ // uploads.data.forEach((upload) => {
6422
+ // if (upload.type.startsWith("image")) {
6423
+ // imagesCount++;
6424
+ // } else if (upload.type.startsWith("video")) {
6425
+ // videosCount++;
6426
+ // } else if (upload.type.startsWith("audio")) {
6427
+ // audioCount++;
6428
+ // } else if (upload.type.startsWith("text")) {
6429
+ // textCount++;
6430
+ // }
6431
+ // });
6432
+ // setUploadedImages(imagesCount);
6433
+ // setUploadedVideos(videosCount);
6434
+ // setUploadedAudio(audioCount);
6435
+ // setUploadedText(textCount);
6436
+ // }
6437
+ // }, [uploads.data]);
6438
+ return (React.createElement("div", { className: styles["origin-wrapper"] },
5855
6439
  React.createElement("div", { className: styles["origin-section"] },
5856
6440
  React.createElement(Tooltip, { content: environment.NAME === "PRODUCTION"
5857
6441
  ? "You are connected to Camp Mainnet"
@@ -5868,13 +6452,7 @@ const OriginSection = () => {
5868
6452
  React.createElement(Tooltip, { content: environment.MARKETPLACE_CONTRACT_ADDRESS, position: "top", containerStyle: { width: "100%" } },
5869
6453
  React.createElement("div", { className: styles["origin-container"] },
5870
6454
  React.createElement("span", null, formatAddress(environment.MARKETPLACE_CONTRACT_ADDRESS, 4)),
5871
- React.createElement("span", { className: styles["origin-label"] }, "Marketplace")))),
5872
- React.createElement("div", { className: styles["claim-section"] },
5873
- React.createElement(Button, { style: { margin: 0 }, onClick: handleClaimRoyalties, disabled: !royaltiesToClaim || isClaiming }, royaltiesToClaim
5874
- ? isClaiming
5875
- ? "Claiming..."
5876
- : `Claim ${royaltiesToClaim} $CAMP`
5877
- : "No Royalties to claim"))));
6455
+ React.createElement("span", { className: styles["origin-label"] }, "Marketplace"))))));
5878
6456
  };
5879
6457
  /**
5880
6458
  * The MyCampModal component.
@@ -5962,7 +6540,7 @@ const MyCampModal = ({ wcProvider, }) => {
5962
6540
  React.createElement(CopyIcon, { w: 16, h: 16 }))),
5963
6541
  React.createElement("div", { className: styles["vertical-tabs-container"] },
5964
6542
  React.createElement("div", { className: styles["vertical-tabs"] },
5965
- React.createElement(TabButton, { label: "Stats", isActive: activeTab === "origin", onClick: () => setActiveTab("origin") }),
6543
+ React.createElement(TabButton, { label: "Origin", isActive: activeTab === "origin", onClick: () => setActiveTab("origin") }),
5966
6544
  React.createElement(TabButton, { label: "Socials", isActive: activeTab === "socials", onClick: () => setActiveTab("socials") }),
5967
6545
  React.createElement(TabButton, { label: "Images", isActive: activeTab === "images", onClick: () => setActiveTab("images") }),
5968
6546
  React.createElement(TabButton, { label: "Audio", isActive: activeTab === "audio", onClick: () => setActiveTab("audio") }),