@reown/appkit-core-react-native 0.0.0-feat-multi-siwe-20250623145640 → 0.0.0-feat-onramp-20250625192635

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 (147) hide show
  1. package/lib/commonjs/controllers/ApiController.js +11 -11
  2. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  3. package/lib/commonjs/controllers/BlockchainApiController.js +24 -102
  4. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  5. package/lib/commonjs/controllers/ConnectionController.js +1 -7
  6. package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectorController.js +0 -1
  8. package/lib/commonjs/controllers/ConnectorController.js.map +1 -1
  9. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  10. package/lib/commonjs/controllers/OnRampController.js +41 -18
  11. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  12. package/lib/commonjs/controllers/OptionsController.js +3 -8
  13. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  14. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  15. package/lib/commonjs/controllers/SendController.js +5 -5
  16. package/lib/commonjs/controllers/SendController.js.map +1 -1
  17. package/lib/commonjs/controllers/SwapController.js +40 -51
  18. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  19. package/lib/commonjs/controllers/ThemeController.js +1 -9
  20. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  21. package/lib/commonjs/controllers/TransactionsController.js +2 -2
  22. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  23. package/lib/commonjs/index.js +3 -3
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/utils/AssetUtil.js +6 -5
  26. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  27. package/lib/commonjs/utils/ConnectionUtil.js +33 -0
  28. package/lib/commonjs/utils/ConnectionUtil.js.map +1 -0
  29. package/lib/commonjs/utils/ConstantsUtil.js +7 -537
  30. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  31. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  32. package/lib/commonjs/utils/StorageUtil.js +33 -67
  33. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  34. package/lib/commonjs/utils/SwapApiUtil.js +10 -19
  35. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  36. package/lib/module/controllers/ApiController.js +11 -11
  37. package/lib/module/controllers/ApiController.js.map +1 -1
  38. package/lib/module/controllers/BlockchainApiController.js +24 -102
  39. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  40. package/lib/module/controllers/ConnectionController.js +1 -7
  41. package/lib/module/controllers/ConnectionController.js.map +1 -1
  42. package/lib/module/controllers/ConnectorController.js +0 -1
  43. package/lib/module/controllers/ConnectorController.js.map +1 -1
  44. package/lib/module/controllers/ModalController.js.map +1 -1
  45. package/lib/module/controllers/OnRampController.js +41 -18
  46. package/lib/module/controllers/OnRampController.js.map +1 -1
  47. package/lib/module/controllers/OptionsController.js +3 -8
  48. package/lib/module/controllers/OptionsController.js.map +1 -1
  49. package/lib/module/controllers/RouterController.js.map +1 -1
  50. package/lib/module/controllers/SendController.js +5 -5
  51. package/lib/module/controllers/SendController.js.map +1 -1
  52. package/lib/module/controllers/SwapController.js +40 -51
  53. package/lib/module/controllers/SwapController.js.map +1 -1
  54. package/lib/module/controllers/ThemeController.js +1 -9
  55. package/lib/module/controllers/ThemeController.js.map +1 -1
  56. package/lib/module/controllers/TransactionsController.js +2 -2
  57. package/lib/module/controllers/TransactionsController.js.map +1 -1
  58. package/lib/module/index.js +1 -1
  59. package/lib/module/index.js.map +1 -1
  60. package/lib/module/utils/AssetUtil.js +6 -5
  61. package/lib/module/utils/AssetUtil.js.map +1 -1
  62. package/lib/module/utils/ConnectionUtil.js +27 -0
  63. package/lib/module/utils/ConnectionUtil.js.map +1 -0
  64. package/lib/module/utils/ConstantsUtil.js +7 -537
  65. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  66. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  67. package/lib/module/utils/StorageUtil.js +33 -67
  68. package/lib/module/utils/StorageUtil.js.map +1 -1
  69. package/lib/module/utils/SwapApiUtil.js +10 -19
  70. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  71. package/lib/typescript/controllers/AccountController.d.ts +2 -2
  72. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  73. package/lib/typescript/controllers/ApiController.d.ts +1 -1
  74. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  75. package/lib/typescript/controllers/BlockchainApiController.d.ts +3 -15
  76. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  77. package/lib/typescript/controllers/ConnectionController.d.ts +0 -2
  78. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  79. package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -1
  80. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  81. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  82. package/lib/typescript/controllers/NetworkController.d.ts +1 -1
  83. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
  84. package/lib/typescript/controllers/OnRampController.d.ts +3 -1
  85. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  86. package/lib/typescript/controllers/OptionsController.d.ts +2 -5
  87. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  88. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  89. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  90. package/lib/typescript/controllers/RouterController.d.ts +1 -2
  91. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  92. package/lib/typescript/controllers/SwapController.d.ts +1 -1
  93. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  94. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  95. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  96. package/lib/typescript/index.d.ts +1 -1
  97. package/lib/typescript/index.d.ts.map +1 -1
  98. package/lib/typescript/utils/AssetUtil.d.ts +2 -2
  99. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  100. package/lib/typescript/utils/ConnectionUtil.d.ts +4 -0
  101. package/lib/typescript/utils/ConnectionUtil.d.ts.map +1 -0
  102. package/lib/typescript/utils/ConstantsUtil.d.ts +1 -421
  103. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  104. package/lib/typescript/utils/CoreHelperUtil.d.ts +2 -2
  105. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  106. package/lib/typescript/utils/FetchUtil.d.ts +1 -1
  107. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  108. package/lib/typescript/utils/NetworkUtil.d.ts +1 -1
  109. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
  110. package/lib/typescript/utils/StorageUtil.d.ts +4 -14
  111. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  112. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  113. package/lib/typescript/utils/TypeUtil.d.ts +32 -5
  114. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  115. package/package.json +2 -2
  116. package/src/controllers/AccountController.ts +2 -2
  117. package/src/controllers/ApiController.ts +7 -12
  118. package/src/controllers/BlockchainApiController.ts +27 -135
  119. package/src/controllers/ConnectionController.ts +2 -10
  120. package/src/controllers/ConnectorController.ts +0 -1
  121. package/src/controllers/ModalController.ts +1 -2
  122. package/src/controllers/NetworkController.ts +1 -1
  123. package/src/controllers/OnRampController.ts +63 -27
  124. package/src/controllers/OptionsController.ts +13 -14
  125. package/src/controllers/PublicStateController.ts +1 -1
  126. package/src/controllers/RouterController.ts +1 -2
  127. package/src/controllers/SendController.ts +5 -5
  128. package/src/controllers/SwapController.ts +48 -58
  129. package/src/controllers/ThemeController.ts +2 -11
  130. package/src/controllers/TransactionsController.ts +2 -2
  131. package/src/index.ts +1 -5
  132. package/src/utils/AssetUtil.ts +7 -5
  133. package/src/utils/ConnectionUtil.ts +27 -0
  134. package/src/utils/ConstantsUtil.ts +7 -542
  135. package/src/utils/CoreHelperUtil.ts +3 -8
  136. package/src/utils/FetchUtil.ts +1 -1
  137. package/src/utils/NetworkUtil.ts +1 -1
  138. package/src/utils/StorageUtil.ts +39 -82
  139. package/src/utils/SwapApiUtil.ts +10 -22
  140. package/src/utils/TypeUtil.ts +39 -8
  141. package/lib/commonjs/controllers/ConnectionsController.js +0 -215
  142. package/lib/commonjs/controllers/ConnectionsController.js.map +0 -1
  143. package/lib/module/controllers/ConnectionsController.js +0 -210
  144. package/lib/module/controllers/ConnectionsController.js.map +0 -1
  145. package/lib/typescript/controllers/ConnectionsController.d.ts +0 -44
  146. package/lib/typescript/controllers/ConnectionsController.d.ts.map +0 -1
  147. package/src/controllers/ConnectionsController.ts +0 -305
@@ -1,210 +0,0 @@
1
- import { proxy, ref } from 'valtio';
2
- import { derive } from 'valtio/utils';
3
- import { EVMAdapter } from '@reown/appkit-common-react-native';
4
- import { StorageUtil } from '../utils/StorageUtil';
5
-
6
- // -- Types --------------------------------------------- //
7
-
8
- //TODO: balance could be elsewhere
9
-
10
- // -- State --------------------------------------------- //
11
- const baseState = proxy({
12
- activeNamespace: undefined,
13
- connections: new Map(),
14
- networks: []
15
- });
16
- const derivedState = derive({
17
- activeAddress: get => {
18
- const snap = get(baseState);
19
- if (!snap.activeNamespace) {
20
- return undefined;
21
- }
22
- const connection = snap.connections.get(snap.activeNamespace);
23
- if (!connection || !connection.accounts || connection.accounts.length === 0) {
24
- return undefined;
25
- }
26
-
27
- //TODO: what happens if there are several accounts on the same chain?
28
- const activeAccount = connection.accounts.find(account => account.startsWith(connection.caipNetwork));
29
- return activeAccount;
30
- },
31
- activeBalance: get => {
32
- const snap = get(baseState);
33
- if (!snap.activeNamespace) return undefined;
34
- const connection = snap.connections.get(snap.activeNamespace);
35
- if (!connection || !connection.accounts || connection.accounts.length === 0) {
36
- return undefined;
37
- }
38
- const activeAccount = connection.accounts.find(account => account.startsWith(connection.caipNetwork));
39
- if (!connection || !connection.balances || !activeAccount || Object.keys(connection.balances).length === 0) {
40
- return undefined;
41
- }
42
- return connection.balances[activeAccount];
43
- },
44
- activeNetwork: get => {
45
- const snap = get(baseState);
46
- if (!snap.activeNamespace) return undefined;
47
- const connection = snap.connections.get(snap.activeNamespace);
48
- if (!connection) return undefined;
49
- return snap.networks.find(network => network.chainNamespace === snap.activeNamespace && network.id?.toString() === connection.caipNetwork?.split(':')[1]);
50
- },
51
- activeCaipNetworkId: get => {
52
- const snap = get(baseState);
53
- if (!snap.activeNamespace) return undefined;
54
- const connection = snap.connections.get(snap.activeNamespace);
55
- if (!connection) return undefined;
56
- return connection.caipNetwork;
57
- },
58
- walletInfo: get => {
59
- const snap = get(baseState);
60
- if (!snap.activeNamespace) return undefined;
61
- return snap.connections.get(snap.activeNamespace)?.wallet;
62
- }
63
- }, {
64
- proxy: baseState // Link derived proxy to the base state proxy
65
- });
66
-
67
- // -- Controller ---------------------------------------- //
68
- export const ConnectionsController = {
69
- state: derivedState,
70
- setActiveNamespace(namespace) {
71
- baseState.activeNamespace = namespace;
72
- StorageUtil.setActiveNamespace(namespace);
73
- },
74
- storeConnection({
75
- namespace,
76
- adapter,
77
- accounts,
78
- chains,
79
- wallet,
80
- caipNetwork
81
- }) {
82
- const newConnectionEntry = {
83
- balances: {},
84
- caipNetwork: caipNetwork ?? chains[0],
85
- adapter: ref(adapter),
86
- accounts,
87
- chains,
88
- wallet
89
- };
90
-
91
- // Create a new Map to ensure Valtio detects the change
92
- const newConnectionsMap = new Map(baseState.connections);
93
- newConnectionsMap.set(namespace, newConnectionEntry);
94
- baseState.connections = newConnectionsMap;
95
- },
96
- updateAccounts(namespace, accounts) {
97
- const connection = baseState.connections.get(namespace);
98
- if (!connection) {
99
- return;
100
- }
101
- const newConnectionsMap = new Map(baseState.connections);
102
- const updatedConnection = {
103
- ...connection,
104
- accounts
105
- };
106
- newConnectionsMap.set(namespace, updatedConnection);
107
- baseState.connections = newConnectionsMap;
108
- },
109
- updateBalance(namespace, address, balance) {
110
- const connection = baseState.connections.get(namespace);
111
- if (!connection) {
112
- return;
113
- }
114
- const newBalances = {
115
- ...connection.balances,
116
- [address]: balance
117
- };
118
- const updatedConnection = {
119
- ...connection,
120
- balances: newBalances
121
- };
122
- const newConnectionsMap = new Map(baseState.connections);
123
- newConnectionsMap.set(namespace, updatedConnection);
124
- baseState.connections = newConnectionsMap;
125
- },
126
- setActiveNetwork(namespace, networkId) {
127
- const connection = baseState.connections.get(namespace);
128
- if (!connection) {
129
- return;
130
- }
131
- baseState.connections.set(namespace, {
132
- ...connection,
133
- caipNetwork: networkId
134
- });
135
- },
136
- setNetworks(networks) {
137
- baseState.networks = networks;
138
- },
139
- getConnectedNetworks() {
140
- return baseState.networks.filter(network => baseState.connections.get(network.chainNamespace)?.accounts.some(account => account.startsWith(network.caipNetworkId)));
141
- },
142
- async disconnect(namespace, isInternal = true) {
143
- const connection = baseState.connections.get(namespace);
144
- if (!connection) return;
145
-
146
- // Get the current connector from the adapter
147
- const connector = connection.adapter.connector;
148
- if (!connector) return;
149
-
150
- // Find all namespaces that use the same connector
151
- const namespacesUsingConnector = Array.from(baseState.connections.keys()).filter(ns => baseState.connections.get(ns)?.adapter.connector === connector);
152
-
153
- // Unsubscribe all event listeners from the adapter
154
- namespacesUsingConnector.forEach(ns => {
155
- const _connection = baseState.connections.get(ns);
156
- if (_connection?.adapter) {
157
- _connection.adapter.removeAllListeners();
158
- }
159
- });
160
-
161
- // Disconnect the adapter
162
- if (isInternal) {
163
- await connection.adapter.disconnect();
164
- }
165
-
166
- // Remove all namespaces that used this connector
167
- const newConnectionsMap = new Map(baseState.connections);
168
- namespacesUsingConnector.forEach(ns => {
169
- newConnectionsMap.delete(ns);
170
- });
171
- baseState.connections = newConnectionsMap;
172
-
173
- // Remove activeNamespace if it is in the list of namespaces using the connector
174
- if (baseState.activeNamespace && (baseState.activeNamespace === namespace || namespacesUsingConnector.includes(baseState.activeNamespace))) {
175
- baseState.activeNamespace = undefined;
176
- StorageUtil.setActiveNamespace(undefined);
177
- }
178
- },
179
- parseUnits(value, decimals) {
180
- if (!baseState.activeNamespace) return undefined;
181
- return baseState.connections.get(baseState.activeNamespace)?.adapter.parseUnits(value, decimals);
182
- },
183
- async signMessage(address, message) {
184
- if (!baseState.activeNamespace) return undefined;
185
- const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
186
- const evmAddress = address.split(':')[2];
187
- const chainId = address.split(':')[1];
188
- if (adapter instanceof EVMAdapter && evmAddress && chainId) {
189
- return adapter.signMessage(evmAddress, message, chainId);
190
- }
191
- return undefined;
192
- },
193
- async sendTransaction(args) {
194
- if (!baseState.activeNamespace) return undefined;
195
- const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
196
- if (adapter instanceof EVMAdapter) {
197
- return adapter.sendTransaction(args);
198
- }
199
- return undefined;
200
- },
201
- async estimateGas(args) {
202
- if (!baseState.activeNamespace) return undefined;
203
- const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
204
- if (adapter instanceof EVMAdapter) {
205
- return adapter.estimateGas(args);
206
- }
207
- return undefined;
208
- }
209
- };
210
- //# sourceMappingURL=ConnectionsController.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["proxy","ref","derive","EVMAdapter","StorageUtil","baseState","activeNamespace","undefined","connections","Map","networks","derivedState","activeAddress","get","snap","connection","accounts","length","activeAccount","find","account","startsWith","caipNetwork","activeBalance","balances","Object","keys","activeNetwork","network","chainNamespace","id","toString","split","activeCaipNetworkId","walletInfo","wallet","ConnectionsController","state","setActiveNamespace","namespace","storeConnection","adapter","chains","newConnectionEntry","newConnectionsMap","set","updateAccounts","updatedConnection","updateBalance","address","balance","newBalances","setActiveNetwork","networkId","setNetworks","getConnectedNetworks","filter","some","caipNetworkId","disconnect","isInternal","connector","namespacesUsingConnector","Array","from","ns","forEach","_connection","removeAllListeners","delete","includes","parseUnits","value","decimals","signMessage","message","evmAddress","chainId","sendTransaction","args","estimateGas"],"sourceRoot":"../../../src","sources":["controllers/ConnectionsController.ts"],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import { type AppKitNetwork, type BlockchainAdapter, type CaipAddress, type CaipNetworkId, type ChainNamespace, type GetBalanceResponse, type WalletInfo } from '@reown/appkit-common-react-native';
2
- type Balance = GetBalanceResponse;
3
- interface Connection {
4
- accounts: CaipAddress[];
5
- balances: Record<CaipAddress, Balance>;
6
- adapter: BlockchainAdapter;
7
- caipNetwork: CaipNetworkId;
8
- wallet?: WalletInfo;
9
- }
10
- export interface ConnectionsControllerState {
11
- activeNamespace?: ChainNamespace;
12
- connections: Map<ChainNamespace, Connection>;
13
- networks: AppKitNetwork[];
14
- }
15
- export declare const ConnectionsController: {
16
- state: ConnectionsControllerState & {
17
- activeAddress: `${string}:${string}:${string}` | undefined;
18
- activeBalance: GetBalanceResponse | undefined;
19
- activeNetwork: AppKitNetwork | undefined;
20
- activeCaipNetworkId: `${string}:${string}` | undefined;
21
- walletInfo: WalletInfo | undefined;
22
- };
23
- setActiveNamespace(namespace?: ChainNamespace): void;
24
- storeConnection({ namespace, adapter, accounts, chains, wallet, caipNetwork }: {
25
- namespace: ChainNamespace;
26
- adapter: BlockchainAdapter;
27
- accounts: CaipAddress[];
28
- chains: CaipNetworkId[];
29
- wallet?: WalletInfo | undefined;
30
- caipNetwork?: `${string}:${string}` | undefined;
31
- }): void;
32
- updateAccounts(namespace: ChainNamespace, accounts: CaipAddress[]): void;
33
- updateBalance(namespace: ChainNamespace, address: CaipAddress, balance: Balance): void;
34
- setActiveNetwork(namespace: ChainNamespace, networkId: CaipNetworkId): void;
35
- setNetworks(networks: AppKitNetwork[]): void;
36
- getConnectedNetworks(): AppKitNetwork[];
37
- disconnect(namespace: ChainNamespace, isInternal?: boolean): Promise<void>;
38
- parseUnits(value: string, decimals: number): bigint | undefined;
39
- signMessage(address: CaipAddress, message: string): Promise<string | undefined>;
40
- sendTransaction(args: any): Promise<`0x${string}` | null | undefined>;
41
- estimateGas(args: any): Promise<bigint | undefined>;
42
- };
43
- export {};
44
- //# sourceMappingURL=ConnectionsController.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConnectionsController.d.ts","sourceRoot":"","sources":["../../../src/controllers/ConnectionsController.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,mCAAmC,CAAC;AAI3C,KAAK,OAAO,GAAG,kBAAkB,CAAC;AAGlC,UAAU,UAAU;IAClB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,WAAW,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAC7C,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAgGD,eAAO,MAAM,qBAAqB;;;;;;;;mCAGD,cAAc;;mBAahC,cAAc;iBAChB,iBAAiB;kBAChB,WAAW,EAAE;gBACf,aAAa,EAAE;;;;8BAmBC,cAAc,YAAY,WAAW,EAAE;6BAYxC,cAAc,WAAW,WAAW,WAAW,OAAO;gCAanD,cAAc,aAAa,aAAa;0BAa9C,aAAa,EAAE;;0BAaT,cAAc;sBA4CxB,MAAM,YAAY,MAAM;yBAQf,WAAW,WAAW,MAAM;0BAc3B,GAAG;sBAYP,GAAG;CAW5B,CAAC"}
@@ -1,305 +0,0 @@
1
- import { proxy, ref } from 'valtio';
2
- import { derive } from 'valtio/utils';
3
- import {
4
- EVMAdapter,
5
- type AppKitNetwork,
6
- type BlockchainAdapter,
7
- type CaipAddress,
8
- type CaipNetworkId,
9
- type ChainNamespace,
10
- type GetBalanceResponse,
11
- type WalletInfo
12
- } from '@reown/appkit-common-react-native';
13
- import { StorageUtil } from '../utils/StorageUtil';
14
-
15
- // -- Types --------------------------------------------- //
16
- type Balance = GetBalanceResponse;
17
-
18
- //TODO: balance could be elsewhere
19
- interface Connection {
20
- accounts: CaipAddress[];
21
- balances: Record<CaipAddress, Balance>; //TODO: make this an array of balances
22
- adapter: BlockchainAdapter;
23
- caipNetwork: CaipNetworkId;
24
- wallet?: WalletInfo;
25
- }
26
-
27
- export interface ConnectionsControllerState {
28
- activeNamespace?: ChainNamespace;
29
- connections: Map<ChainNamespace, Connection>;
30
- networks: AppKitNetwork[];
31
- }
32
-
33
- // -- State --------------------------------------------- //
34
- const baseState = proxy<ConnectionsControllerState>({
35
- activeNamespace: undefined,
36
- connections: new Map<ChainNamespace, Connection>(),
37
- networks: []
38
- });
39
-
40
- const derivedState = derive(
41
- {
42
- activeAddress: (get): CaipAddress | undefined => {
43
- const snap = get(baseState);
44
-
45
- if (!snap.activeNamespace) {
46
- return undefined;
47
- }
48
-
49
- const connection = snap.connections.get(snap.activeNamespace);
50
-
51
- if (!connection || !connection.accounts || connection.accounts.length === 0) {
52
- return undefined;
53
- }
54
-
55
- //TODO: what happens if there are several accounts on the same chain?
56
- const activeAccount = connection.accounts.find(account =>
57
- account.startsWith(connection.caipNetwork)
58
- );
59
-
60
- return activeAccount;
61
- },
62
- activeBalance: (get): Balance | undefined => {
63
- const snap = get(baseState);
64
-
65
- if (!snap.activeNamespace) return undefined;
66
- const connection = snap.connections.get(snap.activeNamespace);
67
-
68
- if (!connection || !connection.accounts || connection.accounts.length === 0) {
69
- return undefined;
70
- }
71
-
72
- const activeAccount = connection.accounts.find(account =>
73
- account.startsWith(connection.caipNetwork)
74
- );
75
-
76
- if (
77
- !connection ||
78
- !connection.balances ||
79
- !activeAccount ||
80
- Object.keys(connection.balances).length === 0
81
- ) {
82
- return undefined;
83
- }
84
-
85
- return connection.balances[activeAccount];
86
- },
87
- activeNetwork: (get): AppKitNetwork | undefined => {
88
- const snap = get(baseState);
89
-
90
- if (!snap.activeNamespace) return undefined;
91
-
92
- const connection = snap.connections.get(snap.activeNamespace);
93
-
94
- if (!connection) return undefined;
95
-
96
- return snap.networks.find(
97
- network =>
98
- network.chainNamespace === snap.activeNamespace &&
99
- network.id?.toString() === connection.caipNetwork?.split(':')[1]
100
- );
101
- },
102
- activeCaipNetworkId: (get): CaipNetworkId | undefined => {
103
- const snap = get(baseState);
104
-
105
- if (!snap.activeNamespace) return undefined;
106
-
107
- const connection = snap.connections.get(snap.activeNamespace);
108
-
109
- if (!connection) return undefined;
110
-
111
- return connection.caipNetwork;
112
- },
113
- walletInfo: (get): WalletInfo | undefined => {
114
- const snap = get(baseState);
115
-
116
- if (!snap.activeNamespace) return undefined;
117
-
118
- return snap.connections.get(snap.activeNamespace)?.wallet;
119
- }
120
- },
121
- {
122
- proxy: baseState // Link derived proxy to the base state proxy
123
- }
124
- );
125
-
126
- // -- Controller ---------------------------------------- //
127
- export const ConnectionsController = {
128
- state: derivedState,
129
-
130
- setActiveNamespace(namespace?: ChainNamespace) {
131
- baseState.activeNamespace = namespace;
132
- StorageUtil.setActiveNamespace(namespace);
133
- },
134
-
135
- storeConnection({
136
- namespace,
137
- adapter,
138
- accounts,
139
- chains,
140
- wallet,
141
- caipNetwork
142
- }: {
143
- namespace: ChainNamespace;
144
- adapter: BlockchainAdapter;
145
- accounts: CaipAddress[];
146
- chains: CaipNetworkId[];
147
- wallet?: WalletInfo;
148
- caipNetwork?: CaipNetworkId;
149
- }) {
150
- const newConnectionEntry = {
151
- balances: {},
152
- caipNetwork: caipNetwork ?? chains[0]!,
153
- adapter: ref(adapter),
154
- accounts,
155
- chains,
156
- wallet
157
- };
158
-
159
- // Create a new Map to ensure Valtio detects the change
160
- const newConnectionsMap = new Map(baseState.connections);
161
- newConnectionsMap.set(namespace, newConnectionEntry);
162
- baseState.connections = newConnectionsMap;
163
- },
164
-
165
- updateAccounts(namespace: ChainNamespace, accounts: CaipAddress[]) {
166
- const connection = baseState.connections.get(namespace);
167
- if (!connection) {
168
- return;
169
- }
170
-
171
- const newConnectionsMap = new Map(baseState.connections);
172
- const updatedConnection = { ...connection, accounts };
173
- newConnectionsMap.set(namespace, updatedConnection);
174
- baseState.connections = newConnectionsMap;
175
- },
176
-
177
- updateBalance(namespace: ChainNamespace, address: CaipAddress, balance: Balance) {
178
- const connection = baseState.connections.get(namespace);
179
- if (!connection) {
180
- return;
181
- }
182
-
183
- const newBalances = { ...connection.balances, [address]: balance };
184
- const updatedConnection = { ...connection, balances: newBalances };
185
- const newConnectionsMap = new Map(baseState.connections);
186
- newConnectionsMap.set(namespace, updatedConnection);
187
- baseState.connections = newConnectionsMap;
188
- },
189
-
190
- setActiveNetwork(namespace: ChainNamespace, networkId: CaipNetworkId) {
191
- const connection = baseState.connections.get(namespace);
192
-
193
- if (!connection) {
194
- return;
195
- }
196
-
197
- baseState.connections.set(namespace, {
198
- ...connection,
199
- caipNetwork: networkId
200
- });
201
- },
202
-
203
- setNetworks(networks: AppKitNetwork[]) {
204
- baseState.networks = networks;
205
- },
206
-
207
- getConnectedNetworks() {
208
- return baseState.networks.filter(
209
- network =>
210
- baseState.connections
211
- .get(network.chainNamespace)
212
- ?.accounts.some(account => account.startsWith(network.caipNetworkId))
213
- );
214
- },
215
-
216
- async disconnect(namespace: ChainNamespace, isInternal = true) {
217
- const connection = baseState.connections.get(namespace);
218
- if (!connection) return;
219
-
220
- // Get the current connector from the adapter
221
- const connector = connection.adapter.connector;
222
- if (!connector) return;
223
-
224
- // Find all namespaces that use the same connector
225
- const namespacesUsingConnector = Array.from(baseState.connections.keys()).filter(
226
- ns => baseState.connections.get(ns)?.adapter.connector === connector
227
- );
228
-
229
- // Unsubscribe all event listeners from the adapter
230
- namespacesUsingConnector.forEach(ns => {
231
- const _connection = baseState.connections.get(ns);
232
- if (_connection?.adapter) {
233
- _connection.adapter.removeAllListeners();
234
- }
235
- });
236
-
237
- // Disconnect the adapter
238
- if (isInternal) {
239
- await connection.adapter.disconnect();
240
- }
241
-
242
- // Remove all namespaces that used this connector
243
- const newConnectionsMap = new Map(baseState.connections);
244
- namespacesUsingConnector.forEach(ns => {
245
- newConnectionsMap.delete(ns);
246
- });
247
- baseState.connections = newConnectionsMap;
248
-
249
- // Remove activeNamespace if it is in the list of namespaces using the connector
250
- if (
251
- baseState.activeNamespace &&
252
- (baseState.activeNamespace === namespace ||
253
- namespacesUsingConnector.includes(baseState.activeNamespace))
254
- ) {
255
- baseState.activeNamespace = undefined;
256
- StorageUtil.setActiveNamespace(undefined);
257
- }
258
- },
259
-
260
- parseUnits(value: string, decimals: number) {
261
- if (!baseState.activeNamespace) return undefined;
262
-
263
- return baseState.connections
264
- .get(baseState.activeNamespace)
265
- ?.adapter.parseUnits(value, decimals);
266
- },
267
-
268
- async signMessage(address: CaipAddress, message: string) {
269
- if (!baseState.activeNamespace) return undefined;
270
-
271
- const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
272
-
273
- const evmAddress = address.split(':')[2];
274
- const chainId = address.split(':')[1];
275
- if (adapter instanceof EVMAdapter && evmAddress && chainId) {
276
- return adapter.signMessage(evmAddress, message, chainId);
277
- }
278
-
279
- return undefined;
280
- },
281
-
282
- async sendTransaction(args: any) {
283
- if (!baseState.activeNamespace) return undefined;
284
-
285
- const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
286
-
287
- if (adapter instanceof EVMAdapter) {
288
- return adapter.sendTransaction(args);
289
- }
290
-
291
- return undefined;
292
- },
293
-
294
- async estimateGas(args: any) {
295
- if (!baseState.activeNamespace) return undefined;
296
-
297
- const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
298
-
299
- if (adapter instanceof EVMAdapter) {
300
- return adapter.estimateGas(args);
301
- }
302
-
303
- return undefined;
304
- }
305
- };