@mocanetwork/airkit 0.5.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.
Files changed (80) hide show
  1. package/README.md +177 -0
  2. package/dist/airkit.cjs.js +2662 -0
  3. package/dist/airkit.esm.js +2468 -0
  4. package/dist/airkit.umd.min.js +2 -0
  5. package/dist/airkit.umd.min.js.LICENSE.txt +12 -0
  6. package/dist/lib.cjs/common/src/error.js +25 -0
  7. package/dist/lib.cjs/common/src/realm/messaging/auth.js +28 -0
  8. package/dist/lib.cjs/common/src/realm/messaging/types.js +15 -0
  9. package/dist/lib.cjs/ws-embed/src/PopupHandler.js +64 -0
  10. package/dist/lib.cjs/ws-embed/src/airService.js +364 -0
  11. package/dist/lib.cjs/ws-embed/src/baseProvider.js +178 -0
  12. package/dist/lib.cjs/ws-embed/src/communicationProvider.js +346 -0
  13. package/dist/lib.cjs/ws-embed/src/embed.js +735 -0
  14. package/dist/lib.cjs/ws-embed/src/error.js +21 -0
  15. package/dist/lib.cjs/ws-embed/src/iframeController.js +68 -0
  16. package/dist/lib.cjs/ws-embed/src/inPageProvider.js +307 -0
  17. package/dist/lib.cjs/ws-embed/src/index.js +20 -0
  18. package/dist/lib.cjs/ws-embed/src/interfaces.js +29 -0
  19. package/dist/lib.cjs/ws-embed/src/isStream.js +20 -0
  20. package/dist/lib.cjs/ws-embed/src/loglevel.js +7 -0
  21. package/dist/lib.cjs/ws-embed/src/messageService.js +212 -0
  22. package/dist/lib.cjs/ws-embed/src/messages.js +22 -0
  23. package/dist/lib.cjs/ws-embed/src/siteMetadata.js +77 -0
  24. package/dist/lib.cjs/ws-embed/src/utils.js +95 -0
  25. package/dist/lib.esm/common/src/error.js +23 -0
  26. package/dist/lib.esm/common/src/realm/messaging/auth.js +26 -0
  27. package/dist/lib.esm/common/src/realm/messaging/types.js +13 -0
  28. package/dist/lib.esm/ws-embed/src/PopupHandler.js +62 -0
  29. package/dist/lib.esm/ws-embed/src/airService.js +362 -0
  30. package/dist/lib.esm/ws-embed/src/baseProvider.js +176 -0
  31. package/dist/lib.esm/ws-embed/src/communicationProvider.js +344 -0
  32. package/dist/lib.esm/ws-embed/src/embed.js +730 -0
  33. package/dist/lib.esm/ws-embed/src/error.js +18 -0
  34. package/dist/lib.esm/ws-embed/src/iframeController.js +66 -0
  35. package/dist/lib.esm/ws-embed/src/inPageProvider.js +302 -0
  36. package/dist/lib.esm/ws-embed/src/index.js +5 -0
  37. package/dist/lib.esm/ws-embed/src/interfaces.js +21 -0
  38. package/dist/lib.esm/ws-embed/src/isStream.js +15 -0
  39. package/dist/lib.esm/ws-embed/src/loglevel.js +5 -0
  40. package/dist/lib.esm/ws-embed/src/messageService.js +210 -0
  41. package/dist/lib.esm/ws-embed/src/messages.js +20 -0
  42. package/dist/lib.esm/ws-embed/src/siteMetadata.js +75 -0
  43. package/dist/lib.esm/ws-embed/src/utils.js +88 -0
  44. package/dist/types/PopupHandler.d.ts +24 -0
  45. package/dist/types/airService.d.ts +34 -0
  46. package/dist/types/baseProvider.d.ts +66 -0
  47. package/dist/types/common/custom.d.ts +4 -0
  48. package/dist/types/common/error.d.ts +17 -0
  49. package/dist/types/common/realm/error/auth.d.ts +1 -0
  50. package/dist/types/common/realm/error/types.d.ts +1 -0
  51. package/dist/types/common/realm/messaging/auth.d.ts +138 -0
  52. package/dist/types/common/realm/messaging/types.d.ts +95 -0
  53. package/dist/types/common/realm/partner/config.d.ts +68 -0
  54. package/dist/types/common/realm/user/types.d.ts +78 -0
  55. package/dist/types/common/realm/wallet/bybit/bybit.d.ts +2 -0
  56. package/dist/types/common/realm/wallet/coinbase/coinbase.d.ts +2 -0
  57. package/dist/types/common/realm/wallet/cryptoCom/cryptoCom.d.ts +2 -0
  58. package/dist/types/common/realm/wallet/index.d.ts +22 -0
  59. package/dist/types/common/realm/wallet/metamask/metamask.d.ts +2 -0
  60. package/dist/types/common/realm/wallet/okx/okx.d.ts +2 -0
  61. package/dist/types/common/realm/wallet/phantom/phantom.d.ts +2 -0
  62. package/dist/types/common/realm/wallet/rabby/rabby.d.ts +2 -0
  63. package/dist/types/common/realm/wallet/rainbow/rainbow.d.ts +2 -0
  64. package/dist/types/common/realm/wallet/trust/trust.d.ts +2 -0
  65. package/dist/types/common/types.d.ts +8 -0
  66. package/dist/types/common/utils.d.ts +2 -0
  67. package/dist/types/communicationProvider.d.ts +82 -0
  68. package/dist/types/embed.d.ts +42 -0
  69. package/dist/types/error.d.ts +9 -0
  70. package/dist/types/iframeController.d.ts +18 -0
  71. package/dist/types/inPageProvider.d.ts +106 -0
  72. package/dist/types/index.d.ts +4 -0
  73. package/dist/types/interfaces.d.ts +261 -0
  74. package/dist/types/isStream.d.ts +4 -0
  75. package/dist/types/loglevel.d.ts +3 -0
  76. package/dist/types/messageService.d.ts +51 -0
  77. package/dist/types/messages.d.ts +19 -0
  78. package/dist/types/siteMetadata.d.ts +9 -0
  79. package/dist/types/utils.d.ts +24 -0
  80. package/package.json +76 -0
@@ -0,0 +1,4 @@
1
+ export declare function isStream(stream: any): boolean;
2
+ export declare function isWritableStream(stream: any): boolean;
3
+ export declare function isReadableStream(stream: any): boolean;
4
+ export declare function isDuplexStream(stream: any): boolean;
@@ -0,0 +1,3 @@
1
+ import loglevel from "loglevel";
2
+ declare const _default: loglevel.Logger;
3
+ export default _default;
@@ -0,0 +1,51 @@
1
+ import { Observable } from "rxjs";
2
+ import { AirAuthLoginRequestMessage as RealmAuthLoginRequestMessage, AirAuthMessage } from "./common/realm/messaging/auth";
3
+ import { AirLoginClaimStateMessage, AirLoginRequestMessage, AirMessage } from "./common/realm/messaging/types";
4
+ declare class AirMessageService {
5
+ private static _instance;
6
+ static get instance(): AirMessageService;
7
+ private airMessages$;
8
+ private _loginState$;
9
+ private _authMessage$;
10
+ private _authIframe;
11
+ private closeAuthMessageListeners;
12
+ private closeRealmMessageListeners;
13
+ get messages$(): Observable<AirMessage>;
14
+ get loginState$(): Observable<AirLoginClaimStateMessage>;
15
+ get authMessage$(): Observable<AirAuthMessage>;
16
+ openAuthObservables({ authIframeOrigin }: {
17
+ authIframeOrigin: string;
18
+ }): Promise<void>;
19
+ openRealmObservables({ walletIframeOrigin }: {
20
+ walletIframeOrigin: string;
21
+ }): Promise<void>;
22
+ setupAuthIframe(authIframe: HTMLIFrameElement): void;
23
+ setupIframeCommunication(walletIframe: HTMLIFrameElement): void;
24
+ onInitialized(): Promise<import("./common/realm/messaging/types").AirServiceInitializedMessage>;
25
+ sendLoginRequest(walletIframe: HTMLIFrameElement, payload: AirLoginRequestMessage["payload"]): Promise<AirLoginClaimStateMessage>;
26
+ sendClaimRequest(walletIframe: HTMLIFrameElement, options?: {
27
+ token?: string;
28
+ background?: boolean;
29
+ }): Promise<[AirLoginClaimStateMessage, import("./common/realm/messaging/types").AirCloseModalMessage]>;
30
+ sendDeploySmartAccountRequest(walletIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/types").AirDeploySmartAccountResponseMessage>;
31
+ sendUserInfoRequest(authIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/auth").AirAuthUserInfoResponseMessage>;
32
+ sendPartnerUserInfoRequest(authIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/auth").AirAuthPartnerUserInfoResponseMessage>;
33
+ sendAuthLoginRequest(authIframe: HTMLIFrameElement, payload?: RealmAuthLoginRequestMessage["payload"]): Promise<import("./common/realm/messaging/auth").AirAuthLoginResponseToEmbedMessage>;
34
+ logoutAuth(authIframe: HTMLIFrameElement): Promise<import("./common/realm/messaging/auth").AirAuthLogoutResponseMessage>;
35
+ waitForAuthInitialization(): Promise<({
36
+ success: true;
37
+ email?: string;
38
+ partnerAccessToken: string;
39
+ } & import("./common/realm/user/types").GlobalId & {
40
+ rehydrated: true;
41
+ }) | (Pick<import("./common/realm/messaging/auth").AirAuthSuccess, "success"> & {
42
+ rehydrated: false;
43
+ })>;
44
+ waitForWalletInitialization(): Promise<void>;
45
+ closeAuthObservables(): void;
46
+ closeRealmObservables(): void;
47
+ private setupAuthObservables;
48
+ private setupRealmObservables;
49
+ }
50
+ declare const _default: AirMessageService;
51
+ export default _default;
@@ -0,0 +1,19 @@
1
+ declare const _default: {
2
+ errors: {
3
+ disconnected: () => string;
4
+ permanentlyDisconnected: () => string;
5
+ unsupportedSync: (method: string) => string;
6
+ invalidDuplexStream: () => string;
7
+ invalidOptions: (maxEventListeners: number) => string;
8
+ invalidRequestArgs: () => string;
9
+ invalidRequestMethod: () => string;
10
+ invalidRequestParams: () => string;
11
+ invalidLoggerObject: () => string;
12
+ invalidLoggerMethod: (method: string) => string;
13
+ };
14
+ info: {
15
+ connected: (chainId: string) => string;
16
+ };
17
+ warnings: {};
18
+ };
19
+ export default _default;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Gets site metadata and returns it
3
+ *
4
+ */
5
+ declare const getSiteMetadata: () => Promise<{
6
+ name: string;
7
+ icon: string;
8
+ }>;
9
+ export default getSiteMetadata;
@@ -0,0 +1,24 @@
1
+ import { JRPCMiddleware, SafeEventEmitter } from "@web3auth/auth";
2
+ import { AirUrlConfig, EMBED_BUILD_ENV_TYPE } from "./interfaces";
3
+ export declare const AIR_URLS: Record<EMBED_BUILD_ENV_TYPE, AirUrlConfig>;
4
+ export declare const handleEvent: (handle: EventTarget, eventName: string, handler: (...args: unknown[]) => void, ...handlerArgs: unknown[]) => void;
5
+ export declare const htmlToElement: <T extends Element>(html: string) => T;
6
+ export declare const isElement: (element: unknown) => element is Document | Element;
7
+ /**
8
+ * json-rpc-engine middleware that logs RPC errors and and validates req.method.
9
+ *
10
+ * @param log - The logging API to use.
11
+ * @returns json-rpc-engine middleware function
12
+ */
13
+ export declare function createErrorMiddleware(): JRPCMiddleware<unknown, unknown>;
14
+ /**
15
+ * Logs a stream disconnection error. Emits an 'error' if given an
16
+ * EventEmitter that has listeners for the 'error' event.
17
+ *
18
+ * @param log - The logging API to use.
19
+ * @param remoteLabel - The label of the disconnected stream.
20
+ * @param error - The associated error to log.
21
+ * @param emitter - The logging API to use.
22
+ */
23
+ export declare function logStreamDisconnectWarning(remoteLabel: string, error: Error, emitter: SafeEventEmitter): void;
24
+ export declare const EMITTED_NOTIFICATIONS: string[];
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@mocanetwork/airkit",
3
+ "version": "0.5.0-beta.2",
4
+ "description": "Air kit to interact with the Moca Network",
5
+ "main": "dist/airkit.cjs.js",
6
+ "module": "dist/airkit.esm.js",
7
+ "unpkg": "dist/airkit.umd.min.js",
8
+ "jsdelivr": "dist/airkit.umd.min.js",
9
+ "types": "dist/types/index.d.ts",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "start": "torus-scripts start",
15
+ "build": "torus-scripts build",
16
+ "release": "torus-scripts release",
17
+ "prepack": "npm run build && npm run postbuild",
18
+ "lint": "eslint --fix 'src/**/*.ts'",
19
+ "postbuild": "node scripts/copyAndAdjustDtsFiles.js '../common/src' 'common'"
20
+ },
21
+ "peerDependencies": {
22
+ "@babel/runtime": "7.x"
23
+ },
24
+ "dependencies": {
25
+ "@toruslabs/base-controllers": "^6.2.4",
26
+ "@toruslabs/ethereum-controllers": "^6.2.4",
27
+ "@web3auth/auth": "^9.4.1",
28
+ "fast-deep-equal": "^3.1.3",
29
+ "loglevel": "^1.9.2",
30
+ "pump": "^3.0.0",
31
+ "readable-stream": "^4.5.2",
32
+ "rxjs": "^7.8.1"
33
+ },
34
+ "devDependencies": {
35
+ "@babel/runtime": "^7.25.6",
36
+ "@rollup/plugin-replace": "^5.0.7",
37
+ "@rushstack/eslint-patch": "^1.10.2",
38
+ "@toruslabs/eslint-config-typescript": "^3.2.0",
39
+ "fs-extra": "^11.2.0",
40
+ "glob": "^11.0.0",
41
+ "@toruslabs/torus-scripts": "^6.1.2",
42
+ "@types/pump": "^1.1.3",
43
+ "@types/readable-stream": "^4.0.15",
44
+ "process": "^0.11.10"
45
+ },
46
+ "mocha": {
47
+ "timeout": 0
48
+ },
49
+ "keywords": [
50
+ "airkit",
51
+ "mocaverse",
52
+ "wallet",
53
+ "embed",
54
+ "login",
55
+ "OAuth",
56
+ "crypto"
57
+ ],
58
+ "author": "Mocaverse",
59
+ "license": "ISC",
60
+ "lint-staged": {
61
+ "!(*d).{js,ts}": [
62
+ "eslint --cache --fix",
63
+ "prettier --write"
64
+ ],
65
+ "*.{json, md}": [
66
+ "prettier --write"
67
+ ]
68
+ },
69
+ "engines": {
70
+ "node": ">=18.x",
71
+ "npm": ">=9.x"
72
+ },
73
+ "publishConfig": {
74
+ "access": "restricted"
75
+ }
76
+ }