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