Hey folks, we would like to make a small update to the TUSD smart contract and want to get the thumbs-up from the AAVE team & community before doing so. We’ve already contacted the AAVE team and they will be posting an update once they’re finished reviewing the new code. Thanks for your help.
Details on the update:
-
On Sept 16th we upgraded the TUSD smart contract based on feedback from the Maker and AAVE teams. This upgrade massively simplified the TUSD smart contract but also left out one feature which we’re now realizing was important: supporting our legacy (pre-Jan 2019) TUSD smart contract.
-
The legacy contract was launched in March 2018 before the upgradable proxy pattern was standard, and instead of full upgradability, it included the ability to forward transfer() calls to a new address. We migrated to an upgradable proxy in Jan 2019 with a full announcement and instructions for integrators.
-
After the on Sept 16th, we were contacted by IDEX who is having the following issue: they were continuing to rely on the legacy TUSD smart contract, and while they are able to integrate the new TUSD smart contract, their smart contract is unable to understand that ‘old TUSD’ balances are actually now ‘new TUSD’ balances (of course all balances are moved over, the old smart contract just forwards calls similar to a 301 redirect on the web). This issue with IDEX affects about $130k TUSD.
-
We want to make sure these IDEX users are taken care of and that’s why we’re requesting this change.
Of course we would not perform an upgrade without the AAVE team & community reviewing the new implementation. The new implementation has already been audited, both code and audit are linked below.
Thanks for working with us, and please let us know if you have any questions or concerns.
Relevant links:
- Proposed new TUSD implementation: 0xffc40F39806F1400d8278BfD33823705b5a4c196
- PR for the new implementation
- Audit for new implementation
- Legacy TUSD contract: 0x8dd5fbCe2F6a956C3022bA3663759011Dd51e73E