@eluvio/elv-client-js 4.0.7 → 4.0.9

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 (45) hide show
  1. package/dist/ElvClient-min.js +10 -11
  2. package/dist/ElvClient-node-min.js +10 -11
  3. package/dist/ElvFrameClient-min.js +10 -11
  4. package/dist/ElvPermissionsClient-min.js +9 -10
  5. package/dist/ElvWalletClient-min.js +10 -11
  6. package/dist/ElvWalletClient-node-min.js +9 -10
  7. package/dist/src/AuthorizationClient.js +2069 -1548
  8. package/dist/src/ContentObjectVerification.js +185 -134
  9. package/dist/src/Crypto.js +323 -226
  10. package/dist/src/ElvClient.js +1118 -824
  11. package/dist/src/ElvWallet.js +106 -64
  12. package/dist/src/EthClient.js +974 -719
  13. package/dist/src/FrameClient.js +318 -222
  14. package/dist/src/HttpClient.js +154 -112
  15. package/dist/src/Id.js +6 -1
  16. package/dist/src/LogMessage.js +8 -4
  17. package/dist/src/PermissionsClient.js +1271 -973
  18. package/dist/src/RemoteSigner.js +232 -161
  19. package/dist/src/UserProfileClient.js +1038 -781
  20. package/dist/src/Utils.js +302 -160
  21. package/dist/src/Validation.js +17 -2
  22. package/dist/src/client/ABRPublishing.js +942 -772
  23. package/dist/src/client/AccessGroups.js +1095 -849
  24. package/dist/src/client/ContentAccess.js +4198 -3272
  25. package/dist/src/client/ContentManagement.js +2284 -1812
  26. package/dist/src/client/Contracts.js +614 -468
  27. package/dist/src/client/Files.js +1831 -1491
  28. package/dist/src/client/NFT.js +116 -94
  29. package/dist/src/client/NTP.js +425 -326
  30. package/dist/src/index.js +5 -2
  31. package/dist/src/walletClient/ClientMethods.js +1766 -1350
  32. package/dist/src/walletClient/Configuration.js +2 -4
  33. package/dist/src/walletClient/Notifications.js +127 -98
  34. package/dist/src/walletClient/Profile.js +246 -184
  35. package/dist/src/walletClient/Utils.js +124 -78
  36. package/dist/src/walletClient/index.js +1498 -1169
  37. package/package.json +1 -1
  38. package/src/Crypto.js +2 -2
  39. package/src/ElvClient.js +2 -2
  40. package/src/Utils.js +1 -1
  41. package/src/client/ContentAccess.js +27 -10
  42. package/src/client/Files.js +1 -1
  43. package/src/walletClient/ClientMethods.js +18 -10
  44. package/src/walletClient/Utils.js +2 -2
  45. package/src/walletClient/index.js +7 -2
@@ -1,53 +1,74 @@
1
1
  var _slicedToArray = require("@babel/runtime/helpers/slicedToArray");
2
+
2
3
  var _defineProperty = require("@babel/runtime/helpers/defineProperty");
4
+
3
5
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
6
+
4
7
  var _typeof = require("@babel/runtime/helpers/typeof");
8
+
5
9
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
10
+
6
11
  var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
12
+
7
13
  var _createClass = require("@babel/runtime/helpers/createClass");
14
+
8
15
  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; }
16
+
9
17
  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; }
18
+
10
19
  var _require = require("../ElvClient"),
11
- ElvClient = _require.ElvClient;
20
+ ElvClient = _require.ElvClient;
21
+
12
22
  var Configuration = require("./Configuration");
23
+
13
24
  var _require2 = require("./Utils"),
14
- LinkTargetHash = _require2.LinkTargetHash,
15
- FormatNFT = _require2.FormatNFT,
16
- ActionPopup = _require2.ActionPopup;
25
+ LinkTargetHash = _require2.LinkTargetHash,
26
+ FormatNFT = _require2.FormatNFT,
27
+ ActionPopup = _require2.ActionPopup;
28
+
17
29
  var HTTPClient = require("../HttpClient");
30
+
18
31
  var UrlJoin = require("url-join");
32
+
19
33
  var Utils = require("../Utils");
34
+
20
35
  var Ethers = require("ethers");
36
+
21
37
  var inBrowser = typeof window !== "undefined";
22
38
  var embedded = inBrowser && window.top !== window.self;
23
39
  var localStorageAvailable = false;
40
+
24
41
  try {
25
42
  typeof localStorage !== "undefined" && localStorage.getItem("test");
26
- localStorageAvailable = true;
27
- // eslint-disable-next-line no-empty
43
+ localStorageAvailable = true; // eslint-disable-next-line no-empty
28
44
  } catch (error) {}
29
-
30
45
  /**
31
46
  * Use the <a href="#.Initialize">Initialize</a> method to initialize a new client.
32
47
  *
33
48
  *
34
49
  * See the Modules section on the sidebar for all client methods unrelated to login and authorization
35
50
  */
51
+
52
+
36
53
  var ElvWalletClient = /*#__PURE__*/function () {
37
54
  "use strict";
38
55
 
39
56
  function ElvWalletClient(_ref) {
40
57
  var appId = _ref.appId,
41
- client = _ref.client,
42
- network = _ref.network,
43
- mode = _ref.mode,
44
- marketplaceInfo = _ref.marketplaceInfo,
45
- previewMarketplaceHash = _ref.previewMarketplaceHash,
46
- storeAuthToken = _ref.storeAuthToken;
58
+ client = _ref.client,
59
+ network = _ref.network,
60
+ mode = _ref.mode,
61
+ localization = _ref.localization,
62
+ marketplaceInfo = _ref.marketplaceInfo,
63
+ previewMarketplaceHash = _ref.previewMarketplaceHash,
64
+ storeAuthToken = _ref.storeAuthToken;
65
+
47
66
  _classCallCheck(this, ElvWalletClient);
67
+
48
68
  this.appId = appId;
49
69
  this.client = client;
50
70
  this.loggedIn = false;
71
+ this.localization = localization;
51
72
  this.network = network;
52
73
  this.mode = mode;
53
74
  this.purchaseMode = Configuration[network][mode].purchaseMode;
@@ -65,18 +86,19 @@ var ElvWalletClient = /*#__PURE__*/function () {
65
86
  this.stateStoreUrls = Configuration[network].stateStoreUrls;
66
87
  this.stateStoreClient = new HTTPClient({
67
88
  uris: this.stateStoreUrls
68
- });
89
+ }); // Caches
69
90
 
70
- // Caches
71
91
  this.cachedMarketplaces = {};
72
92
  this.cachedCSS = {};
73
93
  this.utils = client.utils;
74
94
  }
95
+
75
96
  _createClass(ElvWalletClient, [{
76
97
  key: "Log",
77
98
  value: function Log(message) {
78
99
  var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
79
100
  var errorObject = arguments.length > 2 ? arguments[2] : undefined;
101
+
80
102
  if (error) {
81
103
  // eslint-disable-next-line no-console
82
104
  console.error("Eluvio Wallet Client:", message);
@@ -84,12 +106,12 @@ var ElvWalletClient = /*#__PURE__*/function () {
84
106
  // eslint-disable-next-line no-console
85
107
  console.log("Eluvio Wallet Client:", message);
86
108
  }
109
+
87
110
  if (errorObject) {
88
111
  // eslint-disable-next-line no-console
89
112
  console.error(errorObject);
90
113
  }
91
114
  }
92
-
93
115
  /**
94
116
  * Initialize the wallet client.
95
117
  *
@@ -107,9 +129,11 @@ var ElvWalletClient = /*#__PURE__*/function () {
107
129
  *
108
130
  * @returns {Promise<ElvWalletClient>}
109
131
  */
132
+
110
133
  }, {
111
134
  key: "CanSign",
112
- value: /* Login and authorization */
135
+ value:
136
+ /* Login and authorization */
113
137
 
114
138
  /**
115
139
  * Check if this client can sign without opening a popup.
@@ -123,9 +147,9 @@ var ElvWalletClient = /*#__PURE__*/function () {
123
147
  if (!this.loggedIn) {
124
148
  return false;
125
149
  }
150
+
126
151
  return !!this.__authorization.clusterToken || inBrowser && !!(this.UserInfo().walletName.toLowerCase() === "metamask" && window.ethereum && window.ethereum.isMetaMask && window.ethereum.chainId);
127
152
  }
128
-
129
153
  /**
130
154
  * <b><i>Requires login</i></b>
131
155
  *
@@ -143,136 +167,169 @@ var ElvWalletClient = /*#__PURE__*/function () {
143
167
  *
144
168
  * @returns {Promise<string>} - The signature of the message
145
169
  */
170
+
146
171
  }, {
147
172
  key: "PersonalSign",
148
173
  value: function () {
149
174
  var _PersonalSign = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref2) {
150
175
  var message, parameters, url;
151
176
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
152
- while (1) switch (_context3.prev = _context3.next) {
153
- case 0:
154
- message = _ref2.message;
155
- if (this.loggedIn) {
156
- _context3.next = 3;
157
- break;
158
- }
159
- throw Error("ElvWalletClient: Unable to perform signature - Not logged in");
160
- case 3:
161
- if (!this.CanSign()) {
162
- _context3.next = 19;
163
- break;
164
- }
165
- if (!this.__authorization.clusterToken) {
166
- _context3.next = 12;
167
- break;
168
- }
169
- // Custodial wallet sign
170
-
171
- message = _typeof(message) === "object" ? JSON.stringify(message) : message;
172
- message = Ethers.utils.keccak256(Buffer.from("\x19Ethereum Signed Message:\n".concat(message.length).concat(message), "utf-8"));
173
- _context3.next = 9;
174
- return this.client.authClient.Sign(message);
175
- case 9:
176
- return _context3.abrupt("return", _context3.sent);
177
- case 12:
178
- if (!(this.UserInfo().walletName.toLowerCase() === "metamask")) {
179
- _context3.next = 16;
180
- break;
181
- }
182
- return _context3.abrupt("return", this.SignMetamask({
183
- message: message,
184
- address: this.UserAddress()
185
- }));
186
- case 16:
187
- throw Error("ElvWalletClient: Unable to sign");
188
- case 17:
189
- _context3.next = 21;
190
- break;
191
- case 19:
192
- if (inBrowser) {
177
+ while (1) {
178
+ switch (_context3.prev = _context3.next) {
179
+ case 0:
180
+ message = _ref2.message;
181
+
182
+ if (this.loggedIn) {
183
+ _context3.next = 3;
184
+ break;
185
+ }
186
+
187
+ throw Error("ElvWalletClient: Unable to perform signature - Not logged in");
188
+
189
+ case 3:
190
+ if (!this.CanSign()) {
191
+ _context3.next = 19;
192
+ break;
193
+ }
194
+
195
+ if (!this.__authorization.clusterToken) {
196
+ _context3.next = 12;
197
+ break;
198
+ }
199
+
200
+ // Custodial wallet sign
201
+ message = _typeof(message) === "object" ? JSON.stringify(message) : message;
202
+ message = Ethers.utils.keccak256(Buffer.from("\x19Ethereum Signed Message:\n".concat(message.length).concat(message), "utf-8"));
203
+ _context3.next = 9;
204
+ return this.client.authClient.Sign(message);
205
+
206
+ case 9:
207
+ return _context3.abrupt("return", _context3.sent);
208
+
209
+ case 12:
210
+ if (!(this.UserInfo().walletName.toLowerCase() === "metamask")) {
211
+ _context3.next = 16;
212
+ break;
213
+ }
214
+
215
+ return _context3.abrupt("return", this.SignMetamask({
216
+ message: message,
217
+ address: this.UserAddress()
218
+ }));
219
+
220
+ case 16:
221
+ throw Error("ElvWalletClient: Unable to sign");
222
+
223
+ case 17:
193
224
  _context3.next = 21;
194
225
  break;
195
- }
196
- throw Error("ElvWalletClient: Unable to sign");
197
- case 21:
198
- parameters = {
199
- action: "personal-sign",
200
- message: message,
201
- logIn: true
202
- };
203
- url = new URL(this.appUrl);
204
- url.hash = UrlJoin("/action", "sign", Utils.B58(JSON.stringify(parameters)));
205
- url.searchParams.set("origin", window.location.origin);
206
- if (!(!embedded && window.location.origin === url.origin)) {
207
- _context3.next = 27;
208
- break;
209
- }
210
- throw Error("ElvWalletClient: Unable to sign");
211
- case 27:
212
- _context3.next = 29;
213
- return new Promise( /*#__PURE__*/function () {
214
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(resolve, reject) {
215
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
216
- while (1) switch (_context2.prev = _context2.next) {
217
- case 0:
218
- _context2.next = 2;
219
- return ActionPopup({
220
- mode: "tab",
221
- url: url.toString(),
222
- onCancel: function onCancel() {
223
- return reject("User cancelled sign");
224
- },
225
- onMessage: function () {
226
- var _onMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event, Close) {
227
- return _regeneratorRuntime.wrap(function _callee$(_context) {
228
- while (1) switch (_context.prev = _context.next) {
229
- case 0:
230
- if (!(!event || !event.data || event.data.type !== "FlowResponse")) {
231
- _context.next = 2;
232
- break;
233
- }
234
- return _context.abrupt("return");
235
- case 2:
236
- try {
237
- resolve(event.data.response);
238
- } catch (error) {
239
- reject(error);
240
- } finally {
241
- Close();
226
+
227
+ case 19:
228
+ if (inBrowser) {
229
+ _context3.next = 21;
230
+ break;
231
+ }
232
+
233
+ throw Error("ElvWalletClient: Unable to sign");
234
+
235
+ case 21:
236
+ parameters = {
237
+ action: "personal-sign",
238
+ message: message,
239
+ logIn: true
240
+ };
241
+ url = new URL(this.appUrl);
242
+ url.hash = UrlJoin("/action", "sign", Utils.B58(JSON.stringify(parameters)));
243
+ url.searchParams.set("origin", window.location.origin);
244
+
245
+ if (!(!embedded && window.location.origin === url.origin)) {
246
+ _context3.next = 27;
247
+ break;
248
+ }
249
+
250
+ throw Error("ElvWalletClient: Unable to sign");
251
+
252
+ case 27:
253
+ _context3.next = 29;
254
+ return new Promise( /*#__PURE__*/function () {
255
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(resolve, reject) {
256
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
257
+ while (1) {
258
+ switch (_context2.prev = _context2.next) {
259
+ case 0:
260
+ _context2.next = 2;
261
+ return ActionPopup({
262
+ mode: "tab",
263
+ url: url.toString(),
264
+ onCancel: function onCancel() {
265
+ return reject("User cancelled sign");
266
+ },
267
+ onMessage: function () {
268
+ var _onMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event, Close) {
269
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
270
+ while (1) {
271
+ switch (_context.prev = _context.next) {
272
+ case 0:
273
+ if (!(!event || !event.data || event.data.type !== "FlowResponse")) {
274
+ _context.next = 2;
275
+ break;
276
+ }
277
+
278
+ return _context.abrupt("return");
279
+
280
+ case 2:
281
+ try {
282
+ resolve(event.data.response);
283
+ } catch (error) {
284
+ reject(error);
285
+ } finally {
286
+ Close();
287
+ }
288
+
289
+ case 3:
290
+ case "end":
291
+ return _context.stop();
292
+ }
242
293
  }
243
- case 3:
244
- case "end":
245
- return _context.stop();
294
+ }, _callee);
295
+ }));
296
+
297
+ function onMessage(_x4, _x5) {
298
+ return _onMessage.apply(this, arguments);
246
299
  }
247
- }, _callee);
248
- }));
249
- function onMessage(_x4, _x5) {
250
- return _onMessage.apply(this, arguments);
251
- }
252
- return onMessage;
253
- }()
254
- });
255
- case 2:
256
- case "end":
257
- return _context2.stop();
258
- }
259
- }, _callee2);
260
- }));
261
- return function (_x2, _x3) {
262
- return _ref3.apply(this, arguments);
263
- };
264
- }());
265
- case 29:
266
- return _context3.abrupt("return", _context3.sent);
267
- case 30:
268
- case "end":
269
- return _context3.stop();
300
+
301
+ return onMessage;
302
+ }()
303
+ });
304
+
305
+ case 2:
306
+ case "end":
307
+ return _context2.stop();
308
+ }
309
+ }
310
+ }, _callee2);
311
+ }));
312
+
313
+ return function (_x2, _x3) {
314
+ return _ref3.apply(this, arguments);
315
+ };
316
+ }());
317
+
318
+ case 29:
319
+ return _context3.abrupt("return", _context3.sent);
320
+
321
+ case 30:
322
+ case "end":
323
+ return _context3.stop();
324
+ }
270
325
  }
271
326
  }, _callee3, this);
272
327
  }));
328
+
273
329
  function PersonalSign(_x) {
274
330
  return _PersonalSign.apply(this, arguments);
275
331
  }
332
+
276
333
  return PersonalSign;
277
334
  }()
278
335
  /**
@@ -296,143 +353,181 @@ var ElvWalletClient = /*#__PURE__*/function () {
296
353
  *
297
354
  * @throws - If using the popup flow and the user closes the popup, this method will throw an error.
298
355
  */
356
+
299
357
  }, {
300
358
  key: "LogIn",
301
359
  value: function () {
302
360
  var _LogIn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref4) {
303
361
  var _this = this;
362
+
304
363
  var _ref4$method, method, provider, _ref4$mode, mode, callbackUrl, marketplaceParams, _ref4$clearLogin, clearLogin, callback, loginUrl;
364
+
305
365
  return _regeneratorRuntime.wrap(function _callee6$(_context6) {
306
- while (1) switch (_context6.prev = _context6.next) {
307
- case 0:
308
- _ref4$method = _ref4.method, method = _ref4$method === void 0 ? "redirect" : _ref4$method, provider = _ref4.provider, _ref4$mode = _ref4.mode, mode = _ref4$mode === void 0 ? "login" : _ref4$mode, callbackUrl = _ref4.callbackUrl, marketplaceParams = _ref4.marketplaceParams, _ref4$clearLogin = _ref4.clearLogin, clearLogin = _ref4$clearLogin === void 0 ? false : _ref4$clearLogin, callback = _ref4.callback;
309
- loginUrl = new URL(this.appUrl);
310
- loginUrl.hash = "/login";
311
- loginUrl.searchParams.set("origin", window.location.origin);
312
- loginUrl.searchParams.set("action", "login");
313
- if (provider) {
314
- loginUrl.searchParams.set("provider", provider);
315
- }
316
- if (mode) {
317
- loginUrl.searchParams.set("mode", mode);
318
- }
319
- if (!marketplaceParams) {
320
- _context6.next = 15;
366
+ while (1) {
367
+ switch (_context6.prev = _context6.next) {
368
+ case 0:
369
+ _ref4$method = _ref4.method, method = _ref4$method === void 0 ? "redirect" : _ref4$method, provider = _ref4.provider, _ref4$mode = _ref4.mode, mode = _ref4$mode === void 0 ? "login" : _ref4$mode, callbackUrl = _ref4.callbackUrl, marketplaceParams = _ref4.marketplaceParams, _ref4$clearLogin = _ref4.clearLogin, clearLogin = _ref4$clearLogin === void 0 ? false : _ref4$clearLogin, callback = _ref4.callback;
370
+ loginUrl = new URL(this.appUrl);
371
+ loginUrl.hash = "/login";
372
+ loginUrl.searchParams.set("origin", window.location.origin);
373
+ loginUrl.searchParams.set("action", "login");
374
+
375
+ if (provider) {
376
+ loginUrl.searchParams.set("provider", provider);
377
+ }
378
+
379
+ if (mode) {
380
+ loginUrl.searchParams.set("mode", mode);
381
+ }
382
+
383
+ if (!marketplaceParams) {
384
+ _context6.next = 15;
385
+ break;
386
+ }
387
+
388
+ _context6.t0 = loginUrl.searchParams;
389
+ _context6.next = 11;
390
+ return this.MarketplaceInfo({
391
+ marketplaceParams: marketplaceParams
392
+ });
393
+
394
+ case 11:
395
+ _context6.t1 = _context6.sent.marketplaceHash;
396
+
397
+ _context6.t0.set.call(_context6.t0, "mid", _context6.t1);
398
+
399
+ _context6.next = 16;
321
400
  break;
322
- }
323
- _context6.t0 = loginUrl.searchParams;
324
- _context6.next = 11;
325
- return this.MarketplaceInfo({
326
- marketplaceParams: marketplaceParams
327
- });
328
- case 11:
329
- _context6.t1 = _context6.sent.marketplaceHash;
330
- _context6.t0.set.call(_context6.t0, "mid", _context6.t1);
331
- _context6.next = 16;
332
- break;
333
- case 15:
334
- if ((this.selectedMarketplaceInfo || {}).marketplaceHash) {
335
- loginUrl.searchParams.set("mid", this.selectedMarketplaceInfo.marketplaceHash);
336
- }
337
- case 16:
338
- if (clearLogin) {
339
- loginUrl.searchParams.set("clear", "");
340
- }
341
- if (!(method === "redirect")) {
342
- _context6.next = 24;
401
+
402
+ case 15:
403
+ if ((this.selectedMarketplaceInfo || {}).marketplaceHash) {
404
+ loginUrl.searchParams.set("mid", this.selectedMarketplaceInfo.marketplaceHash);
405
+ }
406
+
407
+ case 16:
408
+ if (clearLogin) {
409
+ loginUrl.searchParams.set("clear", "");
410
+ }
411
+
412
+ if (!(method === "redirect")) {
413
+ _context6.next = 24;
414
+ break;
415
+ }
416
+
417
+ loginUrl.searchParams.set("response", "redirect");
418
+ loginUrl.searchParams.set("source", "origin");
419
+ loginUrl.searchParams.set("redirect", callbackUrl);
420
+ window.location = loginUrl;
421
+ _context6.next = 28;
343
422
  break;
344
- }
345
- loginUrl.searchParams.set("response", "redirect");
346
- loginUrl.searchParams.set("source", "origin");
347
- loginUrl.searchParams.set("redirect", callbackUrl);
348
- window.location = loginUrl;
349
- _context6.next = 28;
350
- break;
351
- case 24:
352
- loginUrl.searchParams.set("response", "message");
353
- loginUrl.searchParams.set("source", "parent");
354
- _context6.next = 28;
355
- return new Promise( /*#__PURE__*/function () {
356
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(resolve, reject) {
357
- return _regeneratorRuntime.wrap(function _callee5$(_context5) {
358
- while (1) switch (_context5.prev = _context5.next) {
359
- case 0:
360
- _context5.next = 2;
361
- return ActionPopup({
362
- mode: "tab",
363
- url: loginUrl.toString(),
364
- onCancel: function onCancel() {
365
- return reject("User cancelled login");
366
- },
367
- onMessage: function () {
368
- var _onMessage2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(event, Close) {
369
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
370
- while (1) switch (_context4.prev = _context4.next) {
371
- case 0:
372
- if (!(!event || !event.data || event.data.type !== "LoginResponse")) {
373
- _context4.next = 2;
374
- break;
375
- }
376
- return _context4.abrupt("return");
377
- case 2:
378
- _context4.prev = 2;
379
- if (!callback) {
380
- _context4.next = 8;
381
- break;
423
+
424
+ case 24:
425
+ loginUrl.searchParams.set("response", "message");
426
+ loginUrl.searchParams.set("source", "parent");
427
+ _context6.next = 28;
428
+ return new Promise( /*#__PURE__*/function () {
429
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(resolve, reject) {
430
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
431
+ while (1) {
432
+ switch (_context5.prev = _context5.next) {
433
+ case 0:
434
+ _context5.next = 2;
435
+ return ActionPopup({
436
+ mode: "tab",
437
+ url: loginUrl.toString(),
438
+ onCancel: function onCancel() {
439
+ return reject("User cancelled login");
440
+ },
441
+ onMessage: function () {
442
+ var _onMessage2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(event, Close) {
443
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
444
+ while (1) {
445
+ switch (_context4.prev = _context4.next) {
446
+ case 0:
447
+ if (!(!event || !event.data || event.data.type !== "LoginResponse")) {
448
+ _context4.next = 2;
449
+ break;
450
+ }
451
+
452
+ return _context4.abrupt("return");
453
+
454
+ case 2:
455
+ _context4.prev = 2;
456
+
457
+ if (!callback) {
458
+ _context4.next = 8;
459
+ break;
460
+ }
461
+
462
+ _context4.next = 6;
463
+ return callback(event.data.params);
464
+
465
+ case 6:
466
+ _context4.next = 10;
467
+ break;
468
+
469
+ case 8:
470
+ _context4.next = 10;
471
+ return _this.Authenticate({
472
+ token: event.data.params.clientSigningToken || event.data.params.clientAuthToken
473
+ });
474
+
475
+ case 10:
476
+ resolve();
477
+ _context4.next = 16;
478
+ break;
479
+
480
+ case 13:
481
+ _context4.prev = 13;
482
+ _context4.t0 = _context4["catch"](2);
483
+ reject(_context4.t0);
484
+
485
+ case 16:
486
+ _context4.prev = 16;
487
+ Close();
488
+ return _context4.finish(16);
489
+
490
+ case 19:
491
+ case "end":
492
+ return _context4.stop();
493
+ }
382
494
  }
383
- _context4.next = 6;
384
- return callback(event.data.params);
385
- case 6:
386
- _context4.next = 10;
387
- break;
388
- case 8:
389
- _context4.next = 10;
390
- return _this.Authenticate({
391
- token: event.data.params.clientSigningToken || event.data.params.clientAuthToken
392
- });
393
- case 10:
394
- resolve();
395
- _context4.next = 16;
396
- break;
397
- case 13:
398
- _context4.prev = 13;
399
- _context4.t0 = _context4["catch"](2);
400
- reject(_context4.t0);
401
- case 16:
402
- _context4.prev = 16;
403
- Close();
404
- return _context4.finish(16);
405
- case 19:
406
- case "end":
407
- return _context4.stop();
495
+ }, _callee4, null, [[2, 13, 16, 19]]);
496
+ }));
497
+
498
+ function onMessage(_x9, _x10) {
499
+ return _onMessage2.apply(this, arguments);
408
500
  }
409
- }, _callee4, null, [[2, 13, 16, 19]]);
410
- }));
411
- function onMessage(_x9, _x10) {
412
- return _onMessage2.apply(this, arguments);
413
- }
414
- return onMessage;
415
- }()
416
- });
417
- case 2:
418
- case "end":
419
- return _context5.stop();
420
- }
421
- }, _callee5);
422
- }));
423
- return function (_x7, _x8) {
424
- return _ref5.apply(this, arguments);
425
- };
426
- }());
427
- case 28:
428
- case "end":
429
- return _context6.stop();
501
+
502
+ return onMessage;
503
+ }()
504
+ });
505
+
506
+ case 2:
507
+ case "end":
508
+ return _context5.stop();
509
+ }
510
+ }
511
+ }, _callee5);
512
+ }));
513
+
514
+ return function (_x7, _x8) {
515
+ return _ref5.apply(this, arguments);
516
+ };
517
+ }());
518
+
519
+ case 28:
520
+ case "end":
521
+ return _context6.stop();
522
+ }
430
523
  }
431
524
  }, _callee6, this);
432
525
  }));
526
+
433
527
  function LogIn(_x6) {
434
528
  return _LogIn.apply(this, arguments);
435
529
  }
530
+
436
531
  return LogIn;
437
532
  }()
438
533
  /**
@@ -440,22 +535,20 @@ var ElvWalletClient = /*#__PURE__*/function () {
440
535
  *
441
536
  * @methodGroup Login
442
537
  */
538
+
443
539
  }, {
444
540
  key: "LogOut",
445
541
  value: function LogOut() {
446
542
  this.__authorization = {};
447
543
  this.loggedIn = false;
448
- this.cachedMarketplaces = {};
544
+ this.cachedMarketplaces = {}; // Delete saved auth token
449
545
 
450
- // Delete saved auth token
451
546
  if (localStorageAvailable) {
452
547
  try {
453
- localStorage.removeItem("__elv-token-".concat(this.network));
454
- // eslint-disable-next-line no-empty
548
+ localStorage.removeItem("__elv-token-".concat(this.network)); // eslint-disable-next-line no-empty
455
549
  } catch (error) {}
456
550
  }
457
551
  }
458
-
459
552
  /**
460
553
  * Authenticate with an ElvWalletClient authorization token
461
554
  *
@@ -463,53 +556,65 @@ var ElvWalletClient = /*#__PURE__*/function () {
463
556
  * @namedParams
464
557
  * @param {string} token - A previously generated ElvWalletClient authorization token;
465
558
  */
559
+
466
560
  }, {
467
561
  key: "Authenticate",
468
562
  value: function () {
469
563
  var _Authenticate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(_ref6) {
470
564
  var token, decodedToken;
471
565
  return _regeneratorRuntime.wrap(function _callee7$(_context7) {
472
- while (1) switch (_context7.prev = _context7.next) {
473
- case 0:
474
- token = _ref6.token;
475
- _context7.prev = 1;
476
- decodedToken = JSON.parse(this.utils.FromB58ToStr(token)) || {};
477
- _context7.next = 8;
478
- break;
479
- case 5:
480
- _context7.prev = 5;
481
- _context7.t0 = _context7["catch"](1);
482
- throw new Error("Invalid authorization token " + token);
483
- case 8:
484
- if (!(!decodedToken.expiresAt || Date.now() > decodedToken.expiresAt)) {
485
- _context7.next = 10;
566
+ while (1) {
567
+ switch (_context7.prev = _context7.next) {
568
+ case 0:
569
+ token = _ref6.token;
570
+ _context7.prev = 1;
571
+ decodedToken = JSON.parse(this.utils.FromB58ToStr(token)) || {};
572
+ _context7.next = 8;
486
573
  break;
487
- }
488
- throw Error("ElvWalletClient: Provided authorization token has expired");
489
- case 10:
490
- if (!decodedToken.clusterToken) {
574
+
575
+ case 5:
576
+ _context7.prev = 5;
577
+ _context7.t0 = _context7["catch"](1);
578
+ throw new Error("Invalid authorization token " + token);
579
+
580
+ case 8:
581
+ if (!(!decodedToken.expiresAt || Date.now() > decodedToken.expiresAt)) {
582
+ _context7.next = 10;
583
+ break;
584
+ }
585
+
586
+ throw Error("ElvWalletClient: Provided authorization token has expired");
587
+
588
+ case 10:
589
+ if (!decodedToken.clusterToken) {
590
+ _context7.next = 13;
591
+ break;
592
+ }
593
+
491
594
  _context7.next = 13;
492
- break;
493
- }
494
- _context7.next = 13;
495
- return this.client.SetRemoteSigner({
496
- authToken: decodedToken.clusterToken,
497
- signerURIs: decodedToken.signerURIs
498
- });
499
- case 13:
500
- this.client.SetStaticToken({
501
- token: decodedToken.fabricToken
502
- });
503
- return _context7.abrupt("return", this.SetAuthorization(_objectSpread({}, decodedToken)));
504
- case 15:
505
- case "end":
506
- return _context7.stop();
595
+ return this.client.SetRemoteSigner({
596
+ authToken: decodedToken.clusterToken,
597
+ signerURIs: decodedToken.signerURIs
598
+ });
599
+
600
+ case 13:
601
+ this.client.SetStaticToken({
602
+ token: decodedToken.fabricToken
603
+ });
604
+ return _context7.abrupt("return", this.SetAuthorization(_objectSpread({}, decodedToken)));
605
+
606
+ case 15:
607
+ case "end":
608
+ return _context7.stop();
609
+ }
507
610
  }
508
611
  }, _callee7, this, [[1, 5]]);
509
612
  }));
613
+
510
614
  function Authenticate(_x11) {
511
615
  return _Authenticate.apply(this, arguments);
512
616
  }
617
+
513
618
  return Authenticate;
514
619
  }()
515
620
  /**
@@ -531,94 +636,111 @@ var ElvWalletClient = /*#__PURE__*/function () {
531
636
  * - signingToken - Identical to `authToken`, but also includes the ability to perform arbitrary signatures with the custodial wallet. This token should be protected and should not be
532
637
  * shared with third parties.
533
638
  */
639
+
534
640
  }, {
535
641
  key: "AuthenticateOAuth",
536
642
  value: function () {
537
643
  var _AuthenticateOAuth = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(_ref7) {
538
644
  var idToken, tenantId, email, signerURIs, _ref7$shareEmail, shareEmail, tokenDuration, expiresAt, fabricToken, address, decodedToken;
645
+
539
646
  return _regeneratorRuntime.wrap(function _callee8$(_context8) {
540
- while (1) switch (_context8.prev = _context8.next) {
541
- case 0:
542
- idToken = _ref7.idToken, tenantId = _ref7.tenantId, email = _ref7.email, signerURIs = _ref7.signerURIs, _ref7$shareEmail = _ref7.shareEmail, shareEmail = _ref7$shareEmail === void 0 ? false : _ref7$shareEmail;
543
- tokenDuration = 24;
544
- if (!(!tenantId && this.selectedMarketplaceInfo)) {
545
- _context8.next = 6;
546
- break;
547
- }
548
- _context8.next = 5;
549
- return this.AvailableMarketplaces();
550
- case 5:
551
- tenantId = this.selectedMarketplaceInfo.tenantId;
552
- case 6:
553
- _context8.next = 8;
554
- return this.client.SetRemoteSigner({
555
- idToken: idToken,
556
- tenantId: tenantId,
557
- signerURIs: signerURIs,
558
- extraData: {
559
- share_email: shareEmail
560
- },
561
- unsignedPublicAuth: true
562
- });
563
- case 8:
564
- expiresAt = Date.now() + tokenDuration * 60 * 60 * 1000;
565
- _context8.next = 11;
566
- return this.client.CreateFabricToken({
567
- duration: tokenDuration * 60 * 60 * 1000
568
- });
569
- case 11:
570
- fabricToken = _context8.sent;
571
- address = this.client.utils.FormatAddress(this.client.CurrentAccountAddress());
572
- if (email) {
573
- _context8.next = 22;
574
- break;
575
- }
576
- _context8.prev = 14;
577
- decodedToken = JSON.parse(this.utils.FromB64URL(idToken.split(".")[1]));
578
- email = decodedToken.email;
579
- _context8.next = 22;
580
- break;
581
- case 19:
582
- _context8.prev = 19;
583
- _context8.t0 = _context8["catch"](14);
584
- throw Error("Failed to decode ID token");
585
- case 22:
586
- this.client.SetStaticToken({
587
- token: fabricToken
588
- });
589
- return _context8.abrupt("return", {
590
- authToken: this.SetAuthorization({
591
- fabricToken: fabricToken,
592
- tenantId: tenantId,
593
- address: address,
594
- email: email,
595
- expiresAt: expiresAt,
596
- signerURIs: signerURIs,
597
- walletType: "Custodial",
598
- walletName: "Eluvio",
599
- register: true
600
- }),
601
- signingToken: this.SetAuthorization({
602
- clusterToken: this.client.signer.authToken,
603
- fabricToken: fabricToken,
647
+ while (1) {
648
+ switch (_context8.prev = _context8.next) {
649
+ case 0:
650
+ idToken = _ref7.idToken, tenantId = _ref7.tenantId, email = _ref7.email, signerURIs = _ref7.signerURIs, _ref7$shareEmail = _ref7.shareEmail, shareEmail = _ref7$shareEmail === void 0 ? false : _ref7$shareEmail;
651
+ tokenDuration = 24;
652
+
653
+ if (!(!tenantId && this.selectedMarketplaceInfo)) {
654
+ _context8.next = 6;
655
+ break;
656
+ }
657
+
658
+ _context8.next = 5;
659
+ return this.AvailableMarketplaces();
660
+
661
+ case 5:
662
+ tenantId = this.selectedMarketplaceInfo.tenantId;
663
+
664
+ case 6:
665
+ _context8.next = 8;
666
+ return this.client.SetRemoteSigner({
667
+ idToken: idToken,
604
668
  tenantId: tenantId,
605
- address: address,
606
- email: email,
607
- expiresAt: expiresAt,
608
669
  signerURIs: signerURIs,
609
- walletType: "Custodial",
610
- walletName: "Eluvio"
611
- })
612
- });
613
- case 24:
614
- case "end":
615
- return _context8.stop();
670
+ extraData: {
671
+ share_email: shareEmail
672
+ },
673
+ unsignedPublicAuth: true
674
+ });
675
+
676
+ case 8:
677
+ expiresAt = Date.now() + tokenDuration * 60 * 60 * 1000;
678
+ _context8.next = 11;
679
+ return this.client.CreateFabricToken({
680
+ duration: tokenDuration * 60 * 60 * 1000
681
+ });
682
+
683
+ case 11:
684
+ fabricToken = _context8.sent;
685
+ address = this.client.utils.FormatAddress(this.client.CurrentAccountAddress());
686
+
687
+ if (email) {
688
+ _context8.next = 22;
689
+ break;
690
+ }
691
+
692
+ _context8.prev = 14;
693
+ decodedToken = JSON.parse(this.utils.FromB64URL(idToken.split(".")[1]));
694
+ email = decodedToken.email;
695
+ _context8.next = 22;
696
+ break;
697
+
698
+ case 19:
699
+ _context8.prev = 19;
700
+ _context8.t0 = _context8["catch"](14);
701
+ throw Error("Failed to decode ID token");
702
+
703
+ case 22:
704
+ this.client.SetStaticToken({
705
+ token: fabricToken
706
+ });
707
+ return _context8.abrupt("return", {
708
+ authToken: this.SetAuthorization({
709
+ fabricToken: fabricToken,
710
+ tenantId: tenantId,
711
+ address: address,
712
+ email: email,
713
+ expiresAt: expiresAt,
714
+ signerURIs: signerURIs,
715
+ walletType: "Custodial",
716
+ walletName: "Eluvio",
717
+ register: true
718
+ }),
719
+ signingToken: this.SetAuthorization({
720
+ clusterToken: this.client.signer.authToken,
721
+ fabricToken: fabricToken,
722
+ tenantId: tenantId,
723
+ address: address,
724
+ email: email,
725
+ expiresAt: expiresAt,
726
+ signerURIs: signerURIs,
727
+ walletType: "Custodial",
728
+ walletName: "Eluvio"
729
+ })
730
+ });
731
+
732
+ case 24:
733
+ case "end":
734
+ return _context8.stop();
735
+ }
616
736
  }
617
737
  }, _callee8, this, [[14, 19]]);
618
738
  }));
739
+
619
740
  function AuthenticateOAuth(_x12) {
620
741
  return _AuthenticateOAuth.apply(this, arguments);
621
742
  }
743
+
622
744
  return AuthenticateOAuth;
623
745
  }()
624
746
  /**
@@ -634,68 +756,85 @@ var ElvWalletClient = /*#__PURE__*/function () {
634
756
  * @returns {Promise<string>} - Returns an authorization token that can be used to initialize the client using <a href="#Authenticate">Authenticate</a>.
635
757
  * Save this token to avoid having to reauthenticate. This token expires after 24 hours.
636
758
  */
759
+
637
760
  }, {
638
761
  key: "AuthenticateExternalWallet",
639
762
  value: function () {
640
763
  var _AuthenticateExternalWallet = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(_ref8) {
641
764
  var _this2 = this;
765
+
642
766
  var address, _ref8$tokenDuration, tokenDuration, _ref8$walletName, walletName, Sign, expiresAt, fabricToken;
767
+
643
768
  return _regeneratorRuntime.wrap(function _callee10$(_context10) {
644
- while (1) switch (_context10.prev = _context10.next) {
645
- case 0:
646
- address = _ref8.address, _ref8$tokenDuration = _ref8.tokenDuration, tokenDuration = _ref8$tokenDuration === void 0 ? 24 : _ref8$tokenDuration, _ref8$walletName = _ref8.walletName, walletName = _ref8$walletName === void 0 ? "Metamask" : _ref8$walletName, Sign = _ref8.Sign;
647
- if (!address) {
648
- address = window.ethereum.selectedAddress;
649
- }
650
- address = this.utils.FormatAddress(address);
651
- if (!Sign) {
652
- Sign = /*#__PURE__*/function () {
653
- var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(message) {
654
- return _regeneratorRuntime.wrap(function _callee9$(_context9) {
655
- while (1) switch (_context9.prev = _context9.next) {
656
- case 0:
657
- return _context9.abrupt("return", _this2.SignMetamask({
658
- message: message,
659
- address: address
660
- }));
661
- case 1:
662
- case "end":
663
- return _context9.stop();
664
- }
665
- }, _callee9);
666
- }));
667
- return function Sign(_x14) {
668
- return _ref9.apply(this, arguments);
669
- };
670
- }();
671
- }
672
- expiresAt = Date.now() + tokenDuration * 60 * 60 * 1000;
673
- _context10.next = 7;
674
- return this.client.CreateFabricToken({
675
- address: address,
676
- duration: tokenDuration * 60 * 60 * 1000,
677
- Sign: Sign,
678
- addEthereumPrefix: false
679
- });
680
- case 7:
681
- fabricToken = _context10.sent;
682
- return _context10.abrupt("return", this.SetAuthorization({
683
- fabricToken: fabricToken,
684
- address: address,
685
- expiresAt: expiresAt,
686
- walletType: "External",
687
- walletName: walletName,
688
- register: true
689
- }));
690
- case 9:
691
- case "end":
692
- return _context10.stop();
769
+ while (1) {
770
+ switch (_context10.prev = _context10.next) {
771
+ case 0:
772
+ address = _ref8.address, _ref8$tokenDuration = _ref8.tokenDuration, tokenDuration = _ref8$tokenDuration === void 0 ? 24 : _ref8$tokenDuration, _ref8$walletName = _ref8.walletName, walletName = _ref8$walletName === void 0 ? "Metamask" : _ref8$walletName, Sign = _ref8.Sign;
773
+
774
+ if (!address) {
775
+ address = window.ethereum.selectedAddress;
776
+ }
777
+
778
+ address = this.utils.FormatAddress(address);
779
+
780
+ if (!Sign) {
781
+ Sign = /*#__PURE__*/function () {
782
+ var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(message) {
783
+ return _regeneratorRuntime.wrap(function _callee9$(_context9) {
784
+ while (1) {
785
+ switch (_context9.prev = _context9.next) {
786
+ case 0:
787
+ return _context9.abrupt("return", _this2.SignMetamask({
788
+ message: message,
789
+ address: address
790
+ }));
791
+
792
+ case 1:
793
+ case "end":
794
+ return _context9.stop();
795
+ }
796
+ }
797
+ }, _callee9);
798
+ }));
799
+
800
+ return function Sign(_x14) {
801
+ return _ref9.apply(this, arguments);
802
+ };
803
+ }();
804
+ }
805
+
806
+ expiresAt = Date.now() + tokenDuration * 60 * 60 * 1000;
807
+ _context10.next = 7;
808
+ return this.client.CreateFabricToken({
809
+ address: address,
810
+ duration: tokenDuration * 60 * 60 * 1000,
811
+ Sign: Sign,
812
+ addEthereumPrefix: false
813
+ });
814
+
815
+ case 7:
816
+ fabricToken = _context10.sent;
817
+ return _context10.abrupt("return", this.SetAuthorization({
818
+ fabricToken: fabricToken,
819
+ address: address,
820
+ expiresAt: expiresAt,
821
+ walletType: "External",
822
+ walletName: walletName,
823
+ register: true
824
+ }));
825
+
826
+ case 9:
827
+ case "end":
828
+ return _context10.stop();
829
+ }
693
830
  }
694
831
  }, _callee10, this);
695
832
  }));
833
+
696
834
  function AuthenticateExternalWallet(_x13) {
697
835
  return _AuthenticateExternalWallet.apply(this, arguments);
698
836
  }
837
+
699
838
  return AuthenticateExternalWallet;
700
839
  }()
701
840
  /**
@@ -705,12 +844,14 @@ var ElvWalletClient = /*#__PURE__*/function () {
705
844
  *
706
845
  * @returns {string} - The client auth token
707
846
  */
847
+
708
848
  }, {
709
849
  key: "ClientAuthToken",
710
850
  value: function ClientAuthToken() {
711
851
  if (!this.loggedIn) {
712
852
  return "";
713
853
  }
854
+
714
855
  return this.utils.B58(JSON.stringify(this.__authorization));
715
856
  }
716
857
  }, {
@@ -719,23 +860,25 @@ var ElvWalletClient = /*#__PURE__*/function () {
719
860
  if (!this.loggedIn) {
720
861
  return this.publicStaticToken;
721
862
  }
863
+
722
864
  return this.__authorization.fabricToken;
723
865
  }
724
866
  }, {
725
867
  key: "SetAuthorization",
726
868
  value: function SetAuthorization(_ref10) {
727
869
  var _this3 = this;
870
+
728
871
  var clusterToken = _ref10.clusterToken,
729
- fabricToken = _ref10.fabricToken,
730
- tenantId = _ref10.tenantId,
731
- address = _ref10.address,
732
- email = _ref10.email,
733
- expiresAt = _ref10.expiresAt,
734
- signerURIs = _ref10.signerURIs,
735
- walletType = _ref10.walletType,
736
- walletName = _ref10.walletName,
737
- _ref10$register = _ref10.register,
738
- register = _ref10$register === void 0 ? false : _ref10$register;
872
+ fabricToken = _ref10.fabricToken,
873
+ tenantId = _ref10.tenantId,
874
+ address = _ref10.address,
875
+ email = _ref10.email,
876
+ expiresAt = _ref10.expiresAt,
877
+ signerURIs = _ref10.signerURIs,
878
+ walletType = _ref10.walletType,
879
+ walletName = _ref10.walletName,
880
+ _ref10$register = _ref10.register,
881
+ register = _ref10$register === void 0 ? false : _ref10$register;
739
882
  address = this.client.utils.FormatAddress(address);
740
883
  this.__authorization = {
741
884
  fabricToken: fabricToken,
@@ -746,21 +889,25 @@ var ElvWalletClient = /*#__PURE__*/function () {
746
889
  walletType: walletType,
747
890
  walletName: walletName
748
891
  };
892
+
749
893
  if (clusterToken) {
750
894
  this.__authorization.clusterToken = clusterToken;
895
+
751
896
  if (signerURIs) {
752
897
  this.__authorization.signerURIs = signerURIs;
753
898
  }
754
899
  }
900
+
755
901
  this.loggedIn = true;
756
902
  this.cachedMarketplaces = {};
757
903
  var token = this.ClientAuthToken();
904
+
758
905
  if (this.storeAuthToken && localStorageAvailable) {
759
906
  try {
760
- localStorage.setItem("__elv-token-".concat(this.network), token);
761
- // eslint-disable-next-line no-empty
907
+ localStorage.setItem("__elv-token-".concat(this.network), token); // eslint-disable-next-line no-empty
762
908
  } catch (error) {}
763
909
  }
910
+
764
911
  if (register) {
765
912
  this.client.authClient.MakeAuthServiceRequest({
766
913
  path: "/as/wlt/register",
@@ -772,6 +919,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
772
919
  _this3.Log("Failed to register account: ", true, error);
773
920
  });
774
921
  }
922
+
775
923
  return token;
776
924
  }
777
925
  }, {
@@ -780,244 +928,289 @@ var ElvWalletClient = /*#__PURE__*/function () {
780
928
  var _SignMetamask = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(_ref11) {
781
929
  var message, address, accounts;
782
930
  return _regeneratorRuntime.wrap(function _callee11$(_context11) {
783
- while (1) switch (_context11.prev = _context11.next) {
784
- case 0:
785
- message = _ref11.message, address = _ref11.address;
786
- if (!(!inBrowser || !window.ethereum)) {
787
- _context11.next = 3;
788
- break;
789
- }
790
- throw Error("ElvWalletClient: Unable to initialize - Metamask not available");
791
- case 3:
792
- address = address || this.UserAddress();
793
- _context11.next = 6;
794
- return window.ethereum.request({
795
- method: "eth_requestAccounts"
796
- });
797
- case 6:
798
- accounts = _context11.sent;
799
- if (!(address && !Utils.EqualAddress(accounts[0], address))) {
800
- _context11.next = 9;
801
- break;
802
- }
803
- throw Error("ElvWalletClient: Incorrect MetaMask account selected. Expected ".concat(address, ", got ").concat(accounts[0]));
804
- case 9:
805
- _context11.next = 11;
806
- return window.ethereum.request({
807
- method: "personal_sign",
808
- params: [message, address, ""]
809
- });
810
- case 11:
811
- return _context11.abrupt("return", _context11.sent);
812
- case 12:
813
- case "end":
814
- return _context11.stop();
931
+ while (1) {
932
+ switch (_context11.prev = _context11.next) {
933
+ case 0:
934
+ message = _ref11.message, address = _ref11.address;
935
+
936
+ if (!(!inBrowser || !window.ethereum)) {
937
+ _context11.next = 3;
938
+ break;
939
+ }
940
+
941
+ throw Error("ElvWalletClient: Unable to initialize - Metamask not available");
942
+
943
+ case 3:
944
+ address = address || this.UserAddress();
945
+ _context11.next = 6;
946
+ return window.ethereum.request({
947
+ method: "eth_requestAccounts"
948
+ });
949
+
950
+ case 6:
951
+ accounts = _context11.sent;
952
+
953
+ if (!(address && !Utils.EqualAddress(accounts[0], address))) {
954
+ _context11.next = 9;
955
+ break;
956
+ }
957
+
958
+ throw Error("ElvWalletClient: Incorrect MetaMask account selected. Expected ".concat(address, ", got ").concat(accounts[0]));
959
+
960
+ case 9:
961
+ _context11.next = 11;
962
+ return window.ethereum.request({
963
+ method: "personal_sign",
964
+ params: [message, address, ""]
965
+ });
966
+
967
+ case 11:
968
+ return _context11.abrupt("return", _context11.sent);
969
+
970
+ case 12:
971
+ case "end":
972
+ return _context11.stop();
973
+ }
815
974
  }
816
975
  }, _callee11, this);
817
976
  }));
977
+
818
978
  function SignMetamask(_x15) {
819
979
  return _SignMetamask.apply(this, arguments);
820
980
  }
981
+
821
982
  return SignMetamask;
822
983
  }() // Internal loading methods
984
+
823
985
  }, {
824
986
  key: "LoadAvailableMarketplaces",
825
987
  value: function () {
826
988
  var _LoadAvailableMarketplaces = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12() {
827
989
  var _this4 = this;
990
+
828
991
  var forceReload,
829
- mainSiteHash,
830
- metadata,
831
- previewTenantSlug,
832
- previewMarketplaceSlug,
833
- previewMarketplaceMetadata,
834
- availableMarketplaces,
835
- availableMarketplacesById,
836
- _args12 = arguments;
992
+ mainSiteHash,
993
+ metadata,
994
+ previewTenantSlug,
995
+ previewMarketplaceSlug,
996
+ previewMarketplaceMetadata,
997
+ availableMarketplaces,
998
+ availableMarketplacesById,
999
+ _args12 = arguments;
837
1000
  return _regeneratorRuntime.wrap(function _callee12$(_context12) {
838
- while (1) switch (_context12.prev = _context12.next) {
839
- case 0:
840
- forceReload = _args12.length > 0 && _args12[0] !== undefined ? _args12[0] : false;
841
- if (!(!forceReload && Object.keys(this.availableMarketplaces) > 0)) {
842
- _context12.next = 3;
843
- break;
844
- }
845
- return _context12.abrupt("return");
846
- case 3:
847
- _context12.next = 5;
848
- return this.client.LatestVersionHash({
849
- objectId: this.mainSiteId
850
- });
851
- case 5:
852
- mainSiteHash = _context12.sent;
853
- _context12.next = 8;
854
- return this.client.ContentObjectMetadata({
855
- versionHash: mainSiteHash,
856
- metadataSubtree: "public/asset_metadata/tenants",
857
- resolveLinks: true,
858
- linkDepthLimit: 2,
859
- resolveIncludeSource: true,
860
- resolveIgnoreErrors: true,
861
- produceLinkUrls: true,
862
- authorizationToken: this.publicStaticToken,
863
- noAuth: true,
864
- select: ["*/.", "*/marketplaces/*/.", "*/marketplaces/*/info/tenant_id", "*/marketplaces/*/info/tenant_name", "*/marketplaces/*/info/branding", "*/marketplaces/*/info/storefront/background", "*/marketplaces/*/info/storefront/background_mobile"],
865
- remove: ["*/marketplaces/*/info/branding/custom_css"]
866
- });
867
- case 8:
868
- metadata = _context12.sent;
869
- if (!this.previewMarketplaceId) {
870
- _context12.next = 24;
871
- break;
872
- }
873
- previewTenantSlug = "PREVIEW";
874
- Object.keys(metadata || {}).forEach(function (tenantSlug) {
875
- return Object.keys(metadata[tenantSlug].marketplaces || {}).forEach(function (marketplaceSlug) {
876
- var versionHash = metadata[tenantSlug].marketplaces[marketplaceSlug]["."].source;
877
- var objectId = _this4.utils.DecodeVersionHash(versionHash).objectId;
878
- if (objectId === _this4.previewMarketplaceId) {
879
- // Marketplace exists in site meta
880
- previewTenantSlug = tenantSlug;
881
- previewMarketplaceSlug = marketplaceSlug;
882
-
883
- // Deployed marketplace is same as preview marketplace
884
- if (versionHash === _this4.previewMarketplaceHash) {
885
- previewMarketplaceMetadata = metadata[tenantSlug].marketplaces[marketplaceSlug];
886
- }
887
- }
1001
+ while (1) {
1002
+ switch (_context12.prev = _context12.next) {
1003
+ case 0:
1004
+ forceReload = _args12.length > 0 && _args12[0] !== undefined ? _args12[0] : false;
1005
+
1006
+ if (!(!forceReload && Object.keys(this.availableMarketplaces) > 0)) {
1007
+ _context12.next = 3;
1008
+ break;
1009
+ }
1010
+
1011
+ return _context12.abrupt("return");
1012
+
1013
+ case 3:
1014
+ _context12.next = 5;
1015
+ return this.client.LatestVersionHash({
1016
+ objectId: this.mainSiteId
888
1017
  });
889
- });
890
1018
 
891
- // Marketplace not present in branch, or preview version is different - Load metadata directly
892
- if (previewMarketplaceMetadata) {
893
- _context12.next = 17;
894
- break;
895
- }
896
- _context12.next = 15;
897
- return this.client.ContentObjectMetadata({
898
- versionHash: this.previewMarketplaceHash,
899
- metadataSubtree: "public/asset_metadata",
900
- produceLinkUrls: true,
901
- authorizationToken: this.publicStaticToken,
902
- noAuth: true,
903
- select: ["slug", "info/tenant_id", "info/tenant_name", "info/branding"],
904
- remove: ["info/branding/custom_css"]
905
- });
906
- case 15:
907
- previewMarketplaceMetadata = _context12.sent;
908
- if (!previewMarketplaceSlug) {
909
- previewMarketplaceSlug = previewMarketplaceMetadata.slug;
910
- }
911
- case 17:
912
- previewMarketplaceMetadata["."] = {
913
- source: this.previewMarketplaceHash
914
- };
915
- previewMarketplaceMetadata.info["."] = {
916
- source: this.previewMarketplaceHash
917
- };
918
- previewMarketplaceMetadata.info.branding.preview = true;
919
- previewMarketplaceMetadata.info.branding.show = true;
920
- metadata[previewTenantSlug] = metadata[previewTenantSlug] || {};
921
- metadata[previewTenantSlug].marketplaces = metadata[previewTenantSlug].marketplaces || {};
922
- metadata[previewTenantSlug].marketplaces[previewMarketplaceSlug] = previewMarketplaceMetadata;
923
- case 24:
924
- availableMarketplaces = _objectSpread({}, this.availableMarketplaces || {});
925
- availableMarketplacesById = _objectSpread({}, this.availableMarketplacesById || {});
926
- Object.keys(metadata || {}).forEach(function (tenantSlug) {
927
- try {
928
- availableMarketplaces[tenantSlug] = metadata[tenantSlug]["."] ? {
929
- versionHash: metadata[tenantSlug]["."].source
930
- } : {};
931
- Object.keys(metadata[tenantSlug].marketplaces || {}).forEach(function (marketplaceSlug) {
932
- try {
933
- var versionHash = metadata[tenantSlug].marketplaces[marketplaceSlug]["."].source;
934
- var objectId = _this4.utils.DecodeVersionHash(versionHash).objectId;
935
- availableMarketplaces[tenantSlug][marketplaceSlug] = _objectSpread(_objectSpread({}, metadata[tenantSlug].marketplaces[marketplaceSlug].info || {}), {}, {
936
- tenantName: metadata[tenantSlug].marketplaces[marketplaceSlug].info.tenant_name,
937
- tenantId: metadata[tenantSlug].marketplaces[marketplaceSlug].info.tenant_id,
938
- tenantSlug: tenantSlug,
939
- marketplaceSlug: marketplaceSlug,
940
- marketplaceId: objectId,
941
- marketplaceHash: versionHash,
942
- order: Configuration.__MARKETPLACE_ORDER.findIndex(function (slug) {
943
- return slug === marketplaceSlug;
944
- })
945
- });
946
- availableMarketplacesById[objectId] = availableMarketplaces[tenantSlug][marketplaceSlug];
947
- _this4.marketplaceHashes[objectId] = versionHash;
1019
+ case 5:
1020
+ mainSiteHash = _context12.sent;
1021
+ _context12.next = 8;
1022
+ return this.client.ContentObjectMetadata({
1023
+ versionHash: mainSiteHash,
1024
+ metadataSubtree: "public/asset_metadata/tenants",
1025
+ resolveLinks: true,
1026
+ linkDepthLimit: 2,
1027
+ resolveIncludeSource: true,
1028
+ resolveIgnoreErrors: true,
1029
+ produceLinkUrls: true,
1030
+ authorizationToken: this.publicStaticToken,
1031
+ noAuth: true,
1032
+ select: ["*/.", "*/marketplaces/*/.", "*/marketplaces/*/info/tenant_id", "*/marketplaces/*/info/tenant_name", "*/marketplaces/*/info/branding", "*/marketplaces/*/info/storefront/background", "*/marketplaces/*/info/storefront/background_mobile"],
1033
+ remove: ["*/marketplaces/*/info/branding/custom_css"]
1034
+ });
948
1035
 
949
- // Fill out selected marketplace info
950
- if (_this4.selectedMarketplaceInfo) {
951
- if (_this4.selectedMarketplaceInfo.tenantSlug === tenantSlug && _this4.selectedMarketplaceInfo.marketplaceSlug === marketplaceSlug || _this4.selectedMarketplaceInfo.marketplaceId === objectId) {
952
- _this4.selectedMarketplaceInfo = availableMarketplaces[tenantSlug][marketplaceSlug];
953
- }
1036
+ case 8:
1037
+ metadata = _context12.sent;
1038
+
1039
+ if (!this.previewMarketplaceId) {
1040
+ _context12.next = 24;
1041
+ break;
1042
+ }
1043
+
1044
+ previewTenantSlug = "PREVIEW";
1045
+ Object.keys(metadata || {}).forEach(function (tenantSlug) {
1046
+ return Object.keys(metadata[tenantSlug].marketplaces || {}).forEach(function (marketplaceSlug) {
1047
+ var versionHash = metadata[tenantSlug].marketplaces[marketplaceSlug]["."].source;
1048
+
1049
+ var objectId = _this4.utils.DecodeVersionHash(versionHash).objectId;
1050
+
1051
+ if (objectId === _this4.previewMarketplaceId) {
1052
+ // Marketplace exists in site meta
1053
+ previewTenantSlug = tenantSlug;
1054
+ previewMarketplaceSlug = marketplaceSlug; // Deployed marketplace is same as preview marketplace
1055
+
1056
+ if (versionHash === _this4.previewMarketplaceHash) {
1057
+ previewMarketplaceMetadata = metadata[tenantSlug].marketplaces[marketplaceSlug];
954
1058
  }
955
- } catch (error) {
956
- _this4.Log("Eluvio Wallet Client: Unable to load info for marketplace ".concat(tenantSlug, "/").concat(marketplaceSlug), true);
957
1059
  }
958
1060
  });
959
- } catch (error) {
960
- _this4.Log("Eluvio Wallet Client: Failed to load tenant info ".concat(tenantSlug), true, error);
1061
+ }); // Marketplace not present in branch, or preview version is different - Load metadata directly
1062
+
1063
+ if (previewMarketplaceMetadata) {
1064
+ _context12.next = 17;
1065
+ break;
961
1066
  }
962
- });
963
- this.availableMarketplaces = availableMarketplaces;
964
- this.availableMarketplacesById = availableMarketplacesById;
965
- case 29:
966
- case "end":
967
- return _context12.stop();
1067
+
1068
+ _context12.next = 15;
1069
+ return this.client.ContentObjectMetadata({
1070
+ versionHash: this.previewMarketplaceHash,
1071
+ metadataSubtree: "public/asset_metadata",
1072
+ produceLinkUrls: true,
1073
+ authorizationToken: this.publicStaticToken,
1074
+ noAuth: true,
1075
+ select: ["slug", "info/tenant_id", "info/tenant_name", "info/branding"],
1076
+ remove: ["info/branding/custom_css"]
1077
+ });
1078
+
1079
+ case 15:
1080
+ previewMarketplaceMetadata = _context12.sent;
1081
+
1082
+ if (!previewMarketplaceSlug) {
1083
+ previewMarketplaceSlug = previewMarketplaceMetadata.slug;
1084
+ }
1085
+
1086
+ case 17:
1087
+ previewMarketplaceMetadata["."] = {
1088
+ source: this.previewMarketplaceHash
1089
+ };
1090
+ previewMarketplaceMetadata.info["."] = {
1091
+ source: this.previewMarketplaceHash
1092
+ };
1093
+ previewMarketplaceMetadata.info.branding.preview = true;
1094
+ previewMarketplaceMetadata.info.branding.show = true;
1095
+ metadata[previewTenantSlug] = metadata[previewTenantSlug] || {};
1096
+ metadata[previewTenantSlug].marketplaces = metadata[previewTenantSlug].marketplaces || {};
1097
+ metadata[previewTenantSlug].marketplaces[previewMarketplaceSlug] = previewMarketplaceMetadata;
1098
+
1099
+ case 24:
1100
+ availableMarketplaces = _objectSpread({}, this.availableMarketplaces || {});
1101
+ availableMarketplacesById = _objectSpread({}, this.availableMarketplacesById || {});
1102
+ Object.keys(metadata || {}).forEach(function (tenantSlug) {
1103
+ try {
1104
+ availableMarketplaces[tenantSlug] = metadata[tenantSlug]["."] ? {
1105
+ versionHash: metadata[tenantSlug]["."].source
1106
+ } : {};
1107
+ Object.keys(metadata[tenantSlug].marketplaces || {}).forEach(function (marketplaceSlug) {
1108
+ try {
1109
+ var versionHash = metadata[tenantSlug].marketplaces[marketplaceSlug]["."].source;
1110
+
1111
+ var objectId = _this4.utils.DecodeVersionHash(versionHash).objectId;
1112
+
1113
+ availableMarketplaces[tenantSlug][marketplaceSlug] = _objectSpread(_objectSpread({}, metadata[tenantSlug].marketplaces[marketplaceSlug].info || {}), {}, {
1114
+ tenantName: metadata[tenantSlug].marketplaces[marketplaceSlug].info.tenant_name,
1115
+ tenantId: metadata[tenantSlug].marketplaces[marketplaceSlug].info.tenant_id,
1116
+ tenantSlug: tenantSlug,
1117
+ marketplaceSlug: marketplaceSlug,
1118
+ marketplaceId: objectId,
1119
+ marketplaceHash: versionHash,
1120
+ order: Configuration.__MARKETPLACE_ORDER.findIndex(function (slug) {
1121
+ return slug === marketplaceSlug;
1122
+ })
1123
+ });
1124
+ availableMarketplacesById[objectId] = availableMarketplaces[tenantSlug][marketplaceSlug];
1125
+ _this4.marketplaceHashes[objectId] = versionHash; // Fill out selected marketplace info
1126
+
1127
+ if (_this4.selectedMarketplaceInfo) {
1128
+ if (_this4.selectedMarketplaceInfo.tenantSlug === tenantSlug && _this4.selectedMarketplaceInfo.marketplaceSlug === marketplaceSlug || _this4.selectedMarketplaceInfo.marketplaceId === objectId) {
1129
+ _this4.selectedMarketplaceInfo = availableMarketplaces[tenantSlug][marketplaceSlug];
1130
+ }
1131
+ }
1132
+ } catch (error) {
1133
+ _this4.Log("Eluvio Wallet Client: Unable to load info for marketplace ".concat(tenantSlug, "/").concat(marketplaceSlug), true);
1134
+ }
1135
+ });
1136
+ } catch (error) {
1137
+ _this4.Log("Eluvio Wallet Client: Failed to load tenant info ".concat(tenantSlug), true, error);
1138
+ }
1139
+ });
1140
+ this.availableMarketplaces = availableMarketplaces;
1141
+ this.availableMarketplacesById = availableMarketplacesById;
1142
+
1143
+ case 29:
1144
+ case "end":
1145
+ return _context12.stop();
1146
+ }
968
1147
  }
969
1148
  }, _callee12, this);
970
1149
  }));
1150
+
971
1151
  function LoadAvailableMarketplaces() {
972
1152
  return _LoadAvailableMarketplaces.apply(this, arguments);
973
1153
  }
1154
+
974
1155
  return LoadAvailableMarketplaces;
975
1156
  }() // Get the hash of the currently linked marketplace
1157
+
976
1158
  }, {
977
1159
  key: "LatestMarketplaceHash",
978
1160
  value: function () {
979
1161
  var _LatestMarketplaceHash = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13(_ref12) {
980
1162
  var marketplaceParams, marketplaceInfo, mainSiteHash, marketplaceLink;
981
1163
  return _regeneratorRuntime.wrap(function _callee13$(_context13) {
982
- while (1) switch (_context13.prev = _context13.next) {
983
- case 0:
984
- marketplaceParams = _ref12.marketplaceParams;
985
- _context13.next = 3;
986
- return this.MarketplaceInfo({
987
- marketplaceParams: marketplaceParams
988
- });
989
- case 3:
990
- marketplaceInfo = _context13.sent;
991
- if (!(this.previewMarketplaceId && this.previewMarketplaceId === marketplaceInfo.marketplaceId)) {
992
- _context13.next = 6;
993
- break;
994
- }
995
- return _context13.abrupt("return", this.availableMarketplaces[marketplaceInfo.tenantSlug][marketplaceInfo.marketplaceSlug]["."].source);
996
- case 6:
997
- _context13.next = 8;
998
- return this.client.LatestVersionHash({
999
- objectId: this.mainSiteId
1000
- });
1001
- case 8:
1002
- mainSiteHash = _context13.sent;
1003
- _context13.next = 11;
1004
- return this.client.ContentObjectMetadata({
1005
- versionHash: mainSiteHash,
1006
- metadataSubtree: UrlJoin("/public", "asset_metadata", "tenants", marketplaceInfo.tenantSlug, "marketplaces", marketplaceInfo.marketplaceSlug),
1007
- resolveLinks: false
1008
- });
1009
- case 11:
1010
- marketplaceLink = _context13.sent;
1011
- return _context13.abrupt("return", LinkTargetHash(marketplaceLink));
1012
- case 13:
1013
- case "end":
1014
- return _context13.stop();
1164
+ while (1) {
1165
+ switch (_context13.prev = _context13.next) {
1166
+ case 0:
1167
+ marketplaceParams = _ref12.marketplaceParams;
1168
+ _context13.next = 3;
1169
+ return this.MarketplaceInfo({
1170
+ marketplaceParams: marketplaceParams
1171
+ });
1172
+
1173
+ case 3:
1174
+ marketplaceInfo = _context13.sent;
1175
+
1176
+ if (!(this.previewMarketplaceId && this.previewMarketplaceId === marketplaceInfo.marketplaceId)) {
1177
+ _context13.next = 6;
1178
+ break;
1179
+ }
1180
+
1181
+ return _context13.abrupt("return", this.availableMarketplaces[marketplaceInfo.tenantSlug][marketplaceInfo.marketplaceSlug]["."].source);
1182
+
1183
+ case 6:
1184
+ _context13.next = 8;
1185
+ return this.client.LatestVersionHash({
1186
+ objectId: this.mainSiteId
1187
+ });
1188
+
1189
+ case 8:
1190
+ mainSiteHash = _context13.sent;
1191
+ _context13.next = 11;
1192
+ return this.client.ContentObjectMetadata({
1193
+ versionHash: mainSiteHash,
1194
+ metadataSubtree: UrlJoin("/public", "asset_metadata", "tenants", marketplaceInfo.tenantSlug, "marketplaces", marketplaceInfo.marketplaceSlug),
1195
+ resolveLinks: false
1196
+ });
1197
+
1198
+ case 11:
1199
+ marketplaceLink = _context13.sent;
1200
+ return _context13.abrupt("return", LinkTargetHash(marketplaceLink));
1201
+
1202
+ case 13:
1203
+ case "end":
1204
+ return _context13.stop();
1205
+ }
1015
1206
  }
1016
1207
  }, _callee13, this);
1017
1208
  }));
1209
+
1018
1210
  function LatestMarketplaceHash(_x16) {
1019
1211
  return _LatestMarketplaceHash.apply(this, arguments);
1020
1212
  }
1213
+
1021
1214
  return LatestMarketplaceHash;
1022
1215
  }()
1023
1216
  }, {
@@ -1025,137 +1218,165 @@ var ElvWalletClient = /*#__PURE__*/function () {
1025
1218
  value: function () {
1026
1219
  var _LoadMarketplace = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15(marketplaceParams) {
1027
1220
  var _this5 = this;
1221
+
1028
1222
  var marketplaceInfo, marketplaceId, marketplaceHash, marketplace;
1029
1223
  return _regeneratorRuntime.wrap(function _callee15$(_context15) {
1030
- while (1) switch (_context15.prev = _context15.next) {
1031
- case 0:
1032
- marketplaceInfo = this.MarketplaceInfo({
1033
- marketplaceParams: marketplaceParams
1034
- });
1035
- marketplaceId = marketplaceInfo.marketplaceId;
1036
- _context15.next = 4;
1037
- return this.LatestMarketplaceHash({
1038
- marketplaceParams: marketplaceParams
1039
- });
1040
- case 4:
1041
- marketplaceHash = _context15.sent;
1042
- if (this.cachedMarketplaces[marketplaceId] && this.cachedMarketplaces[marketplaceId].versionHash !== marketplaceHash) {
1043
- delete this.cachedMarketplaces[marketplaceId];
1044
- }
1045
- if (this.cachedMarketplaces[marketplaceId]) {
1046
- _context15.next = 21;
1047
- break;
1048
- }
1049
- _context15.next = 9;
1050
- return this.client.ContentObjectMetadata({
1051
- versionHash: marketplaceHash,
1052
- metadataSubtree: "public/asset_metadata/info",
1053
- linkDepthLimit: 1,
1054
- resolveLinks: true,
1055
- resolveIgnoreErrors: true,
1056
- resolveIncludeSource: true,
1057
- produceLinkUrls: true,
1058
- authorizationToken: this.publicStaticToken
1059
- });
1060
- case 9:
1061
- marketplace = _context15.sent;
1062
- _context15.next = 12;
1063
- return Promise.all(marketplace.items.map( /*#__PURE__*/function () {
1064
- var _ref13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14(item, index) {
1065
- var authorizationToken;
1066
- return _regeneratorRuntime.wrap(function _callee14$(_context14) {
1067
- while (1) switch (_context14.prev = _context14.next) {
1068
- case 0:
1069
- if (!item.requires_permissions) {
1070
- _context14.next = 14;
1071
- break;
1072
- }
1073
- if (_this5.loggedIn) {
1074
- _context14.next = 5;
1075
- break;
1224
+ while (1) {
1225
+ switch (_context15.prev = _context15.next) {
1226
+ case 0:
1227
+ marketplaceInfo = this.MarketplaceInfo({
1228
+ marketplaceParams: marketplaceParams
1229
+ });
1230
+ marketplaceId = marketplaceInfo.marketplaceId;
1231
+ _context15.next = 4;
1232
+ return this.LatestMarketplaceHash({
1233
+ marketplaceParams: marketplaceParams
1234
+ });
1235
+
1236
+ case 4:
1237
+ marketplaceHash = _context15.sent;
1238
+
1239
+ if (this.cachedMarketplaces[marketplaceId] && this.cachedMarketplaces[marketplaceId].versionHash !== marketplaceHash) {
1240
+ delete this.cachedMarketplaces[marketplaceId];
1241
+ }
1242
+
1243
+ if (this.cachedMarketplaces[marketplaceId]) {
1244
+ _context15.next = 21;
1245
+ break;
1246
+ }
1247
+
1248
+ _context15.next = 9;
1249
+ return this.client.ContentObjectMetadata({
1250
+ versionHash: marketplaceHash,
1251
+ metadataSubtree: "public/asset_metadata/info",
1252
+ localizationSubtree: this.localization ? UrlJoin("public", "asset_metadata", "localizations", this.localization, "info") : "",
1253
+ linkDepthLimit: 1,
1254
+ resolveLinks: true,
1255
+ resolveIgnoreErrors: true,
1256
+ resolveIncludeSource: true,
1257
+ produceLinkUrls: true,
1258
+ authorizationToken: this.publicStaticToken
1259
+ });
1260
+
1261
+ case 9:
1262
+ marketplace = _context15.sent;
1263
+ _context15.next = 12;
1264
+ return Promise.all(marketplace.items.map( /*#__PURE__*/function () {
1265
+ var _ref13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14(item, index) {
1266
+ var authorizationToken;
1267
+ return _regeneratorRuntime.wrap(function _callee14$(_context14) {
1268
+ while (1) {
1269
+ switch (_context14.prev = _context14.next) {
1270
+ case 0:
1271
+ if (!item.requires_permissions) {
1272
+ _context14.next = 14;
1273
+ break;
1274
+ }
1275
+
1276
+ if (_this5.loggedIn) {
1277
+ _context14.next = 5;
1278
+ break;
1279
+ }
1280
+
1281
+ _context14.next = 4;
1282
+ return _this5.client.CreateFabricToken({});
1283
+
1284
+ case 4:
1285
+ authorizationToken = _context14.sent;
1286
+
1287
+ case 5:
1288
+ _context14.prev = 5;
1289
+ _context14.next = 8;
1290
+ return _this5.client.ContentObjectMetadata({
1291
+ versionHash: LinkTargetHash(item.nft_template),
1292
+ metadataSubtree: "permissioned",
1293
+ authorizationToken: authorizationToken
1294
+ });
1295
+
1296
+ case 8:
1297
+ item.authorized = true;
1298
+ _context14.next = 14;
1299
+ break;
1300
+
1301
+ case 11:
1302
+ _context14.prev = 11;
1303
+ _context14.t0 = _context14["catch"](5);
1304
+ item.authorized = false;
1305
+
1306
+ case 14:
1307
+ item.nftTemplateMetadata = (item.nft_template || {}).nft || {};
1308
+ item.nftTemplateHash = ((item.nft_template || {})["."] || {}).source;
1309
+ item.itemIndex = index;
1310
+ return _context14.abrupt("return", item);
1311
+
1312
+ case 18:
1313
+ case "end":
1314
+ return _context14.stop();
1076
1315
  }
1077
- _context14.next = 4;
1078
- return _this5.client.CreateFabricToken({});
1079
- case 4:
1080
- authorizationToken = _context14.sent;
1081
- case 5:
1082
- _context14.prev = 5;
1083
- _context14.next = 8;
1084
- return _this5.client.ContentObjectMetadata({
1085
- versionHash: LinkTargetHash(item.nft_template),
1086
- metadataSubtree: "permissioned",
1087
- authorizationToken: authorizationToken
1088
- });
1089
- case 8:
1090
- item.authorized = true;
1091
- _context14.next = 14;
1092
- break;
1093
- case 11:
1094
- _context14.prev = 11;
1095
- _context14.t0 = _context14["catch"](5);
1096
- item.authorized = false;
1097
- case 14:
1098
- item.nftTemplateMetadata = (item.nft_template || {}).nft || {};
1099
- item.nftTemplateHash = ((item.nft_template || {})["."] || {}).source;
1100
- item.itemIndex = index;
1101
- return _context14.abrupt("return", item);
1102
- case 18:
1103
- case "end":
1104
- return _context14.stop();
1105
- }
1106
- }, _callee14, null, [[5, 11]]);
1107
- }));
1108
- return function (_x18, _x19) {
1109
- return _ref13.apply(this, arguments);
1110
- };
1111
- }()));
1112
- case 12:
1113
- marketplace.items = _context15.sent;
1114
- marketplace.collections = (marketplace.collections || []).map(function (collection, collectionIndex) {
1115
- return _objectSpread(_objectSpread({}, collection), {}, {
1116
- collectionIndex: collectionIndex
1316
+ }
1317
+ }, _callee14, null, [[5, 11]]);
1318
+ }));
1319
+
1320
+ return function (_x18, _x19) {
1321
+ return _ref13.apply(this, arguments);
1322
+ };
1323
+ }()));
1324
+
1325
+ case 12:
1326
+ marketplace.items = _context15.sent;
1327
+ marketplace.collections = (marketplace.collections || []).map(function (collection, collectionIndex) {
1328
+ return _objectSpread(_objectSpread({}, collection), {}, {
1329
+ collectionIndex: collectionIndex
1330
+ });
1117
1331
  });
1118
- });
1119
- marketplace.retrievedAt = Date.now();
1120
- marketplace.marketplaceId = marketplaceId;
1121
- marketplace.versionHash = marketplaceHash;
1122
- marketplace.marketplaceHash = marketplaceHash;
1123
- if (this.previewMarketplaceId && marketplaceId === this.previewMarketplaceId) {
1124
- marketplace.branding.preview = true;
1125
- }
1126
-
1127
- // Generate embed URLs for pack opening animations
1128
- ["purchase_animation", "purchase_animation__mobile", "reveal_animation", "reveal_animation_mobile"].forEach(function (key) {
1129
- try {
1130
- if (marketplace.storefront[key]) {
1131
- var embedUrl = new URL("https://embed.v3.contentfabric.io");
1132
- var targetHash = LinkTargetHash(marketplace.storefront[key]);
1133
- embedUrl.searchParams.set("p", "");
1134
- embedUrl.searchParams.set("net", _this5.network === "main" ? "main" : "demo");
1135
- embedUrl.searchParams.set("ath", (_this5.__authorization || {}).authToken || _this5.publicStaticToken);
1136
- embedUrl.searchParams.set("vid", targetHash);
1137
- embedUrl.searchParams.set("ap", "");
1138
- if (!key.startsWith("reveal")) {
1139
- embedUrl.searchParams.set("m", "");
1140
- embedUrl.searchParams.set("lp", "");
1141
- }
1142
- marketplace.storefront["".concat(key, "_embed_url")] = embedUrl.toString();
1143
- }
1144
- // eslint-disable-next-line no-empty
1145
- } catch (error) {}
1146
- });
1147
- this.cachedMarketplaces[marketplaceId] = marketplace;
1148
- case 21:
1149
- return _context15.abrupt("return", this.cachedMarketplaces[marketplaceId]);
1150
- case 22:
1151
- case "end":
1152
- return _context15.stop();
1332
+ marketplace.retrievedAt = Date.now();
1333
+ marketplace.marketplaceId = marketplaceId;
1334
+ marketplace.versionHash = marketplaceHash;
1335
+ marketplace.marketplaceHash = marketplaceHash;
1336
+
1337
+ if (this.previewMarketplaceId && marketplaceId === this.previewMarketplaceId) {
1338
+ marketplace.branding.preview = true;
1339
+ } // Generate embed URLs for pack opening animations
1340
+
1341
+
1342
+ ["purchase_animation", "purchase_animation_mobile", "reveal_animation", "reveal_animation_mobile"].forEach(function (key) {
1343
+ try {
1344
+ if (marketplace.storefront[key]) {
1345
+ var embedUrl = new URL("https://embed.v3.contentfabric.io");
1346
+ var targetHash = LinkTargetHash(marketplace.storefront[key]);
1347
+ embedUrl.searchParams.set("p", "");
1348
+ embedUrl.searchParams.set("net", _this5.network === "main" ? "main" : "demo");
1349
+ embedUrl.searchParams.set("ath", (_this5.__authorization || {}).authToken || _this5.publicStaticToken);
1350
+ embedUrl.searchParams.set("vid", targetHash);
1351
+ embedUrl.searchParams.set("ap", "");
1352
+
1353
+ if (!key.startsWith("reveal")) {
1354
+ embedUrl.searchParams.set("m", "");
1355
+ embedUrl.searchParams.set("lp", "");
1356
+ }
1357
+
1358
+ marketplace.storefront["".concat(key, "_embed_url")] = embedUrl.toString();
1359
+ } // eslint-disable-next-line no-empty
1360
+
1361
+ } catch (error) {}
1362
+ });
1363
+ this.cachedMarketplaces[marketplaceId] = marketplace;
1364
+
1365
+ case 21:
1366
+ return _context15.abrupt("return", this.cachedMarketplaces[marketplaceId]);
1367
+
1368
+ case 22:
1369
+ case "end":
1370
+ return _context15.stop();
1371
+ }
1153
1372
  }
1154
1373
  }, _callee15, this);
1155
1374
  }));
1375
+
1156
1376
  function LoadMarketplace(_x17) {
1157
1377
  return _LoadMarketplace.apply(this, arguments);
1158
1378
  }
1379
+
1159
1380
  return LoadMarketplace;
1160
1381
  }()
1161
1382
  }, {
@@ -1163,286 +1384,344 @@ var ElvWalletClient = /*#__PURE__*/function () {
1163
1384
  value: function () {
1164
1385
  var _FilteredQuery = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee16() {
1165
1386
  var _this6 = this;
1387
+
1166
1388
  var _ref14,
1167
- _ref14$mode,
1168
- mode,
1169
- _ref14$sortBy,
1170
- sortBy,
1171
- _ref14$sortDesc,
1172
- sortDesc,
1173
- filter,
1174
- editionFilters,
1175
- attributeFilters,
1176
- contractAddress,
1177
- tokenId,
1178
- currency,
1179
- marketplaceParams,
1180
- tenantId,
1181
- collectionIndexes,
1182
- priceRange,
1183
- tokenIdRange,
1184
- capLimit,
1185
- userAddress,
1186
- sellerAddress,
1187
- _ref14$lastNDays,
1188
- lastNDays,
1189
- _ref14$includeCheckou,
1190
- includeCheckoutLocked,
1191
- _ref14$start,
1192
- start,
1193
- _ref14$limit,
1194
- limit,
1195
- params,
1196
- marketplaceInfo,
1197
- marketplace,
1198
- filters,
1199
- path,
1200
- _ref16,
1201
- contents,
1202
- paging,
1203
- _args16 = arguments;
1389
+ _ref14$mode,
1390
+ mode,
1391
+ _ref14$sortBy,
1392
+ sortBy,
1393
+ _ref14$sortDesc,
1394
+ sortDesc,
1395
+ filter,
1396
+ editionFilters,
1397
+ attributeFilters,
1398
+ contractAddress,
1399
+ tokenId,
1400
+ currency,
1401
+ marketplaceParams,
1402
+ tenantId,
1403
+ collectionIndexes,
1404
+ priceRange,
1405
+ tokenIdRange,
1406
+ capLimit,
1407
+ userAddress,
1408
+ sellerAddress,
1409
+ _ref14$lastNDays,
1410
+ lastNDays,
1411
+ _ref14$includeCheckou,
1412
+ includeCheckoutLocked,
1413
+ _ref14$start,
1414
+ start,
1415
+ _ref14$limit,
1416
+ limit,
1417
+ params,
1418
+ marketplaceInfo,
1419
+ marketplace,
1420
+ filters,
1421
+ path,
1422
+ _ref16,
1423
+ contents,
1424
+ paging,
1425
+ _args16 = arguments;
1426
+
1204
1427
  return _regeneratorRuntime.wrap(function _callee16$(_context16) {
1205
- while (1) switch (_context16.prev = _context16.next) {
1206
- case 0:
1207
- _ref14 = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : {}, _ref14$mode = _ref14.mode, mode = _ref14$mode === void 0 ? "listings" : _ref14$mode, _ref14$sortBy = _ref14.sortBy, sortBy = _ref14$sortBy === void 0 ? "created" : _ref14$sortBy, _ref14$sortDesc = _ref14.sortDesc, sortDesc = _ref14$sortDesc === void 0 ? false : _ref14$sortDesc, filter = _ref14.filter, editionFilters = _ref14.editionFilters, attributeFilters = _ref14.attributeFilters, contractAddress = _ref14.contractAddress, tokenId = _ref14.tokenId, currency = _ref14.currency, marketplaceParams = _ref14.marketplaceParams, tenantId = _ref14.tenantId, collectionIndexes = _ref14.collectionIndexes, priceRange = _ref14.priceRange, tokenIdRange = _ref14.tokenIdRange, capLimit = _ref14.capLimit, userAddress = _ref14.userAddress, sellerAddress = _ref14.sellerAddress, _ref14$lastNDays = _ref14.lastNDays, lastNDays = _ref14$lastNDays === void 0 ? -1 : _ref14$lastNDays, _ref14$includeCheckou = _ref14.includeCheckoutLocked, includeCheckoutLocked = _ref14$includeCheckou === void 0 ? false : _ref14$includeCheckou, _ref14$start = _ref14.start, start = _ref14$start === void 0 ? 0 : _ref14$start, _ref14$limit = _ref14.limit, limit = _ref14$limit === void 0 ? 50 : _ref14$limit;
1208
- collectionIndexes = (collectionIndexes || []).map(function (i) {
1209
- return parseInt(i);
1210
- });
1211
- params = {
1212
- start: start,
1213
- limit: limit,
1214
- sort_descending: sortDesc
1215
- }; // Created isn't a valid sort mode for owned
1216
- if (mode === "owned" && sortBy === "created") {
1217
- sortBy = "default";
1218
- }
1219
- if (mode !== "leaderboard") {
1220
- params.sort_by = sortBy;
1221
- }
1222
- if (mode.includes("listings") && includeCheckoutLocked) {
1223
- params.checkout = true;
1224
- }
1225
- if (!marketplaceParams) {
1226
- _context16.next = 14;
1227
- break;
1228
- }
1229
- _context16.next = 9;
1230
- return this.MarketplaceInfo({
1231
- marketplaceParams: marketplaceParams
1232
- });
1233
- case 9:
1234
- marketplaceInfo = _context16.sent;
1235
- if (!(collectionIndexes.length > 0)) {
1236
- _context16.next = 14;
1237
- break;
1238
- }
1239
- _context16.next = 13;
1240
- return this.Marketplace({
1241
- marketplaceParams: marketplaceParams
1242
- });
1243
- case 13:
1244
- marketplace = _context16.sent;
1245
- case 14:
1246
- _context16.prev = 14;
1247
- filters = [];
1248
- if (sellerAddress) {
1249
- filters.push("seller:eq:".concat(this.client.utils.FormatAddress(sellerAddress)));
1250
- } else if (userAddress && mode !== "owned") {
1251
- filters.push("addr:eq:".concat(this.client.utils.FormatAddress(userAddress)));
1252
- }
1253
- if (marketplace && collectionIndexes.length >= 0) {
1254
- collectionIndexes.forEach(function (collectionIndex) {
1255
- var collection = marketplace.collections[collectionIndex];
1256
- collection.items.forEach(function (sku) {
1257
- if (!sku) {
1258
- return;
1259
- }
1260
- var item = marketplace.items.find(function (item) {
1261
- return item.sku === sku;
1262
- });
1263
- if (!item) {
1264
- return;
1265
- }
1266
- var address = Utils.SafeTraverse(item, "nft_template", "nft", "address");
1267
- if (address) {
1268
- filters.push("".concat(mode === "owned" ? "contract_addr" : "contract", ":eq:").concat(Utils.FormatAddress(address)));
1269
- }
1270
- });
1428
+ while (1) {
1429
+ switch (_context16.prev = _context16.next) {
1430
+ case 0:
1431
+ _ref14 = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : {}, _ref14$mode = _ref14.mode, mode = _ref14$mode === void 0 ? "listings" : _ref14$mode, _ref14$sortBy = _ref14.sortBy, sortBy = _ref14$sortBy === void 0 ? "created" : _ref14$sortBy, _ref14$sortDesc = _ref14.sortDesc, sortDesc = _ref14$sortDesc === void 0 ? false : _ref14$sortDesc, filter = _ref14.filter, editionFilters = _ref14.editionFilters, attributeFilters = _ref14.attributeFilters, contractAddress = _ref14.contractAddress, tokenId = _ref14.tokenId, currency = _ref14.currency, marketplaceParams = _ref14.marketplaceParams, tenantId = _ref14.tenantId, collectionIndexes = _ref14.collectionIndexes, priceRange = _ref14.priceRange, tokenIdRange = _ref14.tokenIdRange, capLimit = _ref14.capLimit, userAddress = _ref14.userAddress, sellerAddress = _ref14.sellerAddress, _ref14$lastNDays = _ref14.lastNDays, lastNDays = _ref14$lastNDays === void 0 ? -1 : _ref14$lastNDays, _ref14$includeCheckou = _ref14.includeCheckoutLocked, includeCheckoutLocked = _ref14$includeCheckou === void 0 ? false : _ref14$includeCheckou, _ref14$start = _ref14.start, start = _ref14$start === void 0 ? 0 : _ref14$start, _ref14$limit = _ref14.limit, limit = _ref14$limit === void 0 ? 50 : _ref14$limit;
1432
+ collectionIndexes = (collectionIndexes || []).map(function (i) {
1433
+ return parseInt(i);
1271
1434
  });
1272
- } else if (marketplaceInfo || tenantId) {
1273
- filters.push("tenant:eq:".concat(marketplaceInfo ? marketplaceInfo.tenantId : tenantId));
1274
- }
1275
- if (contractAddress) {
1276
- if (mode === "owned") {
1277
- filters.push("contract_addr:eq:".concat(Utils.FormatAddress(contractAddress)));
1278
- } else {
1279
- filters.push("contract:eq:".concat(Utils.FormatAddress(contractAddress)));
1435
+ params = {
1436
+ start: start,
1437
+ limit: limit,
1438
+ sort_descending: sortDesc
1439
+ }; // Created isn't a valid sort mode for owned
1440
+
1441
+ if (mode === "owned" && sortBy === "created") {
1442
+ sortBy = "default";
1443
+ }
1444
+
1445
+ if (mode !== "leaderboard") {
1446
+ params.sort_by = sortBy;
1280
1447
  }
1281
- if (tokenId) {
1282
- filters.push("token:eq:".concat(tokenId));
1448
+
1449
+ if (mode.includes("listings") && includeCheckoutLocked) {
1450
+ params.checkout = true;
1283
1451
  }
1284
- } else if (filter) {
1285
- if (mode.includes("listing")) {
1286
- filters.push("nft/display_name:eq:".concat(filter));
1287
- } else if (mode === "owned") {
1288
- filters.push("meta/display_name:eq:".concat(filter));
1289
- } else {
1290
- filters.push("name:eq:".concat(filter));
1452
+
1453
+ if (!marketplaceParams) {
1454
+ _context16.next = 14;
1455
+ break;
1291
1456
  }
1292
- }
1293
- if (editionFilters) {
1294
- editionFilters.forEach(function (editionFilter) {
1457
+
1458
+ _context16.next = 9;
1459
+ return this.MarketplaceInfo({
1460
+ marketplaceParams: marketplaceParams
1461
+ });
1462
+
1463
+ case 9:
1464
+ marketplaceInfo = _context16.sent;
1465
+
1466
+ if (!(collectionIndexes.length > 0)) {
1467
+ _context16.next = 14;
1468
+ break;
1469
+ }
1470
+
1471
+ _context16.next = 13;
1472
+ return this.Marketplace({
1473
+ marketplaceParams: marketplaceParams
1474
+ });
1475
+
1476
+ case 13:
1477
+ marketplace = _context16.sent;
1478
+
1479
+ case 14:
1480
+ _context16.prev = 14;
1481
+ filters = [];
1482
+
1483
+ if (sellerAddress) {
1484
+ filters.push("seller:eq:".concat(this.client.utils.FormatAddress(sellerAddress)));
1485
+ } else if (userAddress && mode !== "owned") {
1486
+ filters.push("addr:eq:".concat(this.client.utils.FormatAddress(userAddress)));
1487
+ }
1488
+
1489
+ if (marketplace && collectionIndexes.length >= 0) {
1490
+ collectionIndexes.forEach(function (collectionIndex) {
1491
+ var collection = marketplace.collections[collectionIndex];
1492
+ collection.items.forEach(function (sku) {
1493
+ if (!sku) {
1494
+ return;
1495
+ }
1496
+
1497
+ var item = marketplace.items.find(function (item) {
1498
+ return item.sku === sku;
1499
+ });
1500
+
1501
+ if (!item) {
1502
+ return;
1503
+ }
1504
+
1505
+ var address = Utils.SafeTraverse(item, "nft_template", "nft", "address");
1506
+
1507
+ if (address) {
1508
+ filters.push("".concat(mode === "owned" ? "contract_addr" : "contract", ":eq:").concat(Utils.FormatAddress(address)));
1509
+ }
1510
+ });
1511
+ });
1512
+ } else if (marketplaceInfo || tenantId) {
1513
+ filters.push("tenant:eq:".concat(marketplaceInfo ? marketplaceInfo.tenantId : tenantId));
1514
+ }
1515
+
1516
+ if (contractAddress) {
1517
+ if (mode === "owned") {
1518
+ filters.push("contract_addr:eq:".concat(Utils.FormatAddress(contractAddress)));
1519
+ } else {
1520
+ filters.push("contract:eq:".concat(Utils.FormatAddress(contractAddress)));
1521
+ }
1522
+
1523
+ if (tokenId) {
1524
+ filters.push("token:eq:".concat(tokenId));
1525
+ }
1526
+ } else if (filter) {
1295
1527
  if (mode.includes("listing")) {
1296
- filters.push("nft/edition_name:eq:".concat(editionFilter));
1528
+ filters.push("nft/display_name:eq:".concat(filter));
1297
1529
  } else if (mode === "owned") {
1298
- filters.push("meta:@>:{\"edition_name\":\"".concat(editionFilter, "\"}"));
1299
- params.exact = false;
1530
+ filters.push("meta/display_name:eq:".concat(filter));
1300
1531
  } else {
1301
- filters.push("edition:eq:".concat(editionFilter));
1302
- }
1303
- });
1304
- }
1305
- if (attributeFilters) {
1306
- attributeFilters.map(function (_ref15) {
1307
- var name = _ref15.name,
1308
- value = _ref15.value;
1309
- if (!name || !value) {
1310
- return;
1532
+ filters.push("name:eq:".concat(filter));
1311
1533
  }
1312
- filters.push("nft/attributes/".concat(name, ":eq:").concat(value));
1313
- });
1314
- }
1315
- if (currency) {
1316
- filters.push("link_type:eq:sol");
1317
- }
1318
- if (lastNDays && lastNDays > 0) {
1319
- filters.push("created:gt:".concat((Date.now() / 1000 - lastNDays * 24 * 60 * 60).toFixed(0)));
1320
- }
1321
- if (priceRange) {
1322
- if (priceRange.min) {
1323
- filters.push("price:ge:".concat(parseFloat(priceRange.min)));
1324
1534
  }
1325
- if (priceRange.max) {
1326
- filters.push("price:le:".concat(parseFloat(priceRange.max)));
1535
+
1536
+ if (editionFilters) {
1537
+ editionFilters.forEach(function (editionFilter) {
1538
+ if (mode.includes("listing")) {
1539
+ filters.push("nft/edition_name:eq:".concat(editionFilter));
1540
+ } else if (mode === "owned") {
1541
+ filters.push("meta:@>:{\"edition_name\":\"".concat(editionFilter, "\"}"));
1542
+ params.exact = false;
1543
+ } else {
1544
+ filters.push("edition:eq:".concat(editionFilter));
1545
+ }
1546
+ });
1547
+ }
1548
+
1549
+ if (attributeFilters) {
1550
+ attributeFilters.map(function (_ref15) {
1551
+ var name = _ref15.name,
1552
+ value = _ref15.value;
1553
+
1554
+ if (!name || !value) {
1555
+ return;
1556
+ }
1557
+
1558
+ filters.push("nft/attributes/".concat(name, ":eq:").concat(value));
1559
+ });
1327
1560
  }
1328
- }
1329
- if (tokenIdRange) {
1330
- if (tokenIdRange.min) {
1331
- filters.push("info/token_id:ge:".concat(parseInt(tokenIdRange.min)));
1561
+
1562
+ if (currency) {
1563
+ filters.push("link_type:eq:sol");
1332
1564
  }
1333
- if (tokenIdRange.max) {
1334
- filters.push("info/token_id:le:".concat(parseInt(tokenIdRange.max)));
1565
+
1566
+ if (lastNDays && lastNDays > 0) {
1567
+ filters.push("created:gt:".concat((Date.now() / 1000 - lastNDays * 24 * 60 * 60).toFixed(0)));
1335
1568
  }
1336
- }
1337
- if (capLimit) {
1338
- filters.push("info/cap:le:".concat(parseInt(capLimit)));
1339
- }
1340
- _context16.t0 = mode;
1341
- _context16.next = _context16.t0 === "owned" ? 29 : _context16.t0 === "listings" ? 31 : _context16.t0 === "transfers" ? 33 : _context16.t0 === "sales" ? 37 : _context16.t0 === "listing-stats" ? 41 : _context16.t0 === "sales-stats" ? 43 : _context16.t0 === "leaderboard" ? 46 : 48;
1342
- break;
1343
- case 29:
1344
- path = UrlJoin("as", "wlt", userAddress || this.UserAddress());
1345
- return _context16.abrupt("break", 48);
1346
- case 31:
1347
- path = UrlJoin("as", "mkt", "f");
1348
- return _context16.abrupt("break", 48);
1349
- case 33:
1350
- path = UrlJoin("as", "mkt", "hst", "f");
1351
- filters.push("action:eq:TRANSFERRED");
1352
- filters.push("action:eq:SOLD");
1353
- return _context16.abrupt("break", 48);
1354
- case 37:
1355
- path = UrlJoin("as", "mkt", "hst", "f");
1356
- filters.push("action:eq:SOLD");
1357
- filters.push("seller:co:0x");
1358
- return _context16.abrupt("break", 48);
1359
- case 41:
1360
- path = UrlJoin("as", "mkt", "stats", "listed");
1361
- return _context16.abrupt("break", 48);
1362
- case 43:
1363
- path = UrlJoin("as", "mkt", "stats", "sold");
1364
- filters.push("seller:co:0x");
1365
- return _context16.abrupt("break", 48);
1366
- case 46:
1367
- path = UrlJoin("as", "wlt", "leaders");
1368
- return _context16.abrupt("break", 48);
1369
- case 48:
1370
- if (filters.length > 0) {
1371
- params.filter = filters;
1372
- }
1373
- if (!mode.includes("stats")) {
1374
- _context16.next = 53;
1375
- break;
1376
- }
1377
- _context16.next = 52;
1378
- return Utils.ResponseToJson(this.client.authClient.MakeAuthServiceRequest({
1379
- path: path,
1380
- method: "GET",
1381
- queryParams: params
1382
- }));
1383
- case 52:
1384
- return _context16.abrupt("return", _context16.sent);
1385
- case 53:
1386
- _context16.t2 = Utils;
1387
- _context16.next = 56;
1388
- return this.client.authClient.MakeAuthServiceRequest({
1389
- path: path,
1390
- method: "GET",
1391
- queryParams: params
1392
- });
1393
- case 56:
1394
- _context16.t3 = _context16.sent;
1395
- _context16.next = 59;
1396
- return _context16.t2.ResponseToJson.call(_context16.t2, _context16.t3);
1397
- case 59:
1398
- _context16.t1 = _context16.sent;
1399
- if (_context16.t1) {
1400
- _context16.next = 62;
1401
- break;
1402
- }
1403
- _context16.t1 = [];
1404
- case 62:
1405
- _ref16 = _context16.t1;
1406
- contents = _ref16.contents;
1407
- paging = _ref16.paging;
1408
- return _context16.abrupt("return", {
1409
- paging: {
1410
- start: params.start,
1411
- limit: params.limit,
1412
- total: paging.total,
1413
- more: paging.total > start + limit
1414
- },
1415
- results: (contents || []).map(function (item) {
1416
- return ["owned", "listings"].includes(mode) ? FormatNFT(_this6, item) : item;
1417
- })
1418
- });
1419
- case 68:
1420
- _context16.prev = 68;
1421
- _context16.t4 = _context16["catch"](14);
1422
- if (!(_context16.t4.status && _context16.t4.status.toString() === "404")) {
1423
- _context16.next = 72;
1569
+
1570
+ if (priceRange) {
1571
+ if (priceRange.min) {
1572
+ filters.push("price:ge:".concat(parseFloat(priceRange.min)));
1573
+ }
1574
+
1575
+ if (priceRange.max) {
1576
+ filters.push("price:le:".concat(parseFloat(priceRange.max)));
1577
+ }
1578
+ }
1579
+
1580
+ if (tokenIdRange) {
1581
+ if (tokenIdRange.min) {
1582
+ filters.push("info/token_id:ge:".concat(parseInt(tokenIdRange.min)));
1583
+ }
1584
+
1585
+ if (tokenIdRange.max) {
1586
+ filters.push("info/token_id:le:".concat(parseInt(tokenIdRange.max)));
1587
+ }
1588
+ }
1589
+
1590
+ if (capLimit) {
1591
+ filters.push("info/cap:le:".concat(parseInt(capLimit)));
1592
+ }
1593
+
1594
+ _context16.t0 = mode;
1595
+ _context16.next = _context16.t0 === "owned" ? 29 : _context16.t0 === "listings" ? 31 : _context16.t0 === "transfers" ? 33 : _context16.t0 === "sales" ? 37 : _context16.t0 === "listing-stats" ? 41 : _context16.t0 === "sales-stats" ? 43 : _context16.t0 === "leaderboard" ? 46 : 48;
1424
1596
  break;
1425
- }
1426
- return _context16.abrupt("return", {
1427
- paging: {
1428
- start: params.start,
1429
- limit: params.limit,
1430
- total: 0,
1431
- more: false
1432
- },
1433
- results: []
1434
- });
1435
- case 72:
1436
- throw _context16.t4;
1437
- case 73:
1438
- case "end":
1439
- return _context16.stop();
1597
+
1598
+ case 29:
1599
+ path = UrlJoin("as", "wlt", userAddress || this.UserAddress());
1600
+ return _context16.abrupt("break", 48);
1601
+
1602
+ case 31:
1603
+ path = UrlJoin("as", "mkt", "f");
1604
+ return _context16.abrupt("break", 48);
1605
+
1606
+ case 33:
1607
+ path = UrlJoin("as", "mkt", "hst", "f");
1608
+ filters.push("action:eq:TRANSFERRED");
1609
+ filters.push("action:eq:SOLD");
1610
+ return _context16.abrupt("break", 48);
1611
+
1612
+ case 37:
1613
+ path = UrlJoin("as", "mkt", "hst", "f");
1614
+ filters.push("action:eq:SOLD");
1615
+ filters.push("seller:co:0x");
1616
+ return _context16.abrupt("break", 48);
1617
+
1618
+ case 41:
1619
+ path = UrlJoin("as", "mkt", "stats", "listed");
1620
+ return _context16.abrupt("break", 48);
1621
+
1622
+ case 43:
1623
+ path = UrlJoin("as", "mkt", "stats", "sold");
1624
+ filters.push("seller:co:0x");
1625
+ return _context16.abrupt("break", 48);
1626
+
1627
+ case 46:
1628
+ path = UrlJoin("as", "wlt", "leaders");
1629
+ return _context16.abrupt("break", 48);
1630
+
1631
+ case 48:
1632
+ if (filters.length > 0) {
1633
+ params.filter = filters;
1634
+ }
1635
+
1636
+ if (!mode.includes("stats")) {
1637
+ _context16.next = 53;
1638
+ break;
1639
+ }
1640
+
1641
+ _context16.next = 52;
1642
+ return Utils.ResponseToJson(this.client.authClient.MakeAuthServiceRequest({
1643
+ path: path,
1644
+ method: "GET",
1645
+ queryParams: params
1646
+ }));
1647
+
1648
+ case 52:
1649
+ return _context16.abrupt("return", _context16.sent);
1650
+
1651
+ case 53:
1652
+ _context16.t2 = Utils;
1653
+ _context16.next = 56;
1654
+ return this.client.authClient.MakeAuthServiceRequest({
1655
+ path: path,
1656
+ method: "GET",
1657
+ queryParams: params
1658
+ });
1659
+
1660
+ case 56:
1661
+ _context16.t3 = _context16.sent;
1662
+ _context16.next = 59;
1663
+ return _context16.t2.ResponseToJson.call(_context16.t2, _context16.t3);
1664
+
1665
+ case 59:
1666
+ _context16.t1 = _context16.sent;
1667
+
1668
+ if (_context16.t1) {
1669
+ _context16.next = 62;
1670
+ break;
1671
+ }
1672
+
1673
+ _context16.t1 = [];
1674
+
1675
+ case 62:
1676
+ _ref16 = _context16.t1;
1677
+ contents = _ref16.contents;
1678
+ paging = _ref16.paging;
1679
+ return _context16.abrupt("return", {
1680
+ paging: {
1681
+ start: params.start,
1682
+ limit: params.limit,
1683
+ total: paging.total,
1684
+ more: paging.total > start + limit
1685
+ },
1686
+ results: (contents || []).map(function (item) {
1687
+ return ["owned", "listings"].includes(mode) ? FormatNFT(_this6, item) : item;
1688
+ })
1689
+ });
1690
+
1691
+ case 68:
1692
+ _context16.prev = 68;
1693
+ _context16.t4 = _context16["catch"](14);
1694
+
1695
+ if (!(_context16.t4.status && _context16.t4.status.toString() === "404")) {
1696
+ _context16.next = 72;
1697
+ break;
1698
+ }
1699
+
1700
+ return _context16.abrupt("return", {
1701
+ paging: {
1702
+ start: params.start,
1703
+ limit: params.limit,
1704
+ total: 0,
1705
+ more: false
1706
+ },
1707
+ results: []
1708
+ });
1709
+
1710
+ case 72:
1711
+ throw _context16.t4;
1712
+
1713
+ case 73:
1714
+ case "end":
1715
+ return _context16.stop();
1716
+ }
1440
1717
  }
1441
1718
  }, _callee16, this, [[14, 68]]);
1442
1719
  }));
1720
+
1443
1721
  function FilteredQuery() {
1444
1722
  return _FilteredQuery.apply(this, arguments);
1445
1723
  }
1724
+
1446
1725
  return FilteredQuery;
1447
1726
  }()
1448
1727
  }, {
@@ -1451,204 +1730,254 @@ var ElvWalletClient = /*#__PURE__*/function () {
1451
1730
  var _MintingStatus = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee17(_ref17) {
1452
1731
  var marketplaceParams, tenantId, marketplaceInfo, response;
1453
1732
  return _regeneratorRuntime.wrap(function _callee17$(_context17) {
1454
- while (1) switch (_context17.prev = _context17.next) {
1455
- case 0:
1456
- marketplaceParams = _ref17.marketplaceParams, tenantId = _ref17.tenantId;
1457
- if (tenantId) {
1458
- _context17.next = 6;
1459
- break;
1460
- }
1461
- _context17.next = 4;
1462
- return this.MarketplaceInfo({
1463
- marketplaceParams: marketplaceParams || this.selectedMarketplaceInfo
1464
- });
1465
- case 4:
1466
- marketplaceInfo = _context17.sent;
1467
- tenantId = marketplaceInfo.tenantId;
1468
- case 6:
1469
- _context17.prev = 6;
1470
- _context17.next = 9;
1471
- return Utils.ResponseToJson(this.client.authClient.MakeAuthServiceRequest({
1472
- path: UrlJoin("as", "wlt", "status", "act", tenantId),
1473
- method: "GET",
1474
- headers: {
1475
- Authorization: "Bearer ".concat(this.AuthToken())
1476
- }
1477
- }));
1478
- case 9:
1479
- response = _context17.sent;
1480
- return _context17.abrupt("return", response.map(function (status) {
1481
- var _status$op$split = status.op.split(":"),
1482
- _status$op$split2 = _slicedToArray(_status$op$split, 3),
1483
- op = _status$op$split2[0],
1484
- address = _status$op$split2[1],
1485
- id = _status$op$split2[2];
1486
- address = address.startsWith("0x") ? Utils.FormatAddress(address) : address;
1487
- var confirmationId, tokenId;
1488
- if (op === "nft-buy") {
1489
- confirmationId = id;
1490
- } else if (op === "nft-claim") {
1491
- confirmationId = id;
1492
- status.marketplaceId = address;
1493
- if (status.extra && status.extra["0"]) {
1494
- address = status.extra.token_addr;
1495
- tokenId = status.extra.token_id_str;
1496
- }
1497
- } else if (op === "nft-redeem") {
1498
- confirmationId = status.op.split(":").slice(-1)[0];
1499
- } else {
1500
- tokenId = id;
1501
- }
1502
- if (op === "nft-transfer") {
1503
- confirmationId = status.extra && status.extra.trans_id;
1733
+ while (1) {
1734
+ switch (_context17.prev = _context17.next) {
1735
+ case 0:
1736
+ marketplaceParams = _ref17.marketplaceParams, tenantId = _ref17.tenantId;
1737
+
1738
+ if (tenantId) {
1739
+ _context17.next = 6;
1740
+ break;
1504
1741
  }
1505
- return _objectSpread(_objectSpread({}, status), {}, {
1506
- timestamp: new Date(status.ts),
1507
- state: status.state && _typeof(status.state) === "object" ? Object.values(status.state) : status.state,
1508
- extra: status.extra && _typeof(status.extra) === "object" ? Object.values(status.extra) : status.extra,
1509
- confirmationId: confirmationId,
1510
- op: op,
1511
- address: address,
1512
- tokenId: tokenId
1742
+
1743
+ _context17.next = 4;
1744
+ return this.MarketplaceInfo({
1745
+ marketplaceParams: marketplaceParams || this.selectedMarketplaceInfo
1513
1746
  });
1514
- }).sort(function (a, b) {
1515
- return a.ts < b.ts ? 1 : -1;
1516
- }));
1517
- case 13:
1518
- _context17.prev = 13;
1519
- _context17.t0 = _context17["catch"](6);
1520
- this.Log("Failed to retrieve minting status", true, _context17.t0);
1521
- return _context17.abrupt("return", []);
1522
- case 17:
1523
- case "end":
1524
- return _context17.stop();
1747
+
1748
+ case 4:
1749
+ marketplaceInfo = _context17.sent;
1750
+ tenantId = marketplaceInfo.tenantId;
1751
+
1752
+ case 6:
1753
+ _context17.prev = 6;
1754
+ _context17.next = 9;
1755
+ return Utils.ResponseToJson(this.client.authClient.MakeAuthServiceRequest({
1756
+ path: UrlJoin("as", "wlt", "status", "act", tenantId),
1757
+ method: "GET",
1758
+ headers: {
1759
+ Authorization: "Bearer ".concat(this.AuthToken())
1760
+ }
1761
+ }));
1762
+
1763
+ case 9:
1764
+ response = _context17.sent;
1765
+ return _context17.abrupt("return", response.map(function (status) {
1766
+ var _status$op$split = status.op.split(":"),
1767
+ _status$op$split2 = _slicedToArray(_status$op$split, 3),
1768
+ op = _status$op$split2[0],
1769
+ address = _status$op$split2[1],
1770
+ id = _status$op$split2[2];
1771
+
1772
+ address = address.startsWith("0x") ? Utils.FormatAddress(address) : address;
1773
+ var confirmationId, tokenId;
1774
+
1775
+ if (op === "nft-buy") {
1776
+ confirmationId = id;
1777
+ } else if (op === "nft-claim") {
1778
+ confirmationId = id;
1779
+ status.marketplaceId = address;
1780
+
1781
+ if (status.extra && status.extra["0"]) {
1782
+ address = status.extra.token_addr;
1783
+ tokenId = status.extra.token_id_str;
1784
+ }
1785
+ } else if (op === "nft-redeem") {
1786
+ confirmationId = status.op.split(":").slice(-1)[0];
1787
+ } else {
1788
+ tokenId = id;
1789
+ }
1790
+
1791
+ if (op === "nft-transfer") {
1792
+ confirmationId = status.extra && status.extra.trans_id;
1793
+ }
1794
+
1795
+ return _objectSpread(_objectSpread({}, status), {}, {
1796
+ timestamp: new Date(status.ts),
1797
+ state: status.state && _typeof(status.state) === "object" ? Object.values(status.state) : status.state,
1798
+ extra: status.extra && _typeof(status.extra) === "object" ? Object.values(status.extra) : status.extra,
1799
+ confirmationId: confirmationId,
1800
+ op: op,
1801
+ address: address,
1802
+ tokenId: tokenId
1803
+ });
1804
+ }).sort(function (a, b) {
1805
+ return a.ts < b.ts ? 1 : -1;
1806
+ }));
1807
+
1808
+ case 13:
1809
+ _context17.prev = 13;
1810
+ _context17.t0 = _context17["catch"](6);
1811
+ this.Log("Failed to retrieve minting status", true, _context17.t0);
1812
+ return _context17.abrupt("return", []);
1813
+
1814
+ case 17:
1815
+ case "end":
1816
+ return _context17.stop();
1817
+ }
1525
1818
  }
1526
1819
  }, _callee17, this, [[6, 13]]);
1527
1820
  }));
1821
+
1528
1822
  function MintingStatus(_x20) {
1529
1823
  return _MintingStatus.apply(this, arguments);
1530
1824
  }
1825
+
1531
1826
  return MintingStatus;
1532
1827
  }()
1533
1828
  }], [{
1534
1829
  key: "Initialize",
1535
1830
  value: function () {
1536
1831
  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;
1832
+ 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;
1833
+
1538
1834
  return _regeneratorRuntime.wrap(function _callee18$(_context18) {
1539
- while (1) switch (_context18.prev = _context18.next) {
1540
- 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;
1542
- _ref19 = marketplaceParams || {}, tenantSlug = _ref19.tenantSlug, marketplaceSlug = _ref19.marketplaceSlug, marketplaceId = _ref19.marketplaceId, marketplaceHash = _ref19.marketplaceHash;
1543
- if (Configuration[network]) {
1544
- _context18.next = 6;
1545
- break;
1546
- }
1547
- throw Error("ElvWalletClient: Invalid network ".concat(network));
1548
- case 6:
1549
- if (Configuration[network][mode]) {
1550
- _context18.next = 8;
1551
- break;
1552
- }
1553
- throw Error("ElvWalletClient: Invalid mode ".concat(mode));
1554
- case 8:
1555
- if (client) {
1556
- _context18.next = 12;
1557
- break;
1558
- }
1559
- _context18.next = 11;
1560
- return ElvClient.FromNetworkName({
1561
- networkName: network,
1562
- assumeV3: true
1563
- });
1564
- case 11:
1565
- client = _context18.sent;
1566
- case 12:
1567
- previewMarketplaceHash = previewMarketplaceId;
1568
- if (!(previewMarketplaceHash && !previewMarketplaceHash.startsWith("hq__"))) {
1569
- _context18.next = 17;
1570
- break;
1571
- }
1572
- _context18.next = 16;
1573
- return client.LatestVersionHash({
1574
- objectId: previewMarketplaceId
1575
- });
1576
- case 16:
1577
- previewMarketplaceHash = _context18.sent;
1578
- case 17:
1579
- walletClient = new ElvWalletClient({
1580
- appId: appId,
1581
- client: client,
1582
- network: network,
1583
- mode: mode,
1584
- marketplaceInfo: {
1585
- tenantSlug: tenantSlug,
1586
- marketplaceSlug: marketplaceSlug,
1587
- marketplaceId: marketplaceHash ? client.utils.DecodeVersionHash(marketplaceHash).objectId : marketplaceId,
1588
- marketplaceHash: marketplaceHash
1589
- },
1590
- previewMarketplaceHash: previewMarketplaceHash,
1591
- storeAuthToken: storeAuthToken
1592
- });
1593
- if (!(inBrowser && window.location && window.location.href)) {
1594
- _context18.next = 37;
1595
- break;
1596
- }
1597
- url = new URL(window.location.href);
1598
- if (!url.searchParams.get("elvToken")) {
1599
- _context18.next = 27;
1600
- break;
1601
- }
1602
- _context18.next = 23;
1603
- return walletClient.Authenticate({
1604
- token: url.searchParams.get("elvToken")
1605
- });
1606
- case 23:
1607
- url.searchParams["delete"]("elvToken");
1608
- window.history.replaceState("", "", url);
1609
- _context18.next = 37;
1610
- break;
1611
- case 27:
1612
- if (!(storeAuthToken && localStorageAvailable)) {
1835
+ while (1) {
1836
+ switch (_context18.prev = _context18.next) {
1837
+ case 0:
1838
+ 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;
1839
+ _ref19 = marketplaceParams || {}, tenantSlug = _ref19.tenantSlug, marketplaceSlug = _ref19.marketplaceSlug, marketplaceId = _ref19.marketplaceId, marketplaceHash = _ref19.marketplaceHash;
1840
+
1841
+ if (Configuration[network]) {
1842
+ _context18.next = 6;
1843
+ break;
1844
+ }
1845
+
1846
+ throw Error("ElvWalletClient: Invalid network ".concat(network));
1847
+
1848
+ case 6:
1849
+ if (Configuration[network][mode]) {
1850
+ _context18.next = 8;
1851
+ break;
1852
+ }
1853
+
1854
+ throw Error("ElvWalletClient: Invalid mode ".concat(mode));
1855
+
1856
+ case 8:
1857
+ if (client) {
1858
+ _context18.next = 12;
1859
+ break;
1860
+ }
1861
+
1862
+ _context18.next = 11;
1863
+ return ElvClient.FromNetworkName({
1864
+ networkName: network,
1865
+ assumeV3: true
1866
+ });
1867
+
1868
+ case 11:
1869
+ client = _context18.sent;
1870
+
1871
+ case 12:
1872
+ previewMarketplaceHash = previewMarketplaceId;
1873
+
1874
+ if (!(previewMarketplaceHash && !previewMarketplaceHash.startsWith("hq__"))) {
1875
+ _context18.next = 17;
1876
+ break;
1877
+ }
1878
+
1879
+ _context18.next = 16;
1880
+ return client.LatestVersionHash({
1881
+ objectId: previewMarketplaceId
1882
+ });
1883
+
1884
+ case 16:
1885
+ previewMarketplaceHash = _context18.sent;
1886
+
1887
+ case 17:
1888
+ walletClient = new ElvWalletClient({
1889
+ appId: appId,
1890
+ client: client,
1891
+ network: network,
1892
+ mode: mode,
1893
+ localization: localization,
1894
+ marketplaceInfo: {
1895
+ tenantSlug: tenantSlug,
1896
+ marketplaceSlug: marketplaceSlug,
1897
+ marketplaceId: marketplaceHash ? client.utils.DecodeVersionHash(marketplaceHash).objectId : marketplaceId,
1898
+ marketplaceHash: marketplaceHash
1899
+ },
1900
+ previewMarketplaceHash: previewMarketplaceHash,
1901
+ storeAuthToken: storeAuthToken
1902
+ });
1903
+
1904
+ if (!(inBrowser && window.location && window.location.href)) {
1905
+ _context18.next = 37;
1906
+ break;
1907
+ }
1908
+
1909
+ url = new URL(window.location.href);
1910
+
1911
+ if (!url.searchParams.get("elvToken")) {
1912
+ _context18.next = 27;
1913
+ break;
1914
+ }
1915
+
1916
+ _context18.next = 23;
1917
+ return walletClient.Authenticate({
1918
+ token: url.searchParams.get("elvToken")
1919
+ });
1920
+
1921
+ case 23:
1922
+ url.searchParams["delete"]("elvToken");
1923
+ window.history.replaceState("", "", url);
1613
1924
  _context18.next = 37;
1614
1925
  break;
1615
- }
1616
- _context18.prev = 28;
1617
- // Load saved auth token
1618
- savedToken = localStorage.getItem("__elv-token-".concat(network));
1619
- if (!savedToken) {
1926
+
1927
+ case 27:
1928
+ if (!(storeAuthToken && localStorageAvailable)) {
1929
+ _context18.next = 37;
1930
+ break;
1931
+ }
1932
+
1933
+ _context18.prev = 28;
1934
+ // Load saved auth token
1935
+ savedToken = localStorage.getItem("__elv-token-".concat(network));
1936
+
1937
+ if (!savedToken) {
1938
+ _context18.next = 33;
1939
+ break;
1940
+ }
1941
+
1620
1942
  _context18.next = 33;
1943
+ return walletClient.Authenticate({
1944
+ token: savedToken
1945
+ });
1946
+
1947
+ case 33:
1948
+ _context18.next = 37;
1621
1949
  break;
1622
- }
1623
- _context18.next = 33;
1624
- return walletClient.Authenticate({
1625
- token: savedToken
1626
- });
1627
- case 33:
1628
- _context18.next = 37;
1629
- break;
1630
- case 35:
1631
- _context18.prev = 35;
1632
- _context18.t0 = _context18["catch"](28);
1633
- case 37:
1634
- _context18.next = 39;
1635
- return walletClient.LoadAvailableMarketplaces();
1636
- case 39:
1637
- return _context18.abrupt("return", walletClient);
1638
- case 40:
1639
- case "end":
1640
- return _context18.stop();
1950
+
1951
+ case 35:
1952
+ _context18.prev = 35;
1953
+ _context18.t0 = _context18["catch"](28);
1954
+
1955
+ case 37:
1956
+ _context18.next = 39;
1957
+ return walletClient.LoadAvailableMarketplaces();
1958
+
1959
+ case 39:
1960
+ return _context18.abrupt("return", walletClient);
1961
+
1962
+ case 40:
1963
+ case "end":
1964
+ return _context18.stop();
1965
+ }
1641
1966
  }
1642
1967
  }, _callee18, null, [[28, 35]]);
1643
1968
  }));
1969
+
1644
1970
  function Initialize(_x21) {
1645
1971
  return _Initialize.apply(this, arguments);
1646
1972
  }
1973
+
1647
1974
  return Initialize;
1648
1975
  }()
1649
1976
  }]);
1977
+
1650
1978
  return ElvWalletClient;
1651
1979
  }();
1980
+
1652
1981
  Object.assign(ElvWalletClient.prototype, require("./ClientMethods"));
1653
1982
  Object.assign(ElvWalletClient.prototype, require("./Profile"));
1654
1983
  Object.assign(ElvWalletClient.prototype, require("./Notifications"));