yAgnostic Weekly Updates — April 23rd

We are excited to bring to our dear community the yAgnostic development progress report for this week. Based on our roadmap for Q1 to Q2 2021, the team is currently working on a blockchain-agnostic solution for secure Vaults for DeFi strategies implementation.

To better understand the flow and the process of delivering the product, we’ve created roadmaps for both contracts and front-end implementation.

*Stages already passed and implemented are marked with (!)

*Stages already passed and implemented exactly this week with (!!)

Back-end for Ethereum secure Vault Solution Roadmap:

● Back-end service for proposals (!!)

● Subgraph (in progress)

● Front-end integration

● Front-end restyling (!!)

4 DeFi strategies development

○ CompoundNoFoldStrategy (in progress)

○ CRVStrategyStable (in progress)

○ CRVStrategyWRenBTC and CRVStrategyWRenBTCMix (in progress)

○ CRVStrategyYCRV (in progress)

Binance Smart Chain secure Vault Solution Roadmap:

● BSC configuration (!!)

● Bridge contracts (in progress)

● Relayer (in progress)

● Front-end expanding (in progress)

● Subgraph expanding

Scope delivered

Below you can find the details on work done from contracts, back-end, and front-end side:

BSC Configuration:

○ Completed configurations for the BSC mainnet and testnet

○ Created migration scripts for the BSC mainnet and testnet

○ Deployed and tested mock-contracts on the testnet

BSC Bridge Development:

○ Implemented bridge-contracts for ETH and BSC

○ Implemented Mock-contracts for testing bridges

○ Developed bridge API

○ Started testing API locally

Ethereum DeFi Strategies Development:

○ Created all 4 strategies (without covering with Unit tests)

○ Rewritten Curve stubs:

■ Updated solidity version

■ Updated dependencies

■ Fixed incompatibility errors with the new OpenZeppelin libs

■ Refactored some parts of the code

Subgraph for Ethereum version of the platform:

○ Create 2 Subgraph projects on thegraph.com for ETH and Rinkeby

○ Added GraphQL entities for storing user balances and vault’s ‘pricePerShare’

○ Added mapping for vault control (now all the new vaults will be automatically tracked by subgraph)

○ Added mappings for user balance calculation after each transfer

○ Added helper mapping for common used operations with blockchain events

○ Added subgraph manifest with controller as main contract and vault contracts as template

○ Updated vault creation tracking (add handling new event from controller address)

○ Started writing Read.me for ETH/Rinkeby

Front-end Integrations:

○ Integrated front-end with back-end for proposals

○ Started integration of the DApp with Binance Smart Chain

○ Frontend restyling is completely finished.

List of commits to /front-end repository:

○ Implement chain state for the web app

○ Fix detecting chain id after load the dapp

○ Implement chains reducer for the web app

○ Connect chains reducer to the web app

○ Implement getChains thunk

○ Connect getChains thunk to the web app

○ Visualize current chain at the header of the web app

○ Style current chain at the header of the web app

○ Update list of supported chains of the web3react injector

○ Rebuild vaults confg to use chain ids

○ Rebuild pools confg to use chain ids

○ Implement chain handler at the dashboard page

○ Implement chain handler at the vaults page

○ Implement chain handler at the stake page

○ Implement chain handler at the vote page

○ Fix issue with destructure property list from pools list by chain id

○ Implement chain handler for the vote actions at the vote page

○ Implement chain handler for the generate proposals at the vote page

○ Rebuild getVaultBalances thunk to using current vaults list by chain

○ Rebuild getPoolsBalances thunk to using current pools list by chain

○ Refactor getting proposals as well as getting vaults

○ Restyle warning messages at the dashboard page

○ Restyle warning messages at the vaults page

○ Restyle warning messages at the stake page

○ Restyle warning messages at the vote page

○ Move onCheckChain method from dashboard, vaults, stake and vote pages to the getAvailableChain helper of the web app

○ Implement AvailableChains component

○ Connect AvailableChains component to the web app store

○ Move description of the AvailableChains into this component; Add condition for availability the chains list

○ Connect AvailableChains component to the dashboard page

○ Connect AvailableChains component to the vaults page

○ Connect AvailableChains component to the stake page

○ Connect AvailableChains component to the vote page

○ Style AvailableChains component

■ Fix padding of warning message at the dashboard page

■ Fix padding of warning message at the vaults page

■ Fix padding of vaults description at the vaults page

■ Fix padding of warning message at the stake page

■ Fix padding of warning message at the vote page

■ Add key attribute to list of chains in the AvailableChains component

■ Fix issue with getting chainId from metamask

■ Update contracts of vaults for binance testnet chain

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store