Rena Dev Report #26 — V2

Rena Finance
6 min readJun 6, 2023

This latest round of development wrapped up Beta Testing included many updates regarding frontend, Web3 data architecture, and offered an opportunity to inventory critical technical debt and new feature requests.

Summary of Tasks Completed

FE Styling & Updates:

  • Front End Bug Fixes
  • rBond Purchase UI Update
  • Global Styling
  • Mobile Responsiveness Update

FE Web3 & Architecture:

  • Verified/Unverified List
  • Metamask Connectivity
  • rGov Web3 Minting/Burning

Notable Pull Requests & Bug Fixes:

  • #89 Token Display Amounts in Every Input Field
  • #88 Connect Slippage Inputs on All Calls and Stores
  • #90 rGov + Wallet Connection Fail Bug

QA/Testing Technical Debt & UX/UI Updates Inventory:

  • Launch Critical Technical Debt
  • UX/UI Upgrades & Quality of Life Features

What was Achieved?

FE Styling & Updates:

Front End Bug Fixes:

  • Users now are always returned to the top of the page when navigating from page to page.
  • The current page indicator bug fixes on the side nav menu are corrected.
  • Connect wallet metamask prompting bugs resolved.
  • Replaced static % APY with appropriate “variable” value to better represent the variable nature of APY based on rBond volume.

rBond Purchase UI Update:

  • Price formatting of rBond listings
  • American-style number value formatting
  • Unit of value display updates — input bars and values in tables
  • Conditional rendering of mobile vs desktop styling for rBonds list.
  • rBonds purchase information and automatic value updates on user input amount changes updated for better user experience.
  • Font scaling updates throughout rBonds interface for consistency and readability across devices based on window and screen sizes — some sections and text are selectively included based on the device.
  • Slippage adjustment, sub-modal styling, and interactivity UI updated.

Global Styling:

  • Removed unnecessary content in headers across all pages to simplify design and remove clutter.
  • Minor adjustments to alignment and sizing of peripheral content such as logos, buttons and labels.
  • Updated naming schemes across the site to reflect new Rena branding terminology.
  • Added two (2) Fixed decimals across all relevant asset values.

Mobile Responsive Update:

  • Added mobile-friendly modal responsiveness across web3 implemented pages.
  • Updated styling across all pages to better fit and format values/content on a more consistent basis.
  • Mobile modals and attention pop ups max width scaling set to prevent overlap and extra scrolling on devices. This ensures modal pop ups stay within device screen sizes.

FE/Web3 & Architecture:

Metamask Connectivity / Backup Provider:

  • Until now, users could not access or browse the site without having their browser wallet extension installed and connected.
  • Provider/wallet connection has been changed and a fallback provider will need to be added.

rBond Verified/Unverified List:

  • rBonds themselves have been made permissionless, meaning anyone can add a new rBond to Rena. However, this also means malicious actors could potentially do harm to the protocol and its user in a number of new ways which will need to be mitigated ahead of launch.
  • The website now filters rBonds by Verified/Unverified status. A process for classifying which are Verified/Unverified on an ongoing basis is still to be defined and implemented.

rGov Web3 Minting/Burning:

  • rGov Web3 functionality is now considered Feature Complete and can be tested for quality assurance.

Notable Pull Requests / Bug Fixes:

  • #89 Token Display Amounts in Every Input Field
  • #88 Connect Slippage Inputs on All Calls and Stores (closed 2 issue tickets)
  • #90 rGov + Wallet Connection Fail Bug (closed 3 tickets)

QA/Testing Technical Debt & UX/UI Upgrades Inventory:

QA & Testing has revealed multiple issues and missing items where the protocol had design shortcomings and needs to be improved with additional development outside the original scope for a successful launch. The team has collected and inventoried these items during the completion of the Beta Test.

Launch Critical Technical Debt:

  • Global request caching to prevent rBond claim page speed issues based on increased load time from each added rBond (extra critical due to permissionless rBond creation functionality).
  • Overhaul & Optimize async data-fetching on a per-route basis to serve relevant front-end data as needed for smoother/faster UX across the site.
  • Performant Tokenlist Browser (currently there is support for uniswap-style lists however, we need a custom tokenlist browser with search functionality that can easily render 500+ tokens).

UX/UI Upgrades & Quality of Life Features:

  • URL Based Sub-Routing allows the sharing of links to specific rBonds, like Uniswap has for Swap Pairs and Liquidity Pools URLs. (Symbol & Address based lookup)
    Uniswap-style Example: https://rena.org/rBonds/buy/ETH/RENA
  • Search/filter/sort functionality for rBonds within the rBond Marketplace.
  • User-friendly interface for rBond creation and management (for any user).
  • Async on-demand query token icons from a source such as Uniswap or CoinGecko.
  • Overhaul Notification System for better user feedback (current notifications under communicate and the following is needed: warning/confirmation, pending/failed/successful/in-progress transaction notifications/pop ups).
  • rStaking interface to communicate multipliers of lock periods and lock options in a better way for improved usability.
  • Further mobile optimization of styling/sizing for newly added sections’ responsiveness.
  • Global review & updates to table column headers and data displayed for maximizing easy-of-use by showing relevant information.

Beta Test Completion and Next Steps:

The Beta Testing has concluded and yielded new discoveries and clarity on defined needs for the protocol that would beneficially impact Rena if implemented before launch. These include quality-of-life improvements for protocol users not identified prior to the Beta Test, technical debt incurred due to requested implementation velocity, and newly required rBonds creation/management interfaces which will need to be usable by any user as the rBond feature requirement has been upgraded to be permissionless. These updates are non-trivial but the team believes implementing them ahead of the Rena V2 launch would be critical to its overall success.

Completed Tickets & Deliverables:

We have closed over 200 Tickets as part of the Beta Test.

Completed Deliverables:

✅ [Complete] — Document the capabilities and limitations of the Rena V2 backend, serving as an advanced user manual.

✅ [Complete] — A testnet hosted on a private node for beta testing.

✅ [Complete] — Updated frontend code that integrates web3 for interacting with the Rena V2 smart contracts

⏯️ [Partial Pending] — Any necessary updates to the contract code based on findings during beta testing.

⏯️ [Pending] — Successful deployment of the Rena V2 contracts on the mainnet.

💚 [New] — 35 Tickets have been created due to the Beta Testing results and findings mentioned in this report. We also expect additional tickets to be created as part of the implementation of these last-minute improvements.

The Next Phase Consists of 2 Parallel Tracks:

1: Audit & Launch (with a loop to possible contract changes should the audit find them necessary)

2: Frontend & UX Features (Technical Debt, New Features & Test/QA)

Projected Launch Date:

The projected launch date will depend upon the depth of newly added feature requirements and findings from the smart contract audit.

Our hope is that the audit will come back positive without requiring any critical changes to the smart contracts and that the technical debt is easily resolved along with the newly requested features.

Next Tasks

  • Fallback Provider Scalability
  • rBond Verified/Unverified Process
  • QA & Test rGov Integration
  • Post Beta: Technical Debt & QA
  • Post Beta: Prioritize New Feature Implementations

Thank you for taking the time to read our Rena V2 dev report. We’ll be back with more updates again soon! 🙌

--

--