package com.jxy.marketall.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.jxy.common.core.web.Result.AjaxResult;
import com.jxy.marketall.entity.EthBigTx;
import com.jxy.marketall.vo.*;


/**
 * @Description EthBigTx服务类
 * @Date 2022/6/21 11:28
 * @Author 杜懿
 */
public interface EthBigTxService extends IService<EthBigTx> {

    /***
     * 查询ETH日交易量
     * @param vo
     * @return
     */
    public AjaxResult getETHVolumeList(QueryVo vo);

    /***
     * 查询ETH日交易费
     * @param vo
     * @return
     */
    public AjaxResult getETHFeesList(QueryVo vo);

    /***
     * 根据条件分页查询ETH大额交易
     * @param ethVo
     * @return
     */
    public AjaxResult findEthBigTxByETHVo(ETHVo ethVo);

    /***
     * 根据条件查询ETH 巨鲸地址跟踪
     * @param ethVo
     * @return
     */
    public AjaxResult findEthTopAddrChangeByETHVo(ETHVo ethVo);


    /***
     * 根据条件 分页查询新合约地址ethcnew
     * @param vo
     * @return
     */
    public AjaxResult getETHNewContractByPage(ETHVo vo);

    /***
     * 根据时间查询ETH大额交易
     * @param ethBigTxCountVo
     * @return
     */
    public AjaxResult findEthBigTxByTime(ETHBigTxCountVo ethBigTxCountVo);

    /***
     * 根据条件查询USDT大额交易
     * @param ethVo
     * @return
     */
    public AjaxResult findUSDTBigTxByUSDTVo(ETHVo ethVo);

    /***
     * 根据时间查询BUSD大额交易
     * @param ethBigTxCountVo
     * @return
     */
    public AjaxResult findUSDTBigTxByTime(ETHBigTxCountVo ethBigTxCountVo);

    /***
     * 根据条件查询USDT大额交易
     * @param ethVo
     * @return
     */
    public AjaxResult findBUSDBigTxByUSDTVo(ETHVo ethVo);

    /***
     * 根据时间查询BUSD大额交易
     * @param ethBigTxCountVo
     * @return
     */
    public AjaxResult findBUSDBigTxByTime(ETHBigTxCountVo ethBigTxCountVo);

    /***
     * 根据条件查询USDC大额交易
     * @param ethVo
     * @return
     */
    public AjaxResult findUSDCBigTxByUSDCVo(ETHVo ethVo);

    /***
     * 根据时间查询USDC大额交易
     * @param ethBigTxCountVo
     * @return
     */
    public AjaxResult findUSDCBigTxByTime(ETHBigTxCountVo ethBigTxCountVo);

    /**
     * 查询USDT日交易量
     * @param queryVo
     * @return
     */
    public AjaxResult getUSDTVolumeList(QueryVo queryVo);

    /**
     * 查询USDC日交易量
     * @param queryVo
     * @return
     */
    public AjaxResult getUSDCVolumeList(QueryVo queryVo);

    /**
     * 查询BUSD日交易量
     * @param queryVo
     * @return
     */
    public AjaxResult getBUSDVolumeList(QueryVo queryVo);


    /***
     * 根据条件查询USDT大额交易监控
     * @param vo
     * @return
     */
    public AjaxResult findTronUSDTBigTxByVo(ETHVo vo);

    /***
     * 根据时间查询USDC大额交易监控
     * @param queryVo
     * @return
     */
    public AjaxResult findTronUSDTBigTxByTime(QueryVo queryVo);


    /***
     * 根据条件查询USDC大额交易监控
     * @param vo
     * @return
     */
    public AjaxResult findTronUSDCBigTxByVo(ETHVo vo);

    /***
     * 根据时间查询USDC大额交易监控
     * @param queryVo
     * @return
     */
    public AjaxResult findTronUSDCBigTxByTime(QueryVo queryVo);


    /**
     * 查询USDC日交易量监控
     * @param queryVo
     * @return
     */
    public AjaxResult getTronUSDCVolumeList(QueryVo queryVo);

    /**
     * 查询USDT日交易量监控
     * @param queryVo
     * @return
     */
    public AjaxResult getTronUSDTVolumeList(QueryVo queryVo);


    /***
     * 条件查询 erc20 token大额交易
     * @param queryVo
     * @return
     */
    public AjaxResult getETHTokenVolumeList(ETHTokenVolumeVo queryVo);

    public AjaxResult getETHTokenVolumeAbbrList(ETHTokenVolumeVo vo);



    /**
     * 查询 erc20 token abbr列表
     * @param
     * @return
     */
    public AjaxResult getETHTokenAbbrList();

    /**
     * 查询 erc20 token日交易量
     * @param vo
     * @return
     */
    public AjaxResult getETHTokenBigtxList(ETHTokenVo vo);


    /***
     * 根据时间查询erc20 token大额交易
     * @param queryVo
     * @return
     */
    public AjaxResult findETHTokenBigtxByTime(QueryVo queryVo);

    /**
     * 流通供应量
     * @param vo
     * @return
     */
    public AjaxResult getCSupplyList(QueryVo vo);


    /**
     * 抵押奖励
     * @param vo
     * @return
     */
    public AjaxResult getRewardList(QueryVo vo);

    /**
     * 活跃、发送、接收地址
     * @param vo
     * @return
     */
    public AjaxResult getAddressList(QueryVo vo);

    /**
     * 交易量
     * @param vo
     * @return
     */
    public AjaxResult getVolumeList(QueryVo vo);

    /**
     * 新合约数
     * @param vo
     * @return
     */
    public AjaxResult getCnewList(QueryVo vo);

    /**
     *币价
     * @param vo
     * @return
     */
    public AjaxResult getPrice(QueryVo vo);

    /**
     * eth token交易量
     * @param vo
     * @return
     */
    public AjaxResult getTokenVolumeList(QueryVo vo);

}
