@mocanetwork/airkit 0.5.0 → 1.0.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.
Files changed (71) hide show
  1. package/dist/airkit.cjs.js +1921 -2597
  2. package/dist/airkit.esm.js +1925 -2413
  3. package/dist/airkit.umd.js +2104 -0
  4. package/dist/types/airService.d.ts +17 -12
  5. package/dist/types/airWalletProvider.d.ts +13 -0
  6. package/dist/types/common/air/error.d.ts +8 -0
  7. package/dist/types/common/custom.d.ts +6 -0
  8. package/dist/types/common/provider/error.d.ts +16 -0
  9. package/dist/types/common/provider/types.d.ts +24 -0
  10. package/dist/types/common/realm/error.d.ts +0 -0
  11. package/dist/types/common/realm/messaging/auth.d.ts +18 -21
  12. package/dist/types/common/realm/messaging/provider.d.ts +32 -0
  13. package/dist/types/common/realm/messaging/types.d.ts +52 -63
  14. package/dist/types/common/realm/partner/config.d.ts +1 -32
  15. package/dist/types/common/realm/smart-session/types.d.ts +1 -1
  16. package/dist/types/common/realm/user/types.d.ts +2 -31
  17. package/dist/types/common/types.d.ts +3 -0
  18. package/dist/types/common/utils.d.ts +17 -0
  19. package/dist/types/error.d.ts +1 -1
  20. package/dist/types/index.d.ts +2 -2
  21. package/dist/types/interfaces.d.ts +26 -187
  22. package/dist/types/messageService.d.ts +23 -31
  23. package/dist/types/utils.d.ts +3 -21
  24. package/package.json +7 -15
  25. package/dist/airkit.umd.min.js +0 -2
  26. package/dist/airkit.umd.min.js.LICENSE.txt +0 -12
  27. package/dist/lib.cjs/common/src/error.js +0 -25
  28. package/dist/lib.cjs/common/src/realm/messaging/auth.js +0 -28
  29. package/dist/lib.cjs/common/src/realm/messaging/types.js +0 -21
  30. package/dist/lib.cjs/ws-embed/src/PopupHandler.js +0 -64
  31. package/dist/lib.cjs/ws-embed/src/airService.js +0 -398
  32. package/dist/lib.cjs/ws-embed/src/baseProvider.js +0 -178
  33. package/dist/lib.cjs/ws-embed/src/communicationProvider.js +0 -346
  34. package/dist/lib.cjs/ws-embed/src/embed.js +0 -750
  35. package/dist/lib.cjs/ws-embed/src/error.js +0 -21
  36. package/dist/lib.cjs/ws-embed/src/iframeController.js +0 -68
  37. package/dist/lib.cjs/ws-embed/src/inPageProvider.js +0 -307
  38. package/dist/lib.cjs/ws-embed/src/index.js +0 -20
  39. package/dist/lib.cjs/ws-embed/src/interfaces.js +0 -29
  40. package/dist/lib.cjs/ws-embed/src/isStream.js +0 -20
  41. package/dist/lib.cjs/ws-embed/src/loglevel.js +0 -7
  42. package/dist/lib.cjs/ws-embed/src/messageService.js +0 -269
  43. package/dist/lib.cjs/ws-embed/src/messages.js +0 -22
  44. package/dist/lib.cjs/ws-embed/src/siteMetadata.js +0 -77
  45. package/dist/lib.cjs/ws-embed/src/utils.js +0 -95
  46. package/dist/lib.esm/common/src/error.js +0 -23
  47. package/dist/lib.esm/common/src/realm/messaging/auth.js +0 -26
  48. package/dist/lib.esm/common/src/realm/messaging/types.js +0 -19
  49. package/dist/lib.esm/ws-embed/src/PopupHandler.js +0 -62
  50. package/dist/lib.esm/ws-embed/src/airService.js +0 -396
  51. package/dist/lib.esm/ws-embed/src/baseProvider.js +0 -176
  52. package/dist/lib.esm/ws-embed/src/communicationProvider.js +0 -344
  53. package/dist/lib.esm/ws-embed/src/embed.js +0 -745
  54. package/dist/lib.esm/ws-embed/src/error.js +0 -18
  55. package/dist/lib.esm/ws-embed/src/iframeController.js +0 -66
  56. package/dist/lib.esm/ws-embed/src/inPageProvider.js +0 -302
  57. package/dist/lib.esm/ws-embed/src/index.js +0 -5
  58. package/dist/lib.esm/ws-embed/src/interfaces.js +0 -21
  59. package/dist/lib.esm/ws-embed/src/isStream.js +0 -15
  60. package/dist/lib.esm/ws-embed/src/loglevel.js +0 -5
  61. package/dist/lib.esm/ws-embed/src/messageService.js +0 -267
  62. package/dist/lib.esm/ws-embed/src/messages.js +0 -20
  63. package/dist/lib.esm/ws-embed/src/siteMetadata.js +0 -75
  64. package/dist/lib.esm/ws-embed/src/utils.js +0 -88
  65. package/dist/types/PopupHandler.d.ts +0 -24
  66. package/dist/types/baseProvider.d.ts +0 -66
  67. package/dist/types/communicationProvider.d.ts +0 -82
  68. package/dist/types/embed.d.ts +0 -55
  69. package/dist/types/inPageProvider.d.ts +0 -106
  70. package/dist/types/isStream.d.ts +0 -4
  71. package/dist/types/messages.d.ts +0 -19
@@ -1,19 +1,19 @@
1
1
  import { Hex } from "./common/realm/smart-session/hex";
2
2
  import { ActionPolicyInfo, Call } from "./common/realm/smart-session/types";
3
- import AirInPageProvider from "./inPageProvider";
4
- import { AirEmbedConnectResult, AirEmbedLoginResult, AirEventListener, AirLoginResult, AirPartnerUserDetails, AirUserDetails, ClaimAirIdOptions, EMBED_BUILD_ENV_TYPE } from "./interfaces";
3
+ import AirWalletProvider from "./airWalletProvider";
4
+ import { AirEventListener, AirLoginResult, AirUserDetails, AirWalletInitializedResult, BUILD_ENV_TYPE, ClaimAirIdOptions, ClaimAirIdResult } from "./interfaces";
5
5
  declare class AirService {
6
6
  #private;
7
7
  constructor({ partnerId }: {
8
8
  partnerId: string;
9
+ modalZIndex?: number;
9
10
  });
10
- get buildEnv(): EMBED_BUILD_ENV_TYPE;
11
- get isAirAuth(): boolean;
11
+ get buildEnv(): BUILD_ENV_TYPE;
12
12
  get isInitialized(): boolean;
13
13
  get isLoggedIn(): boolean;
14
- get isWalletLoaded(): boolean;
14
+ get isWalletInitialized(): boolean;
15
15
  init({ buildEnv, enableLogging, skipRehydration, }: {
16
- buildEnv: EMBED_BUILD_ENV_TYPE;
16
+ buildEnv: BUILD_ENV_TYPE;
17
17
  enableLogging: boolean;
18
18
  skipRehydration: boolean;
19
19
  }): Promise<AirLoginResult | null>;
@@ -24,7 +24,9 @@ declare class AirService {
24
24
  /**
25
25
  * @experimental This method is experimental and will change in the future.
26
26
  */
27
- deploySmartAccount(): Promise<void>;
27
+ deploySmartAccount(): Promise<{
28
+ txHash: string;
29
+ }>;
28
30
  /**
29
31
  * @experimental This method is experimental and will change in the future.
30
32
  */
@@ -38,19 +40,22 @@ declare class AirService {
38
40
  */
39
41
  executeAction(params: {
40
42
  sessionData: string;
41
- call: Call;
42
43
  sessionOwnerPrivateKey: `0x${string}`;
44
+ call: Call;
43
45
  }): Promise<string>;
44
46
  /**
45
47
  * @experimental This method is experimental and will change in the future.
46
48
  */
47
49
  revokePermission(permissionId: Hex): Promise<string>;
50
+ /**
51
+ * @experimental This method is experimental and will change in the future.
52
+ */
53
+ isSmartAccountDeployed(): Promise<boolean>;
48
54
  logout(): Promise<void>;
49
- getProvider(): Promise<AirInPageProvider>;
50
- preloadWallet(): Promise<AirEmbedConnectResult | AirEmbedLoginResult>;
51
- claimAirId(options?: ClaimAirIdOptions): Promise<AirEmbedLoginResult | AirEmbedConnectResult>;
55
+ getProvider(): Promise<AirWalletProvider>;
56
+ preloadWallet(): Promise<AirWalletInitializedResult>;
57
+ claimAirId(options?: ClaimAirIdOptions): Promise<ClaimAirIdResult>;
52
58
  getUserInfo(): Promise<AirUserDetails>;
53
- getPartnerUserInfo(): Promise<AirPartnerUserDetails>;
54
59
  on(listener: AirEventListener): void;
55
60
  off(listener: AirEventListener): void;
56
61
  clearEventListeners(): void;
@@ -0,0 +1,13 @@
1
+ import { EIP1193EventMap, EIP1193Provider } from "@mocanetwork/common/src/provider/types";
2
+ declare class AirWalletProvider implements EIP1193Provider {
3
+ #private;
4
+ chainId: string;
5
+ constructor(walletIframe: HTMLIFrameElement);
6
+ request(request: {
7
+ method: string;
8
+ params?: unknown[];
9
+ }): Promise<unknown>;
10
+ on<EventName extends keyof EIP1193EventMap>(eventName: EventName, listener: EIP1193EventMap[EventName]): void;
11
+ removeListener<EventName extends keyof EIP1193EventMap>(eventName: EventName, listener: EIP1193EventMap[EventName]): void;
12
+ }
13
+ export default AirWalletProvider;
@@ -0,0 +1,8 @@
1
+ import { BaseError } from "../error";
2
+ export type AirErrorName = "USER_CANCELLED" | "CONFIG_ERROR" | "SERVER_ERROR" | "CLIENT_ERROR" | "UNKNOWN_ERROR" | "PERMISSION_NOT_ENABLED" | "SMART_ACCOUNT_NOT_DEPLOYED";
3
+ export declare class AirError extends BaseError<AirErrorName> {
4
+ }
5
+ export declare class AirHttpError extends AirError {
6
+ readonly response: unknown;
7
+ constructor(name: AirErrorName, message: string, response?: unknown, options?: Record<string, unknown>);
8
+ }
@@ -1,4 +1,10 @@
1
+ /* eslint-disable */
1
2
  declare module "*.svg" {
2
3
  const content: any;
3
4
  export default content;
4
5
  }
6
+
7
+ declare module "*.png" {
8
+ const content: any;
9
+ export default content;
10
+ }
@@ -0,0 +1,16 @@
1
+ export declare class ProviderRpcError extends Error {
2
+ readonly code: number;
3
+ readonly data?: unknown;
4
+ constructor(message: string, code: number, data?: unknown);
5
+ }
6
+ export declare const ProviderRpcPraseError: ProviderRpcError;
7
+ export declare const ProviderRpcInvalidRequestError: ProviderRpcError;
8
+ export declare const ProviderRpcMethodNotFoundError: ProviderRpcError;
9
+ export declare const ProviderRpcInvalidParamsError: ProviderRpcError;
10
+ export declare const ProviderRpcInternalError: ProviderRpcError;
11
+ export declare const ProviderRpcUserRejectedRequestError: ProviderRpcError;
12
+ export declare const ProviderRpcUnauthorizedError: ProviderRpcError;
13
+ export declare const ProviderRpcUnsupportedMethodError: ProviderRpcError;
14
+ export declare const ProviderRpcDisconnectedError: ProviderRpcError;
15
+ export declare const ProviderRpcChainDisconnectedError: ProviderRpcError;
16
+ export declare function ensureProviderRpcError(value: unknown): ProviderRpcError;
@@ -0,0 +1,24 @@
1
+ import { ProviderRpcError } from "./error";
2
+ export type ProviderConnectInfo = {
3
+ chainId: string;
4
+ };
5
+ export type ProviderMessage = {
6
+ type: string;
7
+ data: unknown;
8
+ };
9
+ export type EIP1193EventMap = {
10
+ accountsChanged(accounts: string[]): void;
11
+ chainChanged(chainId: string): void;
12
+ connect(connectInfo: ProviderConnectInfo): void;
13
+ disconnect(error: ProviderRpcError): void;
14
+ message(message: ProviderMessage): void;
15
+ };
16
+ export type EIP1193Request = {
17
+ method: string;
18
+ params?: Array<unknown> | undefined;
19
+ };
20
+ export interface EIP1193Provider {
21
+ request(request: EIP1193Request): Promise<unknown>;
22
+ on<EventName extends keyof EIP1193EventMap>(event: EventName, listener: EIP1193EventMap[EventName]): void;
23
+ removeListener<EventName extends keyof EIP1193EventMap>(event: EventName, listener: EIP1193EventMap[EventName]): void;
24
+ }
File without changes
@@ -1,21 +1,18 @@
1
- import { AuthErrorName } from "../error/auth";
2
- import { AirErrorName } from "../error/types";
1
+ import { AirErrorName } from "../../air/error";
3
2
  import { AirIdDetails, GlobalId } from "../user/types";
4
3
  export declare const AirAuthMessageTypes: {
5
- readonly SETUP_COMPLETED: "air_auth_setup_completed";
4
+ readonly AUTH_SETUP_COMPLETED: "air_auth_setup_completed";
5
+ readonly INITIALIZATION_REQUEST: "air_auth_initialization_request";
6
+ readonly INITIALIZATION_RESPONSE: "air_auth_initialization_response";
6
7
  readonly LOGIN_REQUEST: "air_auth_login_request";
7
8
  readonly LOGIN_RESPONSE: "air_auth_login_response";
8
9
  readonly LOGIN_WALLET_RESPONSE: "air_auth_login_wallet_response";
9
- readonly USER_INFO_REQUEST: "air_auth_user_info_request";
10
- readonly USER_INFO_RESPONSE: "air_auth_user_info_response";
11
10
  readonly PARTNER_USER_INFO_REQUEST: "air_auth_partner_user_info_request";
12
11
  readonly PARTNER_USER_INFO_RESPONSE: "air_auth_partner_user_info_response";
13
12
  readonly REFRESH_TOKEN_REQUEST: "air_auth_refresh_token_request";
14
13
  readonly REFRESH_TOKEN_RESPONSE: "air_auth_refresh_token_response";
15
14
  readonly WALLET_TOKEN_REQUEST: "air_auth_wallet_token_request";
16
15
  readonly WALLET_TOKEN_RESPONSE: "air_auth_wallet_token_response";
17
- readonly INITIALIZATION_REQUEST: "air_auth_initialization_request";
18
- readonly INITIALIZATION_RESPONSE: "air_auth_initialization_response";
19
16
  readonly INIT_WALLET_COMMUNICATION: "air_auth_init_wallet_communication";
20
17
  readonly IFRAME_VISIBILITY_REQUEST: "air_auth_iframe_visibility_request";
21
18
  readonly SETUP_WALLET_REQUEST: "air_auth_setup_wallet_request";
@@ -35,7 +32,7 @@ type AirAuthMessageBaseWithoutPayload<TType extends AirAuthMessageType> = {
35
32
  };
36
33
  export type AirAuthError = {
37
34
  success: false;
38
- errorName: AuthErrorName;
35
+ errorName: AirErrorName;
39
36
  errorMessage?: string;
40
37
  };
41
38
  export type AirAuthSuccess = {
@@ -58,12 +55,14 @@ export type AirAuthPartnerUserDetailsSuccess = {
58
55
  partnerId: string;
59
56
  partnerUserId: string;
60
57
  airId?: AirIdDetails;
58
+ user: GlobalId & {
59
+ email?: string;
60
+ };
61
61
  };
62
62
  export type AirAuthSuccessWithAirIdsAndTokens = AirAuthUserDetailsSuccess & AirAuthSuccessTokens;
63
63
  type AirAuthLoginResponseToEmbedPayload = AirAuthSuccess | AirAuthError;
64
64
  type AirAuthLoginResponseToWalletPayload = AirAuthSuccessWithAirIdsAndTokens | AirAuthError;
65
65
  type AirAuthRefreshTokenResponsePayload = AirAuthSuccessTokens | AirAuthError;
66
- type AirAuthUserInfoResponsePayload = AirAuthUserDetailsSuccess | AirAuthError;
67
66
  type AirAuthPartnerUserInfoResponsePayload = AirAuthPartnerUserDetailsSuccess | AirAuthError;
68
67
  type AirAuthWalletTokenRequestPayload = {
69
68
  nonce: string;
@@ -74,21 +73,21 @@ type AirAuthWalletTokenResponsePayload = {
74
73
  accessToken: string;
75
74
  walletToken: string;
76
75
  } | AirAuthError;
77
- type AirAuthInitializationResponsePayload = (AirAuthSuccess & {
76
+ export type AirAuthInitializationSuccess = (AirAuthSuccess & {
78
77
  rehydrated: true;
79
78
  }) | (Pick<AirAuthSuccess, "success"> & {
80
79
  rehydrated: false;
81
- }) | AirAuthError;
80
+ });
81
+ type AirAuthInitializationResponsePayload = AirAuthInitializationSuccess | AirAuthError;
82
82
  type AirAuthLoginRequestPayload = {
83
83
  partnerLoginToken?: string;
84
- web3AuthJwt?: string;
85
84
  };
86
85
  type AirAuthSetupWalletSuccessPayload = {
87
86
  success: true;
88
87
  };
89
88
  type AirAuthSetupWalletErrorPayload = {
90
89
  success: false;
91
- errorName: AuthErrorName;
90
+ errorName: AirErrorName;
92
91
  errorMessage: string;
93
92
  };
94
93
  type AirAuthSetupWalletResponsePayload = AirAuthSetupWalletSuccessPayload | AirAuthSetupWalletErrorPayload;
@@ -107,22 +106,20 @@ type AirAuthSignSiweMessageErrorPayload = {
107
106
  errorMessage: string;
108
107
  };
109
108
  type AirAuthSignSiweMessageResponsePayload = AirAuthSignSiweMessageSuccessPayload | AirAuthSignSiweMessageErrorPayload;
109
+ export type AirAuthInitializationRequestMessage = AirAuthMessageBase<"air_auth_initialization_request", {
110
+ partnerId: string;
111
+ skipRehydration?: boolean;
112
+ }>;
113
+ export type AirAuthInitializationResponseMessage = AirAuthMessageBase<"air_auth_initialization_response", AirAuthInitializationResponsePayload>;
110
114
  export type AirAuthLoginRequestMessage = AirAuthMessageBase<"air_auth_login_request", AirAuthLoginRequestPayload>;
111
115
  export type AirAuthLoginResponseToEmbedMessage = AirAuthMessageBase<"air_auth_login_response", AirAuthLoginResponseToEmbedPayload>;
112
116
  export type AirAuthLoginResponseToWalletServiceMessage = AirAuthMessageBase<"air_auth_login_wallet_response", AirAuthLoginResponseToWalletPayload>;
113
- export type AirAuthUserInfoRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_user_info_request">;
114
- export type AirAuthUserInfoResponseMessage = AirAuthMessageBase<"air_auth_user_info_response", AirAuthUserInfoResponsePayload>;
115
117
  export type AirAuthPartnerUserInfoRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_partner_user_info_request">;
116
118
  export type AirAuthPartnerUserInfoResponseMessage = AirAuthMessageBase<"air_auth_partner_user_info_response", AirAuthPartnerUserInfoResponsePayload>;
117
119
  export type AirAuthRefreshTokenRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_refresh_token_request">;
118
120
  export type AirAuthRefreshTokenResponseMessage = AirAuthMessageBase<"air_auth_refresh_token_response", AirAuthRefreshTokenResponsePayload>;
119
121
  export type AirAuthWalletTokenRequestMessage = AirAuthMessageBase<"air_auth_wallet_token_request", AirAuthWalletTokenRequestPayload>;
120
122
  export type AirAuthWalletTokenResponseMessage = AirAuthMessageBase<"air_auth_wallet_token_response", AirAuthWalletTokenResponsePayload>;
121
- export type AirAuthInitializationResponseMessage = AirAuthMessageBase<"air_auth_initialization_response", AirAuthInitializationResponsePayload>;
122
- export type AirAuthInitializationRequestMessage = AirAuthMessageBase<"air_auth_initialization_request", {
123
- partnerId: string;
124
- skipRehydration?: boolean;
125
- }>;
126
123
  export type AirAuthSetupCompletedMessage = AirAuthMessageBaseWithoutPayload<"air_auth_setup_completed">;
127
124
  export type AirAuthInitWalletCommunicationMessage = AirAuthMessageBaseWithoutPayload<"air_auth_init_wallet_communication">;
128
125
  export type AirAuthSetupWalletRequestMessage = AirAuthMessageBaseWithoutPayload<"air_auth_setup_wallet_request">;
@@ -134,5 +131,5 @@ export type AirAuthLogoutResponseMessage = AirAuthMessageBaseWithoutPayload<"air
134
131
  export type AirAuthIframeVisibilityRequestMessage = AirAuthMessageBase<"air_auth_iframe_visibility_request", {
135
132
  visible: boolean;
136
133
  }>;
137
- export type AirAuthMessage = AirAuthSetupCompletedMessage | AirAuthInitializationRequestMessage | AirAuthInitializationResponseMessage | AirAuthLoginRequestMessage | AirAuthLoginResponseToEmbedMessage | AirAuthLoginResponseToWalletServiceMessage | AirAuthUserInfoRequestMessage | AirAuthUserInfoResponseMessage | AirAuthPartnerUserInfoRequestMessage | AirAuthPartnerUserInfoResponseMessage | AirAuthRefreshTokenRequestMessage | AirAuthRefreshTokenResponseMessage | AirAuthWalletTokenRequestMessage | AirAuthWalletTokenResponseMessage | AirAuthInitWalletCommunicationMessage | AirAuthSetupWalletRequestMessage | AirAuthSetupWalletResponseMessage | AirAuthSignSiweMessageRequestMessage | AirAuthSignSiweMessageResponseMessage | AirAuthLogoutRequestMessage | AirAuthLogoutResponseMessage | AirAuthIframeVisibilityRequestMessage;
134
+ export type AirAuthMessage = AirAuthSetupCompletedMessage | AirAuthInitializationRequestMessage | AirAuthInitializationResponseMessage | AirAuthLoginRequestMessage | AirAuthLoginResponseToEmbedMessage | AirAuthLoginResponseToWalletServiceMessage | AirAuthPartnerUserInfoRequestMessage | AirAuthPartnerUserInfoResponseMessage | AirAuthRefreshTokenRequestMessage | AirAuthRefreshTokenResponseMessage | AirAuthWalletTokenRequestMessage | AirAuthWalletTokenResponseMessage | AirAuthInitWalletCommunicationMessage | AirAuthSetupWalletRequestMessage | AirAuthSetupWalletResponseMessage | AirAuthSignSiweMessageRequestMessage | AirAuthSignSiweMessageResponseMessage | AirAuthLogoutRequestMessage | AirAuthLogoutResponseMessage | AirAuthIframeVisibilityRequestMessage;
138
135
  export {};
@@ -0,0 +1,32 @@
1
+ import { EIP1193Request } from "../../provider/types";
2
+ export declare const enum AirWalletProviderMessageTypes {
3
+ REQUEST = "JRPC_REQUEST",
4
+ RESPONSE = "JRPC_RESPONSE"
5
+ }
6
+ export type AirWalletProviderMessageRequest = {
7
+ type: AirWalletProviderMessageTypes.REQUEST;
8
+ payload: EIP1193Request & {
9
+ requestId: string;
10
+ };
11
+ };
12
+ export type AirWalletProviderMessageSuccessResponse = {
13
+ type: AirWalletProviderMessageTypes.RESPONSE;
14
+ success: true;
15
+ payload: {
16
+ requestId: string;
17
+ method: string;
18
+ response: unknown;
19
+ };
20
+ };
21
+ export type AirWalletProviderMessageErrorResponse = {
22
+ type: AirWalletProviderMessageTypes.RESPONSE;
23
+ success: false;
24
+ payload: {
25
+ requestId: string;
26
+ method: string;
27
+ errorCode: number;
28
+ errorMessage: string;
29
+ };
30
+ };
31
+ export type AirWalletProviderMessageResponse = AirWalletProviderMessageSuccessResponse | AirWalletProviderMessageErrorResponse;
32
+ export type AirWalletProviderMessage = AirWalletProviderMessageRequest | AirWalletProviderMessageResponse;
@@ -1,14 +1,15 @@
1
1
  import type { Hex } from "viem";
2
- import { AirErrorName } from "../error/types";
2
+ import { AirErrorName } from "../../air/error";
3
3
  import { ActionPolicyInfo, Call } from "../smart-session/types";
4
+ import { AirIdDetails } from "../user/types";
4
5
  export declare const AirMessageTypes: {
5
- readonly SERVICE_INITIALIZED: "air_service_initialized";
6
- readonly SERVICE_INITIALIZED_ERROR: "air_service_initialized_error";
7
- readonly LOGIN_REQUEST: "air_login_request";
8
- readonly CLAIM_REQUEST: "air_claim_request";
9
- readonly LOGIN_CLAIM_STATE: "air_login_claim_state";
10
- readonly CLOSE_MODAL: "air_close_modal";
6
+ readonly SERVICE_STARTED: "air_service_started";
7
+ readonly INITIALIZATION_REQUEST: "air_initialization_request";
8
+ readonly INITIALIZATION_RESPONSE: "air_initialization_response";
11
9
  readonly INIT_AUTH_COMMUNICATION: "air_init_auth_communication";
10
+ readonly WALLET_INITIALIZED: "air_wallet_initialized";
11
+ readonly CLAIM_ID_REQUEST: "air_claim_id_request";
12
+ readonly CLAIM_ID_RESPONSE: "air_claim_id_response";
12
13
  readonly DEPLOY_SMART_ACCOUNT_REQUEST: "air_deploy_smart_account_request";
13
14
  readonly DEPLOY_SMART_ACCOUNT_RESPONSE: "air_deploy_smart_account_response";
14
15
  readonly GRANT_PERMISSIONS_REQUEST: "air_grant_permissions_request";
@@ -17,17 +18,12 @@ export declare const AirMessageTypes: {
17
18
  readonly EXECUTE_ACTION_RESPONSE: "air_execute_action_response";
18
19
  readonly REVOKE_PERMISSIONS_REQUEST: "air_revoke_permissions_request";
19
20
  readonly REVOKE_PERMISSIONS_RESPONSE: "air_revoke_permissions_response";
21
+ readonly WALLET_IFRAME_VISIBILITY_REQUEST: "air_wallet_iframe_visibility_request";
22
+ readonly IS_SMART_ACCOUNT_DEPLOYED_REQUEST: "air_is_smart_account_deployed_request";
23
+ readonly IS_SMART_ACCOUNT_DEPLOYED_RESPONSE: "air_is_smart_account_deployed_response";
24
+ readonly LOGOUT_REQUEST: "air_logout_request";
25
+ readonly LOGOUT_RESPONSE: "air_logout_response";
20
26
  };
21
- export declare const AirLoginClaimStates: {
22
- readonly CONNECTED: "connected";
23
- readonly LOGGED_IN: "logged_in";
24
- readonly CLAIM_FLOW_STARTED: "claim_flow_started";
25
- readonly CLAIM_FLOW_CANCELLED: "claim_flow_cancelled";
26
- readonly MINTING_STARTED: "minting_started";
27
- readonly MINTING_FAILED: "minting_failed";
28
- };
29
- export type AirRehydrationResult = "failed" | "connected" | "logged_in";
30
- export type RealmRehydrationResult = AirRehydrationResult;
31
27
  export type AirMessageType = (typeof AirMessageTypes)[keyof typeof AirMessageTypes];
32
28
  type AirMessageBase<TType extends AirMessageType, TPayload> = {
33
29
  type: TType;
@@ -36,60 +32,42 @@ type AirMessageBase<TType extends AirMessageType, TPayload> = {
36
32
  type AirMessageBaseWithoutPayload<TType extends AirMessageType> = {
37
33
  type: TType;
38
34
  };
39
- export type AirServiceInitializedMessage = AirMessageBase<"air_service_initialized", {
40
- rehydration: AirRehydrationResult;
41
- isRehydrationSuccessful: boolean;
42
- }>;
43
- export type AirServiceInitializedErrorMessage = AirMessageBase<"air_service_initialized_error", {
35
+ type AirErrorPayload = {
36
+ success: false;
44
37
  errorName: AirErrorName;
45
38
  errorMessage?: string;
39
+ };
40
+ type AirInitializationResponsePayload = {
41
+ success: true;
42
+ } | AirErrorPayload;
43
+ export type AirInitializationRequestMessage = AirMessageBase<"air_initialization_request", {
44
+ partnerId: string;
45
+ enableLogging: boolean;
46
46
  }>;
47
- export type AirLoginRequestMessage = AirMessageBase<"air_login_request", {
48
- token?: string;
49
- skipClaimFlow: boolean;
50
- customAuthToken?: string;
51
- isLegacyLogin: boolean;
52
- }>;
53
- export type AirClaimRequestMessage = AirMessageBase<"air_claim_request", {
54
- token?: string;
55
- claimInBackground?: boolean;
56
- }>;
57
- export type AirLoginClaimStateLoggedInMessage = {
58
- state: typeof AirLoginClaimStates.LOGGED_IN;
47
+ export type AirInitializationResponseMessage = AirMessageBase<"air_initialization_response", AirInitializationResponsePayload>;
48
+ export type AirWalletInitializationSuccess = {
49
+ success: true;
59
50
  addresses: {
60
- eoa: string;
61
51
  aa: string;
62
52
  };
63
- airId: string;
64
- token: string;
65
- sessionId?: string;
66
53
  };
67
- export type AirLoginClaimStateConnectedMessage = {
68
- state: typeof AirLoginClaimStates.CONNECTED;
69
- addresses?: {
70
- eoa: string;
71
- };
54
+ type AirWalletInitializedPayload = AirWalletInitializationSuccess | AirErrorPayload;
55
+ export type AirWalletInitializedMessage = AirMessageBase<"air_wallet_initialized", AirWalletInitializedPayload>;
56
+ export type AirClaimIdRequestMessage = AirMessageBase<"air_claim_id_request", {
72
57
  token?: string;
73
- sessionId?: string;
74
- };
75
- export type AirLoginClaimStateClaimFlowStartedMessage = {
76
- state: typeof AirLoginClaimStates.CLAIM_FLOW_STARTED;
77
- };
78
- export type AirLoginClaimStateClaimFlowCancelledMessage = {
79
- state: typeof AirLoginClaimStates.CLAIM_FLOW_CANCELLED;
80
- errorName: AirErrorName;
81
- errorMessage?: string;
82
- };
83
- export type AirLoginClaimStateMintingStartedMessage = {
84
- state: typeof AirLoginClaimStates.MINTING_STARTED;
85
- };
86
- export type AirLoginClaimStateMintingFailedMessage = {
87
- state: typeof AirLoginClaimStates.MINTING_FAILED;
88
- errorMessage?: string;
58
+ claimInBackground?: boolean;
59
+ }>;
60
+ export type AirClaimIdSuccess = {
61
+ success: true;
62
+ airId: AirIdDetails;
89
63
  };
90
- export type AirLoginClaimStateMessage = AirMessageBase<"air_login_claim_state", AirLoginClaimStateLoggedInMessage | AirLoginClaimStateConnectedMessage | AirLoginClaimStateClaimFlowStartedMessage | AirLoginClaimStateClaimFlowCancelledMessage | AirLoginClaimStateMintingStartedMessage | AirLoginClaimStateMintingFailedMessage>;
91
- export type AirCloseModalMessage = AirMessageBaseWithoutPayload<"air_close_modal">;
64
+ export type AirClaimIdResponsePayload = AirClaimIdSuccess | AirErrorPayload;
65
+ export type AirClaimIdResponseMessage = AirMessageBase<"air_claim_id_response", AirClaimIdResponsePayload>;
92
66
  export type AirInitAuthCommunicationMessage = AirMessageBaseWithoutPayload<"air_init_auth_communication">;
67
+ export type AirIsSmartAccountDeployedResponseMessage = AirMessageBase<"air_is_smart_account_deployed_response", {
68
+ success: true;
69
+ isDeployed: boolean;
70
+ } | AirErrorPayload>;
93
71
  export type AirDeploySmartAccountRequestMessage = AirMessageBaseWithoutPayload<"air_deploy_smart_account_request">;
94
72
  export type AirDeploySmartAccountResponseMessage = AirMessageBase<"air_deploy_smart_account_response", {
95
73
  success: true;
@@ -99,6 +77,7 @@ export type AirDeploySmartAccountResponseMessage = AirMessageBase<"air_deploy_sm
99
77
  errorName: AirErrorName;
100
78
  errorMessage?: string;
101
79
  }>;
80
+ export type AirIsSmartAccountDeployedRequestMessage = AirMessageBaseWithoutPayload<"air_is_smart_account_deployed_request">;
102
81
  export type AirGrantPermissionsRequestMessage = AirMessageBase<"air_grant_permissions_request", {
103
82
  policies: ActionPolicyInfo[];
104
83
  }>;
@@ -138,6 +117,16 @@ export type AirExecuteActionResponseMessage = AirMessageBase<"air_execute_action
138
117
  errorName: AirErrorName;
139
118
  errorMessage?: string;
140
119
  }>;
141
- export type AirMessage = AirServiceInitializedMessage | AirServiceInitializedErrorMessage | AirLoginRequestMessage | AirClaimRequestMessage | AirLoginClaimStateMessage | AirCloseModalMessage | AirInitAuthCommunicationMessage | AirDeploySmartAccountRequestMessage | AirDeploySmartAccountResponseMessage | AirGrantPermissionsRequestMessage | AirGrantPermissionsResponseMessage | AirRevokePermissionsRequestMessage | AirRevokePermissionsResponseMessage | AirExecuteActionRequestMessage | AirExecuteActionResponseMessage;
142
- export type AirLoginClaimStatePayload = AirLoginClaimStateMessage["payload"];
120
+ export type AirWalletIframeVisibilityRequestMessage = AirMessageBase<"air_wallet_iframe_visibility_request", {
121
+ visible: boolean;
122
+ }>;
123
+ export type AirLogoutRequestMessage = AirMessageBaseWithoutPayload<"air_logout_request">;
124
+ export type AirLogoutResponseMessage = AirMessageBase<"air_logout_response", {
125
+ success: true;
126
+ } | {
127
+ success: false;
128
+ errorName: AirErrorName;
129
+ errorMessage?: string;
130
+ }>;
131
+ export type AirMessage = AirInitializationRequestMessage | AirInitializationResponseMessage | AirWalletInitializedMessage | AirClaimIdRequestMessage | AirClaimIdResponseMessage | AirInitAuthCommunicationMessage | AirIsSmartAccountDeployedRequestMessage | AirIsSmartAccountDeployedResponseMessage | AirDeploySmartAccountRequestMessage | AirDeploySmartAccountResponseMessage | AirGrantPermissionsRequestMessage | AirGrantPermissionsResponseMessage | AirRevokePermissionsRequestMessage | AirRevokePermissionsResponseMessage | AirExecuteActionRequestMessage | AirExecuteActionResponseMessage | AirWalletIframeVisibilityRequestMessage | AirLogoutRequestMessage | AirLogoutResponseMessage;
143
132
  export {};
@@ -8,37 +8,6 @@ export type RealmPartnerConfigStyle = {
8
8
  hideModalOverlay?: boolean;
9
9
  passwordlessButtonVariant?: "inline" | "standalone";
10
10
  };
11
- export declare const REALM_LOGIN_PROVIDER: {
12
- readonly REALM_CUSTOM_AUTH: "realm_custom_auth";
13
- readonly DEMO_CUSTOM_AUTH: "demo_custom_auth";
14
- readonly GOOGLE: "google";
15
- readonly FACEBOOK: "facebook";
16
- readonly REDDIT: "reddit";
17
- readonly DISCORD: "discord";
18
- readonly TWITCH: "twitch";
19
- readonly APPLE: "apple";
20
- readonly LINE: "line";
21
- readonly GITHUB: "github";
22
- readonly KAKAO: "kakao";
23
- readonly LINKEDIN: "linkedin";
24
- readonly TWITTER: "twitter";
25
- readonly WEIBO: "weibo";
26
- readonly WECHAT: "wechat";
27
- readonly FARCASTER: "farcaster";
28
- readonly EMAIL_PASSWORDLESS: "email_passwordless";
29
- readonly SMS_PASSWORDLESS: "sms_passwordless";
30
- readonly WEBAUTHN: "webauthn";
31
- readonly JWT: "jwt";
32
- readonly PASSKEYS: "passkeys";
33
- readonly AUTHENTICATOR: "authenticator";
34
- };
35
- export type REALM_LOGIN_PROVIDER_TYPE = (typeof REALM_LOGIN_PROVIDER)[keyof typeof REALM_LOGIN_PROVIDER];
36
- export type RealmCustomAuthConfig = {
37
- name: REALM_LOGIN_PROVIDER_TYPE;
38
- verifier: string;
39
- verifierSubIdentifier: string;
40
- verifierIdField: string;
41
- };
42
11
  export declare const REALM_LOGIN_METHODS: readonly ["passwordless", "passwordlessToggle", "google", "wallet", "passkey"];
43
12
  export type RealmLoginMethod = (typeof REALM_LOGIN_METHODS)[number];
44
13
  export type RealmPartnerConfig = {
@@ -62,8 +31,8 @@ export type RealmPartnerConfig = {
62
31
  supportedLocales?: string[];
63
32
  localeUrls?: Record<string, string>;
64
33
  authLocaleUrls?: Record<string, string>;
34
+ walletLocaleUrls?: Record<string, string>;
65
35
  sessionTime?: number;
66
- customAuth?: RealmCustomAuthConfig;
67
36
  allowSessionIdLogin?: boolean;
68
37
  loginMethods?: RealmLoginMethod[];
69
38
  skipPartnerLinkingConfirmation?: boolean;
@@ -16,7 +16,7 @@ export type Prettify<T> = {
16
16
  type KeyofUnion<type> = type extends type ? keyof type : never;
17
17
  export type UnionEvaluate<type> = type extends object ? Prettify<type> : type;
18
18
  export type OneOf<union extends object, fallback extends object | undefined = undefined, keys extends KeyofUnion<union> = KeyofUnion<union>> = union extends infer item ? Prettify<item & {
19
- [key in Exclude<keys, keyof item>]?: fallback extends object ? (key extends keyof fallback ? fallback[key] : undefined) : undefined;
19
+ [key in Exclude<keys, keyof item>]?: fallback extends object ? key extends keyof fallback ? fallback[key] : undefined : undefined;
20
20
  }> : never;
21
21
  export type SpendingLimitPolicyData = {
22
22
  /** The address of the token to be included in the policy */
@@ -1,17 +1,6 @@
1
1
  export type AuthCredentials = {
2
2
  accessToken: string;
3
3
  refreshToken: string;
4
- partnerAccessToken: string;
5
- };
6
- export type RealmDetailsV1 = {
7
- name?: string;
8
- node: string;
9
- status: "not_minted" | "minting" | "minted";
10
- tokenId?: string;
11
- imageUrl?: string;
12
- eoaAddress?: string;
13
- abstractAccountAddress?: string;
14
- partnerUserId?: string;
15
4
  };
16
5
  export type AirIdDetails = {
17
6
  id: string;
@@ -21,18 +10,10 @@ export type AirIdDetails = {
21
10
  tokenId?: string;
22
11
  imageUrl?: string;
23
12
  };
24
- export type MintTransaction = {
25
- id: string;
26
- transactionHash: string;
27
- };
28
13
  export type GlobalId = {
29
14
  id: string;
30
15
  abstractAccountAddress?: string;
31
16
  };
32
- export type RealmUserV1 = {
33
- realmId: RealmDetailsV1;
34
- mintTransaction?: MintTransaction;
35
- };
36
17
  export type LoggedInLoginResponse = {
37
18
  status: "logged_in";
38
19
  } & AuthCredentials & {
@@ -43,12 +24,6 @@ type PartnerLinkageRequiredLoginResponse = {
43
24
  } & AuthCredentials & {
44
25
  user: GlobalId;
45
26
  };
46
- export type LoggedInLoginV1Response = {
47
- status: "logged_in";
48
- } & AuthCredentials & RealmUserV1;
49
- type PartnerLinkageRequiredLoginV1Response = {
50
- status: "partner_linkage_required";
51
- } & AuthCredentials & RealmUserV1;
52
27
  type EmailRequiredLoginResponse = {
53
28
  status: "email_required";
54
29
  };
@@ -60,11 +35,7 @@ type LoginRequiredLoginResponse = {
60
35
  status: "login_required";
61
36
  };
62
37
  export type LoginResponse = LoggedInLoginResponse | PartnerLinkageRequiredLoginResponse | EmailRequiredLoginResponse | EmailVerificationRequiredLoginResponse | LoginRequiredLoginResponse;
63
- export type LoginV1Response = LoggedInLoginV1Response | PartnerLinkageRequiredLoginV1Response | EmailRequiredLoginResponse | EmailVerificationRequiredLoginResponse | LoginRequiredLoginResponse;
64
- export type MeResponseV1 = {
65
- realmId: RealmDetailsV1;
66
- };
67
- export type MeResponse = {
38
+ export type UserResponse = {
68
39
  user: GlobalId & {
69
40
  email?: string;
70
41
  airIds: Omit<AirIdDetails, "id">[];
@@ -74,5 +45,5 @@ export type PartnerUserResponse = {
74
45
  partnerId: string;
75
46
  partnerUserId: string;
76
47
  airId?: Omit<AirIdDetails, "id">;
77
- };
48
+ } & Omit<UserResponse, "airIds">;
78
49
  export {};
@@ -6,3 +6,6 @@ export type Jsonable = string | number | boolean | null | undefined | readonly J
6
6
  export type Optional<T, K extends keyof T> = Omit<T, K> & {
7
7
  [P in keyof T]?: T[P] | undefined;
8
8
  };
9
+ export type IntersectionToUnion<T> = {
10
+ [K in keyof T]: (x: T[K]) => void;
11
+ }[keyof T] extends (x: infer U) => void ? U : never;
@@ -1,2 +1,19 @@
1
1
  import { AirIdDetails } from "./realm/user/types";
2
2
  export declare const parseAirId: (airIdDetail?: Omit<AirIdDetails, "id">) => string | undefined;
3
+ export declare function promiseCreator<T>(): {
4
+ resolve: (value: T | PromiseLike<T>) => void;
5
+ reject: (reason?: string) => void;
6
+ promise: Promise<T>;
7
+ };
8
+ export declare const isMain: boolean;
9
+ export declare const getIFrameOrigin: () => string;
10
+ export declare const isUnsafeOrigin: (origin: string) => boolean;
11
+ export declare const isParentHttps: (origin: string) => boolean;
12
+ export declare const formatPublicKey: (publicKey: string) => string;
13
+ export declare const setPartnerTheme: (theme: string, partnerId: string, configApiUrl: string) => void;
14
+ /**
15
+ * Returns a random number. Don't use for cryptographic purposes.
16
+ * @returns a random number
17
+ */
18
+ export declare const randomId: () => string;
19
+ export declare const bigIntReplacer: (_key: string, value: unknown) => unknown;
@@ -1,5 +1,5 @@
1
+ import { AirErrorName } from "./common/air/error";
1
2
  import { BaseError } from "./common/error";
2
- import { AirErrorName } from "./common/realm/error/types";
3
3
  type AirServiceErrorName = AirErrorName | "NOT_INITIALISED" | "ALREADY_INITIALISED" | "NOT_LOGGED_IN" | "NOT_CONNECTED";
4
4
  export declare class AirServiceError extends BaseError<AirServiceErrorName> {
5
5
  static from(error: unknown): AirServiceError;
@@ -1,4 +1,4 @@
1
1
  export { default as AirService } from "./airService";
2
- export { default as RealmEmbed } from "./embed";
3
- export { default as AirInPageProvider } from "./inPageProvider";
2
+ export { default as AirWalletProvider } from "./airWalletProvider";
3
+ export * from "./error";
4
4
  export * from "./interfaces";