@story-protocol/core-sdk 0.0.1-beta-rc.10 → 0.0.1-beta-rc.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/declarations/src/client.d.ts +9 -0
  2. package/dist/declarations/src/client.d.ts.map +1 -1
  3. package/dist/declarations/src/index.d.ts +2 -1
  4. package/dist/declarations/src/index.d.ts.map +1 -1
  5. package/dist/declarations/src/resources/dispute.d.ts +103 -78
  6. package/dist/declarations/src/resources/dispute.d.ts.map +1 -1
  7. package/dist/declarations/src/resources/ipAccount.d.ts +84 -76
  8. package/dist/declarations/src/resources/ipAccount.d.ts.map +1 -1
  9. package/dist/declarations/src/resources/ipAsset.d.ts +26 -756
  10. package/dist/declarations/src/resources/ipAsset.d.ts.map +1 -1
  11. package/dist/declarations/src/resources/license.d.ts +875 -858
  12. package/dist/declarations/src/resources/license.d.ts.map +1 -1
  13. package/dist/declarations/src/resources/permission.d.ts +271 -216
  14. package/dist/declarations/src/resources/permission.d.ts.map +1 -1
  15. package/dist/declarations/src/resources/policy.d.ts +1094 -277
  16. package/dist/declarations/src/resources/policy.d.ts.map +1 -1
  17. package/dist/declarations/src/resources/royalty.d.ts +2155 -0
  18. package/dist/declarations/src/resources/royalty.d.ts.map +1 -0
  19. package/dist/declarations/src/types/config.d.ts +6 -3
  20. package/dist/declarations/src/types/config.d.ts.map +1 -1
  21. package/dist/declarations/src/types/resources/ipAsset.d.ts +4 -20
  22. package/dist/declarations/src/types/resources/ipAsset.d.ts.map +1 -1
  23. package/dist/declarations/src/types/resources/royalty.d.ts +41 -0
  24. package/dist/declarations/src/types/resources/royalty.d.ts.map +1 -1
  25. package/dist/story-protocol-core-sdk.cjs.d.ts +1 -1
  26. package/dist/story-protocol-core-sdk.cjs.dev.js +910 -661
  27. package/dist/story-protocol-core-sdk.cjs.prod.js +910 -661
  28. package/dist/story-protocol-core-sdk.esm.js +912 -663
  29. package/package.json +2 -2
  30. package/dist/story-protocol-core-sdk.cjs.d.ts.map +0 -1
@@ -1,26 +1,26 @@
1
- import { getAddress, encodeAbiParameters, parseAbiParameters, decodeEventLog, encodeFunctionData, zeroAddress, stringToHex, createPublicClient, createWalletClient } from 'viem';
1
+ import { encodeAbiParameters, parseAbiParameters, defineChain, decodeEventLog, getAddress, encodeFunctionData, zeroAddress, stringToHex, createPublicClient, createWalletClient } from 'viem';
2
2
  import * as dotenv from 'dotenv';
3
- import { polygonMumbai, sepolia as sepolia$1, mainnet } from 'viem/chains';
3
+ import { sepolia as sepolia$1 } from 'viem/chains';
4
4
  import axios from 'axios';
5
5
 
6
- function _toPrimitive(input, hint) {
7
- if (typeof input !== "object" || input === null) return input;
8
- var prim = input[Symbol.toPrimitive];
9
- if (prim !== undefined) {
10
- var res = prim.call(input, hint || "default");
11
- if (typeof res !== "object") return res;
6
+ function toPrimitive(t, r) {
7
+ if ("object" != typeof t || !t) return t;
8
+ var e = t[Symbol.toPrimitive];
9
+ if (void 0 !== e) {
10
+ var i = e.call(t, r || "default");
11
+ if ("object" != typeof i) return i;
12
12
  throw new TypeError("@@toPrimitive must return a primitive value.");
13
13
  }
14
- return (hint === "string" ? String : Number)(input);
14
+ return ("string" === r ? String : Number)(t);
15
15
  }
16
16
 
17
- function _toPropertyKey(arg) {
18
- var key = _toPrimitive(arg, "string");
19
- return typeof key === "symbol" ? key : String(key);
17
+ function toPropertyKey(t) {
18
+ var i = toPrimitive(t, "string");
19
+ return "symbol" == typeof i ? i : i + "";
20
20
  }
21
21
 
22
22
  function _defineProperty(obj, key, value) {
23
- key = _toPropertyKey(key);
23
+ key = toPropertyKey(key);
24
24
  if (key in obj) {
25
25
  Object.defineProperty(obj, key, {
26
26
  value: value,
@@ -68,7 +68,7 @@ function _defineProperties(target, props) {
68
68
  descriptor.enumerable = descriptor.enumerable || false;
69
69
  descriptor.configurable = true;
70
70
  if ("value" in descriptor) descriptor.writable = true;
71
- Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
71
+ Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
72
72
  }
73
73
  }
74
74
  function _createClass(Constructor, protoProps, staticProps) {
@@ -188,7 +188,7 @@ function _regeneratorRuntime() {
188
188
  function makeInvokeMethod(e, r, n) {
189
189
  var o = h;
190
190
  return function (i, a) {
191
- if (o === f) throw new Error("Generator is already running");
191
+ if (o === f) throw Error("Generator is already running");
192
192
  if (o === s) {
193
193
  if ("throw" === i) throw a;
194
194
  return {
@@ -330,7 +330,7 @@ function _regeneratorRuntime() {
330
330
  } else if (c) {
331
331
  if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
332
332
  } else {
333
- if (!u) throw new Error("try statement without catch or finally");
333
+ if (!u) throw Error("try statement without catch or finally");
334
334
  if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
335
335
  }
336
336
  }
@@ -370,7 +370,7 @@ function _regeneratorRuntime() {
370
370
  return o;
371
371
  }
372
372
  }
373
- throw new Error("illegal catch attempt");
373
+ throw Error("illegal catch attempt");
374
374
  },
375
375
  delegateYield: function (e, r, n) {
376
376
  return this.delegate = {
@@ -413,31 +413,12 @@ function _asyncToGenerator(fn) {
413
413
  };
414
414
  }
415
415
 
416
- function handleError(error, msg) {
417
- if (error instanceof Error) {
418
- throw new Error("".concat(msg, ": ").concat(error.message));
419
- }
420
- throw new Error("".concat(msg, ": Unknown error type"));
421
- }
422
-
423
- var AddressZero = "0x0000000000000000000000000000000000000000";
424
- var HashZero = "0x0000000000000000000000000000000000000000000000000000000000000000";
425
- var SepoliaChainId = "11155111";
426
-
427
416
  function _arrayLikeToArray(arr, len) {
428
417
  if (len == null || len > arr.length) len = arr.length;
429
418
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
430
419
  return arr2;
431
420
  }
432
421
 
433
- function _arrayWithoutHoles(arr) {
434
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
435
- }
436
-
437
- function _iterableToArray(iter) {
438
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
439
- }
440
-
441
422
  function _unsupportedIterableToArray(o, minLen) {
442
423
  if (!o) return;
443
424
  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -447,6 +428,218 @@ function _unsupportedIterableToArray(o, minLen) {
447
428
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
448
429
  }
449
430
 
431
+ function _createForOfIteratorHelper(o, allowArrayLike) {
432
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
433
+ if (!it) {
434
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
435
+ if (it) o = it;
436
+ var i = 0;
437
+ var F = function () {};
438
+ return {
439
+ s: F,
440
+ n: function () {
441
+ if (i >= o.length) return {
442
+ done: true
443
+ };
444
+ return {
445
+ done: false,
446
+ value: o[i++]
447
+ };
448
+ },
449
+ e: function (e) {
450
+ throw e;
451
+ },
452
+ f: F
453
+ };
454
+ }
455
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
456
+ }
457
+ var normalCompletion = true,
458
+ didErr = false,
459
+ err;
460
+ return {
461
+ s: function () {
462
+ it = it.call(o);
463
+ },
464
+ n: function () {
465
+ var step = it.next();
466
+ normalCompletion = step.done;
467
+ return step;
468
+ },
469
+ e: function (e) {
470
+ didErr = true;
471
+ err = e;
472
+ },
473
+ f: function () {
474
+ try {
475
+ if (!normalCompletion && it.return != null) it.return();
476
+ } finally {
477
+ if (didErr) throw err;
478
+ }
479
+ }
480
+ };
481
+ }
482
+
483
+ function parseToBigInt(num) {
484
+ return BigInt(num);
485
+ }
486
+ function waitTxAndFilterLog(_x, _x2, _x3) {
487
+ return _waitTxAndFilterLog.apply(this, arguments);
488
+ }
489
+ function _waitTxAndFilterLog() {
490
+ _waitTxAndFilterLog = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(client, txHash, params) {
491
+ var txReceipt, targetLogs, _iterator, _step, log, currentLog;
492
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
493
+ while (1) switch (_context.prev = _context.next) {
494
+ case 0:
495
+ _context.next = 2;
496
+ return client.waitForTransactionReceipt({
497
+ hash: txHash,
498
+ confirmations: params.confirmations,
499
+ pollingInterval: params.pollingInterval,
500
+ timeout: params.timeout
501
+ });
502
+ case 2:
503
+ txReceipt = _context.sent;
504
+ targetLogs = [];
505
+ _iterator = _createForOfIteratorHelper(txReceipt.logs);
506
+ _context.prev = 5;
507
+ _iterator.s();
508
+ case 7:
509
+ if ((_step = _iterator.n()).done) {
510
+ _context.next = 21;
511
+ break;
512
+ }
513
+ log = _step.value;
514
+ _context.prev = 9;
515
+ if (!(params.from && log.address !== params.from.toLowerCase())) {
516
+ _context.next = 12;
517
+ break;
518
+ }
519
+ return _context.abrupt("continue", 19);
520
+ case 12:
521
+ currentLog = decodeEventLog({
522
+ abi: params.abi,
523
+ eventName: params.eventName,
524
+ data: log.data,
525
+ topics: log.topics
526
+ });
527
+ targetLogs.push(currentLog);
528
+ _context.next = 19;
529
+ break;
530
+ case 16:
531
+ _context.prev = 16;
532
+ _context.t0 = _context["catch"](9);
533
+ return _context.abrupt("continue", 19);
534
+ case 19:
535
+ _context.next = 7;
536
+ break;
537
+ case 21:
538
+ _context.next = 26;
539
+ break;
540
+ case 23:
541
+ _context.prev = 23;
542
+ _context.t1 = _context["catch"](5);
543
+ _iterator.e(_context.t1);
544
+ case 26:
545
+ _context.prev = 26;
546
+ _iterator.f();
547
+ return _context.finish(26);
548
+ case 29:
549
+ if (!(targetLogs.length === 0)) {
550
+ _context.next = 31;
551
+ break;
552
+ }
553
+ throw new Error("not found event ".concat(params.eventName, " in target transaction"));
554
+ case 31:
555
+ return _context.abrupt("return", targetLogs);
556
+ case 32:
557
+ case "end":
558
+ return _context.stop();
559
+ }
560
+ }, _callee, null, [[5, 23, 26, 29], [9, 16]]);
561
+ }));
562
+ return _waitTxAndFilterLog.apply(this, arguments);
563
+ }
564
+ function waitTx(_x4, _x5, _x6) {
565
+ return _waitTx.apply(this, arguments);
566
+ }
567
+ function _waitTx() {
568
+ _waitTx = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(client, txHash, params) {
569
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
570
+ while (1) switch (_context2.prev = _context2.next) {
571
+ case 0:
572
+ _context2.next = 2;
573
+ return client.waitForTransactionReceipt(_objectSpread2({
574
+ hash: txHash
575
+ }, params));
576
+ case 2:
577
+ case "end":
578
+ return _context2.stop();
579
+ }
580
+ }, _callee2);
581
+ }));
582
+ return _waitTx.apply(this, arguments);
583
+ }
584
+ function typedDataToBytes(typedData) {
585
+ return encodeAbiParameters(parseAbiParameters(typedData["interface"]), typedData.data);
586
+ }
587
+ function chainStringToViemChain(chainId) {
588
+ switch (chainId) {
589
+ case "11155111":
590
+ case "sepolia":
591
+ return sepolia$1;
592
+ case "1513":
593
+ case "storyTestnet":
594
+ return storyTestnet$1;
595
+ default:
596
+ throw new Error("chainId ".concat(chainId, " not supported"));
597
+ }
598
+ }
599
+ var storyTestnet$1 = defineChain({
600
+ id: 1513,
601
+ name: "story-network",
602
+ nativeCurrency: {
603
+ name: "Ether",
604
+ symbol: "SEP",
605
+ decimals: 18
606
+ },
607
+ rpcUrls: {
608
+ "default": {
609
+ http: ["https://story-network.rpc.caldera.xyz/http"],
610
+ webSocket: ["wss://story-network.rpc.caldera.xyz/ws"]
611
+ }
612
+ },
613
+ blockExplorers: {
614
+ "default": {
615
+ name: "Explorer",
616
+ url: "https://story-network.explorer.caldera.xyz"
617
+ }
618
+ },
619
+ //TODO: wait for Ze confirm with config information
620
+ contracts: {
621
+ multicall3: {
622
+ address: "0xcA11bde05977b3631167028862bE2a173976CA11",
623
+ blockCreated: 5882
624
+ }
625
+ },
626
+ testnet: true
627
+ });
628
+ var chain = {
629
+ sepolia: "11155111",
630
+ storyTestnet: "1513",
631
+ 11155111: "11155111",
632
+ 1513: "1513"
633
+ };
634
+
635
+ function _arrayWithoutHoles(arr) {
636
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
637
+ }
638
+
639
+ function _iterableToArray(iter) {
640
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
641
+ }
642
+
450
643
  function _nonIterableSpread() {
451
644
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
452
645
  }
@@ -779,19 +972,19 @@ var IPAssetRegistryABI = [{
779
972
  type: "uint256"
780
973
  }, {
781
974
  indexed: false,
782
- internalType: "address",
783
- name: "resolver",
784
- type: "address"
975
+ internalType: "string",
976
+ name: "name",
977
+ type: "string"
785
978
  }, {
786
979
  indexed: false,
787
- internalType: "address",
788
- name: "provider",
789
- type: "address"
980
+ internalType: "string",
981
+ name: "uri",
982
+ type: "string"
790
983
  }, {
791
984
  indexed: false,
792
- internalType: "bytes",
793
- name: "metadata",
794
- type: "bytes"
985
+ internalType: "uint256",
986
+ name: "registrationDate",
987
+ type: "uint256"
795
988
  }],
796
989
  name: "IPRegistered",
797
990
  type: "event"
@@ -831,6 +1024,24 @@ var IPAssetRegistryABI = [{
831
1024
  }],
832
1025
  stateMutability: "view",
833
1026
  type: "function"
1027
+ }, {
1028
+ inputs: [{
1029
+ internalType: "address",
1030
+ name: "tokenContract",
1031
+ type: "address"
1032
+ }, {
1033
+ internalType: "uint256",
1034
+ name: "tokenId",
1035
+ type: "uint256"
1036
+ }],
1037
+ name: "register",
1038
+ outputs: [{
1039
+ internalType: "address",
1040
+ name: "id",
1041
+ type: "address"
1042
+ }],
1043
+ stateMutability: "nonpayable",
1044
+ type: "function"
834
1045
  }];
835
1046
 
836
1047
  var LicensingModuleABI = [{
@@ -1167,72 +1378,152 @@ var PILPolicyFrameworkManagerABI = [{
1167
1378
  type: "function"
1168
1379
  }];
1169
1380
 
1170
- var RegistrationModuleABI = [{
1381
+ var IRoyaltyPolicyLAPABI = [{
1171
1382
  inputs: [{
1172
- internalType: "uint256[]",
1173
- name: "licenseIds",
1174
- type: "uint256[]"
1175
- }, {
1176
1383
  internalType: "address",
1177
- name: "tokenContract",
1384
+ name: "ipId",
1178
1385
  type: "address"
1386
+ }],
1387
+ name: "getRoyaltyData",
1388
+ outputs: [{
1389
+ internalType: "bool",
1390
+ name: "",
1391
+ type: "bool"
1179
1392
  }, {
1180
- internalType: "uint256",
1181
- name: "tokenId",
1182
- type: "uint256"
1183
- }, {
1184
- internalType: "string",
1185
- name: "ipName",
1186
- type: "string"
1393
+ internalType: "address",
1394
+ name: "",
1395
+ type: "address"
1187
1396
  }, {
1188
- internalType: "bytes32",
1189
- name: "contentHash",
1190
- type: "bytes32"
1397
+ internalType: "uint32",
1398
+ name: "",
1399
+ type: "uint32"
1191
1400
  }, {
1192
- internalType: "string",
1193
- name: "externalURL",
1194
- type: "string"
1401
+ internalType: "address[]",
1402
+ name: "",
1403
+ type: "address[]"
1195
1404
  }, {
1196
- internalType: "bytes",
1197
- name: "royaltyContext",
1198
- type: "bytes"
1405
+ internalType: "uint32[]",
1406
+ name: "",
1407
+ type: "uint32[]"
1408
+ }],
1409
+ stateMutability: "view",
1410
+ type: "function"
1411
+ }, {
1412
+ inputs: [{
1413
+ internalType: "address",
1414
+ name: "caller",
1415
+ type: "address"
1416
+ }, {
1417
+ internalType: "address",
1418
+ name: "ipId",
1419
+ type: "address"
1420
+ }, {
1421
+ internalType: "address",
1422
+ name: "token",
1423
+ type: "address"
1424
+ }, {
1425
+ internalType: "uint256",
1426
+ name: "amount",
1427
+ type: "uint256"
1428
+ }],
1429
+ name: "onRoyaltyPayment",
1430
+ outputs: [],
1431
+ stateMutability: "nonpayable",
1432
+ type: "function"
1433
+ }];
1434
+
1435
+ var IpRoyaltyVaultABI = [{
1436
+ inputs: [{
1437
+ internalType: "uint256[]",
1438
+ name: "snapshotIds",
1439
+ type: "uint256[]"
1440
+ }, {
1441
+ internalType: "address",
1442
+ name: "token",
1443
+ type: "address"
1199
1444
  }],
1200
- name: "registerDerivativeIp",
1445
+ name: "claimRevenueBySnapshotBatch",
1201
1446
  outputs: [],
1202
1447
  stateMutability: "nonpayable",
1203
1448
  type: "function"
1204
1449
  }, {
1205
1450
  inputs: [{
1206
1451
  internalType: "uint256",
1207
- name: "policyId",
1452
+ name: "snapshotId",
1208
1453
  type: "uint256"
1209
1454
  }, {
1455
+ internalType: "address[]",
1456
+ name: "tokens",
1457
+ type: "address[]"
1458
+ }],
1459
+ name: "claimRevenueByTokenBatch",
1460
+ outputs: [],
1461
+ stateMutability: "nonpayable",
1462
+ type: "function"
1463
+ }, {
1464
+ inputs: [{
1210
1465
  internalType: "address",
1211
- name: "tokenContract",
1466
+ name: "account",
1212
1467
  type: "address"
1213
1468
  }, {
1214
1469
  internalType: "uint256",
1215
- name: "tokenId",
1470
+ name: "snapshotId",
1216
1471
  type: "uint256"
1217
1472
  }, {
1218
- internalType: "string",
1219
- name: "ipName",
1220
- type: "string"
1221
- }, {
1222
- internalType: "bytes32",
1223
- name: "contentHash",
1224
- type: "bytes32"
1225
- }, {
1226
- internalType: "string",
1227
- name: "externalURL",
1228
- type: "string"
1473
+ internalType: "address",
1474
+ name: "token",
1475
+ type: "address"
1476
+ }],
1477
+ name: "claimableRevenue",
1478
+ outputs: [{
1479
+ internalType: "uint256",
1480
+ name: "",
1481
+ type: "uint256"
1482
+ }],
1483
+ stateMutability: "view",
1484
+ type: "function"
1485
+ }, {
1486
+ inputs: [{
1487
+ internalType: "address",
1488
+ name: "ancestorIpId",
1489
+ type: "address"
1229
1490
  }],
1230
- name: "registerRootIp",
1491
+ name: "collectRoyaltyTokens",
1492
+ outputs: [],
1493
+ stateMutability: "nonpayable",
1494
+ type: "function"
1495
+ }, {
1496
+ inputs: [],
1497
+ name: "ipId",
1231
1498
  outputs: [{
1232
1499
  internalType: "address",
1233
1500
  name: "",
1234
1501
  type: "address"
1235
1502
  }],
1503
+ stateMutability: "view",
1504
+ type: "function"
1505
+ }];
1506
+
1507
+ var IRoyaltyModuleABI = [{
1508
+ inputs: [{
1509
+ internalType: "address",
1510
+ name: "receiverIpId",
1511
+ type: "address"
1512
+ }, {
1513
+ internalType: "address",
1514
+ name: "payerIpId",
1515
+ type: "address"
1516
+ }, {
1517
+ internalType: "address",
1518
+ name: "token",
1519
+ type: "address"
1520
+ }, {
1521
+ internalType: "uint256",
1522
+ name: "amount",
1523
+ type: "uint256"
1524
+ }],
1525
+ name: "payRoyaltyOnBehalf",
1526
+ outputs: [],
1236
1527
  stateMutability: "nonpayable",
1237
1528
  type: "function"
1238
1529
  }];
@@ -1257,6 +1548,18 @@ var ErrorsABI = [{
1257
1548
  inputs: [],
1258
1549
  name: "AccessControlled__ZeroAddress",
1259
1550
  type: "error"
1551
+ }, {
1552
+ inputs: [{
1553
+ internalType: "address",
1554
+ name: "signer",
1555
+ type: "address"
1556
+ }, {
1557
+ internalType: "address",
1558
+ name: "to",
1559
+ type: "address"
1560
+ }],
1561
+ name: "AccessController__BothCallerAndRecipientAreNotRegisteredModule",
1562
+ type: "error"
1260
1563
  }, {
1261
1564
  inputs: [],
1262
1565
  name: "AccessController__CallerIsNotIPAccount",
@@ -1297,61 +1600,29 @@ var ErrorsABI = [{
1297
1600
  inputs: [],
1298
1601
  name: "AccessController__PermissionIsNotValid",
1299
1602
  type: "error"
1300
- }, {
1301
- inputs: [{
1302
- internalType: "address",
1303
- name: "to",
1304
- type: "address"
1305
- }],
1306
- name: "AccessController__RecipientIsNotRegisteredModule",
1307
- type: "error"
1308
1603
  }, {
1309
1604
  inputs: [],
1310
1605
  name: "AccessController__SignerIsZeroAddress",
1311
1606
  type: "error"
1312
1607
  }, {
1313
1608
  inputs: [],
1314
- name: "AncestorsVaultLAP__AlreadyClaimed",
1315
- type: "error"
1316
- }, {
1317
- inputs: [],
1318
- name: "AncestorsVaultLAP__ClaimerNotAnAncestor",
1319
- type: "error"
1320
- }, {
1321
- inputs: [],
1322
- name: "AncestorsVaultLAP__ERC20BalanceNotZero",
1323
- type: "error"
1324
- }, {
1325
- inputs: [],
1326
- name: "AncestorsVaultLAP__ETHBalanceNotZero",
1327
- type: "error"
1328
- }, {
1329
- inputs: [],
1330
- name: "AncestorsVaultLAP__InvalidAncestorsHash",
1331
- type: "error"
1332
- }, {
1333
- inputs: [],
1334
- name: "AncestorsVaultLAP__InvalidClaimer",
1335
- type: "error"
1336
- }, {
1337
- inputs: [],
1338
- name: "AncestorsVaultLAP__TransferFailed",
1609
+ name: "ArbitrationPolicySP__NotDisputeModule",
1339
1610
  type: "error"
1340
1611
  }, {
1341
1612
  inputs: [],
1342
- name: "AncestorsVaultLAP__ZeroRoyaltyPolicyLAP",
1613
+ name: "ArbitrationPolicySP__ZeroDisputeModule",
1343
1614
  type: "error"
1344
1615
  }, {
1345
1616
  inputs: [],
1346
- name: "ArbitrationPolicySP__NotDisputeModule",
1617
+ name: "ArbitrationPolicySP__ZeroPaymentToken",
1347
1618
  type: "error"
1348
1619
  }, {
1349
1620
  inputs: [],
1350
- name: "ArbitrationPolicySP__ZeroDisputeModule",
1621
+ name: "BasePolicyFrameworkManager__CallerNotLicensingModule",
1351
1622
  type: "error"
1352
1623
  }, {
1353
1624
  inputs: [],
1354
- name: "ArbitrationPolicySP__ZeroPaymentToken",
1625
+ name: "CoreMetadataModule__MetadataAlreadyFrozen",
1355
1626
  type: "error"
1356
1627
  }, {
1357
1628
  inputs: [],
@@ -1381,10 +1652,6 @@ var ErrorsABI = [{
1381
1652
  inputs: [],
1382
1653
  name: "DisputeModule__NotWhitelistedDisputeTag",
1383
1654
  type: "error"
1384
- }, {
1385
- inputs: [],
1386
- name: "DisputeModule__UnauthorizedAccess",
1387
- type: "error"
1388
1655
  }, {
1389
1656
  inputs: [],
1390
1657
  name: "DisputeModule__ZeroArbitrationPolicy",
@@ -1469,6 +1736,18 @@ var ErrorsABI = [{
1469
1736
  inputs: [],
1470
1737
  name: "IPAssetRegistry__InvalidMetadataProvider",
1471
1738
  type: "error"
1739
+ }, {
1740
+ inputs: [{
1741
+ internalType: "address",
1742
+ name: "contractAddress",
1743
+ type: "address"
1744
+ }, {
1745
+ internalType: "uint256",
1746
+ name: "tokenId",
1747
+ type: "uint256"
1748
+ }],
1749
+ name: "IPAssetRegistry__InvalidToken",
1750
+ type: "error"
1472
1751
  }, {
1473
1752
  inputs: [],
1474
1753
  name: "IPAssetRegistry__NotYetRegistered",
@@ -1485,6 +1764,22 @@ var ErrorsABI = [{
1485
1764
  inputs: [],
1486
1765
  name: "IPAssetRegistry__Unauthorized",
1487
1766
  type: "error"
1767
+ }, {
1768
+ inputs: [{
1769
+ internalType: "address",
1770
+ name: "contractAddress",
1771
+ type: "address"
1772
+ }],
1773
+ name: "IPAssetRegistry__UnsupportedIERC721",
1774
+ type: "error"
1775
+ }, {
1776
+ inputs: [{
1777
+ internalType: "address",
1778
+ name: "contractAddress",
1779
+ type: "address"
1780
+ }],
1781
+ name: "IPAssetRegistry__UnsupportedIERC721Metadata",
1782
+ type: "error"
1488
1783
  }, {
1489
1784
  inputs: [],
1490
1785
  name: "IPResolver_InvalidIP",
@@ -1493,6 +1788,30 @@ var ErrorsABI = [{
1493
1788
  inputs: [],
1494
1789
  name: "IPResolver_Unauthorized",
1495
1790
  type: "error"
1791
+ }, {
1792
+ inputs: [],
1793
+ name: "IpRoyaltyVault__AlreadyClaimed",
1794
+ type: "error"
1795
+ }, {
1796
+ inputs: [],
1797
+ name: "IpRoyaltyVault__ClaimerNotAnAncestor",
1798
+ type: "error"
1799
+ }, {
1800
+ inputs: [],
1801
+ name: "IpRoyaltyVault__NotRoyaltyPolicyLAP",
1802
+ type: "error"
1803
+ }, {
1804
+ inputs: [],
1805
+ name: "IpRoyaltyVault__SnapshotIntervalTooShort",
1806
+ type: "error"
1807
+ }, {
1808
+ inputs: [],
1809
+ name: "IpRoyaltyVault__ZeroIpId",
1810
+ type: "error"
1811
+ }, {
1812
+ inputs: [],
1813
+ name: "IpRoyaltyVault__ZeroRoyaltyPolicyLAP",
1814
+ type: "error"
1496
1815
  }, {
1497
1816
  inputs: [],
1498
1817
  name: "LicenseRegistry__CallerNotLicensingModule",
@@ -1513,10 +1832,6 @@ var ErrorsABI = [{
1513
1832
  inputs: [],
1514
1833
  name: "LicenseRegistry__ZeroLicensingModule",
1515
1834
  type: "error"
1516
- }, {
1517
- inputs: [],
1518
- name: "LicensingModuleAware__CallerNotLicensingModule",
1519
- type: "error"
1520
1835
  }, {
1521
1836
  inputs: [],
1522
1837
  name: "LicensingModule__CallerNotLicenseRegistry",
@@ -1577,6 +1892,10 @@ var ErrorsABI = [{
1577
1892
  inputs: [],
1578
1893
  name: "LicensingModule__InvalidPolicyFramework",
1579
1894
  type: "error"
1895
+ }, {
1896
+ inputs: [],
1897
+ name: "LicensingModule__IpAlreadyLinked",
1898
+ type: "error"
1580
1899
  }, {
1581
1900
  inputs: [],
1582
1901
  name: "LicensingModule__LicensorDoesntHaveThisPolicy",
@@ -1593,6 +1912,10 @@ var ErrorsABI = [{
1593
1912
  inputs: [],
1594
1913
  name: "LicensingModule__LinkingRevokedLicense",
1595
1914
  type: "error"
1915
+ }, {
1916
+ inputs: [],
1917
+ name: "LicensingModule__MintAmountZero",
1918
+ type: "error"
1596
1919
  }, {
1597
1920
  inputs: [],
1598
1921
  name: "LicensingModule__MintLicenseParamFailed",
@@ -1629,6 +1952,10 @@ var ErrorsABI = [{
1629
1952
  inputs: [],
1630
1953
  name: "LicensingModule__PolicyNotFound",
1631
1954
  type: "error"
1955
+ }, {
1956
+ inputs: [],
1957
+ name: "LicensingModule__ReceiverZeroAddress",
1958
+ type: "error"
1632
1959
  }, {
1633
1960
  inputs: [],
1634
1961
  name: "LicensingModule__RegisterPolicyFrameworkMismatch",
@@ -1757,10 +2084,6 @@ var ErrorsABI = [{
1757
2084
  inputs: [],
1758
2085
  name: "PolicyFrameworkManager__GettingPolicyWrongFramework",
1759
2086
  type: "error"
1760
- }, {
1761
- inputs: [],
1762
- name: "RegistrationModule__InvalidOwner",
1763
- type: "error"
1764
2087
  }, {
1765
2088
  inputs: [],
1766
2089
  name: "RoyaltyModule__CanOnlyMintSelectedPolicy",
@@ -1781,10 +2104,6 @@ var ErrorsABI = [{
1781
2104
  inputs: [],
1782
2105
  name: "RoyaltyModule__NotAllowedCaller",
1783
2106
  type: "error"
1784
- }, {
1785
- inputs: [],
1786
- name: "RoyaltyModule__NotRegisteredIpId",
1787
- type: "error"
1788
2107
  }, {
1789
2108
  inputs: [],
1790
2109
  name: "RoyaltyModule__NotWhitelistedRoyaltyPolicy",
@@ -1821,30 +2140,10 @@ var ErrorsABI = [{
1821
2140
  inputs: [],
1822
2141
  name: "RoyaltyPolicyLAP__ImplementationAlreadySet",
1823
2142
  type: "error"
1824
- }, {
1825
- inputs: [],
1826
- name: "RoyaltyPolicyLAP__InvalidAncestors",
1827
- type: "error"
1828
- }, {
1829
- inputs: [],
1830
- name: "RoyaltyPolicyLAP__InvalidAncestorsHash",
1831
- type: "error"
1832
- }, {
1833
- inputs: [],
1834
- name: "RoyaltyPolicyLAP__InvalidAncestorsLength",
1835
- type: "error"
1836
- }, {
1837
- inputs: [],
1838
- name: "RoyaltyPolicyLAP__InvalidAncestorsRoyalty",
1839
- type: "error"
1840
2143
  }, {
1841
2144
  inputs: [],
1842
2145
  name: "RoyaltyPolicyLAP__InvalidParentRoyaltiesLength",
1843
2146
  type: "error"
1844
- }, {
1845
- inputs: [],
1846
- name: "RoyaltyPolicyLAP__InvalidRoyaltyAmountLength",
1847
- type: "error"
1848
2147
  }, {
1849
2148
  inputs: [],
1850
2149
  name: "RoyaltyPolicyLAP__LastPositionNotAbleToMintLicense",
@@ -1859,15 +2158,15 @@ var ErrorsABI = [{
1859
2158
  type: "error"
1860
2159
  }, {
1861
2160
  inputs: [],
1862
- name: "RoyaltyPolicyLAP__TransferFailed",
2161
+ name: "RoyaltyPolicyLAP__UnlinkableToParents",
1863
2162
  type: "error"
1864
2163
  }, {
1865
2164
  inputs: [],
1866
- name: "RoyaltyPolicyLAP__UnlinkableToParents",
2165
+ name: "RoyaltyPolicyLAP__ZeroAncestorsVaultImpl",
1867
2166
  type: "error"
1868
2167
  }, {
1869
2168
  inputs: [],
1870
- name: "RoyaltyPolicyLAP__ZeroAncestorsVaultImpl",
2169
+ name: "RoyaltyPolicyLAP__ZeroIpRoyaltyVaultBeacon",
1871
2170
  type: "error"
1872
2171
  }, {
1873
2172
  inputs: [],
@@ -1911,537 +2210,229 @@ var sepolia = {
1911
2210
  RoyaltyPolicyLAP: "0x16eF58e959522727588921A92e9084d36E5d3855",
1912
2211
  TokenWithdrawalModule: "0x66738a5722e9Cd91B694bA39146CFEcE95457F04"
1913
2212
  };
2213
+ var storyTestnet = {
2214
+ AccessController: "0x6fB5BA9A8747E897109044a1cd1192898AA384a9",
2215
+ ArbitrationPolicySP: "0x114aE96d362b802Ed92758A21992e429e9E83565",
2216
+ DisputeModule: "0x837d095F9A11178545DF4114C44fb526dcf74168",
2217
+ Governance: "0x0Fee5B61cF0976f3F59138146a9180a107738db9",
2218
+ IPAccountImpl: "0x6d1398e1ceE174a3e41d6eB50F00Fe43132f9C8A",
2219
+ IPAccountRegistry: "0x0CCc0CD388477ED0D7531d2aD6e68c9E24B8392d",
2220
+ IPAssetRegistry: "0x30C89bCB41277f09b18DF0375b9438909e193bf0",
2221
+ IpRoyaltyVaultBeacon: "0x8C7664Befc382A282F8aA821A2d337960e410E77",
2222
+ IpRoyaltyVaultImpl: "0x0dB6AAb7525F03Bf94A1fC08A9aACCc2Ad25eD12",
2223
+ LicenseRegistry: "0x790717fBa06Aa219Fc3A502ce360d8dEAF273Eb5",
2224
+ LicensingModule: "0xB7a83a5f3C8b512A6DfE294ad4811F1b4AA10E96",
2225
+ MockERC20: "0xCc97e835157daf88820cbDE105ADFF5d7981A382",
2226
+ MockERC721: "0x7c0004C6D352bC0a0531AaD46d33A03D9d51ab1D",
2227
+ MockTokenGatedHook: "0xD3Aa4F5B77509907FF3d7a90cEadE19bab2b6Fdb",
2228
+ ModuleRegistry: "0xab0bf9846eCE1299AaA1cB3FF5EfbBA328968771",
2229
+ PILPolicyFrameworkManager: "0x251bce81DF5957123869E43269C4E29308A062c4",
2230
+ RoyaltyModule: "0xF77b0933F6aaC2dCE2eAa0d79f6Bfd6b9347a5E7",
2231
+ RoyaltyPolicyLAP: "0x31f263D48df5FA5956E2Ba614b150e2A0fE1aDd3",
2232
+ TokenWithdrawalModule: "0x446B734C3Fc13c53b4E32FEFCaaED97e0100552D"
2233
+ };
2234
+ var contractAddress = {
2235
+ sepolia: sepolia,
2236
+ 11155111: sepolia,
2237
+ storyTestnet: storyTestnet,
2238
+ 1513: storyTestnet
2239
+ };
1914
2240
 
1915
2241
  var IPAccountABI = [].concat(_toConsumableArray(IPAccountImplABI), _toConsumableArray(ErrorsABI));
1916
- var IPAssetRegistryConfig = {
1917
- abi: IPAssetRegistryABI,
1918
- address: getAddress(sepolia.IPAssetRegistry)
2242
+ var getIPAssetRegistryConfig = function getIPAssetRegistryConfig(chain) {
2243
+ return {
2244
+ abi: IPAssetRegistryABI,
2245
+ address: getAddress(contractAddress[chain].IPAssetRegistry)
2246
+ };
1919
2247
  };
1920
- var AccessControllerConfig = {
1921
- abi: [].concat(_toConsumableArray(AccessControllerABI), _toConsumableArray(ErrorsABI)),
1922
- address: getAddress(sepolia.AccessController)
2248
+ var getAccessControllerConfig = function getAccessControllerConfig(chain) {
2249
+ return {
2250
+ abi: [].concat(_toConsumableArray(AccessControllerABI), _toConsumableArray(ErrorsABI)),
2251
+ address: getAddress(contractAddress[chain].AccessController)
2252
+ };
2253
+ };
2254
+ var getDisputeModuleConfig = function getDisputeModuleConfig(chain) {
2255
+ return {
2256
+ abi: [].concat(_toConsumableArray(DisputeModuleABI), _toConsumableArray(ErrorsABI)),
2257
+ address: getAddress(contractAddress[chain].DisputeModule)
2258
+ };
1923
2259
  };
1924
- var DisputeModuleConfig = {
1925
- abi: [].concat(_toConsumableArray(DisputeModuleABI), _toConsumableArray(ErrorsABI)),
1926
- address: getAddress(sepolia.DisputeModule)
2260
+ var getLicenseRegistryConfig = function getLicenseRegistryConfig(chain) {
2261
+ return {
2262
+ abi: IERC1155ABI,
2263
+ address: getAddress(contractAddress[chain].LicenseRegistry)
2264
+ };
1927
2265
  };
1928
- var LicenseRegistryConfig = {
1929
- abi: IERC1155ABI,
1930
- address: getAddress(sepolia.LicenseRegistry)
2266
+ var getLicensingModuleConfig = function getLicensingModuleConfig(chain) {
2267
+ return {
2268
+ abi: [].concat(_toConsumableArray(LicensingModuleABI), _toConsumableArray(ErrorsABI)),
2269
+ address: getAddress(contractAddress[chain].LicensingModule)
2270
+ };
1931
2271
  };
1932
- var LicensingModuleConfig = {
1933
- abi: [].concat(_toConsumableArray(LicensingModuleABI), _toConsumableArray(ErrorsABI)),
1934
- address: getAddress(sepolia.LicensingModule)
2272
+ var getPILPolicyFrameworkManagerConfig = function getPILPolicyFrameworkManagerConfig(chain) {
2273
+ return {
2274
+ abi: [].concat(_toConsumableArray(PILPolicyFrameworkManagerABI), _toConsumableArray(ErrorsABI)),
2275
+ address: getAddress(contractAddress[chain].PILPolicyFrameworkManager)
2276
+ };
1935
2277
  };
1936
- var RegistrationModuleConfig = {
1937
- abi: [].concat(_toConsumableArray(RegistrationModuleABI), _toConsumableArray(ErrorsABI)),
1938
- address: getAddress(sepolia.RegistrationModule)
2278
+ var getRoyaltyPolicyLAPConfig = function getRoyaltyPolicyLAPConfig(chain) {
2279
+ return {
2280
+ abi: [].concat(_toConsumableArray(IRoyaltyPolicyLAPABI), _toConsumableArray(ErrorsABI)),
2281
+ address: getAddress(contractAddress[chain].RoyaltyPolicyLAP)
2282
+ };
1939
2283
  };
1940
- var PILPolicyFrameworkManagerConfig = {
1941
- abi: [].concat(_toConsumableArray(PILPolicyFrameworkManagerABI), _toConsumableArray(ErrorsABI)),
1942
- address: getAddress(sepolia.PILPolicyFrameworkManager)
2284
+ var getRoyaltyVaultImplConfig = function getRoyaltyVaultImplConfig(chain) {
2285
+ return {
2286
+ abi: [].concat(_toConsumableArray(IpRoyaltyVaultABI), _toConsumableArray(ErrorsABI)),
2287
+ address: getAddress(contractAddress[chain].IpRoyaltyVaultImpl)
2288
+ };
1943
2289
  };
1944
- var RoyaltyPolicyLAPConfig = {
1945
- address: getAddress(sepolia.RoyaltyPolicyLAP)
2290
+ var getRoyaltyModuleConfig = function getRoyaltyModuleConfig(chain) {
2291
+ return {
2292
+ abi: [].concat(_toConsumableArray(IRoyaltyModuleABI), _toConsumableArray(ErrorsABI)),
2293
+ address: getAddress(contractAddress[chain].RoyaltyModule)
2294
+ };
1946
2295
  };
1947
2296
 
1948
- function _createForOfIteratorHelper(o, allowArrayLike) {
1949
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
1950
- if (!it) {
1951
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
1952
- if (it) o = it;
1953
- var i = 0;
1954
- var F = function () {};
1955
- return {
1956
- s: F,
1957
- n: function () {
1958
- if (i >= o.length) return {
1959
- done: true
1960
- };
1961
- return {
1962
- done: false,
1963
- value: o[i++]
1964
- };
1965
- },
1966
- e: function (e) {
1967
- throw e;
1968
- },
1969
- f: F
1970
- };
1971
- }
1972
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1973
- }
1974
- var normalCompletion = true,
1975
- didErr = false,
1976
- err;
1977
- return {
1978
- s: function () {
1979
- it = it.call(o);
1980
- },
1981
- n: function () {
1982
- var step = it.next();
1983
- normalCompletion = step.done;
1984
- return step;
1985
- },
1986
- e: function (e) {
1987
- didErr = true;
1988
- err = e;
1989
- },
1990
- f: function () {
1991
- try {
1992
- if (!normalCompletion && it.return != null) it.return();
1993
- } finally {
1994
- if (didErr) throw err;
1995
- }
1996
- }
1997
- };
1998
- }
1999
-
2000
- function parseToBigInt(num) {
2001
- return BigInt(num);
2002
- }
2003
- function waitTxAndFilterLog(_x, _x2, _x3) {
2004
- return _waitTxAndFilterLog.apply(this, arguments);
2005
- }
2006
- function _waitTxAndFilterLog() {
2007
- _waitTxAndFilterLog = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(client, txHash, params) {
2008
- var txReceipt, targetLogs, _iterator, _step, log, currentLog;
2009
- return _regeneratorRuntime().wrap(function _callee$(_context) {
2010
- while (1) switch (_context.prev = _context.next) {
2011
- case 0:
2012
- _context.next = 2;
2013
- return client.waitForTransactionReceipt({
2014
- hash: txHash,
2015
- confirmations: params.confirmations,
2016
- pollingInterval: params.pollingInterval,
2017
- timeout: params.timeout
2018
- });
2019
- case 2:
2020
- txReceipt = _context.sent;
2021
- targetLogs = [];
2022
- _iterator = _createForOfIteratorHelper(txReceipt.logs);
2023
- _context.prev = 5;
2024
- _iterator.s();
2025
- case 7:
2026
- if ((_step = _iterator.n()).done) {
2027
- _context.next = 21;
2028
- break;
2029
- }
2030
- log = _step.value;
2031
- _context.prev = 9;
2032
- if (!(params.from && log.address !== params.from.toLowerCase())) {
2033
- _context.next = 12;
2034
- break;
2035
- }
2036
- return _context.abrupt("continue", 19);
2037
- case 12:
2038
- currentLog = decodeEventLog({
2039
- abi: params.abi,
2040
- eventName: params.eventName,
2041
- data: log.data,
2042
- topics: log.topics
2043
- });
2044
- targetLogs.push(currentLog);
2045
- _context.next = 19;
2046
- break;
2047
- case 16:
2048
- _context.prev = 16;
2049
- _context.t0 = _context["catch"](9);
2050
- return _context.abrupt("continue", 19);
2051
- case 19:
2052
- _context.next = 7;
2053
- break;
2054
- case 21:
2055
- _context.next = 26;
2056
- break;
2057
- case 23:
2058
- _context.prev = 23;
2059
- _context.t1 = _context["catch"](5);
2060
- _iterator.e(_context.t1);
2061
- case 26:
2062
- _context.prev = 26;
2063
- _iterator.f();
2064
- return _context.finish(26);
2065
- case 29:
2066
- if (!(targetLogs.length === 0)) {
2067
- _context.next = 31;
2068
- break;
2069
- }
2070
- throw new Error("not found event ".concat(params.eventName, " in target transaction"));
2071
- case 31:
2072
- return _context.abrupt("return", targetLogs);
2073
- case 32:
2074
- case "end":
2075
- return _context.stop();
2076
- }
2077
- }, _callee, null, [[5, 23, 26, 29], [9, 16]]);
2078
- }));
2079
- return _waitTxAndFilterLog.apply(this, arguments);
2080
- }
2081
- function waitTx(_x4, _x5, _x6) {
2082
- return _waitTx.apply(this, arguments);
2083
- }
2084
- function _waitTx() {
2085
- _waitTx = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(client, txHash, params) {
2086
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
2087
- while (1) switch (_context2.prev = _context2.next) {
2088
- case 0:
2089
- _context2.next = 2;
2090
- return client.waitForTransactionReceipt(_objectSpread2({
2091
- hash: txHash
2092
- }, params));
2093
- case 2:
2094
- case "end":
2095
- return _context2.stop();
2096
- }
2097
- }, _callee2);
2098
- }));
2099
- return _waitTx.apply(this, arguments);
2100
- }
2101
- function typedDataToBytes(typedData) {
2102
- return encodeAbiParameters(parseAbiParameters(typedData["interface"]), typedData.data);
2103
- }
2104
- function chainStringToViemChain(chainId) {
2105
- switch (chainId) {
2106
- case "1":
2107
- case "mainnet":
2108
- return mainnet;
2109
- case "11155111":
2110
- case "sepolia":
2111
- return sepolia$1;
2112
- case "80001":
2113
- case "mumbai":
2114
- case "polygonMumbai":
2115
- return polygonMumbai;
2116
- default:
2117
- throw new Error("chainId ".concat(chainId, " not supported"));
2118
- }
2119
- }
2120
-
2121
- function computeRoyaltyContext(_x, _x2) {
2122
- return _computeRoyaltyContext.apply(this, arguments);
2123
- }
2124
- function _computeRoyaltyContext() {
2125
- _computeRoyaltyContext = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(licenseIds, storyClient) {
2126
- var royaltyContext, i, licenseData, royaltyPolicy, policy, targetRoyaltyAmount;
2127
- return _regeneratorRuntime().wrap(function _callee$(_context) {
2128
- while (1) switch (_context.prev = _context.next) {
2129
- case 0:
2130
- royaltyContext = {
2131
- targetAncestors: [],
2132
- targetRoyaltyAmount: [],
2133
- parentAncestors1: [],
2134
- parentAncestors2: [],
2135
- parentAncestorsRoyalties1: [],
2136
- parentAncestorsRoyalties2: []
2137
- };
2138
- i = 0;
2139
- case 2:
2140
- if (!(i < licenseIds.length)) {
2141
- _context.next = 16;
2142
- break;
2143
- }
2144
- _context.next = 5;
2145
- return storyClient.getLicense(licenseIds[i]);
2146
- case 5:
2147
- licenseData = _context.sent;
2148
- _context.next = 8;
2149
- return storyClient.getRoyaltyPolicy(licenseData.licensorIpId);
2150
- case 8:
2151
- royaltyPolicy = _context.sent;
2152
- _context.next = 11;
2153
- return storyClient.getPolicy(licenseData.policyId);
2154
- case 11:
2155
- policy = _context.sent;
2156
- if (royaltyPolicy) {
2157
- targetRoyaltyAmount = royaltyPolicy.targetRoyaltyAmount.map(function (e) {
2158
- return parseInt(e);
2159
- });
2160
- if (i === 0) {
2161
- royaltyContext.parentAncestors1 = royaltyPolicy.targetAncestors;
2162
- royaltyContext.parentAncestorsRoyalties1 = targetRoyaltyAmount;
2163
- } else {
2164
- royaltyContext.parentAncestors2 = royaltyPolicy.targetAncestors;
2165
- royaltyContext.parentAncestorsRoyalties2 = targetRoyaltyAmount;
2166
- }
2167
- updateRoyaltyContext(royaltyContext, [licenseData.licensorIpId], [parseInt(policy.pil.commercialRevShare)]);
2168
- updateRoyaltyContext(royaltyContext, royaltyPolicy.targetAncestors, targetRoyaltyAmount);
2169
- }
2170
- case 13:
2171
- i++;
2172
- _context.next = 2;
2173
- break;
2174
- case 16:
2175
- return _context.abrupt("return", royaltyContext);
2176
- case 17:
2177
- case "end":
2178
- return _context.stop();
2179
- }
2180
- }, _callee);
2181
- }));
2182
- return _computeRoyaltyContext.apply(this, arguments);
2183
- }
2184
- function encodeRoyaltyContext(royaltyContext) {
2185
- return typedDataToBytes({
2186
- "interface": "(address[], uint32[], address[], address[], uint32[], uint32[])",
2187
- data: [[royaltyContext.targetAncestors, royaltyContext.targetRoyaltyAmount, royaltyContext.parentAncestors1, royaltyContext.parentAncestors2, royaltyContext.parentAncestorsRoyalties1, royaltyContext.parentAncestorsRoyalties2]]
2188
- });
2189
- }
2190
- function updateRoyaltyContext(royaltyContext, targetAncestors, targetRoyaltyAccounts) {
2191
- for (var i = 0; i < targetAncestors.length; i++) {
2192
- var index = royaltyContext.targetAncestors.indexOf(targetAncestors[i]);
2193
- if (index === -1) {
2194
- royaltyContext.targetAncestors.push(targetAncestors[i]);
2195
- royaltyContext.targetRoyaltyAmount.push(targetRoyaltyAccounts[i]);
2196
- } else {
2197
- royaltyContext.targetRoyaltyAmount[index] += targetRoyaltyAccounts[i];
2198
- }
2297
+ function handleError(error, msg) {
2298
+ if (error instanceof Error) {
2299
+ throw new Error("".concat(msg, ": ").concat(error.message));
2199
2300
  }
2301
+ throw new Error("".concat(msg, ": Unknown error type"));
2200
2302
  }
2201
2303
 
2202
2304
  var IPAssetClient = /*#__PURE__*/function () {
2203
- function IPAssetClient(rpcClient, wallet, storyClient) {
2305
+ function IPAssetClient(rpcClient, wallet, chainId) {
2204
2306
  _classCallCheck(this, IPAssetClient);
2205
- _defineProperty(this, "ipAssetRegistryConfig", IPAssetRegistryConfig);
2206
- _defineProperty(this, "registrationModuleConfig", RegistrationModuleConfig);
2207
2307
  this.wallet = wallet;
2208
2308
  this.rpcClient = rpcClient;
2209
- this.storyClient = storyClient;
2309
+ this.chainId = chainId;
2310
+ this.ipAssetRegistryConfig = getIPAssetRegistryConfig(chainId);
2210
2311
  }
2211
-
2212
- /**
2213
- * Registers a root-level IP into the protocol. Root-level IPs can be thought of as organizational hubs
2214
- * for encapsulating policies that actual IPs can use to register through. As such, a root-level IP is not an
2215
- * actual IP, but a container for IP policy management for their child IP assets.
2216
- * @param request The request object that contains all data needed to register a root IP.
2217
- * @param request.policyId The policy that identifies the licensing terms of the IP.
2218
- * @param request.tokenContract The address of the NFT bound to the root-level IP.
2219
- * @param request.tokenId The token id of the NFT bound to the root-level IP.
2220
- * @param request.ipName [Optional] The name assigned to the new IP.
2221
- * @param request.contentHash [Optional] The content hash of the IP being registered.
2222
- * @param request.uri [Optional] An external URI to link to the IP.
2223
- * @param request.txOptions [Optional] The transaction options.
2224
- * @returns A Promise that resolves to an object containing the transaction hash and optional IP ID if waitForTxn is set to true.
2225
- * @emits RootIPRegistered (msg.sender, ipId, policyId)
2226
- */
2227
- _createClass(IPAssetClient, [{
2228
- key: "registerRootIp",
2312
+ return _createClass(IPAssetClient, [{
2313
+ key: "isNFTRegistered",
2229
2314
  value: function () {
2230
- var _registerRootIp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
2231
- var _request$txOptions, ipId, _yield$this$rpcClient, call, txHash, targetLogs;
2315
+ var _isNFTRegistered = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(tokenAddress, tokenId) {
2316
+ var ipId, isRegistered;
2232
2317
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2233
2318
  while (1) switch (_context.prev = _context.next) {
2234
2319
  case 0:
2235
- _context.prev = 0;
2236
- _context.next = 3;
2237
- return this.isNFTRegistered(SepoliaChainId, request.tokenContractAddress, request.tokenId);
2238
- case 3:
2239
- ipId = _context.sent;
2240
- if (!(ipId !== "0x")) {
2241
- _context.next = 6;
2242
- break;
2243
- }
2244
- return _context.abrupt("return", {
2245
- ipId: ipId
2246
- });
2247
- case 6:
2248
- _context.next = 8;
2249
- return this.rpcClient.simulateContract(_objectSpread2(_objectSpread2({}, this.registrationModuleConfig), {}, {
2250
- functionName: "registerRootIp",
2251
- args: [parseToBigInt(request.policyId || "0"), getAddress(request.tokenContractAddress),
2252
- // 0x Address
2253
- parseToBigInt(request.tokenId), request.ipName || "", request.contentHash || HashZero, request.uri || ""],
2254
- account: this.wallet.account
2320
+ _context.next = 2;
2321
+ return this.rpcClient.readContract(_objectSpread2(_objectSpread2({}, this.ipAssetRegistryConfig), {}, {
2322
+ functionName: "ipId",
2323
+ args: [parseToBigInt(chain[this.chainId]), tokenAddress, tokenId]
2255
2324
  }));
2256
- case 8:
2257
- _yield$this$rpcClient = _context.sent;
2258
- call = _yield$this$rpcClient.request;
2259
- _context.next = 12;
2260
- return this.wallet.writeContract(call);
2261
- case 12:
2262
- txHash = _context.sent;
2263
- if (!((_request$txOptions = request.txOptions) !== null && _request$txOptions !== void 0 && _request$txOptions.waitForTransaction)) {
2264
- _context.next = 20;
2265
- break;
2266
- }
2267
- _context.next = 16;
2268
- return waitTxAndFilterLog(this.rpcClient, txHash, _objectSpread2(_objectSpread2({}, this.ipAssetRegistryConfig), {}, {
2269
- eventName: "IPRegistered"
2325
+ case 2:
2326
+ ipId = _context.sent;
2327
+ _context.next = 5;
2328
+ return this.rpcClient.readContract(_objectSpread2(_objectSpread2({}, this.ipAssetRegistryConfig), {}, {
2329
+ functionName: "isRegistered",
2330
+ args: [ipId]
2270
2331
  }));
2271
- case 16:
2272
- targetLogs = _context.sent;
2273
- return _context.abrupt("return", {
2274
- txHash: txHash,
2275
- ipId: targetLogs[0].args.ipId
2276
- });
2277
- case 20:
2278
- return _context.abrupt("return", {
2279
- txHash: txHash
2280
- });
2281
- case 21:
2282
- _context.next = 26;
2283
- break;
2284
- case 23:
2285
- _context.prev = 23;
2286
- _context.t0 = _context["catch"](0);
2287
- handleError(_context.t0, "Failed to register root IP");
2288
- case 26:
2332
+ case 5:
2333
+ isRegistered = _context.sent;
2334
+ return _context.abrupt("return", isRegistered ? ipId : "0x");
2335
+ case 7:
2289
2336
  case "end":
2290
2337
  return _context.stop();
2291
2338
  }
2292
- }, _callee, this, [[0, 23]]);
2339
+ }, _callee, this);
2293
2340
  }));
2294
- function registerRootIp(_x) {
2295
- return _registerRootIp.apply(this, arguments);
2341
+ function isNFTRegistered(_x, _x2) {
2342
+ return _isNFTRegistered.apply(this, arguments);
2296
2343
  }
2297
- return registerRootIp;
2344
+ return isNFTRegistered;
2298
2345
  }()
2299
2346
  /**
2300
- * Registers derivative IPs into the protocol. Derivative IPs are IP assets that inherit policies from
2301
- * parent IPs by burning acquired license NFTs.
2302
- * @param request The request object that contains all data needed to register a root IP.
2303
- * @param request.licenseIds The policy that identifies the licensing terms of the IP.
2304
- * @param request.tokenContract The address of the NFT bound to the derivative IP.
2305
- * @param request.tokenId The token id of the NFT bound to the derivative IP.
2306
- * @param request.ipName [Optional] The name assigned to the new IP.
2307
- * @param request.contentHash [Optional] The content hash of the IP being registered.
2308
- * @param request.uri [Optional] An external URI to link to the IP.
2309
- * @param request.txOptions [Optional] The transaction options.
2347
+ * Registers an NFT as IP, creating a corresponding IP record.
2348
+ * @param request The request object that contains all data needed to register IP.
2349
+ * @param request.tokenContract The address of the NFT.
2350
+ * @param request.tokenId The token identifier of the NFT.
2351
+ * @param request.txOptions [Optional] The transaction options.
2310
2352
  * @returns A Promise that resolves to an object containing the transaction hash and optional IP ID if waitForTxn is set to true.
2311
- * @emits RootIPRegistered (msg.sender, ipId, policyId)
2353
+ * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, resolverAddr, metadataProviderAddress, metadata)
2312
2354
  */
2313
2355
  }, {
2314
- key: "registerDerivativeIp",
2315
- value: function () {
2316
- var _registerDerivativeIp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
2317
- var _request$txOptions2, ipId, licenseIds, royaltyContext, _yield$this$rpcClient2, call, txHash, targetLogs;
2356
+ key: "register",
2357
+ value: (function () {
2358
+ var _register = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
2359
+ var tokenId, _request$txOptions, ipId, _yield$this$rpcClient, call, txHash, targetLogs;
2318
2360
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
2319
2361
  while (1) switch (_context2.prev = _context2.next) {
2320
2362
  case 0:
2321
- _context2.prev = 0;
2322
- _context2.next = 3;
2323
- return this.isNFTRegistered(SepoliaChainId, request.tokenContractAddress, request.tokenId);
2324
- case 3:
2363
+ tokenId = parseToBigInt(request.tokenId);
2364
+ _context2.prev = 1;
2365
+ _context2.next = 4;
2366
+ return this.isNFTRegistered(request.tokenContract, tokenId);
2367
+ case 4:
2325
2368
  ipId = _context2.sent;
2326
2369
  if (!(ipId !== "0x")) {
2327
- _context2.next = 6;
2370
+ _context2.next = 7;
2328
2371
  break;
2329
2372
  }
2330
2373
  return _context2.abrupt("return", {
2331
2374
  ipId: ipId
2332
2375
  });
2333
- case 6:
2334
- licenseIds = [];
2335
- request.licenseIds.forEach(function (licenseId) {
2336
- licenseIds.push(parseToBigInt(licenseId));
2337
- });
2338
- _context2.next = 10;
2339
- return computeRoyaltyContext(request.licenseIds, this.storyClient);
2340
- case 10:
2341
- royaltyContext = _context2.sent;
2342
- _context2.next = 13;
2343
- return this.rpcClient.simulateContract(_objectSpread2(_objectSpread2({}, this.registrationModuleConfig), {}, {
2344
- functionName: "registerDerivativeIp",
2345
- args: [licenseIds, getAddress(request.tokenContractAddress),
2346
- // 0x Address
2347
- parseToBigInt(request.tokenId), request.ipName || "", request.contentHash || HashZero, request.uri || "", encodeRoyaltyContext(royaltyContext)],
2376
+ case 7:
2377
+ _context2.next = 9;
2378
+ return this.rpcClient.simulateContract(_objectSpread2(_objectSpread2({}, this.ipAssetRegistryConfig), {}, {
2379
+ functionName: "register",
2380
+ args: [getAddress(request.tokenContract), tokenId],
2348
2381
  account: this.wallet.account
2349
2382
  }));
2350
- case 13:
2351
- _yield$this$rpcClient2 = _context2.sent;
2352
- call = _yield$this$rpcClient2.request;
2353
- _context2.next = 17;
2383
+ case 9:
2384
+ _yield$this$rpcClient = _context2.sent;
2385
+ call = _yield$this$rpcClient.request;
2386
+ _context2.next = 13;
2354
2387
  return this.wallet.writeContract(call);
2355
- case 17:
2388
+ case 13:
2356
2389
  txHash = _context2.sent;
2357
- if (!((_request$txOptions2 = request.txOptions) !== null && _request$txOptions2 !== void 0 && _request$txOptions2.waitForTransaction)) {
2358
- _context2.next = 25;
2390
+ if (!((_request$txOptions = request.txOptions) !== null && _request$txOptions !== void 0 && _request$txOptions.waitForTransaction)) {
2391
+ _context2.next = 21;
2359
2392
  break;
2360
2393
  }
2361
- _context2.next = 21;
2394
+ _context2.next = 17;
2362
2395
  return waitTxAndFilterLog(this.rpcClient, txHash, _objectSpread2(_objectSpread2({}, this.ipAssetRegistryConfig), {}, {
2363
2396
  eventName: "IPRegistered"
2364
2397
  }));
2365
- case 21:
2398
+ case 17:
2366
2399
  targetLogs = _context2.sent;
2367
2400
  return _context2.abrupt("return", {
2368
2401
  txHash: txHash,
2369
2402
  ipId: targetLogs[0].args.ipId
2370
2403
  });
2371
- case 25:
2404
+ case 21:
2372
2405
  return _context2.abrupt("return", {
2373
2406
  txHash: txHash
2374
2407
  });
2375
- case 26:
2376
- _context2.next = 31;
2408
+ case 22:
2409
+ _context2.next = 27;
2377
2410
  break;
2378
- case 28:
2379
- _context2.prev = 28;
2380
- _context2.t0 = _context2["catch"](0);
2381
- handleError(_context2.t0, "Failed to register derivative IP");
2382
- case 31:
2411
+ case 24:
2412
+ _context2.prev = 24;
2413
+ _context2.t0 = _context2["catch"](1);
2414
+ handleError(_context2.t0, "Failed to register IP");
2415
+ case 27:
2383
2416
  case "end":
2384
2417
  return _context2.stop();
2385
2418
  }
2386
- }, _callee2, this, [[0, 28]]);
2387
- }));
2388
- function registerDerivativeIp(_x2) {
2389
- return _registerDerivativeIp.apply(this, arguments);
2390
- }
2391
- return registerDerivativeIp;
2392
- }()
2393
- /**
2394
- * Checks if an NFT is already registered in the protocol.
2395
- * @param chainId The chain ID of the NFT.
2396
- * @param tokenAddress The address of the NFT.
2397
- * @param tokenId The token ID of the NFT.
2398
- * @returns A Promise that resolves to the IP ID if the NFT is already registered, otherwise it resolves to 0x.
2399
- */
2400
- }, {
2401
- key: "isNFTRegistered",
2402
- value: function () {
2403
- var _isNFTRegistered = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(chainId, tokenAddress, tokenId) {
2404
- var ipId, isRegistered;
2405
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
2406
- while (1) switch (_context3.prev = _context3.next) {
2407
- case 0:
2408
- _context3.next = 2;
2409
- return this.rpcClient.readContract(_objectSpread2(_objectSpread2({}, this.ipAssetRegistryConfig), {}, {
2410
- functionName: "ipId",
2411
- args: [parseToBigInt(chainId), tokenAddress, parseToBigInt(tokenId)]
2412
- }));
2413
- case 2:
2414
- ipId = _context3.sent;
2415
- _context3.next = 5;
2416
- return this.rpcClient.readContract(_objectSpread2(_objectSpread2({}, this.ipAssetRegistryConfig), {}, {
2417
- functionName: "isRegistered",
2418
- args: [ipId]
2419
- }));
2420
- case 5:
2421
- isRegistered = _context3.sent;
2422
- return _context3.abrupt("return", isRegistered ? ipId : "0x");
2423
- case 7:
2424
- case "end":
2425
- return _context3.stop();
2426
- }
2427
- }, _callee3, this);
2419
+ }, _callee2, this, [[1, 24]]);
2428
2420
  }));
2429
- function isNFTRegistered(_x3, _x4, _x5) {
2430
- return _isNFTRegistered.apply(this, arguments);
2421
+ function register(_x3) {
2422
+ return _register.apply(this, arguments);
2431
2423
  }
2432
- return isNFTRegistered;
2433
- }()
2424
+ return register;
2425
+ }())
2434
2426
  }]);
2435
- return IPAssetClient;
2436
2427
  }();
2437
2428
 
2438
2429
  var PermissionClient = /*#__PURE__*/function () {
2439
- function PermissionClient(rpcClient, wallet) {
2430
+ function PermissionClient(rpcClient, wallet, chainId) {
2440
2431
  _classCallCheck(this, PermissionClient);
2441
2432
  _defineProperty(this, "ipAccountABI", IPAccountABI);
2442
- _defineProperty(this, "accessControllerConfig", AccessControllerConfig);
2443
2433
  this.rpcClient = rpcClient;
2444
2434
  this.wallet = wallet;
2435
+ this.accessControllerConfig = getAccessControllerConfig(chainId);
2445
2436
  }
2446
2437
 
2447
2438
  /**
@@ -2463,9 +2454,9 @@ var PermissionClient = /*#__PURE__*/function () {
2463
2454
  * @returns A Promise that resolves to an object containing the transaction hash
2464
2455
  * @emits PermissionSet (ipAccountOwner, ipAccount, signer, to, func, permission)
2465
2456
  */
2466
- _createClass(PermissionClient, [{
2457
+ return _createClass(PermissionClient, [{
2467
2458
  key: "setPermission",
2468
- value: function () {
2459
+ value: (function () {
2469
2460
  var _setPermission = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
2470
2461
  var _request$txOptions, IPAccountConfig, _yield$this$rpcClient, call, txHash;
2471
2462
  return _regeneratorRuntime().wrap(function _callee$(_context) {
@@ -2493,7 +2484,6 @@ var PermissionClient = /*#__PURE__*/function () {
2493
2484
  request.permission // uint8
2494
2485
  ]
2495
2486
  })],
2496
-
2497
2487
  account: this.wallet.account
2498
2488
  }));
2499
2489
  case 4:
@@ -2537,20 +2527,100 @@ var PermissionClient = /*#__PURE__*/function () {
2537
2527
  return _setPermission.apply(this, arguments);
2538
2528
  }
2539
2529
  return setPermission;
2540
- }()
2530
+ }())
2541
2531
  }]);
2542
- return PermissionClient;
2543
2532
  }();
2544
2533
 
2534
+ function computeRoyaltyContext(_x, _x2) {
2535
+ return _computeRoyaltyContext.apply(this, arguments);
2536
+ }
2537
+ function _computeRoyaltyContext() {
2538
+ _computeRoyaltyContext = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(licenseIds, storyClient) {
2539
+ var royaltyContext, i, licenseData, royaltyPolicy, policy, targetRoyaltyAmount;
2540
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
2541
+ while (1) switch (_context.prev = _context.next) {
2542
+ case 0:
2543
+ royaltyContext = {
2544
+ targetAncestors: [],
2545
+ targetRoyaltyAmount: [],
2546
+ parentAncestors1: [],
2547
+ parentAncestors2: [],
2548
+ parentAncestorsRoyalties1: [],
2549
+ parentAncestorsRoyalties2: []
2550
+ };
2551
+ i = 0;
2552
+ case 2:
2553
+ if (!(i < licenseIds.length)) {
2554
+ _context.next = 16;
2555
+ break;
2556
+ }
2557
+ _context.next = 5;
2558
+ return storyClient.getLicense(licenseIds[i]);
2559
+ case 5:
2560
+ licenseData = _context.sent;
2561
+ _context.next = 8;
2562
+ return storyClient.getRoyaltyPolicy(licenseData.licensorIpId);
2563
+ case 8:
2564
+ royaltyPolicy = _context.sent;
2565
+ _context.next = 11;
2566
+ return storyClient.getPolicy(licenseData.policyId);
2567
+ case 11:
2568
+ policy = _context.sent;
2569
+ if (royaltyPolicy) {
2570
+ targetRoyaltyAmount = royaltyPolicy.targetRoyaltyAmount.map(function (e) {
2571
+ return parseInt(e);
2572
+ });
2573
+ if (i === 0) {
2574
+ royaltyContext.parentAncestors1 = royaltyPolicy.targetAncestors;
2575
+ royaltyContext.parentAncestorsRoyalties1 = targetRoyaltyAmount;
2576
+ } else {
2577
+ royaltyContext.parentAncestors2 = royaltyPolicy.targetAncestors;
2578
+ royaltyContext.parentAncestorsRoyalties2 = targetRoyaltyAmount;
2579
+ }
2580
+ updateRoyaltyContext(royaltyContext, [licenseData.licensorIpId], [parseInt(policy.pil.commercialRevShare)]);
2581
+ updateRoyaltyContext(royaltyContext, royaltyPolicy.targetAncestors, targetRoyaltyAmount);
2582
+ }
2583
+ case 13:
2584
+ i++;
2585
+ _context.next = 2;
2586
+ break;
2587
+ case 16:
2588
+ return _context.abrupt("return", royaltyContext);
2589
+ case 17:
2590
+ case "end":
2591
+ return _context.stop();
2592
+ }
2593
+ }, _callee);
2594
+ }));
2595
+ return _computeRoyaltyContext.apply(this, arguments);
2596
+ }
2597
+ function encodeRoyaltyContext(royaltyContext) {
2598
+ return typedDataToBytes({
2599
+ "interface": "(address[], uint32[], address[], address[], uint32[], uint32[])",
2600
+ data: [[royaltyContext.targetAncestors, royaltyContext.targetRoyaltyAmount, royaltyContext.parentAncestors1, royaltyContext.parentAncestors2, royaltyContext.parentAncestorsRoyalties1, royaltyContext.parentAncestorsRoyalties2]]
2601
+ });
2602
+ }
2603
+ function updateRoyaltyContext(royaltyContext, targetAncestors, targetRoyaltyAccounts) {
2604
+ for (var i = 0; i < targetAncestors.length; i++) {
2605
+ var index = royaltyContext.targetAncestors.indexOf(targetAncestors[i]);
2606
+ if (index === -1) {
2607
+ royaltyContext.targetAncestors.push(targetAncestors[i]);
2608
+ royaltyContext.targetRoyaltyAmount.push(targetRoyaltyAccounts[i]);
2609
+ } else {
2610
+ royaltyContext.targetRoyaltyAmount[index] += targetRoyaltyAccounts[i];
2611
+ }
2612
+ }
2613
+ }
2614
+
2545
2615
  var LicenseClient = /*#__PURE__*/function () {
2546
- function LicenseClient(rpcClient, wallet, storyClient) {
2616
+ function LicenseClient(rpcClient, wallet, storyClient, chainId) {
2547
2617
  _classCallCheck(this, LicenseClient);
2548
2618
  _defineProperty(this, "ipAccountABI", IPAccountABI);
2549
- _defineProperty(this, "licenseRegistryConfig", LicenseRegistryConfig);
2550
- _defineProperty(this, "licensingModuleConfig", LicensingModuleConfig);
2551
2619
  this.wallet = wallet;
2552
2620
  this.rpcClient = rpcClient;
2553
2621
  this.storyClient = storyClient;
2622
+ this.licenseRegistryConfig = getLicenseRegistryConfig(chainId);
2623
+ this.licensingModuleConfig = getLicensingModuleConfig(chainId);
2554
2624
  }
2555
2625
 
2556
2626
  /**
@@ -2565,9 +2635,9 @@ var LicenseClient = /*#__PURE__*/function () {
2565
2635
  * @param request.receiver Receiver address of the minted license NFT(s).
2566
2636
  * @returns licenseId The ID of the minted license NFT(s).
2567
2637
  */
2568
- _createClass(LicenseClient, [{
2638
+ return _createClass(LicenseClient, [{
2569
2639
  key: "mintLicense",
2570
- value: function () {
2640
+ value: (function () {
2571
2641
  var _mintLicense = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
2572
2642
  var _request$txOptions, royaltyContext, royaltyPolicy, _royaltyContext$targe, _royaltyContext$targe2, targetRoyaltyAmount, _yield$this$rpcClient, call, txHash, targetLogs;
2573
2643
  return _regeneratorRuntime().wrap(function _callee$(_context) {
@@ -2642,7 +2712,7 @@ var LicenseClient = /*#__PURE__*/function () {
2642
2712
  return _mintLicense.apply(this, arguments);
2643
2713
  }
2644
2714
  return mintLicense;
2645
- }()
2715
+ }())
2646
2716
  }, {
2647
2717
  key: "linkIpToParent",
2648
2718
  value: function () {
@@ -2686,7 +2756,7 @@ var LicenseClient = /*#__PURE__*/function () {
2686
2756
  break;
2687
2757
  }
2688
2758
  _context2.next = 17;
2689
- return waitTxAndFilterLog(this.rpcClient, txHash, _objectSpread2(_objectSpread2({}, LicenseRegistryConfig), {}, {
2759
+ return waitTxAndFilterLog(this.rpcClient, txHash, _objectSpread2(_objectSpread2({}, this.licenseRegistryConfig), {}, {
2690
2760
  eventName: "TransferBatch"
2691
2761
  }));
2692
2762
  case 17:
@@ -2717,18 +2787,17 @@ var LicenseClient = /*#__PURE__*/function () {
2717
2787
  return linkIpToParent;
2718
2788
  }()
2719
2789
  }]);
2720
- return LicenseClient;
2721
2790
  }();
2722
2791
 
2723
2792
  var PolicyClient = /*#__PURE__*/function () {
2724
- function PolicyClient(rpcClient, wallet) {
2793
+ function PolicyClient(rpcClient, wallet, chainId) {
2725
2794
  _classCallCheck(this, PolicyClient);
2726
2795
  _defineProperty(this, "ipAccountABI", IPAccountABI);
2727
- _defineProperty(this, "licensingModuleConfig", LicensingModuleConfig);
2728
- _defineProperty(this, "pilPolicyFrameworkManagerConfig", PILPolicyFrameworkManagerConfig);
2729
- _defineProperty(this, "royaltyPolicyLAPConfig", RoyaltyPolicyLAPConfig);
2730
2796
  this.wallet = wallet;
2731
2797
  this.rpcClient = rpcClient;
2798
+ this.licensingModuleConfig = getLicensingModuleConfig(chainId);
2799
+ this.pilPolicyFrameworkManagerConfig = getPILPolicyFrameworkManagerConfig(chainId);
2800
+ this.royaltyPolicyLAPConfig = getRoyaltyPolicyLAPConfig(chainId);
2732
2801
  }
2733
2802
 
2734
2803
  /**
@@ -2750,9 +2819,9 @@ var PolicyClient = /*#__PURE__*/function () {
2750
2819
  * @param request.royaltyPolicy Address of a royalty policy contract (e.g. RoyaltyPolicyLS) that will handle royalty payments
2751
2820
  * @returns the transaction hash and the policy ID if the txOptions.waitForTransaction is set to true
2752
2821
  */
2753
- _createClass(PolicyClient, [{
2822
+ return _createClass(PolicyClient, [{
2754
2823
  key: "registerPILPolicy",
2755
- value: function () {
2824
+ value: (function () {
2756
2825
  var _registerPILPolicy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
2757
2826
  var _request$txOptions, frameworkData, policyId, _yield$this$rpcClient, call, txHash, targetLogs;
2758
2827
  return _regeneratorRuntime().wrap(function _callee$(_context) {
@@ -2868,9 +2937,10 @@ var PolicyClient = /*#__PURE__*/function () {
2868
2937
  * @param request.contentRestrictions List of content restrictions where the license is valid. Empty if no restrictions.
2869
2938
  * @returns the transaction hash and the policy ID if the txOptions.waitForTransaction is set to true
2870
2939
  */
2940
+ )
2871
2941
  }, {
2872
2942
  key: "registerPILSocialRemixPolicy",
2873
- value: function () {
2943
+ value: (function () {
2874
2944
  var _registerPILSocialRemixPolicy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
2875
2945
  var _request$txOptions2, frameworkData, policyId, _yield$this$rpcClient2, call, txHash, targetLog;
2876
2946
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
@@ -2989,9 +3059,10 @@ var PolicyClient = /*#__PURE__*/function () {
2989
3059
  * @param request.contentRestrictions List of content restrictions where the license is valid. Empty if no restrictions.
2990
3060
  * @returns the transaction hash and the policy ID if the txOptions.waitForTransaction is set to true
2991
3061
  */
3062
+ )
2992
3063
  }, {
2993
3064
  key: "registerPILCommercialUsePolicy",
2994
- value: function () {
3065
+ value: (function () {
2995
3066
  var _registerPILCommercialUsePolicy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(request) {
2996
3067
  var _request$txOptions3, frameworkData, policyId, _yield$this$rpcClient3, call, txHash, targetLogs;
2997
3068
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
@@ -3097,7 +3168,7 @@ var PolicyClient = /*#__PURE__*/function () {
3097
3168
  return _registerPILCommercialUsePolicy.apply(this, arguments);
3098
3169
  }
3099
3170
  return registerPILCommercialUsePolicy;
3100
- }()
3171
+ }())
3101
3172
  }, {
3102
3173
  key: "getPolicyId",
3103
3174
  value: function () {
@@ -3151,7 +3222,7 @@ var PolicyClient = /*#__PURE__*/function () {
3151
3222
  */
3152
3223
  }, {
3153
3224
  key: "addPolicyToIp",
3154
- value: function () {
3225
+ value: (function () {
3155
3226
  var _addPolicyToIp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(request) {
3156
3227
  var _request$txOptions4, IPAccountConfig, _yield$this$rpcClient4, call, txHash, targetLogs;
3157
3228
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
@@ -3214,17 +3285,16 @@ var PolicyClient = /*#__PURE__*/function () {
3214
3285
  return _addPolicyToIp.apply(this, arguments);
3215
3286
  }
3216
3287
  return addPolicyToIp;
3217
- }()
3288
+ }())
3218
3289
  }]);
3219
- return PolicyClient;
3220
3290
  }();
3221
3291
 
3222
3292
  var DisputeClient = /*#__PURE__*/function () {
3223
- function DisputeClient(rpcClient, wallet) {
3293
+ function DisputeClient(rpcClient, wallet, chainId) {
3224
3294
  _classCallCheck(this, DisputeClient);
3225
- _defineProperty(this, "disputeModuleConfig", DisputeModuleConfig);
3226
3295
  this.rpcClient = rpcClient;
3227
3296
  this.wallet = wallet;
3297
+ this.disputeModuleConfig = getDisputeModuleConfig(chainId);
3228
3298
  }
3229
3299
 
3230
3300
  /**
@@ -3243,9 +3313,9 @@ var DisputeClient = /*#__PURE__*/function () {
3243
3313
  * @calls raiseDispute(address _targetIpId, string memory _linkToDisputeEvidence, bytes32 _targetTag, bytes calldata _data) external nonReentrant returns (uint256) {
3244
3314
  * @emits DisputeRaised (disputeId_, targetIpId, msg.sender, arbitrationPolicy, linkToDisputeEvidence, targetTag, calldata);
3245
3315
  */
3246
- _createClass(DisputeClient, [{
3316
+ return _createClass(DisputeClient, [{
3247
3317
  key: "raiseDispute",
3248
- value: function () {
3318
+ value: (function () {
3249
3319
  var _raiseDispute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
3250
3320
  var _request$txOptions, _yield$this$rpcClient, call, txHash, targetLogs;
3251
3321
  return _regeneratorRuntime().wrap(function _callee$(_context) {
@@ -3312,9 +3382,10 @@ var DisputeClient = /*#__PURE__*/function () {
3312
3382
  * @calls cancelDispute(uint256 _disputeId, bytes calldata _data) external nonReentrant {
3313
3383
  * @emits DisputeCancelled (_disputeId, _data);
3314
3384
  */
3385
+ )
3315
3386
  }, {
3316
3387
  key: "cancelDispute",
3317
- value: function () {
3388
+ value: (function () {
3318
3389
  var _cancelDispute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
3319
3390
  var _request$txOptions2, _yield$this$rpcClient2, call, txHash;
3320
3391
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
@@ -3368,9 +3439,10 @@ var DisputeClient = /*#__PURE__*/function () {
3368
3439
  * @throws NotDisputeInitiator, if the transaction executor is not the one that initiated the dispute
3369
3440
  * @emits DisputeResolved (_disputeId)
3370
3441
  */
3442
+ )
3371
3443
  }, {
3372
3444
  key: "resolveDispute",
3373
- value: function () {
3445
+ value: (function () {
3374
3446
  var _resolveDispute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(request) {
3375
3447
  var _request$txOptions3, _yield$this$rpcClient3, call, txHash;
3376
3448
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
@@ -3414,9 +3486,8 @@ var DisputeClient = /*#__PURE__*/function () {
3414
3486
  return _resolveDispute.apply(this, arguments);
3415
3487
  }
3416
3488
  return resolveDispute;
3417
- }()
3489
+ }())
3418
3490
  }]);
3419
- return DisputeClient;
3420
3491
  }();
3421
3492
 
3422
3493
  var IPAccountClient = /*#__PURE__*/function () {
@@ -3434,9 +3505,9 @@ var IPAccountClient = /*#__PURE__*/function () {
3434
3505
  * @param request.data The data to send along with the transaction.
3435
3506
  * @returns Tx hash for the transaction.
3436
3507
  */
3437
- _createClass(IPAccountClient, [{
3508
+ return _createClass(IPAccountClient, [{
3438
3509
  key: "execute",
3439
- value: function () {
3510
+ value: (function () {
3440
3511
  var _execute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
3441
3512
  var _request$txOptions, IPAccountConfig, _yield$this$rpcClient, call, txHash;
3442
3513
  return _regeneratorRuntime().wrap(function _callee$(_context) {
@@ -3495,9 +3566,10 @@ var IPAccountClient = /*#__PURE__*/function () {
3495
3566
  * @param request.signature The signature of the transaction, EIP-712 encoded.
3496
3567
  * @returns Tx hash for the transaction.
3497
3568
  */
3569
+ )
3498
3570
  }, {
3499
3571
  key: "executeWithSig",
3500
- value: function () {
3572
+ value: (function () {
3501
3573
  var _executeWithSig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
3502
3574
  var _request$txOptions2, IPAccountConfig, _yield$this$rpcClient2, call, txHash;
3503
3575
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
@@ -3545,9 +3617,8 @@ var IPAccountClient = /*#__PURE__*/function () {
3545
3617
  return _executeWithSig.apply(this, arguments);
3546
3618
  }
3547
3619
  return executeWithSig;
3548
- }()
3620
+ }())
3549
3621
  }]);
3550
- return IPAccountClient;
3551
3622
  }();
3552
3623
 
3553
3624
  var StoryAPIClient = /*#__PURE__*/function () {
@@ -3561,7 +3632,7 @@ var StoryAPIClient = /*#__PURE__*/function () {
3561
3632
  }
3562
3633
  });
3563
3634
  }
3564
- _createClass(StoryAPIClient, [{
3635
+ return _createClass(StoryAPIClient, [{
3565
3636
  key: "getRoyaltyPolicy",
3566
3637
  value: function () {
3567
3638
  var _getRoyaltyPolicy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ipId) {
@@ -3634,7 +3705,166 @@ var StoryAPIClient = /*#__PURE__*/function () {
3634
3705
  return getPolicy;
3635
3706
  }()
3636
3707
  }]);
3637
- return StoryAPIClient;
3708
+ }();
3709
+
3710
+ var RoyaltyClient = /*#__PURE__*/function () {
3711
+ function RoyaltyClient(rpcClient, wallet, chainId) {
3712
+ _classCallCheck(this, RoyaltyClient);
3713
+ this.rpcClient = rpcClient;
3714
+ this.wallet = wallet;
3715
+ this.royaltyVaultImplConfig = getRoyaltyVaultImplConfig(chainId);
3716
+ this.royaltyPolicyLAPConfig = getRoyaltyPolicyLAPConfig(chainId);
3717
+ this.royaltyModuleConfig = getRoyaltyModuleConfig(chainId);
3718
+ }
3719
+ /**
3720
+ * Allows ancestors to claim the royalty tokens and any accrued revenue tokens
3721
+ * @param request - the licensing parameters for the Programmable IP License v1 (PIL) standard.
3722
+ * @param request.ancestorIpId The ip id of the ancestor to whom the royalty tokens belong to.
3723
+ * @param request.txOptions [Optional] The transaction options.
3724
+ * @returns Tx hash for the transaction.
3725
+ * @emits RoyaltyTokensCollected (ancestorIpId, ancestorsRoyalty)
3726
+ */
3727
+ return _createClass(RoyaltyClient, [{
3728
+ key: "collectRoyaltyTokens",
3729
+ value: (function () {
3730
+ var _collectRoyaltyTokens = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
3731
+ var proxyAddress, _yield$this$rpcClient, call, txHash;
3732
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
3733
+ while (1) switch (_context.prev = _context.next) {
3734
+ case 0:
3735
+ _context.prev = 0;
3736
+ _context.next = 3;
3737
+ return this.getProxyAddress(request.derivativeId);
3738
+ case 3:
3739
+ proxyAddress = _context.sent;
3740
+ if (proxyAddress) {
3741
+ _context.next = 6;
3742
+ break;
3743
+ }
3744
+ throw new Error("Proxy address not found");
3745
+ case 6:
3746
+ _context.next = 8;
3747
+ return this.rpcClient.simulateContract(_objectSpread2(_objectSpread2({}, this.royaltyVaultImplConfig), {}, {
3748
+ address: proxyAddress,
3749
+ functionName: "collectRoyaltyTokens",
3750
+ args: [request.ancestorIpId],
3751
+ account: this.wallet.account
3752
+ }));
3753
+ case 8:
3754
+ _yield$this$rpcClient = _context.sent;
3755
+ call = _yield$this$rpcClient.request;
3756
+ _context.next = 12;
3757
+ return this.wallet.writeContract(call);
3758
+ case 12:
3759
+ txHash = _context.sent;
3760
+ return _context.abrupt("return", {
3761
+ txHash: txHash
3762
+ });
3763
+ case 16:
3764
+ _context.prev = 16;
3765
+ _context.t0 = _context["catch"](0);
3766
+ handleError(_context.t0, "Failed to collect royalty tokens");
3767
+ case 19:
3768
+ case "end":
3769
+ return _context.stop();
3770
+ }
3771
+ }, _callee, this, [[0, 16]]);
3772
+ }));
3773
+ function collectRoyaltyTokens(_x) {
3774
+ return _collectRoyaltyTokens.apply(this, arguments);
3775
+ }
3776
+ return collectRoyaltyTokens;
3777
+ }())
3778
+ }, {
3779
+ key: "getProxyAddress",
3780
+ value: function () {
3781
+ var _getProxyAddress = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(derivativeID) {
3782
+ var data;
3783
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
3784
+ while (1) switch (_context2.prev = _context2.next) {
3785
+ case 0:
3786
+ _context2.next = 2;
3787
+ return this.rpcClient.readContract(_objectSpread2(_objectSpread2({}, this.royaltyPolicyLAPConfig), {}, {
3788
+ functionName: "getRoyaltyData",
3789
+ args: [derivativeID]
3790
+ }));
3791
+ case 2:
3792
+ data = _context2.sent;
3793
+ if (!(Array.isArray(data) && data[1])) {
3794
+ _context2.next = 5;
3795
+ break;
3796
+ }
3797
+ return _context2.abrupt("return", data[1]);
3798
+ case 5:
3799
+ case "end":
3800
+ return _context2.stop();
3801
+ }
3802
+ }, _callee2, this);
3803
+ }));
3804
+ function getProxyAddress(_x2) {
3805
+ return _getProxyAddress.apply(this, arguments);
3806
+ }
3807
+ return getProxyAddress;
3808
+ }()
3809
+ /**
3810
+ * Allows the function caller to pay royalties to the receiver IP asset on behalf of the payer IP asset.
3811
+ * @param request - The request object that contains all data needed to pay royalty on behalf.
3812
+ * @param request.receiverIpId The ipId that receives the royalties.
3813
+ * @param request.payerIpId The ID of the IP asset that pays the royalties.
3814
+ * @param request.token The token to use to pay the royalties.
3815
+ * @param request.amount The amount to pay.
3816
+ * @param request.txOptions [Optional] The transaction options.
3817
+ * @returns A Promise that resolves to an object containing the transaction hash.
3818
+ * @emits RoyaltyPaid (receiverIpId, payerIpId, msg.sender, token, amount)
3819
+ */
3820
+ }, {
3821
+ key: "payRoyaltyOnBehalf",
3822
+ value: (function () {
3823
+ var _payRoyaltyOnBehalf = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(request) {
3824
+ var _request$txOptions, _yield$this$rpcClient2, call, txHash;
3825
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
3826
+ while (1) switch (_context3.prev = _context3.next) {
3827
+ case 0:
3828
+ _context3.prev = 0;
3829
+ _context3.next = 3;
3830
+ return this.rpcClient.simulateContract(_objectSpread2(_objectSpread2({}, this.royaltyModuleConfig), {}, {
3831
+ functionName: "payRoyaltyOnBehalf",
3832
+ args: [request.receiverIpId, request.payerIpId, request.token, request.amount],
3833
+ account: this.wallet.account
3834
+ }));
3835
+ case 3:
3836
+ _yield$this$rpcClient2 = _context3.sent;
3837
+ call = _yield$this$rpcClient2.request;
3838
+ _context3.next = 7;
3839
+ return this.wallet.writeContract(call);
3840
+ case 7:
3841
+ txHash = _context3.sent;
3842
+ if (!((_request$txOptions = request.txOptions) !== null && _request$txOptions !== void 0 && _request$txOptions.waitForTransaction)) {
3843
+ _context3.next = 11;
3844
+ break;
3845
+ }
3846
+ _context3.next = 11;
3847
+ return waitTx(this.rpcClient, txHash);
3848
+ case 11:
3849
+ return _context3.abrupt("return", {
3850
+ txHash: txHash
3851
+ });
3852
+ case 14:
3853
+ _context3.prev = 14;
3854
+ _context3.t0 = _context3["catch"](0);
3855
+ handleError(_context3.t0, "Failed to pay royalty on behalf");
3856
+ case 17:
3857
+ case "end":
3858
+ return _context3.stop();
3859
+ }
3860
+ }, _callee3, this, [[0, 14]]);
3861
+ }));
3862
+ function payRoyaltyOnBehalf(_x3) {
3863
+ return _payRoyaltyOnBehalf.apply(this, arguments);
3864
+ }
3865
+ return payRoyaltyOnBehalf;
3866
+ }())
3867
+ }]);
3638
3868
  }();
3639
3869
 
3640
3870
  if (typeof process !== "undefined") {
@@ -3655,12 +3885,15 @@ var StoryClient = /*#__PURE__*/function () {
3655
3885
  _defineProperty(this, "_policy", null);
3656
3886
  _defineProperty(this, "_dispute", null);
3657
3887
  _defineProperty(this, "_ipAccount", null);
3658
- this.config = config;
3888
+ _defineProperty(this, "_royalty", null);
3889
+ this.config = _objectSpread2(_objectSpread2({}, config), {}, {
3890
+ chainId: config.chainId || "sepolia"
3891
+ });
3659
3892
  if (!this.config.transport) {
3660
3893
  throw new Error("transport is null, please pass in a valid RPC Provider URL as the transport.");
3661
3894
  }
3662
3895
  var clientConfig = {
3663
- chain: chainStringToViemChain(this.config.chainId || "sepolia"),
3896
+ chain: chainStringToViemChain(this.config.chainId),
3664
3897
  transport: this.config.transport
3665
3898
  };
3666
3899
  this.rpcClient = createPublicClient(clientConfig);
@@ -3679,7 +3912,7 @@ var StoryClient = /*#__PURE__*/function () {
3679
3912
  *
3680
3913
  * @param config - the configuration for a new SDK client
3681
3914
  */
3682
- _createClass(StoryClient, [{
3915
+ return _createClass(StoryClient, [{
3683
3916
  key: "ipAsset",
3684
3917
  get:
3685
3918
  /**
@@ -3690,7 +3923,7 @@ var StoryClient = /*#__PURE__*/function () {
3690
3923
  */
3691
3924
  function get() {
3692
3925
  if (this._ipAsset === null) {
3693
- this._ipAsset = new IPAssetClient(this.rpcClient, this.wallet, this.storyClient);
3926
+ this._ipAsset = new IPAssetClient(this.rpcClient, this.wallet, this.config.chainId);
3694
3927
  }
3695
3928
  return this._ipAsset;
3696
3929
  }
@@ -3705,7 +3938,7 @@ var StoryClient = /*#__PURE__*/function () {
3705
3938
  key: "permission",
3706
3939
  get: function get() {
3707
3940
  if (this._permission === null) {
3708
- this._permission = new PermissionClient(this.rpcClient, this.wallet);
3941
+ this._permission = new PermissionClient(this.rpcClient, this.wallet, this.config.chainId);
3709
3942
  }
3710
3943
  return this._permission;
3711
3944
  }
@@ -3720,7 +3953,7 @@ var StoryClient = /*#__PURE__*/function () {
3720
3953
  key: "license",
3721
3954
  get: function get() {
3722
3955
  if (this._license === null) {
3723
- this._license = new LicenseClient(this.rpcClient, this.wallet, this.storyClient);
3956
+ this._license = new LicenseClient(this.rpcClient, this.wallet, this.storyClient, this.config.chainId);
3724
3957
  }
3725
3958
  return this._license;
3726
3959
  }
@@ -3735,7 +3968,7 @@ var StoryClient = /*#__PURE__*/function () {
3735
3968
  key: "policy",
3736
3969
  get: function get() {
3737
3970
  if (this._policy === null) {
3738
- this._policy = new PolicyClient(this.rpcClient, this.wallet);
3971
+ this._policy = new PolicyClient(this.rpcClient, this.wallet, this.config.chainId);
3739
3972
  }
3740
3973
  return this._policy;
3741
3974
  }
@@ -3750,7 +3983,7 @@ var StoryClient = /*#__PURE__*/function () {
3750
3983
  key: "dispute",
3751
3984
  get: function get() {
3752
3985
  if (this._dispute === null) {
3753
- this._dispute = new DisputeClient(this.rpcClient, this.wallet);
3986
+ this._dispute = new DisputeClient(this.rpcClient, this.wallet, this.config.chainId);
3754
3987
  }
3755
3988
  return this._dispute;
3756
3989
  }
@@ -3769,13 +4002,29 @@ var StoryClient = /*#__PURE__*/function () {
3769
4002
  }
3770
4003
  return this._ipAccount;
3771
4004
  }
4005
+ /**
4006
+ * Getter for the royalty client. The client is lazily created when
4007
+ * this method is called.
4008
+ *
4009
+ * @returns the RoyaltyClient instance
4010
+ */
4011
+ }, {
4012
+ key: "royalty",
4013
+ get: function get() {
4014
+ if (this._royalty === null) {
4015
+ this._royalty = new RoyaltyClient(this.rpcClient, this.wallet, this.config.chainId);
4016
+ }
4017
+ return this._royalty;
4018
+ }
3772
4019
  }], [{
3773
4020
  key: "newClient",
3774
4021
  value: function newClient(config) {
3775
4022
  return new StoryClient(config);
3776
4023
  }
3777
4024
  }]);
3778
- return StoryClient;
3779
4025
  }();
3780
4026
 
4027
+ var AddressZero = "0x0000000000000000000000000000000000000000";
4028
+ var HashZero = "0x0000000000000000000000000000000000000000000000000000000000000000";
4029
+
3781
4030
  export { AddressZero, DisputeClient, HashZero, IPAssetClient, LicenseClient, PermissionClient, PolicyClient, StoryClient };