SpartanDEV: 03JAN22 - 09JAN22

Dev Update

SpartanDEV: 03JAN22 - 09JAN22

Welcome to the new year Spartans! Business as usual with the #Buidl over here read all about it in this weeks update.

SpartanDEV: 03JAN22 - 09JAN22

Summary

It may seem like a quiet week compared to recent ones, however, stepping back, we can see a significant amount of Spartan sweat grinding away with the constant #Buidl!

  • SecondLive Gift Boxes
  • #FridayFor300 Quizzes
  • $SPARTA most traded in top 1000 wallets
  • SecondLive Boosting Carnival
  • December SpartAnalytics report
  • and of course the usual constant #Buidl activity over in the GitHub repos (do they ever sleep?)

SecondLive Gift Box Festivity

The SecondLive festivities got underway this week kicking off with a Gift Box bonanza. All 500 whitelisted wallets still have up until the 12th to create their SecondLive account, link their email address, download the SecondLive client and login to the MetaVerse to claim their gift box. View the guide here to help perform those steps.

Fair Launch Project

Let's take a quick moment here to remember what Spartan Protocol is all about. A community open source project with a fair launch & automated on-chain DAO functionality run by its liquidity providers. Check out A.O's tweet here giving us all a little overdue reminder! Don't forget your roots Spartans!

#FridayFor300 Quiz

Last week we had a 'guess the number' contest aligned with helping Spartans find and use the new guide on 'analyzing Spartan pools' where we asked you to:

Guess the day's total 'Swap Volume' in the BUSD pool for Friday 7th of January 2022

Final result: BUSDp Volume for 07JAN2022 = $176,389

Congrats to the 3 lucky Spartan winners!

Our new quiz is open now for everyone to enter! The new question is:

How much of the initial SPARTA token distribution was dispersed via team allocations?

Perform the gleam tasks and enter your answer + BSC wallet address to be in the running to win some $SPARTA! You might have noticed the previous news item above actually answers this quiz question (Thanks A.O) 😉

WhaleStats $SPARTA Most Traded

We tend to avoid price talk, but the past week was a 'red' one with BTC dipping down and the entire market following it. Although $SPARTA had its moments going against the grain & surprising us like it tends to do. We had some impressive CEX & DEX swap volume days last week & even a little price pump during the BTC downward action which I'm sure helped alleviate the week's overall pain for a lot of Spartans.

Another metric that surprised us during this period was the trade volume between the top 1000 BSC wallets (whales). SPARTA topped the list (of all BSC projects) for a day or two there, flipping ETH and showing some strong activity. It would seem we have some active Spartans out there!

SecondLive Boosting Carnival

Coming back to the SecondLive campaign, we also had the Boosting Carnival kick-off, where Metaverse users can visit their favourite project booth to show their support with a 'boost' (kind of like a big virtual 'like' button in the Metaverse). Any Spartans who are SecondLive citizens (or would like to be) please go visit our booth and give it a boost (you can boost 5 times per day) until the 12th of January. In doing so you also get a chance to win extra rewards.

December SpartAnalytics

Our community collates the public Spartan Protocol data into a PDF report each month covering Google Search (impressions, clicks, devices, keywords & geographical) & Twitter analytics. You can find the full December report here.


GitHub Activity - Spartan <> Bram NFTs

GitHub - spartan-protocol/spartan-nfts-bram-01: 🎭 Spartan Protocol NFTS 01: the Bram Vanhaeren Collection (https://twitter.com/BramVanhaeren)
🎭 Spartan Protocol NFTS 01: the Bram Vanhaeren Collection (https://twitter.com/BramVanhaeren) - GitHub - spartan-protocol/spartan-nfts-bram-01: 🎭 Spartan Protocol NFTS 01: the Bram Vanhaeren Collec...

Completed, all that remains is distribution! Please be patient and allow the contributors time to work out how these NFTs will be distributed. In the meantime please check out Bram on Twitter and show your support!

To Do:

  • Plan & distribute the NFTs

GitHub Activity - Spartan UI Library

GitHub - spartan-protocol/spartan-ui-library: ⚙ Spartan Protocol Community UI Components
⚙ Spartan Protocol Community UI Components. Contribute to spartan-protocol/spartan-ui-library development by creating an account on GitHub.

No Github activity on this repo for the week.


GitHub Activity - Spartan DApp

GitHub - spartan-protocol/SpartanProtocol-DAppV2: 📱 Spartan Protocol Community DApp
📱 Spartan Protocol Community DApp. Contribute to spartan-protocol/SpartanProtocol-DAppV2 development by creating an account on GitHub.

Cleanup Tasks

  • Updated contract addresses & relevant commit hashes
  • Removed stale stylesheets & font imports

Liquidity Page Chart Changes

We now scan the metrics data for the pool and assess whether it is 'stale'. This is currently set at 7 days. So if there hasn't been swap activity in a pool for 7 days, we will show No swap activity for 7+ days underneath the chart

PU Dashboard Changes

  • Removed EmptyPools component (this component was created before the contracts were completed for V2 before there was a handy feature to ensure a pool can never be 100% empty which made this component redundant)
  • With that gone we were able to make the initial PU view only the RPCs list and remove the isLoading dependencies. (This means if we are having RPC issues we can load this page and assess a lot faster than before which RPCs are performing okay)
  • All other PU components/tools are dependent on the RPCs working and have now been siloed into their own tabs

Pools Page Changes

We had some overall challenges this week with APYs being displayed in the DApp incorrectly. At one point they were showing way higher than made sense and another time way too low and then of course they were showing 0% for a while to really rub it in! This was due to our changeover from calling the data required for the APY from on-chain to now calling this from a Subgraph. Changes have been made on that end and also on the DApp end to accommodate & the APYs are now displaying probably more accurate than they ever have before with rolling 30-day figures.

  • Removed formatting from the parent Pools component down (fix the 0% APY issue when APYs are above 1,000%)
  • PoolItem & SynthItem now perform their APY formatting function after the JSX conditional check for > 0 (fix the 0% APY issue when APYs are above 1,000%)

Swap Page Chart Changes

We now detect when an asset has just been changed and clear the chart data before loading the new asset's relevant data (fixed issue where chart briefly shows previous asset's metrics as asset changes over)

Header Changes

There was a lot of general header changes worked on and merged in last week too however they have now all been reverted as they don't work well in the web3 world if you want your DApp to work inside mobile apps like MetaMask. A new alternate 'live' branch will instead be created on the next attempt at this to see what rules can work with all the web3 apps without affecting the live DApp.

To Do:

DaoVault | Add some stats · Issue #691 · spartan-protocol/SpartanProtocol-DAppV2
Add in member-scoped percentage of global weight Add in member’s last harvest ‘X.XX days ago’ (use the inSecs/unit helper)
CSP Conflicts | Investigate and potentially roll back · Issue #686 · spartan-protocol/SpartanProtocol-DAppV2
Investigate/confirm issues with CSP conflicts: • Metamask mobile is OK • ONTO only works without wallet connected • TrustWallet only works without wallet connected • WalletConnect? Broken I think •...
Liquidity Page | Add DaoVault APY · Issue #678 · spartan-protocol/SpartanProtocol-DAppV2
Add in the DaoVault APY below the pool APY like on the home/pools page

GitHub Activity - Spartan Subgraph

GitHub - spartan-protocol/spartan-subgraph: 🏃‍♀️ Spartan Protocol Subgraph
🏃‍♀️ Spartan Protocol Subgraph. Contribute to spartan-protocol/spartan-subgraph development by creating an account on GitHub.

Add Consts

Some hardcoded variables throughout the codebase really ought to be added to the CONST file and exported out globally.

  • DIVI_EVENT_TIMESTAMP - The blockstamp of the first Dividend event
  • GENESIS_TIMESTAMP - Timestamp of the Swap event in the V2 pools
  • ONE_DAY - One day in seconds
  • ONE_MONTH - One month in seconds

Utils Changes

The above allowed us to perform some minor refactoring throughout. In the Utils file, we were able to remove some redundant lines of code and make things more readable.

A major change we added here was a solution to 'empty days' where we have a pool that might not have any swap activity for a day or longer and therefore have a 'missing' bar of data. To solve this we simply check if the previous day exists, if it doesn't, create it with the adjusted and correct data (and in doing so continue to check each day before and create them too)

To reduce the expanding complexity here we refactored out the 'global' scope from the 'pool' scope in checkMetricsDay. This means we now also have checkPoolMetricsDay getting called at the end of checkMetricsDay. This performs almost the same logic as before however with some minor refactoring & similar logic added to check 'previous day' and pad back the data where missing.

In that same function, we also commented out the sync function to reduce the RPC call load within this graph. Might need to revisit the sync function being called at least once a day once we have verified the accuracy of the mapped balances vs subgraph.

To Do:

Check/create empty global daily metrics for no-activity days · Issue #9 · spartan-protocol/spartan-subgraph
Currently, a daily metric for a pool (and even global not that this should ever occur) is only created if there is activity occurring in that pool on that day. For pools that are either dead or hav...

GitHub Activity - Spartan Resources

GitHub - spartan-protocol/resources: 🎨 Spartan Protocol Branding & Resources
🎨 Spartan Protocol Branding & Resources. Contribute to spartan-protocol/resources development by creating an account on GitHub.

No Github activity on this repo for the week, however, some graphics & other relevant resources were created, they should be merged in soon.


GitHub Activity - Spartan Site

GitHub - spartan-protocol/spartan-site: 🕸 Spartan Protocol Community Website
🕸 Spartan Protocol Community Website. Contribute to spartan-protocol/spartan-site development by creating an account on GitHub.

No public GitHub activity this week in the relevant branches, however, work continued off GitHub with the design side of things along with the website code. Hopefully see some of that shift into the public repo soon.


GitHub Activity - Spartan Arena Contracts

GitHub - spartan-protocol/spartan-arena-contracts: ⚔ Spartan Arena Contracts
⚔ Spartan Arena Contracts. Contribute to spartan-protocol/spartan-arena-contracts development by creating an account on GitHub.

No public GitHub activity on this repo for the week however various contributors have been actively discussing ideas and helping create & wireframes whilst ironing out some initial details. Lots of documents like the below are forming with all the info from various groups being collated in.


GitHub Activity - Spartan API

GitHub - spartan-protocol/spartan-api: 👩‍💻 Spartan Protocol Simple Headless API
👩‍💻 Spartan Protocol Simple Headless API. Contribute to spartan-protocol/spartan-api development by creating an account on GitHub.

No GitHub activity on this repo for the week.


GitHub Activity - Spartan Contracts

GitHub - spartan-protocol/spartanswap-contracts: 📃 Spartan Protocol Smart Contracts
📃 Spartan Protocol Smart Contracts. Contribute to spartan-protocol/spartanswap-contracts development by creating an account on GitHub.

Master & Mainnet Branches

Everything was brought up to date with what's on mainnet on these two branches. Any pending work in these branches has been removed and are in their own public and private branches. (Spring cleaning 💐)

RouterRefresh & RouterUpgrade Branches

We have two new branches both tackling the same thing; to remove the no-longer-used 30day metrics (subgraph does this now). That metric function and all its dependent variables/mappings being removed can potentially lighten up the compiled code for the Router contract and present an opportunity to reduce gas in Router transactions such as swaps.

The two branches will be reviewed, compared and a final one will be decided upon at some point to be deployed onto the mainnet and become our new official router contract (hopefully with slightly cheaper-gas swaps)


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

Engage with the community and contributors

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