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

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