@mocanetwork/airkit 1.0.0 → 1.1.0

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.
@@ -108,6 +108,8 @@
108
108
  LOGIN_REQUEST: "air_auth_login_request",
109
109
  LOGIN_RESPONSE: "air_auth_login_response",
110
110
  LOGIN_WALLET_RESPONSE: "air_auth_login_wallet_response",
111
+ USER_INFO_REQUEST: "air_auth_user_info_request",
112
+ USER_INFO_RESPONSE: "air_auth_user_info_response",
111
113
  PARTNER_USER_INFO_REQUEST: "air_auth_partner_user_info_request",
112
114
  PARTNER_USER_INFO_RESPONSE: "air_auth_partner_user_info_response",
113
115
  REFRESH_TOKEN_REQUEST: "air_auth_refresh_token_request",
@@ -120,8 +122,11 @@
120
122
  SETUP_WALLET_RESPONSE: "air_auth_setup_wallet_response",
121
123
  SIGN_SIWE_MESSAGE_REQUEST: "air_auth_sign_siwe_message_request",
122
124
  SIGN_SIWE_MESSAGE_RESPONSE: "air_auth_sign_siwe_message_response",
125
+ CROSS_PARTNER_TOKEN_REQUEST: "air_auth_cross_partner_token_request",
126
+ CROSS_PARTNER_TOKEN_RESPONSE: "air_auth_cross_partner_token_response",
123
127
  LOGOUT_REQUEST: "air_auth_logout_request",
124
- LOGOUT_RESPONSE: "air_auth_logout_response"
128
+ LOGOUT_RESPONSE: "air_auth_logout_response",
129
+ RESET_WALLET_COMMUNICATION: "air_auth_reset_wallet_communication"
125
130
  };
126
131
 
127
132
  const AirMessageTypes = {
@@ -130,6 +135,10 @@
130
135
  INITIALIZATION_RESPONSE: "air_initialization_response",
131
136
  INIT_AUTH_COMMUNICATION: "air_init_auth_communication",
132
137
  WALLET_INITIALIZED: "air_wallet_initialized",
138
+ WALLET_LOGIN_REQUEST: "air_wallet_login_request",
139
+ WALLET_LOGIN_RESPONSE: "air_wallet_login_response",
140
+ SETUP_MFA_REQUEST: "air_setup_mfa_request",
141
+ SETUP_MFA_RESPONSE: "air_setup_mfa_response",
133
142
  CLAIM_ID_REQUEST: "air_claim_id_request",
134
143
  CLAIM_ID_RESPONSE: "air_claim_id_response",
135
144
  DEPLOY_SMART_ACCOUNT_REQUEST: "air_deploy_smart_account_request",
@@ -147,6 +156,152 @@
147
156
  LOGOUT_RESPONSE: "air_logout_response"
148
157
  };
149
158
 
159
+ class BaseError extends Error {
160
+ constructor(name, message, options = {}) {
161
+ const {
162
+ cause,
163
+ context
164
+ } = options;
165
+ super(message || name);
166
+ this.name = name;
167
+ this.stack = cause?.stack;
168
+ this.cause = cause;
169
+ this.context = context;
170
+ }
171
+ toJSON() {
172
+ return {
173
+ name: this.name,
174
+ message: this.message,
175
+ context: this.context,
176
+ cause: this.cause
177
+ };
178
+ }
179
+ }
180
+
181
+ class AirServiceError extends BaseError {
182
+ static from(error) {
183
+ if (error instanceof AirServiceError) {
184
+ return error;
185
+ }
186
+ else if (error instanceof Object && "message" in error) {
187
+ if (error.message === "User cancelled login") {
188
+ return new AirServiceError("USER_CANCELLED", error.message);
189
+ }
190
+ return new AirServiceError("UNKNOWN_ERROR", error.message.toString());
191
+ }
192
+ return new AirServiceError("UNKNOWN_ERROR");
193
+ }
194
+ }
195
+ class ProviderRpcError extends Error {
196
+ constructor(message) {
197
+ super(message);
198
+ }
199
+ }
200
+ class UserRejectedRequestError extends ProviderRpcError {
201
+ constructor() {
202
+ super(...arguments);
203
+ this.code = 4001;
204
+ this.name = "UserRejectedRequestError";
205
+ }
206
+ }
207
+ class UnauthorizedProviderError extends ProviderRpcError {
208
+ constructor() {
209
+ super(...arguments);
210
+ this.code = 4100;
211
+ this.name = "UnauthorizedProviderError";
212
+ }
213
+ }
214
+ class UnsupportedProviderMethodError extends ProviderRpcError {
215
+ constructor() {
216
+ super(...arguments);
217
+ this.code = 4200;
218
+ this.name = "UnsupportedProviderMethodError";
219
+ }
220
+ }
221
+ class ProviderDisconnectedError extends ProviderRpcError {
222
+ constructor() {
223
+ super(...arguments);
224
+ this.code = 4900;
225
+ this.name = "ProviderDisconnectedError";
226
+ }
227
+ }
228
+ class ChainDisconnectedError extends ProviderRpcError {
229
+ constructor() {
230
+ super(...arguments);
231
+ this.code = 4901;
232
+ this.name = "ChainDisconnectedError";
233
+ }
234
+ }
235
+ class SwitchChainError extends ProviderRpcError {
236
+ constructor() {
237
+ super(...arguments);
238
+ this.code = 4902;
239
+ this.name = "SwitchChainError";
240
+ }
241
+ }
242
+ class InvalidRequestRpcError extends ProviderRpcError {
243
+ constructor() {
244
+ super(...arguments);
245
+ this.code = -32600;
246
+ this.name = "InvalidRequestRpcError";
247
+ }
248
+ }
249
+ class MethodNotFoundRpcError extends ProviderRpcError {
250
+ constructor() {
251
+ super(...arguments);
252
+ this.code = -32601;
253
+ this.name = "MethodNotFoundRpcError";
254
+ }
255
+ }
256
+ class InvalidParamsRpcError extends ProviderRpcError {
257
+ constructor() {
258
+ super(...arguments);
259
+ this.code = -32602;
260
+ this.name = "InvalidParamsRpcError";
261
+ }
262
+ }
263
+ class InternalRpcError extends ProviderRpcError {
264
+ constructor() {
265
+ super(...arguments);
266
+ this.code = -32603;
267
+ this.name = "InternalRpcError";
268
+ }
269
+ }
270
+ function ensureProviderRpcError(value) {
271
+ if (value instanceof ProviderRpcError) {
272
+ return value;
273
+ }
274
+ if (typeof value === "object" &&
275
+ value !== null &&
276
+ "errorCode" in value &&
277
+ "errorMessage" in value) {
278
+ if (typeof value.errorCode === "number" && typeof value.errorMessage === "string") {
279
+ switch (value.errorCode) {
280
+ case 4001:
281
+ return new UserRejectedRequestError(value.errorMessage);
282
+ case 4100:
283
+ return new UnauthorizedProviderError(value.errorMessage);
284
+ case 4200:
285
+ return new UnsupportedProviderMethodError(value.errorMessage);
286
+ case 4900:
287
+ return new ProviderDisconnectedError(value.errorMessage);
288
+ case 4901:
289
+ return new ChainDisconnectedError(value.errorMessage);
290
+ case 4902:
291
+ return new SwitchChainError(value.errorMessage);
292
+ }
293
+ }
294
+ }
295
+ let stringified = "[Unable to stringify the thrown value]";
296
+ try {
297
+ stringified = JSON.stringify(value);
298
+ }
299
+ catch {
300
+ // ignoring failed stringify
301
+ }
302
+ return new InternalRpcError(`Invalid value for ProviderRpcError: ${stringified}`);
303
+ }
304
+
150
305
  function isFunction(value) {
151
306
  return typeof value === 'function';
152
307
  }
@@ -874,50 +1029,11 @@
874
1029
  });
875
1030
  }
876
1031
 
877
- class BaseError extends Error {
878
- constructor(name, message, options = {}) {
879
- const {
880
- cause,
881
- context
882
- } = options;
883
- super(message || name);
884
- this.name = name;
885
- this.stack = cause?.stack;
886
- this.cause = cause;
887
- this.context = context;
888
- }
889
- toJSON() {
890
- return {
891
- name: this.name,
892
- message: this.message,
893
- context: this.context,
894
- cause: this.cause
895
- };
896
- }
897
- }
898
-
899
- class AirServiceError extends BaseError {
900
- static from(error) {
901
- if (error instanceof AirServiceError) {
902
- return error;
903
- }
904
- else if (error instanceof Object && "message" in error) {
905
- if (error.message === "User cancelled login") {
906
- return new AirServiceError("USER_CANCELLED", error.message);
907
- }
908
- return new AirServiceError("UNKNOWN_ERROR", error.message.toString());
909
- }
910
- return new AirServiceError("UNKNOWN_ERROR");
911
- }
912
- }
913
- class RealmEmbedError extends AirServiceError {
914
- }
915
-
916
1032
  function getDefaultExportFromCjs (x) {
917
1033
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
918
1034
  }
919
1035
 
920
- var loglevel$2 = {exports: {}};
1036
+ var loglevel$1 = {exports: {}};
921
1037
 
922
1038
  /*
923
1039
  * loglevel - https://github.com/pimterry/loglevel
@@ -925,10 +1041,10 @@
925
1041
  * Copyright (c) 2013 Tim Perry
926
1042
  * Licensed under the MIT license.
927
1043
  */
928
- var loglevel$1 = loglevel$2.exports;
1044
+ var loglevel = loglevel$1.exports;
929
1045
  var hasRequiredLoglevel;
930
1046
  function requireLoglevel() {
931
- if (hasRequiredLoglevel) return loglevel$2.exports;
1047
+ if (hasRequiredLoglevel) return loglevel$1.exports;
932
1048
  hasRequiredLoglevel = 1;
933
1049
  (function (module) {
934
1050
  (function (root, definition) {
@@ -938,7 +1054,7 @@
938
1054
  } else {
939
1055
  root.log = definition();
940
1056
  }
941
- })(loglevel$1, function () {
1057
+ })(loglevel, function () {
942
1058
 
943
1059
  // Slightly dubious tricks to cut down minimized file size
944
1060
  var noop = function () {};
@@ -1237,24 +1353,27 @@
1237
1353
  defaultLogger['default'] = defaultLogger;
1238
1354
  return defaultLogger;
1239
1355
  });
1240
- })(loglevel$2);
1241
- return loglevel$2.exports;
1356
+ })(loglevel$1);
1357
+ return loglevel$1.exports;
1242
1358
  }
1243
1359
 
1244
1360
  var loglevelExports = requireLoglevel();
1245
- var loglevel = /*@__PURE__*/getDefaultExportFromCjs(loglevelExports);
1361
+ var log$1 = /*@__PURE__*/getDefaultExportFromCjs(loglevelExports);
1246
1362
 
1247
- var log = loglevel.getLogger("airkit");
1363
+ var log = log$1.getLogger("airkit");
1248
1364
 
1249
1365
  var AirWalletProviderMessageTypes;
1250
1366
  (function (AirWalletProviderMessageTypes) {
1251
1367
  AirWalletProviderMessageTypes["REQUEST"] = "JRPC_REQUEST";
1252
1368
  AirWalletProviderMessageTypes["RESPONSE"] = "JRPC_RESPONSE";
1369
+ AirWalletProviderMessageTypes["EVENT"] = "JRPC_EVENT";
1253
1370
  })(AirWalletProviderMessageTypes || (AirWalletProviderMessageTypes = {}));
1254
1371
 
1255
1372
  const ACCOUNT_MESSAGES = [
1256
1373
  AirMessageTypes.INITIALIZATION_RESPONSE,
1257
1374
  AirMessageTypes.WALLET_INITIALIZED,
1375
+ AirMessageTypes.WALLET_LOGIN_RESPONSE,
1376
+ AirMessageTypes.SETUP_MFA_RESPONSE,
1258
1377
  AirMessageTypes.CLAIM_ID_RESPONSE,
1259
1378
  AirMessageTypes.IS_SMART_ACCOUNT_DEPLOYED_RESPONSE,
1260
1379
  AirMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE,
@@ -1272,6 +1391,7 @@
1272
1391
  AirAuthMessageTypes.SETUP_WALLET_REQUEST,
1273
1392
  AirAuthMessageTypes.LOGOUT_RESPONSE,
1274
1393
  AirAuthMessageTypes.PARTNER_USER_INFO_RESPONSE,
1394
+ AirAuthMessageTypes.CROSS_PARTNER_TOKEN_RESPONSE,
1275
1395
  AirAuthMessageTypes.IFRAME_VISIBILITY_REQUEST,
1276
1396
  ];
1277
1397
  class AirMessageService {
@@ -1295,6 +1415,9 @@
1295
1415
  get providerMessage$() {
1296
1416
  return this._providerMessage$.asObservable();
1297
1417
  }
1418
+ get providerEvent$() {
1419
+ return this._providerEvent$.asObservable();
1420
+ }
1298
1421
  async openAuthObservables({ authIframeOrigin }) {
1299
1422
  this.closeAuthObservables();
1300
1423
  this.setupAuthObservables();
@@ -1335,13 +1458,16 @@
1335
1458
  if (ev.data.type === AirWalletProviderMessageTypes.RESPONSE) {
1336
1459
  this._providerMessage$.next(ev.data);
1337
1460
  }
1461
+ if (ev.data.type === AirWalletProviderMessageTypes.EVENT) {
1462
+ this._providerEvent$.next(ev.data);
1463
+ }
1338
1464
  };
1339
1465
  window.addEventListener("message", handleWalletMessage);
1340
1466
  this.closeWalletMessageListeners = () => {
1341
1467
  window.removeEventListener("message", handleWalletMessage);
1342
1468
  };
1343
1469
  }
1344
- setupIframeCommunication(authIframe, walletIframe) {
1470
+ setupIframeCommunication(authIframe, walletIframe, skipWalletLogin) {
1345
1471
  const channel = new MessageChannel();
1346
1472
  const authOrigin = new URL(authIframe.src).origin;
1347
1473
  authIframe.contentWindow.postMessage({
@@ -1350,6 +1476,9 @@
1350
1476
  const walletOrigin = new URL(walletIframe.src).origin;
1351
1477
  walletIframe.contentWindow.postMessage({
1352
1478
  type: AirMessageTypes.INIT_AUTH_COMMUNICATION,
1479
+ payload: {
1480
+ skipWalletLogin,
1481
+ },
1353
1482
  }, walletOrigin, [channel.port2]);
1354
1483
  }
1355
1484
  async sendGrantPermissionRequest(walletIframe, policies) {
@@ -1363,7 +1492,7 @@
1363
1492
  }, origin);
1364
1493
  const result = await response;
1365
1494
  if (result.payload.success === false) {
1366
- throw new RealmEmbedError(result.payload.errorName, result.payload.errorMessage);
1495
+ throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
1367
1496
  }
1368
1497
  return result.payload.sessionData;
1369
1498
  }
@@ -1384,7 +1513,7 @@
1384
1513
  }, origin);
1385
1514
  const result = await response;
1386
1515
  if (result.payload.success === false) {
1387
- throw new RealmEmbedError(result.payload.errorName, result.payload.errorMessage);
1516
+ throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
1388
1517
  }
1389
1518
  return result.payload.txHash;
1390
1519
  }
@@ -1399,7 +1528,7 @@
1399
1528
  }, origin);
1400
1529
  const result = await response;
1401
1530
  if (result.payload.success === false) {
1402
- throw new RealmEmbedError(result.payload.errorName, result.payload.errorMessage);
1531
+ throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
1403
1532
  }
1404
1533
  return result.payload.txHash;
1405
1534
  }
@@ -1443,6 +1572,10 @@
1443
1572
  walletIframe.contentWindow.postMessage({ type: AirMessageTypes.LOGOUT_REQUEST }, origin);
1444
1573
  return response;
1445
1574
  }
1575
+ sendResetAuthServiceWalletCommunication(authIframe) {
1576
+ const { origin: authOrigin } = new URL(authIframe.src);
1577
+ authIframe.contentWindow.postMessage({ type: AirAuthMessageTypes.RESET_WALLET_COMMUNICATION }, authOrigin);
1578
+ }
1446
1579
  async sendAuthInitializationRequest(authIframe, payload) {
1447
1580
  const response = firstValueFrom(this._authMessage$.pipe(filter((msg) => msg.type === AirAuthMessageTypes.INITIALIZATION_RESPONSE)));
1448
1581
  const { origin } = new URL(authIframe.src);
@@ -1455,6 +1588,17 @@
1455
1588
  walletIframe.contentWindow.postMessage({ type: AirMessageTypes.INITIALIZATION_REQUEST, payload }, origin);
1456
1589
  return response;
1457
1590
  }
1591
+ async sendCrossPartnerTokenRequest(authIframe, targetPartnerUrl) {
1592
+ const response = firstValueFrom(this.authMessage$.pipe(filter((msg) => msg.type === AirAuthMessageTypes.CROSS_PARTNER_TOKEN_RESPONSE)));
1593
+ const { origin } = new URL(authIframe.src);
1594
+ authIframe.contentWindow.postMessage({
1595
+ type: AirAuthMessageTypes.CROSS_PARTNER_TOKEN_REQUEST,
1596
+ payload: {
1597
+ targetPartnerUrl,
1598
+ },
1599
+ }, origin);
1600
+ return response;
1601
+ }
1458
1602
  async sendGrantPermissionsRequest(walletIframe, payload) {
1459
1603
  const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirMessageTypes.GRANT_PERMISSIONS_RESPONSE)));
1460
1604
  const { origin } = new URL(walletIframe.src);
@@ -1464,6 +1608,18 @@
1464
1608
  onWalletInitialized() {
1465
1609
  return firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirMessageTypes.WALLET_INITIALIZED)));
1466
1610
  }
1611
+ sendWalletLoginRequest(walletIframe) {
1612
+ const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirMessageTypes.WALLET_LOGIN_RESPONSE)));
1613
+ const { origin } = new URL(walletIframe.src);
1614
+ walletIframe.contentWindow.postMessage({ type: AirMessageTypes.WALLET_LOGIN_REQUEST }, origin);
1615
+ return response;
1616
+ }
1617
+ async sendSetupMfaRequest(walletIframe) {
1618
+ const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirMessageTypes.SETUP_MFA_RESPONSE)));
1619
+ const { origin } = new URL(walletIframe.src);
1620
+ walletIframe.contentWindow.postMessage({ type: AirMessageTypes.SETUP_MFA_REQUEST }, origin);
1621
+ return response;
1622
+ }
1467
1623
  async sendClaimIdRequest(walletIframe, payload) {
1468
1624
  const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirMessageTypes.CLAIM_ID_RESPONSE)));
1469
1625
  const { origin } = new URL(walletIframe.src);
@@ -1495,6 +1651,8 @@
1495
1651
  closeWalletObservables() {
1496
1652
  if (this._providerMessage$ && !this._providerMessage$.closed)
1497
1653
  this._providerMessage$.complete();
1654
+ if (this._providerEvent$ && !this._providerEvent$.closed)
1655
+ this._providerEvent$.complete();
1498
1656
  if (this.closeWalletMessageListeners)
1499
1657
  this.closeWalletMessageListeners();
1500
1658
  }
@@ -1506,38 +1664,11 @@
1506
1664
  }
1507
1665
  setupWalletObservables() {
1508
1666
  this._providerMessage$ = new Subject();
1667
+ this._providerEvent$ = new Subject();
1509
1668
  }
1510
1669
  }
1511
1670
  var AirMessageService$1 = AirMessageService.instance;
1512
1671
 
1513
- class ProviderRpcError extends Error {
1514
- constructor(message, code, data) {
1515
- super(message);
1516
- this.code = code;
1517
- this.data = data;
1518
- }
1519
- }
1520
- new ProviderRpcError("Invalid JSON", -32700);
1521
- const ProviderRpcInvalidRequestError = new ProviderRpcError("Invalid request", -32600);
1522
- const ProviderRpcMethodNotFoundError = new ProviderRpcError("Method not found", -32601);
1523
- const ProviderRpcInvalidParamsError = new ProviderRpcError("Invalid params", -32602);
1524
- new ProviderRpcError("Internal error", -32603);
1525
- new ProviderRpcError("User rejected request", 4001);
1526
- new ProviderRpcError("Unauthorized", 4100);
1527
- new ProviderRpcError("Unsupported method", 4200);
1528
- new ProviderRpcError("Disconnected", 4900);
1529
- new ProviderRpcError("Chain Disconnected", 4901);
1530
- function ensureProviderRpcError(value) {
1531
- if (value instanceof ProviderRpcError) return value;
1532
- let stringified = "[Unable to stringify the thrown value]";
1533
- try {
1534
- stringified = JSON.stringify(value);
1535
- } catch {
1536
- // ignoring failed stringify
1537
- }
1538
- return new ProviderRpcError(`This value was not thrown as type ProviderRpcError: ${stringified}`, -32603);
1539
- }
1540
-
1541
1672
  const BUILD_ENV = {
1542
1673
  PRODUCTION: "production",
1543
1674
  STAGING: "staging",
@@ -1548,66 +1679,113 @@
1548
1679
  [BUILD_ENV.DEVELOPMENT]: {
1549
1680
  authUrl: "http://localhost:8100",
1550
1681
  walletUrl: "http://localhost:8200",
1551
- legacyWalletUrl: "https://localhost:4050",
1552
1682
  logLevel: "debug",
1553
1683
  },
1554
1684
  [BUILD_ENV.STAGING]: {
1555
1685
  authUrl: "https://auth.staging.air3.com",
1556
1686
  walletUrl: "https://account.staging.air3.com",
1557
- legacyWalletUrl: "https://account.staging.realmnetwork.io",
1558
1687
  logLevel: "info",
1559
1688
  },
1560
1689
  [BUILD_ENV.PRODUCTION]: {
1561
1690
  authUrl: "https://auth.air3.com",
1562
1691
  walletUrl: "https://account.air3.com",
1563
- legacyWalletUrl: "https://account.realmnetwork.io",
1564
1692
  logLevel: "error",
1565
1693
  },
1566
1694
  };
1567
1695
  const isElement = (element) => element instanceof Element || element instanceof Document;
1568
1696
  const randomId = () => Math.random().toString(36).slice(2);
1569
1697
 
1570
- var _AirWalletProvider_walletIframe;
1698
+ var _AirWalletProvider_instances, _AirWalletProvider_isLoggedIn, _AirWalletProvider_ensureWallet, _AirWalletProvider_getWalletIframeController, _AirWalletProvider_eventListeners, _AirWalletProvider_emit;
1571
1699
  class AirWalletProvider {
1572
- constructor(walletIframe) {
1573
- _AirWalletProvider_walletIframe.set(this, undefined);
1574
- __classPrivateFieldSet(this, _AirWalletProvider_walletIframe, walletIframe, "f");
1700
+ constructor({ isLoggedIn, ensureWallet, getWalletIframeController, }) {
1701
+ _AirWalletProvider_instances.add(this);
1702
+ _AirWalletProvider_isLoggedIn.set(this, undefined);
1703
+ _AirWalletProvider_ensureWallet.set(this, undefined);
1704
+ _AirWalletProvider_getWalletIframeController.set(this, undefined);
1705
+ _AirWalletProvider_eventListeners.set(this, undefined);
1706
+ this.startEventMessageListening = () => {
1707
+ AirMessageService$1.providerEvent$.subscribe((message) => {
1708
+ __classPrivateFieldGet(this, _AirWalletProvider_instances, "m", _AirWalletProvider_emit).call(this, message.payload.event, ...[message.payload.data]);
1709
+ });
1710
+ };
1711
+ __classPrivateFieldSet(this, _AirWalletProvider_isLoggedIn, isLoggedIn, "f");
1712
+ __classPrivateFieldSet(this, _AirWalletProvider_ensureWallet, ensureWallet, "f");
1713
+ __classPrivateFieldSet(this, _AirWalletProvider_getWalletIframeController, getWalletIframeController, "f");
1714
+ __classPrivateFieldSet(this, _AirWalletProvider_eventListeners, {
1715
+ connect: [],
1716
+ disconnect: [],
1717
+ accountsChanged: [],
1718
+ chainChanged: [],
1719
+ message: [],
1720
+ }, "f");
1575
1721
  }
1576
1722
  async request(request) {
1577
1723
  // Check if the request is valid
1578
1724
  if (!request || typeof request !== "object" || Array.isArray(request)) {
1579
- throw ProviderRpcInvalidRequestError;
1725
+ throw new InvalidRequestRpcError("Invalid request");
1580
1726
  }
1581
1727
  const { method, params } = request;
1582
1728
  // Check if the method is valid
1583
1729
  if (typeof method !== "string" || method.length === 0) {
1584
- throw ProviderRpcMethodNotFoundError;
1730
+ throw new MethodNotFoundRpcError("Invalid method");
1585
1731
  }
1586
1732
  // Check if the params are valid
1587
1733
  if (params !== undefined &&
1588
1734
  !Array.isArray(params) &&
1589
1735
  (typeof params !== "object" || params === null)) {
1590
- throw ProviderRpcInvalidParamsError;
1736
+ throw new InvalidParamsRpcError("Invalid params");
1737
+ }
1738
+ // Check if the user is logged in
1739
+ if (!__classPrivateFieldGet(this, _AirWalletProvider_isLoggedIn, "f").call(this)) {
1740
+ throw new UnauthorizedProviderError("User is not logged in");
1741
+ }
1742
+ try {
1743
+ await __classPrivateFieldGet(this, _AirWalletProvider_ensureWallet, "f").call(this);
1744
+ }
1745
+ catch (error) {
1746
+ throw ensureProviderRpcError(error);
1591
1747
  }
1592
1748
  const requestId = randomId();
1593
- const response = await AirMessageService$1.sendWalletProviderRequest(__classPrivateFieldGet(this, _AirWalletProvider_walletIframe, "f"), {
1749
+ const response = await AirMessageService$1.sendWalletProviderRequest(__classPrivateFieldGet(this, _AirWalletProvider_getWalletIframeController, "f").call(this).iframeElement, {
1594
1750
  requestId,
1595
1751
  ...request,
1596
1752
  });
1597
1753
  if (!response.success) {
1598
- const error = ensureProviderRpcError(response.payload);
1599
- throw error;
1754
+ throw ensureProviderRpcError(response.payload);
1600
1755
  }
1601
1756
  return response.payload.response;
1602
1757
  }
1603
1758
  on(eventName, listener) {
1604
- console.log("on", eventName, listener);
1759
+ __classPrivateFieldGet(this, _AirWalletProvider_eventListeners, "f")[eventName] = __classPrivateFieldGet(this, _AirWalletProvider_eventListeners, "f")[eventName] || [];
1760
+ __classPrivateFieldGet(this, _AirWalletProvider_eventListeners, "f")[eventName].push(listener);
1605
1761
  }
1606
1762
  removeListener(eventName, listener) {
1607
- console.log("removeListener", eventName, listener);
1763
+ __classPrivateFieldGet(this, _AirWalletProvider_eventListeners, "f")[eventName] = __classPrivateFieldGet(this, _AirWalletProvider_eventListeners, "f")[eventName] || [];
1764
+ const index = __classPrivateFieldGet(this, _AirWalletProvider_eventListeners, "f")[eventName].indexOf(listener);
1765
+ if (index >= 0) {
1766
+ __classPrivateFieldGet(this, _AirWalletProvider_eventListeners, "f")[eventName].splice(index, 1);
1767
+ }
1768
+ }
1769
+ removeAllListeners() {
1770
+ __classPrivateFieldSet(this, _AirWalletProvider_eventListeners, {
1771
+ connect: [],
1772
+ disconnect: [],
1773
+ accountsChanged: [],
1774
+ chainChanged: [],
1775
+ message: [],
1776
+ }, "f");
1608
1777
  }
1609
1778
  }
1610
- _AirWalletProvider_walletIframe = new WeakMap();
1779
+ _AirWalletProvider_isLoggedIn = new WeakMap(), _AirWalletProvider_ensureWallet = new WeakMap(), _AirWalletProvider_getWalletIframeController = new WeakMap(), _AirWalletProvider_eventListeners = new WeakMap(), _AirWalletProvider_instances = new WeakSet(), _AirWalletProvider_emit = function _AirWalletProvider_emit(eventName, ...args) {
1780
+ (__classPrivateFieldGet(this, _AirWalletProvider_eventListeners, "f")[eventName] || []).forEach((listener) => {
1781
+ try {
1782
+ return listener(...args);
1783
+ }
1784
+ catch (error) {
1785
+ log$1.error(error);
1786
+ }
1787
+ });
1788
+ };
1611
1789
 
1612
1790
  class IframeController {
1613
1791
  constructor(iframeUrl, iframeId, state) {
@@ -1672,9 +1850,8 @@
1672
1850
  isVisible: false,
1673
1851
  };
1674
1852
 
1675
- var _AirService_instances, _AirService_loginResult, _AirService_buildEnv, _AirService_enableLogging, _AirService_partnerId, _AirService_authIframeController, _AirService_isAuthInitialized, _AirService_airAuthListener, _AirService_walletIframeController, _AirService_walletInitialization, _AirService_isWalletInitialized, _AirService_airWalletProvider, _AirService_ensureWallet, _AirService_initializeWallet, _AirService_triggerEventListeners, _AirService_triggerAirAuthInitialized, _AirService_triggerAirAuthLoggedIn, _AirService_triggerAirAuthLoggedOut, _AirService_triggerWalletInitialized, _AirService_createLoginResult, _AirService_cleanUpAuth, _AirService_cleanUpWallet;
1853
+ var _AirService_instances, _AirService_loginResult, _AirService_buildEnv, _AirService_enableLogging, _AirService_partnerId, _AirService_authIframeController, _AirService_isAuthInitialized, _AirService_airAuthListener, _AirService_walletIframeController, _AirService_walletInitialization, _AirService_walletLoggedInResult, _AirService_airWalletProvider, _AirService_ensureWallet, _AirService_initializeWallet, _AirService_triggerEventListeners, _AirService_triggerAirAuthInitialized, _AirService_triggerAirAuthLoggedIn, _AirService_triggerAirAuthLoggedOut, _AirService_triggerWalletInitialized, _AirService_createLoginResult, _AirService_createWalletInitializedResult, _AirService_cleanUpAuth, _AirService_cleanUpWallet;
1676
1854
  class AirService {
1677
- // #walletRehydrationState: AirRehydrationResult;
1678
1855
  constructor({ partnerId }) {
1679
1856
  _AirService_instances.add(this);
1680
1857
  _AirService_loginResult.set(this, undefined);
@@ -1687,9 +1864,14 @@
1687
1864
  _AirService_airAuthListener.set(this, []);
1688
1865
  _AirService_walletIframeController.set(this, undefined);
1689
1866
  _AirService_walletInitialization.set(this, undefined);
1690
- _AirService_isWalletInitialized.set(this, false);
1867
+ _AirService_walletLoggedInResult.set(this, undefined);
1691
1868
  _AirService_airWalletProvider.set(this, undefined);
1692
1869
  __classPrivateFieldSet(this, _AirService_partnerId, partnerId, "f");
1870
+ __classPrivateFieldSet(this, _AirService_airWalletProvider, new AirWalletProvider({
1871
+ isLoggedIn: () => this.isLoggedIn,
1872
+ ensureWallet: __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).bind(this),
1873
+ getWalletIframeController: () => __classPrivateFieldGet(this, _AirService_walletIframeController, "f"),
1874
+ }), "f");
1693
1875
  // this.#modalZIndex = modalZIndex ?? 99999;
1694
1876
  }
1695
1877
  get buildEnv() {
@@ -1702,7 +1884,15 @@
1702
1884
  return !!__classPrivateFieldGet(this, _AirService_loginResult, "f");
1703
1885
  }
1704
1886
  get isWalletInitialized() {
1705
- return __classPrivateFieldGet(this, _AirService_isWalletInitialized, "f");
1887
+ return !!__classPrivateFieldGet(this, _AirService_walletLoggedInResult, "f");
1888
+ }
1889
+ get provider() {
1890
+ const provider = __classPrivateFieldGet(this, _AirService_airWalletProvider, "f");
1891
+ return {
1892
+ request: provider.request.bind(provider),
1893
+ on: provider.on.bind(provider),
1894
+ removeListener: provider.removeListener.bind(provider),
1895
+ };
1706
1896
  }
1707
1897
  async init({ buildEnv = BUILD_ENV.PRODUCTION, enableLogging = false, skipRehydration = false, }) {
1708
1898
  if (!__classPrivateFieldGet(this, _AirService_partnerId, "f"))
@@ -1730,7 +1920,7 @@
1730
1920
  }
1731
1921
  case AirAuthMessageTypes.SETUP_WALLET_REQUEST: {
1732
1922
  try {
1733
- await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
1923
+ await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this, { skipWalletLogin: true });
1734
1924
  __classPrivateFieldGet(this, _AirService_authIframeController, "f").postMessage({
1735
1925
  type: AirAuthMessageTypes.SETUP_WALLET_RESPONSE,
1736
1926
  payload: {
@@ -1765,6 +1955,7 @@
1765
1955
  const { payload } = await AirMessageService$1.sendAuthInitializationRequest(__classPrivateFieldGet(this, _AirService_authIframeController, "f").iframeElement, {
1766
1956
  partnerId: __classPrivateFieldGet(this, _AirService_partnerId, "f"),
1767
1957
  skipRehydration,
1958
+ partnerDAppUrl: window.location.href,
1768
1959
  });
1769
1960
  if (payload.success === true) {
1770
1961
  resolve(payload);
@@ -1792,11 +1983,6 @@
1792
1983
  }
1793
1984
  return null;
1794
1985
  }
1795
- async cleanUp() {
1796
- await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_cleanUpWallet).call(this);
1797
- await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_cleanUpAuth).call(this);
1798
- this.clearEventListeners();
1799
- }
1800
1986
  async login(options) {
1801
1987
  if (!__classPrivateFieldGet(this, _AirService_isAuthInitialized, "f"))
1802
1988
  throw new Error("Service is not initialized");
@@ -1901,25 +2087,18 @@
1901
2087
  throw AirServiceError.from(error);
1902
2088
  }
1903
2089
  }
1904
- async logout() {
1905
- if (!__classPrivateFieldGet(this, _AirService_isAuthInitialized, "f"))
1906
- throw new Error("Service is not initialized");
1907
- if (!this.isLoggedIn)
1908
- throw new Error("No active session to logout");
1909
- // Clear up wallet
1910
- await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_cleanUpWallet).call(this);
1911
- await AirMessageService$1.logoutAuth(__classPrivateFieldGet(this, _AirService_authIframeController, "f").iframeElement);
1912
- __classPrivateFieldSet(this, _AirService_loginResult, undefined, "f");
1913
- __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_triggerAirAuthLoggedOut).call(this);
1914
- }
1915
- async getProvider() {
1916
- if (!this.isLoggedIn)
1917
- return null;
1918
- await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
1919
- return __classPrivateFieldGet(this, _AirService_airWalletProvider, "f");
2090
+ getProvider() {
2091
+ return this.provider;
1920
2092
  }
1921
2093
  async preloadWallet() {
1922
- return __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
2094
+ await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this, { skipWalletLogin: true });
2095
+ }
2096
+ async setupOrUpdateMfa() {
2097
+ await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this, { skipWalletLogin: true });
2098
+ const result = await AirMessageService$1.sendSetupMfaRequest(__classPrivateFieldGet(this, _AirService_walletIframeController, "f").iframeElement);
2099
+ if (result.payload.success === false) {
2100
+ throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
2101
+ }
1923
2102
  }
1924
2103
  async claimAirId(options) {
1925
2104
  await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
@@ -1944,9 +2123,39 @@
1944
2123
  id: info.payload.user.id,
1945
2124
  abstractAccountAddress: info.payload.user.abstractAccountAddress,
1946
2125
  email: info.payload.user.email,
2126
+ isMFASetup: info.payload.user.isMFASetup,
1947
2127
  },
1948
2128
  };
1949
2129
  }
2130
+ async goToPartner(partnerUrl) {
2131
+ if (!__classPrivateFieldGet(this, _AirService_isAuthInitialized, "f"))
2132
+ throw new Error("Service is not initialized");
2133
+ if (!this.isLoggedIn)
2134
+ throw new Error("No active session to generate token");
2135
+ const result = await AirMessageService$1.sendCrossPartnerTokenRequest(__classPrivateFieldGet(this, _AirService_authIframeController, "f").iframeElement, partnerUrl);
2136
+ if (result.payload.success === false) {
2137
+ throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
2138
+ }
2139
+ return {
2140
+ urlWithToken: result.payload.urlWithToken,
2141
+ };
2142
+ }
2143
+ async logout() {
2144
+ if (!__classPrivateFieldGet(this, _AirService_isAuthInitialized, "f"))
2145
+ throw new Error("Service is not initialized");
2146
+ if (!this.isLoggedIn)
2147
+ throw new Error("No active session to logout");
2148
+ // Clear up wallet
2149
+ await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_cleanUpWallet).call(this);
2150
+ await AirMessageService$1.logoutAuth(__classPrivateFieldGet(this, _AirService_authIframeController, "f").iframeElement);
2151
+ __classPrivateFieldSet(this, _AirService_loginResult, undefined, "f");
2152
+ __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_triggerAirAuthLoggedOut).call(this);
2153
+ }
2154
+ async cleanUp() {
2155
+ await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_cleanUpWallet).call(this);
2156
+ await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_cleanUpAuth).call(this);
2157
+ this.clearEventListeners();
2158
+ }
1950
2159
  on(listener) {
1951
2160
  if (__classPrivateFieldGet(this, _AirService_airAuthListener, "f").indexOf(listener) < 0)
1952
2161
  __classPrivateFieldGet(this, _AirService_airAuthListener, "f").push(listener);
@@ -1958,35 +2167,37 @@
1958
2167
  clearEventListeners() {
1959
2168
  __classPrivateFieldSet(this, _AirService_airAuthListener, [], "f");
1960
2169
  }
1961
- // This is for internal use only
1962
- // @ts-expect-error for unused function
1963
- async _showWalletWidget() {
1964
- await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
1965
- // return (this.#realmEmbed as any)._showWalletWidget();
1966
- log.info("_showWalletWidget");
1967
- return null;
1968
- }
1969
2170
  }
1970
- _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _AirService_enableLogging = new WeakMap(), _AirService_partnerId = new WeakMap(), _AirService_authIframeController = new WeakMap(), _AirService_isAuthInitialized = new WeakMap(), _AirService_airAuthListener = new WeakMap(), _AirService_walletIframeController = new WeakMap(), _AirService_walletInitialization = new WeakMap(), _AirService_isWalletInitialized = new WeakMap(), _AirService_airWalletProvider = new WeakMap(), _AirService_instances = new WeakSet(), _AirService_ensureWallet = async function _AirService_ensureWallet() {
2171
+ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _AirService_enableLogging = new WeakMap(), _AirService_partnerId = new WeakMap(), _AirService_authIframeController = new WeakMap(), _AirService_isAuthInitialized = new WeakMap(), _AirService_airAuthListener = new WeakMap(), _AirService_walletIframeController = new WeakMap(), _AirService_walletInitialization = new WeakMap(), _AirService_walletLoggedInResult = new WeakMap(), _AirService_airWalletProvider = new WeakMap(), _AirService_instances = new WeakSet(), _AirService_ensureWallet = async function _AirService_ensureWallet(option) {
1971
2172
  if (!this.isInitialized)
1972
2173
  throw new Error("Service not initialized");
1973
- if (!__classPrivateFieldGet(this, _AirService_walletInitialization, "f")) {
1974
- try {
1975
- __classPrivateFieldSet(this, _AirService_walletInitialization, __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_initializeWallet).call(this), "f");
1976
- return await __classPrivateFieldGet(this, _AirService_walletInitialization, "f");
1977
- }
1978
- catch (error) {
1979
- __classPrivateFieldSet(this, _AirService_walletInitialization, null, "f");
1980
- log.error("Error initializing wallet", error);
1981
- throw error;
2174
+ if (!this.isLoggedIn && !option?.skipWalletLogin)
2175
+ throw new Error("User not logged in");
2176
+ if (!__classPrivateFieldGet(this, _AirService_walletInitialization, "f"))
2177
+ __classPrivateFieldSet(this, _AirService_walletInitialization, __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_initializeWallet).call(this, option), "f");
2178
+ if (__classPrivateFieldGet(this, _AirService_walletLoggedInResult, "f"))
2179
+ return __classPrivateFieldGet(this, _AirService_walletLoggedInResult, "f");
2180
+ try {
2181
+ const result = await __classPrivateFieldGet(this, _AirService_walletInitialization, "f");
2182
+ if (option?.skipWalletLogin || result.isWalletLoggedIn) {
2183
+ return __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_createWalletInitializedResult).call(this, result);
1982
2184
  }
1983
2185
  }
1984
- else {
1985
- return __classPrivateFieldGet(this, _AirService_walletInitialization, "f");
2186
+ catch (error) {
2187
+ __classPrivateFieldSet(this, _AirService_walletInitialization, null, "f");
2188
+ log.error("Error initializing wallet", error);
2189
+ throw error;
2190
+ }
2191
+ if (__classPrivateFieldGet(this, _AirService_walletLoggedInResult, "f"))
2192
+ return __classPrivateFieldGet(this, _AirService_walletLoggedInResult, "f");
2193
+ const walletLoginResult = await AirMessageService$1.sendWalletLoginRequest(__classPrivateFieldGet(this, _AirService_walletIframeController, "f").iframeElement);
2194
+ if (walletLoginResult.payload.success !== true) {
2195
+ throw new AirServiceError(walletLoginResult.payload.errorName, walletLoginResult.payload.errorMessage);
1986
2196
  }
1987
- }, _AirService_initializeWallet = async function _AirService_initializeWallet() {
1988
- if (__classPrivateFieldGet(this, _AirService_isWalletInitialized, "f"))
1989
- throw new AirServiceError("ALREADY_INITIALISED", "Already initialized");
2197
+ return __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_createWalletInitializedResult).call(this, walletLoginResult.payload);
2198
+ }, _AirService_initializeWallet = async function _AirService_initializeWallet(option) {
2199
+ if (__classPrivateFieldGet(this, _AirService_walletInitialization, "f"))
2200
+ throw new Error("Already initializing");
1990
2201
  const { walletUrl } = AIR_URLS[__classPrivateFieldGet(this, _AirService_buildEnv, "f")];
1991
2202
  log.info(walletUrl, "url loaded");
1992
2203
  const walletIframeOrigin = new URL(walletUrl).origin;
@@ -2002,6 +2213,13 @@
2002
2213
  walletIframeController.updateIframeState();
2003
2214
  break;
2004
2215
  }
2216
+ case AirMessageTypes.WALLET_LOGIN_RESPONSE: {
2217
+ if (msg.payload.success === true && !__classPrivateFieldGet(this, _AirService_walletLoggedInResult, "f")) {
2218
+ __classPrivateFieldSet(this, _AirService_walletLoggedInResult, __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_createWalletInitializedResult).call(this, msg.payload), "f");
2219
+ __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_triggerWalletInitialized).call(this, __classPrivateFieldGet(this, _AirService_walletLoggedInResult, "f"));
2220
+ }
2221
+ break;
2222
+ }
2005
2223
  }
2006
2224
  });
2007
2225
  await new Promise((resolve, reject) => {
@@ -2024,18 +2242,18 @@
2024
2242
  };
2025
2243
  window.addEventListener("message", handleAuthMessage);
2026
2244
  });
2245
+ __classPrivateFieldGet(this, _AirService_airWalletProvider, "f").startEventMessageListening();
2027
2246
  const walletInitPromise = AirMessageService$1.onWalletInitialized();
2028
- AirMessageService$1.setupIframeCommunication(__classPrivateFieldGet(this, _AirService_authIframeController, "f").iframeElement, __classPrivateFieldGet(this, _AirService_walletIframeController, "f").iframeElement);
2247
+ AirMessageService$1.setupIframeCommunication(__classPrivateFieldGet(this, _AirService_authIframeController, "f").iframeElement, __classPrivateFieldGet(this, _AirService_walletIframeController, "f").iframeElement, option?.skipWalletLogin ?? false);
2029
2248
  const walletInitResult = await walletInitPromise;
2030
2249
  if (walletInitResult.payload.success !== true) {
2031
2250
  throw new AirServiceError(walletInitResult.payload.errorName, walletInitResult.payload.errorMessage);
2032
2251
  }
2033
- __classPrivateFieldSet(this, _AirService_airWalletProvider, new AirWalletProvider(__classPrivateFieldGet(this, _AirService_walletIframeController, "f").iframeElement), "f");
2034
- const result = {
2035
- abstractAccountAddress: walletInitResult.payload.addresses.aa,
2036
- };
2037
- __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_triggerWalletInitialized).call(this, result);
2038
- return result;
2252
+ if (!__classPrivateFieldGet(this, _AirService_walletLoggedInResult, "f") && walletInitResult.payload.isWalletLoggedIn) {
2253
+ __classPrivateFieldSet(this, _AirService_walletLoggedInResult, __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_createWalletInitializedResult).call(this, walletInitResult.payload), "f");
2254
+ __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_triggerWalletInitialized).call(this, __classPrivateFieldGet(this, _AirService_walletLoggedInResult, "f"));
2255
+ }
2256
+ return walletInitResult.payload;
2039
2257
  }
2040
2258
  catch (error) {
2041
2259
  log.error("Error initializing wallet", error);
@@ -2066,6 +2284,18 @@
2066
2284
  id: payload.id,
2067
2285
  abstractAccountAddress: payload.abstractAccountAddress,
2068
2286
  token: payload.partnerAccessToken,
2287
+ isMFASetup: payload.isMFASetup,
2288
+ };
2289
+ }, _AirService_createWalletInitializedResult = function _AirService_createWalletInitializedResult(payload) {
2290
+ if ("isWalletLoggedIn" in payload && !payload.isWalletLoggedIn) {
2291
+ return {
2292
+ abstractAccountAddress: null,
2293
+ isMFASetup: __classPrivateFieldGet(this, _AirService_loginResult, "f")?.isMFASetup ?? false,
2294
+ };
2295
+ }
2296
+ return {
2297
+ abstractAccountAddress: payload.addresses.aa,
2298
+ isMFASetup: payload.isMFASetup,
2069
2299
  };
2070
2300
  }, _AirService_cleanUpAuth = async function _AirService_cleanUpAuth() {
2071
2301
  // Logout auth session
@@ -2089,16 +2319,29 @@
2089
2319
  __classPrivateFieldGet(this, _AirService_walletIframeController, "f").destroy();
2090
2320
  __classPrivateFieldSet(this, _AirService_walletIframeController, undefined, "f");
2091
2321
  }
2322
+ const authIframeElement = __classPrivateFieldGet(this, _AirService_authIframeController, "f")?.iframeElement;
2323
+ if (isElement(authIframeElement) && window.document.body.contains(authIframeElement)) {
2324
+ AirMessageService$1.sendResetAuthServiceWalletCommunication(authIframeElement);
2325
+ }
2092
2326
  // Close the message service
2093
2327
  AirMessageService$1.closeAirObservables();
2094
- __classPrivateFieldSet(this, _AirService_walletInitialization, null, "f");
2095
- __classPrivateFieldSet(this, _AirService_isWalletInitialized, false, "f");
2328
+ __classPrivateFieldSet(this, _AirService_walletLoggedInResult, undefined, "f");
2329
+ __classPrivateFieldSet(this, _AirService_walletInitialization, undefined, "f");
2096
2330
  };
2097
2331
 
2098
2332
  exports.AirService = AirService;
2099
2333
  exports.AirServiceError = AirServiceError;
2100
- exports.AirWalletProvider = AirWalletProvider;
2101
2334
  exports.BUILD_ENV = BUILD_ENV;
2102
- exports.RealmEmbedError = RealmEmbedError;
2335
+ exports.ChainDisconnectedError = ChainDisconnectedError;
2336
+ exports.InternalRpcError = InternalRpcError;
2337
+ exports.InvalidParamsRpcError = InvalidParamsRpcError;
2338
+ exports.InvalidRequestRpcError = InvalidRequestRpcError;
2339
+ exports.MethodNotFoundRpcError = MethodNotFoundRpcError;
2340
+ exports.ProviderDisconnectedError = ProviderDisconnectedError;
2341
+ exports.SwitchChainError = SwitchChainError;
2342
+ exports.UnauthorizedProviderError = UnauthorizedProviderError;
2343
+ exports.UnsupportedProviderMethodError = UnsupportedProviderMethodError;
2344
+ exports.UserRejectedRequestError = UserRejectedRequestError;
2345
+ exports.ensureProviderRpcError = ensureProviderRpcError;
2103
2346
 
2104
2347
  }));