@reown/appkit-core-react-native 0.0.0-feat-multi-siwe-20250623183423 → 0.0.0-feat-onramp-20250626173252

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 (159) 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/EnsController.js +4 -4
  10. package/lib/commonjs/controllers/EnsController.js.map +1 -1
  11. package/lib/commonjs/controllers/EventsController.js +4 -4
  12. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  13. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  14. package/lib/commonjs/controllers/OnRampController.js +60 -20
  15. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  16. package/lib/commonjs/controllers/OptionsController.js +3 -8
  17. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  18. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  19. package/lib/commonjs/controllers/SendController.js +10 -10
  20. package/lib/commonjs/controllers/SendController.js.map +1 -1
  21. package/lib/commonjs/controllers/SwapController.js +40 -51
  22. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  23. package/lib/commonjs/controllers/ThemeController.js +1 -9
  24. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  25. package/lib/commonjs/controllers/TransactionsController.js +5 -5
  26. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  27. package/lib/commonjs/index.js +3 -3
  28. package/lib/commonjs/index.js.map +1 -1
  29. package/lib/commonjs/utils/AssetUtil.js +6 -5
  30. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  31. package/lib/commonjs/utils/ConnectionUtil.js +33 -0
  32. package/lib/commonjs/utils/ConnectionUtil.js.map +1 -0
  33. package/lib/commonjs/utils/ConstantsUtil.js +7 -537
  34. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  35. package/lib/commonjs/utils/CoreHelperUtil.js +1 -1
  36. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  37. package/lib/commonjs/utils/StorageUtil.js +33 -67
  38. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  39. package/lib/commonjs/utils/SwapApiUtil.js +10 -19
  40. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  41. package/lib/module/controllers/ApiController.js +11 -11
  42. package/lib/module/controllers/ApiController.js.map +1 -1
  43. package/lib/module/controllers/BlockchainApiController.js +24 -102
  44. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  45. package/lib/module/controllers/ConnectionController.js +1 -7
  46. package/lib/module/controllers/ConnectionController.js.map +1 -1
  47. package/lib/module/controllers/ConnectorController.js +0 -1
  48. package/lib/module/controllers/ConnectorController.js.map +1 -1
  49. package/lib/module/controllers/EnsController.js +2 -2
  50. package/lib/module/controllers/EnsController.js.map +1 -1
  51. package/lib/module/controllers/EventsController.js +1 -1
  52. package/lib/module/controllers/EventsController.js.map +1 -1
  53. package/lib/module/controllers/ModalController.js.map +1 -1
  54. package/lib/module/controllers/OnRampController.js +60 -20
  55. package/lib/module/controllers/OnRampController.js.map +1 -1
  56. package/lib/module/controllers/OptionsController.js +3 -8
  57. package/lib/module/controllers/OptionsController.js.map +1 -1
  58. package/lib/module/controllers/RouterController.js.map +1 -1
  59. package/lib/module/controllers/SendController.js +7 -7
  60. package/lib/module/controllers/SendController.js.map +1 -1
  61. package/lib/module/controllers/SwapController.js +40 -51
  62. package/lib/module/controllers/SwapController.js.map +1 -1
  63. package/lib/module/controllers/ThemeController.js +1 -9
  64. package/lib/module/controllers/ThemeController.js.map +1 -1
  65. package/lib/module/controllers/TransactionsController.js +3 -3
  66. package/lib/module/controllers/TransactionsController.js.map +1 -1
  67. package/lib/module/index.js +1 -1
  68. package/lib/module/index.js.map +1 -1
  69. package/lib/module/utils/AssetUtil.js +6 -5
  70. package/lib/module/utils/AssetUtil.js.map +1 -1
  71. package/lib/module/utils/ConnectionUtil.js +27 -0
  72. package/lib/module/utils/ConnectionUtil.js.map +1 -0
  73. package/lib/module/utils/ConstantsUtil.js +7 -537
  74. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  75. package/lib/module/utils/CoreHelperUtil.js +1 -1
  76. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  77. package/lib/module/utils/StorageUtil.js +33 -67
  78. package/lib/module/utils/StorageUtil.js.map +1 -1
  79. package/lib/module/utils/SwapApiUtil.js +10 -19
  80. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  81. package/lib/typescript/controllers/AccountController.d.ts +2 -2
  82. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  83. package/lib/typescript/controllers/ApiController.d.ts +1 -1
  84. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  85. package/lib/typescript/controllers/BlockchainApiController.d.ts +3 -15
  86. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  87. package/lib/typescript/controllers/ConnectionController.d.ts +0 -2
  88. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  89. package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -1
  90. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  91. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  92. package/lib/typescript/controllers/NetworkController.d.ts +1 -1
  93. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
  94. package/lib/typescript/controllers/OnRampController.d.ts +3 -1
  95. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  96. package/lib/typescript/controllers/OptionsController.d.ts +2 -5
  97. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  98. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  99. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  100. package/lib/typescript/controllers/RouterController.d.ts +1 -2
  101. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  102. package/lib/typescript/controllers/SwapController.d.ts +1 -1
  103. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  104. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  105. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  106. package/lib/typescript/index.d.ts +1 -1
  107. package/lib/typescript/index.d.ts.map +1 -1
  108. package/lib/typescript/utils/AssetUtil.d.ts +2 -2
  109. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  110. package/lib/typescript/utils/ConnectionUtil.d.ts +4 -0
  111. package/lib/typescript/utils/ConnectionUtil.d.ts.map +1 -0
  112. package/lib/typescript/utils/ConstantsUtil.d.ts +1 -421
  113. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  114. package/lib/typescript/utils/CoreHelperUtil.d.ts +2 -2
  115. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  116. package/lib/typescript/utils/FetchUtil.d.ts +1 -1
  117. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  118. package/lib/typescript/utils/NetworkUtil.d.ts +1 -1
  119. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
  120. package/lib/typescript/utils/StorageUtil.d.ts +4 -14
  121. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  122. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  123. package/lib/typescript/utils/TypeUtil.d.ts +32 -5
  124. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  125. package/package.json +4 -4
  126. package/src/controllers/AccountController.ts +2 -2
  127. package/src/controllers/ApiController.ts +7 -12
  128. package/src/controllers/BlockchainApiController.ts +27 -135
  129. package/src/controllers/ConnectionController.ts +2 -10
  130. package/src/controllers/ConnectorController.ts +0 -1
  131. package/src/controllers/EnsController.ts +2 -2
  132. package/src/controllers/EventsController.ts +1 -1
  133. package/src/controllers/ModalController.ts +1 -2
  134. package/src/controllers/NetworkController.ts +1 -1
  135. package/src/controllers/OnRampController.ts +91 -32
  136. package/src/controllers/OptionsController.ts +13 -14
  137. package/src/controllers/PublicStateController.ts +1 -1
  138. package/src/controllers/RouterController.ts +1 -2
  139. package/src/controllers/SendController.ts +7 -7
  140. package/src/controllers/SwapController.ts +48 -58
  141. package/src/controllers/ThemeController.ts +2 -11
  142. package/src/controllers/TransactionsController.ts +3 -3
  143. package/src/index.ts +1 -5
  144. package/src/utils/AssetUtil.ts +7 -5
  145. package/src/utils/ConnectionUtil.ts +27 -0
  146. package/src/utils/ConstantsUtil.ts +7 -542
  147. package/src/utils/CoreHelperUtil.ts +4 -9
  148. package/src/utils/FetchUtil.ts +1 -1
  149. package/src/utils/NetworkUtil.ts +1 -1
  150. package/src/utils/StorageUtil.ts +39 -82
  151. package/src/utils/SwapApiUtil.ts +10 -22
  152. package/src/utils/TypeUtil.ts +39 -8
  153. package/lib/commonjs/controllers/ConnectionsController.js +0 -215
  154. package/lib/commonjs/controllers/ConnectionsController.js.map +0 -1
  155. package/lib/module/controllers/ConnectionsController.js +0 -210
  156. package/lib/module/controllers/ConnectionsController.js.map +0 -1
  157. package/lib/typescript/controllers/ConnectionsController.d.ts +0 -44
  158. package/lib/typescript/controllers/ConnectionsController.d.ts.map +0 -1
  159. 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":"AAAA,SAASA,KAAK,EAAEC,GAAG,QAAQ,QAAQ;AACnC,SAASC,MAAM,QAAQ,cAAc;AACrC,SACEC,UAAU,QAQL,mCAAmC;AAC1C,SAASC,WAAW,QAAQ,sBAAsB;;AAElD;;AAGA;;AAeA;AACA,MAAMC,SAAS,GAAGL,KAAK,CAA6B;EAClDM,eAAe,EAAEC,SAAS;EAC1BC,WAAW,EAAE,IAAIC,GAAG,CAA6B,CAAC;EAClDC,QAAQ,EAAE;AACZ,CAAC,CAAC;AAEF,MAAMC,YAAY,GAAGT,MAAM,CACzB;EACEU,aAAa,EAAGC,GAAG,IAA8B;IAC/C,MAAMC,IAAI,GAAGD,GAAG,CAACR,SAAS,CAAC;IAE3B,IAAI,CAACS,IAAI,CAACR,eAAe,EAAE;MACzB,OAAOC,SAAS;IAClB;IAEA,MAAMQ,UAAU,GAAGD,IAAI,CAACN,WAAW,CAACK,GAAG,CAACC,IAAI,CAACR,eAAe,CAAC;IAE7D,IAAI,CAACS,UAAU,IAAI,CAACA,UAAU,CAACC,QAAQ,IAAID,UAAU,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC,EAAE;MAC3E,OAAOV,SAAS;IAClB;;IAEA;IACA,MAAMW,aAAa,GAAGH,UAAU,CAACC,QAAQ,CAACG,IAAI,CAACC,OAAO,IACpDA,OAAO,CAACC,UAAU,CAACN,UAAU,CAACO,WAAW,CAC3C,CAAC;IAED,OAAOJ,aAAa;EACtB,CAAC;EACDK,aAAa,EAAGV,GAAG,IAA0B;IAC3C,MAAMC,IAAI,GAAGD,GAAG,CAACR,SAAS,CAAC;IAE3B,IAAI,CAACS,IAAI,CAACR,eAAe,EAAE,OAAOC,SAAS;IAC3C,MAAMQ,UAAU,GAAGD,IAAI,CAACN,WAAW,CAACK,GAAG,CAACC,IAAI,CAACR,eAAe,CAAC;IAE7D,IAAI,CAACS,UAAU,IAAI,CAACA,UAAU,CAACC,QAAQ,IAAID,UAAU,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC,EAAE;MAC3E,OAAOV,SAAS;IAClB;IAEA,MAAMW,aAAa,GAAGH,UAAU,CAACC,QAAQ,CAACG,IAAI,CAACC,OAAO,IACpDA,OAAO,CAACC,UAAU,CAACN,UAAU,CAACO,WAAW,CAC3C,CAAC;IAED,IACE,CAACP,UAAU,IACX,CAACA,UAAU,CAACS,QAAQ,IACpB,CAACN,aAAa,IACdO,MAAM,CAACC,IAAI,CAACX,UAAU,CAACS,QAAQ,CAAC,CAACP,MAAM,KAAK,CAAC,EAC7C;MACA,OAAOV,SAAS;IAClB;IAEA,OAAOQ,UAAU,CAACS,QAAQ,CAACN,aAAa,CAAC;EAC3C,CAAC;EACDS,aAAa,EAAGd,GAAG,IAAgC;IACjD,MAAMC,IAAI,GAAGD,GAAG,CAACR,SAAS,CAAC;IAE3B,IAAI,CAACS,IAAI,CAACR,eAAe,EAAE,OAAOC,SAAS;IAE3C,MAAMQ,UAAU,GAAGD,IAAI,CAACN,WAAW,CAACK,GAAG,CAACC,IAAI,CAACR,eAAe,CAAC;IAE7D,IAAI,CAACS,UAAU,EAAE,OAAOR,SAAS;IAEjC,OAAOO,IAAI,CAACJ,QAAQ,CAACS,IAAI,CACvBS,OAAO,IACLA,OAAO,CAACC,cAAc,KAAKf,IAAI,CAACR,eAAe,IAC/CsB,OAAO,CAACE,EAAE,EAAEC,QAAQ,CAAC,CAAC,KAAKhB,UAAU,CAACO,WAAW,EAAEU,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CACnE,CAAC;EACH,CAAC;EACDC,mBAAmB,EAAGpB,GAAG,IAAgC;IACvD,MAAMC,IAAI,GAAGD,GAAG,CAACR,SAAS,CAAC;IAE3B,IAAI,CAACS,IAAI,CAACR,eAAe,EAAE,OAAOC,SAAS;IAE3C,MAAMQ,UAAU,GAAGD,IAAI,CAACN,WAAW,CAACK,GAAG,CAACC,IAAI,CAACR,eAAe,CAAC;IAE7D,IAAI,CAACS,UAAU,EAAE,OAAOR,SAAS;IAEjC,OAAOQ,UAAU,CAACO,WAAW;EAC/B,CAAC;EACDY,UAAU,EAAGrB,GAAG,IAA6B;IAC3C,MAAMC,IAAI,GAAGD,GAAG,CAACR,SAAS,CAAC;IAE3B,IAAI,CAACS,IAAI,CAACR,eAAe,EAAE,OAAOC,SAAS;IAE3C,OAAOO,IAAI,CAACN,WAAW,CAACK,GAAG,CAACC,IAAI,CAACR,eAAe,CAAC,EAAE6B,MAAM;EAC3D;AACF,CAAC,EACD;EACEnC,KAAK,EAAEK,SAAS,CAAC;AACnB,CACF,CAAC;;AAED;AACA,OAAO,MAAM+B,qBAAqB,GAAG;EACnCC,KAAK,EAAE1B,YAAY;EAEnB2B,kBAAkBA,CAACC,SAA0B,EAAE;IAC7ClC,SAAS,CAACC,eAAe,GAAGiC,SAAS;IACrCnC,WAAW,CAACkC,kBAAkB,CAACC,SAAS,CAAC;EAC3C,CAAC;EAEDC,eAAeA,CAAC;IACdD,SAAS;IACTE,OAAO;IACPzB,QAAQ;IACR0B,MAAM;IACNP,MAAM;IACNb;EAQF,CAAC,EAAE;IACD,MAAMqB,kBAAkB,GAAG;MACzBnB,QAAQ,EAAE,CAAC,CAAC;MACZF,WAAW,EAAEA,WAAW,IAAIoB,MAAM,CAAC,CAAC,CAAE;MACtCD,OAAO,EAAExC,GAAG,CAACwC,OAAO,CAAC;MACrBzB,QAAQ;MACR0B,MAAM;MACNP;IACF,CAAC;;IAED;IACA,MAAMS,iBAAiB,GAAG,IAAInC,GAAG,CAACJ,SAAS,CAACG,WAAW,CAAC;IACxDoC,iBAAiB,CAACC,GAAG,CAACN,SAAS,EAAEI,kBAAkB,CAAC;IACpDtC,SAAS,CAACG,WAAW,GAAGoC,iBAAiB;EAC3C,CAAC;EAEDE,cAAcA,CAACP,SAAyB,EAAEvB,QAAuB,EAAE;IACjE,MAAMD,UAAU,GAAGV,SAAS,CAACG,WAAW,CAACK,GAAG,CAAC0B,SAAS,CAAC;IACvD,IAAI,CAACxB,UAAU,EAAE;MACf;IACF;IAEA,MAAM6B,iBAAiB,GAAG,IAAInC,GAAG,CAACJ,SAAS,CAACG,WAAW,CAAC;IACxD,MAAMuC,iBAAiB,GAAG;MAAE,GAAGhC,UAAU;MAAEC;IAAS,CAAC;IACrD4B,iBAAiB,CAACC,GAAG,CAACN,SAAS,EAAEQ,iBAAiB,CAAC;IACnD1C,SAAS,CAACG,WAAW,GAAGoC,iBAAiB;EAC3C,CAAC;EAEDI,aAAaA,CAACT,SAAyB,EAAEU,OAAoB,EAAEC,OAAgB,EAAE;IAC/E,MAAMnC,UAAU,GAAGV,SAAS,CAACG,WAAW,CAACK,GAAG,CAAC0B,SAAS,CAAC;IACvD,IAAI,CAACxB,UAAU,EAAE;MACf;IACF;IAEA,MAAMoC,WAAW,GAAG;MAAE,GAAGpC,UAAU,CAACS,QAAQ;MAAE,CAACyB,OAAO,GAAGC;IAAQ,CAAC;IAClE,MAAMH,iBAAiB,GAAG;MAAE,GAAGhC,UAAU;MAAES,QAAQ,EAAE2B;IAAY,CAAC;IAClE,MAAMP,iBAAiB,GAAG,IAAInC,GAAG,CAACJ,SAAS,CAACG,WAAW,CAAC;IACxDoC,iBAAiB,CAACC,GAAG,CAACN,SAAS,EAAEQ,iBAAiB,CAAC;IACnD1C,SAAS,CAACG,WAAW,GAAGoC,iBAAiB;EAC3C,CAAC;EAEDQ,gBAAgBA,CAACb,SAAyB,EAAEc,SAAwB,EAAE;IACpE,MAAMtC,UAAU,GAAGV,SAAS,CAACG,WAAW,CAACK,GAAG,CAAC0B,SAAS,CAAC;IAEvD,IAAI,CAACxB,UAAU,EAAE;MACf;IACF;IAEAV,SAAS,CAACG,WAAW,CAACqC,GAAG,CAACN,SAAS,EAAE;MACnC,GAAGxB,UAAU;MACbO,WAAW,EAAE+B;IACf,CAAC,CAAC;EACJ,CAAC;EAEDC,WAAWA,CAAC5C,QAAyB,EAAE;IACrCL,SAAS,CAACK,QAAQ,GAAGA,QAAQ;EAC/B,CAAC;EAED6C,oBAAoBA,CAAA,EAAG;IACrB,OAAOlD,SAAS,CAACK,QAAQ,CAAC8C,MAAM,CAC9B5B,OAAO,IACLvB,SAAS,CAACG,WAAW,CAClBK,GAAG,CAACe,OAAO,CAACC,cAAc,CAAC,EAC1Bb,QAAQ,CAACyC,IAAI,CAACrC,OAAO,IAAIA,OAAO,CAACC,UAAU,CAACO,OAAO,CAAC8B,aAAa,CAAC,CAC1E,CAAC;EACH,CAAC;EAED,MAAMC,UAAUA,CAACpB,SAAyB,EAAEqB,UAAU,GAAG,IAAI,EAAE;IAC7D,MAAM7C,UAAU,GAAGV,SAAS,CAACG,WAAW,CAACK,GAAG,CAAC0B,SAAS,CAAC;IACvD,IAAI,CAACxB,UAAU,EAAE;;IAEjB;IACA,MAAM8C,SAAS,GAAG9C,UAAU,CAAC0B,OAAO,CAACoB,SAAS;IAC9C,IAAI,CAACA,SAAS,EAAE;;IAEhB;IACA,MAAMC,wBAAwB,GAAGC,KAAK,CAACC,IAAI,CAAC3D,SAAS,CAACG,WAAW,CAACkB,IAAI,CAAC,CAAC,CAAC,CAAC8B,MAAM,CAC9ES,EAAE,IAAI5D,SAAS,CAACG,WAAW,CAACK,GAAG,CAACoD,EAAE,CAAC,EAAExB,OAAO,CAACoB,SAAS,KAAKA,SAC7D,CAAC;;IAED;IACAC,wBAAwB,CAACI,OAAO,CAACD,EAAE,IAAI;MACrC,MAAME,WAAW,GAAG9D,SAAS,CAACG,WAAW,CAACK,GAAG,CAACoD,EAAE,CAAC;MACjD,IAAIE,WAAW,EAAE1B,OAAO,EAAE;QACxB0B,WAAW,CAAC1B,OAAO,CAAC2B,kBAAkB,CAAC,CAAC;MAC1C;IACF,CAAC,CAAC;;IAEF;IACA,IAAIR,UAAU,EAAE;MACd,MAAM7C,UAAU,CAAC0B,OAAO,CAACkB,UAAU,CAAC,CAAC;IACvC;;IAEA;IACA,MAAMf,iBAAiB,GAAG,IAAInC,GAAG,CAACJ,SAAS,CAACG,WAAW,CAAC;IACxDsD,wBAAwB,CAACI,OAAO,CAACD,EAAE,IAAI;MACrCrB,iBAAiB,CAACyB,MAAM,CAACJ,EAAE,CAAC;IAC9B,CAAC,CAAC;IACF5D,SAAS,CAACG,WAAW,GAAGoC,iBAAiB;;IAEzC;IACA,IACEvC,SAAS,CAACC,eAAe,KACxBD,SAAS,CAACC,eAAe,KAAKiC,SAAS,IACtCuB,wBAAwB,CAACQ,QAAQ,CAACjE,SAAS,CAACC,eAAe,CAAC,CAAC,EAC/D;MACAD,SAAS,CAACC,eAAe,GAAGC,SAAS;MACrCH,WAAW,CAACkC,kBAAkB,CAAC/B,SAAS,CAAC;IAC3C;EACF,CAAC;EAEDgE,UAAUA,CAACC,KAAa,EAAEC,QAAgB,EAAE;IAC1C,IAAI,CAACpE,SAAS,CAACC,eAAe,EAAE,OAAOC,SAAS;IAEhD,OAAOF,SAAS,CAACG,WAAW,CACzBK,GAAG,CAACR,SAAS,CAACC,eAAe,CAAC,EAC7BmC,OAAO,CAAC8B,UAAU,CAACC,KAAK,EAAEC,QAAQ,CAAC;EACzC,CAAC;EAED,MAAMC,WAAWA,CAACzB,OAAoB,EAAE0B,OAAe,EAAE;IACvD,IAAI,CAACtE,SAAS,CAACC,eAAe,EAAE,OAAOC,SAAS;IAEhD,MAAMkC,OAAO,GAAGpC,SAAS,CAACG,WAAW,CAACK,GAAG,CAACR,SAAS,CAACC,eAAe,CAAC,EAAEmC,OAAO;IAE7E,MAAMmC,UAAU,GAAG3B,OAAO,CAACjB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM6C,OAAO,GAAG5B,OAAO,CAACjB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,IAAIS,OAAO,YAAYtC,UAAU,IAAIyE,UAAU,IAAIC,OAAO,EAAE;MAC1D,OAAOpC,OAAO,CAACiC,WAAW,CAACE,UAAU,EAAED,OAAO,EAAEE,OAAO,CAAC;IAC1D;IAEA,OAAOtE,SAAS;EAClB,CAAC;EAED,MAAMuE,eAAeA,CAACC,IAAS,EAAE;IAC/B,IAAI,CAAC1E,SAAS,CAACC,eAAe,EAAE,OAAOC,SAAS;IAEhD,MAAMkC,OAAO,GAAGpC,SAAS,CAACG,WAAW,CAACK,GAAG,CAACR,SAAS,CAACC,eAAe,CAAC,EAAEmC,OAAO;IAE7E,IAAIA,OAAO,YAAYtC,UAAU,EAAE;MACjC,OAAOsC,OAAO,CAACqC,eAAe,CAACC,IAAI,CAAC;IACtC;IAEA,OAAOxE,SAAS;EAClB,CAAC;EAED,MAAMyE,WAAWA,CAACD,IAAS,EAAE;IAC3B,IAAI,CAAC1E,SAAS,CAACC,eAAe,EAAE,OAAOC,SAAS;IAEhD,MAAMkC,OAAO,GAAGpC,SAAS,CAACG,WAAW,CAACK,GAAG,CAACR,SAAS,CAACC,eAAe,CAAC,EAAEmC,OAAO;IAE7E,IAAIA,OAAO,YAAYtC,UAAU,EAAE;MACjC,OAAOsC,OAAO,CAACuC,WAAW,CAACD,IAAI,CAAC;IAClC;IAEA,OAAOxE,SAAS;EAClB;AACF,CAAC"}
@@ -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
- };