@reown/appkit-core-react-native 0.0.0-feat-onramp-20250602154313 → 0.0.0-feat-multichain-20250604171123
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.
- package/lib/commonjs/controllers/ApiController.js +11 -11
- package/lib/commonjs/controllers/ApiController.js.map +1 -1
- package/lib/commonjs/controllers/BlockchainApiController.js +102 -14
- package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
- package/lib/commonjs/controllers/ConnectionController.js +7 -1
- package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
- package/lib/commonjs/controllers/ConnectionsController.js +205 -0
- package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
- package/lib/commonjs/controllers/ConnectorController.js +1 -0
- package/lib/commonjs/controllers/ConnectorController.js.map +1 -1
- package/lib/commonjs/controllers/ModalController.js.map +1 -1
- package/lib/commonjs/controllers/OnRampController.js +1 -2
- package/lib/commonjs/controllers/OnRampController.js.map +1 -1
- package/lib/commonjs/controllers/OptionsController.js +3 -3
- package/lib/commonjs/controllers/OptionsController.js.map +1 -1
- package/lib/commonjs/controllers/RouterController.js.map +1 -1
- package/lib/commonjs/controllers/SendController.js +5 -5
- package/lib/commonjs/controllers/SendController.js.map +1 -1
- package/lib/commonjs/controllers/SwapController.js +51 -40
- package/lib/commonjs/controllers/SwapController.js.map +1 -1
- package/lib/commonjs/controllers/ThemeController.js +9 -1
- package/lib/commonjs/controllers/ThemeController.js.map +1 -1
- package/lib/commonjs/controllers/TransactionsController.js +2 -2
- package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
- package/lib/commonjs/index.js +3 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/AssetUtil.js +5 -6
- package/lib/commonjs/utils/AssetUtil.js.map +1 -1
- package/lib/commonjs/utils/ConstantsUtil.js +217 -7
- package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
- package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
- package/lib/commonjs/utils/StorageUtil.js +67 -0
- package/lib/commonjs/utils/StorageUtil.js.map +1 -1
- package/lib/commonjs/utils/SwapApiUtil.js +19 -10
- package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
- package/lib/module/controllers/ApiController.js +11 -11
- package/lib/module/controllers/ApiController.js.map +1 -1
- package/lib/module/controllers/BlockchainApiController.js +102 -14
- package/lib/module/controllers/BlockchainApiController.js.map +1 -1
- package/lib/module/controllers/ConnectionController.js +7 -1
- package/lib/module/controllers/ConnectionController.js.map +1 -1
- package/lib/module/controllers/ConnectionsController.js +200 -0
- package/lib/module/controllers/ConnectionsController.js.map +1 -0
- package/lib/module/controllers/ConnectorController.js +1 -0
- package/lib/module/controllers/ConnectorController.js.map +1 -1
- package/lib/module/controllers/ModalController.js.map +1 -1
- package/lib/module/controllers/OnRampController.js +1 -2
- package/lib/module/controllers/OnRampController.js.map +1 -1
- package/lib/module/controllers/OptionsController.js +3 -3
- package/lib/module/controllers/OptionsController.js.map +1 -1
- package/lib/module/controllers/RouterController.js.map +1 -1
- package/lib/module/controllers/SendController.js +5 -5
- package/lib/module/controllers/SendController.js.map +1 -1
- package/lib/module/controllers/SwapController.js +51 -40
- package/lib/module/controllers/SwapController.js.map +1 -1
- package/lib/module/controllers/ThemeController.js +9 -1
- package/lib/module/controllers/ThemeController.js.map +1 -1
- package/lib/module/controllers/TransactionsController.js +2 -2
- package/lib/module/controllers/TransactionsController.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/AssetUtil.js +5 -6
- package/lib/module/utils/AssetUtil.js.map +1 -1
- package/lib/module/utils/ConstantsUtil.js +217 -7
- package/lib/module/utils/ConstantsUtil.js.map +1 -1
- package/lib/module/utils/CoreHelperUtil.js.map +1 -1
- package/lib/module/utils/StorageUtil.js +67 -0
- package/lib/module/utils/StorageUtil.js.map +1 -1
- package/lib/module/utils/SwapApiUtil.js +19 -10
- package/lib/module/utils/SwapApiUtil.js.map +1 -1
- package/lib/typescript/controllers/AccountController.d.ts +2 -2
- package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
- package/lib/typescript/controllers/ApiController.d.ts +1 -1
- package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/BlockchainApiController.d.ts +14 -1
- package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/ConnectionController.d.ts +2 -0
- package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
- package/lib/typescript/controllers/ConnectionsController.d.ts +43 -0
- package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
- package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -1
- package/lib/typescript/controllers/ModalController.d.ts +1 -1
- package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
- package/lib/typescript/controllers/NetworkController.d.ts +1 -1
- package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
- package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
- package/lib/typescript/controllers/OptionsController.d.ts +3 -2
- package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
- package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
- package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
- package/lib/typescript/controllers/RouterController.d.ts +2 -1
- package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
- package/lib/typescript/controllers/SwapController.d.ts +1 -1
- package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
- package/lib/typescript/controllers/ThemeController.d.ts +1 -1
- package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/AssetUtil.d.ts +2 -2
- package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
- package/lib/typescript/utils/ConstantsUtil.d.ts +103 -1
- package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
- package/lib/typescript/utils/CoreHelperUtil.d.ts +2 -2
- package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
- package/lib/typescript/utils/FetchUtil.d.ts +1 -1
- package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
- package/lib/typescript/utils/NetworkUtil.d.ts +1 -1
- package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
- package/lib/typescript/utils/StorageUtil.d.ts +13 -1
- package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
- package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
- package/lib/typescript/utils/TypeUtil.d.ts +3 -14
- package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/controllers/AccountController.ts +2 -2
- package/src/controllers/ApiController.ts +12 -7
- package/src/controllers/BlockchainApiController.ts +134 -14
- package/src/controllers/ConnectionController.ts +10 -2
- package/src/controllers/ConnectionsController.ts +291 -0
- package/src/controllers/ConnectorController.ts +1 -0
- package/src/controllers/ModalController.ts +2 -1
- package/src/controllers/NetworkController.ts +1 -1
- package/src/controllers/OnRampController.ts +1 -5
- package/src/controllers/OptionsController.ts +7 -6
- package/src/controllers/PublicStateController.ts +1 -1
- package/src/controllers/RouterController.ts +2 -1
- package/src/controllers/SendController.ts +5 -5
- package/src/controllers/SwapController.ts +58 -48
- package/src/controllers/ThemeController.ts +11 -2
- package/src/controllers/TransactionsController.ts +2 -2
- package/src/index.ts +5 -1
- package/src/utils/AssetUtil.ts +5 -7
- package/src/utils/ConstantsUtil.ts +221 -7
- package/src/utils/CoreHelperUtil.ts +8 -3
- package/src/utils/FetchUtil.ts +1 -1
- package/src/utils/NetworkUtil.ts +1 -1
- package/src/utils/StorageUtil.ts +82 -1
- package/src/utils/SwapApiUtil.ts +22 -10
- package/src/utils/TypeUtil.ts +5 -19
- package/lib/commonjs/utils/ConnectionUtil.js +0 -33
- package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
- package/lib/module/utils/ConnectionUtil.js +0 -27
- package/lib/module/utils/ConnectionUtil.js.map +0 -1
- package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
- package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
- package/src/utils/ConnectionUtil.ts +0 -27
|
@@ -0,0 +1,291 @@
|
|
|
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 sendTransaction(args: any) {
|
|
269
|
+
if (!baseState.activeNamespace) return undefined;
|
|
270
|
+
|
|
271
|
+
const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
|
|
272
|
+
|
|
273
|
+
if (adapter instanceof EVMAdapter) {
|
|
274
|
+
return adapter.sendTransaction(args);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
return undefined;
|
|
278
|
+
},
|
|
279
|
+
|
|
280
|
+
async estimateGas(args: any) {
|
|
281
|
+
if (!baseState.activeNamespace) return undefined;
|
|
282
|
+
|
|
283
|
+
const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
|
|
284
|
+
|
|
285
|
+
if (adapter instanceof EVMAdapter) {
|
|
286
|
+
return adapter.estimateGas(args);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
return undefined;
|
|
290
|
+
}
|
|
291
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { proxy } from 'valtio';
|
|
2
2
|
import { AccountController } from './AccountController';
|
|
3
|
-
import {
|
|
3
|
+
import type { RouterControllerState } from './RouterController';
|
|
4
|
+
import { RouterController } from './RouterController';
|
|
4
5
|
import { PublicStateController } from './PublicStateController';
|
|
5
6
|
import { EventsController } from './EventsController';
|
|
6
7
|
import { ApiController } from './ApiController';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { proxy, ref } from 'valtio';
|
|
2
|
-
import type { CaipNetwork, CaipNetworkId } from '
|
|
2
|
+
import type { CaipNetwork, CaipNetworkId } from '@reown/appkit-common-react-native';
|
|
3
3
|
import { PublicStateController } from './PublicStateController';
|
|
4
4
|
import { NetworkUtil } from '@reown/appkit-common-react-native';
|
|
5
5
|
import { ConstantsUtil } from '../utils/ConstantsUtil';
|
|
@@ -134,10 +134,6 @@ export const OnRampController = {
|
|
|
134
134
|
|
|
135
135
|
setSelectedPaymentMethod(paymentMethod: OnRampPaymentMethod) {
|
|
136
136
|
state.selectedPaymentMethod = paymentMethod;
|
|
137
|
-
state.paymentMethods = [
|
|
138
|
-
paymentMethod,
|
|
139
|
-
...state.paymentMethods.filter(m => m.paymentMethod !== paymentMethod.paymentMethod)
|
|
140
|
-
];
|
|
141
137
|
|
|
142
138
|
this.clearQuotes();
|
|
143
139
|
},
|
|
@@ -188,7 +184,7 @@ export const OnRampController = {
|
|
|
188
184
|
selectedCurrency = state.purchaseCurrencies?.find(c => c.currencyCode === defaultCurrency);
|
|
189
185
|
}
|
|
190
186
|
|
|
191
|
-
state.purchaseCurrency = selectedCurrency
|
|
187
|
+
state.purchaseCurrency = selectedCurrency || state.purchaseCurrencies?.[0] || undefined;
|
|
192
188
|
},
|
|
193
189
|
|
|
194
190
|
getServiceProviderImage(serviceProviderName?: string) {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { proxy, ref } from 'valtio';
|
|
2
|
+
import type { Tokens } from '@reown/appkit-common-react-native';
|
|
2
3
|
import type {
|
|
3
4
|
CustomWallet,
|
|
4
5
|
Features,
|
|
5
6
|
Metadata,
|
|
6
7
|
ProjectId,
|
|
7
8
|
SdkType,
|
|
8
|
-
SdkVersion
|
|
9
|
-
Tokens
|
|
9
|
+
SdkVersion
|
|
10
10
|
} from '../utils/TypeUtil';
|
|
11
|
+
|
|
11
12
|
import { ConstantsUtil } from '../utils/ConstantsUtil';
|
|
12
13
|
|
|
13
14
|
// -- Types --------------------------------------------- //
|
|
@@ -17,7 +18,7 @@ export interface ClipboardClient {
|
|
|
17
18
|
|
|
18
19
|
export interface OptionsControllerState {
|
|
19
20
|
projectId: ProjectId;
|
|
20
|
-
|
|
21
|
+
clipboardClient?: ClipboardClient;
|
|
21
22
|
includeWalletIds?: string[];
|
|
22
23
|
excludeWalletIds?: string[];
|
|
23
24
|
featuredWalletIds?: string[];
|
|
@@ -47,7 +48,7 @@ export const OptionsController = {
|
|
|
47
48
|
state,
|
|
48
49
|
|
|
49
50
|
setClipboardClient(client: ClipboardClient) {
|
|
50
|
-
state.
|
|
51
|
+
state.clipboardClient = ref(client);
|
|
51
52
|
},
|
|
52
53
|
|
|
53
54
|
setProjectId(projectId: OptionsControllerState['projectId']) {
|
|
@@ -103,11 +104,11 @@ export const OptionsController = {
|
|
|
103
104
|
},
|
|
104
105
|
|
|
105
106
|
isClipboardAvailable() {
|
|
106
|
-
return !!state.
|
|
107
|
+
return !!state.clipboardClient;
|
|
107
108
|
},
|
|
108
109
|
|
|
109
110
|
copyToClipboard(value: string) {
|
|
110
|
-
const client = state.
|
|
111
|
+
const client = state.clipboardClient;
|
|
111
112
|
if (client) {
|
|
112
113
|
client?.setString(value);
|
|
113
114
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { proxy, subscribe as sub } from 'valtio';
|
|
2
2
|
import { subscribeKey as subKey } from 'valtio/utils';
|
|
3
|
-
import type { CaipNetworkId } from '
|
|
3
|
+
import type { CaipNetworkId } from '@reown/appkit-common-react-native';
|
|
4
4
|
|
|
5
5
|
// -- Types --------------------------------------------- //
|
|
6
6
|
export interface PublicStateControllerState {
|
|
@@ -6,8 +6,8 @@ import { ConnectionController } from './ConnectionController';
|
|
|
6
6
|
import { SnackController } from './SnackController';
|
|
7
7
|
import { CoreHelperUtil } from '../utils/CoreHelperUtil';
|
|
8
8
|
import { EventsController } from './EventsController';
|
|
9
|
-
import { NetworkController } from './NetworkController';
|
|
10
9
|
import { RouterController } from './RouterController';
|
|
10
|
+
import { ConnectionsController } from './ConnectionsController';
|
|
11
11
|
|
|
12
12
|
// -- Types --------------------------------------------- //
|
|
13
13
|
export interface TxParams {
|
|
@@ -100,7 +100,7 @@ export const SendController = {
|
|
|
100
100
|
isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
|
|
101
101
|
token: this.state.token.address,
|
|
102
102
|
amount: this.state.sendTokenAmount,
|
|
103
|
-
network:
|
|
103
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
|
|
104
104
|
}
|
|
105
105
|
});
|
|
106
106
|
this.sendERC20Token({
|
|
@@ -123,7 +123,7 @@ export const SendController = {
|
|
|
123
123
|
isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
|
|
124
124
|
token: this.state.token?.symbol,
|
|
125
125
|
amount: this.state.sendTokenAmount,
|
|
126
|
-
network:
|
|
126
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
|
|
127
127
|
}
|
|
128
128
|
});
|
|
129
129
|
this.sendNativeToken({
|
|
@@ -165,7 +165,7 @@ export const SendController = {
|
|
|
165
165
|
isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
|
|
166
166
|
token: this.state.token?.symbol || '',
|
|
167
167
|
amount: params.sendTokenAmount,
|
|
168
|
-
network:
|
|
168
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
|
|
169
169
|
}
|
|
170
170
|
});
|
|
171
171
|
this.resetSend();
|
|
@@ -178,7 +178,7 @@ export const SendController = {
|
|
|
178
178
|
isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
|
|
179
179
|
token: this.state.token?.symbol || '',
|
|
180
180
|
amount: params.sendTokenAmount,
|
|
181
|
-
network:
|
|
181
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
|
|
182
182
|
}
|
|
183
183
|
});
|
|
184
184
|
SnackController.showError('Something went wrong');
|