import * as react_jsx_runtime from 'react/jsx-runtime'; import React, { ReactNode } from 'react'; import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'; import { SupabaseClient, Session, User, AuthSession } from '@supabase/supabase-js'; import * as _moonup_moon_api from '@moonup/moon-api'; import { InputBody as InputBody$1, Transaction as Transaction$1, ERC20InputBody, Erc20GetErc20TokenBalanceParams, Erc20GetErc20TokenAllowanceParams, Erc20GetErc20TokenDecimalsParams, Erc20GetErc20TokenNameParams, Erc20GetErc20TokenSymbolParams, Erc20GetErc20TokenTotalSupplyParams, Erc4626GetErc4626AllowanceParams, Erc4626GetErc4626AllowanceData, Erc4626GetErc4626AssetParams, Erc4626GetErc4626AssetData, Erc4626GetErc4626ConvertToAssetsParams, Erc4626GetErc4626ConvertToAssetsData, Erc4626GetErc4626ConvertToSharesParams, Erc4626GetErc4626ConvertToSharesData, Erc4626GetErc4626MaxDepositParams, Erc4626GetErc4626MaxDepositData, Erc4626GetErc4626MaxMintParams, Erc4626GetErc4626MaxMintData, Erc4626GetErc4626MaxRedeemParams, Erc4626GetErc4626MaxRedeemData, Erc4626GetErc4626MaxWithdrawParams, Erc4626GetErc4626MaxWithdrawData, Erc4626GetErc4626PreviewDepositParams, Erc4626GetErc4626PreviewDepositData, Erc4626GetErc4626PreviewMintParams, Erc4626GetErc4626PreviewMintData, Erc4626GetErc4626PreviewRedeemParams, Erc4626GetErc4626PreviewRedeemData, Erc4626GetErc4626PreviewWithdrawParams, Erc4626GetErc4626PreviewWithdrawData, Erc4626GetErc4626TotalAssetsParams, Erc4626GetErc4626TotalAssetsData, Erc4626GetErc4626TotalSupplyParams, Erc4626GetErc4626TotalSupplyData, AavePoolInputBody, AavePoolAPIResponseAavePoolExecuteFunctionResult, AAVEv3RewardsInputBody, AAVEv3RewardsAPIResponseAAVEv3RewardsExecuteFunctionResult, AavEv3RewardsGetRewardsByAssetParams, AAVEv3RewardsAPIResponseStringArray, AavEv3RewardsGetRewardsDataParams, AavEv3RewardsGetUserRewardsParams, AAVEv3RewardsAPIResponseString, Aavev3PoolAddressProviderRegistryGetAllATokensParams, PoolAddressProviderRegistryAPIResponseAnyArray, AavePoolAPIResponseAny, GetReservesDataParams, AavEv3IncentiveDataProviderGetUserReservesDataParams, AAVEv3UiPoolDataProviderAPIResponseUserReserveDataArray, AavEv3IncentiveDataProviderGetFullReservesDataParams, AAVEv3UiIncentiveDataProviderAPIResponseFullReservesIncentiveData, JupiterGetIndexedRouteMapParams, JupiterAPIResponseAny, JupiterAPIResponseRecordStringString, OmitJupiterInputBodyAccountName, JupiterAPIResponseJupiterExecuteFunctionResult, JupiterAPIResponseStringArray, JupiterCancelLimitOrdersPayload, CreateLimitOrderBody, JupiterGetOpenOrdersParams, JupiterGetOrderHistoryParams, LifiGetStatusParams, ApiResponseStatusResponse, LifiGetQuoteParams, Quote, LifiPostQuoteParams, PostQuote, TokensResponse, ChainsResponse, GetToolsParams, ApiResponseToolsResponse, LifiGetAllPossibleConnectionsParams, ApiResponseTokenInfoByChainId, LifiGetConnectionsParams, ApiResponseConnectionsResponse, LifiGetTokenDetailsParams, ApiResponseTokenDetails, ApiResponseQuote, LynexRouterInputBody, AddLiquidityData, AddLiquidityEthData, LynexNFTInputBody, ApproveOutput, BurnData, CalculateOptimalVoteDistributionParams, CalculateOptimalVoteDistributionData, CheckpointData, CheckpointDelegateeData, ClaimData, LynexVoterInputBody, ClaimBribesData, ClaimFeesData, ClaimRewardsResult, CreateDelegatedLockForData, CreateGaugeData, CreateLockData, CreateLockForData, DelegateData, DelegateBySigData, DistributeData, GetAmountOutParams, GetAmountOutData, GetAmountsOutParams, GetAmountsOutData, GetApprovedParams, GetApprovedData, GetAssetByAddressData, GetAssetsData, GetBalanceOfParams, GetBalanceOfOutput, GetBalanceOfNftParams, GetBalanceOfNftData, GetBalanceOfNftAtParams, GetBalanceOfNftAtData, GetDelegatesParams, GetDelegatesData, GetFactoryParams, GetFactoryData, GetLastVotedParams, GetLastVotedData, GetLockDetailsParams, GetLockDetailsData, GetNameParams, GetOwnerOfParams, GetOwnerOfData, GetPastVotesParams, GetPastVotesData, GetPoolByAddressData, GetPoolsData, GetPoolsByTypeData, GetPoolVoteLengthParams, GetPoolVoteLengthData, GetSymbolParams, GetTokenByIndexParams, GetTokenByIndexData, GetTokenOfOwnerByIndexParams, GetTokenOfOwnerByIndexData, GetTokenUriParams, GetTokenUriData, GetTopAprPoolsParams, GetTopAprPoolsData, GetTotalNftsMintedParams, GetTotalNftsMintedData, GetTotalSupplyParams4, GetTotalSupplyOutput, GetTotalValueLockedData, GetTotalWeightParams, GetTotalWeightData, GetVestedPayoutParams, GetVestedPayoutData, GetVestedPayoutAtTimeParams, GetVestedPayoutAtTimeData, GetVestingPayoutParams, GetVestingPayoutData, GetVestingPeriodParams, GetVestingPeriodData, GetVotesParams, GetVotesData, GetWeightsParams, GetWeightsData, GetWethParams2, GetWethResult, GlobalCheckpointData, IncreaseLockAmountData, IncreaseUnlockTimeData, IsApprovedForAllParams, IsGaugeParams, IsGaugeData, IsWhitelistedParams, IsWhitelistedData, KillGaugeData, MergeData, NotifyRewardAmountData, PokeData, ResetData, ReviveGaugeData, SafeTransferFromResult, SetApprovalForAllResult, SetClaimApprovalData, SetClaimApprovalForAllData, SplitData, SwapExactEthForTokensData, SwapExactTokensForEthData, SwapExactTokensForTokensData, TransferFromOutput, UnlockPermanentData, VoteData, VoteWithOptimalDistributionPayload, VoteWithOptimalDistributionData, WhitelistData, LeveragerInputBody, LeveragerGetAddressesProviderParams, LeveragerGetDefaultAdminRoleParams, LeveragerGetLendingPoolParams, LeveragerGetMinHfParams, LeveragerGetRoleAdminParams, LeveragerGetWethParams, LeveragerHasRoleParams, LeveragerIsPausedParams, LendingPoolInputBody, LendingPoolGetAddressesProviderParams, LendingPoolGetFlashLoanPremiumTotalParams, LendingPoolGetLendingPoolRevisionParams, LendingPoolGetMaxNumberReservesParams, LendingPoolGetMaxStableRateBorrowSizePercentParams, LendingPoolGetReserveDataParams, LendingPoolGetReservesListParams, LendingPoolGetUserAccountDataParams, LendingPoolIsPausedParams, OdosGetRouterAddressParams, OdosAPIResponseOdosExecuteFunctionResult, OdosSwapInputBody, OdosGetSupportedTokensParams, OdosAssembleLimitOrderPayload, OdosCreateLimitOrderPayload, OdosCancelLimitOrderParams, OdosGetLimitOrdersParams, ApproveForPolymarketBody, ApproveForPolymarketData, CancelMarketOrdersBody, CancelMarketOrdersData, CancelOrderBody, CancelOrderData, CancelOrdersBody, CancelOrdersData, CreateMarketBuyOrderBody, CreateMarketBuyOrderData, CreateOrderBody, CreateOrderData, DropNotificationsBody, DropNotificationsData, GetBalanceAllowanceParams, GetBalanceAllowanceData, GetMarketParams, GetMarketData, GetMarketsParams, GetMarketsData, GetMarketTradeEventsParams, GetMarketTradeEventsData, GetNotificationsParams1, GetNotificationsResult, GetOpenOrdersParams, GetOpenOrdersData, GetOrderParams, GetOrderData, GetOrderBookParams, GetOrderBookData, GetPricesHistoryParams, GetPricesHistoryData, GetTradesParams, GetTradesData, PostOrderBody, PostOrderData, UpdateBalanceAllowanceBody, UpdateBalanceAllowanceData, RamsesNFTInputBody, RamsesRouterInputBody, RamsesVoterInputBody, CalculateOptimalVoteDistributionParams2, GetAmountOutParams2, GetAmountsOutParams2, GetBalanceOfParams2, GetBalanceOfNftParams2, GetDelegatesParams2, GetFactoryParams2, GetLastVotedParams2, GetLockedParams, GetOwnerOfParams2, GetPastVotesParams2, GetReservesParams, GetTokenUriParams2, GetTopAprPoolsParams2, GetTotalSupplyParams2, GetTotalWeightParams2, GetVotesParams2, GetWeightsParams2, GetWethParams4, IsGaugeParams2, IsPairParams, IsWhitelistedParams2, PairForParams, QuoteAddLiquidityParams, QuoteRemoveLiquidityParams, SortTokensParams, VoteWithOptimalDistributionBody, VeNFTInputBody, AbstainResult, ApproveData, AttachResult, VeTheNftVoterInputBody, AttachTokenToGaugeResult, CalculateOptimalVoteDistributionParams4, CalculateOptimalVoteDistributionOutput, CheckpointResult, ClaimBribesOutput, ClaimFeesOutput, ClaimRewardsData, CreateGaugeOutput, CreateLockOutput, CreateLockForResult, DelegateOutput, DelegateBySigResult, DepositForData, DetachResult, DetachTokenFromGaugeResult, DistributeOutput, GetApprovedParams4, GetApprovedOutput, GetBalanceOfParams4, GetBalanceOfData, GetBalanceOfAtNftParams, GetBalanceOfAtNftData, GetBalanceOfNftParams4, GetBalanceOfNftOutput, GetDelegatesParams4, GetDelegatesOutput, GetFusionByAddressData, GetFusionsData, GetFusionsByTypeData, GetLastUserSlopeParams, GetLastUserSlopeData, GetLockedParams2, GetLockedResult, GetLockedEndParams, GetLockedEndData, GetOwnerOfParams4, GetOwnerOfOutput, GetPastTotalSupplyParams, GetPastTotalSupplyData, GetPastVotesParams4, GetPastVotesOutput, GetTokenUriParams4, GetTokenUriOutput, GetTopAprFusionsParams, GetTopAprFusionsData, GetTopPairsParams, GetTopPairsData, GetTopTokensParams, GetTopTokensData, GetTotalSupplyResult, GetTotalSupplyAtParams, GetTotalSupplyAtData, GetTotalSupplyAtTParams, GetTotalSupplyAtTData, GetTotalValueLockedOutput, GetTotalWeightParams4, GetTotalWeightOutput, GetUserPointHistoryParams, GetUserPointHistoryData, GetUserPointHistoryTsParams, GetUserPointHistoryTsData, GetVotesParams4, GetVotesOutput, GetWeightsParams4, GetWeightsOutput, IncreaseLockAmountResult, IncreaseUnlockTimeOutput, IsApprovedForAllParams4, IsApprovedForAllData, IsGaugeParams4, IsGaugeOutput, IsWhitelistedParams4, IsWhitelistedOutput, KillGaugeOutput, LastVotedParams, LastVotedData, MergeOutput, NotifyRewardAmountOutput, PokeOutput, PoolVoteLengthParams, PoolVoteLengthData, ResetOutput, ReviveGaugeOutput, SplitOutput, TransferFromResult, VoteOutput, VoteWithOptimalDistributionInput, VoteWithOptimalDistributionOutput, VotingData, WhitelistOutput, WithdrawData, GetGasPriceParams, ThorSwapAPIResponseGasPrice, GetQuoteParams, ThorSwapAPIResponseQuote, GetSupportedChainsParams, ThorSwapAPIResponseStringArray, GetSupportedProvidersParams, SwapPayload, ThorSwapAPIResponseString, UniswapV2InputBody, AddLiquidityOutput, AddLiquidityEthOutput, GetAmountInData, GetAmountOutOutput, GetAmountsInData, GetAmountsOutOutput, QuoteData, RemoveLiquidityResult, RemoveLiquidityEthResult, RemoveLiquidityEthSupportingFeeOnTransferTokensData, RemoveLiquidityEthWithPermitData, RemoveLiquidityEthWithPermitSupportingFeeOnTransferTokensData, RemoveLiquidityWithPermitData, SwapEthForExactTokensData, SwapExactEthForTokensOutput, SwapExactEthForTokensSupportingFeeOnTransferTokensData, SwapExactTokensForEthOutput, SwapExactTokensForEthSupportingFeeOnTransferTokensData, SwapExactTokensForTokensOutput, SwapExactTokensForTokensSupportingFeeOnTransferTokensData, SwapTokensForExactEthData, SwapTokensForExactTokensData, UniswapV3InputBody, BalanceOfParams, BaseUriParams, BaseUriData, BurnResult, CollectData, CreateAndInitializePoolIfNecessaryData, DecreaseLiquidityData, DomainSeparatorParams, DomainSeparatorData, ExactInputData, ExactInputSingleData, ExactOutputData, ExactOutputSingleData, GetApprovedParams2, GetApprovedResult, IncreaseLiquidityData, IsApprovedForAllParams2, MulticallData, Multicall2Data, NameParams, NameData, OwnerOfParams, OwnerOfData, PermitData, PermitTypehashParams, PermitTypehashData, PositionsParams, PositionsData, RefundEthData, RefundEth2Data, SelfPermitData, SelfPermitAllowedData, SelfPermitAllowedIfNecessaryData, SelfPermitIfNecessaryData, SetApprovalForAllOutput, SweepTokenData, SweepToken2Data, SweepTokenWithFeeData, SymbolParams, SymbolData, TokenByIndexParams, TokenByIndexData, TokenOfOwnerByIndexParams, TokenOfOwnerByIndexData, TokenUriParams, TokenUriData, TotalSupplyParams, TotalSupplyData, UniswapV3APIResponseUniswapV3ExecuteFunctionResult, GetPriceInferenceParams, AlloraInferenceResponse, ImpliedFuturePriceParams, ImpliedFuturePriceData, LogReturnToPercentageParams, LogReturnToPercentageData, CookieFunGetKolCommunityParams, CommunityMetricsAPIResponse, CookieFunGetKolListParams, KOLListAPIResponse, CookieFunGetKolNetworkParams, KOLNetworkAPIResponse, CookieFunGetPredictiveMetricsParams, PredictiveMetricsAPIResponse, CookieFunGetTokenAnalyticsParams, TokenAnalyticsAPIResponse, CookieFunGetTrendingNarrativesParams, NarrativeTrendsAPIResponse, CookieFunGetTrendingTokensParams, TrendingTokensAPIResponse, CookieFunGetTrendingTweetsParams, TrendingTweetsAPIResponse, MakeFunTokenGetClFactoryParams, MakeFunTokenGetMaxTickParams, MakeFunTokenGetMinTickParams, MakeFunTokenHelperInputBody, FinancialDatasetsGetAllFinancialsParams, FinancialDatasetsGetBalanceSheetsParams, FinancialDatasetsGetCashFlowStatementsParams, FinancialDatasetsGetIncomeStatementsParams, FinancialDatasetsGetInsiderTransactionsParams, FinancialDatasetsGetOptionsChainParams, FinancialDatasetsGetPricesParams, FinancialDatasetsGetSegmentedRevenuesParams, SearchRequest, FinancialDatasetsSearchFinancialsByLineItemsPayload, OpenSeaCollectionInputBody, CreateCollectionOfferData, OpenSeaNFTInputBody, CreateOfferData, GetCollectionParams, GetNftParams, UnwrapWethPayload, UnwrapWethData, WrapEthPayload, WrapEthData, GetCollectionData, GetNftData, CancelOrderPayload, CreateListingData, FulfillOrderPayload, FulfillOrderData, GetAccountParams, GetAllListingsParams, GetAllOffersParams, GetBestListingParams, GetBestOfferParams, GetCollectionsParams, GetCollectionStatsParams, GetNfTsByAccountParams, GetNfTsByCollectionParams, GetNfTsByContractParams, GetOrdersParams, GetPaymentTokenParams, OffchainCancelOrderPayload, OffchainCancelOrderData, ChartsGetChartAnalysisParamsEnum, ChartAnalysisAPIResponse, DataExecuteCustomSupabaseQueryPayload, PortfolioAPIResponse, DataGetTokensMetadataParams, TokenMetadataAPIResponse, DataGetUserDebankComplexProtocolListParams, DebankPortfolioAPIResponse, DataGetUserDebankTokenListParams, WalletBalanceAPIResponse, DataGetUserWalletPortfolioParams, DataGetWalletTokenBalancesParams, DataGetWalletNfTsParams, NFTsAPIResponse, DataGetWalletTransactionHistoryParams, WalletHistoryAPIResponse, DataGetBitcoinBalanceData, DataGetBitcoinTransactionsParams, DataGetBitcoinTransactionsData, DataGetDogecoinBalanceData, DataGetDogecoinTransactionsParams, DataGetDogecoinTransactionsData, DataGetLitecoinBalanceData, DataGetLitecoinTransactionsParams, DataGetLitecoinTransactionsData, DataGetTronBalanceData, DataGetTronTransactionsParams, DataGetTronTransactionsData, DataGetXrpBalanceData, DataGetXrpTransactionsData, DataGetCoinGeckoCoinInfoParams, DataGetCoinGeckoCoinInfoData, DataGetCoinGeckoCoinListParams, DataGetCoinGeckoCoinListData, DataGetCoinGeckoCoinMarketsParams, DataGetCoinGeckoCoinMarketsData, DataGetAllUserDebankNfTsParams, DataGetAllUserDebankNfTsData, DataGetUserDebankNftListParams, DataGetUserDebankNftListData } from '@moonup/moon-api'; import * as _moonup_moon_sdk from '@moonup/moon-sdk'; import { MoonSDK, MoonSDKConfig, Chains, INetwork, ChainType } from '@moonup/moon-sdk'; import { Config } from 'wagmi'; import { PublicKeyCredentialCreationOptionsJSON, RegistrationResponseJSON, PublicKeyCredentialRequestOptionsJSON, AuthenticationResponseJSON } from '@simplewebauthn/typescript-types'; import { SiweMessage } from 'siwe'; import * as _tanstack_react_query from '@tanstack/react-query'; import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; import { BigNumberish } from 'ethers'; declare function Account(): react_jsx_runtime.JSX.Element; /** * goal is TX Prompt -> Moon Api calls + args * transcations we handle * Swap * Send * * 1 user query/intent to steps * 2 steps to moon api calls * 3 moon api calls to response. * **/ interface TransactionStep { title: string; description: string; successCondition: string; transaction: { to: string; from?: string; nonce?: number; gasLimit?: string; gasPrice?: string; data: string; value?: string; chainId?: number; }; } interface BaseChatMessage { id: string; timestamp: Date; sender: "user" | "system"; type: ChatMessageType; content?: string; } interface MultiStepTransactionMessage extends BaseChatMessage { type: "multiStepTransaction"; steps: TransactionStep[]; } type ChatMessageType = "protocolInfo" | "poolInfo" | "chainInfo" | "tokenInfo" | "walletInfo" | "transactionResult" | "portfolioChange" | "historicalTransaction" | "historicalPerformance" | "userMessage" | "multiStepTransaction"; interface UserMessage extends BaseChatMessage { type: "userMessage"; content: string; } interface ProtocolInfo extends BaseChatMessage { type: "protocolInfo"; name: string; description: string; tvl: number; apy: number; } interface PoolInfo extends BaseChatMessage { type: "poolInfo"; name: string; tokens: string[]; totalLiquidity: number; apy: number; } interface ChainInfo$1 extends BaseChatMessage { type: "chainInfo"; name: string; nativeCurrency: string; blockTime: number; gasPrice: number; } interface TokenInfo extends BaseChatMessage { type: "tokenInfo"; name: string; symbol: string; price: number; marketCap: number; } interface WalletInfo extends BaseChatMessage { type: "walletInfo"; address: string; balance: number; tokens: { symbol: string; balance: number; }[]; } interface TransactionResultChat extends BaseChatMessage { type: "transactionResult"; status: "success" | "failure"; hash: string; from: string; to: string; amount: number; currency: string; } interface PortfolioChange extends BaseChatMessage { type: "portfolioChange"; changePercentage: number; newTotal: number; } interface HistoricalTransaction extends BaseChatMessage { type: "historicalTransaction"; transactions: { date: Date; type: string; amount: number; currency: string; }[]; } interface HistoricalPerformance extends BaseChatMessage { type: "historicalPerformance"; token: string; data: { date: Date; price: number; }[]; } type ChatMessage = ProtocolInfo | PoolInfo | ChainInfo$1 | TokenInfo | WalletInfo | TransactionResultChat | PortfolioChange | HistoricalTransaction | HistoricalPerformance | UserMessage | MultiStepTransactionMessage; type SocialOption = "discord" | "github" | "twitter" | "google"; type SocialOptionArray = SocialOption[]; interface InputBody { EOA?: boolean; approved?: boolean; broadcast?: boolean; chain_id?: string; contract_address?: string; data?: string; encoding?: string; gas?: string; gasPrice?: string; input?: string; nonce?: string; to?: string; token_id?: string; token_ids?: string; value?: string; } /** * Configuration options for the authentication modal. * * @typedef {Object} AuthModalConfig * @property {boolean} enabled - Indicates if the authentication modal is enabled. * @property {SocialOptionArray} socialLogins - Array of social login options. * @property {boolean} walletConnectEnabled - Indicates if wallet connect is enabled. * @property {boolean} anonymousLoginEnabled - Indicates if anonymous login is enabled. * @property {Object} appearance - Configuration for the appearance of the modal. * @property {Object} appearance.logo - Configuration for the logo. * @property {string} [appearance.logo.src] - Source URL of the logo image. * @property {string} [appearance.logo.height] - Height of the logo. * @property {string} [appearance.logo.width] - Width of the logo. * @property {'left' | 'right' | 'center'} [appearance.logo.position] - Position of the logo. * @property {string} [appearance.logo.className] - CSS class name for the logo. * @property {boolean} [appearance.logo.enabled] - Indicates if the logo is enabled. * @property {Object} [appearance.welcomeMessage] - Configuration for the welcome message. * @property {string} [appearance.welcomeMessage.title] - Title of the welcome message. * @property {string} [appearance.welcomeMessage.subtitle] - Subtitle of the welcome message. * @property {'above' | 'inside'} [appearance.welcomeMessage.position] - Position of the welcome message. * @property {string} [appearance.welcomeMessage.className] - CSS class name for the welcome message. * @property {boolean} [appearance.welcomeMessage.enabled] - Indicates if the welcome message is enabled. * @property {Object} [appearance.signupMessage] - Configuration for the signup message. * @property {string} [appearance.signupMessage.title] - Title of the signup message. * @property {string} [appearance.signupMessage.subtitle] - Subtitle of the signup message. * @property {Object} appearance.modal - Configuration for the modal. * @property {string} [appearance.modal.backdropColor] - Backdrop color of the modal. * @property {string} [appearance.modal.backgroundColor] - Background color of the modal. * @property {string} [appearance.modal.borderRadius] - Border radius of the modal. * @property {string} [appearance.modal.padding] - Padding of the modal. * @property {string} [appearance.modal.width] - Width of the modal. * @property {string} [appearance.modal.className] - CSS class name for the modal. * @property {Object} appearance.input - Configuration for the input fields. * @property {string} [appearance.input.borderRadius] - Border radius of the input fields. * @property {Object} appearance.input.placeholders - Placeholder texts for the input fields. * @property {string} appearance.input.placeholders.email - Placeholder text for the email input field. * @property {string} appearance.input.placeholders.password - Placeholder text for the password input field. * @property {string} [appearance.input.className] - CSS class name for the input fields. * @property {Object} appearance.button - Configuration for the buttons. * @property {string} [appearance.button.borderRadius] - Border radius of the buttons. * @property {string} [appearance.button.padding] - Padding of the buttons. * @property {string} [appearance.button.height] - Height of the buttons. * @property {string} [appearance.button.className] - CSS class name for the buttons. * @property {Object} [appearance.splashImage] - Configuration for the splash image. * @property {string} [appearance.splashImage.src] - Source URL of the splash image. * @property {string} [appearance.splashImage.height] - Height of the splash image. * @property {string} [appearance.splashImage.width] - Width of the splash image. * @property {string} [appearance.splashImage.className] - CSS class name for the splash image. * @property {boolean} [appearance.splashImage.enabled] - Indicates if the splash image is enabled. * @property {string} [appearance.font] - Font used in the modal. * @property {Object} theming - Configuration for the theming of the modal. * @property {string} theming.accentColor - Accent color used in the modal. * @property {string} theming.successColor - Color used for success messages. * @property {string} theming.errorColor - Color used for error messages. * @property {string} theming.infoColor - Color used for informational messages. * @property {string} theming.warningColor - Color used for warning messages. * @property {string} theming.backgroundColor - Background color of the modal. * @property {string} theming.backgroundColorSecondary - Secondary background color of the modal. * @property {string} theming.textColor - Text color used in the modal. * @property {string} theming.textColorSecondary - Secondary text color used in the modal. * @property {string} theming.buttonColor - Color used for buttons. * @property {string} theming.buttonColorSecondary - Secondary color used for buttons. */ type AuthModalConfig = { enabled: boolean; socialLogins: SocialOptionArray; walletConnectEnabled: boolean; anonymousLoginEnabled: boolean; appearance: { logo?: { src?: string; height?: string; width?: string; position?: "left" | "right" | "center"; className?: string; enabled?: boolean; }; welcomeMessage?: { title?: string; subtitle?: string; position?: "above" | "inside"; className?: string; enabled?: boolean; }; signupMessage?: { title?: string; subtitle?: string; }; modal: { backdropColor?: string; backgroundColor?: string; borderRadius?: string; padding?: string; width?: string; className?: string; }; input: { borderRadius?: string; placeholders: { email: string; password: string; }; className?: string; }; button: { borderRadius?: string; padding?: string; height?: string; className?: string; }; splashImage?: { src?: string; height?: string; width?: string; className?: string; enabled?: boolean; }; font?: string; }; theming: { accentColor: string; successColor: string; errorColor: string; infoColor: string; warningColor: string; backgroundColor: string; backgroundColorSecondary: string; textColor: string; textColorSecondary: string; buttonColor: string; buttonColorSecondary: string; fontFamily: string; borderRadius: string; boxShadow: string; colors: { primary: string; secondary: string; background: string; surface: string; text: string; textSecondary: string; border: string; hover: string; focus: string; disabled: string; selected: string; selectedText: string; }; typography: { fontFamily: string; fontSize: { xs: string; sm: string; base: string; lg: string; xl: string; "2xl": string; }; fontWeight: { light: string; normal: string; medium: string; semibold: string; bold: string; }; lineHeight: { tight: string; normal: string; relaxed: string; }; }; spacing: { xs: string; sm: string; md: string; lg: string; xl: string; }; transition: { fast: string; normal: string; slow: string; }; }; }; type TransactionResult = { id: string; type: string; status: "success" | "error"; data?: any; error?: string; timestamp: number; }; interface OdosToken { name: string; symbol: string; decimals: number; assetId: string; assetType: string; protocolId: string; isRebasing: boolean; } type OdosTokenMap = Record; type LifiChainData = { key: string; chainType: string; name: string; coin: string; id: number; mainnet: boolean; logoURI: string; tokenlistUrl: string; multicallAddress: string; metamask: { chainId: string; blockExplorerUrls: string[]; chainName: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: string[]; }; nativeToken: { address: string; chainId: number; symbol: string; decimals: number; name: string; coinKey: string; logoURI: string; priceUSD: string; }; diamondAddress: string; }; type LiFiToken = { address: string; chainId: number; coinKey: string; decimals: number; logoURI: string; name: string; priceUSD: string; symbol: string; }; type LiFiTokenMap = Record; type Theme = AuthModalConfig["theming"] & {}; declare const defaultTheme: Theme; type AuthModalProps = { children: React.ReactNode; config: AuthModalConfig; }; declare const AuthModal: React.FC; interface ModalProps$1 { children: React.ReactNode; config: AuthModalConfig; isSignup?: boolean; } interface ModalOverlayProps { config: AuthModalConfig; onClick: () => void; } declare const AuthModalOverlay: ({ onClick, config }: ModalOverlayProps) => react_jsx_runtime.JSX.Element; declare const AuthModalContent: ({ children, config, isSignup, }: ModalProps$1) => react_jsx_runtime.JSX.Element; /** * Props for the AuthOptions component. * * @interface AuthOptionsProps * @property {AuthModalConfig} config - Configuration for the authentication modal. * @property {Function} onConnectWallet - Callback function to handle wallet connection. * @property {Function} onSignupEmail - Callback function to handle email signup. */ interface AuthOptionsProps { config: AuthModalConfig; onConnectWallet: any; onSignupEmail: any; } /** * AuthOptions component renders various authentication options based on the provided configuration. * * @param {AuthOptionsProps} props - The properties for the AuthOptions component. * @param {object} props.config - Configuration object for the authentication options. * @param {function} props.onConnectWallet - Callback function to handle wallet connection. * @param {function} props.onSignupEmail - Callback function to handle email signup. * * @returns {JSX.Element} The rendered AuthOptions component. * * @component * @example * const config = { * appearance: { modal: { padding: '4' } }, * socialLogins: ['google', 'facebook'], * walletConnectEnabled: true, * anonymousLoginEnabled: true, * }; * const handleConnectWallet = () => { ... }; * const handleSignupEmail = () => { ... }; * * */ declare const AuthOptions: ({ config, onConnectWallet, onSignupEmail, }: AuthOptionsProps) => react_jsx_runtime.JSX.Element; /** * Props for the EmailLogin component. * * @interface EmailLoginProps * @property {AuthModalConfig} config - Configuration object for the authentication modal. */ interface EmailLoginProps { config: AuthModalConfig; } /** * EmailLogin component allows users to log in using their email and password. * * @param {EmailLoginProps} props - The properties for the EmailLogin component. * @param {object} props.config - Configuration object for the component. * * @returns {JSX.Element} The rendered EmailLogin component. * * @component * * @example * return ( * * ); * * @remarks * This component uses the `useMoonSDK` and `useAuth` hooks to handle authentication. * It manages its own state for email, password, and error messages. * * @function * @name EmailLogin */ declare const EmailLogin: ({ config }: EmailLoginProps) => react_jsx_runtime.JSX.Element; /** * SignInAnonymously component allows users to sign in anonymously. * * This component renders a button that, when clicked, triggers the * `signInAnonymously` function from the `useAuth` hook to sign in the user * without requiring any credentials. * * @returns {JSX.Element} A button element that initiates anonymous sign-in. */ declare function SignInAnonymously(): react_jsx_runtime.JSX.Element; /** * Props for the SignupForm component. * * @interface SignupFormProps * @property {AuthModalConfig} config - Configuration object for the authentication modal. * @property {Function} onSuccess - Callback function to be called upon successful signup. * @property {Function} onCancel - Callback function to be called when the signup process is cancelled. */ interface SignupFormProps { config: AuthModalConfig; onSuccess: any; onCancel: any; } /** * SignupForm component handles the user sign-up process. * * @param {Object} props - The properties object. * @param {Function} props.onSuccess - Callback function to be called upon successful sign-up. * @param {Function} props.onCancel - Callback function to be called when the user cancels the sign-up process. * @param {Object} props.config - Configuration object for the sign-up form appearance and behavior. * * @returns {JSX.Element} The rendered sign-up form component. * * @component * @example * const handleSuccess = () => { console.log('Sign-up successful'); }; * const handleCancel = () => { console.log('Sign-up cancelled'); }; * const config = { appearance: { modal: { padding: '4' }, input: { placeholders: { email: 'Enter your email', password: 'Enter your password' } } } }; * * */ declare const SignupForm: ({ onSuccess, onCancel, config, }: SignupFormProps) => react_jsx_runtime.JSX.Element; /** * Props for the SocialLogins component. * * @interface SocialLoginsProps * @property {SocialLoginsType} socialLogins - An object containing the social login options. */ interface SocialLoginsProps { socialLogins: SocialOptionArray; } /** * SocialLogins component renders social login buttons and handles OAuth2 authentication flow. * * @param {SocialLoginsProps} props - The properties for the SocialLogins component. * @param {SocialOption[]} props.socialLogins - An array of social login providers to display. * * @returns {JSX.Element} The rendered social login buttons. * * @example * * * @remarks * This component uses the `useOAuth2` hook to initiate and handle OAuth2 authentication. * It stores the selected provider in localStorage and processes the OAuth callback. * * @component */ declare function SocialLogins({ socialLogins }: SocialLoginsProps): react_jsx_runtime.JSX.Element; /** * Props for the WalletConnectorList component. * * @interface WalletConnectorsListProps * @property {Function} onBack - Callback function to handle the back action. */ interface WalletConnectorsListProps { onBack: any; } /** * WalletConnectorsList component renders a list of wallet connectors and allows the user to connect to a wallet. * * @param {WalletConnectorsListProps} props - The properties for the WalletConnectorsList component. * @param {function} props.onBack - Callback function to handle the back button click event. * * @returns {JSX.Element} The rendered WalletConnectorsList component. * * @example * console.log('Back button clicked')} /> * * @remarks * This component uses the `useConnect`, `useAccount`, `useSignMessage`, and `useConnectToMoon` hooks to manage wallet connections. * It filters out duplicate connectors and displays a list of unique connectors. * When a connector is clicked, it triggers the `handleConnect` function to initiate the connection process. * If the user is already connected, it automatically calls `connectToMoonSiwe`. */ declare const WalletConnectorsList: ({ onBack }: WalletConnectorsListProps) => react_jsx_runtime.JSX.Element; /** * WebAuthnComponent is a React functional component that provides * user authentication and registration using WebAuthn. * * @component * @example * return ( * * ) * * @returns {JSX.Element} The rendered component. * * @remarks * This component uses the `useAuth` hook to handle WebAuthn operations * such as initiating and completing login and registration. It also * utilizes the `useTheme` hook to apply theming styles. * * @function * @name WebAuthnComponent * * @hook * @name useAuth * @description Provides methods for WebAuthn operations. * * @hook * @name useTheme * @description Provides theming properties for styling the component. * * @state {string} email - The email input value. * * @async * @function * @name handleLogin * @description Initiates and completes the login process using WebAuthn. * * @async * @function * @name handleRegister * @description Initiates and completes the registration process using WebAuthn. */ declare const WebAuthnComponent: React.FC; type ChatBotProps = { className?: string; containerProps?: React.HTMLAttributes; messageBoxProps?: React.HTMLAttributes; inputProps?: React.InputHTMLAttributes; sendButtonProps?: React.ButtonHTMLAttributes; clearButtonProps?: React.HTMLAttributes; }; declare const ChatBot: React.FC; /** * Props for the ERC20AllowanceDisplay component. * * @interface ERC20AllowanceDisplayProps * @property {string} owner - The address of the token owner. * @property {string} spender - The address of the spender. * @property {string} tokenAddress - The address of the ERC20 token contract. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class for styling the component. */ interface ERC20AllowanceDisplayProps { owner: string; spender: string; tokenAddress: string; chainId: string; className?: string; } /** * ERC20AllowanceDisplay is a React functional component that displays the allowance of an ERC20 token. * It fetches the allowance for a given owner and spender from the blockchain and displays it. * * @component * @param {ERC20AllowanceDisplayProps} props - The properties for the component. * @param {string} props.owner - The address of the token owner. * @param {string} props.spender - The address of the spender. * @param {string} props.tokenAddress - The address of the ERC20 token contract. * @param {number} props.chainId - The ID of the blockchain network. * @param {string} [props.className] - Optional additional CSS class names to apply to the component. * * @returns {JSX.Element} The rendered component displaying the allowance. */ declare const ERC20AllowanceDisplay: React.FC; /** * Props for the ERC20ApprovalButton component. * * @interface ERC20ApprovalButtonProps * @property {string} owner - The address of the token owner. * @property {string} spender - The address of the spender. * @property {string} tokenAddress - The address of the ERC20 token contract. * @property {number} amount - The amount of tokens to approve. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class for styling the button. */ interface ERC20ApprovalButtonProps { owner: string; spender: string; tokenAddress: string; amount: number; chainId: string; className?: string; } /** * ERC20ApprovalButton component allows users to approve a token spend for a specified ERC20 token. * * @component * @param {ERC20ApprovalButtonProps} props - The properties for the ERC20ApprovalButton component. * @param {string} props.owner - The address of the token owner. * @param {string} props.spender - The address of the spender who is being approved to spend the tokens. * @param {string} props.tokenAddress - The address of the ERC20 token contract. * @param {string} props.amount - The amount of tokens to approve for spending. * @param {number} props.chainId - The ID of the blockchain network. * @param {string} [props.className] - Optional CSS class name to apply to the button. * * @returns {JSX.Element} A button that, when clicked, triggers the approval of token spend. * * @example * */ declare const ERC20ApprovalButton: React.FC; /** * Props for the ERC20BalanceDisplay component. * * @interface ERC20BalanceDisplayProps * @property {string} account - The account address to display the balance for. * @property {string} tokenAddress - The address of the ERC20 token contract. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class name for styling the component. */ interface ERC20BalanceDisplayProps { account: string; tokenAddress: string; chainId: string; className?: string; } /** * ERC20BalanceDisplay is a React functional component that displays the balance of an ERC20 token for a given account. * * @param {ERC20BalanceDisplayProps} props - The properties for the component. * @param {string} props.account - The account address to fetch the balance for. * @param {string} props.tokenAddress - The address of the ERC20 token contract. * @param {number} props.chainId - The chain ID of the blockchain network. * @param {string} [props.className] - Optional additional class names for styling the component. * * @returns {JSX.Element} The rendered component displaying the ERC20 token balance. * * @example * ```tsx * * ``` */ declare const ERC20BalanceDisplay: React.FC; /** * Props for the ERC20TokenInfo component. * * @interface ERC20TokenInfoProps * @property {string} tokenAddress - The address of the ERC20 token. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class for styling. */ interface ERC20TokenInfoProps { tokenAddress: string; chainId: string; className?: string; } /** * ERC20TokenInfo component fetches and displays information about an ERC20 token. * * @component * @param {ERC20TokenInfoProps} props - The properties for the component. * @param {string} props.tokenAddress - The address of the ERC20 token. * @param {number} props.chainId - The chain ID where the token is deployed. * @param {string} [props.className] - Optional additional class names for styling. * * @returns {JSX.Element} A React component that displays the token's name, symbol, and decimals. * * @example * ```tsx * * ``` */ declare const ERC20TokenInfo: React.FC; /** * Props for the ERC20TotalSupplyDisplay component. * * @interface ERC20TotalSupplyDisplayProps * @property {string} tokenAddress - The address of the ERC20 token. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class name for styling. */ interface ERC20TotalSupplyDisplayProps { tokenAddress: string; chainId: string; className?: string; } /** * ERC20TotalSupplyDisplay is a React functional component that displays the total supply of an ERC20 token. * It fetches the total supply using the `getTotalSupplyErc20` function from the `useErc20` hook. * The total supply is fetched based on the provided `tokenAddress` and `chainId` props. * * @component * @param {ERC20TotalSupplyDisplayProps} props - The properties for the component. * @param {string} props.tokenAddress - The address of the ERC20 token. * @param {number} props.chainId - The chain ID of the blockchain network. * @param {string} [props.className] - Additional CSS classes to apply to the component. * * @example * * * @returns {JSX.Element} The rendered component displaying the total supply of the ERC20 token. */ declare const ERC20TotalSupplyDisplay: React.FC; /** * Props for the ERC20TransferForm component. * * @interface ERC20TransferFormProps * @property {string} accountName - The name of the account initiating the transfer. * @property {string} tokenAddress - The address of the ERC20 token contract. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class for custom styling. */ interface ERC20TransferFormProps { accountName: string; tokenAddress: string; chainId: string; className?: string; } /** * ERC20TransferForm is a React functional component that renders a form for transferring ERC20 tokens. * * @param {ERC20TransferFormProps} props - The properties for the ERC20TransferForm component. * @param {string} props.accountName - The name of the account initiating the transfer. * @param {string} props.tokenAddress - The address of the ERC20 token contract. * @param {number} props.chainId - The ID of the blockchain network. * @param {string} [props.className] - Optional additional class names for styling the form. * * @returns {JSX.Element} The rendered ERC20 transfer form component. * * @example * ```tsx * * ``` */ declare const ERC20TransferForm: React.FC; /** * Props for the ERC721ApprovedDisplay component. * * @interface ERC721ApprovedDisplayProps * * @property {string} tokenId - The ID of the token to display. * @property {string} tokenAddress - The address of the token contract. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class name for styling the component. */ interface ERC721ApprovedDisplayProps { tokenId: string; tokenAddress: string; chainId: string; className?: string; } /** * ERC721ApprovedDisplay component fetches and displays the approved address for a given ERC721 token. * * @component * @param {ERC721ApprovedDisplayProps} props - The properties for the component. * @param {string} props.tokenId - The ID of the ERC721 token. * @param {string} props.tokenAddress - The address of the ERC721 token contract. * @param {number} props.chainId - The ID of the blockchain network. * @param {string} [props.className] - Additional CSS classes to apply to the component. * * @returns {JSX.Element} The rendered component displaying the approved address. * * @example * */ declare const ERC721ApprovedDisplay: React.FC; /** * Props for the ERC721BalanceDisplay component. * * @interface ERC721BalanceDisplayProps * @property {string} account - The account address to check the balance for. * @property {string} tokenAddress - The address of the ERC721 token contract. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class name for styling the component. */ interface ERC721BalanceDisplayProps { account: string; tokenAddress: string; chainId: string; className?: string; } /** * ERC721BalanceDisplay component displays the balance of ERC721 tokens for a given account. * * @component * @param {ERC721BalanceDisplayProps} props - The properties for the component. * @param {string} props.account - The account address to fetch the balance for. * @param {string} props.tokenAddress - The address of the ERC721 token contract. * @param {number} props.chainId - The chain ID of the blockchain network. * @param {string} [props.className] - Additional CSS classes to apply to the component. * * @returns {React.FC} A React functional component that displays the ERC721 token balance. * * @example * */ declare const ERC721BalanceDisplay: React.FC; /** * Props for the ERC721IsApprovedForAllDisplay component. * * @interface ERC721IsApprovedForAllDisplayProps * * @property {string} owner - The address of the owner of the ERC721 tokens. * @property {string} operator - The address of the operator to check approval status for. * @property {string} tokenAddress - The address of the ERC721 token contract. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class name to apply to the component. */ interface ERC721IsApprovedForAllDisplayProps { owner: string; operator: string; tokenAddress: string; chainId: string; className?: string; } /** * ERC721IsApprovedForAllDisplay component displays the approval status of an ERC721 token. * * @component * @param {ERC721IsApprovedForAllDisplayProps} props - The properties for the component. * @param {string} props.owner - The address of the owner of the ERC721 token. * @param {string} props.operator - The address of the operator to check approval status for. * @param {string} props.tokenAddress - The address of the ERC721 token contract. * @param {number} props.chainId - The chain ID of the blockchain network. * @param {string} [props.className] - Additional CSS classes to apply to the component. * * @returns {JSX.Element} The rendered component displaying the approval status. * * @example * */ declare const ERC721IsApprovedForAllDisplay: React.FC; /** * Props for the ERC721NameDisplay component. * * @property tokenAddress - The address of the ERC721 token contract. * @property chainId - The ID of the blockchain network. * @property className - Optional CSS class name for styling the component. */ interface ERC721NameDisplayProps { tokenAddress: string; chainId: string; className?: string; } /** * ERC721NameDisplay component displays the name of an ERC721 token. * * @component * @param {ERC721NameDisplayProps} props - The properties for the component. * @param {string} props.tokenAddress - The address of the ERC721 token. * @param {number} props.chainId - The chain ID where the token is deployed. * @param {string} [props.className] - Additional CSS classes to apply to the component. * * @returns {React.FC} A React functional component that displays the ERC721 token name. * * @example * */ declare const ERC721NameDisplay: React.FC; /** * Props for the ERC721OwnerDisplay component. * * @property {string} tokenId - The ID of the token. * @property {string} tokenAddress - The address of the token contract. * @property {string} chainId - The ID of the blockchain network. * @property {string} [className] - Optional CSS class name for styling. */ interface ERC721OwnerDisplayProps { tokenId: string; tokenAddress: string; chainId: string; className?: string; } /** * ERC721OwnerDisplay component displays the owner of an ERC721 token. * * @component * @param {ERC721OwnerDisplayProps} props - The properties for the component. * @param {string} props.tokenId - The ID of the ERC721 token. * @param {string} props.tokenAddress - The address of the ERC721 token contract. * @param {number} props.chainId - The ID of the blockchain network. * @param {string} [props.className] - Additional CSS classes to apply to the component. * * @returns {React.FC} A React functional component that displays the owner of the specified ERC721 token. * * @example * */ declare const ERC721OwnerDisplay: React.FC; /** * Props for the ERC721SymbolDisplay component. * * @property tokenAddress - The address of the ERC721 token. * @property chainId - The ID of the blockchain network. * @property className - Optional CSS class name for styling. */ interface ERC721SymbolDisplayProps { tokenAddress: string; chainId: string; className?: string; } /** * ERC721SymbolDisplay is a React functional component that displays the symbol of an ERC721 token. * It fetches the symbol using the `getErc721Symbol` function from the `useErc721` hook. * * @component * @param {ERC721SymbolDisplayProps} props - The properties passed to the component. * @param {string} props.tokenAddress - The address of the ERC721 token. * @param {number} props.chainId - The chain ID where the token resides. * @param {string} [props.className] - Additional CSS classes to apply to the component. * * @returns {JSX.Element} A motion.div element that displays the ERC721 token symbol. * * @example * ```tsx * * ``` */ declare const ERC721SymbolDisplay: React.FC; type ButtonProps = { color?: keyof Theme; variant?: 'filled' | 'outlined' | 'text'; } & React.ButtonHTMLAttributes; declare const Button: React.FC; type InputProps = { label?: string; } & React.InputHTMLAttributes; declare function Input({ label, ...rest }: InputProps): react_jsx_runtime.JSX.Element; type ModalProps = { isOpen: boolean; toggleModal: (e?: any) => void; children: React.ReactNode; overlayProps?: React.HTMLAttributes; modalProps?: React.HTMLAttributes; }; declare const Modal: React.FC; interface DropdownProps { trigger: React.ReactNode; children: React.ReactNode; align?: 'start' | 'center' | 'end'; side?: 'top' | 'right' | 'bottom' | 'left'; sideOffset?: number; className?: string; } declare const Dropdown: React.FC; declare const DropdownItem: React.ForwardRefExoticComponent>; interface TooltipProps { content: React.ReactNode; children: React.ReactNode; } declare const Tooltip: React.FC; interface Notification { id: number; text: string; sender_id: number | null; receiver_id: number; read: boolean; created_at: string; } declare const NotificationComponent: () => react_jsx_runtime.JSX.Element; type LifiTokenSelectorModalProps = { initialTokenAddress?: string | undefined; initialTokenChain?: string | undefined; onSelect: (tokenAddress: string) => void; title?: string; headerProps?: React.HTMLAttributes; buttonProps?: React.ButtonHTMLAttributes; inputProps?: InputProps; listProps?: React.HTMLAttributes; listItemProps?: React.HTMLAttributes; }; declare const LifiTokenSelectorModal: React.FC; type LifiChainSelectorModalProps = { initialChainKey?: string; onSelect: (tokenAddress: string) => void; title?: string; headerProps?: React.HTMLAttributes; buttonProps?: React.ButtonHTMLAttributes; inputProps?: InputProps; listProps?: React.HTMLAttributes; listItemProps?: React.HTMLAttributes; }; declare const LifiChainSelectorModal: React.FC; declare const LifiBridge: React.FC; type OdosTokenSelectorProps$1 = { initialTokenAddress?: string; selectProps?: React.SelectHTMLAttributes; optionProps?: React.OptionHTMLAttributes; }; declare const OdosTokenSelector: ({ initialTokenAddress, selectProps, optionProps, }: OdosTokenSelectorProps$1) => react_jsx_runtime.JSX.Element; type OdosTokenSelectorProps = { initialTokenAddress?: string; onSelect: (tokenAddress: string) => void; title?: string; headerProps?: React.HTMLAttributes; buttonProps?: React.ButtonHTMLAttributes; inputProps?: InputProps; listProps?: React.HTMLAttributes; listItemProps?: React.HTMLAttributes; }; declare const OdosTokenSelectorModal: React.FC; declare const converyGasTokenAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; type ButtonStatus = "Estimate" | "Estimating..." | "Swapping..." | "Swap" | "Insufficient Balance"; declare const SwapInterface: React.FC; declare const OdosSwap: () => react_jsx_runtime.JSX.Element; declare const ThorswapSwap: () => null; type AnyTokenSelectorModalProps = { initialTokenAddress?: string | undefined; initialTokenChain?: string | undefined; onSelect: (tokenAddress: string) => void; title?: string; headerProps?: React.HTMLAttributes; buttonProps?: React.ButtonHTMLAttributes; inputProps?: InputProps; listProps?: React.HTMLAttributes; listItemProps?: React.HTMLAttributes; }; type AnyToken = { address: string; chainId: string; name: string; symbol: string; type: "ERC20" | "ETH" | "ERC721" | "ERC1155"; decimals: number; price?: string; }; declare const AnyTokenSelectorModal: React.FC; type ChainSelectorProps$1 = { selectProps?: React.SelectHTMLAttributes; optionProps?: React.OptionHTMLAttributes; }; declare const ChainSelector: ({ selectProps, optionProps, }: ChainSelectorProps$1) => react_jsx_runtime.JSX.Element; type ChainSelectorProps = { chainIdFilterList?: number[]; title?: string; headerProps?: React.HTMLAttributes; buttonProps?: React.ButtonHTMLAttributes; inputProps?: InputProps; listProps?: React.HTMLAttributes; listItemProps?: React.HTMLAttributes; modalProps?: React.HTMLAttributes; controlSelectedChain?: boolean; onChange?: (e: any) => void; }; declare const ChainSelectorModal: React.FC; type ChainSelectionModalProps = { chainIdFilterList?: number[]; title?: string; onChange?: (e: any) => void; }; declare const ChainSelectionModal: React.FC; type TokenInfoModalProps = { isOpen: boolean; toggleModal: () => void; cgTokenId: string; }; declare const TokenInfoModal: React.FC; type DbTokenPrice = { id: string; created_at: string; price: number; updated_at: string; }; type DbWalletAlias = { address: string; user_id: string; alias: string; created_at: string; updated_at: string; }; interface DBAdapterBase { getTokens(): Promise; addToken(token: UserToken): Promise; updateToken(token: UserToken): Promise; removeToken(address: string): Promise; getTokenPrice(tokenId: string): Promise; saveTokenPrice(tokenId: string, price: number): Promise; getUserWalletAliases(): Promise; upsertWalletAlias(alias: string, address: string): Promise; } declare class LocalStorageAdapter implements DBAdapterBase { private storageKey; getTokens(): Promise; addToken(token: UserToken): Promise; removeToken(address: string): Promise; getTokenPrice(tokenId: string): Promise; saveTokenPrice(tokenId: string, price: number): Promise; updateToken(token: UserToken): Promise; getUserWalletAliases(): Promise; upsertWalletAlias(alias: string, address: string): Promise; } type DbToken = { id?: string; user_id: string; name: string; symbol: string; coin_gecko_id: string; decimals: number; address: string; chain_id: number; logo_uri: string; type: string; }; declare class SupabaseAdapter implements DBAdapterBase { private supabase; constructor(supabase: SupabaseClient); getUserId(): Promise; getUserWalletAliases(): Promise; upsertWalletAlias(alias: string, address: string): Promise; getOneUserDbToken(userId: string, contractAddress: string, chainId: number): Promise; getTokens(): Promise; updateToken(token: UserToken): Promise; addToken(token: UserToken): Promise; removeToken(address: string): Promise; getTokenPrice(tokenId: string): Promise; saveTokenPrice(tokenId: string, price: number): Promise; } type TokenContextMenuProps = { onRemove: () => void; onSend: () => void; onEdit: () => void; onInfo: () => void; onClose: () => void; }; declare const TokenContextMenu: React.FC; type UserToken = { type: 'erc20' | 'erc721' | 'erc1155' | 'native' | string; name: string; symbol: string; coinGeckoId: string; decimals: number; address: string; chainId: number; balance?: string; icon?: string; platforms?: { [key: string]: string; }; price?: number; isGasToken?: boolean; wallet?: string; }; type TokenListItemProps = { token: UserToken; onDotsClick: () => void; }; declare const TokenListItem: React.FC; type TokenModalProps = { isEditing: boolean; isOpen: boolean; toggleModal: () => void; tokenInfo: any; cgToken: string; setCgToken: (value: string) => void; autocompleteOptions: any[]; showAutocomplete: boolean; handleAutocompleteChange: (e: React.ChangeEvent) => void; handleAutocompleteSelect: (token: any) => void; platforms: { [key: string]: string; }; selectedPlatform: string; handlePlatformChange: (e: React.ChangeEvent) => void; newToken: UserToken; setNewToken: (token: UserToken) => void; handleAddToken: () => void; handleUpdateToken: () => void; }; declare const TokenModal: React.FC; declare const UserTokenManager: React.FC; type TransactionFormProps = { formProps?: React.FormHTMLAttributes; inputProps?: React.InputHTMLAttributes; buttonProps?: React.ButtonHTMLAttributes; }; declare const TransactionForm: React.FC; interface TransactionReceiptProps { txHash: string; from: string; to: string; value: string; gasUsed: string; blockNumber: number; status: 'success' | 'failure' | 'pending'; timestamp: number; containerProps?: React.HTMLAttributes; headerProps?: React.HTMLAttributes; contentProps?: React.HTMLAttributes; rowProps?: React.HTMLAttributes; labelProps?: React.HTMLAttributes; valueProps?: React.HTMLAttributes; statusProps?: React.HTMLAttributes; } declare const TransactionReceipt: React.FC; interface TransactionProps { wallet: string; transaction: InputBody$1; autoExecute?: boolean; isModal?: boolean; onSuccess?: (receipt: any) => void; onError?: (error: string) => void; } declare const Transaction: React.FC; type WalletSelectorProps$1 = { selectProps?: React.SelectHTMLAttributes; optionProps?: React.OptionHTMLAttributes; }; declare const WalletSelector: ({ selectProps, optionProps, }: WalletSelectorProps$1) => react_jsx_runtime.JSX.Element; /** * Wallet Selector Modal * Reusable component to select a wallet from a list of moon wallets associated with the moon account. * Default behavior will set the selected moon wallet when a wallet is selected. * controlSelectedWallet prop can be set to false to disable this behavior. */ type WalletSelectorProps = { title?: string; headerProps?: React.HTMLAttributes; buttonProps?: React.ButtonHTMLAttributes; inputProps?: InputProps; listProps?: React.HTMLAttributes; listItemProps?: React.HTMLAttributes; modalProps?: React.HTMLAttributes; customButtonContent?: React.ReactNode; onChange?: (e: any) => void; controlSelectedWallet?: boolean; }; declare const WalletSelectorModal: ({ title, headerProps, buttonProps, inputProps, listProps, listItemProps, modalProps, customButtonContent, onChange, controlSelectedWallet, }: WalletSelectorProps) => react_jsx_runtime.JSX.Element; interface AccountSelectorProps { onAccountSelect: (account: string) => void; className?: string; } declare const AccountSelector: React.FC; declare const DEFAULT_AUTH_CONFIG: AuthModalConfig; declare const useTheme: () => { accentColor: string; successColor: string; errorColor: string; infoColor: string; warningColor: string; backgroundColor: string; backgroundColorSecondary: string; textColor: string; textColorSecondary: string; buttonColor: string; buttonColorSecondary: string; fontFamily: string; borderRadius: string; boxShadow: string; colors: { primary: string; secondary: string; background: string; surface: string; text: string; textSecondary: string; border: string; hover: string; focus: string; disabled: string; selected: string; selectedText: string; }; typography: { fontFamily: string; fontSize: { xs: string; sm: string; base: string; lg: string; xl: string; "2xl": string; }; fontWeight: { light: string; normal: string; medium: string; semibold: string; bold: string; }; lineHeight: { tight: string; normal: string; relaxed: string; }; }; spacing: { xs: string; sm: string; md: string; lg: string; xl: string; }; transition: { fast: string; normal: string; slow: string; }; }; /** * ThemeProvider component that provides a theme context to its children. * * @param {Object} props - The properties object. * @param {Theme} props.theme - The theme object to be provided to the context. * @param {React.ReactNode} props.children - The child components that will receive the theme context. * * @returns {JSX.Element} The ThemeProvider component with the provided theme context. */ declare const ThemeProvider: React.FC<{ theme: Theme; children: React.ReactNode; }>; interface MoonAuthContextType { session: Session | null; user: User | null; signOut: () => Promise; supabaseClient: SupabaseClient; moon: MoonSDK | null; isAuthenticated: boolean; isLoading: boolean; connect: (accessToken?: string, refreshToken?: string) => Promise; disconnect: () => Promise; } declare const MoonAuthContext: React.Context; type MoonAuthProviderProps = { sdkConfig?: MoonSDKConfig; children: React.ReactNode; }; declare const MoonAuthProvider: ({ children, sdkConfig, }: MoonAuthProviderProps) => react_jsx_runtime.JSX.Element; declare const useMoonAuth: () => MoonAuthContextType; type GlobalStateProviderProps = { children: ReactNode; sdkConfig?: MoonSDKConfig; authConfig?: AuthModalConfig; }; declare const GlobalStateProvider: React.FC; declare const config: Config; type WagmiWrapperProps = { children: ReactNode; }; declare const WagmiWrapper: React.FC; type State = { moon: MoonSDK | null; dbAdapter: DBAdapterBase; authConfig: AuthModalConfig; connect: (accessToken?: string, refreshToken?: string) => Promise; disconnect: () => Promise; isAuthenticated: boolean; session: AuthSession | null; setIsAuthenticated: (value: boolean) => void; setSession: (session: AuthSession | null) => void; supabase: SupabaseClient | null; wallets: string[]; aliases: DbWalletAlias[]; chains: Chains[]; chain: Chains | null; loading: boolean; wallet?: string; chatOpen: boolean; transactionHistory: TransactionResult[]; signOut: () => Promise; createWallet: () => Promise; listWallets: () => Promise; fetchAliases: () => Promise; setWallet: (wallet: string) => Promise; getUserSession: () => Promise; connectEthers: () => Promise; disconnectEthers: () => Promise; request: (args: any) => Promise; listChains: () => Promise; setChain: (chain: Chains) => Promise; setChatOpen: (isOpen: boolean) => Promise; addTransactionResult: (result: TransactionResult) => void; }; declare const MoonSDKContext: React.Context; type MoonSDKProviderProps = { authConfig?: AuthModalConfig; children: ReactNode; }; declare const MoonSDKProvider: React.FC; /** * Custom hook to handle authentication using MoonSDK. * * @returns {object} - An object containing authentication methods and state. * * @throws {Error} - Throws an error if MoonSDK is not initialized. * * @property {boolean} isAuthenticated - State indicating if the user is authenticated. * @property {function} connect - Connects to the authentication service using access and refresh tokens. * @property {function} signUpWithEmail - Signs up a user using email and password. * @property {function} signInWithEmail - Signs in a user using email and password. * @property {function} signInAnonymously - Signs in a user anonymously. * @property {function} signInWithOAuth - Signs in a user using OAuth providers (google, github, discord). * @property {function} initiatePasskeyRegistration - Initiates passkey registration for a user. * @property {function} completePasskeyRegistration - Completes passkey registration for a user. * @property {function} initiatePasskeyLogin - Initiates passkey login for a user. * @property {function} completePasskeyLogin - Completes passkey login for a user. * @property {function} getSIWENonce - Retrieves a nonce for Sign-In with Ethereum (SIWE). * @property {function} verifySIWESignature - Verifies a SIWE signature. * @property {function} sendMagicLink - Sends a magic link to the user's email. * @property {function} getUserSession - Retrieves the current user session. * @property {function} logout - Logs out the current user. * @property {function} createEmbeddedAccount - Creates an embedded account for a user. * @property {function} getSession - Retrieves the current user session. */ declare const useAuth: () => { connect: (accessToken?: string, refreshToken?: string) => Promise; signUpWithEmail: (email: string, password: string) => Promise; signInWithEmail: (email: string, password: string) => Promise; signInAnonymously: () => Promise; signInWithOAuth: (provider: "google" | "github" | "discord") => Promise; initiatePasskeyRegistration: (email: string) => Promise; completePasskeyRegistration: (email: string, credential: RegistrationResponseJSON, options: PublicKeyCredentialCreationOptionsJSON) => Promise; initiatePasskeyLogin: (email: string) => Promise; completePasskeyLogin: (email: string, credential: AuthenticationResponseJSON) => Promise; getSIWENonce: (address: string) => Promise; verifySIWESignature: (address: string, signedMessage: string, nonce: string, message: SiweMessage) => Promise; sendMagicLink: (email: string, redirectTo: string) => Promise; getUserSession: () => Promise; logout: () => Promise; createEmbeddedAccount: (email: string, uuid: string, domain: string) => Promise; getSession: () => Promise; }; type OAuthProvider = 'discord' | 'github' | 'google' | 'twitter'; /** * Represents an OAuth token object. * * @interface OAuthToken * * @property {string} access_token - The access token provided by the OAuth provider. * @property {string} refresh_token - The refresh token provided by the OAuth provider. * @property {any} [key: string] - Any additional fields returned by the OAuth provider. */ interface OAuthToken { access_token: string; refresh_token: string; [key: string]: any; } /** * Represents an error that occurs during an OAuth2 authentication process. * * @interface OAuthError * @property {string} method - The method where the error occurred. * @property {Error} error - The error object containing details about the error. * @property {string} provider - The OAuth2 provider where the error occurred. */ interface OAuthError { method: string; error: Error; provider: string; } /** * Custom hook to handle OAuth2 authentication using MoonSDK. * * @returns {Object} An object containing various OAuth2 related methods and state. * @throws {Error} If MoonSDK is not initialized. * * @function * @name useOAuth2 * * @property {boolean} isAuthenticated - State indicating if the user is authenticated. * @property {function} initiateOAuth - Function to initiate OAuth process with a given provider. * @property {function} exchangeCodeForToken - Function to exchange authorization code for an OAuth token. * @property {function} performOAuth - Function to perform OAuth process with a given provider. * @property {function} handleOAuthCallback - Function to handle OAuth callback and retrieve session. * @property {function} getSession - Function to get the current user session. * @property {function} logout - Function to log out the user. */ declare const useOAuth2: () => { isAuthenticated: boolean; initiateOAuth: (provider: OAuthProvider) => void; exchangeCodeForToken: (provider: OAuthProvider, code: string) => Promise; performOAuth: (provider: OAuthProvider) => Promise; handleOAuthCallback: (provider: OAuthProvider, code: string) => Promise; getSession: () => Promise; logout: () => Promise; }; /** * Custom hook to interact with ERC-1155 contracts using the Moon SDK. * * @returns {Object} An object containing the following functions: * - `balanceOfErc1155`: A function to get the balance of an ERC-1155 token for a given account. * - `safeTransferFromErc1155`: A function to safely transfer an ERC-1155 token from one account to another. * * @throws {Error} If the Moon SDK is not initialized. * * @example * const { balanceOfErc1155, safeTransferFromErc1155 } = useErc1155(); * * // Get balance of ERC-1155 token * const balance = await balanceOfErc1155({ accountName: '0x123...', transaction: {...} }); * * // Transfer ERC-1155 token * const transaction = await safeTransferFromErc1155({ accountName: '0x123...', transaction: {...} }); */ declare const useErc1155: () => { balanceOfErc1155: (payload: { accountName: string; transaction: InputBody$1; }) => Promise<{ balance: string; }>; safeTransferFromErc1155: (payload: { accountName: string; transaction: InputBody$1; }) => Promise; }; /** * Custom hook to interact with ERC20 tokens using the Moon SDK. * * @returns {Object} An object containing various functions to interact with ERC20 tokens: * - `approveErc20`: Approves a spender to spend a specified amount of tokens on behalf of the owner. * - `transferErc20`: Transfers tokens from the owner's account to another account. * - `transferFromErc20`: Transfers tokens from one account to another on behalf of the owner. * - `balanceOfErc20`: Retrieves the balance of tokens for a specified account. * - `allowanceErc20`: Retrieves the allowance of tokens that a spender is allowed to spend on behalf of the owner. * - `approveTokenSpendIfNeeded`: Approves token spend if the current allowance is less than the specified amount. * - `getDecimalsErc20`: Retrieves the number of decimals used by the token. * - `getNameErc20`: Retrieves the name of the token. * - `getSymbolErc20`: Retrieves the symbol of the token. * - `getTotalSupplyErc20`: Retrieves the total supply of the token. */ declare const useErc20: () => { approveErc20: (payload: { accountName: string; transaction: ERC20InputBody; }) => Promise; transferErc20: (payload: { accountName: string; transaction: ERC20InputBody; }) => Promise; transferFromErc20: (payload: { accountName: string; transaction: ERC20InputBody; }) => Promise; balanceOfErc20: (payload: Erc20GetErc20TokenBalanceParams) => Promise<{ balance: string; }>; allowanceErc20: (payload: Erc20GetErc20TokenAllowanceParams) => Promise; approveTokenSpendIfNeeded: (owner: string, spender: string, tokenAddress: string, amountDecimal: number, chainId: string) => Promise; getDecimalsErc20: (payload: Erc20GetErc20TokenDecimalsParams) => Promise; getNameErc20: (payload: Erc20GetErc20TokenNameParams) => Promise; getSymbolErc20: (payload: Erc20GetErc20TokenSymbolParams) => Promise; getTotalSupplyErc20: (payload: Erc20GetErc20TokenTotalSupplyParams) => Promise; }; /** * Custom hook to interact with ERC-4626 contracts using the Moon SDK. * * @returns {Object} An object containing various methods to interact with ERC-4626 contracts: * - `approve`: Approves a specified address to spend tokens. * - `deposit`: Deposits tokens into the ERC-4626 contract. * - `getAllowance`: Retrieves the allowance of a specified address. * - `getAsset`: Retrieves asset information. * - `getBalanceOf`: Retrieves the balance of a specified address. * - `getConvertToAssets`: Converts shares to assets. * - `getConvertToShares`: Converts assets to shares. * - `getMaxDeposit`: Retrieves the maximum deposit amount. * - `getMaxMint`: Retrieves the maximum mint amount. * - `getMaxRedeem`: Retrieves the maximum redeem amount. * - `getMaxWithdraw`: Retrieves the maximum withdraw amount. * - `getPreviewDeposit`: Previews the deposit amount. * - `getPreviewMint`: Previews the mint amount. * - `getPreviewRedeem`: Previews the redeem amount. * - `getPreviewWithdraw`: Previews the withdraw amount. * - `getTotalAssets`: Retrieves the total assets. * - `getTotalSupply`: Retrieves the total supply. * - `mint`: Mints new tokens. * - `redeem`: Redeems tokens. * - `transfer`: Transfers tokens to a specified address. * - `transferFrom`: Transfers tokens from a specified address. * - `withdraw`: Withdraws tokens from the ERC-4626 contract. */ declare const useErc4626: () => { approve: (address: string, data: InputBody$1) => Promise; deposit: (address: string, data: InputBody$1) => Promise; getAllowance: (params: Erc4626GetErc4626AllowanceParams) => Promise; getAsset: (params: Erc4626GetErc4626AssetParams) => Promise; getBalanceOf: (params: Erc4626GetErc4626AssetParams) => Promise; getConvertToAssets: (params: Erc4626GetErc4626ConvertToAssetsParams) => Promise; getConvertToShares: (params: Erc4626GetErc4626ConvertToSharesParams) => Promise; getMaxDeposit: (params: Erc4626GetErc4626MaxDepositParams) => Promise; getMaxMint: (params: Erc4626GetErc4626MaxMintParams) => Promise; getMaxRedeem: (params: Erc4626GetErc4626MaxRedeemParams) => Promise; getMaxWithdraw: (params: Erc4626GetErc4626MaxWithdrawParams) => Promise; getPreviewDeposit: (params: Erc4626GetErc4626PreviewDepositParams) => Promise; getPreviewMint: (params: Erc4626GetErc4626PreviewMintParams) => Promise; getPreviewRedeem: (params: Erc4626GetErc4626PreviewRedeemParams) => Promise; getPreviewWithdraw: (params: Erc4626GetErc4626PreviewWithdrawParams) => Promise; getTotalAssets: (params: Erc4626GetErc4626TotalAssetsParams) => Promise; getTotalSupply: (params: Erc4626GetErc4626TotalSupplyParams) => Promise; mint: (address: string, data: InputBody$1) => Promise; redeem: (address: string, data: InputBody$1) => Promise; transfer: (address: string, data: InputBody$1) => Promise; transferFrom: (address: string, data: InputBody$1) => Promise; withdraw: (address: string, data: InputBody$1) => Promise; }; /** * Custom hook to interact with ERC-721 contracts using the Moon SDK. * * @returns {Object} An object containing various functions to interact with ERC-721 contracts: * - `approveErc721`: Approves an ERC-721 token for transfer. * - `getErc721Approved`: Checks if an ERC-721 token is approved for transfer. * - `getErc721BalanceOf`: Retrieves the balance of ERC-721 tokens for a given account. * - `getErc721IsApprovedForAll`: Checks if an operator is approved to manage all of the owner's assets. * - `getErc721Name`: Retrieves the name of the ERC-721 token. * - `getErc721OwnerOf`: Retrieves the owner of a specific ERC-721 token. * - `getErc721Symbol`: Retrieves the symbol of the ERC-721 token. * - `getErc721TokenUri`: Retrieves the URI of a specific ERC-721 token. * - `safeTransferFromErc721`: Safely transfers an ERC-721 token from one address to another. * - `safeTransferFromWithDataErc721`: Safely transfers an ERC-721 token with additional data. * - `setApprovalForAllErc721`: Sets or unsets the approval of a given operator to manage all of the caller's assets. * - `transferFromErc721`: Transfers an ERC-721 token from one address to another. */ declare const useErc721: () => { approveErc721: (payload: { address: string; transaction: InputBody$1; }) => Promise; getErc721Approved: (payload: { tokenId: string; address: string; chainId: string; }) => Promise; getErc721BalanceOf: (payload: { account: string; address: string; chainId: string; }) => Promise<{ balance: string; }>; getErc721IsApprovedForAll: (payload: { owner: string; operator: string; address: string; chainId: string; }) => Promise<{ isApproved: boolean; }>; getErc721Name: (payload: { address: string; chainId: string; }) => Promise<{ name: string; }>; getErc721OwnerOf: (payload: { tokenId: string; address: string; chainId: string; }) => Promise<{ owner: string; }>; getErc721Symbol: (payload: { address: string; chainId: string; }) => Promise<{ symbol: string; }>; getErc721TokenUri: (payload: { tokenId: string; address: string; chainId: string; }) => Promise<{ tokenUri: string; }>; safeTransferFromErc721: (payload: { address: string; transaction: InputBody$1; }) => Promise; safeTransferFromWithDataErc721: (payload: { address: string; transaction: InputBody$1; }) => Promise; setApprovalForAllErc721: (payload: { address: string; transaction: InputBody$1; }) => Promise; transferFromErc721: (payload: { address: string; transaction: InputBody$1; }) => Promise; }; type AaveConfigType = { [key: string]: { pool: string; poolAddressesProvider: string; poolAddressesProviderRegistry: string; aclManager?: string; poolConfigurator?: string; incentives?: string; poolDataProvider?: string; uiIncentiveDataProviderV3?: string; uiPoolDataProviderV3?: string; wrappedTokenGateway?: string; walletBalanceProvider?: string; aaveOracle?: string; treasury?: string; treasuryController?: string; liquiditySwitchAdapter?: string; repayWithCollateralAdapter?: string; debtSwitchAdapter?: string; withdrawSwitchAdapter?: string; pullRewardsTransferStrategy?: string; l2Encoder?: string; migrationContract?: string; }; }; declare const aaveConfig: AaveConfigType; /** * Custom hook to interact with the Aave protocol using the Moon SDK. * Provides various functions to supply, withdraw, borrow, repay, and manage rewards on the Aave platform. * * @returns {Object} An object containing various functions to interact with Aave: * - `supply`: Supplies assets to the Aave protocol. * - `withdraw`: Withdraws assets from the Aave protocol. * - `borrow`: Borrows assets from the Aave protocol. * - `repay`: Repays borrowed assets to the Aave protocol. * - `claimAllRewards`: Claims all rewards for a user. * - `claimRewardsOnBehalf`: Claims rewards on behalf of another user. * - `claimRewardsToSelf`: Claims rewards to the user's own account. * - `getRewardsByAsset`: Retrieves rewards by asset. * - `getRewardsData`: Retrieves rewards data. * - `getUserRewards`: Retrieves user rewards. * - `getAaveV3PoolAddress`: Retrieves the Aave V3 pool address for a given account and chain ID. * - `getAllATokens`: Retrieves all Aave tokens. * - `getUserAccountData`: Retrieves user account data. * - `getReserveData`: Retrieves reserve data. * - `getUserReservesData`: Retrieves user reserves data. * - `aaveConfig`: Configuration object for Aave. */ declare const useAave: () => { supply: (payload: { accountName: string; data: AavePoolInputBody; }) => Promise; withdraw: (payload: { accountName: string; data: AavePoolInputBody; }) => Promise; borrow: (payload: { accountName: string; data: AavePoolInputBody; }) => Promise; repay: (payload: { accountName: string; data: AavePoolInputBody; }) => Promise; claimAllRewards: (payload: { accountName: string; data: AAVEv3RewardsInputBody; }) => Promise; claimRewardsOnBehalf: (payload: { accountName: string; data: AAVEv3RewardsInputBody; }) => Promise; claimRewardsToSelf: (payload: { accountName: string; data: AAVEv3RewardsInputBody; }) => Promise; getRewardsByAsset: (payload: AavEv3RewardsGetRewardsByAssetParams) => Promise; getRewardsData: (payload: AavEv3RewardsGetRewardsDataParams) => Promise; getUserRewards: (payload: AavEv3RewardsGetUserRewardsParams) => Promise; getAaveV3PoolAddress: (accountName: string, chainId: string) => Promise; getAllATokens: (payload: Aavev3PoolAddressProviderRegistryGetAllATokensParams) => Promise; getUserAccountData: (payload: { account: string; chainId: string; }) => Promise; getReserveData: (payload: GetReservesDataParams) => Promise; getUserReservesData: (payload: AavEv3IncentiveDataProviderGetUserReservesDataParams) => Promise; getReservesData: (payload: GetReservesDataParams) => Promise; getFullReservesIncentiveData: (payload: AavEv3IncentiveDataProviderGetFullReservesDataParams) => Promise; aaveConfig: AaveConfigType; }; /** * Custom hook to interact with the Jupiter SDK within the Moon SDK context. * * @returns {Object} An object containing methods to interact with the Jupiter SDK: * - `getIndexedRouteMap`: Fetches the indexed route map based on the provided query parameters. * - `getProgramIdToLabel`: Retrieves a mapping of program IDs to their respective labels. * - `getQuote`: Obtains a quote for a given account and data payload. * - `getSwapInstructions`: Fetches swap instructions for a given account and data payload. * - `getTokens`: Retrieves a list of tokens available in the Jupiter SDK. * - `swap`: Executes a swap operation for a given account and data payload. */ declare const useJupiter: () => { getIndexedRouteMap: (query: JupiterGetIndexedRouteMapParams) => Promise; getProgramIdToLabel: () => Promise; getQuote: (payload: { accountName: string; data: OmitJupiterInputBodyAccountName; }) => Promise; getSwapInstructions: (payload: { accountName: string; data: OmitJupiterInputBodyAccountName; }) => Promise; getTokens: () => Promise; swap: (payload: { accountName: string; data: OmitJupiterInputBodyAccountName; }) => Promise; cancelLimitOrders: (payload: { accountName: string; data: JupiterCancelLimitOrdersPayload; }) => Promise; createLimitOrder: (payload: { accountName: string; data: CreateLimitOrderBody; }) => Promise; getOpenOrders: (query: JupiterGetOpenOrdersParams) => Promise; getOrderHistory: (query: JupiterGetOrderHistoryParams) => Promise; }; /** * Custom hook to interact with the Moon Lifi SDK. * * @returns {Object} An object containing various functions and queries to interact with the Lifi SDK. * * @property {Function} getStatus - Function to get the status of a transaction. * @property {Function} getQuoteLifi - Function to get a quote from Lifi. * @property {Function} postQuoteLifi - Function to post a quote to Lifi. * @property {Function} getSupportedTokens - Function to get supported tokens from Lifi. * @property {Function} getSupportedChains - Function to get supported chains from Lifi. * @property {Object} supportedTokensQuery - Query object to fetch supported tokens. * @property {Object} supportedChainsQuery - Query object to fetch supported chains. */ declare const useLifi: () => { getStatus: (payload: LifiGetStatusParams) => Promise; getQuoteLifi: (payload: LifiGetQuoteParams) => Promise; postQuoteLifi: (payload: LifiPostQuoteParams) => Promise; supportedTokensQuery: _tanstack_react_query.UseQueryResult; supportedChainsQuery: _tanstack_react_query.UseQueryResult; getTools: (payload: GetToolsParams) => Promise; getAllPossibleConnections: (payload: LifiGetAllPossibleConnectionsParams) => Promise; getConnections: (payload: LifiGetConnectionsParams) => Promise; getTokenDetails: (payload: LifiGetTokenDetailsParams) => Promise; getSupportedChains: () => Promise; getSupportedTokens: (payload: LifiGetQuoteParams) => Promise; }; /** * A custom hook that provides various functionalities for interacting with the Lynex SDK. * * @returns An object containing functions to interact with the Lynex SDK, including: * - `addLiquidity`: Adds liquidity to the Lynex protocol. * - `addLiquidityEth`: Adds liquidity to the ETH pool using the Lynex SDK. * - `approve`: Approves a transaction using the Lynex SDK. * - `burn`: Burns a Lynex NFT. * - `calculateOptimalVoteDistribution`: Calculates the optimal vote distribution using the Lynex SDK. * - `checkpoint`: Performs a checkpoint operation using the Lynex SDK. * - `checkpointDelegatee`: Checkpoints a delegatee using the Lynex SDK. * - `claim`: Claims an NFT using the Lynex SDK. * - `claimBribes`: Claims bribes for a given address using the Lynex SDK. * - `claimFees`: Claims fees for a given address using the Lynex SDK. * - `claimRewards`: Claims rewards for a given address using the Lynex SDK. * - `createDelegatedLockFor`: Creates a delegated lock for a given address and data. * - `createGauge`: Creates a gauge using the Lynex SDK. * - `createLock`: Creates a lock using the Lynex SDK. * - `createLockFor`: Creates a lock for a given address using the Lynex SDK. * - `delegate`: Delegates a transaction to the Lynex SDK. * - `delegateBySig`: Delegates by signature using the Lynex SDK. * - `distribute`: Distributes data to a specified address using the Lynex SDK. * - `getAmountOut`: Retrieves the output amount for a given set of parameters using the Lynex SDK. * - `getAmountsOut`: Retrieves the output amounts for a given set of input parameters using the Lynex SDK. * - `getApproved`: Retrieves the approved data using the Lynex SDK. * - `getAssetByAddress`: Retrieves asset information by its address using the Lynex SDK. * - `getAssets`: Fetches assets using the Lynex SDK. * - `getBalanceOf`: Retrieves the balance of a specified account using the Lynex SDK. * - `getBalanceOfNft`: Retrieves the balance of a specific NFT using the Lynex SDK. * - `getBalanceOfNftAt`: Retrieves the balance of an NFT at a specific point in time. * - `getDelegates`: Fetches delegate data using the Lynex SDK. * - `getFactory`: Retrieves factory data using the Lynex SDK. * - `getLastVoted`: Retrieves the last voted data using the Lynex SDK. * - `getLockDetails`: Retrieves lock details using the Lynex SDK. * - `getName`: Retrieves the name using the Lynex SDK. * - `getOwnerOf`: Retrieves the owner of a specified entity using the Lynex SDK. * - `getPastVotes`: Fetches past votes using the Lynex SDK. * - `getPoolByAddress`: Retrieves pool data by its address using the Lynex SDK. * - `getPools`: Fetches the pool data using the Lynex SDK. * - `getPoolsByType`: Fetches pools by the specified type using the Lynex SDK. * - `getPoolVoteLength`: Retrieves the length of the pool vote using the Lynex SDK. * - `getSymbol`: Fetches the symbol information using the Lynex SDK. * - `getTokenByIndex`: Retrieves a token by its index using the Lynex SDK. * - `getTokenOfOwnerByIndex`: Retrieves the token of an owner by index using the Lynex SDK. * - `getTokenUri`: Retrieves the token URI using the Lynex SDK. * - `getTopAprPools`: Fetches the top APR pools using the Lynex SDK. * - `getTotalNftsMinted`: Retrieves the total number of NFTs minted using the Lynex SDK. * - `getTotalSupply`: Retrieves the total supply using the Lynex SDK. * - `getTotalValueLocked`: Retrieves the total value locked (TVL) from the Lynex SDK. * - `getTotalWeight`: Retrieves the total weight using the Lynex SDK. * - `getVestedPayout`: Retrieves the vested payout data using the Lynex SDK. * - `getVestedPayoutAtTime`: Retrieves the vested payout at a specific time using the Lynex SDK. * - `getVestingPayout`: Retrieves the vesting payout data using the Lynex SDK. * - `getVestingPeriod`: Retrieves the vesting period data using the Lynex SDK. * - `getVotes`: Fetches votes data using the Lynex SDK. * - `getWeights`: Fetches weight data using the Lynex SDK. * - `getWeth`: Retrieves WETH (Wrapped Ether) using the Lynex SDK. * - `globalCheckpoint`: Executes a global checkpoint transaction using the Lynex SDK. * - `increaseLockAmount`: Increases the lock amount for a given address using the Lynex SDK. * - `increaseUnlockTime`: Increases the unlock time for a given address using the Lynex SDK. * - `isApprovedForAll`: Checks if the given parameters are approved for all using the Lynex SDK. * - `isGauge`: Determines if the given parameters correspond to a gauge using the Lynex SDK. * - `isWhitelisted`: Checks if the given parameters are whitelisted using the Lynex SDK. * - `killGauge`: Asynchronously kills a gauge using the Lynex SDK. * - `merge`: Merges data with the specified address using the Lynex SDK. * - `notifyRewardAmount`: Notifies the reward amount using the Lynex SDK. * - `poke`: Pokes a specified address with the provided data using the Lynex SDK. * - `reset`: Resets the Lynex voter data for a given address. * - `reviveGauge`: Revives a gauge for a given address using the Lynex SDK. * - `safeTransferFrom`: Safely transfers an NFT from one address to another using the Lynex SDK. * - `setApprovalForAll`: Sets approval for all NFTs for a given address. * - `setClaimApproval`: Sets the claim approval for a given address and data. * - `setClaimApprovalForAll`: Sets claim approval for all NFTs for a given address. * - `split`: Splits an NFT using the Lynex SDK. * - `swapExactEthForTokens`: Executes a swap of exact ETH for tokens using the Lynex SDK. * - `swapExactTokensForEth`: Swaps an exact amount of tokens for ETH using the Lynex SDK. * - `swapExactTokensForTokens`: Executes a token swap transaction using the Lynex SDK. * - `transferFrom`: Transfers an NFT from one address to another using the Lynex SDK. * - `unlockPermanent`: Unlocks a permanent feature for a given address using the Lynex SDK. * - `vote`: Asynchronously casts a vote using the Lynex SDK. * - `voteWithOptimalDistribution`: Votes with optimal distribution using the Lynex SDK. * - `whitelist`: Whitelists an address using the Lynex SDK. */ declare const useLynex: () => { addLiquidity: (address: string, data: LynexRouterInputBody) => Promise; addLiquidityEth: (address: string, data: LynexRouterInputBody) => Promise; approve: (address: string, data: LynexNFTInputBody) => Promise; burn: (address: string, data: LynexNFTInputBody) => Promise; calculateOptimalVoteDistribution: (params: CalculateOptimalVoteDistributionParams) => Promise; checkpoint: (address: string, data: LynexNFTInputBody) => Promise; checkpointDelegatee: (address: string, data: LynexNFTInputBody) => Promise; claim: (address: string, data: LynexNFTInputBody) => Promise; claimBribes: (address: string, data: LynexVoterInputBody) => Promise; claimFees: (address: string, data: LynexVoterInputBody) => Promise; claimRewards: (address: string, data: LynexVoterInputBody) => Promise; createDelegatedLockFor: (address: string, data: LynexNFTInputBody) => Promise; createGauge: (address: string, data: LynexVoterInputBody) => Promise; createLock: (address: string, data: LynexNFTInputBody) => Promise; createLockFor: (address: string, data: LynexNFTInputBody) => Promise; delegate: (address: string, data: LynexNFTInputBody) => Promise; delegateBySig: (address: string, data: LynexNFTInputBody) => Promise; distribute: (address: string, data: LynexVoterInputBody) => Promise; getAmountOut: (params: GetAmountOutParams) => Promise; getAmountsOut: (params: GetAmountsOutParams) => Promise; getApproved: (params: GetApprovedParams) => Promise; getAssetByAddress: (address: string) => Promise; getAssets: () => Promise; getBalanceOf: (params: GetBalanceOfParams) => Promise; getBalanceOfNft: (params: GetBalanceOfNftParams) => Promise; getBalanceOfNftAt: (params: GetBalanceOfNftAtParams) => Promise; getDelegates: (params: GetDelegatesParams) => Promise; getFactory: (params: GetFactoryParams) => Promise; getLastVoted: (params: GetLastVotedParams) => Promise; getLockDetails: (params: GetLockDetailsParams) => Promise; getName: (params: GetNameParams) => Promise<_moonup_moon_api.LynexNFTAPIResponseString>; getOwnerOf: (params: GetOwnerOfParams) => Promise; getPastVotes: (params: GetPastVotesParams) => Promise; getPoolByAddress: (address: string) => Promise; getPools: () => Promise; getPoolsByType: (type: string) => Promise; getPoolVoteLength: (params: GetPoolVoteLengthParams) => Promise; getSymbol: (params: GetSymbolParams) => Promise<_moonup_moon_api.LynexNFTAPIResponseString>; getTokenByIndex: (params: GetTokenByIndexParams) => Promise; getTokenOfOwnerByIndex: (params: GetTokenOfOwnerByIndexParams) => Promise; getTokenUri: (params: GetTokenUriParams) => Promise; getTopAprPools: (params: GetTopAprPoolsParams) => Promise; getTotalNftsMinted: (params: GetTotalNftsMintedParams) => Promise; getTotalSupply: (params: GetTotalSupplyParams4) => Promise; getTotalValueLocked: () => Promise; getTotalWeight: (params: GetTotalWeightParams) => Promise; getVestedPayout: (params: GetVestedPayoutParams) => Promise; getVestedPayoutAtTime: (params: GetVestedPayoutAtTimeParams) => Promise; getVestingPayout: (params: GetVestingPayoutParams) => Promise; getVestingPeriod: (params: GetVestingPeriodParams) => Promise; getVotes: (params: GetVotesParams) => Promise; getWeights: (params: GetWeightsParams) => Promise; getWeth: (params: GetWethParams2) => Promise; globalCheckpoint: (address: string, data: LynexNFTInputBody) => Promise; increaseLockAmount: (address: string, data: LynexNFTInputBody) => Promise; increaseUnlockTime: (address: string, data: LynexNFTInputBody) => Promise; isApprovedForAll: (params: IsApprovedForAllParams) => Promise<_moonup_moon_api.LynexNFTAPIResponseBoolean>; isGauge: (params: IsGaugeParams) => Promise; isWhitelisted: (params: IsWhitelistedParams) => Promise; killGauge: (address: string, data: LynexVoterInputBody) => Promise; merge: (address: string, data: LynexNFTInputBody) => Promise; notifyRewardAmount: (address: string, data: LynexVoterInputBody) => Promise; poke: (address: string, data: LynexVoterInputBody) => Promise; reset: (address: string, data: LynexVoterInputBody) => Promise; reviveGauge: (address: string, data: LynexVoterInputBody) => Promise; safeTransferFrom: (address: string, data: LynexNFTInputBody) => Promise; setApprovalForAll: (address: string, data: LynexNFTInputBody) => Promise; setClaimApproval: (address: string, data: LynexNFTInputBody) => Promise; setClaimApprovalForAll: (address: string, data: LynexNFTInputBody) => Promise; split: (address: string, data: LynexNFTInputBody) => Promise; swapExactEthForTokens: (address: string, data: LynexRouterInputBody) => Promise; swapExactTokensForEth: (address: string, data: LynexRouterInputBody) => Promise; swapExactTokensForTokens: (address: string, data: LynexRouterInputBody) => Promise; transferFrom: (address: string, data: LynexNFTInputBody) => Promise; unlockPermanent: (address: string, data: LynexNFTInputBody) => Promise; vote: (address: string, data: LynexVoterInputBody) => Promise; voteWithOptimalDistribution: (address: string, data: VoteWithOptimalDistributionPayload) => Promise; whitelist: (address: string, data: LynexVoterInputBody) => Promise; }; type MrpContractMapping = { [key: string]: { lendingPool: string; leverager: string; }; }; /** * A mapping of MRP (Moon React Protocol) contract addresses for different network IDs. * Each network ID maps to an object containing the addresses for the lending pool and leverager contracts. * * @type {MrpContractMapping} * * @property {Object} 34443 - Contract addresses for network ID 34443. * @property {string} 34443.lendingPool - The address of the lending pool contract. * @property {string} 34443.leverager - The address of the leverager contract. * * @property {Object} 56 - Contract addresses for network ID 56. * @property {string} 56.lendingPool - The address of the lending pool contract. * @property {string} 56.leverager - The address of the leverager contract. * * @property {Object} 5000 - Contract addresses for network ID 5000. * @property {string} 5000.lendingPool - The address of the lending pool contract. * @property {string} 5000.leverager - The address of the leverager contract. * * @property {Object} 534352 - Contract addresses for network ID 534352. * @property {string} 534352.lendingPool - The address of the lending pool contract. * @property {string} 534352.leverager - The address of the leverager contract. */ declare const mrpContractMapping: MrpContractMapping; /** * Custom hook that provides various functionalities related to leveraging and lending using the Moon SDK. * * This hook includes methods for leveraging ERC20 tokens and native assets, deleveraging, executing operations, * and interacting with the lending pool. It also provides utility functions for fetching data and managing roles. * * @returns {Object} An object containing various methods for leveraging, lending, and managing roles. * * @example * ```typescript * const { * leverageErc20, * leverageNative, * deleverageErc20, * deleverageNative, * executeOperation, * getAddressesProvider, * getDefaultAdminRole, * getLendingPool, * getMinHf, * getRoleAdmin, * getWeth, * grantRole, * hasRole, * isPaused, * supportsInterface, * pause, * renounceRole, * revokeRole, * unpause, * getLendingPoolAddressesProvider, * getFlashLoanPremiumTotal, * getLendingPoolRevision, * getMaxNumberReserves, * getMaxStableRateBorrowSizePercent, * getReserveData, * getReservesList, * getUserAccountData, * borrow, * deposit, * flashLoan, * liquidationCall, * repay, * isLendingPoolPaused, * setUserUseReserveAsCollateral, * swapBorrowRateMode * } = useMRP(); * * // Example usage: * leverageErc20({ accountName: 'exampleAccount', data: { /* LeveragerInputBody data *\/ } }); * ``` */ declare const useMRP: () => { leverageErc20: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; leverageNative: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; deleverageErc20: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; deleverageNative: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; executeOperation: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; getAddressesProvider: (params: LeveragerGetAddressesProviderParams) => Promise<_moonup_moon_api.LeveragerAPIResponseString>; getDefaultAdminRole: (params: LeveragerGetDefaultAdminRoleParams) => Promise<_moonup_moon_api.LeveragerAPIResponseString>; getLendingPool: (params: LeveragerGetLendingPoolParams) => Promise<_moonup_moon_api.LeveragerAPIResponseString>; getMinHf: (params: LeveragerGetMinHfParams) => Promise<_moonup_moon_api.LeveragerAPIResponseString>; getRoleAdmin: (params: LeveragerGetRoleAdminParams) => Promise<_moonup_moon_api.LeveragerAPIResponseString>; getWeth: (params: LeveragerGetWethParams) => Promise<_moonup_moon_api.LeveragerAPIResponseString>; grantRole: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; hasRole: (params: LeveragerHasRoleParams) => Promise<_moonup_moon_api.LeveragerAPIResponseBoolean>; isPaused: (params: LeveragerIsPausedParams) => Promise<_moonup_moon_api.LeveragerAPIResponseBoolean>; pause: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; renounceRole: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; revokeRole: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; unpause: (payload: { accountName: string; data: LeveragerInputBody; }) => Promise; borrow: (payload: { accountName: string; data: LendingPoolInputBody; }) => Promise; deposit: (payload: { accountName: string; data: LendingPoolInputBody; }) => Promise; flashLoan: (payload: { accountName: string; data: LendingPoolInputBody; }) => Promise; getLendingPoolAddressesProvider: (params: LendingPoolGetAddressesProviderParams) => Promise<_moonup_moon_api.LendingPoolAPIResponseString>; getFlashLoanPremiumTotal: (params: LendingPoolGetFlashLoanPremiumTotalParams) => Promise<_moonup_moon_api.LendingPoolAPIResponseNumber>; getLendingPoolRevision: (params: LendingPoolGetLendingPoolRevisionParams) => Promise<_moonup_moon_api.LendingPoolAPIResponseNumber>; getMaxNumberReserves: (params: LendingPoolGetMaxNumberReservesParams) => Promise<_moonup_moon_api.LendingPoolAPIResponseNumber>; getMaxStableRateBorrowSizePercent: (params: LendingPoolGetMaxStableRateBorrowSizePercentParams) => Promise<_moonup_moon_api.LendingPoolAPIResponseNumber>; getReserveData: (params: LendingPoolGetReserveDataParams) => Promise<_moonup_moon_api.LendingPoolAPIResponseAny>; getReservesList: (params: LendingPoolGetReservesListParams) => Promise<_moonup_moon_api.LendingPoolAPIResponseStringArray>; getUserAccountData: (params: LendingPoolGetUserAccountDataParams) => Promise<_moonup_moon_api.LendingPoolAPIResponseAny>; isLendingPoolPaused: (params: LendingPoolIsPausedParams) => Promise<_moonup_moon_api.LendingPoolAPIResponseBoolean>; liquidationCall: (payload: { accountName: string; data: LendingPoolInputBody; }) => Promise; repay: (payload: { accountName: string; data: LendingPoolInputBody; }) => Promise; setUserUseReserveAsCollateral: (payload: { accountName: string; data: LendingPoolInputBody; }) => Promise; swapBorrowRateMode: (payload: { accountName: string; data: LendingPoolInputBody; }) => Promise; }; /** * Custom hook to interact with the Odos SDK. * * @param {number} [chainId] - Optional chain ID to use. Defaults to the chain ID from the context or 1 if not provided. * @returns {Object} - An object containing functions and queries to interact with the Odos SDK. * @property {Function} getRouterAddress - Function to get the router address from the Odos SDK. * @property {Function} getQuoteOdos - Function to get a quote from the Odos SDK. * @property {Function} swapOdos - Function to perform a swap using the Odos SDK. * @property {Function} getSupportedTokens - Function to get supported tokens from the Odos SDK. * @property {Object} supportedTokensQuery - React Query object to fetch supported tokens. */ declare const useOdos: () => { getRouterAddress: (payload: OdosGetRouterAddressParams) => Promise; getQuoteOdos: (payload: { accountName: string; data: OdosSwapInputBody; }) => Promise; swapOdos: (payload: { accountName: string; data: OdosSwapInputBody; }) => Promise; getSupportedTokens: (payload: OdosGetSupportedTokensParams) => Promise; supportedTokensQuery: _tanstack_react_query.UseQueryResult; assembleLimitOrder: (payload: { accountName: string; data: OdosAssembleLimitOrderPayload; }) => Promise; createLimitOrder: (payload: { accountName: string; data: OdosCreateLimitOrderPayload; }) => Promise; cancelLimitOrder: (payload: OdosCancelLimitOrderParams) => Promise; getLimitOrders: (payload: OdosGetLimitOrdersParams) => Promise; }; /** * Custom hook to interact with the Polymarket SDK. * * This hook provides various functions to interact with the Polymarket SDK, including * approving tokens, canceling orders, creating orders, getting market data, and more. * * @returns An object containing functions to interact with the Polymarket SDK: * - `approveForPolymarket`: Approves tokens for use in Polymarket. * - `cancelMarketOrders`: Cancels all orders for a specific market. * - `cancelOrder`: Cancels a specific order. * - `cancelOrders`: Cancels multiple orders. * - `createMarketBuyOrder`: Creates a market buy order. * - `createOrder`: Creates an order. * - `dropNotifications`: Drops notifications. * - `getBalanceAllowance`: Gets the balance and allowance for a specific account. * - `getMarket`: Gets market data. * - `getMarkets`: Gets data for multiple markets. * - `getMarketTradeEvents`: Gets market trade events. * - `getNotifications`: Gets notifications. * - `getOpenOrders`: Gets open orders. * - `getOrder`: Gets a specific order. * - `getOrderBook`: Gets the order book. * - `getPricesHistory`: Gets price history. * - `getTrades`: Gets trades. * - `postOrder`: Posts an order. * - `updateBalanceAllowance`: Updates balance allowance. */ declare const usePolymarket: () => { approveForPolymarket: (payload: { accountName: string; data: ApproveForPolymarketBody; }) => Promise; cancelMarketOrders: (payload: { accountName: string; data: CancelMarketOrdersBody; }) => Promise; cancelOrder: (payload: { accountName: string; data: CancelOrderBody; }) => Promise; cancelOrders: (payload: { accountName: string; data: CancelOrdersBody; }) => Promise; createMarketBuyOrder: (payload: { accountName: string; data: CreateMarketBuyOrderBody; }) => Promise; createOrder: (payload: { accountName: string; data: CreateOrderBody; }) => Promise; dropNotifications: (payload: { accountName: string; data: DropNotificationsBody; }) => Promise; getBalanceAllowance: (params: GetBalanceAllowanceParams) => Promise; getMarket: (params: GetMarketParams) => Promise; getMarkets: (params: GetMarketsParams) => Promise; getMarketTradeEvents: (params: GetMarketTradeEventsParams) => Promise; getNotifications: (params: GetNotificationsParams1) => Promise; getOpenOrders: (params: GetOpenOrdersParams) => Promise; getOrder: (params: GetOrderParams) => Promise; getOrderBook: (params: GetOrderBookParams) => Promise; getPricesHistory: (params: GetPricesHistoryParams) => Promise; getTrades: (params: GetTradesParams) => Promise; postOrder: (payload: { accountName: string; data: PostOrderBody; }) => Promise; updateBalanceAllowance: (payload: { accountName: string; data: UpdateBalanceAllowanceBody; }) => Promise; }; /** * Custom hook to interact with the Ramses SDK. * * @returns {Object} An object containing various methods to interact with the Ramses SDK. * * @function abstain - Abstain from voting. * @function addLiquidity - Add liquidity to a pool. * @function addLiquidityEth - Add liquidity to a pool using ETH. * @function approve - Approve a transaction. * @function attach - Attach an NFT. * @function attachTokenToGauge - Attach a token to a gauge. * @function calculateOptimalVoteDistribution - Calculate the optimal vote distribution. * @function claimBribes - Claim bribes. * @function claimFees - Claim fees. * @function claimRewards - Claim rewards. * @function createGauge - Create a gauge. * @function createLock - Create a lock. * @function delegate - Delegate voting power. * @function detach - Detach an NFT. * @function detachTokenFromGauge - Detach a token from a gauge. * @function distribute - Distribute rewards. * @function getAmountOut - Get the amount out for a swap. * @function getAmountsOut - Get the amounts out for a swap. * @function getBalanceOf - Get the balance of a token. * @function getBalanceOfNft - Get the balance of an NFT. * @function getDelegates - Get the delegates. * @function getFactory - Get the factory information. * @function getInfo - Get general information. * @function getLastVoted - Get the last voted information. * @function getLocked - Get the locked tokens. * @function getOwnerOf - Get the owner of a token. * @function getPastVotes - Get past votes. * @function getPoolByAddress - Get a pool by its address. * @function getPools - Get all pools. * @function getPoolsByType - Get pools by type. * @function getReserves - Get the reserves of a pool. * @function getTokens - Get all tokens. * @function getTokenUri - Get the URI of a token. * @function getTopAprPools - Get the top APR pools. * @function getTotalSupply - Get the total supply of a token. * @function getTotalValueLocked - Get the total value locked. * @function getTotalWeight - Get the total weight. * @function getVotes - Get the votes. * @function getWeights - Get the weights. * @function getWeth - Get the WETH token. * @function increaseAmount - Increase the amount of a lock. * @function increaseUnlockTime - Increase the unlock time of a lock. * @function isGauge - Check if an address is a gauge. * @function isPair - Check if an address is a pair. * @function isWhitelisted - Check if an address is whitelisted. * @function killGauge - Kill a gauge. * @function merge - Merge NFTs. * @function notifyRewardAmount - Notify the reward amount. * @function pairFor - Get the pair for a token. * @function poke - Poke a gauge. * @function quoteAddLiquidity - Quote the amount of liquidity to add. * @function quoteRemoveLiquidity - Quote the amount of liquidity to remove. * @function removeLiquidity - Remove liquidity from a pool. * @function removeLiquidityEth - Remove liquidity from a pool using ETH. * @function reset - Reset a gauge. * @function reviveGauge - Revive a gauge. * @function sortTokens - Sort tokens. * @function split - Split an NFT. * @function swapExactEthForTokens - Swap exact ETH for tokens. * @function swapExactTokensForEth - Swap exact tokens for ETH. * @function swapExactTokensForTokens - Swap exact tokens for tokens. * @function transferFrom - Transfer a token from one address to another. * @function unsafeSwapExactTokensForTokens - Unsafely swap exact tokens for tokens. * @function vote - Vote on a proposal. * @function voteWithOptimalDistribution - Vote with optimal distribution. * @function whitelist - Whitelist an address. * @function withdraw - Withdraw tokens. */ declare const useRamses: () => { abstain: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; addLiquidity: (payload: { address: string; data: RamsesRouterInputBody; }) => Promise; addLiquidityEth: (payload: { address: string; data: RamsesRouterInputBody; }) => Promise; approve: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; attach: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; attachTokenToGauge: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; calculateOptimalVoteDistribution: (query: CalculateOptimalVoteDistributionParams2) => Promise; claimBribes: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; claimFees: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; claimRewards: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; createGauge: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; createLock: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; delegate: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; detach: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; detachTokenFromGauge: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; distribute: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; getAmountOut: (query: GetAmountOutParams2) => Promise; getAmountsOut: (query: GetAmountsOutParams2) => Promise; getBalanceOf: (query: GetBalanceOfParams2) => Promise; getBalanceOfNft: (query: GetBalanceOfNftParams2) => Promise; getDelegates: (query: GetDelegatesParams2) => Promise; getFactory: (query: GetFactoryParams2) => Promise; getInfo: () => Promise; getLastVoted: (query: GetLastVotedParams2) => Promise; getLocked: (query: GetLockedParams) => Promise; getOwnerOf: (query: GetOwnerOfParams2) => Promise; getPastVotes: (query: GetPastVotesParams2) => Promise; getPoolByAddress: (address: string) => Promise; getPools: () => Promise; getPoolsByType: (type: string) => Promise; getReserves: (query: GetReservesParams) => Promise; getTokens: () => Promise; getTokenUri: (query: GetTokenUriParams2) => Promise; getTopAprPools: (query: GetTopAprPoolsParams2) => Promise; getTotalSupply: (query: GetTotalSupplyParams2) => Promise; getTotalValueLocked: () => Promise; getTotalWeight: (query: GetTotalWeightParams2) => Promise; getVotes: (query: GetVotesParams2) => Promise; getWeights: (query: GetWeightsParams2) => Promise; getWeth: (query: GetWethParams4) => Promise; increaseAmount: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; increaseUnlockTime: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; isGauge: (query: IsGaugeParams2) => Promise; isPair: (query: IsPairParams) => Promise; isWhitelisted: (query: IsWhitelistedParams2) => Promise; killGauge: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; merge: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; notifyRewardAmount: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; pairFor: (query: PairForParams) => Promise; poke: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; quoteAddLiquidity: (query: QuoteAddLiquidityParams) => Promise; quoteRemoveLiquidity: (query: QuoteRemoveLiquidityParams) => Promise; removeLiquidity: (payload: { address: string; data: RamsesRouterInputBody; }) => Promise; removeLiquidityEth: (payload: { address: string; data: RamsesRouterInputBody; }) => Promise; reset: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; reviveGauge: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; sortTokens: (query: SortTokensParams) => Promise; split: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; swapExactEthForTokens: (payload: { address: string; data: RamsesRouterInputBody; }) => Promise; swapExactTokensForEth: (payload: { address: string; data: RamsesRouterInputBody; }) => Promise; swapExactTokensForTokens: (payload: { address: string; data: RamsesRouterInputBody; }) => Promise; transferFrom: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; unsafeSwapExactTokensForTokens: (payload: { address: string; data: RamsesRouterInputBody; }) => Promise; vote: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; voteWithOptimalDistribution: (payload: { address: string; data: VoteWithOptimalDistributionBody; }) => Promise; whitelist: (payload: { address: string; data: RamsesVoterInputBody; }) => Promise; withdraw: (payload: { address: string; data: RamsesNFTInputBody; }) => Promise; }; declare const useThena: () => { abstain: (address: string, data: VeNFTInputBody) => Promise; approve: (address: string, data: VeNFTInputBody) => Promise; attach: (address: string, data: VeNFTInputBody) => Promise; attachTokenToGauge: (address: string, data: VeTheNftVoterInputBody) => Promise; calculateOptimalVoteDistribution: (query: CalculateOptimalVoteDistributionParams4) => Promise; checkpoint: (address: string, data: VeNFTInputBody) => Promise; claimBribes: (address: string, data: VeTheNftVoterInputBody) => Promise; claimFees: (address: string, data: VeTheNftVoterInputBody) => Promise; claimRewards: (address: string, data: VeTheNftVoterInputBody) => Promise; createGauge: (address: string, data: VeTheNftVoterInputBody) => Promise; createLock: (address: string, data: VeNFTInputBody) => Promise; createLockFor: (address: string, data: VeNFTInputBody) => Promise; delegate: (address: string, data: VeNFTInputBody) => Promise; delegateBySig: (address: string, data: VeNFTInputBody) => Promise; depositFor: (address: string, data: VeNFTInputBody) => Promise; detach: (address: string, data: VeNFTInputBody) => Promise; detachTokenFromGauge: (address: string, data: VeTheNftVoterInputBody) => Promise; distribute: (address: string, data: VeTheNftVoterInputBody) => Promise; getApproved: (params: GetApprovedParams4) => Promise; getBalanceOf: (params: GetBalanceOfParams4) => Promise; getBalanceOfAtNft: (params: GetBalanceOfAtNftParams) => Promise; getBalanceOfNft: (params: GetBalanceOfNftParams4) => Promise; getDelegates: (params: GetDelegatesParams4) => Promise; getFusionByAddress: (address: string) => Promise; getFusions: () => Promise; getFusionsByType: (type: string) => Promise; getLastUserSlope: (params: GetLastUserSlopeParams) => Promise; getLocked: (params: GetLockedParams2) => Promise; getLockedEnd: (params: GetLockedEndParams) => Promise; getOwnerOf: (params: GetOwnerOfParams4) => Promise; getPastTotalSupply: (params: GetPastTotalSupplyParams) => Promise; getPastVotes: (params: GetPastVotesParams4) => Promise; getTokenUri: (params: GetTokenUriParams4) => Promise; getTopAprFusions: (params: GetTopAprFusionsParams) => Promise; getTopPairs: (params: GetTopPairsParams) => Promise; getTopTokens: (params: GetTopTokensParams) => Promise; getTotalSupply: (params: GetTotalSupplyParams4) => Promise; getTotalSupplyAt: (params: GetTotalSupplyAtParams) => Promise; getTotalSupplyAtT: (params: GetTotalSupplyAtTParams) => Promise; getTotalValueLocked: () => Promise; getTotalWeight: (params: GetTotalWeightParams4) => Promise; getUserPointHistory: (params: GetUserPointHistoryParams) => Promise; getUserPointHistoryTs: (params: GetUserPointHistoryTsParams) => Promise; getVotes: (params: GetVotesParams4) => Promise; getWeights: (params: GetWeightsParams4) => Promise; increaseLockAmount: (address: string, data: VeNFTInputBody) => Promise; increaseUnlockTime: (address: string, data: VeNFTInputBody) => Promise; isApprovedForAll: (params: IsApprovedForAllParams4) => Promise; isGauge: (params: IsGaugeParams4) => Promise; isWhitelisted: (params: IsWhitelistedParams4) => Promise; killGauge: (address: string, data: VeTheNftVoterInputBody) => Promise; lastVoted: (params: LastVotedParams) => Promise; merge: (address: string, data: VeNFTInputBody) => Promise; notifyRewardAmount: (address: string, data: VeTheNftVoterInputBody) => Promise; poke: (address: string, data: VeTheNftVoterInputBody) => Promise; poolVoteLength: (params: PoolVoteLengthParams) => Promise; reset: (address: string, data: VeTheNftVoterInputBody) => Promise; reviveGauge: (address: string, data: VeTheNftVoterInputBody) => Promise; safeTransferFrom: (address: string, data: VeNFTInputBody) => Promise; setApprovalForAll: (address: string, data: VeNFTInputBody) => Promise; split: (address: string, data: VeNFTInputBody) => Promise; transferFrom: (address: string, data: VeNFTInputBody) => Promise; vote: (address: string, data: VeTheNftVoterInputBody) => Promise; voteWithOptimalDistribution: (address: string, data: VoteWithOptimalDistributionInput) => Promise; voting: (address: string, data: VeNFTInputBody) => Promise; whitelist: (address: string, data: VeTheNftVoterInputBody) => Promise; withdraw: (address: string, data: VeNFTInputBody) => Promise; }; /** * Custom hook to interact with the Thorswap SDK. * * @returns {Object} An object containing various functions to interact with Thorswap: * - `getGasPrice`: Fetches the gas price for a given payload. * - `getQuote`: Fetches a quote for a given payload. * - `getSupportedChains`: Fetches supported chains for a given payload. * - `getSupportedProviders`: Fetches supported providers for a given payload. * - `swap`: Executes a swap transaction for a given payload. * - `getSupportedChainsQuery`: React Query hook to fetch supported chains for a given address and chain ID. * - `getSupportedProvidersQuery`: React Query hook to fetch supported providers for a given address and chain ID. */ declare const useThorswap: () => { getGasPrice: (payload: GetGasPriceParams) => Promise; getQuote: (payload: GetQuoteParams) => Promise; getSupportedChains: (payload: GetSupportedChainsParams) => Promise; getSupportedProviders: (payload: GetSupportedProvidersParams) => Promise; swap: (payload: SwapPayload) => Promise; getSupportedChainsQuery: (address: string, chainId: string) => _tanstack_react_query.UseQueryResult; getSupportedProvidersQuery: (address: string, chainId: string) => _tanstack_react_query.UseQueryResult; }; /** * Custom hook to interact with Uniswap SDK. * * This hook provides various methods to interact with Uniswap V2 and V3 contracts, * including adding liquidity, swapping tokens, and managing NFTs. * * @returns {Object} An object containing methods for Uniswap V2 and V3 interactions. * * @method addLiquidity - Adds liquidity to a Uniswap V2 pool. * @method addLiquidityEth - Adds liquidity to a Uniswap V2 pool with ETH. * @method getAmountIn - Gets the input amount required for a given output amount. * @method getAmountOut - Gets the output amount for a given input amount. * @method getAmountsIn - Gets the input amounts required for a given output amount. * @method getAmountsOut - Gets the output amounts for a given input amount. * @method getWeth - Gets the address of the WETH token. * @method quote - Gets the quote for a given input amount. * @method removeLiquidity - Removes liquidity from a Uniswap V2 pool. * @method removeLiquidityEth - Removes liquidity from a Uniswap V2 pool with ETH. * @method removeLiquidityEthSupportingFeeOnTransferTokens - Removes liquidity with fee on transfer tokens. * @method removeLiquidityEthWithPermit - Removes liquidity with permit. * @method removeLiquidityEthWithPermitSupportingFeeOnTransferTokens - Removes liquidity with permit and fee on transfer tokens. * @method removeLiquidityWithPermit - Removes liquidity with permit. * @method swapEthForExactTokens - Swaps ETH for exact tokens. * @method swapExactEthForTokens - Swaps exact ETH for tokens. * @method swapExactEthForTokensSupportingFeeOnTransferTokens - Swaps exact ETH for tokens with fee on transfer tokens. * @method swapExactTokensForEth - Swaps exact tokens for ETH. * @method swapExactTokensForEthSupportingFeeOnTransferTokens - Swaps exact tokens for ETH with fee on transfer tokens. * @method swapExactTokensForTokens - Swaps exact tokens for tokens. * @method swapExactTokensForTokensSupportingFeeOnTransferTokens - Swaps exact tokens for tokens with fee on transfer tokens. * @method swapTokensForExactEth - Swaps tokens for exact ETH. * @method swapTokensForExactTokens - Swaps tokens for exact tokens. * * @method approve - Approves a Uniswap V3 NFT. * @method balanceOf - Gets the balance of a Uniswap V3 NFT. * @method baseUri - Gets the base URI of a Uniswap V3 NFT. * @method burn - Burns a Uniswap V3 NFT. * @method collect - Collects fees from a Uniswap V3 position. * @method createAndInitializePoolIfNecessary - Creates and initializes a Uniswap V3 pool if necessary. * @method decreaseLiquidity - Decreases liquidity in a Uniswap V3 position. * @method domainSeparator - Gets the domain separator for a Uniswap V3 NFT. * @method exactInput - Executes an exact input swap on Uniswap V3. * @method exactInputSingle - Executes an exact input single swap on Uniswap V3. * @method exactOutput - Executes an exact output swap on Uniswap V3. * @method exactOutputSingle - Executes an exact output single swap on Uniswap V3. * @method getApproved - Gets the approved address for a Uniswap V3 NFT. * @method increaseLiquidity - Increases liquidity in a Uniswap V3 position. * @method isApprovedForAll - Checks if an address is approved for all Uniswap V3 NFTs. * @method mint - Mints a new Uniswap V3 NFT. * @method multicall - Executes multiple calls in a single transaction on Uniswap V3. * @method multicall2 - Executes multiple calls in a single transaction on Uniswap V3 (alternative method). * @method name - Gets the name of a Uniswap V3 NFT. * @method ownerOf - Gets the owner of a Uniswap V3 NFT. * @method permit - Permits a Uniswap V3 NFT. * @method permitTypehash - Gets the permit typehash for a Uniswap V3 NFT. * @method positions - Gets the positions of a Uniswap V3 NFT. * @method refundEth - Refunds ETH from a Uniswap V3 position. * @method refundEth2 - Refunds ETH from a Uniswap V3 position (alternative method). * @method selfPermit - Self permits a Uniswap V3 NFT. * @method selfPermitAllowed - Self permits a Uniswap V3 NFT with allowance. * @method selfPermitAllowedIfNecessary - Self permits a Uniswap V3 NFT with allowance if necessary. * @method selfPermitIfNecessary - Self permits a Uniswap V3 NFT if necessary. * @method setApprovalForAll - Sets approval for all Uniswap V3 NFTs. * @method supportsInterface - Checks if a Uniswap V3 NFT supports a given interface. * @method sweepToken - Sweeps tokens from a Uniswap V3 position. * @method sweepToken2 - Sweeps tokens from a Uniswap V3 position (alternative method). * @method sweepTokenWithFee - Sweeps tokens with fee from a Uniswap V3 position. * @method symbol - Gets the symbol of a Uniswap V3 NFT. * @method tokenByIndex - Gets a token by index from a Uniswap V3 NFT. * @method tokenOfOwnerByIndex - Gets a token of owner by index from a Uniswap V3 NFT. * @method tokenUri - Gets the URI of a Uniswap V3 NFT. * @method totalSupply - Gets the total supply of a Uniswap V3 NFT. * @method transferFrom - Transfers a Uniswap V3 NFT. * * @method getUniswapSDK - Gets the Uniswap SDK instance. */ declare const useUniswap: () => { addLiquidity: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; addLiquidityEth: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; getAmountIn: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; getAmountOut: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; getAmountsIn: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; getAmountsOut: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; getWeth: (payload: { query: GetWethParams4; }) => Promise; quote: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; removeLiquidity: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; removeLiquidityEth: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; removeLiquidityEthSupportingFeeOnTransferTokens: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; removeLiquidityEthWithPermit: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; removeLiquidityEthWithPermitSupportingFeeOnTransferTokens: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; removeLiquidityWithPermit: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; swapEthForExactTokens: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; swapExactEthForTokens: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; swapExactEthForTokensSupportingFeeOnTransferTokens: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; swapExactTokensForEth: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; swapExactTokensForEthSupportingFeeOnTransferTokens: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; swapExactTokensForTokens: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; swapTokensForExactEth: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; swapTokensForExactTokens: (payload: { accountName: string; data: UniswapV2InputBody; }) => Promise; approve: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; balanceOf: (payload: { query: BalanceOfParams; }) => Promise; baseUri: (payload: { query: BaseUriParams; }) => Promise; burn: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; collect: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; createAndInitializePoolIfNecessary: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; decreaseLiquidity: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; domainSeparator: (payload: { query: DomainSeparatorParams; }) => Promise; exactInput: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; exactInputSingle: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; exactOutput: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; exactOutputSingle: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; getApproved: (payload: { query: GetApprovedParams2; }) => Promise; increaseLiquidity: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; isApprovedForAll: (payload: { query: IsApprovedForAllParams2; }) => Promise; mint: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; multicall: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; multicall2: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; name: (payload: { query: NameParams; }) => Promise; ownerOf: (payload: { query: OwnerOfParams; }) => Promise; permit: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; permitTypehash: (payload: { query: PermitTypehashParams; }) => Promise; positions: (payload: { query: PositionsParams; }) => Promise; refundEth: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; refundEth2: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; selfPermit: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; selfPermitAllowed: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; selfPermitAllowedIfNecessary: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; selfPermitIfNecessary: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; setApprovalForAll: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; sweepToken: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; sweepToken2: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; sweepTokenWithFee: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; symbol: (payload: { query: SymbolParams; }) => Promise; tokenByIndex: (payload: { query: TokenByIndexParams; }) => Promise; tokenOfOwnerByIndex: (payload: { query: TokenOfOwnerByIndexParams; }) => Promise; tokenUri: (payload: { query: TokenUriParams; }) => Promise; totalSupply: (payload: { query: TotalSupplyParams; }) => Promise; transferFrom: (payload: { accountName: string; data: UniswapV3InputBody; }) => Promise; getUniswapSDK: () => _moonup_moon_api.Uniswap; }; declare const useAllora: () => { getPriceInference: (query: GetPriceInferenceParams) => Promise; getImpliedFuturePrice: (query: ImpliedFuturePriceParams) => Promise; getLogReturnToPercentage: (query: LogReturnToPercentageParams) => Promise; usePriceInferenceQuery: (query: GetPriceInferenceParams) => _tanstack_react_query.UseQueryResult; useImpliedFuturePriceQuery: (query: ImpliedFuturePriceParams) => _tanstack_react_query.UseQueryResult; useLogReturnToPercentageQuery: (query: LogReturnToPercentageParams) => _tanstack_react_query.UseQueryResult; }; declare const useCookieFun: () => { getKolCommunity: (params: CookieFunGetKolCommunityParams) => Promise; getKolList: (params: CookieFunGetKolListParams) => Promise; getKolNetwork: (params: CookieFunGetKolNetworkParams) => Promise; getPredictiveMetrics: (params: CookieFunGetPredictiveMetricsParams) => Promise; getTokenAnalytics: (params: CookieFunGetTokenAnalyticsParams) => Promise; getTrendingNarratives: (params: CookieFunGetTrendingNarrativesParams) => Promise; getTrendingTokens: (params: CookieFunGetTrendingTokensParams) => Promise; getTrendingTweets: (params: CookieFunGetTrendingTweetsParams) => Promise; useKolCommunityQuery: (params: CookieFunGetKolCommunityParams) => _tanstack_react_query.UseQueryResult; useKolListQuery: (params: CookieFunGetKolListParams) => _tanstack_react_query.UseQueryResult; useKolNetworkQuery: (params: CookieFunGetKolNetworkParams) => _tanstack_react_query.UseQueryResult; usePredictiveMetricsQuery: (params: CookieFunGetPredictiveMetricsParams) => _tanstack_react_query.UseQueryResult; useTokenAnalyticsQuery: (params: CookieFunGetTokenAnalyticsParams) => _tanstack_react_query.UseQueryResult; useTrendingNarrativesQuery: (params: CookieFunGetTrendingNarrativesParams) => _tanstack_react_query.UseQueryResult; useTrendingTokensQuery: (params: CookieFunGetTrendingTokensParams) => _tanstack_react_query.UseQueryResult; useTrendingTweetsQuery: (params: CookieFunGetTrendingTweetsParams) => _tanstack_react_query.UseQueryResult; }; /** * Custom hook that provides functionalities related to the MakeFun token using the Moon SDK. * * @returns {Object} An object containing various methods for interacting with MakeFun tokens. */ declare const useMakeFun: () => { getClFactory: (params: MakeFunTokenGetClFactoryParams) => Promise<_moonup_moon_api.MakeFunTokenHelperAPIResponseString>; getMaxTick: (params: MakeFunTokenGetMaxTickParams) => Promise<_moonup_moon_api.MakeFunTokenHelperAPIResponseNumber>; getMinTick: (params: MakeFunTokenGetMinTickParams) => Promise<_moonup_moon_api.MakeFunTokenHelperAPIResponseNumber>; makeToken: (payload: { address: string; data: MakeFunTokenHelperInputBody; }) => Promise; setSupplyLimits: (payload: { address: string; data: MakeFunTokenHelperInputBody; }) => Promise; setTickLimits: (payload: { address: string; data: MakeFunTokenHelperInputBody; }) => Promise; }; declare const useFinancialDatasets: () => { getAllFinancials: (params: FinancialDatasetsGetAllFinancialsParams) => Promise; getAvailableTickers: () => Promise; getBalanceSheets: (params: FinancialDatasetsGetBalanceSheetsParams) => Promise; getCashFlowStatements: (params: FinancialDatasetsGetCashFlowStatementsParams) => Promise; getCompanyFacts: (ticker: string) => Promise; getIncomeStatements: (params: FinancialDatasetsGetIncomeStatementsParams) => Promise; getInsiderTransactions: (params: FinancialDatasetsGetInsiderTransactionsParams) => Promise; getOptionsChain: (params: FinancialDatasetsGetOptionsChainParams) => Promise; getPrices: (params: FinancialDatasetsGetPricesParams) => Promise; getPriceSnapshot: (ticker: string) => Promise; getSegmentedRevenues: (params: FinancialDatasetsGetSegmentedRevenuesParams) => Promise; searchFinancials: (data: SearchRequest) => Promise; searchFinancialsByLineItems: (data: FinancialDatasetsSearchFinancialsByLineItemsPayload) => Promise; }; declare const useOpensea: () => { createCollectionOffer: (payload: { accountName: string; data: OpenSeaCollectionInputBody; }) => Promise; createOffer: (payload: { accountName: string; data: OpenSeaNFTInputBody; }) => Promise; useGetCollection: (params: GetCollectionParams) => _tanstack_react_query.UseQueryResult; useGetNft: (params: GetNftParams) => _tanstack_react_query.UseQueryResult; unwrapWeth: (payload: { accountName: string; data: UnwrapWethPayload; }) => Promise; wrapEth: (payload: { accountName: string; data: WrapEthPayload; }) => Promise; getCollection: (params: GetCollectionParams) => Promise; getNft: (params: GetNftParams) => Promise; cancelOrder: (payload: { accountName: string; data: CancelOrderPayload; }) => Promise; createListing: (payload: { accountName: string; data: OpenSeaNFTInputBody; }) => Promise; fulfillOrder: (payload: { accountName: string; data: FulfillOrderPayload; }) => Promise; useGetAccount: (params: GetAccountParams) => _tanstack_react_query.UseQueryResult; useGetAllListings: (params: GetAllListingsParams) => _tanstack_react_query.UseQueryResult; useGetAllOffers: (params: GetAllOffersParams) => _tanstack_react_query.UseQueryResult; useGetBestListing: (params: GetBestListingParams) => _tanstack_react_query.UseQueryResult; useGetBestOffer: (params: GetBestOfferParams) => _tanstack_react_query.UseQueryResult; useGetCollections: (params: GetCollectionsParams) => _tanstack_react_query.UseQueryResult; useGetCollectionStats: (params: GetCollectionStatsParams) => _tanstack_react_query.UseQueryResult; useGetNfTsByAccount: (params: GetNfTsByAccountParams) => _tanstack_react_query.UseQueryResult; useGetNfTsByCollection: (params: GetNfTsByCollectionParams) => _tanstack_react_query.UseQueryResult; useGetNfTsByContract: (params: GetNfTsByContractParams) => _tanstack_react_query.UseQueryResult; useGetOrders: (params: GetOrdersParams) => _tanstack_react_query.UseQueryResult; useGetPaymentToken: (params: GetPaymentTokenParams) => _tanstack_react_query.UseQueryResult; offchainCancelOrder: (payload: { accountName: string; data: OffchainCancelOrderPayload; }) => Promise; getAccount: (params: GetAccountParams) => Promise; getAllListings: (params: GetAllListingsParams) => Promise; getAllOffers: (params: GetAllOffersParams) => Promise; getBestListing: (params: GetBestListingParams) => Promise; getBestOffer: (params: GetBestOfferParams) => Promise; getCollections: (params: GetCollectionsParams) => Promise; getCollectionStats: (params: GetCollectionStatsParams) => Promise; getNfTsByAccount: (params: GetNfTsByAccountParams) => Promise; getNfTsByCollection: (params: GetNfTsByCollectionParams) => Promise; getNfTsByContract: (params: GetNfTsByContractParams) => Promise; getOrders: (params: GetOrdersParams) => Promise; getPaymentToken: (params: GetPaymentTokenParams) => Promise; }; interface ConnectToMoonProps { address: string; signMessageAsync: any; } declare const useConnectToMoon: ({ address, signMessageAsync, }: ConnectToMoonProps) => { connectToMoonSiwe: () => Promise; isLoading: boolean; }; /** * Custom hook to interact with MoonSDK for managing accounts and transactions. * * @returns {INetwork & { * chainType: ChainType; * changeChainType: (newChainType: ChainType) => void; * }} An object containing the current chain type, a function to change the chain type, * and various functions to manage accounts and transactions. * * @throws {Error} If MoonSDK is not initialized. * * @function createAccount * @description Creates a new account. * @param {any} input - The input data for creating the account. * @returns {Promise} A promise that resolves with the created account data. * * @function deleteAccount * @description Deletes an existing account. * @param {string} accountName - The name of the account to delete. * @returns {Promise} A promise that resolves when the account is deleted. * * @function exportAccount * @description Exports an existing account. * @param {string} accountName - The name of the account to export. * @returns {Promise} A promise that resolves with the exported account data. * * @function getAccount * @description Retrieves an existing account. * @param {string} accountName - The name of the account to retrieve. * @returns {Promise} A promise that resolves with the account data. * * @function listAccounts * @description Lists all existing accounts. * @returns {Promise} A promise that resolves with the list of accounts. * * @function signTransaction * @description Signs a transaction with a specified account. * @param {string} accountName - The name of the account to sign the transaction. * @param {any} transaction - The transaction data to sign. * @returns {Promise} A promise that resolves with the signed transaction data. * * @function getBalance * @description Retrieves the balance of a specified address. * @param {string} address - The address to get the balance for. * @returns {Promise} A promise that resolves with the balance data. * * @function getTransaction * @description Retrieves a transaction by its hash. * @param {string} hash - The hash of the transaction to retrieve. * @returns {Promise} A promise that resolves with the transaction data. * * @function sendTransaction * @description Sends a transaction. * @param {any} transaction - The transaction data to send. * @returns {Promise} A promise that resolves with the sent transaction data. * * @function signMessage * @description Signs a message with a specified account. * @param {string} accountName - The name of the account to sign the message. * @param {string} message - The message to sign. * @returns {Promise} A promise that resolves with the signed message data. * * @function signTypedData * @description Signs typed data with a specified account. * @param {string} accountName - The name of the account to sign the typed data. * @param {any} domain - The domain data for the typed data. * @param {any} types - The types data for the typed data. * @param {any} value - The value data for the typed data. * @returns {Promise} A promise that resolves with the signed typed data. * * @function changeChainType * @description Changes the current chain type. * @param {ChainType} newChainType - The new chain type to set. */ declare const useMoonAccount: () => INetwork & { chainType: ChainType; changeChainType: (newChainType: ChainType) => void; accounts: string[]; account: string; setAccount: (account: string) => void; watchTransactionStatus: (txHash: string) => Promise; }; type ChainInfo = { name: string; aliases: string[]; hexId: string; }; declare const chainIdToHexMapping: { [key: number]: ChainInfo; }; declare const useMoonDataSDK: () => { getChartAnalysis: (symbol: string, timeframe: ChartsGetChartAnalysisParamsEnum) => Promise; executeCustomSupabaseQuery: (data: DataExecuteCustomSupabaseQueryPayload) => Promise; getPortfolioFetchStatus: (jobId: string) => Promise; getTokensMetadata: (query: DataGetTokensMetadataParams) => Promise; getUserDebankComplexProtocolList: (params: DataGetUserDebankComplexProtocolListParams) => Promise; getUserDebankTokenList: (params: DataGetUserDebankTokenListParams) => Promise; getUserWalletPortfolio: (params: DataGetUserWalletPortfolioParams) => Promise; getWalletBalance: (payload: DataGetWalletTokenBalancesParams) => Promise; getWalletNFTs: (params: DataGetWalletNfTsParams) => Promise; getWalletHistory: (payload: DataGetWalletTransactionHistoryParams) => Promise; getAllDebankUserTokens: (params: { address: string; isAll: boolean; refresh?: boolean; }) => Promise; getUserDebankTotalBalance: (address: string) => Promise; useDebankUserTotalBalanceQuery: (address: string) => _tanstack_react_query.UseQueryResult; debankUserTokensQuery: _tanstack_react_query.UseQueryResult; useWalletHistoryQuery: (params: DataGetWalletTransactionHistoryParams) => _tanstack_react_query.UseQueryResult; useWalletNFTsQuery: (params: DataGetWalletNfTsParams) => _tanstack_react_query.UseQueryResult; useDebankUserTokensQuery: (address: string, isAll: boolean) => _tanstack_react_query.UseQueryResult; useChartAnalysisQuery: (symbol: string, timeframe: ChartsGetChartAnalysisParamsEnum) => _tanstack_react_query.UseQueryResult; usePortfolioFetchStatusQuery: (jobId: string) => _tanstack_react_query.UseQueryResult; useTokensMetadataQuery: (query: DataGetTokensMetadataParams) => _tanstack_react_query.UseQueryResult; useUserDebankComplexProtocolListQuery: (params: DataGetUserDebankComplexProtocolListParams) => _tanstack_react_query.UseQueryResult; useUserDebankTokenListQuery: (params: DataGetUserDebankTokenListParams) => _tanstack_react_query.UseQueryResult; useUserWalletPortfolioQuery: (params: DataGetUserWalletPortfolioParams) => _tanstack_react_query.UseQueryResult; walletBalanceQuery: _tanstack_react_query.UseQueryResult; walletBalanceChainIdQuery: (chainId?: number) => _tanstack_react_query.UseQueryResult; getBitcoinBalance: (address: string) => Promise; getBitcoinTransactions: (params: DataGetBitcoinTransactionsParams) => Promise; getDogecoinBalance: (address: string) => Promise; getDogecoinTransactions: (params: DataGetDogecoinTransactionsParams) => Promise; getLitecoinBalance: (address: string) => Promise; getLitecoinTransactions: (params: DataGetLitecoinTransactionsParams) => Promise; getTronBalance: (address: string) => Promise; getTronTransactions: (params: DataGetTronTransactionsParams) => Promise; getXrpBalance: (account: string) => Promise; getXrpTransactions: (account: string) => Promise; useBitcoinBalanceQuery: (address: string) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseBitcoinBalance, Error>; useBitcoinTransactionsQuery: (params: DataGetBitcoinTransactionsParams) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseBitcoinTransactionArray, Error>; useDogecoinBalanceQuery: (address: string) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseDogecoinBalance, Error>; useDogecoinTransactionsQuery: (params: DataGetDogecoinTransactionsParams) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseDogecoinTransactionArray, Error>; useLitecoinBalanceQuery: (address: string) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseLitecoinBalance, Error>; useLitecoinTransactionsQuery: (params: DataGetLitecoinTransactionsParams) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseLitecoinTransactionArray, Error>; useTronBalanceQuery: (address: string) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseTronBalance, Error>; useTronTransactionsQuery: (params: DataGetTronTransactionsParams) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseTronTransactionResponse, Error>; useXrpBalanceQuery: (account: string) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseXRPBalance, Error>; useXrpTransactionsQuery: (account: string) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseXRPTransactionArray, Error>; getCoinGeckoCoinInfo: (params: DataGetCoinGeckoCoinInfoParams) => Promise; getCoinGeckoCoinList: (params: DataGetCoinGeckoCoinListParams) => Promise; getCoinGeckoCoinMarkets: (params: DataGetCoinGeckoCoinMarketsParams) => Promise; getAllUserDebankNfTs: (params: DataGetAllUserDebankNfTsParams) => Promise; getUserDebankNftList: (params: DataGetUserDebankNftListParams) => Promise; useCoinGeckoCoinInfoQuery: (params: DataGetCoinGeckoCoinInfoParams) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseCoinFullInfo, Error>; useCoinGeckoCoinListQuery: (params: DataGetCoinGeckoCoinListParams) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseCoinListItemArray, Error>; useCoinGeckoCoinMarketsQuery: (params: DataGetCoinGeckoCoinMarketsParams) => _tanstack_react_query.UseQueryResult<_moonup_moon_api.BaseAPIResponseCoinMarketArray, Error>; useAllUserDebankNfTsQuery: (params: DataGetAllUserDebankNfTsParams) => _tanstack_react_query.UseQueryResult; useUserDebankNftListQuery: (params: DataGetUserDebankNftListParams) => _tanstack_react_query.UseQueryResult; }; /** * Custom hook to access the MoonSDK context. * * This hook must be used within a `MoonSDKProvider` to access the SDK state. * If used outside of a `MoonSDKProvider`, it will throw an error. * * @returns {State} The current state of the MoonSDK context. * @throws {Error} If used outside of a `MoonSDKProvider`. */ declare const useMoonSDK: () => MoonAuthContextType; declare const useChains: () => { chains: Chains[]; selectedChain: Chains | null; loading: boolean; error: Error | null; fetchChains: () => Promise; switchChain: (chainId: number) => void; getChainById: (id: number) => Chains | undefined; }; /** * Constructs the URL to retrieve prices from CoinGecko. * @param tokens * @returns */ declare const buildCoinGeckoPricesURL: (tokens: readonly string[]) => string; declare const buildCoinGeckoInfoURL: (tokenId: string) => string; declare const buildCoinGeckoTokenListURL: () => string; /** * Prices of each token. */ type CoinGeckoPrices = { [C in T]: number | null; }; type CG_TokenInfo = { id: string; name: string; symbol: string; market_data: { current_price: { usd: number; }; }; description: { en: string; }; image: { small: string; large: string; }; platforms: { [key: string]: string; }; }; type CG_TokenListItem = { id: string; symbol: string; name: string; }; declare const makeCoinGeckoPricesQuery: (tokens: readonly T[], cache?: DBAdapterBase) => UseQueryOptions, unknown, CoinGeckoPrices, string[]>; declare const makeTokenInfoQuery: (tokenId: string) => UseQueryOptions; declare const makeTokenListQuery: () => UseQueryOptions; /** * Fetches prices of tokens from CoinGecko. * @returns The CoinGecko prices. */ declare const useCoinGeckoPrices: (tokens: readonly T[], options?: Omit, unknown, CoinGeckoPrices, string[]>, "queryKey" | "queryFn">, cache?: DBAdapterBase) => UseQueryResult, unknown>; /** * Fetches the token information from CoinGecko. * @param tokenId The token to fetch. * @returns The token information. */ declare const useTokenInfo: (tokenId: string) => UseQueryResult; declare const useTokenList: () => UseQueryResult; declare const useMoonTokenManager: (addresses?: string[]) => { tokens: any[]; addToken: (newToken: UserToken) => Promise; removeToken: (address: string) => Promise; updateToken: (newToken: UserToken) => Promise; tokenList: CG_TokenListItem[] | undefined; chain: _moonup_moon_sdk.Chains | null; gasBalanceQueries: _tanstack_react_query.UseQueryResult[]; tokenBalanceQueries: BalanceQueryResult[][]; gasTokens: UserToken[]; tokensWithGasToken: any[]; }; declare const useMoonTransaction: () => { handleTransaction: (transactionType: string, operation: () => Promise) => Promise; }; type BalanceQueryResult = UseQueryResult; declare function useTokenBalances(wallets: string[], tokens: UserToken[]): BalanceQueryResult[][]; declare const useWalletAlias: () => { wallet2Alias: (wallet: string | null) => string; alias2Wallet: (alias: string) => string; setWalletAlias: (alias: string, wallet: string) => Promise; }; declare const useWalletConnectors: () => { type: string; color: string; hoverColor: string; text: any; icon: any; component: react_jsx_runtime.JSX.Element; }[]; /** * Fetches the gas balances of the wallets in the list. **/ declare function useFetchWalletBalances(wallets: string[], chainId: string): _tanstack_react_query.UseQueryResult[]; type ObjectWithArrays = { [key: string]: any[]; }; declare function combineArraysFromObject(obj: ObjectWithArrays): T[]; /** * Convert a BigInt to an int - useful when you are 'evolve'ing a response */ declare const weiStringAsFloat: (num: string | undefined, decimalPoints?: number) => number; declare const bigNumAsInt: (num: BigNumberish) => number; declare const weiBigNumAsFloat: (num: BigNumberish, decimalPoints?: number) => number; declare const safelyParseUnits: (num: string, decimalPoints?: number) => bigint; declare function shortenAddress(address: string | null | undefined): string | null; declare function minAddress(address: string | null | undefined): string | null; export { AaveConfigType, Account, AccountSelector, AnyToken, AnyTokenSelectorModal, AnyTokenSelectorModalProps, AuthModal, AuthModalConfig, AuthModalContent, AuthModalOverlay, AuthOptions, AuthOptionsProps, BalanceQueryResult, BaseChatMessage, Button, ButtonProps, ButtonStatus, CG_TokenInfo, CG_TokenListItem, ChainInfo$1 as ChainInfo, ChainSelectionModal, ChainSelectionModalProps, ChainSelector, ChainSelectorModal, ChainSelectorProps, ChatBot, ChatBotProps, ChatMessage, ChatMessageType, CoinGeckoPrices, ConnectToMoonProps, DBAdapterBase, DEFAULT_AUTH_CONFIG, DbTokenPrice, DbWalletAlias, Dropdown, DropdownItem, DropdownProps, ERC20AllowanceDisplay, ERC20AllowanceDisplayProps, ERC20ApprovalButton, ERC20ApprovalButtonProps, ERC20BalanceDisplay, ERC20BalanceDisplayProps, ERC20TokenInfo, ERC20TokenInfoProps, ERC20TotalSupplyDisplay, ERC20TotalSupplyDisplayProps, ERC20TransferForm, ERC20TransferFormProps, ERC721ApprovedDisplay, ERC721ApprovedDisplayProps, ERC721BalanceDisplay, ERC721BalanceDisplayProps, ERC721IsApprovedForAllDisplay, ERC721IsApprovedForAllDisplayProps, ERC721NameDisplay, ERC721NameDisplayProps, ERC721OwnerDisplay, ERC721OwnerDisplayProps, ERC721SymbolDisplay, ERC721SymbolDisplayProps, EmailLogin, EmailLoginProps, GlobalStateProvider, GlobalStateProviderProps, HistoricalPerformance, HistoricalTransaction, Input, InputBody, InputProps, LiFiToken, LiFiTokenMap, LifiBridge, LifiChainData, LifiChainSelectorModal, LifiChainSelectorModalProps, LifiTokenSelectorModal, LifiTokenSelectorModalProps, LocalStorageAdapter, Modal, ModalProps, MoonAuthContext, MoonAuthContextType, MoonAuthProvider, MoonAuthProviderProps, MoonSDKContext, MoonSDKProvider, MrpContractMapping, MultiStepTransactionMessage, Notification, NotificationComponent, OAuthError, OAuthProvider, OAuthToken, ObjectWithArrays, OdosSwap, OdosToken, OdosTokenMap, OdosTokenSelector, OdosTokenSelectorModal, OdosTokenSelectorProps, PoolInfo, PortfolioChange, ProtocolInfo, SignInAnonymously, SignupForm, SignupFormProps, SocialLogins, SocialLoginsProps, SocialOption, SocialOptionArray, State, SupabaseAdapter, SwapInterface, Theme, ThemeProvider, ThorswapSwap, TokenContextMenu, TokenContextMenuProps, TokenInfo, TokenInfoModal, TokenInfoModalProps, TokenListItem, TokenListItemProps, TokenModal, TokenModalProps, Tooltip, Transaction, TransactionForm, TransactionFormProps, TransactionReceipt, TransactionReceiptProps, TransactionResult, TransactionResultChat, TransactionStep, UserMessage, UserToken, UserTokenManager, WagmiWrapper, WalletConnectorsList, WalletInfo, WalletSelector, WalletSelectorModal, WebAuthnComponent, aaveConfig, bigNumAsInt, buildCoinGeckoInfoURL, buildCoinGeckoPricesURL, buildCoinGeckoTokenListURL, chainIdToHexMapping, combineArraysFromObject, config, converyGasTokenAddress, defaultTheme, makeCoinGeckoPricesQuery, makeTokenInfoQuery, makeTokenListQuery, minAddress, mrpContractMapping, safelyParseUnits, shortenAddress, useAave, useAllora, useAuth, useChains, useCoinGeckoPrices, useConnectToMoon, useCookieFun, useErc1155, useErc20, useErc4626, useErc721, useFetchWalletBalances, useFinancialDatasets, useJupiter, useLifi, useLynex, useMRP, useMakeFun, useMoonAccount, useMoonAuth, useMoonDataSDK, useMoonSDK, useMoonTokenManager, useMoonTransaction, useOAuth2, useOdos, useOpensea, usePolymarket, useRamses, useTheme, useThena, useThorswap, useTokenBalances, useTokenInfo, useTokenList, useUniswap, useWalletAlias, useWalletConnectors, weiBigNumAsFloat, weiStringAsFloat };