@mocanetwork/airkit-connector 1.2.0 → 1.3.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.
@@ -41,7 +41,7 @@ function __values(o) {
41
41
  if (m) return m.call(o);
42
42
  if (o && typeof o.length === "number") return {
43
43
  next: function () {
44
- if (o && i >= o.length) o = undefined;
44
+ if (o && i >= o.length) o = void 0;
45
45
  return {
46
46
  value: o && o[i++],
47
47
  done: !o
@@ -119,6 +119,8 @@ const AirAuthMessageTypes = {
119
119
  CROSS_PARTNER_TOKEN_RESPONSE: "air_auth_cross_partner_token_response",
120
120
  PARTNER_ACCESS_TOKEN_REQUEST: "air_auth_partner_access_token_request",
121
121
  PARTNER_ACCESS_TOKEN_RESPONSE: "air_auth_partner_access_token_response",
122
+ CREDENTIAL_SALT_REQUEST: "air_auth_credential_salt_request",
123
+ CREDENTIAL_SALT_RESPONSE: "air_auth_credential_salt_response",
122
124
  LOGOUT_REQUEST: "air_auth_logout_request",
123
125
  LOGOUT_RESPONSE: "air_auth_logout_response",
124
126
  RESET_WALLET_COMMUNICATION: "air_auth_reset_wallet_communication"
@@ -137,14 +139,6 @@ const AirWalletMessageTypes = {
137
139
  CLAIM_ID_RESPONSE: "air_claim_id_response",
138
140
  DEPLOY_SMART_ACCOUNT_REQUEST: "air_deploy_smart_account_request",
139
141
  DEPLOY_SMART_ACCOUNT_RESPONSE: "air_deploy_smart_account_response",
140
- GRANT_PERMISSIONS_REQUEST: "air_grant_permissions_request",
141
- GRANT_PERMISSIONS_RESPONSE: "air_grant_permissions_response",
142
- EXECUTE_ACTION_REQUEST: "air_execute_action_request",
143
- EXECUTE_ACTION_RESPONSE: "air_execute_action_response",
144
- REVOKE_PERMISSIONS_REQUEST: "air_revoke_permissions_request",
145
- REVOKE_PERMISSIONS_RESPONSE: "air_revoke_permissions_response",
146
- LIST_ALL_SESSION_KEY_SCOPES_REQUEST: "air_list_all_session_key_scopes_request",
147
- LIST_ALL_SESSION_KEY_SCOPES_RESPONSE: "air_list_all_session_key_scopes_response",
148
142
  WALLET_IFRAME_VISIBILITY_REQUEST: "air_wallet_iframe_visibility_request",
149
143
  OPEN_WINDOW_REQUEST: "air_open_window_request",
150
144
  OPEN_WINDOW_RESPONSE: "air_open_window_response",
@@ -195,20 +189,20 @@ const BUILD_ENV = {
195
189
  };
196
190
  const AIR_URLS = {
197
191
  [BUILD_ENV.DEVELOPMENT]: {
198
- authUrl: "http://localhost:8100",
199
- walletUrl: "http://localhost:8200"
192
+ authUrl: "http://localhost:8200/auth/",
193
+ walletUrl: "http://localhost:8200/wallet/"
200
194
  },
201
195
  [BUILD_ENV.UAT]: {
202
- authUrl: "https://auth.uat.air3.com",
203
- walletUrl: "https://account.uat.air3.com"
196
+ authUrl: "https://account.uat.air3.com/auth/",
197
+ walletUrl: "https://account.uat.air3.com/wallet/"
204
198
  },
205
199
  [BUILD_ENV.STAGING]: {
206
- authUrl: "https://auth.staging.air3.com",
207
- walletUrl: "https://account.staging.air3.com"
200
+ authUrl: "https://account.staging.air3.com/auth/",
201
+ walletUrl: "https://account.staging.air3.com/wallet/"
208
202
  },
209
203
  [BUILD_ENV.PRODUCTION]: {
210
- authUrl: "https://auth.air3.com",
211
- walletUrl: "https://account.air3.com"
204
+ authUrl: "https://account.air3.com/auth/",
205
+ walletUrl: "https://account.air3.com/wallet/"
212
206
  }
213
207
  };
214
208
  const isElement = element => element instanceof Element || element instanceof Document;
@@ -807,7 +801,7 @@ var Subscription = function () {
807
801
  }
808
802
  teardown._addParent(this);
809
803
  }
810
- (this._finalizers = (_a = this._finalizers) !== null && _a !== undefined ? _a : []).push(teardown);
804
+ (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
811
805
  }
812
806
  }
813
807
  };
@@ -853,11 +847,7 @@ function execFinalizer(finalizer) {
853
847
  }
854
848
  }
855
849
  var config = {
856
- onUnhandledError: null,
857
- onStoppedNotification: null,
858
- Promise: undefined,
859
- useDeprecatedSynchronousErrorHandling: false,
860
- useDeprecatedNextContext: false
850
+ Promise: undefined
861
851
  };
862
852
  var timeoutProvider = {
863
853
  setTimeout: function (handler, timeout) {
@@ -865,7 +855,7 @@ var timeoutProvider = {
865
855
  for (var _i = 2; _i < arguments.length; _i++) {
866
856
  args[_i - 2] = arguments[_i];
867
857
  }
868
- return setTimeout.apply(undefined, __spreadArray([handler, timeout], __read(args)));
858
+ return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));
869
859
  },
870
860
  clearTimeout: function (handle) {
871
861
  return clearTimeout(handle);
@@ -991,9 +981,9 @@ var SafeSubscriber = function (_super) {
991
981
  var partialObserver;
992
982
  if (isFunction(observerOrNext) || !observerOrNext) {
993
983
  partialObserver = {
994
- next: observerOrNext !== null && observerOrNext !== undefined ? observerOrNext : undefined,
995
- error: error !== null && error !== undefined ? error : undefined,
996
- complete: complete !== null && complete !== undefined ? complete : undefined
984
+ next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,
985
+ error: error !== null && error !== void 0 ? error : undefined,
986
+ complete: complete !== null && complete !== void 0 ? complete : undefined
997
987
  };
998
988
  } else {
999
989
  {
@@ -1089,7 +1079,7 @@ var Observable = function () {
1089
1079
  };
1090
1080
  Observable.prototype._subscribe = function (subscriber) {
1091
1081
  var _a;
1092
- return (_a = this.source) === null || _a === undefined ? undefined : _a.subscribe(subscriber);
1082
+ return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);
1093
1083
  };
1094
1084
  Observable.prototype[observable] = function () {
1095
1085
  return this;
@@ -1122,7 +1112,7 @@ var Observable = function () {
1122
1112
  }();
1123
1113
  function getPromiseCtor(promiseCtor) {
1124
1114
  var _a;
1125
- return (_a = promiseCtor !== null && promiseCtor !== undefined ? promiseCtor : config.Promise) !== null && _a !== undefined ? _a : Promise;
1115
+ return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;
1126
1116
  }
1127
1117
  function isObserver(value) {
1128
1118
  return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);
@@ -1131,7 +1121,7 @@ function isSubscriber(value) {
1131
1121
  return value && value instanceof Subscriber || isObserver(value) && isSubscription(value);
1132
1122
  }
1133
1123
  function hasLift(source) {
1134
- return isFunction(source === null || source === undefined ? undefined : source.lift);
1124
+ return isFunction(source === null || source === void 0 ? void 0 : source.lift);
1135
1125
  }
1136
1126
  function operate(init) {
1137
1127
  return function (source) {
@@ -1188,7 +1178,7 @@ var OperatorSubscriber = function (_super) {
1188
1178
  if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
1189
1179
  var closed_1 = this.closed;
1190
1180
  _super.prototype.unsubscribe.call(this);
1191
- !closed_1 && ((_a = this.onFinalize) === null || _a === undefined ? undefined : _a.call(this));
1181
+ !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));
1192
1182
  }
1193
1183
  };
1194
1184
  return OperatorSubscriber;
@@ -1284,7 +1274,7 @@ var Subject = function (_super) {
1284
1274
  Object.defineProperty(Subject.prototype, "observed", {
1285
1275
  get: function () {
1286
1276
  var _a;
1287
- return ((_a = this.observers) === null || _a === undefined ? undefined : _a.length) > 0;
1277
+ return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;
1288
1278
  },
1289
1279
  enumerable: false,
1290
1280
  configurable: true
@@ -1345,19 +1335,19 @@ var AnonymousSubject = function (_super) {
1345
1335
  }
1346
1336
  AnonymousSubject.prototype.next = function (value) {
1347
1337
  var _a, _b;
1348
- (_b = (_a = this.destination) === null || _a === undefined ? undefined : _a.next) === null || _b === undefined ? undefined : _b.call(_a, value);
1338
+ (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);
1349
1339
  };
1350
1340
  AnonymousSubject.prototype.error = function (err) {
1351
1341
  var _a, _b;
1352
- (_b = (_a = this.destination) === null || _a === undefined ? undefined : _a.error) === null || _b === undefined ? undefined : _b.call(_a, err);
1342
+ (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);
1353
1343
  };
1354
1344
  AnonymousSubject.prototype.complete = function () {
1355
1345
  var _a, _b;
1356
- (_b = (_a = this.destination) === null || _a === undefined ? undefined : _a.complete) === null || _b === undefined ? undefined : _b.call(_a);
1346
+ (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);
1357
1347
  };
1358
1348
  AnonymousSubject.prototype._subscribe = function (subscriber) {
1359
1349
  var _a, _b;
1360
- return (_b = (_a = this.source) === null || _a === undefined ? undefined : _a.subscribe(subscriber)) !== null && _b !== undefined ? _b : EMPTY_SUBSCRIPTION;
1350
+ return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;
1361
1351
  };
1362
1352
  return AnonymousSubject;
1363
1353
  }(Subject);
@@ -1401,6 +1391,27 @@ function filter(predicate, thisArg) {
1401
1391
  }));
1402
1392
  });
1403
1393
  }
1394
+ const bigIntReplacer = (_key, value) => {
1395
+ return typeof value === "bigint" ? value.toString() : value;
1396
+ };
1397
+ /**
1398
+ * Creates a window features string for `window.open`, based on the current screen size.
1399
+ * It tries to center the window and limits the size to the given max width and height.
1400
+ * Slightly reduces the size to avoid browser auto-resizing.
1401
+ */
1402
+ const getWindowFeatures = (maxWidth, maxHeight) => {
1403
+ const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
1404
+ const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;
1405
+ const w = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : window.screen.width;
1406
+ const h = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : window.screen.height;
1407
+ // 95% adjustment for mobile devices, some browser might resize the window
1408
+ const finalWidth = Math.min(w, maxWidth) * 0.95;
1409
+ const finalHeight = Math.min(h, maxHeight) * 0.95;
1410
+ const systemZoom = 1; // No reliable estimate
1411
+ const left = Math.abs((w - finalWidth) / 2 / systemZoom + dualScreenLeft);
1412
+ const top = Math.abs((h - finalHeight) / 2 / systemZoom + dualScreenTop);
1413
+ return `titlebar=0,toolbar=0,status=0,location=0,menubar=0,height=${finalHeight / systemZoom},width=${finalWidth / systemZoom},top=${top},left=${left}`;
1414
+ };
1404
1415
 
1405
1416
  // refer to realm-network-api/src/common/enums/error-codes.enum.ts
1406
1417
  /*** Authentication Errors ***/
@@ -1565,7 +1576,15 @@ class MessageServiceBase {
1565
1576
  this.messagePort = target;
1566
1577
  target.onmessage = handleMessage;
1567
1578
  this.closeListener = async () => {
1568
- target.close();
1579
+ this.messagePort?.close();
1580
+ this.messagePort = undefined;
1581
+ };
1582
+ } else if (target instanceof BroadcastChannel) {
1583
+ this.messageChannel = target;
1584
+ target.onmessage = handleMessage;
1585
+ this.closeListener = async () => {
1586
+ this.messageChannel?.close();
1587
+ this.messageChannel = undefined;
1569
1588
  };
1570
1589
  } else {
1571
1590
  this.targetWindow = target.window;
@@ -1607,23 +1626,22 @@ class MessageServiceBase {
1607
1626
  const clonedMessage = this.deepClone(message);
1608
1627
  if (this.messagePort) {
1609
1628
  this.messagePort.postMessage(clonedMessage);
1610
- this.eventSubject.next(new MessageEvent("message", {
1611
- data: clonedMessage,
1612
- origin: window.origin
1613
- }));
1629
+ } else if (this.messageChannel) {
1630
+ this.messageChannel.postMessage(clonedMessage);
1614
1631
  } else if (this.targetWindow && this.targetOrigin) {
1615
1632
  this.targetWindow.postMessage(clonedMessage, this.targetOrigin, transfer);
1616
- this.eventSubject.next(new MessageEvent("message", {
1617
- data: clonedMessage,
1618
- origin: window.origin
1619
- }));
1620
1633
  } else {
1621
1634
  log$1.debug(`[${this.name}] Not opened yet`);
1635
+ return;
1622
1636
  }
1637
+ this.eventSubject.next(new MessageEvent("message", {
1638
+ data: clonedMessage,
1639
+ origin: window.origin
1640
+ }));
1623
1641
  }
1624
1642
  deepClone(message) {
1625
1643
  try {
1626
- return JSON.parse(JSON.stringify(message));
1644
+ return JSON.parse(JSON.stringify(message, bigIntReplacer));
1627
1645
  } catch (e) {
1628
1646
  log$1.warn("Error generating cloneable message", e);
1629
1647
  return message;
@@ -1663,7 +1681,7 @@ class ProviderMessageService extends MessageServiceBase {
1663
1681
  }
1664
1682
  _a$2 = ProviderMessageService;
1665
1683
  _ProviderMessageService_instance = {
1666
- value: undefined
1684
+ value: void 0
1667
1685
  };
1668
1686
  var _AirWalletProvider_instances, _AirWalletProvider_providerMessageService, _AirWalletProvider_isLoggedIn, _AirWalletProvider_ensureWallet, _AirWalletProvider_eventListeners, _AirWalletProvider_emit;
1669
1687
  class AirWalletProvider {
@@ -1672,10 +1690,10 @@ class AirWalletProvider {
1672
1690
  ensureWallet
1673
1691
  }) {
1674
1692
  _AirWalletProvider_instances.add(this);
1675
- _AirWalletProvider_providerMessageService.set(this, undefined);
1676
- _AirWalletProvider_isLoggedIn.set(this, undefined);
1677
- _AirWalletProvider_ensureWallet.set(this, undefined);
1678
- _AirWalletProvider_eventListeners.set(this, undefined);
1693
+ _AirWalletProvider_providerMessageService.set(this, void 0);
1694
+ _AirWalletProvider_isLoggedIn.set(this, void 0);
1695
+ _AirWalletProvider_ensureWallet.set(this, void 0);
1696
+ _AirWalletProvider_eventListeners.set(this, void 0);
1679
1697
  this.startEventMessageListening = async walletIframe => {
1680
1698
  await __classPrivateFieldGet$1(this, _AirWalletProvider_providerMessageService, "f").open(walletIframe);
1681
1699
  __classPrivateFieldGet$1(this, _AirWalletProvider_providerMessageService, "f").messages$.pipe(filter(msg => msg.type === AirWalletProviderMessageTypes.EVENT)).subscribe(message => {
@@ -1714,8 +1732,15 @@ class AirWalletProvider {
1714
1732
  if (!__classPrivateFieldGet$1(this, _AirWalletProvider_isLoggedIn, "f").call(this)) {
1715
1733
  throw new UnauthorizedProviderError("User is not logged in");
1716
1734
  }
1735
+ const skipWalletLoginMethods = ['eth_chainId'];
1717
1736
  try {
1718
- await __classPrivateFieldGet$1(this, _AirWalletProvider_ensureWallet, "f").call(this);
1737
+ if (skipWalletLoginMethods.includes(method)) {
1738
+ await __classPrivateFieldGet$1(this, _AirWalletProvider_ensureWallet, "f").call(this, {
1739
+ skipWalletLogin: true
1740
+ });
1741
+ } else {
1742
+ await __classPrivateFieldGet$1(this, _AirWalletProvider_ensureWallet, "f").call(this);
1743
+ }
1719
1744
  } catch (error) {
1720
1745
  throw ensureProviderRpcError(error);
1721
1746
  }
@@ -1821,25 +1846,6 @@ class IframeController {
1821
1846
  IframeController.defaultState = {
1822
1847
  isVisible: false
1823
1848
  };
1824
-
1825
- /**
1826
- * Creates a window features string for `window.open`, based on the current screen size.
1827
- * It tries to center the window and limits the size to the given max width and height.
1828
- * Slightly reduces the size to avoid browser auto-resizing.
1829
- */
1830
- const getWindowFeatures = (maxWidth, maxHeight) => {
1831
- const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
1832
- const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;
1833
- const w = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : window.screen.width;
1834
- const h = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : window.screen.height;
1835
- // 95% adjustment for mobile devices, some browser might resize the window
1836
- const finalWidth = Math.min(w, maxWidth) * 0.95;
1837
- const finalHeight = Math.min(h, maxHeight) * 0.95;
1838
- const systemZoom = 1; // No reliable estimate
1839
- const left = Math.abs((w - finalWidth) / 2 / systemZoom + dualScreenLeft);
1840
- const top = Math.abs((h - finalHeight) / 2 / systemZoom + dualScreenTop);
1841
- return `titlebar=0,toolbar=0,status=0,location=0,menubar=0,height=${finalHeight / systemZoom},width=${finalWidth / systemZoom},top=${top},left=${left}`;
1842
- };
1843
1849
  class WindowController {
1844
1850
  get messages$() {
1845
1851
  return this._messages$.asObservable();
@@ -1982,7 +1988,8 @@ class WindowService {
1982
1988
  partnerId,
1983
1989
  enableLogging,
1984
1990
  onRetry,
1985
- sdkVersion
1991
+ sdkVersion,
1992
+ enableAutomation
1986
1993
  }) {
1987
1994
  if (this.windowControllers.has(windowId)) {
1988
1995
  throw new Error("Window controller already exists");
@@ -2007,7 +2014,8 @@ class WindowService {
2007
2014
  } = await this.sendWindowInitializationRequest(windowId, {
2008
2015
  partnerId,
2009
2016
  enableLogging,
2010
- sdkVersion
2017
+ sdkVersion,
2018
+ enableAutomation
2011
2019
  }, channel.port1);
2012
2020
  if (payload.success === false) {
2013
2021
  reject(new AirServiceError(payload.errorName, payload.errorMessage));
@@ -2043,7 +2051,7 @@ class WindowService {
2043
2051
  }
2044
2052
  var WindowService$1 = WindowService.instance;
2045
2053
  var _a$1, _AuthMessageService_instance;
2046
- const ALLOWED_AUTH_MESSAGES = [AirAuthMessageTypes.INITIALIZATION_RESPONSE, AirAuthMessageTypes.LOGIN_RESPONSE, AirAuthMessageTypes.SETUP_WALLET_REQUEST, AirAuthMessageTypes.LOGOUT_RESPONSE, AirAuthMessageTypes.PARTNER_USER_INFO_RESPONSE, AirAuthMessageTypes.CROSS_PARTNER_TOKEN_RESPONSE, AirAuthMessageTypes.PARTNER_ACCESS_TOKEN_RESPONSE, AirAuthMessageTypes.IFRAME_VISIBILITY_REQUEST];
2054
+ const ALLOWED_AUTH_MESSAGES = [AirAuthMessageTypes.INITIALIZATION_RESPONSE, AirAuthMessageTypes.LOGIN_RESPONSE, AirAuthMessageTypes.SETUP_WALLET_REQUEST, AirAuthMessageTypes.LOGOUT_RESPONSE, AirAuthMessageTypes.PARTNER_USER_INFO_RESPONSE, AirAuthMessageTypes.CROSS_PARTNER_TOKEN_RESPONSE, AirAuthMessageTypes.PARTNER_ACCESS_TOKEN_RESPONSE, AirAuthMessageTypes.IFRAME_VISIBILITY_REQUEST, AirAuthMessageTypes.CREDENTIAL_SALT_RESPONSE];
2047
2055
  class AuthMessageService extends MessageServiceBase {
2048
2056
  static create() {
2049
2057
  if (__classPrivateFieldGet$1(this, _a$1, "f", _AuthMessageService_instance)) throw new Error("AuthMessageService already created");
@@ -2058,10 +2066,10 @@ class AuthMessageService extends MessageServiceBase {
2058
2066
  origin
2059
2067
  });
2060
2068
  }
2061
- async initWalletCommunication(port) {
2069
+ async initWalletCommunication() {
2062
2070
  await this.sendMessage({
2063
2071
  type: AirAuthMessageTypes.INIT_WALLET_COMMUNICATION
2064
- }, [port]);
2072
+ });
2065
2073
  }
2066
2074
  async sendPartnerUserInfoRequest() {
2067
2075
  const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirAuthMessageTypes.PARTNER_USER_INFO_RESPONSE)));
@@ -2129,13 +2137,20 @@ class AuthMessageService extends MessageServiceBase {
2129
2137
  });
2130
2138
  return response;
2131
2139
  }
2140
+ async sendCredentialSaltRequest() {
2141
+ const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirAuthMessageTypes.CREDENTIAL_SALT_RESPONSE)));
2142
+ await this.sendMessage({
2143
+ type: AirAuthMessageTypes.CREDENTIAL_SALT_REQUEST
2144
+ });
2145
+ return response;
2146
+ }
2132
2147
  }
2133
2148
  _a$1 = AuthMessageService;
2134
2149
  _AuthMessageService_instance = {
2135
- value: undefined
2150
+ value: void 0
2136
2151
  };
2137
2152
  var _a, _WalletMessageService_instance;
2138
- const ALLOWED_WALLET_MESSAGES = [AirWalletMessageTypes.INITIALIZATION_RESPONSE, AirWalletMessageTypes.WALLET_INITIALIZED, AirWalletMessageTypes.WALLET_LOGIN_RESPONSE, AirWalletMessageTypes.SETUP_OR_UPDATE_MFA_RESPONSE, AirWalletMessageTypes.CLAIM_ID_RESPONSE, AirWalletMessageTypes.IS_SMART_ACCOUNT_DEPLOYED_RESPONSE, AirWalletMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE, AirWalletMessageTypes.EXECUTE_ACTION_RESPONSE, AirWalletMessageTypes.REVOKE_PERMISSIONS_RESPONSE, AirWalletMessageTypes.GRANT_PERMISSIONS_RESPONSE, AirWalletMessageTypes.LIST_ALL_SESSION_KEY_SCOPES_RESPONSE, AirWalletMessageTypes.WALLET_INITIALIZED, AirWalletMessageTypes.WALLET_IFRAME_VISIBILITY_REQUEST, AirWalletMessageTypes.LOGOUT_RESPONSE, AirWalletMessageTypes.OPEN_WINDOW_REQUEST, AirWalletMessageTypes.OPEN_WINDOW_RETRY_RESPONSE];
2153
+ const ALLOWED_WALLET_MESSAGES = [AirWalletMessageTypes.INITIALIZATION_RESPONSE, AirWalletMessageTypes.WALLET_INITIALIZED, AirWalletMessageTypes.WALLET_LOGIN_RESPONSE, AirWalletMessageTypes.SETUP_OR_UPDATE_MFA_RESPONSE, AirWalletMessageTypes.CLAIM_ID_RESPONSE, AirWalletMessageTypes.IS_SMART_ACCOUNT_DEPLOYED_RESPONSE, AirWalletMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE, AirWalletMessageTypes.WALLET_INITIALIZED, AirWalletMessageTypes.WALLET_IFRAME_VISIBILITY_REQUEST, AirWalletMessageTypes.LOGOUT_RESPONSE, AirWalletMessageTypes.OPEN_WINDOW_REQUEST, AirWalletMessageTypes.OPEN_WINDOW_RETRY_RESPONSE];
2139
2154
  class WalletMessageService extends MessageServiceBase {
2140
2155
  static create() {
2141
2156
  if (__classPrivateFieldGet$1(this, _a, "f", _WalletMessageService_instance)) throw new Error("WalletMessageService already created");
@@ -2150,61 +2165,13 @@ class WalletMessageService extends MessageServiceBase {
2150
2165
  origin
2151
2166
  });
2152
2167
  }
2153
- async initAuthCommunication(skipWalletLogin, port) {
2168
+ async initAuthCommunication(skipWalletLogin) {
2154
2169
  await this.sendMessage({
2155
2170
  type: AirWalletMessageTypes.INIT_AUTH_COMMUNICATION,
2156
2171
  payload: {
2157
2172
  skipWalletLogin
2158
2173
  }
2159
- }, [port]);
2160
- }
2161
- async sendGrantPermissionRequest(policies) {
2162
- const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.GRANT_PERMISSIONS_RESPONSE)));
2163
- await this.sendMessage({
2164
- type: AirWalletMessageTypes.GRANT_PERMISSIONS_REQUEST,
2165
- payload: {
2166
- policies
2167
- }
2168
2174
  });
2169
- const result = await response;
2170
- if (result.payload.success === false) {
2171
- throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
2172
- }
2173
- return result.payload.sessionData;
2174
- }
2175
- async sendExecuteActionRequest(params) {
2176
- const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.EXECUTE_ACTION_RESPONSE)));
2177
- await this.sendMessage({
2178
- type: AirWalletMessageTypes.EXECUTE_ACTION_REQUEST,
2179
- payload: {
2180
- sessionData: params.sessionData,
2181
- call: {
2182
- to: params.call.to,
2183
- value: params.call.value,
2184
- data: params.call.data
2185
- },
2186
- sessionOwnerPrivateKey: params.sessionOwnerPrivateKey
2187
- }
2188
- });
2189
- const result = await response;
2190
- if (result.payload.success === false) {
2191
- throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
2192
- }
2193
- return result.payload.txHash;
2194
- }
2195
- async sendRevokePermissionsRequest(permissionId) {
2196
- const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.REVOKE_PERMISSIONS_RESPONSE)));
2197
- await this.sendMessage({
2198
- type: AirWalletMessageTypes.REVOKE_PERMISSIONS_REQUEST,
2199
- payload: {
2200
- permissionId
2201
- }
2202
- });
2203
- const result = await response;
2204
- if (result.payload.success === false) {
2205
- throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
2206
- }
2207
- return result.payload.txHash;
2208
2175
  }
2209
2176
  async sendDeploySmartAccountRequest() {
2210
2177
  const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE)));
@@ -2235,21 +2202,6 @@ class WalletMessageService extends MessageServiceBase {
2235
2202
  });
2236
2203
  return response;
2237
2204
  }
2238
- async sendGrantPermissionsRequest(payload) {
2239
- const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.GRANT_PERMISSIONS_RESPONSE)));
2240
- await this.sendMessage({
2241
- type: AirWalletMessageTypes.GRANT_PERMISSIONS_REQUEST,
2242
- payload
2243
- });
2244
- return response;
2245
- }
2246
- async sendListAllSessionKeyScopesRequest() {
2247
- const response = firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.LIST_ALL_SESSION_KEY_SCOPES_RESPONSE)));
2248
- await this.sendMessage({
2249
- type: AirWalletMessageTypes.LIST_ALL_SESSION_KEY_SCOPES_REQUEST
2250
- });
2251
- return response;
2252
- }
2253
2205
  onInitialized() {
2254
2206
  return firstValueFrom(this.messages$.pipe(filter(msg => msg.type === AirWalletMessageTypes.WALLET_INITIALIZED)));
2255
2207
  }
@@ -2315,7 +2267,7 @@ class WalletMessageService extends MessageServiceBase {
2315
2267
  }
2316
2268
  _a = WalletMessageService;
2317
2269
  _WalletMessageService_instance = {
2318
- value: undefined
2270
+ value: void 0
2319
2271
  };
2320
2272
  const getLevelName = levelNum => {
2321
2273
  const levelNames = Object.keys(log$1.levels);
@@ -2337,78 +2289,11 @@ const configureLogLevel = (environment, enableLogging) => {
2337
2289
  level = enableLogging ? log$1.levels.WARN : log$1.levels.ERROR;
2338
2290
  }
2339
2291
  log$1.setLevel(level);
2340
- log$1.info(`[${window?.location?.origin}] LogLevel: ${getLevelName(log$1.getLevel())}`);
2341
- };
2342
- var name = "@mocanetwork/airkit";
2343
- var version$2 = "1.2.0";
2344
- var description = "Air kit to interact with the Moca Network";
2345
- var main = "dist/airkit.cjs.js";
2346
- var module$1 = "dist/airkit.esm.js";
2347
- var unpkg = "dist/airkit.umd.min.js";
2348
- var jsdelivr = "dist/airkit.umd.min.js";
2349
- var types = "dist/types/index.d.ts";
2350
- var files = ["dist"];
2351
- var scripts = {
2352
- build: "rollup --config",
2353
- prepack: "npm run build && npm run postbuild",
2354
- lint: "eslint --fix 'src/**/*.ts'",
2355
- format: "prettier --write 'src/**/*.ts'",
2356
- postbuild: "node scripts/copyAndAdjustDtsFiles.js '../common/src' 'common'"
2357
- };
2358
- var dependencies = {
2359
- "@mocanetwork/airkit-connector": "^1.2.0",
2360
- "fast-deep-equal": "^3.1.3",
2361
- loglevel: "^1.9.2",
2362
- pump: "^3.0.0",
2363
- "readable-stream": "^4.5.2",
2364
- rxjs: "^7.8.1"
2365
- };
2366
- var devDependencies = {
2367
- "@babel/runtime": "^7.25.6",
2368
- "@rushstack/eslint-patch": "^1.10.2",
2369
- "@types/pump": "^1.1.3",
2370
- "@types/readable-stream": "^4.0.15",
2371
- "fs-extra": "^11.2.0",
2372
- glob: "^11.0.0",
2373
- process: "^0.11.10",
2374
- "typescript-eslint": "^8.21.0"
2375
- };
2376
- var mocha = {
2377
- timeout: 0
2378
- };
2379
- var keywords = ["airkit", "mocaverse", "wallet", "embed", "login", "OAuth", "crypto"];
2380
- var author = "Mocaverse";
2381
- var license = "ISC";
2382
- var engines = {
2383
- node: ">=18.x",
2384
- npm: ">=9.x"
2385
- };
2386
- var publishConfig = {
2387
- access: "restricted"
2292
+ log$1.info(`[${window?.location?.href}] LogLevel: ${getLevelName(log$1.getLevel())}`);
2388
2293
  };
2294
+ var version$2 = "1.3.0";
2389
2295
  var airkitPackage = {
2390
- name: name,
2391
- version: version$2,
2392
- description: description,
2393
- main: main,
2394
- module: module$1,
2395
- unpkg: unpkg,
2396
- jsdelivr: jsdelivr,
2397
- types: types,
2398
- files: files,
2399
- scripts: scripts,
2400
- dependencies: dependencies,
2401
- devDependencies: devDependencies,
2402
- mocha: mocha,
2403
- keywords: keywords,
2404
- author: author,
2405
- license: license,
2406
- "lint-staged": {
2407
- "!(*d).{js,ts}": ["eslint --cache --fix", "prettier --write"],
2408
- "*.{json, md}": ["prettier --write"]
2409
- },
2410
- engines: engines,
2411
- publishConfig: publishConfig
2296
+ version: version$2
2412
2297
  };
2413
2298
  var _AirService_instances, _AirService_loginResult, _AirService_buildEnv, _AirService_enableLogging, _AirService_partnerId, _AirService_authMessagingService, _AirService_authIframeController, _AirService_isAuthInitialized, _AirService_airAuthListener, _AirService_walletMessagingService, _AirService_walletIframeController, _AirService_walletInitialization, _AirService_walletLoggedInResult, _AirService_airWalletProvider, _AirService_ensureWallet, _AirService_initializeWallet, _AirService_subscribeToWalletEvents, _AirService_triggerEventListeners, _AirService_triggerAirAuthInitialized, _AirService_triggerAirAuthLoggedIn, _AirService_triggerAirAuthLoggedOut, _AirService_triggerWalletInitialized, _AirService_createLoginResult, _AirService_createWalletInitializedResult, _AirService_cleanUpAuth, _AirService_cleanUpWallet;
2414
2299
  const airKitVersion = airkitPackage.version;
@@ -2417,20 +2302,20 @@ class AirService {
2417
2302
  partnerId
2418
2303
  }) {
2419
2304
  _AirService_instances.add(this);
2420
- _AirService_loginResult.set(this, undefined);
2421
- _AirService_buildEnv.set(this, undefined);
2305
+ _AirService_loginResult.set(this, void 0);
2306
+ _AirService_buildEnv.set(this, void 0);
2422
2307
  _AirService_enableLogging.set(this, false);
2423
- _AirService_partnerId.set(this, undefined);
2308
+ _AirService_partnerId.set(this, void 0);
2424
2309
  //#modalZIndex: number; TODO implement z index overwrite
2425
- _AirService_authMessagingService.set(this, undefined);
2426
- _AirService_authIframeController.set(this, undefined);
2310
+ _AirService_authMessagingService.set(this, void 0);
2311
+ _AirService_authIframeController.set(this, void 0);
2427
2312
  _AirService_isAuthInitialized.set(this, false);
2428
2313
  _AirService_airAuthListener.set(this, []);
2429
- _AirService_walletMessagingService.set(this, undefined);
2430
- _AirService_walletIframeController.set(this, undefined);
2431
- _AirService_walletInitialization.set(this, undefined);
2432
- _AirService_walletLoggedInResult.set(this, undefined);
2433
- _AirService_airWalletProvider.set(this, undefined);
2314
+ _AirService_walletMessagingService.set(this, void 0);
2315
+ _AirService_walletIframeController.set(this, void 0);
2316
+ _AirService_walletInitialization.set(this, void 0);
2317
+ _AirService_walletLoggedInResult.set(this, void 0);
2318
+ _AirService_airWalletProvider.set(this, void 0);
2434
2319
  __classPrivateFieldSet(this, _AirService_partnerId, partnerId);
2435
2320
  __classPrivateFieldSet(this, _AirService_authMessagingService, AuthMessageService.create());
2436
2321
  __classPrivateFieldSet(this, _AirService_walletMessagingService, WalletMessageService.create());
@@ -2460,6 +2345,9 @@ class AirService {
2460
2345
  removeListener: provider.removeListener.bind(provider)
2461
2346
  };
2462
2347
  }
2348
+ shouldEnableAutomation() {
2349
+ return localStorage.getItem("automation") === "true" && __classPrivateFieldGet$1(this, _AirService_buildEnv, "f") !== "production";
2350
+ }
2463
2351
  async init({
2464
2352
  buildEnv = BUILD_ENV.PRODUCTION,
2465
2353
  enableLogging = false,
@@ -2477,6 +2365,7 @@ class AirService {
2477
2365
  __classPrivateFieldSet(this, _AirService_authIframeController, new IframeController(authUrl, `air-auth-${randomId()}`));
2478
2366
  try {
2479
2367
  __classPrivateFieldGet$1(this, _AirService_authIframeController, "f").createIframe();
2368
+ log$1.info(authUrl, "url loaded");
2480
2369
  await __classPrivateFieldGet$1(this, _AirService_authMessagingService, "f").open(__classPrivateFieldGet$1(this, _AirService_authIframeController, "f").iframeElement);
2481
2370
  __classPrivateFieldGet$1(this, _AirService_authMessagingService, "f").messages$.subscribe(async msg => {
2482
2371
  switch (msg.type) {
@@ -2514,7 +2403,8 @@ class AirService {
2514
2403
  skipRehydration,
2515
2404
  partnerDAppUrl: window.location.href,
2516
2405
  sdkVersion: airKitVersion,
2517
- enableLogging: __classPrivateFieldGet$1(this, _AirService_enableLogging, "f")
2406
+ enableLogging: __classPrivateFieldGet$1(this, _AirService_enableLogging, "f"),
2407
+ enableAutomation: this.shouldEnableAutomation()
2518
2408
  });
2519
2409
  if (payload.success === true) {
2520
2410
  resolve(payload);
@@ -2581,66 +2471,17 @@ class AirService {
2581
2471
  /**
2582
2472
  * @experimental This method is experimental and will change in the future.
2583
2473
  */
2584
- async grantPermission(policies) {
2585
- if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("AirAuth is not initialized");
2586
- await __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
2587
- try {
2588
- log$1.info("grantPermission", policies);
2589
- const {
2590
- payload
2591
- } = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendGrantPermissionsRequest({
2592
- policies
2593
- });
2594
- if (payload.success === false) {
2595
- throw new AirServiceError(payload.errorName, payload.errorMessage);
2596
- }
2597
- return payload.sessionData;
2598
- } catch (error) {
2599
- throw AirServiceError.from(error);
2600
- }
2601
- }
2602
- /**
2603
- * @experimental This method is experimental and will change in the future.
2604
- */
2605
- async listAllSessionKeyScopes() {
2474
+ async isSmartAccountDeployed() {
2606
2475
  if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("Service is not initialized");
2607
2476
  await __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
2608
2477
  try {
2609
2478
  const {
2610
2479
  payload
2611
- } = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendListAllSessionKeyScopesRequest();
2480
+ } = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendIsSmartAccountDeployedRequest();
2612
2481
  if (payload.success === false) {
2613
2482
  throw new AirServiceError(payload.errorName, payload.errorMessage);
2614
2483
  }
2615
- return payload.sessionKeyScopes;
2616
- } catch (error) {
2617
- throw AirServiceError.from(error);
2618
- }
2619
- }
2620
- /**
2621
- * @experimental This method is experimental and will change in the future.
2622
- */
2623
- async executeAction(params) {
2624
- if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("Service is not initialized");
2625
- await __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
2626
- try {
2627
- log$1.info("executeAction", params);
2628
- const txHash = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendExecuteActionRequest(params);
2629
- return txHash;
2630
- } catch (error) {
2631
- throw AirServiceError.from(error);
2632
- }
2633
- }
2634
- /**
2635
- * @experimental This method is experimental and will change in the future.
2636
- */
2637
- async revokePermission(permissionId) {
2638
- if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("Service is not initialized");
2639
- await __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
2640
- try {
2641
- log$1.info("revokePermission", permissionId);
2642
- const txHash = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendRevokePermissionsRequest(permissionId);
2643
- return txHash;
2484
+ return payload.isDeployed;
2644
2485
  } catch (error) {
2645
2486
  throw AirServiceError.from(error);
2646
2487
  }
@@ -2648,20 +2489,16 @@ class AirService {
2648
2489
  /**
2649
2490
  * @experimental This method is experimental and will change in the future.
2650
2491
  */
2651
- async isSmartAccountDeployed() {
2492
+ async getCredentialSalt() {
2652
2493
  if (!__classPrivateFieldGet$1(this, _AirService_isAuthInitialized, "f")) throw new Error("Service is not initialized");
2653
- await __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
2654
- try {
2655
- const {
2656
- payload
2657
- } = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendIsSmartAccountDeployedRequest();
2658
- if (payload.success === false) {
2659
- throw new AirServiceError(payload.errorName, payload.errorMessage);
2660
- }
2661
- return payload.isDeployed;
2662
- } catch (error) {
2663
- throw AirServiceError.from(error);
2494
+ if (!this.isLoggedIn) throw new Error("No active session to get partner access token");
2495
+ const result = await __classPrivateFieldGet$1(this, _AirService_authMessagingService, "f").sendCredentialSaltRequest();
2496
+ if (result.payload.success === false) {
2497
+ throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
2664
2498
  }
2499
+ return {
2500
+ credentialSalt: result.payload.credentialSalt
2501
+ };
2665
2502
  }
2666
2503
  getProvider() {
2667
2504
  return this.provider;
@@ -2787,7 +2624,6 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
2787
2624
  const {
2788
2625
  walletUrl
2789
2626
  } = AIR_URLS[__classPrivateFieldGet$1(this, _AirService_buildEnv, "f")];
2790
- log$1.info(walletUrl, "url loaded");
2791
2627
  const walletIframeOrigin = new URL(walletUrl).origin;
2792
2628
  try {
2793
2629
  const walletInitRequestPromise = new Promise((resolve, reject) => {
@@ -2800,7 +2636,8 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
2800
2636
  } = await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendInitializationRequest({
2801
2637
  partnerId: __classPrivateFieldGet$1(this, _AirService_partnerId, "f"),
2802
2638
  enableLogging: __classPrivateFieldGet$1(this, _AirService_enableLogging, "f"),
2803
- sdkVersion: airKitVersion
2639
+ sdkVersion: airKitVersion,
2640
+ enableAutomation: this.shouldEnableAutomation()
2804
2641
  });
2805
2642
  if (payload.success === true) {
2806
2643
  resolve();
@@ -2813,14 +2650,14 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
2813
2650
  });
2814
2651
  __classPrivateFieldSet(this, _AirService_walletIframeController, new IframeController(walletUrl, `air-wallet-${randomId()}`), "f");
2815
2652
  __classPrivateFieldGet$1(this, _AirService_walletIframeController, "f").createIframe();
2653
+ log$1.info(walletUrl, "url loaded");
2816
2654
  await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").open(__classPrivateFieldGet$1(this, _AirService_walletIframeController, "f").iframeElement);
2817
2655
  __classPrivateFieldGet$1(this, _AirService_instances, "m", _AirService_subscribeToWalletEvents).call(this);
2818
2656
  await __classPrivateFieldGet$1(this, _AirService_airWalletProvider, "f").startEventMessageListening(__classPrivateFieldGet$1(this, _AirService_walletIframeController, "f").iframeElement);
2819
2657
  const walletInitPromise = __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").onInitialized();
2820
2658
  await walletInitRequestPromise;
2821
- const channel = new MessageChannel();
2822
- await __classPrivateFieldGet$1(this, _AirService_authMessagingService, "f").initWalletCommunication(channel.port1);
2823
- await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").initAuthCommunication(option?.skipWalletLogin ?? false, channel.port2);
2659
+ await __classPrivateFieldGet$1(this, _AirService_authMessagingService, "f").initWalletCommunication();
2660
+ await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").initAuthCommunication(option?.skipWalletLogin ?? false);
2824
2661
  const walletInitResult = await walletInitPromise;
2825
2662
  if (walletInitResult.payload.success !== true) {
2826
2663
  throw new AirServiceError(walletInitResult.payload.errorName, walletInitResult.payload.errorMessage);
@@ -2873,6 +2710,7 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
2873
2710
  partnerId: __classPrivateFieldGet$1(this, _AirService_partnerId, "f"),
2874
2711
  enableLogging: __classPrivateFieldGet$1(this, _AirService_enableLogging, "f"),
2875
2712
  sdkVersion: airKitVersion,
2713
+ enableAutomation: this.shouldEnableAutomation(),
2876
2714
  onRetry
2877
2715
  });
2878
2716
  windowController.onClose(async () => await __classPrivateFieldGet$1(this, _AirService_walletMessagingService, "f").sendWindowClosed(msg.payload.windowId));
@@ -2991,31 +2829,31 @@ let BaseError$1 = class BaseError extends Error {
2991
2829
  enumerable: true,
2992
2830
  configurable: true,
2993
2831
  writable: true,
2994
- value: undefined
2832
+ value: void 0
2995
2833
  });
2996
2834
  Object.defineProperty(this, "docsPath", {
2997
2835
  enumerable: true,
2998
2836
  configurable: true,
2999
2837
  writable: true,
3000
- value: undefined
2838
+ value: void 0
3001
2839
  });
3002
2840
  Object.defineProperty(this, "metaMessages", {
3003
2841
  enumerable: true,
3004
2842
  configurable: true,
3005
2843
  writable: true,
3006
- value: undefined
2844
+ value: void 0
3007
2845
  });
3008
2846
  Object.defineProperty(this, "shortMessage", {
3009
2847
  enumerable: true,
3010
2848
  configurable: true,
3011
2849
  writable: true,
3012
- value: undefined
2850
+ value: void 0
3013
2851
  });
3014
2852
  Object.defineProperty(this, "version", {
3015
2853
  enumerable: true,
3016
2854
  configurable: true,
3017
2855
  writable: true,
3018
- value: undefined
2856
+ value: void 0
3019
2857
  });
3020
2858
  Object.defineProperty(this, "name", {
3021
2859
  enumerable: true,
@@ -3401,7 +3239,7 @@ class LruMap extends Map {
3401
3239
  enumerable: true,
3402
3240
  configurable: true,
3403
3241
  writable: true,
3404
- value: undefined
3242
+ value: void 0
3405
3243
  });
3406
3244
  this.maxSize = size;
3407
3245
  }
@@ -3820,7 +3658,7 @@ const isAddressCache = /*#__PURE__*/new LruMap(8192);
3820
3658
  function isAddress(address, options) {
3821
3659
  const {
3822
3660
  strict = true
3823
- } = options;
3661
+ } = options ?? {};
3824
3662
  const cacheKey = `${address}.${strict}`;
3825
3663
  if (isAddressCache.has(cacheKey)) return isAddressCache.get(cacheKey);
3826
3664
  const result = (() => {
@@ -3856,13 +3694,13 @@ class RpcRequestError extends BaseError$1 {
3856
3694
  enumerable: true,
3857
3695
  configurable: true,
3858
3696
  writable: true,
3859
- value: undefined
3697
+ value: void 0
3860
3698
  });
3861
3699
  Object.defineProperty(this, "data", {
3862
3700
  enumerable: true,
3863
3701
  configurable: true,
3864
3702
  writable: true,
3865
- value: undefined
3703
+ value: void 0
3866
3704
  });
3867
3705
  this.code = error.code;
3868
3706
  this.data = error.data;
@@ -3888,7 +3726,7 @@ class RpcError extends BaseError$1 {
3888
3726
  enumerable: true,
3889
3727
  configurable: true,
3890
3728
  writable: true,
3891
- value: undefined
3729
+ value: void 0
3892
3730
  });
3893
3731
  this.name = name || cause.name;
3894
3732
  this.code = cause instanceof RpcRequestError ? cause.code : code ?? unknownErrorCode;
@@ -3901,7 +3739,7 @@ class ProviderRpcError extends RpcError {
3901
3739
  enumerable: true,
3902
3740
  configurable: true,
3903
3741
  writable: true,
3904
- value: undefined
3742
+ value: void 0
3905
3743
  });
3906
3744
  this.data = options.data;
3907
3745
  }
@@ -3961,25 +3799,25 @@ class BaseError extends Error {
3961
3799
  enumerable: true,
3962
3800
  configurable: true,
3963
3801
  writable: true,
3964
- value: undefined
3802
+ value: void 0
3965
3803
  });
3966
3804
  Object.defineProperty(this, "docsPath", {
3967
3805
  enumerable: true,
3968
3806
  configurable: true,
3969
3807
  writable: true,
3970
- value: undefined
3808
+ value: void 0
3971
3809
  });
3972
3810
  Object.defineProperty(this, "metaMessages", {
3973
3811
  enumerable: true,
3974
3812
  configurable: true,
3975
3813
  writable: true,
3976
- value: undefined
3814
+ value: void 0
3977
3815
  });
3978
3816
  Object.defineProperty(this, "shortMessage", {
3979
3817
  enumerable: true,
3980
3818
  configurable: true,
3981
3819
  writable: true,
3982
- value: undefined
3820
+ value: void 0
3983
3821
  });
3984
3822
  Object.defineProperty(this, "name", {
3985
3823
  enumerable: true,
@@ -4371,7 +4209,7 @@ function airConnector(parameters) {
4371
4209
  isRainbowKitConnector: true,
4372
4210
  airService: service,
4373
4211
  getLoginResult: () => loginResult,
4374
- async connect({ chainId } = {}) {
4212
+ async connect({ chainId, authToken } = {}) {
4375
4213
  try {
4376
4214
  config.emitter.emit("message", { type: "connecting" });
4377
4215
  const provider = await this.getProvider();
@@ -4379,7 +4217,7 @@ function airConnector(parameters) {
4379
4217
  provider.on("chainChanged", this.onChainChanged);
4380
4218
  provider.on("disconnect", this.onDisconnect.bind(this));
4381
4219
  loginResult = await service.login({
4382
- authToken: parameters.loginOptions?.authToken,
4220
+ authToken: authToken ?? parameters.loginOptions?.authToken,
4383
4221
  });
4384
4222
  let currentChainId = await this.getChainId();
4385
4223
  if (chainId && currentChainId !== chainId) {