@reown/appkit 1.6.9-vfat.0 → 1.6.9

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 (106) hide show
  1. package/dist/esm/exports/constants.js +1 -1
  2. package/dist/esm/exports/constants.js.map +1 -1
  3. package/dist/esm/package.json +2 -2
  4. package/dist/esm/src/adapters/ChainAdapterBlueprint.js.map +1 -1
  5. package/dist/esm/src/client.js +44 -36
  6. package/dist/esm/src/client.js.map +1 -1
  7. package/dist/esm/src/universal-adapter/client.js +4 -0
  8. package/dist/esm/src/universal-adapter/client.js.map +1 -1
  9. package/dist/esm/src/utils/ConstantsUtil.js +2 -1
  10. package/dist/esm/src/utils/ConstantsUtil.js.map +1 -1
  11. package/dist/esm/src/utils/HelpersUtil.js +16 -6
  12. package/dist/esm/src/utils/HelpersUtil.js.map +1 -1
  13. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  14. package/dist/types/exports/constants.d.ts +1 -1
  15. package/dist/types/src/adapters/ChainAdapterBlueprint.d.ts +13 -0
  16. package/dist/types/src/client.d.ts +2 -2
  17. package/dist/types/src/library/vue/index.d.ts +1 -0
  18. package/dist/types/src/networks/bitcoin.d.ts +5 -5
  19. package/dist/types/src/networks/solana/solana.d.ts +1 -1
  20. package/dist/types/src/networks/solana/solanaDevnet.d.ts +1 -1
  21. package/dist/types/src/networks/solana/solanaTestnet.d.ts +1 -1
  22. package/dist/types/src/store/ProviderUtil.d.ts +5 -3
  23. package/dist/types/src/universal-adapter/client.d.ts +1 -0
  24. package/dist/types/src/utils/ConstantsUtil.d.ts +1 -0
  25. package/package.json +10 -10
  26. package/dist/esm/exports/basic.js +0 -12
  27. package/dist/esm/exports/basic.js.map +0 -1
  28. package/dist/esm/src/client/appkit-basic.js +0 -35
  29. package/dist/esm/src/client/appkit-basic.js.map +0 -1
  30. package/dist/esm/src/client/appkit.js +0 -371
  31. package/dist/esm/src/client/appkit.js.map +0 -1
  32. package/dist/esm/src/client/core.js +0 -1352
  33. package/dist/esm/src/client/core.js.map +0 -1
  34. package/dist/esm/src/client/new.js +0 -267
  35. package/dist/esm/src/client/new.js.map +0 -1
  36. package/dist/esm/tests/appkit.test.js +0 -1482
  37. package/dist/esm/tests/appkit.test.js.map +0 -1
  38. package/dist/esm/tests/client/adapter-management.test.js +0 -83
  39. package/dist/esm/tests/client/adapter-management.test.js.map +0 -1
  40. package/dist/esm/tests/client/appkit-basic.test.js +0 -68
  41. package/dist/esm/tests/client/appkit-basic.test.js.map +0 -1
  42. package/dist/esm/tests/client/balance.test.js +0 -54
  43. package/dist/esm/tests/client/balance.test.js.map +0 -1
  44. package/dist/esm/tests/client/connection.test.js +0 -52
  45. package/dist/esm/tests/client/connection.test.js.map +0 -1
  46. package/dist/esm/tests/client/initialization.test.js +0 -95
  47. package/dist/esm/tests/client/initialization.test.js.map +0 -1
  48. package/dist/esm/tests/client/listeners.test.js +0 -50
  49. package/dist/esm/tests/client/listeners.test.js.map +0 -1
  50. package/dist/esm/tests/client/public-methods.test.js +0 -710
  51. package/dist/esm/tests/client/public-methods.test.js.map +0 -1
  52. package/dist/esm/tests/client/universal-adapter.test.js +0 -44
  53. package/dist/esm/tests/client/universal-adapter.test.js.map +0 -1
  54. package/dist/esm/tests/client/walletconnect-events.test.js +0 -61
  55. package/dist/esm/tests/client/walletconnect-events.test.js.map +0 -1
  56. package/dist/esm/tests/connectors/WalletConnectConnector.test.js +0 -63
  57. package/dist/esm/tests/connectors/WalletConnectConnector.test.js.map +0 -1
  58. package/dist/esm/tests/mocks/Account.js +0 -13
  59. package/dist/esm/tests/mocks/Account.js.map +0 -1
  60. package/dist/esm/tests/mocks/Adapter.js +0 -95
  61. package/dist/esm/tests/mocks/Adapter.js.map +0 -1
  62. package/dist/esm/tests/mocks/AppKit.js +0 -24
  63. package/dist/esm/tests/mocks/AppKit.js.map +0 -1
  64. package/dist/esm/tests/mocks/Networks.js +0 -17
  65. package/dist/esm/tests/mocks/Networks.js.map +0 -1
  66. package/dist/esm/tests/mocks/Options.js +0 -17
  67. package/dist/esm/tests/mocks/Options.js.map +0 -1
  68. package/dist/esm/tests/mocks/Providers.js +0 -46
  69. package/dist/esm/tests/mocks/Providers.js.map +0 -1
  70. package/dist/esm/tests/mocks/UniversalProvider.js +0 -139
  71. package/dist/esm/tests/mocks/UniversalProvider.js.map +0 -1
  72. package/dist/esm/tests/siwe.test.js +0 -258
  73. package/dist/esm/tests/siwe.test.js.map +0 -1
  74. package/dist/esm/tests/test-utils.js +0 -36
  75. package/dist/esm/tests/test-utils.js.map +0 -1
  76. package/dist/esm/tests/universal-adapter.test.js +0 -246
  77. package/dist/esm/tests/universal-adapter.test.js.map +0 -1
  78. package/dist/esm/tests/utils/HelpersUtil.test.js +0 -218
  79. package/dist/esm/tests/utils/HelpersUtil.test.js.map +0 -1
  80. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  81. package/dist/types/exports/basic.d.ts +0 -8
  82. package/dist/types/src/client/appkit-basic.d.ts +0 -24
  83. package/dist/types/src/client/appkit.d.ts +0 -23
  84. package/dist/types/src/client/core.d.ts +0 -208
  85. package/dist/types/src/client/new.d.ts +0 -3
  86. package/dist/types/tests/appkit.test.d.ts +0 -1
  87. package/dist/types/tests/client/adapter-management.test.d.ts +0 -1
  88. package/dist/types/tests/client/appkit-basic.test.d.ts +0 -1
  89. package/dist/types/tests/client/balance.test.d.ts +0 -1
  90. package/dist/types/tests/client/connection.test.d.ts +0 -1
  91. package/dist/types/tests/client/initialization.test.d.ts +0 -1
  92. package/dist/types/tests/client/listeners.test.d.ts +0 -1
  93. package/dist/types/tests/client/public-methods.test.d.ts +0 -1
  94. package/dist/types/tests/client/universal-adapter.test.d.ts +0 -1
  95. package/dist/types/tests/client/walletconnect-events.test.d.ts +0 -1
  96. package/dist/types/tests/connectors/WalletConnectConnector.test.d.ts +0 -1
  97. package/dist/types/tests/mocks/Account.d.ts +0 -12
  98. package/dist/types/tests/mocks/Adapter.d.ts +0 -5
  99. package/dist/types/tests/mocks/AppKit.d.ts +0 -3
  100. package/dist/types/tests/mocks/Networks.d.ts +0 -4
  101. package/dist/types/tests/mocks/Options.d.ts +0 -6
  102. package/dist/types/tests/mocks/UniversalProvider.d.ts +0 -3
  103. package/dist/types/tests/siwe.test.d.ts +0 -1
  104. package/dist/types/tests/test-utils.d.ts +0 -4
  105. package/dist/types/tests/universal-adapter.test.d.ts +0 -1
  106. package/dist/types/tests/utils/HelpersUtil.test.d.ts +0 -1
@@ -1 +1 @@
1
- export declare const PACKAGE_VERSION = "1.6.9-vfat.0";
1
+ export declare const PACKAGE_VERSION = "1.6.9";
@@ -201,6 +201,7 @@ export declare abstract class AdapterBlueprint<Connector extends ChainAdapterCon
201
201
  abstract getCapabilities(params: AdapterBlueprint.GetCapabilitiesParams): Promise<unknown>;
202
202
  abstract grantPermissions(params: AdapterBlueprint.GrantPermissionsParams): Promise<unknown>;
203
203
  abstract revokePermissions(params: AdapterBlueprint.RevokePermissionsParams): Promise<`0x${string}`>;
204
+ abstract walletGetAssets(params: AdapterBlueprint.WalletGetAssetsParams): Promise<AdapterBlueprint.WalletGetAssetsResponse>;
204
205
  protected getWalletConnectConnector(): WalletConnectConnector;
205
206
  }
206
207
  export declare namespace AdapterBlueprint {
@@ -294,6 +295,18 @@ export declare namespace AdapterBlueprint {
294
295
  expiry: number;
295
296
  address: `0x${string}`;
296
297
  };
298
+ type WalletGetAssetsParams = {
299
+ account: `0x${string}`;
300
+ assetFilter?: Record<`0x${string}`, (`0x${string}` | 'native')[]>;
301
+ assetTypeFilter?: ('NATIVE' | 'ERC20')[];
302
+ chainFilter?: `0x${string}`[];
303
+ };
304
+ type WalletGetAssetsResponse = Record<`0x${string}`, {
305
+ address: `0x${string}` | 'native';
306
+ balance: `0x${string}`;
307
+ type: 'NATIVE' | 'ERC20';
308
+ metadata: Record<string, unknown>;
309
+ }[]>;
297
310
  type SendTransactionParams = {
298
311
  address: `0x${string}`;
299
312
  to: string;
@@ -52,7 +52,7 @@ export declare class AppKit {
52
52
  setLoading(loading: ModalControllerState['loading']): void;
53
53
  getError(): string;
54
54
  getChainId(): string | number | undefined;
55
- switchNetwork(appKitNetwork: AppKitNetwork): void;
55
+ switchNetwork(appKitNetwork: AppKitNetwork): Promise<void>;
56
56
  getWalletProvider(): unknown;
57
57
  getWalletProviderType(): ConnectorType | null | undefined;
58
58
  subscribeProviders(callback: (providers: ProviderStoreUtilState['providers']) => void): () => void;
@@ -103,7 +103,7 @@ export declare class AppKit {
103
103
  resetAccount: (typeof AccountController)['resetAccount'];
104
104
  setCaipNetwork: (typeof ChainController)['setActiveCaipNetwork'];
105
105
  getCaipNetwork: (chainNamespace?: ChainNamespace) => CaipNetwork | undefined;
106
- getCaipNetworkId: <T extends string | number>() => T | undefined;
106
+ getCaipNetworkId: <T extends number | string>() => T | undefined;
107
107
  getCaipNetworks: (namespace: ChainNamespace) => CaipNetwork[];
108
108
  getActiveChainNamespace: () => ChainNamespace | undefined;
109
109
  setRequestedCaipNetworks: (typeof ChainController)['setRequestedCaipNetworks'];
@@ -56,6 +56,7 @@ export declare function useWalletInfo(): {
56
56
  [x: string]: unknown;
57
57
  name: string;
58
58
  icon?: string | undefined;
59
+ type?: string | undefined;
59
60
  } | undefined;
60
61
  };
61
62
  export declare function useAppKitState(): {
@@ -10,7 +10,7 @@ export declare const bitcoin: {
10
10
  url: string;
11
11
  apiUrl?: string | undefined;
12
12
  };
13
- } | undefined;
13
+ } | undefined | undefined;
14
14
  contracts?: {
15
15
  [x: string]: import("viem").ChainContract | {
16
16
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -31,8 +31,8 @@ export declare const bitcoin: {
31
31
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
32
32
  };
33
33
  };
34
- sourceId?: number | undefined;
35
- testnet?: boolean | undefined;
34
+ sourceId?: number | undefined | undefined;
35
+ testnet?: boolean | undefined | undefined;
36
36
  custom?: Record<string, unknown> | undefined;
37
37
  fees?: import("viem").ChainFees<undefined> | undefined;
38
38
  formatters?: undefined;
@@ -57,7 +57,7 @@ export declare const bitcoinTestnet: {
57
57
  url: string;
58
58
  apiUrl?: string | undefined;
59
59
  };
60
- } | undefined;
60
+ } | undefined | undefined;
61
61
  contracts?: {
62
62
  [x: string]: import("viem").ChainContract | {
63
63
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -78,7 +78,7 @@ export declare const bitcoinTestnet: {
78
78
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
79
79
  };
80
80
  };
81
- sourceId?: number | undefined;
81
+ sourceId?: number | undefined | undefined;
82
82
  testnet: true;
83
83
  custom?: Record<string, unknown> | undefined;
84
84
  fees?: import("viem").ChainFees<undefined> | undefined;
@@ -25,7 +25,7 @@ export declare const solana: {
25
25
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
26
26
  };
27
27
  };
28
- sourceId?: number | undefined;
28
+ sourceId?: number | undefined | undefined;
29
29
  testnet: false;
30
30
  custom?: Record<string, unknown> | undefined;
31
31
  fees?: import("viem").ChainFees<undefined> | undefined;
@@ -25,7 +25,7 @@ export declare const solanaDevnet: {
25
25
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
26
26
  };
27
27
  };
28
- sourceId?: number | undefined;
28
+ sourceId?: number | undefined | undefined;
29
29
  testnet: true;
30
30
  custom?: Record<string, unknown> | undefined;
31
31
  fees?: import("viem").ChainFees<undefined> | undefined;
@@ -25,7 +25,7 @@ export declare const solanaTestnet: {
25
25
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
26
26
  };
27
27
  };
28
- sourceId?: number | undefined;
28
+ sourceId?: number | undefined | undefined;
29
29
  testnet: true;
30
30
  custom?: Record<string, unknown> | undefined;
31
31
  fees?: import("viem").ChainFees<undefined> | undefined;
@@ -1,6 +1,7 @@
1
1
  import type UniversalProvider from '@walletconnect/universal-provider';
2
2
  import type { ChainNamespace } from '@reown/appkit-common';
3
3
  import type { ConnectorType } from '@reown/appkit-core';
4
+ type StateKey = keyof ProviderStoreUtilState;
4
5
  export interface ProviderStoreUtilState {
5
6
  providers: Record<ChainNamespace, UniversalProvider | unknown | undefined>;
6
7
  providerIds: Record<ChainNamespace, ConnectorType | undefined>;
@@ -8,12 +9,13 @@ export interface ProviderStoreUtilState {
8
9
  export type ProviderType = 'walletConnect' | 'injected' | 'coinbaseWallet' | 'eip6963' | 'ID_AUTH' | 'coinbaseWalletSDK';
9
10
  export declare const ProviderUtil: {
10
11
  state: ProviderStoreUtilState;
11
- subscribeKey<K extends keyof ProviderStoreUtilState>(key: K, callback: (value: ProviderStoreUtilState[K]) => void): () => void;
12
- subscribeProviders(callback: (providers: ProviderStoreUtilState['providers']) => void): () => void;
12
+ subscribeKey<K extends StateKey>(key: K, callback: (value: ProviderStoreUtilState[K]) => void): () => void;
13
+ subscribeProviders(callback: (providers: ProviderStoreUtilState["providers"]) => void): () => void;
13
14
  setProvider<T = UniversalProvider>(chainNamespace: ChainNamespace, provider: T): void;
14
- getProvider<T_1 = UniversalProvider>(chainNamespace: ChainNamespace): T_1 | undefined;
15
+ getProvider<T = UniversalProvider>(chainNamespace: ChainNamespace): T | undefined;
15
16
  setProviderId(chainNamespace: ChainNamespace, providerId: ConnectorType): void;
16
17
  getProviderId(chainNamespace: ChainNamespace): ConnectorType | undefined;
17
18
  reset(): void;
18
19
  resetChain(chainNamespace: ChainNamespace): void;
19
20
  };
21
+ export {};
@@ -19,6 +19,7 @@ export declare class UniversalAdapter extends AdapterBlueprint {
19
19
  estimateGas(): Promise<AdapterBlueprint.EstimateGasTransactionResult>;
20
20
  getProfile(): Promise<AdapterBlueprint.GetProfileResult>;
21
21
  sendTransaction(): Promise<AdapterBlueprint.SendTransactionResult>;
22
+ walletGetAssets(_params: AdapterBlueprint.WalletGetAssetsParams): Promise<AdapterBlueprint.WalletGetAssetsResponse>;
22
23
  writeContract(): Promise<AdapterBlueprint.WriteContractResult>;
23
24
  getEnsAddress(): Promise<AdapterBlueprint.GetEnsAddressResult>;
24
25
  parseUnits(): AdapterBlueprint.ParseUnitsResult;
@@ -1,4 +1,5 @@
1
1
  export declare const WcConstantsUtil: {
2
2
  ERROR_CODE_UNRECOGNIZED_CHAIN_ID: number;
3
3
  ERROR_CODE_DEFAULT: number;
4
+ ERROR_INVALID_CHAIN_ID: number;
4
5
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit",
3
- "version": "1.6.9-vfat.0",
3
+ "version": "1.6.9",
4
4
  "type": "module",
5
5
  "main": "./dist/esm/exports/index.js",
6
6
  "types": "./dist/types/exports/index.d.ts",
@@ -100,13 +100,13 @@
100
100
  "bs58": "6.0.0",
101
101
  "valtio": "1.13.2",
102
102
  "viem": ">=2.23.0",
103
- "@reown/appkit-core": "1.6.9-vfat.0",
104
- "@reown/appkit-scaffold-ui": "1.6.9-vfat.0",
105
- "@reown/appkit-polyfills": "1.6.9-vfat.0",
106
- "@reown/appkit-common": "1.6.9-vfat.0",
107
- "@reown/appkit-ui": "1.6.9-vfat.0",
108
- "@reown/appkit-utils": "1.6.9-vfat.0",
109
- "@reown/appkit-wallet": "1.6.9-vfat.0"
103
+ "@reown/appkit-common": "1.6.9",
104
+ "@reown/appkit-core": "1.6.9",
105
+ "@reown/appkit-polyfills": "1.6.9",
106
+ "@reown/appkit-scaffold-ui": "1.6.9",
107
+ "@reown/appkit-ui": "1.6.9",
108
+ "@reown/appkit-utils": "1.6.9",
109
+ "@reown/appkit-wallet": "1.6.9"
110
110
  },
111
111
  "devDependencies": {
112
112
  "@types/react": "19.0.0",
@@ -117,9 +117,9 @@
117
117
  "@walletconnect/universal-provider": "2.18.0",
118
118
  "react": "19.0.0",
119
119
  "react-dom": "19.0.0",
120
- "vitest": "2.1.3",
120
+ "vitest": "2.1.9",
121
121
  "vue": "3.x",
122
- "@reown/appkit-siwe": "1.6.9-vfat.0"
122
+ "@reown/appkit-siwe": "1.6.9"
123
123
  },
124
124
  "author": "Reown <support@reown.com> (https://reown.com)",
125
125
  "license": "Apache-2.0",
@@ -1,12 +0,0 @@
1
- import { CoreHelperUtil } from '@reown/appkit-core';
2
- import { AppKit } from '../src/client/appkit-basic.js';
3
- import { PACKAGE_VERSION } from './constants.js';
4
- export function createAppKit(options) {
5
- return new AppKit({
6
- ...options,
7
- basic: true,
8
- sdkVersion: CoreHelperUtil.generateSdkVersion(options.adapters ?? [], 'html', PACKAGE_VERSION)
9
- });
10
- }
11
- export { AppKit };
12
- //# sourceMappingURL=basic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../exports/basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAQhD,MAAM,UAAU,YAAY,CAAC,OAAqB;IAChD,OAAO,IAAI,MAAM,CAAC;QAChB,GAAG,OAAO;QACV,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC;KAC/F,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -1,35 +0,0 @@
1
- import {} from '@reown/appkit-common';
2
- import { AccountController, ConnectionController, CoreHelperUtil, OptionsController } from '@reown/appkit-core';
3
- import { AppKitCore } from './core.js';
4
- // -- Export Controllers -------------------------------------------------------
5
- export { AccountController };
6
- // -- Helpers -------------------------------------------------------------------
7
- let isInitialized = false;
8
- // -- Client --------------------------------------------------------------------
9
- export class AppKit extends AppKitCore {
10
- // -- Overrides --------------------------------------------------------------
11
- async open(options) {
12
- // Only open modal when not connected
13
- if (!AccountController.state.caipAddress) {
14
- await super.open(options);
15
- }
16
- }
17
- async close() {
18
- await super.close();
19
- if (this.options.manualWCControl) {
20
- ConnectionController.finalizeWcConnection();
21
- }
22
- }
23
- async injectModalUi() {
24
- if (!isInitialized && CoreHelperUtil.isClient()) {
25
- await import('@reown/appkit-scaffold-ui/basic');
26
- await import('@reown/appkit-scaffold-ui/w3m-modal');
27
- const modal = document.createElement('w3m-modal');
28
- if (!OptionsController.state.disableAppend && !OptionsController.state.enableEmbedded) {
29
- document.body.insertAdjacentElement('beforeend', modal);
30
- }
31
- isInitialized = true;
32
- }
33
- }
34
- }
35
- //# sourceMappingURL=appkit-basic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appkit-basic.js","sourceRoot":"","sources":["../../../../src/client/appkit-basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,sBAAsB,CAAA;AAE1D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAQtC,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAmB5B,iFAAiF;AACjF,IAAI,aAAa,GAAG,KAAK,CAAA;AAEzB,iFAAiF;AACjF,MAAM,OAAO,MAAO,SAAQ,UAAU;IASpC,8EAA8E;IAC9D,KAAK,CAAC,IAAI,CAAC,OAAoB;QAC7C,qCAAqC;QACrC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IAEe,KAAK,CAAC,KAAK;QACzB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QAEnB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,oBAAoB,CAAC,oBAAoB,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAEkB,KAAK,CAAC,aAAa;QACpC,IAAI,CAAC,aAAa,IAAI,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChD,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAA;YAC/C,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAA;YACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACtF,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YACzD,CAAC;YACD,aAAa,GAAG,IAAI,CAAA;QACtB,CAAC;IACH,CAAC;CACF"}
@@ -1,371 +0,0 @@
1
- /* eslint-disable max-depth */
2
- import { ConstantsUtil, getW3mThemeVariables } from '@reown/appkit-common';
3
- import { ApiController, ConnectionController, ConnectorController, ConstantsUtil as CoreConstantsUtil, EventsController } from '@reown/appkit-core';
4
- import { AccountController, AlertController, ChainController, CoreHelperUtil, OptionsController, StorageUtil, ThemeController } from '@reown/appkit-core';
5
- import { ErrorUtil, HelpersUtil, ConstantsUtil as UtilConstantsUtil } from '@reown/appkit-utils';
6
- import { W3mFrameHelpers, W3mFrameProvider } from '@reown/appkit-wallet';
7
- import { W3mFrameRpcConstants } from '@reown/appkit-wallet/utils';
8
- import { W3mFrameProviderSingleton } from '../auth-provider/W3MFrameProviderSingleton.js';
9
- import { ProviderUtil } from '../store/ProviderUtil.js';
10
- import { AppKitCore } from './core.js';
11
- // -- Export Controllers -------------------------------------------------------
12
- export { AccountController };
13
- // -- Helpers -------------------------------------------------------------------
14
- let isInitialized = false;
15
- // -- Client --------------------------------------------------------------------
16
- export class AppKit extends AppKitCore {
17
- // -- Private ------------------------------------------------------------------
18
- setupAuthConnectorListeners(provider) {
19
- provider.onRpcRequest((request) => {
20
- if (W3mFrameHelpers.checkIfRequestExists(request)) {
21
- if (!W3mFrameHelpers.checkIfRequestIsSafe(request)) {
22
- this.handleUnsafeRPCRequest();
23
- }
24
- }
25
- else {
26
- this.open();
27
- // eslint-disable-next-line no-console
28
- console.error(W3mFrameRpcConstants.RPC_METHOD_NOT_ALLOWED_MESSAGE, {
29
- method: request.method
30
- });
31
- setTimeout(() => {
32
- this.showErrorMessage(W3mFrameRpcConstants.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE);
33
- }, 300);
34
- provider.rejectRpcRequests();
35
- }
36
- });
37
- provider.onRpcError(() => {
38
- const isModalOpen = this.isOpen();
39
- if (isModalOpen) {
40
- if (this.isTransactionStackEmpty()) {
41
- this.close();
42
- }
43
- else {
44
- this.popTransactionStack(true);
45
- }
46
- }
47
- });
48
- provider.onRpcSuccess((_, request) => {
49
- const isSafeRequest = W3mFrameHelpers.checkIfRequestIsSafe(request);
50
- if (isSafeRequest) {
51
- return;
52
- }
53
- if (this.isTransactionStackEmpty()) {
54
- this.close();
55
- if (AccountController.state.address && ChainController.state.activeCaipNetwork?.id) {
56
- this.updateNativeBalance();
57
- }
58
- }
59
- else {
60
- this.popTransactionStack();
61
- if (AccountController.state.address && ChainController.state.activeCaipNetwork?.id) {
62
- this.updateNativeBalance();
63
- }
64
- }
65
- });
66
- provider.onNotConnected(() => {
67
- const namespace = ChainController.state.activeChain;
68
- const connectorId = StorageUtil.getConnectedConnectorId(namespace);
69
- const isConnectedWithAuth = connectorId === ConstantsUtil.CONNECTOR_ID.AUTH;
70
- if (isConnectedWithAuth) {
71
- this.setCaipAddress(undefined, namespace);
72
- this.setLoading(false);
73
- }
74
- });
75
- provider.onConnect(async (user) => {
76
- const namespace = ChainController.state.activeChain;
77
- // To keep backwards compatibility, eip155 chainIds are numbers and not actual caipChainIds
78
- const caipAddress = namespace === ConstantsUtil.CHAIN.EVM
79
- ? `eip155:${user.chainId}:${user.address}`
80
- : `${user.chainId}:${user.address}`;
81
- this.setSmartAccountDeployed(Boolean(user.smartAccountDeployed), namespace);
82
- /*
83
- * This covers the case where user switches back from a smart account supported
84
- * network to a non-smart account supported network resulting in a different address
85
- */
86
- this.setCaipAddress(caipAddress, namespace);
87
- if (!HelpersUtil.isLowerCaseMatch(user.address, AccountController.state.address)) {
88
- this.syncIdentity({
89
- address: user.address,
90
- chainId: user.chainId,
91
- chainNamespace: namespace
92
- });
93
- }
94
- this.setUser({ ...(AccountController.state.user || {}), email: user.email }, namespace);
95
- const preferredAccountType = (user.preferredAccountType ||
96
- OptionsController.state.defaultAccountTypes[namespace]);
97
- this.setPreferredAccountType(preferredAccountType, namespace);
98
- const userAccounts = user.accounts?.map(account => CoreHelperUtil.createAccount(namespace, account.address, account.type || OptionsController.state.defaultAccountTypes[namespace]));
99
- this.setAllAccounts(userAccounts || [
100
- CoreHelperUtil.createAccount(namespace, user.address, preferredAccountType)
101
- ], namespace);
102
- await provider.getSmartAccountEnabledNetworks();
103
- this.setLoading(false);
104
- });
105
- provider.onSocialConnected(({ userName }) => {
106
- this.setUser({ ...(AccountController.state.user || {}), username: userName }, ChainController.state.activeChain);
107
- });
108
- provider.onGetSmartAccountEnabledNetworks(networks => {
109
- this.setSmartAccountEnabledNetworks(networks, ChainController.state.activeChain);
110
- });
111
- provider.onSetPreferredAccount(({ address, type }) => {
112
- if (!address) {
113
- return;
114
- }
115
- this.setPreferredAccountType(type, ChainController.state.activeChain);
116
- });
117
- }
118
- async syncAuthConnector(provider) {
119
- this.setLoading(true);
120
- const isLoginEmailUsed = provider.getLoginEmailUsed();
121
- this.setLoading(isLoginEmailUsed);
122
- if (isLoginEmailUsed) {
123
- this.setStatus('connecting', ChainController.state.activeChain);
124
- }
125
- const email = provider.getEmail();
126
- const username = provider.getUsername();
127
- this.setUser({ ...(AccountController.state?.user || {}), username, email }, ChainController.state.activeChain);
128
- this.setupAuthConnectorListeners(provider);
129
- const { isConnected } = await provider.isConnected();
130
- const theme = ThemeController.getSnapshot();
131
- const options = OptionsController.getSnapshot();
132
- provider.syncDappData({
133
- metadata: options.metadata,
134
- sdkVersion: options.sdkVersion,
135
- projectId: options.projectId,
136
- sdkType: options.sdkType
137
- });
138
- provider.syncTheme({
139
- themeMode: theme.themeMode,
140
- themeVariables: theme.themeVariables,
141
- w3mThemeVariables: getW3mThemeVariables(theme.themeVariables, theme.themeMode)
142
- });
143
- const namespace = StorageUtil.getActiveNamespace();
144
- if (namespace) {
145
- if (isConnected && this.connectionControllerClient?.connectExternal) {
146
- await this.connectionControllerClient?.connectExternal({
147
- id: ConstantsUtil.CONNECTOR_ID.AUTH,
148
- info: { name: ConstantsUtil.CONNECTOR_ID.AUTH },
149
- type: UtilConstantsUtil.CONNECTOR_TYPE_AUTH,
150
- provider,
151
- chainId: ChainController.state.activeCaipNetwork?.id,
152
- chain: namespace
153
- });
154
- this.setStatus('connected', namespace);
155
- }
156
- else if (StorageUtil.getConnectedConnectorId(namespace) === ConstantsUtil.CONNECTOR_ID.AUTH) {
157
- this.setStatus('disconnected', namespace);
158
- StorageUtil.removeConnectedNamespace(namespace);
159
- }
160
- }
161
- this.setLoading(false);
162
- }
163
- async checkExistingTelegramSocialConnection() {
164
- try {
165
- if (!CoreHelperUtil.isTelegram()) {
166
- return;
167
- }
168
- const socialProviderToConnect = StorageUtil.getTelegramSocialProvider();
169
- if (!socialProviderToConnect) {
170
- return;
171
- }
172
- if (typeof window === 'undefined' || typeof document === 'undefined') {
173
- return;
174
- }
175
- const url = new URL(window.location.href);
176
- const resultUri = url.searchParams.get('result_uri');
177
- if (!resultUri) {
178
- return;
179
- }
180
- AccountController.setSocialProvider(socialProviderToConnect, ChainController.state.activeChain);
181
- await this.authProvider?.init();
182
- const authConnector = ConnectorController.getAuthConnector();
183
- if (socialProviderToConnect && authConnector) {
184
- this.setLoading(true);
185
- await authConnector.provider.connectSocial(resultUri);
186
- await ConnectionController.connectExternal(authConnector, authConnector.chain);
187
- StorageUtil.setConnectedSocialProvider(socialProviderToConnect);
188
- StorageUtil.removeTelegramSocialProvider();
189
- EventsController.sendEvent({
190
- type: 'track',
191
- event: 'SOCIAL_LOGIN_SUCCESS',
192
- properties: { provider: socialProviderToConnect }
193
- });
194
- }
195
- }
196
- catch (error) {
197
- this.setLoading(false);
198
- // eslint-disable-next-line no-console
199
- console.error('checkExistingSTelegramocialConnection error', error);
200
- }
201
- try {
202
- const url = new URL(window.location.href);
203
- // Remove the 'result_uri' parameter
204
- url.searchParams.delete('result_uri');
205
- // Update the URL without reloading the page
206
- window.history.replaceState({}, document.title, url.toString());
207
- }
208
- catch (error) {
209
- // eslint-disable-next-line no-console
210
- console.error('tma social login failed', error);
211
- }
212
- }
213
- createAuthProvider() {
214
- const isEmailEnabled = this.options?.features?.email === undefined
215
- ? CoreConstantsUtil.DEFAULT_FEATURES.email
216
- : this.options?.features?.email;
217
- const isSocialsEnabled = this.options?.features?.socials
218
- ? this.options?.features?.socials?.length > 0
219
- : CoreConstantsUtil.DEFAULT_FEATURES.socials;
220
- const isAuthEnabled = isEmailEnabled || isSocialsEnabled;
221
- if (!this.authProvider && this.options?.projectId && isAuthEnabled) {
222
- this.authProvider = W3mFrameProviderSingleton.getInstance({
223
- projectId: this.options.projectId,
224
- enableLogger: this.options.enableAuthLogger,
225
- chainId: this.getCaipNetwork()?.caipNetworkId,
226
- onTimeout: () => {
227
- AlertController.open(ErrorUtil.ALERT_ERRORS.SOCIALS_TIMEOUT, 'error');
228
- }
229
- });
230
- this.subscribeState(val => {
231
- if (!val.open) {
232
- this.authProvider?.rejectRpcRequests();
233
- }
234
- });
235
- this.syncAuthConnector(this.authProvider);
236
- this.checkExistingTelegramSocialConnection();
237
- }
238
- }
239
- createAuthProviderForAdapter(chainNamespace) {
240
- // Override as we need to set authProvider for each adapter
241
- this.createAuthProvider();
242
- if (this.authProvider) {
243
- this.chainAdapters?.[chainNamespace]?.setAuthProvider?.(this.authProvider);
244
- }
245
- }
246
- // -- Overrides ----------------------------------------------------------------
247
- initControllers(options) {
248
- super.initControllers(options);
249
- if (this.options.excludeWalletIds) {
250
- ApiController.initializeExcludedWalletRdns({ ids: this.options.excludeWalletIds });
251
- }
252
- }
253
- async syncNamespaceConnection(namespace) {
254
- const isEmailUsed = this.authProvider?.getLoginEmailUsed();
255
- if (isEmailUsed) {
256
- return;
257
- }
258
- await super.syncNamespaceConnection(namespace);
259
- }
260
- async switchCaipNetwork(caipNetwork) {
261
- if (!caipNetwork) {
262
- return;
263
- }
264
- if (AccountController.state.address) {
265
- if (caipNetwork.chainNamespace === ChainController.state.activeChain) {
266
- const adapter = this.getAdapter(ChainController.state.activeChain);
267
- const provider = ProviderUtil.getProvider(ChainController.state.activeChain);
268
- const providerType = ProviderUtil.state.providerIds[ChainController.state.activeChain];
269
- await adapter?.switchNetwork({ caipNetwork, provider, providerType });
270
- this.setCaipNetwork(caipNetwork);
271
- await this.syncAccount({
272
- address: AccountController.state.address,
273
- chainId: caipNetwork.id,
274
- chainNamespace: caipNetwork.chainNamespace
275
- });
276
- }
277
- else {
278
- const providerType = ProviderUtil.state.providerIds[ChainController.state.activeChain];
279
- if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_AUTH) {
280
- try {
281
- ChainController.state.activeChain = caipNetwork.chainNamespace;
282
- await this.connectionControllerClient?.connectExternal?.({
283
- id: ConstantsUtil.CONNECTOR_ID.AUTH,
284
- provider: this.authProvider,
285
- chain: caipNetwork.chainNamespace,
286
- chainId: caipNetwork.id,
287
- type: UtilConstantsUtil.CONNECTOR_TYPE_AUTH,
288
- caipNetwork
289
- });
290
- this.setCaipNetwork(caipNetwork);
291
- }
292
- catch (error) {
293
- const adapter = this.getAdapter(caipNetwork.chainNamespace);
294
- await adapter?.switchNetwork({
295
- caipNetwork,
296
- provider: this.authProvider,
297
- providerType
298
- });
299
- }
300
- }
301
- else if (providerType === 'WALLET_CONNECT') {
302
- this.setCaipNetwork(caipNetwork);
303
- this.syncWalletConnectAccount();
304
- }
305
- else {
306
- const address = this.getAddressByChainNamespace(caipNetwork.chainNamespace);
307
- this.setCaipNetwork(caipNetwork);
308
- if (address) {
309
- this.syncAccount({
310
- address,
311
- chainId: caipNetwork.id,
312
- chainNamespace: caipNetwork.chainNamespace
313
- });
314
- }
315
- }
316
- }
317
- }
318
- else {
319
- this.setCaipNetwork(caipNetwork);
320
- }
321
- }
322
- async initChainAdapter(namespace) {
323
- await super.initChainAdapter(namespace);
324
- this.createAuthProviderForAdapter(namespace);
325
- }
326
- async injectModalUi() {
327
- if (!isInitialized && CoreHelperUtil.isClient()) {
328
- const features = { ...CoreConstantsUtil.DEFAULT_FEATURES, ...this.options.features };
329
- // Selectively import views based on feature flags
330
- const featureImportPromises = [];
331
- if (features) {
332
- const usingEmbeddedWallet = features.email || (features.socials && features.socials.length);
333
- if (usingEmbeddedWallet) {
334
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/embedded-wallet'));
335
- }
336
- if (features.email) {
337
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/email'));
338
- }
339
- if (features.socials) {
340
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/socials'));
341
- }
342
- if (features.swaps) {
343
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/swaps'));
344
- }
345
- if (features.send) {
346
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/send'));
347
- }
348
- if (features.receive) {
349
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/receive'));
350
- }
351
- if (features.onramp) {
352
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/onramp'));
353
- }
354
- if (features.history) {
355
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/transactions'));
356
- }
357
- }
358
- await Promise.all([
359
- ...featureImportPromises,
360
- import('@reown/appkit-scaffold-ui'),
361
- import('@reown/appkit-scaffold-ui/w3m-modal')
362
- ]);
363
- const modal = document.createElement('w3m-modal');
364
- if (!OptionsController.state.disableAppend && !OptionsController.state.enableEmbedded) {
365
- document.body.insertAdjacentElement('beforeend', modal);
366
- }
367
- isInitialized = true;
368
- }
369
- }
370
- }
371
- //# sourceMappingURL=appkit.js.map