TokenBridge Contracts 3.3.0 Release


This version of TokenBridge supports operations in four modes:

  • native coin to an bridgeable ERC20 token;
  • an ERC20 token to a bridgeable ERC20 token;
  • an ERC20 token to a native coin;
  • relaying arbitrary messages (Arbitrary Message Bridging, AMB).

The set of changes is mostly to implement the Phase 2 of the xDai brige migration to support two tokens Sai/SCD and Dai/MCD and to address the issues raised during the security audit that was held by Quantstamp

This is the first release that is published as an image on the Docker Hub. It allows to quickly pull the image and deploy the bridge contracts without necessity to configure the Node.JS environment and spend time on the contract compilation. Instructions how to deploy contracts by using the docker image can be found here.

Also this is the first release when we attach a zip file with flattened contract sources. These sources could be used for the contract verification. But the current recommendation is to pay additional attention on the new feature appeared in this release that allows to verify contracts in Etherscan and Blockscout automatically.

Together with the pre-release 3.3.0-rc0 the following changes were introduced:


  • Add support for two tokens in erc to native #319
  • Wording changes in the erc677-to-erc677 bridge on top of AMB deployment scripts #321
  • Possibility of increasing/decreasing allowance in ERC677 #328
  • Hardcoded max validators limit 331
  • Add automatic contracts verification in deployment script #334
  • Add upgrade scripts #337


  • Updated checks in setMinPerTx and setMaxPerTx #330
  • Documentation for upgradeability contracts #332
  • Added Initialize functions access control modifier #333
  • Max signatures limit #335
  • Update nvm node version to 10.18 #339
  • Add docs in Bytes library #340
  • Integrate upgrade scripts in the docker image #342
  • Bump handlebars from 4.1.2 to 4.5.3 #344