@eluvio/elv-client-js 4.0.113 → 4.0.115

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 (129) hide show
  1. package/dist/ElvClient-min.js +67 -0
  2. package/dist/ElvClient-node-min.js +66 -0
  3. package/dist/ElvFrameClient-min.js +60 -0
  4. package/dist/ElvPermissionsClient-min.js +60 -0
  5. package/dist/ElvWalletClient-min.js +67 -0
  6. package/dist/ElvWalletClient-node-min.js +66 -0
  7. package/dist/src/AuthorizationClient.js +2169 -0
  8. package/dist/src/ContentObjectAudit.js +175 -0
  9. package/dist/src/ContentObjectVerification.js +281 -0
  10. package/dist/src/Crypto.js +412 -0
  11. package/dist/src/ElvClient.js +2044 -0
  12. package/dist/src/ElvWallet.js +245 -0
  13. package/dist/src/EthClient.js +1154 -0
  14. package/dist/src/FrameClient.js +485 -0
  15. package/dist/src/HttpClient.js +315 -0
  16. package/dist/src/Id.js +21 -0
  17. package/dist/src/LogMessage.js +25 -0
  18. package/dist/src/PermissionsClient.js +1544 -0
  19. package/dist/src/RemoteSigner.js +385 -0
  20. package/dist/src/UserProfileClient.js +1450 -0
  21. package/dist/src/Utils.js +894 -0
  22. package/dist/src/Validation.js +121 -0
  23. package/dist/src/abr_profiles/abr_profile_live_drm.js +1661 -0
  24. package/dist/src/abr_profiles/abr_profile_live_to_vod.js +1606 -0
  25. package/dist/src/client/ABRPublishing.js +1018 -0
  26. package/dist/src/client/AccessGroups.js +1503 -0
  27. package/dist/src/client/ContentAccess.js +5195 -0
  28. package/dist/src/client/ContentManagement.js +2680 -0
  29. package/dist/src/client/Contracts.js +1520 -0
  30. package/dist/src/client/Files.js +2181 -0
  31. package/dist/src/client/LiveConf.js +569 -0
  32. package/dist/src/client/LiveStream.js +2640 -0
  33. package/dist/src/client/NFT.js +162 -0
  34. package/dist/src/client/NTP.js +581 -0
  35. package/dist/src/contracts/v2/AccessIndexor.js +831 -0
  36. package/dist/src/contracts/v2/Accessible.js +31 -0
  37. package/dist/src/contracts/v2/BaseAccessControlGroup.js +1263 -0
  38. package/dist/src/contracts/v2/BaseAccessWallet.js +1609 -0
  39. package/dist/src/contracts/v2/BaseAccessWalletFactory.js +93 -0
  40. package/dist/src/contracts/v2/BaseContent.js +1076 -0
  41. package/dist/src/contracts/v2/BaseContentFactory.js +219 -0
  42. package/dist/src/contracts/v2/BaseContentSpace.js +1352 -0
  43. package/dist/src/contracts/v2/BaseContentType.js +364 -0
  44. package/dist/src/contracts/v2/BaseFactory.js +107 -0
  45. package/dist/src/contracts/v2/BaseGroupFactory.js +93 -0
  46. package/dist/src/contracts/v2/BaseLibrary.js +1041 -0
  47. package/dist/src/contracts/v2/BaseLibraryFactory.js +96 -0
  48. package/dist/src/contracts/v2/Certifyer.js +86 -0
  49. package/dist/src/contracts/v2/Container.js +540 -0
  50. package/dist/src/contracts/v2/Content.js +443 -0
  51. package/dist/src/contracts/v2/Editable.js +306 -0
  52. package/dist/src/contracts/v2/ExternalUserWallet.js +379 -0
  53. package/dist/src/contracts/v2/IFactorySpace.js +57 -0
  54. package/dist/src/contracts/v2/IKmsSpace.js +52 -0
  55. package/dist/src/contracts/v2/INodeSpace.js +18 -0
  56. package/dist/src/contracts/v2/IUserSpace.js +18 -0
  57. package/dist/src/contracts/v2/LvRecordableStream.js +1037 -0
  58. package/dist/src/contracts/v2/LvRecording.js +627 -0
  59. package/dist/src/contracts/v2/LvStreamRightsHolder.js +562 -0
  60. package/dist/src/contracts/v2/MetaObject.js +119 -0
  61. package/dist/src/contracts/v2/Node.js +167 -0
  62. package/dist/src/contracts/v2/NodeSpace.js +273 -0
  63. package/dist/src/contracts/v2/Ownable.js +87 -0
  64. package/dist/src/contracts/v2/PaymentService.js +627 -0
  65. package/dist/src/contracts/v2/Precompile.js +15 -0
  66. package/dist/src/contracts/v2/Transactable.js +82 -0
  67. package/dist/src/contracts/v2/UserSpace.js +29 -0
  68. package/dist/src/contracts/v2/Utils.js +18 -0
  69. package/dist/src/contracts/v2/Verifier.js +53 -0
  70. package/dist/src/contracts/v2/strings.js +4 -0
  71. package/dist/src/contracts/v3/AccessIndexor.js +774 -0
  72. package/dist/src/contracts/v3/Accessible.js +232 -0
  73. package/dist/src/contracts/v3/Adminable.js +107 -0
  74. package/dist/src/contracts/v3/AvailsDelivery.js +586 -0
  75. package/dist/src/contracts/v3/BaseAccessControlGroup.js +1603 -0
  76. package/dist/src/contracts/v3/BaseAccessWallet.js +1628 -0
  77. package/dist/src/contracts/v3/BaseAccessWalletFactory.js +112 -0
  78. package/dist/src/contracts/v3/BaseContent.js +1312 -0
  79. package/dist/src/contracts/v3/BaseContentFactory.js +183 -0
  80. package/dist/src/contracts/v3/BaseContentFactoryExt.js +175 -0
  81. package/dist/src/contracts/v3/BaseContentSpace.js +1515 -0
  82. package/dist/src/contracts/v3/BaseContentType.js +527 -0
  83. package/dist/src/contracts/v3/BaseFactory.js +126 -0
  84. package/dist/src/contracts/v3/BaseGroupFactory.js +112 -0
  85. package/dist/src/contracts/v3/BaseLibrary.js +1204 -0
  86. package/dist/src/contracts/v3/BaseLibraryFactory.js +115 -0
  87. package/dist/src/contracts/v3/BaseTenantSpace.js +1587 -0
  88. package/dist/src/contracts/v3/Certifyer.js +86 -0
  89. package/dist/src/contracts/v3/Container.js +739 -0
  90. package/dist/src/contracts/v3/Content.js +438 -0
  91. package/dist/src/contracts/v3/CounterObject.js +243 -0
  92. package/dist/src/contracts/v3/Editable.js +519 -0
  93. package/dist/src/contracts/v3/EncToken.js +4 -0
  94. package/dist/src/contracts/v3/ExternalUserWallet.js +587 -0
  95. package/dist/src/contracts/v3/IAdmin.js +18 -0
  96. package/dist/src/contracts/v3/IFactorySpace.js +57 -0
  97. package/dist/src/contracts/v3/IKmsSpace.js +52 -0
  98. package/dist/src/contracts/v3/INodeSpace.js +18 -0
  99. package/dist/src/contracts/v3/IUserSpace.js +32 -0
  100. package/dist/src/contracts/v3/LvRecordableStream.js +1032 -0
  101. package/dist/src/contracts/v3/LvRecording.js +650 -0
  102. package/dist/src/contracts/v3/LvStreamRightsHolder.js +557 -0
  103. package/dist/src/contracts/v3/MetaObject.js +144 -0
  104. package/dist/src/contracts/v3/Node.js +178 -0
  105. package/dist/src/contracts/v3/NodeSpace.js +284 -0
  106. package/dist/src/contracts/v3/Ownable.js +98 -0
  107. package/dist/src/contracts/v3/PaymentService.js +622 -0
  108. package/dist/src/contracts/v3/Precompile.js +26 -0
  109. package/dist/src/contracts/v3/TenantFuncsBase.js +351 -0
  110. package/dist/src/contracts/v3/Transactable.js +82 -0
  111. package/dist/src/contracts/v3/UserSpace.js +43 -0
  112. package/dist/src/contracts/v3/Utils.js +18 -0
  113. package/dist/src/contracts/v3/Verifier.js +53 -0
  114. package/dist/src/contracts/v3/strings.js +4 -0
  115. package/dist/src/contracts/v3b/BaseAccessControlGroup.js +1704 -0
  116. package/dist/src/events/Topics.js +1793 -0
  117. package/dist/src/index.js +8 -0
  118. package/dist/src/walletClient/ClientMethods.js +3102 -0
  119. package/dist/src/walletClient/Configuration.js +38 -0
  120. package/dist/src/walletClient/Notifications.js +168 -0
  121. package/dist/src/walletClient/Profile.js +332 -0
  122. package/dist/src/walletClient/Utils.js +281 -0
  123. package/dist/src/walletClient/index.js +2106 -0
  124. package/package.json +1 -1
  125. package/src/AuthorizationClient.js +25 -18
  126. package/src/ElvClient.js +19 -0
  127. package/src/client/ContentAccess.js +10 -1
  128. package/src/client/LiveConf.js +10 -8
  129. package/src/client/LiveStream.js +6 -4
@@ -0,0 +1,281 @@
1
+ var _regeneratorRuntime = require("@babel/runtime/regenerator");
2
+ var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
3
+ var _defineProperty = require("@babel/runtime/helpers/defineProperty");
4
+ var _slicedToArray = require("@babel/runtime/helpers/slicedToArray");
5
+ 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; }
6
+ 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; }
7
+ var Utils = require("../Utils");
8
+ var RarityToPercentage = function RarityToPercentage(rarity) {
9
+ if (!rarity) {
10
+ return "";
11
+ }
12
+ rarity = rarity.toString();
13
+ if (!rarity.includes("/")) {
14
+ return rarity;
15
+ }
16
+ var _rarity$split = rarity.split("/"),
17
+ _rarity$split2 = _slicedToArray(_rarity$split, 2),
18
+ numerator = _rarity$split2[0],
19
+ denominator = _rarity$split2[1];
20
+ var percentage = 100 * parseInt(numerator) / parseInt(denominator);
21
+ if (percentage < 1) {
22
+ percentage = percentage.toFixed(2);
23
+ } else {
24
+ percentage = percentage.toFixed(1).toString().replace(".0", "");
25
+ }
26
+ return percentage;
27
+ };
28
+ var LinkTargetHash = function LinkTargetHash(link) {
29
+ if (!link) {
30
+ return;
31
+ }
32
+ if (link["."] && link["."].source) {
33
+ return link["."].source;
34
+ }
35
+ if (link["/"] && link["/"].startsWith("/qfab/")) {
36
+ return link["/"].split("/").find(function (segment) {
37
+ return segment.startsWith("hq__");
38
+ });
39
+ }
40
+ if (link["."] && link["."].container) {
41
+ return link["."].container;
42
+ }
43
+ };
44
+ exports.LinkTargetHash = LinkTargetHash;
45
+
46
+ // Format NFT or listing result into consistent format
47
+ var FormatNFTDetails = function FormatNFTDetails(entry) {
48
+ var isListing = !!entry.id;
49
+ var metadata = (isListing ? entry.nft : entry.meta) || {};
50
+ var info = isListing ? entry.info : entry;
51
+ var paymentAccounts = entry.accepts || [];
52
+ var details = {
53
+ USDCAccepted: paymentAccounts.length > 0,
54
+ USDCOnly: !!paymentAccounts.find(function (entry) {
55
+ return entry.preferred;
56
+ }),
57
+ EthUSDCAccepted: !!paymentAccounts.find(function (account) {
58
+ return account.type === "eth";
59
+ }),
60
+ EthUSDCOnly: !!paymentAccounts.find(function (account) {
61
+ return account.type === "eth" && account.preferred;
62
+ }),
63
+ SolUSDCAccepted: !!paymentAccounts.find(function (account) {
64
+ return account.type === "sol";
65
+ }),
66
+ SolUSDCOnly: !!paymentAccounts.find(function (account) {
67
+ return account.type === "sol" && account.preferred;
68
+ }),
69
+ TenantId: entry.tenant || entry.tenant_id,
70
+ ContractAddr: info.contract_addr,
71
+ ContractId: "ictr".concat(Utils.AddressToHash(info.contract_addr)),
72
+ ContractName: info.contract_name,
73
+ Cap: info.cap,
74
+ TokenIdStr: info.token_id_str,
75
+ TokenUri: info.token_uri,
76
+ TokenOrdinal: info.ordinal,
77
+ TokenHold: info.hold,
78
+ TokenHoldDate: info.hold ? new Date(parseInt(info.hold) * 1000) : undefined,
79
+ TokenOwner: info.token_owner ? Utils.FormatAddress(info.token_owner) : "",
80
+ VersionHash: (info.token_uri || "").split("/").find(function (s) {
81
+ return (s || "").startsWith("hq__");
82
+ })
83
+ };
84
+ if (isListing) {
85
+ details = _objectSpread(_objectSpread({}, details), {}, {
86
+ // Listing specific fields
87
+ ListingId: entry.id,
88
+ CreatedAt: entry.created * 1000,
89
+ UpdatedAt: entry.updated * 1000,
90
+ CheckoutLockedUntil: entry.checkout ? entry.checkout * 1000 : undefined,
91
+ SellerAddress: Utils.FormatAddress(entry.seller),
92
+ Price: entry.price,
93
+ Fee: entry.fee
94
+ });
95
+ } else {
96
+ details.Offers = info.offers || [];
97
+ }
98
+ var result = {
99
+ metadata: metadata,
100
+ details: details
101
+ };
102
+ if (entry.nft_template) {
103
+ result.nft_template = entry.nft_template;
104
+ }
105
+ return result;
106
+ };
107
+ exports.FormatNFTDetails = FormatNFTDetails;
108
+ var FormatNFTMetadata = function FormatNFTMetadata(walletClient, nft) {
109
+ nft.formatted = true;
110
+
111
+ // Surface relevant details to top level
112
+ nft.contractAddress = nft.details.ContractAddr;
113
+ nft.contractId = nft.details.ContractId;
114
+ nft.tokenId = nft.details.TokenIdStr;
115
+ nft.name = nft.metadata.display_name;
116
+ if (nft.details.ListingId) {
117
+ nft.listingId = nft.details.ListingId;
118
+ }
119
+
120
+ // Format traits
121
+ var FILTERED_ATTRIBUTES = ["Content Fabric Hash", "Creator", "Total Minted Supply"];
122
+ nft.metadata.attributes = (nft.metadata.attributes || []).filter(function (attribute) {
123
+ return attribute && !FILTERED_ATTRIBUTES.includes(attribute.trait_type);
124
+ }).map(function (trait) {
125
+ return _objectSpread(_objectSpread({}, trait), {}, {
126
+ name: trait.trait_type,
127
+ rarity_percent: RarityToPercentage(trait.rarity)
128
+ });
129
+ });
130
+
131
+ // Generate embed URLs for additional media
132
+ if (nft.metadata.additional_media) {
133
+ nft.metadata.additional_media = nft.metadata.additional_media.map(function (media) {
134
+ try {
135
+ // Generate embed URLs for additional media
136
+ var mediaType = (media.media_type || "").toLowerCase();
137
+ if (mediaType === "image") {
138
+ return _objectSpread(_objectSpread({}, media), {}, {
139
+ embed_url: media.media_file && media.media_file.url
140
+ });
141
+ }
142
+ var embedUrl = new URL("https://embed.v3.contentfabric.io");
143
+ embedUrl.searchParams.set("p", "");
144
+ embedUrl.searchParams.set("net", walletClient.network === "demo" ? "demo" : "main");
145
+ if (media.requires_permissions) {
146
+ embedUrl.searchParams.set("ath", walletClient.AuthToken());
147
+ }
148
+ if (["video", "audio"].includes(mediaType)) {
149
+ embedUrl.searchParams.set("vid", LinkTargetHash(media.media_link));
150
+ embedUrl.searchParams.set("ct", "h");
151
+ embedUrl.searchParams.set("ap", "");
152
+ } else if (mediaType === "ebook" && media.media_file) {
153
+ embedUrl.searchParams.set("type", "ebook");
154
+ embedUrl.searchParams.set("vid", media.media_file["."].container);
155
+ embedUrl.searchParams.set("murl", btoa(media.media_file.url));
156
+ }
157
+ return _objectSpread(_objectSpread({}, media), {}, {
158
+ embed_url: embedUrl.toString()
159
+ });
160
+ } catch (error) {
161
+ walletClient.Log(error, true);
162
+ return media;
163
+ }
164
+ });
165
+ }
166
+
167
+ // Generate embed URLs for pack opening animations
168
+ ["open_animation", "open_animation__mobile", "reveal_animation", "reveal_animation_mobile"].forEach(function (key) {
169
+ try {
170
+ if (nft.metadata.pack_options && nft.metadata.pack_options[key]) {
171
+ var embedUrl = new URL("https://embed.v3.contentfabric.io");
172
+ embedUrl.searchParams.set("p", "");
173
+ embedUrl.searchParams.set("net", walletClient.network === "demo" ? "demo" : "main");
174
+ embedUrl.searchParams.set("vid", LinkTargetHash(nft.metadata.pack_options[key]));
175
+ embedUrl.searchParams.set("ap", "");
176
+ if (!key.startsWith("reveal")) {
177
+ embedUrl.searchParams.set("m", "");
178
+ embedUrl.searchParams.set("lp", "");
179
+ }
180
+ nft.metadata.pack_options["".concat(key, "_embed_url")] = embedUrl.toString();
181
+ }
182
+ // eslint-disable-next-line no-empty
183
+ } catch (error) {}
184
+ });
185
+ return nft;
186
+ };
187
+ exports.FormatNFTMetadata = FormatNFTMetadata;
188
+ exports.FormatNFT = function (walletClient, item) {
189
+ return FormatNFTMetadata(walletClient, FormatNFTDetails(item));
190
+ };
191
+
192
+ // https://stackoverflow.com/questions/4068373/center-a-popup-window-on-screen
193
+ var Popup = function Popup(_ref) {
194
+ var url = _ref.url,
195
+ title = _ref.title,
196
+ w = _ref.w,
197
+ h = _ref.h;
198
+ // Fixes dual-screen position
199
+ var dualScreenLeft = window.screenLeft || window.screenX;
200
+ var dualScreenTop = window.screenTop || window.screenY;
201
+ var width = window.innerWidth || document.documentElement.clientWidth || screen.width;
202
+ var height = window.innerHeight || document.documentElement.clientHeight || screen.height;
203
+ var systemZoom = width / window.screen.availWidth;
204
+ var left = (width - w) / 2 / systemZoom + dualScreenLeft;
205
+ var top = (height - h) / 2 / systemZoom + dualScreenTop;
206
+ var newWindow = window.open(url, title, "\n width=".concat(w / systemZoom, ",\n height=").concat(h / systemZoom, ",\n top=").concat(top, ",\n left=").concat(left, "\n "));
207
+ if (newWindow && window.focus) {
208
+ newWindow.focus();
209
+ }
210
+ return newWindow;
211
+ };
212
+ exports.ActionPopup = /*#__PURE__*/function () {
213
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref2) {
214
+ var _ref2$mode, mode, url, onMessage, onCancel;
215
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
216
+ while (1) switch (_context3.prev = _context3.next) {
217
+ case 0:
218
+ _ref2$mode = _ref2.mode, mode = _ref2$mode === void 0 ? "tab" : _ref2$mode, url = _ref2.url, onMessage = _ref2.onMessage, onCancel = _ref2.onCancel;
219
+ _context3.next = 3;
220
+ return new Promise(function (resolve) {
221
+ var newWindow = mode === "popup" ? Popup({
222
+ url: url,
223
+ title: "Eluvio Media Wallet",
224
+ w: 500,
225
+ h: 850
226
+ }) : window.open(url);
227
+ var closeCheck = setInterval( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
228
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
229
+ while (1) switch (_context.prev = _context.next) {
230
+ case 0:
231
+ if (!newWindow.closed) {
232
+ _context.next = 6;
233
+ break;
234
+ }
235
+ clearInterval(closeCheck);
236
+ if (!onCancel) {
237
+ _context.next = 5;
238
+ break;
239
+ }
240
+ _context.next = 5;
241
+ return onCancel();
242
+ case 5:
243
+ resolve();
244
+ case 6:
245
+ case "end":
246
+ return _context.stop();
247
+ }
248
+ }, _callee);
249
+ })), 1000);
250
+ window.addEventListener("message", /*#__PURE__*/function () {
251
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(event) {
252
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
253
+ while (1) switch (_context2.prev = _context2.next) {
254
+ case 0:
255
+ _context2.next = 2;
256
+ return onMessage(event, function () {
257
+ clearInterval(closeCheck);
258
+ newWindow.close();
259
+ resolve();
260
+ });
261
+ case 2:
262
+ case "end":
263
+ return _context2.stop();
264
+ }
265
+ }, _callee2);
266
+ }));
267
+ return function (_x2) {
268
+ return _ref5.apply(this, arguments);
269
+ };
270
+ }());
271
+ });
272
+ case 3:
273
+ case "end":
274
+ return _context3.stop();
275
+ }
276
+ }, _callee3);
277
+ }));
278
+ return function (_x) {
279
+ return _ref3.apply(this, arguments);
280
+ };
281
+ }();