FxDAO's Q1 2024 update
Let's review what happened during the first quarter of 2024: From testnet deployment to audits and refactors.
The big news: The audit has been completed
Yes, FxDAO contracts (Vaults and Stable liquidity pools) have been audited by the Runtime Verification team. It started at the beginning of March and ended up in early May, it was great and their team found a few bugs and notified us so they get corrected. They also tested multiple parts of the contracts and made them work together to confirm they worked correctly.
We will be publishing their report in our public repos once it's finished, we already included many tests they created so if we make future changes in the code those tests also check the changes.
From early testnet to late testnet
We deployed FxDAO to testnet at the end of last year so others could test it out, testnet got multiple updates and a few resets which meant that we needed to update our contracts multiple times, we have refactored our contracts at least twice since we started because of Soroban changes (but this is expected, it happens with all new platforms)... But there was one change we missed and found out a few days after the code audit was completed: There was a downgrade in one of the Soroban limits and now our protocol can't be used in Soroban.
That was a hit and to be honest, we were at the point of "You know what let's wait 6 to 12 months until everything is more mature so that way we don't need to waste more time refactoring"... But it's been already a year of development and we really want to launch, so we started thinking how to continue, at first we made a quick refactor to our code so instead of handling multiple currencies in one contract we instead only handle one per contract.
That was enough to make ledger keys as low as possible so we wouldn't face a similar issue in the future... But the issue is that with such a big refactor, the code audit was basically a waste of time too because there are so many changes that it's as if it never happened; Instead we went back and decided to just do a little change that even doe it doesn't protect us for a possible reduction in Soroban limits again, at least is small enough to fit within current networks limits.
A missing oracle
Our protocol relies on oracles to fetch the price of real-world currencies, but there isn't an oracle for our case yet on mainnet. We've been in touch with the Reflector team and they will be providing a solution soon, because that might take a little we will launch our own oracle and once they have their own we will upgrade the protocol so it uses both. That way the protocol is safer because it doesn't rely on one single oracle.
Getting ready for mainnet
Now that the code has been audited, the code works within new Soroban limits and we will deploy our own oracle... We are almost ready for mainnet so this month our protocol should see the public light 🙌
We will deploy the Vaults contract with at least 3 synthetic currencies: USD, EUR, GBP... It's been a long journey but it's almost done!