Published in


Vault Incentives & Dao Proposals

Spartan Protocol — Mainnet Release Blog

Wednesday feeBurn Update

Spartan Socials — Twitter

Tweet of the Week:

Community Tweet of the Week:

SpartanSocials — Medium

SpartanSocials — Telegram

Contributor’s Focus

CodeArena Contest (Pre-Mainnet)

SPARTA V2 (Token) (Pre-Mainnet)

SpartanContracts (Pre-Mainnet)

DAppV2 (Pre-Mainnet)

Looking Onwards (Post-Mainnet)

GitHub Activity — Spartan Contracts v2

GitHub Activity — Spartan DApp v2

Global Changes

  1. Added rounded-circle class to all token icons to remove the dreaded USDT logo's background issue (and any future token logos with a non-transparent bg)
  2. Changed USDT logo to custom USD logo throughout
  3. Added custom USD logo for Col alignments wherever SPARTA logo is used in a component above or below
  4. Removed/updated any hardcoded checks for mainnet/testnet to include mainnet
  5. Added a bunch of translation injections throughout the DApp (still a few views left to check/update)


  1. Added validity checks & refactored out some logic from the JSX


  1. Made the AssetSelect button overflow: 'hidden' to stop the SPARTA selection pushing to a new line for a short period on load/change


  1. Added page reload for window.BinanceChain too, so the DApp reloads if a BinanceChainWallet user changes their account or selected chain inside their wallet extension (this was already the case for all other wallets that use window.ethereum, but BC wallet does not)


  1. Hand in chainId to getTokenDetails() now that mainnet is live


  1. Added custom USD logo
  2. Added USDC logo
  3. Added Ledger logo


  1. Fixed Twitter share title to ‘Spartan Protocol’


  1. Added TVL figure to supply dropdown for now
  2. Injected translations
  3. Added TVL tooltip
  4. Changed USDT logo to custom USD logo


  1. Added info tooltips:
  • Pool capped
  • Pool curated
  • Pool Inactive
  • Pool Normal


  1. Added redemption value of each LP parcel & made it default
  2. Added a switch-click function to switch it back to $USD value instead of redemption value if the user would like to see (can add a clear indicator/button for this later, for now, its a bonus hidden feature)


  1. Removed the loading state as it’s instant and can’t see a use for it
  2. Wrapped wallet.activate() in a setTimeout() because he was being a naughty boy (quite literally... weird issue with this for some users and giving it a timeout seems to fix it)
  3. Conditionally disable certain wallet selection buttons based on the window objects available:
  • WalletConnect will always be enabled as that doesn’t use a window object.
  • BinanceChainWallet will only be enabled if window.BinanceChain is detected
  • All other wallets will only be enabled if window.ethereum is detected


  1. Add in Ledger option (commented out, for now, awaiting testing)


  1. Updated Hindi translations


  1. Updated Dutch translations


  1. formatFromWei() will now dynamically go to a lower decimal if required
  2. formatFromUnits() will now dynamically go to a lower decimal if required


  1. Fixed convertTimeUnits() - wrap the incoming seconds variable in BN() to ensure its a BigNumber before the BN maths operations


  1. Fixed addLiqAsym() estimates (i believe this is still slightly out for one more edge case as outlined in a GitHub issue)


  1. Update the mainnet addresses & changed some old contract var names to ensure no conflicts come up
  2. Uncommented all testnet & mainnet RPCs to allow the dapp to cycle through and spread the love
  3. Added mainnet to tempChains
  4. Changed oneWeek to the mainnet value 604800
  5. Updated getTwAssetId with the missing c
  6. Bypass the API call in getTwTokenLogo() to bypass the CORS issue for some users (will need to be dealt with at some point)
  7. Fixed the broken edge-case parse logic for addLiqSingle


  1. Updated the progress bar label to dynamically be on whatever side is larger


  1. Temporarily hid the NewPool’s token info up the top (reliant on the API CORS issue being fixed)


  1. Only really relevant in the first 7 days of mainnet — added a ‘first load’ check to check how many established pools exist (after the pools object has finished loading) if there are 0; show the ‘NewPools’ tab by default


  1. Added pool cap liquidity progress bar (a visual indicator of how close the pool is to its cap)
  2. Updated the badges above the pool items & added tooltips + translation IDs (remove the text bloat above the pools and have it closer to the user’s eyes)
  3. Added token icons for all unit qtys to suit smaller screens better & align the Cols


  1. Removed the text bloat here and moved them to tooltips (see above)


  1. Added confirm message; if pool is inactive, cannot remove liquidity until it is active again


  1. Added loading checks & loading spinner


  1. Changed inactive pool check to only matter if the pool is curated to align it with the contracts behaviour


  1. Removed SPARTA logo to align the layout with other ‘pool info’ tiles in the DApp (like the home page)

Project Information

Official Links

Community Contribution

Binance Smart Chain testnet Faucet

Engage with the community and contributors



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store