@eluvio/elv-client-js 4.0.8 → 4.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,8 @@
1
1
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
2
2
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
3
- var Buffer = require("buffer/").Buffer;
3
+ if (typeof globalThis.Buffer === "undefined") {
4
+ globalThis.Buffer = require("buffer/").Buffer;
5
+ }
4
6
  var bs58 = require("bs58");
5
7
  var Stream = require("stream");
6
8
  var Utils = require("./Utils");
@@ -9,7 +11,7 @@ if (typeof crypto === "undefined") {
9
11
  _crypto.getRandomValues = function (arr) {
10
12
  return _crypto.randomBytes(arr.length);
11
13
  };
12
- global.crypto = _crypto;
14
+ globalThis.crypto = _crypto;
13
15
  }
14
16
  var _ElvCrypto;
15
17
  switch (Utils.Platform()) {
@@ -7,7 +7,9 @@ var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
7
7
  var _createClass = require("@babel/runtime/helpers/createClass");
8
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
9
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
- var Buffer = require("buffer/").Buffer;
10
+ if (typeof globalThis.Buffer === "undefined") {
11
+ globalThis.Buffer = require("buffer/").Buffer;
12
+ }
11
13
  var URI = require("urijs");
12
14
  var Ethers = require("ethers");
13
15
  var AuthorizationClient = require("./AuthorizationClient");
@@ -34,7 +36,7 @@ var networks = {
34
36
  if (Utils.Platform() === Utils.PLATFORM_NODE) {
35
37
  // Define Response in node
36
38
  // eslint-disable-next-line no-global-assign
37
- global.Response = require("node-fetch").Response;
39
+ globalThis.Response = require("node-fetch").Response;
38
40
  }
39
41
 
40
42
  /**
package/dist/src/Utils.js CHANGED
@@ -5,7 +5,9 @@ var _defineProperty = require("@babel/runtime/helpers/defineProperty");
5
5
  var _slicedToArray = require("@babel/runtime/helpers/slicedToArray");
6
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
- var Buffer = require("buffer/").Buffer;
8
+ if (typeof globalThis.Buffer === "undefined") {
9
+ globalThis.Buffer = require("buffer/").Buffer;
10
+ }
9
11
  var bs58 = require("bs58");
10
12
  var BigNumber = require("bignumber.js")["default"];
11
13
  var VarInt = require("varint");
@@ -1503,11 +1503,43 @@ exports.MetadataAuth = /*#__PURE__*/function () {
1503
1503
  */
1504
1504
  exports.ContentObjectMetadata = /*#__PURE__*/function () {
1505
1505
  var _ref41 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee24(_ref40) {
1506
- var libraryId, objectId, versionHash, writeToken, _ref40$metadataSubtre, metadataSubtree, _ref40$queryParams, queryParams, _ref40$select, select, _ref40$remove, remove, authorizationToken, _ref40$noAuth, noAuth, _ref40$resolveLinks, resolveLinks, _ref40$resolveInclude, resolveIncludeSource, _ref40$resolveIgnoreE, resolveIgnoreErrors, _ref40$linkDepthLimit, linkDepthLimit, _ref40$produceLinkUrl, produceLinkUrls, path, defaultAuthToken, authTokens, metadata, errQwtoken;
1506
+ var libraryId,
1507
+ objectId,
1508
+ versionHash,
1509
+ writeToken,
1510
+ _ref40$metadataSubtre,
1511
+ metadataSubtree,
1512
+ localizationSubtree,
1513
+ _ref40$queryParams,
1514
+ queryParams,
1515
+ _ref40$select,
1516
+ select,
1517
+ _ref40$remove,
1518
+ remove,
1519
+ authorizationToken,
1520
+ _ref40$noAuth,
1521
+ noAuth,
1522
+ _ref40$resolveLinks,
1523
+ resolveLinks,
1524
+ _ref40$resolveInclude,
1525
+ resolveIncludeSource,
1526
+ _ref40$resolveIgnoreE,
1527
+ resolveIgnoreErrors,
1528
+ _ref40$linkDepthLimit,
1529
+ linkDepthLimit,
1530
+ _ref40$produceLinkUrl,
1531
+ produceLinkUrls,
1532
+ path,
1533
+ defaultAuthToken,
1534
+ authTokens,
1535
+ metadata,
1536
+ errQwtoken,
1537
+ localizedMetadata,
1538
+ _args24 = arguments;
1507
1539
  return _regeneratorRuntime.wrap(function _callee24$(_context24) {
1508
1540
  while (1) switch (_context24.prev = _context24.next) {
1509
1541
  case 0:
1510
- libraryId = _ref40.libraryId, objectId = _ref40.objectId, versionHash = _ref40.versionHash, writeToken = _ref40.writeToken, _ref40$metadataSubtre = _ref40.metadataSubtree, metadataSubtree = _ref40$metadataSubtre === void 0 ? "/" : _ref40$metadataSubtre, _ref40$queryParams = _ref40.queryParams, queryParams = _ref40$queryParams === void 0 ? {} : _ref40$queryParams, _ref40$select = _ref40.select, select = _ref40$select === void 0 ? [] : _ref40$select, _ref40$remove = _ref40.remove, remove = _ref40$remove === void 0 ? [] : _ref40$remove, authorizationToken = _ref40.authorizationToken, _ref40$noAuth = _ref40.noAuth, noAuth = _ref40$noAuth === void 0 ? false : _ref40$noAuth, _ref40$resolveLinks = _ref40.resolveLinks, resolveLinks = _ref40$resolveLinks === void 0 ? false : _ref40$resolveLinks, _ref40$resolveInclude = _ref40.resolveIncludeSource, resolveIncludeSource = _ref40$resolveInclude === void 0 ? false : _ref40$resolveInclude, _ref40$resolveIgnoreE = _ref40.resolveIgnoreErrors, resolveIgnoreErrors = _ref40$resolveIgnoreE === void 0 ? false : _ref40$resolveIgnoreE, _ref40$linkDepthLimit = _ref40.linkDepthLimit, linkDepthLimit = _ref40$linkDepthLimit === void 0 ? 1 : _ref40$linkDepthLimit, _ref40$produceLinkUrl = _ref40.produceLinkUrls, produceLinkUrls = _ref40$produceLinkUrl === void 0 ? false : _ref40$produceLinkUrl;
1542
+ libraryId = _ref40.libraryId, objectId = _ref40.objectId, versionHash = _ref40.versionHash, writeToken = _ref40.writeToken, _ref40$metadataSubtre = _ref40.metadataSubtree, metadataSubtree = _ref40$metadataSubtre === void 0 ? "/" : _ref40$metadataSubtre, localizationSubtree = _ref40.localizationSubtree, _ref40$queryParams = _ref40.queryParams, queryParams = _ref40$queryParams === void 0 ? {} : _ref40$queryParams, _ref40$select = _ref40.select, select = _ref40$select === void 0 ? [] : _ref40$select, _ref40$remove = _ref40.remove, remove = _ref40$remove === void 0 ? [] : _ref40$remove, authorizationToken = _ref40.authorizationToken, _ref40$noAuth = _ref40.noAuth, noAuth = _ref40$noAuth === void 0 ? false : _ref40$noAuth, _ref40$resolveLinks = _ref40.resolveLinks, resolveLinks = _ref40$resolveLinks === void 0 ? false : _ref40$resolveLinks, _ref40$resolveInclude = _ref40.resolveIncludeSource, resolveIncludeSource = _ref40$resolveInclude === void 0 ? false : _ref40$resolveInclude, _ref40$resolveIgnoreE = _ref40.resolveIgnoreErrors, resolveIgnoreErrors = _ref40$resolveIgnoreE === void 0 ? false : _ref40$resolveIgnoreE, _ref40$linkDepthLimit = _ref40.linkDepthLimit, linkDepthLimit = _ref40$linkDepthLimit === void 0 ? 1 : _ref40$linkDepthLimit, _ref40$produceLinkUrl = _ref40.produceLinkUrls, produceLinkUrls = _ref40$produceLinkUrl === void 0 ? false : _ref40$produceLinkUrl;
1511
1543
  ValidateParameters({
1512
1544
  libraryId: libraryId,
1513
1545
  objectId: objectId,
@@ -1579,13 +1611,11 @@ exports.ContentObjectMetadata = /*#__PURE__*/function () {
1579
1611
  // e.g. CreateABRMezzanine -> CreateEncryptionConk -> ContentObjectMetadata)
1580
1612
  metadata = metadataSubtree === "/" ? {} : undefined;
1581
1613
  case 27:
1582
- if (produceLinkUrls) {
1583
- _context24.next = 29;
1614
+ if (!produceLinkUrls) {
1615
+ _context24.next = 31;
1584
1616
  break;
1585
1617
  }
1586
- return _context24.abrupt("return", metadata);
1587
- case 29:
1588
- _context24.next = 31;
1618
+ _context24.next = 30;
1589
1619
  return this.ProduceMetadataLinks({
1590
1620
  libraryId: libraryId,
1591
1621
  objectId: objectId,
@@ -1595,13 +1625,36 @@ exports.ContentObjectMetadata = /*#__PURE__*/function () {
1595
1625
  authorizationToken: authorizationToken,
1596
1626
  noAuth: noAuth
1597
1627
  });
1628
+ case 30:
1629
+ metadata = _context24.sent;
1598
1630
  case 31:
1599
- return _context24.abrupt("return", _context24.sent);
1600
- case 32:
1631
+ if (localizationSubtree) {
1632
+ _context24.next = 33;
1633
+ break;
1634
+ }
1635
+ return _context24.abrupt("return", metadata);
1636
+ case 33:
1637
+ _context24.prev = 33;
1638
+ _context24.next = 36;
1639
+ return this.ContentObjectMetadata(_objectSpread(_objectSpread({}, _args24[0]), {}, {
1640
+ metadataSubtree: localizationSubtree,
1641
+ localizationSubtree: undefined
1642
+ }));
1643
+ case 36:
1644
+ localizedMetadata = _context24.sent;
1645
+ return _context24.abrupt("return", MergeWith({}, metadata, localizedMetadata, function (a, b) {
1646
+ return b === null || b === "" ? a : undefined;
1647
+ }));
1648
+ case 40:
1649
+ _context24.prev = 40;
1650
+ _context24.t1 = _context24["catch"](33);
1651
+ this.Log(_context24.t1, true);
1652
+ return _context24.abrupt("return", metadata);
1653
+ case 44:
1601
1654
  case "end":
1602
1655
  return _context24.stop();
1603
1656
  }
1604
- }, _callee24, this, [[11, 17]]);
1657
+ }, _callee24, this, [[11, 17], [33, 40]]);
1605
1658
  }));
1606
1659
  return function (_x25) {
1607
1660
  return _ref41.apply(this, arguments);
@@ -283,7 +283,7 @@ exports.SetPermission = /*#__PURE__*/function () {
283
283
  */
284
284
  exports.CreateContentType = /*#__PURE__*/function () {
285
285
  var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref6) {
286
- var name, _ref6$metadata, metadata, bitcode, _yield$this$authClien, contractAddress, objectId, path, createResponse, uploadResponse;
286
+ var name, _ref6$metadata, metadata, bitcode, _yield$this$authClien, contractAddress, objectId, path, rawCreateResponse, nodeUrl, createResponse, uploadResponse;
287
287
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
288
288
  while (1) switch (_context4.prev = _context4.next) {
289
289
  case 0:
@@ -309,42 +309,45 @@ exports.CreateContentType = /*#__PURE__*/function () {
309
309
  this.Log("Created type: ".concat(contractAddress, " ").concat(objectId));
310
310
 
311
311
  /* Create object, upload bitcode and finalize */
312
- _context4.t0 = this.utils;
313
- _context4.t1 = this.HttpClient;
314
- _context4.next = 17;
312
+ _context4.t0 = this.HttpClient;
313
+ _context4.next = 16;
315
314
  return this.authClient.AuthorizationHeader({
316
315
  libraryId: this.contentSpaceLibraryId,
317
316
  objectId: objectId,
318
317
  update: true
319
318
  });
320
- case 17:
321
- _context4.t2 = _context4.sent;
322
- _context4.t3 = path;
323
- _context4.t4 = {
324
- headers: _context4.t2,
319
+ case 16:
320
+ _context4.t1 = _context4.sent;
321
+ _context4.t2 = path;
322
+ _context4.t3 = {
323
+ headers: _context4.t1,
325
324
  method: "POST",
326
- path: _context4.t3
325
+ path: _context4.t2
327
326
  };
328
- _context4.t5 = _context4.t1.Request.call(_context4.t1, _context4.t4);
329
- _context4.next = 23;
330
- return _context4.t0.ResponseToJson.call(_context4.t0, _context4.t5);
331
- case 23:
327
+ _context4.next = 21;
328
+ return _context4.t0.Request.call(_context4.t0, _context4.t3);
329
+ case 21:
330
+ rawCreateResponse = _context4.sent;
331
+ nodeUrl = new URL(rawCreateResponse.url).origin;
332
+ _context4.next = 25;
333
+ return this.utils.ResponseToJson(rawCreateResponse);
334
+ case 25:
332
335
  createResponse = _context4.sent;
333
336
  // Record the node used in creating this write token
334
- this.HttpClient.RecordWriteToken(createResponse.write_token);
335
- _context4.next = 27;
337
+ this.HttpClient.RecordWriteToken(createResponse.write_token, nodeUrl);
338
+ _context4.next = 29;
336
339
  return this.ReplaceMetadata({
337
340
  libraryId: this.contentSpaceLibraryId,
338
341
  objectId: objectId,
339
342
  writeToken: createResponse.write_token,
340
343
  metadata: metadata
341
344
  });
342
- case 27:
345
+ case 29:
343
346
  if (!bitcode) {
344
- _context4.next = 33;
347
+ _context4.next = 35;
345
348
  break;
346
349
  }
347
- _context4.next = 30;
350
+ _context4.next = 32;
348
351
  return this.UploadPart({
349
352
  libraryId: this.contentSpaceLibraryId,
350
353
  objectId: objectId,
@@ -352,9 +355,9 @@ exports.CreateContentType = /*#__PURE__*/function () {
352
355
  data: bitcode,
353
356
  encrypted: false
354
357
  });
355
- case 30:
358
+ case 32:
356
359
  uploadResponse = _context4.sent;
357
- _context4.next = 33;
360
+ _context4.next = 35;
358
361
  return this.ReplaceMetadata({
359
362
  libraryId: this.contentSpaceLibraryId,
360
363
  objectId: objectId,
@@ -362,17 +365,17 @@ exports.CreateContentType = /*#__PURE__*/function () {
362
365
  metadataSubtree: "bitcode_part",
363
366
  metadata: uploadResponse.part.hash
364
367
  });
365
- case 33:
366
- _context4.next = 35;
368
+ case 35:
369
+ _context4.next = 37;
367
370
  return this.FinalizeContentObject({
368
371
  libraryId: this.contentSpaceLibraryId,
369
372
  objectId: objectId,
370
373
  writeToken: createResponse.write_token,
371
374
  commitMessage: "Create content type"
372
375
  });
373
- case 35:
376
+ case 37:
374
377
  return _context4.abrupt("return", objectId);
375
- case 36:
378
+ case 38:
376
379
  case "end":
377
380
  return _context4.stop();
378
381
  }
@@ -817,7 +820,7 @@ exports.RemoveLibraryContentType = /*#__PURE__*/function () {
817
820
  */
818
821
  exports.CreateContentObject = /*#__PURE__*/function () {
819
822
  var _ref21 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(_ref20) {
820
- var libraryId, objectId, _ref20$options, options, typeId, type, currentAccountAddress, canContribute, _yield$this$authClien3, contractAddress, path, createResponse;
823
+ var libraryId, objectId, _ref20$options, options, typeId, type, currentAccountAddress, canContribute, _yield$this$authClien3, contractAddress, path, rawCreateResponse, nodeUrl, createResponse;
821
824
  return _regeneratorRuntime.wrap(function _callee11$(_context11) {
822
825
  while (1) switch (_context11.prev = _context11.next) {
823
826
  case 0:
@@ -936,35 +939,39 @@ exports.CreateContentObject = /*#__PURE__*/function () {
936
939
  });
937
940
  case 55:
938
941
  path = UrlJoin("qid", objectId);
939
- _context11.t4 = this.utils;
940
- _context11.t5 = this.HttpClient;
941
- _context11.next = 60;
942
+ _context11.t4 = this.HttpClient;
943
+ _context11.next = 59;
942
944
  return this.authClient.AuthorizationHeader({
943
945
  libraryId: libraryId,
944
946
  objectId: objectId,
945
947
  update: true
946
948
  });
947
- case 60:
948
- _context11.t6 = _context11.sent;
949
- _context11.t7 = path;
950
- _context11.t8 = options;
951
- _context11.t9 = {
952
- headers: _context11.t6,
949
+ case 59:
950
+ _context11.t5 = _context11.sent;
951
+ _context11.t6 = path;
952
+ _context11.t7 = options;
953
+ _context11.t8 = {
954
+ headers: _context11.t5,
953
955
  method: "POST",
954
- path: _context11.t7,
955
- body: _context11.t8
956
+ path: _context11.t6,
957
+ body: _context11.t7
956
958
  };
957
- _context11.t10 = _context11.t5.Request.call(_context11.t5, _context11.t9);
958
- _context11.next = 67;
959
- return _context11.t4.ResponseToJson.call(_context11.t4, _context11.t10);
960
- case 67:
959
+ _context11.next = 65;
960
+ return _context11.t4.Request.call(_context11.t4, _context11.t8);
961
+ case 65:
962
+ rawCreateResponse = _context11.sent;
963
+ nodeUrl = new URL(rawCreateResponse.url).origin;
964
+ _context11.next = 69;
965
+ return this.utils.ResponseToJson(rawCreateResponse);
966
+ case 69:
961
967
  createResponse = _context11.sent;
962
968
  // Record the node used in creating this write token
963
- this.HttpClient.RecordWriteToken(createResponse.write_token);
969
+ this.HttpClient.RecordWriteToken(createResponse.write_token, nodeUrl);
964
970
  createResponse.writeToken = createResponse.write_token;
965
971
  createResponse.objectId = createResponse.id;
972
+ createResponse.nodeUrl = nodeUrl;
966
973
  return _context11.abrupt("return", createResponse);
967
- case 72:
974
+ case 75:
968
975
  case "end":
969
976
  return _context11.stop();
970
977
  }
@@ -1216,7 +1223,7 @@ exports.CreateNonOwnerCap = /*#__PURE__*/function () {
1216
1223
  */
1217
1224
  exports.EditContentObject = /*#__PURE__*/function () {
1218
1225
  var _ref28 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15(_ref27) {
1219
- var libraryId, objectId, _ref27$options, options, path, rawEditResponse, actualUrl, nodeUrl, editResponse;
1226
+ var libraryId, objectId, _ref27$options, options, path, rawEditResponse, nodeUrl, editResponse;
1220
1227
  return _regeneratorRuntime.wrap(function _callee15$(_context15) {
1221
1228
  while (1) switch (_context15.prev = _context15.next) {
1222
1229
  case 0:
@@ -1293,14 +1300,10 @@ exports.EditContentObject = /*#__PURE__*/function () {
1293
1300
  return _context15.t0.Request.call(_context15.t0, _context15.t4);
1294
1301
  case 33:
1295
1302
  rawEditResponse = _context15.sent;
1296
- actualUrl = new URL(rawEditResponse.url);
1297
- actualUrl.pathname = "";
1298
- actualUrl.search = "";
1299
- actualUrl.hash = "";
1300
- nodeUrl = actualUrl.href;
1301
- _context15.next = 41;
1303
+ nodeUrl = new URL(rawEditResponse.url).origin;
1304
+ _context15.next = 37;
1302
1305
  return this.utils.ResponseToJson(rawEditResponse);
1303
- case 41:
1306
+ case 37:
1304
1307
  editResponse = _context15.sent;
1305
1308
  // Record the node used in creating this write token
1306
1309
  this.HttpClient.RecordWriteToken(editResponse.write_token, nodeUrl);
@@ -1308,7 +1311,7 @@ exports.EditContentObject = /*#__PURE__*/function () {
1308
1311
  editResponse.objectId = editResponse.id;
1309
1312
  editResponse.nodeUrl = nodeUrl;
1310
1313
  return _context15.abrupt("return", editResponse);
1311
- case 47:
1314
+ case 43:
1312
1315
  case "end":
1313
1316
  return _context15.stop();
1314
1317
  }
@@ -14,7 +14,7 @@ var fs;
14
14
  if (Utils.Platform() === Utils.PLATFORM_NODE) {
15
15
  // Define Response in node
16
16
  // eslint-disable-next-line no-global-assign
17
- global.Response = require("node-fetch").Response;
17
+ globalThis.Response = require("node-fetch").Response;
18
18
  fs = require("fs");
19
19
  }
20
20
  var UrlJoin = require("url-join");
@@ -9,6 +9,7 @@ var _require = require("./Utils"),
9
9
  FormatNFTDetails = _require.FormatNFTDetails,
10
10
  FormatNFTMetadata = _require.FormatNFTMetadata,
11
11
  FormatNFT = _require.FormatNFT;
12
+ var MergeWith = require("lodash/mergeWith");
12
13
 
13
14
  /**
14
15
  * Methods
@@ -899,7 +900,7 @@ exports.NFTContractStats = /*#__PURE__*/function () {
899
900
  */
900
901
  exports.NFT = /*#__PURE__*/function () {
901
902
  var _ref35 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee16(_ref34) {
902
- var tokenId, contractAddress, nft;
903
+ var tokenId, contractAddress, nft, assetMetadata, localizedMetadata;
903
904
  return _regeneratorRuntime.wrap(function _callee16$(_context16) {
904
905
  while (1) switch (_context16.prev = _context16.next) {
905
906
  case 0:
@@ -913,35 +914,55 @@ exports.NFT = /*#__PURE__*/function () {
913
914
  case 4:
914
915
  _context16.t1 = _context16.sent;
915
916
  nft = (0, _context16.t0)(_context16.t1);
916
- _context16.t2 = _objectSpread;
917
- _context16.t3 = _objectSpread;
918
- _context16.t4 = {};
919
- _context16.next = 11;
917
+ _context16.next = 8;
920
918
  return this.client.ContentObjectMetadata({
921
919
  versionHash: nft.details.VersionHash,
922
920
  metadataSubtree: "public/asset_metadata/nft",
923
921
  produceLinkUrls: true
924
922
  });
923
+ case 8:
924
+ _context16.t2 = _context16.sent;
925
+ if (_context16.t2) {
926
+ _context16.next = 11;
927
+ break;
928
+ }
929
+ _context16.t2 = {};
925
930
  case 11:
926
- _context16.t5 = _context16.sent;
927
- if (_context16.t5) {
928
- _context16.next = 14;
931
+ assetMetadata = _context16.t2;
932
+ nft.metadata = MergeWith({}, assetMetadata, nft.metadata, function (a, b) {
933
+ return b === null || b === "" ? a : undefined;
934
+ });
935
+ if (!this.localization) {
936
+ _context16.next = 21;
929
937
  break;
930
938
  }
931
- _context16.t5 = {};
932
- case 14:
933
- _context16.t6 = _context16.t5;
934
- _context16.t7 = (0, _context16.t3)(_context16.t4, _context16.t6);
935
- _context16.t8 = nft.metadata || {};
936
- nft.metadata = (0, _context16.t2)(_context16.t7, _context16.t8);
937
- _context16.next = 20;
939
+ _context16.next = 16;
940
+ return this.client.ContentObjectMetadata({
941
+ versionHash: nft.details.VersionHash,
942
+ metadataSubtree: UrlJoin("public", "asset_metadata", "localizations", this.localization, "nft"),
943
+ produceLinkUrls: true
944
+ });
945
+ case 16:
946
+ _context16.t3 = _context16.sent;
947
+ if (_context16.t3) {
948
+ _context16.next = 19;
949
+ break;
950
+ }
951
+ _context16.t3 = {};
952
+ case 19:
953
+ localizedMetadata = _context16.t3;
954
+ nft.metadata = MergeWith({}, nft.metadata, localizedMetadata, function (a, b) {
955
+ return b === null || b === "" ? a : undefined;
956
+ });
957
+ case 21:
958
+ _context16.next = 23;
938
959
  return this.TenantConfiguration({
939
960
  contractAddress: contractAddress
940
961
  });
941
- case 20:
962
+ case 23:
942
963
  nft.config = _context16.sent;
943
964
  return _context16.abrupt("return", FormatNFTMetadata(this, nft));
944
- case 22:
965
+ case 25:
945
966
  case "end":
946
967
  return _context16.stop();
947
968
  }
@@ -61,10 +61,10 @@ var FormatNFTDetails = function FormatNFTDetails(entry) {
61
61
  return account.type === "eth" && account.preferred;
62
62
  }),
63
63
  SolUSDCAccepted: !!paymentAccounts.find(function (account) {
64
- return account.type === "eth";
64
+ return account.type === "sol";
65
65
  }),
66
66
  SolUSDCOnly: !!paymentAccounts.find(function (account) {
67
- return account.type === "eth" && account.preferred;
67
+ return account.type === "sol" && account.preferred;
68
68
  }),
69
69
  TenantId: entry.tenant || entry.tenant_id,
70
70
  ContractAddr: info.contract_addr,
@@ -41,6 +41,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
41
41
  client = _ref.client,
42
42
  network = _ref.network,
43
43
  mode = _ref.mode,
44
+ localization = _ref.localization,
44
45
  marketplaceInfo = _ref.marketplaceInfo,
45
46
  previewMarketplaceHash = _ref.previewMarketplaceHash,
46
47
  storeAuthToken = _ref.storeAuthToken;
@@ -48,6 +49,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
48
49
  this.appId = appId;
49
50
  this.client = client;
50
51
  this.loggedIn = false;
52
+ this.localization = localization;
51
53
  this.network = network;
52
54
  this.mode = mode;
53
55
  this.purchaseMode = Configuration[network][mode].purchaseMode;
@@ -1050,6 +1052,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
1050
1052
  return this.client.ContentObjectMetadata({
1051
1053
  versionHash: marketplaceHash,
1052
1054
  metadataSubtree: "public/asset_metadata/info",
1055
+ localizationSubtree: this.localization ? UrlJoin("public", "asset_metadata", "localizations", this.localization, "info") : "",
1053
1056
  linkDepthLimit: 1,
1054
1057
  resolveLinks: true,
1055
1058
  resolveIgnoreErrors: true,
@@ -1125,7 +1128,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
1125
1128
  }
1126
1129
 
1127
1130
  // Generate embed URLs for pack opening animations
1128
- ["purchase_animation", "purchase_animation__mobile", "reveal_animation", "reveal_animation_mobile"].forEach(function (key) {
1131
+ ["purchase_animation", "purchase_animation_mobile", "reveal_animation", "reveal_animation_mobile"].forEach(function (key) {
1129
1132
  try {
1130
1133
  if (marketplace.storefront[key]) {
1131
1134
  var embedUrl = new URL("https://embed.v3.contentfabric.io");
@@ -1534,11 +1537,11 @@ var ElvWalletClient = /*#__PURE__*/function () {
1534
1537
  key: "Initialize",
1535
1538
  value: function () {
1536
1539
  var _Initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee18(_ref18) {
1537
- var client, _ref18$appId, appId, _ref18$network, network, _ref18$mode, mode, marketplaceParams, previewMarketplaceId, _ref18$storeAuthToken, storeAuthToken, _ref19, tenantSlug, marketplaceSlug, marketplaceId, marketplaceHash, previewMarketplaceHash, walletClient, url, savedToken;
1540
+ var client, _ref18$appId, appId, _ref18$network, network, _ref18$mode, mode, localization, marketplaceParams, previewMarketplaceId, _ref18$storeAuthToken, storeAuthToken, _ref19, tenantSlug, marketplaceSlug, marketplaceId, marketplaceHash, previewMarketplaceHash, walletClient, url, savedToken;
1538
1541
  return _regeneratorRuntime.wrap(function _callee18$(_context18) {
1539
1542
  while (1) switch (_context18.prev = _context18.next) {
1540
1543
  case 0:
1541
- client = _ref18.client, _ref18$appId = _ref18.appId, appId = _ref18$appId === void 0 ? "general" : _ref18$appId, _ref18$network = _ref18.network, network = _ref18$network === void 0 ? "main" : _ref18$network, _ref18$mode = _ref18.mode, mode = _ref18$mode === void 0 ? "production" : _ref18$mode, marketplaceParams = _ref18.marketplaceParams, previewMarketplaceId = _ref18.previewMarketplaceId, _ref18$storeAuthToken = _ref18.storeAuthToken, storeAuthToken = _ref18$storeAuthToken === void 0 ? true : _ref18$storeAuthToken;
1544
+ client = _ref18.client, _ref18$appId = _ref18.appId, appId = _ref18$appId === void 0 ? "general" : _ref18$appId, _ref18$network = _ref18.network, network = _ref18$network === void 0 ? "main" : _ref18$network, _ref18$mode = _ref18.mode, mode = _ref18$mode === void 0 ? "production" : _ref18$mode, localization = _ref18.localization, marketplaceParams = _ref18.marketplaceParams, previewMarketplaceId = _ref18.previewMarketplaceId, _ref18$storeAuthToken = _ref18.storeAuthToken, storeAuthToken = _ref18$storeAuthToken === void 0 ? true : _ref18$storeAuthToken;
1542
1545
  _ref19 = marketplaceParams || {}, tenantSlug = _ref19.tenantSlug, marketplaceSlug = _ref19.marketplaceSlug, marketplaceId = _ref19.marketplaceId, marketplaceHash = _ref19.marketplaceHash;
1543
1546
  if (Configuration[network]) {
1544
1547
  _context18.next = 6;
@@ -1581,6 +1584,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
1581
1584
  client: client,
1582
1585
  network: network,
1583
1586
  mode: mode,
1587
+ localization: localization,
1584
1588
  marketplaceInfo: {
1585
1589
  tenantSlug: tenantSlug,
1586
1590
  marketplaceSlug: marketplaceSlug,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eluvio/elv-client-js",
3
- "version": "4.0.8",
3
+ "version": "4.0.10",
4
4
  "description": "Javascript client for the Eluvio Content Fabric",
5
5
  "main": "src/index.js",
6
6
  "author": "Kevin Talmadge",
@@ -874,6 +874,7 @@ exports.ContentObjectMetadata = async function({
874
874
  versionHash,
875
875
  writeToken,
876
876
  metadataSubtree="/",
877
+ localizationSubtree,
877
878
  queryParams={},
878
879
  select=[],
879
880
  remove=[],
@@ -940,17 +941,33 @@ exports.ContentObjectMetadata = async function({
940
941
  }
941
942
  }
942
943
 
943
- if(!produceLinkUrls) { return metadata; }
944
+ if(produceLinkUrls) {
945
+ metadata = await this.ProduceMetadataLinks({
946
+ libraryId,
947
+ objectId,
948
+ versionHash,
949
+ path: metadataSubtree,
950
+ metadata,
951
+ authorizationToken,
952
+ noAuth
953
+ });
954
+ }
944
955
 
945
- return await this.ProduceMetadataLinks({
946
- libraryId,
947
- objectId,
948
- versionHash,
949
- path: metadataSubtree,
950
- metadata,
951
- authorizationToken,
952
- noAuth
953
- });
956
+ if(!localizationSubtree) { return metadata; }
957
+
958
+ try {
959
+ const localizedMetadata = await this.ContentObjectMetadata({
960
+ ...arguments[0],
961
+ metadataSubtree: localizationSubtree,
962
+ localizationSubtree: undefined
963
+ });
964
+
965
+ return MergeWith({}, metadata, localizedMetadata, (a, b) => b === null || b === "" ? a : undefined);
966
+ } catch(error) {
967
+ this.Log(error, true);
968
+
969
+ return metadata;
970
+ }
954
971
  };
955
972
 
956
973