@reown/appkit-controllers 1.8.14 → 1.8.15-1af3ed85cb2d75940977e3a13b5c5cf55e36ca11.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 (85) hide show
  1. package/dist/esm/exports/index.js +2 -0
  2. package/dist/esm/exports/index.js.map +1 -1
  3. package/dist/esm/exports/react.js +140 -21
  4. package/dist/esm/exports/react.js.map +1 -1
  5. package/dist/esm/src/controllers/AdapterController/ChainAdapterBlueprint.js.map +1 -1
  6. package/dist/esm/src/controllers/AlertController.js +18 -2
  7. package/dist/esm/src/controllers/AlertController.js.map +1 -1
  8. package/dist/esm/src/controllers/BlockchainApiController.js +2 -2
  9. package/dist/esm/src/controllers/BlockchainApiController.js.map +1 -1
  10. package/dist/esm/src/controllers/ConnectionController.js +12 -0
  11. package/dist/esm/src/controllers/ConnectionController.js.map +1 -1
  12. package/dist/esm/src/controllers/ConnectorController.js +54 -7
  13. package/dist/esm/src/controllers/ConnectorController.js.map +1 -1
  14. package/dist/esm/src/controllers/PublicStateController.js +2 -1
  15. package/dist/esm/src/controllers/PublicStateController.js.map +1 -1
  16. package/dist/esm/src/controllers/RouterController.js.map +1 -1
  17. package/dist/esm/src/controllers/SwapController.js +5 -1
  18. package/dist/esm/src/controllers/SwapController.js.map +1 -1
  19. package/dist/esm/src/controllers/TransactionsController.js +1 -1
  20. package/dist/esm/src/controllers/TransactionsController.js.map +1 -1
  21. package/dist/esm/src/utils/ApiControllerUtil.js +34 -0
  22. package/dist/esm/src/utils/ApiControllerUtil.js.map +1 -0
  23. package/dist/esm/src/utils/AssetUtil.js +79 -1
  24. package/dist/esm/src/utils/AssetUtil.js.map +1 -1
  25. package/dist/esm/src/utils/BalanceUtil.js +10 -7
  26. package/dist/esm/src/utils/BalanceUtil.js.map +1 -1
  27. package/dist/esm/src/utils/ChainControllerUtil.js +8 -0
  28. package/dist/esm/src/utils/ChainControllerUtil.js.map +1 -1
  29. package/dist/esm/src/utils/ConnectUtil.js +92 -0
  30. package/dist/esm/src/utils/ConnectUtil.js.map +1 -0
  31. package/dist/esm/src/utils/ConnectionControllerUtil.js +36 -0
  32. package/dist/esm/src/utils/ConnectionControllerUtil.js.map +1 -1
  33. package/dist/esm/src/utils/ConnectorUtil.js +314 -0
  34. package/dist/esm/src/utils/ConnectorUtil.js.map +1 -0
  35. package/dist/esm/src/utils/ConstantsUtil.js +21 -6
  36. package/dist/esm/src/utils/ConstantsUtil.js.map +1 -1
  37. package/dist/esm/src/utils/CoreHelperUtil.js +13 -0
  38. package/dist/esm/src/utils/CoreHelperUtil.js.map +1 -1
  39. package/dist/esm/src/utils/SwapApiUtil.js +5 -1
  40. package/dist/esm/src/utils/SwapApiUtil.js.map +1 -1
  41. package/dist/esm/src/utils/WalletUtil.js +161 -0
  42. package/dist/esm/src/utils/WalletUtil.js.map +1 -0
  43. package/dist/esm/tests/controllers/AlertController.test.js +62 -9
  44. package/dist/esm/tests/controllers/AlertController.test.js.map +1 -1
  45. package/dist/esm/tests/controllers/ChainController.test.js +1 -0
  46. package/dist/esm/tests/controllers/ChainController.test.js.map +1 -1
  47. package/dist/esm/tests/controllers/ConnectionController.test.js +7 -2
  48. package/dist/esm/tests/controllers/ConnectionController.test.js.map +1 -1
  49. package/dist/esm/tests/controllers/ConnectorController.test.js +8 -8
  50. package/dist/esm/tests/controllers/ConnectorController.test.js.map +1 -1
  51. package/dist/esm/tests/hooks/react.test.js +505 -3
  52. package/dist/esm/tests/hooks/react.test.js.map +1 -1
  53. package/dist/esm/tests/hooks/vue.test.js +8 -0
  54. package/dist/esm/tests/hooks/vue.test.js.map +1 -1
  55. package/dist/esm/tests/utils/BalanceUtil.test.js +0 -5
  56. package/dist/esm/tests/utils/BalanceUtil.test.js.map +1 -1
  57. package/dist/esm/tests/utils/ConnectorUtil.test.js +83 -0
  58. package/dist/esm/tests/utils/ConnectorUtil.test.js.map +1 -0
  59. package/dist/esm/tests/utils/ControllerUtil.test.js +500 -0
  60. package/dist/esm/tests/utils/ControllerUtil.test.js.map +1 -0
  61. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  62. package/dist/types/exports/index.d.ts +4 -1
  63. package/dist/types/exports/react.d.ts +69 -0
  64. package/dist/types/src/controllers/AdapterController/ChainAdapterBlueprint.d.ts +15 -1
  65. package/dist/types/src/controllers/BlockchainApiController.d.ts +1 -1
  66. package/dist/types/src/controllers/ConnectionController.d.ts +4 -1
  67. package/dist/types/src/controllers/ConnectorController.d.ts +18 -11
  68. package/dist/types/src/controllers/OptionsController.d.ts +3 -1
  69. package/dist/types/src/controllers/PublicStateController.d.ts +6 -0
  70. package/dist/types/src/controllers/RouterController.d.ts +1 -1
  71. package/dist/types/src/utils/ApiControllerUtil.d.ts +8 -0
  72. package/dist/types/src/utils/AssetUtil.d.ts +32 -0
  73. package/dist/types/src/utils/BalanceUtil.d.ts +6 -1
  74. package/dist/types/src/utils/ChainControllerUtil.d.ts +7 -1
  75. package/dist/types/src/utils/ConnectUtil.d.ts +54 -0
  76. package/dist/types/src/utils/ConnectionControllerUtil.d.ts +2 -0
  77. package/dist/types/src/utils/ConnectorUtil.d.ts +74 -0
  78. package/dist/types/src/utils/ConstantsUtil.d.ts +7 -1
  79. package/dist/types/src/utils/CoreHelperUtil.d.ts +1 -0
  80. package/dist/types/src/utils/TypeUtil.d.ts +43 -2
  81. package/dist/types/src/utils/ViemUtil.d.ts +53 -53
  82. package/dist/types/src/utils/WalletUtil.d.ts +81 -0
  83. package/dist/types/tests/utils/ConnectorUtil.test.d.ts +1 -0
  84. package/dist/types/tests/utils/ControllerUtil.test.d.ts +1 -0
  85. package/package.json +7 -7
@@ -71,6 +71,9 @@ export type Connector = {
71
71
  connectors?: Connector[];
72
72
  explorerWallet?: WcWallet;
73
73
  };
74
+ export interface ConnectorWithProviders extends Connector {
75
+ connectors?: Connector[];
76
+ }
74
77
  export interface AuthConnector extends Connector {
75
78
  provider: W3mFrameProvider;
76
79
  socials?: SocialProvider[];
@@ -95,6 +98,7 @@ export interface WcWallet {
95
98
  id: string;
96
99
  name: string;
97
100
  badge_type?: BadgeType;
101
+ description?: string;
98
102
  chains?: CaipNetworkId[];
99
103
  homepage?: string;
100
104
  image_id?: string;
@@ -223,6 +227,7 @@ export interface BlockchainApiSwapQuoteResponse {
223
227
  }[];
224
228
  }
225
229
  export interface BlockchainApiTokenPriceRequest {
230
+ caipNetworkId?: CaipNetworkId;
226
231
  currency?: 'usd' | 'eur' | 'gbp' | 'aud' | 'cad' | 'inr' | 'jpy' | 'btc' | 'eth';
227
232
  addresses: string[];
228
233
  }
@@ -998,6 +1003,17 @@ export type EstimateGasTransactionArgs = {
998
1003
  } | {
999
1004
  chainNamespace: 'solana';
1000
1005
  };
1006
+ export type SolanaTransactionRequest = {
1007
+ instructions: Array<{
1008
+ keys: Array<{
1009
+ pubkey: string;
1010
+ isSigner: boolean;
1011
+ isWritable: boolean;
1012
+ }>;
1013
+ programId: string;
1014
+ data: string;
1015
+ }>;
1016
+ };
1001
1017
  export interface WriteContractArgs {
1002
1018
  tokenAddress: Address;
1003
1019
  fromAddress: Address;
@@ -1006,6 +1022,7 @@ export interface WriteContractArgs {
1006
1022
  args: unknown[];
1007
1023
  chainNamespace: ChainNamespace;
1008
1024
  }
1025
+ export type WriteSolanaTransactionArgs = SolanaTransactionRequest;
1009
1026
  export type AdapterNetworkState = {
1010
1027
  supportsAllNetworks: boolean;
1011
1028
  isUnsupportedChain?: boolean;
@@ -1067,6 +1084,7 @@ export type RemoteFeatures = {
1067
1084
  payWithExchange?: boolean;
1068
1085
  payments?: boolean;
1069
1086
  onramp?: OnRampProvider[] | false;
1087
+ headless?: boolean;
1070
1088
  };
1071
1089
  export type Features = {
1072
1090
  /**
@@ -1165,6 +1183,12 @@ export type Features = {
1165
1183
  * @type {boolean}
1166
1184
  */
1167
1185
  reownAuthentication?: boolean;
1186
+ /**
1187
+ * @description Enable or disable the AppKit Headless mode to build custom connect user interfaces.
1188
+ * @default false
1189
+ * @type {boolean}
1190
+ */
1191
+ headless?: boolean;
1168
1192
  };
1169
1193
  export type FeaturesKeys = Exclude<keyof Features, 'swaps' | 'onramp' | 'email' | 'socials' | 'history'>;
1170
1194
  export type WalletGuideType = 'get-started' | 'explore';
@@ -1196,13 +1220,13 @@ export type ConnectionStatus = 'connected' | 'disconnected' | 'connecting' | 're
1196
1220
  export type PreferredAccountTypes = {
1197
1221
  [Key in keyof NamespaceTypeMap]?: NamespaceTypeMap[Key];
1198
1222
  };
1199
- export type FeatureID = 'multi_wallet' | 'activity' | 'onramp' | 'swap' | 'social_login' | 'reown_branding' | 'email_capture' | 'fund_from_exchange' | 'payments' | 'reown_authentication';
1223
+ export type FeatureID = 'multi_wallet' | 'activity' | 'onramp' | 'swap' | 'social_login' | 'reown_branding' | 'email_capture' | 'fund_from_exchange' | 'payments' | 'reown_authentication' | 'headless';
1200
1224
  export interface BaseFeature<T extends FeatureID, C extends string[] | null> {
1201
1225
  id: T;
1202
1226
  isEnabled: boolean;
1203
1227
  config: C;
1204
1228
  }
1205
- export type TypedFeatureConfig = BaseFeature<'activity', null | []> | BaseFeature<'onramp', OnRampProvider[]> | BaseFeature<'swap', SwapProvider[]> | BaseFeature<'social_login', (SocialProvider | 'email')[]> | BaseFeature<'reown_branding', null | []> | BaseFeature<'multi_wallet', null | []> | BaseFeature<'email_capture', EmailCaptureOptions[]>;
1229
+ export type TypedFeatureConfig = BaseFeature<'activity', null | []> | BaseFeature<'onramp', OnRampProvider[]> | BaseFeature<'swap', SwapProvider[]> | BaseFeature<'social_login', (SocialProvider | 'email')[]> | BaseFeature<'reown_branding', null | []> | BaseFeature<'multi_wallet', null | []> | BaseFeature<'email_capture', EmailCaptureOptions[]> | BaseFeature<'headless', null | []>;
1206
1230
  export type ApiGetProjectConfigResponse = {
1207
1231
  features: TypedFeatureConfig[];
1208
1232
  };
@@ -1278,6 +1302,12 @@ export type FeatureConfigMap = {
1278
1302
  returnType: boolean;
1279
1303
  isLegacy: false;
1280
1304
  };
1305
+ headless: {
1306
+ apiFeatureName: 'headless';
1307
+ localFeatureName: 'headless';
1308
+ returnType: boolean;
1309
+ isLegacy: false;
1310
+ };
1281
1311
  };
1282
1312
  export type FeatureKey = keyof FeatureConfigMap;
1283
1313
  export type Tier = 'none' | 'starter' | 'pro' | 'enteprise';
@@ -1285,4 +1315,15 @@ export type ProjectLimits = {
1285
1315
  isAboveRpcLimit: boolean;
1286
1316
  isAboveMauLimit: boolean;
1287
1317
  };
1318
+ export type ConnectorItemWithKind = {
1319
+ kind: 'connector';
1320
+ subtype: 'injected' | 'announced' | 'multiChain' | 'external' | 'walletConnect';
1321
+ connector: ConnectorWithProviders;
1322
+ };
1323
+ export type WalletItemWithKind = {
1324
+ kind: 'wallet';
1325
+ subtype: 'featured' | 'recommended' | 'custom' | 'recent';
1326
+ wallet: WcWallet;
1327
+ };
1328
+ export type ConnectorOrWalletItem = ConnectorItemWithKind | WalletItemWithKind;
1288
1329
  export {};
@@ -308,8 +308,8 @@ export declare const ViemUtil: {
308
308
  getBlobBaseFee: () => Promise<import("viem").GetBlobBaseFeeReturnType>;
309
309
  getBlock: <includeTransactions extends boolean = false, blockTag extends import("viem").BlockTag = "latest">(args?: import("viem").GetBlockParameters<includeTransactions, blockTag> | undefined) => Promise<{
310
310
  number: blockTag extends "pending" ? null : bigint;
311
- hash: blockTag extends "pending" ? null : `0x${string}`;
312
311
  timestamp: bigint;
312
+ hash: blockTag extends "pending" ? null : `0x${string}`;
313
313
  nonce: blockTag extends "pending" ? null : `0x${string}`;
314
314
  logsBloom: blockTag extends "pending" ? null : `0x${string}`;
315
315
  baseFeePerGas: bigint | null;
@@ -335,23 +335,23 @@ export declare const ViemUtil: {
335
335
  withdrawalsRoot?: `0x${string}` | undefined;
336
336
  transactions: includeTransactions extends true ? ({
337
337
  value: bigint;
338
+ chainId?: number | undefined;
338
339
  type: "legacy";
340
+ from: import("viem").Address;
341
+ to: import("viem").Address | null;
342
+ gasPrice: bigint;
339
343
  hash: import("viem").Hash;
340
344
  input: import("viem").Hex;
341
- yParity?: undefined | undefined;
342
- from: import("viem").Address;
343
345
  gas: bigint;
346
+ yParity?: undefined | undefined;
344
347
  nonce: number;
345
348
  r: import("viem").Hex;
346
349
  s: import("viem").Hex;
347
- to: import("viem").Address | null;
348
350
  typeHex: import("viem").Hex | null;
349
351
  v: bigint;
350
352
  accessList?: undefined | undefined;
351
353
  authorizationList?: undefined | undefined;
352
354
  blobVersionedHashes?: undefined | undefined;
353
- chainId?: number | undefined;
354
- gasPrice: bigint;
355
355
  maxFeePerBlobGas?: undefined | undefined;
356
356
  maxFeePerGas?: undefined | undefined;
357
357
  maxPriorityFeePerGas?: undefined | undefined;
@@ -360,23 +360,23 @@ export declare const ViemUtil: {
360
360
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
361
361
  } | {
362
362
  value: bigint;
363
+ chainId: number;
363
364
  type: "eip2930";
365
+ from: import("viem").Address;
366
+ to: import("viem").Address | null;
367
+ gasPrice: bigint;
364
368
  hash: import("viem").Hash;
365
369
  input: import("viem").Hex;
366
- yParity: number;
367
- from: import("viem").Address;
368
370
  gas: bigint;
371
+ yParity: number;
369
372
  nonce: number;
370
373
  r: import("viem").Hex;
371
374
  s: import("viem").Hex;
372
- to: import("viem").Address | null;
373
375
  typeHex: import("viem").Hex | null;
374
376
  v: bigint;
375
377
  accessList: import("viem").AccessList;
376
378
  authorizationList?: undefined | undefined;
377
379
  blobVersionedHashes?: undefined | undefined;
378
- chainId: number;
379
- gasPrice: bigint;
380
380
  maxFeePerBlobGas?: undefined | undefined;
381
381
  maxFeePerGas?: undefined | undefined;
382
382
  maxPriorityFeePerGas?: undefined | undefined;
@@ -385,23 +385,23 @@ export declare const ViemUtil: {
385
385
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_5 ? T_5 extends (blockTag extends "pending" ? true : false) ? T_5 extends true ? null : number : never : never;
386
386
  } | {
387
387
  value: bigint;
388
+ chainId: number;
388
389
  type: "eip1559";
390
+ from: import("viem").Address;
391
+ to: import("viem").Address | null;
392
+ gasPrice?: undefined | undefined;
389
393
  hash: import("viem").Hash;
390
394
  input: import("viem").Hex;
391
- yParity: number;
392
- from: import("viem").Address;
393
395
  gas: bigint;
396
+ yParity: number;
394
397
  nonce: number;
395
398
  r: import("viem").Hex;
396
399
  s: import("viem").Hex;
397
- to: import("viem").Address | null;
398
400
  typeHex: import("viem").Hex | null;
399
401
  v: bigint;
400
402
  accessList: import("viem").AccessList;
401
403
  authorizationList?: undefined | undefined;
402
404
  blobVersionedHashes?: undefined | undefined;
403
- chainId: number;
404
- gasPrice?: undefined | undefined;
405
405
  maxFeePerBlobGas?: undefined | undefined;
406
406
  maxFeePerGas: bigint;
407
407
  maxPriorityFeePerGas: bigint;
@@ -410,23 +410,23 @@ export declare const ViemUtil: {
410
410
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_8 ? T_8 extends (blockTag extends "pending" ? true : false) ? T_8 extends true ? null : number : never : never;
411
411
  } | {
412
412
  value: bigint;
413
+ chainId: number;
413
414
  type: "eip4844";
415
+ from: import("viem").Address;
416
+ to: import("viem").Address | null;
417
+ gasPrice?: undefined | undefined;
414
418
  hash: import("viem").Hash;
415
419
  input: import("viem").Hex;
416
- yParity: number;
417
- from: import("viem").Address;
418
420
  gas: bigint;
421
+ yParity: number;
419
422
  nonce: number;
420
423
  r: import("viem").Hex;
421
424
  s: import("viem").Hex;
422
- to: import("viem").Address | null;
423
425
  typeHex: import("viem").Hex | null;
424
426
  v: bigint;
425
427
  accessList: import("viem").AccessList;
426
428
  authorizationList?: undefined | undefined;
427
429
  blobVersionedHashes: readonly import("viem").Hex[];
428
- chainId: number;
429
- gasPrice?: undefined | undefined;
430
430
  maxFeePerBlobGas: bigint;
431
431
  maxFeePerGas: bigint;
432
432
  maxPriorityFeePerGas: bigint;
@@ -435,23 +435,23 @@ export declare const ViemUtil: {
435
435
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_11 ? T_11 extends (blockTag extends "pending" ? true : false) ? T_11 extends true ? null : number : never : never;
436
436
  } | {
437
437
  value: bigint;
438
+ chainId: number;
438
439
  type: "eip7702";
440
+ from: import("viem").Address;
441
+ to: import("viem").Address | null;
442
+ gasPrice?: undefined | undefined;
439
443
  hash: import("viem").Hash;
440
444
  input: import("viem").Hex;
441
- yParity: number;
442
- from: import("viem").Address;
443
445
  gas: bigint;
446
+ yParity: number;
444
447
  nonce: number;
445
448
  r: import("viem").Hex;
446
449
  s: import("viem").Hex;
447
- to: import("viem").Address | null;
448
450
  typeHex: import("viem").Hex | null;
449
451
  v: bigint;
450
452
  accessList: import("viem").AccessList;
451
453
  authorizationList: import("viem").SignedAuthorizationList;
452
454
  blobVersionedHashes?: undefined | undefined;
453
- chainId: number;
454
- gasPrice?: undefined | undefined;
455
455
  maxFeePerBlobGas?: undefined | undefined;
456
456
  maxFeePerGas: bigint;
457
457
  maxPriorityFeePerGas: bigint;
@@ -539,23 +539,23 @@ export declare const ViemUtil: {
539
539
  getStorageAt: (args: import("viem").GetStorageAtParameters) => Promise<import("viem").GetStorageAtReturnType>;
540
540
  getTransaction: <blockTag extends import("viem").BlockTag = "latest">(args: import("viem").GetTransactionParameters<blockTag>) => Promise<{
541
541
  value: bigint;
542
+ chainId?: number | undefined;
542
543
  type: "legacy";
544
+ from: import("viem").Address;
545
+ to: import("viem").Address | null;
546
+ gasPrice: bigint;
543
547
  hash: import("viem").Hash;
544
548
  input: import("viem").Hex;
545
- yParity?: undefined | undefined;
546
- from: import("viem").Address;
547
549
  gas: bigint;
550
+ yParity?: undefined | undefined;
548
551
  nonce: number;
549
552
  r: import("viem").Hex;
550
553
  s: import("viem").Hex;
551
- to: import("viem").Address | null;
552
554
  typeHex: import("viem").Hex | null;
553
555
  v: bigint;
554
556
  accessList?: undefined | undefined;
555
557
  authorizationList?: undefined | undefined;
556
558
  blobVersionedHashes?: undefined | undefined;
557
- chainId?: number | undefined;
558
- gasPrice: bigint;
559
559
  maxFeePerBlobGas?: undefined | undefined;
560
560
  maxFeePerGas?: undefined | undefined;
561
561
  maxPriorityFeePerGas?: undefined | undefined;
@@ -564,23 +564,23 @@ export declare const ViemUtil: {
564
564
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
565
565
  } | {
566
566
  value: bigint;
567
+ chainId: number;
567
568
  type: "eip2930";
569
+ from: import("viem").Address;
570
+ to: import("viem").Address | null;
571
+ gasPrice: bigint;
568
572
  hash: import("viem").Hash;
569
573
  input: import("viem").Hex;
570
- yParity: number;
571
- from: import("viem").Address;
572
574
  gas: bigint;
575
+ yParity: number;
573
576
  nonce: number;
574
577
  r: import("viem").Hex;
575
578
  s: import("viem").Hex;
576
- to: import("viem").Address | null;
577
579
  typeHex: import("viem").Hex | null;
578
580
  v: bigint;
579
581
  accessList: import("viem").AccessList;
580
582
  authorizationList?: undefined | undefined;
581
583
  blobVersionedHashes?: undefined | undefined;
582
- chainId: number;
583
- gasPrice: bigint;
584
584
  maxFeePerBlobGas?: undefined | undefined;
585
585
  maxFeePerGas?: undefined | undefined;
586
586
  maxPriorityFeePerGas?: undefined | undefined;
@@ -589,23 +589,23 @@ export declare const ViemUtil: {
589
589
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_5 ? T_5 extends (blockTag extends "pending" ? true : false) ? T_5 extends true ? null : number : never : never;
590
590
  } | {
591
591
  value: bigint;
592
+ chainId: number;
592
593
  type: "eip1559";
594
+ from: import("viem").Address;
595
+ to: import("viem").Address | null;
596
+ gasPrice?: undefined | undefined;
593
597
  hash: import("viem").Hash;
594
598
  input: import("viem").Hex;
595
- yParity: number;
596
- from: import("viem").Address;
597
599
  gas: bigint;
600
+ yParity: number;
598
601
  nonce: number;
599
602
  r: import("viem").Hex;
600
603
  s: import("viem").Hex;
601
- to: import("viem").Address | null;
602
604
  typeHex: import("viem").Hex | null;
603
605
  v: bigint;
604
606
  accessList: import("viem").AccessList;
605
607
  authorizationList?: undefined | undefined;
606
608
  blobVersionedHashes?: undefined | undefined;
607
- chainId: number;
608
- gasPrice?: undefined | undefined;
609
609
  maxFeePerBlobGas?: undefined | undefined;
610
610
  maxFeePerGas: bigint;
611
611
  maxPriorityFeePerGas: bigint;
@@ -614,23 +614,23 @@ export declare const ViemUtil: {
614
614
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_8 ? T_8 extends (blockTag extends "pending" ? true : false) ? T_8 extends true ? null : number : never : never;
615
615
  } | {
616
616
  value: bigint;
617
+ chainId: number;
617
618
  type: "eip4844";
619
+ from: import("viem").Address;
620
+ to: import("viem").Address | null;
621
+ gasPrice?: undefined | undefined;
618
622
  hash: import("viem").Hash;
619
623
  input: import("viem").Hex;
620
- yParity: number;
621
- from: import("viem").Address;
622
624
  gas: bigint;
625
+ yParity: number;
623
626
  nonce: number;
624
627
  r: import("viem").Hex;
625
628
  s: import("viem").Hex;
626
- to: import("viem").Address | null;
627
629
  typeHex: import("viem").Hex | null;
628
630
  v: bigint;
629
631
  accessList: import("viem").AccessList;
630
632
  authorizationList?: undefined | undefined;
631
633
  blobVersionedHashes: readonly import("viem").Hex[];
632
- chainId: number;
633
- gasPrice?: undefined | undefined;
634
634
  maxFeePerBlobGas: bigint;
635
635
  maxFeePerGas: bigint;
636
636
  maxPriorityFeePerGas: bigint;
@@ -639,23 +639,23 @@ export declare const ViemUtil: {
639
639
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_11 ? T_11 extends (blockTag extends "pending" ? true : false) ? T_11 extends true ? null : number : never : never;
640
640
  } | {
641
641
  value: bigint;
642
+ chainId: number;
642
643
  type: "eip7702";
644
+ from: import("viem").Address;
645
+ to: import("viem").Address | null;
646
+ gasPrice?: undefined | undefined;
643
647
  hash: import("viem").Hash;
644
648
  input: import("viem").Hex;
645
- yParity: number;
646
- from: import("viem").Address;
647
649
  gas: bigint;
650
+ yParity: number;
648
651
  nonce: number;
649
652
  r: import("viem").Hex;
650
653
  s: import("viem").Hex;
651
- to: import("viem").Address | null;
652
654
  typeHex: import("viem").Hex | null;
653
655
  v: bigint;
654
656
  accessList: import("viem").AccessList;
655
657
  authorizationList: import("viem").SignedAuthorizationList;
656
658
  blobVersionedHashes?: undefined | undefined;
657
- chainId: number;
658
- gasPrice?: undefined | undefined;
659
659
  maxFeePerBlobGas?: undefined | undefined;
660
660
  maxFeePerGas: bigint;
661
661
  maxPriorityFeePerGas: bigint;
@@ -4243,7 +4243,7 @@ export declare const ViemUtil: {
4243
4243
  authorizationList: import("viem").TransactionSerializableEIP7702["authorizationList"];
4244
4244
  } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_25 extends "eip7702" ? import("viem").TransactionRequestEIP7702 : never : never : never)>> & {
4245
4245
  chainId?: number | undefined;
4246
- }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "type" | "gas" | "nonce" | "blobVersionedHashes" | "chainId") extends infer T_26 ? T_26 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "type" | "gas" | "nonce" | "blobVersionedHashes" | "chainId") ? T_26 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_26 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: (import("viem").UnionRequiredBy<Extract<import("viem").UnionOmit<import("viem").ExtractChainFormatterParameters<import("viem").DeriveChain<{
4246
+ }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "chainId" | "type" | "gas" | "nonce" | "blobVersionedHashes") extends infer T_26 ? T_26 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "chainId" | "type" | "gas" | "nonce" | "blobVersionedHashes") ? T_26 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_26 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: (import("viem").UnionRequiredBy<Extract<import("viem").UnionOmit<import("viem").ExtractChainFormatterParameters<import("viem").DeriveChain<{
4247
4247
  blockExplorers?: {
4248
4248
  [key: string]: {
4249
4249
  name: string;
@@ -7657,7 +7657,7 @@ export declare const ViemUtil: {
7657
7657
  authorizationList: import("viem").TransactionSerializableEIP7702["authorizationList"];
7658
7658
  } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_12 extends "eip7702" ? import("viem").TransactionRequestEIP7702 : never : never : never)>> & {
7659
7659
  chainId?: number | undefined;
7660
- }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "type" | "gas" | "nonce" | "blobVersionedHashes" | "chainId") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "type" | "gas" | "nonce" | "blobVersionedHashes" | "chainId") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">))[K]; } : never>;
7660
+ }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "chainId" | "type" | "gas" | "nonce" | "blobVersionedHashes") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "chainId" | "type" | "gas" | "nonce" | "blobVersionedHashes") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">))[K]; } : never>;
7661
7661
  readContract: <const abi extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "pure" | "view">, const args extends import("viem").ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import("viem").ReadContractParameters<abi, functionName, args>) => Promise<import("viem").ReadContractReturnType<abi, functionName, args>>;
7662
7662
  sendRawTransaction: (args: import("viem").SendRawTransactionParameters) => Promise<import("viem").SendRawTransactionReturnType>;
7663
7663
  simulate: <const calls extends readonly unknown[]>(args: import("viem").SimulateBlocksParameters<calls>) => Promise<import("viem").SimulateBlocksReturnType<calls>>;
@@ -0,0 +1,81 @@
1
+ import type { ConnectMethod, Connector, Features, WcWallet } from './TypeUtil.js';
2
+ interface AppKitWallet extends WcWallet {
3
+ installed: boolean;
4
+ }
5
+ export declare const WalletUtil: {
6
+ filterOutDuplicatesByRDNS(wallets: WcWallet[]): WcWallet[];
7
+ filterOutDuplicatesByIds(wallets: WcWallet[]): WcWallet[];
8
+ filterOutDuplicateWallets(wallets: WcWallet[]): WcWallet[];
9
+ /**
10
+ * Marks wallets as installed based on available connectors and sorts them
11
+ * according to both installation status and featuredWalletIds order.
12
+ *
13
+ * @param wallets - Array of wallets to process
14
+ * @returns Array of wallets marked as installed and sorted by priority
15
+ */
16
+ markWalletsAsInstalled(wallets: WcWallet[]): AppKitWallet[];
17
+ getConnectOrderMethod(_features: Features | undefined, _connectors: Connector[]): ConnectMethod[];
18
+ isExcluded(wallet: WcWallet): boolean;
19
+ markWalletsWithDisplayIndex(wallets: WcWallet[]): {
20
+ display_index: number;
21
+ id: string;
22
+ name: string;
23
+ badge_type?: import("./TypeUtil.js").BadgeType;
24
+ description?: string;
25
+ chains?: import("@reown/appkit-common").CaipNetworkId[];
26
+ homepage?: string;
27
+ image_id?: string;
28
+ image_url?: string;
29
+ order?: number;
30
+ link_mode?: string | null;
31
+ mobile_link?: string | null;
32
+ desktop_link?: string | null;
33
+ webapp_link?: string | null;
34
+ app_store?: string | null;
35
+ play_store?: string | null;
36
+ chrome_store?: string | null;
37
+ rdns?: string | null;
38
+ injected?: {
39
+ namespace?: string;
40
+ injected_id?: string;
41
+ }[] | null;
42
+ supports_wc?: boolean;
43
+ }[];
44
+ /**
45
+ * Filters wallets based on WalletConnect support and platform requirements.
46
+ *
47
+ * On mobile only wallets with WalletConnect support and some mandatory wallets are shown.
48
+ * On desktop with Appkit Core only wallets with WalletConnect support are shown.
49
+ * On desktop with Appkit all wallets are shown.
50
+ *
51
+ * @param wallets - Array of wallets to filter
52
+ * @returns Filtered array of wallets based on WalletConnect support and platform
53
+ */
54
+ filterWalletsByWcSupport(wallets: WcWallet[]): WcWallet[];
55
+ getWalletConnectWallets(allWallets: WcWallet[]): {
56
+ display_index: number;
57
+ id: string;
58
+ name: string;
59
+ badge_type?: import("./TypeUtil.js").BadgeType;
60
+ description?: string;
61
+ chains?: import("@reown/appkit-common").CaipNetworkId[];
62
+ homepage?: string;
63
+ image_id?: string;
64
+ image_url?: string;
65
+ order?: number;
66
+ link_mode?: string | null;
67
+ mobile_link?: string | null;
68
+ desktop_link?: string | null;
69
+ webapp_link?: string | null;
70
+ app_store?: string | null;
71
+ play_store?: string | null;
72
+ chrome_store?: string | null;
73
+ rdns?: string | null;
74
+ injected?: {
75
+ namespace?: string;
76
+ injected_id?: string;
77
+ }[] | null;
78
+ supports_wc?: boolean;
79
+ }[];
80
+ };
81
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-controllers",
3
- "version": "1.8.14",
3
+ "version": "1.8.15-1af3ed85cb2d75940977e3a13b5c5cf55e36ca11.0",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "main": "./dist/esm/exports/index.js",
@@ -53,11 +53,11 @@
53
53
  }
54
54
  },
55
55
  "dependencies": {
56
- "@walletconnect/universal-provider": "2.23.0",
56
+ "@walletconnect/universal-provider": "2.23.1",
57
57
  "valtio": "2.1.7",
58
58
  "viem": ">=2.37.9",
59
- "@reown/appkit-common": "1.8.14",
60
- "@reown/appkit-wallet": "1.8.14"
59
+ "@reown/appkit-common": "1.8.15-1af3ed85cb2d75940977e3a13b5c5cf55e36ca11.0",
60
+ "@reown/appkit-wallet": "1.8.15-1af3ed85cb2d75940977e3a13b5c5cf55e36ca11.0"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@vitest/coverage-v8": "2.1.9",
@@ -65,9 +65,9 @@
65
65
  "vue": "3.5.13",
66
66
  "@types/react": "19.1.15",
67
67
  "@types/react-dom": "19.1.9",
68
- "react": "19.1.1",
69
- "react-dom": "19.1.1",
70
- "@walletconnect/types": "2.23.0"
68
+ "react": "19.1.2",
69
+ "react-dom": "19.1.2",
70
+ "@walletconnect/types": "2.23.1"
71
71
  },
72
72
  "author": "Reown (https://discord.gg/reown)",
73
73
  "license": "SEE LICENSE IN LICENSE.md",