///
import { bsc } from 'viem/chains';
import { bscTestnet } from 'viem/chains';
import { Chain } from 'viem';
import { Contract } from 'ethers';
import { default as default_2 } from 'react';
import { ethers } from 'ethers';
import { JSX as JSX_2 } from 'react/jsx-runtime';
import { OpenOptions } from '@web3modal/scaffold/dist/types/src/client';
import { providers } from 'ethers';
import { PublicClient } from 'wagmi';
import { RefObject } from 'react';
import { Signer } from 'ethers';
import { toast } from 'react-toastify';
import { TypeOptions } from 'react-toastify';
import { UseMutateFunction } from '@tanstack/react-query';
import { WalletClient } from 'wagmi';
import { WalletConnectConnector } from 'wagmi/connectors/walletConnect';
export declare class BigIntFormater {
static toNumber(value?: bigint): number;
static format(value: bigint): string;
static roundUp(num: bigint, precision?: number): number;
static toDate(value?: bigint): Date | undefined;
}
export { bsc }
export { bscTestnet }
declare type BuyMetadata = {
minBuy?: number;
maxBuy?: number;
minBuyUSDT?: number;
maxBuyUSDT?: number;
salePrice?: number;
salePriceUSDT?: number;
};
export declare type BuyMethod = "usdt" | "bnb";
export declare function BuyPresaleProvider(props: React.PropsWithChildren): JSX_2.Element;
export declare class DateFormater {
static format(date?: Date): string;
static formatDateTime(date?: Date): string;
}
declare interface IContext {
fromValue: number;
toValue: number;
setFromValue: (val: number) => void;
balance: number;
balanceToken: number;
buy: () => Promise;
refAddr?: string;
createInvite(): Promise;
method: BuyMethod;
setMethod(val: BuyMethod): void;
bnbUsdtPrice: number;
isAllowBuy: boolean;
}
declare type IWeb3TsContext = {
gasFee: number;
contract?: Contract;
contractBuy?: Contract;
contractUsdt?: Contract;
setContract: (value?: Contract) => void;
setContractBuy: (value?: Contract) => void;
setContractUsdt: (value?: Contract) => void;
config: Web3TsConfig;
setConfig: (config: Web3TsConfig) => void;
walletConnectConnector: WalletConnectConnector;
buyMetadata: BuyMetadata;
setBuyMetadata: (val: BuyMetadata) => void;
};
export declare class MoneyFormater {
static format(value: number): string;
}
export declare const myToast: {
toast: typeof toast;
toastWait: ({ type, message }: {
type?: TypeOptions;
message: string;
}) => () => void;
waitTransaction: () => () => void;
};
export declare class NumberFormater {
static format(value: number): string;
static roundUp(num: number, precision?: number): number;
}
export declare type PropsWithClass = {
className?: string;
};
export declare function publicClientToProvider(publicClient: PublicClient): providers.FallbackProvider | providers.JsonRpcProvider;
export declare const useAccount: () => {
account: `0x${string}` | undefined;
shortAccount: string;
isConnected: boolean;
};
export declare const useAddToken: () => {
addToken: () => Promise;
isSupport: boolean;
};
export declare const useBalance: () => {
balance: number;
balanceToken: number;
};
export declare const useBuy: () => {
buy: ({ value, method, }: {
value: number;
method?: BuyMethod;
}) => Promise;
};
export declare function useBuyPresale(): IContext;
export declare const useConnect: () => {
connect: () => void;
disconnect: UseMutateFunction;
isConnected: boolean;
openWeb3: (options?: OpenOptions | undefined) => Promise;
};
export declare const useContract: () => {
contractUsdt: ethers.Contract | undefined;
contract: ethers.Contract | undefined;
contractBuy: ethers.Contract | undefined;
};
export declare const useContractAddress: (props?: {
autoShort?: boolean;
}) => {
address: string;
shortAddress: string;
};
export declare function useData(props: {
default: T;
path: string;
init?: RequestInit;
map?(result: unknown): unknown;
}): {
data: T;
};
/** Hook to convert a viem Public Client to an ethers.js Provider. */
export declare function useEthersProvider({ chainId }?: {
chainId?: number;
}): providers.FallbackProvider | providers.JsonRpcProvider;
/** Hook to convert a viem Wallet Client to an ethers.js Signer. */
export declare function useEthersSigner({ chainId }?: {
chainId?: number;
}): Signer | undefined;
export declare const useProvider: () => {
provider: {
isWalletConnect: boolean;
request: (opts: unknown) => Promise;
} | undefined;
isWalletConnect: boolean;
};
export declare const useRefAddress: (props?: {
origin?: string;
}) => {
refAddr: string | undefined;
referral: string;
createInvite: () => Promise;
};
export declare const useScroll: () => {
scrollY: number;
};
export declare const useScrollMotion: ({ delay }: {
delay?: number;
}) => {
ref: RefObject;
display: boolean;
};
export declare const useWeb3Ts: () => IWeb3TsContext;
export declare function useWindowResize(): {
width: number;
};
export declare function walletClientToSigner(walletClient: WalletClient): providers.JsonRpcSigner;
export declare interface Web3TsConfig {
mainContract: {
contractAddress: string;
symbol: string;
logo: string;
};
buyContract: {
contractAddress: string;
buyMethod: string;
buyUSDTMethod?: string;
referralPath: string;
disableBuy?: boolean;
};
projectId: string;
walletIds: string[];
metadata: {
icons: string[];
url: string;
name: string;
description: string;
};
chains: Chain[];
addToken?: {
message: string;
};
}
export declare const Web3TsProvider: (p: default_2.PropsWithChildren & {
config: Web3TsConfig;
}) => JSX_2.Element;
export { }