SpartanDev: 19/04/21–25/04/21

SpartanProtocol
7 min readApr 26, 2021

DevUpdate: Can’t talk gotta BUIDL | DappV2 | SpartanContractsV2

Spartan Socials — Twitter

Top Impressions:

Top Engagement:

Top Community Mention:

SpartanSocials — Medium

SpartanSocials — Telegram

GitHub Activity — SpartanContractsV2

  • Continued global factor
  • Continued mapping-type changes to reduce gas costs
  • Add Reserve contract to handle the SPARTA that has been emitted but not yet circulating (contracts that use incentives now draw from here instead of handling the funds themselves)
  • Change all router.grantFunds related references to the new Reserve.grantFunds()
  • Added synthVault for synth staking / harvest
  • Added params for synthVault to change the % claim to reserve and erasToEarn etc
  • Added withdraw functionality to synthVault
  • Added harvest functionality to synthVault
  • Added mappings and helpers to synthVault
  • Added automated testing module for synthVault
  • Refactor synthVault & Reserve contracts
  • Change ‘types’ in Bond & BondVault to reduce gas costs
  • BondVault changes
  • Extend Bond automated testing
  • Added newDao handling throughout to prevent pointing to old addresses when a temporary dao address is in play with migration edge-cases
  • Added weight per synth and total per member to avoid any weight-movement-related exploitation (there is min-deposit-time in place too, so this is accounting for very-edge-case)
  • Changed harvest() accordingly
  • Added helper function for the UI to be able to get member’s last harvest time per synth
  • Changes for newDao handling when there is a migration dao address in place
  • Change/finalise some mappings inline with UI feedback

GitHub Activity — SpartanDAppV2

  • 25 finalised PRs for the week
  • Fix doubleSwap estimated output issue
  • Simplify input handling
  • Added multiple-approval handling in the store and component; so the 2nd approval doesn’t overwrite the 1st tokens approval (when handling two unapproved, non-BNB, base assets)
  • Add recentTxns event listeners to the dataManager to have it accessible/looping throughout dapp
  • Mobile-responsive changes
  • Setup locales/flags and change i18n implementation to use hooks instead
  • Improve APY function to handle partial-month data (recent-divis, recent-fees)
  • Improve bond components and data-grabs
  • Add ‘bonded’ LPs to walletSelect modal
  • Add bondClaim functionality
  • Begin refactor of all getContract related functions all within web3Contracts.js
  • Add ‘LastHarvest’ timestamp grab for DAO member
  • Fix calcSlipAdjustment()
  • Make some functions more readable throughout
  • Get the lastHarvest
  • Added more state checks for wallet to ensure wallet icon is always showing (and only once; no duplicates)
  • Fix stuck blank account issue after wallet connected
  • Add function to deposit, harvest and withdraw synths in the vault
  • Add a bunch of synthVault helpers and mappings
  • Fix wrong icon for SPARTA when BurningSynthToBase
  • Changed terminology throughout to ‘stake’

Final ‘swap’ component changes:

  • On clearInput; focus is switched to the 1st input (UX especially for mobile users)
  • Clears to placeholder instead of 0 now for the same reason (UX)
  • Removed the 3 clearInputs (on no value) as this is handled via ‘0’ being handed on all calc functions instead (this is better for UX especially when the user tries to get rid of the 0 value to start with another number or no number (less than 1 unit starting with a ‘.’)
  • Add calc function for USD-value (internally derived) rate-slip between the two assets
  • Change terminology throughout (‘input’ to ‘sell’ etc)
  • make the txnDetails values rounded to 6 decimals and make the Cols auto for the descriptor + the rest of the Row for the actual txnDetail Col (repeated as seen throughout all areas)
  • Fix alignments
  • Simplify allowance/approval component
  • Only show if required; hide when completed
  • Fixed some alignment and sizing issues
  • WalletSelect modal now fixed on screen (doesn't jump around depending on it’s height)
  • Added scroll to the assetlist
  • General cleanup
  • Setup store etc ready for next synthVault deploy
  • Get liquidity UI to the next stage & ready for final functionality changes

Contributor’s Focus

SpartanContracts

  • SynthVault V1
  • Lend V1
  • LendRouter V1

Spartan DAppV1

  • Finalise migration-UI

Spartan DAppV2

  • Continue DAppV2 improvements
  • Test start-to-finish migration from testnet V1 to testnet V2 (within UI)
  • Refactor DataManager & code throughout
  • Finalise Liq page

SpartanSite

  • DAO page
  • Lending page
  • FAQ page

Other Focuses

  • Video & text guides
  • Community forum

Community Contribution

Spartan Protocol is at its core, a community-driven and led project. In this vein, the more contributors the better. There is a great opportunity for community members to contribute by making LP reward analysis tools, etc.

Recently, community members have been graciously funnelling in to contribute to explainer articles, ideas and even $SPARTA donations to support the growth of the platform.

Engage with the community and contributors

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

GitHub list of bounties available

Reach out on telegram to get involved: https://t.me/SpartanProtocolBounties

--

--

SpartanProtocol

Incentivized liquidity and synthetic asset generation for Binance Smart Chain. https://SpartanProtocol.org