import { WalletAdapter } from '@suiet/wallet-sdk'; import { TonConnectUI } from '@tonconnect/ui'; import { Any } from "../../../common/utils/types"; import { CHAIN_TYPE } from "../../blockchain/models/chain-type"; import { BtcWalletProvider } from "./btc-wallet-provider"; import { SolanaWeb3 } from "./solana-web3"; import { TronWeb } from 'tronweb'; import Web3 from 'web3'; import { provider } from 'web3-core'; export interface WalletProviderCore { /** * Core provider. */ readonly core: T; /** * User wallet address. */ readonly address: string; } export type EvmWalletProviderCore = WalletProviderCore; export type TronWalletProviderCore = WalletProviderCore; export type SolanaWalletProviderCore = WalletProviderCore; export type TonWalletProviderCore = WalletProviderCore; export type BitcoinWalletProviderCore = WalletProviderCore; export type SuiWalletProviderCore = WalletProviderCore; /** * Stores wallet core and information about current user, used to make `send` transactions. */ interface IWalletProvider { readonly [CHAIN_TYPE.EVM]?: EvmWalletProviderCore; readonly [CHAIN_TYPE.TRON]?: TronWalletProviderCore; readonly [CHAIN_TYPE.SOLANA]?: SolanaWalletProviderCore; readonly [CHAIN_TYPE.TON]?: TonWalletProviderCore; readonly [CHAIN_TYPE.BITCOIN]?: BitcoinWalletProviderCore; readonly [CHAIN_TYPE.SUI]?: SuiWalletProviderCore; } export type WalletProvider = Partial; export {};