@reown/appkit-core 0.0.3
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/LICENSE +190 -0
- package/dist/esm/exports/index.js +30 -0
- package/dist/esm/exports/index.js.map +1 -0
- package/dist/esm/exports/react.js +20 -0
- package/dist/esm/exports/react.js.map +1 -0
- package/dist/esm/src/controllers/AccountController.js +150 -0
- package/dist/esm/src/controllers/AccountController.js.map +1 -0
- package/dist/esm/src/controllers/ApiController.js +230 -0
- package/dist/esm/src/controllers/ApiController.js.map +1 -0
- package/dist/esm/src/controllers/AssetController.js +43 -0
- package/dist/esm/src/controllers/AssetController.js.map +1 -0
- package/dist/esm/src/controllers/BlockchainApiController.js +334 -0
- package/dist/esm/src/controllers/BlockchainApiController.js.map +1 -0
- package/dist/esm/src/controllers/ChainController.js +289 -0
- package/dist/esm/src/controllers/ChainController.js.map +1 -0
- package/dist/esm/src/controllers/ConnectionController.js +128 -0
- package/dist/esm/src/controllers/ConnectionController.js.map +1 -0
- package/dist/esm/src/controllers/ConnectorController.js +111 -0
- package/dist/esm/src/controllers/ConnectorController.js.map +1 -0
- package/dist/esm/src/controllers/EnsController.js +135 -0
- package/dist/esm/src/controllers/EnsController.js.map +1 -0
- package/dist/esm/src/controllers/EventsController.js +60 -0
- package/dist/esm/src/controllers/EventsController.js.map +1 -0
- package/dist/esm/src/controllers/ModalController.js +73 -0
- package/dist/esm/src/controllers/ModalController.js.map +1 -0
- package/dist/esm/src/controllers/NetworkController.js +236 -0
- package/dist/esm/src/controllers/NetworkController.js.map +1 -0
- package/dist/esm/src/controllers/OnRampController.js +133 -0
- package/dist/esm/src/controllers/OnRampController.js.map +1 -0
- package/dist/esm/src/controllers/OptionsController.js +84 -0
- package/dist/esm/src/controllers/OptionsController.js.map +1 -0
- package/dist/esm/src/controllers/PublicStateController.js +19 -0
- package/dist/esm/src/controllers/PublicStateController.js.map +1 -0
- package/dist/esm/src/controllers/RouterController.js +101 -0
- package/dist/esm/src/controllers/RouterController.js.map +1 -0
- package/dist/esm/src/controllers/SendController.js +214 -0
- package/dist/esm/src/controllers/SendController.js.map +1 -0
- package/dist/esm/src/controllers/SnackController.js +36 -0
- package/dist/esm/src/controllers/SnackController.js.map +1 -0
- package/dist/esm/src/controllers/SwapController.js +627 -0
- package/dist/esm/src/controllers/SwapController.js.map +1 -0
- package/dist/esm/src/controllers/ThemeController.js +55 -0
- package/dist/esm/src/controllers/ThemeController.js.map +1 -0
- package/dist/esm/src/controllers/TooltipController.js +41 -0
- package/dist/esm/src/controllers/TooltipController.js.map +1 -0
- package/dist/esm/src/controllers/TransactionsController.js +115 -0
- package/dist/esm/src/controllers/TransactionsController.js.map +1 -0
- package/dist/esm/src/utils/AssetUtil.js +62 -0
- package/dist/esm/src/utils/AssetUtil.js.map +1 -0
- package/dist/esm/src/utils/ConstantsUtil.js +194 -0
- package/dist/esm/src/utils/ConstantsUtil.js.map +1 -0
- package/dist/esm/src/utils/CoreHelperUtil.js +238 -0
- package/dist/esm/src/utils/CoreHelperUtil.js.map +1 -0
- package/dist/esm/src/utils/EnsUtil.js +10 -0
- package/dist/esm/src/utils/EnsUtil.js.map +1 -0
- package/dist/esm/src/utils/FetchUtil.js +73 -0
- package/dist/esm/src/utils/FetchUtil.js.map +1 -0
- package/dist/esm/src/utils/OptionsUtil.js +11 -0
- package/dist/esm/src/utils/OptionsUtil.js.map +1 -0
- package/dist/esm/src/utils/RouterUtil.js +23 -0
- package/dist/esm/src/utils/RouterUtil.js.map +1 -0
- package/dist/esm/src/utils/StorageUtil.js +107 -0
- package/dist/esm/src/utils/StorageUtil.js.map +1 -0
- package/dist/esm/src/utils/SwapApiUtil.js +92 -0
- package/dist/esm/src/utils/SwapApiUtil.js.map +1 -0
- package/dist/esm/src/utils/SwapCalculationUtil.js +74 -0
- package/dist/esm/src/utils/SwapCalculationUtil.js.map +1 -0
- package/dist/esm/src/utils/TypeUtil.js +2 -0
- package/dist/esm/src/utils/TypeUtil.js.map +1 -0
- package/dist/esm/tests/constants/OnrampTransactions.js +151 -0
- package/dist/esm/tests/constants/OnrampTransactions.js.map +1 -0
- package/dist/esm/tests/controllers/AccountController.test.js +82 -0
- package/dist/esm/tests/controllers/AccountController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ApiController.test.js +532 -0
- package/dist/esm/tests/controllers/ApiController.test.js.map +1 -0
- package/dist/esm/tests/controllers/AssetController.test.js +92 -0
- package/dist/esm/tests/controllers/AssetController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ChainController.test.js +70 -0
- package/dist/esm/tests/controllers/ChainController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ConnectionController.test.js +116 -0
- package/dist/esm/tests/controllers/ConnectionController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ConnectorController.test.js +133 -0
- package/dist/esm/tests/controllers/ConnectorController.test.js.map +1 -0
- package/dist/esm/tests/controllers/EnsController.test.js +166 -0
- package/dist/esm/tests/controllers/EnsController.test.js.map +1 -0
- package/dist/esm/tests/controllers/EventsController.test.js +18 -0
- package/dist/esm/tests/controllers/EventsController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ModalController.test.js +18 -0
- package/dist/esm/tests/controllers/ModalController.test.js.map +1 -0
- package/dist/esm/tests/controllers/NetworkController.test.js +134 -0
- package/dist/esm/tests/controllers/NetworkController.test.js.map +1 -0
- package/dist/esm/tests/controllers/OnRampController.test.js +118 -0
- package/dist/esm/tests/controllers/OnRampController.test.js.map +1 -0
- package/dist/esm/tests/controllers/OptionsController.test.js +23 -0
- package/dist/esm/tests/controllers/OptionsController.test.js.map +1 -0
- package/dist/esm/tests/controllers/PublicStateController.test.js +27 -0
- package/dist/esm/tests/controllers/PublicStateController.test.js.map +1 -0
- package/dist/esm/tests/controllers/RouterController.test.js +76 -0
- package/dist/esm/tests/controllers/RouterController.test.js.map +1 -0
- package/dist/esm/tests/controllers/SendController.test.js +51 -0
- package/dist/esm/tests/controllers/SendController.test.js.map +1 -0
- package/dist/esm/tests/controllers/SnackController.test.js +37 -0
- package/dist/esm/tests/controllers/SnackController.test.js.map +1 -0
- package/dist/esm/tests/controllers/SwapController.test.js +70 -0
- package/dist/esm/tests/controllers/SwapController.test.js.map +1 -0
- package/dist/esm/tests/controllers/ThemeController.test.js +26 -0
- package/dist/esm/tests/controllers/ThemeController.test.js.map +1 -0
- package/dist/esm/tests/controllers/TooltipController.test.js +40 -0
- package/dist/esm/tests/controllers/TooltipController.test.js.map +1 -0
- package/dist/esm/tests/controllers/TransactionsController.test.js +247 -0
- package/dist/esm/tests/controllers/TransactionsController.test.js.map +1 -0
- package/dist/esm/tests/mocks/SwapController.js +118 -0
- package/dist/esm/tests/mocks/SwapController.js.map +1 -0
- package/dist/esm/tests/utils/AssetUtil.test.js +87 -0
- package/dist/esm/tests/utils/AssetUtil.test.js.map +1 -0
- package/dist/esm/tests/utils/CoreHelperUtil.test.js +27 -0
- package/dist/esm/tests/utils/CoreHelperUtil.test.js.map +1 -0
- package/dist/esm/tests/utils/SwapCalculationUtil.test.js +80 -0
- package/dist/esm/tests/utils/SwapCalculationUtil.test.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/types/exports/index.d.ts +48 -0
- package/dist/types/exports/react.d.ts +19 -0
- package/dist/types/src/controllers/AccountController.d.ts +59 -0
- package/dist/types/src/controllers/ApiController.d.ts +43 -0
- package/dist/types/src/controllers/AssetController.d.ts +20 -0
- package/dist/types/src/controllers/BlockchainApiController.d.ts +49 -0
- package/dist/types/src/controllers/ChainController.d.ts +42 -0
- package/dist/types/src/controllers/ConnectionController.d.ts +63 -0
- package/dist/types/src/controllers/ConnectorController.d.ts +24 -0
- package/dist/types/src/controllers/EnsController.d.ts +21 -0
- package/dist/types/src/controllers/EventsController.d.ts +16 -0
- package/dist/types/src/controllers/ModalController.d.ts +20 -0
- package/dist/types/src/controllers/NetworkController.d.ts +42 -0
- package/dist/types/src/controllers/OnRampController.d.ts +53 -0
- package/dist/types/src/controllers/OptionsController.d.ts +43 -0
- package/dist/types/src/controllers/PublicStateController.d.ts +12 -0
- package/dist/types/src/controllers/RouterController.d.ts +55 -0
- package/dist/types/src/controllers/SendController.d.ts +42 -0
- package/dist/types/src/controllers/SnackController.d.ts +13 -0
- package/dist/types/src/controllers/SwapController.d.ts +126 -0
- package/dist/types/src/controllers/ThemeController.d.ts +29 -0
- package/dist/types/src/controllers/TooltipController.d.ts +24 -0
- package/dist/types/src/controllers/TransactionsController.d.ts +25 -0
- package/dist/types/src/utils/AssetUtil.d.ts +11 -0
- package/dist/types/src/utils/ConstantsUtil.d.ts +45 -0
- package/dist/types/src/utils/CoreHelperUtil.d.ts +43 -0
- package/dist/types/src/utils/EnsUtil.d.ts +3 -0
- package/dist/types/src/utils/FetchUtil.d.ts +26 -0
- package/dist/types/src/utils/OptionsUtil.d.ts +4 -0
- package/dist/types/src/utils/RouterUtil.d.ts +4 -0
- package/dist/types/src/utils/StorageUtil.d.ts +16 -0
- package/dist/types/src/utils/SwapApiUtil.d.ts +23 -0
- package/dist/types/src/utils/SwapCalculationUtil.d.ts +22 -0
- package/dist/types/src/utils/TypeUtil.d.ts +744 -0
- package/dist/types/tests/constants/OnrampTransactions.d.ts +138 -0
- package/dist/types/tests/controllers/AccountController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ApiController.test.d.ts +1 -0
- package/dist/types/tests/controllers/AssetController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ChainController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ConnectionController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ConnectorController.test.d.ts +1 -0
- package/dist/types/tests/controllers/EnsController.test.d.ts +1 -0
- package/dist/types/tests/controllers/EventsController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ModalController.test.d.ts +1 -0
- package/dist/types/tests/controllers/NetworkController.test.d.ts +1 -0
- package/dist/types/tests/controllers/OnRampController.test.d.ts +1 -0
- package/dist/types/tests/controllers/OptionsController.test.d.ts +1 -0
- package/dist/types/tests/controllers/PublicStateController.test.d.ts +1 -0
- package/dist/types/tests/controllers/RouterController.test.d.ts +1 -0
- package/dist/types/tests/controllers/SendController.test.d.ts +1 -0
- package/dist/types/tests/controllers/SnackController.test.d.ts +1 -0
- package/dist/types/tests/controllers/SwapController.test.d.ts +1 -0
- package/dist/types/tests/controllers/ThemeController.test.d.ts +1 -0
- package/dist/types/tests/controllers/TooltipController.test.d.ts +1 -0
- package/dist/types/tests/controllers/TransactionsController.test.d.ts +1 -0
- package/dist/types/tests/mocks/SwapController.d.ts +74 -0
- package/dist/types/tests/utils/AssetUtil.test.d.ts +1 -0
- package/dist/types/tests/utils/CoreHelperUtil.test.d.ts +1 -0
- package/dist/types/tests/utils/SwapCalculationUtil.test.d.ts +1 -0
- package/package.json +52 -0
- package/readme.md +11 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Connector, WcWallet } from '../utils/TypeUtil.js';
|
|
2
|
+
import type { SwapInputTarget } from './SwapController.js';
|
|
3
|
+
import type { CaipNetwork, ChainNamespace } from '@reown/appkit-common';
|
|
4
|
+
type TransactionAction = {
|
|
5
|
+
/**
|
|
6
|
+
* If true, the router will go back to the previous view after the transaction is complete..
|
|
7
|
+
*/
|
|
8
|
+
goBack: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* If set, the router will navigate to the specified view after the transaction is complete.
|
|
11
|
+
*/
|
|
12
|
+
view: RouterControllerState['view'] | null;
|
|
13
|
+
/**
|
|
14
|
+
* If true, the router will remove the previous view from the history and navigate to the current view.
|
|
15
|
+
*/
|
|
16
|
+
replace?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Function to be called when the transaction is complete.
|
|
19
|
+
*/
|
|
20
|
+
onSuccess?: () => void;
|
|
21
|
+
/**
|
|
22
|
+
* Function to be called when the transaction is cancelled.
|
|
23
|
+
*/
|
|
24
|
+
onCancel?: () => void;
|
|
25
|
+
};
|
|
26
|
+
export interface RouterControllerState {
|
|
27
|
+
view: 'Account' | 'AccountSettings' | 'SelectAddresses' | 'AllWallets' | 'ApproveTransaction' | 'BuyInProgress' | 'WalletCompatibleNetworks' | 'ChooseAccountName' | 'Connect' | 'ConnectingExternal' | 'ConnectingFarcaster' | 'ConnectingWalletConnect' | 'ConnectingSiwe' | 'ConnectingSocial' | 'ConnectSocials' | 'ConnectWallets' | 'Downloads' | 'EmailVerifyOtp' | 'EmailVerifyDevice' | 'GetWallet' | 'Networks' | 'OnRampActivity' | 'OnRampFiatSelect' | 'OnRampProviders' | 'OnRampTokenSelect' | 'Profile' | 'RegisterAccountName' | 'RegisterAccountNameSuccess' | 'SwitchNetwork' | 'SwitchAddress' | 'Transactions' | 'UnsupportedChain' | 'UpdateEmailWallet' | 'UpdateEmailPrimaryOtp' | 'UpdateEmailSecondaryOtp' | 'UpgradeEmailWallet' | 'UpgradeToSmartAccount' | 'WalletReceive' | 'WalletSend' | 'WalletSendPreview' | 'WalletSendSelectToken' | 'WhatIsANetwork' | 'WhatIsAWallet' | 'WhatIsABuy' | 'Swap' | 'SwapSelectToken' | 'SwapPreview' | 'ConnectingMultiChain' | 'SwitchActiveChain';
|
|
28
|
+
history: RouterControllerState['view'][];
|
|
29
|
+
data?: {
|
|
30
|
+
connector?: Connector;
|
|
31
|
+
wallet?: WcWallet;
|
|
32
|
+
network?: CaipNetwork;
|
|
33
|
+
email?: string;
|
|
34
|
+
newEmail?: string;
|
|
35
|
+
target?: SwapInputTarget;
|
|
36
|
+
swapUnsupportedChain?: boolean;
|
|
37
|
+
connectors?: Connector[];
|
|
38
|
+
switchToChain?: ChainNamespace;
|
|
39
|
+
navigateTo?: RouterControllerState['view'];
|
|
40
|
+
navigateWithReplace?: boolean;
|
|
41
|
+
};
|
|
42
|
+
transactionStack: TransactionAction[];
|
|
43
|
+
}
|
|
44
|
+
export declare const RouterController: {
|
|
45
|
+
state: RouterControllerState;
|
|
46
|
+
subscribeKey<K extends keyof RouterControllerState>(key: K, callback: (value: RouterControllerState[K]) => void): () => void;
|
|
47
|
+
pushTransactionStack(action: TransactionAction): void;
|
|
48
|
+
popTransactionStack(cancel?: boolean): void;
|
|
49
|
+
push(view: RouterControllerState['view'], data?: RouterControllerState['data']): void;
|
|
50
|
+
reset(view: RouterControllerState['view']): void;
|
|
51
|
+
replace(view: RouterControllerState['view'], data?: RouterControllerState['data']): void;
|
|
52
|
+
goBack(): void;
|
|
53
|
+
goBackToIndex(historyIndex: number): void;
|
|
54
|
+
};
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type Balance } from '@reown/appkit-common';
|
|
2
|
+
export interface TxParams {
|
|
3
|
+
receiverAddress: string;
|
|
4
|
+
sendTokenAmount: number;
|
|
5
|
+
gasPrice: bigint;
|
|
6
|
+
decimals: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ContractWriteParams {
|
|
9
|
+
receiverAddress: string;
|
|
10
|
+
tokenAddress: string;
|
|
11
|
+
sendTokenAmount: number;
|
|
12
|
+
decimals: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SendControllerState {
|
|
15
|
+
token?: Balance;
|
|
16
|
+
sendTokenAmount?: number;
|
|
17
|
+
receiverAddress?: string;
|
|
18
|
+
receiverProfileName?: string;
|
|
19
|
+
receiverProfileImageUrl?: string;
|
|
20
|
+
gasPrice?: bigint;
|
|
21
|
+
gasPriceInUSD?: number;
|
|
22
|
+
loading: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare const SendController: {
|
|
25
|
+
state: SendControllerState;
|
|
26
|
+
subscribe(callback: (newState: SendControllerState) => void): () => void;
|
|
27
|
+
subscribeKey<K extends keyof SendControllerState>(key: K, callback: (value: SendControllerState[K]) => void): () => void;
|
|
28
|
+
setToken(token: SendControllerState['token']): void;
|
|
29
|
+
setTokenAmount(sendTokenAmount: SendControllerState['sendTokenAmount']): void;
|
|
30
|
+
setReceiverAddress(receiverAddress: SendControllerState['receiverAddress']): void;
|
|
31
|
+
setReceiverProfileImageUrl(receiverProfileImageUrl: SendControllerState['receiverProfileImageUrl']): void;
|
|
32
|
+
setReceiverProfileName(receiverProfileName: SendControllerState['receiverProfileName']): void;
|
|
33
|
+
setGasPrice(gasPrice: SendControllerState['gasPrice']): void;
|
|
34
|
+
setGasPriceInUsd(gasPriceInUSD: SendControllerState['gasPriceInUSD']): void;
|
|
35
|
+
setLoading(loading: SendControllerState['loading']): void;
|
|
36
|
+
sendToken(): void;
|
|
37
|
+
sendEvmToken(): void;
|
|
38
|
+
sendNativeToken(params: TxParams): Promise<void>;
|
|
39
|
+
sendERC20Token(params: ContractWriteParams): Promise<void>;
|
|
40
|
+
sendSolanaToken(): void;
|
|
41
|
+
resetSend(): void;
|
|
42
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface SnackControllerState {
|
|
2
|
+
message: string;
|
|
3
|
+
variant: 'error' | 'success' | 'loading';
|
|
4
|
+
open: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const SnackController: {
|
|
7
|
+
state: SnackControllerState;
|
|
8
|
+
subscribeKey<K extends keyof SnackControllerState>(key: K, callback: (value: SnackControllerState[K]) => void): () => void;
|
|
9
|
+
showLoading(message: SnackControllerState['message']): void;
|
|
10
|
+
showSuccess(message: SnackControllerState['message']): void;
|
|
11
|
+
showError(message: unknown): void;
|
|
12
|
+
hide(): void;
|
|
13
|
+
};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type { SwapTokenWithBalance } from '../utils/TypeUtil.js';
|
|
2
|
+
export declare const INITIAL_GAS_LIMIT = 150000;
|
|
3
|
+
export declare const TO_AMOUNT_DECIMALS = 6;
|
|
4
|
+
export type SwapInputTarget = 'sourceToken' | 'toToken';
|
|
5
|
+
type TransactionParams = {
|
|
6
|
+
data: string;
|
|
7
|
+
to: string;
|
|
8
|
+
gas: bigint;
|
|
9
|
+
gasPrice: bigint;
|
|
10
|
+
value: bigint;
|
|
11
|
+
toAmount: string;
|
|
12
|
+
};
|
|
13
|
+
export interface SwapControllerState {
|
|
14
|
+
initializing: boolean;
|
|
15
|
+
initialized: boolean;
|
|
16
|
+
loadingPrices: boolean;
|
|
17
|
+
loadingQuote?: boolean;
|
|
18
|
+
loadingApprovalTransaction?: boolean;
|
|
19
|
+
loadingBuildTransaction?: boolean;
|
|
20
|
+
loadingTransaction?: boolean;
|
|
21
|
+
fetchError: boolean;
|
|
22
|
+
approvalTransaction: TransactionParams | undefined;
|
|
23
|
+
swapTransaction: TransactionParams | undefined;
|
|
24
|
+
transactionError?: string;
|
|
25
|
+
sourceToken?: SwapTokenWithBalance;
|
|
26
|
+
sourceTokenAmount: string;
|
|
27
|
+
sourceTokenPriceInUSD: number;
|
|
28
|
+
toToken?: SwapTokenWithBalance;
|
|
29
|
+
toTokenAmount: string;
|
|
30
|
+
toTokenPriceInUSD: number;
|
|
31
|
+
networkPrice: string;
|
|
32
|
+
networkBalanceInUSD: string;
|
|
33
|
+
networkTokenSymbol: string;
|
|
34
|
+
inputError: string | undefined;
|
|
35
|
+
slippage: number;
|
|
36
|
+
tokens?: SwapTokenWithBalance[];
|
|
37
|
+
suggestedTokens?: SwapTokenWithBalance[];
|
|
38
|
+
popularTokens?: SwapTokenWithBalance[];
|
|
39
|
+
foundTokens?: SwapTokenWithBalance[];
|
|
40
|
+
myTokensWithBalance?: SwapTokenWithBalance[];
|
|
41
|
+
tokensPriceMap: Record<string, number>;
|
|
42
|
+
gasFee: string;
|
|
43
|
+
gasPriceInUSD?: number;
|
|
44
|
+
priceImpact: number | undefined;
|
|
45
|
+
maxSlippage: number | undefined;
|
|
46
|
+
providerFee: string | undefined;
|
|
47
|
+
}
|
|
48
|
+
export interface TokenInfo {
|
|
49
|
+
address: `0x${string}`;
|
|
50
|
+
symbol: string;
|
|
51
|
+
name: string;
|
|
52
|
+
decimals: number;
|
|
53
|
+
logoURI: string;
|
|
54
|
+
domainVersion?: string;
|
|
55
|
+
eip2612?: boolean;
|
|
56
|
+
isFoT?: boolean;
|
|
57
|
+
tags?: string[];
|
|
58
|
+
}
|
|
59
|
+
export declare const SwapController: {
|
|
60
|
+
state: SwapControllerState;
|
|
61
|
+
subscribe(callback: (newState: SwapControllerState) => void): () => void;
|
|
62
|
+
subscribeKey<K extends keyof SwapControllerState>(key: K, callback: (value: SwapControllerState[K]) => void): () => void;
|
|
63
|
+
getParams(): {
|
|
64
|
+
networkAddress: string;
|
|
65
|
+
fromAddress: string;
|
|
66
|
+
fromCaipAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
|
|
67
|
+
sourceTokenAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
|
|
68
|
+
toTokenAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
|
|
69
|
+
toTokenAmount: string;
|
|
70
|
+
toTokenDecimals: number | undefined;
|
|
71
|
+
sourceTokenAmount: string;
|
|
72
|
+
sourceTokenDecimals: number | undefined;
|
|
73
|
+
invalidToToken: boolean;
|
|
74
|
+
invalidSourceToken: boolean;
|
|
75
|
+
invalidSourceTokenAmount: boolean;
|
|
76
|
+
availableToSwap: boolean | undefined;
|
|
77
|
+
isAuthConnector: boolean;
|
|
78
|
+
};
|
|
79
|
+
setSourceToken(sourceToken: SwapTokenWithBalance | undefined): void;
|
|
80
|
+
setSourceTokenAmount(amount: string): void;
|
|
81
|
+
setToToken(toToken: SwapTokenWithBalance | undefined): void;
|
|
82
|
+
setToTokenAmount(amount: string): void;
|
|
83
|
+
setTokenPrice(address: string, target: SwapInputTarget): Promise<void>;
|
|
84
|
+
switchTokens(): void;
|
|
85
|
+
resetState(): void;
|
|
86
|
+
resetValues(): void;
|
|
87
|
+
getApprovalLoadingState(): boolean | undefined;
|
|
88
|
+
clearError(): void;
|
|
89
|
+
initializeState(): Promise<void>;
|
|
90
|
+
fetchTokens(): Promise<void>;
|
|
91
|
+
getTokenList(): Promise<void>;
|
|
92
|
+
getAddressPrice(address: string): Promise<number>;
|
|
93
|
+
getNetworkTokenPrice(): Promise<void>;
|
|
94
|
+
getMyTokensWithBalance(forceUpdate?: string): Promise<void>;
|
|
95
|
+
setBalances(balances: SwapTokenWithBalance[]): void;
|
|
96
|
+
getInitialGasPrice(): Promise<{
|
|
97
|
+
gasPrice: null;
|
|
98
|
+
gasPriceInUSD: null;
|
|
99
|
+
} | {
|
|
100
|
+
gasPrice: bigint;
|
|
101
|
+
gasPriceInUSD: number;
|
|
102
|
+
}>;
|
|
103
|
+
swapTokens(): Promise<void>;
|
|
104
|
+
getTransaction(): Promise<TransactionParams | undefined>;
|
|
105
|
+
createAllowanceTransaction(): Promise<{
|
|
106
|
+
data: `0x${string}`;
|
|
107
|
+
to: `0x${string}`;
|
|
108
|
+
gas: bigint;
|
|
109
|
+
gasPrice: bigint;
|
|
110
|
+
value: bigint;
|
|
111
|
+
toAmount: string;
|
|
112
|
+
} | undefined>;
|
|
113
|
+
createSwapTransaction(): Promise<{
|
|
114
|
+
data: `0x${string}`;
|
|
115
|
+
to: `0x${string}`;
|
|
116
|
+
gas: bigint;
|
|
117
|
+
gasPrice: bigint;
|
|
118
|
+
value: bigint;
|
|
119
|
+
toAmount: string;
|
|
120
|
+
} | undefined>;
|
|
121
|
+
sendTransactionForApproval(data: TransactionParams): Promise<void>;
|
|
122
|
+
sendTransactionForSwap(data: TransactionParams | undefined): Promise<string | null | undefined>;
|
|
123
|
+
hasInsufficientToken(sourceTokenAmount: string, sourceTokenAddress: string): boolean;
|
|
124
|
+
setTransactionDetails(): void;
|
|
125
|
+
};
|
|
126
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ThemeMode, ThemeVariables } from '../utils/TypeUtil.js';
|
|
2
|
+
import type { W3mThemeVariables } from '@reown/appkit-common';
|
|
3
|
+
export interface ThemeControllerState {
|
|
4
|
+
themeMode: ThemeMode;
|
|
5
|
+
themeVariables: ThemeVariables;
|
|
6
|
+
w3mThemeVariables: W3mThemeVariables | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare const ThemeController: {
|
|
9
|
+
state: ThemeControllerState;
|
|
10
|
+
subscribe(callback: (newState: ThemeControllerState) => void): () => void;
|
|
11
|
+
setThemeMode(themeMode: ThemeControllerState['themeMode']): void;
|
|
12
|
+
setThemeVariables(themeVariables: ThemeControllerState['themeVariables']): void;
|
|
13
|
+
getSnapshot(): {
|
|
14
|
+
readonly themeMode: ThemeMode;
|
|
15
|
+
readonly themeVariables: {
|
|
16
|
+
readonly '--w3m-font-family'?: string | undefined;
|
|
17
|
+
readonly '--w3m-accent'?: string | undefined;
|
|
18
|
+
readonly '--w3m-color-mix'?: string | undefined;
|
|
19
|
+
readonly '--w3m-color-mix-strength'?: number | undefined;
|
|
20
|
+
readonly '--w3m-font-size-master'?: string | undefined;
|
|
21
|
+
readonly '--w3m-border-radius-master'?: string | undefined;
|
|
22
|
+
readonly '--w3m-z-index'?: number | undefined;
|
|
23
|
+
};
|
|
24
|
+
readonly w3mThemeVariables: {
|
|
25
|
+
readonly '--w3m-accent': string;
|
|
26
|
+
readonly '--w3m-background': string;
|
|
27
|
+
} | undefined;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
type TriggerRect = {
|
|
2
|
+
width: number;
|
|
3
|
+
height: number;
|
|
4
|
+
top: number;
|
|
5
|
+
left: number;
|
|
6
|
+
};
|
|
7
|
+
export interface TooltipControllerState {
|
|
8
|
+
message: string;
|
|
9
|
+
triggerRect: TriggerRect;
|
|
10
|
+
open: boolean;
|
|
11
|
+
variant: 'shade' | 'fill';
|
|
12
|
+
}
|
|
13
|
+
export declare const TooltipController: {
|
|
14
|
+
state: TooltipControllerState;
|
|
15
|
+
subscribe(callback: (newState: TooltipControllerState) => void): () => void;
|
|
16
|
+
subscribeKey<K extends keyof TooltipControllerState>(key: K, callback: (value: TooltipControllerState[K]) => void): () => void;
|
|
17
|
+
showTooltip({ message, triggerRect, variant }: {
|
|
18
|
+
message: string;
|
|
19
|
+
triggerRect: TriggerRect;
|
|
20
|
+
variant: 'shade' | 'fill';
|
|
21
|
+
}): void;
|
|
22
|
+
hide(): void;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Transaction } from '@reown/appkit-common';
|
|
2
|
+
import type { CaipNetworkId } from '@reown/appkit-common';
|
|
3
|
+
type TransactionByMonthMap = Record<number, Transaction[]>;
|
|
4
|
+
type TransactionByYearMap = Record<number, TransactionByMonthMap>;
|
|
5
|
+
export interface TransactionsControllerState {
|
|
6
|
+
transactions: Transaction[];
|
|
7
|
+
coinbaseTransactions: TransactionByYearMap;
|
|
8
|
+
transactionsByYear: TransactionByYearMap;
|
|
9
|
+
lastNetworkInView: CaipNetworkId | undefined;
|
|
10
|
+
loading: boolean;
|
|
11
|
+
empty: boolean;
|
|
12
|
+
next: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
export declare const TransactionsController: {
|
|
15
|
+
state: TransactionsControllerState;
|
|
16
|
+
subscribe(callback: (newState: TransactionsControllerState) => void): () => void;
|
|
17
|
+
setLastNetworkInView(lastNetworkInView: TransactionsControllerState['lastNetworkInView']): void;
|
|
18
|
+
fetchTransactions(accountAddress?: string, onramp?: 'coinbase'): Promise<void>;
|
|
19
|
+
groupTransactionsByYearAndMonth(transactionsMap?: TransactionByYearMap, transactions?: Transaction[]): TransactionByYearMap;
|
|
20
|
+
filterSpamTransactions(transactions: Transaction[]): Transaction[];
|
|
21
|
+
filterByConnectedChain(transactions: Transaction[]): Transaction[];
|
|
22
|
+
clearCursor(): void;
|
|
23
|
+
resetTransactions(): void;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ChainNamespace, CaipNetwork } from '@reown/appkit-common';
|
|
2
|
+
import type { Connector, WcWallet } from './TypeUtil.js';
|
|
3
|
+
export declare const AssetUtil: {
|
|
4
|
+
fetchWalletImage(imageId?: string): Promise<string | undefined>;
|
|
5
|
+
getWalletImageById(imageId?: string): string | undefined;
|
|
6
|
+
getWalletImage(wallet?: WcWallet): string | undefined;
|
|
7
|
+
getNetworkImage(network?: CaipNetwork): string | undefined;
|
|
8
|
+
getNetworkImageById(imageId?: string): string | undefined;
|
|
9
|
+
getConnectorImage(connector?: Connector): string | undefined;
|
|
10
|
+
getChainImage(chain: ChainNamespace): string | undefined;
|
|
11
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Features } from './TypeUtil.js';
|
|
2
|
+
export declare const ONRAMP_PROVIDERS: {
|
|
3
|
+
label: string;
|
|
4
|
+
name: string;
|
|
5
|
+
feeRange: string;
|
|
6
|
+
url: string;
|
|
7
|
+
supportedChains: string[];
|
|
8
|
+
}[];
|
|
9
|
+
export declare const MELD_DEV_PUBLIC_KEY = "WXETMsajb7XcQBm7mcxAab:q3MtzJpiEMtXVNXsqYkAnAaBkgStybGVtZ";
|
|
10
|
+
export declare const MELD_PROD_PUBLIC_KEY = "WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU";
|
|
11
|
+
export declare const ConstantsUtil: {
|
|
12
|
+
FOUR_MINUTES_MS: number;
|
|
13
|
+
TEN_SEC_MS: number;
|
|
14
|
+
ONE_SEC_MS: number;
|
|
15
|
+
SECURE_SITE: string;
|
|
16
|
+
SECURE_SITE_DASHBOARD: string;
|
|
17
|
+
SECURE_SITE_FAVICON: string;
|
|
18
|
+
RESTRICTED_TIMEZONES: string[];
|
|
19
|
+
/**
|
|
20
|
+
* Network name to Coinbase Pay SDK chain name map object
|
|
21
|
+
* @see supported chain names on Coinbase for Pay SDK: https://github.com/coinbase/cbpay-js/blob/d4bda2c05c4d5917c8db6a05476b603546046394/src/types/onramp.ts
|
|
22
|
+
*/
|
|
23
|
+
WC_COINBASE_PAY_SDK_CHAINS: string[];
|
|
24
|
+
WC_COINBASE_PAY_SDK_FALLBACK_CHAIN: string;
|
|
25
|
+
WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP: {
|
|
26
|
+
Ethereum: string;
|
|
27
|
+
'Arbitrum One': string;
|
|
28
|
+
Polygon: string;
|
|
29
|
+
Avalanche: string;
|
|
30
|
+
'OP Mainnet': string;
|
|
31
|
+
Celo: string;
|
|
32
|
+
Base: string;
|
|
33
|
+
};
|
|
34
|
+
WC_COINBASE_ONRAMP_APP_ID: string;
|
|
35
|
+
SWAP_SUGGESTED_TOKENS: string[];
|
|
36
|
+
SWAP_POPULAR_TOKENS: string[];
|
|
37
|
+
SWAP_SUPPORTED_NETWORKS: string[];
|
|
38
|
+
NATIVE_TOKEN_ADDRESS: {
|
|
39
|
+
readonly eip155: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
40
|
+
readonly solana: "So11111111111111111111111111111111111111111";
|
|
41
|
+
readonly polkadot: "0x";
|
|
42
|
+
};
|
|
43
|
+
CONVERT_SLIPPAGE_TOLERANCE: number;
|
|
44
|
+
DEFAULT_FEATURES: Features;
|
|
45
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Balance, ChainNamespace } from '@reown/appkit-common';
|
|
2
|
+
import type { CaipAddress, CaipNetwork } from '@reown/appkit-common';
|
|
3
|
+
import type { LinkingRecord } from './TypeUtil.js';
|
|
4
|
+
export declare const CoreHelperUtil: {
|
|
5
|
+
isMobile(): boolean;
|
|
6
|
+
checkCaipNetwork(network: CaipNetwork | undefined, networkName?: string): boolean | undefined;
|
|
7
|
+
isAndroid(): boolean;
|
|
8
|
+
isIos(): boolean;
|
|
9
|
+
isClient(): boolean;
|
|
10
|
+
isPairingExpired(expiry?: number): boolean;
|
|
11
|
+
isAllowedRetry(lastRetry: number): boolean;
|
|
12
|
+
copyToClopboard(text: string): void;
|
|
13
|
+
getPairingExpiry(): number;
|
|
14
|
+
getNetworkId(caipAddress: CaipAddress | undefined): string | undefined;
|
|
15
|
+
getPlainAddress(caipAddress: CaipAddress | undefined): string | undefined;
|
|
16
|
+
wait(milliseconds: number): Promise<unknown>;
|
|
17
|
+
debounce(func: (...args: any[]) => unknown, timeout?: number): (...args: unknown[]) => void;
|
|
18
|
+
isHttpUrl(url: string): boolean;
|
|
19
|
+
formatNativeUrl(appUrl: string, wcUri: string): LinkingRecord;
|
|
20
|
+
formatUniversalUrl(appUrl: string, wcUri: string): LinkingRecord;
|
|
21
|
+
openHref(href: string, target: '_blank' | '_self' | 'popupWindow', features?: string): void;
|
|
22
|
+
returnOpenHref(href: string, target: '_blank' | '_self' | 'popupWindow', features?: string): Window | null;
|
|
23
|
+
preloadImage(src: string): Promise<unknown>;
|
|
24
|
+
formatBalance(balance: string | undefined, symbol: string | undefined): string;
|
|
25
|
+
formatBalance2(balance: string | undefined, symbol: string | undefined): {
|
|
26
|
+
value: string;
|
|
27
|
+
rest: string;
|
|
28
|
+
symbol: string | undefined;
|
|
29
|
+
};
|
|
30
|
+
getApiUrl(): "https://api.web3modal.org";
|
|
31
|
+
getBlockchainApiUrl(): "https://rpc.walletconnect.org";
|
|
32
|
+
getAnalyticsUrl(): "https://pulse.walletconnect.org";
|
|
33
|
+
getUUID(): string;
|
|
34
|
+
parseError(error: any): string;
|
|
35
|
+
sortRequestedNetworks(approvedIds: `${string}:${string}`[] | undefined, requestedNetworks?: CaipNetwork[]): CaipNetwork[];
|
|
36
|
+
calculateBalance(array: Balance[]): number;
|
|
37
|
+
formatTokenBalance(number: number): {
|
|
38
|
+
dollars: string | undefined;
|
|
39
|
+
pennies: string | undefined;
|
|
40
|
+
};
|
|
41
|
+
isAddress(address: string, chain?: ChainNamespace): boolean;
|
|
42
|
+
uniqueBy<T>(arr: T[], key: keyof T): T[];
|
|
43
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface Options {
|
|
2
|
+
baseUrl: string;
|
|
3
|
+
clientId: string | null;
|
|
4
|
+
}
|
|
5
|
+
interface RequestArguments {
|
|
6
|
+
path: string;
|
|
7
|
+
headers?: HeadersInit;
|
|
8
|
+
params?: Record<string, string | undefined>;
|
|
9
|
+
cache?: RequestCache;
|
|
10
|
+
signal?: AbortSignal;
|
|
11
|
+
}
|
|
12
|
+
interface PostArguments extends RequestArguments {
|
|
13
|
+
body?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export declare class FetchUtil {
|
|
16
|
+
baseUrl: Options['baseUrl'];
|
|
17
|
+
clientId: Options['clientId'];
|
|
18
|
+
constructor({ baseUrl, clientId }: Options);
|
|
19
|
+
get<T>({ headers, signal, cache, ...args }: RequestArguments): Promise<T>;
|
|
20
|
+
getBlob({ headers, signal, ...args }: RequestArguments): Promise<Blob>;
|
|
21
|
+
post<T>({ body, headers, signal, ...args }: PostArguments): Promise<T>;
|
|
22
|
+
put<T>({ body, headers, signal, ...args }: PostArguments): Promise<T>;
|
|
23
|
+
delete<T>({ body, headers, signal, ...args }: PostArguments): Promise<T>;
|
|
24
|
+
private createUrl;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WcWallet, ConnectorType, SocialProvider } from './TypeUtil.js';
|
|
2
|
+
export declare const StorageUtil: {
|
|
3
|
+
setWalletConnectDeepLink({ href, name }: {
|
|
4
|
+
href: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}): void;
|
|
7
|
+
getWalletConnectDeepLink(): any;
|
|
8
|
+
deleteWalletConnectDeepLink(): void;
|
|
9
|
+
setWeb3ModalRecent(wallet: WcWallet): void;
|
|
10
|
+
getRecentWallets(): WcWallet[];
|
|
11
|
+
setConnectedConnector(connectorType: ConnectorType): void;
|
|
12
|
+
getConnectedConnector(): ConnectorType | undefined;
|
|
13
|
+
setConnectedSocialProvider(socialProvider: SocialProvider): void;
|
|
14
|
+
getConnectedSocialProvider(): string | null | undefined;
|
|
15
|
+
getConnectedSocialUsername(): string | null | undefined;
|
|
16
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SwapTokenWithBalance } from './TypeUtil.js';
|
|
2
|
+
import type { BlockchainApiSwapAllowanceRequest, BlockchainApiBalanceResponse } from './TypeUtil.js';
|
|
3
|
+
export type TokenInfo = {
|
|
4
|
+
address: `0x${string}`;
|
|
5
|
+
symbol: string;
|
|
6
|
+
name: string;
|
|
7
|
+
decimals: number;
|
|
8
|
+
logoURI: string;
|
|
9
|
+
domainVersion?: string;
|
|
10
|
+
eip2612?: boolean;
|
|
11
|
+
isFoT?: boolean;
|
|
12
|
+
tags?: string[];
|
|
13
|
+
};
|
|
14
|
+
export declare const SwapApiUtil: {
|
|
15
|
+
getTokenList(): Promise<SwapTokenWithBalance[]>;
|
|
16
|
+
fetchGasPrice(): Promise<import("./TypeUtil.js").BlockchainApiGasPriceResponse | null>;
|
|
17
|
+
fetchSwapAllowance({ tokenAddress, userAddress, sourceTokenAmount, sourceTokenDecimals }: Pick<BlockchainApiSwapAllowanceRequest, "userAddress" | "tokenAddress"> & {
|
|
18
|
+
sourceTokenAmount: string;
|
|
19
|
+
sourceTokenDecimals: number;
|
|
20
|
+
}): Promise<boolean>;
|
|
21
|
+
getMyTokensWithBalance(forceUpdate?: string): Promise<SwapTokenWithBalance[]>;
|
|
22
|
+
mapBalancesToSwapTokens(balances: BlockchainApiBalanceResponse['balances']): SwapTokenWithBalance[];
|
|
23
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SwapTokenWithBalance } from './TypeUtil.js';
|
|
2
|
+
export declare const SwapCalculationUtil: {
|
|
3
|
+
getGasPriceInEther(gas: bigint, gasPrice: bigint): number;
|
|
4
|
+
getGasPriceInUSD(networkPrice: string, gas: bigint, gasPrice: bigint): number;
|
|
5
|
+
getPriceImpact({ sourceTokenAmount, sourceTokenPriceInUSD, toTokenPriceInUSD, toTokenAmount }: {
|
|
6
|
+
sourceTokenAmount: string;
|
|
7
|
+
sourceTokenPriceInUSD: number;
|
|
8
|
+
toTokenPriceInUSD: number;
|
|
9
|
+
toTokenAmount: string;
|
|
10
|
+
}): number;
|
|
11
|
+
getMaxSlippage(slippage: number, toTokenAmount: string): number;
|
|
12
|
+
getProviderFee(sourceTokenAmount: string, feePercentage?: number): string;
|
|
13
|
+
isInsufficientNetworkTokenForGas(networkBalanceInUSD: string, gasPriceInUSD: number | undefined): boolean;
|
|
14
|
+
isInsufficientSourceTokenForSwap(sourceTokenAmount: string, sourceTokenAddress: string, balance: SwapTokenWithBalance[] | undefined): boolean;
|
|
15
|
+
getToTokenAmount({ sourceToken, toToken, sourceTokenPrice, toTokenPrice, sourceTokenAmount }: {
|
|
16
|
+
sourceToken: SwapTokenWithBalance | undefined;
|
|
17
|
+
toToken: SwapTokenWithBalance | undefined;
|
|
18
|
+
sourceTokenPrice: number;
|
|
19
|
+
toTokenPrice: number;
|
|
20
|
+
sourceTokenAmount: string;
|
|
21
|
+
}): string;
|
|
22
|
+
};
|