Chainflip Development Update #5 — Jun 11th 2021

with Tom Nash

Welcome back, I’ll waste no words this week as there’s a lot to do. We’ve renewed the focus for the next few weeks onto getting an internal testnet running. This goal will ensure that we’ve checked most of the larger blind spots related to integrating everyone’s work.

Progress Since Last Update

Personnel

I’ve been interviewing Senior Devops candidates this week, we’re hoping to bring on someone who has extensive experience running critical internal infrastructure. If you know anyone who might fit the bill (ideally in Berlin or within striking distance of the EU timezone), put me in touch and I’ll give you a special gift.

Research

Slashing conditions for Sandstorm have been finalised. We kept kicking the list until we were satisfied all the loose ones had fallen off. I think we went from seven conditions to three, happy days.

Investigations into V3 have been fruitful, we’re now beginning to formalise our approach to implementing liquidity range orders within our runtime. We’re still a little way off starting to implement our AMM, so this shouldn’t slow us down at all.

Development

State Chain

Due to our new focus we’ve punted quite a few State Chain items down the pitch for our future selves to take care of. We’ve pretty much completed the auction subsystem, and we’re pretty close to having implemented our on-chain representation of the ERC20 FLIP token.

Chainflip Engine

The CFE is almost at feature-completeness for our internal network. We’re very close to merging the happy-path Ethereum signing work that has been quite a beast. There’s more work to come on edge case handling there, but it’s surplus to requirements for the internal net.

CFE can now broadcast pre-signed transactions to the Ethereum network, all that’s left is to ensure it can broadcast transactions to our own State Chain 😅.

Staking Web App

The app is coming along well, it’s not critical for our internal network milestone, but it would be very nice indeed to have an interface with which to interact with our network! It’s now capable of crafting and broadcasting staking transactions, as well as showing users the list of already-staked nodes. Quite close to being feature-complete, the next thing to do will be to give it the lick of paint it deserves.

Ethereum

Most of the core contracts are now feature-complete. There’s a couple of small (but critical) changes in the works like replay protection, but this won’t hold us up. Our Ethereum Edgelord is on holiday visiting parents this week so most of the tasks are rollovers.

Goals for the Next Fortnight

Some quick bullet points about what we hope to achieve by the time the next dev update rolls around:

  • [SC] Initial set of integration tests for extrinsics and p2p rpc (rollover)
  • [SC] Genesis config
  • [SC] Witness nonces
  • [SC] Account creation (existential deposits)
  • [ETH] Vesting contracts for investors (rollover)
  • [ETH] Replay protection for ETH signatures (rollover)
  • [CFE] State Chain tx broadcaster (rollover)
  • [CFE] ETH signing edge case tests (rollover)
  • [APP] Styles
  • [APP] Gracefully handle gas-fee-replacement transactions

General Thoughts

Very glad that we have created an interim release for ourselves. Integrating everyone’s work is often the point at which assumptions are rigorously checked for the first time. Looking forward to having the necessary data to validate our ideas about how things should work. Once we’re happy about the stability of the testnet we’ll probably open up participation to the public as well. Keep an eye out if you are interested in running a Chainflip Validator, as you might get an opportunity to try it out sooner than you thought.

Until next time.

Tom

Sidenote from Simon:

Overnight I saw this in the Discord (Dev names redacted because privacy):

I might have this wrong but I think the internal testnet was born last night. All the devs are asleep right now so I guess you’ll have to wait until Tom’s update next week to find out for sure!

Native Cross Chain Swaps