Compare commits
12 Commits
2437ecc426
...
30c4b44a5c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30c4b44a5c | ||
|
|
10a96e4ecc | ||
|
|
c82771d9d5 | ||
|
|
b1e9965c62 | ||
|
|
79af93bc69 | ||
|
|
b1ae1c1623 | ||
|
|
170765864c | ||
|
|
5f7521882b | ||
|
|
cc901c105c | ||
|
|
6634754a0e | ||
|
|
54a9dd40cb | ||
|
|
9c41c63dd0 |
2
.github/workflows/nodejs.yml
vendored
2
.github/workflows/nodejs.yml
vendored
@ -125,7 +125,7 @@ jobs:
|
||||
with:
|
||||
to: ${{ secrets.TELEGRAM_CHAT_ID }}
|
||||
token: ${{ secrets.TELEGRAM_BOT_TOKEN}}
|
||||
message: 🚀 Deployed commit [${{ steps.vars.outputs.sha_short }}](https://github.com/tornadocash/tornado-cash-ui/commit/${{ github.sha }}) of tornado.cash UI
|
||||
message: 🚀 Deployed commit [${{ steps.vars.outputs.sha_short }}](https://github.com/tornadocash/tornado-cash-ui/commit/${{ github.sha }}) of tornado cash UI
|
||||
format: markdown
|
||||
- name: Telegram Failure Notification
|
||||
uses: appleboy/telegram-action@v0.1.1
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -93,3 +93,4 @@ static/*/*.json
|
||||
|
||||
# UI build archive
|
||||
dist.zip
|
||||
package-lock.json
|
||||
|
||||
@ -317,6 +317,10 @@
|
||||
mask-image: url('../img/icons/ethereum.svg');
|
||||
}
|
||||
|
||||
&-ethereum-classic {
|
||||
mask-image: url('../img/icons/ethereum.svg');
|
||||
}
|
||||
|
||||
&-ethereum-sepolia {
|
||||
mask-image: url('../img/icons/ethereum.svg');
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
type="is-primary is-fullwidth"
|
||||
:loading="isDepositBtnClicked"
|
||||
data-test="button_deposit"
|
||||
@click="onDeposit"
|
||||
@click="onPreDeposit"
|
||||
>
|
||||
{{ $t('depositButton') }}
|
||||
</b-button>
|
||||
@ -65,6 +65,7 @@ import { mapGetters } from 'vuex'
|
||||
import ApproveModalBox from '@/components/ApproveModalBox'
|
||||
import BalanceModalBox from '@/components/BalanceModalBox'
|
||||
import DepositModalBox from '@/components/DepositModalBox'
|
||||
import RiskModalBox from '@/components/RiskModalBox'
|
||||
|
||||
import { ConnectButton } from '@/components/web3Connect'
|
||||
|
||||
@ -194,6 +195,19 @@ export default {
|
||||
approveModal.$on('close', onApproval)
|
||||
}
|
||||
this.isDepositBtnClicked = false
|
||||
},
|
||||
onPreDeposit() {
|
||||
if (this.selectedToken.toUpperCase() === 'USDT' || this.selectedToken.toUpperCase() === 'USDC') {
|
||||
const riskModal = this.$buefy.modal.open({
|
||||
parent: this,
|
||||
component: RiskModalBox,
|
||||
hasModalCard: true,
|
||||
width: 440
|
||||
})
|
||||
riskModal.$on('close', this.onDeposit)
|
||||
} else {
|
||||
this.onDeposit()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
>
|
||||
</div>
|
||||
<div class="level-subitem">
|
||||
Tornado.cash version:
|
||||
Tornado Cash version:
|
||||
<span class="footer-version__value">{{ commit }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -58,6 +58,14 @@
|
||||
rel="noopener noreferrer"
|
||||
icon-right="telegram"
|
||||
></b-button>
|
||||
<b-button
|
||||
tag="a"
|
||||
type="is-icon"
|
||||
href="https://codeberg.org/torndao/classic-ui"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
icon-right="git"
|
||||
></b-button>
|
||||
<b-button
|
||||
tag="a"
|
||||
type="is-icon"
|
||||
@ -117,13 +125,7 @@ export default {
|
||||
...mapGetters('metamask', ['networkConfig', 'netId']),
|
||||
...mapGetters('txHashKeeper', ['addressExplorerUrl']),
|
||||
duneLink() {
|
||||
const mainnetNetworks = [1, 5]
|
||||
|
||||
if (mainnetNetworks.includes(Number(this.netId))) {
|
||||
return 'https://dune.com/davidcaviar/tornado-cash'
|
||||
}
|
||||
|
||||
return 'https://dune.com/stakingbutterfly/tornado-cash-staking'
|
||||
},
|
||||
locales() {
|
||||
return this.$i18n.availableLocales
|
||||
|
||||
28
components/RiskModalBox.vue
Normal file
28
components/RiskModalBox.vue
Normal file
@ -0,0 +1,28 @@
|
||||
<template>
|
||||
<div class="modal-card box box-modal">
|
||||
<header class="box-modal-header is-spaced">
|
||||
<div class="box-modal-title">{{ $t('information') }}</div>
|
||||
<button type="button" class="delete" @click="$emit('close')" />
|
||||
</header>
|
||||
<i18n path="freezeRisk" tag="div" class="note">
|
||||
<template v-slot:currency>{{ selectedCurrency }}</template>
|
||||
</i18n>
|
||||
<b-button type="is-primary is-fullwidth" @click="close">{{ $t('close') }}</b-button>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
/* eslint-disable no-console */
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
components: {},
|
||||
computed: {
|
||||
...mapGetters('application', ['selectedCurrency'])
|
||||
},
|
||||
methods: {
|
||||
close() {
|
||||
this.$parent.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -26,6 +26,10 @@
|
||||
{{ $t('relayerFee') }}
|
||||
<span data-test="label_relayer_fee">{{ toDecimals(relayerFee, null, 6) }} {{ currency }}</span>
|
||||
</div>
|
||||
<div v-if="currency === 'ETC'" class="withdraw-data-item">
|
||||
{{ $t('poolFee') }}
|
||||
<span data-test="label_relayer_fee">{{ toDecimals(poolFee, null, 6) }} {{ currency }}</span>
|
||||
</div>
|
||||
<div v-if="withdrawType === 'relayer'" class="withdraw-data-item">
|
||||
{{ $t('totalFee') }}
|
||||
<span data-test="label_total_fee">{{ toDecimals(totalRelayerFee, null, 6) }} {{ currency }}</span>
|
||||
@ -79,6 +83,16 @@ export default {
|
||||
...mapGetters('fees', ['gasPriceInGwei']),
|
||||
...mapGetters('token', ['toDecimals', 'fromDecimals']),
|
||||
...mapGetters('price', ['tokenRate']),
|
||||
poolFee() {
|
||||
const { amount } = this.selectedStatistic
|
||||
const total = toBN(this.fromDecimals(amount.toString()))
|
||||
const fee = 0.03
|
||||
const decimalsPoint = decimalPlaces(fee)
|
||||
const roundDecimal = 10 ** decimalsPoint
|
||||
const aroundFee = toBN(parseInt(fee * roundDecimal, 10))
|
||||
const tornadoServiceFee = total.mul(toBN(aroundFee)).div(toBN(roundDecimal * 100))
|
||||
return tornadoServiceFee
|
||||
},
|
||||
relayerFee() {
|
||||
const { amount } = this.selectedStatistic
|
||||
const total = toBN(this.fromDecimals(amount.toString()))
|
||||
@ -95,8 +109,13 @@ export default {
|
||||
const { decimals } = this.networkConfig.tokens[currency]
|
||||
const ethFee = this.withdrawalNetworkFee
|
||||
if (currency === this.nativeCurrency) {
|
||||
if (currency === 'etc') {
|
||||
const poolServiceFee = this.poolFee
|
||||
return ethFee.add(poolServiceFee).add(tornadoServiceFee)
|
||||
} else {
|
||||
return ethFee.add(tornadoServiceFee)
|
||||
}
|
||||
}
|
||||
const tokenFee = ethFee.mul(toBN(10 ** decimals)).div(toBN(this.tokenRate))
|
||||
return tokenFee.add(tornadoServiceFee)
|
||||
},
|
||||
@ -119,14 +138,15 @@ export default {
|
||||
return fromWei(this.ethToReceive)
|
||||
},
|
||||
total() {
|
||||
const { amount } = this.selectedStatistic
|
||||
const { amount, currency } = this.selectedStatistic
|
||||
let total = toBN(this.fromDecimals(amount.toString()))
|
||||
|
||||
if (this.withdrawType === 'relayer') {
|
||||
const relayerFee = this.withdrawalFeeViaRelayer
|
||||
total = total.sub(relayerFee)
|
||||
const totalRelayerFee = this.withdrawalFeeViaRelayer
|
||||
total = total.sub(totalRelayerFee)
|
||||
} else if (currency === 'etc') {
|
||||
const poolFee = this.poolFee
|
||||
total = total.sub(poolFee)
|
||||
}
|
||||
|
||||
return this.toDecimals(total, null, 6)
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"closeNotification": "Close notification",
|
||||
"indexNotification": "Tornado Cash is now being maintained by the community, for more information visit {link}",
|
||||
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
|
||||
"binanceInternalTxsNotification": "Please, do not use Binance wallet addresses for withdrawals. Internal transactions (including Tornado.cash withdrawals) are not currently supported on Binance Exchange. If you have an issue receiving your funds, you should contact Binance support.",
|
||||
"binanceInternalTxsNotification": "Please, do not use Binance wallet addresses for withdrawals. Internal transactions (including Tornado Cash withdrawals) are not currently supported on Binance Exchange. If you have an issue receiving your funds, you should contact Binance support.",
|
||||
"deposit": "Deposit",
|
||||
"depositButton": "Deposit",
|
||||
"withdraw": "Withdraw",
|
||||
@ -22,7 +22,7 @@
|
||||
"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:",
|
||||
"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",
|
||||
@ -32,7 +32,7 @@
|
||||
"close": "Close",
|
||||
"yourNote": "Your private note",
|
||||
"pleaseBackupYourNote": "Please back up your note. You will need it later to withdraw your deposit.",
|
||||
"treatYourNote": "Treat your note as a private key - never share it with anyone, including tornado.cash developers.",
|
||||
"treatYourNote": "Treat your note as a private key - never share it with anyone, including tornado cash developers.",
|
||||
"saveAsFile": "The browser will ask to save your note as a file:",
|
||||
"iBackedUpTheNote": "I backed up the note",
|
||||
"iEncryptedTheNote": "Create an on-chain backup of this note with your Account {address}",
|
||||
@ -56,7 +56,7 @@
|
||||
"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 multiple deposits were made 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 multiple other users transacted via Tornado.сash during that time.",
|
||||
"timePassedTooltip": "Even if multiple deposits were made 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 multiple other users transacted via Tornado Cash during that time.",
|
||||
"subsequentDeposits": "Subsequent deposits",
|
||||
"subsequentDepositsTooltip": "The most likely source of a withdrawal points to recent deposits. Therefore, we recommend allowing at least 5 deposits after yours for better anonymity.",
|
||||
"recipientAddress": "Recipient Address",
|
||||
@ -124,6 +124,7 @@
|
||||
"userDeposit": "no deposits | only 1 deposit | {n} deposits",
|
||||
"gasPrice": "Gas Price",
|
||||
"totalFee": "Total fee",
|
||||
"poolFee": "Pool fee",
|
||||
"networkFee": "Network fee",
|
||||
"connectYourWalletFirst": "Connect your wallet first",
|
||||
"changeNetwork": "Change network",
|
||||
@ -137,7 +138,7 @@
|
||||
"compliance": "Compliance",
|
||||
"complianceTool": "compliance tool",
|
||||
"complianceReport": "Compliance Report",
|
||||
"complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{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 source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado.сash Note below.",
|
||||
"complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{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 source 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",
|
||||
@ -151,7 +152,7 @@
|
||||
"nullifierHash": "Nullifier Hash",
|
||||
"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 Tornado’s Compliance Tool (https://tornadocash.eth.limo/compliance) or via 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 may be 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.",
|
||||
"compliancePrintWarning": "This Compliance Report is for informational purposes only. You should confirm the validity of this report by using Tornado’s Compliance Tool (https://tornadocash.eth.limo/compliance) or via 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 may be 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",
|
||||
@ -337,7 +338,7 @@
|
||||
"setupAccount": {
|
||||
"title": "Account setup",
|
||||
"label": "Note Account key",
|
||||
"description": "This key is used to encrypt and store your Tornado.cash private notes on Ethereum blockchain. Please back it up and never share it with anyone.",
|
||||
"description": "This key is used to encrypt and store your Tornado Cash private notes on Ethereum blockchain. Please back it up and never share it with anyone.",
|
||||
"setupAccount": "Setup account",
|
||||
"setAccount": "Finish",
|
||||
"backedUp": "I backed up the Note Account key",
|
||||
@ -394,7 +395,7 @@
|
||||
"recover": "Recover account",
|
||||
"enterRawDesc": "Use previously set Note Account key",
|
||||
"enterRaw": "Enter account key",
|
||||
"accSetupDescription": "This key is used to encrypt and store your Tornado.cash private notes on Ethereum blockchain. Please back it up and never share it with anyone."
|
||||
"accSetupDescription": "This key is used to encrypt and store your Tornado Cash private notes on Ethereum blockchain. Please back it up and never share it with anyone."
|
||||
},
|
||||
"control": {
|
||||
"balance": "Note account balance: {value}",
|
||||
@ -407,7 +408,7 @@
|
||||
"fileDesc": "Download raw private notes by default when you make a deposit"
|
||||
},
|
||||
"notification": {
|
||||
"text": "Tornado.cash added on-chain note backups. Setup your {note} now or {medium} info.",
|
||||
"text": "Tornado Cash added on-chain note backups. Setup your {note} now or {medium} info.",
|
||||
"link": {
|
||||
"note": "note account",
|
||||
"medium": "read more"
|
||||
@ -476,5 +477,6 @@
|
||||
"notification": "Due to the {issue} with eth.link domain, we highly recommend avoiding using this gateway. Consider {alternative} gateways.",
|
||||
"issue": "issue",
|
||||
"alternative": "alternative"
|
||||
}
|
||||
},
|
||||
"freezeRisk": "{currency} is a centralized token with the risk of freezing."
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"closeNotification": "Cerrar notificación",
|
||||
"indexNotification": "Tornado Cash ahora está siendo mantenido por la comunidad, para obtener más información, visite {link}",
|
||||
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
|
||||
"binanceInternalTxsNotification": "Por favor, no use direcciones a monederos Binance para retiros. Las transacciones internas (incluidos los retiros de Tornado.cash) actualmente no son compatibles con el Exchange de Binance. Si tiene problemas en la recepción de sus fondos, debería contactar con el soporte de Binance.",
|
||||
"binanceInternalTxsNotification": "Por favor, no use direcciones a monederos Binance para retiros. Las transacciones internas (incluidos los retiros de Tornado Cash) actualmente no son compatibles con el Exchange de Binance. Si tiene problemas en la recepción de sus fondos, debería contactar con el soporte de Binance.",
|
||||
"deposit": "Depósito",
|
||||
"depositButton": "Depósito",
|
||||
"withdraw": "Retiro",
|
||||
@ -22,7 +22,7 @@
|
||||
"amount": "Cantidad",
|
||||
"amountTooltip": "Cada cantidad es una instancia independiente de Tornado Cash del conjunto anónimo correspondiente. Consulte el apartado Estadísticas para más información.",
|
||||
"approvalIsRequired": "Se requiere aprobación",
|
||||
"inOrderToUse": "Para usar {currency} debe habilitarla para Tornado.cash. Seleccione la cantidad que desee aprobar:",
|
||||
"inOrderToUse": "Para usar {currency} debe habilitarla para Tornado Cash. Seleccione la cantidad que desee aprobar:",
|
||||
"unlimited": "Ilimitada",
|
||||
"unlimitedTooltip": "La aprobación ilimitada resulta más conveniente si usted quiere realizar múltiples depósitos.",
|
||||
"enable": "Habilitar",
|
||||
@ -32,7 +32,7 @@
|
||||
"close": "cerrar",
|
||||
"yourNote": "Su ticket privado",
|
||||
"pleaseBackupYourNote": "Por favor, guarde y asegure su ticket. Lo necesitará más adelante para recuperar su depósito.",
|
||||
"treatYourNote": "Considere su ticket como una clave privada - nunca lo comparta con nadie, incluyendo desarrolladores de tornado.cash.",
|
||||
"treatYourNote": "Considere su ticket como una clave privada - nunca lo comparta con nadie, incluyendo desarrolladores de tornado cash.",
|
||||
"saveAsFile": "El buscador le preguntara si quiere guardar su ticket como un archivo:",
|
||||
"iBackedUpTheNote": "He guardado y asegurado el ticket",
|
||||
"iEncryptedTheNote": "Cree una copia segura on-chain de este ticket con su Cuenta {address}",
|
||||
@ -56,7 +56,7 @@
|
||||
"pleaseEnterYourNote": "Por favor introduzca su ticket",
|
||||
"turnOnWasm": "Error: Por favor active WebAssembly en las opciones de su buscador.<br /> Si usted utiliza el buscador Tor, habilite javascript.options.wasm en about:config",
|
||||
"timePassed": "Tiempo transcurrido",
|
||||
"timePassedTooltip": "Incluso si hay múltiples depósitos posteriores al suyo, podrían pertenecer a un mismo usuario. Por tanto, le recomendamos esperar un mínimo de 24 horas antes de retirar fondos para asegurar que varios usuarios hayan utilizado Tornado.cash durante ese periodo.",
|
||||
"timePassedTooltip": "Incluso si hay múltiples depósitos posteriores al suyo, podrían pertenecer a un mismo usuario. Por tanto, le recomendamos esperar un mínimo de 24 horas antes de retirar fondos para asegurar que varios usuarios hayan utilizado Tornado Cash durante ese periodo.",
|
||||
"subsequentDeposits": "Depósitos subsiguientes",
|
||||
"subsequentDepositsTooltip": "La fuente mas probable de un retiro son los depósitos recientes. Por tanto, recomendamos esperar un mínimo de 5 depósitos posteriores al suyo para un mayor anonimato.",
|
||||
"recipientAddress": "Dirección de Recepción",
|
||||
@ -124,6 +124,7 @@
|
||||
"userDeposit": "sin depósitos | solamente 1 depósito | {n} depósitos",
|
||||
"gasPrice": "Precio de Gas",
|
||||
"totalFee": "Comisión total",
|
||||
"poolFee": "tarifa del pool",
|
||||
"networkFee": "Comisión de red",
|
||||
"connectYourWalletFirst": "Conecte su monedero primero",
|
||||
"changeNetwork": "Cambiar red",
|
||||
@ -137,7 +138,7 @@
|
||||
"compliance": "Cumplimiento",
|
||||
"complianceTool": "herramienta de cumplimiento legal",
|
||||
"complianceReport": "Informe de cumplimiento legal",
|
||||
"complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{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 source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado.сash Note below.",
|
||||
"complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{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 source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado Cash Note below.",
|
||||
"from": "Desde",
|
||||
"to": "A",
|
||||
"withdrawal": "Retiro",
|
||||
@ -151,7 +152,7 @@
|
||||
"nullifierHash": "Hash del Nullifier",
|
||||
"verified": "Verificador",
|
||||
"generatePdfReport": "Genere informe PDF",
|
||||
"compliancePrintWarning": "Este Informe de Compromiso es para propósito informativo unicamente. Debería confirmar la validez de este informe utilizando la Herramienta de Cumplimiento de Tornado (https://tornadocash.eth.limo/compliance) o cualquier otro software criptográfico que pueda procesar y verificar la información contenida aquí(la \"Tornado Compliance Tool\"). Cualquier discrepancia entre la información recogida en este informe y entregado por la herramienta anterior indica que este informe no es riguroso y/o fraudulento.{newline}EL INFORME DE CUMPLIMIENTO SE PRESENTA \"COMO TAL,\" SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITAMENTE, INCLUYENDO PERO NO LIMITADA A LAS GARANTÍAS MERCANTILES, ADECUADAS PARA UN PROPÓSITO PARTICULAR Y LA NO INFRACCIÓN. EN NINGÚN CASO DEBERÍAN LOS AUTORES DE LA HERRAMIENTA DE CUMPLIMIENTO DE TORNADO.CASH SER RESPONSABLES U OBJETO DE CUALQUIER RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN ACCIÓN CONTRACTUAL, AGRAVIADO O DE CUALQUIER OTRO MODO, DERIVADO DE, PRODUCTO DE O EN CONEXIÓN CON EL MENCIONADO INFORME DE CUMPLIMIENTO.",
|
||||
"compliancePrintWarning": "Este Informe de Compromiso es para propósito informativo unicamente. Debería confirmar la validez de este informe utilizando la Herramienta de Cumplimiento de Tornado (https://tornadocash.eth.limo/compliance) o cualquier otro software criptográfico que pueda procesar y verificar la información contenida aquí(la \"Tornado Compliance Tool\"). Cualquier discrepancia entre la información recogida en este informe y entregado por la herramienta anterior indica que este informe no es riguroso y/o fraudulento.{newline}EL INFORME DE CUMPLIMIENTO SE PRESENTA \"COMO TAL,\" SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITAMENTE, INCLUYENDO PERO NO LIMITADA A LAS GARANTÍAS MERCANTILES, ADECUADAS PARA UN PROPÓSITO PARTICULAR Y LA NO INFRACCIÓN. EN NINGÚN CASO DEBERÍAN LOS AUTORES DE LA HERRAMIENTA DE CUMPLIMIENTO DE TORNADO CASH SER RESPONSABLES U OBJETO DE CUALQUIER RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN ACCIÓN CONTRACTUAL, AGRAVIADO O DE CUALQUIER OTRO MODO, DERIVADO DE, PRODUCTO DE O EN CONEXIÓN CON EL MENCIONADO INFORME DE CUMPLIMIENTO.",
|
||||
"relayRequestFailed": "El retransmisor {relayerName} no responde. Por favor escoja uno diferente.",
|
||||
"selectProvider": "Seleccione proveedor",
|
||||
"walletDoesNotSupported": "El monedero no es compatible",
|
||||
@ -315,7 +316,7 @@
|
||||
"setupAccount": {
|
||||
"title": "Configuración de cuenta",
|
||||
"label": "Clave de Cuenta de Tickets",
|
||||
"description": "Esta clave se usa para encriptar y guardar sus tickets privados de Tornado.cash en la blockchain Ethereum. Por favor haga una copia de seguridad y nunca la comparta con nadie.",
|
||||
"description": "Esta clave se usa para encriptar y guardar sus tickets privados de Tornado Cash en la blockchain Ethereum. Por favor haga una copia de seguridad y nunca la comparta con nadie.",
|
||||
"setupAccount": "Configurar cuenta",
|
||||
"setAccount": "Finalizar",
|
||||
"backedUp": "He asegurado la clave de Cuenta de Tickets",
|
||||
@ -372,7 +373,7 @@
|
||||
"recover": "Recuperar cuenta",
|
||||
"enterRawDesc": "Usar la clave de Cuenta de Tickets configurada",
|
||||
"enterRaw": "Introducir clave de cuenta",
|
||||
"accSetupDescription": "Esta clave se usa para encriptar y guardar sus tickets privados de Tornado.cash en la blockchain Ethereum. Por favor haga una copia de seguridad y nunca la comparta con nadie."
|
||||
"accSetupDescription": "Esta clave se usa para encriptar y guardar sus tickets privados de Tornado Cash en la blockchain Ethereum. Por favor haga una copia de seguridad y nunca la comparta con nadie."
|
||||
},
|
||||
"control": {
|
||||
"balance": "Balance de cuenta: {value}",
|
||||
@ -385,7 +386,7 @@
|
||||
"fileDesc": "Descargar tickets privados en bruto por defecto cuando haga un depósito"
|
||||
},
|
||||
"notification": {
|
||||
"text": "Tornado.cash añadió un copia segura on-chain. Configure su {note} ahora o {medium} info.",
|
||||
"text": "Tornado Cash añadió un copia segura on-chain. Configure su {note} ahora o {medium} info.",
|
||||
"link": {
|
||||
"note": "cuenta de tickets",
|
||||
"medium": "leer más"
|
||||
@ -441,5 +442,6 @@
|
||||
"name": "Name",
|
||||
"fee": "Fee"
|
||||
},
|
||||
"withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded"
|
||||
"withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded",
|
||||
"freezeRisk": "{currency} es un token centralizado con riesgo de congelación."
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"closeNotification": "Fermer notification",
|
||||
"indexNotification": "Tornado Cash est maintenant maintenu par la communauté, pour plus d'informations, visitez {link}",
|
||||
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
|
||||
"binanceInternalTxsNotification": "Veuillez ne pas utiliser votre adresse de portefeuille Binance pour retirer vos fonds. Les transactions internes (tout comme celles effectuées par Tornado.Cash) ne sont pas supportées sur la plateforme d'échange Binance. Si vous n'avez pas reçu vos fonds sur Binance, veuillez prendre contact avec le support Binance.",
|
||||
"binanceInternalTxsNotification": "Veuillez ne pas utiliser votre adresse de portefeuille Binance pour retirer vos fonds. Les transactions internes (tout comme celles effectuées par Tornado Cash) ne sont pas supportées sur la plateforme d'échange Binance. Si vous n'avez pas reçu vos fonds sur Binance, veuillez prendre contact avec le support Binance.",
|
||||
"deposit": "Déposer",
|
||||
"depositButton": "Déposer",
|
||||
"withdraw": "Retirer",
|
||||
@ -22,7 +22,7 @@
|
||||
"amount": "Montant",
|
||||
"amountTooltip": "Chaque montant dispose d'une instance autonome de Tornado Cash avec un seuil d'anonymat distinct. Consultez l'onglet statistiques pour plus d'informations.",
|
||||
"approvalIsRequired": "Une approbation est requise",
|
||||
"inOrderToUse": "Afin d'utiliser cette devise: {currency} vous devez l'activer pour Tornado.cash. Sélectionnez le montant que vous souhaitez approuver:",
|
||||
"inOrderToUse": "Afin d'utiliser cette devise: {currency} vous devez l'activer pour Tornado Cash. Sélectionnez le montant que vous souhaitez approuver:",
|
||||
"unlimited": "Illimité",
|
||||
"unlimitedTooltip": "L'approbation illimitée est plus pratique dans le cas où vous devez effectuer plusieurs dépôts.",
|
||||
"enable": "Activer",
|
||||
@ -32,7 +32,7 @@
|
||||
"close": "Fermer",
|
||||
"yourNote": "Votre note d'enregistrement privée",
|
||||
"pleaseBackupYourNote": "Veuillez sauvegarder votre note d'enregistrement. Vous allez en avoir besoin plus tard pour retirer votre dépôt.",
|
||||
"treatYourNote": "Traitez votre note d'enregistrement comme une clé privée - ne la partagez jamais avec quiconque, y compris les développeurs de tornado.cash.",
|
||||
"treatYourNote": "Traitez votre note d'enregistrement comme une clé privée - ne la partagez jamais avec quiconque, y compris les développeurs de tornado cash.",
|
||||
"saveAsFile": "Le navigateur va vous demander de sauvegarder votre note d'enregistrement sous forme de fichier:",
|
||||
"iBackedUpTheNote": "J'ai sauvegardé ma note d'enregistrement",
|
||||
"iEncryptedTheNote": "Créer une sauvegarde de cette note d'enregistrement dans la Blockchain avec votre Compte : {address}",
|
||||
@ -56,7 +56,7 @@
|
||||
"pleaseEnterYourNote": "Veuillez entrer votre note d'enregistrement",
|
||||
"turnOnWasm": "Erreur: Veuillez activer WebAssembly dans vos réglages de navigateur.<br /> Si vous utilisez le navigateur Tor, activez javascript.options.wasm dans about:config",
|
||||
"timePassed": "Temps passé",
|
||||
"timePassedTooltip": "Même s'il y a plusieurs dépôts après le vôtre, ils pourraient avoir été effectués par le même utilisateur. Par conséquent, nous vous recommandons d'attendre au moins 24 heures avant de retirer des fonds pour vous assurer que plusieurs utilisateurs ont utilisé Tornado.cash pendant cette période.",
|
||||
"timePassedTooltip": "Même s'il y a plusieurs dépôts après le vôtre, ils pourraient avoir été effectués par le même utilisateur. Par conséquent, nous vous recommandons d'attendre au moins 24 heures avant de retirer des fonds pour vous assurer que plusieurs utilisateurs ont utilisé Tornado Cash pendant cette période.",
|
||||
"subsequentDeposits": "Dépôts postérieurs",
|
||||
"subsequentDepositsTooltip": "La preuve la plus probable d'un retrait est celle d'un dépôt récent. De ce fait, nous vous recommandons d'attendre au moins 5 dépôts suivants le vôtre afin d'obtenir un meilleur anonymat.",
|
||||
"recipientAddress": "Adresse de réception",
|
||||
@ -124,6 +124,7 @@
|
||||
"userDeposit": "aucun dépôt | seulement 1 dépôt | {n} dépôts",
|
||||
"gasPrice": "Prix du gas",
|
||||
"totalFee": "Frais total",
|
||||
"poolFee": "frais de pool",
|
||||
"networkFee": "Frais de réseau",
|
||||
"connectYourWalletFirst": "Connecter d'abord votre portefeuille",
|
||||
"changeNetwork": "Changer de réseau",
|
||||
@ -137,7 +138,7 @@
|
||||
"compliance": "Conformité",
|
||||
"complianceTool": "outil de conformité",
|
||||
"complianceReport": "Rapport de Conformité",
|
||||
"complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{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 source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado.сash Note below.",
|
||||
"complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{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 source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado Cash Note below.",
|
||||
"from": "De",
|
||||
"to": "À",
|
||||
"withdrawal": "Retrait",
|
||||
@ -151,7 +152,7 @@
|
||||
"nullifierHash": "Hash Nullifié",
|
||||
"verified": "Verifié",
|
||||
"generatePdfReport": "Générer un rapport PDF",
|
||||
"compliancePrintWarning": "Ce rapport de conformité est uniquement destiné à des fins d'information. Vous devez confirmer la validité de ce rapport en utilisant l'outil de conformité de Tornado (https://tornadocash.eth.limo/compliance) ou tout autre logiciel cryptographique capable de calculer et de vérifier les informations contenues dans ce document (l' \"Outil de Conformité Tornado\"). Toute divergence entre les informations trouvées dans ce rapport et celles fournies par l'outil susmentionné indique que les informations contenues dans ce rapport sont inexactes et/ou frauduleuses.{newline}LE RAPPORT DE CONFORMITÉ EST FOURNI \"EN L'ÉTAT\", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS, LES AUTEURS DE L'OUTIL DE CONFORMITÉ TORNADO.CASH NE POURRONT ÊTRE TENUS RESPONSABLES DE TOUTE RÉCLAMATION, DE TOUT DOMMAGE OU DE TOUTE AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE, EN DEHORS DE OU EN RELATION AVEC CE RAPPORT DE CONFORMITÉ.",
|
||||
"compliancePrintWarning": "Ce rapport de conformité est uniquement destiné à des fins d'information. Vous devez confirmer la validité de ce rapport en utilisant l'outil de conformité de Tornado (https://tornadocash.eth.limo/compliance) ou tout autre logiciel cryptographique capable de calculer et de vérifier les informations contenues dans ce document (l' \"Outil de Conformité Tornado\"). Toute divergence entre les informations trouvées dans ce rapport et celles fournies par l'outil susmentionné indique que les informations contenues dans ce rapport sont inexactes et/ou frauduleuses.{newline}LE RAPPORT DE CONFORMITÉ EST FOURNI \"EN L'ÉTAT\", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS, LES AUTEURS DE L'OUTIL DE CONFORMITÉ TORNADO CASH NE POURRONT ÊTRE TENUS RESPONSABLES DE TOUTE RÉCLAMATION, DE TOUT DOMMAGE OU DE TOUTE AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE, EN DEHORS DE OU EN RELATION AVEC CE RAPPORT DE CONFORMITÉ.",
|
||||
"relayRequestFailed": "Le relais {relayerName} est en panne. Veuillez choisir un autre relais.",
|
||||
"selectProvider": "Sélectionner le fournisseur",
|
||||
"walletDoesNotSupported": "Le portefeuille n'est pas supporté",
|
||||
@ -315,7 +316,7 @@
|
||||
"setupAccount": {
|
||||
"title": "Configuration de compte",
|
||||
"label": "Clé de Compte de Notes",
|
||||
"description": "Cette clé est utilisée pour encrypter et stocker vos notes privées Tornado.cash sur la blockchain Ethereum. Veuillez la sauvegarder et ne jamais la partager avec qui que ce soit.",
|
||||
"description": "Cette clé est utilisée pour encrypter et stocker vos notes privées Tornado Cash sur la blockchain Ethereum. Veuillez la sauvegarder et ne jamais la partager avec qui que ce soit.",
|
||||
"setupAccount": "Configurer compte",
|
||||
"setAccount": "Terminé",
|
||||
"backedUp": "J'ai sauvegardé la clé du compte de notes",
|
||||
@ -372,7 +373,7 @@
|
||||
"recover": "Récupérer le compte",
|
||||
"enterRawDesc": "Utiliser la clé de compte de notes précédemment définie",
|
||||
"enterRaw": "Entrez la clé du compte",
|
||||
"accSetupDescription": "Cette clé est utilisée pour encrypter et stocker vos notes privées Tornado.cash sur la blockchain Ethereum. Veuillez la sauvegarder et ne jamais la partager avec qui que ce soit."
|
||||
"accSetupDescription": "Cette clé est utilisée pour encrypter et stocker vos notes privées Tornado Cash sur la blockchain Ethereum. Veuillez la sauvegarder et ne jamais la partager avec qui que ce soit."
|
||||
},
|
||||
"control": {
|
||||
"balance": "Solde du compte de notes: {value}",
|
||||
@ -385,7 +386,7 @@
|
||||
"fileDesc": "Télécharger des notes privées brutes par défaut lorsque vous effectuez un dépôt"
|
||||
},
|
||||
"notification": {
|
||||
"text": "Tornado.cash a ajouté la possibilité d'effectuer des sauvegardes de notes sur la blockchaîn. Configurez votre {note} maintenant et pour plus d'informations : {medium}.",
|
||||
"text": "Tornado Cash a ajouté la possibilité d'effectuer des sauvegardes de notes sur la blockchaîn. Configurez votre {note} maintenant et pour plus d'informations : {medium}.",
|
||||
"link": {
|
||||
"note": "compte de notes",
|
||||
"medium": "lire plus"
|
||||
@ -441,5 +442,6 @@
|
||||
"name": "Name",
|
||||
"fee": "Fee"
|
||||
},
|
||||
"withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded"
|
||||
"withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded",
|
||||
"freezeRisk": "{currency} est un jeton centralisé avec un risque de gel."
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"closeNotification": "Закрыть",
|
||||
"indexNotification": "Tornado Cash в настоящее время поддерживается сообществом, для получения дополнительной информации посетите {link}",
|
||||
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
|
||||
"binanceInternalTxsNotification": "Пожалуйста, не используйте адреса кошельков Binance для вывода средств. Внутренние транзакции (включая снятие средств с Tornado.cash) в настоящее время не поддерживаются на бирже Binance. Если у вас возникли проблемы с получением средств, вам следует обратиться в службу поддержки Binance.",
|
||||
"binanceInternalTxsNotification": "Пожалуйста, не используйте адреса кошельков Binance для вывода средств. Внутренние транзакции (включая снятие средств с Tornado Cash) в настоящее время не поддерживаются на бирже Binance. Если у вас возникли проблемы с получением средств, вам следует обратиться в службу поддержки Binance.",
|
||||
"deposit": "Депозит",
|
||||
"depositButton": "Внести",
|
||||
"withdraw": "Вывод",
|
||||
@ -20,9 +20,9 @@
|
||||
"connect": "Подключить",
|
||||
"token": "Токен",
|
||||
"amount": "Сумма",
|
||||
"amountTooltip": "Каждая сумма представляет собой отдельный экземпляр Tornado.cash с отдельным набором анонимности. Вы можете получить больше информации во вкладке Статистика.",
|
||||
"amountTooltip": "Каждая сумма представляет собой отдельный экземпляр Tornado Cash с отдельным набором анонимности. Вы можете получить больше информации во вкладке Статистика.",
|
||||
"approvalIsRequired": "Требуется разрешение",
|
||||
"inOrderToUse": "Чтобы использовать {currency}, вы должны активировать его для Tornado.cash. Выберите сумму, которую хотите утвердить:",
|
||||
"inOrderToUse": "Чтобы использовать {currency}, вы должны активировать его для Tornado Cash. Выберите сумму, которую хотите утвердить:",
|
||||
"unlimited": "Неограниченное",
|
||||
"unlimitedTooltip": "Неограниченное разрешение удобнее, если вы собираетесь сделать несколько депозитов.",
|
||||
"enable": "Включить",
|
||||
@ -32,7 +32,7 @@
|
||||
"close": "Закрыть",
|
||||
"yourNote": "Ваша приватная Note",
|
||||
"pleaseBackupYourNote": "Пожалуйста, сделайте резервную копию приватной Note, расположенной ниже. Она понадобится вам позже для снятия вашего депозита.",
|
||||
"treatYourNote": "Относитесь к приватной Note, как к приватному ключу - никогда и ни с кем не делитесь ею, включая разработчиков Tornado.cash.",
|
||||
"treatYourNote": "Относитесь к приватной Note, как к приватному ключу - никогда и ни с кем не делитесь ею, включая разработчиков Tornado Cash.",
|
||||
"saveAsFile": "Браузер предложит сохранить вашу Note как файл:",
|
||||
"iBackedUpTheNote": "Я сделал резервную копию",
|
||||
"iEncryptedTheNote": "Создать резервную копию этой Note в блокчейне с помощью Аккаунта {address}",
|
||||
@ -56,7 +56,7 @@
|
||||
"pleaseEnterYourNote": "Введите Note",
|
||||
"turnOnWasm": "Ошибка: включите WebAssembly в настройках вашего браузера.<br /> Если вы используете браузер Tor, включите javascript.options.wasm в about:config",
|
||||
"timePassed": "Время",
|
||||
"timePassedTooltip": "Даже если после вас сделано несколько депозитов, они могли быть сделаны одним и тем же пользователем. Поэтому мы рекомендуем подождать не менее 24 часов, прежде чем снимать средства, чтобы убедиться, что за это время несколько пользователей использовали Tornado.cash.",
|
||||
"timePassedTooltip": "Даже если после вас сделано несколько депозитов, они могли быть сделаны одним и тем же пользователем. Поэтому мы рекомендуем подождать не менее 24 часов, прежде чем снимать средства, чтобы убедиться, что за это время несколько пользователей использовали Tornado Cash.",
|
||||
"subsequentDeposits": "Депозитов после",
|
||||
"subsequentDepositsTooltip": "Наиболее вероятным источником снятия средств являются недавние депозиты. Поэтому, мы рекомендуем подождать как минимум 5 депозитов после вашего, чтобы улучшить анонимность.",
|
||||
"recipientAddress": "Адрес получателя",
|
||||
@ -94,7 +94,7 @@
|
||||
"generatingProof": "Создание доказательства",
|
||||
"statistics": "Статистика",
|
||||
"anonymitySet": "Количество депозитов",
|
||||
"anonymitySetTooltip": "Общее количество депозитов этой суммы в Tornado.сash. Чем больше это количество, тем лучше (анонимнее)",
|
||||
"anonymitySetTooltip": "Общее количество депозитов этой суммы в Tornado Cash. Чем больше это количество, тем лучше (анонимнее)",
|
||||
"latestDeposits": "Последние депозиты",
|
||||
"yourIP": "Ваш IP {ip}",
|
||||
"filterBy": "Фильтр по",
|
||||
@ -124,6 +124,7 @@
|
||||
"userDeposit": "депозиты отсутствуют | 1 депозит | {n} депозита | {n} депозитов",
|
||||
"gasPrice": "Цена Газа",
|
||||
"totalFee": "Итоговая комиссия",
|
||||
"poolFee": "лата за пул",
|
||||
"networkFee": "Комиссия сети",
|
||||
"connectYourWalletFirst": "Подключите свой кошелек",
|
||||
"changeNetwork": "Сменить сеть",
|
||||
@ -137,7 +138,7 @@
|
||||
"compliance": "Соответствие",
|
||||
"complianceTool": "Проверка соответствия",
|
||||
"complianceReport": "Отчет о соответствии",
|
||||
"complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{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 source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado.сash Note below.",
|
||||
"complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{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 source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado Cash Note below.",
|
||||
"from": "Отправитель",
|
||||
"to": "Получатель",
|
||||
"withdrawal": "Вывод",
|
||||
@ -151,7 +152,7 @@
|
||||
"nullifierHash": "Nullifier Hash",
|
||||
"verified": "Подтверждено",
|
||||
"generatePdfReport": "Сгенерировать PDF отчёт",
|
||||
"compliancePrintWarning": "Настоящий отчет о соответствии носит исключительно информационный характер. Вы должны подтвердить действительность этого отчета с помощью средства проверки соответствия Tornado (https://tornadocash.eth.limo/compliance) или с помощью любого другого криптографического программного обеспечения, которое может обработать и проверить информацию, содержащуюся в этом отчете(\"Tornado Compliance Tool\"). Любые расхождения между информацией, приведенной в данном отчете и предоставленной вышеуказанным инструментом, указывают на то, что информация, содержащаяся в этом отчете, является неточной и/или мошеннической.{newline}ОТЧЕТ О СООТВЕТСТВИИ ПРЕДОСТАВЛЯЕТСЯ \"КАК ЕСТЬ,\" БЕЗ ГАРАНТИЙ ЛЮБОГО РОДА, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОГО КАЧЕСТВА, ПРИГОДНОСТЬЮ К КОНКРЕТНОЙ ЦЕЛИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИНСТРУМЕНТА СООТВЕТСТВИЯ TORNADO.CASH НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, ОТНОСЯЩУЮСЯ К ДЕЙСТВИЮ ДОГОВОРОВ, ГРАЖДАНСКИМ ПРАВОНАРУШЕНИЯМ, А ТАКЖЕ ВЫТЕКАЮЩУЮ ИЗ НАСТОЯЩЕГО ОТЧЕТА О СООТВЕТСТВИИ ИЛИ СВЯЗАННУЮ С НИМ.",
|
||||
"compliancePrintWarning": "Настоящий отчет о соответствии носит исключительно информационный характер. Вы должны подтвердить действительность этого отчета с помощью средства проверки соответствия Tornado (https://tornadocash.eth.limo/compliance) или с помощью любого другого криптографического программного обеспечения, которое может обработать и проверить информацию, содержащуюся в этом отчете(\"Tornado Compliance Tool\"). Любые расхождения между информацией, приведенной в данном отчете и предоставленной вышеуказанным инструментом, указывают на то, что информация, содержащаяся в этом отчете, является неточной и/или мошеннической.{newline}ОТЧЕТ О СООТВЕТСТВИИ ПРЕДОСТАВЛЯЕТСЯ \"КАК ЕСТЬ,\" БЕЗ ГАРАНТИЙ ЛЮБОГО РОДА, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОГО КАЧЕСТВА, ПРИГОДНОСТЬЮ К КОНКРЕТНОЙ ЦЕЛИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИНСТРУМЕНТА СООТВЕТСТВИЯ TORNADO CASH НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, ОТНОСЯЩУЮСЯ К ДЕЙСТВИЮ ДОГОВОРОВ, ГРАЖДАНСКИМ ПРАВОНАРУШЕНИЯМ, А ТАКЖЕ ВЫТЕКАЮЩУЮ ИЗ НАСТОЯЩЕГО ОТЧЕТА О СООТВЕТСТВИИ ИЛИ СВЯЗАННУЮ С НИМ.",
|
||||
"relayRequestFailed": "Relayer {relayerName} не отвечает. Попробуйте сменить Relayer.",
|
||||
"selectProvider": "Выберите кошелёк",
|
||||
"walletDoesNotSupported": "Выбранный кошелёк не поддерживается",
|
||||
@ -376,7 +377,7 @@
|
||||
"recover": "Восстановить",
|
||||
"enterRawDesc": "Вход с помощью ключа",
|
||||
"enterRaw": "Ввести ключ аккаунта",
|
||||
"accSetupDescription": "Этот ключ используется для шифрования и хранения ваших Tornado.cash Note в блокчейне Ethereum. Пожалуйста, сохраните его и никогда никому не передавайте."
|
||||
"accSetupDescription": "Этот ключ используется для шифрования и хранения ваших Tornado Cash Note в блокчейне Ethereum. Пожалуйста, сохраните его и никогда никому не передавайте."
|
||||
},
|
||||
"control": {
|
||||
"balance": "Баланс аккаунта: {value}",
|
||||
@ -389,7 +390,7 @@
|
||||
"fileDesc": "Автоматическое скачивание приватных Note по умолчанию при внесении депозита"
|
||||
},
|
||||
"notification": {
|
||||
"text": "Tornado.cash поддерживает резервное копирование Note в блокчейн. Создайте ваш {note} сейчас или узнать {medium}.",
|
||||
"text": "Tornado Cash поддерживает резервное копирование Note в блокчейн. Создайте ваш {note} сейчас или узнать {medium}.",
|
||||
"link": {
|
||||
"note": "аккаунт для Note",
|
||||
"medium": "больше информации"
|
||||
@ -445,5 +446,6 @@
|
||||
"name": "Name",
|
||||
"fee": "Fee"
|
||||
},
|
||||
"withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded"
|
||||
"withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded",
|
||||
"freezeRisk": "{currency} - это централизованный токен с риском заморозки."
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"closeNotification": "Bildirimi Kapat",
|
||||
"indexNotification": "Tornado Cash artık topluluk tarafından yönetiliyor, daha fazla bilgi için {link} adresini ziyaret edin.",
|
||||
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
|
||||
"binanceInternalTxsNotification": "Lütfen para çekme işlemleri için Binance cüzdanına ait adresleri kullanmayın. Dahili işlemler (Tornado.cash çekimleri dahil) şu anda Binance Exchange’de desteklenmemektedir. Paranızın hesabınıza yansıması ile ilgili sorunlarınız varsa Binance destek ile iletişime geçmelisiniz.",
|
||||
"binanceInternalTxsNotification": "Lütfen para çekme işlemleri için Binance cüzdanına ait adresleri kullanmayın. Dahili işlemler (Tornado Cash çekimleri dahil) şu anda Binance Exchange’de desteklenmemektedir. Paranızın hesabınıza yansıması ile ilgili sorunlarınız varsa Binance destek ile iletişime geçmelisiniz.",
|
||||
"deposit": "Yatırma",
|
||||
"depositButton": "Yatırma",
|
||||
"withdraw": "Çekme",
|
||||
@ -22,7 +22,7 @@
|
||||
"amount": "Miktar",
|
||||
"amountTooltip": "Her değer, ayrı bir anonimlik kümesine sahip bağımsız bir Tornado Cash yansımasıdır. Daha fazla bilgi için istatistikler sekmesini kontrol edin.",
|
||||
"approvalIsRequired": "Onay gerekmekte",
|
||||
"inOrderToUse": "{currency} kullanmak için Tornado.cash’i etkinleştirmeniz gerekir. Onaylamak istediğiniz tutarı seçin:",
|
||||
"inOrderToUse": "{currency} kullanmak için Tornado Cash’i etkinleştirmeniz gerekir. Onaylamak istediğiniz tutarı seçin:",
|
||||
"unlimited": "Limitsiz",
|
||||
"unlimitedTooltip": "Birden fazla para yatırma işlemi yapacaksanız sınırsız onay daha uygundur.",
|
||||
"enable": "Etkinleştir",
|
||||
@ -32,7 +32,7 @@
|
||||
"close": "Kapat",
|
||||
"yourNote": "Özel notunuz",
|
||||
"pleaseBackupYourNote": "Lütfen notunuzu yedekleyin. Yüklediğiniz tokenları geri çekmek için daha sonra ihtiyacınız olacak.",
|
||||
"treatYourNote": "Notunuza özel bir anahtar gibi davranın. tornado.cash geliştiricileri dahil hiç kimseyle paylaşmayın.",
|
||||
"treatYourNote": "Notunuza özel bir anahtar gibi davranın. tornado cash geliştiricileri dahil hiç kimseyle paylaşmayın.",
|
||||
"saveAsFile": "Tarayıcınız notunuzu bir dosya olarak kaydetmenizi isteyecektir:",
|
||||
"iBackedUpTheNote": "Notumu yedekledim.",
|
||||
"iEncryptedTheNote": "Hesabınıza ait notun zincir üzerinde yedeğini oluşturun {address}",
|
||||
@ -56,7 +56,7 @@
|
||||
"pleaseEnterYourNote": "Lütfen notunuzu girin",
|
||||
"turnOnWasm": "Hata: Lütfen tarayıcı ayarlarınızda WebAssembly’ı açın. Tor tarayıcı kullanıyorsanız, about:config içinde javascript.options.wasm’ı etkinleştirin.",
|
||||
"timePassed": "Zaman aşımı",
|
||||
"timePassedTooltip": "Sizin işleminizden sonra birden fazla para yatırma işlemi olsa bile, bunlar aynı kullanıcı tarafından yapılmış olabilir. Bu nedenle, bu süre içinde Tornado.cash kullanan birden fazla kullanıcı olduğundan emin olmak için para çekmeden önce en az 24 saat beklemenizi öneririz.",
|
||||
"timePassedTooltip": "Sizin işleminizden sonra birden fazla para yatırma işlemi olsa bile, bunlar aynı kullanıcı tarafından yapılmış olabilir. Bu nedenle, bu süre içinde Tornado Cash kullanan birden fazla kullanıcı olduğundan emin olmak için para çekmeden önce en az 24 saat beklemenizi öneririz.",
|
||||
"subsequentDeposits": "Bir sonraki yükleme",
|
||||
"subsequentDepositsTooltip": "En olası para çekme kaynağı, son yüklemelerdir. Bu nedenle, daha iyi anonimlik sağlamak için sizinkinden sonra en az 5 para yatırmaya izin vermenizi öneririz.",
|
||||
"recipientAddress": "Alıcı adresi",
|
||||
@ -124,6 +124,7 @@
|
||||
"userDeposit": "Yükleme yok | Sadece bir yükleme | {n} yüklemeler",
|
||||
"gasPrice": "Gas Ücreti",
|
||||
"totalFee": "Toplam ücret",
|
||||
"poolFee": "havuz ücreti",
|
||||
"networkFee": "Ağ ücreti",
|
||||
"connectYourWalletFirst": "Önce cüzdanınızı bağlayın",
|
||||
"changeNetwork": "Ağ değiştir",
|
||||
@ -137,7 +138,7 @@
|
||||
"compliance": "Uyumluluk",
|
||||
"complianceTool": "uyumluluk aracı",
|
||||
"complianceReport": "Uyumluluk Raporu",
|
||||
"complianceSubtitle": "Finansal gizliliği korumak, özgürlüğümüzü korumak için çok önemlidir.{newline}Ancak, uyumsuzluk pahasına olmamalıdır. Tornado.cash ile,para yatırmak veya para çekmek için kullandığınız Ethereum adresini kullanarak her zaman kriptografik olarak doğrulanmış işlem geçmişi kanıtını sağlayabilirsiniz. Çekim adresinizde tutulan varlıkların kaynağını göstermek için gerekli olabilir.{newline}Bir uygunluk raporu oluşturmak için lütfen aşağıya Tornado.сash Notunuzu girin.",
|
||||
"complianceSubtitle": "Finansal gizliliği korumak, özgürlüğümüzü korumak için çok önemlidir.{newline}Ancak, uyumsuzluk pahasına olmamalıdır. Tornado Cash ile,para yatırmak veya para çekmek için kullandığınız Ethereum adresini kullanarak her zaman kriptografik olarak doğrulanmış işlem geçmişi kanıtını sağlayabilirsiniz. Çekim adresinizde tutulan varlıkların kaynağını göstermek için gerekli olabilir.{newline}Bir uygunluk raporu oluşturmak için lütfen aşağıya Tornado Cash Notunuzu girin.",
|
||||
"from": "Kimden",
|
||||
"to": "Kime",
|
||||
"withdrawal": "Çekim",
|
||||
@ -151,7 +152,7 @@
|
||||
"nullifierHash": "Nullifier Hash",
|
||||
"verified": "Onaylanmış",
|
||||
"generatePdfReport": "PDF rapora dönüştür.",
|
||||
"compliancePrintWarning": "Bu Uyumluluk Raporu yalnızca bilgilendirme amaçlıdır. Bu raporun geçerliliğini Tornado’nun Uyumluluk Aracını (https://tornadocash.eth.limo/compliance) veya burada yer alan bilgileri hesaplayabilen ve doğrulayabilen diğer herhangi bir şifreleme yazılımıyla (\"Tornado Uyumluluk Aracı\") kullanarak onaylamalısınız.) Bu raporda bulunan ve yukarıdaki araç tarafından sağlanan bilgiler arasındaki herhangi bir tutarsızlık, rapordaki bilgilerin yanlış ve/veya sahte olduğunu gösterir.{newline} UYGUNLUK RAPORU, HERHANGİ BİR GARANTİ OLMADAN tamamen\"OLDUĞU GİBİ\" SUNULMAKTADIR. BELİRLİ BİR AMACA UYGUNLUK VE İHLAL ETMEME GARANTİLERİ DAHİLDİR ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE ZIMNİ VEYA ZIMNİ OLARAK GEÇERLİDİR. TORNADO.CASH UYUM ARACININ YAZARLARI RAPORDAN KAYNAKLANAN, UYUMLULUKTAN KAYNAKLANAN VEYA BAĞLANTILI OLARAK SÖZLEŞME, HAKSIZ YA DA BAŞKA BİR DURUMDA OLAN HERHANGİ BİR İDDİADAN, ZARAR VEYA BAŞKA SORUMLULUKTAN SORUMLU TUTULAMAZ.",
|
||||
"compliancePrintWarning": "Bu Uyumluluk Raporu yalnızca bilgilendirme amaçlıdır. Bu raporun geçerliliğini Tornado’nun Uyumluluk Aracını (https://tornadocash.eth.limo/compliance) veya burada yer alan bilgileri hesaplayabilen ve doğrulayabilen diğer herhangi bir şifreleme yazılımıyla (\"Tornado Uyumluluk Aracı\") kullanarak onaylamalısınız.) Bu raporda bulunan ve yukarıdaki araç tarafından sağlanan bilgiler arasındaki herhangi bir tutarsızlık, rapordaki bilgilerin yanlış ve/veya sahte olduğunu gösterir.{newline} UYGUNLUK RAPORU, HERHANGİ BİR GARANTİ OLMADAN tamamen\"OLDUĞU GİBİ\" SUNULMAKTADIR. BELİRLİ BİR AMACA UYGUNLUK VE İHLAL ETMEME GARANTİLERİ DAHİLDİR ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE ZIMNİ VEYA ZIMNİ OLARAK GEÇERLİDİR. TORNADO CASH UYUM ARACININ YAZARLARI RAPORDAN KAYNAKLANAN, UYUMLULUKTAN KAYNAKLANAN VEYA BAĞLANTILI OLARAK SÖZLEŞME, HAKSIZ YA DA BAŞKA BİR DURUMDA OLAN HERHANGİ BİR İDDİADAN, ZARAR VEYA BAŞKA SORUMLULUKTAN SORUMLU TUTULAMAZ.",
|
||||
"relayRequestFailed": "Relayer {relayerName} çöktü. lütfen başka bir relayer seçin.",
|
||||
"selectProvider": "Sağlayıcı seçin",
|
||||
"walletDoesNotSupported": "Bu cüzdan desteklenmiyor",
|
||||
@ -315,7 +316,7 @@
|
||||
"setupAccount": {
|
||||
"title": "Hesap kurulumu",
|
||||
"label": "Not hesabı anahtarı",
|
||||
"description": "Bu anahtar, Tornado.cash özel notlarınızı Ethereum blok zincirinde şifrelemek ve saklamak için kullanılır. Lütfen yedekleyin ve asla kimseyle paylaşmayın.",
|
||||
"description": "Bu anahtar, Tornado Cash özel notlarınızı Ethereum blok zincirinde şifrelemek ve saklamak için kullanılır. Lütfen yedekleyin ve asla kimseyle paylaşmayın.",
|
||||
"setupAccount": "Hesap kurulumu",
|
||||
"setAccount": "Tamamla",
|
||||
"backedUp": "Not hesabı anahtarımı yedekledim",
|
||||
@ -372,7 +373,7 @@
|
||||
"recover": "Hesabı kurtar",
|
||||
"enterRawDesc": "Önceden ayarlanmış Not Hesabı anahtarını kullan",
|
||||
"enterRaw": "Hesap anahtarını girin",
|
||||
"accSetupDescription": "Bu anahtar, Tornado.cash özel notlarınızı Ethereum blok zincirinde şifrelemek ve saklamak için kullanılır. Lütfen yedekleyin ve asla kimseyle paylaşmayın."
|
||||
"accSetupDescription": "Bu anahtar, Tornado Cash özel notlarınızı Ethereum blok zincirinde şifrelemek ve saklamak için kullanılır. Lütfen yedekleyin ve asla kimseyle paylaşmayın."
|
||||
},
|
||||
"control": {
|
||||
"balance": "Not hesabı bakiyesi: {value}",
|
||||
@ -385,7 +386,7 @@
|
||||
"fileDesc": "Para yatırırken ham özel notları varsayılan olarak indirin"
|
||||
},
|
||||
"notification": {
|
||||
"text": "Tornado.cash, zincir üstü not yedeklemeleri ekledi. {note} veya {medium} bilgilerinizi şimdi ayarlayın.",
|
||||
"text": "Tornado Cash, zincir üstü not yedeklemeleri ekledi. {note} veya {medium} bilgilerinizi şimdi ayarlayın.",
|
||||
"link": {
|
||||
"note": "Not hesabı",
|
||||
"medium": "Daha fazla bilgi"
|
||||
@ -441,5 +442,6 @@
|
||||
"name": "İsim",
|
||||
"fee": "Ücret"
|
||||
},
|
||||
"withdrawalQueueIsOverloaded": "Çekim kuyruğu aşırı yoğun"
|
||||
"withdrawalQueueIsOverloaded": "Çekim kuyruğu aşırı yoğun",
|
||||
"freezeRisk": "{currency} merkezileştirilmiş bir token olup dondurulma riski taşır."
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"closeNotification": "Закрити повідомлення",
|
||||
"indexNotification": "Tornado Cash зараз обслуговується спільнотою, щоб дізнатися більше, відвідайте {link}",
|
||||
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
|
||||
"binanceInternalTxsNotification": "Будь ласка, не використовуйте адреси гаманців Binance для виведення коштів. Внутрішні транзакції (включаючи зняття коштів з Tornado.cash) в даний час не підтримуються на біржі Binance. Якщо у вас виникли проблеми з отриманням коштів, вам слід звернутися в службу підтримки Binance.",
|
||||
"binanceInternalTxsNotification": "Будь ласка, не використовуйте адреси гаманців Binance для виведення коштів. Внутрішні транзакції (включаючи зняття коштів з Tornado Cash) в даний час не підтримуються на біржі Binance. Якщо у вас виникли проблеми з отриманням коштів, вам слід звернутися в службу підтримки Binance.",
|
||||
"deposit": "Депозит",
|
||||
"depositButton": "Внести",
|
||||
"withdraw": "Вивід",
|
||||
@ -22,7 +22,7 @@
|
||||
"amount": "Кількість",
|
||||
"amountTooltip": "Кожна сума являє собою окремий екземпляр Tornado Cash з окремим набором анонімності. Ви можете отримати більше інформації у вкладці Статистика.",
|
||||
"approvalIsRequired": "Потрібен дозвіл",
|
||||
"inOrderToUse": "Щоб використовувати {currency} ви повинні активувати його для Tornado.cash. Виберіть суму, яку хочете затвердити::",
|
||||
"inOrderToUse": "Щоб використовувати {currency} ви повинні активувати його для Tornado Cash. Виберіть суму, яку хочете затвердити::",
|
||||
"unlimited": "Необмежено",
|
||||
"unlimitedTooltip": "Необмежений дозвіл зручніше, якщо ви збираєтеся зробити кілька депозитів.",
|
||||
"enable": "Увімкнути",
|
||||
@ -32,7 +32,7 @@
|
||||
"close": "Закрити",
|
||||
"yourNote": "Ваша приватна Note",
|
||||
"pleaseBackupYourNote": "Будь ласка, зробіть резервну копію приватної Note, розташованої нижче. Вона знадобиться вам пізніше для зняття вашого депозиту.",
|
||||
"treatYourNote": "Ставтеся до приватної Note так само, як і приватному ключу - ніколи і ні з ким не діліться нею, включаючи розробників tornado.cash.",
|
||||
"treatYourNote": "Ставтеся до приватної Note так само, як і приватному ключу - ніколи і ні з ким не діліться нею, включаючи розробників tornado cash.",
|
||||
"saveAsFile": "Браузер попросить зберегти вашу Note як файл:",
|
||||
"iBackedUpTheNote": "Я зробив резервну копію",
|
||||
"iEncryptedTheNote": "Створити мережеву резервну копію цієї Note за допомогою Акаунта {address}",
|
||||
@ -55,7 +55,7 @@
|
||||
"pleaseEnterYourNote": "Введіть Note",
|
||||
"turnOnWasm": "Помилка: увімкніть WebAssembly в налаштуваннях вашого браузера.<br /> Якщо ви використовуєте браузер Tor, включите javascript.options.wasm в about:config",
|
||||
"timePassed": "Час",
|
||||
"timePassedTooltip": "Навіть якщо після вас зроблено кілька депозитів, вони могли бути зроблені одним і тим же користувачем. Тому ми рекомендуємо почекати не менше 24 годин, перш ніж знімати кошти, щоб переконатися, що за цей час кілька користувачів використовували Tornado.cash.",
|
||||
"timePassedTooltip": "Навіть якщо після вас зроблено кілька депозитів, вони могли бути зроблені одним і тим же користувачем. Тому ми рекомендуємо почекати не менше 24 годин, перш ніж знімати кошти, щоб переконатися, що за цей час кілька користувачів використовували Tornado Cash.",
|
||||
"subsequentDeposits": "Депозитів після",
|
||||
"subsequentDepositsTooltip": "Найбільш імовірним джерелом зняття коштів є недавні депозити. Тому, ми рекомендуємо почекати як мінімум 5 депозитів після вашого, щоб поліпшити анонімність.",
|
||||
"recipientAddress": "Адреса одержувача",
|
||||
@ -93,7 +93,7 @@
|
||||
"generatingProof": "Створення доказу",
|
||||
"statistics": "Статистика",
|
||||
"anonymitySet": "Кількість депозитів",
|
||||
"anonymitySetTooltip": "Загальна кількість депозитів цієї суми в Tornado.Cash. Чим більше це кількість, тим краще (анонімніше)",
|
||||
"anonymitySetTooltip": "Загальна кількість депозитів цієї суми в Tornado Cash. Чим більше це кількість, тим краще (анонімніше)",
|
||||
"latestDeposits": "Останні депозити",
|
||||
"yourIP": "Ваш IP {ip}",
|
||||
"filterBy": "Фільтр по",
|
||||
@ -123,6 +123,7 @@
|
||||
"userDeposit": "депозити відсутні | тільки 1 депозит | {n} депозиту | {n} депозитів",
|
||||
"gasPrice": "Ціна Газу",
|
||||
"totalFee": "Підсумкова комісія",
|
||||
"poolFee": "лата за пул",
|
||||
"networkFee": "Комісія мережі",
|
||||
"connectYourWalletFirst": "Підключіть свій гаманець",
|
||||
"changeNetwork": "Змінити мережу",
|
||||
@ -136,7 +137,7 @@
|
||||
"compliance": "Відповідність",
|
||||
"complianceTool": "Перевірка відповідності",
|
||||
"complianceReport": "Звіт про відповідність",
|
||||
"complianceSubtitle": "Конфіденційність фінансів є необхідною умовою збереження наших свобод. {Newline} Однак, вона не повинна досягатися за рахунок недотримання встановлених правил і стандартів. {Newline} З Tornado.cash ви завжди зможете отримати криптографічно достовірне підтвердження історії транзакцій. Для цього вам знадобиться лише адреса Ethereum, яку ви використовували для введення або виведення коштів. Підтвердження може бути необхідно для того, щоб обґрунтувати походження активів, що зберігаються на вашу адресу. {newline} Для створення звіту про відповідність, будь ласка, введіть ідентифікатор вашої Note Tornado.cash нижче. ",
|
||||
"complianceSubtitle": "Конфіденційність фінансів є необхідною умовою збереження наших свобод. {Newline} Однак, вона не повинна досягатися за рахунок недотримання встановлених правил і стандартів. {Newline} З Tornado Cash ви завжди зможете отримати криптографічно достовірне підтвердження історії транзакцій. Для цього вам знадобиться лише адреса Ethereum, яку ви використовували для введення або виведення коштів. Підтвердження може бути необхідно для того, щоб обґрунтувати походження активів, що зберігаються на вашу адресу. {newline} Для створення звіту про відповідність, будь ласка, введіть ідентифікатор вашої Note Tornado Cash нижче. ",
|
||||
"from": "Відправник",
|
||||
"to": "Одержувач",
|
||||
"withdrawal": "Вивід",
|
||||
@ -150,7 +151,7 @@
|
||||
"nullifierHash": "Nullifier Hash",
|
||||
"verified": "Підтверджено",
|
||||
"generatePdfReport": "Отримати PDF звіт",
|
||||
"compliancePrintWarning": "Справжній звіт про відповідність носить виключно інформаційний характер. Ви повинні підтвердити дійсність цього звіту за допомогою засобу перевірки відповідності Tornado (https://app.tornado.cash/compliance) чи за допомогою будь-якого іншого криптографічного програмного забезпечення, яке може обробити і перевірити інформацію, що міститься в цьому звіті (\"Tornado Compliance Tool\"). Будь-які розбіжності між інформацією, наведеною в даному звіті та наданої вищевказаним інструментом, вказують на те, що інформація, що міститься в цьому звіті, є неточною і/або шахрайської. {newline} ЗВІТ ПРО ВІДПОВІДНІСТЬ НАДАЄТЬСЯ \"ЯК Є,\" БЕЗ ГАРАНТІЇ, ПРЯМИХ АБО НЕПРЯМИХ, У ТОМУ ЧИСЛІ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ ГАРАНТІЯМИ ТОВАРНОЇ ЯКОСТІ, ПРИДАТНІ ДО КОНКРЕТНОЇ МЕТИ. НІ ЗА ЯКИХ ОБСТАВИН АВТОРИ ІНСТРУМЕНТУ ВІДПОВІДНОСТІ TORNADO.CASH НЕ БУДУТЬ НЕСТИ ВІДПОВІДАЛЬНІСТЬ ЗА БУДЬ-ЯКІ ПРЕТЕНЗІЇ, ЗБИТКИ АБО ІНШУ ВІДПОВІДАЛЬНІСТЬ, ЩО ВІДНОСИТЬСЯ ДО ДІЇ ДОГОВОРІВ, ЦИВІЛЬНИХ ПРАВОПОРУШЕНЬ, А ТАКОЖ ЩО ВИНИКАЄ ВНАСЛІДОК ДО ЦЬОГО ЗВІТУ ПРО ВІДПОВІДНІСТЬ АБО ПОВ'ЯЗАНИХ З НИМ. ",
|
||||
"compliancePrintWarning": "Справжній звіт про відповідність носить виключно інформаційний характер. Ви повинні підтвердити дійсність цього звіту за допомогою засобу перевірки відповідності Tornado (https://tornadocash.eth.limo/compliance) чи за допомогою будь-якого іншого криптографічного програмного забезпечення, яке може обробити і перевірити інформацію, що міститься в цьому звіті (\"Tornado Compliance Tool\"). Будь-які розбіжності між інформацією, наведеною в даному звіті та наданої вищевказаним інструментом, вказують на те, що інформація, що міститься в цьому звіті, є неточною і/або шахрайської. {newline} ЗВІТ ПРО ВІДПОВІДНІСТЬ НАДАЄТЬСЯ \"ЯК Є,\" БЕЗ ГАРАНТІЇ, ПРЯМИХ АБО НЕПРЯМИХ, У ТОМУ ЧИСЛІ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ ГАРАНТІЯМИ ТОВАРНОЇ ЯКОСТІ, ПРИДАТНІ ДО КОНКРЕТНОЇ МЕТИ. НІ ЗА ЯКИХ ОБСТАВИН АВТОРИ ІНСТРУМЕНТУ ВІДПОВІДНОСТІ TORNADO CASH НЕ БУДУТЬ НЕСТИ ВІДПОВІДАЛЬНІСТЬ ЗА БУДЬ-ЯКІ ПРЕТЕНЗІЇ, ЗБИТКИ АБО ІНШУ ВІДПОВІДАЛЬНІСТЬ, ЩО ВІДНОСИТЬСЯ ДО ДІЇ ДОГОВОРІВ, ЦИВІЛЬНИХ ПРАВОПОРУШЕНЬ, А ТАКОЖ ЩО ВИНИКАЄ ВНАСЛІДОК ДО ЦЬОГО ЗВІТУ ПРО ВІДПОВІДНІСТЬ АБО ПОВ'ЯЗАНИХ З НИМ. ",
|
||||
"relayRequestFailed": "Relayer {relayerName} не відповідає. Спробуйте вибрати інший.",
|
||||
"selectProvider": "Виберіть гаманець",
|
||||
"walletDoesNotSupported": "Ваш гаманець не підтримується",
|
||||
@ -314,7 +315,7 @@
|
||||
"setupAccount": {
|
||||
"title": "Створення аккаунта для Note",
|
||||
"label": "Ключ Акаунта для Note",
|
||||
"description": "Цей ключ використовується для шифрування і зберігання ваших приватних Note Tornado.cash в блокчейне ethereum. Будь ласка, зробіть резервну копію ключа і ніколи ні з ким їм не діліться.",
|
||||
"description": "Цей ключ використовується для шифрування і зберігання ваших приватних Note Tornado Cash в блокчейне ethereum. Будь ласка, зробіть резервну копію ключа і ніколи ні з ким їм не діліться.",
|
||||
"setupAccount": "Створити обліковий запис",
|
||||
"setAccount": "Завершити",
|
||||
"backedUp": "Я зробив резервну копію ключа",
|
||||
@ -371,7 +372,7 @@
|
||||
"recover": "Відновити",
|
||||
"enterRawDesc": "Вхід за допомогою ключа",
|
||||
"enterRaw": "Ввести ключ аккаунта",
|
||||
"accSetupDescription": "Цей ключ використовується для шифрування і зберігання ваших Tornado.cash Note на блокчейні ethereum. Будь ласка, зробіть резервну копію ключа і ніколи ні з ким нею не діліться."
|
||||
"accSetupDescription": "Цей ключ використовується для шифрування і зберігання ваших Tornado Cash Note на блокчейні ethereum. Будь ласка, зробіть резервну копію ключа і ніколи ні з ким нею не діліться."
|
||||
},
|
||||
"control": {
|
||||
"balance": "Баланс аккаунта: {value}",
|
||||
@ -384,7 +385,7 @@
|
||||
"fileDesc": "Завантаження необроблених приватних поміток за замовчуванням при внесенні депозиту"
|
||||
},
|
||||
"notification": {
|
||||
"text": "В Tornado.cash тепер є мережеве резервне копіювання. Створіть ваш {note} зараз або дізнатися {medium}.",
|
||||
"text": "В Tornado Cash тепер є мережеве резервне копіювання. Створіть ваш {note} зараз або дізнатися {medium}.",
|
||||
"link": {
|
||||
"note": "Note аккаунт",
|
||||
"medium": "більше інформації"
|
||||
@ -424,5 +425,6 @@
|
||||
"disabled": "Мобільні гаманці не підтримують цю функцію в даний момент."
|
||||
}
|
||||
},
|
||||
"dayPlural": "0 днів | {n} день | {n} дні | {n} днів"
|
||||
"dayPlural": "0 днів | {n} день | {n} дні | {n} днів",
|
||||
"freezeRisk": "{currency} - це централізований токен із ризиком заморожування."
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"closeNotification": "关闭通知",
|
||||
"indexNotification": "Tornado Cash 现在由社区维护,有关更多信息,请访问 {link}",
|
||||
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
|
||||
"binanceInternalTxsNotification": "请不要使用Binance钱包地址进行提款。Binance交易所目前不支持内部交易(包括Tornado.cash提款)。如果您有资金未收到的问题,您应该联系Binance支持。",
|
||||
"binanceInternalTxsNotification": "请不要使用Binance钱包地址进行提款。Binance交易所目前不支持内部交易(包括Tornado Cash提款)。如果您有资金未收到的问题,您应该联系Binance支持。",
|
||||
"deposit": "存款",
|
||||
"depositButton": "存款",
|
||||
"withdraw": "提款",
|
||||
@ -32,7 +32,7 @@
|
||||
"close": "关闭",
|
||||
"yourNote": "你的凭证",
|
||||
"pleaseBackupYourNote": "请备份凭证,这很重要!如果你丢失了该凭证,你将无法找回存款!",
|
||||
"treatYourNote": "将您的笔记当作私钥-切勿与任何人共享,包括 Tornado.cash 开发人员。",
|
||||
"treatYourNote": "将您的笔记当作私钥-切勿与任何人共享,包括 Tornado Cash 开发人员。",
|
||||
"saveAsFile": "浏览器将要求将您的笔记另存为文件:",
|
||||
"iBackedUpTheNote": "我已备份了凭证",
|
||||
"iEncryptedTheNote": "用您的账户{address}创建此凭证的链上备份",
|
||||
@ -124,6 +124,7 @@
|
||||
"userDeposit": "无存款 | 只有 1 笔存款 | {n} 笔存款",
|
||||
"gasPrice": "Gas 价格",
|
||||
"totalFee": "总费用",
|
||||
"poolFee": "池费用",
|
||||
"networkFee": "网络费",
|
||||
"connectYourWalletFirst": "首先连接你的钱包",
|
||||
"changeNetwork": "切换网络",
|
||||
@ -137,7 +138,7 @@
|
||||
"compliance": "来源证明",
|
||||
"complianceTool": "来源证明工具",
|
||||
"complianceReport": "来源证明报告",
|
||||
"complianceSubtitle": "维护财务隐私对于保全我们的自由至关重要。{newline}但是,它不应该以违规为代价。 借助Tornado.cash,您始终可以使用您存/取款的地址提供经过加密验证的交易历史证明。 这将会显示您的提款地址的资产来源。{newline}要生成资产来源报告,请在下面输入您的 Tornado.сash存款凭证。",
|
||||
"complianceSubtitle": "维护财务隐私对于保全我们的自由至关重要。{newline}但是,它不应该以违规为代价。 借助Tornado Cash,您始终可以使用您存/取款的地址提供经过加密验证的交易历史证明。 这将会显示您的提款地址的资产来源。{newline}要生成资产来源报告,请在下面输入您的Tornado Cash存款凭证。",
|
||||
"from": "从",
|
||||
"to": "到",
|
||||
"withdrawal": "提款",
|
||||
@ -151,7 +152,7 @@
|
||||
"nullifierHash": "无效符",
|
||||
"verified": "已验证",
|
||||
"generatePdfReport": "生成 PDF 报告",
|
||||
"compliancePrintWarning": "这本来源证明报告仅供参考的。 你应该使用Tornado的来源证明工具来确认报告 (https://tornadocash.eth.limo/compliance) 的有效性,或者与可以算出和验证此处包含信息的任何其他密码学软件 (\"Tornado来源证明工具\") 一起使用。 报告中发现的信息与上述工具提供的信息之间存在任何差异,表明报告中的信息是不正确的{newline} 来源证明报告按 \"原样,\" 提供,不提供任何明示或暗示担保,包括但不限于对适销性,用途的适用性和非侵权专利的担保。 无论是出于合同要求、侵权或其他原因,由本来源证明报告引起与相关的任何索赔,损害或其他责任,Tornado.cash的作者概不负责。",
|
||||
"compliancePrintWarning": "这本来源证明报告仅供参考的。 你应该使用Tornado的来源证明工具来确认报告 (https://tornadocash.eth.limo/compliance) 的有效性,或者与可以算出和验证此处包含信息的任何其他密码学软件 (\"Tornado来源证明工具\") 一起使用。 报告中发现的信息与上述工具提供的信息之间存在任何差异,表明报告中的信息是不正确的{newline} 来源证明报告按 \"原样,\" 提供,不提供任何明示或暗示担保,包括但不限于对适销性,用途的适用性和非侵权专利的担保。 无论是出于合同要求、侵权或其他原因,由本来源证明报告引起与相关的任何索赔,损害或其他责任,Tornado Cash的作者概不负责。",
|
||||
"relayRequestFailed": "中继者 {relayerName} 无法使用,请选择其他中继者。",
|
||||
"selectProvider": "请选择钱包",
|
||||
"walletDoesNotSupported": "此钱包不受支持",
|
||||
@ -319,7 +320,7 @@
|
||||
"setupAccount": {
|
||||
"title": "账户设置",
|
||||
"label": "凭证账户密钥",
|
||||
"description": "此密钥用于在以太坊区块链上加密和存储您的 Tornado.cash 私人凭证。 请备份它,永远不要与任何人分享。",
|
||||
"description": "此密钥用于在以太坊区块链上加密和存储您的 Tornado Cash 私人凭证。 请备份它,永远不要与任何人分享。",
|
||||
"setupAccount": "设置账户",
|
||||
"setAccount": "完成",
|
||||
"backedUp": "我已备份了凭证账户密钥",
|
||||
@ -376,7 +377,7 @@
|
||||
"recover": "恢复账户",
|
||||
"enterRawDesc": "使用之前设置的凭证账户密钥",
|
||||
"enterRaw": "输入账户密钥",
|
||||
"accSetupDescription": "此密钥用于在以太坊区块链上加密和存储您的 Tornado.cash 私人凭证。 请备份它,永远不要与任何人分享。"
|
||||
"accSetupDescription": "此密钥用于在以太坊区块链上加密和存储您的 Tornado Cash 私人凭证。 请备份它,永远不要与任何人分享。"
|
||||
},
|
||||
"control": {
|
||||
"balance": "凭证账户余额:{value}",
|
||||
@ -389,7 +390,7 @@
|
||||
"fileDesc": "存款时默认下载原始私人凭证"
|
||||
},
|
||||
"notification": {
|
||||
"text": "Tornado.cash 添加了链上凭证备份。 立即设置您的 {note} 或 查看{medium}信息。",
|
||||
"text": "Tornado Cash 添加了链上凭证备份。 立即设置您的 {note} 或 查看{medium}信息。",
|
||||
"link": {
|
||||
"note": "凭证账户",
|
||||
"medium": "阅读更多"
|
||||
@ -445,5 +446,6 @@
|
||||
"name": "名",
|
||||
"fee": "费用"
|
||||
},
|
||||
"withdrawalQueueIsOverloaded": "提款队列已超载"
|
||||
"withdrawalQueueIsOverloaded": "提款队列已超载",
|
||||
"freezeRisk": "{currency}是中心化代币,存在冻结风险。"
|
||||
}
|
||||
|
||||
108
networkConfig.js
108
networkConfig.js
@ -1,5 +1,5 @@
|
||||
export const blockSyncInterval = 10000
|
||||
export const enabledChains = ['1', '10', '56', '100', '137', '42161', '43114', '11155111']
|
||||
export const enabledChains = ['1', '10', '56', '61', '100', '137', '42161', '43114', '11155111']
|
||||
export default {
|
||||
netId1: {
|
||||
rpcCallRetryAttempt: 15,
|
||||
@ -21,29 +21,29 @@ export default {
|
||||
networkName: 'Ethereum Mainnet',
|
||||
deployedBlock: 9116966,
|
||||
rpcUrls: {
|
||||
mevblockerRPC: {
|
||||
name: 'mevblockerRPC',
|
||||
url: 'https://rpc.mevblocker.io'
|
||||
},
|
||||
poktRPC: {
|
||||
name: 'poktRPC',
|
||||
url: 'https://eth-pokt.nodies.app'
|
||||
},
|
||||
secureRPC: {
|
||||
name: 'secureRPC',
|
||||
url: 'https://api.securerpc.com/v1'
|
||||
},
|
||||
flashbotRPC: {
|
||||
name: 'flashbotRPC',
|
||||
url: 'https://rpc.flashbots.net'
|
||||
},
|
||||
blockpiRPC: {
|
||||
name: 'blockpiRPC',
|
||||
url: 'https://ethereum.blockpi.network/v1/rpc/public'
|
||||
tornadoRPC: {
|
||||
name: 'Tornado RPC',
|
||||
url: 'https://tornadocash-rpc.com/mainnet'
|
||||
},
|
||||
publicRPC: {
|
||||
name: 'publicRPC',
|
||||
url: 'https://ethereum-rpc.publicnode.com'
|
||||
blockscoutRPC: {
|
||||
name: 'blockscoutRPC',
|
||||
url: 'https://eth.blockscout.com/api/eth-rpc'
|
||||
},
|
||||
kyberRPC: {
|
||||
name: 'kyberRPC',
|
||||
url: 'https://ethereum-mev-protection.kyberengineering.io'
|
||||
},
|
||||
gasHawkRPC: {
|
||||
name: 'GasHawkRPC',
|
||||
url: 'https://core.gashawk.io/rpc'
|
||||
},
|
||||
lavaRPC: {
|
||||
name: 'lavaRPC',
|
||||
url: 'https://eth1.lava.build'
|
||||
}
|
||||
},
|
||||
multicall: '0xeefba1e63905ef1d7acba5a8513c70307c1ce441',
|
||||
@ -159,6 +159,10 @@ export default {
|
||||
name: 'bnbRPC',
|
||||
url: 'https://bsc-dataseed.bnbchain.org'
|
||||
},
|
||||
tornadoRPC: {
|
||||
name: 'Tornado RPC',
|
||||
url: 'https://tornadocash-rpc.com/bsc'
|
||||
},
|
||||
defibitRPC: {
|
||||
name: 'defibitRPC',
|
||||
url: 'https://bsc-dataseed1.defibit.io'
|
||||
@ -196,6 +200,72 @@ export default {
|
||||
},
|
||||
'tornado-proxy-light.contract.tornadocash.eth': '0x0D5550d52428E7e3175bfc9550207e4ad3859b17'
|
||||
},
|
||||
netId61: {
|
||||
rpcCallRetryAttempt: 15,
|
||||
gasPrices: {
|
||||
instant: 1,
|
||||
fast: 1,
|
||||
standard: 1,
|
||||
low: 1
|
||||
},
|
||||
nativeCurrency: 'etc',
|
||||
currencyName: 'ETC',
|
||||
explorerUrl: {
|
||||
tx: 'https://etc.blockscout.com/tx/',
|
||||
address: 'https://etc.blockscout.com/address/',
|
||||
block: 'https://etc.blockscout.com/block/'
|
||||
},
|
||||
merkleTreeHeight: 20,
|
||||
emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292',
|
||||
networkName: 'Ethereum Classic',
|
||||
deployedBlock: 22385618,
|
||||
multicall: '0xA52EE88C0F24EF8b96C3989cAb42cfC6008041A8',
|
||||
echoContractAccount: '0x6e824e64C2B30Eb542b9917AA2FbEA593daEA5D6',
|
||||
rpcUrls: {
|
||||
rivet: {
|
||||
name: 'rivet',
|
||||
url: 'https://etc.rivet.link'
|
||||
},
|
||||
etcdesktop: {
|
||||
name: 'etcdesktop',
|
||||
url: 'https://etc.etcdesktop.com'
|
||||
},
|
||||
mytokenpocket: {
|
||||
name: 'mytokenpocket',
|
||||
url: 'https://etc.mytokenpocket.vip'
|
||||
},
|
||||
xrpc: {
|
||||
name: '0xrpc',
|
||||
url: 'https://0xrpc.io/etc'
|
||||
},
|
||||
geth: {
|
||||
name: 'geth',
|
||||
url: 'https://geth-at.etc-network.info'
|
||||
},
|
||||
besu: {
|
||||
name: 'besu',
|
||||
url: 'https://besu-at.etc-network.info'
|
||||
}
|
||||
},
|
||||
tokens: {
|
||||
etc: {
|
||||
instanceAddress: {
|
||||
'1': '0x2f56d5aFC058B8734350B162EFEe75ee48f034e0',
|
||||
'10': '0x59fCB629A23e8eD0a60A0188771E221042260118',
|
||||
'100': '0x784B3a7a7981B959bd8d9D9e73c2013BE819Fbf2'
|
||||
},
|
||||
symbol: 'ETC',
|
||||
decimals: 18
|
||||
}
|
||||
},
|
||||
ensSubdomainKey: 'etc-tornado',
|
||||
pollInterval: 10,
|
||||
constants: {
|
||||
NOTE_ACCOUNT_BLOCK: 22385618,
|
||||
ENCRYPTED_NOTES_BLOCK: 22385618
|
||||
},
|
||||
'tornado-proxy-light.contract.tornadocash.eth': '0xac97AB4fBd872ea762974CbBB0Ee72351afe16F3'
|
||||
},
|
||||
netId137: {
|
||||
rpcCallRetryAttempt: 15,
|
||||
gasPrices: {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="compliance">
|
||||
<h1 class="title is-size-1 is-size-2-mobile is-spaced">
|
||||
Tornado.cash <span class="not-print">{{ $t('complianceTool') }}</span>
|
||||
Tornado Cash <span class="not-print">{{ $t('complianceTool') }}</span>
|
||||
<span class="print">{{ $t('complianceReport') }}</span>
|
||||
</h1>
|
||||
<p class="p is-size-6">
|
||||
@ -114,11 +114,16 @@
|
||||
<div class="block block-withdrawal">
|
||||
<h3 class="block-item block-item--title">
|
||||
{{ $t('withdrawal') }}
|
||||
<span>{{
|
||||
<span v-if="txDepositInfo.currency !== 'etc'">{{
|
||||
txWithdrawalInfo.amount
|
||||
? `${$n(txWithdrawalInfo.amount)} ${getSymbol(txDepositInfo.currency)}`
|
||||
: '-'
|
||||
}}</span>
|
||||
<span v-if="txDepositInfo.currency === 'etc'">{{
|
||||
txWithdrawalInfo.amount
|
||||
? `${$n(txWithdrawalInfo.amount * 0.997)} ${getSymbol(txDepositInfo.currency)}`
|
||||
: '-'
|
||||
}}</span>
|
||||
</h3>
|
||||
<div
|
||||
class="block-item block-item--status"
|
||||
@ -135,7 +140,14 @@
|
||||
: $t('status')
|
||||
: $t('noteHasNotBeenSpent')
|
||||
}}
|
||||
<span class="fee">{{
|
||||
<span v-if="txDepositInfo.currency === 'etc'" class="fee">{{
|
||||
txWithdrawalInfo.fee
|
||||
? `${$t('poolFee')} ${$n(txWithdrawalInfo.amount * 0.003)}
|
||||
${getSymbol(txDepositInfo.currency)},
|
||||
${$t('relayerFee')} ${$n(txWithdrawalInfo.fee)} ${getSymbol(txDepositInfo.currency)}`
|
||||
: $t('relayerFee')
|
||||
}}</span>
|
||||
<span v-if="txDepositInfo.currency !== 'etc'" class="fee">{{
|
||||
txWithdrawalInfo.fee
|
||||
? `${$t('relayerFee')} ${$n(txWithdrawalInfo.fee)} ${getSymbol(txDepositInfo.currency)}`
|
||||
: $t('relayerFee')
|
||||
@ -485,7 +497,7 @@ export default {
|
||||
doc.text(commitment, padding, 147)
|
||||
doc.text(nullifier, startSecondColumnX, 147)
|
||||
|
||||
doc.setFontSize(20).text('Tornado.cash', padding, 40)
|
||||
doc.setFontSize(20).text('Tornado Cash', padding, 40)
|
||||
doc.setFontStyle('normal').text(this.$t('complianceReport', 'en'), 65, 40)
|
||||
|
||||
doc.setFontSize(8).text(this.$t('verified', 'en'), padding, 81)
|
||||
|
||||
@ -9,12 +9,11 @@ function main() {
|
||||
const IPFS_LOCAL_REGEXP = /.ipfs.localhost:/
|
||||
const IPFS_SOP_GATEWAY_REGEXP = /\/ipfs\//
|
||||
|
||||
if (IPFS_LOCAL_REGEXP.test(window.location.host)) {
|
||||
if (IPFS_LOCAL_REGEXP.test(window.location.host) || whiteListedDomains.includes(window.location.host)) {
|
||||
return false
|
||||
} else if (
|
||||
IPFS_GATEWAY_REGEXP.test(window.location.host) ||
|
||||
IPFS_SOP_GATEWAY_REGEXP.test(window.location.host) ||
|
||||
whiteListedDomains.includes(window.location.host)
|
||||
IPFS_SOP_GATEWAY_REGEXP.test(window.location.host)
|
||||
) {
|
||||
console.warn('The page has been loaded from ipfs.io. LocalStorage is disabled')
|
||||
return true
|
||||
|
||||
@ -47,6 +47,7 @@ const CHAIN_GRAPH_URLS = {
|
||||
1: 'https://gateway.thegraph.com/api/{apiKey}/subgraphs/id/Ec6fVMDVqXTDQZ3c4jxcyV3zBXqkdgMWfhdtCgtqn7Sh',
|
||||
10: 'https://gateway.thegraph.com/api/{apiKey}/subgraphs/id/GvkbnEVhLD6KArXpEzLFtSKRmspBW29ApKFqR5FjuP2P',
|
||||
56: 'https://gateway.thegraph.com/api/{apiKey}/subgraphs/id/CiwGzefDBZCavXRPnwarnnF8xDDoLw4boBuySomJWYnV',
|
||||
61: 'https://graph.torndao.com/subgraphs/name/tornadocash/etc-tornado-subgraph',
|
||||
100: 'https://gateway.thegraph.com/api/{apiKey}/subgraphs/id/F1m8vxuGatCBRvP8fPnnWUJ1oK7kfE1DGdRacqoamLjF',
|
||||
137: 'https://gateway.thegraph.com/api/{apiKey}/subgraphs/id/HUMgwMYNrPQpnBJgesFXyy5u6jSiJ6u5nNWQng9ayCmD',
|
||||
42161: 'https://gateway.thegraph.com/api/{apiKey}/subgraphs/id/8x8o6XFAqYZmiPwrJ51UxGTaZLYyW1fFtghvsEy7a1KJ',
|
||||
|
||||
@ -133,11 +133,9 @@ class RelayerRegister {
|
||||
}
|
||||
|
||||
getCachedData = async () => {
|
||||
let blockFrom = REGISTRY_DEPLOYED_BLOCK[1]
|
||||
const blockFrom = REGISTRY_DEPLOYED_BLOCK[1]
|
||||
|
||||
try {
|
||||
const blockTo = await this.provider.getBlockNumber()
|
||||
|
||||
const cachedEvents = await this.$indexedDB.getAll({
|
||||
storeName: 'register_events'
|
||||
})
|
||||
@ -148,8 +146,9 @@ class RelayerRegister {
|
||||
storeName: 'lastEvents'
|
||||
})
|
||||
|
||||
let blockTo = blockFrom
|
||||
if (lastBlock) {
|
||||
blockFrom = blockTo >= lastBlock.blockNumber ? lastBlock.blockNumber + 1 : blockTo
|
||||
blockTo = lastBlock.blockNumber + 1
|
||||
}
|
||||
|
||||
return { blockFrom, blockTo, cachedEvents }
|
||||
@ -171,9 +170,12 @@ class RelayerRegister {
|
||||
const blockRange = 10000
|
||||
// eslint-disable-next-line prefer-const
|
||||
let { blockFrom, blockTo, cachedEvents } = await this.getCachedData()
|
||||
let allRelayers = cachedEvents
|
||||
|
||||
if (!cachedEvents || !cachedEvents.length) {
|
||||
let firstFetch = false
|
||||
// There are 114 relayers in total so far,
|
||||
// If there are less than 114 in the cache,
|
||||
// It means that the historical data is incorrect and needs to be re-fetch through the subgraph
|
||||
if (!cachedEvents || !cachedEvents.length || cachedEvents.length < 114) {
|
||||
firstFetch = true // Get all relayers from the subgraph for the first time
|
||||
const { lastSyncBlock, events } = await graph.getAllRegisters(blockFrom)
|
||||
|
||||
if (events.length) {
|
||||
@ -184,6 +186,7 @@ class RelayerRegister {
|
||||
}))
|
||||
}
|
||||
}
|
||||
let allRelayers = cachedEvents
|
||||
|
||||
const currentBlockNumber = await this.provider.getBlockNumber()
|
||||
const fromBlock = cachedEvents.length === 0 ? REGISTRY_DEPLOYED_BLOCK[1] : blockTo
|
||||
@ -191,9 +194,10 @@ class RelayerRegister {
|
||||
|
||||
try {
|
||||
let toBlock
|
||||
let registerRelayerEvents
|
||||
let registerRelayerEvents = cachedEvents
|
||||
let lastSyncBlock = blockTo
|
||||
|
||||
if (!firstFetch) {
|
||||
if (blockDifference <= 0) {
|
||||
return cachedEvents
|
||||
} else if (blockDifference >= blockRange) {
|
||||
@ -201,16 +205,16 @@ class RelayerRegister {
|
||||
registerRelayerEvents = await this.batchFetchEvents({ fromBlock, toBlock })
|
||||
lastSyncBlock = toBlock
|
||||
} else {
|
||||
toBlock = fromBlock + blockRange
|
||||
toBlock = currentBlockNumber // Fix toBlock greater than the latest blocknumber
|
||||
registerRelayerEvents = await this.fetchEvents({ fromBlock, toBlock }, true)
|
||||
lastSyncBlock = toBlock
|
||||
}
|
||||
}
|
||||
|
||||
const relayerEvents = cachedEvents.concat(registerRelayerEvents || [])
|
||||
const events = []
|
||||
|
||||
for (let x = 0; x < relayerEvents.length; x++) {
|
||||
const { ensName, relayerAddress } = relayerEvents[x]
|
||||
for (let x = 0; x < registerRelayerEvents.length; x++) {
|
||||
const { ensName, relayerAddress } = registerRelayerEvents[x]
|
||||
let ensAddress
|
||||
|
||||
if (!isAddress(relayerAddress)) {
|
||||
@ -223,9 +227,12 @@ class RelayerRegister {
|
||||
events.push({ ensName, relayerAddress: ensAddress })
|
||||
}
|
||||
|
||||
await this.saveEvents({ storeName: 'register_events', lastSyncBlock, events })
|
||||
|
||||
if (firstFetch) {
|
||||
allRelayers = events
|
||||
} else {
|
||||
allRelayers = allRelayers.concat(events)
|
||||
}
|
||||
await this.saveEvents({ storeName: 'register_events', lastSyncBlock, events: allRelayers })
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
}
|
||||
|
||||
@ -21,6 +21,8 @@ function getRelayerValidateFunction(netId) {
|
||||
switch (netId) {
|
||||
case 56:
|
||||
return ajv.getSchema('bscRelayer')
|
||||
case 61:
|
||||
return ajv.getSchema('etcRelayer')
|
||||
case 100:
|
||||
return ajv.getSchema('xdaiRelayer')
|
||||
case 137:
|
||||
|
||||
44
services/schema/relayer/etc.js
Normal file
44
services/schema/relayer/etc.js
Normal file
@ -0,0 +1,44 @@
|
||||
import { addressType } from '@/constants'
|
||||
|
||||
const statusSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
rewardAccount: addressType,
|
||||
instances: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
etc: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
instanceAddress: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
'1': addressType,
|
||||
'10': addressType,
|
||||
'100': addressType
|
||||
},
|
||||
required: ['1', '10', '100']
|
||||
},
|
||||
decimals: { enum: [18] }
|
||||
},
|
||||
required: ['instanceAddress', 'decimals']
|
||||
}
|
||||
},
|
||||
required: ['etc']
|
||||
},
|
||||
netId: { type: 'integer' },
|
||||
tornadoServiceFee: { type: 'number', maximum: 20, minimum: 0 },
|
||||
health: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
status: { const: 'true' },
|
||||
error: { type: 'string' }
|
||||
},
|
||||
required: ['status']
|
||||
},
|
||||
currentQueue: { type: 'number' }
|
||||
},
|
||||
required: ['rewardAccount', 'instances', 'netId', 'tornadoServiceFee', 'health']
|
||||
}
|
||||
|
||||
export { statusSchema }
|
||||
@ -1,5 +1,6 @@
|
||||
import { statusSchema as l2Relayer } from './l2'
|
||||
import { statusSchema as bscRelayer } from './bsc'
|
||||
import { statusSchema as etcRelayer } from './etc'
|
||||
import { statusSchema as xdaiRelayer } from './xdai'
|
||||
import { statusSchema as defaultRelayer } from './default'
|
||||
import { statusSchema as polygonRelayer } from './polygon'
|
||||
@ -8,6 +9,7 @@ import { statusSchema as avalancheRelayer } from './avalanche'
|
||||
export default {
|
||||
l2Relayer,
|
||||
bscRelayer,
|
||||
etcRelayer,
|
||||
xdaiRelayer,
|
||||
defaultRelayer,
|
||||
polygonRelayer,
|
||||
|
||||
@ -292,7 +292,15 @@ export const actions = {
|
||||
}
|
||||
let statuses = await Promise.all(requests)
|
||||
|
||||
statuses = statuses.filter((status) => status.isValid)
|
||||
// Filter out invalid and duplicate relayers
|
||||
statuses = Object.values(
|
||||
statuses
|
||||
.filter((item) => item.isValid)
|
||||
.reduce((statuses, item) => {
|
||||
statuses[item.name] = item // Filter duplicates by relayer's ENS
|
||||
return statuses
|
||||
}, {})
|
||||
).sort((a, b) => new BN(b.stakeBalance).comparedTo(new BN(a.stakeBalance))) // sort by relayer's stakeBalance
|
||||
// const validRelayerENSnames = statuses.map((relayer) => relayer.name)
|
||||
commit('SAVE_VALIDATED_RELAYERS', statuses)
|
||||
console.log('filtered statuses ', statuses)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user