@reown/appkit-core-react-native 0.0.0-feat-onramp-20250602154313 → 0.0.0-feat-multichain-20250604171123
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 +11 -11
- package/lib/commonjs/controllers/ApiController.js.map +1 -1
- package/lib/commonjs/controllers/BlockchainApiController.js +102 -14
- package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
- package/lib/commonjs/controllers/ConnectionController.js +7 -1
- package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
- package/lib/commonjs/controllers/ConnectionsController.js +205 -0
- package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
- package/lib/commonjs/controllers/ConnectorController.js +1 -0
- package/lib/commonjs/controllers/ConnectorController.js.map +1 -1
- package/lib/commonjs/controllers/ModalController.js.map +1 -1
- package/lib/commonjs/controllers/OnRampController.js +1 -2
- package/lib/commonjs/controllers/OnRampController.js.map +1 -1
- package/lib/commonjs/controllers/OptionsController.js +3 -3
- package/lib/commonjs/controllers/OptionsController.js.map +1 -1
- package/lib/commonjs/controllers/RouterController.js.map +1 -1
- package/lib/commonjs/controllers/SendController.js +5 -5
- package/lib/commonjs/controllers/SendController.js.map +1 -1
- package/lib/commonjs/controllers/SwapController.js +51 -40
- 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 +2 -2
- package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
- package/lib/commonjs/index.js +3 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/AssetUtil.js +5 -6
- package/lib/commonjs/utils/AssetUtil.js.map +1 -1
- package/lib/commonjs/utils/ConstantsUtil.js +217 -7
- package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
- package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
- package/lib/commonjs/utils/StorageUtil.js +67 -0
- package/lib/commonjs/utils/StorageUtil.js.map +1 -1
- package/lib/commonjs/utils/SwapApiUtil.js +19 -10
- package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
- package/lib/module/controllers/ApiController.js +11 -11
- package/lib/module/controllers/ApiController.js.map +1 -1
- package/lib/module/controllers/BlockchainApiController.js +102 -14
- package/lib/module/controllers/BlockchainApiController.js.map +1 -1
- package/lib/module/controllers/ConnectionController.js +7 -1
- package/lib/module/controllers/ConnectionController.js.map +1 -1
- package/lib/module/controllers/ConnectionsController.js +200 -0
- package/lib/module/controllers/ConnectionsController.js.map +1 -0
- package/lib/module/controllers/ConnectorController.js +1 -0
- package/lib/module/controllers/ConnectorController.js.map +1 -1
- package/lib/module/controllers/ModalController.js.map +1 -1
- package/lib/module/controllers/OnRampController.js +1 -2
- package/lib/module/controllers/OnRampController.js.map +1 -1
- package/lib/module/controllers/OptionsController.js +3 -3
- package/lib/module/controllers/OptionsController.js.map +1 -1
- package/lib/module/controllers/RouterController.js.map +1 -1
- package/lib/module/controllers/SendController.js +5 -5
- package/lib/module/controllers/SendController.js.map +1 -1
- package/lib/module/controllers/SwapController.js +51 -40
- package/lib/module/controllers/SwapController.js.map +1 -1
- package/lib/module/controllers/ThemeController.js +9 -1
- package/lib/module/controllers/ThemeController.js.map +1 -1
- package/lib/module/controllers/TransactionsController.js +2 -2
- package/lib/module/controllers/TransactionsController.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/AssetUtil.js +5 -6
- package/lib/module/utils/AssetUtil.js.map +1 -1
- package/lib/module/utils/ConstantsUtil.js +217 -7
- package/lib/module/utils/ConstantsUtil.js.map +1 -1
- package/lib/module/utils/CoreHelperUtil.js.map +1 -1
- package/lib/module/utils/StorageUtil.js +67 -0
- package/lib/module/utils/StorageUtil.js.map +1 -1
- package/lib/module/utils/SwapApiUtil.js +19 -10
- package/lib/module/utils/SwapApiUtil.js.map +1 -1
- package/lib/typescript/controllers/AccountController.d.ts +2 -2
- package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
- package/lib/typescript/controllers/ApiController.d.ts +1 -1
- package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/BlockchainApiController.d.ts +14 -1
- package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/ConnectionController.d.ts +2 -0
- package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
- package/lib/typescript/controllers/ConnectionsController.d.ts +43 -0
- package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
- package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -1
- package/lib/typescript/controllers/ModalController.d.ts +1 -1
- package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
- package/lib/typescript/controllers/NetworkController.d.ts +1 -1
- package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
- package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
- package/lib/typescript/controllers/OptionsController.d.ts +3 -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 +2 -1
- package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
- package/lib/typescript/controllers/SwapController.d.ts +1 -1
- package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
- package/lib/typescript/controllers/ThemeController.d.ts +1 -1
- package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/AssetUtil.d.ts +2 -2
- package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
- package/lib/typescript/utils/ConstantsUtil.d.ts +103 -1
- package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
- package/lib/typescript/utils/CoreHelperUtil.d.ts +2 -2
- 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/NetworkUtil.d.ts +1 -1
- package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
- package/lib/typescript/utils/StorageUtil.d.ts +13 -1
- package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
- package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
- package/lib/typescript/utils/TypeUtil.d.ts +3 -14
- package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/controllers/AccountController.ts +2 -2
- package/src/controllers/ApiController.ts +12 -7
- package/src/controllers/BlockchainApiController.ts +134 -14
- package/src/controllers/ConnectionController.ts +10 -2
- package/src/controllers/ConnectionsController.ts +291 -0
- package/src/controllers/ConnectorController.ts +1 -0
- package/src/controllers/ModalController.ts +2 -1
- package/src/controllers/NetworkController.ts +1 -1
- package/src/controllers/OnRampController.ts +1 -5
- package/src/controllers/OptionsController.ts +7 -6
- package/src/controllers/PublicStateController.ts +1 -1
- package/src/controllers/RouterController.ts +2 -1
- package/src/controllers/SendController.ts +5 -5
- package/src/controllers/SwapController.ts +58 -48
- package/src/controllers/ThemeController.ts +11 -2
- package/src/controllers/TransactionsController.ts +2 -2
- package/src/index.ts +5 -1
- package/src/utils/AssetUtil.ts +5 -7
- package/src/utils/ConstantsUtil.ts +221 -7
- package/src/utils/CoreHelperUtil.ts +8 -3
- package/src/utils/FetchUtil.ts +1 -1
- package/src/utils/NetworkUtil.ts +1 -1
- package/src/utils/StorageUtil.ts +82 -1
- package/src/utils/SwapApiUtil.ts +22 -10
- package/src/utils/TypeUtil.ts +5 -19
- package/lib/commonjs/utils/ConnectionUtil.js +0 -33
- package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
- package/lib/module/utils/ConnectionUtil.js +0 -27
- package/lib/module/utils/ConnectionUtil.js.map +0 -1
- package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
- package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
- package/src/utils/ConnectionUtil.ts +0 -27
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { subscribeKey as subKey } from 'valtio/utils';
|
|
2
2
|
import { proxy, subscribe as sub } from 'valtio';
|
|
3
|
-
import { NumberUtil } from '@reown/appkit-common-react-native';
|
|
3
|
+
import { NumberUtil, type CaipAddress } from '@reown/appkit-common-react-native';
|
|
4
4
|
|
|
5
5
|
import { ConstantsUtil } from '../utils/ConstantsUtil';
|
|
6
6
|
import { SwapApiUtil } from '../utils/SwapApiUtil';
|
|
7
|
-
import { NetworkController } from './NetworkController';
|
|
8
7
|
import { BlockchainApiController } from './BlockchainApiController';
|
|
9
8
|
import { OptionsController } from './OptionsController';
|
|
10
9
|
import { SwapCalculationUtil } from '../utils/SwapCalculationUtil';
|
|
@@ -14,9 +13,9 @@ import type { SwapInputTarget, SwapTokenWithBalance } from '../utils/TypeUtil';
|
|
|
14
13
|
import { ConnectorController } from './ConnectorController';
|
|
15
14
|
import { AccountController } from './AccountController';
|
|
16
15
|
import { CoreHelperUtil } from '../utils/CoreHelperUtil';
|
|
17
|
-
import { ConnectionController } from './ConnectionController';
|
|
18
16
|
import { TransactionsController } from './TransactionsController';
|
|
19
17
|
import { EventsController } from './EventsController';
|
|
18
|
+
import { ConnectionsController } from './ConnectionsController';
|
|
20
19
|
|
|
21
20
|
// -- Constants ---------------------------------------- //
|
|
22
21
|
export const INITIAL_GAS_LIMIT = 150000;
|
|
@@ -158,9 +157,15 @@ export const SwapController = {
|
|
|
158
157
|
},
|
|
159
158
|
|
|
160
159
|
getParams() {
|
|
161
|
-
const
|
|
162
|
-
const address = CoreHelperUtil.getPlainAddress(
|
|
163
|
-
|
|
160
|
+
const { activeAddress, activeNamespace, activeNetwork } = ConnectionsController.state;
|
|
161
|
+
const address = CoreHelperUtil.getPlainAddress(activeAddress);
|
|
162
|
+
|
|
163
|
+
if (!activeNamespace || !activeNetwork) {
|
|
164
|
+
throw new Error('No active namespace or network found to swap the tokens from.');
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const networkAddress: CaipAddress = `${activeNetwork.caipNetworkId}:${ConstantsUtil.NATIVE_TOKEN_ADDRESS[activeNamespace]}`;
|
|
168
|
+
|
|
164
169
|
const type = ConnectorController.state.connectedConnector;
|
|
165
170
|
|
|
166
171
|
if (!address) {
|
|
@@ -178,7 +183,7 @@ export const SwapController = {
|
|
|
178
183
|
return {
|
|
179
184
|
networkAddress,
|
|
180
185
|
fromAddress: address,
|
|
181
|
-
fromCaipAddress:
|
|
186
|
+
fromCaipAddress: activeAddress,
|
|
182
187
|
sourceTokenAddress: state.sourceToken?.address,
|
|
183
188
|
toTokenAddress: state.toToken?.address,
|
|
184
189
|
toTokenAmount: state.toTokenAmount,
|
|
@@ -189,7 +194,7 @@ export const SwapController = {
|
|
|
189
194
|
invalidSourceToken,
|
|
190
195
|
invalidSourceTokenAmount,
|
|
191
196
|
availableToSwap:
|
|
192
|
-
|
|
197
|
+
activeAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
|
|
193
198
|
isAuthConnector: type === 'AUTH'
|
|
194
199
|
};
|
|
195
200
|
},
|
|
@@ -282,7 +287,6 @@ export const SwapController = {
|
|
|
282
287
|
|
|
283
288
|
async getMyTokensWithBalance(forceUpdate?: string) {
|
|
284
289
|
const balances = await SwapApiUtil.getMyTokensWithBalance(forceUpdate);
|
|
285
|
-
|
|
286
290
|
if (!balances) {
|
|
287
291
|
return;
|
|
288
292
|
}
|
|
@@ -401,7 +405,7 @@ export const SwapController = {
|
|
|
401
405
|
|
|
402
406
|
setBalances(balances: SwapTokenWithBalance[]) {
|
|
403
407
|
const { networkAddress } = this.getParams();
|
|
404
|
-
const caipNetwork =
|
|
408
|
+
const caipNetwork = ConnectionsController.state.activeNetwork;
|
|
405
409
|
|
|
406
410
|
if (!caipNetwork) {
|
|
407
411
|
return;
|
|
@@ -413,7 +417,9 @@ export const SwapController = {
|
|
|
413
417
|
state.tokensPriceMap[token.address] = token.price || 0;
|
|
414
418
|
});
|
|
415
419
|
|
|
416
|
-
state.myTokensWithBalance = balances.filter(
|
|
420
|
+
state.myTokensWithBalance = balances.filter(
|
|
421
|
+
token => token.address?.startsWith(caipNetwork.caipNetworkId)
|
|
422
|
+
);
|
|
417
423
|
|
|
418
424
|
state.networkBalanceInUSD = networkToken
|
|
419
425
|
? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString()
|
|
@@ -464,12 +470,12 @@ export const SwapController = {
|
|
|
464
470
|
|
|
465
471
|
// -- Swap ---------------------------------------------- //
|
|
466
472
|
async swapTokens() {
|
|
467
|
-
const address =
|
|
473
|
+
const address = ConnectionsController.state.activeAddress;
|
|
468
474
|
const sourceToken = state.sourceToken;
|
|
469
475
|
const toToken = state.toToken;
|
|
470
476
|
const haveSourceTokenAmount = NumberUtil.bigNumber(state.sourceTokenAmount).isGreaterThan(0);
|
|
471
477
|
|
|
472
|
-
if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount) {
|
|
478
|
+
if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount || !address) {
|
|
473
479
|
return;
|
|
474
480
|
}
|
|
475
481
|
|
|
@@ -479,39 +485,44 @@ export const SwapController = {
|
|
|
479
485
|
.multipliedBy(10 ** sourceToken.decimals)
|
|
480
486
|
.integerValue();
|
|
481
487
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
488
|
+
try {
|
|
489
|
+
const quoteResponse = await BlockchainApiController.fetchSwapQuote({
|
|
490
|
+
userAddress: address,
|
|
491
|
+
projectId: OptionsController.state.projectId,
|
|
492
|
+
from: sourceToken.address,
|
|
493
|
+
to: toToken.address,
|
|
494
|
+
gasPrice: state.gasFee,
|
|
495
|
+
amount: amountDecimal.toString()
|
|
496
|
+
});
|
|
490
497
|
|
|
491
|
-
|
|
498
|
+
state.loadingQuote = false;
|
|
492
499
|
|
|
493
|
-
|
|
500
|
+
const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
|
|
494
501
|
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
502
|
+
if (!quoteToAmount) {
|
|
503
|
+
return;
|
|
504
|
+
}
|
|
498
505
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
506
|
+
const toTokenAmount = NumberUtil.bigNumber(quoteToAmount)
|
|
507
|
+
.dividedBy(10 ** toToken.decimals)
|
|
508
|
+
.toString();
|
|
502
509
|
|
|
503
|
-
|
|
510
|
+
this.setToTokenAmount(toTokenAmount);
|
|
504
511
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
512
|
+
const isInsufficientToken = this.hasInsufficientToken(
|
|
513
|
+
state.sourceTokenAmount,
|
|
514
|
+
sourceToken.address
|
|
515
|
+
);
|
|
509
516
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
517
|
+
if (isInsufficientToken) {
|
|
518
|
+
state.inputError = 'Insufficient balance';
|
|
519
|
+
} else {
|
|
520
|
+
state.inputError = undefined;
|
|
521
|
+
this.setTransactionDetails();
|
|
522
|
+
}
|
|
523
|
+
} catch (error) {
|
|
524
|
+
SnackController.showError('Failed to get swap quote');
|
|
525
|
+
state.loadingQuote = false;
|
|
515
526
|
}
|
|
516
527
|
},
|
|
517
528
|
|
|
@@ -580,7 +591,7 @@ export const SwapController = {
|
|
|
580
591
|
if (!response) {
|
|
581
592
|
throw new Error('createAllowanceTransaction - No response from generateApproveCalldata');
|
|
582
593
|
}
|
|
583
|
-
const gasLimit = await
|
|
594
|
+
const gasLimit = await ConnectionsController.estimateGas({
|
|
584
595
|
address: fromAddress as `0x${string}`,
|
|
585
596
|
to: CoreHelperUtil.getPlainAddress(response.tx.to) as `0x${string}`,
|
|
586
597
|
data: response.tx.data
|
|
@@ -633,7 +644,7 @@ export const SwapController = {
|
|
|
633
644
|
return undefined;
|
|
634
645
|
}
|
|
635
646
|
|
|
636
|
-
const amount =
|
|
647
|
+
const amount = ConnectionsController.parseUnits(
|
|
637
648
|
sourceTokenAmount,
|
|
638
649
|
sourceToken.decimals
|
|
639
650
|
)?.toString();
|
|
@@ -701,13 +712,13 @@ export const SwapController = {
|
|
|
701
712
|
}
|
|
702
713
|
|
|
703
714
|
try {
|
|
704
|
-
await
|
|
715
|
+
await ConnectionsController.sendTransaction({
|
|
705
716
|
address: fromAddress as `0x${string}`,
|
|
706
717
|
to: data.to as `0x${string}`,
|
|
707
718
|
data: data.data as `0x${string}`,
|
|
708
719
|
value: BigInt(data.value),
|
|
709
720
|
gasPrice: BigInt(data.gasPrice),
|
|
710
|
-
chainNamespace:
|
|
721
|
+
chainNamespace: ConnectionsController.state.activeNamespace
|
|
711
722
|
});
|
|
712
723
|
|
|
713
724
|
await this.swapTokens();
|
|
@@ -726,7 +737,6 @@ export const SwapController = {
|
|
|
726
737
|
if (!data) {
|
|
727
738
|
return undefined;
|
|
728
739
|
}
|
|
729
|
-
|
|
730
740
|
const { fromAddress, toTokenAmount, isAuthConnector } = this.getParams();
|
|
731
741
|
|
|
732
742
|
state.loadingTransaction = true;
|
|
@@ -753,14 +763,14 @@ export const SwapController = {
|
|
|
753
763
|
|
|
754
764
|
try {
|
|
755
765
|
const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].join(',');
|
|
756
|
-
const transactionHash = await
|
|
766
|
+
const transactionHash = await ConnectionsController.sendTransaction({
|
|
757
767
|
address: fromAddress as `0x${string}`,
|
|
758
768
|
to: data.to as `0x${string}`,
|
|
759
769
|
data: data.data as `0x${string}`,
|
|
760
770
|
gas: data.gas,
|
|
761
771
|
gasPrice: BigInt(data.gasPrice),
|
|
762
772
|
value: data.value,
|
|
763
|
-
chainNamespace:
|
|
773
|
+
chainNamespace: ConnectionsController.state.activeNamespace
|
|
764
774
|
});
|
|
765
775
|
|
|
766
776
|
state.loadingTransaction = false;
|
|
@@ -769,7 +779,7 @@ export const SwapController = {
|
|
|
769
779
|
type: 'track',
|
|
770
780
|
event: 'SWAP_SUCCESS',
|
|
771
781
|
properties: {
|
|
772
|
-
network:
|
|
782
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
|
|
773
783
|
swapFromToken: this.state.sourceToken?.symbol || '',
|
|
774
784
|
swapToToken: this.state.toToken?.symbol || '',
|
|
775
785
|
swapFromAmount: this.state.sourceTokenAmount || '',
|
|
@@ -801,7 +811,7 @@ export const SwapController = {
|
|
|
801
811
|
event: 'SWAP_ERROR',
|
|
802
812
|
properties: {
|
|
803
813
|
message: error?.shortMessage ?? error?.message ?? 'Unknown',
|
|
804
|
-
network:
|
|
814
|
+
network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
|
|
805
815
|
swapFromToken: this.state.sourceToken?.symbol || '',
|
|
806
816
|
swapToToken: this.state.toToken?.symbol || '',
|
|
807
817
|
swapFromAmount: this.state.sourceTokenAmount || '',
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { Appearance } from 'react-native';
|
|
1
2
|
import { proxy, subscribe as sub } from 'valtio';
|
|
2
3
|
import type { ThemeMode, ThemeVariables } from '@reown/appkit-common-react-native';
|
|
3
4
|
|
|
4
5
|
// -- Types --------------------------------------------- //
|
|
5
6
|
export interface ThemeControllerState {
|
|
6
7
|
themeMode?: ThemeMode;
|
|
7
|
-
themeVariables
|
|
8
|
+
themeVariables?: ThemeVariables;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
// -- State --------------------------------------------- //
|
|
@@ -22,10 +23,18 @@ export const ThemeController = {
|
|
|
22
23
|
},
|
|
23
24
|
|
|
24
25
|
setThemeMode(themeMode: ThemeControllerState['themeMode']) {
|
|
25
|
-
|
|
26
|
+
if (!themeMode) {
|
|
27
|
+
state.themeMode = Appearance.getColorScheme() as ThemeMode;
|
|
28
|
+
} else {
|
|
29
|
+
state.themeMode = themeMode;
|
|
30
|
+
}
|
|
26
31
|
},
|
|
27
32
|
|
|
28
33
|
setThemeVariables(themeVariables: ThemeControllerState['themeVariables']) {
|
|
34
|
+
if (!themeVariables) {
|
|
35
|
+
state.themeVariables = {};
|
|
36
|
+
}
|
|
37
|
+
|
|
29
38
|
state.themeVariables = { ...state.themeVariables, ...themeVariables };
|
|
30
39
|
}
|
|
31
40
|
};
|
|
@@ -3,9 +3,9 @@ import { proxy, subscribe as sub } from 'valtio/vanilla';
|
|
|
3
3
|
import { OptionsController } from './OptionsController';
|
|
4
4
|
import { EventsController } from './EventsController';
|
|
5
5
|
import { SnackController } from './SnackController';
|
|
6
|
-
import { NetworkController } from './NetworkController';
|
|
7
6
|
import { BlockchainApiController } from './BlockchainApiController';
|
|
8
7
|
import { AccountController } from './AccountController';
|
|
8
|
+
import { ConnectionsController } from './ConnectionsController';
|
|
9
9
|
|
|
10
10
|
// -- Types --------------------------------------------- //
|
|
11
11
|
type TransactionByMonthMap = Record<string, Transaction[]>;
|
|
@@ -121,7 +121,7 @@ export const TransactionsController = {
|
|
|
121
121
|
},
|
|
122
122
|
|
|
123
123
|
filterByConnectedChain(transactions: Transaction[]) {
|
|
124
|
-
const chainId =
|
|
124
|
+
const chainId = ConnectionsController.state.activeCaipNetworkId;
|
|
125
125
|
const filteredTransactions = transactions.filter(
|
|
126
126
|
transaction => transaction.metadata.chain === chainId
|
|
127
127
|
);
|
package/src/index.ts
CHANGED
|
@@ -21,6 +21,11 @@ export {
|
|
|
21
21
|
type ConnectionControllerState
|
|
22
22
|
} from './controllers/ConnectionController';
|
|
23
23
|
|
|
24
|
+
export {
|
|
25
|
+
ConnectionsController,
|
|
26
|
+
type ConnectionsControllerState
|
|
27
|
+
} from './controllers/ConnectionsController';
|
|
28
|
+
|
|
24
29
|
export {
|
|
25
30
|
ConnectorController,
|
|
26
31
|
type ConnectorControllerState
|
|
@@ -62,7 +67,6 @@ export { WebviewController, type WebviewControllerState } from './controllers/We
|
|
|
62
67
|
// -- Utils -------------------------------------------------------------------
|
|
63
68
|
export { ApiUtil } from './utils/ApiUtil';
|
|
64
69
|
export { AssetUtil } from './utils/AssetUtil';
|
|
65
|
-
export { ConnectionUtil } from './utils/ConnectionUtil';
|
|
66
70
|
export { ConstantsUtil } from './utils/ConstantsUtil';
|
|
67
71
|
export { CoreHelperUtil } from './utils/CoreHelperUtil';
|
|
68
72
|
export { StorageUtil } from './utils/StorageUtil';
|
package/src/utils/AssetUtil.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AssetController } from '../controllers/AssetController';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Connector, WcWallet } from './TypeUtil';
|
|
3
3
|
|
|
4
4
|
export const AssetUtil = {
|
|
5
5
|
getWalletImage(wallet?: WcWallet) {
|
|
@@ -14,13 +14,11 @@ export const AssetUtil = {
|
|
|
14
14
|
return undefined;
|
|
15
15
|
},
|
|
16
16
|
|
|
17
|
-
getNetworkImage(
|
|
18
|
-
if
|
|
19
|
-
return network?.imageUrl;
|
|
20
|
-
}
|
|
17
|
+
getNetworkImage(networkId?: string | number) {
|
|
18
|
+
//TODO: check if imageUrl case is needed
|
|
21
19
|
|
|
22
|
-
if (
|
|
23
|
-
return AssetController.state.networkImages[
|
|
20
|
+
if (networkId) {
|
|
21
|
+
return AssetController.state.networkImages[networkId];
|
|
24
22
|
}
|
|
25
23
|
|
|
26
24
|
return undefined;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import type { ChainNamespace } from '@reown/appkit-common-react-native';
|
|
1
2
|
import type { Features } from './TypeUtil';
|
|
2
3
|
|
|
4
|
+
//TODO: enable this again after implemented
|
|
3
5
|
const defaultFeatures: Features = {
|
|
4
6
|
swaps: true,
|
|
5
|
-
onramp:
|
|
6
|
-
email:
|
|
7
|
-
emailShowWallets:
|
|
7
|
+
onramp: false,
|
|
8
|
+
email: false,
|
|
9
|
+
emailShowWallets: false,
|
|
8
10
|
socials: ['x', 'discord', 'apple']
|
|
9
11
|
};
|
|
10
12
|
|
|
@@ -34,7 +36,12 @@ export const ConstantsUtil = {
|
|
|
34
36
|
|
|
35
37
|
LINKING_ERROR: 'LINKING_ERROR',
|
|
36
38
|
|
|
37
|
-
NATIVE_TOKEN_ADDRESS:
|
|
39
|
+
NATIVE_TOKEN_ADDRESS: {
|
|
40
|
+
eip155: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
41
|
+
solana: 'So11111111111111111111111111111111111111111',
|
|
42
|
+
polkadot: '0x',
|
|
43
|
+
bip122: '0x'
|
|
44
|
+
} as const satisfies Record<ChainNamespace, string>,
|
|
38
45
|
|
|
39
46
|
ONRAMP_ERROR_TYPES: OnRampErrorType,
|
|
40
47
|
|
|
@@ -64,7 +71,7 @@ export const ConstantsUtil = {
|
|
|
64
71
|
'BICO',
|
|
65
72
|
'CRV',
|
|
66
73
|
'ENS',
|
|
67
|
-
'
|
|
74
|
+
'MATIC',
|
|
68
75
|
'OP'
|
|
69
76
|
],
|
|
70
77
|
|
|
@@ -94,7 +101,7 @@ export const ConstantsUtil = {
|
|
|
94
101
|
'BICO',
|
|
95
102
|
'CRV',
|
|
96
103
|
'ENS',
|
|
97
|
-
'
|
|
104
|
+
'MATIC',
|
|
98
105
|
'OP',
|
|
99
106
|
'METAL',
|
|
100
107
|
'DAI',
|
|
@@ -128,6 +135,116 @@ export const ConstantsUtil = {
|
|
|
128
135
|
'WNT'
|
|
129
136
|
],
|
|
130
137
|
|
|
138
|
+
//TODO: replace with supported chains from backend
|
|
139
|
+
ACTIVITY_SUPPORTED_CHAINS: [
|
|
140
|
+
// Arbitrum
|
|
141
|
+
'eip155:42161',
|
|
142
|
+
// BNB Chain
|
|
143
|
+
'eip155:56',
|
|
144
|
+
// Ethereum
|
|
145
|
+
'eip155:1',
|
|
146
|
+
// Blast
|
|
147
|
+
'eip155:81457',
|
|
148
|
+
// Ape Chain
|
|
149
|
+
'eip155:99999',
|
|
150
|
+
// Avalanche
|
|
151
|
+
'eip155:43114',
|
|
152
|
+
// Abstract
|
|
153
|
+
'eip155:900',
|
|
154
|
+
// opBNB
|
|
155
|
+
'eip155:204',
|
|
156
|
+
// Astar zkEVM
|
|
157
|
+
'eip155:3776',
|
|
158
|
+
// ZKsync Era
|
|
159
|
+
'eip155:324',
|
|
160
|
+
// Berachain
|
|
161
|
+
'eip155:80085',
|
|
162
|
+
// BOB
|
|
163
|
+
'eip155:60808',
|
|
164
|
+
// Cyber
|
|
165
|
+
'eip155:7560',
|
|
166
|
+
// Degen Chain
|
|
167
|
+
'eip155:666666666',
|
|
168
|
+
// Fraxtal
|
|
169
|
+
'eip155:252',
|
|
170
|
+
// Gravity Alpha
|
|
171
|
+
'eip155:10003',
|
|
172
|
+
// Ink
|
|
173
|
+
'eip155:999',
|
|
174
|
+
// Lens
|
|
175
|
+
'eip155:1348',
|
|
176
|
+
// Lisk
|
|
177
|
+
'eip155:113',
|
|
178
|
+
// Mode
|
|
179
|
+
'eip155:34443',
|
|
180
|
+
// Base
|
|
181
|
+
'eip155:8453',
|
|
182
|
+
// Mantle
|
|
183
|
+
'eip155:5000',
|
|
184
|
+
// Optimism
|
|
185
|
+
'eip155:10',
|
|
186
|
+
// Polygon
|
|
187
|
+
'eip155:137',
|
|
188
|
+
// Celo
|
|
189
|
+
'eip155:42220',
|
|
190
|
+
// Manta Pacific
|
|
191
|
+
'eip155:169',
|
|
192
|
+
// Gnosis Chain
|
|
193
|
+
'eip155:100',
|
|
194
|
+
// Fantom
|
|
195
|
+
'eip155:250',
|
|
196
|
+
// Ronin
|
|
197
|
+
'eip155:2020',
|
|
198
|
+
// Linea
|
|
199
|
+
'eip155:59144',
|
|
200
|
+
// Metis Andromeda
|
|
201
|
+
'eip155:1088',
|
|
202
|
+
// Aurora
|
|
203
|
+
'eip155:1313161554',
|
|
204
|
+
// XDC
|
|
205
|
+
'eip155:50',
|
|
206
|
+
// Cronos zkEVM
|
|
207
|
+
'eip155:1030',
|
|
208
|
+
// Polygon zkEVM
|
|
209
|
+
'eip155:1101',
|
|
210
|
+
// Polynomial
|
|
211
|
+
'eip155:80001',
|
|
212
|
+
// Rari
|
|
213
|
+
'eip155:1380012617',
|
|
214
|
+
// Redstone
|
|
215
|
+
'eip155:690',
|
|
216
|
+
// Scroll
|
|
217
|
+
'eip155:534352',
|
|
218
|
+
// Sei
|
|
219
|
+
'eip155:1329',
|
|
220
|
+
// Soneium
|
|
221
|
+
'eip155:1499',
|
|
222
|
+
// Sonic
|
|
223
|
+
'eip155:7007',
|
|
224
|
+
// Swellchain
|
|
225
|
+
'eip155:7777777',
|
|
226
|
+
// Taiko
|
|
227
|
+
'eip155:167000',
|
|
228
|
+
// Viction
|
|
229
|
+
'eip155:88',
|
|
230
|
+
// Unichain
|
|
231
|
+
'eip155:12345',
|
|
232
|
+
// Wonder
|
|
233
|
+
'eip155:8787',
|
|
234
|
+
// X Layer
|
|
235
|
+
'eip155:196',
|
|
236
|
+
// World Chain
|
|
237
|
+
'eip155:2008',
|
|
238
|
+
// ZERϴ
|
|
239
|
+
'eip155:77777',
|
|
240
|
+
// ZkLink Nova
|
|
241
|
+
'eip155:810180',
|
|
242
|
+
// re.al
|
|
243
|
+
'eip155:666',
|
|
244
|
+
// Zora
|
|
245
|
+
'eip155:7777777'
|
|
246
|
+
],
|
|
247
|
+
|
|
131
248
|
SWAP_SUPPORTED_NETWORKS: [
|
|
132
249
|
// Ethereum'
|
|
133
250
|
'eip155:1',
|
|
@@ -417,7 +534,7 @@ export const ConstantsUtil = {
|
|
|
417
534
|
NETWORK_DEFAULT_CURRENCIES: {
|
|
418
535
|
'eip155:1': 'ETH', // Ethereum Mainnet
|
|
419
536
|
'eip155:56': 'BNB', // Binance Smart Chain
|
|
420
|
-
'eip155:137': '
|
|
537
|
+
'eip155:137': 'MATIC', // Polygon
|
|
421
538
|
'eip155:42161': 'ETH_ARBITRUM', // Arbitrum One
|
|
422
539
|
'eip155:43114': 'AVAX', // Avalanche C-Chain
|
|
423
540
|
'eip155:10': 'ETH_OPTIMISM', // Optimism
|
|
@@ -504,5 +621,102 @@ export const ConstantsUtil = {
|
|
|
504
621
|
US: ['CREDIT_DEBIT_CARD', 'APPLE_PAY', 'GOOGLE_PAY'],
|
|
505
622
|
VN: ['BINANCE_P2P', 'VN_BANK_TRANSFER', 'CREDIT_DEBIT_CARD'],
|
|
506
623
|
ZA: ['BINANCE_P2P', 'LOCAL_BANK_TRANSFER', 'CREDIT_DEBIT_CARD']
|
|
624
|
+
},
|
|
625
|
+
|
|
626
|
+
CURRENCY_SUGGESTED_VALUES: {
|
|
627
|
+
AED: [50, 100, 500],
|
|
628
|
+
AMD: [5000, 10000, 50000],
|
|
629
|
+
ANG: [50, 100, 500],
|
|
630
|
+
AOA: [10000, 20000, 50000],
|
|
631
|
+
ARS: [20000, 35000, 50000],
|
|
632
|
+
AUD: [50, 100, 150],
|
|
633
|
+
AZN: [50, 100, 200],
|
|
634
|
+
BDT: [2500, 5000, 10000],
|
|
635
|
+
BGN: [50, 100, 200],
|
|
636
|
+
BHD: [10, 20, 50],
|
|
637
|
+
BOB: [150, 300, 500],
|
|
638
|
+
BRL: [100, 200, 500],
|
|
639
|
+
BWP: [200, 500, 1000],
|
|
640
|
+
CAD: [50, 100, 150],
|
|
641
|
+
CHF: [50, 100, 150],
|
|
642
|
+
CLP: [10000, 20000, 50000],
|
|
643
|
+
CNY: [200, 500, 1000],
|
|
644
|
+
COP: [50000, 100000, 200000],
|
|
645
|
+
CRC: [10000, 20000, 50000],
|
|
646
|
+
CZK: [500, 1000, 2000],
|
|
647
|
+
DKK: [200, 500, 1000],
|
|
648
|
+
DOP: [2000, 5000, 10000],
|
|
649
|
+
DZD: [3000, 5000, 10000],
|
|
650
|
+
EGP: [2000, 5000, 10000],
|
|
651
|
+
EUR: [50, 100, 150],
|
|
652
|
+
GBP: [50, 100, 150],
|
|
653
|
+
GEL: [100, 200, 500],
|
|
654
|
+
GHS: [100, 200, 500],
|
|
655
|
+
GTQ: [200, 500, 1000],
|
|
656
|
+
HKD: [200, 500, 1000],
|
|
657
|
+
HNL: [500, 1000, 2000],
|
|
658
|
+
HRK: [200, 500, 1000],
|
|
659
|
+
HTG: [3000, 5000, 10000],
|
|
660
|
+
HUF: [5000, 10000, 20000],
|
|
661
|
+
IDR: [100000, 200000, 500000],
|
|
662
|
+
ILS: [100, 200, 500],
|
|
663
|
+
INR: [1000, 2000, 5000],
|
|
664
|
+
IQD: [30000, 50000, 100000],
|
|
665
|
+
ISK: [5000, 10000, 20000],
|
|
666
|
+
JOD: [20, 50, 100],
|
|
667
|
+
JPY: [5000, 10000, 20000],
|
|
668
|
+
KES: [1000, 2000, 5000],
|
|
669
|
+
KGS: [1000, 2000, 5000],
|
|
670
|
+
KHR: [250000, 500000, 1000000],
|
|
671
|
+
KRW: [50000, 100000, 200000],
|
|
672
|
+
KWD: [10, 20, 50],
|
|
673
|
+
KZT: [10000, 20000, 50000],
|
|
674
|
+
LAK: [500000, 1000000, 2000000],
|
|
675
|
+
LBP: [2000000, 3000000, 5000000],
|
|
676
|
+
LKR: [5000, 6000, 7000],
|
|
677
|
+
MAD: [200, 500, 1000],
|
|
678
|
+
MDL: [500, 1000, 2000],
|
|
679
|
+
MMK: [50000, 100000, 200000],
|
|
680
|
+
MNT: [100000, 200000, 500000],
|
|
681
|
+
MWK: [5000, 10000, 20000],
|
|
682
|
+
MXN: [500, 1000, 2000],
|
|
683
|
+
MYR: [100, 200, 500],
|
|
684
|
+
NGN: [5000, 10000, 20000],
|
|
685
|
+
NIO: [1000, 2000, 5000],
|
|
686
|
+
NOK: [500, 1000, 2000],
|
|
687
|
+
NPR: [3000, 5000, 10000],
|
|
688
|
+
NZD: [50, 100, 150],
|
|
689
|
+
OMR: [10, 20, 50],
|
|
690
|
+
PAB: [50, 100, 200],
|
|
691
|
+
PEN: [100, 200, 500],
|
|
692
|
+
PGK: [1000, 2000, 5000],
|
|
693
|
+
PHP: [1000, 2000, 5000],
|
|
694
|
+
PKR: [5000, 10000, 20000],
|
|
695
|
+
PLN: [100, 200, 500],
|
|
696
|
+
PYG: [200000, 300000, 500000],
|
|
697
|
+
QAR: [100, 200, 500],
|
|
698
|
+
RON: [100, 200, 500],
|
|
699
|
+
RSD: [2000, 5000, 10000],
|
|
700
|
+
RWF: [5000, 10000, 20000],
|
|
701
|
+
SAR: [100, 200, 500],
|
|
702
|
+
SEK: [500, 1000, 2000],
|
|
703
|
+
SGD: [50, 100, 150],
|
|
704
|
+
THB: [1000, 2000, 5000],
|
|
705
|
+
TJS: [500, 1000, 2000],
|
|
706
|
+
TND: [100, 200, 500],
|
|
707
|
+
TRY: [500, 1000, 2000],
|
|
708
|
+
TWD: [1000, 2000, 5000],
|
|
709
|
+
TZS: [5000, 10000, 20000],
|
|
710
|
+
UAH: [1000, 2000, 5000],
|
|
711
|
+
UGX: [20000, 50000, 100000],
|
|
712
|
+
USD: [50, 100, 150],
|
|
713
|
+
UYU: [1000, 2000, 5000],
|
|
714
|
+
UZS: [300000, 500000, 1000000],
|
|
715
|
+
VND: [500000, 1000000, 2000000],
|
|
716
|
+
XAF: [5000, 10000, 20000],
|
|
717
|
+
XCD: [100, 200, 500],
|
|
718
|
+
XOF: [5000, 10000, 20000],
|
|
719
|
+
ZAR: [500, 1000, 2000],
|
|
720
|
+
ZMW: [500, 1000, 2000]
|
|
507
721
|
}
|
|
508
722
|
};
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
/* eslint-disable no-bitwise */
|
|
2
2
|
|
|
3
3
|
import { Linking, Platform } from 'react-native';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
ConstantsUtil as CommonConstants,
|
|
6
|
+
type Balance,
|
|
7
|
+
type CaipAddress,
|
|
8
|
+
type CaipNetwork
|
|
9
|
+
} from '@reown/appkit-common-react-native';
|
|
10
|
+
|
|
5
11
|
import * as ct from 'countries-and-timezones';
|
|
6
12
|
|
|
7
13
|
import { ConstantsUtil } from './ConstantsUtil';
|
|
8
|
-
import type {
|
|
9
|
-
|
|
14
|
+
import type { DataWallet, LinkingRecord } from './TypeUtil';
|
|
10
15
|
// -- Helpers -----------------------------------------------------------------
|
|
11
16
|
async function isAppInstalledIos(deepLink?: string): Promise<boolean> {
|
|
12
17
|
try {
|
package/src/utils/FetchUtil.ts
CHANGED
package/src/utils/NetworkUtil.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { NetworkController } from '../controllers/NetworkController';
|
|
|
4
4
|
import { AccountController } from '../controllers/AccountController';
|
|
5
5
|
import { ConnectorController } from '../controllers/ConnectorController';
|
|
6
6
|
import { SwapController } from '../controllers/SwapController';
|
|
7
|
-
import type
|
|
7
|
+
import { type CaipNetwork } from '@reown/appkit-common-react-native';
|
|
8
8
|
|
|
9
9
|
export const NetworkUtil = {
|
|
10
10
|
async handleNetworkSwitch(network: CaipNetwork) {
|