@reown/appkit-core-react-native 2.0.0-alpha.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/controllers/ConnectionsController.js +75 -26
- package/lib/commonjs/controllers/ConnectionsController.js.map +1 -1
- package/lib/commonjs/controllers/OptionsController.js +5 -0
- package/lib/commonjs/controllers/OptionsController.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 +39 -36
- package/lib/commonjs/controllers/SwapController.js.map +1 -1
- package/lib/commonjs/utils/ConstantsUtil.js +109 -1
- package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
- package/lib/commonjs/utils/SwapApiUtil.js +10 -6
- package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
- package/lib/module/controllers/ConnectionsController.js +75 -26
- package/lib/module/controllers/ConnectionsController.js.map +1 -1
- package/lib/module/controllers/OptionsController.js +5 -0
- package/lib/module/controllers/OptionsController.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 +39 -36
- package/lib/module/controllers/SwapController.js.map +1 -1
- package/lib/module/utils/ConstantsUtil.js +109 -1
- package/lib/module/utils/ConstantsUtil.js.map +1 -1
- package/lib/module/utils/SwapApiUtil.js +10 -6
- package/lib/module/utils/SwapApiUtil.js.map +1 -1
- package/lib/typescript/controllers/ConnectionsController.d.ts +13 -11
- package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -1
- package/lib/typescript/controllers/OptionsController.d.ts +4 -2
- package/lib/typescript/controllers/OptionsController.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/utils/ConstantsUtil.d.ts +1 -0
- package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
- package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
- package/lib/typescript/utils/TypeUtil.d.ts +1 -12
- package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/controllers/ConnectionController.ts +1 -1
- package/src/controllers/ConnectionsController.ts +98 -43
- package/src/controllers/OptionsController.ts +9 -9
- package/src/controllers/SendController.ts +5 -5
- package/src/controllers/SwapController.ts +47 -46
- package/src/utils/ConstantsUtil.ts +111 -1
- package/src/utils/SwapApiUtil.ts +13 -7
- package/src/utils/TypeUtil.ts +2 -13
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { proxy, ref } from 'valtio';
|
|
2
2
|
import { derive } from 'valtio/utils';
|
|
3
|
+
import { EVMAdapter } from '@reown/appkit-common-react-native';
|
|
3
4
|
import { StorageUtil } from '../utils/StorageUtil';
|
|
4
5
|
|
|
5
6
|
// -- Types --------------------------------------------- //
|
|
@@ -9,30 +10,32 @@ import { StorageUtil } from '../utils/StorageUtil';
|
|
|
9
10
|
// -- State --------------------------------------------- //
|
|
10
11
|
const baseState = proxy({
|
|
11
12
|
activeNamespace: undefined,
|
|
12
|
-
connections:
|
|
13
|
+
connections: new Map(),
|
|
13
14
|
networks: []
|
|
14
15
|
});
|
|
15
16
|
const derivedState = derive({
|
|
16
17
|
activeAddress: get => {
|
|
17
18
|
const snap = get(baseState);
|
|
18
|
-
if (!snap.activeNamespace)
|
|
19
|
-
|
|
19
|
+
if (!snap.activeNamespace) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
const connection = snap.connections.get(snap.activeNamespace);
|
|
20
23
|
if (!connection || !connection.accounts || connection.accounts.length === 0) {
|
|
21
24
|
return undefined;
|
|
22
25
|
}
|
|
23
26
|
|
|
24
27
|
//TODO: what happens if there are several accounts on the same chain?
|
|
25
|
-
const activeAccount = connection.accounts.find(account => account.startsWith(connection.
|
|
28
|
+
const activeAccount = connection.accounts.find(account => account.startsWith(connection.caipNetwork));
|
|
26
29
|
return activeAccount;
|
|
27
30
|
},
|
|
28
31
|
activeBalance: get => {
|
|
29
32
|
const snap = get(baseState);
|
|
30
33
|
if (!snap.activeNamespace) return undefined;
|
|
31
|
-
const connection = snap.connections
|
|
34
|
+
const connection = snap.connections.get(snap.activeNamespace);
|
|
32
35
|
if (!connection || !connection.accounts || connection.accounts.length === 0) {
|
|
33
36
|
return undefined;
|
|
34
37
|
}
|
|
35
|
-
const activeAccount = connection.accounts.find(account => account.startsWith(connection.
|
|
38
|
+
const activeAccount = connection.accounts.find(account => account.startsWith(connection.caipNetwork));
|
|
36
39
|
if (!connection || !connection.balances || !activeAccount || Object.keys(connection.balances).length === 0) {
|
|
37
40
|
return undefined;
|
|
38
41
|
}
|
|
@@ -41,21 +44,21 @@ const derivedState = derive({
|
|
|
41
44
|
activeNetwork: get => {
|
|
42
45
|
const snap = get(baseState);
|
|
43
46
|
if (!snap.activeNamespace) return undefined;
|
|
44
|
-
const connection = snap.connections
|
|
47
|
+
const connection = snap.connections.get(snap.activeNamespace);
|
|
45
48
|
if (!connection) return undefined;
|
|
46
|
-
return snap.networks.find(network => network.chainNamespace === snap.activeNamespace && network.id?.toString() === connection.
|
|
49
|
+
return snap.networks.find(network => network.chainNamespace === snap.activeNamespace && network.id?.toString() === connection.caipNetwork?.split(':')[1]);
|
|
47
50
|
},
|
|
48
51
|
activeCaipNetworkId: get => {
|
|
49
52
|
const snap = get(baseState);
|
|
50
53
|
if (!snap.activeNamespace) return undefined;
|
|
51
|
-
const connection = snap.connections
|
|
54
|
+
const connection = snap.connections.get(snap.activeNamespace);
|
|
52
55
|
if (!connection) return undefined;
|
|
53
|
-
return connection.
|
|
56
|
+
return connection.caipNetwork;
|
|
54
57
|
},
|
|
55
58
|
walletInfo: get => {
|
|
56
59
|
const snap = get(baseState);
|
|
57
60
|
if (!snap.activeNamespace) return undefined;
|
|
58
|
-
return snap.connections
|
|
61
|
+
return snap.connections.get(snap.activeNamespace)?.wallet;
|
|
59
62
|
}
|
|
60
63
|
}, {
|
|
61
64
|
proxy: baseState // Link derived proxy to the base state proxy
|
|
@@ -74,46 +77,70 @@ export const ConnectionsController = {
|
|
|
74
77
|
accounts,
|
|
75
78
|
chains,
|
|
76
79
|
wallet,
|
|
77
|
-
|
|
80
|
+
caipNetwork
|
|
78
81
|
}) {
|
|
79
|
-
|
|
82
|
+
const newConnectionEntry = {
|
|
80
83
|
balances: {},
|
|
81
|
-
|
|
84
|
+
caipNetwork: caipNetwork ?? chains[0],
|
|
82
85
|
adapter: ref(adapter),
|
|
83
86
|
accounts,
|
|
84
87
|
chains,
|
|
85
88
|
wallet
|
|
86
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;
|
|
87
95
|
},
|
|
88
96
|
updateAccounts(namespace, accounts) {
|
|
89
|
-
const connection = baseState.connections
|
|
97
|
+
const connection = baseState.connections.get(namespace);
|
|
90
98
|
if (!connection) {
|
|
91
99
|
return;
|
|
92
100
|
}
|
|
93
|
-
|
|
101
|
+
const newConnectionsMap = new Map(baseState.connections);
|
|
102
|
+
const updatedConnection = {
|
|
103
|
+
...connection,
|
|
104
|
+
accounts
|
|
105
|
+
};
|
|
106
|
+
newConnectionsMap.set(namespace, updatedConnection);
|
|
107
|
+
baseState.connections = newConnectionsMap;
|
|
94
108
|
},
|
|
95
109
|
updateBalance(namespace, address, balance) {
|
|
96
|
-
const connection = baseState.connections
|
|
110
|
+
const connection = baseState.connections.get(namespace);
|
|
97
111
|
if (!connection) {
|
|
98
112
|
return;
|
|
99
113
|
}
|
|
100
|
-
|
|
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;
|
|
101
125
|
},
|
|
102
|
-
|
|
103
|
-
const connection = baseState.connections
|
|
126
|
+
setActiveNetwork(namespace, networkId) {
|
|
127
|
+
const connection = baseState.connections.get(namespace);
|
|
104
128
|
if (!connection) {
|
|
105
129
|
return;
|
|
106
130
|
}
|
|
107
|
-
|
|
131
|
+
baseState.connections.set(namespace, {
|
|
132
|
+
...connection,
|
|
133
|
+
caipNetwork: networkId
|
|
134
|
+
});
|
|
108
135
|
},
|
|
109
136
|
setNetworks(networks) {
|
|
110
137
|
baseState.networks = networks;
|
|
111
138
|
},
|
|
112
139
|
getConnectedNetworks() {
|
|
113
|
-
return baseState.networks.filter(network => baseState.connections
|
|
140
|
+
return baseState.networks.filter(network => baseState.connections.get(network.chainNamespace)?.accounts.some(account => account.startsWith(network.caipNetworkId)));
|
|
114
141
|
},
|
|
115
142
|
async disconnect(namespace, isInternal = true) {
|
|
116
|
-
const connection = baseState.connections
|
|
143
|
+
const connection = baseState.connections.get(namespace);
|
|
117
144
|
if (!connection) return;
|
|
118
145
|
|
|
119
146
|
// Get the current connector from the adapter
|
|
@@ -121,11 +148,11 @@ export const ConnectionsController = {
|
|
|
121
148
|
if (!connector) return;
|
|
122
149
|
|
|
123
150
|
// Find all namespaces that use the same connector
|
|
124
|
-
const namespacesUsingConnector =
|
|
151
|
+
const namespacesUsingConnector = Array.from(baseState.connections.keys()).filter(ns => baseState.connections.get(ns)?.adapter.connector === connector);
|
|
125
152
|
|
|
126
153
|
// Unsubscribe all event listeners from the adapter
|
|
127
154
|
namespacesUsingConnector.forEach(ns => {
|
|
128
|
-
const _connection = baseState.connections
|
|
155
|
+
const _connection = baseState.connections.get(ns);
|
|
129
156
|
if (_connection?.adapter) {
|
|
130
157
|
_connection.adapter.removeAllListeners();
|
|
131
158
|
}
|
|
@@ -137,15 +164,37 @@ export const ConnectionsController = {
|
|
|
137
164
|
}
|
|
138
165
|
|
|
139
166
|
// Remove all namespaces that used this connector
|
|
167
|
+
const newConnectionsMap = new Map(baseState.connections);
|
|
140
168
|
namespacesUsingConnector.forEach(ns => {
|
|
141
|
-
delete
|
|
169
|
+
newConnectionsMap.delete(ns);
|
|
142
170
|
});
|
|
171
|
+
baseState.connections = newConnectionsMap;
|
|
143
172
|
|
|
144
173
|
// Remove activeNamespace if it is in the list of namespaces using the connector
|
|
145
174
|
if (baseState.activeNamespace && (baseState.activeNamespace === namespace || namespacesUsingConnector.includes(baseState.activeNamespace))) {
|
|
146
175
|
baseState.activeNamespace = undefined;
|
|
147
176
|
StorageUtil.setActiveNamespace(undefined);
|
|
148
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 sendTransaction(args) {
|
|
184
|
+
if (!baseState.activeNamespace) return undefined;
|
|
185
|
+
const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
|
|
186
|
+
if (adapter instanceof EVMAdapter) {
|
|
187
|
+
return adapter.sendTransaction(args);
|
|
188
|
+
}
|
|
189
|
+
return undefined;
|
|
190
|
+
},
|
|
191
|
+
async estimateGas(args) {
|
|
192
|
+
if (!baseState.activeNamespace) return undefined;
|
|
193
|
+
const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
|
|
194
|
+
if (adapter instanceof EVMAdapter) {
|
|
195
|
+
return adapter.estimateGas(args);
|
|
196
|
+
}
|
|
197
|
+
return undefined;
|
|
149
198
|
}
|
|
150
199
|
};
|
|
151
200
|
//# sourceMappingURL=ConnectionsController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["proxy","ref","derive","StorageUtil","baseState","activeNamespace","undefined","connections","networks","derivedState","activeAddress","get","snap","connection","accounts","length","activeAccount","find","account","startsWith","
|
|
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","sendTransaction","args","estimateGas"],"sourceRoot":"../../../src","sources":["controllers/ConnectionsController.ts"],"mappings":"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"}
|
|
@@ -60,6 +60,11 @@ export const OptionsController = {
|
|
|
60
60
|
setIsOnRampEnabled(isOnRampEnabled) {
|
|
61
61
|
state.isOnRampEnabled = isOnRampEnabled;
|
|
62
62
|
},
|
|
63
|
+
setStorage(storage) {
|
|
64
|
+
if (storage) {
|
|
65
|
+
state.storage = ref(storage);
|
|
66
|
+
}
|
|
67
|
+
},
|
|
63
68
|
isClipboardAvailable() {
|
|
64
69
|
return !!state.clipboardClient;
|
|
65
70
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["proxy","ref","ConstantsUtil","state","projectId","sdkType","sdkVersion","features","DEFAULT_FEATURES","debug","OptionsController","setClipboardClient","client","clipboardClient","setProjectId","setIncludeWalletIds","includeWalletIds","setExcludeWalletIds","excludeWalletIds","setFeaturedWalletIds","featuredWalletIds","setTokens","tokens","setCustomWallets","customWallets","setEnableAnalytics","enableAnalytics","setSdkVersion","setMetadata","metadata","setIsSiweEnabled","isSiweEnabled","setFeatures","setDebug","setIsOnRampEnabled","isOnRampEnabled","isClipboardAvailable","copyToClipboard","value","setString"],"sourceRoot":"../../../src","sources":["controllers/OptionsController.ts"],"mappings":"AAAA,SAASA,KAAK,EAAEC,GAAG,QAAQ,QAAQ;
|
|
1
|
+
{"version":3,"names":["proxy","ref","ConstantsUtil","state","projectId","sdkType","sdkVersion","features","DEFAULT_FEATURES","debug","OptionsController","setClipboardClient","client","clipboardClient","setProjectId","setIncludeWalletIds","includeWalletIds","setExcludeWalletIds","excludeWalletIds","setFeaturedWalletIds","featuredWalletIds","setTokens","tokens","setCustomWallets","customWallets","setEnableAnalytics","enableAnalytics","setSdkVersion","setMetadata","metadata","setIsSiweEnabled","isSiweEnabled","setFeatures","setDebug","setIsOnRampEnabled","isOnRampEnabled","setStorage","storage","isClipboardAvailable","copyToClipboard","value","setString"],"sourceRoot":"../../../src","sources":["controllers/OptionsController.ts"],"mappings":"AAAA,SAASA,KAAK,EAAEC,GAAG,QAAQ,QAAQ;AAInC,SAASC,aAAa,QAAQ,wBAAwB;;AAEtD;;AAwBA;AACA,MAAMC,KAAK,GAAGH,KAAK,CAAyB;EAC1CI,SAAS,EAAE,EAAE;EACbC,OAAO,EAAE,QAAQ;EACjBC,UAAU,EAAE,8BAA8B;EAC1CC,QAAQ,EAAEL,aAAa,CAACM,gBAAgB;EACxCC,KAAK,EAAE;AACT,CAAC,CAAC;;AAEF;AACA,OAAO,MAAMC,iBAAiB,GAAG;EAC/BP,KAAK;EAELQ,kBAAkBA,CAACC,MAAuB,EAAE;IAC1CT,KAAK,CAACU,eAAe,GAAGZ,GAAG,CAACW,MAAM,CAAC;EACrC,CAAC;EAEDE,YAAYA,CAACV,SAA8C,EAAE;IAC3DD,KAAK,CAACC,SAAS,GAAGA,SAAS;EAC7B,CAAC;EAEDW,mBAAmBA,CAACC,gBAA4D,EAAE;IAChFb,KAAK,CAACa,gBAAgB,GAAGA,gBAAgB;EAC3C,CAAC;EAEDC,mBAAmBA,CAACC,gBAA4D,EAAE;IAChFf,KAAK,CAACe,gBAAgB,GAAGA,gBAAgB;EAC3C,CAAC;EAEDC,oBAAoBA,CAACC,iBAA8D,EAAE;IACnFjB,KAAK,CAACiB,iBAAiB,GAAGA,iBAAiB;EAC7C,CAAC;EAEDC,SAASA,CAACC,MAAwC,EAAE;IAClDnB,KAAK,CAACmB,MAAM,GAAGA,MAAM;EACvB,CAAC;EAEDC,gBAAgBA,CAACC,aAAsD,EAAE;IACvErB,KAAK,CAACqB,aAAa,GAAGA,aAAa;EACrC,CAAC;EAEDC,kBAAkBA,CAACC,eAA0D,EAAE;IAC7EvB,KAAK,CAACuB,eAAe,GAAGA,eAAe;EACzC,CAAC;EAEDC,aAAaA,CAACrB,UAAgD,EAAE;IAC9DH,KAAK,CAACG,UAAU,GAAGA,UAAU;EAC/B,CAAC;EAEDsB,WAAWA,CAACC,QAA4C,EAAE;IACxD1B,KAAK,CAAC0B,QAAQ,GAAGA,QAAQ;EAC3B,CAAC;EAEDC,gBAAgBA,CAACC,aAAsD,EAAE;IACvE5B,KAAK,CAAC4B,aAAa,GAAGA,aAAa;EACrC,CAAC;EAEDC,WAAWA,CAACzB,QAA4C,EAAE;IACxDJ,KAAK,CAACI,QAAQ,GAAG;MAAE,GAAGL,aAAa,CAACM,gBAAgB;MAAE,GAAGD;IAAS,CAAC;EACrE,CAAC;EAED0B,QAAQA,CAACxB,KAAsC,EAAE;IAC/CN,KAAK,CAACM,KAAK,GAAGA,KAAK;EACrB,CAAC;EAEDyB,kBAAkBA,CAACC,eAA0D,EAAE;IAC7EhC,KAAK,CAACgC,eAAe,GAAGA,eAAe;EACzC,CAAC;EAEDC,UAAUA,CAACC,OAA2C,EAAE;IACtD,IAAIA,OAAO,EAAE;MACXlC,KAAK,CAACkC,OAAO,GAAGpC,GAAG,CAACoC,OAAO,CAAC;IAC9B;EACF,CAAC;EAEDC,oBAAoBA,CAAA,EAAG;IACrB,OAAO,CAAC,CAACnC,KAAK,CAACU,eAAe;EAChC,CAAC;EAED0B,eAAeA,CAACC,KAAa,EAAE;IAC7B,MAAM5B,MAAM,GAAGT,KAAK,CAACU,eAAe;IACpC,IAAID,MAAM,EAAE;MACVA,MAAM,EAAE6B,SAAS,CAACD,KAAK,CAAC;IAC1B;EACF;AACF,CAAC"}
|
|
@@ -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
|
|
|
@@ -61,7 +61,7 @@ export const SendController = {
|
|
|
61
61
|
isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
|
|
62
62
|
token: this.state.token.address,
|
|
63
63
|
amount: this.state.sendTokenAmount,
|
|
64
|
-
network:
|
|
64
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
this.sendERC20Token({
|
|
@@ -79,7 +79,7 @@ export const SendController = {
|
|
|
79
79
|
isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
|
|
80
80
|
token: this.state.token?.symbol,
|
|
81
81
|
amount: this.state.sendTokenAmount,
|
|
82
|
-
network:
|
|
82
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
85
|
this.sendNativeToken({
|
|
@@ -115,7 +115,7 @@ export const SendController = {
|
|
|
115
115
|
isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
|
|
116
116
|
token: this.state.token?.symbol || '',
|
|
117
117
|
amount: params.sendTokenAmount,
|
|
118
|
-
network:
|
|
118
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
|
|
119
119
|
}
|
|
120
120
|
});
|
|
121
121
|
this.resetSend();
|
|
@@ -128,7 +128,7 @@ export const SendController = {
|
|
|
128
128
|
isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
|
|
129
129
|
token: this.state.token?.symbol || '',
|
|
130
130
|
amount: params.sendTokenAmount,
|
|
131
|
-
network:
|
|
131
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
|
|
132
132
|
}
|
|
133
133
|
});
|
|
134
134
|
SnackController.showError('Something went wrong');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["subscribeKey","subKey","proxy","ref","subscribe","sub","ContractUtil","AccountController","ConnectionController","SnackController","CoreHelperUtil","EventsController","
|
|
1
|
+
{"version":3,"names":["subscribeKey","subKey","proxy","ref","subscribe","sub","ContractUtil","AccountController","ConnectionController","SnackController","CoreHelperUtil","EventsController","RouterController","ConnectionsController","state","loading","SendController","callback","key","setToken","token","setTokenAmount","sendTokenAmount","setReceiverAddress","receiverAddress","setReceiverProfileImageUrl","receiverProfileImageUrl","setReceiverProfileName","receiverProfileName","setGasPrice","gasPrice","setGasPriceInUsd","gasPriceInUSD","setLoading","sendToken","address","sendEvent","type","event","properties","isSmartAccount","preferredAccountType","amount","network","activeNetwork","caipNetworkId","sendERC20Token","tokenAddress","decimals","quantity","symbol","sendNativeToken","params","pushTransactionStack","view","goBack","to","value","parseUnits","toString","Number","data","sendTransaction","showSuccess","resetSend","error","showError","getPlainAddress","writeContract","fromAddress","tokenAmount","method","abi","getERC20Abi","undefined"],"sourceRoot":"../../../src","sources":["controllers/SendController.ts"],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import { proxy, subscribe as sub } from 'valtio';
|
|
|
3
3
|
import { NumberUtil } from '@reown/appkit-common-react-native';
|
|
4
4
|
import { ConstantsUtil } from '../utils/ConstantsUtil';
|
|
5
5
|
import { SwapApiUtil } from '../utils/SwapApiUtil';
|
|
6
|
-
import { NetworkController } from './NetworkController';
|
|
7
6
|
import { BlockchainApiController } from './BlockchainApiController';
|
|
8
7
|
import { OptionsController } from './OptionsController';
|
|
9
8
|
import { SwapCalculationUtil } from '../utils/SwapCalculationUtil';
|
|
@@ -12,7 +11,6 @@ import { RouterController } from './RouterController';
|
|
|
12
11
|
import { ConnectorController } from './ConnectorController';
|
|
13
12
|
import { AccountController } from './AccountController';
|
|
14
13
|
import { CoreHelperUtil } from '../utils/CoreHelperUtil';
|
|
15
|
-
import { ConnectionController } from './ConnectionController';
|
|
16
14
|
import { TransactionsController } from './TransactionsController';
|
|
17
15
|
import { EventsController } from './EventsController';
|
|
18
16
|
import { ConnectionsController } from './ConnectionsController';
|
|
@@ -94,7 +92,7 @@ export const SwapController = {
|
|
|
94
92
|
if (!activeNamespace || !activeNetwork) {
|
|
95
93
|
throw new Error('No active namespace or network found to swap the tokens from.');
|
|
96
94
|
}
|
|
97
|
-
const networkAddress = `${activeNetwork.caipNetworkId
|
|
95
|
+
const networkAddress = `${activeNetwork.caipNetworkId}:${ConstantsUtil.NATIVE_TOKEN_ADDRESS[activeNamespace]}`;
|
|
98
96
|
const type = ConnectorController.state.connectedConnector;
|
|
99
97
|
if (!address) {
|
|
100
98
|
throw new Error('No address found to swap the tokens from.');
|
|
@@ -290,7 +288,7 @@ export const SwapController = {
|
|
|
290
288
|
const {
|
|
291
289
|
networkAddress
|
|
292
290
|
} = this.getParams();
|
|
293
|
-
const caipNetwork =
|
|
291
|
+
const caipNetwork = ConnectionsController.state.activeNetwork;
|
|
294
292
|
if (!caipNetwork) {
|
|
295
293
|
return;
|
|
296
294
|
}
|
|
@@ -298,7 +296,7 @@ export const SwapController = {
|
|
|
298
296
|
balances.forEach(token => {
|
|
299
297
|
state.tokensPriceMap[token.address] = token.price || 0;
|
|
300
298
|
});
|
|
301
|
-
state.myTokensWithBalance = balances.filter(token => token.address?.startsWith(caipNetwork.
|
|
299
|
+
state.myTokensWithBalance = balances.filter(token => token.address?.startsWith(caipNetwork.caipNetworkId));
|
|
302
300
|
state.networkBalanceInUSD = networkToken ? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString() : '0';
|
|
303
301
|
},
|
|
304
302
|
setToToken(toToken) {
|
|
@@ -334,36 +332,41 @@ export const SwapController = {
|
|
|
334
332
|
},
|
|
335
333
|
// -- Swap ---------------------------------------------- //
|
|
336
334
|
async swapTokens() {
|
|
337
|
-
const address =
|
|
335
|
+
const address = ConnectionsController.state.activeAddress;
|
|
338
336
|
const sourceToken = state.sourceToken;
|
|
339
337
|
const toToken = state.toToken;
|
|
340
338
|
const haveSourceTokenAmount = NumberUtil.bigNumber(state.sourceTokenAmount).isGreaterThan(0);
|
|
341
|
-
if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount) {
|
|
339
|
+
if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount || !address) {
|
|
342
340
|
return;
|
|
343
341
|
}
|
|
344
342
|
state.loadingQuote = true;
|
|
345
343
|
const amountDecimal = NumberUtil.bigNumber(state.sourceTokenAmount).multipliedBy(10 ** sourceToken.decimals).integerValue();
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
344
|
+
try {
|
|
345
|
+
const quoteResponse = await BlockchainApiController.fetchSwapQuote({
|
|
346
|
+
userAddress: address,
|
|
347
|
+
projectId: OptionsController.state.projectId,
|
|
348
|
+
from: sourceToken.address,
|
|
349
|
+
to: toToken.address,
|
|
350
|
+
gasPrice: state.gasFee,
|
|
351
|
+
amount: amountDecimal.toString()
|
|
352
|
+
});
|
|
353
|
+
state.loadingQuote = false;
|
|
354
|
+
const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
|
|
355
|
+
if (!quoteToAmount) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
const toTokenAmount = NumberUtil.bigNumber(quoteToAmount).dividedBy(10 ** toToken.decimals).toString();
|
|
359
|
+
this.setToTokenAmount(toTokenAmount);
|
|
360
|
+
const isInsufficientToken = this.hasInsufficientToken(state.sourceTokenAmount, sourceToken.address);
|
|
361
|
+
if (isInsufficientToken) {
|
|
362
|
+
state.inputError = 'Insufficient balance';
|
|
363
|
+
} else {
|
|
364
|
+
state.inputError = undefined;
|
|
365
|
+
this.setTransactionDetails();
|
|
366
|
+
}
|
|
367
|
+
} catch (error) {
|
|
368
|
+
SnackController.showError('Failed to get swap quote');
|
|
369
|
+
state.loadingQuote = false;
|
|
367
370
|
}
|
|
368
371
|
},
|
|
369
372
|
// -- Create Transactions -------------------------------------- //
|
|
@@ -427,7 +430,7 @@ export const SwapController = {
|
|
|
427
430
|
if (!response) {
|
|
428
431
|
throw new Error('createAllowanceTransaction - No response from generateApproveCalldata');
|
|
429
432
|
}
|
|
430
|
-
const gasLimit = await
|
|
433
|
+
const gasLimit = await ConnectionsController.estimateGas({
|
|
431
434
|
address: fromAddress,
|
|
432
435
|
to: CoreHelperUtil.getPlainAddress(response.tx.to),
|
|
433
436
|
data: response.tx.data
|
|
@@ -477,7 +480,7 @@ export const SwapController = {
|
|
|
477
480
|
if (!fromCaipAddress || !sourceTokenAmount || !sourceToken || !toToken) {
|
|
478
481
|
return undefined;
|
|
479
482
|
}
|
|
480
|
-
const amount =
|
|
483
|
+
const amount = ConnectionsController.parseUnits(sourceTokenAmount, sourceToken.decimals)?.toString();
|
|
481
484
|
try {
|
|
482
485
|
const response = await BlockchainApiController.generateSwapCalldata({
|
|
483
486
|
projectId: OptionsController.state.projectId,
|
|
@@ -532,13 +535,13 @@ export const SwapController = {
|
|
|
532
535
|
SnackController.showLoading(approveLimitMessage);
|
|
533
536
|
}
|
|
534
537
|
try {
|
|
535
|
-
await
|
|
538
|
+
await ConnectionsController.sendTransaction({
|
|
536
539
|
address: fromAddress,
|
|
537
540
|
to: data.to,
|
|
538
541
|
data: data.data,
|
|
539
542
|
value: BigInt(data.value),
|
|
540
543
|
gasPrice: BigInt(data.gasPrice),
|
|
541
|
-
chainNamespace:
|
|
544
|
+
chainNamespace: ConnectionsController.state.activeNamespace
|
|
542
545
|
});
|
|
543
546
|
await this.swapTokens();
|
|
544
547
|
await this.getTransaction();
|
|
@@ -577,14 +580,14 @@ export const SwapController = {
|
|
|
577
580
|
}
|
|
578
581
|
try {
|
|
579
582
|
const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].join(',');
|
|
580
|
-
const transactionHash = await
|
|
583
|
+
const transactionHash = await ConnectionsController.sendTransaction({
|
|
581
584
|
address: fromAddress,
|
|
582
585
|
to: data.to,
|
|
583
586
|
data: data.data,
|
|
584
587
|
gas: data.gas,
|
|
585
588
|
gasPrice: BigInt(data.gasPrice),
|
|
586
589
|
value: data.value,
|
|
587
|
-
chainNamespace:
|
|
590
|
+
chainNamespace: ConnectionsController.state.activeNamespace
|
|
588
591
|
});
|
|
589
592
|
state.loadingTransaction = false;
|
|
590
593
|
SnackController.showSuccess(snackbarSuccessMessage);
|
|
@@ -592,7 +595,7 @@ export const SwapController = {
|
|
|
592
595
|
type: 'track',
|
|
593
596
|
event: 'SWAP_SUCCESS',
|
|
594
597
|
properties: {
|
|
595
|
-
network:
|
|
598
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
|
|
596
599
|
swapFromToken: this.state.sourceToken?.symbol || '',
|
|
597
600
|
swapToToken: this.state.toToken?.symbol || '',
|
|
598
601
|
swapFromAmount: this.state.sourceTokenAmount || '',
|
|
@@ -620,7 +623,7 @@ export const SwapController = {
|
|
|
620
623
|
event: 'SWAP_ERROR',
|
|
621
624
|
properties: {
|
|
622
625
|
message: error?.shortMessage ?? error?.message ?? 'Unknown',
|
|
623
|
-
network:
|
|
626
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
|
|
624
627
|
swapFromToken: this.state.sourceToken?.symbol || '',
|
|
625
628
|
swapToToken: this.state.toToken?.symbol || '',
|
|
626
629
|
swapFromAmount: this.state.sourceTokenAmount || '',
|