@meshconnect/web-link-sdk 2.1.0-rc.1 → 2.1.0-rc.2

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.
package/index.js DELETED
@@ -1,1433 +0,0 @@
1
- // src/utils/event-types.ts
2
- function _array_like_to_array(arr, len) {
3
- if (len == null || len > arr.length) len = arr.length;
4
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5
- return arr2;
6
- }
7
- function _array_without_holes(arr) {
8
- if (Array.isArray(arr)) return _array_like_to_array(arr);
9
- }
10
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
11
- try {
12
- var info = gen[key](arg);
13
- var value = info.value;
14
- } catch (error) {
15
- reject(error);
16
- return;
17
- }
18
- if (info.done) {
19
- resolve(value);
20
- } else {
21
- Promise.resolve(value).then(_next, _throw);
22
- }
23
- }
24
- function _async_to_generator(fn) {
25
- return function() {
26
- var self = this, args = arguments;
27
- return new Promise(function(resolve, reject) {
28
- var gen = fn.apply(self, args);
29
- function _next(value) {
30
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
31
- }
32
- function _throw(err) {
33
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
34
- }
35
- _next(undefined);
36
- });
37
- };
38
- }
39
- function _define_property(obj, key, value) {
40
- if (key in obj) {
41
- Object.defineProperty(obj, key, {
42
- value: value,
43
- enumerable: true,
44
- configurable: true,
45
- writable: true
46
- });
47
- } else {
48
- obj[key] = value;
49
- }
50
- return obj;
51
- }
52
- function _instanceof(left, right) {
53
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
54
- return !!right[Symbol.hasInstance](left);
55
- } else {
56
- return left instanceof right;
57
- }
58
- }
59
- function _iterable_to_array(iter) {
60
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
61
- }
62
- function _non_iterable_spread() {
63
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
- }
65
- function _object_spread(target) {
66
- for(var i = 1; i < arguments.length; i++){
67
- var source = arguments[i] != null ? arguments[i] : {};
68
- var ownKeys = Object.keys(source);
69
- if (typeof Object.getOwnPropertySymbols === "function") {
70
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
71
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
72
- }));
73
- }
74
- ownKeys.forEach(function(key) {
75
- _define_property(target, key, source[key]);
76
- });
77
- }
78
- return target;
79
- }
80
- function _to_consumable_array(arr) {
81
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
82
- }
83
- function _unsupported_iterable_to_array(o, minLen) {
84
- if (!o) return;
85
- if (typeof o === "string") return _array_like_to_array(o, minLen);
86
- var n = Object.prototype.toString.call(o).slice(8, -1);
87
- if (n === "Object" && o.constructor) n = o.constructor.name;
88
- if (n === "Map" || n === "Set") return Array.from(n);
89
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
90
- }
91
- function _ts_generator(thisArg, body) {
92
- var f, y, t, g, _ = {
93
- label: 0,
94
- sent: function() {
95
- if (t[0] & 1) throw t[1];
96
- return t[1];
97
- },
98
- trys: [],
99
- ops: []
100
- };
101
- return g = {
102
- next: verb(0),
103
- "throw": verb(1),
104
- "return": verb(2)
105
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
106
- return this;
107
- }), g;
108
- function verb(n) {
109
- return function(v) {
110
- return step([
111
- n,
112
- v
113
- ]);
114
- };
115
- }
116
- function step(op) {
117
- if (f) throw new TypeError("Generator is already executing.");
118
- while(_)try {
119
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
120
- if (y = 0, t) op = [
121
- op[0] & 2,
122
- t.value
123
- ];
124
- switch(op[0]){
125
- case 0:
126
- case 1:
127
- t = op;
128
- break;
129
- case 4:
130
- _.label++;
131
- return {
132
- value: op[1],
133
- done: false
134
- };
135
- case 5:
136
- _.label++;
137
- y = op[1];
138
- op = [
139
- 0
140
- ];
141
- continue;
142
- case 7:
143
- op = _.ops.pop();
144
- _.trys.pop();
145
- continue;
146
- default:
147
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
148
- _ = 0;
149
- continue;
150
- }
151
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
152
- _.label = op[1];
153
- break;
154
- }
155
- if (op[0] === 6 && _.label < t[1]) {
156
- _.label = t[1];
157
- t = op;
158
- break;
159
- }
160
- if (t && _.label < t[2]) {
161
- _.label = t[2];
162
- _.ops.push(op);
163
- break;
164
- }
165
- if (t[2]) _.ops.pop();
166
- _.trys.pop();
167
- continue;
168
- }
169
- op = body.call(thisArg, _);
170
- } catch (e) {
171
- op = [
172
- 6,
173
- e
174
- ];
175
- y = 0;
176
- } finally{
177
- f = t = 0;
178
- }
179
- if (op[0] & 5) throw op[1];
180
- return {
181
- value: op[0] ? op[1] : void 0,
182
- done: true
183
- };
184
- }
185
- }
186
- var LINK_EVENT_TYPE_KEYS = [
187
- "integrationConnected",
188
- "integrationConnectionError",
189
- "integrationMfaRequired",
190
- "integrationMfaEntered",
191
- "integrationOAuthStarted",
192
- "integrationAccountSelectionRequired",
193
- "transferCompleted",
194
- "integrationSelected",
195
- "credentialsEntered",
196
- "transferStarted",
197
- "transferPreviewed",
198
- "transferPreviewError",
199
- "transferExecutionError",
200
- "pageLoaded",
201
- "transferAssetSelected",
202
- "transferNetworkSelected",
203
- "transferAmountEntered",
204
- "transferMfaRequired",
205
- "transferMfaEntered",
206
- "transferKycRequired",
207
- "done",
208
- "close"
209
- ];
210
- function isLinkEventTypeKey(key) {
211
- return LINK_EVENT_TYPE_KEYS.includes(key);
212
- }
213
- // src/utils/style.ts
214
- function getLinkStyle(url) {
215
- try {
216
- var params = new URLSearchParams(new URL(url).search);
217
- var style = params.get("link_style");
218
- return style && JSON.parse(window.atob(style));
219
- } catch (e) {
220
- return void 0;
221
- }
222
- }
223
- function getNumber(def, value) {
224
- return value !== void 0 ? value : def;
225
- }
226
- // src/utils/popup.ts
227
- var popupId = "mesh-link-popup";
228
- var backdropId = "mesh-link-popup__backdrop";
229
- var popupContentId = "mesh-link-popup__popup-content";
230
- var stylesId = "mesh-link-popup__styles";
231
- var iframeId = "mesh-link-popup__iframe";
232
- var getPopupHtml = function(link) {
233
- return '\n<div id="'.concat(popupId, '">\n <div id="').concat(backdropId, '"></div>\n <div id="').concat(popupContentId, '">\n <iframe id="').concat(iframeId, '" src="').concat(link, '" allow="clipboard-read *; clipboard-write *" />\n </div>\n</div>\n');
234
- };
235
- var getStyles = function(style) {
236
- return '\n<style id="'.concat(stylesId, '">\n body {\n position: fixed;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n overflow: hidden;\n }\n\n #').concat(popupId, " {\n all: unset;\n position: fixed;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n }\n\n #").concat(backdropId, " {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 10000;\n background: black;\n opacity: ").concat(getNumber(0.6, style === null || style === void 0 ? void 0 : style.io), ";\n }\n\n #").concat(popupContentId, " {\n position: absolute;\n height: 80%;\n max-height: 710px;\n min-height: 685px;\n margin: auto;\n z-index: 10001;\n width: 30%;\n max-width: 430px;\n min-width: 380px;\n display: flex;\n flex-direction: column;\n border-radius: ").concat(getNumber(24, style === null || style === void 0 ? void 0 : style.ir), "px;\n background: white;\n flex-grow: 1;\n }\n\n #").concat(popupContentId, " iframe {\n border: none;\n width: 100%;\n flex-grow: 1;\n border-radius: ").concat(getNumber(24, style === null || style === void 0 ? void 0 : style.ir), "px;\n }\n\n @media only screen and (max-width: 768px) {\n #").concat(popupContentId, " {\n height: 100vh;\n width: 100vw;\n max-width: 100%;\n min-width: 100%;\n max-height: 100%;\n min-height: 100%;\n border-radius: 0px;\n }\n\n #").concat(popupContentId, " iframe {\n border-radius: 0px;\n }\n }\n\n @media only screen and (max-height: 710px) {\n #").concat(popupContentId, " {\n max-height: 100%;\n min-height: 100%;\n }\n }\n</style>\n");
237
- };
238
- function removePopup() {
239
- var _existingPopup_parentElement, _existingStyles_parentElement;
240
- var existingPopup = window.document.getElementById(popupId);
241
- existingPopup === null || existingPopup === void 0 ? void 0 : (_existingPopup_parentElement = existingPopup.parentElement) === null || _existingPopup_parentElement === void 0 ? void 0 : _existingPopup_parentElement.removeChild(existingPopup);
242
- var existingStyles = window.document.getElementById(stylesId);
243
- existingStyles === null || existingStyles === void 0 ? void 0 : (_existingStyles_parentElement = existingStyles.parentElement) === null || _existingStyles_parentElement === void 0 ? void 0 : _existingStyles_parentElement.removeChild(existingStyles);
244
- }
245
- function addPopup(iframeLink) {
246
- var style = getLinkStyle(iframeLink);
247
- removePopup();
248
- var popup = getPopupHtml(iframeLink);
249
- var stylesElement = htmlToElement(getStyles(style));
250
- if (stylesElement) {
251
- window.document.head.appendChild(stylesElement);
252
- }
253
- var popupElement = htmlToElement(popup);
254
- if (popupElement) {
255
- window.document.body.appendChild(popupElement);
256
- }
257
- }
258
- function htmlToElement(html) {
259
- var template = document.createElement("template");
260
- html = html.trim();
261
- template.innerHTML = html;
262
- return template.content.firstChild;
263
- }
264
- // src/utils/wallet-browser-event-types.ts
265
- var WALLET_BROWSER_EVENT_TYPE_KEYS = [
266
- "walletBrowserInjectedWalletSelected",
267
- "walletBrowserChainSwitchRequest",
268
- "walletBrowserTransferBalanceRequest",
269
- "walletBrowserNativeTransferRequest",
270
- "walletBrowserNonNativeTransferRequest",
271
- "walletBrowserNativeSmartDeposit",
272
- "walletBrowserNonNativeSmartDeposit",
273
- "walletBrowserDisconnect"
274
- ];
275
- function isWalletBrowserEventTypeKey(key) {
276
- return WALLET_BROWSER_EVENT_TYPE_KEYS.includes(key);
277
- }
278
- // src/utils/version.ts
279
- var sdkVersion = "2.1.0-rc.1";
280
- // src/utils/sdk-specs.ts
281
- var sdkSpecs = {
282
- platform: "web",
283
- version: sdkVersion
284
- };
285
- // src/utils/wagmiCoreConnectorsUtils.ts
286
- import { getConnectors, connect, disconnect, getAccount, signMessage, getBalance, sendTransaction, switchChain, simulateContract, writeContract, createConfig, http, fallback, BaseError, ChainNotConfiguredError, ConnectorAccountNotFoundError, ConnectorAlreadyConnectedError, ConnectorNotConnectedError, ConnectorNotFoundError, ProviderNotFoundError, SwitchChainNotSupportedError } from "@wagmi/core";
287
- import { injected } from "@wagmi/connectors";
288
- import { parseUnits } from "viem";
289
- var resolveConfigReady;
290
- var configReady = new Promise(function(resolve) {
291
- resolveConfigReady = resolve;
292
- });
293
- var setConfig = function(config) {
294
- try {
295
- var transports = {};
296
- for(var chainId in config.transports){
297
- var urls = config.transports[chainId];
298
- if (Array.isArray(urls)) {
299
- transports[chainId] = fallback(urls.map(function(url) {
300
- return http(url);
301
- }));
302
- } else {
303
- transports[chainId] = http(urls);
304
- }
305
- }
306
- var chainsTuple = _to_consumable_array(config.chains);
307
- var dynamicConfig = createConfig({
308
- chains: chainsTuple,
309
- multiInjectedProviderDiscovery: true,
310
- transports: transports,
311
- connectors: [
312
- injected()
313
- ]
314
- });
315
- resolveConfigReady(dynamicConfig);
316
- } catch (error) {
317
- console.error("Error setting configuration:", error);
318
- }
319
- };
320
- window.addEventListener("message", function(event) {
321
- if (event.data.type === "walletBrowserConfigInitialize") {
322
- try {
323
- var parsedConfig = JSON.parse(event.data.payload);
324
- setConfig(parsedConfig);
325
- } catch (error) {
326
- console.error("Error parsing configuration:", error);
327
- }
328
- }
329
- });
330
- var configPromise = configReady;
331
- var getWagmiCoreInjectedData = function() {
332
- var _ref = _async_to_generator(function() {
333
- return _ts_generator(this, function(_state) {
334
- return [
335
- 2,
336
- withWagmiErrorHandling(/*#__PURE__*/ _async_to_generator(function() {
337
- var config, connectors, mappedConnectors;
338
- return _ts_generator(this, function(_state) {
339
- switch(_state.label){
340
- case 0:
341
- return [
342
- 4,
343
- configPromise
344
- ];
345
- case 1:
346
- config = _state.sent();
347
- return [
348
- 4,
349
- getConnectors(config)
350
- ];
351
- case 2:
352
- connectors = _state.sent();
353
- mappedConnectors = connectors.map(function(param) {
354
- var id = param.id, name = param.name, type = param.type, uid = param.uid, icon = param.icon;
355
- return {
356
- id: id,
357
- name: name,
358
- type: type,
359
- uid: uid,
360
- icon: icon || void 0
361
- };
362
- });
363
- return [
364
- 2,
365
- mappedConnectors
366
- ];
367
- }
368
- });
369
- }))
370
- ];
371
- });
372
- });
373
- return function getWagmiCoreInjectedData() {
374
- return _ref.apply(this, arguments);
375
- };
376
- }();
377
- var connectToSpecificWallet = function() {
378
- var _ref = _async_to_generator(function(walletName) {
379
- return _ts_generator(this, function(_state) {
380
- return [
381
- 2,
382
- withWagmiErrorHandling(/*#__PURE__*/ _async_to_generator(function() {
383
- var config, connectors, selectedConnector, result, accountInfo, txSigned;
384
- return _ts_generator(this, function(_state) {
385
- switch(_state.label){
386
- case 0:
387
- return [
388
- 4,
389
- configPromise
390
- ];
391
- case 1:
392
- config = _state.sent();
393
- connectors = getConnectors(config);
394
- selectedConnector = connectors.find(function(connector) {
395
- return connector.name.toLowerCase() === walletName.toLowerCase();
396
- });
397
- if (!selectedConnector) {
398
- throw new Error("No connector found for wallet: ".concat(walletName));
399
- }
400
- return [
401
- 4,
402
- disconnectCurrentAccount(config, selectedConnector)
403
- ];
404
- case 2:
405
- _state.sent();
406
- return [
407
- 4,
408
- connect(config, {
409
- connector: selectedConnector
410
- })
411
- ];
412
- case 3:
413
- result = _state.sent();
414
- return [
415
- 4,
416
- getAccount(config)
417
- ];
418
- case 4:
419
- accountInfo = _state.sent();
420
- return [
421
- 4,
422
- signedMessage(config, accountInfo)
423
- ];
424
- case 5:
425
- txSigned = _state.sent();
426
- return [
427
- 2,
428
- {
429
- accounts: _to_consumable_array(result.accounts),
430
- chainId: result.chainId,
431
- txSigned: txSigned
432
- }
433
- ];
434
- }
435
- });
436
- }))
437
- ];
438
- });
439
- });
440
- return function connectToSpecificWallet(walletName) {
441
- return _ref.apply(this, arguments);
442
- };
443
- }();
444
- var signedMessage = function() {
445
- var _ref = _async_to_generator(function(config, accountInfo) {
446
- return _ts_generator(this, function(_state) {
447
- if (!accountInfo.address) {
448
- return [
449
- 2,
450
- new Error("Address not found")
451
- ];
452
- }
453
- return [
454
- 2,
455
- withWagmiErrorHandling(/*#__PURE__*/ _async_to_generator(function() {
456
- var signedMessage2;
457
- return _ts_generator(this, function(_state) {
458
- switch(_state.label){
459
- case 0:
460
- return [
461
- 4,
462
- signMessage(config, {
463
- account: accountInfo.address,
464
- message: "Sign to verify ownership of wallet"
465
- })
466
- ];
467
- case 1:
468
- signedMessage2 = _state.sent();
469
- return [
470
- 2,
471
- signedMessage2
472
- ];
473
- }
474
- });
475
- }))
476
- ];
477
- });
478
- });
479
- return function signedMessage(config, accountInfo) {
480
- return _ref.apply(this, arguments);
481
- };
482
- }();
483
- var switchChainFromSDK = function() {
484
- var _ref = _async_to_generator(function(chainId) {
485
- return _ts_generator(this, function(_state) {
486
- switch(_state.label){
487
- case 0:
488
- return [
489
- 4,
490
- withWagmiErrorHandling(/*#__PURE__*/ _async_to_generator(function() {
491
- var config, result;
492
- return _ts_generator(this, function(_state) {
493
- switch(_state.label){
494
- case 0:
495
- return [
496
- 4,
497
- configPromise
498
- ];
499
- case 1:
500
- config = _state.sent();
501
- return [
502
- 4,
503
- switchChain(config, {
504
- chainId: chainId
505
- })
506
- ];
507
- case 2:
508
- result = _state.sent();
509
- return [
510
- 2,
511
- result
512
- ];
513
- }
514
- });
515
- }))
516
- ];
517
- case 1:
518
- return [
519
- 2,
520
- _state.sent()
521
- ];
522
- }
523
- });
524
- });
525
- return function switchChainFromSDK(chainId) {
526
- return _ref.apply(this, arguments);
527
- };
528
- }();
529
- var sendTransactionFromSDK = function() {
530
- var _ref = _async_to_generator(function(toAddress, amount, decimalPlaces, chainId, account) {
531
- return _ts_generator(this, function(_state) {
532
- switch(_state.label){
533
- case 0:
534
- return [
535
- 4,
536
- withWagmiErrorHandling(/*#__PURE__*/ _async_to_generator(function() {
537
- var config, result;
538
- return _ts_generator(this, function(_state) {
539
- switch(_state.label){
540
- case 0:
541
- return [
542
- 4,
543
- configPromise
544
- ];
545
- case 1:
546
- config = _state.sent();
547
- return [
548
- 4,
549
- sendTransaction(config, {
550
- to: formatAddress(toAddress),
551
- value: parseUnits(amount.toFixed(decimalPlaces) || "0", decimalPlaces),
552
- chainId: chainId,
553
- account: formatAddress(account)
554
- })
555
- ];
556
- case 2:
557
- result = _state.sent();
558
- return [
559
- 2,
560
- result
561
- ];
562
- }
563
- });
564
- }))
565
- ];
566
- case 1:
567
- return [
568
- 2,
569
- _state.sent()
570
- ];
571
- }
572
- });
573
- });
574
- return function sendTransactionFromSDK(toAddress, amount, decimalPlaces, chainId, account) {
575
- return _ref.apply(this, arguments);
576
- };
577
- }();
578
- var formatAddress = function(address) {
579
- return address.startsWith("0x") ? address : "0x".concat(address);
580
- };
581
- var sendNonNativeTransactionFromSDK = function() {
582
- var _ref = _async_to_generator(function(address, abi, functionName, args, value) {
583
- return _ts_generator(this, function(_state) {
584
- switch(_state.label){
585
- case 0:
586
- return [
587
- 4,
588
- withWagmiErrorHandling(/*#__PURE__*/ _async_to_generator(function() {
589
- var config, connector, request, result;
590
- return _ts_generator(this, function(_state) {
591
- switch(_state.label){
592
- case 0:
593
- return [
594
- 4,
595
- configPromise
596
- ];
597
- case 1:
598
- config = _state.sent();
599
- return [
600
- 4,
601
- getAccount(config)
602
- ];
603
- case 2:
604
- connector = _state.sent().connector;
605
- return [
606
- 4,
607
- simulateContract(config, {
608
- address: formatAddress(address),
609
- abi: abi,
610
- functionName: functionName,
611
- args: args,
612
- value: value,
613
- connector: connector
614
- })
615
- ];
616
- case 3:
617
- request = _state.sent().request;
618
- return [
619
- 4,
620
- writeContract(config, request)
621
- ];
622
- case 4:
623
- result = _state.sent();
624
- return [
625
- 2,
626
- result
627
- ];
628
- }
629
- });
630
- }))
631
- ];
632
- case 1:
633
- return [
634
- 2,
635
- _state.sent()
636
- ];
637
- }
638
- });
639
- });
640
- return function sendNonNativeTransactionFromSDK(address, abi, functionName, args, value) {
641
- return _ref.apply(this, arguments);
642
- };
643
- }();
644
- var disconnectCurrentAccount = function() {
645
- var _ref = _async_to_generator(function(config, currentConnector) {
646
- return _ts_generator(this, function(_state) {
647
- switch(_state.label){
648
- case 0:
649
- return [
650
- 4,
651
- withWagmiErrorHandling(/*#__PURE__*/ _async_to_generator(function() {
652
- return _ts_generator(this, function(_state) {
653
- switch(_state.label){
654
- case 0:
655
- return [
656
- 4,
657
- disconnect(config, {
658
- connector: currentConnector
659
- })
660
- ];
661
- case 1:
662
- _state.sent();
663
- return [
664
- 2
665
- ];
666
- }
667
- });
668
- }))
669
- ];
670
- case 1:
671
- return [
672
- 2,
673
- _state.sent()
674
- ];
675
- }
676
- });
677
- });
678
- return function disconnectCurrentAccount(config, currentConnector) {
679
- return _ref.apply(this, arguments);
680
- };
681
- }();
682
- var disconnectAllAccounts = function() {
683
- var _ref = _async_to_generator(function() {
684
- var config;
685
- return _ts_generator(this, function(_state) {
686
- switch(_state.label){
687
- case 0:
688
- return [
689
- 4,
690
- configPromise
691
- ];
692
- case 1:
693
- config = _state.sent();
694
- return [
695
- 2,
696
- withWagmiErrorHandling(/*#__PURE__*/ _async_to_generator(function() {
697
- return _ts_generator(this, function(_state) {
698
- switch(_state.label){
699
- case 0:
700
- return [
701
- 4,
702
- disconnect(config)
703
- ];
704
- case 1:
705
- _state.sent();
706
- return [
707
- 2
708
- ];
709
- }
710
- });
711
- }))
712
- ];
713
- }
714
- });
715
- });
716
- return function disconnectAllAccounts() {
717
- return _ref.apply(this, arguments);
718
- };
719
- }();
720
- function withWagmiErrorHandling(fn) {
721
- return _withWagmiErrorHandling.apply(this, arguments);
722
- }
723
- function _withWagmiErrorHandling() {
724
- _withWagmiErrorHandling = _async_to_generator(function(fn) {
725
- var error;
726
- return _ts_generator(this, function(_state) {
727
- switch(_state.label){
728
- case 0:
729
- _state.trys.push([
730
- 0,
731
- 2,
732
- ,
733
- 3
734
- ]);
735
- return [
736
- 4,
737
- fn()
738
- ];
739
- case 1:
740
- return [
741
- 2,
742
- _state.sent()
743
- ];
744
- case 2:
745
- error = _state.sent();
746
- if (_instanceof(error, BaseError)) {
747
- return [
748
- 2,
749
- handleWagmiError(error)
750
- ];
751
- } else {
752
- if (_instanceof(error, Error)) {
753
- throw new Error(error.message);
754
- } else {
755
- throw new Error("An unexpected error has occurred");
756
- }
757
- }
758
- return [
759
- 3,
760
- 3
761
- ];
762
- case 3:
763
- return [
764
- 2
765
- ];
766
- }
767
- });
768
- });
769
- return _withWagmiErrorHandling.apply(this, arguments);
770
- }
771
- var handleWagmiError = function(error) {
772
- if (_instanceof(error, ChainNotConfiguredError)) {
773
- return handleChainNotConfiguredError(error);
774
- } else if (_instanceof(error, ConnectorAccountNotFoundError)) {
775
- return handleConnectorAccountNotFoundError(error);
776
- } else if (_instanceof(error, ConnectorAlreadyConnectedError)) {
777
- return handleConnectorAlreadyConnectedError(error);
778
- } else if (_instanceof(error, ConnectorNotConnectedError)) {
779
- return handleConnectorNotConnectedError(error);
780
- } else if (_instanceof(error, ConnectorNotFoundError)) {
781
- return handleConnectorNotFoundError(error);
782
- } else if (_instanceof(error, ProviderNotFoundError)) {
783
- return handleProviderNotFoundError(error);
784
- } else if (_instanceof(error, SwitchChainNotSupportedError)) {
785
- return handleSwitchChainNotSupportedError(error);
786
- } else if (_instanceof(error, BaseError)) {
787
- return handleBaseError(error);
788
- } else {
789
- if (_instanceof(error, Error)) {
790
- throw new Error(error.message);
791
- } else {
792
- throw new Error("An unexpected error has occurred");
793
- }
794
- }
795
- };
796
- var handleBaseError = function(error) {
797
- throw new Error(error.message);
798
- };
799
- var handleChainNotConfiguredError = function(error) {
800
- throw new Error("Chain not configured: ".concat(error.message));
801
- };
802
- var handleConnectorAccountNotFoundError = function(error) {
803
- throw new Error("Connector account not found: ".concat(error.message));
804
- };
805
- var handleConnectorAlreadyConnectedError = function(error) {
806
- throw new Error("Connector already connected: ".concat(error.message));
807
- };
808
- var handleConnectorNotConnectedError = function(error) {
809
- throw new Error("Connector not connected: ".concat(error.message));
810
- };
811
- var handleConnectorNotFoundError = function(error) {
812
- throw new Error("Connector not found: ".concat(error.message));
813
- };
814
- var handleProviderNotFoundError = function(error) {
815
- throw new Error("Provider not found: ".concat(error.message));
816
- };
817
- var handleSwitchChainNotSupportedError = function(error) {
818
- throw new Error("Switch chain not supported: ".concat(error.message));
819
- };
820
- // src/Link.ts
821
- var currentOptions;
822
- var possibleOrigins = /* @__PURE__ */ new Set([
823
- "https://web.meshconnect.com",
824
- "https://web.getfront.com"
825
- ]);
826
- var iframeElement = function() {
827
- return document.getElementById(iframeId);
828
- };
829
- function sendMessageToIframe(message) {
830
- possibleOrigins.forEach(function(origin) {
831
- try {
832
- var _iframeElement_contentWindow;
833
- (_iframeElement_contentWindow = iframeElement().contentWindow) === null || _iframeElement_contentWindow === void 0 ? void 0 : _iframeElement_contentWindow.postMessage(message, origin);
834
- } catch (e) {
835
- console.error("Mesh SDK: Failed to deliver message to the iframe");
836
- console.error(e);
837
- }
838
- });
839
- }
840
- function handleLinkEvent(event) {
841
- return _handleLinkEvent.apply(this, arguments);
842
- }
843
- function _handleLinkEvent() {
844
- _handleLinkEvent = _async_to_generator(function(event) {
845
- var _, _currentOptions_onEvent, _currentOptions_onIntegrationConnected, payload, _currentOptions_onEvent1, _currentOptions_onIntegrationConnected1, payload1, _currentOptions_onEvent2, _currentOptions_onTransferFinished, payload2, _event_data, _currentOptions_onExit, payload3, _window_open, w, h, left, top, _currentOptions_onEvent3, injectedConnectors, _currentOptions_onEvent4;
846
- return _ts_generator(this, function(_state) {
847
- switch(_state.label){
848
- case 0:
849
- _ = event.data.type;
850
- switch(_){
851
- case "brokerageAccountAccessToken":
852
- return [
853
- 3,
854
- 1
855
- ];
856
- case "delayedAuthentication":
857
- return [
858
- 3,
859
- 2
860
- ];
861
- case "transferFinished":
862
- return [
863
- 3,
864
- 3
865
- ];
866
- case "close":
867
- return [
868
- 3,
869
- 4
870
- ];
871
- case "done":
872
- return [
873
- 3,
874
- 4
875
- ];
876
- case "oauthLinkOpen":
877
- return [
878
- 3,
879
- 5
880
- ];
881
- case "loaded":
882
- return [
883
- 3,
884
- 6
885
- ];
886
- }
887
- return [
888
- 3,
889
- 8
890
- ];
891
- case 1:
892
- {
893
- ;
894
- payload = {
895
- accessToken: event.data.payload
896
- };
897
- currentOptions === null || currentOptions === void 0 ? void 0 : (_currentOptions_onEvent = currentOptions.onEvent) === null || _currentOptions_onEvent === void 0 ? void 0 : _currentOptions_onEvent.call(currentOptions, {
898
- type: "integrationConnected",
899
- payload: payload
900
- });
901
- currentOptions === null || currentOptions === void 0 ? void 0 : (_currentOptions_onIntegrationConnected = currentOptions.onIntegrationConnected) === null || _currentOptions_onIntegrationConnected === void 0 ? void 0 : _currentOptions_onIntegrationConnected.call(currentOptions, payload);
902
- return [
903
- 3,
904
- 9
905
- ];
906
- }
907
- _state.label = 2;
908
- case 2:
909
- {
910
- ;
911
- payload1 = {
912
- delayedAuth: event.data.payload
913
- };
914
- currentOptions === null || currentOptions === void 0 ? void 0 : (_currentOptions_onEvent1 = currentOptions.onEvent) === null || _currentOptions_onEvent1 === void 0 ? void 0 : _currentOptions_onEvent1.call(currentOptions, {
915
- type: "integrationConnected",
916
- payload: payload1
917
- });
918
- currentOptions === null || currentOptions === void 0 ? void 0 : (_currentOptions_onIntegrationConnected1 = currentOptions.onIntegrationConnected) === null || _currentOptions_onIntegrationConnected1 === void 0 ? void 0 : _currentOptions_onIntegrationConnected1.call(currentOptions, payload1);
919
- return [
920
- 3,
921
- 9
922
- ];
923
- }
924
- _state.label = 3;
925
- case 3:
926
- {
927
- ;
928
- payload2 = event.data.payload;
929
- currentOptions === null || currentOptions === void 0 ? void 0 : (_currentOptions_onEvent2 = currentOptions.onEvent) === null || _currentOptions_onEvent2 === void 0 ? void 0 : _currentOptions_onEvent2.call(currentOptions, {
930
- type: "transferCompleted",
931
- payload: payload2
932
- });
933
- currentOptions === null || currentOptions === void 0 ? void 0 : (_currentOptions_onTransferFinished = currentOptions.onTransferFinished) === null || _currentOptions_onTransferFinished === void 0 ? void 0 : _currentOptions_onTransferFinished.call(currentOptions, payload2);
934
- return [
935
- 3,
936
- 9
937
- ];
938
- }
939
- _state.label = 4;
940
- case 4:
941
- {
942
- ;
943
- payload3 = (_event_data = event.data) === null || _event_data === void 0 ? void 0 : _event_data.payload;
944
- currentOptions === null || currentOptions === void 0 ? void 0 : (_currentOptions_onExit = currentOptions.onExit) === null || _currentOptions_onExit === void 0 ? void 0 : _currentOptions_onExit.call(currentOptions, payload3 === null || payload3 === void 0 ? void 0 : payload3.errorMessage, payload3);
945
- removePopup();
946
- return [
947
- 3,
948
- 9
949
- ];
950
- }
951
- _state.label = 5;
952
- case 5:
953
- {
954
- if (event.data.link) {
955
- ;
956
- w = 700;
957
- h = 800;
958
- left = screen.width / 2 - w / 2;
959
- top = screen.height / 2 - h / 2;
960
- (_window_open = window.open(event.data.link, "_blank", "popup,noopener,noreferrer,resizable,scrollbars,width=".concat(w, ",height=").concat(h, ",top=").concat(top, ",left=").concat(left))) === null || _window_open === void 0 ? void 0 : _window_open.focus();
961
- }
962
- return [
963
- 3,
964
- 9
965
- ];
966
- }
967
- _state.label = 6;
968
- case 6:
969
- sendMessageToIframe({
970
- type: "meshSDKSpecs",
971
- payload: _object_spread({}, sdkSpecs)
972
- });
973
- if (currentOptions === null || currentOptions === void 0 ? void 0 : currentOptions.accessTokens) {
974
- sendMessageToIframe({
975
- type: "frontAccessTokens",
976
- payload: currentOptions.accessTokens
977
- });
978
- }
979
- if (currentOptions === null || currentOptions === void 0 ? void 0 : currentOptions.transferDestinationTokens) {
980
- sendMessageToIframe({
981
- type: "frontTransferDestinationTokens",
982
- payload: currentOptions.transferDestinationTokens
983
- });
984
- }
985
- return [
986
- 4,
987
- getWagmiCoreInjectedData()
988
- ];
989
- case 7:
990
- injectedConnectors = _state.sent();
991
- if (injectedConnectors) {
992
- sendMessageToIframe({
993
- type: "SDKinjectedWagmiConnectorsData",
994
- payload: injectedConnectors
995
- });
996
- }
997
- currentOptions === null || currentOptions === void 0 ? void 0 : (_currentOptions_onEvent3 = currentOptions.onEvent) === null || _currentOptions_onEvent3 === void 0 ? void 0 : _currentOptions_onEvent3.call(currentOptions, {
998
- type: "pageLoaded"
999
- });
1000
- return [
1001
- 3,
1002
- 9
1003
- ];
1004
- case 8:
1005
- {
1006
- if (isLinkEventTypeKey(event.data.type)) {
1007
- ;
1008
- currentOptions === null || currentOptions === void 0 ? void 0 : (_currentOptions_onEvent4 = currentOptions.onEvent) === null || _currentOptions_onEvent4 === void 0 ? void 0 : _currentOptions_onEvent4.call(currentOptions, event.data);
1009
- }
1010
- return [
1011
- 3,
1012
- 9
1013
- ];
1014
- }
1015
- _state.label = 9;
1016
- case 9:
1017
- return [
1018
- 2
1019
- ];
1020
- }
1021
- });
1022
- });
1023
- return _handleLinkEvent.apply(this, arguments);
1024
- }
1025
- function handleWalletBrowserEvent(event) {
1026
- return _handleWalletBrowserEvent.apply(this, arguments);
1027
- }
1028
- function _handleWalletBrowserEvent() {
1029
- _handleWalletBrowserEvent = _async_to_generator(function(event) {
1030
- var _, payload, result, error, payload1, result1, error1, payload2, result2, error2, payload3, result3, error3, payload4, result4, error4, payload5, result5, error5;
1031
- return _ts_generator(this, function(_state) {
1032
- switch(_state.label){
1033
- case 0:
1034
- _ = event.data.type;
1035
- switch(_){
1036
- case "walletBrowserInjectedWalletSelected":
1037
- return [
1038
- 3,
1039
- 1
1040
- ];
1041
- case "walletBrowserChainSwitchRequest":
1042
- return [
1043
- 3,
1044
- 6
1045
- ];
1046
- case "walletBrowserNativeTransferRequest":
1047
- return [
1048
- 3,
1049
- 11
1050
- ];
1051
- case "walletBrowserNonNativeTransferRequest":
1052
- return [
1053
- 3,
1054
- 16
1055
- ];
1056
- case "walletBrowserNativeSmartDeposit":
1057
- return [
1058
- 3,
1059
- 21
1060
- ];
1061
- case "walletBrowserNonNativeSmartDeposit":
1062
- return [
1063
- 3,
1064
- 26
1065
- ];
1066
- case "walletBrowserDisconnect":
1067
- return [
1068
- 3,
1069
- 31
1070
- ];
1071
- }
1072
- return [
1073
- 3,
1074
- 32
1075
- ];
1076
- case 1:
1077
- payload = event.data.payload;
1078
- _state.label = 2;
1079
- case 2:
1080
- _state.trys.push([
1081
- 2,
1082
- 4,
1083
- ,
1084
- 5
1085
- ]);
1086
- return [
1087
- 4,
1088
- connectToSpecificWallet(payload.integrationName)
1089
- ];
1090
- case 3:
1091
- result = _state.sent();
1092
- if (_instanceof(result, Error)) {
1093
- throw result;
1094
- }
1095
- sendMessageToIframe({
1096
- type: "SDKinjectedConnectionCompleted",
1097
- payload: {
1098
- accounts: result.accounts,
1099
- chainId: result.chainId,
1100
- signedTxHash: result.txSigned
1101
- }
1102
- });
1103
- return [
1104
- 3,
1105
- 5
1106
- ];
1107
- case 4:
1108
- error = _state.sent();
1109
- handleErrorAndSendMessage(error, "SDKinjectedConnectionCompleted");
1110
- return [
1111
- 3,
1112
- 5
1113
- ];
1114
- case 5:
1115
- return [
1116
- 3,
1117
- 32
1118
- ];
1119
- case 6:
1120
- payload1 = event.data.payload;
1121
- _state.label = 7;
1122
- case 7:
1123
- _state.trys.push([
1124
- 7,
1125
- 9,
1126
- ,
1127
- 10
1128
- ]);
1129
- return [
1130
- 4,
1131
- switchChainFromSDK(payload1.chainId)
1132
- ];
1133
- case 8:
1134
- result1 = _state.sent();
1135
- if (_instanceof(result1, Error)) {
1136
- throw result1;
1137
- }
1138
- sendMessageToIframe({
1139
- type: "SDKswitchChainCompleted",
1140
- payload: result1
1141
- });
1142
- return [
1143
- 3,
1144
- 10
1145
- ];
1146
- case 9:
1147
- error1 = _state.sent();
1148
- handleErrorAndSendMessage(error1, "SDKswitchChainCompleted");
1149
- return [
1150
- 3,
1151
- 10
1152
- ];
1153
- case 10:
1154
- return [
1155
- 3,
1156
- 32
1157
- ];
1158
- case 11:
1159
- payload2 = event.data.payload;
1160
- _state.label = 12;
1161
- case 12:
1162
- _state.trys.push([
1163
- 12,
1164
- 14,
1165
- ,
1166
- 15
1167
- ]);
1168
- return [
1169
- 4,
1170
- sendTransactionFromSDK(payload2.toAddress, payload2.amount, payload2.decimalPlaces, payload2.chainId, payload2.account)
1171
- ];
1172
- case 13:
1173
- result2 = _state.sent();
1174
- if (_instanceof(result2, Error)) {
1175
- throw result2;
1176
- }
1177
- sendMessageToIframe({
1178
- type: "SDKnativeTransferCompleted",
1179
- payload: result2
1180
- });
1181
- return [
1182
- 3,
1183
- 15
1184
- ];
1185
- case 14:
1186
- error2 = _state.sent();
1187
- handleErrorAndSendMessage(error2, "SDKnativeTransferCompleted");
1188
- return [
1189
- 3,
1190
- 15
1191
- ];
1192
- case 15:
1193
- return [
1194
- 3,
1195
- 32
1196
- ];
1197
- case 16:
1198
- payload3 = event.data.payload;
1199
- _state.label = 17;
1200
- case 17:
1201
- _state.trys.push([
1202
- 17,
1203
- 19,
1204
- ,
1205
- 20
1206
- ]);
1207
- return [
1208
- 4,
1209
- sendNonNativeTransactionFromSDK(payload3.address, JSON.parse(payload3.abi), payload3.functionName, payload3.args)
1210
- ];
1211
- case 18:
1212
- result3 = _state.sent();
1213
- if (_instanceof(result3, Error)) {
1214
- throw result3;
1215
- }
1216
- sendMessageToIframe({
1217
- type: "SDKnonNativeTransferCompleted",
1218
- payload: result3
1219
- });
1220
- return [
1221
- 3,
1222
- 20
1223
- ];
1224
- case 19:
1225
- error3 = _state.sent();
1226
- handleErrorAndSendMessage(error3, "SDKnonNativeTransferCompleted");
1227
- return [
1228
- 3,
1229
- 20
1230
- ];
1231
- case 20:
1232
- return [
1233
- 3,
1234
- 32
1235
- ];
1236
- case 21:
1237
- payload4 = event.data.payload;
1238
- _state.label = 22;
1239
- case 22:
1240
- _state.trys.push([
1241
- 22,
1242
- 24,
1243
- ,
1244
- 25
1245
- ]);
1246
- return [
1247
- 4,
1248
- sendNonNativeTransactionFromSDK(payload4.address, JSON.parse(payload4.abi), payload4.functionName, payload4.args, payload4.value)
1249
- ];
1250
- case 23:
1251
- result4 = _state.sent();
1252
- if (_instanceof(result4, Error)) {
1253
- throw result4;
1254
- }
1255
- sendMessageToIframe({
1256
- type: "SDKnativeSmartDepositCompleted",
1257
- payload: {
1258
- txHash: result4
1259
- }
1260
- });
1261
- return [
1262
- 3,
1263
- 25
1264
- ];
1265
- case 24:
1266
- error4 = _state.sent();
1267
- handleErrorAndSendMessage(error4, "SDKnativeSmartDepositCompleted");
1268
- return [
1269
- 3,
1270
- 25
1271
- ];
1272
- case 25:
1273
- return [
1274
- 3,
1275
- 32
1276
- ];
1277
- case 26:
1278
- payload5 = event.data.payload;
1279
- _state.label = 27;
1280
- case 27:
1281
- _state.trys.push([
1282
- 27,
1283
- 29,
1284
- ,
1285
- 30
1286
- ]);
1287
- return [
1288
- 4,
1289
- sendNonNativeTransactionFromSDK(payload5.address, JSON.parse(payload5.abi), payload5.functionName, payload5.args)
1290
- ];
1291
- case 28:
1292
- result5 = _state.sent();
1293
- if (result5) {
1294
- sendMessageToIframe({
1295
- type: "SDKnonNativeSmartDepositCompleted",
1296
- payload: {
1297
- txHash: result5
1298
- }
1299
- });
1300
- } else {
1301
- throw new Error("Transfer failed");
1302
- }
1303
- return [
1304
- 3,
1305
- 30
1306
- ];
1307
- case 29:
1308
- error5 = _state.sent();
1309
- handleErrorAndSendMessage(error5, "SDKnonNativeSmartDepositCompleted");
1310
- return [
1311
- 3,
1312
- 30
1313
- ];
1314
- case 30:
1315
- return [
1316
- 3,
1317
- 32
1318
- ];
1319
- case 31:
1320
- {
1321
- disconnectAllAccounts();
1322
- sendMessageToIframe({
1323
- type: "SDKdisconnectSuccess"
1324
- });
1325
- return [
1326
- 3,
1327
- 32
1328
- ];
1329
- }
1330
- _state.label = 32;
1331
- case 32:
1332
- return [
1333
- 2
1334
- ];
1335
- }
1336
- });
1337
- });
1338
- return _handleWalletBrowserEvent.apply(this, arguments);
1339
- }
1340
- function eventsListener(event) {
1341
- return _eventsListener.apply(this, arguments);
1342
- }
1343
- function _eventsListener() {
1344
- _eventsListener = _async_to_generator(function(event) {
1345
- return _ts_generator(this, function(_state) {
1346
- switch(_state.label){
1347
- case 0:
1348
- if (!isWalletBrowserEventTypeKey(event.data.type)) return [
1349
- 3,
1350
- 2
1351
- ];
1352
- return [
1353
- 4,
1354
- handleWalletBrowserEvent(event)
1355
- ];
1356
- case 1:
1357
- _state.sent();
1358
- return [
1359
- 3,
1360
- 4
1361
- ];
1362
- case 2:
1363
- return [
1364
- 4,
1365
- handleLinkEvent(event)
1366
- ];
1367
- case 3:
1368
- _state.sent();
1369
- _state.label = 4;
1370
- case 4:
1371
- return [
1372
- 2
1373
- ];
1374
- }
1375
- });
1376
- });
1377
- return _eventsListener.apply(this, arguments);
1378
- }
1379
- function handleErrorAndSendMessage(error, messageType) {
1380
- var errorMessage = "An unexpected error occurred";
1381
- if (_instanceof(error, Error)) {
1382
- errorMessage = error.message;
1383
- }
1384
- sendMessageToIframe({
1385
- type: messageType,
1386
- payload: {
1387
- error: errorMessage
1388
- }
1389
- });
1390
- }
1391
- var createLink = function(options) {
1392
- var openLink = function() {
1393
- var _ref = _async_to_generator(function(linkToken) {
1394
- var _options_onExit, linkUrl, iframeUrlObject;
1395
- return _ts_generator(this, function(_state) {
1396
- if (!linkToken) {
1397
- ;
1398
- options === null || options === void 0 ? void 0 : (_options_onExit = options.onExit) === null || _options_onExit === void 0 ? void 0 : _options_onExit.call(options, "Invalid link token!");
1399
- return [
1400
- 2
1401
- ];
1402
- }
1403
- currentOptions = options;
1404
- linkUrl = window.atob(linkToken);
1405
- iframeUrlObject = new URL(linkUrl);
1406
- if (iframeUrlObject.origin) {
1407
- possibleOrigins.add(iframeUrlObject.origin);
1408
- }
1409
- window.removeEventListener("message", eventsListener);
1410
- addPopup(linkUrl);
1411
- window.addEventListener("message", eventsListener);
1412
- return [
1413
- 2
1414
- ];
1415
- });
1416
- });
1417
- return function openLink(linkToken) {
1418
- return _ref.apply(this, arguments);
1419
- };
1420
- }();
1421
- var closeLink = function() {
1422
- var _options_onExit;
1423
- removePopup();
1424
- window.removeEventListener("message", eventsListener);
1425
- (_options_onExit = options.onExit) === null || _options_onExit === void 0 ? void 0 : _options_onExit.call(options);
1426
- disconnectAllAccounts();
1427
- };
1428
- return {
1429
- openLink: openLink,
1430
- closeLink: closeLink
1431
- };
1432
- };
1433
- export { createLink, isLinkEventTypeKey };