@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
|
@@ -33,12 +33,16 @@ import type {
|
|
|
33
33
|
BlockchainApiOnRampWidgetRequest,
|
|
34
34
|
BlockchainApiOnRampQuotesRequest,
|
|
35
35
|
OnRampFiatLimit,
|
|
36
|
-
OnRampCountryDefaults
|
|
37
|
-
|
|
36
|
+
OnRampCountryDefaults,
|
|
37
|
+
CaipAddress,
|
|
38
|
+
CaipNetworkId
|
|
39
|
+
} from '@reown/appkit-common-react-native';
|
|
38
40
|
import { OptionsController } from './OptionsController';
|
|
39
41
|
import { ConstantsUtil } from '../utils/ConstantsUtil';
|
|
40
42
|
import { ApiUtil } from '../utils/ApiUtil';
|
|
41
43
|
|
|
44
|
+
import { SnackController } from './SnackController';
|
|
45
|
+
|
|
42
46
|
// -- Helpers ------------------------------------------- //
|
|
43
47
|
const baseUrl = CoreHelperUtil.getBlockchainApiUrl();
|
|
44
48
|
|
|
@@ -57,22 +61,53 @@ const getHeaders = () => {
|
|
|
57
61
|
export const EXCLUDED_ONRAMP_PROVIDERS = ['BINANCECONNECT', 'COINBASEPAY'];
|
|
58
62
|
|
|
59
63
|
// -- Types --------------------------------------------- //
|
|
64
|
+
type WithCaipNetworkId = { caipNetworkId: CaipNetworkId };
|
|
65
|
+
|
|
60
66
|
export interface BlockchainApiControllerState {
|
|
61
67
|
clientId: string | null;
|
|
62
68
|
api: FetchUtil;
|
|
69
|
+
supportedChains: { http: CaipNetworkId[]; ws: CaipNetworkId[] };
|
|
63
70
|
}
|
|
64
71
|
|
|
65
72
|
// -- State --------------------------------------------- //
|
|
66
73
|
const state = proxy<BlockchainApiControllerState>({
|
|
67
74
|
clientId: null,
|
|
68
|
-
api: new FetchUtil({ baseUrl })
|
|
75
|
+
api: new FetchUtil({ baseUrl }),
|
|
76
|
+
supportedChains: { http: [], ws: [] }
|
|
69
77
|
});
|
|
70
78
|
|
|
71
79
|
// -- Controller ---------------------------------------- //
|
|
72
80
|
export const BlockchainApiController = {
|
|
73
81
|
state,
|
|
74
82
|
|
|
75
|
-
|
|
83
|
+
async isNetworkSupported(networkId?: CaipNetworkId) {
|
|
84
|
+
if (!networkId) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
if (!state.supportedChains.http.length) {
|
|
89
|
+
await BlockchainApiController.getSupportedNetworks();
|
|
90
|
+
}
|
|
91
|
+
} catch (e) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return state.supportedChains.http.includes(networkId);
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
async getSupportedNetworks() {
|
|
99
|
+
const supportedChains = await state.api.get<BlockchainApiControllerState['supportedChains']>({
|
|
100
|
+
path: 'v1/supported-chains'
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
state.supportedChains = supportedChains!;
|
|
104
|
+
|
|
105
|
+
return supportedChains;
|
|
106
|
+
},
|
|
107
|
+
|
|
108
|
+
async fetchIdentity(params: BlockchainApiIdentityRequest) {
|
|
109
|
+
const { address } = params;
|
|
110
|
+
|
|
76
111
|
return state.api.get<BlockchainApiIdentityResponse>({
|
|
77
112
|
path: `/v1/identity/${address}`,
|
|
78
113
|
params: {
|
|
@@ -82,29 +117,38 @@ export const BlockchainApiController = {
|
|
|
82
117
|
});
|
|
83
118
|
},
|
|
84
119
|
|
|
85
|
-
fetchTransactions({
|
|
86
|
-
account,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
120
|
+
async fetchTransactions(params: BlockchainApiTransactionsRequest) {
|
|
121
|
+
const { account, projectId, cursor, signal, cache, chainId } = params;
|
|
122
|
+
const isSupported = await BlockchainApiController.isNetworkSupported(chainId);
|
|
123
|
+
|
|
124
|
+
if (!isSupported) {
|
|
125
|
+
return { data: [], next: undefined };
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
const response = await state.api.get<BlockchainApiTransactionsResponse>({
|
|
94
129
|
path: `/v1/account/${account}/history`,
|
|
95
130
|
headers: getHeaders(),
|
|
96
131
|
params: {
|
|
97
132
|
projectId,
|
|
98
133
|
cursor,
|
|
99
|
-
|
|
134
|
+
chainId
|
|
100
135
|
},
|
|
101
136
|
signal,
|
|
102
137
|
cache
|
|
103
138
|
});
|
|
139
|
+
|
|
140
|
+
return response;
|
|
104
141
|
},
|
|
105
142
|
|
|
106
|
-
fetchTokenPrice(
|
|
107
|
-
|
|
143
|
+
async fetchTokenPrice(params: BlockchainApiTokenPriceRequest & WithCaipNetworkId) {
|
|
144
|
+
const { projectId, addresses, caipNetworkId } = params;
|
|
145
|
+
const isSupported = await BlockchainApiController.isNetworkSupported(caipNetworkId);
|
|
146
|
+
|
|
147
|
+
if (!isSupported) {
|
|
148
|
+
return { fungibles: [] };
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
const response = await state.api.post<BlockchainApiTokenPriceResponse>({
|
|
108
152
|
path: '/v1/fungible/price',
|
|
109
153
|
body: {
|
|
110
154
|
projectId,
|
|
@@ -113,9 +157,20 @@ export const BlockchainApiController = {
|
|
|
113
157
|
},
|
|
114
158
|
headers: getHeaders()
|
|
115
159
|
});
|
|
160
|
+
|
|
161
|
+
return response;
|
|
116
162
|
},
|
|
117
163
|
|
|
118
|
-
fetchSwapAllowance(
|
|
164
|
+
async fetchSwapAllowance(params: BlockchainApiSwapAllowanceRequest) {
|
|
165
|
+
const { projectId, tokenAddress, userAddress } = params;
|
|
166
|
+
const [namespace, chain] = userAddress.split(':');
|
|
167
|
+
const networkId: CaipNetworkId = `${namespace}:${chain}`;
|
|
168
|
+
const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
|
|
169
|
+
|
|
170
|
+
if (!isSupported) {
|
|
171
|
+
return { allowance: '0' };
|
|
172
|
+
}
|
|
173
|
+
|
|
119
174
|
return state.api.get<BlockchainApiSwapAllowanceResponse>({
|
|
120
175
|
path: `/v1/convert/allowance`,
|
|
121
176
|
params: {
|
|
@@ -127,7 +182,14 @@ export const BlockchainApiController = {
|
|
|
127
182
|
});
|
|
128
183
|
},
|
|
129
184
|
|
|
130
|
-
fetchGasPrice(
|
|
185
|
+
async fetchGasPrice(params: BlockchainApiGasPriceRequest) {
|
|
186
|
+
const { projectId, chainId } = params;
|
|
187
|
+
const isSupported = await BlockchainApiController.isNetworkSupported(chainId);
|
|
188
|
+
|
|
189
|
+
if (!isSupported) {
|
|
190
|
+
throw new Error('Network not supported for Gas Price');
|
|
191
|
+
}
|
|
192
|
+
|
|
131
193
|
return state.api.get<BlockchainApiGasPriceResponse>({
|
|
132
194
|
path: `/v1/convert/gas-price`,
|
|
133
195
|
headers: getHeaders(),
|
|
@@ -138,14 +200,16 @@ export const BlockchainApiController = {
|
|
|
138
200
|
});
|
|
139
201
|
},
|
|
140
202
|
|
|
141
|
-
fetchSwapQuote({
|
|
142
|
-
projectId,
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
203
|
+
async fetchSwapQuote(params: BlockchainApiSwapQuoteRequest) {
|
|
204
|
+
const { projectId, amount, userAddress, from, to, gasPrice } = params;
|
|
205
|
+
const [namespace, chain] = userAddress.split(':');
|
|
206
|
+
const networkId: CaipNetworkId = `${namespace}:${chain}`;
|
|
207
|
+
const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
|
|
208
|
+
|
|
209
|
+
if (!isSupported) {
|
|
210
|
+
return { quotes: [] };
|
|
211
|
+
}
|
|
212
|
+
|
|
149
213
|
return state.api.get<BlockchainApiSwapQuoteResponse>({
|
|
150
214
|
path: `/v1/convert/quotes`,
|
|
151
215
|
headers: getHeaders(),
|
|
@@ -160,7 +224,14 @@ export const BlockchainApiController = {
|
|
|
160
224
|
});
|
|
161
225
|
},
|
|
162
226
|
|
|
163
|
-
fetchSwapTokens(
|
|
227
|
+
async fetchSwapTokens(params: BlockchainApiSwapTokensRequest) {
|
|
228
|
+
const { projectId, chainId } = params;
|
|
229
|
+
const isSupported = await BlockchainApiController.isNetworkSupported(chainId);
|
|
230
|
+
|
|
231
|
+
if (!isSupported) {
|
|
232
|
+
return { tokens: [] };
|
|
233
|
+
}
|
|
234
|
+
|
|
164
235
|
return state.api.get<BlockchainApiSwapTokensResponse>({
|
|
165
236
|
path: `/v1/convert/tokens`,
|
|
166
237
|
headers: getHeaders(),
|
|
@@ -171,13 +242,16 @@ export const BlockchainApiController = {
|
|
|
171
242
|
});
|
|
172
243
|
},
|
|
173
244
|
|
|
174
|
-
generateSwapCalldata({
|
|
175
|
-
amount,
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
245
|
+
async generateSwapCalldata(params: BlockchainApiGenerateSwapCalldataRequest) {
|
|
246
|
+
const { amount, from, projectId, to, userAddress } = params;
|
|
247
|
+
const [namespace, chain] = userAddress.split(':');
|
|
248
|
+
const networkId: CaipNetworkId = `${namespace}:${chain}`;
|
|
249
|
+
const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
|
|
250
|
+
|
|
251
|
+
if (!isSupported) {
|
|
252
|
+
throw new Error('Network not supported for Swaps');
|
|
253
|
+
}
|
|
254
|
+
|
|
181
255
|
return state.api.post<BlockchainApiGenerateSwapCalldataResponse>({
|
|
182
256
|
path: '/v1/convert/build-transaction',
|
|
183
257
|
headers: getHeaders(),
|
|
@@ -194,12 +268,16 @@ export const BlockchainApiController = {
|
|
|
194
268
|
});
|
|
195
269
|
},
|
|
196
270
|
|
|
197
|
-
generateApproveCalldata({
|
|
198
|
-
from,
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
271
|
+
async generateApproveCalldata(params: BlockchainApiGenerateApproveCalldataRequest) {
|
|
272
|
+
const { from, projectId, to, userAddress } = params;
|
|
273
|
+
const [namespace, chain] = userAddress.split(':');
|
|
274
|
+
const networkId: CaipNetworkId = `${namespace}:${chain}`;
|
|
275
|
+
const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
|
|
276
|
+
|
|
277
|
+
if (!isSupported) {
|
|
278
|
+
throw new Error('Network not supported for Swaps');
|
|
279
|
+
}
|
|
280
|
+
|
|
203
281
|
return state.api.get<BlockchainApiGenerateApproveCalldataResponse>({
|
|
204
282
|
path: `/v1/convert/build-approve`,
|
|
205
283
|
headers: getHeaders(),
|
|
@@ -212,15 +290,29 @@ export const BlockchainApiController = {
|
|
|
212
290
|
});
|
|
213
291
|
},
|
|
214
292
|
|
|
215
|
-
async getBalance(address
|
|
293
|
+
async getBalance(address?: CaipAddress, forceUpdate?: CaipAddress[]) {
|
|
294
|
+
const [namespace, chain, plainAddress] = address?.split(':') ?? [];
|
|
295
|
+
|
|
296
|
+
if (!namespace || !chain || !plainAddress) {
|
|
297
|
+
throw new Error('Invalid address');
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
const isSupported = await BlockchainApiController.isNetworkSupported(`${namespace}:${chain}`);
|
|
301
|
+
|
|
302
|
+
if (!isSupported) {
|
|
303
|
+
SnackController.showError('Token Balance Unavailable');
|
|
304
|
+
|
|
305
|
+
return { balances: [] };
|
|
306
|
+
}
|
|
307
|
+
|
|
216
308
|
return state.api.get<BlockchainApiBalanceResponse>({
|
|
217
|
-
path: `/v1/account/${
|
|
309
|
+
path: `/v1/account/${plainAddress}/balance`,
|
|
218
310
|
headers: getHeaders(),
|
|
219
311
|
params: {
|
|
220
312
|
currency: 'usd',
|
|
221
313
|
projectId: OptionsController.state.projectId,
|
|
222
|
-
chainId
|
|
223
|
-
forceUpdate
|
|
314
|
+
chainId: `${namespace}:${chain}`,
|
|
315
|
+
forceUpdate: forceUpdate?.join(',')
|
|
224
316
|
}
|
|
225
317
|
});
|
|
226
318
|
},
|