@story-protocol/core-sdk 0.1.0-rc.5 → 0.1.0-rc.7

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 (48) hide show
  1. package/README.md +30 -21
  2. package/dist/declarations/src/abi/generated/CollectModule.d.ts +12 -2
  3. package/dist/declarations/src/abi/generated/CollectModule.d.ts.map +1 -1
  4. package/dist/declarations/src/abi/generated/FranchiseRegistry.d.ts +6 -1
  5. package/dist/declarations/src/abi/generated/FranchiseRegistry.d.ts.map +1 -1
  6. package/dist/declarations/src/abi/generated/IpAssetRegistry.d.ts.map +1 -1
  7. package/dist/declarations/src/abi/generated/common.d.ts.map +1 -1
  8. package/dist/declarations/src/abi/generated/factories/CollectModule__factory.d.ts.map +1 -1
  9. package/dist/declarations/src/abi/generated/factories/FranchiseRegistry__factory.d.ts.map +1 -1
  10. package/dist/declarations/src/abi/generated/factories/IpAssetRegistry__factory.d.ts.map +1 -1
  11. package/dist/declarations/src/abi/generated/factories/index.d.ts +1 -1
  12. package/dist/declarations/src/abi/generated/factories/index.d.ts.map +1 -1
  13. package/dist/declarations/src/client.d.ts +40 -13
  14. package/dist/declarations/src/client.d.ts.map +1 -1
  15. package/dist/declarations/src/index.d.ts +1 -1
  16. package/dist/declarations/src/index.d.ts.map +1 -1
  17. package/dist/declarations/src/resources/collect.d.ts +3 -10
  18. package/dist/declarations/src/resources/collect.d.ts.map +1 -1
  19. package/dist/declarations/src/resources/collectReadOnly.d.ts +15 -0
  20. package/dist/declarations/src/resources/collectReadOnly.d.ts.map +1 -0
  21. package/dist/declarations/src/resources/franchise.d.ts +3 -18
  22. package/dist/declarations/src/resources/franchise.d.ts.map +1 -1
  23. package/dist/declarations/src/resources/franchiseReadOnly.d.ts +27 -0
  24. package/dist/declarations/src/resources/franchiseReadOnly.d.ts.map +1 -0
  25. package/dist/declarations/src/resources/ipAsset.d.ts +3 -17
  26. package/dist/declarations/src/resources/ipAsset.d.ts.map +1 -1
  27. package/dist/declarations/src/resources/ipAssetReadOnly.d.ts +25 -0
  28. package/dist/declarations/src/resources/ipAssetReadOnly.d.ts.map +1 -0
  29. package/dist/declarations/src/resources/license.d.ts +3 -17
  30. package/dist/declarations/src/resources/license.d.ts.map +1 -1
  31. package/dist/declarations/src/resources/licenseReadOnly.d.ts +27 -0
  32. package/dist/declarations/src/resources/licenseReadOnly.d.ts.map +1 -0
  33. package/dist/declarations/src/resources/relationship.d.ts +2 -3
  34. package/dist/declarations/src/resources/relationship.d.ts.map +1 -1
  35. package/dist/declarations/src/resources/relationshipReadOnly.d.ts +16 -0
  36. package/dist/declarations/src/resources/relationshipReadOnly.d.ts.map +1 -0
  37. package/dist/declarations/src/resources/transaction.d.ts +2 -17
  38. package/dist/declarations/src/resources/transaction.d.ts.map +1 -1
  39. package/dist/declarations/src/resources/transactionReadOnly.d.ts +25 -0
  40. package/dist/declarations/src/resources/transactionReadOnly.d.ts.map +1 -0
  41. package/dist/declarations/src/types/client.d.ts +29 -0
  42. package/dist/declarations/src/types/client.d.ts.map +1 -0
  43. package/dist/declarations/src/types/config.d.ts +8 -2
  44. package/dist/declarations/src/types/config.d.ts.map +1 -1
  45. package/dist/story-protocol-core-sdk.cjs.dev.js +1020 -769
  46. package/dist/story-protocol-core-sdk.cjs.prod.js +1020 -769
  47. package/dist/story-protocol-core-sdk.esm.js +1021 -770
  48. package/package.json +1 -1
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var axios = require('axios');
6
- var dotenv = require('dotenv');
7
6
  var ethers = require('ethers');
7
+ var dotenv = require('dotenv');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
10
10
 
@@ -426,6 +426,81 @@ function _asyncToGenerator(fn) {
426
426
  };
427
427
  }
428
428
 
429
+ function _setPrototypeOf(o, p) {
430
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
431
+ o.__proto__ = p;
432
+ return o;
433
+ };
434
+ return _setPrototypeOf(o, p);
435
+ }
436
+
437
+ function _inherits(subClass, superClass) {
438
+ if (typeof superClass !== "function" && superClass !== null) {
439
+ throw new TypeError("Super expression must either be null or a function");
440
+ }
441
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
442
+ constructor: {
443
+ value: subClass,
444
+ writable: true,
445
+ configurable: true
446
+ }
447
+ });
448
+ Object.defineProperty(subClass, "prototype", {
449
+ writable: false
450
+ });
451
+ if (superClass) _setPrototypeOf(subClass, superClass);
452
+ }
453
+
454
+ function _getPrototypeOf(o) {
455
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
456
+ return o.__proto__ || Object.getPrototypeOf(o);
457
+ };
458
+ return _getPrototypeOf(o);
459
+ }
460
+
461
+ function _isNativeReflectConstruct() {
462
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
463
+ if (Reflect.construct.sham) return false;
464
+ if (typeof Proxy === "function") return true;
465
+ try {
466
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
467
+ return true;
468
+ } catch (e) {
469
+ return false;
470
+ }
471
+ }
472
+
473
+ function _assertThisInitialized(self) {
474
+ if (self === void 0) {
475
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
476
+ }
477
+ return self;
478
+ }
479
+
480
+ function _possibleConstructorReturn(self, call) {
481
+ if (call && (typeof call === "object" || typeof call === "function")) {
482
+ return call;
483
+ } else if (call !== void 0) {
484
+ throw new TypeError("Derived constructors may only return object or undefined");
485
+ }
486
+ return _assertThisInitialized(self);
487
+ }
488
+
489
+ function _createSuper(Derived) {
490
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
491
+ return function _createSuperInternal() {
492
+ var Super = _getPrototypeOf(Derived),
493
+ result;
494
+ if (hasNativeReflectConstruct) {
495
+ var NewTarget = _getPrototypeOf(this).constructor;
496
+ result = Reflect.construct(Super, arguments, NewTarget);
497
+ } else {
498
+ result = Super.apply(this, arguments);
499
+ }
500
+ return _possibleConstructorReturn(this, result);
501
+ };
502
+ }
503
+
429
504
  function handleError(error, msg) {
430
505
  if (error instanceof Error) {
431
506
  throw new Error("".concat(msg, ": ").concat(error.message));
@@ -439,12 +514,12 @@ function isIntegerString(s) {
439
514
  }
440
515
 
441
516
  /**
442
- * FranchiseClient allows you to create, update, view, search franchises on
517
+ * FranchiseReadOnlyClient allows you to view, search franchises on
443
518
  * Story Protocol.
444
519
  */
445
- var FranchiseClient = /*#__PURE__*/function () {
446
- function FranchiseClient(httpClient, franchiseRegistry, licenseModule) {
447
- _classCallCheck(this, FranchiseClient);
520
+ var FranchiseReadOnlyClient = /*#__PURE__*/function () {
521
+ function FranchiseReadOnlyClient(httpClient, franchiseRegistry, licenseModule) {
522
+ _classCallCheck(this, FranchiseReadOnlyClient);
448
523
  this.httpClient = httpClient;
449
524
  this.franchiseRegistry = franchiseRegistry;
450
525
  this.licenseModule = licenseModule;
@@ -456,7 +531,7 @@ var FranchiseClient = /*#__PURE__*/function () {
456
531
  * @param request - the request object for getting the franchise
457
532
  * @returns the response object that contains the fetched franchise object
458
533
  */
459
- _createClass(FranchiseClient, [{
534
+ _createClass(FranchiseReadOnlyClient, [{
460
535
  key: "get",
461
536
  value: function () {
462
537
  var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
@@ -525,24 +600,40 @@ var FranchiseClient = /*#__PURE__*/function () {
525
600
  }
526
601
  return list;
527
602
  }()
528
- /**
529
- * Create a franchise on Story Protocol based on the specified input franchise data.
530
- *
531
- * @param request - the request object that contains all data needed to create a franchise
532
- * @returns the response object that contains results from the create franchise action
533
- */
534
- }, {
603
+ }]);
604
+ return FranchiseReadOnlyClient;
605
+ }();
606
+
607
+ /**
608
+ * FranchiseClient allows you to create, update, view, search franchises on
609
+ * Story Protocol.
610
+ */
611
+ var FranchiseClient = /*#__PURE__*/function (_FranchiseReadOnlyCli) {
612
+ _inherits(FranchiseClient, _FranchiseReadOnlyCli);
613
+ var _super = _createSuper(FranchiseClient);
614
+ function FranchiseClient(httpClient, franchiseRegistry, licenseModule) {
615
+ _classCallCheck(this, FranchiseClient);
616
+ return _super.call(this, httpClient, franchiseRegistry, licenseModule);
617
+ }
618
+
619
+ /**
620
+ * Create a franchise on Story Protocol based on the specified input franchise data.
621
+ *
622
+ * @param request - the request object that contains all data needed to create a franchise
623
+ * @returns the response object that contains results from the create franchise action
624
+ */
625
+ _createClass(FranchiseClient, [{
535
626
  key: "create",
536
627
  value: function () {
537
- var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(request) {
628
+ var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
538
629
  var tokenURI, response;
539
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
540
- while (1) switch (_context3.prev = _context3.next) {
630
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
631
+ while (1) switch (_context.prev = _context.next) {
541
632
  case 0:
542
- _context3.prev = 0;
633
+ _context.prev = 0;
543
634
  // hardcoded the URI for now until the backend API for uploading franchise metadata is ready
544
635
  tokenURI = "https://arweave.net/dnFJl1v8kgOx_6Z0gEsBce3D56cMP4-lxAcFqSsL0_w";
545
- _context3.next = 4;
636
+ _context.next = 4;
546
637
  return this.franchiseRegistry.registerFranchise({
547
638
  name: request.franchiseName,
548
639
  symbol: request.franchiseSymbol,
@@ -550,21 +641,21 @@ var FranchiseClient = /*#__PURE__*/function () {
550
641
  tokenURI: tokenURI
551
642
  });
552
643
  case 4:
553
- response = _context3.sent;
554
- return _context3.abrupt("return", {
644
+ response = _context.sent;
645
+ return _context.abrupt("return", {
555
646
  txHash: response.hash
556
647
  });
557
648
  case 8:
558
- _context3.prev = 8;
559
- _context3.t0 = _context3["catch"](0);
560
- handleError(_context3.t0, "Failed to create franchise");
649
+ _context.prev = 8;
650
+ _context.t0 = _context["catch"](0);
651
+ handleError(_context.t0, "Failed to create franchise");
561
652
  case 11:
562
653
  case "end":
563
- return _context3.stop();
654
+ return _context.stop();
564
655
  }
565
- }, _callee3, this, [[0, 8]]);
656
+ }, _callee, this, [[0, 8]]);
566
657
  }));
567
- function create(_x2) {
658
+ function create(_x) {
568
659
  return _create.apply(this, arguments);
569
660
  }
570
661
  return create;
@@ -578,13 +669,13 @@ var FranchiseClient = /*#__PURE__*/function () {
578
669
  }, {
579
670
  key: "configure",
580
671
  value: function () {
581
- var _configure = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(request) {
672
+ var _configure = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
582
673
  var response;
583
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
584
- while (1) switch (_context4.prev = _context4.next) {
674
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
675
+ while (1) switch (_context2.prev = _context2.next) {
585
676
  case 0:
586
- _context4.prev = 0;
587
- _context4.next = 3;
677
+ _context2.prev = 0;
678
+ _context2.next = 3;
588
679
  return this.licenseModule.configureFranchiseLicensing(request.franchiseId, {
589
680
  nonCommercialConfig: {
590
681
  canSublicense: true,
@@ -607,198 +698,427 @@ var FranchiseClient = /*#__PURE__*/function () {
607
698
  revoker: "0xF33f05489d9708C2CA97944F2007d4E741D4DEe7"
608
699
  });
609
700
  case 3:
610
- response = _context4.sent;
611
- return _context4.abrupt("return", {
701
+ response = _context2.sent;
702
+ return _context2.abrupt("return", {
612
703
  txHash: response.hash
613
704
  });
614
705
  case 7:
615
- _context4.prev = 7;
616
- _context4.t0 = _context4["catch"](0);
617
- handleError(_context4.t0, "Failed to configure franchise");
706
+ _context2.prev = 7;
707
+ _context2.t0 = _context2["catch"](0);
708
+ handleError(_context2.t0, "Failed to configure franchise");
618
709
  case 10:
619
710
  case "end":
620
- return _context4.stop();
711
+ return _context2.stop();
621
712
  }
622
- }, _callee4, this, [[0, 7]]);
713
+ }, _callee2, this, [[0, 7]]);
623
714
  }));
624
- function configure(_x3) {
715
+ function configure(_x2) {
625
716
  return _configure.apply(this, arguments);
626
717
  }
627
718
  return configure;
628
719
  }()
629
720
  }]);
630
721
  return FranchiseClient;
631
- }();
722
+ }(FranchiseReadOnlyClient);
632
723
 
633
- var _abi$4 = [{
634
- inputs: [{
635
- internalType: "uint256",
636
- name: "franchiseId",
637
- type: "uint256"
638
- }, {
639
- components: [{
640
- components: [{
641
- internalType: "bool",
642
- name: "canSublicense",
643
- type: "bool"
644
- }, {
645
- internalType: "uint256",
646
- name: "franchiseRootLicenseId",
647
- type: "uint256"
648
- }],
649
- internalType: "struct ILicensingModule.IpAssetConfig",
650
- name: "nonCommercialConfig",
651
- type: "tuple"
652
- }, {
653
- components: [{
654
- internalType: "contract ITermsProcessor",
655
- name: "processor",
656
- type: "address"
657
- }, {
658
- internalType: "bytes",
659
- name: "data",
660
- type: "bytes"
661
- }],
662
- internalType: "struct IERC5218.TermsProcessorConfig",
663
- name: "nonCommercialTerms",
664
- type: "tuple"
665
- }, {
666
- components: [{
667
- internalType: "bool",
668
- name: "canSublicense",
669
- type: "bool"
670
- }, {
671
- internalType: "uint256",
672
- name: "franchiseRootLicenseId",
673
- type: "uint256"
674
- }],
675
- internalType: "struct ILicensingModule.IpAssetConfig",
676
- name: "commercialConfig",
677
- type: "tuple"
678
- }, {
679
- components: [{
680
- internalType: "contract ITermsProcessor",
681
- name: "processor",
682
- type: "address"
683
- }, {
684
- internalType: "bytes",
685
- name: "data",
686
- type: "bytes"
687
- }],
688
- internalType: "struct IERC5218.TermsProcessorConfig",
689
- name: "commercialTerms",
690
- type: "tuple"
691
- }, {
692
- internalType: "bool",
693
- name: "rootIpAssetHasCommercialRights",
694
- type: "bool"
695
- }, {
696
- internalType: "address",
697
- name: "revoker",
698
- type: "address"
699
- }, {
700
- internalType: "string",
701
- name: "commercialLicenseUri",
702
- type: "string"
703
- }],
704
- internalType: "struct ILicensingModule.FranchiseConfig",
705
- name: "config",
706
- type: "tuple"
707
- }],
708
- name: "configureFranchiseLicensing",
709
- outputs: [],
710
- stateMutability: "nonpayable",
711
- type: "function"
712
- }];
713
- var LicensingModule__factory = /*#__PURE__*/function () {
714
- function LicensingModule__factory() {
715
- _classCallCheck(this, LicensingModule__factory);
716
- }
717
- _createClass(LicensingModule__factory, null, [{
718
- key: "createInterface",
719
- value: function createInterface() {
720
- return new ethers.utils.Interface(_abi$4);
721
- }
722
- }, {
723
- key: "connect",
724
- value: function connect(address, signerOrProvider) {
725
- return new ethers.Contract(address, _abi$4, signerOrProvider);
726
- }
727
- }]);
728
- return LicensingModule__factory;
729
- }();
730
- _defineProperty(LicensingModule__factory, "abi", _abi$4);
724
+ /**
725
+ * Client for managing relationships.
726
+ */
727
+ var RelationshipReadOnlyClient = /*#__PURE__*/_createClass(
728
+ /**
729
+ * Creates a new RelationshipClient instance.
730
+ * @param relationshipModule - The relationship module to interact with.
731
+ * @param franchiseRegistry - The franchise registry to interact with.
732
+ */
733
+ function RelationshipReadOnlyClient(relationshipModule, franchiseRegistry) {
734
+ _classCallCheck(this, RelationshipReadOnlyClient);
735
+ this.relationshipModule = relationshipModule;
736
+ this.franchiseRegistry = franchiseRegistry;
737
+ });
731
738
 
732
- var _abi$3 = [{
733
- inputs: [{
734
- components: [{
735
- internalType: "string",
736
- name: "name",
737
- type: "string"
738
- }, {
739
- internalType: "string",
740
- name: "symbol",
741
- type: "string"
742
- }, {
743
- internalType: "string",
744
- name: "description",
745
- type: "string"
746
- }, {
747
- internalType: "string",
748
- name: "tokenURI",
749
- type: "string"
750
- }],
751
- internalType: "struct FranchiseRegistry.FranchiseCreationParams",
752
- name: "params",
753
- type: "tuple"
754
- }],
755
- name: "registerFranchise",
756
- outputs: [{
757
- internalType: "uint256",
758
- name: "",
759
- type: "uint256"
760
- }, {
761
- internalType: "address",
762
- name: "",
763
- type: "address"
764
- }],
765
- stateMutability: "nonpayable",
766
- type: "function"
767
- }, {
768
- inputs: [{
769
- internalType: "uint256",
770
- name: "franchiseId",
771
- type: "uint256"
772
- }],
773
- name: "ipAssetRegistryForId",
774
- outputs: [{
775
- internalType: "address",
776
- name: "",
777
- type: "address"
778
- }],
779
- stateMutability: "view",
780
- type: "function"
781
- }];
782
- var FranchiseRegistry__factory = /*#__PURE__*/function () {
783
- function FranchiseRegistry__factory() {
784
- _classCallCheck(this, FranchiseRegistry__factory);
739
+ /**
740
+ * Client for managing relationships.
741
+ */
742
+ var RelationshipClient = /*#__PURE__*/function (_RelationshipReadOnly) {
743
+ _inherits(RelationshipClient, _RelationshipReadOnly);
744
+ var _super = _createSuper(RelationshipClient);
745
+ /**
746
+ * Creates a new RelationshipClient instance.
747
+ * @param relationshipModule - The relationship module to interact with.
748
+ * @param franchiseRegistry - The franchise registry to interact with.
749
+ */
750
+ function RelationshipClient(relationshipModule, franchiseRegistry) {
751
+ _classCallCheck(this, RelationshipClient);
752
+ return _super.call(this, relationshipModule, franchiseRegistry);
785
753
  }
786
- _createClass(FranchiseRegistry__factory, null, [{
787
- key: "createInterface",
754
+
755
+ /**
756
+ * Retrieves the registry addresses for source and destination franchises.
757
+ * @param sourceFranchiseId - The ID of the source franchise.
758
+ * @param destFranchiseId - The ID of the destination franchise.
759
+ * @returns An object containing the source and destination IP registry addresses.
760
+ */
761
+ _createClass(RelationshipClient, [{
762
+ key: "getRegistryAddresses",
763
+ value: function () {
764
+ var _getRegistryAddresses = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(sourceFranchiseId, destFranchiseId) {
765
+ var sourceIpRegistryAddress, destIpRegistryAddress;
766
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
767
+ while (1) switch (_context.prev = _context.next) {
768
+ case 0:
769
+ _context.prev = 0;
770
+ _context.next = 3;
771
+ return this.franchiseRegistry.ipAssetRegistryForId(sourceFranchiseId);
772
+ case 3:
773
+ sourceIpRegistryAddress = _context.sent;
774
+ _context.next = 6;
775
+ return this.franchiseRegistry.ipAssetRegistryForId(destFranchiseId);
776
+ case 6:
777
+ destIpRegistryAddress = _context.sent;
778
+ return _context.abrupt("return", {
779
+ sourceIpRegistryAddress: sourceIpRegistryAddress,
780
+ destIpRegistryAddress: destIpRegistryAddress
781
+ });
782
+ case 10:
783
+ _context.prev = 10;
784
+ _context.t0 = _context["catch"](0);
785
+ handleError(_context.t0, "Failed to get registry addresses");
786
+ case 13:
787
+ case "end":
788
+ return _context.stop();
789
+ }
790
+ }, _callee, this, [[0, 10]]);
791
+ }));
792
+ function getRegistryAddresses(_x, _x2) {
793
+ return _getRegistryAddresses.apply(this, arguments);
794
+ }
795
+ return getRegistryAddresses;
796
+ }()
797
+ /**
798
+ * Establishes a relationship between two IP assets.
799
+ * @param request - The request for establishing the relationship.
800
+ * @returns A promise that resolves to the response with the transaction hash.
801
+ */
802
+ }, {
803
+ key: "relate",
804
+ value: function () {
805
+ var _relate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
806
+ var sourceIPAsset, destIPAsset, mockRelationshipData, _yield$this$getRegist, sourceIpRegistryAddress, destIpRegistryAddress, relationshipId, params, response;
807
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
808
+ while (1) switch (_context2.prev = _context2.next) {
809
+ case 0:
810
+ _context2.prev = 0;
811
+ sourceIPAsset = request.sourceIPAsset, destIPAsset = request.destIPAsset;
812
+ mockRelationshipData = ethers.ethers.utils.formatBytes32String(""); // Get IPAssetRegistry Contract Address
813
+ _context2.next = 5;
814
+ return this.getRegistryAddresses(sourceIPAsset.franchiseId, destIPAsset.franchiseId);
815
+ case 5:
816
+ _yield$this$getRegist = _context2.sent;
817
+ sourceIpRegistryAddress = _yield$this$getRegist.sourceIpRegistryAddress;
818
+ destIpRegistryAddress = _yield$this$getRegist.destIpRegistryAddress;
819
+ _context2.next = 10;
820
+ return this.relationshipModule.getRelationshipId("APPEARS_IN");
821
+ case 10:
822
+ relationshipId = _context2.sent;
823
+ params = {
824
+ sourceContract: sourceIpRegistryAddress,
825
+ sourceId: sourceIPAsset.ipAssetId,
826
+ destContract: destIpRegistryAddress,
827
+ destId: destIPAsset.ipAssetId,
828
+ relationshipId: relationshipId,
829
+ ttl: "0"
830
+ };
831
+ _context2.next = 14;
832
+ return this.relationshipModule.relate(params, mockRelationshipData);
833
+ case 14:
834
+ response = _context2.sent;
835
+ return _context2.abrupt("return", {
836
+ txHash: response.hash
837
+ });
838
+ case 18:
839
+ _context2.prev = 18;
840
+ _context2.t0 = _context2["catch"](0);
841
+ handleError(_context2.t0, "Failed to create relationship");
842
+ case 21:
843
+ case "end":
844
+ return _context2.stop();
845
+ }
846
+ }, _callee2, this, [[0, 18]]);
847
+ }));
848
+ function relate(_x3) {
849
+ return _relate.apply(this, arguments);
850
+ }
851
+ return relate;
852
+ }()
853
+ /**
854
+ * Removes a relationship between two IP assets.
855
+ * @param request - The request for removing the relationship.
856
+ * @returns A promise that resolves to the response with the transaction hash.
857
+ */
858
+ }, {
859
+ key: "unrelate",
860
+ value: function () {
861
+ var _unrelate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(request) {
862
+ var sourceIPAsset, destIPAsset, _yield$this$getRegist2, sourceIpRegistryAddress, destIpRegistryAddress, relationshipId, params, response;
863
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
864
+ while (1) switch (_context3.prev = _context3.next) {
865
+ case 0:
866
+ _context3.prev = 0;
867
+ sourceIPAsset = request.sourceIPAsset, destIPAsset = request.destIPAsset; // Get IPAssetRegistry Contract Address
868
+ _context3.next = 4;
869
+ return this.getRegistryAddresses(sourceIPAsset.franchiseId, destIPAsset.franchiseId);
870
+ case 4:
871
+ _yield$this$getRegist2 = _context3.sent;
872
+ sourceIpRegistryAddress = _yield$this$getRegist2.sourceIpRegistryAddress;
873
+ destIpRegistryAddress = _yield$this$getRegist2.destIpRegistryAddress;
874
+ _context3.next = 9;
875
+ return this.relationshipModule.getRelationshipId("APPEARS_IN");
876
+ case 9:
877
+ relationshipId = _context3.sent;
878
+ params = {
879
+ sourceContract: sourceIpRegistryAddress,
880
+ sourceId: sourceIPAsset.ipAssetId,
881
+ destContract: destIpRegistryAddress,
882
+ destId: destIPAsset.ipAssetId,
883
+ relationshipId: relationshipId,
884
+ ttl: "0"
885
+ };
886
+ _context3.next = 13;
887
+ return this.relationshipModule.unrelate(params);
888
+ case 13:
889
+ response = _context3.sent;
890
+ return _context3.abrupt("return", {
891
+ txHash: response.hash
892
+ });
893
+ case 17:
894
+ _context3.prev = 17;
895
+ _context3.t0 = _context3["catch"](0);
896
+ handleError(_context3.t0, "Failed to unrelate relationship");
897
+ case 20:
898
+ case "end":
899
+ return _context3.stop();
900
+ }
901
+ }, _callee3, this, [[0, 17]]);
902
+ }));
903
+ function unrelate(_x4) {
904
+ return _unrelate.apply(this, arguments);
905
+ }
906
+ return unrelate;
907
+ }()
908
+ /**
909
+ * Checks if a relationship has expired.
910
+ * @param request - The request for checking the relationship's expiration status.
911
+ * @returns A promise that resolves to the response indicating whether the relationship has expired.
912
+ */
913
+ }, {
914
+ key: "isRelationshipExpired",
915
+ value: function () {
916
+ var _isRelationshipExpired = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(request) {
917
+ var sourceIPAsset, destIPAsset, _yield$this$getRegist3, sourceIpRegistryAddress, destIpRegistryAddress, relationshipId, params, response;
918
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
919
+ while (1) switch (_context4.prev = _context4.next) {
920
+ case 0:
921
+ _context4.prev = 0;
922
+ sourceIPAsset = request.sourceIPAsset, destIPAsset = request.destIPAsset; // Get IPAssetRegistry Contract Address
923
+ _context4.next = 4;
924
+ return this.getRegistryAddresses(sourceIPAsset.franchiseId, destIPAsset.franchiseId);
925
+ case 4:
926
+ _yield$this$getRegist3 = _context4.sent;
927
+ sourceIpRegistryAddress = _yield$this$getRegist3.sourceIpRegistryAddress;
928
+ destIpRegistryAddress = _yield$this$getRegist3.destIpRegistryAddress;
929
+ _context4.next = 9;
930
+ return this.relationshipModule.getRelationshipId("APPEARS_IN");
931
+ case 9:
932
+ relationshipId = _context4.sent;
933
+ params = {
934
+ sourceContract: sourceIpRegistryAddress,
935
+ sourceId: sourceIPAsset.ipAssetId,
936
+ destContract: destIpRegistryAddress,
937
+ destId: destIPAsset.ipAssetId,
938
+ relationshipId: relationshipId,
939
+ ttl: "0"
940
+ };
941
+ _context4.next = 13;
942
+ return this.relationshipModule.isRelationshipExpired(params);
943
+ case 13:
944
+ response = _context4.sent;
945
+ return _context4.abrupt("return", {
946
+ result: response
947
+ });
948
+ case 17:
949
+ _context4.prev = 17;
950
+ _context4.t0 = _context4["catch"](0);
951
+ handleError(_context4.t0, "Failed to get isRelationshipExpired");
952
+ case 20:
953
+ case "end":
954
+ return _context4.stop();
955
+ }
956
+ }, _callee4, this, [[0, 17]]);
957
+ }));
958
+ function isRelationshipExpired(_x5) {
959
+ return _isRelationshipExpired.apply(this, arguments);
960
+ }
961
+ return isRelationshipExpired;
962
+ }()
963
+ /**
964
+ * Checks if two IP assets are related.
965
+ * @param request - The request for checking the relationship between two IP assets.
966
+ * @returns A promise that resolves to the response indicating whether the IP assets are related.
967
+ */
968
+ }, {
969
+ key: "isRelated",
970
+ value: function () {
971
+ var _isRelated = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(request) {
972
+ var sourceIPAsset, destIPAsset, _yield$this$getRegist4, sourceIpRegistryAddress, destIpRegistryAddress, relationshipId, params, response;
973
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
974
+ while (1) switch (_context5.prev = _context5.next) {
975
+ case 0:
976
+ _context5.prev = 0;
977
+ sourceIPAsset = request.sourceIPAsset, destIPAsset = request.destIPAsset; // Get IPAssetRegistry Contract Address
978
+ _context5.next = 4;
979
+ return this.getRegistryAddresses(sourceIPAsset.franchiseId, destIPAsset.franchiseId);
980
+ case 4:
981
+ _yield$this$getRegist4 = _context5.sent;
982
+ sourceIpRegistryAddress = _yield$this$getRegist4.sourceIpRegistryAddress;
983
+ destIpRegistryAddress = _yield$this$getRegist4.destIpRegistryAddress;
984
+ _context5.next = 9;
985
+ return this.relationshipModule.getRelationshipId("APPEARS_IN");
986
+ case 9:
987
+ relationshipId = _context5.sent;
988
+ params = {
989
+ sourceContract: sourceIpRegistryAddress,
990
+ sourceId: sourceIPAsset.ipAssetId,
991
+ destContract: destIpRegistryAddress,
992
+ destId: destIPAsset.ipAssetId,
993
+ relationshipId: relationshipId,
994
+ ttl: "0"
995
+ };
996
+ _context5.next = 13;
997
+ return this.relationshipModule.areTheyRelated(params);
998
+ case 13:
999
+ response = _context5.sent;
1000
+ return _context5.abrupt("return", {
1001
+ result: response
1002
+ });
1003
+ case 17:
1004
+ _context5.prev = 17;
1005
+ _context5.t0 = _context5["catch"](0);
1006
+ handleError(_context5.t0, "Failed to get isRelated");
1007
+ case 20:
1008
+ case "end":
1009
+ return _context5.stop();
1010
+ }
1011
+ }, _callee5, this, [[0, 17]]);
1012
+ }));
1013
+ function isRelated(_x6) {
1014
+ return _isRelated.apply(this, arguments);
1015
+ }
1016
+ return isRelated;
1017
+ }()
1018
+ }]);
1019
+ return RelationshipClient;
1020
+ }(RelationshipReadOnlyClient);
1021
+
1022
+ var _abi$4 = [{
1023
+ inputs: [{
1024
+ internalType: "uint256",
1025
+ name: "franchiseId",
1026
+ type: "uint256"
1027
+ }, {
1028
+ components: [{
1029
+ components: [{
1030
+ internalType: "bool",
1031
+ name: "canSublicense",
1032
+ type: "bool"
1033
+ }, {
1034
+ internalType: "uint256",
1035
+ name: "franchiseRootLicenseId",
1036
+ type: "uint256"
1037
+ }],
1038
+ internalType: "struct ILicensingModule.IpAssetConfig",
1039
+ name: "nonCommercialConfig",
1040
+ type: "tuple"
1041
+ }, {
1042
+ components: [{
1043
+ internalType: "contract ITermsProcessor",
1044
+ name: "processor",
1045
+ type: "address"
1046
+ }, {
1047
+ internalType: "bytes",
1048
+ name: "data",
1049
+ type: "bytes"
1050
+ }],
1051
+ internalType: "struct IERC5218.TermsProcessorConfig",
1052
+ name: "nonCommercialTerms",
1053
+ type: "tuple"
1054
+ }, {
1055
+ components: [{
1056
+ internalType: "bool",
1057
+ name: "canSublicense",
1058
+ type: "bool"
1059
+ }, {
1060
+ internalType: "uint256",
1061
+ name: "franchiseRootLicenseId",
1062
+ type: "uint256"
1063
+ }],
1064
+ internalType: "struct ILicensingModule.IpAssetConfig",
1065
+ name: "commercialConfig",
1066
+ type: "tuple"
1067
+ }, {
1068
+ components: [{
1069
+ internalType: "contract ITermsProcessor",
1070
+ name: "processor",
1071
+ type: "address"
1072
+ }, {
1073
+ internalType: "bytes",
1074
+ name: "data",
1075
+ type: "bytes"
1076
+ }],
1077
+ internalType: "struct IERC5218.TermsProcessorConfig",
1078
+ name: "commercialTerms",
1079
+ type: "tuple"
1080
+ }, {
1081
+ internalType: "bool",
1082
+ name: "rootIpAssetHasCommercialRights",
1083
+ type: "bool"
1084
+ }, {
1085
+ internalType: "address",
1086
+ name: "revoker",
1087
+ type: "address"
1088
+ }, {
1089
+ internalType: "string",
1090
+ name: "commercialLicenseUri",
1091
+ type: "string"
1092
+ }],
1093
+ internalType: "struct ILicensingModule.FranchiseConfig",
1094
+ name: "config",
1095
+ type: "tuple"
1096
+ }],
1097
+ name: "configureFranchiseLicensing",
1098
+ outputs: [],
1099
+ stateMutability: "nonpayable",
1100
+ type: "function"
1101
+ }];
1102
+ var LicensingModule__factory = /*#__PURE__*/function () {
1103
+ function LicensingModule__factory() {
1104
+ _classCallCheck(this, LicensingModule__factory);
1105
+ }
1106
+ _createClass(LicensingModule__factory, null, [{
1107
+ key: "createInterface",
788
1108
  value: function createInterface() {
789
- return new ethers.utils.Interface(_abi$3);
1109
+ return new ethers.utils.Interface(_abi$4);
790
1110
  }
791
1111
  }, {
792
1112
  key: "connect",
793
1113
  value: function connect(address, signerOrProvider) {
794
- return new ethers.Contract(address, _abi$3, signerOrProvider);
1114
+ return new ethers.Contract(address, _abi$4, signerOrProvider);
795
1115
  }
796
1116
  }]);
797
- return FranchiseRegistry__factory;
1117
+ return LicensingModule__factory;
798
1118
  }();
799
- _defineProperty(FranchiseRegistry__factory, "abi", _abi$3);
1119
+ _defineProperty(LicensingModule__factory, "abi", _abi$4);
800
1120
 
801
- var _abi$2 = [{
1121
+ var _abi$3 = [{
802
1122
  inputs: [{
803
1123
  components: [{
804
1124
  internalType: "uint256",
@@ -847,6 +1167,75 @@ var CollectModule__factory = /*#__PURE__*/function () {
847
1167
  _classCallCheck(this, CollectModule__factory);
848
1168
  }
849
1169
  _createClass(CollectModule__factory, null, [{
1170
+ key: "createInterface",
1171
+ value: function createInterface() {
1172
+ return new ethers.utils.Interface(_abi$3);
1173
+ }
1174
+ }, {
1175
+ key: "connect",
1176
+ value: function connect(address, signerOrProvider) {
1177
+ return new ethers.Contract(address, _abi$3, signerOrProvider);
1178
+ }
1179
+ }]);
1180
+ return CollectModule__factory;
1181
+ }();
1182
+ _defineProperty(CollectModule__factory, "abi", _abi$3);
1183
+
1184
+ var _abi$2 = [{
1185
+ inputs: [{
1186
+ components: [{
1187
+ internalType: "string",
1188
+ name: "name",
1189
+ type: "string"
1190
+ }, {
1191
+ internalType: "string",
1192
+ name: "symbol",
1193
+ type: "string"
1194
+ }, {
1195
+ internalType: "string",
1196
+ name: "description",
1197
+ type: "string"
1198
+ }, {
1199
+ internalType: "string",
1200
+ name: "tokenURI",
1201
+ type: "string"
1202
+ }],
1203
+ internalType: "struct FranchiseRegistry.FranchiseCreationParams",
1204
+ name: "params",
1205
+ type: "tuple"
1206
+ }],
1207
+ name: "registerFranchise",
1208
+ outputs: [{
1209
+ internalType: "uint256",
1210
+ name: "",
1211
+ type: "uint256"
1212
+ }, {
1213
+ internalType: "address",
1214
+ name: "",
1215
+ type: "address"
1216
+ }],
1217
+ stateMutability: "nonpayable",
1218
+ type: "function"
1219
+ }, {
1220
+ inputs: [{
1221
+ internalType: "uint256",
1222
+ name: "franchiseId",
1223
+ type: "uint256"
1224
+ }],
1225
+ name: "ipAssetRegistryForId",
1226
+ outputs: [{
1227
+ internalType: "address",
1228
+ name: "",
1229
+ type: "address"
1230
+ }],
1231
+ stateMutability: "view",
1232
+ type: "function"
1233
+ }];
1234
+ var FranchiseRegistry__factory = /*#__PURE__*/function () {
1235
+ function FranchiseRegistry__factory() {
1236
+ _classCallCheck(this, FranchiseRegistry__factory);
1237
+ }
1238
+ _createClass(FranchiseRegistry__factory, null, [{
850
1239
  key: "createInterface",
851
1240
  value: function createInterface() {
852
1241
  return new ethers.utils.Interface(_abi$2);
@@ -857,9 +1246,9 @@ var CollectModule__factory = /*#__PURE__*/function () {
857
1246
  return new ethers.Contract(address, _abi$2, signerOrProvider);
858
1247
  }
859
1248
  }]);
860
- return CollectModule__factory;
1249
+ return FranchiseRegistry__factory;
861
1250
  }();
862
- _defineProperty(CollectModule__factory, "abi", _abi$2);
1251
+ _defineProperty(FranchiseRegistry__factory, "abi", _abi$2);
863
1252
 
864
1253
  var _abi$1 = [{
865
1254
  inputs: [{
@@ -1171,25 +1560,22 @@ var RelationshipModule__factory = /*#__PURE__*/function () {
1171
1560
  _defineProperty(RelationshipModule__factory, "abi", _abi);
1172
1561
 
1173
1562
  /**
1174
- * A class representing License operations.
1175
- *
1176
- * @public
1563
+ * IpAssetClient allows you to create, view, and list IP Assets on Story Protocol.
1177
1564
  */
1178
- var LicenseClient = /*#__PURE__*/function () {
1179
- function LicenseClient(httpClient, signer, franchiseRegistry) {
1180
- _classCallCheck(this, LicenseClient);
1565
+ var IPAssetReadOnlyClient = /*#__PURE__*/function () {
1566
+ function IPAssetReadOnlyClient(httpClient, franchiseRegistry) {
1567
+ _classCallCheck(this, IPAssetReadOnlyClient);
1181
1568
  this.httpClient = httpClient;
1182
- this.signer = signer;
1183
1569
  this.franchiseRegistry = franchiseRegistry;
1184
1570
  }
1185
1571
 
1186
1572
  /**
1187
- * Get a license by its ID.
1573
+ * Get an IP Asset based on the specified IP asset ID.
1188
1574
  *
1189
- * @param licenseId - The ID of the license to retrieve.
1190
- * @returns A Promise that resolves to the GetLicenseResponse.
1575
+ * @param request - the request object for getting an IP Asset.
1576
+ * @returns the response object the contains the fetched IP Asset.
1191
1577
  */
1192
- _createClass(LicenseClient, [{
1578
+ _createClass(IPAssetReadOnlyClient, [{
1193
1579
  key: "get",
1194
1580
  value: function () {
1195
1581
  var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
@@ -1198,21 +1584,21 @@ var LicenseClient = /*#__PURE__*/function () {
1198
1584
  while (1) switch (_context.prev = _context.next) {
1199
1585
  case 0:
1200
1586
  _context.prev = 0;
1201
- if (isIntegerString(request.licenseId)) {
1587
+ if (isIntegerString(request.ipAssetId)) {
1202
1588
  _context.next = 3;
1203
1589
  break;
1204
1590
  }
1205
- throw new Error("Invalid licenseId. Must be an integer. But got: ".concat(request.licenseId));
1591
+ throw new Error("Invalid IP Asset id. Must be an integer. But get: ".concat(request.ipAssetId));
1206
1592
  case 3:
1207
1593
  _context.next = 5;
1208
- return this.httpClient.get("/license/".concat(request.licenseId));
1594
+ return this.httpClient.get("/ipasset/".concat(request.ipAssetId, "?franchiseId=").concat(request.franchiseId));
1209
1595
  case 5:
1210
1596
  response = _context.sent;
1211
1597
  return _context.abrupt("return", response.data);
1212
1598
  case 9:
1213
1599
  _context.prev = 9;
1214
1600
  _context.t0 = _context["catch"](0);
1215
- handleError(_context.t0, "Failed to get license");
1601
+ handleError(_context.t0, "Failed to get IP Asset");
1216
1602
  case 12:
1217
1603
  case "end":
1218
1604
  return _context.stop();
@@ -1225,9 +1611,9 @@ var LicenseClient = /*#__PURE__*/function () {
1225
1611
  return get;
1226
1612
  }()
1227
1613
  /**
1228
- * List all licenses.
1614
+ * List all IP assets.
1229
1615
  *
1230
- * @returns A Promise that resolves to the ListLicenseResponse.
1616
+ * @returns the response object that contains results from listing query.
1231
1617
  */
1232
1618
  }, {
1233
1619
  key: "list",
@@ -1239,14 +1625,14 @@ var LicenseClient = /*#__PURE__*/function () {
1239
1625
  case 0:
1240
1626
  _context2.prev = 0;
1241
1627
  _context2.next = 3;
1242
- return this.httpClient.get("/license?franchiseId=".concat(request.franchiseId, "&ipAssetId=").concat(request.ipAssetId));
1628
+ return this.httpClient.get("/ipasset?franchiseId=".concat(request.franchiseId));
1243
1629
  case 3:
1244
1630
  response = _context2.sent;
1245
1631
  return _context2.abrupt("return", response.data);
1246
1632
  case 7:
1247
1633
  _context2.prev = 7;
1248
1634
  _context2.t0 = _context2["catch"](0);
1249
- handleError(_context2.t0, "Failed to get licenses");
1635
+ handleError(_context2.t0, "Failed to list IP Asset.");
1250
1636
  case 10:
1251
1637
  case "end":
1252
1638
  return _context2.stop();
@@ -1258,634 +1644,399 @@ var LicenseClient = /*#__PURE__*/function () {
1258
1644
  }
1259
1645
  return list;
1260
1646
  }()
1261
- /**
1262
- * Create a license within the Story Protocol based on the specified input data.
1263
- *
1264
- * @param request - An object containing the necessary data to create a license.
1265
- * @returns A response object containing the result of the create license action, including the transaction hash.
1266
- */
1267
- }, {
1268
- key: "create",
1269
- value: function () {
1270
- var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(request) {
1271
- var defaults, franchiseId, ipAssetId, licenseURI, options, walletAddress, ipAssetRegistryAddress, ipAssetRegistry, parentLicenseId, createResponse;
1272
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
1273
- while (1) switch (_context3.prev = _context3.next) {
1274
- case 0:
1275
- _context3.prev = 0;
1276
- defaults = {
1277
- _tokenId: 0,
1278
- // Assuming BigNumberish can be initialized with 0
1279
- _parentLicenseId: "0",
1280
- _licenseHolder: "0x8e3B91c90561523312f32B49DAAc4AD15293De7F",
1281
- // An empty string for a default holder address
1282
- _uri: "https://example.xyz",
1283
- // An empty string for a default URI
1284
- _revoker: "0x8e3B91c90561523312f32B49DAAc4AD15293De7F",
1285
- // An empty string for a default revoker address
1286
- _commercial: false,
1287
- // Default to non-commercial
1288
- _canSublicense: false,
1289
- // Default to not allowing sublicense
1290
- _terms: {
1291
- processor: ethers.constants.AddressZero,
1292
- data: []
1293
- },
1294
- overrides: {
1295
- // Assuming overrides is an object with properties from and gasLimit
1296
- // You may need to provide default values for its properties as well
1297
- }
1298
- };
1299
- franchiseId = request.franchiseId, ipAssetId = request.ipAssetId, licenseURI = request.licenseURI, options = request.options; // Get Wallet address from Signer
1300
- _context3.next = 5;
1301
- return this.signer.getAddress();
1302
- case 5:
1303
- walletAddress = _context3.sent;
1304
- _context3.next = 8;
1305
- return this.franchiseRegistry.ipAssetRegistryForId(franchiseId);
1306
- case 8:
1307
- ipAssetRegistryAddress = _context3.sent;
1308
- // Connect to IPAssetRegistry Contract
1309
- ipAssetRegistry = IpAssetRegistry__factory.connect(ipAssetRegistryAddress, this.signer); // Get parent license Id
1310
- _context3.next = 12;
1311
- return ipAssetRegistry.getLicenseIdByTokenId(ipAssetId, (options === null || options === void 0 ? void 0 : options.isCommercial) || defaults._commercial);
1312
- case 12:
1313
- parentLicenseId = _context3.sent;
1314
- _context3.next = 15;
1315
- return ipAssetRegistry.createLicense(ipAssetId, parentLicenseId, walletAddress, licenseURI, (options === null || options === void 0 ? void 0 : options.revoker) || defaults._revoker, (options === null || options === void 0 ? void 0 : options.isCommercial) || defaults._commercial, (options === null || options === void 0 ? void 0 : options.isSublicensable) || defaults._canSublicense, (options === null || options === void 0 ? void 0 : options.terms) || defaults._terms);
1316
- case 15:
1317
- createResponse = _context3.sent;
1318
- return _context3.abrupt("return", {
1319
- txHash: createResponse.hash
1320
- });
1321
- case 19:
1322
- _context3.prev = 19;
1323
- _context3.t0 = _context3["catch"](0);
1324
- handleError(_context3.t0, "Failed to create license");
1325
- case 22:
1326
- case "end":
1327
- return _context3.stop();
1328
- }
1329
- }, _callee3, this, [[0, 19]]);
1330
- }));
1331
- function create(_x3) {
1332
- return _create.apply(this, arguments);
1333
- }
1334
- return create;
1335
- }()
1336
1647
  }]);
1337
- return LicenseClient;
1648
+ return IPAssetReadOnlyClient;
1338
1649
  }();
1339
1650
 
1340
1651
  /**
1341
- * TransactionClient allows you to view and monitor transactions on
1342
- * Story Protocol.
1652
+ * IpAssetClient allows you to create, view, and list IP Assets on Story Protocol.
1343
1653
  */
1344
- var TransactionClient = /*#__PURE__*/function () {
1345
- function TransactionClient(httpClient) {
1346
- _classCallCheck(this, TransactionClient);
1347
- this.httpClient = httpClient;
1654
+ var IPAssetClient = /*#__PURE__*/function (_IPAssetReadOnlyClien) {
1655
+ _inherits(IPAssetClient, _IPAssetReadOnlyClien);
1656
+ var _super = _createSuper(IPAssetClient);
1657
+ function IPAssetClient(httpClient, franchiseRegistry, signer) {
1658
+ var _this;
1659
+ _classCallCheck(this, IPAssetClient);
1660
+ _this = _super.call(this, httpClient, franchiseRegistry);
1661
+ _this.signer = signer;
1662
+ return _this;
1348
1663
  }
1349
1664
 
1350
1665
  /**
1351
- * Get transaction data based on the specified transaction id.
1666
+ * Get the ipAssetRegistry associated with a franchiseId.
1352
1667
  *
1353
- * @param request - the request object for getting the transaction
1354
- * @returns the response object that contains the fetched transaction object
1668
+ * @returns the response object that contains the requested ipAssetRegistry.
1355
1669
  */
1356
- _createClass(TransactionClient, [{
1357
- key: "get",
1670
+ _createClass(IPAssetClient, [{
1671
+ key: "getRegistry",
1358
1672
  value: function () {
1359
- var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
1360
- var response;
1673
+ var _getRegistry = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(franchiseId) {
1674
+ var address, ipAssetRegistry;
1361
1675
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1362
1676
  while (1) switch (_context.prev = _context.next) {
1363
1677
  case 0:
1364
1678
  _context.prev = 0;
1365
1679
  _context.next = 3;
1366
- return this.httpClient.get("/transaction/".concat(request.txId));
1680
+ return this.franchiseRegistry.ipAssetRegistryForId(franchiseId);
1367
1681
  case 3:
1368
- response = _context.sent;
1369
- return _context.abrupt("return", response.data);
1370
- case 7:
1371
- _context.prev = 7;
1682
+ address = _context.sent;
1683
+ ipAssetRegistry = IpAssetRegistry__factory.connect(address, this.signer);
1684
+ return _context.abrupt("return", ipAssetRegistry);
1685
+ case 8:
1686
+ _context.prev = 8;
1372
1687
  _context.t0 = _context["catch"](0);
1373
- handleError(_context.t0, "Failed to get transaction");
1374
- case 10:
1688
+ handleError(_context.t0, "Failed to retrieve IP Asset Registry");
1689
+ case 11:
1375
1690
  case "end":
1376
1691
  return _context.stop();
1377
1692
  }
1378
- }, _callee, this, [[0, 7]]);
1693
+ }, _callee, this, [[0, 8]]);
1379
1694
  }));
1380
- function get(_x) {
1381
- return _get.apply(this, arguments);
1695
+ function getRegistry(_x) {
1696
+ return _getRegistry.apply(this, arguments);
1382
1697
  }
1383
- return get;
1698
+ return getRegistry;
1384
1699
  }()
1385
1700
  /**
1386
- * Get transaction data based on the specified transaction id.
1701
+ * Create an IP Asset on Story Protocol based on the specified input asset data.
1387
1702
  *
1388
- * @param request - the request object for getting the transactions
1389
- * @returns the response object that contains the fetched transaction object
1703
+ * @param request - the request object that contains all data needed to create an IP Asset.
1704
+ * @returns the response object that contains results from the asset creation.
1390
1705
  */
1391
1706
  }, {
1392
- key: "list",
1707
+ key: "create",
1393
1708
  value: function () {
1394
- var _list = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
1395
- var response;
1709
+ var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
1710
+ var franchiseId, ipAssetRegistry, response;
1396
1711
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1397
1712
  while (1) switch (_context2.prev = _context2.next) {
1398
1713
  case 0:
1399
1714
  _context2.prev = 0;
1400
- _context2.next = 3;
1401
- return this.httpClient.get("/transaction");
1402
- case 3:
1403
- response = _context2.sent;
1404
- return _context2.abrupt("return", response.data);
1405
- case 7:
1406
- _context2.prev = 7;
1407
- _context2.t0 = _context2["catch"](0);
1408
- handleError(_context2.t0, "Failed to get transactions");
1409
- case 10:
1410
- case "end":
1411
- return _context2.stop();
1412
- }
1413
- }, _callee2, this, [[0, 7]]);
1414
- }));
1415
- function list() {
1416
- return _list.apply(this, arguments);
1417
- }
1418
- return list;
1419
- }()
1420
- }]);
1421
- return TransactionClient;
1422
- }();
1423
-
1424
- /**
1425
- * Client for managing relationships.
1426
- */
1427
- var RelationshipClient = /*#__PURE__*/function () {
1428
- /**
1429
- * Creates a new RelationshipClient instance.
1430
- * @param relationshipModule - The relationship module to interact with.
1431
- * @param franchiseRegistry - The franchise registry to interact with.
1432
- */
1433
- function RelationshipClient(relationshipModule, franchiseRegistry) {
1434
- _classCallCheck(this, RelationshipClient);
1435
- this.relationshipModule = relationshipModule;
1436
- this.franchiseRegistry = franchiseRegistry;
1437
- }
1438
-
1439
- /**
1440
- * Retrieves the registry addresses for source and destination franchises.
1441
- * @param sourceFranchiseId - The ID of the source franchise.
1442
- * @param destFranchiseId - The ID of the destination franchise.
1443
- * @returns An object containing the source and destination IP registry addresses.
1444
- */
1445
- _createClass(RelationshipClient, [{
1446
- key: "getRegistryAddresses",
1447
- value: function () {
1448
- var _getRegistryAddresses = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(sourceFranchiseId, destFranchiseId) {
1449
- var sourceIpRegistryAddress, destIpRegistryAddress;
1450
- return _regeneratorRuntime().wrap(function _callee$(_context) {
1451
- while (1) switch (_context.prev = _context.next) {
1452
- case 0:
1453
- _context.prev = 0;
1454
- _context.next = 3;
1455
- return this.franchiseRegistry.ipAssetRegistryForId(sourceFranchiseId);
1456
- case 3:
1457
- sourceIpRegistryAddress = _context.sent;
1458
- _context.next = 6;
1459
- return this.franchiseRegistry.ipAssetRegistryForId(destFranchiseId);
1715
+ franchiseId = request.franchiseId;
1716
+ if (isIntegerString(franchiseId)) {
1717
+ _context2.next = 4;
1718
+ break;
1719
+ }
1720
+ throw new Error("Invalid franchise ID for IP asset creation. Must be an integer, but got: ".concat(request.franchiseId));
1721
+ case 4:
1722
+ _context2.next = 6;
1723
+ return this.getRegistry(franchiseId);
1460
1724
  case 6:
1461
- destIpRegistryAddress = _context.sent;
1462
- return _context.abrupt("return", {
1463
- sourceIpRegistryAddress: sourceIpRegistryAddress,
1464
- destIpRegistryAddress: destIpRegistryAddress
1465
- });
1466
- case 10:
1467
- _context.prev = 10;
1468
- _context.t0 = _context["catch"](0);
1469
- handleError(_context.t0, "Failed to get registry addresses");
1470
- case 13:
1471
- case "end":
1472
- return _context.stop();
1473
- }
1474
- }, _callee, this, [[0, 10]]);
1475
- }));
1476
- function getRegistryAddresses(_x, _x2) {
1477
- return _getRegistryAddresses.apply(this, arguments);
1478
- }
1479
- return getRegistryAddresses;
1480
- }()
1481
- /**
1482
- * Establishes a relationship between two IP assets.
1483
- * @param request - The request for establishing the relationship.
1484
- * @returns A promise that resolves to the response with the transaction hash.
1485
- */
1486
- }, {
1487
- key: "relate",
1488
- value: function () {
1489
- var _relate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
1490
- var sourceIPAsset, destIPAsset, mockRelationshipData, _yield$this$getRegist, sourceIpRegistryAddress, destIpRegistryAddress, relationshipId, params, response;
1491
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1492
- while (1) switch (_context2.prev = _context2.next) {
1493
- case 0:
1494
- _context2.prev = 0;
1495
- sourceIPAsset = request.sourceIPAsset, destIPAsset = request.destIPAsset;
1496
- mockRelationshipData = ethers.ethers.utils.formatBytes32String(""); // Get IPAssetRegistry Contract Address
1497
- _context2.next = 5;
1498
- return this.getRegistryAddresses(sourceIPAsset.franchiseId, destIPAsset.franchiseId);
1499
- case 5:
1500
- _yield$this$getRegist = _context2.sent;
1501
- sourceIpRegistryAddress = _yield$this$getRegist.sourceIpRegistryAddress;
1502
- destIpRegistryAddress = _yield$this$getRegist.destIpRegistryAddress;
1503
- _context2.next = 10;
1504
- return this.relationshipModule.getRelationshipId("APPEARS_IN");
1505
- case 10:
1506
- relationshipId = _context2.sent;
1507
- params = {
1508
- sourceContract: sourceIpRegistryAddress,
1509
- sourceId: sourceIPAsset.ipAssetId,
1510
- destContract: destIpRegistryAddress,
1511
- destId: destIPAsset.ipAssetId,
1512
- relationshipId: relationshipId,
1513
- ttl: "0"
1514
- };
1515
- _context2.next = 14;
1516
- return this.relationshipModule.relate(params, mockRelationshipData);
1517
- case 14:
1725
+ ipAssetRegistry = _context2.sent;
1726
+ _context2.next = 9;
1727
+ return ipAssetRegistry.createIPAsset(request.ipAssetType, request.ipAssetName, request.description, request.mediaUrl, request.to, request.parentIpAssetId);
1728
+ case 9:
1518
1729
  response = _context2.sent;
1519
1730
  return _context2.abrupt("return", {
1520
1731
  txHash: response.hash
1521
1732
  });
1522
- case 18:
1523
- _context2.prev = 18;
1733
+ case 13:
1734
+ _context2.prev = 13;
1524
1735
  _context2.t0 = _context2["catch"](0);
1525
- handleError(_context2.t0, "Failed to create relationship");
1526
- case 21:
1736
+ handleError(_context2.t0, "Failed to create IP Asset");
1737
+ case 16:
1527
1738
  case "end":
1528
1739
  return _context2.stop();
1529
1740
  }
1530
- }, _callee2, this, [[0, 18]]);
1741
+ }, _callee2, this, [[0, 13]]);
1531
1742
  }));
1532
- function relate(_x3) {
1533
- return _relate.apply(this, arguments);
1743
+ function create(_x2) {
1744
+ return _create.apply(this, arguments);
1534
1745
  }
1535
- return relate;
1746
+ return create;
1536
1747
  }()
1537
- /**
1538
- * Removes a relationship between two IP assets.
1539
- * @param request - The request for removing the relationship.
1540
- * @returns A promise that resolves to the response with the transaction hash.
1541
- */
1542
- }, {
1543
- key: "unrelate",
1748
+ }]);
1749
+ return IPAssetClient;
1750
+ }(IPAssetReadOnlyClient);
1751
+
1752
+ /**
1753
+ * A class representing License operations.
1754
+ *
1755
+ * @public
1756
+ */
1757
+ var LicenseReadOnlyClient = /*#__PURE__*/function () {
1758
+ function LicenseReadOnlyClient(httpClient, franchiseRegistry) {
1759
+ _classCallCheck(this, LicenseReadOnlyClient);
1760
+ this.httpClient = httpClient;
1761
+ this.franchiseRegistry = franchiseRegistry;
1762
+ }
1763
+
1764
+ /**
1765
+ * Get a license by its ID.
1766
+ *
1767
+ * @param licenseId - The ID of the license to retrieve.
1768
+ * @returns A Promise that resolves to the GetLicenseResponse.
1769
+ */
1770
+ _createClass(LicenseReadOnlyClient, [{
1771
+ key: "get",
1544
1772
  value: function () {
1545
- var _unrelate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(request) {
1546
- var sourceIPAsset, destIPAsset, _yield$this$getRegist2, sourceIpRegistryAddress, destIpRegistryAddress, relationshipId, params, response;
1547
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
1548
- while (1) switch (_context3.prev = _context3.next) {
1773
+ var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
1774
+ var response;
1775
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
1776
+ while (1) switch (_context.prev = _context.next) {
1549
1777
  case 0:
1550
- _context3.prev = 0;
1551
- sourceIPAsset = request.sourceIPAsset, destIPAsset = request.destIPAsset; // Get IPAssetRegistry Contract Address
1552
- _context3.next = 4;
1553
- return this.getRegistryAddresses(sourceIPAsset.franchiseId, destIPAsset.franchiseId);
1554
- case 4:
1555
- _yield$this$getRegist2 = _context3.sent;
1556
- sourceIpRegistryAddress = _yield$this$getRegist2.sourceIpRegistryAddress;
1557
- destIpRegistryAddress = _yield$this$getRegist2.destIpRegistryAddress;
1558
- _context3.next = 9;
1559
- return this.relationshipModule.getRelationshipId("APPEARS_IN");
1778
+ _context.prev = 0;
1779
+ if (isIntegerString(request.licenseId)) {
1780
+ _context.next = 3;
1781
+ break;
1782
+ }
1783
+ throw new Error("Invalid licenseId. Must be an integer. But got: ".concat(request.licenseId));
1784
+ case 3:
1785
+ _context.next = 5;
1786
+ return this.httpClient.get("/license/".concat(request.licenseId));
1787
+ case 5:
1788
+ response = _context.sent;
1789
+ return _context.abrupt("return", response.data);
1560
1790
  case 9:
1561
- relationshipId = _context3.sent;
1562
- params = {
1563
- sourceContract: sourceIpRegistryAddress,
1564
- sourceId: sourceIPAsset.ipAssetId,
1565
- destContract: destIpRegistryAddress,
1566
- destId: destIPAsset.ipAssetId,
1567
- relationshipId: relationshipId,
1568
- ttl: "0"
1569
- };
1570
- _context3.next = 13;
1571
- return this.relationshipModule.unrelate(params);
1572
- case 13:
1573
- response = _context3.sent;
1574
- return _context3.abrupt("return", {
1575
- txHash: response.hash
1576
- });
1577
- case 17:
1578
- _context3.prev = 17;
1579
- _context3.t0 = _context3["catch"](0);
1580
- handleError(_context3.t0, "Failed to unrelate relationship");
1581
- case 20:
1791
+ _context.prev = 9;
1792
+ _context.t0 = _context["catch"](0);
1793
+ handleError(_context.t0, "Failed to get license");
1794
+ case 12:
1582
1795
  case "end":
1583
- return _context3.stop();
1796
+ return _context.stop();
1584
1797
  }
1585
- }, _callee3, this, [[0, 17]]);
1798
+ }, _callee, this, [[0, 9]]);
1586
1799
  }));
1587
- function unrelate(_x4) {
1588
- return _unrelate.apply(this, arguments);
1800
+ function get(_x) {
1801
+ return _get.apply(this, arguments);
1589
1802
  }
1590
- return unrelate;
1803
+ return get;
1591
1804
  }()
1592
1805
  /**
1593
- * Checks if a relationship has expired.
1594
- * @param request - The request for checking the relationship's expiration status.
1595
- * @returns A promise that resolves to the response indicating whether the relationship has expired.
1806
+ * List all licenses.
1807
+ *
1808
+ * @returns A Promise that resolves to the ListLicenseResponse.
1596
1809
  */
1597
1810
  }, {
1598
- key: "isRelationshipExpired",
1811
+ key: "list",
1599
1812
  value: function () {
1600
- var _isRelationshipExpired = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(request) {
1601
- var sourceIPAsset, destIPAsset, _yield$this$getRegist3, sourceIpRegistryAddress, destIpRegistryAddress, relationshipId, params, response;
1602
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
1603
- while (1) switch (_context4.prev = _context4.next) {
1813
+ var _list = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
1814
+ var response;
1815
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1816
+ while (1) switch (_context2.prev = _context2.next) {
1604
1817
  case 0:
1605
- _context4.prev = 0;
1606
- sourceIPAsset = request.sourceIPAsset, destIPAsset = request.destIPAsset; // Get IPAssetRegistry Contract Address
1607
- _context4.next = 4;
1608
- return this.getRegistryAddresses(sourceIPAsset.franchiseId, destIPAsset.franchiseId);
1609
- case 4:
1610
- _yield$this$getRegist3 = _context4.sent;
1611
- sourceIpRegistryAddress = _yield$this$getRegist3.sourceIpRegistryAddress;
1612
- destIpRegistryAddress = _yield$this$getRegist3.destIpRegistryAddress;
1613
- _context4.next = 9;
1614
- return this.relationshipModule.getRelationshipId("APPEARS_IN");
1615
- case 9:
1616
- relationshipId = _context4.sent;
1617
- params = {
1618
- sourceContract: sourceIpRegistryAddress,
1619
- sourceId: sourceIPAsset.ipAssetId,
1620
- destContract: destIpRegistryAddress,
1621
- destId: destIPAsset.ipAssetId,
1622
- relationshipId: relationshipId,
1623
- ttl: "0"
1624
- };
1625
- _context4.next = 13;
1626
- return this.relationshipModule.isRelationshipExpired(params);
1627
- case 13:
1628
- response = _context4.sent;
1629
- return _context4.abrupt("return", {
1630
- result: response
1631
- });
1632
- case 17:
1633
- _context4.prev = 17;
1634
- _context4.t0 = _context4["catch"](0);
1635
- handleError(_context4.t0, "Failed to get isRelationshipExpired");
1636
- case 20:
1818
+ _context2.prev = 0;
1819
+ _context2.next = 3;
1820
+ return this.httpClient.get("/license?franchiseId=".concat(request.franchiseId, "&ipAssetId=").concat(request.ipAssetId));
1821
+ case 3:
1822
+ response = _context2.sent;
1823
+ return _context2.abrupt("return", response.data);
1824
+ case 7:
1825
+ _context2.prev = 7;
1826
+ _context2.t0 = _context2["catch"](0);
1827
+ handleError(_context2.t0, "Failed to get licenses");
1828
+ case 10:
1637
1829
  case "end":
1638
- return _context4.stop();
1830
+ return _context2.stop();
1639
1831
  }
1640
- }, _callee4, this, [[0, 17]]);
1832
+ }, _callee2, this, [[0, 7]]);
1641
1833
  }));
1642
- function isRelationshipExpired(_x5) {
1643
- return _isRelationshipExpired.apply(this, arguments);
1834
+ function list(_x2) {
1835
+ return _list.apply(this, arguments);
1644
1836
  }
1645
- return isRelationshipExpired;
1837
+ return list;
1646
1838
  }()
1647
- /**
1648
- * Checks if two IP assets are related.
1649
- * @param request - The request for checking the relationship between two IP assets.
1650
- * @returns A promise that resolves to the response indicating whether the IP assets are related.
1651
- */
1652
- }, {
1653
- key: "isRelated",
1839
+ }]);
1840
+ return LicenseReadOnlyClient;
1841
+ }();
1842
+
1843
+ /**
1844
+ * A class representing License operations.
1845
+ *
1846
+ * @public
1847
+ */
1848
+ var LicenseClient = /*#__PURE__*/function (_LicenseReadOnlyClien) {
1849
+ _inherits(LicenseClient, _LicenseReadOnlyClien);
1850
+ var _super = _createSuper(LicenseClient);
1851
+ function LicenseClient(httpClient, signer, franchiseRegistry) {
1852
+ var _this;
1853
+ _classCallCheck(this, LicenseClient);
1854
+ _this = _super.call(this, httpClient, franchiseRegistry);
1855
+ _this.signer = signer;
1856
+ return _this;
1857
+ }
1858
+
1859
+ /**
1860
+ * Create a license within the Story Protocol based on the specified input data.
1861
+ *
1862
+ * @param request - An object containing the necessary data to create a license.
1863
+ * @returns A response object containing the result of the create license action, including the transaction hash.
1864
+ */
1865
+ _createClass(LicenseClient, [{
1866
+ key: "create",
1654
1867
  value: function () {
1655
- var _isRelated = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(request) {
1656
- var sourceIPAsset, destIPAsset, _yield$this$getRegist4, sourceIpRegistryAddress, destIpRegistryAddress, relationshipId, params, response;
1657
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
1658
- while (1) switch (_context5.prev = _context5.next) {
1868
+ var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
1869
+ var defaults, franchiseId, ipAssetId, licenseURI, options, walletAddress, ipAssetRegistryAddress, ipAssetRegistry, parentLicenseId, createResponse;
1870
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
1871
+ while (1) switch (_context.prev = _context.next) {
1659
1872
  case 0:
1660
- _context5.prev = 0;
1661
- sourceIPAsset = request.sourceIPAsset, destIPAsset = request.destIPAsset; // Get IPAssetRegistry Contract Address
1662
- _context5.next = 4;
1663
- return this.getRegistryAddresses(sourceIPAsset.franchiseId, destIPAsset.franchiseId);
1664
- case 4:
1665
- _yield$this$getRegist4 = _context5.sent;
1666
- sourceIpRegistryAddress = _yield$this$getRegist4.sourceIpRegistryAddress;
1667
- destIpRegistryAddress = _yield$this$getRegist4.destIpRegistryAddress;
1668
- _context5.next = 9;
1669
- return this.relationshipModule.getRelationshipId("APPEARS_IN");
1670
- case 9:
1671
- relationshipId = _context5.sent;
1672
- params = {
1673
- sourceContract: sourceIpRegistryAddress,
1674
- sourceId: sourceIPAsset.ipAssetId,
1675
- destContract: destIpRegistryAddress,
1676
- destId: destIPAsset.ipAssetId,
1677
- relationshipId: relationshipId,
1678
- ttl: "0"
1873
+ _context.prev = 0;
1874
+ defaults = {
1875
+ _tokenId: 0,
1876
+ // Assuming BigNumberish can be initialized with 0
1877
+ _parentLicenseId: "0",
1878
+ _licenseHolder: "0x8e3B91c90561523312f32B49DAAc4AD15293De7F",
1879
+ // An empty string for a default holder address
1880
+ _uri: "https://example.xyz",
1881
+ // An empty string for a default URI
1882
+ _revoker: "0x8e3B91c90561523312f32B49DAAc4AD15293De7F",
1883
+ // An empty string for a default revoker address
1884
+ _commercial: false,
1885
+ // Default to non-commercial
1886
+ _canSublicense: false,
1887
+ // Default to not allowing sublicense
1888
+ _terms: {
1889
+ processor: ethers.constants.AddressZero,
1890
+ data: []
1891
+ },
1892
+ overrides: {
1893
+ // Assuming overrides is an object with properties from and gasLimit
1894
+ // You may need to provide default values for its properties as well
1895
+ }
1679
1896
  };
1680
- _context5.next = 13;
1681
- return this.relationshipModule.areTheyRelated(params);
1682
- case 13:
1683
- response = _context5.sent;
1684
- return _context5.abrupt("return", {
1685
- result: response
1897
+ franchiseId = request.franchiseId, ipAssetId = request.ipAssetId, licenseURI = request.licenseURI, options = request.options; // Get Wallet address from Signer
1898
+ _context.next = 5;
1899
+ return this.signer.getAddress();
1900
+ case 5:
1901
+ walletAddress = _context.sent;
1902
+ _context.next = 8;
1903
+ return this.franchiseRegistry.ipAssetRegistryForId(franchiseId);
1904
+ case 8:
1905
+ ipAssetRegistryAddress = _context.sent;
1906
+ // Connect to IPAssetRegistry Contract
1907
+ ipAssetRegistry = IpAssetRegistry__factory.connect(ipAssetRegistryAddress, this.signer); // Get parent license Id
1908
+ _context.next = 12;
1909
+ return ipAssetRegistry.getLicenseIdByTokenId(ipAssetId, (options === null || options === void 0 ? void 0 : options.isCommercial) || defaults._commercial);
1910
+ case 12:
1911
+ parentLicenseId = _context.sent;
1912
+ _context.next = 15;
1913
+ return ipAssetRegistry.createLicense(ipAssetId, parentLicenseId, walletAddress, licenseURI, (options === null || options === void 0 ? void 0 : options.revoker) || defaults._revoker, (options === null || options === void 0 ? void 0 : options.isCommercial) || defaults._commercial, (options === null || options === void 0 ? void 0 : options.isSublicensable) || defaults._canSublicense, (options === null || options === void 0 ? void 0 : options.terms) || defaults._terms);
1914
+ case 15:
1915
+ createResponse = _context.sent;
1916
+ return _context.abrupt("return", {
1917
+ txHash: createResponse.hash
1686
1918
  });
1687
- case 17:
1688
- _context5.prev = 17;
1689
- _context5.t0 = _context5["catch"](0);
1690
- handleError(_context5.t0, "Failed to get isRelated");
1691
- case 20:
1919
+ case 19:
1920
+ _context.prev = 19;
1921
+ _context.t0 = _context["catch"](0);
1922
+ handleError(_context.t0, "Failed to create license");
1923
+ case 22:
1692
1924
  case "end":
1693
- return _context5.stop();
1925
+ return _context.stop();
1694
1926
  }
1695
- }, _callee5, this, [[0, 17]]);
1927
+ }, _callee, this, [[0, 19]]);
1696
1928
  }));
1697
- function isRelated(_x6) {
1698
- return _isRelated.apply(this, arguments);
1929
+ function create(_x) {
1930
+ return _create.apply(this, arguments);
1699
1931
  }
1700
- return isRelated;
1932
+ return create;
1701
1933
  }()
1702
1934
  }]);
1703
- return RelationshipClient;
1704
- }();
1935
+ return LicenseClient;
1936
+ }(LicenseReadOnlyClient);
1705
1937
 
1706
1938
  /**
1707
- * IpAssetClient allows you to create, view, and list IP Assets on Story Protocol.
1939
+ * TransactionClient allows you to view and monitor transactions on
1940
+ * Story Protocol.
1708
1941
  */
1709
- var IPAssetClient = /*#__PURE__*/function () {
1710
- function IPAssetClient(httpClient, franchiseRegistry, signer) {
1711
- _classCallCheck(this, IPAssetClient);
1942
+ var TransactionReadOnlyClient = /*#__PURE__*/function () {
1943
+ function TransactionReadOnlyClient(httpClient) {
1944
+ _classCallCheck(this, TransactionReadOnlyClient);
1712
1945
  this.httpClient = httpClient;
1713
- this.franchiseRegistry = franchiseRegistry;
1714
- this.signer = signer;
1715
1946
  }
1716
1947
 
1717
1948
  /**
1718
- * Get the ipAssetRegistry associated with a franchiseId.
1949
+ * Get transaction data based on the specified transaction id.
1719
1950
  *
1720
- * @returns the response object that contains the requested ipAssetRegistry.
1951
+ * @param request - the request object for getting the transaction
1952
+ * @returns the response object that contains the fetched transaction object
1721
1953
  */
1722
- _createClass(IPAssetClient, [{
1723
- key: "getRegistry",
1954
+ _createClass(TransactionReadOnlyClient, [{
1955
+ key: "get",
1724
1956
  value: function () {
1725
- var _getRegistry = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(franchiseId) {
1726
- var address, ipAssetRegistry;
1957
+ var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
1958
+ var response;
1727
1959
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1728
1960
  while (1) switch (_context.prev = _context.next) {
1729
1961
  case 0:
1730
1962
  _context.prev = 0;
1731
1963
  _context.next = 3;
1732
- return this.franchiseRegistry.ipAssetRegistryForId(franchiseId);
1964
+ return this.httpClient.get("/transaction/".concat(request.txId));
1733
1965
  case 3:
1734
- address = _context.sent;
1735
- ipAssetRegistry = IpAssetRegistry__factory.connect(address, this.signer);
1736
- return _context.abrupt("return", ipAssetRegistry);
1737
- case 8:
1738
- _context.prev = 8;
1966
+ response = _context.sent;
1967
+ return _context.abrupt("return", response.data);
1968
+ case 7:
1969
+ _context.prev = 7;
1739
1970
  _context.t0 = _context["catch"](0);
1740
- handleError(_context.t0, "Failed to retrieve IP Asset Registry");
1741
- case 11:
1971
+ handleError(_context.t0, "Failed to get transaction");
1972
+ case 10:
1742
1973
  case "end":
1743
1974
  return _context.stop();
1744
1975
  }
1745
- }, _callee, this, [[0, 8]]);
1976
+ }, _callee, this, [[0, 7]]);
1746
1977
  }));
1747
- function getRegistry(_x) {
1748
- return _getRegistry.apply(this, arguments);
1978
+ function get(_x) {
1979
+ return _get.apply(this, arguments);
1749
1980
  }
1750
- return getRegistry;
1981
+ return get;
1751
1982
  }()
1752
1983
  /**
1753
- * Get an IP Asset based on the specified IP asset ID.
1984
+ * Get transaction data based on the specified transaction id.
1754
1985
  *
1755
- * @param request - the request object for getting an IP Asset.
1756
- * @returns the response object the contains the fetched IP Asset.
1986
+ * @param request - the request object for getting the transactions
1987
+ * @returns the response object that contains the fetched transaction object
1757
1988
  */
1758
1989
  }, {
1759
- key: "get",
1990
+ key: "list",
1760
1991
  value: function () {
1761
- var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
1992
+ var _list = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
1762
1993
  var response;
1763
1994
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1764
1995
  while (1) switch (_context2.prev = _context2.next) {
1765
1996
  case 0:
1766
1997
  _context2.prev = 0;
1767
- if (isIntegerString(request.ipAssetId)) {
1768
- _context2.next = 3;
1769
- break;
1770
- }
1771
- throw new Error("Invalid IP Asset id. Must be an integer. But get: ".concat(request.ipAssetId));
1998
+ _context2.next = 3;
1999
+ return this.httpClient.get("/transaction");
1772
2000
  case 3:
1773
- _context2.next = 5;
1774
- return this.httpClient.get("/ipasset/".concat(request.ipAssetId, "?franchiseId=").concat(request.franchiseId));
1775
- case 5:
1776
2001
  response = _context2.sent;
1777
2002
  return _context2.abrupt("return", response.data);
1778
- case 9:
1779
- _context2.prev = 9;
1780
- _context2.t0 = _context2["catch"](0);
1781
- handleError(_context2.t0, "Failed to get IP Asset");
1782
- case 12:
1783
- case "end":
1784
- return _context2.stop();
1785
- }
1786
- }, _callee2, this, [[0, 9]]);
1787
- }));
1788
- function get(_x2) {
1789
- return _get.apply(this, arguments);
1790
- }
1791
- return get;
1792
- }()
1793
- /**
1794
- * Create an IP Asset on Story Protocol based on the specified input asset data.
1795
- *
1796
- * @param request - the request object that contains all data needed to create an IP Asset.
1797
- * @returns the response object that contains results from the asset creation.
1798
- */
1799
- }, {
1800
- key: "create",
1801
- value: function () {
1802
- var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(request) {
1803
- var franchiseId, ipAssetRegistry, response;
1804
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
1805
- while (1) switch (_context3.prev = _context3.next) {
1806
- case 0:
1807
- _context3.prev = 0;
1808
- franchiseId = request.franchiseId;
1809
- if (isIntegerString(franchiseId)) {
1810
- _context3.next = 4;
1811
- break;
1812
- }
1813
- throw new Error("Invalid franchise ID for IP asset creation. Must be an integer, but got: ".concat(request.franchiseId));
1814
- case 4:
1815
- _context3.next = 6;
1816
- return this.getRegistry(franchiseId);
1817
- case 6:
1818
- ipAssetRegistry = _context3.sent;
1819
- _context3.next = 9;
1820
- return ipAssetRegistry.createIPAsset(request.ipAssetType, request.ipAssetName, request.description, request.mediaUrl, request.to, request.parentIpAssetId);
1821
- case 9:
1822
- response = _context3.sent;
1823
- return _context3.abrupt("return", {
1824
- txHash: response.hash
1825
- });
1826
- case 13:
1827
- _context3.prev = 13;
1828
- _context3.t0 = _context3["catch"](0);
1829
- handleError(_context3.t0, "Failed to create IP Asset");
1830
- case 16:
1831
- case "end":
1832
- return _context3.stop();
1833
- }
1834
- }, _callee3, this, [[0, 13]]);
1835
- }));
1836
- function create(_x3) {
1837
- return _create.apply(this, arguments);
1838
- }
1839
- return create;
1840
- }()
1841
- /**
1842
- * List all IP assets.
1843
- *
1844
- * @returns the response object that contains results from listing query.
1845
- */
1846
- }, {
1847
- key: "list",
1848
- value: function () {
1849
- var _list = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(request) {
1850
- var response;
1851
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
1852
- while (1) switch (_context4.prev = _context4.next) {
1853
- case 0:
1854
- _context4.prev = 0;
1855
- _context4.next = 3;
1856
- return this.httpClient.get("/ipasset?franchiseId=".concat(request.franchiseId));
1857
- case 3:
1858
- response = _context4.sent;
1859
- return _context4.abrupt("return", response.data);
1860
2003
  case 7:
1861
- _context4.prev = 7;
1862
- _context4.t0 = _context4["catch"](0);
1863
- handleError(_context4.t0, "Failed to list IP Asset.");
2004
+ _context2.prev = 7;
2005
+ _context2.t0 = _context2["catch"](0);
2006
+ handleError(_context2.t0, "Failed to get transactions");
1864
2007
  case 10:
1865
2008
  case "end":
1866
- return _context4.stop();
2009
+ return _context2.stop();
1867
2010
  }
1868
- }, _callee4, this, [[0, 7]]);
2011
+ }, _callee2, this, [[0, 7]]);
1869
2012
  }));
1870
- function list(_x4) {
2013
+ function list() {
1871
2014
  return _list.apply(this, arguments);
1872
2015
  }
1873
2016
  return list;
1874
2017
  }()
1875
2018
  }]);
1876
- return IPAssetClient;
2019
+ return TransactionReadOnlyClient;
1877
2020
  }();
1878
2021
 
1879
2022
  /**
1880
- * Default timeout value for http clients.
2023
+ * TransactionClient allows you to view and monitor transactions on
2024
+ * Story Protocol.
1881
2025
  */
1882
- var HTTP_TIMEOUT = 1000;
2026
+ var TransactionClient = /*#__PURE__*/function (_TransactionReadOnlyC) {
2027
+ _inherits(TransactionClient, _TransactionReadOnlyC);
2028
+ var _super = _createSuper(TransactionClient);
2029
+ function TransactionClient(httpClient) {
2030
+ _classCallCheck(this, TransactionClient);
2031
+ return _super.call(this, httpClient);
2032
+ }
2033
+ return _createClass(TransactionClient);
2034
+ }(TransactionReadOnlyClient);
1883
2035
 
1884
- var CollectClient = /*#__PURE__*/function () {
1885
- function CollectClient(httpClient, signer, collectModule) {
1886
- _classCallCheck(this, CollectClient);
2036
+ var CollectReadOnlyClient = /*#__PURE__*/function () {
2037
+ function CollectReadOnlyClient(httpClient, collectModule) {
2038
+ _classCallCheck(this, CollectReadOnlyClient);
1887
2039
  this.httpClient = httpClient;
1888
- this.signer = signer;
1889
2040
  this.collectModuleContract = collectModule;
1890
2041
  }
1891
2042
 
@@ -1894,7 +2045,7 @@ var CollectClient = /*#__PURE__*/function () {
1894
2045
  *
1895
2046
  * @returns A Promise that resolves to the ListLicenseResponse.
1896
2047
  */
1897
- _createClass(CollectClient, [{
2048
+ _createClass(CollectReadOnlyClient, [{
1898
2049
  key: "list",
1899
2050
  value: function () {
1900
2051
  var _list = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
@@ -1923,22 +2074,37 @@ var CollectClient = /*#__PURE__*/function () {
1923
2074
  }
1924
2075
  return list;
1925
2076
  }()
1926
- /**
1927
- * Collect an IP Asset on Story Protocol based on the specified input collect data.
1928
- *
1929
- * @param request - the request object that contains all data needed to collect an IP Asset
1930
- * @returns the response object that contains results from the create franchise action
1931
- */
1932
- }, {
2077
+ }]);
2078
+ return CollectReadOnlyClient;
2079
+ }();
2080
+
2081
+ var CollectClient = /*#__PURE__*/function (_CollectReadOnlyClien) {
2082
+ _inherits(CollectClient, _CollectReadOnlyClien);
2083
+ var _super = _createSuper(CollectClient);
2084
+ function CollectClient(httpClient, signer, collectModule) {
2085
+ var _this;
2086
+ _classCallCheck(this, CollectClient);
2087
+ _this = _super.call(this, httpClient, collectModule);
2088
+ _this.signer = signer;
2089
+ return _this;
2090
+ }
2091
+
2092
+ /**
2093
+ * Collect an IP Asset on Story Protocol based on the specified input collect data.
2094
+ *
2095
+ * @param request - the request object that contains all data needed to collect an IP Asset
2096
+ * @returns the response object that contains results from the create franchise action
2097
+ */
2098
+ _createClass(CollectClient, [{
1933
2099
  key: "collect",
1934
2100
  value: function () {
1935
- var _collect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(request) {
2101
+ var _collect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
1936
2102
  var response;
1937
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1938
- while (1) switch (_context2.prev = _context2.next) {
2103
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
2104
+ while (1) switch (_context.prev = _context.next) {
1939
2105
  case 0:
1940
- _context2.prev = 0;
1941
- _context2.next = 3;
2106
+ _context.prev = 0;
2107
+ _context.next = 3;
1942
2108
  return this.collectModuleContract.collect({
1943
2109
  franchiseId: request.franchiseId,
1944
2110
  ipAssetId: request.ipAssetId,
@@ -1948,28 +2114,33 @@ var CollectClient = /*#__PURE__*/function () {
1948
2114
  collectNFTData: "0x"
1949
2115
  });
1950
2116
  case 3:
1951
- response = _context2.sent;
1952
- return _context2.abrupt("return", {
2117
+ response = _context.sent;
2118
+ return _context.abrupt("return", {
1953
2119
  txHash: response.hash
1954
2120
  });
1955
2121
  case 7:
1956
- _context2.prev = 7;
1957
- _context2.t0 = _context2["catch"](0);
1958
- handleError(_context2.t0, "Failed to collect IP Asset");
2122
+ _context.prev = 7;
2123
+ _context.t0 = _context["catch"](0);
2124
+ handleError(_context.t0, "Failed to collect IP Asset");
1959
2125
  case 10:
1960
2126
  case "end":
1961
- return _context2.stop();
2127
+ return _context.stop();
1962
2128
  }
1963
- }, _callee2, this, [[0, 7]]);
2129
+ }, _callee, this, [[0, 7]]);
1964
2130
  }));
1965
- function collect(_x2) {
2131
+ function collect(_x) {
1966
2132
  return _collect.apply(this, arguments);
1967
2133
  }
1968
2134
  return collect;
1969
2135
  }()
1970
2136
  }]);
1971
2137
  return CollectClient;
1972
- }();
2138
+ }(CollectReadOnlyClient);
2139
+
2140
+ /**
2141
+ * Default timeout value for http clients.
2142
+ */
2143
+ var HTTP_TIMEOUT = 5000;
1973
2144
 
1974
2145
  if (typeof process !== "undefined") {
1975
2146
  dotenv__namespace.config();
@@ -1982,17 +2153,21 @@ var StoryClient = /*#__PURE__*/function () {
1982
2153
  * @param config - the configuration for the SDK client
1983
2154
  */
1984
2155
  function StoryClient(config) {
2156
+ var isReadOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1985
2157
  _classCallCheck(this, StoryClient);
2158
+ _defineProperty(this, "isReadOnly", false);
1986
2159
  _defineProperty(this, "_franchise", null);
1987
- _defineProperty(this, "_relationship", null);
1988
- _defineProperty(this, "_ipAsset", null);
1989
2160
  _defineProperty(this, "_license", null);
1990
2161
  _defineProperty(this, "_transaction", null);
2162
+ _defineProperty(this, "_ipAsset", null);
1991
2163
  _defineProperty(this, "_collect", null);
2164
+ _defineProperty(this, "_relationship", null);
1992
2165
  if (config.environment !== Environment.TEST) {
1993
2166
  throw new Error("Invalid Environment: Only TEST environment is supported");
1994
2167
  }
1995
2168
  this.config = config;
2169
+ this.isReadOnly = isReadOnly;
2170
+ this.signerOrProvider = isReadOnly ? this.config.provider || new ethers.ethers.providers.JsonRpcProvider() : this.config.signer;
1996
2171
  this.httpClient = axios__default["default"].create({
1997
2172
  baseURL: process.env.API_BASE_URL || process.env.NEXT_PUBLIC_API_BASE_URL,
1998
2173
  timeout: HTTP_TIMEOUT
@@ -2000,20 +2175,90 @@ var StoryClient = /*#__PURE__*/function () {
2000
2175
  }
2001
2176
 
2002
2177
  /**
2003
- * Getter for the franchise client. The client is lazily created when
2004
- * this method is called.
2178
+ * Factory method for creating a read only SDK client.
2005
2179
  *
2006
- * @returns the FranchiseClient instance
2180
+ * @param config - the configuration for a read only SDK client
2007
2181
  */
2008
2182
  _createClass(StoryClient, [{
2183
+ key: "initFranchise",
2184
+ value: function initFranchise() {
2185
+ var franchiseRegistryContract = process.env.FRANCHISE_REGISTRY_CONTRACT || process.env.NEXT_PUBLIC_FRANCHISE_REGISTRY_CONTRACT;
2186
+ var licenseModuleContract = process.env.LICENSING_MODULE_CONTRACT || process.env.NEXT_PUBLIC_LICENSING_MODULE_CONTRACT;
2187
+ var franchiseRegistry = FranchiseRegistry__factory.connect(franchiseRegistryContract, this.signerOrProvider);
2188
+ var licenseModule = LicensingModule__factory.connect(licenseModuleContract, this.signerOrProvider);
2189
+ if (this.isReadOnly) {
2190
+ this._franchise = new FranchiseReadOnlyClient(this.httpClient, franchiseRegistry, licenseModule);
2191
+ } else {
2192
+ this._franchise = new FranchiseClient(this.httpClient, franchiseRegistry, licenseModule);
2193
+ }
2194
+ }
2195
+ }, {
2196
+ key: "initRelationship",
2197
+ value: function initRelationship() {
2198
+ var franchiseRegistryContract = process.env.FRANCHISE_REGISTRY_CONTRACT || process.env.NEXT_PUBLIC_FRANCHISE_REGISTRY_CONTRACT;
2199
+ var relationshipModuleContract = process.env.RELATIONSHIP_MODULE_CONTRACT || process.env.NEXT_PUBLIC_RELATIONSHIP_MODULE_CONTRACT;
2200
+ var franchiseRegistry = FranchiseRegistry__factory.connect(franchiseRegistryContract, this.signerOrProvider);
2201
+ var relationshipModule = RelationshipModule__factory.connect(relationshipModuleContract, this.signerOrProvider);
2202
+ if (this.isReadOnly) {
2203
+ this._relationship = new RelationshipReadOnlyClient(relationshipModule, franchiseRegistry);
2204
+ } else {
2205
+ this._relationship = new RelationshipClient(relationshipModule, franchiseRegistry);
2206
+ }
2207
+ }
2208
+ }, {
2209
+ key: "initIpAsset",
2210
+ value: function initIpAsset() {
2211
+ var franchiseRegistryContract = process.env.FRANCHISE_REGISTRY_CONTRACT || process.env.NEXT_PUBLIC_FRANCHISE_REGISTRY_CONTRACT;
2212
+ var franchiseRegistry = FranchiseRegistry__factory.connect(franchiseRegistryContract, this.signerOrProvider);
2213
+ if (this.isReadOnly) {
2214
+ this._ipAsset = new IPAssetReadOnlyClient(this.httpClient, franchiseRegistry);
2215
+ } else {
2216
+ this._ipAsset = new IPAssetClient(this.httpClient, franchiseRegistry, this.signerOrProvider);
2217
+ }
2218
+ }
2219
+ }, {
2220
+ key: "initLicense",
2221
+ value: function initLicense() {
2222
+ var franchiseRegistryContract = process.env.FRANCHISE_REGISTRY_CONTRACT || process.env.NEXT_PUBLIC_FRANCHISE_REGISTRY_CONTRACT;
2223
+ var franchiseRegistry = FranchiseRegistry__factory.connect(franchiseRegistryContract, this.signerOrProvider);
2224
+ if (this.isReadOnly) {
2225
+ this._license = new LicenseReadOnlyClient(this.httpClient, franchiseRegistry);
2226
+ } else {
2227
+ this._license = new LicenseClient(this.httpClient, this.signerOrProvider, franchiseRegistry);
2228
+ }
2229
+ }
2230
+ }, {
2231
+ key: "initTransaction",
2232
+ value: function initTransaction() {
2233
+ if (this.isReadOnly) {
2234
+ this._transaction = new TransactionReadOnlyClient(this.httpClient);
2235
+ } else {
2236
+ this._transaction = new TransactionClient(this.httpClient);
2237
+ }
2238
+ }
2239
+ }, {
2240
+ key: "initCollect",
2241
+ value: function initCollect() {
2242
+ var collectModuleContract = process.env.COLLECT_MODULE_CONTRACT || process.env.NEXT_PUBLIC_COLLECT_MODULE_CONTRACT;
2243
+ var collectModule = CollectModule__factory.connect(collectModuleContract, this.signerOrProvider);
2244
+ if (this.isReadOnly) {
2245
+ this._collect = new CollectReadOnlyClient(this.httpClient, collectModule);
2246
+ } else {
2247
+ this._collect = new CollectClient(this.httpClient, this.signerOrProvider, collectModule);
2248
+ }
2249
+ }
2250
+
2251
+ /**
2252
+ * Getter for the franchise client. The client is lazily created when
2253
+ * this method is called.
2254
+ *
2255
+ * @returns the FranchiseClient or FranchiseReadOnlyClient instance
2256
+ */
2257
+ }, {
2009
2258
  key: "franchise",
2010
2259
  get: function get() {
2011
2260
  if (this._franchise === null) {
2012
- var franchiseRegistryContract = process.env.FRANCHISE_REGISTRY_CONTRACT || process.env.NEXT_PUBLIC_FRANCHISE_REGISTRY_CONTRACT;
2013
- var franchiseRegistry = FranchiseRegistry__factory.connect(franchiseRegistryContract, this.config.signer);
2014
- var licenseModuleContract = process.env.LICENSING_MODULE_CONTRACT || process.env.NEXT_PUBLIC_LICENSING_MODULE_CONTRACT;
2015
- var licenseModule = LicensingModule__factory.connect(licenseModuleContract, this.config.signer);
2016
- this._franchise = new FranchiseClient(this.httpClient, franchiseRegistry, licenseModule);
2261
+ this.initFranchise();
2017
2262
  }
2018
2263
  return this._franchise;
2019
2264
  }
@@ -2028,11 +2273,7 @@ var StoryClient = /*#__PURE__*/function () {
2028
2273
  key: "relationship",
2029
2274
  get: function get() {
2030
2275
  if (this._relationship === null) {
2031
- var franchiseRegistryContract = process.env.FRANCHISE_REGISTRY_CONTRACT || process.env.NEXT_PUBLIC_FRANCHISE_REGISTRY_CONTRACT;
2032
- var franchiseRegistry = FranchiseRegistry__factory.connect(franchiseRegistryContract, this.config.signer);
2033
- var relationshipModuleContract = process.env.RELATIONSHIP_MODULE_CONTRACT || process.env.NEXT_PUBLIC_RELATIONSHIP_MODULE_CONTRACT;
2034
- var relationshipModule = RelationshipModule__factory.connect(relationshipModuleContract, this.config.signer);
2035
- this._relationship = new RelationshipClient(relationshipModule, franchiseRegistry);
2276
+ this.initRelationship();
2036
2277
  }
2037
2278
  return this._relationship;
2038
2279
  }
@@ -2046,10 +2287,8 @@ var StoryClient = /*#__PURE__*/function () {
2046
2287
  }, {
2047
2288
  key: "ipAsset",
2048
2289
  get: function get() {
2049
- var franchiseRegistryContract = process.env.FRANCHISE_REGISTRY_CONTRACT || process.env.NEXT_PUBLIC_FRANCHISE_REGISTRY_CONTRACT;
2050
2290
  if (this._ipAsset === null) {
2051
- var franchiseRegistry = FranchiseRegistry__factory.connect(franchiseRegistryContract, this.config.signer);
2052
- this._ipAsset = new IPAssetClient(this.httpClient, franchiseRegistry, this.config.signer);
2291
+ this.initIpAsset();
2053
2292
  }
2054
2293
  return this._ipAsset;
2055
2294
  }
@@ -2064,9 +2303,7 @@ var StoryClient = /*#__PURE__*/function () {
2064
2303
  key: "license",
2065
2304
  get: function get() {
2066
2305
  if (this._license === null) {
2067
- var franchiseRegistryContract = process.env.FRANCHISE_REGISTRY_CONTRACT || process.env.NEXT_PUBLIC_FRANCHISE_REGISTRY_CONTRACT;
2068
- var franchiseRegistry = FranchiseRegistry__factory.connect(franchiseRegistryContract, this.config.signer);
2069
- this._license = new LicenseClient(this.httpClient, this.config.signer, franchiseRegistry);
2306
+ this.initLicense();
2070
2307
  }
2071
2308
  return this._license;
2072
2309
  }
@@ -2081,7 +2318,7 @@ var StoryClient = /*#__PURE__*/function () {
2081
2318
  key: "transaction",
2082
2319
  get: function get() {
2083
2320
  if (this._transaction === null) {
2084
- this._transaction = new TransactionClient(this.httpClient);
2321
+ this.initTransaction();
2085
2322
  }
2086
2323
  return this._transaction;
2087
2324
  }
@@ -2096,12 +2333,26 @@ var StoryClient = /*#__PURE__*/function () {
2096
2333
  key: "collect",
2097
2334
  get: function get() {
2098
2335
  if (this._collect === null) {
2099
- var collectModuleContract = process.env.COLLECT_MODULE_CONTRACT || process.env.NEXT_PUBLIC_COLLECT_MODULE_CONTRACT;
2100
- var collectModule = CollectModule__factory.connect(collectModuleContract, this.config.signer);
2101
- this._collect = new CollectClient(this.httpClient, this.config.signer, collectModule);
2336
+ this.initCollect();
2102
2337
  }
2103
2338
  return this._collect;
2104
2339
  }
2340
+ }], [{
2341
+ key: "newReadOnlyClient",
2342
+ value: function newReadOnlyClient(config) {
2343
+ return new StoryClient(config, true);
2344
+ }
2345
+
2346
+ /**
2347
+ * Factory method for creating a SDK client with a signer.
2348
+ *
2349
+ * @param config - the configuration for a new read/write SDK client
2350
+ */
2351
+ }, {
2352
+ key: "newClient",
2353
+ value: function newClient(config) {
2354
+ return new StoryClient(config, false);
2355
+ }
2105
2356
  }]);
2106
2357
  return StoryClient;
2107
2358
  }();