BUIDL-Weekly: 07NOV22- 13NOV22

BUIDL-Weekly: 07NOV22- 13NOV22

1yr ago

BUIDL-Weekly: 07NOV22- 13NOV22

Table of Contents

Community Mentions


Don't forget to vote for SPARTA every day Spartans!

Weekly Community Call / Hangout

Don't forget to tune into the Telegram channel each week with @ReidyPhillip to get updates on the project and broader ecosystem. Join in the discussion with any ideas and questions!

Hosted every Wednesday at ~11:00 UTC but subject to change based on community feedback and availability. Please check the Telegram channel each Tuesday/Wednesday to confirm the exact time.

‌SpartAnalytics Report

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 October report here

‌Community DApp‌

Join us in showcasing the cryptocurrency revolution, one newsletter at a time. Subscribe now to get daily news and market updates right to your inbox, along with our millions of other subscribers (that’s right, millions love us!) — what are you waiting for?

setup basic access to ssutils

  • added ssutils ABIs
  • added ssutils addresses
  • added helper to get ssutils contract object

bond connected to ssutils

  • updated the bond redux store actions and structs to suit ssutils
  • updated logic throughout the dapp to try cater for broken logic from the changes, this will be mainly a case of 'fix them as we spot them'

convert dao to suit ssutils

  • added an exCuratedPools const to web3.js
  • adjusted most > 1 loading checks to > 0 as the new objects will not have empty details objects/padding
  • removed trigger references to update the dao total weight (is now triggered inside the relevant redux actions and doesnt need to do any RPC calls anymore)
  • updated action for daoGlobalDetails && daoVaultWeight && getDaoDetails to suit SpartanSwap Utils contract

fix current price tic

  • fixed the current price tick in the swap component's price chart
  • removed the intrum pool.listedPools object/actions
  • removed/updated all deps of pool.listedPools
  • daisy-chained most pool redux actions to reduce the DataManager's responsibility
  • went thru every dep of any synth vars that are no longer in the poolDetails object and removed/updated them (see mainly: synth item and synth table item and synth mint view)
  • added a getSymbolUrl helper to check for a const URL for a symbol before attempting to fall back to the github repo list
  • massive front-end RPC call reduction (no more massive batched Promise.all awaits for pools/tokens, the utils contract handles this with a multi-call-esque approach)

update reserve actions to use ssutils

  • removed the reserve.globalDetails action/object/etc completely - updated/remove all deps of reserve.globalDetails to their new sparta.globalDetails home
  • we now get reserve.polDetails every 20 seconds with the base level calls after we check RPCs (this will make the 'supply' section load way faster)
  • updated getReservePOLDetails to use the ssutils getReserveHoldings() function saving a bunch of RPC calls + also removing its dependency on curatedPools && poolDetails meaning we can load it almost instantly on DApp mount now

synth change to suit ssutils

  • moved bondDetails && daoDetails && synthDetails to the global loop cycle, no longer conditionally loaded based on the view, will be especially noticeable when opening the wallet modal now that everything will load faster
  • commented out or removed heaps of conditionals/useeffect RPC calls from the views and made them reactive calls at the action level
  • updated all the synth actions based on ssutils and some overdue larger changes throughout the store and overall codebase
  • added a synthTokensMN && synthTokensTN const array instead of looping the vaultAssets (might be a problem in the future but highly likely it wont and we can reactively make it dynamic again when the time comes)

delete the utils store

deleted the whole utils store, we didnt need it before and definitely dont need it now

added SpartanSwapUtils contract to contracts page

  • added SpartanSwapUtils contract to contracts page

minor changes from testing feedback

  • fix synth input selection list to account for the removal of dummy-synths
  • add a dummy poolDetails object for spartav2
  • fix liqCap check in the zap LPs view

fixed final bugs

  • fix the loading bug with pool/token/synth/dao/bond items when no wallet was connected

To do:

Protocol Site‌


  • Added animations to section icons
  • combined 'Token' and 'Tokenomics' on mobile
  • improved token section styling, moved token section text data to contentful
  • improved token section animations
  • fixed styling of token section on mobile
  • Adjusted animation on token section (mobile)
  • fixed issue with social icons overlapping trading buttons
  • fixed trade SPARTA button zindex
  • improved token section styling (mostly mobile)
  • adjusted icons
  • changed font in token section

To do:

Protocol API‌

update circulating to use ssutils

updated circulating api logic to use a single RPC call to get the nuanced circulating supply logic with these items removed from the raw total supply:

  • burned supply
  • supply not yet circulating (held by reserve as sparta)
  • supply locked in diversified permanent liquidity (SPARTA underlying LP tokens held by reserve) imported the ssutils address and abi test this then move onto the other api endpoints

add nodereal rpc

  • added prod nodereal RPC

convert supply to use ssutils

  • converted the supply endpoint to use spartanswap utils contract
  • this conversion doesnt provide any extra efficiency (still 3 rpc calls, same as before) but no matter, this endpoint is not a common one

convert totalSupply to use ssutils

  • convert the total supply endpoint to use spartanswap's utils contract
  • saving 1 RPC call per endpoint ping

convert tvlSPARTA to ssutils

  • converted the tvlSPARTA endpoint to use a single RPC call instead of a string + batch of calls
  • saved poolCount * RPC calls per endpoint ping

convert tvlUSD to use ssutils

  • converted the tvlUSD endpoint to use the SpartanSwap utils contract
  • saved poolCount + 1 RPC calls per endpoint ping

fix docs

  • fixed circulating -> totalSupply in docs

To do:

Protocol Subgraph‌

Protocol Contracts V3‌

To do:

Protocol Resources‌

Protocol Docs‌

To do:

Protocol Contracts V1 - V2‌

‌Ecosystem Project: SpartanSwap‌

SpartanSwap is just a placeholder for now, but it is a separate project with the intention of building an alternative frontend for users to interact with the Spartan Protocol pools. With a focus on swap functionality to start with and longer-term plans to iterate towards becoming a swap aggregator for BNBChain and potentially multi-chain after that

SpartanSwap Contracts

change to solidity 0.8.16

  • changed to solidity 0.8.16 & updated some cases throughout

add permission and fix getTVLUnbounded

  • added permissions to the setter functions
  • fixed the getTVLUnbounded getPoolAssets instead of getTokenAssets

Utils contract completed

  • The Utils contract is now completed and plugged into the community DApp + API and being used in prod

To Do:

SpartanSwap DApp

SpartanSwap Resources

‌Ecosystem Project: SpartanArena‌

SpartanArena is another separate project with a focus on creating subprojects that lean more towards 'gaming'. Some ideas in the works for the future may include an NFT looter game, lottery and a prediction/parimutuel game

SpartanArena Contracts

SpartanArena DApp

SpartanArena Resources

‌Ecosystem Project: SpartanToolkit

Spartan Toolkit is an ecosystem project spawned from the Spartan Protocol community aiming to improve tooling for projects and users within the BNBChain ecosystem including Beacon, Smart & BAS chains.

BepTools Fork

Legacy BepTools Repo: https://gitlab.com/canyacoin/binancechain/beptools (will request a PR and/or mirror to GitHub)

SpartanToolkit contributors have forked and updated/fixed wallet connections etc on the BepTools DApp to give BinanceChain / BeaconChain / BEP2 users a way to freeze/unfreeze & batch send BEP2 tokens on BNB Beacon Chain

Web3BNB Library

A React library with the intention of providing builders with a plug-and-play solution for any web3 wallet compatible with BNB ecosystem chains (Beacon, Smart, BAS etc)

BNB Beacon Chain Toolkit DApp

A tooling user interface for users + projects on BNB Beacon Chain. Batch-send, freeze/unfreeze, deploy BEP2 token etc without touching the command line!

BNB Smart Chain Toolkit DApp

Tooling and informational user interface for users + projects on BNB Smart Chain‌


Community Links


Spartan Protocol and its extended ecosystem is a 100% open-source community movement. Being an open org, everything is built, run and maintained by the community. If you would like to contribute or learn more, reach out in the community channels!‌

19 people liked this article