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