@mocanetwork/airkit 1.8.1-beta.0 → 1.9.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -95,7 +95,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
95
95
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
96
96
  };
97
97
 
98
- var version = "1.8.1-beta.0";
98
+ var version = "1.9.0-beta.2";
99
99
  var airkitPackage = {
100
100
  version: version};
101
101
 
@@ -123,6 +123,8 @@ const AirAuthMessageTypes = {
123
123
  SETUP_WALLET_RESPONSE: "air_auth_setup_wallet_response",
124
124
  SETUP_RECOVERY_REQUEST: "air_auth_setup_recovery_request",
125
125
  SETUP_RECOVERY_RESPONSE: "air_auth_setup_recovery_response",
126
+ SETUP_CREDENTIAL_REQUEST: "air_auth_setup_credential_request",
127
+ SETUP_CREDENTIAL_RESPONSE: "air_auth_setup_credential_response",
126
128
  SIGN_SIWE_MESSAGE_REQUEST: "air_auth_sign_siwe_message_request",
127
129
  SIGN_SIWE_MESSAGE_RESPONSE: "air_auth_sign_siwe_message_response",
128
130
  CROSS_PARTNER_TOKEN_REQUEST: "air_auth_cross_partner_token_request",
@@ -135,6 +137,12 @@ const AirAuthMessageTypes = {
135
137
  START_RECOVERY_RESPONSE: "air_start_recovery_response",
136
138
  RECOVERY_REQUEST: "air_auth_recovery_request",
137
139
  RECOVERY_RESPONSE: "air_auth_recovery_response",
140
+ ISSUE_ON_BEHALF_NEW_USER_CONFIRMATION_REQUEST: "air_auth_issue_on_behalf_new_user_confirmation_request",
141
+ ISSUE_ON_BEHALF_NEW_USER_CONFIRMATION_RESPONSE: "air_auth_issue_on_behalf_new_user_confirmation_response",
142
+ REMOVE_SIGNER_SIGNATURE_REQUEST: "air_auth_remove_signer_signature_request",
143
+ REMOVE_SIGNER_SIGNATURE_RESPONSE: "air_auth_remove_signer_signature_response",
144
+ RESET_WALLET_REQUEST: "air_auth_reset_wallet_request",
145
+ RESET_WALLET_RESPONSE: "air_auth_reset_wallet_response",
138
146
  EXPIRED_LOGOUT_REQUEST: "air_auth_expired_logout_request"
139
147
  };
140
148
 
@@ -147,12 +155,16 @@ const AirCredentialMessageTypes = {
147
155
  UPDATE_SESSION_CONFIG_RESPONSE: "air_credential_update_session_config_response",
148
156
  LOGOUT_REQUEST: "air_credential_logout_request",
149
157
  LOGOUT_RESPONSE: "air_credential_logout_response",
158
+ CLOSE_MODAL_REQUEST: "air_credential_close_modal_request",
159
+ CLOSE_MODAL_RESPONSE: "air_credential_close_modal_response",
150
160
  // New credential operation message types
151
161
  ISSUE_CREDENTIAL_REQUEST: "air_credential_issue_request",
152
162
  VERIFY_CREDENTIAL_REQUEST: "air_credential_verify_request",
153
163
  // Event messages for communication with parent
154
164
  ISSUE_CREDENTIAL_RESPONSE: "air_credential_issue_response",
155
- VERIFY_CREDENTIAL_RESPONSE: "air_credential_verify_response"
165
+ VERIFY_CREDENTIAL_RESPONSE: "air_credential_verify_response",
166
+ ISSUE_ON_BEHALF_NEW_USER_CONFIRMATION_REQUEST: "air_credential_issue_on_behalf_new_user_confirmation_request",
167
+ ISSUE_ON_BEHALF_NEW_USER_CONFIRMATION_RESPONSE: "air_credential_issue_on_behalf_new_user_confirmation_response"
156
168
  };
157
169
 
158
170
  const AirRecoveryMessageTypes = {
@@ -171,8 +183,8 @@ const AirWalletMessageTypes = {
171
183
  SERVICE_STARTED: "air_service_started",
172
184
  INITIALIZATION_REQUEST: "air_initialization_request",
173
185
  INITIALIZATION_RESPONSE: "air_initialization_response",
174
- CLOSE_MODAL_REQUEST: "air_close_modal_request",
175
- CLOSE_MODAL_RESPONSE: "air_close_modal_response",
186
+ CLOSE_MODAL_REQUEST: "air_wallet_close_modal_request",
187
+ CLOSE_MODAL_RESPONSE: "air_wallet_close_modal_response",
176
188
  WALLET_INITIALIZED: "air_wallet_initialized",
177
189
  UPDATE_SESSION_CONFIG_REQUEST: "air_wallet_update_session_config_request",
178
190
  UPDATE_SESSION_CONFIG_RESPONSE: "air_wallet_update_session_config_response",
@@ -186,6 +198,10 @@ const AirWalletMessageTypes = {
186
198
  SHOW_SWAP_UI_RESPONSE: "air_show_swap_ui_response",
187
199
  SHOW_ON_RAMP_UI_REQUEST: "air_show_on_ramp_ui_request",
188
200
  SHOW_ON_RAMP_UI_RESPONSE: "air_show_on_ramp_ui_response",
201
+ SHOW_TRANSFER_UI_REQUEST: "air_show_transfer_ui_request",
202
+ SHOW_TRANSFER_UI_RESPONSE: "air_show_transfer_ui_response",
203
+ SHOW_RECEIVE_UI_REQUEST: "air_show_receive_ui_request",
204
+ SHOW_RECEIVE_UI_RESPONSE: "air_show_receive_ui_response",
189
205
  DEPLOY_SMART_ACCOUNT_REQUEST: "air_deploy_smart_account_request",
190
206
  DEPLOY_SMART_ACCOUNT_RESPONSE: "air_deploy_smart_account_response",
191
207
  WALLET_IFRAME_VISIBILITY_REQUEST: "air_wallet_iframe_visibility_request",
@@ -194,7 +210,11 @@ const AirWalletMessageTypes = {
194
210
  LOGOUT_REQUEST: "air_logout_request",
195
211
  LOGOUT_RESPONSE: "air_logout_response",
196
212
  INTERNAL_PROVIDER_REQUEST: "air_internal_provider_request",
197
- INTERNAL_PROVIDER_RESPONSE: "air_internal_provider_response"
213
+ INTERNAL_PROVIDER_RESPONSE: "air_internal_provider_response",
214
+ ADDITIONAL_SIGNER_SIGNATURE_REQUEST: "air_additional_signer_signature_request",
215
+ ADDITIONAL_SIGNER_SIGNATURE_RESPONSE: "air_additional_signer_signature_response",
216
+ REMOVE_SIGNER_SIGNATURE_REQUEST: "air_remove_signer_signature_request",
217
+ REMOVE_SIGNER_SIGNATURE_RESPONSE: "air_remove_signer_signature_response"
198
218
  };
199
219
 
200
220
  const AirWindowMessageTypes = {
@@ -630,7 +650,7 @@ const mocaTestnet = {
630
650
  rpcUrls: {
631
651
  default: {
632
652
  http: ["https://rpc.testnet.mocachain.dev"],
633
- webSocket: ["wss://rpc.testnet.mocachain.dev"]
653
+ webSocket: ["wss://ws.testnet.mocachain.dev"]
634
654
  }
635
655
  },
636
656
  blockExplorers: {
@@ -647,6 +667,34 @@ const mocaTestnet = {
647
667
  },
648
668
  testnet: true
649
669
  };
670
+ const mocaMainnet = {
671
+ id: 2288,
672
+ name: "Moca Mainnet",
673
+ nativeCurrency: {
674
+ decimals: 18,
675
+ name: "Moca Network",
676
+ symbol: "MOCA"
677
+ },
678
+ rpcUrls: {
679
+ default: {
680
+ http: ["https://rpc.mocachain.org"],
681
+ webSocket: ["wss://rpc.mocachain.org/ws"]
682
+ }
683
+ },
684
+ blockExplorers: {
685
+ default: {
686
+ name: "Moca Mainnet",
687
+ url: "https://scan.mocachain.org"
688
+ } // TODO: need to confirm mainnet explorer
689
+ },
690
+ contracts: {
691
+ multicall3: {
692
+ address: "0xcA11bde05977b3631167028862bE2a173976CA11",
693
+ blockCreated: 3668598
694
+ }
695
+ },
696
+ testnet: false
697
+ };
650
698
 
651
699
  const BUILD_ENV = {
652
700
  PRODUCTION: "production",
@@ -1808,7 +1856,7 @@ const Codes = {
1808
1856
  ...WindowErrorName
1809
1857
  };
1810
1858
 
1811
- const AirClientUserErrors = ["USER_CANCELLED", "CONFIG_ERROR", "CLIENT_ERROR", "UNKNOWN_ERROR", "PERMISSION_NOT_ENABLED", "SMART_ACCOUNT_NOT_DEPLOYED", "ACCOUNT_DELETION_PENDING"];
1859
+ const AirClientUserErrors = ["USER_CANCELLED", "CONFIG_ERROR", "CLIENT_ERROR", "UNKNOWN_ERROR", "PERMISSION_NOT_ENABLED", "SMART_ACCOUNT_NOT_DEPLOYED", "ACCOUNT_DELETION_PENDING", "SWAP_TO_ONRAMP", "USER_REJECTED"];
1812
1860
 
1813
1861
  class AirError extends BaseError {}
1814
1862
  new Set(AirClientUserErrors);
@@ -1951,7 +1999,7 @@ class ProviderMessageService extends MessageServiceBase {
1951
1999
  await super._open({ window, origin });
1952
2000
  }
1953
2001
  async sendWalletProviderRequest(payload) {
1954
- const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletProviderMessageTypes.RESPONSE), filter((msg) => msg.payload.method === payload.method)));
2002
+ const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletProviderMessageTypes.RESPONSE), filter((msg) => msg.payload.method === payload.method && msg.payload.requestId === payload.requestId)));
1955
2003
  await this.sendMessage({
1956
2004
  type: AirWalletProviderMessageTypes.REQUEST,
1957
2005
  payload,
@@ -2076,6 +2124,7 @@ const ALLOWED_AUTH_MESSAGES = [
2076
2124
  AirAuthMessageTypes.LOGIN_RESPONSE,
2077
2125
  AirAuthMessageTypes.SETUP_WALLET_REQUEST,
2078
2126
  AirAuthMessageTypes.SETUP_RECOVERY_REQUEST,
2127
+ AirAuthMessageTypes.SETUP_CREDENTIAL_REQUEST,
2079
2128
  AirAuthMessageTypes.LOGOUT_RESPONSE,
2080
2129
  AirAuthMessageTypes.UPDATE_SESSION_CONFIG_RESPONSE,
2081
2130
  AirAuthMessageTypes.PARTNER_USER_INFO_RESPONSE,
@@ -2155,6 +2204,15 @@ class AuthMessageService extends MessageServiceBase {
2155
2204
  },
2156
2205
  });
2157
2206
  }
2207
+ async sendSetupCredentialSuccessResponse() {
2208
+ await this.sendMessage({
2209
+ type: AirAuthMessageTypes.SETUP_CREDENTIAL_RESPONSE,
2210
+ payload: { success: true },
2211
+ });
2212
+ }
2213
+ async sendSetupCredentialErrorResponse(error) {
2214
+ await this.sendMessage(this.createErrorResponseMessage(AirAuthMessageTypes.SETUP_CREDENTIAL_RESPONSE, error));
2215
+ }
2158
2216
  async sendCrossPartnerTokenRequest(targetPartnerUrl) {
2159
2217
  const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirAuthMessageTypes.CROSS_PARTNER_TOKEN_RESPONSE)));
2160
2218
  await this.sendMessage({
@@ -2278,6 +2336,8 @@ class IframeController {
2278
2336
  "publickey-credentials-create *",
2279
2337
  "ch-ua-model",
2280
2338
  "ch-ua-platform-version",
2339
+ "clipboard-write",
2340
+ "web-share"
2281
2341
  ].join("; ");
2282
2342
  iframe.src = this.iframeUrl;
2283
2343
  iframe.style.position = "fixed";
@@ -2388,6 +2448,8 @@ const ALLOWED_WALLET_MESSAGES = [
2388
2448
  AirWalletMessageTypes.SETUP_OR_UPDATE_MFA_RESPONSE,
2389
2449
  AirWalletMessageTypes.SHOW_SWAP_UI_RESPONSE,
2390
2450
  AirWalletMessageTypes.SHOW_ON_RAMP_UI_RESPONSE,
2451
+ AirWalletMessageTypes.SHOW_TRANSFER_UI_RESPONSE,
2452
+ AirWalletMessageTypes.SHOW_RECEIVE_UI_RESPONSE,
2391
2453
  AirWalletMessageTypes.CLAIM_ID_RESPONSE,
2392
2454
  AirWalletMessageTypes.IS_SMART_ACCOUNT_DEPLOYED_RESPONSE,
2393
2455
  AirWalletMessageTypes.DEPLOY_SMART_ACCOUNT_RESPONSE,
@@ -2512,6 +2574,26 @@ class WalletMessageService extends MessageServiceBase {
2512
2574
  });
2513
2575
  return response;
2514
2576
  }
2577
+ async sendShowTransferUIRequest(payload) {
2578
+ const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletMessageTypes.SHOW_TRANSFER_UI_RESPONSE)));
2579
+ await this.sendMessage({
2580
+ type: AirWalletMessageTypes.SHOW_TRANSFER_UI_REQUEST,
2581
+ payload: {
2582
+ tokenSymbol: payload?.tokenSymbol,
2583
+ chainId: payload?.chainId,
2584
+ recipientAddress: payload?.recipientAddress,
2585
+ amount: payload?.amount,
2586
+ },
2587
+ });
2588
+ return response;
2589
+ }
2590
+ async sendShowReceiveUIRequest() {
2591
+ const response = firstValueFrom(this.messages$.pipe(filter((msg) => msg.type === AirWalletMessageTypes.SHOW_RECEIVE_UI_RESPONSE)));
2592
+ await this.sendMessage({
2593
+ type: AirWalletMessageTypes.SHOW_RECEIVE_UI_REQUEST,
2594
+ });
2595
+ return response;
2596
+ }
2515
2597
  }
2516
2598
  _a = WalletMessageService;
2517
2599
  _WalletMessageService_instance = { value: void 0 };
@@ -2833,6 +2915,17 @@ class AirService {
2833
2915
  }
2834
2916
  break;
2835
2917
  }
2918
+ case AirAuthMessageTypes.SETUP_CREDENTIAL_REQUEST: {
2919
+ try {
2920
+ await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureCredential).call(this);
2921
+ await __classPrivateFieldGet(this, _AirService_authMessagingService, "f").sendSetupCredentialSuccessResponse();
2922
+ }
2923
+ catch (err) {
2924
+ const error = ensureError(err);
2925
+ await __classPrivateFieldGet(this, _AirService_authMessagingService, "f").sendSetupCredentialErrorResponse(error);
2926
+ }
2927
+ break;
2928
+ }
2836
2929
  case AirAuthMessageTypes.EXPIRED_LOGOUT_REQUEST: {
2837
2930
  await this.logout();
2838
2931
  break;
@@ -2971,6 +3064,37 @@ class AirService {
2971
3064
  throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
2972
3065
  }
2973
3066
  }
3067
+ /**
3068
+ * @experimental This feature has not been officially released and might change in the future.
3069
+ */
3070
+ async showTransferUI(options) {
3071
+ await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
3072
+ const result = await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").sendShowTransferUIRequest(options);
3073
+ if (result.payload.success === false) {
3074
+ throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
3075
+ }
3076
+ return {
3077
+ txHash: result.payload.txHash,
3078
+ symbol: result.payload.symbol,
3079
+ chainId: result.payload.chainId,
3080
+ decimals: result.payload.decimals,
3081
+ address: result.payload.address,
3082
+ recipientAddress: result.payload.recipientAddress,
3083
+ amount: result.payload.amount,
3084
+ };
3085
+ }
3086
+ /**
3087
+ * @experimental This feature has not been officially released and might change in the future.
3088
+ */
3089
+ async showReceiveUI() {
3090
+ await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
3091
+ const result = await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").sendShowReceiveUIRequest();
3092
+ if (result.payload.success === false) {
3093
+ if (result.payload.errorName === "USER_CANCELLED")
3094
+ return;
3095
+ throw new AirServiceError(result.payload.errorName, result.payload.errorMessage);
3096
+ }
3097
+ }
2974
3098
  async getUserInfo() {
2975
3099
  __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_assertLoggedIn).call(this);
2976
3100
  const info = await __classPrivateFieldGet(this, _AirService_authMessagingService, "f").sendPartnerUserInfoRequest();
@@ -2985,7 +3109,7 @@ class AirService {
2985
3109
  id: info.payload.user.id,
2986
3110
  abstractAccountAddress: info.payload.user.abstractAccountAddress,
2987
3111
  email: info.payload.user.email,
2988
- isMFASetup: info.payload.user.isMFASetup,
3112
+ isMFASetup: info.payload.user.activeMfaMethods.length > 0,
2989
3113
  },
2990
3114
  };
2991
3115
  }
@@ -3080,7 +3204,7 @@ class AirService {
3080
3204
  async preloadCredential() {
3081
3205
  await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureCredential).call(this);
3082
3206
  }
3083
- async issueCredential({ authToken, issuerDid, credentialId, credentialSubject, curve, }) {
3207
+ async issueCredential({ authToken, issuerDid, credentialId, credentialSubject, curve, offchain, }) {
3084
3208
  await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureCredential).call(this);
3085
3209
  const response = await __classPrivateFieldGet(this, _AirService_credentialMessagingService, "f").sendIssueCredentialRequest({
3086
3210
  partnerToken: authToken,
@@ -3088,6 +3212,7 @@ class AirService {
3088
3212
  credentialId,
3089
3213
  credentialSubject,
3090
3214
  curve,
3215
+ offchain,
3091
3216
  });
3092
3217
  const { payload } = response;
3093
3218
  if (payload.closeDApp) {
@@ -3100,12 +3225,17 @@ class AirService {
3100
3225
  cakPublicKey: payload.cakPublicKey,
3101
3226
  };
3102
3227
  }
3103
- async verifyCredential({ authToken, programId, redirectUrl, }) {
3228
+ async verifyCredential({ authToken, programId, redirectUrl, fieldsToDisclose, offchain, }) {
3229
+ if (Array.isArray(fieldsToDisclose) && fieldsToDisclose.length === 0) {
3230
+ throw new AirServiceError("CLIENT_ERROR", "fieldsToDisclose array must contain at least one field");
3231
+ }
3104
3232
  await __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureCredential).call(this);
3105
3233
  const { payload } = await __classPrivateFieldGet(this, _AirService_credentialMessagingService, "f").sendVerifyCredentialRequest({
3106
3234
  partnerToken: authToken,
3107
3235
  programId,
3108
3236
  redirectUrl,
3237
+ fieldsToDisclose,
3238
+ offchain,
3109
3239
  });
3110
3240
  if (payload.success === false) {
3111
3241
  throw new AirServiceError(payload.errorName, payload.errorMessage);
@@ -3122,7 +3252,7 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
3122
3252
  throw new AirServiceError("NOT_LOGGED_IN", "User not logged in");
3123
3253
  }, _AirService_ensureCredential = async function _AirService_ensureCredential() {
3124
3254
  __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_assertInitialized).call(this);
3125
- void __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this);
3255
+ void __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_ensureWallet).call(this, { skipWalletLogin: true });
3126
3256
  try {
3127
3257
  if (!__classPrivateFieldGet(this, _AirService_credentialsInitialization, "f"))
3128
3258
  __classPrivateFieldSet(this, _AirService_credentialsInitialization, __classPrivateFieldGet(this, _AirService_instances, "m", _AirService_initializeCredentials).call(this), "f");
@@ -3247,6 +3377,7 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
3247
3377
  const { payload } = await __classPrivateFieldGet(this, _AirService_walletMessagingService, "f").sendInitializationRequest({
3248
3378
  sessionId: __classPrivateFieldGet(this, _AirService_sessionId, "f"),
3249
3379
  partnerId: __classPrivateFieldGet(this, _AirService_partnerId, "f"),
3380
+ partnerDAppUrl: window.location.href,
3250
3381
  enableLogging: __classPrivateFieldGet(this, _AirService_enableLogging, "f"),
3251
3382
  sdkVersion: airKitVersion,
3252
3383
  enableAutomation: this.shouldEnableAutomation(),
@@ -3357,7 +3488,7 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
3357
3488
  id: payload.id,
3358
3489
  abstractAccountAddress: payload.abstractAccountAddress,
3359
3490
  token: payload.partnerAccessToken,
3360
- isMFASetup: payload.isMFASetup,
3491
+ isMFASetup: payload.activeMfaMethods.length > 0,
3361
3492
  };
3362
3493
  }, _AirService_createWalletInitializedResult = function _AirService_createWalletInitializedResult(payload) {
3363
3494
  if ("isWalletLoggedIn" in payload && !payload.isWalletLoggedIn) {
@@ -3368,7 +3499,7 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
3368
3499
  }
3369
3500
  return {
3370
3501
  abstractAccountAddress: payload.addresses.aa,
3371
- isMFASetup: payload.isMFASetup,
3502
+ isMFASetup: payload.activeMfaMethods.length > 0,
3372
3503
  };
3373
3504
  }, _AirService_cleanUpAuth = async function _AirService_cleanUpAuth() {
3374
3505
  // Logout auth session
@@ -3424,6 +3555,7 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
3424
3555
  const { payload } = await __classPrivateFieldGet(this, _AirService_recoveryMessagingService, "f").sendInitializationRequest({
3425
3556
  sessionId: __classPrivateFieldGet(this, _AirService_sessionId, "f"),
3426
3557
  partnerId: __classPrivateFieldGet(this, _AirService_partnerId, "f"),
3558
+ partnerDAppUrl: window.location.href,
3427
3559
  enableLogging: __classPrivateFieldGet(this, _AirService_enableLogging, "f"),
3428
3560
  sdkVersion: airKitVersion,
3429
3561
  enableAutomation: this.shouldEnableAutomation(),
@@ -3479,4 +3611,4 @@ _AirService_loginResult = new WeakMap(), _AirService_buildEnv = new WeakMap(), _
3479
3611
  __classPrivateFieldSet(this, _AirService_recoveryInitialization, undefined, "f");
3480
3612
  };
3481
3613
 
3482
- export { AirService, AirServiceError, BUILD_ENV, ChainDisconnectedError, IFRAME_NAME_PREFIX_SET, InternalRpcError, InvalidParamsRpcError, InvalidRequestRpcError, MethodNotFoundRpcError, ProviderDisconnectedError, ProviderRpcError, SwitchChainError, TransactionRejectedRpcError, UnauthorizedProviderError, UnsupportedProviderMethodError, UserRejectedRequestError, ensureProviderRpcError, mocaDevnet, mocaTestnet };
3614
+ export { AirService, AirServiceError, BUILD_ENV, ChainDisconnectedError, IFRAME_NAME_PREFIX_SET, InternalRpcError, InvalidParamsRpcError, InvalidRequestRpcError, MethodNotFoundRpcError, ProviderDisconnectedError, ProviderRpcError, SwitchChainError, TransactionRejectedRpcError, UnauthorizedProviderError, UnsupportedProviderMethodError, UserRejectedRequestError, ensureProviderRpcError, mocaDevnet, mocaMainnet, mocaTestnet };