yAgnostic Weekly Updates — Feb 16

4 min readFeb 16, 2021

We are pleased to bring to our dear community yAgnostic development progress report and other vital updates. 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. We are utilizing yEarn protocol as a reference. The solution includes Ethereum smart-contracts’ system, dApp for interaction with the protocol, governance token, secure bridge from Ethereum to Polkadot network for the token and basic solution on the Polkadot network. The system does not need KYC, does not keep users’ private keys and provides access for the user for each integrated blockchain.

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 last week with (!!)

Contracts roadmap:

  • Review the existing token contract (!)
  • Init truffle project (!)
  • Fork core contracts from yEarn (!)
  • Upgrade compiler version up to 0.6.12 (!)
  • Upgrade zeppelin library up to 3.3.0 (!)
  • Prepare initial deployment script (!)
  • Prepare initial deployment script to testnet (!)
  • Start unit-test coverage for the Vault contract (!)
  • Spread deployment scripts (!)
  • Add test stubs for the Strategy (!)
  • Prepare a test environment with contracts (!!)

Front-end roadmap:

  • Init react app (!)
  • Create a home page component (!)
  • Create layout component with header (!)
  • Create a dashboard component (!)
  • Connect App to wallet (MetaMask) (!)
  • Connect App to contracts (!)
  • Create vaults component (!!)
  • Create stats component
  • Create admin component
  • Connect our contracts to vaults:
  • Get user and vault balances
  • Deposit
  • Deposit all
  • Withdraw
  • Withdraw all
  • Create staking component (dao)
  • Create voting component (dao)

Scope delivered

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

Contracts scope delivered:

  • Implemented the functionality that allows to have several vaults with the same central token — that will allow to have several strategies for the same token in a future;
  • Unit tests were corrected in align with new functionality;
  • Testing strategy as a part of testing environment was developed to test all the functionality together;
  • Started covering with Unit tests the functionality related to strategy (in controller, vault, and for interaction with earn and harvest modules);
  • Finished migrations scripts and prepared test environment:
  • Reworked private keys management
  • Added all networks for migration
  • Partly reworked migration settings
  • Migrated test environment to the Rinkeby test net
  • Verified all contracts on Etherscan
  • Shared addresses and abi with the team
  • Created draft protocol and contracts documentation for the command:
  • Created how-tos for the main contracts interactions
  • Created contracts interface description
  • Operator script improvements:
  • Added scripts for the sequences of actions: * strategist actions * bot actions * governance actions

Front-end scope delivered:

  • Finished the refactoring of the dApp:
  • Localization reworked: now all the signs are shown via i18next. It will allow us quickly and easily to add new languages to the dApp if required.
  • Implemented Vaults page and began the connection of it with the yEarn contracts:
  • Cloned the components of the page from yEarn and adjusted them to integrate into our dApp later
  • Buttons and input fields for Deposit/Withdrawal were reworked and adjusted to ant.design forms (to easily manage and change them in future)
  • Cloned the code accountable for deposit, depositAll, withdraw, and withdrawAll
  • Got rid of all the redundant code parts and fixed minor bugs
  • Prepared the code to be connected to our dApp
  • Analyzed the state of the working app to proceed with creating a plan for investigation and implementation of its own version of the statistics.
  • List of commits to develop version of /front-end repository:
  • Style layout component
  • Refactor Header component
  • Remove unused styles and icon
  • Change use dispatches in Connections component/Dashboard component/Connection component
  • Refactor pages in App.js/Home component/Header component
  • Change use store states in Header component
  • Remove unused localization in Home component
  • Remove unused locales
  • Update locales in Connections component/DashboardList component/Dashboard component/Home component/Header component
  • Clone vaults component from reference
  • Rebuild vaults component to use it in the current dapp
  • Connect vaults page to the dapp
  • Clone Asset component from reference dapp
  • Rebuild VaultContent component to use in the current dapp
  • Connect VaultContent component to Vaults page
  • Rebase template of Vaults component
  • Style Vaults component
  • Connect Vaults page to store
  • Move header of vault to external component
  • Rebase template of VaultHeader/VaultContent component
  • Add stats methods to getVaultBalances thunk
  • Create getAccountStatistics thunk
  • Add depositVault thunk
  • Fix infinity callbacks to user api
  • Add depositAllVault/withdrawVault/withdrawAllVault thunk
  • Write call of getVaultBalances on the vaults page
  • Style search and description on vaults page
  • Move form of vault content to external component
  • Rebuild deposit/withdraw for use ant forms
  • Change setAmount and setRedeemAmount functions for use ant forms
  • Update validation rules for amount and redeemAmount inputs
  • Change percentage buttons of amount to radio group and bind it to form changes
  • Change percentage buttons of redeemAmount to radio group and bind it to form changes.

Buy, Stake, and Hodl #yfiag

  • Exchange Listings:

YearnAgnostic #YFIAG is currently trading on Uniswap and Hotbit exchanges:

Uniswap: https://www.hotbit.io/exchange?symbol=YFIAG_USDT

Hotbit: https://info.uniswap.org/pair/0xada9ae35410dd1b36ee2361e72a679d046084980