Proposal #28: Next quarter remuneration and bounty


Today (August 3, at the time of preparing the proposal and writing the text), the term for which the contract was concluded with me for the development and support of the Tornado Cash infrastructure in accordance with proposal #19 ends. In order to be able to continue to perform tasks and maintain the operability of project services, it is necessary to conclude a new contract for the next quarter - as I understand it, at the moment quartal payment form suits DAO the most.

Results for the past quarter

Firstly, it is worth noting that all the target points set in proposal #19 were successfully completed - with the exception of the complete translation of the documentation from English, but this would have taken a very long time, which was barely enough even for priority tasks.
Of course, I can also list all the changes made to the Tornado services code during these three months, but there are very, very many commits - there will be a list with more than a hundred points, so I will only mention the main improvements in general terms:

  • Problems with RPCs have been solved - now everything on the main site works without limits and censorship, the loading of events, relayers, and so on has accelerated;
  • Updated documentation: new links, more detailed description of interaction with some contracts, information changed in previous proposals is actualized, revision of the repository for availability IPFS deployment;
  • All the consequences of the hack were resolved in the shortest possible time: broken contracts were updated and redeployed, protection was added against similar metamorphic attacks in the future, and the staking rewards that were lost because of the hack were restored;
  • For the convenience of users, a new infrastructure has been created, accessible, fast and with high uptime, including: the main site (classic-ui), Nova, documentation, forum, project title page, self-hosted git for open source Tornado services and packages, new chat and independent Matrix for secure communication;
    -Contact was established with representatives of Binance, CoinMarketCap and CoinGecko, information about the project was updated on these resources, including Circulating Supply;
  • CLI improved: all known bugs fixed, event cache updated regularly, new commands added;
  • Created self-hosted package registry, which includes key dependencies related to security (creation of evidence, private notes) - snarkjs, websnark, circumlib;
  • Improved software for relayers - fixed bugs that prevented output on some networks, made installation easy with a single script and clear instructions, updated new version with convenient notifications and TypeScript;
  • Nova is made minimally functional (yes, it’s still in beta and not all problems have been fixed): RPCs have been changed, correct build scripts have been added, the problem with the unavailability of some oracles has been fixed by creating a new version of the gas-price-oracle library and created self-hosted AMB Live Explorer to track cross-chain transactions;
  • A lot of updates have been made to the UI, including the gas calculation system, but they are in the process of being changed (since most likely proposal 27 in its current form will not be approved by the DAO).

Do not forget about the promised support and assistance in solving problems in all chats as soon as possible - I actively did this for three months through all available channels: on the forum, in Telegram chats (official, old, Russian, Chinese ), in Element (Matrix) and in private messages - I think many can confirm this.

Goals for the next quarter

This time, I will immediately sort it by priority level, so that the DAO understands what will be performed first.

  • Revise proposal #27 to keep Ethereum Mainnet relays backwards compatible across all services;
  • Fix problems with Nova: the speed of relayer withdrawal transactions, which sometimes take more than one day, the inability to load an account using Shielded Key, and so on;
  • Very strong acceleration of loading of any types of events using The Graph technology, taking into account fallback on RPC in case of incorrect data or unavailability of the service;
  • Taking the project to the public field: new Twitter, publication in Binance Research;
  • Reworking, updating and complete translation of documentation;
  • Updating project contracts, Router, FeeManager and so on, for more variable oracles setting in case of low liquidity in Uniswap pools;
  • Switching to WalletConnect V2 for greater stability of the main site (if WalletConnect allows us to make a self-hosted bridge of the new version, because otherwise user privacy may be at risk);
  • And, of course, all the problems and small tasks that arise along the way, which will be countless, will be solved, just like this time.

Also, all of my responsibilities as a developer as stated in proposal #19 remain in effect.


Code includes:

  • Opening a stream in the amount of $30,000 during the quarter (91 days) for the developer (as in past quarter);
  • Payment of $6,000 for project expenses (RPC - just over $1,000 per month, servers, contracts, testing, and so on);
  • Payment of $2,000 to T-Hax community contributor under the bounty rewards program, which was announced by Gozzy, and T-Hax did not receive the payment due to him. The payment goes for the written guide for the relayers, the development of the SDK is underway, but not completed.

The calculation of the amount in TORN tokens is based on the average price for the last seven days. The data is received via Binance API, the Solidity code is generated using a TS script and it is directly inserted into the proposal - you can verify it yourself.

At the time of publishing the source code on git (August 4):

  • $30,000: 8625 TORN
  • $6 000: 1725 TORN
  • $2,000: 575 TORN

Verified contract code: etherscan

By the way, I read in chats that for some reason many people are interested in what the developer does with the paid tokens. So - at the moment I have not sold a single TORN from my salary, they are all in staking - you can check via Governance contract for the addresses tornado-dev.eth and tornado-proposer.eth.


It is recommended to create a table on dune to give people a more intuitive view of Torn’s data