@mocanetwork/airkit 1.2.1 → 1.3.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.
@@ -62,13 +62,11 @@ declare class AirService {
62
62
  goToPartner(partnerUrl: string): Promise<{
63
63
  urlWithToken: string;
64
64
  }>;
65
- getAccessToken(): Promise<{
66
- token: string;
67
- }>;
68
65
  logout(): Promise<void>;
69
66
  cleanUp(): Promise<void>;
70
67
  on(listener: AirEventListener): void;
71
68
  off(listener: AirEventListener): void;
72
69
  clearEventListeners(): void;
70
+ getPartnerAccessToken(): Promise<string>;
73
71
  }
74
72
  export default AirService;
@@ -1,11 +1,13 @@
1
1
  import { EIP1193EventMap, EIP1193Provider } from "./common/provider/types";
2
2
  import { AirWalletInitializedResult } from "./interfaces";
3
+ import { IframeController } from "./iframeController";
3
4
  declare class AirWalletProvider implements EIP1193Provider {
4
5
  #private;
5
6
  chainId: string;
6
- constructor({ isLoggedIn, ensureWallet, }: {
7
+ constructor({ isLoggedIn, ensureWallet, getWalletIframeController, }: {
7
8
  isLoggedIn: () => boolean;
8
9
  ensureWallet: () => Promise<AirWalletInitializedResult>;
10
+ getWalletIframeController: () => IframeController;
9
11
  });
10
12
  request(request: {
11
13
  method: string;
@@ -14,6 +16,6 @@ declare class AirWalletProvider implements EIP1193Provider {
14
16
  on<T extends keyof EIP1193EventMap>(eventName: T, listener: EIP1193EventMap[T]): void;
15
17
  removeListener<T extends keyof EIP1193EventMap>(eventName: T, listener: EIP1193EventMap[T]): void;
16
18
  removeAllListeners(): void;
17
- startEventMessageListening: (walletIframe: HTMLIFrameElement) => Promise<void>;
19
+ startEventMessageListening: () => void;
18
20
  }
19
21
  export default AirWalletProvider;
@@ -40,11 +40,7 @@ export declare enum PasswordlessErrorName {
40
40
  PASSWORDLESS_INVALID_CODE = "PASSWORDLESS_INVALID_CODE",
41
41
  PASSWORDLESS_MAX_ATTEMPTS = "PASSWORDLESS_MAX_ATTEMPTS",
42
42
  PASSWORDLESS_HOURLY_LIMIT = "PASSWORDLESS_HOURLY_LIMIT",
43
- PASSWORDLESS_LOCK_EXCEEDED = "PASSWORDLESS_LOCK_EXCEEDED",
44
- CAPTCHA_TOKEN_VERIFICATION_FAILED = "CAPTCHA_TOKEN_VERIFICATION_FAILED",
45
- CAPTCHA_TOKEN_INVALID = "CAPTCHA_TOKEN_INVALID",
46
- CAPTCHA_SECRET_MISSING = "CAPTCHA_SECRET_MISSING",
47
- CAPTCHA_TOKEN_MISSING = "CAPTCHA_TOKEN_MISSING"
43
+ PASSWORDLESS_LOCK_EXCEEDED = "PASSWORDLESS_LOCK_EXCEEDED"
48
44
  }
49
45
  /*** Authentication Wallet Errors ***/
50
46
  export declare enum AuthWalletErrorName {
@@ -88,14 +84,7 @@ export declare enum AirIDErrorName {
88
84
  AIR_ID_INVALID_MINT_NAME = "AIR_ID_INVALID_MINT_NAME",
89
85
  AIR_ID_MINT_TRANSACTION_HASH_MISMATCH = "AIR_ID_MINT_TRANSACTION_HASH_MISMATCH"
90
86
  }
91
- /*** Window Errors ***/
92
- export declare enum WindowErrorName {
93
- WINDOW_BLOCKED = "WINDOW_BLOCKED",
94
- WINDOW_CLOSED = "WINDOW_CLOSED"
95
- }
96
87
  export declare const Codes: {
97
- WINDOW_BLOCKED: WindowErrorName.WINDOW_BLOCKED;
98
- WINDOW_CLOSED: WindowErrorName.WINDOW_CLOSED;
99
88
  AIR_ID_MINT_TRANSACTION_NOT_FOUND: AirIDErrorName.AIR_ID_MINT_TRANSACTION_NOT_FOUND;
100
89
  AIR_ID_ON_CHAIN_TRANSACTION_NOT_FOUND: AirIDErrorName.AIR_ID_ON_CHAIN_TRANSACTION_NOT_FOUND;
101
90
  AIR_ID_NOT_FOUND: AirIDErrorName.AIR_ID_NOT_FOUND;
@@ -128,10 +117,6 @@ export declare const Codes: {
128
117
  PASSWORDLESS_MAX_ATTEMPTS: PasswordlessErrorName.PASSWORDLESS_MAX_ATTEMPTS;
129
118
  PASSWORDLESS_HOURLY_LIMIT: PasswordlessErrorName.PASSWORDLESS_HOURLY_LIMIT;
130
119
  PASSWORDLESS_LOCK_EXCEEDED: PasswordlessErrorName.PASSWORDLESS_LOCK_EXCEEDED;
131
- CAPTCHA_TOKEN_VERIFICATION_FAILED: PasswordlessErrorName.CAPTCHA_TOKEN_VERIFICATION_FAILED;
132
- CAPTCHA_TOKEN_INVALID: PasswordlessErrorName.CAPTCHA_TOKEN_INVALID;
133
- CAPTCHA_SECRET_MISSING: PasswordlessErrorName.CAPTCHA_SECRET_MISSING;
134
- CAPTCHA_TOKEN_MISSING: PasswordlessErrorName.CAPTCHA_TOKEN_MISSING;
135
120
  PASSKEY_REGISTRATION_FAILED: PasskeyErrorName.PASSKEY_REGISTRATION_FAILED;
136
121
  PASSKEY_AUTHENTICATION_FAILED: PasskeyErrorName.PASSKEY_AUTHENTICATION_FAILED;
137
122
  PASSKEY_LIMIT_EXCEEDED: PasskeyErrorName.PASSKEY_LIMIT_EXCEEDED;
@@ -1,5 +1,5 @@
1
- import { AirIdDetails, GlobalId, MFASetup } from "../../realm/user/types";
2
- import { AirMessageBase, AirMessageBaseWithoutPayload, AirMessageErrorPayload, AirMessageSuccessPayload } from "./types";
1
+ import { AirErrorName } from "../../air/error/types";
2
+ import { AirIdDetails, GlobalId, MFASetup } from "../user/types";
3
3
  export declare const AirAuthMessageTypes: {
4
4
  readonly AUTH_SETUP_COMPLETED: "air_auth_setup_completed";
5
5
  readonly INITIALIZATION_REQUEST: "air_auth_initialization_request";
@@ -23,28 +23,41 @@ export declare const AirAuthMessageTypes: {
23
23
  readonly SIGN_SIWE_MESSAGE_RESPONSE: "air_auth_sign_siwe_message_response";
24
24
  readonly CROSS_PARTNER_TOKEN_REQUEST: "air_auth_cross_partner_token_request";
25
25
  readonly CROSS_PARTNER_TOKEN_RESPONSE: "air_auth_cross_partner_token_response";
26
- readonly PARTNER_ACCESS_TOKEN_REQUEST: "air_auth_partner_access_token_request";
27
- readonly PARTNER_ACCESS_TOKEN_RESPONSE: "air_auth_partner_access_token_response";
26
+ readonly GET_PARTNER_ACCESS_TOKEN_REQUEST: "air_auth_get_partner_access_token_request";
27
+ readonly GET_PARTNER_ACCESS_TOKEN_RESPONSE: "air_auth_get_partner_access_token_response";
28
28
  readonly LOGOUT_REQUEST: "air_auth_logout_request";
29
29
  readonly LOGOUT_RESPONSE: "air_auth_logout_response";
30
30
  readonly RESET_WALLET_COMMUNICATION: "air_auth_reset_wallet_communication";
31
31
  };
32
32
  export type AirAuthMessageType = (typeof AirAuthMessageTypes)[keyof typeof AirAuthMessageTypes];
33
- export type AirAuthMessageBase<TType extends AirAuthMessageType, TPayload extends object> = AirMessageBase<TType, TPayload>;
34
- export type AirAuthMessageBaseWithoutPayload<TType extends AirAuthMessageType> = AirMessageBaseWithoutPayload<TType>;
35
- export type AirAuthLoginSuccess = AirMessageSuccessPayload & {
33
+ type AirAuthMessageBase<TType extends AirAuthMessageType, TPayload> = {
34
+ type: TType;
35
+ payload: TPayload;
36
+ };
37
+ type AirAuthMessageBaseWithoutPayload<TType extends AirAuthMessageType> = {
38
+ type: TType;
39
+ };
40
+ export type AirAuthSuccess = {
41
+ success: true;
42
+ };
43
+ export type AirAuthError = {
44
+ success: false;
45
+ errorName: AirErrorName;
46
+ errorMessage?: string;
47
+ };
48
+ export type AirAuthLoginSuccess = AirAuthSuccess & {
36
49
  email?: string;
37
50
  partnerAccessToken: string;
38
51
  } & GlobalId & MFASetup;
39
- export type AirMessageSuccessPayloadTokens = AirMessageSuccessPayload & {
52
+ export type AirAuthSuccessTokens = AirAuthSuccess & {
40
53
  accessToken: string;
41
54
  partnerAccessToken: string;
42
55
  };
43
- export type AirAuthUserInfoResponsePayload = (AirMessageSuccessPayload & GlobalId & {
56
+ export type AirAuthUserInfoResponsePayload = (AirAuthSuccess & GlobalId & {
44
57
  email?: string;
45
58
  airIds: AirIdDetails[];
46
- }) | AirMessageErrorPayload;
47
- export type AirAuthPartnerUserDetailsSuccess = AirMessageSuccessPayload & {
59
+ }) | AirAuthError;
60
+ export type AirAuthPartnerUserDetailsSuccess = AirAuthSuccess & {
48
61
  partnerId: string;
49
62
  partnerUserId: string;
50
63
  airId?: AirIdDetails;
@@ -52,11 +65,11 @@ export type AirAuthPartnerUserDetailsSuccess = AirMessageSuccessPayload & {
52
65
  email?: string;
53
66
  } & MFASetup;
54
67
  };
55
- export type AirAuthSuccessWithAirIdAndTokens = AirAuthPartnerUserDetailsSuccess & AirMessageSuccessPayloadTokens;
56
- type AirAuthLoginResponseToEmbedPayload = AirAuthLoginSuccess | AirMessageErrorPayload;
57
- type AirAuthLoginResponseToWalletPayload = AirAuthSuccessWithAirIdAndTokens | AirMessageErrorPayload;
58
- type AirAuthRefreshTokenResponsePayload = AirMessageSuccessPayloadTokens | AirMessageErrorPayload;
59
- type AirAuthPartnerUserInfoResponsePayload = AirAuthPartnerUserDetailsSuccess | AirMessageErrorPayload;
68
+ export type AirAuthSuccessWithAirIdAndTokens = AirAuthPartnerUserDetailsSuccess & AirAuthSuccessTokens;
69
+ type AirAuthLoginResponseToEmbedPayload = AirAuthLoginSuccess | AirAuthError;
70
+ type AirAuthLoginResponseToWalletPayload = AirAuthSuccessWithAirIdAndTokens | AirAuthError;
71
+ type AirAuthRefreshTokenResponsePayload = AirAuthSuccessTokens | AirAuthError;
72
+ type AirAuthPartnerUserInfoResponsePayload = AirAuthPartnerUserDetailsSuccess | AirAuthError;
60
73
  type AirAuthWalletTokenRequestPayload = {
61
74
  nonce: string;
62
75
  partnerId: string;
@@ -64,38 +77,36 @@ type AirAuthWalletTokenRequestPayload = {
64
77
  type AirAuthWalletTokenResponsePayload = (AirAuthPartnerUserDetailsSuccess & {
65
78
  accessToken: string;
66
79
  walletToken: string;
67
- }) | AirMessageErrorPayload;
80
+ }) | AirAuthError;
68
81
  export type AirAuthInitializationSuccess = (AirAuthLoginSuccess & {
69
82
  rehydrated: true;
70
- }) | (AirMessageSuccessPayload & {
83
+ }) | (AirAuthSuccess & {
71
84
  rehydrated: false;
72
85
  });
73
- type AirAuthInitializationResponsePayload = AirAuthInitializationSuccess | AirMessageErrorPayload;
86
+ type AirAuthInitializationResponsePayload = AirAuthInitializationSuccess | AirAuthError;
74
87
  type AirAuthLoginRequestPayload = {
75
88
  partnerLoginToken?: string;
76
89
  };
77
- type AirAuthSetupWalletResponsePayload = AirMessageSuccessPayload | AirMessageErrorPayload;
90
+ type AirAuthSetupWalletResponsePayload = AirAuthSuccess | AirAuthError;
78
91
  type AirAuthSignSiweMessageRequestPayload = {
79
92
  wallet: string;
80
93
  };
81
- export type AirAuthSignSiweMessageSuccessPayload = AirMessageSuccessPayload & {
94
+ export type AirAuthSignSiweMessageSuccessPayload = AirAuthSuccess & {
82
95
  address: string;
83
96
  message: string;
84
97
  signature: string;
85
98
  };
86
- type AirAuthSignSiweMessageResponsePayload = AirAuthSignSiweMessageSuccessPayload | AirMessageErrorPayload;
99
+ type AirAuthSignSiweMessageResponsePayload = AirAuthSignSiweMessageSuccessPayload | AirAuthError;
87
100
  type AirAuthCrossPartnerTokenRequestPayload = {
88
101
  targetPartnerUrl: string;
89
102
  };
90
- export type AirAuthCrossPartnerTokenSuccessPayload = AirMessageSuccessPayload & {
103
+ export type AirAuthCrossPartnerTokenSuccessPayload = AirAuthSuccess & {
91
104
  urlWithToken: string;
92
105
  };
93
106
  export type AirAuthInitializationRequestPayload = {
94
107
  partnerId: string;
95
108
  partnerDAppUrl?: string;
96
109
  skipRehydration?: boolean;
97
- sdkVersion: string;
98
- enableLogging: boolean;
99
110
  };
100
111
  export type AirAuthInitializationRequestMessage = AirAuthMessageBase<"air_auth_initialization_request", AirAuthInitializationRequestPayload>;
101
112
  export type AirAuthInitializationResponseMessage = AirAuthMessageBase<"air_auth_initialization_response", AirAuthInitializationResponsePayload>;
@@ -104,9 +115,7 @@ export type AirAuthLoginResponseToEmbedMessage = AirAuthMessageBase<"air_auth_lo
104
115
  export type AirAuthLoginResponseToWalletServiceMessage = AirAuthMessageBase<"air_auth_login_wallet_response", AirAuthLoginResponseToWalletPayload>;
105
116
  export type AirAuthUserInfoRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_user_info_request">;
106
117
  export type AirAuthUserInfoResponseMessage = AirAuthMessageBase<"air_auth_user_info_response", AirAuthUserInfoResponsePayload>;
107
- export type AirAuthPartnerUserInfoRequestMessage = AirAuthMessageBase<"air_auth_partner_user_info_request", {
108
- allowCache?: boolean;
109
- }>;
118
+ export type AirAuthPartnerUserInfoRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_partner_user_info_request">;
110
119
  export type AirAuthPartnerUserInfoResponseMessage = AirAuthMessageBase<"air_auth_partner_user_info_response", AirAuthPartnerUserInfoResponsePayload>;
111
120
  export type AirAuthRefreshTokenRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_refresh_token_request">;
112
121
  export type AirAuthRefreshTokenResponseMessage = AirAuthMessageBase<"air_auth_refresh_token_response", AirAuthRefreshTokenResponsePayload>;
@@ -119,17 +128,17 @@ export type AirAuthSetupWalletResponseMessage = AirAuthMessageBase<"air_auth_set
119
128
  export type AirAuthSignSiweMessageRequestMessage = AirAuthMessageBase<"air_auth_sign_siwe_message_request", AirAuthSignSiweMessageRequestPayload>;
120
129
  export type AirAuthSignSiweMessageResponseMessage = AirAuthMessageBase<"air_auth_sign_siwe_message_response", AirAuthSignSiweMessageResponsePayload>;
121
130
  export type AirAuthCrossPartnerTokenRequestMessage = AirAuthMessageBase<"air_auth_cross_partner_token_request", AirAuthCrossPartnerTokenRequestPayload>;
122
- export type AirAuthCrossPartnerTokenResponseMessage = AirAuthMessageBase<"air_auth_cross_partner_token_response", AirAuthCrossPartnerTokenSuccessPayload | AirMessageErrorPayload>;
131
+ export type AirAuthCrossPartnerTokenResponseMessage = AirAuthMessageBase<"air_auth_cross_partner_token_response", AirAuthCrossPartnerTokenSuccessPayload | AirAuthError>;
123
132
  export type AirAuthLogoutRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_logout_request">;
124
133
  export type AirAuthLogoutResponseMessage = AirAuthMessageBaseWithoutPayload<"air_auth_logout_response">;
125
134
  export type AirAuthResetWalletCommunicationRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_reset_wallet_communication">;
126
135
  export type AirAuthIframeVisibilityRequestMessage = AirAuthMessageBase<"air_auth_iframe_visibility_request", {
127
136
  visible: boolean;
128
137
  }>;
129
- export type AirAuthPartnerAccessTokenRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_partner_access_token_request">;
130
- export type AirAuthPartnerAccessTokenResponsePayload = (AirMessageSuccessPayload & {
138
+ export type AirAuthGetPartnerAccessTokenRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_get_partner_access_token_request">;
139
+ export type AirAuthGetPartnerAccessTokenResponsePayload = AirAuthSuccess & {
131
140
  partnerAccessToken: string;
132
- }) | AirMessageErrorPayload;
133
- export type AirAuthPartnerAccessTokenResponseMessage = AirAuthMessageBase<"air_auth_partner_access_token_response", AirAuthPartnerAccessTokenResponsePayload>;
134
- export type AirAuthMessage = AirAuthSetupCompletedMessage | AirAuthInitializationRequestMessage | AirAuthInitializationResponseMessage | AirAuthLoginRequestMessage | AirAuthLoginResponseToEmbedMessage | AirAuthLoginResponseToWalletServiceMessage | AirAuthUserInfoRequestMessage | AirAuthUserInfoResponseMessage | AirAuthPartnerUserInfoRequestMessage | AirAuthPartnerUserInfoResponseMessage | AirAuthRefreshTokenRequestMessage | AirAuthRefreshTokenResponseMessage | AirAuthWalletTokenRequestMessage | AirAuthWalletTokenResponseMessage | AirAuthInitWalletCommunicationMessage | AirAuthSetupWalletRequestMessage | AirAuthSetupWalletResponseMessage | AirAuthSignSiweMessageRequestMessage | AirAuthSignSiweMessageResponseMessage | AirAuthCrossPartnerTokenRequestMessage | AirAuthCrossPartnerTokenResponseMessage | AirAuthLogoutRequestMessage | AirAuthLogoutResponseMessage | AirAuthIframeVisibilityRequestMessage | AirAuthResetWalletCommunicationRequestMessage | AirAuthPartnerAccessTokenRequestMessage | AirAuthPartnerAccessTokenResponseMessage;
141
+ };
142
+ export type AirAuthGetPartnerAccessTokenResponseMessage = AirAuthMessageBase<"air_auth_get_partner_access_token_response", AirAuthGetPartnerAccessTokenResponsePayload>;
143
+ export type AirAuthMessage = AirAuthSetupCompletedMessage | AirAuthInitializationRequestMessage | AirAuthInitializationResponseMessage | AirAuthLoginRequestMessage | AirAuthLoginResponseToEmbedMessage | AirAuthLoginResponseToWalletServiceMessage | AirAuthUserInfoRequestMessage | AirAuthUserInfoResponseMessage | AirAuthPartnerUserInfoRequestMessage | AirAuthPartnerUserInfoResponseMessage | AirAuthRefreshTokenRequestMessage | AirAuthRefreshTokenResponseMessage | AirAuthWalletTokenRequestMessage | AirAuthWalletTokenResponseMessage | AirAuthInitWalletCommunicationMessage | AirAuthSetupWalletRequestMessage | AirAuthSetupWalletResponseMessage | AirAuthSignSiweMessageRequestMessage | AirAuthSignSiweMessageResponseMessage | AirAuthCrossPartnerTokenRequestMessage | AirAuthCrossPartnerTokenResponseMessage | AirAuthLogoutRequestMessage | AirAuthLogoutResponseMessage | AirAuthIframeVisibilityRequestMessage | AirAuthResetWalletCommunicationRequestMessage | AirAuthGetPartnerAccessTokenRequestMessage | AirAuthGetPartnerAccessTokenResponseMessage;
135
144
  export {};
@@ -1,4 +1,4 @@
1
- import { EIP1193EventMap, EIP1193Request } from "../../provider/types";
1
+ import { EIP1193Request, EIP1193EventMap } from "../../provider/types";
2
2
  export declare const enum AirWalletProviderMessageTypes {
3
3
  REQUEST = "JRPC_REQUEST",
4
4
  RESPONSE = "JRPC_RESPONSE",
@@ -0,0 +1,144 @@
1
+ import type { Hex } from "viem";
2
+ import { ActionPolicyInfo, Call } from "../smart-session/types";
3
+ import { AirIdDetails, MFASetup } from "../user/types";
4
+ import { AirErrorName } from "../../air/error/types";
5
+ export declare const AirMessageTypes: {
6
+ readonly SERVICE_STARTED: "air_service_started";
7
+ readonly INITIALIZATION_REQUEST: "air_initialization_request";
8
+ readonly INITIALIZATION_RESPONSE: "air_initialization_response";
9
+ readonly INIT_AUTH_COMMUNICATION: "air_init_auth_communication";
10
+ readonly WALLET_INITIALIZED: "air_wallet_initialized";
11
+ readonly WALLET_LOGIN_REQUEST: "air_wallet_login_request";
12
+ readonly WALLET_LOGIN_RESPONSE: "air_wallet_login_response";
13
+ readonly SETUP_MFA_REQUEST: "air_setup_mfa_request";
14
+ readonly SETUP_MFA_RESPONSE: "air_setup_mfa_response";
15
+ readonly CLAIM_ID_REQUEST: "air_claim_id_request";
16
+ readonly CLAIM_ID_RESPONSE: "air_claim_id_response";
17
+ readonly DEPLOY_SMART_ACCOUNT_REQUEST: "air_deploy_smart_account_request";
18
+ readonly DEPLOY_SMART_ACCOUNT_RESPONSE: "air_deploy_smart_account_response";
19
+ readonly GRANT_PERMISSIONS_REQUEST: "air_grant_permissions_request";
20
+ readonly GRANT_PERMISSIONS_RESPONSE: "air_grant_permissions_response";
21
+ readonly EXECUTE_ACTION_REQUEST: "air_execute_action_request";
22
+ readonly EXECUTE_ACTION_RESPONSE: "air_execute_action_response";
23
+ readonly REVOKE_PERMISSIONS_REQUEST: "air_revoke_permissions_request";
24
+ readonly REVOKE_PERMISSIONS_RESPONSE: "air_revoke_permissions_response";
25
+ readonly LIST_ALL_SESSION_KEY_SCOPES_REQUEST: "air_list_all_session_key_scopes_request";
26
+ readonly LIST_ALL_SESSION_KEY_SCOPES_RESPONSE: "air_list_all_session_key_scopes_response";
27
+ readonly WALLET_IFRAME_VISIBILITY_REQUEST: "air_wallet_iframe_visibility_request";
28
+ readonly OPEN_WINDOW_REQUEST: "air_open_window_request";
29
+ readonly OPEN_WINDOW_RESPONSE: "air_open_window_response";
30
+ readonly WINDOW_CLOSED: "air_window_closed";
31
+ readonly IS_SMART_ACCOUNT_DEPLOYED_REQUEST: "air_is_smart_account_deployed_request";
32
+ readonly IS_SMART_ACCOUNT_DEPLOYED_RESPONSE: "air_is_smart_account_deployed_response";
33
+ readonly LOGOUT_REQUEST: "air_logout_request";
34
+ readonly LOGOUT_RESPONSE: "air_logout_response";
35
+ };
36
+ export type AirMessageType = (typeof AirMessageTypes)[keyof typeof AirMessageTypes];
37
+ type AirMessageBase<TType extends AirMessageType, TPayload> = {
38
+ type: TType;
39
+ payload: TPayload;
40
+ };
41
+ type AirMessageBaseWithoutPayload<TType extends AirMessageType> = {
42
+ type: TType;
43
+ };
44
+ type AirSuccessPayload = {
45
+ success: true;
46
+ };
47
+ export type AirErrorPayload = {
48
+ success: false;
49
+ errorName: AirErrorName;
50
+ errorMessage?: string;
51
+ };
52
+ type AirInitializationResponsePayload = AirSuccessPayload | AirErrorPayload;
53
+ export type AirInitializationRequestMessage = AirMessageBase<"air_initialization_request", {
54
+ partnerId: string;
55
+ enableLogging: boolean;
56
+ }>;
57
+ export type AirInitializationResponseMessage = AirMessageBase<"air_initialization_response", AirInitializationResponsePayload>;
58
+ export type AirWalletInitializationSuccess = AirSuccessPayload & ({
59
+ isWalletLoggedIn: false;
60
+ } | ({
61
+ isWalletLoggedIn: true;
62
+ addresses: {
63
+ aa: string;
64
+ };
65
+ } & MFASetup));
66
+ type AirWalletInitializedPayload = AirWalletInitializationSuccess | AirErrorPayload;
67
+ export type AirWalletInitializedMessage = AirMessageBase<"air_wallet_initialized", AirWalletInitializedPayload>;
68
+ export type AirWalletLoginRequestMessage = AirMessageBaseWithoutPayload<"air_wallet_login_request">;
69
+ export type AirWalletLoginSuccess = AirSuccessPayload & MFASetup & {
70
+ addresses: {
71
+ aa: string;
72
+ };
73
+ };
74
+ type AirWalletLoginResponsePayload = AirWalletLoginSuccess | AirErrorPayload;
75
+ export type AirWalletLoginResponseMessage = AirMessageBase<"air_wallet_login_response", AirWalletLoginResponsePayload>;
76
+ export type AirSetupMfaRequestMessage = AirMessageBaseWithoutPayload<"air_setup_mfa_request">;
77
+ export type AirSetupMfaResponseMessage = AirMessageBase<"air_setup_mfa_response", AirSuccessPayload | AirErrorPayload>;
78
+ export type AirClaimIdRequestMessage = AirMessageBase<"air_claim_id_request", {
79
+ token?: string;
80
+ claimInBackground?: boolean;
81
+ }>;
82
+ export type AirClaimIdSuccess = AirSuccessPayload & {
83
+ airId: AirIdDetails;
84
+ };
85
+ export type AirClaimIdResponsePayload = AirClaimIdSuccess | AirErrorPayload;
86
+ export type AirClaimIdResponseMessage = AirMessageBase<"air_claim_id_response", AirClaimIdResponsePayload>;
87
+ export type AirInitAuthCommunicationMessage = AirMessageBase<"air_init_auth_communication", {
88
+ skipWalletLogin: boolean;
89
+ }>;
90
+ export type AirIsSmartAccountDeployedResponseMessage = AirMessageBase<"air_is_smart_account_deployed_response", (AirSuccessPayload & {
91
+ isDeployed: boolean;
92
+ }) | AirErrorPayload>;
93
+ export type AirDeploySmartAccountRequestMessage = AirMessageBaseWithoutPayload<"air_deploy_smart_account_request">;
94
+ export type AirDeploySmartAccountResponseMessage = AirMessageBase<"air_deploy_smart_account_response", (AirSuccessPayload & {
95
+ txHash: string;
96
+ }) | AirErrorPayload>;
97
+ export type AirIsSmartAccountDeployedRequestMessage = AirMessageBaseWithoutPayload<"air_is_smart_account_deployed_request">;
98
+ export type AirGrantPermissionsRequestMessage = AirMessageBase<"air_grant_permissions_request", {
99
+ policies: ActionPolicyInfo[];
100
+ }>;
101
+ export type AirGrantPermissionsResponseMessage = AirMessageBase<"air_grant_permissions_response", (AirSuccessPayload & {
102
+ sessionData: {
103
+ compressedSessionData: string;
104
+ sessionOwnerPrivateKey: string;
105
+ permissionIds: string[];
106
+ };
107
+ }) | AirErrorPayload>;
108
+ export type AirExecuteActionRequestMessage = AirMessageBase<"air_execute_action_request", {
109
+ sessionData: string;
110
+ call: Call;
111
+ sessionOwnerPrivateKey: `0x${string}`;
112
+ }>;
113
+ export type AirRevokePermissionsRequestMessage = AirMessageBase<"air_revoke_permissions_request", {
114
+ permissionId: Hex;
115
+ }>;
116
+ export type AirRevokePermissionsResponseMessage = AirMessageBase<"air_revoke_permissions_response", (AirSuccessPayload & {
117
+ txHash: string;
118
+ }) | AirErrorPayload>;
119
+ export type AirExecuteActionResponseMessage = AirMessageBase<"air_execute_action_response", (AirSuccessPayload & {
120
+ txHash: string;
121
+ }) | AirErrorPayload>;
122
+ export type AirListAllSessionKeyScopesSuccess = {
123
+ success: true;
124
+ sessionKeyScopes: ActionPolicyInfo[];
125
+ };
126
+ export type AirListAllSessionKeyScopesRequestMessage = AirMessageBaseWithoutPayload<"air_list_all_session_key_scopes_request">;
127
+ export type AirListAllSessionKeyScopesResponseMessage = AirMessageBase<"air_list_all_session_key_scopes_response", AirListAllSessionKeyScopesSuccess | AirErrorPayload>;
128
+ export type AirWalletIframeVisibilityRequestMessage = AirMessageBase<"air_wallet_iframe_visibility_request", {
129
+ visible: boolean;
130
+ }>;
131
+ export type AirLogoutRequestMessage = AirMessageBaseWithoutPayload<"air_logout_request">;
132
+ export type AirLogoutResponseMessage = AirMessageBase<"air_logout_response", AirSuccessPayload | AirErrorPayload>;
133
+ export type AirOpenWindowRequestMessage = AirMessageBase<"air_open_window_request", {
134
+ url: string;
135
+ windowId: string;
136
+ }>;
137
+ export type AirOpenWindowResponseMessage = AirMessageBase<"air_open_window_response", (AirSuccessPayload | AirErrorPayload) & {
138
+ windowId: string;
139
+ }>;
140
+ export type AirWindowClosedMessage = AirMessageBase<"air_window_closed", {
141
+ windowId: string;
142
+ }>;
143
+ export type AirMessage = AirInitializationRequestMessage | AirInitializationResponseMessage | AirWalletInitializedMessage | AirWalletLoginRequestMessage | AirWalletLoginResponseMessage | AirSetupMfaRequestMessage | AirSetupMfaResponseMessage | AirClaimIdRequestMessage | AirClaimIdResponseMessage | AirInitAuthCommunicationMessage | AirIsSmartAccountDeployedRequestMessage | AirIsSmartAccountDeployedResponseMessage | AirDeploySmartAccountRequestMessage | AirDeploySmartAccountResponseMessage | AirGrantPermissionsRequestMessage | AirGrantPermissionsResponseMessage | AirRevokePermissionsRequestMessage | AirRevokePermissionsResponseMessage | AirExecuteActionRequestMessage | AirExecuteActionResponseMessage | AirListAllSessionKeyScopesRequestMessage | AirListAllSessionKeyScopesResponseMessage | AirWalletIframeVisibilityRequestMessage | AirLogoutRequestMessage | AirLogoutResponseMessage | AirOpenWindowRequestMessage | AirOpenWindowResponseMessage | AirWindowClosedMessage;
144
+ export {};
@@ -1,4 +1,3 @@
1
- export type Environment = "development" | "staging" | "uat" | "production";
2
1
  export type Jsonable = string | number | boolean | null | undefined | readonly Jsonable[] | {
3
2
  readonly [key: string]: Jsonable;
4
3
  } | {
@@ -19,9 +19,3 @@ export declare const setPartnerTheme: (theme: string, partnerId: string, configA
19
19
  */
20
20
  export declare const randomId: () => string;
21
21
  export declare const bigIntReplacer: (_key: string, value: unknown) => unknown;
22
- /**
23
- * Creates a window features string for `window.open`, based on the current screen size.
24
- * It tries to center the window and limits the size to the given max width and height.
25
- * Slightly reduces the size to avoid browser auto-resizing.
26
- */
27
- export declare const getWindowFeatures: (maxWidth: number, maxHeight: number) => string;
@@ -4,10 +4,9 @@ type AirServiceErrorName = AirErrorName | "NOT_INITIALISED" | "ALREADY_INITIALIS
4
4
  export declare class AirServiceError extends BaseError<AirServiceErrorName> {
5
5
  static from(error: unknown): AirServiceError;
6
6
  }
7
- export declare class ProviderRpcError extends Error {
7
+ declare class ProviderRpcError extends Error {
8
8
  code: number;
9
9
  name: string;
10
- metaMessages: string[];
11
10
  constructor(message: string);
12
11
  }
13
12
  export declare class UserRejectedRequestError extends ProviderRpcError {
@@ -34,11 +33,6 @@ export declare class SwitchChainError extends ProviderRpcError {
34
33
  code: number;
35
34
  name: string;
36
35
  }
37
- export declare class TransactionRejectedRpcError extends ProviderRpcError {
38
- code: number;
39
- name: string;
40
- constructor(message: string);
41
- }
42
36
  export declare class InvalidRequestRpcError extends ProviderRpcError {
43
37
  code: number;
44
38
  name: string;
@@ -1,3 +1,4 @@
1
+ import { LogLevelDesc } from "loglevel";
1
2
  import { AirIdDetails } from "./common/realm/user/types";
2
3
  import { EIP1193Provider as EIP1193ProviderInterface } from "./common/provider/types";
3
4
  export declare const BUILD_ENV: {
@@ -10,6 +11,7 @@ export type BUILD_ENV_TYPE = (typeof BUILD_ENV)[keyof typeof BUILD_ENV];
10
11
  export interface AirUrlConfig {
11
12
  authUrl: string;
12
13
  walletUrl: string;
14
+ logLevel: LogLevelDesc;
13
15
  }
14
16
  export type AirInitializationResult = {
15
17
  rehydrated: boolean;
@@ -0,0 +1,3 @@
1
+ import loglevel from "loglevel";
2
+ declare const _default: loglevel.Logger;
3
+ export default _default;
@@ -0,0 +1,67 @@
1
+ import type { Hex } from "viem";
2
+ import { AirAuthInitializationRequestMessage, AirAuthLoginRequestMessage as RealmAuthLoginRequestMessage, AirAuthMessage } from "./common/realm/messaging/auth";
3
+ import { AirClaimIdRequestMessage, AirGrantPermissionsRequestMessage, AirInitializationRequestMessage, AirMessage } from "./common/realm/messaging/types";
4
+ import type { ActionPolicyInfo, Call } from "./common/realm/smart-session/types";
5
+ import { AirWalletProviderMessageEvent, AirWalletProviderMessageRequest, AirWalletProviderMessageResponse } from "./common/realm/messaging/provider";
6
+ declare class AirMessageService {
7
+ private static _instance;
8
+ static get instance(): AirMessageService;
9
+ private airMessages$;
10
+ private _authMessage$;
11
+ private _providerMessage$;
12
+ private _providerEvent$;
13
+ private closeAuthMessageListeners;
14
+ private closeRealmMessageListeners;
15
+ private closeWalletMessageListeners;
16
+ get messages$(): import("rxjs").Observable<AirMessage>;
17
+ get authMessage$(): import("rxjs").Observable<AirAuthMessage>;
18
+ get providerMessage$(): import("rxjs").Observable<AirWalletProviderMessageResponse>;
19
+ get providerEvent$(): import("rxjs").Observable<AirWalletProviderMessageEvent>;
20
+ openAuthObservables({ authIframeOrigin }: {
21
+ authIframeOrigin: string;
22
+ }): Promise<void>;
23
+ openWalletObservables({ walletIframeOrigin }: {
24
+ walletIframeOrigin: string;
25
+ }): Promise<void>;
26
+ setupIframeCommunication(authIframe: HTMLIFrameElement, walletIframe: HTMLIFrameElement, skipWalletLogin: boolean): void;
27
+ sendGrantPermissionRequest(walletIframe: HTMLIFrameElement, policies: ActionPolicyInfo[]): Promise<{
28
+ compressedSessionData: string;
29
+ sessionOwnerPrivateKey: string;
30
+ permissionIds: string[];
31
+ }>;
32
+ sendExecuteActionRequest(walletIframe: HTMLIFrameElement, params: {
33
+ sessionData: string;
34
+ sessionOwnerPrivateKey: `0x${string}`;
35
+ call: Call;
36
+ }): Promise<string>;
37
+ sendRevokePermissionsRequest(walletIframe: HTMLIFrameElement, permissionId: Hex): Promise<string>;
38
+ sendDeploySmartAccountRequest(walletIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/types").AirDeploySmartAccountResponseMessage>;
39
+ sendIsSmartAccountDeployedRequest(walletIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/types").AirIsSmartAccountDeployedResponseMessage>;
40
+ sendPartnerUserInfoRequest(authIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/auth").AirAuthPartnerUserInfoResponseMessage>;
41
+ sendAuthLoginRequest(authIframe: HTMLIFrameElement, payload?: RealmAuthLoginRequestMessage["payload"]): Promise<import("./common/realm/messaging/auth").AirAuthLoginResponseToEmbedMessage>;
42
+ logoutAuth(authIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/auth").AirAuthLogoutResponseMessage>;
43
+ logoutWallet(walletIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/types").AirLogoutResponseMessage>;
44
+ sendResetAuthServiceWalletCommunication(authIframe: HTMLIFrameElement): void;
45
+ sendAuthInitializationRequest(authIframe: HTMLIFrameElement, payload: AirAuthInitializationRequestMessage["payload"]): Promise<import("./common/realm/messaging/auth").AirAuthInitializationResponseMessage>;
46
+ sendWalletInitializationRequest(walletIframe: HTMLIFrameElement, payload: AirInitializationRequestMessage["payload"]): Promise<import("./common/realm/messaging/types").AirInitializationResponseMessage>;
47
+ sendCrossPartnerTokenRequest(authIframe: HTMLIFrameElement, targetPartnerUrl: string): Promise<import("./common/realm/messaging/auth").AirAuthCrossPartnerTokenResponseMessage>;
48
+ sendGrantPermissionsRequest(walletIframe: HTMLIFrameElement, payload: AirGrantPermissionsRequestMessage["payload"]): Promise<import("./common/realm/messaging/types").AirGrantPermissionsResponseMessage>;
49
+ sendListAllSessionKeyScopesRequest(walletIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/types").AirListAllSessionKeyScopesResponseMessage>;
50
+ onWalletInitialized(): Promise<import("./common/realm/messaging/types").AirWalletInitializedMessage>;
51
+ sendWalletLoginRequest(walletIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/types").AirWalletLoginResponseMessage>;
52
+ sendSetupMfaRequest(walletIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/types").AirSetupMfaResponseMessage>;
53
+ sendOpenWindowSuccessResponse(walletIframe: HTMLIFrameElement, windowId: string, port: MessagePort): void;
54
+ sendOpenWindowErrorResponse(walletIframe: HTMLIFrameElement, windowId: string, error: Error): void;
55
+ sendWindowClosed(walletIframe: HTMLIFrameElement, windowId: string): void;
56
+ sendClaimIdRequest(walletIframe: HTMLIFrameElement, payload: AirClaimIdRequestMessage["payload"]): Promise<import("./common/realm/messaging/types").AirClaimIdResponseMessage>;
57
+ sendWalletProviderRequest(walletIframe: HTMLIFrameElement, payload: AirWalletProviderMessageRequest["payload"]): Promise<AirWalletProviderMessageResponse>;
58
+ closeAuthObservables(): void;
59
+ closeAirObservables(): void;
60
+ closeWalletObservables(): void;
61
+ private setupAuthObservables;
62
+ private setupAirObservables;
63
+ private setupWalletObservables;
64
+ sendGetPartnerAccessTokenRequest(authIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/auth").AirAuthGetPartnerAccessTokenResponseMessage>;
65
+ }
66
+ declare const _default: AirMessageService;
67
+ export default _default;
@@ -2,6 +2,6 @@ import { AirUrlConfig, BUILD_ENV_TYPE } from "./interfaces";
2
2
  export declare const AIR_URLS: Record<BUILD_ENV_TYPE, AirUrlConfig>;
3
3
  export declare const handleEvent: (handle: EventTarget, eventName: string, handler: (...args: unknown[]) => void, ...handlerArgs: unknown[]) => void;
4
4
  export declare const htmlToElement: <T extends Element>(html: string) => T;
5
- export declare const isElement: (element: unknown) => element is Element | Document;
5
+ export declare const isElement: (element: unknown) => element is Document | Element;
6
6
  export declare const randomId: () => string;
7
- export declare const extractErrorHash: (message: string) => string;
7
+ export declare const getWindowFeatures: (width: number, height: number) => string;
@@ -6,19 +6,14 @@ export declare class WindowController {
6
6
  private windowOrigin;
7
7
  private windowId;
8
8
  private _messages$;
9
- get messages$(): import("rxjs").Observable<MessageEvent<unknown>>;
10
- constructor(windowId: string, windowUrl: string);
9
+ get messages$(): import("rxjs").Observable<MessageEvent<any>>;
10
+ constructor(windowUrl: string, windowId: string);
11
11
  get windowInstance(): Window | null;
12
- openWindow(onRetry: () => Promise<void>): Promise<{
13
- pendingWindowOpenCheck: Promise<"opened" | "retry">;
14
- }>;
12
+ openWindow(): Window;
15
13
  postMessage(message: unknown, transfer?: Transferable[]): void;
16
14
  onMessage(callback: (event: MessageEvent) => void): {
17
15
  close: () => void;
18
16
  };
19
17
  cleanup(): void;
20
18
  onClose(callback: () => void): Subscription;
21
- private isWindowOpen;
22
- private tryOpenWindow;
23
- private scheduleWindowClosedChecks;
24
19
  }
@@ -1,20 +1,16 @@
1
- import { WindowController } from "./common/window/windowController";
1
+ import { WindowController } from "./windowController";
2
2
  declare class WindowService {
3
3
  private static _instance;
4
4
  static get instance(): WindowService;
5
5
  private windowControllers;
6
6
  private sendWindowInitializationRequest;
7
- openAndInitializeWalletServiceWindow({ url, windowId, partnerId, enableLogging, onRetry, sdkVersion, }: {
7
+ openAndInitializeWalletServiceWindow({ url, windowId, partnerId, enableLogging, port, }: {
8
8
  url: string;
9
9
  windowId: string;
10
10
  partnerId: string;
11
11
  enableLogging: boolean;
12
- sdkVersion: string;
13
- onRetry: () => Promise<void>;
14
- }): Promise<{
15
- windowController: WindowController;
16
12
  port: MessagePort;
17
- }>;
13
+ }): Promise<WindowController>;
18
14
  getWindowController(windowId: string): WindowController;
19
15
  removeWindowController(windowId: string): void;
20
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mocanetwork/airkit",
3
- "version": "1.2.1",
3
+ "version": "1.3.0-beta.0",
4
4
  "description": "Air kit to interact with the Moca Network",
5
5
  "main": "dist/airkit.cjs.js",
6
6
  "module": "dist/airkit.esm.js",
@@ -18,7 +18,6 @@
18
18
  "postbuild": "node scripts/copyAndAdjustDtsFiles.js '../common/src' 'common'"
19
19
  },
20
20
  "dependencies": {
21
- "@mocanetwork/airkit-connector": "^1.2.0",
22
21
  "fast-deep-equal": "^3.1.3",
23
22
  "loglevel": "^1.9.2",
24
23
  "pump": "^3.0.0",
@@ -1,17 +0,0 @@
1
- import { AirAuthInitializationRequestMessage, AirAuthLoginRequestMessage, AirAuthMessage } from "./common/air/messaging/auth";
2
- import { MessageServiceBase } from "@mocanetwork/common/src/air/messaging/messageServiceBase";
3
- export declare class AuthMessageService extends MessageServiceBase<AirAuthMessage> {
4
- #private;
5
- static create(): AuthMessageService;
6
- open(authIframe: HTMLIFrameElement): Promise<void>;
7
- initWalletCommunication(port: MessagePort): Promise<void>;
8
- sendPartnerUserInfoRequest(): Promise<import("./common/air/messaging/auth").AirAuthPartnerUserInfoResponseMessage>;
9
- sendLoginRequest(payload?: AirAuthLoginRequestMessage["payload"]): Promise<import("./common/air/messaging/auth").AirAuthLoginResponseToEmbedMessage>;
10
- logout(): Promise<import("./common/air/messaging/auth").AirAuthLogoutResponseMessage>;
11
- resetWalletCommunication(): Promise<void>;
12
- sendInitializationRequest(payload: AirAuthInitializationRequestMessage["payload"]): Promise<import("./common/air/messaging/auth").AirAuthInitializationResponseMessage>;
13
- sendSetupWalletSuccessResponse(): Promise<void>;
14
- sendSetupWalletErrorResponse(error: Error): Promise<void>;
15
- sendCrossPartnerTokenRequest(targetPartnerUrl: string): Promise<import("./common/air/messaging/auth").AirAuthCrossPartnerTokenResponseMessage>;
16
- sendPartnerAccessTokenRequest(): Promise<import("./common/air/messaging/auth").AirAuthPartnerAccessTokenResponseMessage>;
17
- }