Rena V2 Weekly Dev Report #17

Rena Finance
4 min readDec 13, 2022

--

We’re continuing to gather speed, with new developments arriving and on the horizon. We made significant progress this week — the rBond and rStaking pages have been finalized among several tasks, including static root analysis and small fixed. Read on!

Weekly Task Summary

  • Test web3 library
  • Integrating Web3 into Frontend
  • Finalizing Pages rStaking & rBonds
  • New UI Modules
  • Running static analysis tools & Small fixes

What was Achieved?

Test Web3 Library

To make it easy for developers to use the Platform, we have created a Typescript Library that can be imported using NPM. This allows third-party developers to build products that use Rena as a Platform/Service while maintaining their own branding.

The build is compiled and minified to UMD format using vite.js, and web3 dependencies are externalized to reduce the package size and improve the developer experience.

Finalize rBonds & rStaking Pages

The development of the pages is progressing well, as most of the UI primitives are functional. We are on track with the timeline, and both pages are ready for functional testing using the web3 library. This will allow us to ensure that both pages are working as expected and are ready for use.

New UI Modules: Pop-ups/Modals

Popups are a favorite tool of many UI developers because they make it easy to hide situational complexity, display activities or multi-part actions efficiently, or just anything that requires forcing user attention and focus. Most sub-actions or multi-step processes will be done using modals. This allows us to efficiently present information to users and guide them through complex processes without overwhelming them with unnecessary details.

Changes after static analysis tools

LPMigration.sol:

Minor reentrancy warning

Using the return from a function is better than fetching the ETH balance again.

RenaV2Pair.sol:

Minor reentrancy warning

External calls are better to be made after all state changes are over. We also removed the need to recheck the balance of token0 as it exposed more reentrancy issues.

Unused variable warning

Since we’re using the IERC20 interface now, we no longer need the transfer selector inherited from UniswapV2code.

RenaV2Library.sol:

Unused functions warning

getAmountsOut and getAmountsIn has no usage for RenaV2 since it’s impossible to use a router for multi-pair swaps.

rBond.sol:

Missing input check

rRewarderV2.sol:

Missing input checks

Medium reentrancy threat

We decided to use the non-reentrant pattern from Open Zeppelin to fix reentrancy issues in rRewarderV2.

Next Week’s Tasks

  • Complete Functional Integration with Ethernal + Web3 Lib of rBonds & rStaking
  • Automated Testing via Playwright
  • Finalize Next Pages (rGov & rEarn, Dashboard)

Thank you for reading our Rena V2 report! We’ll be back next week for another update for week #18.🙌

--

--

No responses yet