BUIDL-Weekly: 07NOV22- 13NOV22
Welcome to another weekly wrap-up, Spartans! Thanks to all the community contributors and friends who helped Buidl, promote and support during the week! Read on for the update
Community Mentions
CoinMarketLeague
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
GitHub Repo: https://github.com/spartan-protocol/SpartanProtocol-DAppV2
Front-end: https://dapp.spartanprotocol.org/
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
convert pool related actions to ssutils
- 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 ofreserve.globalDetails
to their newsparta.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 ssutilsgetReserveHoldings()
function saving a bunch of RPC calls + also removing its dependency oncuratedPools
&&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
GitHub Repo: https://github.com/spartan-protocol/spartan-site
Front-end: https://spartanprotocol.org/
General
- 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
GitHub Repo: https://github.com/spartan-protocol/spartan-api
Front-end: https://api.spartanprotocol.org/api/v1/pools
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
GitHub Repo: https://github.com/spartan-protocol/spartan-subgraph
Front-end: https://thegraph.com/hosted-service/subgraph/spartan-protocol/pool-factory
Protocol Contracts V3
GitHub Repo: https://github.com/spartan-protocol/spartan-contracts
To do:
- Create an optional V3 token contract
- Create a controller contract
- Create a BEP20 pool/LP token contract design
Protocol Resources
GitHub Repo: https://github.com/spartan-protocol/resources
Protocol Docs
GitHub Repo: https://github.com/spartan-protocol/spartan-docs
Frontend: https://docs.spartanprotocol.org/
To do:
- Future | Consider migration to Docusaurus
- Add whitelisting resources guide
- Intro Section | Convert dot points into an ‘open org’ section
- Contribute Section
Protocol Contracts V1 — V2
GitHub Repo: https://github.com/spartan-protocol/spartanswap-contracts
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
GitHub Repo: https://github.com/Spartan-Swap/SpartanSwapContracts
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 ofgetTokenAssets
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
GitHub Repo: https://github.com/Spartan-Swap/SpartanSwapDApp
SpartanSwap Resources
GitHub Repo: https://github.com/Spartan-Swap/SpartanSwapResources
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
GitHub Repo: https://github.com/SpartanArena/SpartanArenaContracts
SpartanArena DApp
GitHub Repo: https://github.com/SpartanArena/SpartanArenaDApp
SpartanArena Resources
GitHub Repo: https://github.com/SpartanArena/SpartanArenaResources
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
GitHub Repo: https://github.com/Spartan-Toolkit/beptools
Legacy BepTools Repo: https://gitlab.com/canyacoin/binancechain/beptools (will request a PR and/or mirror to GitHub)
Temp Frontend: https://beptools.netlify.app/
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
GitHub Repo: https://github.com/Spartan-Toolkit/web3-bnb
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
GitHub Repo: https://github.com/Spartan-Toolkit/beacon-chain-tools-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
GitHub Repo: https://github.com/Spartan-Toolkit/beacon-chain-tools-dapp
Tooling and informational user interface for users + projects on BNB Smart Chain
ProtocolInformation
- Website: https://SpartanProtocol.org/
- DApp: https://DApp.SpartanProtocol.org/
- Documentation: https://Docs.SpartanProtocol.org/
- GitHub: https://GitHub.com/spartan-protocol
Community Links
- Twitter: https://twitter.com/spartanprotocol
- Telegram Community: https://t.me/spartanprotocolorg
- Telegram Announcements: https://t.me/spartanprotocolann
ProjectCommunity
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!