@reown/appkit-core-react-native 0.0.0-develop-20250728141602 → 0.0.0-develop-20251008155354
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 +157 -91
- package/lib/commonjs/controllers/ApiController.js.map +1 -1
- package/lib/commonjs/controllers/AssetController.js +0 -4
- package/lib/commonjs/controllers/AssetController.js.map +1 -1
- package/lib/commonjs/controllers/BlockchainApiController.js +180 -78
- package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
- package/lib/commonjs/controllers/ConnectionsController.js +425 -0
- package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
- package/lib/commonjs/controllers/EnsController.js +2 -0
- package/lib/commonjs/controllers/EnsController.js.map +1 -1
- package/lib/commonjs/controllers/EventsController.js +51 -1
- package/lib/commonjs/controllers/EventsController.js.map +1 -1
- package/lib/commonjs/controllers/LogController.js +188 -0
- package/lib/commonjs/controllers/LogController.js.map +1 -0
- package/lib/commonjs/controllers/ModalController.js +9 -7
- package/lib/commonjs/controllers/ModalController.js.map +1 -1
- package/lib/commonjs/controllers/OnRampController.js +47 -20
- package/lib/commonjs/controllers/OnRampController.js.map +1 -1
- package/lib/commonjs/controllers/OptionsController.js +28 -10
- package/lib/commonjs/controllers/OptionsController.js.map +1 -1
- package/lib/commonjs/controllers/PublicStateController.js.map +1 -1
- package/lib/commonjs/controllers/RouterController.js +7 -22
- package/lib/commonjs/controllers/RouterController.js.map +1 -1
- package/lib/commonjs/controllers/SendController.js +111 -95
- package/lib/commonjs/controllers/SendController.js.map +1 -1
- package/lib/commonjs/controllers/SnackController.js +29 -5
- package/lib/commonjs/controllers/SnackController.js.map +1 -1
- package/lib/commonjs/controllers/SwapController.js +162 -151
- package/lib/commonjs/controllers/SwapController.js.map +1 -1
- package/lib/commonjs/controllers/ThemeController.js +14 -1
- package/lib/commonjs/controllers/ThemeController.js.map +1 -1
- package/lib/commonjs/controllers/TransactionsController.js +24 -18
- package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
- package/lib/commonjs/controllers/WcController.js +73 -0
- package/lib/commonjs/controllers/WcController.js.map +1 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthentication.js +272 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthentication.js.map +1 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js +48 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
- package/lib/commonjs/features/reown-authentication/index.js +28 -0
- package/lib/commonjs/features/reown-authentication/index.js.map +1 -0
- package/lib/commonjs/index.js +33 -40
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/utils/ApiUtil.js +1 -1
- package/lib/commonjs/utils/ApiUtil.js.map +1 -1
- package/lib/commonjs/utils/AssetUtil.js +8 -18
- package/lib/commonjs/utils/AssetUtil.js.map +1 -1
- package/lib/commonjs/utils/ConstantsUtil.js +117 -5
- package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
- package/lib/commonjs/utils/CoreHelperUtil.js +32 -9
- package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
- package/lib/commonjs/utils/EventUtil.js.map +1 -1
- package/lib/commonjs/utils/FetchUtil.js +7 -2
- package/lib/commonjs/utils/FetchUtil.js.map +1 -1
- package/lib/commonjs/utils/LogUtils.js +131 -0
- package/lib/commonjs/utils/LogUtils.js.map +1 -0
- package/lib/commonjs/utils/StorageUtil.js +131 -150
- package/lib/commonjs/utils/StorageUtil.js.map +1 -1
- package/lib/commonjs/utils/SwapApiUtil.js +15 -21
- package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
- package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -1
- package/lib/commonjs/utils/WalletUtil.js +23 -0
- package/lib/commonjs/utils/WalletUtil.js.map +1 -0
- package/lib/module/controllers/ApiController.js +159 -91
- package/lib/module/controllers/ApiController.js.map +1 -1
- package/lib/module/controllers/AssetController.js +2 -4
- package/lib/module/controllers/AssetController.js.map +1 -1
- package/lib/module/controllers/BlockchainApiController.js +182 -78
- package/lib/module/controllers/BlockchainApiController.js.map +1 -1
- package/lib/module/controllers/ConnectionsController.js +422 -0
- package/lib/module/controllers/ConnectionsController.js.map +1 -0
- package/lib/module/controllers/EnsController.js +4 -0
- package/lib/module/controllers/EnsController.js.map +1 -1
- package/lib/module/controllers/EventsController.js +53 -1
- package/lib/module/controllers/EventsController.js.map +1 -1
- package/lib/module/controllers/LogController.js +185 -0
- package/lib/module/controllers/LogController.js.map +1 -0
- package/lib/module/controllers/ModalController.js +11 -7
- package/lib/module/controllers/ModalController.js.map +1 -1
- package/lib/module/controllers/OnRampController.js +45 -16
- package/lib/module/controllers/OnRampController.js.map +1 -1
- package/lib/module/controllers/OptionsController.js +30 -10
- package/lib/module/controllers/OptionsController.js.map +1 -1
- package/lib/module/controllers/PublicStateController.js +2 -0
- package/lib/module/controllers/PublicStateController.js.map +1 -1
- package/lib/module/controllers/RouterController.js +9 -22
- package/lib/module/controllers/RouterController.js.map +1 -1
- package/lib/module/controllers/SendController.js +113 -95
- package/lib/module/controllers/SendController.js.map +1 -1
- package/lib/module/controllers/SnackController.js +31 -5
- package/lib/module/controllers/SnackController.js.map +1 -1
- package/lib/module/controllers/SwapController.js +164 -151
- package/lib/module/controllers/SwapController.js.map +1 -1
- package/lib/module/controllers/ThemeController.js +16 -1
- package/lib/module/controllers/ThemeController.js.map +1 -1
- package/lib/module/controllers/TransactionsController.js +26 -18
- package/lib/module/controllers/TransactionsController.js.map +1 -1
- package/lib/module/controllers/WcController.js +70 -0
- package/lib/module/controllers/WcController.js.map +1 -0
- package/lib/module/features/reown-authentication/ReownAuthentication.js +268 -0
- package/lib/module/features/reown-authentication/ReownAuthentication.js.map +1 -0
- package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js +43 -0
- package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
- package/lib/module/features/reown-authentication/index.js +5 -0
- package/lib/module/features/reown-authentication/index.js.map +1 -0
- package/lib/module/index.js +13 -8
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/ApiUtil.js +3 -1
- package/lib/module/utils/ApiUtil.js.map +1 -1
- package/lib/module/utils/AssetUtil.js +10 -18
- package/lib/module/utils/AssetUtil.js.map +1 -1
- package/lib/module/utils/ConstantsUtil.js +119 -5
- package/lib/module/utils/ConstantsUtil.js.map +1 -1
- package/lib/module/utils/CoreHelperUtil.js +34 -7
- package/lib/module/utils/CoreHelperUtil.js.map +1 -1
- package/lib/module/utils/EventUtil.js +2 -0
- package/lib/module/utils/EventUtil.js.map +1 -1
- package/lib/module/utils/FetchUtil.js +10 -2
- package/lib/module/utils/FetchUtil.js.map +1 -1
- package/lib/module/utils/LogUtils.js +121 -0
- package/lib/module/utils/LogUtils.js.map +1 -0
- package/lib/module/utils/StorageUtil.js +134 -150
- package/lib/module/utils/StorageUtil.js.map +1 -1
- package/lib/module/utils/SwapApiUtil.js +17 -21
- package/lib/module/utils/SwapApiUtil.js.map +1 -1
- package/lib/module/utils/SwapCalculationUtil.js +3 -0
- package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
- package/lib/module/utils/WalletUtil.js +19 -0
- package/lib/module/utils/WalletUtil.js.map +1 -0
- package/lib/typescript/controllers/ApiController.d.ts +9 -8
- package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/AssetController.d.ts +0 -2
- package/lib/typescript/controllers/AssetController.d.ts.map +1 -1
- package/lib/typescript/controllers/BlockchainApiController.d.ts +29 -11
- package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/ConnectionsController.d.ts +47 -0
- package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
- package/lib/typescript/controllers/EnsController.d.ts +1 -1
- package/lib/typescript/controllers/EnsController.d.ts.map +1 -1
- package/lib/typescript/controllers/EventsController.d.ts +13 -1
- package/lib/typescript/controllers/EventsController.d.ts.map +1 -1
- package/lib/typescript/controllers/LogController.d.ts +65 -0
- package/lib/typescript/controllers/LogController.d.ts.map +1 -0
- package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
- package/lib/typescript/controllers/OnRampController.d.ts +2 -2
- package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
- package/lib/typescript/controllers/OptionsController.d.ts +11 -6
- 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 +6 -20
- package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
- package/lib/typescript/controllers/SendController.d.ts +5 -7
- package/lib/typescript/controllers/SendController.d.ts.map +1 -1
- package/lib/typescript/controllers/SnackController.d.ts +3 -3
- package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
- package/lib/typescript/controllers/SwapController.d.ts +12 -12
- package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
- package/lib/typescript/controllers/ThemeController.d.ts +3 -1
- package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
- package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
- package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
- package/lib/typescript/controllers/WcController.d.ts +27 -0
- package/lib/typescript/controllers/WcController.d.ts.map +1 -0
- package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts +174 -0
- package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts.map +1 -0
- package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts +16 -0
- package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts.map +1 -0
- package/lib/typescript/features/reown-authentication/index.d.ts +3 -0
- package/lib/typescript/features/reown-authentication/index.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +7 -9
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/ApiUtil.d.ts +1 -1
- package/lib/typescript/utils/AssetUtil.d.ts +3 -4
- package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
- package/lib/typescript/utils/ConstantsUtil.d.ts +11 -2
- package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
- package/lib/typescript/utils/CoreHelperUtil.d.ts +8 -6
- package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
- package/lib/typescript/utils/EventUtil.d.ts +1 -1
- package/lib/typescript/utils/EventUtil.d.ts.map +1 -1
- package/lib/typescript/utils/FetchUtil.d.ts +4 -4
- package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
- package/lib/typescript/utils/LogUtils.d.ts +15 -0
- package/lib/typescript/utils/LogUtils.d.ts.map +1 -0
- package/lib/typescript/utils/StorageUtil.d.ts +15 -16
- package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
- package/lib/typescript/utils/SwapApiUtil.d.ts +3 -4
- package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
- package/lib/typescript/utils/SwapCalculationUtil.d.ts +1 -1
- package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -1
- package/lib/typescript/utils/WalletUtil.d.ts +5 -0
- package/lib/typescript/utils/WalletUtil.d.ts.map +1 -0
- package/package.json +11 -24
- package/src/controllers/ApiController.ts +167 -84
- package/src/controllers/AssetController.ts +0 -6
- package/src/controllers/BlockchainApiController.ts +168 -66
- package/src/controllers/ConnectionsController.ts +575 -0
- package/src/controllers/EnsController.ts +3 -1
- package/src/controllers/EventsController.ts +73 -2
- package/src/controllers/LogController.ts +250 -0
- package/src/controllers/ModalController.ts +10 -7
- package/src/controllers/OnRampController.ts +54 -19
- package/src/controllers/OptionsController.ts +46 -18
- package/src/controllers/PublicStateController.ts +1 -1
- package/src/controllers/RouterController.ts +20 -57
- package/src/controllers/SendController.ts +147 -111
- package/src/controllers/SnackController.ts +31 -5
- package/src/controllers/SwapController.ts +185 -183
- package/src/controllers/ThemeController.ts +18 -2
- package/src/controllers/TransactionsController.ts +27 -19
- package/src/controllers/WcController.ts +93 -0
- package/src/features/reown-authentication/ReownAuthentication.ts +475 -0
- package/src/features/reown-authentication/ReownAuthenticationMessenger.ts +80 -0
- package/src/features/reown-authentication/index.ts +2 -0
- package/src/index.ts +17 -20
- package/src/utils/ApiUtil.ts +1 -1
- package/src/utils/AssetUtil.ts +9 -22
- package/src/utils/ConstantsUtil.ts +121 -6
- package/src/utils/CoreHelperUtil.ts +66 -10
- package/src/utils/EventUtil.ts +1 -1
- package/src/utils/FetchUtil.ts +14 -5
- package/src/utils/LogUtils.ts +179 -0
- package/src/utils/StorageUtil.ts +191 -176
- package/src/utils/SwapApiUtil.ts +30 -37
- package/src/utils/SwapCalculationUtil.ts +1 -2
- package/src/utils/WalletUtil.ts +14 -0
- package/lib/commonjs/controllers/AccountController.js +0 -93
- package/lib/commonjs/controllers/AccountController.js.map +0 -1
- package/lib/commonjs/controllers/ConnectionController.js +0 -126
- package/lib/commonjs/controllers/ConnectionController.js.map +0 -1
- package/lib/commonjs/controllers/ConnectorController.js +0 -49
- package/lib/commonjs/controllers/ConnectorController.js.map +0 -1
- package/lib/commonjs/controllers/NetworkController.js +0 -90
- package/lib/commonjs/controllers/NetworkController.js.map +0 -1
- package/lib/commonjs/controllers/WebviewController.js +0 -52
- package/lib/commonjs/controllers/WebviewController.js.map +0 -1
- package/lib/commonjs/utils/ConnectionUtil.js +0 -33
- package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
- package/lib/commonjs/utils/NetworkUtil.js +0 -46
- package/lib/commonjs/utils/NetworkUtil.js.map +0 -1
- package/lib/commonjs/utils/RouterUtil.js +0 -25
- package/lib/commonjs/utils/RouterUtil.js.map +0 -1
- package/lib/commonjs/utils/TypeUtil.js +0 -35
- package/lib/commonjs/utils/TypeUtil.js.map +0 -1
- package/lib/module/controllers/AccountController.js +0 -88
- package/lib/module/controllers/AccountController.js.map +0 -1
- package/lib/module/controllers/ConnectionController.js +0 -121
- package/lib/module/controllers/ConnectionController.js.map +0 -1
- package/lib/module/controllers/ConnectorController.js +0 -44
- package/lib/module/controllers/ConnectorController.js.map +0 -1
- package/lib/module/controllers/NetworkController.js +0 -85
- package/lib/module/controllers/NetworkController.js.map +0 -1
- package/lib/module/controllers/WebviewController.js +0 -47
- package/lib/module/controllers/WebviewController.js.map +0 -1
- package/lib/module/utils/ConnectionUtil.js +0 -27
- package/lib/module/utils/ConnectionUtil.js.map +0 -1
- package/lib/module/utils/NetworkUtil.js +0 -40
- package/lib/module/utils/NetworkUtil.js.map +0 -1
- package/lib/module/utils/RouterUtil.js +0 -19
- package/lib/module/utils/RouterUtil.js.map +0 -1
- package/lib/module/utils/TypeUtil.js +0 -28
- package/lib/module/utils/TypeUtil.js.map +0 -1
- package/lib/typescript/controllers/AccountController.d.ts +0 -33
- package/lib/typescript/controllers/AccountController.d.ts.map +0 -1
- package/lib/typescript/controllers/ConnectionController.d.ts +0 -66
- package/lib/typescript/controllers/ConnectionController.d.ts.map +0 -1
- package/lib/typescript/controllers/ConnectorController.d.ts +0 -18
- package/lib/typescript/controllers/ConnectorController.d.ts.map +0 -1
- package/lib/typescript/controllers/NetworkController.d.ts +0 -34
- package/lib/typescript/controllers/NetworkController.d.ts.map +0 -1
- package/lib/typescript/controllers/WebviewController.d.ts +0 -21
- package/lib/typescript/controllers/WebviewController.d.ts.map +0 -1
- package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
- package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
- package/lib/typescript/utils/NetworkUtil.d.ts +0 -8
- package/lib/typescript/utils/NetworkUtil.d.ts.map +0 -1
- package/lib/typescript/utils/RouterUtil.d.ts +0 -5
- package/lib/typescript/utils/RouterUtil.d.ts.map +0 -1
- package/lib/typescript/utils/TypeUtil.d.ts +0 -849
- package/lib/typescript/utils/TypeUtil.d.ts.map +0 -1
- package/src/controllers/AccountController.ts +0 -128
- package/src/controllers/ConnectionController.ts +0 -200
- package/src/controllers/ConnectorController.ts +0 -63
- package/src/controllers/NetworkController.ts +0 -120
- package/src/controllers/WebviewController.ts +0 -63
- package/src/utils/ConnectionUtil.ts +0 -27
- package/src/utils/NetworkUtil.ts +0 -33
- package/src/utils/RouterUtil.ts +0 -21
- package/src/utils/TypeUtil.ts +0 -1036
|
@@ -9,18 +9,16 @@ var _valtio = require("valtio");
|
|
|
9
9
|
var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
|
|
10
10
|
var _ConstantsUtil = require("../utils/ConstantsUtil");
|
|
11
11
|
var _SwapApiUtil = require("../utils/SwapApiUtil");
|
|
12
|
-
var _NetworkController = require("./NetworkController");
|
|
13
12
|
var _BlockchainApiController = require("./BlockchainApiController");
|
|
14
13
|
var _OptionsController = require("./OptionsController");
|
|
15
14
|
var _SwapCalculationUtil = require("../utils/SwapCalculationUtil");
|
|
16
15
|
var _SnackController = require("./SnackController");
|
|
16
|
+
var _LogController = require("./LogController");
|
|
17
17
|
var _RouterController = require("./RouterController");
|
|
18
|
-
var _ConnectorController = require("./ConnectorController");
|
|
19
|
-
var _AccountController = require("./AccountController");
|
|
20
18
|
var _CoreHelperUtil = require("../utils/CoreHelperUtil");
|
|
21
|
-
var _ConnectionController = require("./ConnectionController");
|
|
22
19
|
var _TransactionsController = require("./TransactionsController");
|
|
23
20
|
var _EventsController = require("./EventsController");
|
|
21
|
+
var _ConnectionsController = require("./ConnectionsController");
|
|
24
22
|
// -- Constants ---------------------------------------- //
|
|
25
23
|
const INITIAL_GAS_LIMIT = exports.INITIAL_GAS_LIMIT = 150000;
|
|
26
24
|
const TO_AMOUNT_DECIMALS = exports.TO_AMOUNT_DECIMALS = 6;
|
|
@@ -37,8 +35,7 @@ class TransactionError extends Error {
|
|
|
37
35
|
// -- State --------------------------------------------- //
|
|
38
36
|
const initialState = {
|
|
39
37
|
// Loading states
|
|
40
|
-
|
|
41
|
-
initialized: false,
|
|
38
|
+
loadingTokens: false,
|
|
42
39
|
loadingPrices: false,
|
|
43
40
|
loadingQuote: false,
|
|
44
41
|
loadingApprovalTransaction: false,
|
|
@@ -58,7 +55,6 @@ const initialState = {
|
|
|
58
55
|
toTokenAmount: '',
|
|
59
56
|
toTokenPriceInUSD: 0,
|
|
60
57
|
networkPrice: '0',
|
|
61
|
-
networkBalanceInUSD: '0',
|
|
62
58
|
networkTokenSymbol: '',
|
|
63
59
|
inputError: undefined,
|
|
64
60
|
// Request values
|
|
@@ -77,7 +73,9 @@ const initialState = {
|
|
|
77
73
|
maxSlippage: undefined,
|
|
78
74
|
providerFee: undefined
|
|
79
75
|
};
|
|
80
|
-
const state = (0, _valtio.proxy)(
|
|
76
|
+
const state = (0, _valtio.proxy)({
|
|
77
|
+
...initialState
|
|
78
|
+
});
|
|
81
79
|
|
|
82
80
|
// -- Controller ---------------------------------------- //
|
|
83
81
|
const SwapController = exports.SwapController = {
|
|
@@ -89,10 +87,17 @@ const SwapController = exports.SwapController = {
|
|
|
89
87
|
return (0, _utils.subscribeKey)(state, key, callback);
|
|
90
88
|
},
|
|
91
89
|
getParams() {
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
const {
|
|
91
|
+
activeAddress,
|
|
92
|
+
activeNamespace,
|
|
93
|
+
activeNetwork,
|
|
94
|
+
connection
|
|
95
|
+
} = _ConnectionsController.ConnectionsController.state;
|
|
96
|
+
const address = _CoreHelperUtil.CoreHelperUtil.getPlainAddress(activeAddress);
|
|
97
|
+
if (!activeNamespace || !activeNetwork) {
|
|
98
|
+
throw new Error('No active namespace or network found to swap the tokens from.');
|
|
99
|
+
}
|
|
100
|
+
const networkAddress = `${activeNetwork.caipNetworkId}:${_ConstantsUtil.ConstantsUtil.NATIVE_TOKEN_ADDRESS[activeNamespace]}`;
|
|
96
101
|
if (!address) {
|
|
97
102
|
throw new Error('No address found to swap the tokens from.');
|
|
98
103
|
}
|
|
@@ -101,8 +106,9 @@ const SwapController = exports.SwapController = {
|
|
|
101
106
|
const invalidSourceTokenAmount = !state.sourceTokenAmount;
|
|
102
107
|
return {
|
|
103
108
|
networkAddress,
|
|
109
|
+
network: activeNetwork,
|
|
104
110
|
fromAddress: address,
|
|
105
|
-
fromCaipAddress:
|
|
111
|
+
fromCaipAddress: activeAddress,
|
|
106
112
|
sourceTokenAddress: state.sourceToken?.address,
|
|
107
113
|
toTokenAddress: state.toToken?.address,
|
|
108
114
|
toTokenAmount: state.toTokenAmount,
|
|
@@ -112,12 +118,12 @@ const SwapController = exports.SwapController = {
|
|
|
112
118
|
invalidToToken,
|
|
113
119
|
invalidSourceToken,
|
|
114
120
|
invalidSourceTokenAmount,
|
|
115
|
-
availableToSwap:
|
|
116
|
-
isAuthConnector:
|
|
121
|
+
availableToSwap: activeAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
|
|
122
|
+
isAuthConnector: !!connection?.properties?.provider
|
|
117
123
|
};
|
|
118
124
|
},
|
|
119
125
|
switchTokens() {
|
|
120
|
-
if (state.
|
|
126
|
+
if (state.loadingTokens) {
|
|
121
127
|
return;
|
|
122
128
|
}
|
|
123
129
|
let newSourceToken = state.toToken ? {
|
|
@@ -137,35 +143,33 @@ const SwapController = exports.SwapController = {
|
|
|
137
143
|
this.setToTokenAmount('');
|
|
138
144
|
this.swapTokens();
|
|
139
145
|
},
|
|
140
|
-
resetState() {
|
|
141
|
-
state.myTokensWithBalance = initialState.myTokensWithBalance;
|
|
142
|
-
state.tokensPriceMap = initialState.tokensPriceMap;
|
|
143
|
-
state.initialized = initialState.initialized;
|
|
144
|
-
state.sourceToken = initialState.sourceToken;
|
|
145
|
-
state.sourceTokenAmount = initialState.sourceTokenAmount;
|
|
146
|
-
state.sourceTokenPriceInUSD = initialState.sourceTokenPriceInUSD;
|
|
147
|
-
state.toToken = initialState.toToken;
|
|
148
|
-
state.toTokenAmount = initialState.toTokenAmount;
|
|
149
|
-
state.toTokenPriceInUSD = initialState.toTokenPriceInUSD;
|
|
150
|
-
state.networkPrice = initialState.networkPrice;
|
|
151
|
-
state.networkTokenSymbol = initialState.networkTokenSymbol;
|
|
152
|
-
state.networkBalanceInUSD = initialState.networkBalanceInUSD;
|
|
153
|
-
state.inputError = initialState.inputError;
|
|
154
|
-
},
|
|
155
146
|
async fetchTokens() {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
state.
|
|
147
|
+
try {
|
|
148
|
+
const {
|
|
149
|
+
networkAddress
|
|
150
|
+
} = this.getParams();
|
|
151
|
+
state.loadingTokens = true;
|
|
152
|
+
await this.getTokenList();
|
|
153
|
+
await this.getNetworkTokenPrice();
|
|
154
|
+
await this.getMyTokensWithBalance();
|
|
155
|
+
const networkToken = state.tokens?.find(token => token.address === networkAddress);
|
|
156
|
+
if (networkToken) {
|
|
157
|
+
state.networkTokenSymbol = networkToken.symbol;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Set default source token if not set
|
|
161
|
+
if (!state.sourceToken && state.myTokensWithBalance?.length) {
|
|
162
|
+
const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
|
|
163
|
+
this.setSourceToken(sourceToken);
|
|
164
|
+
this.setSourceTokenAmount('1');
|
|
165
|
+
}
|
|
166
|
+
} catch (error) {
|
|
167
|
+
_LogController.LogController.sendError(error, 'SwapController.ts', 'initializeState');
|
|
168
|
+
_SnackController.SnackController.showError('Failed to initialize swap');
|
|
169
|
+
_RouterController.RouterController.goBack();
|
|
170
|
+
} finally {
|
|
171
|
+
state.loadingTokens = false;
|
|
165
172
|
}
|
|
166
|
-
const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
|
|
167
|
-
this.setSourceToken(sourceToken);
|
|
168
|
-
this.setSourceTokenAmount('1');
|
|
169
173
|
},
|
|
170
174
|
async getTokenList() {
|
|
171
175
|
const tokens = await _SwapApiUtil.SwapApiUtil.getTokenList();
|
|
@@ -187,15 +191,19 @@ const SwapController = exports.SwapController = {
|
|
|
187
191
|
}, {});
|
|
188
192
|
},
|
|
189
193
|
async getMyTokensWithBalance(forceUpdate) {
|
|
190
|
-
|
|
191
|
-
|
|
194
|
+
await _ConnectionsController.ConnectionsController.fetchBalance(forceUpdate);
|
|
195
|
+
const swapBalances = _SwapApiUtil.SwapApiUtil.mapBalancesToSwapTokens(_ConnectionsController.ConnectionsController.state.balances);
|
|
196
|
+
if (!swapBalances) {
|
|
192
197
|
return;
|
|
193
198
|
}
|
|
194
199
|
await this.getInitialGasPrice();
|
|
195
|
-
this.setBalances(
|
|
200
|
+
this.setBalances(swapBalances);
|
|
196
201
|
},
|
|
197
|
-
getFilteredPopularTokens() {
|
|
198
|
-
|
|
202
|
+
getFilteredPopularTokens(balances) {
|
|
203
|
+
if (!balances) {
|
|
204
|
+
return state.popularTokens;
|
|
205
|
+
}
|
|
206
|
+
return state.popularTokens?.filter(token => !balances.some(t => t.address === token.address));
|
|
199
207
|
},
|
|
200
208
|
setSourceToken(sourceToken) {
|
|
201
209
|
if (!sourceToken) {
|
|
@@ -213,31 +221,17 @@ const SwapController = exports.SwapController = {
|
|
|
213
221
|
state.toTokenAmount = '';
|
|
214
222
|
}
|
|
215
223
|
},
|
|
216
|
-
async initializeState() {
|
|
217
|
-
if (state.initializing) {
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
state.initializing = true;
|
|
221
|
-
if (!state.initialized) {
|
|
222
|
-
try {
|
|
223
|
-
await this.fetchTokens();
|
|
224
|
-
state.initialized = true;
|
|
225
|
-
} catch (error) {
|
|
226
|
-
state.initialized = false;
|
|
227
|
-
_SnackController.SnackController.showError('Failed to initialize swap');
|
|
228
|
-
_RouterController.RouterController.goBack();
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
state.initializing = false;
|
|
232
|
-
},
|
|
233
224
|
async getAddressPrice(address) {
|
|
225
|
+
const [namespace, chain] = address.split(':');
|
|
226
|
+
const networkId = `${namespace}:${chain}`;
|
|
234
227
|
const existPrice = state.tokensPriceMap[address];
|
|
235
228
|
if (existPrice) {
|
|
236
229
|
return existPrice;
|
|
237
230
|
}
|
|
238
231
|
const response = await _BlockchainApiController.BlockchainApiController.fetchTokenPrice({
|
|
239
232
|
projectId: _OptionsController.OptionsController.state.projectId,
|
|
240
|
-
addresses: [address]
|
|
233
|
+
addresses: [address],
|
|
234
|
+
caipNetworkId: networkId
|
|
241
235
|
});
|
|
242
236
|
const fungibles = response?.fungibles || [];
|
|
243
237
|
const allTokens = [...(state.tokens || []), ...(state.myTokensWithBalance || [])];
|
|
@@ -251,9 +245,12 @@ const SwapController = exports.SwapController = {
|
|
|
251
245
|
const {
|
|
252
246
|
networkAddress
|
|
253
247
|
} = this.getParams();
|
|
248
|
+
const [namespace, chain] = networkAddress.split(':');
|
|
249
|
+
const networkId = `${namespace}:${chain}`;
|
|
254
250
|
const response = await _BlockchainApiController.BlockchainApiController.fetchTokenPrice({
|
|
255
251
|
projectId: _OptionsController.OptionsController.state.projectId,
|
|
256
|
-
addresses: [networkAddress]
|
|
252
|
+
addresses: [networkAddress],
|
|
253
|
+
caipNetworkId: networkId
|
|
257
254
|
});
|
|
258
255
|
const token = response?.fungibles?.[0];
|
|
259
256
|
const price = token?.price.toString() || '0';
|
|
@@ -284,19 +281,10 @@ const SwapController = exports.SwapController = {
|
|
|
284
281
|
return _SwapCalculationUtil.SwapCalculationUtil.getProviderFeePrice(state.sourceTokenAmount, state.sourceTokenPriceInUSD);
|
|
285
282
|
},
|
|
286
283
|
setBalances(balances) {
|
|
287
|
-
|
|
288
|
-
networkAddress
|
|
289
|
-
} = this.getParams();
|
|
290
|
-
const caipNetwork = _NetworkController.NetworkController.state.caipNetwork;
|
|
291
|
-
if (!caipNetwork) {
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
const networkToken = balances.find(token => token.address === networkAddress);
|
|
284
|
+
state.myTokensWithBalance = balances;
|
|
295
285
|
balances.forEach(token => {
|
|
296
286
|
state.tokensPriceMap[token.address] = token.price || 0;
|
|
297
287
|
});
|
|
298
|
-
state.myTokensWithBalance = balances.filter(token => token.address?.startsWith(caipNetwork.id));
|
|
299
|
-
state.networkBalanceInUSD = networkToken ? _appkitCommonReactNative.NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString() : '0';
|
|
300
288
|
},
|
|
301
289
|
setToToken(toToken) {
|
|
302
290
|
if (!toToken) {
|
|
@@ -331,36 +319,43 @@ const SwapController = exports.SwapController = {
|
|
|
331
319
|
},
|
|
332
320
|
// -- Swap ---------------------------------------------- //
|
|
333
321
|
async swapTokens() {
|
|
334
|
-
const address =
|
|
322
|
+
const address = _ConnectionsController.ConnectionsController.state.activeAddress;
|
|
335
323
|
const sourceToken = state.sourceToken;
|
|
336
324
|
const toToken = state.toToken;
|
|
337
325
|
const haveSourceTokenAmount = _appkitCommonReactNative.NumberUtil.bigNumber(state.sourceTokenAmount).isGreaterThan(0);
|
|
338
|
-
if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount) {
|
|
326
|
+
if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount || !address) {
|
|
339
327
|
return;
|
|
340
328
|
}
|
|
341
329
|
state.loadingQuote = true;
|
|
342
330
|
const amountDecimal = _appkitCommonReactNative.NumberUtil.bigNumber(state.sourceTokenAmount).multipliedBy(10 ** sourceToken.decimals).integerValue();
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
331
|
+
try {
|
|
332
|
+
const quoteResponse = await _BlockchainApiController.BlockchainApiController.fetchSwapQuote({
|
|
333
|
+
userAddress: address,
|
|
334
|
+
projectId: _OptionsController.OptionsController.state.projectId,
|
|
335
|
+
from: sourceToken.address,
|
|
336
|
+
to: toToken.address,
|
|
337
|
+
gasPrice: state.gasFee,
|
|
338
|
+
amount: amountDecimal.toString()
|
|
339
|
+
});
|
|
340
|
+
const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
|
|
341
|
+
if (!quoteToAmount) {
|
|
342
|
+
state.loadingQuote = false;
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
const toTokenAmount = _appkitCommonReactNative.NumberUtil.bigNumber(quoteToAmount).dividedBy(10 ** toToken.decimals).toString();
|
|
346
|
+
this.setToTokenAmount(toTokenAmount);
|
|
347
|
+
const isInsufficientToken = this.hasInsufficientToken(state.sourceTokenAmount, sourceToken.address);
|
|
348
|
+
if (isInsufficientToken) {
|
|
349
|
+
state.inputError = 'Insufficient balance';
|
|
350
|
+
} else {
|
|
351
|
+
state.inputError = undefined;
|
|
352
|
+
this.setTransactionDetails();
|
|
353
|
+
}
|
|
354
|
+
} catch (error) {
|
|
355
|
+
_LogController.LogController.sendError(error, 'SwapController.ts', 'getQuote');
|
|
356
|
+
_SnackController.SnackController.showError('Failed to get swap quote');
|
|
357
|
+
} finally {
|
|
358
|
+
state.loadingQuote = false;
|
|
364
359
|
}
|
|
365
360
|
},
|
|
366
361
|
// -- Create Transactions -------------------------------------- //
|
|
@@ -424,7 +419,7 @@ const SwapController = exports.SwapController = {
|
|
|
424
419
|
if (!response) {
|
|
425
420
|
throw new Error('createAllowanceTransaction - No response from generateApproveCalldata');
|
|
426
421
|
}
|
|
427
|
-
const gasLimit = await
|
|
422
|
+
const gasLimit = await _ConnectionsController.ConnectionsController.estimateGas({
|
|
428
423
|
address: fromAddress,
|
|
429
424
|
to: _CoreHelperUtil.CoreHelperUtil.getPlainAddress(response.tx.to),
|
|
430
425
|
data: response.tx.data
|
|
@@ -474,7 +469,7 @@ const SwapController = exports.SwapController = {
|
|
|
474
469
|
if (!fromCaipAddress || !sourceTokenAmount || !sourceToken || !toToken) {
|
|
475
470
|
return undefined;
|
|
476
471
|
}
|
|
477
|
-
const amount =
|
|
472
|
+
const amount = _ConnectionsController.ConnectionsController.parseUnits(sourceTokenAmount, sourceToken.decimals)?.toString();
|
|
478
473
|
try {
|
|
479
474
|
const response = await _BlockchainApiController.BlockchainApiController.generateSwapCalldata({
|
|
480
475
|
projectId: _OptionsController.OptionsController.state.projectId,
|
|
@@ -513,39 +508,29 @@ const SwapController = exports.SwapController = {
|
|
|
513
508
|
async sendTransactionForApproval(data) {
|
|
514
509
|
const {
|
|
515
510
|
fromAddress,
|
|
516
|
-
|
|
511
|
+
network
|
|
517
512
|
} = this.getParams();
|
|
518
513
|
state.loadingApprovalTransaction = true;
|
|
519
|
-
|
|
520
|
-
if (isAuthConnector) {
|
|
521
|
-
_RouterController.RouterController.pushTransactionStack({
|
|
522
|
-
view: null,
|
|
523
|
-
goBack: true,
|
|
524
|
-
onSuccess() {
|
|
525
|
-
_SnackController.SnackController.showLoading(approveLimitMessage);
|
|
526
|
-
}
|
|
527
|
-
});
|
|
528
|
-
} else {
|
|
529
|
-
_SnackController.SnackController.showLoading(approveLimitMessage);
|
|
530
|
-
}
|
|
514
|
+
_SnackController.SnackController.showLoading('Approve limit increase in your wallet');
|
|
531
515
|
try {
|
|
532
|
-
await
|
|
516
|
+
await _ConnectionsController.ConnectionsController.sendTransaction({
|
|
533
517
|
address: fromAddress,
|
|
534
518
|
to: data.to,
|
|
535
519
|
data: data.data,
|
|
536
520
|
value: BigInt(data.value),
|
|
537
521
|
gasPrice: BigInt(data.gasPrice),
|
|
538
|
-
chainNamespace:
|
|
522
|
+
chainNamespace: _ConnectionsController.ConnectionsController.state.activeNamespace,
|
|
523
|
+
network
|
|
539
524
|
});
|
|
540
525
|
await this.swapTokens();
|
|
541
526
|
await this.getTransaction();
|
|
542
527
|
state.approvalTransaction = undefined;
|
|
543
|
-
state.loadingApprovalTransaction = false;
|
|
544
528
|
} catch (err) {
|
|
545
529
|
const error = err;
|
|
546
530
|
state.transactionError = error?.shortMessage;
|
|
547
|
-
state.loadingApprovalTransaction = false;
|
|
548
531
|
_SnackController.SnackController.showError(error?.shortMessage ?? 'Transaction error');
|
|
532
|
+
} finally {
|
|
533
|
+
state.loadingApprovalTransaction = false;
|
|
549
534
|
}
|
|
550
535
|
},
|
|
551
536
|
async sendTransactionForSwap(data) {
|
|
@@ -554,61 +539,54 @@ const SwapController = exports.SwapController = {
|
|
|
554
539
|
}
|
|
555
540
|
const {
|
|
556
541
|
fromAddress,
|
|
557
|
-
|
|
558
|
-
|
|
542
|
+
isAuthConnector,
|
|
543
|
+
network
|
|
559
544
|
} = this.getParams();
|
|
560
545
|
state.loadingTransaction = true;
|
|
561
|
-
const
|
|
562
|
-
|
|
563
|
-
if (isAuthConnector) {
|
|
564
|
-
_RouterController.RouterController.pushTransactionStack({
|
|
565
|
-
view: 'Account',
|
|
566
|
-
goBack: false,
|
|
567
|
-
onSuccess() {
|
|
568
|
-
_SnackController.SnackController.showLoading(snackbarPendingMessage);
|
|
569
|
-
SwapController.resetState();
|
|
570
|
-
}
|
|
571
|
-
});
|
|
572
|
-
} else {
|
|
573
|
-
_SnackController.SnackController.showLoading('Confirm transaction in your wallet');
|
|
574
|
-
}
|
|
546
|
+
const snackbarSuccessMessage = `Swapped ${state.sourceToken?.symbol} to ${state.toToken?.symbol}`;
|
|
547
|
+
_SnackController.SnackController.showLoading('Confirm transaction in your wallet');
|
|
575
548
|
try {
|
|
576
|
-
const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].
|
|
577
|
-
const transactionHash = await
|
|
549
|
+
const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].filter(Boolean);
|
|
550
|
+
const transactionHash = await _ConnectionsController.ConnectionsController.sendTransaction({
|
|
578
551
|
address: fromAddress,
|
|
579
552
|
to: data.to,
|
|
580
553
|
data: data.data,
|
|
581
554
|
gas: data.gas,
|
|
582
555
|
gasPrice: BigInt(data.gasPrice),
|
|
583
556
|
value: data.value,
|
|
584
|
-
chainNamespace:
|
|
557
|
+
chainNamespace: _ConnectionsController.ConnectionsController.state.activeNamespace,
|
|
558
|
+
network
|
|
585
559
|
});
|
|
586
560
|
state.loadingTransaction = false;
|
|
587
|
-
_SnackController.SnackController.showSuccess(snackbarSuccessMessage);
|
|
561
|
+
_SnackController.SnackController.showSuccess(snackbarSuccessMessage, true);
|
|
588
562
|
_EventsController.EventsController.sendEvent({
|
|
589
563
|
type: 'track',
|
|
590
564
|
event: 'SWAP_SUCCESS',
|
|
591
565
|
properties: {
|
|
592
|
-
network:
|
|
566
|
+
network: _ConnectionsController.ConnectionsController.state.activeNetwork?.caipNetworkId,
|
|
593
567
|
swapFromToken: this.state.sourceToken?.symbol || '',
|
|
594
568
|
swapToToken: this.state.toToken?.symbol || '',
|
|
595
569
|
swapFromAmount: this.state.sourceTokenAmount || '',
|
|
596
570
|
swapToAmount: this.state.toTokenAmount || '',
|
|
597
|
-
isSmartAccount:
|
|
571
|
+
isSmartAccount: _ConnectionsController.ConnectionsController.state.accountType === 'smartAccount'
|
|
598
572
|
}
|
|
599
573
|
});
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
_RouterController.RouterController.replace('AccountDefault');
|
|
603
|
-
}
|
|
574
|
+
_RouterController.RouterController.replace(isAuthConnector ? 'Account' : 'AccountDefault');
|
|
575
|
+
SwapController.clearTokens();
|
|
604
576
|
SwapController.getMyTokensWithBalance(forceUpdateAddresses);
|
|
605
|
-
_AccountController.AccountController.fetchTokenBalance();
|
|
606
577
|
setTimeout(() => {
|
|
607
|
-
|
|
578
|
+
if (_ConnectionsController.ConnectionsController.state.activeAddress) {
|
|
579
|
+
_TransactionsController.TransactionsController.fetchTransactions(_ConnectionsController.ConnectionsController.state.activeAddress, true);
|
|
580
|
+
}
|
|
608
581
|
}, 5000);
|
|
609
582
|
return transactionHash;
|
|
610
583
|
} catch (err) {
|
|
611
584
|
const error = err;
|
|
585
|
+
_LogController.LogController.sendError(error, 'SwapController.ts', 'sendTransactionForSwap', {
|
|
586
|
+
sourceToken: this.state.sourceToken?.symbol,
|
|
587
|
+
toToken: this.state.toToken?.symbol,
|
|
588
|
+
amount: this.state.sourceTokenAmount
|
|
589
|
+
});
|
|
612
590
|
state.transactionError = error?.shortMessage;
|
|
613
591
|
state.loadingTransaction = false;
|
|
614
592
|
_SnackController.SnackController.showError(error?.shortMessage ?? 'Transaction error');
|
|
@@ -617,26 +595,59 @@ const SwapController = exports.SwapController = {
|
|
|
617
595
|
event: 'SWAP_ERROR',
|
|
618
596
|
properties: {
|
|
619
597
|
message: error?.shortMessage ?? error?.message ?? 'Unknown',
|
|
620
|
-
network:
|
|
598
|
+
network: _ConnectionsController.ConnectionsController.state.activeNetwork?.caipNetworkId,
|
|
621
599
|
swapFromToken: this.state.sourceToken?.symbol || '',
|
|
622
600
|
swapToToken: this.state.toToken?.symbol || '',
|
|
623
601
|
swapFromAmount: this.state.sourceTokenAmount || '',
|
|
624
602
|
swapToAmount: this.state.toTokenAmount || '',
|
|
625
|
-
isSmartAccount:
|
|
603
|
+
isSmartAccount: _ConnectionsController.ConnectionsController.state.accountType === 'smartAccount'
|
|
626
604
|
}
|
|
627
605
|
});
|
|
628
606
|
return undefined;
|
|
629
607
|
}
|
|
630
608
|
},
|
|
609
|
+
clearTransactionLoaders() {
|
|
610
|
+
state.loadingApprovalTransaction = false;
|
|
611
|
+
state.loadingBuildTransaction = false;
|
|
612
|
+
state.loadingTransaction = false;
|
|
613
|
+
},
|
|
614
|
+
clearTokens() {
|
|
615
|
+
state.sourceToken = initialState.sourceToken;
|
|
616
|
+
state.sourceTokenAmount = initialState.sourceTokenAmount;
|
|
617
|
+
state.sourceTokenPriceInUSD = initialState.sourceTokenPriceInUSD;
|
|
618
|
+
state.toToken = initialState.toToken;
|
|
619
|
+
state.toTokenAmount = initialState.toTokenAmount;
|
|
620
|
+
state.toTokenPriceInUSD = initialState.toTokenPriceInUSD;
|
|
621
|
+
state.inputError = initialState.inputError;
|
|
622
|
+
state.loadingApprovalTransaction = initialState.loadingApprovalTransaction;
|
|
623
|
+
state.loadingBuildTransaction = initialState.loadingBuildTransaction;
|
|
624
|
+
state.loadingTransaction = initialState.loadingTransaction;
|
|
625
|
+
state.fetchError = initialState.fetchError;
|
|
626
|
+
state.transactionError = initialState.transactionError;
|
|
627
|
+
state.swapTransaction = initialState.swapTransaction;
|
|
628
|
+
state.approvalTransaction = initialState.approvalTransaction;
|
|
629
|
+
},
|
|
630
|
+
resetState() {
|
|
631
|
+
this.clearTokens();
|
|
632
|
+
state.myTokensWithBalance = initialState.myTokensWithBalance;
|
|
633
|
+
state.tokensPriceMap = initialState.tokensPriceMap;
|
|
634
|
+
state.networkPrice = initialState.networkPrice;
|
|
635
|
+
state.networkTokenSymbol = initialState.networkTokenSymbol;
|
|
636
|
+
},
|
|
631
637
|
// -- Checks -------------------------------------------- //
|
|
632
638
|
hasInsufficientToken(sourceTokenAmount, sourceTokenAddress) {
|
|
639
|
+
const {
|
|
640
|
+
balances
|
|
641
|
+
} = _ConnectionsController.ConnectionsController.state;
|
|
642
|
+
const networkToken = balances?.find(t => t.address === undefined);
|
|
643
|
+
const networkBalanceInUSD = networkToken ? _appkitCommonReactNative.NumberUtil.multiply(networkToken.quantity?.numeric ?? '0', networkToken.price).toString() : '0';
|
|
633
644
|
const isInsufficientSourceTokenForSwap = _SwapCalculationUtil.SwapCalculationUtil.isInsufficientSourceTokenForSwap(sourceTokenAmount, sourceTokenAddress, state.myTokensWithBalance);
|
|
634
645
|
let insufficientNetworkTokenForGas = true;
|
|
635
|
-
if (
|
|
646
|
+
if (_ConnectionsController.ConnectionsController.state.accountType === 'smartAccount') {
|
|
636
647
|
// Smart Accounts may pay gas in any ERC20 token
|
|
637
648
|
insufficientNetworkTokenForGas = false;
|
|
638
649
|
} else {
|
|
639
|
-
insufficientNetworkTokenForGas = _SwapCalculationUtil.SwapCalculationUtil.isInsufficientNetworkTokenForGas(
|
|
650
|
+
insufficientNetworkTokenForGas = _SwapCalculationUtil.SwapCalculationUtil.isInsufficientNetworkTokenForGas(networkBalanceInUSD, state.gasPriceInUSD);
|
|
640
651
|
}
|
|
641
652
|
return insufficientNetworkTokenForGas || isInsufficientSourceTokenForSwap;
|
|
642
653
|
},
|