Engineering Workstream Monthly Update - April 2024

Highlights

  • In March ’24 Rune affiliate fees were up 220% MOM from Feb ‘24 representing the fifth straight month of 200+% growth in thorchain affiliate revenues generated by the DAO
  • On March 18th Thorchain LP functionality became generally available in the app
  • Improved performance in load times of the application reducing the elapsed time until the trade page becomes usable by 75% (~15 secs down to ~3 secs) against a benchmark wallet with a large number of assets and transaction history.

Lowlights

  • We are still struggling to identify a permanent work stream leader and the team may start to look at hiring a traditional recruiter to fill the role.

Last Month

In March the team completed work on support for Thorchain Liquidity Providers which was officially released on March 18th. Additional polish and fast follows to improve edge case handling, slippage alerts to users and more granular feature flags shipped later in the month. The last remaining item, historical charts, is currently being implemented and will be released in early April, closing out our work on this feature.

The team also responded to increased feedback from users around slow load times for users with large transaction histories and asset counts. Our priority is for the swapper to become usable in the shortest amount of time possible, so a user is able to complete trades without the need to load their full transaction history. We benchmarked our progress against a single known user’s load times when injecting their wallet and were able to achieve a 75% reduction in elapsed time from start to ability to interact with the swapper. Tradeoffs in our architecture, with a preference for a light backend and a “fat” client will continue to make this a challenge for power users and an area we will continue to monitor.

In addition to the main feature launch and performance improvements, the team also addressed a large backlog of bugs across the month closing 34 bug tickets in the month. Fixes included resolving underestimation of gas amount for zeroX, keepkey integration issues and smaller than intended token approval amounts. We also invested time into automation to update our asset lists to avoid manual and error prone processes. Asset lists are now updated twice a week, with an automated PR being opened for the team to review and should resolve customer frustrations with stale asset data and portfolio balances.

On the backend side, we have spent significant time working alongside NowNodes to improve their reliability as well as observability (dashboard). In order to better integrate with their services, which for websockets are billed per response, we have filtered our subscriptions down to currently active users when consuming new blocks in order to reduce our load on their systems and costs. We also changed our failure state when a websocket connection is dropped to a block book instance to ensure that while users may not see live updates to a transaction’s state, they will still be able to interact with that chain.

This Month

We have begun our initial research into the new community requested feature of rFOX, a novel staking mechanism for FOX which entitles stakers to RUNE rewards. The team is closely working with the product workstream on the initial spec that will inform the interface requirements for the solidity smart contracts to be developed in the coming weeks. This will also unblock work on the backend accounting mechanisms and data requirements for the user interface. By the end of the month, we hope to have a solid technical plan in place for all features that have been outlined in the proposal and have initial implementations of the smart contracts so we can begin thinking about security audits.

NowNodes are committed to improving their availability to meet our needs and we continue to be hopeful that they are a viable longer term solution both to reduce our costs and maintenance burden associated with our self hosted infrastructure. This month, they will be spinning up a dedicated Cosmos node that we will cut over traffic to as soon as possible and continue to reduce our own infrastructure footprint as confidence in their services grows.

Finally, the team has adopted a more formal backlog grooming process starting in April. We believe the added scrutiny when breaking down and scoping work will assist in identifying technical or product gaps early in the process and avoid ad-hoc decisions that occur later in the development cycle when work is less well defined up front. This process will also help the interface with the product workstream to ensure that engineers help identify edge cases where additional UX concerns may arise before being raised by our end users.

2 Likes