SpartanProtocol
SpartanProtocol
Published in
10 min readOct 25, 2021

--

Dao Proposals

This week, DAO proposals went live with the first proposal to list BNB as an asset available for the Bond program reaching consensus & passing successfully. Congratulations Spartans, another milestone!

No time was wasted with the next (current) proposal being discussed & voted on to list BTCB for the Bond program too.

It will be exciting to see when someone is keen to propose an allocation for the Bond Program drawing in some long-term-aligned TVL.

Will you be the first person to list a proposal for a Bond allocation? Want to learn how to do it? The SpartanProtocol community have been busy building out the collected knowledge base over at https://docs.spartanprotocol.org

SpartanProtocol Educational Documents:

Manage Proposals — Spartan Protocol

Spartan Protocol

The community can now continue getting more involved with the DAO & begin to discuss the current and next proposals in more detail to be more prepared every time. As we move closer to a Bond allocation & eventually enable Synths, the pool incentives get a keen focus to ensure our liquidity providers are receiving the best base layer incentives they can. Some of this is covered below!

Binance AMAs

Expect some more info to roll out soon in regard to the upcoming Binance AMAs. Our community has been busy working hard to organise the Binance Global + Binance Turkey AMAs. Some recent generous donations also bumped up the community wallet to be in a position to cover the budgets for these AMAs too which is great to see

Bounty Program

Whilst not finalised or official yet, expect some news soon in regard to ongoing Protocol security efforts with setting up an ongoing bounty program to ensure whitehat hackers have an easy way of reaching out & claiming a bounty if they find a bug or exploit. We have had some community contributors working with Binance and their recommended leading platforms to handle this bounty program.

Finalising this should be considered a big step towards being in a position to apply for the Binance ‘Priority One’ program of which discussions with Binance has already begun.

Priority ONE: $10m Joint Bounty Program for the BSC Ecosystem

We’re introducing Priority ONE, a $10 million joint bounty program for the BSC ecosystem that aims to improve the security of 100 dApps.

Binance Chain BlogBSC Matthew

What’s up Docs?

Huge thanks to those who helped contribute to broadening the docs over the past couple of weeks. It tends to not get covered in these updates unfortunately as it doesn’t have a ‘GitHub’ as such! The past couple of weeks saw guides get created for almost every DApp-facing function, I mean check them all out!:

Still, a lot of work to do here with padding 100% of the info out so please do not hesitate to reach out if you are willing to help! The next pass will be to make it more understandable & pretty which can be happening now if anyone is interested in jumping in and having a go.

Introduction — Spartan Protocol

A quick summary of Spartan protocol’s main points

Spartan Protocol

Thanks, Contributors!

Been a busy week (like always) for the contributors, big thanks to all those who have helped in the past, those who are helping now, and our future Spartans who step up to help in any way they can. Please see some of those publicly viewable updates in a readable format below!

Wednesday feeBurn Update

It is quite cool to see mainnet live now, watching these numbers grow and the total supply being deflated every time SPARTA moves around.

Spartan Socials — Twitter

Tweet of the Week:

Community Tweet of the Week:

SpartanSocials — Medium

SpartanSocials — Telegram

Contributor’s Focus

ONGOING — Continue updating DApp during mainnet (‘functional’ priority)

COMPLETE ✅ — Enable the Vault incentives

COMPLETE ✅ — Enable the DAO proposals

COMPLETE ✅ — DAO to list Bond assets

DAO to release first Bond allocation

IN PROGRESS — Diversify Reserve holdings into LPs

IN PROGRESS — Work with aggregators to connect the SPARTA pools

IN PROGRESS — Set up a reliable index of history scoped to contracts (for ‘positions’ page)

Build a ‘positions’ page for V2

Post-C4-contest article on the top issues

(Side-Task) — Work with CMC/CoinGecko to feed in the SPARTA pool info

March onwards with our original goals of building the decentralised, yield-generating synthetics protocol on Binance Smart Chain

GitHub Activity — Spartan Contracts v2

This week, work began on allowing the Reserve to partially diversify its holdings from 100% of it being held in SPARTA to a portion being held in curated LP tokens. The short term plan would be to have the protocol add small amounts of liquidity in regular intervals each day into the curated pools and convert some SPARTA into for instance BUSDp. This would obviously add some TVL which is great; as we all know the long term vision is super deep pools, but that’s less of the focus with this and more so on being able to increase the dividends/revenue for the underlying liquidity providers.

How does adding liquidity to a pool increase revenue for LPers? Doesn’t it just dilute their holdings?

Fair question, a few things here though:

  • Deeper pools = better swap rate = more swap utility = more swap activity = more revenue (again this is the lesser focus here but still relevant)
  • When the liquidity is added by the protocol, it doesn’t care about rate nor profit, so it can be added asymmetrically which creates slip in that very moment along with a follow-up arbitrage opportunity which obviously also leads to more swap activity & revenue
  • Now to the major point, these LP tokens could easily be redeemed away from protocol ownership and attributed to the underlying liquidity providers; increasing the redemption value of the LP tokens they already hold. This ultimately rewards the most important peers of this ecosystem (LPers) and incentivises deeper pools. It also takes steps towards removing the dependency of the DaoVault harvest rewards as an incentive for LPers. How exactly this would work & percentages etc would obviously need to be fine-tuned over time just like the dividends which we all love, but its focus would be on a nice balance of sustainability and well-placed incentive. The variables will be adjustable just like other incentives in the protocol, so there’s no major final decision as such that needs to be made before deploy
  • Obviously, this is just one small piece of the overall revenue long term plan, getting aggregators on board will be a major step towards sustainability with increasing the swap activity in the pools. Synths etc all play their role later on too

contracts/Reserve.sol

  1. Added variables for the Reserve-diversification (Reservification?)
  2. Added a permission modifier
  3. RealisePOL - added event to keep the subgraph in sync
  4. setParams() - set the current curated pool address that should be diversified to. BNB will not be allowed here; saves a lot of complex wrap/unwrap logic
  5. setPOLParams() - regulate the current param
  6. grantFunds() - added addPOL() to the grant function so that it's checked and potentially triggered whenever a dividend or similar is triggered
  7. grantPOLFunds() - function added to potentially allow for paying out in LP tokens in the future. This also allows us to migrate funds in the case of a Reserve upgrade
  8. realisePOL() - this allows us to essentially 'burn' some Reserve-held LP tokens and attribute them to the underlying liquidity providers, growing the redemption value of everyone's LP tokens
  9. flipPol() - switch on/off this new logic
  10. performApprovals() - handle the allowances
  11. addPOL() - perform a diversification event. Converts a basis point percentage of the SPARTA to LP tokens. This will only happen if the polEmission time has passed since the last event

contracts/Router.sol

  1. Added minDiv to ensure there are no dust-sized dividends. This is likely to be set at 1 SPARTA to ensure the smallest dividend will never be less than 1 SPARTA
  2. Added a Dividend event to keep the subgraph in sync
  3. Added a permission modifier onlyRESERVE()
  4. _getsDividend() - removed the dust-skipper and enforced the minDiv instead (dividends will be much more frequent now)
  5. _migrateRevenue() - added function to migrate the revenue easier to a new router contract on upgrade
  6. changeDiviClaim() - added in setter for the minDiv
  7. syncPool() - this handles attributing the resulting 'burned' LPs to the liquidity providers from realisePOL() & also adds the SPARTA value of this to the revenue array to show up in the front end / APY calcs

GitHub Activity — Spartan DApp v2

General/Global:

  1. Added a Netlify workflow as the main deploy
  2. Move Firebase deploy as a lagging commit mirror for redundancy
  3. Added a ‘DApp temporarily offline’ style message to use during contract upgrades
  4. Balanced the header icons
  5. Turkish translation update/extension
  6. Redux store reducers; changed some default init values to false to handle a simple 'loading' state

src/components/Contracts/Contracts.js

  1. Added a separate ‘contracts’ dropdown to the header for just the contracts & global details/variables

src/components/Header/Header.js

  1. Added in the above new Contracts component to the header

src/components/Supply/Supply.js

  1. Removed the contracts section from the supply/tokenomics dropdown
  2. Hide the arrow down icon on iPhone 5 so that everything still fits
  3. Remove the global freeze indicator from here

src/utils/math/router.js

  1. Adjusted all the dividend calcs to account for the new minDiv dividend logic

src/utils/web3.js

  1. Updated testnet addresses & commits
  2. Added BUSDp address for testing

src/views/pages/Dao/NewProposal.js

  1. Changed the returned JSX to be conditionally shown/run
  2. Changed the New Proposal button
  3. General changes

src/views/pages/Dao/Overview.js

  1. Added a global details tile to the DAO with some relevant placeholder variables (might need some discussion on whats good to show here)
  2. Added an info tile to the DAO to explain the current proposal type’s description with a link to the docs (only added a couple of quick explainers, this will need to be padded out for all proposal types)
  3. Added a simple ‘Add Weight’ CTA for the user to stake in the DaoVault
  4. Fine-tuned the ‘no valid proposals found’ logic
  5. Set a const height for the tiles as a quick solution to getting things lined up

src/views/pages/Dao/ProposalItem.js

  1. Added some loading states to weights etc to ensure they aren’t shown until they are ready (no more ‘inf.’ flashing?)
  2. Changed up the style a bit to match the other views
  3. Added in the description from the ‘info tile’ to closed/completed proposal items to show more info for the proposal history

src/views/pages/Pools/Overview.js

  1. Updated this view a bit to hide the pools that have a depth below their initial setup requirements
  2. Can click a filter button to have them show up though if you want to add liquidity to a previously abandoned pool, token demand can be a bit fluid & pools never expire, they are contracts after all!

src/views/pages/Pools/PoolItem.js

  1. Fixed the weird edge case where the visual ratio was broken (probably solved, hasn’t been replicable since)

src/views/pages/Upgrade/Overview.js

  1. Removed leading title/breadcrumb area to get this a bit closer to the style of the other pages

GitHub Activity — Spartan Blog

  1. Added Netlify badge to the footer
  2. Fixed the image dimensions issue

Project Information

Official Links

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.‌

Binance Smart Chain testnet Faucet

Engage with the community and contributors

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

--

--

SpartanProtocol
SpartanProtocol

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