This commit is contained in:
Danil Kovtonyuk 2020-11-03 16:54:19 +10:00
parent a0eeb14425
commit 9e0253f46b
30 changed files with 405 additions and 814 deletions

View File

@ -1 +0,0 @@
<svg viewBox="0 0 35.6 25.13" xmlns="http://www.w3.org/2000/svg"><circle cx="23.63" cy="11.75" fill="#fed402" r="2.51"/><g transform="translate(.03 .06)"><path d="m34.4 1-5.49 8.66-.31.48-.19.31a5 5 0 0 0 -4-3.66l3.59-5.6a.35.35 0 0 1 .28-.19h6.07z" fill="#7cc242"/><path d="m35.57 22.4a6.7 6.7 0 0 1 -3.57 2.39 6.54 6.54 0 0 1 -5.59-1 7.64 7.64 0 0 1 -2.54-3.54l-.06-.15c-.14-.37-.39-1-.63-1.78s-.39-1.23-.51-1.76a5 5 0 0 0 4.66-1.56c.33.83.68 2.13 1 3.14q.14.42.27.75a6.59 6.59 0 0 0 1.49 2.52l.15.13a5.2 5.2 0 0 0 3.3 1 19.58 19.58 0 0 0 2.03-.14z" fill="#ef3b39"/><path d="m19.41 14.34a29.21 29.21 0 0 1 -4 4.6 13.53 13.53 0 0 1 -4.24 2.85 5.1 5.1 0 0 1 -1.93.37 3.6 3.6 0 0 1 -3.64-3.16 10.75 10.75 0 0 1 .4-5.18 22.35 22.35 0 0 1 4.6-8.42 7.85 7.85 0 0 1 3.51-2.53 3.86 3.86 0 0 1 3 .1 4.37 4.37 0 0 1 1.73 1.76 13.68 13.68 0 0 1 1.31 3.27 5 5 0 0 1 4.18-1.29l.3-.47c-.23-.52-.42-1-.63-1.46a8.53 8.53 0 0 0 -2.93-3.58 7.81 7.81 0 0 0 -5.21-1.2 14.93 14.93 0 0 0 -6.67 2.15 20.76 20.76 0 0 0 -7.58 8.06 12.62 12.62 0 0 0 -1.61 6.93 7.87 7.87 0 0 0 4.7 6.86 12.19 12.19 0 0 0 7 .89 14.71 14.71 0 0 0 5.61-1.89 26.7 26.7 0 0 0 5.69-4.49c.06-.06.1-.15.18-.19-.2-.6-.39-1.23-.51-1.76a5 5 0 0 1 -3.26-2.22z" fill="#4cc9f5"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="256" r="256" fill="#d80027"/><path fill="#ffda44" d="M140.1 155.8l22.1 68h71.5l-57.8 42.1 22.1 68-57.9-42-57.9 42 22.2-68-57.9-42.1H118zm163.4 240.7l-16.9-20.8-25 9.7 14.5-22.5-16.9-20.9 25.9 6.9 14.6-22.5 1.4 26.8 26 6.9-25.1 9.6zm33.6-61l8-25.6-21.9-15.5 26.8-.4 7.9-25.6 8.7 25.4 26.8-.3-21.5 16 8.6 25.4-21.9-15.5zm45.3-147.6L370.6 212l19.2 18.7-26.5-3.8-11.8 24-4.6-26.4-26.6-3.8 23.8-12.5-4.6-26.5 19.2 18.7zm-78.2-73l-2 26.7 24.9 10.1-26.1 6.4-1.9 26.8-14.1-22.8-26.1 6.4 17.3-20.5-14.2-22.7 24.9 10.1z"/></svg>

After

Width:  |  Height:  |  Size: 601 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="256" r="256" fill="#eee"/><path fill="#0052b4" d="M53 100.1a255 255 0 0 0-44.2 89.1H142l-89-89zm450.2 89.1a255 255 0 0 0-44.1-89l-89 89h133zM8.8 322.8a255 255 0 0 0 44.1 89l89-89H9zm403-269.9a255 255 0 0 0-89-44V142l89-89zM100.2 459.1a255 255 0 0 0 89.1 44V370l-89 89zm89-450.3a255 255 0 0 0-89 44.1l89 89.1V8.8zm133.6 494.4a255 255 0 0 0 89-44.1l-89-89v133zM370 322.8l89 89a255 255 0 0 0 44.2-89H370z"/><g fill="#d80027"><path d="M509.8 222.6H289.4V2.2A258.6 258.6 0 0 0 256 0c-11.3 0-22.5.7-33.4 2.2v220.4H2.2A258.6 258.6 0 0 0 0 256c0 11.3.7 22.5 2.2 33.4h220.4v220.4a258.4 258.4 0 0 0 66.8 0V289.4h220.4A258.5 258.5 0 0 0 512 256c0-11.3-.7-22.5-2.2-33.4z"/><path d="M322.8 322.8L437 437a256.6 256.6 0 0 0 15-16.4l-97.7-97.8h-31.5zm-133.6 0L75 437a256.6 256.6 0 0 0 16.4 15l97.8-97.7v-31.5zm0-133.6L75 75a256.6 256.6 0 0 0-15 16.4l97.7 97.8h31.5zm133.6 0L437 75a256.3 256.3 0 0 0-16.4-15l-97.8 97.7v31.5z"/></g></svg>

After

Width:  |  Height:  |  Size: 1003 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="256" r="256" fill="#eee"/><path fill="#0052b4" d="M496 345a255.4 255.4 0 0 0 0-178H16a255.5 255.5 0 0 0 0 178l240 22.3L496 345z"/><path fill="#d80027" d="M256 512a256 256 0 0 0 240-167H16a256 256 0 0 0 240 167z"/></svg>

After

Width:  |  Height:  |  Size: 302 B

View File

@ -1,3 +0,0 @@
<svg width="302" height="302" viewBox="0 0 302 302" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M151 0H226.5H302V75.6051H226.5H151H75.5V151.21V156.058V226.375V226.815V301.98H0V226.815V226.375V156.058V151.21V75.6051V0H75.5H151ZM226.502 226.395H151.442V151.23H301.958V229.039C301.958 248.382 294.288 266.933 280.634 280.615C266.98 294.296 248.459 301.988 229.143 302H226.502V226.395Z" fill="#6851FF"/>
</svg>

Before

Width:  |  Height:  |  Size: 460 B

View File

@ -1 +0,0 @@
<svg viewBox="0 0 23.99 16.95" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(23.99 0 0 -16.95 5769.62 6484.88)" gradientUnits="userSpaceOnUse" x1="-239.6" x2="-240.57" y1="382.68" y2="381.71"><stop offset="0" stop-color="#11c4d1"/><stop offset="1" stop-color="#0062ad"/></linearGradient><path d="m23.92.58c.79 10.71-6.1 15.78-12.27 16.32-5.74.5-11.15-3.03-11.65-8.45-.36-4.45 2.4-6.38 4.58-6.57a3.85 3.85 0 0 1 4.28 3.21c.15 1.8-1 2.62-1.75 2.68a1.3 1.3 0 0 1 -1.46-1.12c-.06-.69.21-.78.14-1.52a1.56 1.56 0 0 0 -1.87-1.4c-.76.07-2.13.95-1.92 3.14s2.31 4 5.09 3.71c3-.26 5.08-2.59 5.24-5.87a1.25 1.25 0 0 1 .11-.5 1.28 1.28 0 0 1 .11-.2 3.06 3.06 0 0 1 .26-.32l.27-.28c1.31-1.24 6-4.16 10.49-3.23a.43.43 0 0 1 .35.4" fill="url(#a)" transform="translate(.01)"/></svg>

Before

Width:  |  Height:  |  Size: 847 B

View File

@ -1,3 +0,0 @@
<svg width="742" height="86" viewBox="0 0 742 86" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 1L65.0031 77.8037C68.8029 82.3635 74.4319 85 80.3675 85H661.633C667.568 85 673.197 82.3635 676.997 77.8037L741 1" stroke="#2A2A2A"/>
</svg>

Before

Width:  |  Height:  |  Size: 250 B

View File

@ -1 +0,0 @@
<svg viewBox="0 0 133.81 202.3" xmlns="http://www.w3.org/2000/svg"><path d="m2 116.33 4.88-2.13 60.05-26.1 64.88 28.23-24.36 50.33-59.65 8.43-44.78-48.38z" fill="#133444"/><path d="m118.32 85.66a66.7 66.7 0 0 0 -42.52-23.52l-1.06-.14a64.78 64.78 0 0 0 -15.62 0l-1.07.13a66.62 66.62 0 0 0 -42.52 23.53l-2.7 4.48-4.49 7.46-3.28 5.46a1.64 1.64 0 0 1 -.18.44v.09l7.23 4.31 46 27.2 8.89 5.24v-65l-8.88 4v-9.7l8.88-4 8.87 4 45.13 20.55z" fill="#c42370" transform="translate(0 -.4)"/><path d="m133.81 132.88a71.69 71.69 0 0 1 -26.23 55 66.78 66.78 0 0 1 -21.12 11.72 62.14 62.14 0 0 1 -19.46 3.1c-37 0-67-32.89-67-69.82a68.57 68.57 0 0 1 2-16.2l64.88 38.39 64.89-38.39a64.63 64.63 0 0 1 2.04 16.2z" fill="#1c4d6b" transform="translate(0 -.4)"/><path d="m59.12 61.65 7.81 3.51-8.88 4.03v-8.03z"/><path d="m58.05 78.96 8.88-4.04v65.02l-8.88-5.24z"/><path d="m66.93 74.92v65.02l62.18-36.75z" fill="#1d4259"/><path d="m66.93 0v74.92l62.18 28.27z" fill="#4b6b9a"/><path d="m66.93 75.32v65l-8.88-5.24-53.21-31.49c0-.13.14-.31.18-.44l7.77-12.92 45.22-20.5v9.67z" fill="#343535" transform="translate(0 -.4)"/><path d="m66.93 74.92v65.02l-8.88-5.24-53.26-31.46-.04-.05.09-.09 53.21-24.14z" fill="#3e5578"/><path d="m66.93 0v74.92l-62.18 28.27z" fill="#6db2d8"/><g transform="translate(0 -.4)"><g fill="#335f8a"><path d="m41.76 197.37c.94.4 1.87.8 2.8 1.15-.93-.35-1.86-.75-2.8-1.15z"/><path d="m44.56 198.52c.93.36 1.91.72 2.88 1a24.52 24.52 0 0 1 -2.88-1z"/><path d="m49.89 200.34c.75.23 1.46.4 2.21.58-.71-.18-1.46-.4-2.21-.58z"/></g><path d="m2 116.73 64.88 38.39a75.28 75.28 0 0 1 -4.66 17c-5.22 12.6-15.66 25.88-36 15.75a71.65 71.65 0 0 1 -26.22-54.99 70.35 70.35 0 0 1 2-16.15z" fill="#6db2d8"/><path d="m107.54 187.87-.18.14c-.35.26-.67.53-1 .8l-.09.08c-.35.31-.75.58-1.11.85a12.07 12.07 0 0 1 -1.24.88 12.16 12.16 0 0 0 -1.24.89c-.4.31-.76.49-1.11.76l-.23.13c-.39.27-.79.49-1.15.75a.15.15 0 0 0 -.13.09c-.4.27-.8.49-1.2.76s-.89.49-1.33.75-.89.49-1.33.71l-1.33.66c-.44.22-.89.45-1.38.67s-.93.44-1.37.62c-.93.4-1.87.8-2.8 1.15s-1.91.71-2.88 1a12 12 0 0 1 -1.16.36l-1.28.4c-.76.22-1.47.4-2.22.58-.27.08-.58.13-.85.22l-.48.09-1.2.26c-.4.09-.71.14-1.11.22a8.37 8.37 0 0 1 -1 .18c-.36 0-.76.14-1.11.18a1.08 1.08 0 0 0 -.53.09l-.85.09h-.44a7.32 7.32 0 0 1 -.93.09 11.11 11.11 0 0 1 -1.16.09h-.89c-.32 0-.53.05-.79.05h-4.84a8.69 8.69 0 0 1 -1.25 0h-.93c-.27 0-.53-.05-.8-.05h-.89a11.13 11.13 0 0 0 -1.15-.09 3.27 3.27 0 0 1 -.93-.09h-.45a6 6 0 0 0 -.84-.09 2.35 2.35 0 0 1 -.53-.09 7.13 7.13 0 0 1 -1.11-.18 6.32 6.32 0 0 1 -1-.18 10.89 10.89 0 0 1 -1.11-.22c-.36-.09-.8-.17-1.2-.26l-.49-.09a7 7 0 0 1 -.92-.12c-.76-.18-1.51-.4-2.22-.58l-1.33-.4c-.4-.13-.8-.22-1.16-.36-1-.31-1.91-.66-2.88-1s-1.91-.75-2.8-1.15c-.44-.22-.93-.4-1.38-.62l-1.37-.67-1.33-.66c-.44-.22-.88-.49-1.33-.71s-.89-.49-1.33-.75-.8-.49-1.2-.76l-.13-.09a9.55 9.55 0 0 1 -1.16-.75l-.22-.13c-.35-.22-.75-.49-1.11-.76s-.84-.57-1.24-.89-.84-.57-1.24-.88l-1.11-.84-.09-.08c-.36-.27-.67-.54-1-.8l-.18-.14c20.28 10.12 30.8-3.19 36-15.71a75.31 75.31 0 0 0 4.67-17 75.17 75.17 0 0 0 4.66 17.05c5.26 12.36 15.74 25.68 36.02 15.55z" fill="#529bba"/><path d="m81.71 200.92c.75-.18 1.51-.4 2.22-.58-.71.18-1.47.4-2.22.58z" fill="#335f8a"/><path d="m86.41 199.55c1-.31 1.91-.67 2.89-1-.94.37-1.91.69-2.89 1z" fill="#335f8a"/><path d="m89.3 198.52c.93-.35 1.86-.75 2.79-1.15-.93.4-1.86.8-2.79 1.15z" fill="#335f8a"/><path d="m133.81 132.88a71.69 71.69 0 0 1 -26.23 55c-20.28 10.12-30.8-3.2-36-15.71a75.43 75.43 0 0 1 -4.66-17l64.88-38.39a65.7 65.7 0 0 1 2.01 16.1z" fill="#4b6b9a"/></g></svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -1 +0,0 @@
<svg viewBox="0 0 29 28" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h22.7a6.19 6.19 0 0 1 6.3 6.07v15.86a6.19 6.19 0 0 1 -6.3 6.07h-16.4a6.19 6.19 0 0 1 -6.3-6.07zm4.09 3.53v18.47a2.48 2.48 0 0 0 2.52 2.43h15.8a2.47 2.47 0 0 0 2.52-2.43v-16a2.47 2.47 0 0 0 -2.52-2.43zm4.41 0h4.06v14.13a2.48 2.48 0 0 1 -2.56 2.43h-5.91v-3.42h4.41zm12.03 20.93h-4.07v-14.14a2.48 2.48 0 0 1 2.54-2.43h5.95v3.42h-4.4z" fill="#3964df"/></svg>

Before

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -18,6 +18,9 @@
@import 'components/step';
@import 'components/header';
@import 'components/wallets';
@import 'components/modal';
@import 'components/flag';
@import 'components/dropdown';
.title {
span {
@ -35,3 +38,24 @@
background-size: contain;
background-repeat: no-repeat;
}
.delete {
border-radius: 0;
height: .902rem;
max-height: .902rem;
max-width: .902rem;
min-height: .902rem;
min-width: .902rem;
width: .902rem;
background-color: #FFFFFF;
mask-size: contain;
mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.2131 1.07106C15.0179 0.875816 14.7013 0.875799 14.506 1.07106L8.14207 7.43502L1.77811 1.07106C1.58286 0.875816 1.26627 0.875799 1.071 1.07106C0.875742 1.26632 0.875752 1.58292 1.071 1.77817L7.43496 8.14213L1.071 14.5061C0.875742 14.7014 0.875752 15.018 1.071 15.2132C1.26625 15.4084 1.58285 15.4085 1.77811 15.2132L8.14207 8.84924L14.506 15.2132C14.7013 15.4084 15.0179 15.4085 15.2131 15.2132C15.4084 15.0179 15.4084 14.7013 15.2131 14.5061L8.84918 8.14213L15.2131 1.77817C15.4084 1.58291 15.4084 1.26631 15.2131 1.07106Z' fill='%23C0D4F3'/%3E%3C/svg%3E%0A");
&::before, &::after {
content: none;
}
&:hover, &:focus {
background-color: #6B6B6B;
}
}

View File

@ -38,7 +38,7 @@ $navbar-item-hover-background-color: transparent;
$navbar-item-active-color: $primary;
$navbar-breakpoint: $tablet;
$modal-background-background-color: rgba(#050505, 0.86);
$modal-background-background-color: rgba(#000, 0.95);
$modal-card-title-color: $primary;
$modal-card-head-background-color: $primary-invert;
$modal-card-head-border-bottom: none;
@ -49,11 +49,26 @@ $modal-card-head-radius: 0;
$modal-card-body-padding: 0 1.5rem;
$modal-card-head-padding: 1.5rem;
$box-background-color: $primary-invert;
$box-background-color: #1F1F1F;
$box-shadow: none;
$box-color: #fefefe;
$box-padding: 1.5rem;
$footer-background-color: transparent;
$footer-padding: 2rem;
$dropdown-item-color: $white;
$dropdown-content-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #6B6B6B;
$dropdown-content-background-color: $primary-invert;
$dropdown-item-hover-background-color: #2B2B2B;
$dropdown-item-hover-color: $white;
$dropdown-item-active-background-color: #313131;
$dropdown-item-active-color: $white;
$dropdown-content-padding-bottom: 0;
$dropdown-content-padding-top: 0;
@import '~bulma/sass/base/_all';
@import '~bulma/sass/helpers/_all';
@import '~bulma/sass/elements/_all';

View File

@ -1,6 +1,29 @@
.button {
font-weight: 700;
&.is-icon {
width: 1.5rem;
height: 1.5rem;
padding: 0;
background-color: transparent;
border: none;
.icon {
height: 1.5rem;
width: 1.5rem;
}
.trnd {
width: 100%;
height: 100%;
background-color: #6B6B6B;
}
&:focus:not(:active), &.is-focused:not(:active) {
box-shadow: none;
}
}
&.is-primary {
&.is-outlined {
background-color: #182922;
@ -41,3 +64,16 @@
}
}
}
.buttons {
.button.is-icon:not(:last-child):not(.is-fullwidth) {
margin-right: 1.25rem;
}
.break {
margin: 0 1.25rem .5rem 0;
width: 1px;
align-self: stretch;
background-color: #2A2A2A;
}
}

View File

@ -0,0 +1,53 @@
.dropdown.is-mobile-modal {
.dropdown-content {
overflow: hidden;
}
.dropdown-item {
&:focus {
outline: none;
}
}
&.is-expanded-modal {
.dropdown-menu {
@include desktop {
min-width: 400px;
}
}
}
}
.dropdown-langs {
margin-bottom: .5rem;
.dropdown-menu {
min-width: auto;
padding-top: 0;
padding-bottom: .5rem;
}
&.is-mobile-modal {
.dropdown-menu {
max-width: 100px;
}
}
a.dropdown-item {
padding-right: 1rem;
line-height: 24px;
display: inline-flex;
align-items: center;
justify-content: center;
font-weight: 400;
.flag-icon {
margin-right: .5rem;
}
}
.button {
margin-bottom: 0;
}
}

View File

@ -0,0 +1,24 @@
.flag-icon {
background-size: contain;
background-position: 50%;
background-repeat: no-repeat;
position: relative;
display: inline-block;
height: 24px;
width: 24px;
&:before {
content: '\00a0';
}
}
// https://github.com/HatScripts/circle-flags/tree/master/flags
@mixin flag-icon($country) {
.flag-icon-#{$country} {
background-image: url('../images/flags/#{$country}.svg');
}
}
$countries: gb ru cn;
@each $country in $countries {
@include flag-icon($country);
}

View File

@ -26,4 +26,20 @@
&-logout {
mask-image: url("data:image/svg+xml,%3Csvg width='19' height='18' viewBox='0 0 19 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 0C1.79083 0 0 1.79086 0 4V14C0 16.2091 1.79083 18 4 18H10C10.5523 18 11 17.5523 11 17C11 16.4477 10.5523 16 10 16H4C2.89545 16 2 15.1046 2 14V4C2 2.89543 2.89545 2 4 2H10C10.5523 2 11 1.55228 11 1C11 0.447716 10.5523 0 10 0H4Z' fill='%230E1633'/%3E%3Cpath d='M15.1213 5.70708C14.7308 5.31655 14.0976 5.31655 13.7071 5.70708C13.3165 6.0976 13.3165 6.73077 13.7071 7.12129L14.5858 7.99997H6C5.44769 7.99997 5 8.44769 5 8.99997C5 9.55225 5.44769 9.99997 6 9.99997H14.6406L13.707 10.9336C13.3165 11.3241 13.3165 11.9571 13.707 12.3476C14.0975 12.7381 14.7306 12.7381 15.1211 12.3476L17.7148 9.75388C17.9575 9.51125 18.0494 9.17508 17.9905 8.86153C17.9597 8.63882 17.8555 8.43955 17.7031 8.28889L15.1213 5.70708Z' fill='%230E1633'/%3E%3C/svg%3E%0A");
}
&-stats {
mask-image: url("data:image/svg+xml,%3Csvg width='22' height='24' viewBox='0 0 22 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 0C12.4477 0 12 0.447693 12 1V19C12 19.5523 12.4477 20 13 20C13.5523 20 14 19.5523 14 19V1C14 0.447693 13.5523 0 13 0Z' fill='%23838BAD'/%3E%3Cpath d='M8 6C8 5.44769 8.44769 5 9 5C9.55231 5 10 5.44769 10 6V19C10 19.5523 9.55231 20 9 20C8.44769 20 8 19.5523 8 19V6Z' fill='%23838BAD'/%3E%3Cpath d='M5 8C4.44769 8 4 8.44769 4 9V19C4 19.5523 4.44769 20 5 20C5.55231 20 6 19.5523 6 19V9C6 8.44769 5.55231 8 5 8Z' fill='%23838BAD'/%3E%3Cpath d='M0 13C0 12.4477 0.447693 12 1 12C1.55231 12 2 12.4477 2 13V19C2 19.5523 1.55231 20 1 20C0.447693 20 0 19.5523 0 19V13Z' fill='%23838BAD'/%3E%3Cpath d='M0 23C0 22.4477 0.447693 22 1 22H21C21.5523 22 22 22.4477 22 23C22 23.5523 21.5523 24 21 24H1C0.447693 24 0 23.5523 0 23Z' fill='%23838BAD'/%3E%3Cpath d='M16 9C16 8.44769 16.4477 8 17 8C17.5523 8 18 8.44769 18 9V19C18 19.5523 17.5523 20 17 20C16.4477 20 16 19.5523 16 19V9Z' fill='%23838BAD'/%3E%3Cpath d='M21 5C20.4477 5 20 5.44769 20 6V19C20 19.5523 20.4477 20 21 20C21.5523 20 22 19.5523 22 19V6C22 5.44769 21.5523 5 21 5Z' fill='%23838BAD'/%3E%3C/svg%3E%0A");
}
&-twitter {
mask-image: url("data:image/svg+xml,%3Csvg width='24' height='20' viewBox='0 0 24 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 2.3037C23.1075 2.69439 22.1565 2.95335 21.165 3.07909C22.185 2.47135 22.9635 1.51634 23.3295 0.365239C22.3785 0.93106 21.3285 1.33073 20.2095 1.55376C19.3065 0.594262 18.0195 0 16.6155 0C13.8915 0 11.6985 2.2064 11.6985 4.91127C11.6985 5.30046 11.7315 5.67468 11.8125 6.03094C7.722 5.83185 4.1025 3.87543 1.671 0.895135C1.2465 1.6301 0.9975 2.47135 0.9975 3.37696C0.9975 5.07742 1.875 6.58478 3.183 7.45746C2.3925 7.44249 1.617 7.21347 0.96 6.85272C0.96 6.86769 0.96 6.88715 0.96 6.90661C0.96 9.29264 2.6655 11.2745 4.902 11.7311C4.5015 11.8403 4.065 11.8927 3.612 11.8927C3.297 11.8927 2.979 11.8748 2.6805 11.8089C3.318 13.7533 5.127 15.1829 7.278 15.2293C5.604 16.536 3.4785 17.3234 1.1775 17.3234C0.774 17.3234 0.387 17.3054 0 17.2561C2.1795 18.6586 4.7625 19.4595 7.548 19.4595C16.602 19.4595 21.552 11.9751 21.552 5.48757C21.552 5.27052 21.5445 5.06096 21.534 4.85289C22.5105 4.16133 23.331 3.29763 24 2.3037Z' fill='%23838BAD'/%3E%3C/svg%3E%0A");
}
&-telegram {
mask-image: url("data:image/svg+xml,%3Csvg width='24' height='20' viewBox='0 0 24 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.4174 13.1813L9.0204 18.7653C9.58841 18.7653 9.83441 18.5213 10.1294 18.2283L12.7925 15.6833L18.3106 19.7243C19.3226 20.2883 20.0357 19.9913 20.3087 18.7933L23.9308 1.8214L23.9318 1.8204C24.2528 0.324404 23.3907 -0.260593 22.4047 0.106405L1.1142 8.25736C-0.33883 8.82136 -0.31683 9.63136 0.867199 9.99835L6.31033 11.6913L18.9536 3.78039C19.5486 3.38639 20.0897 3.60439 19.6446 3.99839L9.4174 13.1813Z' fill='%23838BAD'/%3E%3C/svg%3E%0A");
}
&-github {
mask-image: url("data:image/svg+xml,%3Csvg width='24' height='23' viewBox='0 0 24 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 0C5.37 0 0 5.28 0 11.792C0 17.003 3.438 21.422 8.205 22.98C8.805 23.091 9.025 22.726 9.025 22.413C9.025 22.133 9.015 21.391 9.01 20.408C5.672 21.119 4.968 18.826 4.968 18.826C4.422 17.465 3.633 17.101 3.633 17.101C2.546 16.37 3.717 16.385 3.717 16.385C4.922 16.467 5.555 17.6 5.555 17.6C6.625 19.403 8.364 18.882 9.05 18.581C9.158 17.818 9.467 17.299 9.81 17.004C7.145 16.709 4.344 15.695 4.344 11.177C4.344 9.89 4.809 8.838 5.579 8.013C5.444 7.715 5.039 6.516 5.684 4.892C5.684 4.892 6.689 4.576 8.984 6.101C9.944 5.839 10.964 5.709 11.984 5.703C13.004 5.709 14.024 5.839 14.984 6.101C17.264 4.576 18.269 4.892 18.269 4.892C18.914 6.516 18.509 7.715 18.389 8.013C19.154 8.838 19.619 9.89 19.619 11.177C19.619 15.707 16.814 16.704 14.144 16.994C14.564 17.348 14.954 18.071 14.954 19.176C14.954 20.754 14.939 22.022 14.939 22.405C14.939 22.714 15.149 23.083 15.764 22.965C20.565 21.417 24 16.995 24 11.792C24 5.28 18.627 0 12 0Z' fill='%23838BAD'/%3E%3C/svg%3E%0A");
}
}

View File

@ -0,0 +1,25 @@
.box-modal {
max-width: 440px;
overflow-y: auto;
&-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1.5rem;
&.is-spaced {
margin-bottom: .475rem;
}
}
&-title {
font-size: 1rem;
font-weight: bold;
}
.note {
font-size: 0.875rem;
margin-bottom: 1rem;
}
}

View File

@ -3,15 +3,11 @@
margin: -0.5rem;
> .control {
margin: 0;
&.control-with-select {
margin: 0.5rem;
}
margin: 0.5rem;
&:not(.control-with-select) {
.button {
margin: 0.5rem;
height: 100%;
}
}
}
@ -23,11 +19,16 @@
height: auto;
&.is-black {
color: $primary-invert;
background-color: #559774;
&:hover {
background-color: #94febf;
}
&[disabled] {
background-color: #559774;
}
}
&:before {
@ -48,33 +49,9 @@
background-image: url('../images/ethereum.svg');
}
&.is-portis:before {
background-image: url('../images/portis.svg');
}
&.is-torus:before {
background-image: url('../images/torus.png');
}
&.is-squarelink:before {
background-image: url('../images/squarelink.svg');
}
&.is-trustwallet:before {
background-image: url('../images/trustwallet.svg');
}
&.is-imtoken:before {
background-image: url('../images/imtoken.svg');
}
&.is-alphawallet:before {
background-image: url('../images/alphawallet.svg');
}
&.is-fortmatic:before {
background-image: url('../images/fortmatic.svg');
}
}
.control-with-select {

105
components/Footer.vue Normal file
View File

@ -0,0 +1,105 @@
<template>
<footer class="footer">
<div class="container">
<div class="level">
<div class="level-left"></div>
<div class="level-right">
<div class="level-item is-column">
<div class="level-subitem">
<div class="buttons">
<b-button
tag="a"
type="is-icon"
href="https://explore.duneanalytics.com/public/dashboards/UEU02CHiGtNw9crfeD6OJ7bKPnvFtNjOgZ7Vc6uj"
target="_blank"
icon-right="stats"
></b-button>
<b-button
tag="a"
type="is-icon"
href="https://twitter.com/TornadoCash"
target="_blank"
icon-right="twitter"
></b-button>
<b-button
tag="a"
type="is-icon"
href="https://t.me/TornadoCashOfficial"
target="_blank"
icon-right="telegram"
></b-button>
<b-button
tag="a"
type="is-icon"
href="https://github.com/tornadocash"
target="_blank"
icon-right="github"
></b-button>
<div class="break"></div>
<b-dropdown
v-model="$i18n.locale"
class="dropdown-langs"
position="is-top-left"
aria-role="list"
@change="langChange"
>
<b-button slot="trigger" type="is-icon">
<FlagIcon
:code="$i18n.locale"
:class="'is-active-locale-' + $i18n.locale"
/>
</b-button>
<b-dropdown-item
v-for="locale in locales"
:key="locale"
:value="locale"
aria-role="listitem"
>
<FlagIcon :code="locale" />
{{ printLang(locale) }}
</b-dropdown-item>
</b-dropdown>
</div>
</div>
</div>
</div>
</div>
</div>
</footer>
</template>
<script>
import { FlagIcon } from '@/components/icons'
export default {
components: {
FlagIcon,
},
computed: {
locales() {
return this.$i18n.availableLocales
},
},
methods: {
langChange(lang) {
localStorage.setItem('lang', lang)
if (lang === 'zh') {
lang += '-cn'
}
// this.$moment.locale(lang)
},
printLang(lang) {
let code = lang
switch (code) {
case 'zh':
code = 'cn'
break
}
return code.toUpperCase()
},
},
}
</script>

View File

@ -6,7 +6,7 @@
</b-navbar-item>
</template>
<template slot="start">
<b-navbar-item>Info</b-navbar-item>
<b-navbar-item>{{ $t('info') }}</b-navbar-item>
</template>
<template slot="end">
<b-navbar-item tag="div">
@ -17,7 +17,7 @@
outlined
icon-left="logout"
@click="onLogOut"
>Logout</b-button
>{{ $t('logout') }}</b-button
>
<b-button
v-else
@ -25,7 +25,7 @@
outlined
icon-left="wallet"
@click="onLogIn"
>Connect</b-button
>{{ $t('connect') }}</b-button
>
</div>
</b-navbar-item>

View File

@ -1,49 +0,0 @@
<template>
<b-select
v-model="selectedNetwork"
class="network-select"
placeholder="Select a network"
size="is-small"
expanded
@input="updateNetwork()"
>
<option
v-for="network in networks"
:key="network.networkName"
:value="network.networkName.toLowerCase()"
>
{{ network.networkName }}
</option>
</b-select>
</template>
<script>
import networkConfig from '@/networkConfig'
export default {
props: {
value: {
type: String,
required: true,
},
},
data() {
return {
selectedNetwork: this.value,
networkConfig,
}
},
computed: {
networks() {
const networkConfig = Object.assign({}, this.networkConfig)
delete networkConfig.netId333
return networkConfig
},
},
methods: {
updateNetwork() {
this.$emit('input', this.selectedNetwork)
},
},
}
</script>

View File

@ -3,14 +3,21 @@
<diamond :active="!!data.deployerAddress" />
<div class="step-body">
<h4>{{ data.title }}</h4>
<div v-if="data.deployerAddress" class="deployed">
Deployed by: <a href="#">{{ data.deployerAddress }}</a>
</div>
<i18n
v-if="data.deployerAddress"
class="deployed"
tag="div"
path="deployedBy"
>
<template v-slot:link>
<a href="#">{{ data.deployerAddress }}</a>
</template>
</i18n>
</div>
<div class="step-tail">
<div v-if="data.deployerAddress" class="completed">
<b-icon icon="check" />
<span>Completed</span>
<span>{{ $t('completed') }}</span>
</div>
<b-button
v-else
@ -19,7 +26,7 @@
icon-left="tool"
@click="onDeploy"
>
Deploy
{{ $t('deploy') }}
</b-button>
</div>
</div>

View File

@ -1,126 +1,76 @@
<template>
<div class="modal-card box box-modal is-wallet-modal">
<div class="title">{{ $t('yourWallet') }}</div>
<div class="modal-card box box-modal">
<header class="box-modal-header is-spaced">
<div class="box-modal-title">{{ $t('yourWallet') }}</div>
<button type="button" class="delete" @click="$emit('close')" />
</header>
<div class="note">
{{ $t('pleaseSelectYourWeb3Wallet') }}
</div>
<div
class="field is-grouped is-grouped-centered is-grouped-multiline wallets"
>
<div class="control">
<!-- <div v-show="isGeneric" class="control">
<button
v-show="isGeneric"
class="button is-small is-black is-generic"
@click="_web3Connect('generic')"
>
{{ $t('otherWallet') }}
</button>
<button
v-show="isMetamask"
class="button is-small is-black is-metamask"
@click="_web3Connect('metamask')"
</div> -->
<div class="control">
<b-tooltip
:label="$t('pleaseInstallMetamask')"
position="is-top"
:active="!isMetamask"
multilined
>
Metamask
</button>
<button
:disabled="!isMetamask"
class="button is-small is-black is-metamask"
@click="_web3Connect('metamask')"
>
Metamask
</button>
</b-tooltip>
</div>
<div v-show="isTrust" class="control">
<button
v-show="isTrust"
class="button is-small is-black is-trustwallet"
@click="_web3Connect('trustwallet')"
>
Trust Wallet
</button>
<button
v-show="isImToken"
class="button is-small is-black is-imtoken"
@click="_web3Connect('imtoken')"
>
imToken
</button>
<button
v-show="isAlphaWallet"
class="button is-small is-black is-alphawallet"
@click="_web3Connect('alphawallet')"
>
AlphaWallet
</button>
</div>
<div class="control control-with-select">
<button
class="button is-small is-black is-portis"
@click="_web3Connect('portis', portisNetwork)"
>
Portis
</button>
<NetworkSelect v-model="portisNetwork" />
</div>
<div class="control control-with-select">
<button
class="button is-small is-black is-squarelink"
@click="_web3Connect('squarelink', squarelinkNetwork)"
>
Squarelink
</button>
<NetworkSelect v-model="squarelinkNetwork" />
</div>
<div class="control control-with-select">
<button
class="button is-small is-black is-fortmatic"
@click="_web3Connect('fortmatic', fortmaticNetwork)"
>
Fortmatic
</button>
<NetworkSelect v-model="fortmaticNetwork" />
</div>
</div>
</div>
</template>
<script>
/* eslint-disable no-console */
import NetworkSelect from '@/components/NetworkSelect'
export default {
components: {
NetworkSelect,
},
data() {
return {
isBackuped: false,
portisNetwork: 'mainnet',
squarelinkNetwork: 'mainnet',
fortmaticNetwork: 'mainnet',
}
},
computed: {
isMetamask() {
return window.web3 && window.web3.currentProvider.isMetaMask
},
isGeneric() {
return (
!this.isMetamask &&
!this.isTrust &&
!this.isImToken &&
!this.isAlphaWallet &&
(window.web3 || window.ethereum)
)
},
// isGeneric() {
// return (
// !this.isMetamask && !this.isTrust && (window.web3 || window.ethereum)
// )
// },
isTrust() {
return window.web3 && window.web3.currentProvider.isTrust
},
isImToken() {
return window.ethereum && window.ethereum.isImToken
},
isAlphaWallet() {
return window.web3 && window.web3.currentProvider.isAlphaWallet
},
},
methods: {
async _web3Connect(name, network) {
_web3Connect(name, network) {
this.$store.dispatch('loading/enable', {})
try {
await this.$store.dispatch('metamask/initialize', {
providerName: name,
networkName: network,
})
// TODO: update connect with new provider module
// await this.$store.dispatch('metamask/initialize', {
// providerName: name,
// networkName: network,
// })
} catch (e) {
console.error(e)
}

View File

@ -0,0 +1,26 @@
<template>
<i v-if="code" class="flag-icon" :class="flagIconClass"></i>
</template>
<script>
export default {
name: 'FlagIcon',
props: {
code: { type: String, default: null },
},
computed: {
flagIconClass() {
let code = this.code
switch (code) {
case 'zh':
code = 'cn'
break
case 'en':
code = 'gb'
break
}
return 'flag-icon-' + code
},
},
}
</script>

View File

@ -0,0 +1 @@
export { default as FlagIcon } from './FlagIcon'

View File

@ -1,310 +1,22 @@
{
"closeNotification": "Close notification",
"indexNotification": "Tornado.cash {link}. However, it is still an experimental software. Please use at your own risk.",
"indexNotificationLinkText": "was audited",
"deposit": "Deposit",
"depositButton": "Deposit",
"withdraw": "Withdraw",
"withdrawButton": "Withdraw",
"howToMakeADeposit": "How to make a deposit",
"chooseAToken": "Choose a token",
"selectAmountToDeposit": "Select amount to deposit",
"clickDeposit": "Click Deposit",
"backupTheNote": "Backup the note",
"clickSendDeposit": "Click Send Deposit",
"confirmTheTransaction": "Confirm the transaction",
"waitUntilTransactionIsMined": "Wait until transaction is mined",
"done": "Done!",
"howToMakeAWithdrawWidthRelayer": "How to make a withdraw with relayer",
"enterYourDepositsNote": "Enter your deposit's note",
"enterRecipientAddress": "Enter recipient address",
"clickWithdraw": "Click Withdraw",
"clickWithdrawAfterProof": "Click Withdraw",
"waitUntilProofIsGenerated": "Wait until proof is generated",
"howToMakeAWithdrawWithMetamask": "How to make a withdraw with metamask",
"clickSettingsIcon": "Click settings icon {icon}",
"chooseWalletOption": "Choose Wallet option",
"clickSaveButton": "Click Save button",
"signTransaction": "Sign transaction",
"video": "Video",
"yourWallet": "Your Wallet",
"pleaseSelectYourWeb3Wallet": "Please select your Web3 compatible wallet:",
"otherWallet": "Other Wallet",
"currentNetworkIsNotSupported": "Current network is not supported. Try Kovan or Mainnet",
"tutorial": "Tutorial",
"stats": "Stats",
"about": "About",
"privacyTips": "Privacy tips",
"getFreeKETH": "Get Free kETH",
"logout": "Logout",
"connect": "Connect",
"token": "Token",
"amount": "Amount",
"amountTooltip": "Each amount is a standalone Tornado Cash instance with a separate anonymity set. Check the stats tab for more info.",
"approvalIsRequired": "Approval is required",
"inOrderToUse": "In order to use {currency} you have to enable it for Tornado.cash. Select the amount you would like to approve:",
"unlimited": "Unlimited",
"unlimitedTooltip": "The unlimited approval is more convenient if you are going to make multiple deposits.",
"enable": "Enable",
"transactionWasSuccessfullySent": "The transaction was successfully sent.",
"insufficientBalance": "Insufficient balance",
"youDontHaveEnoughTokens": "You don't have enough {currency} tokens. Your current balance is {balance} {currency}",
"close": "Close",
"yourNote": "Your note",
"pleaseBackupYourNote": "Please backup your note. If you lose it, you won't get your deposit back.",
"iBackedUpTheNote": "I backed up the note",
"yourNoteWontBeSaved": "Your note won't be saved in browser cache, please make sure it's backed up.",
"sendDeposit": "Send Deposit",
"clickToCopy": "Click to copy",
"copied": "Copied!",
"preparingTransactionData": "Preparing Transaction Data",
"viewInExplorer": "View in explorer",
"loading": "Loading",
"pleaseConfirmTransactionInWallet": "Please confirm transaction in {wallet}",
"waitingForTransactionConfirmation": "Waiting for transaction confirmation",
"relayerIsNowSendingYourTransaction": "Relayer is now sending your transaction. It will respond with a transaction hash soon",
"note": "Note",
"noteTooltip": "Please enter the note you received when you made the deposit",
"depositTransactionOnEtherscan": "Deposit transaction on etherscan",
"withdrawalSettings": "Withdrawal settings",
"pleaseEnterYourNote": "Please enter your note",
"turnOnWasm": "Error: Please turn on WebAssembly in your browser settings.<br /> If you are using Tor browser, enable javascript.options.wasm in about:config",
"timePassed": "Time passed",
"timePassedTooltip": "Even if there are multiple deposits after yours, they could have been made by the same user. Therefore, we recommend waiting for at least 24 hours before withdrawing funds to ensure that there are multiple users that utilized Tornado.cash during that time.",
"subsequentDeposits": "Subsequent deposits",
"subsequentDepositsTooltip": "The most likely source of a withdrawal is recent deposits. Therefore, we recommend allowing at least 5 deposits after yours for better anonymity.",
"recipientAddress": "Recipient Address",
"donate": "Donate",
"pleasePasteAddressHere": "Please paste address here",
"noteIsInvalid": "Note is invalid",
"noteHasBeenSpent": "Note has been spent",
"gettingTheNoteData": "Getting the note data",
"noteWasAlreadySpent": "Note was already spent",
"error": "Error",
"validationError": "Validation Error",
"recipientAddressIsInvalid": "Recipient address is invalid",
"total": "Total",
"noteBalance": "Note balance",
"relayerFee": "Relayer fee",
"ethPurchase": "ETH Purchase",
"ethPurchaseTooltip": "Exchange some of your deposit's DAI to ETH during the withdrawal to pay for gas in future transactions.",
"tokensToReceive": "Tokens to receive",
"relayer": "Relayer",
"relayerTooltip": "Use the relayer service to send your transaction. It is more anonymous since the gas fee is subtracted from the deposited funds.",
"custom": "Custom",
"pasteYourRelayerUrlorEnsRecord": "Paste your relayer URL or ENS record",
"wallet": "Wallet",
"walletTooltip": "Use your own account to initiate a withdrawal (e.g. Metamask or TrustWallet).",
"save": "Save",
"setToDefaults": "Set to Defaults",
"withdrawWalletWarning": "Make sure that ETH used to pay for the gas fee is not linkable to ANY of your addresses. Otherwise, the anonymity of the withdrawal will be compromised. We recommend using a Relayer instead.",
"withdrawalConfirmation": "Withdrawal Confirmation",
"confirm": "Confirm",
"yourZkSnarkProofHasBeenSuccesfullyGenerated": "Your zkSnark proof has been successfully generated! Please click Confirm to initiate the withdrawal",
"generatingProof": "Generating proof",
"statistics": "Statistics",
"anonymitySet": "Anonymity set",
"anonymitySetTooltip": "Number of deposits your withdrawal will potentially originate from",
"latestDeposits": "Latest deposits",
"yourIP": "Your IP {ip}",
"ipTooltip": "Make sure to use different IP addresses for deposits and withdrawals as well as further operations with withdrawal account. We recommend using a TOR browser or a VPN service.",
"filterBy": "Filter by",
"twentyFourHoursAfterDeposit": "24 hours after deposit",
"spent": "Spent",
"unspent": "Unspent",
"thereAreNoElements": "There are no elements that meet the filters.",
"txHash": "Tx Hash",
"status": "Status",
"copyNote": "Copy Note",
"v1Deposit": "v1 deposit",
"waitingForReceipt": "Waiting for receipt",
"failed": "Failed",
"withdrawn": "Withdrawn",
"deposited": "Deposited",
"removeFromCache": "Remove from cache",
"pleaseMakeSureYouHaveBackedUpYourNote": "Please make sure you have backed up your note if it's not already been spent. Do you still want to remove this transaction and the note from Browser storage?",
"remove": "Remove",
"noteHasBeenDeleted": "Note has been deleted",
"cancelButton": "Cancel",
"donationsAddress": "Donations address:",
"rate": "Rate",
"equalUserDeposit": "There are no deposits | One deposit | Only {n} equal user deposits | {n} equal user deposits",
"userDeposit": "no deposits | only 1 deposit | only {n} deposits | {n} deposits",
"gasPrice": "Gas Price",
"totalFee": "Total fee",
"networkFee": "Network fee",
"connectYourWalletFirst": "Connect your wallet first",
"changeNetworkInYourWallet": "Change network to {networkName} in your wallet",
"relayerShouldSupportSSL": "The relayer should support SSL",
"relayerStatusOk": "Relayer status: OK",
"canNotFetchStatusFromTheRelayer": "Can not fetch status from the relayer",
"thisRelayerServesADifferentNetwork": "This relayer serves a different network",
"compliance": "Compliance",
"complianceTool": "compliance tool",
"complianceReport": "Compliance Report",
"complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedoms.{newline} However, it should not come at the cost of non-compliance. With Tornado.cash, you can always provide cryptographically verified proof of transactional history using the Ethereum address you used to deposit or withdraw funds. This might be necessary to show the origin of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado.cash Note below.",
"from": "From",
"to": "To",
"withdrawal": "Withdrawal",
"noteHasNotBeenSpent": "The note has not been spent",
"noteHasNotBeenSpentMining": "The note has not been spent. In order to claim the reward you should withdraw your deposit first. DON'T SHARE THIS NOTE TO ANYONE INCLUDING TORNADO.CASH TEAM.",
"thereIsNoRelatedDeposit": "There is no related deposit. The note is invalid.",
"warning": "Warning",
"doNotShareYouNote": "Do not share your Note with anyone since it WILL be used to withdraw your funds!",
"date": "Date",
"fee": "Fee",
"transaction": "Transaction",
"commitment": "Commitment",
"nullifier": "Nullifier",
"verified": "Verified",
"generatePdfReport": "Generate PDF report",
"compliancePrintWarning": "This Compliance Report is for informational purposes only. You should confirm the validity of this report by using Tornados Compliance Tool (https://tornado.cash/compliance) or with any other cryptographic software that can compute and verify the information contained herein(the \"Tornado Compliance Tool\"). Any discrepancies between information found in this report and provided by the above tool indicate that the information in this report is inaccurate and/or fraudulent.{newline}THE COMPLIANCE REPORT IS PROVIDED \"AS IS,\" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OF THE TORNADO.CASH COMPLIANCE TOOL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THIS COMPLIANCE REPORT.",
"relayRequestFailed": "Relayer {relayerName} is down. Please choose a different relayer.",
"selectProvider": "Select provider",
"walletDoesNotSupported": "The wallet is not supported",
"fetchGasPriceFailed": "Fetch gasPrice failed",
"networkIsNotSupported": "Network is not supported",
"failToGenerateNote": "Fail to generate note",
"invalidRoot": "Invalid Root",
"failedToFetchAllDepositEvents": "Failed to fetch all deposit events from contract",
"unknownError": "Unknown error",
"unitInvalidValue": "[ethjs-unit] while converting number {value} to wei, invalid value",
"tooManyDecimalPoints": "[ethjs-unit] while converting number {value} to wei, too many decimal points",
"tooManyDecimalPlaces": "[ethjs-unit] while converting number {value} to wei, too many decimal places",
"settings": "Settings",
"rpc": "RPC endpoint",
"rpcStatusOk": "RPC status: OK",
"rpcIsDown": "RPC is down",
"thisRpcIsForDifferentNetwork": "The RPC is for a different network",
"rpcSelectError": "All predefined RPC are down. Probably a network error. You can select custom RPC in Settings",
"rpcShouldSupportSSL": "The RPC should support SSL",
"customRpcPlaceholder": "Paste your RPC URL",
"customRpc": "Custom",
"info": "Info",
"inTor": "is hidden by Tor",
"mining": "Mining",
"miningTool": "anonymity mining",
"miningSubtitle": "Earn TORN token by using the Tornado.cash protocol.",
"notReadyForMining": "The note is not spent or not ready for anonymity mining.",
"claimReward": "Claim Reward",
"withdrawTorn": "Withdraw",
"miningAccount": "In order to claim rewards you need to setup an account.",
"setup": "Setup",
"connectWithRecoveryKey": "Connect with recovery key",
"enterRecoveryKey": "Please enter your recovery key",
"recoverTitle": "Connect with recovery key",
"recoverDescription": "Please enter your key to recover the account you previously setup.",
"setupTitle": "Setup account",
"setupDescription": "Here is your recovery key, please backup it.",
"copy": "Copy",
"recoveryKey": "Recovery key",
"iBackedUpTheRecovery": "I backed up the recovery key",
"yourRecoveryKeyWontBeSaved": "Your recovery key won't be saved in browser cache, please make sure it's backed up.",
"gettingAccountFromChain": "Getting account data from blockchain",
"recoverFromChain": "Recover using wallet",
"publicKeyRequest": "Please confirm public key request in your wallet",
"reward": "Reward",
"balanceBefore": "Balance before",
"accountBalance": "Private balance",
"publicBalance": "Public balance",
"totalClaimed": "Total claimed",
"availableToClaim": "Available to claim",
"readMoreFirstTitle": "How its work",
"readMoreFirstParagraph": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.",
"readMoreSecondTitle": "Get more rewards",
"readMoreSecondParagraph": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.",
"readMore": "Read more",
"gettingAccount": "Getting the account data",
"thereAreNoTransactions": "There are no transactions here yet.",
"claimed": "Claimed",
"isClaimed": "The reward has already been claimed",
"governance": "Voting",
"delegatedBalance": "Delegated balance",
"votingPower": "Voting Power",
"delegated": "delegated",
"availableBalance": "Available balance",
"manage": "Manage",
"proposals": "Proposals",
"all": "All",
"active": "Active",
"expired": "Expired",
"pending": "Pending",
"passed": "Passed",
"createProposal": "Create proposal",
"startDate": "Start Date",
"endDate": "End Date",
"for": "For",
"against": "Against",
"title": "Title",
"description": "Description",
"proposalAddress": "Proposal Address",
"lock": "Lock",
"unlock": "Unlock",
"proposalThresholdError": "Locked balance should be more or equal to {PROPOSAL_THRESHOLD} TORN",
"airdrop": "Airdrop",
"airdropTitle": "Tornado cash token airdrop for earlier adopters",
"airdropSubtitle": "Every user that used tornado.cash protocol receives TORN token voucher (vTORN). It can be redeemed to get TORN token one to one.",
"redeem": "Redeem",
"voucherBalance": "Voucher Balance",
"currentBalance": "Current Balance",
"castYourVote": "Cast your vote",
"currentResults": "Current results",
"informations": "Informations",
"amountToLock": "Amount to lock",
"amountToUnlock": "Amount to unlock",
"lockedBalance": "Locked balance",
"lockTabDesc": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.",
"unlockTabDesc": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.",
"delegateTabDesc": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.",
"undelegateTabDesc": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.",
"recipient": "Recipient",
"address": "Address",
"delegate": "Delegate",
"undelegate": "Undelegate",
"currentDelegate": "Current delegate",
"approve": "Approve",
"proposalTitle": "Proposal Title",
"proposalDescription": "Proposal Description",
"onlyEthNotes": "Only for the ETH instances",
"defeated": "Defeated",
"savingAccount": "Saving account",
"redeeming": "Redeeming {value}",
"creatingProposal": "Creating proposal",
"claimingReward": "Claiming reward",
"withdrawingReward": "withdrawingReward",
"depositing": "Depositing {value}",
"withdrawing": "Withdrawing {value}",
"claiming": "Claiming {value}",
"locking": "Locking",
"votingFor": "Voting for",
"votingAgainst": "Voting against",
"unlocking": "Unlocking",
"delegating": "Delegating",
"undelegating": "Undelegating",
"viewOnEtherscan": "View on Etherscan",
"claimSettings": "Claim settings",
"awaitingExecution": "Awaiting Execution",
"execute": "Execute",
"executeProposal": "Execute Proposal",
"locked": "locked",
"pleaseLockBalance": "Please lock some balance first in order to delegate",
"pleaseDelegate": "You haven't set a delegatee yet",
"internalError": "Internal Error. Please refresh the page and try again",
"id": "ID",
"timer": "Timer",
"accepted": "Accepted",
"sent": "Sent",
"mined": "Mined",
"confirmed": "Confirmed",
"pleaseLockTornFirst": "Please lock some TORN tokens first",
"tokensLockedUntil": "Your balance is locked until {date}",
"onlyOneProposalErr": "Only one live active proposal per proposer, please wait until your proposal is finished",
"max": "Max",
"rewardIsNotEnough": "The note reward is not enough to cover the relayer fee. Try a different relayer or use Wallet option in settings.",
"notEnoughPoints": "Your private balance is not enough to cover the relayer fee. Try a different relayer or use Wallet option in settings.",
"relayerError": "Selected relayer could not sent your tx. Please try again or choose a different relayer in settings.",
"relayerIsNotResponding": "Relayer is not responding. Please try again or choose a different relayer in settings.",
"totalWithdrawal": "Withdrawal total",
"claim": "Claim",
"txsHistory": "TXs History"
"pleaseInstallMetamask": "Please install Metamask. We recommend using this wallet.",
"completed": "Completed",
"deploy": "Deploy",
"deployedBy": "Deployed by: {link}",
"startNow": "Start now",
"completedTasks": "Completed Tasks: {progress}",
"pageSubtitle": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium."
}

View File

@ -1,184 +1,16 @@
{
"closeNotification": "Закрыть",
"indexNotification": "Tornado.cash {link}. Однако, это экспериментальный проект, используйте на свой страх и риск.",
"indexNotificationLinkText": "прошел аудит",
"deposit": "Депозит",
"depositButton": "Внести",
"withdraw": "Вывод",
"withdrawButton": "Снять",
"howToMakeADeposit": "Как сделать депозит",
"chooseAToken": "Выберите токен",
"selectAmountToDeposit": "Выберите сумму для депозита",
"clickDeposit": "Нажмите Внести",
"backupTheNote": "Сделайте резервную копию Note",
"clickSendDeposit": "Нажмите Отправить депозит",
"confirmTheTransaction": "Подтвердите транзакцию",
"waitUntilTransactionIsMined": "Подождите, пока транзакция замайнится",
"done": "Готово!",
"howToMakeAWithdrawWidthRelayer": "Как сделать вывод с помощью Relayer",
"enterYourDepositsNote": "Введите Note",
"enterRecipientAddress": "Введите адрес получателя",
"clickWithdraw": "Нажмите Снять",
"clickWithdrawAfterProof": "Нажмите отправить",
"waitUntilProofIsGenerated": "Подождите, пока будут сгенерированы доказательства",
"howToMakeAWithdrawWithMetamask": "Как сделать вывод с помощью Metamask",
"clickSettingsIcon": "Нажмите на значок настроек {icon}",
"chooseWalletOption": "Выберите опцию кошелек",
"clickSaveButton": "Нажмите кнопку Сохранить",
"signTransaction": "Подпишите транзакцию",
"video": "Видео",
"yourWallet": "Подключение кошелька",
"pleaseSelectYourWeb3Wallet": "Пожалуйста, выберите Web3-совместимый кошелек:",
"otherWallet": "Другой кошелек",
"currentNetworkIsNotSupported": "Текущая сеть не поддерживается. Попробуйте Kovan или Mainnet",
"tutorial": "Руководство",
"stats": "Статистика",
"about": "О проекте",
"privacyTips": "Рекомендации",
"getFreeKETH": "Получить kETH",
"logout": "Выйти",
"connect": "Подключить",
"token": "Токен",
"amount": "Сумма",
"amountTooltip": "Каждая сумма представляет собой отдельный экземпляр Tornado Cash с отдельным набором анонимности. Вы можете получить дополнительную информацию во вкладке статистики.",
"approvalIsRequired": "Требуется разрешение",
"inOrderToUse": "Чтобы использовать {currency}, Вы должны активировать его для Tornado.cash. Выберите сумму, которую Вы хотите утвердить:",
"unlimited": "Неограниченно",
"unlimitedTooltip": "Неограниченное разрешение удобнее, если Вы собираетесь сделать несколько депозитов.",
"enable": "Включить",
"transactionWasSuccessfullySent": "Транзакция была успешно отправлена.",
"insufficientBalance": "Недостаточный баланс",
"youDontHaveEnoughTokens": "Недостаточно {currency} токенов. Ваш текущий баланс {balance} {currency}",
"close": "Закрыть",
"yourNote": "Депозит",
"pleaseBackupYourNote": "Пожалуйста, сделайте резервную копию Note, расположенную ниже. Это секретная информация, в случае утери, вывод депозита будет невозможным.",
"iBackedUpTheNote": "Я сделал резервную копию",
"yourNoteWontBeSaved": "Ваша Note не будет сохранена в хранилище браузера, пожалуйста, убедитесь, что Вы сделали резервную копию.",
"sendDeposit": "Отправить депозит",
"clickToCopy": "Скопировать",
"copied": "Скопировано!",
"preparingTransactionData": "Подготовка данных транзакции",
"viewInExplorer": "Посмотреть транзакцию",
"loading": "Загрузка",
"pleaseConfirmTransactionInWallet": "Пожалуйста, подтвердите транзакцию в {wallet}",
"waitingForTransactionConfirmation": "Ожидание подтверждения транзакции",
"relayerIsNowSendingYourTransaction": "Relayer отправляет вашу транзакцию. Ожидаем хэш транзакции",
"note": "Note",
"noteTooltip": "Введите Note, которую вы получили, когда Вы вносили депозит",
"depositTransactionOnEtherscan": "Депозит на Etherscan",
"withdrawalSettings": "Настройки",
"pleaseEnterYourNote": "Введите Note",
"turnOnWasm": "Ошибка: включите WebAssembly в настройках вашего браузера.<br /> Если вы используете браузер Tor, включите javascript.options.wasm в about: config",
"timePassed": "Время",
"timePassedTooltip": "Даже если после вас сделано несколько депозитов, они могли быть сделаны одним и тем же пользователем. Поэтому мы рекомендуем подождать не менее 24 часов, прежде чем снимать средства, чтобы убедиться, что за это время несколько пользователей использовали Tornado.cash.",
"subsequentDeposits": "Депозитов после",
"subsequentDepositsTooltip": "Наиболее вероятным источником снятия средств являются недавние депозиты. Поэтому мы рекомендуем подождать как минимум 5 депозитов после вашего, чтобы улучшить анонимность.",
"recipientAddress": "Адрес получателя",
"donate": "Поддержать проект",
"pleasePasteAddressHere": "Вставьте адрес",
"noteIsInvalid": "Некорректная Note",
"noteHasBeenSpent": "Депозит снят",
"gettingTheNoteData": "Получение данных",
"noteWasAlreadySpent": "Note уже была потрачена",
"error": "Ошибка",
"validationError": "Ошибка проверки",
"recipientAddressIsInvalid": "Некорректный адрес получателя",
"total": "Итог",
"noteBalance": "Баланс Note",
"relayerFee": "Комиссия Relayer",
"ethPurchase": "Покупка ETH",
"ethPurchaseTooltip": "Обменяйте часть DAI из вашего депозита на ETH во время снятия средств для оплаты газа в будущих транзакциях.",
"tokensToReceive": "Получаемые токены",
"relayer": "Relayer",
"relayerTooltip": "Используйте Relayer сервис для отправки транзакции. Это более анонимно, так как плата за газ вычитается из депозита.",
"custom": "Свой Relayer",
"pasteYourRelayerUrlorEnsRecord": "Вставьте Relayer URL или ENS запись",
"wallet": "Кошелек",
"walletTooltip": "Использовать кошелек, например, Metamask или TrustWallet, для снятия депозита.",
"save": "Сохранить",
"setToDefaults": "По умолчанию",
"withdrawWalletWarning": "Убедитесь, что ETH, использованный для оплаты платы за газ, не связан ни с одним из ваших адресов. В противном случае транзакции депозита и вывода будут связаны. Мы рекомендуем использовать Relayer для обеспечения анонимности.",
"withdrawalConfirmation": "Подтверждение снятия",
"confirm": "Отправить",
"yourZkSnarkProofHasBeenSuccesfullyGenerated": "Ваше zkSnark доказательство успешно сгенерировано!",
"generatingProof": "Создание доказательства",
"statistics": "Статистика",
"anonymitySet": "Количество депозитов",
"anonymitySetTooltip": "Общее количество депозитов этой суммы в Tornado.cash. Чем больше это количество, тем лучше (анонимнее).",
"latestDeposits": "Последние депозиты",
"yourIP": "Ваш IP {ip}",
"ipTooltip": "Обязательно используйте разные IP-адреса для депозитов и снятий, а также для дальнейших операций со средствами. Рекомендуется использовать браузер TOR или VPN.",
"filterBy": "Фильтр по",
"twentyFourHoursAfterDeposit": "Прошло более 24 часов",
"spent": "Потрачен",
"unspent": "Непотрачен",
"thereAreNoElements": "Нет элементов, которые соответствуют фильтрам.",
"txHash": "Хеш траназакции",
"status": "Состояние",
"copyNote": "Скопировать",
"v1Deposit": "v1 депозит",
"waitingForReceipt": "Ожидание",
"failed": "Неудача",
"withdrawn": "Снят",
"deposited": "Внесен",
"removeFromCache": "Удаление",
"pleaseMakeSureYouHaveBackedUpYourNote": "Пожалуйста, убедитесь, что Вы сделали резервную копию Note, если она еще не была потрачена. Вы все еще хотите удалить эту транзакцию и Note из хранилища браузера?",
"remove": "Удалить",
"noteHasBeenDeleted": "Note была удалена",
"cancelButton": "Отмена",
"donationsAddress": "Адрес для пожертвований:",
"rate": "Курс",
"equalUserDeposit": "Депозиты отсутствуют | {n} депозит | {n} депозита | {n} депозитов",
"userDeposit": "депозиты отсутствуют | {n} депозит | {n} депозита | {n} депозитов",
"gasPrice": "Цена Газа",
"totalFee": "Итого комиссия",
"networkFee": "Комиссия сети",
"connectYourWalletFirst": "Подключите свой кошелек",
"changeNetworkInYourWallet": "Поменяйте сеть на {networkName} в своем кошельке",
"relayerShouldSupportSSL": "Relayer должен поддерживать SSL",
"relayerStatusOk": "Состояние Relayer: ОК",
"canNotFetchStatusFromTheRelayer": "Невозможно получить ответ от Relayer",
"thisRelayerServesADifferentNetwork": "Relayer обслуживает другую сеть",
"relayRequestFailed": "Relayer {relayerName} не отвечает. Попробуйте выбрать другого.",
"compliance": "Соответствие",
"complianceTool": "Проверка соответствия",
"complianceReport": "Отчет о соответствии",
"complianceSubtitle": "Конфидециальность финансов является необходимым условием сохранения наших свобод. Однако она не должна достигаться за счёт несоблюдения установленных правил и стандартов. С Tornado.cash Вы всегда сможете получить криптографически достоверное подтверждение истории транзакций. Для этого Вам понадобится лишь адрес Ethereum, который Вы использовали для ввода или вывода средств. Подтверждение может быть необходимо для того, чтобы обосновать происхождение активов, хранящихся по Вашему адресу.{newline}Для создания отчета о соответствии, пожалуйста, введите идентификатор Вашей Note Tornado.cash ниже.",
"from": "Отправитель",
"to": "Получатель",
"withdrawal": "Вывод",
"noteHasNotBeenSpent": "Note не потрачена",
"thereIsNoRelatedDeposit": "Нет такого депозита. Note повреждена",
"warning": "Предупреждение",
"doNotShareYouNote": "Note является приватной информацией, обладание ею позволяет сделать вывод депозита!",
"date": "Дата",
"fee": "Комиссия",
"transaction": "Транзакция",
"commitment": "Commitment",
"nullifier": "Nullifier",
"verified": "Подтверждено",
"generatePdfReport": "Получить PDF отчёт",
"compliancePrintWarning": "Настоящий отчет о соответствии носит исключительно информационный характер. Вы должны подтвердить действительность этого отчета с помощью средства проверки соответствия Tornado (https://tornado.cash/compliance) или с помощью любого другого криптографического программного обеспечения, которое может обработать и проверить информацию, содержащуюся в этом отчете (\"Tornado Compliance Tool\"). Любые расхождения между информацией, приведенной в данном отчете и предоставленной вышеуказанным инструментом, указывают на то, что информация, содержащаяся в этом отчете, является неточной и/или мошеннической.{newline}ОТЧЕТ О СООТВЕТСТВИИ ПРЕДОСТАВЛЯЕТСЯ \"КАК ЕСТЬ,\" БЕЗ ГАРАНТИЙ ЛЮБОГО РОДА, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОГО КАЧЕСТВА, ПРИГОДНОСТЬЮ К КОНКРЕТНОЙ ЦЕЛИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИНСТРУМЕНТА СООТВЕТСТВИЯ TORNADO.CASH НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, ОТНОСЯЩУЮСЯ К ДЕЙСТВИЮ ДОГОВОРОВ, ГРАЖДАНСКИМ ПРАВОНАРУШЕНИЯМ, А ТАКЖЕ ВЫТЕКАЮЩУЮ ИЗ НАСТОЯЩЕГО ОТЧЕТА О СООТВЕТСТВИИ ИЛИ СВЯЗАННУЮ С НИМ.",
"selectProvider": "Выберите кошелёк",
"walletDoesNotSupported": "Ваш кошелёк не поддерживается",
"fetchGasPriceFailed": "Ошибка получения стоимости газа",
"networkIsNotSupported": "Сеть не поддерживается",
"failToGenerateNote": "Ошибка генерации Note",
"invalidRoot": "Invalid Root",
"failedToFetchAllDepositEvents": "Ошибка получения данных о депозитах из контракта",
"unknownError": "Неизвестная ошибка",
"unitInvalidValue": "[ethjs-unit] недопустимое значение при преобразовании числа {value} в wei",
"tooManyDecimalPoints": "[ethjs-unit] слишком много десятичных знаков при преобразовании числа {значения} в wei",
"tooManyDecimalPlaces": "[ethjs-unit] слишком много знаков после запятой при преобразовании числа {value} в wei",
"settings": "Настройки",
"rpc": "RPC endpoint",
"rpcStatusOk": "RPC статус: OK",
"rpcIsDown": "RPC не отвечает",
"thisRpcIsForDifferentNetwork": "Этот RPC предназначен для другой сети",
"rpcSelectError": "Все RPC поумолчанию не отвечают. Вероятно сетевая ошибка. Вы можете выбрать свой RPC в настройках.",
"rpcShouldSupportSSL": "RPC должен поддерживать SSL протокол",
"customRpcPlaceholder": "Вставьте RPC URL",
"customRpc": "Свой RPC",
"info": "Информация",
"inTor": "скрыт с помощью Tor"
"pleaseInstallMetamask": "Установите Metamask. Мы рекомендуем использовать этот кошелек."
}

View File

@ -1,175 +1,15 @@
{
"closeNotification": "关闭通知",
"indexNotification": "Tornado.cash {link}. 但它仍处在实验阶段,请注意并自行承担使用风险。",
"indexNotificationLinkText": "已通过安全审计",
"deposit": "存款",
"depositButton": "存款",
"withdraw": "提款",
"withdrawButton": "提款",
"howToMakeADeposit": "如何存款",
"chooseAToken": "选择代币",
"selectAmountToDeposit": "选择存款额度",
"clickDeposit": "点按「存款」键",
"backupTheNote": "备份存款凭证(这很重要!)",
"clickSendDeposit": "点击发送存款",
"confirmTheTransaction": "确认交易",
"waitUntilTransactionIsMined": "等待该交易被网络确认",
"done": "搞定!",
"howToMakeAWithdrawWidthRelayer": "如何通过中继者提款",
"enterYourDepositsNote": "输入你的存款凭证",
"enterRecipientAddress": "输入收款地址",
"clickWithdraw": "点击提款",
"clickWithdrawAfterProof": "点按「提款」键",
"waitUntilProofIsGenerated": "等待生成证明",
"howToMakeAWithdrawWithMetamask": "如何使用 Metamask 提款",
"clickSettingsIcon": "点击设置图标 {icon}",
"chooseWalletOption": "选择钱包选项",
"clickSaveButton": "点击保存按键",
"signTransaction": "签名交易",
"video": "视频",
"yourWallet": "你的钱包",
"pleaseSelectYourWeb3Wallet": "请选择你的 Web3 钱包:",
"otherWallet": "其它钱包",
"currentNetworkIsNotSupported": "暂不支持这个网络,请尝试 Kovan 或者主网",
"tutorial": "教程",
"stats": "统计数据",
"about": "关于",
"privacyTips": "隐私小贴士",
"getFreeKETH": "获取免费的 kETH",
"logout": "退出",
"connect": "连接",
"token": "代币",
"amount": "数额",
"amountTooltip": "每个数额都具有单独的匿名设置。查看「统计数据」选项卡获取更多信息。",
"approvalIsRequired": "需要授权",
"inOrderToUse": "为了能使用 {currency},你必须进行授权。选择你希望授权的数额:",
"unlimited": "无限",
"unlimitedTooltip": "如果你希望进行多次操作,无限授权会更加方便。",
"enable": "授权",
"transactionWasSuccessfullySent": "交易已成功发送。",
"insufficientBalance": "余额不足",
"youDontHaveEnoughTokens": "没有足够的 {currency} 代币. 目前余额为 {balance} {currency}",
"close": "关闭",
"yourNote": "你的凭证",
"pleaseBackupYourNote": "请备份凭证,这很重要!如果你丢失了该凭证,你将无法找回存款!",
"iBackedUpTheNote": "我已备份了凭证",
"yourNoteWontBeSaved": "你的存款凭证不会被存储在浏览器的缓存中,请确认已作好备份。",
"sendDeposit": "发送存款",
"clickToCopy": "点击复制",
"copied": "已复制!",
"preparingTransactionData": "正在准备交易数据",
"viewInExplorer": "在浏览器中查看",
"loading": "加载中",
"pleaseConfirmTransactionInWallet": "请在 {wallet} 中确认交易",
"waitingForTransactionConfirmation": "正在等待交易确认",
"relayerIsNowSendingYourTransaction": "中继者现在正在发送你的交易。它将很快通过交易 Hash 响应。",
"note": "凭证",
"noteTooltip": "请输入你在存款时所获得的凭证",
"depositTransactionOnEtherscan": "在 Etherscan 上的存款交易",
"withdrawalSettings": "提款设置",
"pleaseEnterYourNote": "请输入存款凭证",
"turnOnWasm": "错误Error: 请在浏览器设置中打开 WebAssembly。<br /> 如果你使用 Tor 浏览器,请启用 about:config 中的 javascript.options.wasm",
"timePassed": "Time passed",
"timePassedTooltip": "即便在你之后又多笔存款它们也可能是由同一个用户存入的。因此我们建议在提款之前至少等待24小时以确保在此期间有多个用户使用了 Tornado。",
"subsequentDeposits": "后续存款",
"subsequentDepositsTooltip": "最有可能的提款来源是最近的存款,因此我们建议间隔至少 5 笔交易再进行提款操作能够保证更好的匿名性。",
"recipientAddress": "收款地址",
"donate": "捐赠",
"pleasePasteAddressHere": "请在这里粘贴地址",
"noteIsInvalid": "凭证无效",
"noteHasBeenSpent": "该凭证已使用",
"gettingTheNoteData": "获取凭证数据",
"noteWasAlreadySpent": "该凭证已使用",
"error": "错误",
"validationError": "验证错误",
"recipientAddressIsInvalid": "收款地址不可用",
"total": "总计",
"noteBalance": "凭证余额",
"relayerFee": "中继者费用",
"ethPurchase": "ETH 购买",
"ethPurchaseTooltip": "在提款的过程中将部分存款 DAI 兑换成 ETH以便在以后的交易中用于支付矿工费。",
"tokensToReceive": "接收代币",
"relayer": "中继者",
"relayerTooltip": "使用中继者服务来发送你的交易。由于矿工费是从存款中扣除的,所以匿名性更好。",
"custom": "自定义",
"pasteYourRelayerUrlorEnsRecord": "粘贴你的中继者的 URL 或者 ENS 记录",
"wallet": "钱包",
"walletTooltip": "使用你自己的账户发起提款例如imToken",
"save": "保存",
"setToDefaults": "设置为默认值",
"withdrawWalletWarning": "请确保用于支付矿工费的 ETH 不能链接到你的任何地址。否则提款的匿名性将受到影响。因此我们推荐使用中继者。",
"withdrawalConfirmation": "提款确认",
"confirm": "确认",
"yourZkSnarkProofHasBeenSuccesfullyGenerated": "你的零知识证明已经被成功生成!请点击确认发起提款操作。",
"generatingProof": "生成证明",
"statistics": "统计数据",
"anonymitySet": "匿名列表",
"anonymitySetTooltip": "你的提款可能来自的存款数目",
"latestDeposits": "最近存款",
"yourIP": "你的 IP 地址 {ip}",
"ipTooltip": "请确保在进行各种操作的时候使用不同的 IP 地址。我们建议使用 TOR 浏览器 或者 使用 VPN 服务。",
"filterBy": "过滤至",
"twentyFourHoursAfterDeposit": "存款后 24 小时",
"spent": "花费",
"unspent": "未花费",
"thereAreNoElements": "没有满足过滤的元素。",
"txHash": "交易 Hash",
"status": "状态",
"copyNote": "复制凭证",
"v1Deposit": "v1 存款",
"waitingForReceipt": "等待收款中",
"failed": "失败",
"withdrawn": "已提款",
"deposited": "已存款",
"removeFromCache": "从缓存中移除",
"pleaseMakeSureYouHaveBackedUpYourNote": "如果你的凭证还没有被使用,请确认已经做好了备份。 你是否仍然希望从浏览器存储中删除这个交易与凭证吗?",
"remove": "移除",
"noteHasBeenDeleted": "凭证已经被删除",
"cancelButton": "取消",
"donationsAddress": "捐赠地址:",
"rate": "比率",
"equalUserDeposit": "无存款 | 一笔存款 | 只有 {n} 笔用户存款 | {n} 笔用户存款",
"userDeposit": "无存款 | 只有 1 笔存款 | 只有 {n} 笔存款 | {n} 笔存款",
"gasPrice": "汽油价格",
"totalFee": "总费用",
"networkFee": "网络费",
"connectYourWalletFirst": "首先连接你的钱包",
"changeNetworkInYourWallet": "在你的钱包中将网络更改为{networkName}",
"relayerShouldSupportSSL": "中继者应该支持SSL",
"relayerStatusOk": "中继者状态: OK",
"canNotFetchStatusFromTheRelayer": "不能从中继者取得状态",
"thisRelayerServesADifferentNetwork": "该中继者把其他网络服务",
"compliance": "遵从",
"complianceTool": "遵从工具",
"complianceReport": "遵从报告",
"complianceSubtitle": "维护财务隐私对于保全我们的自由至关重要.{newline} 但是,这不由于不遵从发生. 借助Tornado.cash,你总是可以提供通过密码学查的交易历史证明使用您用于存入或提取资金的Ethereum地址. 为了显示您提款地址中持有资产的来源,这可能是必要的.{newline} 要生成遵从报告请您在下面输入Tornado.cash注释",
"from": "从",
"to": "到",
"withdrawal": "提款",
"noteHasNotBeenSpent": "该凭证没使用",
"thereIsNoRelatedDeposit": "没有联系的存款. 凭证无效.",
"warning": "警告",
"doNotShareYouNote": "不要与任何人共享你的凭证因为它将被用于提款你的资金!",
"date": "日期",
"fee": "费",
"transaction": "交易",
"commitment": "义务",
"nullifier": "无效符",
"verified": "已验证",
"generatePdfReport": "生成PDF报告",
"compliancePrintWarning": "这本遵从报告是供参考的. 你应该使用Tornado的遵从工具来确认报告 (https://tornado.cash/compliance) 的有效性,或者与可以算出和验证此处包含信息的任何其他密码学软件 (\"Tornado遵从工具\") 起使用. 报告中发现的信息与上述工具提供的信息之间存在任何差异,表明报告中的信息是不正确的{newline} 遵从报告按 \"原样,\" 提供,不提供任何明示或暗示担保,包括但不限于对适销性,用途的适用性和非侵权专利的担保. 无论是出于合同,要求,侵权或其他原因由本遵从报告引起与相关的任何索赔损害或其他责任TORNADO.CASH的作者概不负责.",
"relayRequestFailed": "中继者 {relayerName} 已关闭. 请选择其他中继者.",
"selectProvider": "请选择提供者",
"walletDoesNotSupported": "不支持钱包",
"fetchGasPriceFailed": "取得汽油价格失败",
"networkIsNotSupported": "不支持网络",
"failToGenerateNote": "无法产生凭证",
"invalidRoot": "无效的根",
"failedToFetchAllDepositEvents": "无法从合同中取得所有存款事件",
"unknownError": "未知错误",
"unitInvalidValue": "[ethjs-unit] 将数字 {value} 转换为wei时无效值",
"tooManyDecimalPoints": "[ethjs-unit] 将数字 {value} 转换为wei时, 小数点过多",
"tooManyDecimalPlaces": "[ethjs-unit] 将数字 {value} 转换为wei时, 小数位数过多",
"info": "信息",
"inTor": "被Tor隐藏"
"info": "信息"
}

View File

@ -6,16 +6,19 @@
<nuxt />
</div>
</section>
<Footer />
</div>
</template>
<script>
import Navbar from '@/components/Navbar'
import Footer from '@/components/Footer'
import { mapActions } from 'vuex'
export default {
components: {
Navbar,
Footer,
},
mounted() {
this.initProvider()

View File

@ -1,10 +1,7 @@
<template>
<div>
<h1 class="title has-text-centered">Tornado.cash <span>Ceremony</span></h1>
<h2 class="subtitle has-text-centered">
Sed ut perspiciatis unde omnis iste natus error sit voluptatem
accusantium.
</h2>
<h2 class="subtitle has-text-centered">{{ $t('pageSubtitle') }}</h2>
<div class="buttons is-centered">
<b-button
@ -13,11 +10,15 @@
icon-left="tool"
@mousedown="(e) => e.preventDefault()"
@click="onStart"
>Start now</b-button
>{{ $t('startNow') }}</b-button
>
</div>
<h3 class="title is-14px mt-6">Completed Tasks: <span>5/16</span></h3>
<i18n tag="h3" class="title is-14px mt-6" path="completedTasks">
<template v-slot:progress>
<span>5/16</span>
</template>
</i18n>
<div class="tornado-discoverer image is-16by9"></div>