SpartanDev: 14/12/20–20/12/20

SpartanDev: 14/12/20–20/12/20

Dev Update: RouterV2 | Bond+Mint V3| SpartanPools | SpartanSwaps | DAO

Dev Update: SpartanContracts & SpartanPools

Summary

The smart contract contributors have been been working on a global upgrade of all SpartanContracts across the board to prepare for synthetic assets & lending.

The UI contributors have been working on some community-discovered UI bugs/changes and continued work locally on the new DAO & shares pages.


SpartanContracts

The SpartanContracts are being upgraded globally to prepare for DAO + Synths and allow for easier upgrades of contracts in the future.

DAO v2 — Ready for Automated Testing

  • Fixes from community feedback of DAO v1
  • Added ‘curated’ pools tier so that only 10 DAO-selected pools are eligible for dividends, DAO weight & using in synthetics
  • Set-up new DAO method for ‘grant’ proposals (funds will come from ROUTER to proposed address for the sole purpose of ‘grants’)
  • DAO will no longer hold any funds, will act ONLY for DAO proposal management and as a gateway for other contracts to ask for other contract addresses

Utils v2 — Ongoing, Partially Ready for Automated Testing

  • getSwapValue() & getSpotValue() ready for automated testing

Router v3 — Ongoing, Mostly Ready for Automated Testing

  • ‘Curated’ pools ready for automated testing
  • synthSwap() not yet complete

SynthRouter v1 — Ongoing, Partially Ready for Automated Testing

  • Synths deployer ready
  • mint() ready for automated testing
  • totalCDPDebt
  • totalCDPCollateral

Synth v1 — Ongoing, Incomplete

  • mint() — lock SPT ready

Pool v2 — Ongoing, Partially Ready for Automated Testing

  • New proposed ‘pools’ system
  • Anyone can create a pool
  • All pools are in the ‘pools array’
  • DAO marks pools as ‘curated’ or not; ONLY ‘curated’ pools are eligible for dividends & Synths and DAO weight
  • There will be a max of 10 curated pools
  • Anyone can propose a curated pool be replaced by a non-curated (voted by the DAO)
  • DApp UI to have a default view with only the curated pools with a toggle/tab switch to view the ‘pending/other’ pools
  • ‘Non-curated’ pools will still function as normal pools with swapping & adding/removing liquidity

Bond v4 — Ongoing, Incomplete

  • Remove DAO logic
  • Consolidate older Bonds (v2 & v3) into v4

SpartanPools DApp

There were some bug fixes and general UI changes merged to master this week. The next major changes (DAO UI & shares page) are still being worked on locally.

Pools Table — Display Without Web3 Wallet

  • Previous to this merge, the only way to view the pools was with a connected web3 wallet. Now, even if you do not have MetaMask installed at all you will be able to view the TVL and all listed pools + their stats
  • Fixed mobile-view empty column issue
#1: Before | #2: After (w/ empty column issue) | #3: After

POOLS TABLE | Display even when web3 wallet/ext not detected · Issue #295 ·…
Currently, the UI asks the user to connect MetaMask when they don't have a web3 wallet extension. The pools table is…github.com

POOLS TABLE | Fix UI Issue when on mobile with no web3 wallet · Issue #347 ·…
If you visit the pools with these conditions: * No web3 wallet available * On mobile device (small screen) The UI is…github.com

Percent Slider Issues & Get/Use Gas Estimate

  • Web3 — Added getGasPrice function
  • Bond (Non-BNB)— If slider set at 100%, use balance as the input (rather than calculating)
  • Bond & Swap & Add Liq (BNB) — If input + estimated gas fee is > the balance, remove the fee from the input
  • Swap & Add Liq (All) — If input > balance the swap button is disabled with a warning
  • Utils — Added functions for handling Gwei: convertGweiToWei() & convertFromGwei()
  • Fixed bug where Web3 would be handed a BigNumber instead of a simple string

#349 slider 100% by SamusElderg · Pull Request #350 · spartan-protocol/spartanpools-dapp
Web3.js: Added getGasPrice function Bond: Added check for 100% slider input, if so then use the balance as the input…github.com

Bond — Updated Progress Bar

  • Updated progress bar to reflect the correct activated allocation
Bottom: Before — Top: After

BOND | Update progress bar with new allocation total · Issue #343 ·…
Edit descriptiongithub.com

Swap Interface — More Granular Figures

  • Increased the decimal count (used the granular function) for most figures on the swap page
  • This was especially important with pairs like RAVEN which has a much lower individual token price than SPARTA resulting in an inaccurate price/rate/etc being shown to the end-user (there was no issue on the back end this was simply visual)

Road Map

SpartanContracts

  • DAO v2
  • Utils v2
  • Router v3
  • Pool v2
  • SynthRouter v1
  • Synth v1
  • Bond v4

Spartan DApp

  • DAO UI v1
  • Shares/Position Overview Page v1
  • Integrate WalletConnect

Community Contribution

SpartanProtocol at is at its core a community project. In this vein, the more contributors the better. There is a great opportunity for community members to contribute in all facets of the project from development to community guides/tools.

If you have an idea, share it in the community channels.

Engage with the community and developers

Where to find out about all the latest updates or suggest improvements — get involved.