SpartanDev: 29NOV21 - 05DEC21

Dev Update

SpartanDev: 29NOV21 - 05DEC21

Phase 2 of SPARTA's supply burn program begun with 5M SPARTA being burned. Read on for more about the most recent Bond allocation & marketing grant proposal

SpartanDev: 29NOV21 -  05DEC21

A New Burn Phase Commences

Marking the beginning of the next phase of SPARTA tokenomics supply burns, 5 million SPARTA was burned this week! This SPARTA comes out of the supply of tokens that would have otherwise been gradually distributed via the Reserve contract through emissions/incentives. Hence the max theoretical supply instantly dropped by another 5M SPARTA by doing so.

This is just the first of many burns slated for this phase with a minimum of 30M SPARTA aiming to be removed in this manner over the coming months.

First $BUSD-Inclusive Bond Allocation

The DAO proposed and successfully reached majority consensus passing thru another Bond allocation this week. This is the first V2 Bond allocation to include $BUSD as a bondable asset. Despite some major BSC network issues causing the public RPCs to play up, this was another popular event with the whole 2M allocation being depleted in a mere 10 mins.

Marketing DAO Grant

A new DAO proposal was put up not long after the Bond Allocation proposal was finalised. Whilst a bit ambiguous at first, it has been made clear now that this proposal was made by a Spartan interested in having a 100K SPARTA grant injected into a trusted wallet for a Marketing fund.

As a show of trust, the 100K SPARTA has been put up in advance and sent to the trusted community wallet. These funds will be returned to the donator if this proposal is not successfully passed. If it is passed, the community wallet has 100K SPARTA to use for marketing based on any good plans put out by the community. Would be good to see some of these funds (or maybe a later grant) used also for educational content like videos etc.

You can see the 100K SPARTA donation in the 'recent donations' in the DApp:

You can also always transparently confirm the balance of the community wallet via BSCscan:

https://bscscan.com/address/0x588f82a66ee31e59b88114836d11e3d00b3a7916

If you want to see these funds put to use for marketing please visit the DAO proposals in the DApp and vote for the proposal:

Spartan Protocol | Liquidity & Synthetics on BSC | DeFi
Spartan Protocol provides community-governed and programmable token emissions functions to incentivize the formation of deep liquidity pools

#LearnToEarn #FridayFor300 Quiz

The winners of last week's quiz have been announced and a new quiz is up ready for three Spartans to win 100 SPARTA each. It's not too late to join, just follow the below link to Twitter and answer the question with a quote-retweet:

Spartan Socials - Twitter

Community Tweet of the Week:

SpartanSocials - Medium‌

SpartanSocials - Telegram


Contributor's Focus

It's been a busy period of time since the release of mainnet V2, completing objective after objective. We move into an era of further refinement and shift focus more to the integration of Spartan Protocol into aggregators and the wider BinanceSmartChain ecosystem as originally intended.

COMPLETE  ✅ - Build some charting/analytics into the DApp

COMPLETE  ✅ - End the first burn phase and disable the feeBurn

COMPLETE  ✅ - Burn first 5M SPARTA in the new burn phase

IN PROGRESS - SPARTA<>Bram NFTs

IN PROGRESS - Setup simple tokenomics API

IN PROGRESS - Connect SPARTAv2 pools to aggregators

Overhaul style/UI of DApp

Overhaul landing page into a 1-pager with more CTA focus

Post-C4-contest article on the top issues

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 DApp v2

With the recent move into a new phase of burning, some changes were required on the DApp level to represent the tokenomics correctly

src/components/DataManager/DataManager.js

  1. Remove all feeBurn related BitQuery calls
  2. Remove all feeBurn related event listeners and logic to combine the feeBurns into a tally

src/components/Supply/Supply.js

  1. Updated hardcoded Bond supply for the distro progress bar
  2. Hardcoded the full feeBurn from the first burn phase (removed all dynamic calls related to it)
  3. Added interfaced function to get the phase2 burn tally from Redux (formatted)
  4. Added simple function to get that burn tally and add it to the hardcoded total feeBurn tally (to get the total SPARTA burned throughout phases)
  5. Changed the totalSupply function to remove the dead (phase2 burn) supply from the total supply to get the correct actual total supply (same as how CMC handles burned supply)
  6. Removed all feeBurn related logic and functionality
  7. Updated tootltips to relflect new burn phase

src/store/sparta/*.js

  1. Hardcoded the feeOnTransfer to 0 instead of making an external call (now that its disabled) left the variable there for an easier changeover, but potentially this can be removed along with all logic throughout the codebass that uses this variable (mainly router math)
  2. Added a call to get the SPARTA token balance in the 0x0...dead address (essentailly the tally of SPARTA burned via the phase 2 burns)
  3. Removed spartaFeeBurnTally() & spartaFeeBurnRecent() including their relevant types, reducer etc

src/utils/web3.js

  1. Added the 0x0...dead address as an export const for use throughout the dapp
  2. Removed the dry-run call to get gasPrice and replaced it with 6GWEI hardcoded (help with slow BSC network conditions and stale txns)

src/views/pages/Swap/Components/Metrics.js

  1. Hide the price chart for BUSD (was just a flat line, as only BUSD is used for interal price derivation at the moment)

GitHub Activity — Spartan NFTs

The NFT contracts moved forward alot this week, ready now to run through and make everything 'standard' and also to write a set of simple tests ready for testnet deploy

contracts/SpartaBramNFTs.sol

  1. Added OpenZeppelin extensions:
  • Access Control
  • Pausable
  • Burnable
  • Supply

2. Added access control roles for minting, pausing & setting URIs

3. Setup IDs for every NFT edition

4. Set up a 'collection URI' variable (confirm this meets standards)

5. Added in mint events to mint all editions of each NFT to the deployer address on deploy/construct except the Athena edition which will be a manual mint TBD

6. Added general pause/unpause, mint, mintbatch etc functions

7. Added setter for the collection URI

8. Added mintAthena function to manually mint the Athena edition to a specified address and qty

scripts/index.js

  1. Created a general deploy & simple test script via HardHat
  2. Test deploy (local blockchain)
  3. Check balances of NFTs are correct in the deployers wallet (after deploy)
  4. Manually mint an Athena NFT to deployer and check received
  5. Try to mint an Athena NFT from a non-minter-role wallet (confirm it reverts)
  6. Use deployer to give that wallet minting role access
  7. Try to mint it again, confirm it works this time (no revert)
  8. Next stage will be to actually do some assert tests

Project Information

  • Website: https://spartanprotocol.org/
  • DApp: https://dapp.spartanprotocol.org/
  • GitBook (Docs): https://docs.spartanprotocol.org/
  • GitHub: https://github.com/spartan-protocol

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.