@eluvio/elv-client-js 4.0.117 → 4.0.119

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 (36) hide show
  1. package/dist/ElvClient-min.js +14 -15
  2. package/dist/ElvClient-node-min.js +13 -14
  3. package/dist/ElvFrameClient-min.js +10 -10
  4. package/dist/ElvPermissionsClient-min.js +9 -9
  5. package/dist/ElvWalletClient-min.js +14 -15
  6. package/dist/ElvWalletClient-node-min.js +13 -14
  7. package/dist/src/AuthorizationClient.js +12 -9
  8. package/dist/src/ContentObjectAudit.js +3 -3
  9. package/dist/src/ContentObjectVerification.js +3 -3
  10. package/dist/src/Crypto.js +2 -2
  11. package/dist/src/ElvClient.js +28 -47
  12. package/dist/src/ElvWallet.js +5 -7
  13. package/dist/src/EthClient.js +9 -8
  14. package/dist/src/FrameClient.js +9 -8
  15. package/dist/src/HttpClient.js +2 -1
  16. package/dist/src/Id.js +2 -1
  17. package/dist/src/PermissionsClient.js +19 -31
  18. package/dist/src/RemoteSigner.js +8 -6
  19. package/dist/src/UserProfileClient.js +20 -35
  20. package/dist/src/Utils.js +3 -2
  21. package/dist/src/client/ABRPublishing.js +2 -2
  22. package/dist/src/client/AccessGroups.js +2 -2
  23. package/dist/src/client/ContentAccess.js +32 -39
  24. package/dist/src/client/ContentManagement.js +3 -3
  25. package/dist/src/client/Contracts.js +2 -2
  26. package/dist/src/client/Files.js +2 -2
  27. package/dist/src/client/LiveConf.js +6 -4
  28. package/dist/src/client/LiveStream.js +2 -0
  29. package/dist/src/client/NFT.js +2 -2
  30. package/dist/src/walletClient/ClientMethods.js +2 -2
  31. package/dist/src/walletClient/Profile.js +2 -2
  32. package/dist/src/walletClient/Utils.js +2 -2
  33. package/dist/src/walletClient/index.js +14 -17
  34. package/package.json +1 -1
  35. package/src/client/ContentAccess.js +1 -1
  36. package/src/walletClient/index.js +24 -123
@@ -185,6 +185,13 @@ class ElvWalletClient {
185
185
  }
186
186
  }
187
187
 
188
+ walletClient.topLevelInfo = await client.utils.ResponseToJson(
189
+ client.MakeAuthServiceRequest({
190
+ path: "/as/mw/toplevel",
191
+ queryParams: { env: mode }
192
+ })
193
+ );
194
+
188
195
  if(!skipMarketplaceLoad) {
189
196
  await walletClient.LoadAvailableMarketplaces();
190
197
  }
@@ -749,136 +756,29 @@ class ElvWalletClient {
749
756
  return;
750
757
  }
751
758
 
752
- let metadata = await this.client.ContentObjectMetadata({
753
- libraryId: this.mainSiteLibraryId,
754
- objectId: this.mainSiteId,
755
- metadataSubtree: "public/asset_metadata",
756
- resolveLinks: true,
757
- linkDepthLimit: 2,
758
- resolveIncludeSource: true,
759
- resolveIgnoreErrors: true,
760
- produceLinkUrls: true,
761
- authorizationToken: this.publicStaticToken,
762
- noAuth: true,
763
- select: [
764
- "info/marketplace_order",
765
- "tenants/*/.",
766
- "tenants/*/info/branding/show",
767
- "tenants/*/info/branding/name",
768
- "tenants/*/marketplaces/*/.",
769
- "tenants/*/marketplaces/*/info/tenant_id",
770
- "tenants/*/marketplaces/*/info/tenant_name",
771
- "tenants/*/marketplaces/*/info/branding/show",
772
- "tenants/*/marketplaces/*/info/branding/name"
773
- ]
774
- });
759
+ const marketplaces = this.topLevelInfo.marketplaces;
775
760
 
776
- const marketplaceOrder = ((metadata || {}).info || {}).marketplace_order || [];
777
- metadata = (metadata || {}).tenants || {};
778
-
779
- // If preview marketplace is specified, load it appropriately
780
- if(this.previewMarketplaceId) {
781
- let previewTenantSlug = "PREVIEW";
782
- let previewMarketplaceSlug, previewMarketplaceMetadata;
783
- Object.keys(metadata || {}).forEach(tenantSlug =>
784
- Object.keys(metadata[tenantSlug].marketplaces || {}).forEach(marketplaceSlug => {
785
- const versionHash = metadata[tenantSlug].marketplaces[marketplaceSlug]["."].source;
786
- const objectId = this.utils.DecodeVersionHash(versionHash).objectId;
787
-
788
- if(objectId === this.previewMarketplaceId) {
789
- // Marketplace exists in site meta
790
- previewTenantSlug = tenantSlug;
791
- previewMarketplaceSlug = marketplaceSlug;
792
-
793
- // Deployed marketplace is same as preview marketplace
794
- if(versionHash === this.previewMarketplaceHash) {
795
- previewMarketplaceMetadata = metadata[tenantSlug].marketplaces[marketplaceSlug];
796
- }
797
- }
798
- })
799
- );
800
-
801
- // Marketplace not present in branch, or preview version is different - Load metadata directly
802
- if(!previewMarketplaceMetadata) {
803
- previewMarketplaceMetadata = await this.client.ContentObjectMetadata({
804
- versionHash: this.previewMarketplaceHash,
805
- metadataSubtree: "public/asset_metadata",
806
- produceLinkUrls: true,
807
- authorizationToken: this.publicStaticToken,
808
- noAuth: true,
809
- select: [
810
- "slug",
811
- "info/tenant_id",
812
- "info/tenant_name",
813
- "info/branding",
814
- ],
815
- remove: [
816
- "info/branding/custom_css"
817
- ]
818
- });
761
+ let availableMarketplaces = { ...(this.availableMarketplaces || {}) };
762
+ let availableMarketplacesById = { ...(this.availableMarketplacesById || {}) };
819
763
 
820
- if(!previewMarketplaceSlug) {
821
- previewMarketplaceSlug = previewMarketplaceMetadata.slug;
822
- }
823
- }
764
+ marketplaces.map(marketplaceInfo => {
765
+ const marketplaceId = Utils.DecodeVersionHash(marketplaceInfo.source_hash).objectId;
766
+ const marketplaceSlug = marketplaceInfo.slug || marketplaceInfo.name;
824
767
 
825
- previewMarketplaceMetadata["."] = {
826
- source: this.previewMarketplaceHash
827
- };
768
+ availableMarketplaces[marketplaceInfo.tenant_slug] = availableMarketplaces[marketplaceInfo.tenant_slug] || {};
828
769
 
829
- previewMarketplaceMetadata.info["."] = {
830
- source: this.previewMarketplaceHash
770
+ availableMarketplaces[marketplaceInfo.tenant_slug][marketplaceSlug] = {
771
+ tenantName: marketplaceInfo.tenant_slug,
772
+ tenantSlug: marketplaceInfo.tenant_slug,
773
+ tenantId: marketplaceInfo.tenant_id,
774
+ marketplaceSlug: marketplaceSlug,
775
+ marketplaceId,
776
+ marketplaceHash: marketplaceInfo.source_hash,
831
777
  };
832
778
 
833
- previewMarketplaceMetadata.info.branding.preview = true;
834
- previewMarketplaceMetadata.info.branding.show = true;
835
-
836
- metadata[previewTenantSlug] = metadata[previewTenantSlug] || {};
837
- metadata[previewTenantSlug].marketplaces = metadata[previewTenantSlug].marketplaces || {};
838
- metadata[previewTenantSlug].marketplaces[previewMarketplaceSlug] = previewMarketplaceMetadata;
839
- }
840
-
841
- let availableMarketplaces = { ...(this.availableMarketplaces || {}) };
842
- let availableMarketplacesById = { ...(this.availableMarketplacesById || {}) };
843
- Object.keys(metadata || {}).forEach(tenantSlug => {
844
- try {
845
- availableMarketplaces[tenantSlug] = metadata[tenantSlug]["."] ?
846
- { versionHash: metadata[tenantSlug]["."].source } : { };
779
+ availableMarketplacesById[marketplaceId] = availableMarketplaces[marketplaceInfo.tenant_slug][marketplaceSlug];
847
780
 
848
- Object.keys(metadata[tenantSlug].marketplaces || {}).forEach(marketplaceSlug => {
849
- try {
850
- const versionHash = metadata[tenantSlug].marketplaces[marketplaceSlug]["."].source;
851
- const objectId = this.utils.DecodeVersionHash(versionHash).objectId;
852
-
853
- availableMarketplaces[tenantSlug][marketplaceSlug] = {
854
- ...(metadata[tenantSlug].marketplaces[marketplaceSlug].info || {}),
855
- tenantName: metadata[tenantSlug].marketplaces[marketplaceSlug].info.tenant_name,
856
- tenantId: metadata[tenantSlug].marketplaces[marketplaceSlug].info.tenant_id,
857
- tenantSlug,
858
- marketplaceSlug,
859
- marketplaceId: objectId,
860
- marketplaceHash: versionHash,
861
- tenantBranding: (metadata[tenantSlug].info || {}).branding || {},
862
- order: marketplaceOrder.findIndex(slug => slug === marketplaceSlug)
863
- };
864
-
865
- availableMarketplacesById[objectId] = availableMarketplaces[tenantSlug][marketplaceSlug];
866
-
867
- this.marketplaceHashes[objectId] = versionHash;
868
-
869
- // Fill out selected marketplace info
870
- if(this.selectedMarketplaceInfo) {
871
- if((this.selectedMarketplaceInfo.tenantSlug === tenantSlug && this.selectedMarketplaceInfo.marketplaceSlug === marketplaceSlug) || this.selectedMarketplaceInfo.marketplaceId === objectId) {
872
- this.selectedMarketplaceInfo = availableMarketplaces[tenantSlug][marketplaceSlug];
873
- }
874
- }
875
- } catch(error) {
876
- this.Log(`Eluvio Wallet Client: Unable to load info for marketplace ${tenantSlug}/${marketplaceSlug}`, true);
877
- }
878
- });
879
- } catch(error) {
880
- this.Log(`Eluvio Wallet Client: Failed to load tenant info ${tenantSlug}`, true, error);
881
- }
781
+ this.marketplaceHashes[marketplaceId] = marketplaceInfo.source_hash;
882
782
  });
883
783
 
884
784
  this.availableMarketplaces = availableMarketplaces;
@@ -1352,6 +1252,7 @@ class ElvWalletClient {
1352
1252
  }
1353
1253
 
1354
1254
  if(op === "nft-claim-entitlement") {
1255
+ // eslint-disable-next-line no-unused-vars
1355
1256
  let [op, marketplace, sku, purchaseId ] = status.op.split(":");
1356
1257
  confirmationId = purchaseId;
1357
1258
  if(status.extra && status.extra["0"]) {