Compare commits

..

10 Commits

Author SHA1 Message Date
torndao
2437ecc426 Unlock USDC USDT, replace the URL to tornadocash.eth.limo, SEO optimization.
Some checks failed
Node.js CI / cleanup (push) Has been cancelled
Node.js CI / build (push) Has been cancelled
Node.js CI / deploy-minified (push) Has been cancelled
Node.js CI / deploy-docker (push) Has been cancelled
Node.js CI / deploy-ipfs (push) Has been cancelled
Node.js CI / notify (push) Has been cancelled
2025-03-25 22:31:33 +08:00
torndao
eed91cb23a update event and update info. 2025-01-19 00:52:15 +08:00
torndao
69312b135c Modify subgraph, update event and update some information 2025-01-17 14:56:04 +08:00
57d3ba5ac5 Merge pull request 'Move latest node.js flags to :lts command' (#34) from tornadocontrib/classic-ui:light-3 into development
Reviewed-on: #34
2024-05-06 20:22:01 +03:00
2fcf0cb443
Remove goerli testnet and comment out frozen instances 2024-05-06 16:05:16 +00:00
1221aad973
Added script to patch old vuex package 2024-05-06 15:55:57 +00:00
bf3d37dad6
Move latest node.js flags to :lts command 2024-05-06 15:32:41 +00:00
5de0210127 Merge pull request 'Minor fix for Windows Build and add Sepolia Testnet' (#33) from tornadocontrib/classic-ui:light-2 into development
Reviewed-on: #33
2024-05-06 18:10:50 +03:00
63e770cf12
Replace thegraph endpoint to ours 2024-05-06 08:12:42 +00:00
340d32b2ad
Added sepolia testnet 2024-05-06 08:12:42 +00:00
197 changed files with 314 additions and 269 deletions

View File

@ -317,8 +317,8 @@
mask-image: url('../img/icons/ethereum.svg');
}
&-ethereum-goerli {
mask-image: url('../img/icons/goerli.svg');
&-ethereum-sepolia {
mask-image: url('../img/icons/ethereum.svg');
}
&-optimism {

View File

@ -37,18 +37,26 @@
<b-button
tag="a"
type="is-icon"
href="https://t.me/tornadoofficial"
href="https://tornado-cash.medium.com"
target="_blank"
rel="noopener noreferrer"
icon-right="telegram"
icon-right="medium"
></b-button>
<b-button
tag="a"
type="is-icon"
href="https://git.tornado.ws/tornadocash/classic-ui"
href="https://twitter.com/TornadoCash"
target="_blank"
rel="noopener noreferrer"
icon-right="git"
icon-right="twitter"
></b-button>
<b-button
tag="a"
type="is-icon"
href="https://t.me/TornadoCashOfficialDAO"
target="_blank"
rel="noopener noreferrer"
icon-right="telegram"
></b-button>
<b-button
tag="a"
@ -112,10 +120,10 @@ export default {
const mainnetNetworks = [1, 5]
if (mainnetNetworks.includes(Number(this.netId))) {
return 'https://dune.xyz/poma/tornado-cash_1'
return 'https://dune.com/davidcaviar/tornado-cash'
}
return 'https://dune.xyz/fennec/Tornado-Cash-Cross-chain-Dashboard'
return 'https://dune.com/stakingbutterfly/tornado-cash-staking'
},
locales() {
return this.$i18n.availableLocales

View File

@ -20,7 +20,7 @@
{{ $t('compliance') }}
</b-navbar-item>
<b-navbar-item
href="https://docs.tornado.ws"
href="https://github.com/tornadocash/docs"
target="_blank"
data-test="docs_link"
rel="noopener noreferrer"

View File

@ -17,8 +17,6 @@ export default {
switch (this.netId) {
case 1:
return 'Ethereum'
case 5:
return 'Goerli'
case 56:
return 'BSC Mainnet'
case 137:
@ -27,6 +25,8 @@ export default {
return 'Arbitrum'
case 43114:
return 'Avalanche'
case 11155111:
return 'Sepolia'
default:
return this.networkName
}

View File

@ -18,9 +18,7 @@
</template>
<template v-slot:description>{{ notice.description }}</template>
</i18n>
<a v-if="notice.nova" href="https://nova.tornado.ws/" target="_blank" rel="noopener noreferrer">
Tornado Cash Nova
</a>
<a
v-if="notice.txHash"
:href="txExplorerUrl(notice.txHash)"

View File

@ -92,6 +92,23 @@
</p>
</div>
</template>
<div class="field">
<b-field label="Graph ApiKey" class="has-custom-field"> </b-field>
<div class="field has-custom-field">
<b-input
ref="graphInput"
v-model="graphApiKey"
type="text"
placeholder="Paste your graph ApiKey"
:custom-class="hasErrorGraphApiKey.type"
:use-html5-validation="false"
@input="checkGraphApiKey"
></b-input>
</div>
<p v-if="hasErrorGraphApiKey.msg" class="help" :class="hasErrorGraphApiKey.type">
{{ hasErrorGraphApiKey.msg }}
</p>
</div>
<div class="buttons buttons__halfwidth">
<b-button type="is-primary" outlined data-test="button_reset_rpc" @mousedown.prevent @click="onReset">
{{ $t('reset') }}
@ -121,8 +138,10 @@ export default {
checkingRpc: false,
hasErrorRpc: { type: '', msg: '' },
hasErrorEthRpc: { type: '', msg: '' },
hasErrorGraphApiKey: { type: '', msg: '' },
customRpcUrl: '',
customEthUrl: '',
graphApiKey: '',
selectedRpc: 'custom',
selectedEthRpc: 'custom',
rpc: { name: 'custom', url: '' },
@ -148,7 +167,10 @@ export default {
},
isDisabledSave() {
return (
this.hasErrorRpc.type === 'is-warning' || this.checkingRpc || (this.isCustomRpc && !this.customRpcUrl)
this.hasErrorRpc.type === 'is-warning' ||
this.checkingRpc ||
(this.isCustomRpc && !this.customRpcUrl) ||
this.hasErrorGraphApiKey.type === 'is-warning'
)
}
},
@ -168,6 +190,11 @@ export default {
this.customEthRpcUrl = this.ethRpc.url
})
}
// eslint-disable-next-line nuxt/no-globals-in-created
const customApiKey = window.localStorage.getItem('graphApiKey')
if (customApiKey) {
this.graphApiKey = customApiKey
}
this.checkRpc(this.rpc)
this.checkEthRpc(this.ethRpc)
@ -176,7 +203,9 @@ export default {
...mapMutations('settings', ['SAVE_RPC']),
onReset() {
this.checkingRpc = false
this.graphApiKey = ''
this.hasErrorRpc = { type: '', msg: '' }
this.hasErrorGraphApiKey = { type: '', msg: '' }
this.rpc = Object.entries(this.networkConfig.rpcUrls)[0][1]
this.ethRpc = Object.entries(this.ethNetworkConfig.rpcUrls)[0][1]
@ -190,6 +219,7 @@ export default {
if (this.netId !== 1) {
this.SAVE_RPC({ ...this.ethRpc, netId: 1 })
}
window.localStorage.setItem('graphApiKey', this.graphApiKey)
this.$emit('close')
},
onCancel() {
@ -230,6 +260,21 @@ export default {
}
debounce(this._checkEthRpc, { name: 'custom', url: trimmedUrl })
},
checkGraphApiKey(strApiKey) {
const apiKey = strApiKey.trim()
if (!apiKey) {
this.hasErrorGraphApiKey = { type: '', msg: '' }
return
}
if (apiKey.length === 32) {
const hexRegex = /^[0-9a-fA-F]+$/
if (hexRegex.test(apiKey)) {
this.hasErrorGraphApiKey = { type: '', msg: '' }
return
}
}
this.hasErrorGraphApiKey = { type: 'is-warning', msg: 'invalid' }
},
async _checkRpc({ name, url }) {
this.checkingRpc = true
this.hasErrorRpc = { type: '', msg: '' }

View File

@ -52,7 +52,7 @@ export default {
}),
...mapState('relayer', ['isLoadingRelayers', 'validRelayers']),
isRelayersAvailable() {
return !this.isLoadingRelayers && this.validRelayers.length > 0;
return !this.isLoadingRelayers && this.validRelayers.length > 0
}
},
created() {

View File

@ -52,9 +52,6 @@ export const cachedEventsLength = {
mainnet: {
ENCRYPTED_NOTES: 16898
},
goerli: {
ENCRYPTED_NOTES: 1662
},
bsc: {
ENCRYPTED_NOTES: 11333
}
@ -90,7 +87,7 @@ export const PROVIDERS = {
export const REGISTRY_DEPLOYED_BLOCK = {
1: 14173129
}
export const DONATIONS_ADDRESS = '0xB008Ce23852Be9e7d43638432617617b2e07B41e'
export const DONATIONS_ADDRESS = '0xB4ef209ccEe95De23a8e1F7627ac7E676fF0739D'
export const trees = {
PARTS_COUNT: 4,

View File

@ -1,7 +1,7 @@
{
"closeNotification": "Close notification",
"indexNotification": "Tornado Cash is now being maintained by the community, for more information visit {link}",
"indexNotificationLinkText": "tornadocash.social",
"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.",
"deposit": "Deposit",
"depositButton": "Deposit",
@ -151,7 +151,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 Tornados Compliance Tool (https://tornado.ws/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 Tornados 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",

View File

@ -1,7 +1,7 @@
{
"closeNotification": "Cerrar notificación",
"indexNotification": "Tornado Cash ahora está siendo mantenido por la comunidad, para obtener más información, visite {link}",
"indexNotificationLinkText": "tornadocash.social",
"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.",
"deposit": "Depósito",
"depositButton": "Depósito",
@ -151,7 +151,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://tornado.ws/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",

View File

@ -1,7 +1,7 @@
{
"closeNotification": "Fermer notification",
"indexNotification": "Tornado Cash est maintenant maintenu par la communauté, pour plus d'informations, visitez {link}",
"indexNotificationLinkText": "tornadocash.social",
"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.",
"deposit": "Déposer",
"depositButton": "Déposer",
@ -151,7 +151,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://tornado.ws/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é",

View File

@ -1,7 +1,7 @@
{
"closeNotification": "Закрыть",
"indexNotification": "Tornado Cash в настоящее время поддерживается сообществом, для получения дополнительной информации посетите {link}",
"indexNotificationLinkText": "tornadocash.social",
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
"binanceInternalTxsNotification": "Пожалуйста, не используйте адреса кошельков Binance для вывода средств. Внутренние транзакции (включая снятие средств с Tornado.cash) в настоящее время не поддерживаются на бирже Binance. Если у вас возникли проблемы с получением средств, вам следует обратиться в службу поддержки Binance.",
"deposit": "Депозит",
"depositButton": "Внести",
@ -151,7 +151,7 @@
"nullifierHash": "Nullifier Hash",
"verified": "Подтверждено",
"generatePdfReport": "Сгенерировать PDF отчёт",
"compliancePrintWarning": "Настоящий отчет о соответствии носит исключительно информационный характер. Вы должны подтвердить действительность этого отчета с помощью средства проверки соответствия Tornado (https://tornado.ws/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": "Выбранный кошелёк не поддерживается",

View File

@ -1,7 +1,7 @@
{
"closeNotification": "Bildirimi Kapat",
"indexNotification": "Tornado Cash artık topluluk tarafından yönetiliyor, daha fazla bilgi için {link} adresini ziyaret edin.",
"indexNotificationLinkText": "tornadocash.social",
"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 Exchangede 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",
@ -151,7 +151,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 Tornadonun Uyumluluk Aracını (https://tornado.ws/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 Tornadonun 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",

View File

@ -1,7 +1,7 @@
{
"closeNotification": "Закрити повідомлення",
"indexNotification": "Tornado Cash зараз обслуговується спільнотою, щоб дізнатися більше, відвідайте {link}",
"indexNotificationLinkText": "tornadocash.social",
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
"binanceInternalTxsNotification": "Будь ласка, не використовуйте адреси гаманців Binance для виведення коштів. Внутрішні транзакції (включаючи зняття коштів з Tornado.cash) в даний час не підтримуються на біржі Binance. Якщо у вас виникли проблеми з отриманням коштів, вам слід звернутися в службу підтримки Binance.",
"deposit": "Депозит",
"depositButton": "Внести",

View File

@ -1,7 +1,7 @@
{
"closeNotification": "关闭通知",
"indexNotification": "Tornado Cash 现在由社区维护,有关更多信息,请访问 {link}",
"indexNotificationLinkText": "tornadocash.social",
"indexNotificationLinkText": "https://t.me/TornadoCashOfficialDAO",
"binanceInternalTxsNotification": "请不要使用Binance钱包地址进行提款。Binance交易所目前不支持内部交易包括Tornado.cash提款。如果您有资金未收到的问题您应该联系Binance支持。",
"deposit": "存款",
"depositButton": "存款",
@ -151,7 +151,7 @@
"nullifierHash": "无效符",
"verified": "已验证",
"generatePdfReport": "生成 PDF 报告",
"compliancePrintWarning": "这本来源证明报告仅供参考的。 你应该使用Tornado的来源证明工具来确认报告 (https://tornado.ws/compliance) 的有效性,或者与可以算出和验证此处包含信息的任何其他密码学软件 (\"Tornado来源证明工具\") 一起使用。 报告中发现的信息与上述工具提供的信息之间存在任何差异,表明报告中的信息是不正确的{newline} 来源证明报告按 \"原样,\" 提供,不提供任何明示或暗示担保,包括但不限于对适销性,用途的适用性和非侵权专利的担保。 无论是出于合同要求、侵权或其他原因由本来源证明报告引起与相关的任何索赔损害或其他责任Tornado.cash的作者概不负责。",
"compliancePrintWarning": "这本来源证明报告仅供参考的。 你应该使用Tornado的来源证明工具来确认报告 (https://tornadocash.eth.limo/compliance) 的有效性,或者与可以算出和验证此处包含信息的任何其他密码学软件 (\"Tornado来源证明工具\") 一起使用。 报告中发现的信息与上述工具提供的信息之间存在任何差异,表明报告中的信息是不正确的{newline} 来源证明报告按 \"原样,\" 提供,不提供任何明示或暗示担保,包括但不限于对适销性,用途的适用性和非侵权专利的担保。 无论是出于合同要求、侵权或其他原因由本来源证明报告引起与相关的任何索赔损害或其他责任Tornado.cash的作者概不负责。",
"relayRequestFailed": "中继者 {relayerName} 无法使用,请选择其他中继者。",
"selectProvider": "请选择钱包",
"walletDoesNotSupported": "此钱包不受支持",
@ -364,7 +364,7 @@
"rpcDesc": "更改您的以太坊RPC",
"connectWeb3": "连接 Web3",
"logout": "登出",
"changeRpc": "更改PRC"
"changeRpc": "更改RPC"
},
"setup": {
"decrypt": "请在 Web3 钱包中确认解密请求。",

View File

@ -1,5 +1,5 @@
export const blockSyncInterval = 10000
export const enabledChains = ['1', '5', '10', '56', '100', '137', '42161', '43114']
export const enabledChains = ['1', '10', '56', '100', '137', '42161', '43114', '11155111']
export default {
netId1: {
rpcCallRetryAttempt: 15,
@ -21,21 +21,29 @@ export default {
networkName: 'Ethereum Mainnet',
deployedBlock: 9116966,
rpcUrls: {
tornadoRPC: {
name: 'Tornado RPC',
url: 'https://tornadocash-rpc.com/mainnet'
},
chainnodes: {
name: 'Chainnodes RPC',
url: 'https://mainnet.chainnodes.org/d692ae63-0a7e-43e0-9da9-fe4f4cc6c607'
},
mevblockerRPC: {
name: 'MevblockerRPC',
name: 'mevblockerRPC',
url: 'https://rpc.mevblocker.io'
},
oneRPC: {
name: '1RPC',
url: 'https://1rpc.io/eth'
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'
},
publicRPC: {
name: 'publicRPC',
url: 'https://ethereum-rpc.publicnode.com'
}
},
multicall: '0xeefba1e63905ef1d7acba5a8513c70307c1ce441',
@ -78,6 +86,7 @@ export default {
decimals: 8,
gasLimit: '425000'
},
usdc: {
instanceAddress: {
'100': '0xd96f2B1c14Db8458374d9Aca76E26c3D18364307',
@ -98,6 +107,7 @@ export default {
decimals: 6,
gasLimit: '100000'
},
wbtc: {
instanceAddress: {
'0.1': '0x178169B423a011fff22B9e3F3abeA13414dDD0F1',
@ -145,17 +155,25 @@ export default {
multicall: '0x41263cba59eb80dc200f3e2544eda4ed6a90e76c',
echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4',
rpcUrls: {
tornadoRPC: {
name: 'Tornado RPC',
url: 'https://tornadocash-rpc.com/bsc'
bnbRPC: {
name: 'bnbRPC',
url: 'https://bsc-dataseed.bnbchain.org'
},
chainnodes: {
name: 'Chainnodes RPC',
url: 'https://bsc-mainnet.chainnodes.org/d692ae63-0a7e-43e0-9da9-fe4f4cc6c607'
defibitRPC: {
name: 'defibitRPC',
url: 'https://bsc-dataseed1.defibit.io'
},
oneRPC: {
name: '1RPC',
url: 'https://1rpc.io/bnb'
ninicoinRPC: {
name: 'ninicoinRPC',
url: 'https://bsc-dataseed1.ninicoin.io'
},
publicRPC: {
name: 'publicRPC',
url: 'https://bsc-rpc.publicnode.com'
},
poktRPC: {
name: 'poktRPC',
url: 'https://bsc-pokt.nodies.app'
}
},
tokens: {
@ -200,13 +218,25 @@ export default {
multicall: '0x11ce4B23bD875D7F5C6a31084f55fDe1e9A87507',
echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4',
rpcUrls: {
chainnodes: {
name: 'Chainnodes RPC',
url: 'https://polygon-mainnet.chainnodes.org/d692ae63-0a7e-43e0-9da9-fe4f4cc6c607'
quiknodeRpc: {
name: 'quiknodeRpc',
url: 'https://rpc-mainnet.matic.quiknode.pro'
},
oneRpc: {
name: '1RPC',
url: 'https://1rpc.io/matic'
publicRPC: {
name: 'publicRPC',
url: 'https://polygon-bor-rpc.publicnode.com'
},
blastapiRPC: {
name: 'blastapiRPC',
url: 'https://polygon-mainnet.public.blastapi.io'
},
drpcRPC: {
name: 'drpcRPC',
url: 'https://polygon.drpc.org'
},
meowRPC: {
name: 'meowRPC',
url: 'https://polygon.meowrpc.com'
}
},
tokens: {
@ -252,17 +282,17 @@ export default {
echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4',
ovmGasPriceOracleContract: '0x420000000000000000000000000000000000000F',
rpcUrls: {
tornadoRPC: {
name: 'Tornado RPC',
url: 'https://tornadocash-rpc.com/op'
blockpiRPC: {
name: 'blockpiRPC',
url: 'https://optimism.blockpi.network/v1/rpc/public'
},
chainnodes: {
name: 'Chainnodes RPC',
url: 'https://optimism-mainnet.chainnodes.org/d692ae63-0a7e-43e0-9da9-fe4f4cc6c607'
publicRpc: {
name: 'publicRPC',
url: 'https://optimism-rpc.publicnode.com'
},
oneRpc: {
name: '1RPC',
url: 'https://1rpc.io/op'
poktRpc: {
name: 'Pokt RPC',
url: 'https://op-pokt.nodies.app'
}
},
tokens: {
@ -307,21 +337,25 @@ export default {
multicall: '0x842eC2c7D803033Edf55E478F461FC547Bc54EB2',
echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4',
rpcUrls: {
tornadoRPC: {
name: 'Tornado RPC',
url: 'https://tornadocash-rpc.com/arbitrum'
},
chainnodes: {
name: 'Chainnodes RPC',
url: 'https://arbitrum-one.chainnodes.org/d692ae63-0a7e-43e0-9da9-fe4f4cc6c607'
},
oneRpc: {
name: '1rpc',
url: 'https://1rpc.io/arb'
},
Arbitrum: {
name: 'Arbitrum RPC',
url: 'https://arb1.arbitrum.io/rpc'
},
poktRpc: {
name: 'Pokt RPC',
url: 'https://arb-pokt.nodies.app'
},
meowRpc: {
name: 'meowRpc',
url: 'https://arbitrum.meowrpc.com'
},
publicRpc: {
name: 'publicRpc',
url: 'https://arbitrum-one-rpc.publicnode.com'
},
blockpiRpc: {
name: 'blockpiRpc',
url: 'https://arbitrum.blockpi.network/v1/rpc/public'
}
},
tokens: {
@ -355,9 +389,9 @@ export default {
nativeCurrency: 'xdai',
currencyName: 'xDAI',
explorerUrl: {
tx: 'https://blockscout.com/xdai/mainnet/tx/',
address: 'https://blockscout.com/xdai/mainnet/address/',
block: 'https://blockscout.com/xdai/mainnet/block/'
tx: 'https://gnosisscan.io/tx/',
address: 'https://gnosisscan.io/address/',
block: 'https://gnosisscan.io/block/'
},
merkleTreeHeight: 20,
emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292',
@ -366,17 +400,21 @@ export default {
multicall: '0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a',
echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4',
rpcUrls: {
tornadoRPC: {
name: 'Tornado RPC',
url: 'https://tornadocash-rpc.com/gnosis'
gnosisRPC: {
name: 'Gnosis RPC',
url: 'https://rpc.gnosischain.com'
},
chainnodes: {
name: 'Chainnodes RPC',
url: 'https://gnosis-mainnet.chainnodes.org/d692ae63-0a7e-43e0-9da9-fe4f4cc6c607'
fmRPC: {
name: 'fmRPC',
url: 'https://rpc.gnosis.gateway.fm'
},
blockPi: {
name: 'BlockPi',
url: 'https://gnosis.blockpi.network/v1/rpc/public'
poktRPC: {
name: 'poktRPC',
url: 'https://gnosis-pokt.nodies.app'
},
publicRPC: {
name: 'publicRPC',
url: 'https://gnosis-rpc.publicnode.com'
}
},
tokens: {
@ -421,17 +459,21 @@ export default {
multicall: '0xe86e3989c74293Acc962156cd3F525c07b6a1B6e',
echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4',
rpcUrls: {
publicRpc: {
avaxRpc: {
name: 'Avalanche RPC',
url: 'https://api.avax.network/ext/bc/C/rpc'
},
publicnode: {
name: 'Publicnode RPC',
url: 'https://avalanche-c-chain-rpc.publicnode.com'
},
meowRPC: {
name: 'Meow RPC',
url: 'https://avax.meowrpc.com'
},
oneRPC: {
name: 'OneRPC',
url: 'https://1rpc.io/avax/c'
drpcRPC: {
name: 'drpcRPC',
url: 'https://avalanche.drpc.org'
}
},
tokens: {
@ -453,115 +495,80 @@ export default {
},
'tornado-proxy-light.contract.tornadocash.eth': '0x0D5550d52428E7e3175bfc9550207e4ad3859b17'
},
netId5: {
netId11155111: {
rpcCallRetryAttempt: 15,
gasPrices: {
instant: 80,
fast: 50,
standard: 25,
low: 8
instant: 2,
fast: 2,
standard: 2,
low: 2
},
nativeCurrency: 'eth',
currencyName: 'gETH',
currencyName: 'ETH',
explorerUrl: {
tx: 'https://goerli.etherscan.io/tx/',
address: 'https://goerli.etherscan.io/address/',
block: 'https://goerli.etherscan.io/block/'
tx: 'https://sepolia.etherscan.io/tx/',
address: 'https://sepolia.etherscan.io/address/',
block: 'https://sepolia.etherscan.io/block/'
},
merkleTreeHeight: 20,
emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292',
networkName: 'Ethereum Goerli',
deployedBlock: 3781595,
multicall: '0x77dca2c955b15e9de4dbbcf1246b4b85b651e50e',
echoContractAccount: '0x37e6859804b6499d1e4a86d70a5fdd5de6a0ac65',
aggregatorContract: '0x8cb1436F64a3c33aD17bb42F94e255c4c0E871b2',
networkName: 'Ethereum Sepolia',
deployedBlock: 5594395,
multicall: '0xcA11bde05977b3631167028862bE2a173976CA11',
echoContractAccount: '0xcDD1fc3F5ac2782D83449d3AbE80D6b7B273B0e5',
aggregatorContract: '0x4088712AC9fad39ea133cdb9130E465d235e9642',
rpcUrls: {
chainnodes: {
name: 'Tornado RPC',
url: 'https://goerli.chainnodes.org/d692ae63-0a7e-43e0-9da9-fe4f4cc6c607'
blastapiRPC: {
name: 'blastapiRPC',
url: 'https://eth-sepolia.public.blastapi.io'
},
gatewayRPC: {
name: 'Gateway RPC',
url: 'https://rpc.goerli.eth.gateway.fm'
drpcRPC: {
name: 'drpcRPC',
url: 'https://sepolia.drpc.org'
},
tenderlyRPC: {
name: 'tenderlyRPC',
url: 'https://sepolia.gateway.tenderly.co'
},
publicRPC: {
name: 'publicRPC',
url: 'https://ethereum-sepolia-rpc.publicnode.com'
}
},
tokens: {
eth: {
instanceAddress: {
'0.1': '0x6Bf694a291DF3FeC1f7e69701E3ab6c592435Ae7',
'1': '0x3aac1cC67c2ec5Db4eA850957b967Ba153aD6279',
'10': '0x723B78e67497E85279CB204544566F4dC5d2acA0',
'100': '0x0E3A09dDA6B20aFbB34aC7cD4A6881493f3E7bf7'
'0.1': '0x8C4A04d872a6C1BE37964A21ba3a138525dFF50b',
'1': '0x8cc930096B4Df705A007c4A039BDFA1320Ed2508',
'10': '0x8D10d506D29Fc62ABb8A290B99F66dB27Fc43585',
'100': '0x44c5C92ed73dB43888210264f0C8b36Fd68D8379'
},
symbol: 'ETH',
decimals: 18
},
dai: {
instanceAddress: {
'100': '0x76D85B4C0Fc497EeCc38902397aC608000A06607',
'1000': '0xCC84179FFD19A1627E79F8648d09e095252Bc418',
'10000': '0xD5d6f8D9e784d0e26222ad3834500801a68D027D',
'100000': '0x407CcEeaA7c95d2FE2250Bf9F2c105aA7AAFB512'
'100': '0x6921fd1a97441dd603a997ED6DDF388658daf754',
'1000': '0x50a637770F5d161999420F7d70d888DE47207145',
'10000': '0xecD649870407cD43923A816Cc6334a5bdf113621',
'100000': '0x73B4BD04bF83206B6e979BE2507098F92EDf4F90'
},
tokenAddress: '0xdc31Ee1784292379Fbb2964b3B9C4124D8F89C60',
tokenAddress: '0xFF34B3d4Aee8ddCd6F9AFFFB6Fe49bD371b8a357',
symbol: 'DAI',
decimals: 18,
gasLimit: '55000'
},
cdai: {
instanceAddress: {
'5000': '0x833481186f16Cece3f1Eeea1a694c42034c3a0dB',
'50000': '0xd8D7DE3349ccaA0Fde6298fe6D7b7d0d34586193',
'500000': '0x8281Aa6795aDE17C8973e1aedcA380258Bc124F9',
'5000000': '0x57b2B8c82F065de8Ef5573f9730fC1449B403C9f'
},
tokenAddress: '0x822397d9a55d0fefd20F5c4bCaB33C5F65bd28Eb',
symbol: 'cDAI',
decimals: 8,
gasLimit: '425000'
},
usdc: {
instanceAddress: {
'100': '0x05E0b5B40B7b66098C2161A5EE11C5740A3A7C45',
'1000': '0x23173fE8b96A4Ad8d2E17fB83EA5dcccdCa1Ae52'
},
tokenAddress: '0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C',
symbol: 'USDC',
decimals: 6,
gasLimit: '80000'
},
usdt: {
instanceAddress: {
'100': '0x538Ab61E8A9fc1b2f93b3dd9011d662d89bE6FE6',
'1000': '0x94Be88213a387E992Dd87DE56950a9aef34b9448'
},
tokenAddress: '0xb7FC2023D96AEa94Ba0254AA5Aeb93141e4aad66',
symbol: 'USDT',
decimals: 6,
gasLimit: '100000'
},
wbtc: {
instanceAddress: {
'0.1': '0x242654336ca2205714071898f67E254EB49ACdCe',
'1': '0x776198CCF446DFa168347089d7338879273172cF',
'10': '0xeDC5d01286f99A066559F60a585406f3878a033e'
},
tokenAddress: '0xC04B0d3107736C32e19F1c62b2aF67BE61d63a05',
symbol: 'WBTC',
decimals: 8,
gasLimit: '85000'
}
},
ensSubdomainKey: 'goerli-tornado',
ensSubdomainKey: 'sepolia-tornado',
pollInterval: 15,
constants: {
GOVERNANCE_BLOCK: 3945171,
NOTE_ACCOUNT_BLOCK: 4131375,
ENCRYPTED_NOTES_BLOCK: 4131375,
GOVERNANCE_BLOCK: 5594395,
NOTE_ACCOUNT_BLOCK: 5594395,
ENCRYPTED_NOTES_BLOCK: 5594395,
MINING_BLOCK_TIME: 15
},
'torn.contract.tornadocash.eth': '0x77777FeDdddFfC19Ff86DB637967013e6C6A116C',
'governance.contract.tornadocash.eth': '0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce',
'tornado-proxy.contract.tornadocash.eth': '0x454d870a72e29d5e5697f635128d18077bd04c60'
'torn.contract.tornadocash.eth': '0x3AE6667167C0f44394106E197904519D808323cA',
'governance.contract.tornadocash.eth': '0xe5324cD7602eeb387418e594B87aCADee08aeCAD',
'tornado-router.contract.tornadocash.eth': '0x1572AFE6949fdF51Cb3E0856216670ae9Ee160Ee'
}
}

View File

@ -44,7 +44,7 @@ export default {
fallback: true
},
head: {
title: 'Tornado.cash',
title: 'Tornado Cash Official - Secure, Decentralized, Private protocol',
meta: [
{ charset: 'utf-8' },
{
@ -64,22 +64,24 @@ export default {
{
hid: 'description',
name: 'description',
content: 'Non-custodial Ethereum Privacy solution.'
content:
'A fully decentralized protocol for private transactions on Ethereum, BSC(BNBChain), Optimism, Polygon, Avalanche, Arbitrum, Gnosis networks.'
},
{
hid: 'og:title',
property: 'og:title',
content: 'Tornado.Cash'
content: 'Tornado Cash Official - Secure, Decentralized, Private protocol'
},
{
hid: 'og:description',
property: 'og:description',
content: 'Non-custodial, trustless, serverless, private transactions on Ethereum network'
content:
'A secure, anonymous, decentralized private protocol. Protect your funds with zk-SNARKs privacy tech.'
},
{
hid: 'og:url',
property: 'og:url',
content: 'https://tornado.ws'
content: 'tornadocash.eth.limo'
},
{
hid: 'og:type',
@ -89,18 +91,13 @@ export default {
{
hid: 'og:image',
property: 'og:image',
content: 'https://tornado.ws/tw.png'
},
{
hid: 'description',
name: 'description',
content: 'Non-custodial, trustless, serverless, private transactions on Ethereum network'
content: 'tornadocash.eth.limo/tw.png'
},
{
hid: 'keywords',
name: 'keywords',
content:
'Tornado, Ethereum, ERC20, dapp, smart contract, decentralized, metamask, zksnark, zero knowledge'
'Tornado, TornadoCash, Tornado Cash Official, Ethereum, ERC20, dapp, smart contract, secure, anonymous, private, decentralized, metamask, zksnark, zero knowledge'
}
],
link: [

View File

@ -7,15 +7,19 @@
"lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
"precommit": "yarn lint",
"test": "jest",
"dev": "cross-env NODE_OPTIONS=\"--max_old_space_size=8192 --openssl-legacy-provider\" nuxt",
"build": "cross-env NODE_OPTIONS=\"--max_old_space_size=8192 --openssl-legacy-provider\" nuxt build",
"fix:vuex": "node ./scripts/vuex.js",
"dev": "cross-env NODE_OPTIONS=\"--max_old_space_size=8192\" nuxt",
"dev:lts": "yarn fix:vuex && cross-env NODE_OPTIONS=\"--max_old_space_size=8192 --openssl-legacy-provider\" nuxt",
"build": "cross-env NODE_OPTIONS=\"--max_old_space_size=8192\" nuxt build",
"build:lts": "yarn fix:vuex && cross-env NODE_OPTIONS=\"--max_old_space_size=8192 --openssl-legacy-provider\" nuxt build",
"start": "nuxt start",
"update:zip": "node -r esm scripts/updateZip.js",
"update:events": "node -r esm scripts/updateEvents.js --network",
"update:encrypted": "node -r esm scripts/updateEncryptedEvents.js --network",
"update:tree": "node -r esm scripts/updateTree.js --network",
"update:copy": "node -r esm scripts/copyFile.js dist/404.html dist/ipfs-404.html",
"generate": "cross-env NODE_OPTIONS=\"--max_old_space_size=8192 --openssl-legacy-provider\" nuxt generate && yarn update:copy",
"generate": "cross-env NODE_OPTIONS=\"--max_old_space_size=8192\" nuxt generate && yarn update:copy",
"generate:lts": "yarn fix:vuex && cross-env NODE_OPTIONS=\"--max_old_space_size=8192 --openssl-legacy-provider\" nuxt generate && yarn update:copy",
"check:sync": "node -r esm scripts/checkEventsSync.js",
"ipfsUpload": "node scripts/ipfsUpload.js",
"deploy:ipfs": "yarn generate && yarn ipfsUpload"

View File

@ -24,61 +24,7 @@
>
<i18n path="trustBanner.trustLess">
<template v-slot:link>
<a href="https://tornado.ws/">{{ $t('trustBanner.link') }}</a>
</template>
</i18n>
</b-notification>
<b-notification
:active="isActiveNotification.first"
class="main-notification"
type="is-info"
icon-pack="icon"
has-icon
:aria-close-label="$t('closeNotification')"
@close="disableNotification({ key: 'first' })"
>
<i18n path="indexNotification">
<template v-slot:link>
<a href="https://tornadocash.social" target="_blank" rel="noopener noreferrer">
{{ $t('indexNotificationLinkText') }}
</a>
</template>
</i18n>
</b-notification>
<b-notification
:active="isActiveNotification.second"
class="main-notification"
type="is-warning"
icon-pack="icon"
has-icon
:aria-close-label="$t('closeNotification')"
@close="disableNotification({ key: 'second' })"
>
<i18n path="rpcDisclaimer">
<template v-slot:linkOne>
<a
href="https://home.treasury.gov/news/press-releases/jy0916"
target="_blank"
rel="noopener noreferrer"
>
{{ $t('rpcDisclaimerLinkOneText') }}
</a>
</template>
<template v-slot:linkTwo>
<a href="https://chainlist.org" target="_blank" rel="noopener noreferrer">
{{ $t('rpcDisclaimerLinkTwoText') }}
</a>
</template>
<template v-slot:linkThree>
<a
href="https://docs.tornado.ws/general/guides/post-censorship#RPC"
target="_blank"
rel="noopener noreferrer"
>
{{ $t('rpcDisclaimerLinkThreeText') }}
</a>
<a href="https://tornadocash.eth.limo/">{{ $t('trustBanner.link') }}</a>
</template>
</i18n>
</b-notification>

View File

@ -3,12 +3,7 @@ export default ({ store, isHMR, app }, inject) => {
inject('isLoadedFromIPFS', main)
}
function main() {
const whiteListedDomains = [
'tornadocash.eth.link',
'tornadocash.eth.limo',
'tornadocashcommunity.eth.link',
'tornadocashcommunity.eth.limo'
]
const whiteListedDomains = ['tornadocash.eth.link', 'tornadocash.eth.limo']
const IPFS_GATEWAY_REGEXP = /.ipfs./
const IPFS_LOCAL_REGEXP = /.ipfs.localhost:/

View File

@ -23,9 +23,9 @@ function main(store) {
window.multipleTabsDetected = true
window.onbeforeunload = null
window.alert(
'Multiple tabs opened. Your page will be closed. Please only use single instance of https://tornado.ws'
'Multiple tabs opened. Your page will be closed. Please only use single instance of https://tornadocash.eth.limo/'
)
window.location = 'https://t.me/TornadoOfficial'
window.location = 'https://t.me/TornadoCashOfficialDAO'
}
}

24
scripts/vuex.js Normal file
View File

@ -0,0 +1,24 @@
/**
* Manually patch vuex to support Node.js >= 18.x
*
* See issue https://github.com/vuejs/vuex/issues/2160
* https://github.com/vuejs/vuex/commit/397e9fba45c8b4ec0c4a33d2578e34829bd348d7
*/
const fs = require('fs')
const pkgJson = JSON.parse(fs.readFileSync('./node_modules/vuex/package.json', { encoding: 'utf8' }))
const backupJson = JSON.stringify(pkgJson, null, 2)
let changes = false
if (!pkgJson.exports['./*']) {
pkgJson.exports['./*'] = './*'
changes = true
}
if (changes) {
fs.writeFileSync('./node_modules/vuex/package.backup.json', backupJson + '\n')
fs.writeFileSync('./node_modules/vuex/package.json', JSON.stringify(pkgJson, null, 2) + '\n')
}

View File

@ -14,20 +14,45 @@ const isEmptyArray = (arr) => !Array.isArray(arr) || !arr.length
const first = 1000
const APIKEY_URLS = {
1: '8b164501e1862078eff5fb9dda136c6c',
10: 'd2db349f28c895aa2272421996404c8d',
56: '30503850823438e04497429381e416f7',
100: 'd2db349f28c895aa2272421996404c8d',
137: 'd2db349f28c895aa2272421996404c8d',
42161: 'd2db349f28c895aa2272421996404c8d',
43114: 'd2db349f28c895aa2272421996404c8d',
11155111: 'd2db349f28c895aa2272421996404c8d',
88888888: 'c978a2a9a36f30ba63457b707e821e6c'
}
function getApiKey(chainId) {
const customApiKey = window.localStorage.getItem('graphApiKey')
if (customApiKey) {
return customApiKey
}
return APIKEY_URLS[chainId]
}
const link = ({ getContext }) => {
const { chainId } = getContext()
return CHAIN_GRAPH_URLS[chainId]
return CHAIN_GRAPH_URLS[chainId].replace('{apiKey}', getApiKey(chainId))
}
const registryLink = () => {
return CHAIN_GRAPH_URLS[88888888].replace('{apiKey}', getApiKey(88888888))
}
const CHAIN_GRAPH_URLS = {
1: 'https://api.thegraph.com/subgraphs/name/tornadocash/mainnet-tornado-subgraph',
5: 'https://api.thegraph.com/subgraphs/name/tornadocash/goerli-tornado-subgraph',
10: 'https://api.thegraph.com/subgraphs/name/tornadocash/optimism-tornado-subgraph',
56: 'https://api.thegraph.com/subgraphs/name/tornadocash/bsc-tornado-subgraph',
100: 'https://api.thegraph.com/subgraphs/name/tornadocash/xdai-tornado-subgraph',
137: 'https://api.thegraph.com/subgraphs/name/tornadocash/matic-tornado-subgraph',
42161: 'https://api.thegraph.com/subgraphs/name/tornadocash/arbitrum-tornado-subgraph',
43114: 'https://api.thegraph.com/subgraphs/name/tornadocash/avalanche-tornado-subgraph'
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',
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',
43114: 'https://gateway.thegraph.com/api/{apiKey}/subgraphs/id/CqUYVKJT9Jsyt7qnGNrf4FJNHw75ZbFGuzaJgqdaFASo',
11155111: 'https://gateway.thegraph.com/api/{apiKey}/subgraphs/id/8kJGz92AYUm72wfyUoze1as3E11ynDSTZM8emiRWrRPy',
88888888: 'https://gateway.thegraph.com/api/{apiKey}/subgraphs/id/DgKwfAbLfynpiq7fDJy59LDnVnia4Y5nYeRDBYi9qezc'
}
const defaultOptions = {
@ -45,7 +70,7 @@ const client = new ApolloClient({
})
const registryClient = new ApolloClient({
uri: 'https://api.thegraph.com/subgraphs/name/tornadocash/tornado-relayer-registry',
uri: registryLink,
cache: new InMemoryCache(),
credentials: 'omit',
defaultOptions

Some files were not shown because too many files have changed in this diff Show More