@reown/appkit-core-react-native 0.0.0-feat-multi-social-20250701154123 → 0.0.0-feat-multi-social-20250703185818

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 (68) hide show
  1. package/lib/commonjs/controllers/AccountController.js +20 -17
  2. package/lib/commonjs/controllers/AccountController.js.map +1 -1
  3. package/lib/commonjs/controllers/BlockchainApiController.js +8 -4
  4. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  5. package/lib/commonjs/controllers/ConnectionsController.js +209 -45
  6. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -1
  7. package/lib/commonjs/controllers/ModalController.js +2 -2
  8. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  9. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  10. package/lib/commonjs/controllers/SendController.js +19 -13
  11. package/lib/commonjs/controllers/SendController.js.map +1 -1
  12. package/lib/commonjs/controllers/SwapController.js +6 -7
  13. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  14. package/lib/commonjs/controllers/TransactionsController.js +19 -15
  15. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  16. package/lib/commonjs/utils/CoreHelperUtil.js +1 -1
  17. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  18. package/lib/commonjs/utils/SwapApiUtil.js +6 -9
  19. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  20. package/lib/module/controllers/AccountController.js +20 -17
  21. package/lib/module/controllers/AccountController.js.map +1 -1
  22. package/lib/module/controllers/BlockchainApiController.js +8 -4
  23. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  24. package/lib/module/controllers/ConnectionsController.js +209 -45
  25. package/lib/module/controllers/ConnectionsController.js.map +1 -1
  26. package/lib/module/controllers/ModalController.js +2 -2
  27. package/lib/module/controllers/ModalController.js.map +1 -1
  28. package/lib/module/controllers/RouterController.js.map +1 -1
  29. package/lib/module/controllers/SendController.js +19 -13
  30. package/lib/module/controllers/SendController.js.map +1 -1
  31. package/lib/module/controllers/SwapController.js +6 -7
  32. package/lib/module/controllers/SwapController.js.map +1 -1
  33. package/lib/module/controllers/TransactionsController.js +19 -15
  34. package/lib/module/controllers/TransactionsController.js.map +1 -1
  35. package/lib/module/utils/CoreHelperUtil.js +1 -1
  36. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  37. package/lib/module/utils/SwapApiUtil.js +6 -9
  38. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  39. package/lib/typescript/controllers/AccountController.d.ts +3 -3
  40. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  41. package/lib/typescript/controllers/BlockchainApiController.d.ts +2 -2
  42. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  43. package/lib/typescript/controllers/ConnectionsController.d.ts +16 -9
  44. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -1
  45. package/lib/typescript/controllers/RouterController.d.ts +1 -1
  46. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  47. package/lib/typescript/controllers/SendController.d.ts.map +1 -1
  48. package/lib/typescript/controllers/SwapController.d.ts +2 -1
  49. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  50. package/lib/typescript/controllers/TransactionsController.d.ts +2 -2
  51. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
  52. package/lib/typescript/utils/SwapApiUtil.d.ts +2 -1
  53. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  54. package/lib/typescript/utils/TypeUtil.d.ts +16 -12
  55. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  56. package/package.json +2 -2
  57. package/src/controllers/AccountController.ts +26 -26
  58. package/src/controllers/BlockchainApiController.ts +11 -5
  59. package/src/controllers/ConnectionController.ts +1 -1
  60. package/src/controllers/ConnectionsController.ts +244 -65
  61. package/src/controllers/ModalController.ts +2 -2
  62. package/src/controllers/RouterController.ts +0 -3
  63. package/src/controllers/SendController.ts +31 -13
  64. package/src/controllers/SwapController.ts +10 -8
  65. package/src/controllers/TransactionsController.ts +22 -16
  66. package/src/utils/CoreHelperUtil.ts +1 -1
  67. package/src/utils/SwapApiUtil.ts +6 -15
  68. package/src/utils/TypeUtil.ts +15 -17
@@ -1,10 +1,9 @@
1
- import type { Transaction } from '@reown/appkit-common-react-native';
1
+ import type { CaipAddress, Transaction } from '@reown/appkit-common-react-native';
2
2
  import { proxy, subscribe as sub } from 'valtio/vanilla';
3
3
  import { OptionsController } from './OptionsController';
4
4
  import { EventsController } from './EventsController';
5
5
  import { SnackController } from './SnackController';
6
6
  import { BlockchainApiController } from './BlockchainApiController';
7
- import { AccountController } from './AccountController';
8
7
  import { ConnectionsController } from './ConnectionsController';
9
8
 
10
9
  // -- Types --------------------------------------------- //
@@ -34,22 +33,29 @@ export const TransactionsController = {
34
33
  return sub(state, () => callback(state));
35
34
  },
36
35
 
37
- async fetchTransactions(accountAddress?: string, reset?: boolean) {
38
- const { projectId } = OptionsController.state;
36
+ async fetchTransactions(accountAddress?: CaipAddress, reset?: boolean) {
37
+ try {
38
+ const { projectId } = OptionsController.state;
39
39
 
40
- if (!projectId || !accountAddress) {
41
- throw new Error("Transactions can't be fetched without a projectId and an accountAddress");
42
- }
40
+ if (!projectId || !accountAddress) {
41
+ throw new Error("Transactions can't be fetched without a projectId and an accountAddress");
42
+ }
43
43
 
44
- state.loading = true;
44
+ state.loading = true;
45
45
 
46
- if (reset) {
47
- state.next = undefined;
48
- }
46
+ if (reset) {
47
+ state.next = undefined;
48
+ }
49
+
50
+ const [namespace, chain, address] = accountAddress?.split(':') ?? [];
51
+
52
+ if (!namespace || !chain || !address) {
53
+ throw new Error('Invalid address');
54
+ }
49
55
 
50
- try {
51
56
  const response = await BlockchainApiController.fetchTransactions({
52
- account: accountAddress,
57
+ account: address,
58
+ chainId: `${namespace}:${chain}`,
53
59
  projectId,
54
60
  cursor: state.next
55
61
  });
@@ -72,10 +78,10 @@ export const TransactionsController = {
72
78
  type: 'track',
73
79
  event: 'ERROR_FETCH_TRANSACTIONS',
74
80
  properties: {
75
- address: accountAddress,
76
- projectId,
81
+ address: accountAddress ?? '',
82
+ projectId: OptionsController.state.projectId,
77
83
  cursor: state.next,
78
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount'
84
+ isSmartAccount: ConnectionsController.state.accountType === 'smartAccount'
79
85
  }
80
86
  });
81
87
  SnackController.showError('Failed to fetch transactions');
@@ -285,7 +285,7 @@ export const CoreHelperUtil = {
285
285
 
286
286
  let sum = 0;
287
287
  for (const item of array) {
288
- sum += item.value ?? 0;
288
+ sum += item?.value ?? 0;
289
289
  }
290
290
 
291
291
  const roundedNumber = sum.toFixed(2);
@@ -5,9 +5,8 @@ import type {
5
5
  BlockchainApiSwapAllowanceRequest,
6
6
  SwapTokenWithBalance
7
7
  } from './TypeUtil';
8
- import { AccountController } from '../controllers/AccountController';
9
8
  import { ConnectionsController } from '../controllers/ConnectionsController';
10
- import type { CaipNetworkId } from '@reown/appkit-common-react-native';
9
+ import type { CaipAddress, CaipNetworkId } from '@reown/appkit-common-react-native';
11
10
  import { ConstantsUtil } from './ConstantsUtil';
12
11
 
13
12
  export const SwapApiUtil = {
@@ -64,22 +63,14 @@ export const SwapApiUtil = {
64
63
  return false;
65
64
  },
66
65
 
67
- async getMyTokensWithBalance(forceUpdate?: string) {
68
- const { activeAddress, activeNetwork: network } = ConnectionsController.state;
69
- const address = activeAddress?.split(':')[2];
66
+ async getMyTokensWithBalance(forceUpdate?: CaipAddress[]) {
67
+ const { activeAddress } = ConnectionsController.state;
70
68
 
71
- if (!address) {
72
- return [];
73
- }
74
-
75
- const response = await BlockchainApiController.getBalance(
76
- address,
77
- network?.caipNetworkId,
78
- forceUpdate
79
- );
69
+ const response = await BlockchainApiController.getBalance(activeAddress, forceUpdate);
80
70
  const balances = response?.balances.filter(balance => balance.quantity.decimals !== '0');
81
71
 
82
- AccountController.setTokenBalance(balances);
72
+ // TODO: update balances
73
+ // ConnectionsController.updateBalances(balances);
83
74
 
84
75
  return this.mapBalancesToSwapTokens(balances);
85
76
  },
@@ -2,7 +2,6 @@ import { type EventEmitter } from 'events';
2
2
  import type { CaipAddress, CaipNetworkId } from '@reown/appkit-common-react-native';
3
3
 
4
4
  import type {
5
- Balance,
6
5
  SocialProvider,
7
6
  ThemeMode,
8
7
  Transaction,
@@ -157,8 +156,22 @@ export interface BlockchainApiIdentityResponse {
157
156
  name: string;
158
157
  }
159
158
 
159
+ export interface BlockchainApiBalance {
160
+ name: string;
161
+ symbol: string;
162
+ chainId: string;
163
+ address?: CaipAddress;
164
+ value?: number;
165
+ price: number;
166
+ quantity: {
167
+ decimals: string;
168
+ numeric: string;
169
+ };
170
+ iconUrl: string;
171
+ }
172
+
160
173
  export interface BlockchainApiBalanceResponse {
161
- balances: Balance[];
174
+ balances: BlockchainApiBalance[];
162
175
  }
163
176
 
164
177
  export interface BlockchainApiTransactionsRequest {
@@ -367,9 +380,6 @@ export type EventName =
367
380
  | 'CLICK_NETWORK_HELP'
368
381
  | 'CLICK_GET_WALLET'
369
382
  | 'EMAIL_LOGIN_SELECTED'
370
- | 'EMAIL_SUBMITTED'
371
- | 'DEVICE_REGISTERED_FOR_EMAIL'
372
- | 'EMAIL_VERIFICATION_CODE_SENT'
373
383
  | 'EMAIL_VERIFICATION_CODE_PASS'
374
384
  | 'EMAIL_VERIFICATION_CODE_FAIL'
375
385
  | 'EMAIL_EDIT'
@@ -484,18 +494,6 @@ export type Event =
484
494
  type: 'track';
485
495
  event: 'EMAIL_LOGIN_SELECTED';
486
496
  }
487
- | {
488
- type: 'track';
489
- event: 'EMAIL_SUBMITTED';
490
- }
491
- | {
492
- type: 'track';
493
- event: 'DEVICE_REGISTERED_FOR_EMAIL';
494
- }
495
- | {
496
- type: 'track';
497
- event: 'EMAIL_VERIFICATION_CODE_SENT';
498
- }
499
497
  | {
500
498
  type: 'track';
501
499
  event: 'EMAIL_VERIFICATION_CODE_PASS';