@reown/appkit-core-react-native 0.0.0-chore-canary-20250722145858 → 0.0.0-chore-bump-builder-20250728194329
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 +27 -16
- package/lib/commonjs/controllers/ApiController.js.map +1 -1
- package/lib/commonjs/controllers/BlockchainApiController.js +173 -103
- package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
- package/lib/commonjs/controllers/ConnectionController.js +8 -11
- package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
- package/lib/commonjs/controllers/ConnectionsController.js +417 -0
- package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
- package/lib/commonjs/controllers/ModalController.js +6 -7
- package/lib/commonjs/controllers/ModalController.js.map +1 -1
- package/lib/commonjs/controllers/OnRampController.js +58 -42
- package/lib/commonjs/controllers/OnRampController.js.map +1 -1
- package/lib/commonjs/controllers/OptionsController.js +17 -3
- package/lib/commonjs/controllers/OptionsController.js.map +1 -1
- package/lib/commonjs/controllers/RouterController.js +1 -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 +151 -150
- 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/index.js +3 -38
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/utils/AssetUtil.js +3 -15
- 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 +11 -5
- package/lib/commonjs/utils/CoreHelperUtil.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/StorageUtil.js +99 -71
- 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/TypeUtil.js +25 -0
- package/lib/commonjs/utils/TypeUtil.js.map +1 -1
- package/lib/module/controllers/ApiController.js +28 -16
- package/lib/module/controllers/ApiController.js.map +1 -1
- package/lib/module/controllers/AssetController.js +2 -0
- package/lib/module/controllers/AssetController.js.map +1 -1
- package/lib/module/controllers/BlockchainApiController.js +174 -102
- package/lib/module/controllers/BlockchainApiController.js.map +1 -1
- package/lib/module/controllers/ConnectionController.js +10 -11
- package/lib/module/controllers/ConnectionController.js.map +1 -1
- package/lib/module/controllers/ConnectionsController.js +414 -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 +59 -41
- package/lib/module/controllers/OnRampController.js.map +1 -1
- package/lib/module/controllers/OptionsController.js +19 -3
- 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 +3 -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 +153 -150
- 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/index.js +3 -6
- 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 +5 -15
- 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 +13 -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 +9 -2
- 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 +103 -71
- 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 +2 -0
- package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
- package/lib/module/utils/TypeUtil.js +25 -1
- package/lib/module/utils/TypeUtil.js.map +1 -1
- package/lib/typescript/controllers/ApiController.d.ts +3 -2
- package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/BlockchainApiController.d.ts +30 -11
- package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/ConnectionController.d.ts +5 -16
- package/lib/typescript/controllers/ConnectionController.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/ModalController.d.ts.map +1 -1
- package/lib/typescript/controllers/OnRampController.d.ts +1 -2
- package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
- package/lib/typescript/controllers/OptionsController.d.ts +8 -2
- package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
- package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
- package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
- package/lib/typescript/controllers/RouterController.d.ts +4 -16
- 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 -11
- 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/index.d.ts +1 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/AssetUtil.d.ts +2 -3
- package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
- package/lib/typescript/utils/ConstantsUtil.d.ts +11 -1
- 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/FetchUtil.d.ts +1 -1
- package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
- package/lib/typescript/utils/StorageUtil.d.ts +18 -12
- package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
- package/lib/typescript/utils/SwapApiUtil.d.ts +3 -3
- package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
- package/lib/typescript/utils/TypeUtil.d.ts +44 -184
- package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/controllers/ApiController.ts +28 -10
- package/src/controllers/BlockchainApiController.ts +152 -89
- package/src/controllers/ConnectionController.ts +14 -29
- package/src/controllers/ConnectionsController.ts +543 -0
- package/src/controllers/ModalController.ts +6 -7
- package/src/controllers/OnRampController.ts +91 -59
- package/src/controllers/OptionsController.ts +27 -13
- package/src/controllers/PublicStateController.ts +1 -1
- package/src/controllers/RouterController.ts +5 -54
- package/src/controllers/SendController.ts +122 -111
- package/src/controllers/SnackController.ts +31 -5
- package/src/controllers/SwapController.ts +174 -181
- package/src/controllers/ThemeController.ts +11 -2
- package/src/controllers/TransactionsController.ts +25 -19
- package/src/index.ts +3 -14
- package/src/utils/AssetUtil.ts +4 -20
- package/src/utils/ConstantsUtil.ts +126 -5
- package/src/utils/CoreHelperUtil.ts +34 -7
- package/src/utils/FetchUtil.ts +9 -3
- package/src/utils/StorageUtil.ts +180 -78
- package/src/utils/SwapApiUtil.ts +27 -38
- package/src/utils/TypeUtil.ts +54 -182
- package/lib/commonjs/controllers/AccountController.js +0 -93
- package/lib/commonjs/controllers/AccountController.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/module/controllers/AccountController.js +0 -88
- package/lib/module/controllers/AccountController.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/typescript/controllers/AccountController.d.ts +0 -33
- package/lib/typescript/controllers/AccountController.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/src/controllers/AccountController.ts +0 -128
- 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
|
@@ -1,32 +1,31 @@
|
|
|
1
|
-
import { subscribeKey as subKey } from 'valtio/
|
|
2
|
-
import { proxy, subscribe as sub } from 'valtio
|
|
3
|
-
import
|
|
4
|
-
OnRampPaymentMethod,
|
|
5
|
-
OnRampCountry,
|
|
6
|
-
OnRampFiatCurrency,
|
|
7
|
-
OnRampQuote,
|
|
8
|
-
OnRampFiatLimit,
|
|
9
|
-
OnRampCryptoCurrency,
|
|
10
|
-
OnRampServiceProvider,
|
|
11
|
-
OnRampError,
|
|
12
|
-
OnRampErrorTypeValues,
|
|
13
|
-
OnRampCountryDefaults
|
|
1
|
+
import { subscribeKey as subKey } from 'valtio/utils';
|
|
2
|
+
import { proxy, subscribe as sub } from 'valtio';
|
|
3
|
+
import {
|
|
4
|
+
type OnRampPaymentMethod,
|
|
5
|
+
type OnRampCountry,
|
|
6
|
+
type OnRampFiatCurrency,
|
|
7
|
+
type OnRampQuote,
|
|
8
|
+
type OnRampFiatLimit,
|
|
9
|
+
type OnRampCryptoCurrency,
|
|
10
|
+
type OnRampServiceProvider,
|
|
11
|
+
type OnRampError,
|
|
12
|
+
type OnRampErrorTypeValues,
|
|
13
|
+
type OnRampCountryDefaults,
|
|
14
|
+
BlockchainOnRampError
|
|
14
15
|
} from '../utils/TypeUtil';
|
|
15
16
|
|
|
16
17
|
import { CoreHelperUtil } from '../utils/CoreHelperUtil';
|
|
17
|
-
import { NetworkController } from './NetworkController';
|
|
18
|
-
import { AccountController } from './AccountController';
|
|
19
18
|
import { OptionsController } from './OptionsController';
|
|
20
19
|
import { ConstantsUtil, OnRampErrorType } from '../utils/ConstantsUtil';
|
|
21
20
|
import { StorageUtil } from '../utils/StorageUtil';
|
|
22
21
|
import { SnackController } from './SnackController';
|
|
23
22
|
import { EventsController } from './EventsController';
|
|
24
|
-
import { BlockchainApiController } from './BlockchainApiController';
|
|
23
|
+
import { BlockchainApiController, EXCLUDED_ONRAMP_PROVIDERS } from './BlockchainApiController';
|
|
24
|
+
import { ConnectionsController } from './ConnectionsController';
|
|
25
25
|
|
|
26
26
|
// -- Helpers ------------------------------------------- //
|
|
27
27
|
|
|
28
28
|
let quotesAbortController: AbortController | null = null;
|
|
29
|
-
const excludeProviders = ['BINANCECONNECT', 'COINBASEPAY'];
|
|
30
29
|
|
|
31
30
|
// -- Utils --------------------------------------------- //
|
|
32
31
|
|
|
@@ -116,27 +115,35 @@ export const OnRampController = {
|
|
|
116
115
|
},
|
|
117
116
|
|
|
118
117
|
async setSelectedCountry(country: OnRampCountry, updateCurrency = true) {
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
try {
|
|
119
|
+
state.selectedCountry = country;
|
|
120
|
+
state.loading = true;
|
|
121
121
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
122
|
+
if (updateCurrency) {
|
|
123
|
+
const currencyCode =
|
|
124
|
+
state.countriesDefaults?.find(d => d.countryCode === country.countryCode)
|
|
125
|
+
?.defaultCurrencyCode || 'USD';
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
const currency = state.paymentCurrencies?.find(c => c.currencyCode === currencyCode);
|
|
128
128
|
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
if (currency) {
|
|
130
|
+
this.setPaymentCurrency(currency);
|
|
131
|
+
}
|
|
131
132
|
}
|
|
132
|
-
}
|
|
133
133
|
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
await Promise.all([this.fetchPaymentMethods(), this.fetchCryptoCurrencies()]);
|
|
135
|
+
this.clearQuotes();
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
state.loading = false;
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
StorageUtil.setOnRampPreferredCountry(country);
|
|
140
|
+
} catch (error) {
|
|
141
|
+
state.loading = false;
|
|
142
|
+
state.error = {
|
|
143
|
+
type: OnRampErrorType.FAILED_TO_LOAD_COUNTRIES,
|
|
144
|
+
message: 'Failed to load countries'
|
|
145
|
+
};
|
|
146
|
+
}
|
|
140
147
|
},
|
|
141
148
|
|
|
142
149
|
setSelectedPaymentMethod(paymentMethod: OnRampPaymentMethod) {
|
|
@@ -180,16 +187,16 @@ export const OnRampController = {
|
|
|
180
187
|
|
|
181
188
|
updateSelectedPurchaseCurrency() {
|
|
182
189
|
let selectedCurrency;
|
|
183
|
-
if (
|
|
190
|
+
if (ConnectionsController.state.activeNetwork?.caipNetworkId) {
|
|
184
191
|
const defaultCurrency =
|
|
185
192
|
ConstantsUtil.NETWORK_DEFAULT_CURRENCIES[
|
|
186
|
-
|
|
187
|
-
?.
|
|
193
|
+
ConnectionsController.state.activeNetwork
|
|
194
|
+
?.caipNetworkId as keyof typeof ConstantsUtil.NETWORK_DEFAULT_CURRENCIES
|
|
188
195
|
];
|
|
189
196
|
selectedCurrency = state.purchaseCurrencies?.find(c => c.currencyCode === defaultCurrency);
|
|
190
197
|
}
|
|
191
198
|
|
|
192
|
-
state.purchaseCurrency = selectedCurrency ??
|
|
199
|
+
state.purchaseCurrency = selectedCurrency ?? undefined;
|
|
193
200
|
},
|
|
194
201
|
|
|
195
202
|
getServiceProviderImage(serviceProviderName?: string) {
|
|
@@ -320,16 +327,16 @@ export const OnRampController = {
|
|
|
320
327
|
state.purchaseCurrencies = cryptoCurrencies || [];
|
|
321
328
|
|
|
322
329
|
let selectedCurrency;
|
|
323
|
-
if (
|
|
330
|
+
if (ConnectionsController.state.activeNetwork?.caipNetworkId) {
|
|
324
331
|
const defaultCurrency =
|
|
325
332
|
ConstantsUtil.NETWORK_DEFAULT_CURRENCIES[
|
|
326
|
-
|
|
327
|
-
?.
|
|
328
|
-
]
|
|
333
|
+
ConnectionsController.state.activeNetwork
|
|
334
|
+
?.caipNetworkId as keyof typeof ConstantsUtil.NETWORK_DEFAULT_CURRENCIES
|
|
335
|
+
];
|
|
329
336
|
selectedCurrency = state.purchaseCurrencies?.find(c => c.currencyCode === defaultCurrency);
|
|
330
337
|
}
|
|
331
338
|
|
|
332
|
-
state.purchaseCurrency = selectedCurrency ||
|
|
339
|
+
state.purchaseCurrency = selectedCurrency || undefined;
|
|
333
340
|
} catch (error) {
|
|
334
341
|
state.error = {
|
|
335
342
|
type: OnRampErrorType.FAILED_TO_LOAD_CURRENCIES,
|
|
@@ -396,40 +403,53 @@ export const OnRampController = {
|
|
|
396
403
|
}
|
|
397
404
|
},
|
|
398
405
|
|
|
399
|
-
getQuotesDebounced: CoreHelperUtil.debounce(function () {
|
|
400
|
-
OnRampController.getQuotes();
|
|
401
|
-
}, 500),
|
|
402
|
-
|
|
403
406
|
async getQuotes() {
|
|
404
|
-
if (!
|
|
407
|
+
if (!this.canGenerateQuote()) {
|
|
405
408
|
this.clearQuotes();
|
|
406
409
|
|
|
407
410
|
return;
|
|
408
411
|
}
|
|
409
412
|
|
|
410
|
-
state.quotesLoading = true;
|
|
411
|
-
state.selectedQuote = undefined;
|
|
412
|
-
state.selectedServiceProvider = undefined;
|
|
413
|
-
state.error = undefined;
|
|
414
|
-
|
|
415
413
|
this.abortGetQuotes(false);
|
|
416
414
|
quotesAbortController = new AbortController();
|
|
417
415
|
const currentSignal = quotesAbortController.signal;
|
|
418
416
|
|
|
419
417
|
try {
|
|
418
|
+
if (
|
|
419
|
+
!state.selectedCountry?.countryCode ||
|
|
420
|
+
!state.purchaseCurrency?.currencyCode ||
|
|
421
|
+
!state.paymentCurrency?.currencyCode ||
|
|
422
|
+
!ConnectionsController.state.activeAddress
|
|
423
|
+
) {
|
|
424
|
+
throw new BlockchainOnRampError(OnRampErrorType.UNKNOWN, 'Invalid quote parameters');
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
state.quotesLoading = true;
|
|
428
|
+
state.selectedQuote = undefined;
|
|
429
|
+
state.selectedServiceProvider = undefined;
|
|
430
|
+
state.error = undefined;
|
|
431
|
+
|
|
432
|
+
const plainAddress = CoreHelperUtil.getPlainAddress(
|
|
433
|
+
ConnectionsController.state.activeAddress
|
|
434
|
+
);
|
|
435
|
+
|
|
436
|
+
if (!plainAddress) {
|
|
437
|
+
throw new Error('Invalid address');
|
|
438
|
+
}
|
|
439
|
+
|
|
420
440
|
const body = {
|
|
421
|
-
countryCode: state.selectedCountry
|
|
422
|
-
destinationCurrencyCode: state.purchaseCurrency
|
|
423
|
-
sourceAmount: state.paymentAmount
|
|
424
|
-
sourceCurrencyCode: state.paymentCurrency
|
|
425
|
-
walletAddress:
|
|
426
|
-
excludeProviders
|
|
441
|
+
countryCode: state.selectedCountry.countryCode,
|
|
442
|
+
destinationCurrencyCode: state.purchaseCurrency.currencyCode,
|
|
443
|
+
sourceAmount: state.paymentAmount!,
|
|
444
|
+
sourceCurrencyCode: state.paymentCurrency.currencyCode,
|
|
445
|
+
walletAddress: plainAddress,
|
|
446
|
+
excludeProviders: EXCLUDED_ONRAMP_PROVIDERS
|
|
427
447
|
};
|
|
428
448
|
|
|
429
449
|
const response = await BlockchainApiController.getOnRampQuotes(body, currentSignal);
|
|
430
450
|
|
|
431
451
|
if (!response || !response.length) {
|
|
432
|
-
throw
|
|
452
|
+
throw new BlockchainOnRampError(OnRampErrorType.NO_VALID_QUOTES, 'No valid quotes');
|
|
433
453
|
}
|
|
434
454
|
|
|
435
455
|
const quotes = response.sort((a, b) => b.customerScore - a.customerScore);
|
|
@@ -511,7 +531,7 @@ export const OnRampController = {
|
|
|
511
531
|
state.paymentCurrency?.currencyCode &&
|
|
512
532
|
state.selectedCountry &&
|
|
513
533
|
!state.loading &&
|
|
514
|
-
|
|
534
|
+
ConnectionsController.state.activeAddress
|
|
515
535
|
);
|
|
516
536
|
},
|
|
517
537
|
|
|
@@ -538,6 +558,10 @@ export const OnRampController = {
|
|
|
538
558
|
},
|
|
539
559
|
|
|
540
560
|
async generateWidget({ quote }: { quote: OnRampQuote }) {
|
|
561
|
+
if (!ConnectionsController.state.activeAddress) {
|
|
562
|
+
throw new Error('No active address');
|
|
563
|
+
}
|
|
564
|
+
|
|
541
565
|
const metadata = OptionsController.state.metadata;
|
|
542
566
|
const eventProperties = {
|
|
543
567
|
asset: quote.destinationCurrencyCode,
|
|
@@ -554,6 +578,14 @@ export const OnRampController = {
|
|
|
554
578
|
throw new Error('Invalid quote');
|
|
555
579
|
}
|
|
556
580
|
|
|
581
|
+
const plainAddress = CoreHelperUtil.getPlainAddress(
|
|
582
|
+
ConnectionsController.state.activeAddress
|
|
583
|
+
);
|
|
584
|
+
|
|
585
|
+
if (!plainAddress) {
|
|
586
|
+
throw new Error('Invalid address');
|
|
587
|
+
}
|
|
588
|
+
|
|
557
589
|
const body = {
|
|
558
590
|
countryCode: quote.countryCode,
|
|
559
591
|
destinationCurrencyCode: quote.destinationCurrencyCode,
|
|
@@ -561,7 +593,7 @@ export const OnRampController = {
|
|
|
561
593
|
serviceProvider: quote.serviceProvider,
|
|
562
594
|
sourceAmount: quote.sourceAmount,
|
|
563
595
|
sourceCurrencyCode: quote.sourceCurrencyCode,
|
|
564
|
-
walletAddress:
|
|
596
|
+
walletAddress: plainAddress,
|
|
565
597
|
redirectUrl: metadata?.redirect?.universal ?? metadata?.redirect?.native
|
|
566
598
|
};
|
|
567
599
|
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { proxy, ref } from 'valtio';
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Metadata,
|
|
6
|
-
ProjectId,
|
|
7
|
-
SdkType,
|
|
8
|
-
SdkVersion,
|
|
9
|
-
Tokens
|
|
10
|
-
} from '../utils/TypeUtil';
|
|
2
|
+
import type { Tokens, Storage, Metadata, AppKitNetwork } from '@reown/appkit-common-react-native';
|
|
3
|
+
import type { CustomWallet, Features, ProjectId, SdkType, SdkVersion } from '../utils/TypeUtil';
|
|
4
|
+
|
|
11
5
|
import { ConstantsUtil } from '../utils/ConstantsUtil';
|
|
12
6
|
|
|
13
7
|
// -- Types --------------------------------------------- //
|
|
@@ -17,7 +11,8 @@ export interface ClipboardClient {
|
|
|
17
11
|
|
|
18
12
|
export interface OptionsControllerState {
|
|
19
13
|
projectId: ProjectId;
|
|
20
|
-
|
|
14
|
+
clipboardClient?: ClipboardClient;
|
|
15
|
+
storage?: Storage;
|
|
21
16
|
includeWalletIds?: string[];
|
|
22
17
|
excludeWalletIds?: string[];
|
|
23
18
|
featuredWalletIds?: string[];
|
|
@@ -31,6 +26,7 @@ export interface OptionsControllerState {
|
|
|
31
26
|
isOnRampEnabled?: boolean;
|
|
32
27
|
features?: Features;
|
|
33
28
|
debug?: boolean;
|
|
29
|
+
defaultNetwork?: AppKitNetwork;
|
|
34
30
|
}
|
|
35
31
|
|
|
36
32
|
// -- State --------------------------------------------- //
|
|
@@ -47,7 +43,7 @@ export const OptionsController = {
|
|
|
47
43
|
state,
|
|
48
44
|
|
|
49
45
|
setClipboardClient(client: ClipboardClient) {
|
|
50
|
-
state.
|
|
46
|
+
state.clipboardClient = ref(client);
|
|
51
47
|
},
|
|
52
48
|
|
|
53
49
|
setProjectId(projectId: OptionsControllerState['projectId']) {
|
|
@@ -102,12 +98,30 @@ export const OptionsController = {
|
|
|
102
98
|
state.isOnRampEnabled = isOnRampEnabled;
|
|
103
99
|
},
|
|
104
100
|
|
|
101
|
+
setStorage(storage?: OptionsControllerState['storage']) {
|
|
102
|
+
if (storage) {
|
|
103
|
+
state.storage = ref(storage);
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
setDefaultNetwork(defaultNetwork?: OptionsControllerState['defaultNetwork']) {
|
|
108
|
+
state.defaultNetwork = defaultNetwork;
|
|
109
|
+
},
|
|
110
|
+
|
|
105
111
|
isClipboardAvailable() {
|
|
106
|
-
return !!state.
|
|
112
|
+
return !!state.clipboardClient;
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
getStorage() {
|
|
116
|
+
if (!state.storage) {
|
|
117
|
+
throw new Error('AppKit: Storage is not set');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return state.storage;
|
|
107
121
|
},
|
|
108
122
|
|
|
109
123
|
copyToClipboard(value: string) {
|
|
110
|
-
const client = state.
|
|
124
|
+
const client = state.clipboardClient;
|
|
111
125
|
if (client) {
|
|
112
126
|
client?.setString(value);
|
|
113
127
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { proxy, subscribe as sub } from 'valtio';
|
|
2
2
|
import { subscribeKey as subKey } from 'valtio/utils';
|
|
3
|
-
import type { CaipNetworkId } from '
|
|
3
|
+
import type { CaipNetworkId } from '@reown/appkit-common-react-native';
|
|
4
4
|
|
|
5
5
|
// -- Types --------------------------------------------- //
|
|
6
6
|
export interface PublicStateControllerState {
|
|
@@ -1,22 +1,9 @@
|
|
|
1
1
|
import { proxy } from 'valtio';
|
|
2
|
-
import type {
|
|
3
|
-
WcWallet,
|
|
4
|
-
CaipNetwork,
|
|
5
|
-
Connector,
|
|
6
|
-
SwapInputTarget,
|
|
7
|
-
OnRampTransactionResult
|
|
8
|
-
} from '../utils/TypeUtil';
|
|
2
|
+
import type { CaipNetwork, SocialProvider } from '@reown/appkit-common-react-native';
|
|
9
3
|
|
|
10
|
-
|
|
11
|
-
type TransactionAction = {
|
|
12
|
-
goBack: boolean;
|
|
13
|
-
view: RouterControllerState['view'] | null;
|
|
14
|
-
close?: boolean;
|
|
15
|
-
replace?: boolean;
|
|
16
|
-
onSuccess?: () => void;
|
|
17
|
-
onCancel?: () => void;
|
|
18
|
-
};
|
|
4
|
+
import type { WcWallet, OnRampTransactionResult } from '../utils/TypeUtil';
|
|
19
5
|
|
|
6
|
+
// -- Types --------------------------------------------- //
|
|
20
7
|
export interface RouterControllerState {
|
|
21
8
|
view:
|
|
22
9
|
| 'Account'
|
|
@@ -27,11 +14,7 @@ export interface RouterControllerState {
|
|
|
27
14
|
| 'ConnectingExternal'
|
|
28
15
|
| 'ConnectingSiwe'
|
|
29
16
|
| 'ConnectingSocial'
|
|
30
|
-
| 'ConnectingFarcaster'
|
|
31
17
|
| 'ConnectingWalletConnect'
|
|
32
|
-
| 'Create'
|
|
33
|
-
| 'EmailVerifyDevice'
|
|
34
|
-
| 'EmailVerifyOtp'
|
|
35
18
|
| 'GetWallet'
|
|
36
19
|
| 'Networks'
|
|
37
20
|
| 'OnRamp'
|
|
@@ -41,15 +24,10 @@ export interface RouterControllerState {
|
|
|
41
24
|
| 'OnRampTransaction'
|
|
42
25
|
| 'SwitchNetwork'
|
|
43
26
|
| 'Swap'
|
|
44
|
-
| 'SwapSelectToken'
|
|
45
27
|
| 'SwapPreview'
|
|
46
28
|
| 'Transactions'
|
|
47
29
|
| 'UnsupportedChain'
|
|
48
|
-
| 'UpdateEmailPrimaryOtp'
|
|
49
|
-
| 'UpdateEmailSecondaryOtp'
|
|
50
|
-
| 'UpdateEmailWallet'
|
|
51
30
|
| 'UpgradeEmailWallet'
|
|
52
|
-
| 'UpgradeToSmartAccount'
|
|
53
31
|
| 'WalletCompatibleNetworks'
|
|
54
32
|
| 'WalletReceive'
|
|
55
33
|
| 'WalletSend'
|
|
@@ -59,22 +37,19 @@ export interface RouterControllerState {
|
|
|
59
37
|
| 'WhatIsAWallet';
|
|
60
38
|
history: RouterControllerState['view'][];
|
|
61
39
|
data?: {
|
|
62
|
-
connector?: Connector;
|
|
63
40
|
wallet?: WcWallet;
|
|
64
41
|
network?: CaipNetwork;
|
|
65
42
|
email?: string;
|
|
66
43
|
newEmail?: string;
|
|
67
|
-
swapTarget?: SwapInputTarget;
|
|
68
44
|
onrampResult?: OnRampTransactionResult;
|
|
45
|
+
socialProvider?: SocialProvider;
|
|
69
46
|
};
|
|
70
|
-
transactionStack: TransactionAction[];
|
|
71
47
|
}
|
|
72
48
|
|
|
73
49
|
// -- State --------------------------------------------- //
|
|
74
50
|
const state = proxy<RouterControllerState>({
|
|
75
51
|
view: 'Connect',
|
|
76
|
-
history: ['Connect']
|
|
77
|
-
transactionStack: []
|
|
52
|
+
history: ['Connect']
|
|
78
53
|
});
|
|
79
54
|
|
|
80
55
|
// -- Controller ---------------------------------------- //
|
|
@@ -89,30 +64,6 @@ export const RouterController = {
|
|
|
89
64
|
}
|
|
90
65
|
},
|
|
91
66
|
|
|
92
|
-
pushTransactionStack(action: TransactionAction) {
|
|
93
|
-
state.transactionStack = [...state.transactionStack, action];
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
popTransactionStack(cancel?: boolean) {
|
|
97
|
-
const action = state.transactionStack.pop();
|
|
98
|
-
|
|
99
|
-
if (!action) {
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if (cancel) {
|
|
104
|
-
this.goBack();
|
|
105
|
-
action?.onCancel?.();
|
|
106
|
-
} else {
|
|
107
|
-
if (action.goBack) {
|
|
108
|
-
this.goBack();
|
|
109
|
-
} else if (action.view) {
|
|
110
|
-
this.reset(action.view);
|
|
111
|
-
}
|
|
112
|
-
action?.onSuccess?.();
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
|
|
116
67
|
reset(view: RouterControllerState['view'], data?: RouterControllerState['data']) {
|
|
117
68
|
state.view = view;
|
|
118
69
|
state.history = [view];
|