Chainflip Development Update — September 11th 2023

Chainflip Development Update — September 11th 2023

Dear readers of the Chainflip Dev update,

We did it! We released Perseverance 0.9. This is expected to be the last major testnet release before the mainnet. Still, there will be some smaller updates (0.9.1 is on its way) if we feel that they are necessary.

Progress

An important part of our ability to monitor the health and correctness of the chain is to ensure that the accounting on the chain is consistent with the inflow and outflow of funds, as well as with the overall balances of the vaults on external chains. For this we are developing a system that will track all the fund movements independently and raise an alarm if it differs from what our state chain thinks is happening. Such a system can be used to sanity-check the behaviour in situations where hundreds of changes (Swaps, provision of liquidity, token redemptions etc.) occur in short amounts of time.

We also invested some time into reviewing some of the finished pieces of code. Sometimes it helps to revisit things with a fresh mind and one might find some quirky things that seemed obvious at the time of writing them.

Outlook

During the next weeks will focus on finalising everything in preparation of the mainnet launch. However, this will not be the end, the development of Chainflip has only just begun and there will be plenty of cool, new features in the pipeline after the launch.

One example of this was hinted at in the last dev update: we are planing to make swaps even faster, which was one of the most common requests in the feedback from the swapping campaign. There are essentially two parts to this:

  • Improving the UI: As you may be aware, a transaction on a blockchain can not be considered “complete” just because it was included in a block. There is a (usually very small) chance that a chain reorganisation will replace the block with another one that doesn’t contain the transaction. The usual way of dealing with this is to wait for a certain number of blocks (for example 6 Blocks on Bitcoin) before considering the transaction completed. This is of course true for both sending funds to Chainflip for swapping, as well as when Chainflip sends the outcome of a swap back to the user. However, our UI currently does not handle the second case very well. For example, a swap to Ethereum can be completed and the users Eth balance has already increased, but our UI will still wait for the necessary number of Ethereum blocks before showing a “Swap successful” message. This was misinterpreted by some users, who thought that the Eth had only just been sent.
  • Improving on the logic on when to consider a transaction completed. I would love to explain all the details on how we are going to pull this one off, but I know that Simon and our competitors are also reading this blog, so for now it must remain a secret. But it is going to make a huge impact!

Vibe Check

After Ramiz impressed us all with his cooking skills, our DevOps legend Assem stepped up and gave us a taste of his native Syrian cuisine (as well as a selection of snacks). Our office was buzzing with lots of people helping with the cooking, chatting and enjoying the amazing food. I even had the opportunity to play a bit of Guitar to entertain the Chainflippers and am happy to say that there was no noticeable increase in sick leave after this…

Until next time,

Martin