@reown/appkit 1.6.7-basic-test.8.0 → 1.6.7

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 (101) 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/exports/index.js +3 -1
  4. package/dist/esm/exports/index.js.map +1 -1
  5. package/dist/esm/exports/react.js +3 -1
  6. package/dist/esm/exports/react.js.map +1 -1
  7. package/dist/esm/exports/vue.js +3 -1
  8. package/dist/esm/exports/vue.js.map +1 -1
  9. package/dist/esm/package.json +2 -7
  10. package/dist/esm/src/adapters/ChainAdapterBlueprint.js +1 -0
  11. package/dist/esm/src/adapters/ChainAdapterBlueprint.js.map +1 -1
  12. package/dist/esm/src/client.js +8 -1
  13. package/dist/esm/src/client.js.map +1 -1
  14. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  15. package/dist/types/exports/constants.d.ts +1 -1
  16. package/dist/types/exports/index.d.ts +3 -2
  17. package/dist/types/exports/react.d.ts +3 -2
  18. package/dist/types/exports/vue.d.ts +3 -2
  19. package/dist/types/src/adapters/ChainAdapterBlueprint.d.ts +3 -3
  20. package/dist/types/src/library/react/index.d.ts +1 -1
  21. package/dist/types/src/library/vue/index.d.ts +1 -1
  22. package/dist/types/src/utils/TypesUtil.d.ts +0 -5
  23. package/package.json +10 -15
  24. package/dist/esm/exports/basic.js +0 -12
  25. package/dist/esm/exports/basic.js.map +0 -1
  26. package/dist/esm/src/client/appkit-basic.js +0 -29
  27. package/dist/esm/src/client/appkit-basic.js.map +0 -1
  28. package/dist/esm/src/client/appkit.js +0 -320
  29. package/dist/esm/src/client/appkit.js.map +0 -1
  30. package/dist/esm/src/client/core.js +0 -1334
  31. package/dist/esm/src/client/core.js.map +0 -1
  32. package/dist/esm/tests/appkit.test.js +0 -1482
  33. package/dist/esm/tests/appkit.test.js.map +0 -1
  34. package/dist/esm/tests/client/adapter-management.test.js +0 -83
  35. package/dist/esm/tests/client/adapter-management.test.js.map +0 -1
  36. package/dist/esm/tests/client/appkit-basic.test.js +0 -44
  37. package/dist/esm/tests/client/appkit-basic.test.js.map +0 -1
  38. package/dist/esm/tests/client/balance.test.js +0 -67
  39. package/dist/esm/tests/client/balance.test.js.map +0 -1
  40. package/dist/esm/tests/client/connection.test.js +0 -52
  41. package/dist/esm/tests/client/connection.test.js.map +0 -1
  42. package/dist/esm/tests/client/initialization.test.js +0 -114
  43. package/dist/esm/tests/client/initialization.test.js.map +0 -1
  44. package/dist/esm/tests/client/listeners.test.js +0 -35
  45. package/dist/esm/tests/client/listeners.test.js.map +0 -1
  46. package/dist/esm/tests/client/public-methods.test.js +0 -700
  47. package/dist/esm/tests/client/public-methods.test.js.map +0 -1
  48. package/dist/esm/tests/client/universal-adapter.test.js +0 -44
  49. package/dist/esm/tests/client/universal-adapter.test.js.map +0 -1
  50. package/dist/esm/tests/client/walletconnect-events.test.js +0 -80
  51. package/dist/esm/tests/client/walletconnect-events.test.js.map +0 -1
  52. package/dist/esm/tests/connectors/WalletConnectConnector.test.js +0 -63
  53. package/dist/esm/tests/connectors/WalletConnectConnector.test.js.map +0 -1
  54. package/dist/esm/tests/mocks/Account.js +0 -13
  55. package/dist/esm/tests/mocks/Account.js.map +0 -1
  56. package/dist/esm/tests/mocks/Adapter.js +0 -95
  57. package/dist/esm/tests/mocks/Adapter.js.map +0 -1
  58. package/dist/esm/tests/mocks/AppKit.js +0 -24
  59. package/dist/esm/tests/mocks/AppKit.js.map +0 -1
  60. package/dist/esm/tests/mocks/Networks.js +0 -5
  61. package/dist/esm/tests/mocks/Networks.js.map +0 -1
  62. package/dist/esm/tests/mocks/Options.js +0 -17
  63. package/dist/esm/tests/mocks/Options.js.map +0 -1
  64. package/dist/esm/tests/mocks/Providers.js +0 -46
  65. package/dist/esm/tests/mocks/Providers.js.map +0 -1
  66. package/dist/esm/tests/mocks/UniversalProvider.js +0 -139
  67. package/dist/esm/tests/mocks/UniversalProvider.js.map +0 -1
  68. package/dist/esm/tests/siwe.test.js +0 -270
  69. package/dist/esm/tests/siwe.test.js.map +0 -1
  70. package/dist/esm/tests/test-utils.js +0 -32
  71. package/dist/esm/tests/test-utils.js.map +0 -1
  72. package/dist/esm/tests/universal-adapter.test.js +0 -246
  73. package/dist/esm/tests/universal-adapter.test.js.map +0 -1
  74. package/dist/esm/tests/utils/HelpersUtil.test.js +0 -218
  75. package/dist/esm/tests/utils/HelpersUtil.test.js.map +0 -1
  76. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  77. package/dist/types/exports/basic.d.ts +0 -8
  78. package/dist/types/src/client/appkit-basic.d.ts +0 -23
  79. package/dist/types/src/client/appkit.d.ts +0 -22
  80. package/dist/types/src/client/core.d.ts +0 -208
  81. package/dist/types/tests/appkit.test.d.ts +0 -1
  82. package/dist/types/tests/client/adapter-management.test.d.ts +0 -1
  83. package/dist/types/tests/client/appkit-basic.test.d.ts +0 -1
  84. package/dist/types/tests/client/balance.test.d.ts +0 -1
  85. package/dist/types/tests/client/connection.test.d.ts +0 -1
  86. package/dist/types/tests/client/initialization.test.d.ts +0 -1
  87. package/dist/types/tests/client/listeners.test.d.ts +0 -1
  88. package/dist/types/tests/client/public-methods.test.d.ts +0 -1
  89. package/dist/types/tests/client/universal-adapter.test.d.ts +0 -1
  90. package/dist/types/tests/client/walletconnect-events.test.d.ts +0 -1
  91. package/dist/types/tests/connectors/WalletConnectConnector.test.d.ts +0 -1
  92. package/dist/types/tests/mocks/Account.d.ts +0 -12
  93. package/dist/types/tests/mocks/Adapter.d.ts +0 -5
  94. package/dist/types/tests/mocks/AppKit.d.ts +0 -3
  95. package/dist/types/tests/mocks/Networks.d.ts +0 -3
  96. package/dist/types/tests/mocks/Options.d.ts +0 -6
  97. package/dist/types/tests/mocks/UniversalProvider.d.ts +0 -3
  98. package/dist/types/tests/siwe.test.d.ts +0 -1
  99. package/dist/types/tests/test-utils.d.ts +0 -5
  100. package/dist/types/tests/universal-adapter.test.d.ts +0 -1
  101. package/dist/types/tests/utils/HelpersUtil.test.d.ts +0 -1
@@ -1 +1 @@
1
- export declare const PACKAGE_VERSION = "1.6.7-basic-test.8.0";
1
+ export declare const PACKAGE_VERSION = "1.6.7";
@@ -1,10 +1,11 @@
1
- import { AppKit } from '../src/client/appkit.js';
1
+ import { AppKit } from '../src/client.js';
2
2
  import type { AppKitOptions } from '../src/utils/TypesUtil.js';
3
+ export * from '@reown/appkit-scaffold-ui';
3
4
  export * from '../src/utils/index.js';
4
5
  export type * from '@reown/appkit-core';
5
6
  export type { CaipNetwork, CaipAddress, CaipNetworkId } from '@reown/appkit-common';
6
7
  export { CoreHelperUtil, AccountController } from '@reown/appkit-core';
7
- export type CreateAppKit = Omit<AppKitOptions, 'sdkType' | 'sdkVersion' | 'basic'>;
8
+ export type CreateAppKit = Omit<AppKitOptions, 'sdkType' | 'sdkVersion'>;
8
9
  export declare function createAppKit(options: CreateAppKit): AppKit;
9
10
  export { AppKit };
10
11
  export type { AppKitOptions };
@@ -1,13 +1,14 @@
1
1
  import { type UseAppKitNetworkReturn } from '@reown/appkit-core';
2
- import { AppKit } from '../src/client/appkit.js';
2
+ import { AppKit } from '../src/client.js';
3
3
  import type { AppKitOptions } from '../src/utils/TypesUtil.js';
4
+ export * from '@reown/appkit-scaffold-ui';
4
5
  export * from '../src/library/react/index.js';
5
6
  export * from '../src/utils/index.js';
6
7
  export type * from '@reown/appkit-core';
7
8
  export type { CaipNetwork, CaipAddress, CaipNetworkId } from '@reown/appkit-common';
8
9
  export { CoreHelperUtil, AccountController } from '@reown/appkit-core';
9
10
  export declare let modal: AppKit | undefined;
10
- export type CreateAppKit = Omit<AppKitOptions, 'sdkType' | 'sdkVersion' | 'basic'>;
11
+ export type CreateAppKit = Omit<AppKitOptions, 'sdkType' | 'sdkVersion'>;
11
12
  export declare function createAppKit(options: CreateAppKit): AppKit;
12
13
  export { AppKit };
13
14
  export type { AppKitOptions };
@@ -1,13 +1,14 @@
1
1
  import { type Ref } from 'vue';
2
2
  import { type UseAppKitNetworkReturn } from '@reown/appkit-core';
3
- import { AppKit } from '../src/client/appkit.js';
3
+ import { AppKit } from '../src/client.js';
4
4
  import type { AppKitOptions } from '../src/utils/TypesUtil.js';
5
+ export * from '@reown/appkit-scaffold-ui';
5
6
  export * from '../src/library/vue/index.js';
6
7
  export * from '../src/utils/index.js';
7
8
  export type * from '@reown/appkit-core';
8
9
  export type { CaipNetwork, CaipAddress, CaipNetworkId } from '@reown/appkit-common';
9
10
  export { CoreHelperUtil, AccountController } from '@reown/appkit-core';
10
- export type CreateAppKit = Omit<AppKitOptions, 'sdkType' | 'sdkVersion' | 'basic'>;
11
+ export type CreateAppKit = Omit<AppKitOptions, 'sdkType' | 'sdkVersion'>;
11
12
  export declare function createAppKit(options: CreateAppKit): AppKit;
12
13
  export { AppKit };
13
14
  export type { AppKitOptions };
@@ -1,8 +1,8 @@
1
1
  import UniversalProvider from '@walletconnect/universal-provider';
2
2
  import { type CaipAddress, type CaipNetwork, type ChainNamespace } from '@reown/appkit-common';
3
3
  import { type AccountControllerState, type AccountType, type Connector as AppKitConnector, type Tokens, type WriteContractArgs } from '@reown/appkit-core';
4
- import type { W3mFrameProvider } from '@reown/appkit-wallet';
5
- import type { AppKitCore } from '../client/core.js';
4
+ import { W3mFrameProvider } from '@reown/appkit-wallet';
5
+ import type { AppKit } from '../client.js';
6
6
  import { WalletConnectConnector } from '../connectors/WalletConnectConnector.js';
7
7
  import type { AppKitOptions } from '../utils/index.js';
8
8
  import type { ChainAdapterConnector } from './ChainAdapterConnector.js';
@@ -138,7 +138,7 @@ export declare abstract class AdapterBlueprint<Connector extends ChainAdapterCon
138
138
  * @param {AppKitOptions} [options] - Optional AppKit options
139
139
  * @param {AppKit} [appKit] - Optional AppKit instance
140
140
  */
141
- abstract syncConnectors(options?: AppKitOptions, appKit?: AppKitCore): void | Promise<void>;
141
+ abstract syncConnectors(options?: AppKitOptions, appKit?: AppKit): void | Promise<void>;
142
142
  /**
143
143
  * Synchronizes the connection with the given parameters.
144
144
  * @param {AdapterBlueprint.SyncConnectionParams} params - Synchronization parameters
@@ -1,6 +1,6 @@
1
1
  import type { ChainNamespace } from '@reown/appkit-common';
2
2
  import type { AppKitAccountButton, AppKitButton, AppKitConnectButton, AppKitNetworkButton, W3mAccountButton, W3mButton, W3mConnectButton, W3mNetworkButton } from '@reown/appkit-scaffold-ui';
3
- import type { AppKit } from '../../../src/client/appkit.js';
3
+ import type { AppKit } from '../../../src/client.js';
4
4
  import type { AppKitOptions } from '../../utils/TypesUtil.js';
5
5
  type OpenOptions = {
6
6
  view: 'Account' | 'Connect' | 'Networks' | 'ApproveTransaction' | 'OnRampProviders' | 'Swap' | 'WhatIsAWallet' | 'WhatIsANetwork' | 'AllWallets' | 'WalletSend';
@@ -1,7 +1,7 @@
1
1
  import type { ChainNamespace } from '@reown/appkit-common';
2
2
  import { type Event } from '@reown/appkit-core';
3
3
  import type { AppKitAccountButton, AppKitButton, AppKitConnectButton, AppKitNetworkButton, W3mAccountButton, W3mButton, W3mConnectButton, W3mNetworkButton } from '@reown/appkit-scaffold-ui';
4
- import type { AppKit } from '../../../src/client/appkit.js';
4
+ import type { AppKit } from '../../../src/client.js';
5
5
  import type { AppKitOptions } from '../../utils/TypesUtil.js';
6
6
  export interface AppKitEvent {
7
7
  timestamp: number;
@@ -8,11 +8,6 @@ export type AppKitOptions = {
8
8
  * @default []
9
9
  */
10
10
  adapters?: ChainAdapter[];
11
- /**
12
- * This is only used for the @walletconnect/ethereum-provider package. We need this to determine which screens should be shown.
13
- * @default false
14
- */
15
- basic?: boolean;
16
11
  /**
17
12
  * Show or hide the wallets in the modal. This is available with the email and socials features
18
13
  * @default true
package/package.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit",
3
- "version": "1.6.7-basic-test.8.0",
4
- "sideEffects": false,
3
+ "version": "1.6.7",
5
4
  "type": "module",
6
5
  "main": "./dist/esm/exports/index.js",
7
6
  "types": "./dist/types/exports/index.d.ts",
@@ -64,11 +63,6 @@
64
63
  "types": "./dist/types/exports/connectors.d.ts",
65
64
  "import": "./dist/esm/exports/connectors.js",
66
65
  "default": "./dist/esm/exports/connectors.js"
67
- },
68
- "./basic": {
69
- "types": "./dist/types/exports/basic.d.ts",
70
- "import": "./dist/esm/exports/basic.js",
71
- "default": "./dist/esm/exports/basic.js"
72
66
  }
73
67
  },
74
68
  "typesVersions": {
@@ -102,16 +96,17 @@
102
96
  "dependencies": {
103
97
  "@walletconnect/types": "2.18.0",
104
98
  "@walletconnect/universal-provider": "2.18.0",
99
+ "@walletconnect/utils": "2.18.0",
105
100
  "bs58": "6.0.0",
106
101
  "valtio": "1.13.2",
107
102
  "viem": "2.x",
108
- "@reown/appkit-common": "1.6.7-basic-test.8.0",
109
- "@reown/appkit-polyfills": "1.6.7-basic-test.8.0",
110
- "@reown/appkit-core": "1.6.7-basic-test.8.0",
111
- "@reown/appkit-scaffold-ui": "1.6.7-basic-test.8.0",
112
- "@reown/appkit-utils": "1.6.7-basic-test.8.0",
113
- "@reown/appkit-wallet": "1.6.7-basic-test.8.0",
114
- "@reown/appkit-ui": "1.6.7-basic-test.8.0"
103
+ "@reown/appkit-common": "1.6.7",
104
+ "@reown/appkit-core": "1.6.7",
105
+ "@reown/appkit-polyfills": "1.6.7",
106
+ "@reown/appkit-scaffold-ui": "1.6.7",
107
+ "@reown/appkit-ui": "1.6.7",
108
+ "@reown/appkit-utils": "1.6.7",
109
+ "@reown/appkit-wallet": "1.6.7"
115
110
  },
116
111
  "devDependencies": {
117
112
  "@types/react": "18.3.1",
@@ -124,7 +119,7 @@
124
119
  "react-dom": "18.3.1",
125
120
  "vitest": "2.1.3",
126
121
  "vue": "3.x",
127
- "@reown/appkit-siwe": "1.6.7-basic-test.8.0"
122
+ "@reown/appkit-siwe": "1.6.7"
128
123
  },
129
124
  "author": "Reown <support@reown.com> (https://reown.com)",
130
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,29 +0,0 @@
1
- import {} from '@reown/appkit-common';
2
- import { AccountController, 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 injectModalUi() {
18
- if (!isInitialized && CoreHelperUtil.isClient()) {
19
- await import('@reown/appkit-scaffold-ui/basic');
20
- await import('@reown/appkit-scaffold-ui/w3m-modal');
21
- const modal = document.createElement('w3m-modal');
22
- if (!OptionsController.state.disableAppend && !OptionsController.state.enableEmbedded) {
23
- document.body.insertAdjacentElement('beforeend', modal);
24
- }
25
- isInitialized = true;
26
- }
27
- }
28
- }
29
- //# 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,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAGzF,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;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,320 +0,0 @@
1
- /* eslint-disable max-depth */
2
- import { ConstantsUtil, getW3mThemeVariables } from '@reown/appkit-common';
3
- import { ApiController, ConstantsUtil as CoreConstantsUtil } 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 });
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 });
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 });
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
- createAuthProvider() {
164
- const isEmailEnabled = this.options?.features?.email === undefined
165
- ? CoreConstantsUtil.DEFAULT_FEATURES.email
166
- : this.options?.features?.email;
167
- const isSocialsEnabled = this.options?.features?.socials
168
- ? this.options?.features?.socials?.length > 0
169
- : CoreConstantsUtil.DEFAULT_FEATURES.socials;
170
- const isAuthEnabled = isEmailEnabled || isSocialsEnabled;
171
- if (!this.authProvider && this.options?.projectId && isAuthEnabled) {
172
- this.authProvider = W3mFrameProviderSingleton.getInstance({
173
- projectId: this.options.projectId,
174
- enableLogger: this.options.enableAuthLogger,
175
- chainId: this.getCaipNetwork()?.caipNetworkId,
176
- onTimeout: () => {
177
- AlertController.open(ErrorUtil.ALERT_ERRORS.SOCIALS_TIMEOUT, 'error');
178
- }
179
- });
180
- this.subscribeState(val => {
181
- if (!val.open) {
182
- this.authProvider?.rejectRpcRequests();
183
- }
184
- });
185
- this.syncAuthConnector(this.authProvider);
186
- }
187
- }
188
- createAuthProviderForAdapter(chainNamespace) {
189
- // Override as we need to set authProvider for each adapter
190
- this.createAuthProvider();
191
- if (this.authProvider) {
192
- this.chainAdapters?.[chainNamespace]?.setAuthProvider?.(this.authProvider);
193
- }
194
- }
195
- // -- Overrides ----------------------------------------------------------------
196
- initControllers(options) {
197
- super.initControllers(options);
198
- if (this.options.excludeWalletIds) {
199
- ApiController.initializeExcludedWalletRdns({ ids: this.options.excludeWalletIds });
200
- }
201
- }
202
- async syncNamespaceConnection(namespace) {
203
- const isEmailUsed = this.authProvider?.getLoginEmailUsed();
204
- if (isEmailUsed) {
205
- return;
206
- }
207
- await super.syncNamespaceConnection(namespace);
208
- }
209
- async switchCaipNetwork(caipNetwork) {
210
- if (!caipNetwork) {
211
- return;
212
- }
213
- if (AccountController.state.address) {
214
- if (caipNetwork.chainNamespace === ChainController.state.activeChain) {
215
- const adapter = this.getAdapter(ChainController.state.activeChain);
216
- const provider = ProviderUtil.getProvider(ChainController.state.activeChain);
217
- const providerType = ProviderUtil.state.providerIds[ChainController.state.activeChain];
218
- await adapter?.switchNetwork({ caipNetwork, provider, providerType });
219
- this.setCaipNetwork(caipNetwork);
220
- await this.syncAccount({
221
- address: AccountController.state.address,
222
- chainId: caipNetwork.id,
223
- chainNamespace: caipNetwork.chainNamespace
224
- });
225
- }
226
- else {
227
- const providerType = ProviderUtil.state.providerIds[ChainController.state.activeChain];
228
- if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_AUTH) {
229
- try {
230
- ChainController.state.activeChain = caipNetwork.chainNamespace;
231
- await this.connectionControllerClient?.connectExternal?.({
232
- id: ConstantsUtil.CONNECTOR_ID.AUTH,
233
- provider: this.authProvider,
234
- chain: caipNetwork.chainNamespace,
235
- chainId: caipNetwork.id,
236
- type: UtilConstantsUtil.CONNECTOR_TYPE_AUTH,
237
- caipNetwork
238
- });
239
- this.setCaipNetwork(caipNetwork);
240
- }
241
- catch (error) {
242
- const adapter = this.getAdapter(caipNetwork.chainNamespace);
243
- await adapter?.switchNetwork({
244
- caipNetwork,
245
- provider: this.authProvider,
246
- providerType
247
- });
248
- }
249
- }
250
- else if (providerType === 'WALLET_CONNECT') {
251
- this.setCaipNetwork(caipNetwork);
252
- this.syncWalletConnectAccount();
253
- }
254
- else {
255
- const address = this.getAddressByChainNamespace(caipNetwork.chainNamespace);
256
- this.setCaipNetwork(caipNetwork);
257
- if (address) {
258
- this.syncAccount({
259
- address,
260
- chainId: caipNetwork.id,
261
- chainNamespace: caipNetwork.chainNamespace
262
- });
263
- }
264
- }
265
- }
266
- }
267
- else {
268
- this.setCaipNetwork(caipNetwork);
269
- }
270
- }
271
- async initChainAdapter(namespace) {
272
- await super.initChainAdapter(namespace);
273
- this.createAuthProviderForAdapter(namespace);
274
- }
275
- async injectModalUi() {
276
- if (!isInitialized && CoreHelperUtil.isClient()) {
277
- const features = { ...CoreConstantsUtil.DEFAULT_FEATURES, ...this.options.features };
278
- // Selectively import views based on feature flags
279
- const featureImportPromises = [];
280
- if (features) {
281
- const usingEmbeddedWallet = features.email || (features.socials && features.socials.length);
282
- if (usingEmbeddedWallet) {
283
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/embedded-wallet'));
284
- }
285
- if (features.email) {
286
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/email'));
287
- }
288
- if (features.socials) {
289
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/socials'));
290
- }
291
- if (features.swaps) {
292
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/swaps'));
293
- }
294
- if (features.send) {
295
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/send'));
296
- }
297
- if (features.receive) {
298
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/receive'));
299
- }
300
- if (features.onramp) {
301
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/onramp'));
302
- }
303
- if (features.history) {
304
- featureImportPromises.push(import('@reown/appkit-scaffold-ui/transactions'));
305
- }
306
- }
307
- await Promise.all([
308
- ...featureImportPromises,
309
- import('@reown/appkit-scaffold-ui'),
310
- import('@reown/appkit-scaffold-ui/w3m-modal')
311
- ]);
312
- const modal = document.createElement('w3m-modal');
313
- if (!OptionsController.state.disableAppend && !OptionsController.state.enableEmbedded) {
314
- document.body.insertAdjacentElement('beforeend', modal);
315
- }
316
- isInitialized = true;
317
- }
318
- }
319
- }
320
- //# sourceMappingURL=appkit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appkit.js","sourceRoot":"","sources":["../../../../src/client/appkit.ts"],"names":[],"mappings":"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"}