CodeArena Audit | Token Upgrade Continues

Summary

Most excitingly is the listing and commencement of count down for the Spartan Protocol contract audit with codeArena, a timely reminder that the crowdfunding drive is ongoing and in need of your support.

Have a fantastic week and thank you loyal Spartans!

CodeArena Audit — Begins 15th July 2021

This week continues to see donations for the audit continue to roll in. We still need your support, all donations help ensure the V2 Protocol contracts get a thorough review from many angles.

Now that the SpartanProtocol v2 contracts are complete, a crowdfunding drive has begun to help fund extensive auditing via a codeArena contest.

If you can donate, big or small, every contribution helps this community project achieve its full goal of $96k as soon as possible to ensure that Spartan Protocol is in a prime position to release the V2 contracts and DApp onto mainnet.

Donate Here:https://dapp.spartanprotocol.org/codearena

Donations for the Audit Continue to Come In =D the more the merrier

No problems; upgrade today

You can use the Spartan Protocol Upgrade DApp to upgrade your SPARTAv1 tokens to SPARTAv2 yourself.

Upgrade DApp https://dapp.spartanprotocol.org/upgrade

Bit-Rush Crypto has created a video guide on using the SpartanProtocol Upgrade DApp — timestamp 3:20. Nice work SPARTANS!!

Token Transition Progress

Only ~7% of SPARTA tokens left to upgrade to V2

feeBurn Update

Over 200K SPARTAv2 burnt out of the supply permanently via the feeBurn function! Crazy to already see more than 1.5% of the fallenSpartans amount burnt without the v2 liquidity pools up to throw fuel on the bonfire; awesome to see the new deflationary aspect of SPARTA out in the wild doing it’s intended task.

SpartanProtocol.org

docs.SpartanProtocol.org

This will be an ongoing focus for the wider community to contribute towards.

Spartan Socials — Twitter

Top Impressions:

Top Engagement:

Top Community Mention:

SpartanSocials — Medium

SpartanSocials — Telegram

Contributor’s Focus

Phase 1 — SPARTA V2 (Token) — Completed!

Phase 2 — Spartan Protocol V2 (Protocol) — In Progress

SPARTA V2 (Token)

  • ONGOING — Work with DEXs & aggregators to ensure the new SPARTA token address is added to their lists as the primary address for SPARTA (retiring the previous contract address) (1inch, PancakeSwap etc)
  • COMPLETED & ONGOING — Work with token-tracking informational websites to ensure new token info is added and verified (BSCscan, CoinGecko, CoinMarketCap etc)

SpartanContracts

  • BOOKED: 15/07/2021 — Put the contracts through a code review process on CodeArena.
  • COMPLETED & ONGOING — Continue the code review process within the community

DAppV2

  • COMPLETED — Create DAO hub for proposal management (This was extended to a complete DAO instead of simple-DAO)
  • COMPLETED — Test bond process from start to finish via UI (propose bond allocation, vote it in, finalise it, and then proceed to bond assets and test the weight from that in the DAOVault, and other proposals)
  • COMPLETED — Rip out all the old libraries and rebuild using one component library; refactor and cleanup style sheets as we go to reduce the overall project size ready for larger-scale community contribution on mainnet
  • COMPLETED— Add a calculable APY figure to the SynthVault
  • IN PROGRESS—Set up a reliable index of history scoped to contracts (use this for positions page etc)

Phase 3 — Deploy & Iterate (Dependent on CodeArena Completion)

  • Deploy Protocol V2 to Binance Smart Chain mainnet
  • Enable Bond allocations to replenish TVL into the V2 pools
  • Deploy Lending to testnet
  • March onwards with our original goals of building the decentralised, yield-generating, solo staking, leveraged synthetics and derivatives + lending protocol on Binance Smart Chain

GitHub Activity — SpartanContractsV2

contracts/BondVault.sol

  • Reduce require() returns to combat spurious dragons

contracts/Dao.sol

  • Reduce require() returns to combat spurious dragons
  • Remove unused variables from CancelProposal() event
  • Changed all public functions to external where they weren't called internally to reduce gas and combat spurious dragons

contracts/DaoVault.sol

contracts/Pool.sol

  • Reduce require() returns to combat spurious dragons
  • Changed all public functions to external where they weren’t called internally to reduce gas and combat spurious dragons
  • _addPoolMetrics — changed lastMonth to be set to block.timestamp

contracts/Reserve.sol

contracts/Router.sol

  • Changed all public functions to external where they weren’t called internally to reduce gas and combat spurious dragons
  • revenueDetails— changed lastMonth to be set to block.timestamp

contracts/Synth.sol

  • Reduce require() returns to combat spurious dragons
  • Changed all public functions to external where they weren’t called internally to reduce gas and combat spurious dragons
  • constructor — inherit decimals from the synth’s layer1 token (future-proofing)

contracts/Utils.sol

  • Reduce require() returns to combat spurious dragons

contracts/poolFactory.sol

  • Reduce require() returns to combat spurious dragons
  • Changed all public functions to external where they weren’t called internally to reduce gas and combat spurious dragons

contracts/synthFactory.sol

  • Reduce require() returns to combat spurious dragons
  • Changed all public functions to external where they weren’t called internally to reduce gas and combat spurious dragons

contracts/synthVault.sol

  • Reduce require() returns to combat spurious dragons
  • Remove blockDelay variable + all refs
  • setParams() — shift four -> three due to blockDelay removal
  • _addVaultMetrics() — changed lastMonth to be set to block.timestamp

test/CheckPreMainnet.md

GitHub Activity — SpartanDAppV2

.github/workflows/*

package.json

  • “react-bootstrap” — upgraded from “1.4.3” -> “2.0.0-beta.0”
  • “bootstrap-icons” — removed
  • “chart.js” — removed
  • “classnames” — removed
  • “match-sorter” — removed
  • “mdb-react-ui-kit” — removed
  • “moment” — removed
  • “nouislider” — removed
  • “react-big-calendar” — removed
  • “react-bootstrap-sweetalert” — removed
  • “react-bootstrap-wizard” — removed
  • “react-chartjs-2” — removed
  • “react-datetime” — removed
  • “react-jvectormap” — removed
  • “react-notification-alert” — removed
  • “react-select” — removed
  • “react-table” — removed
  • “reactstrap” — removed

*.scss

  • Created new base styles for all used bootstrap components; will need to be iterated towards what we want ongoing
  • Created a base style for .white-content for each component too to handle being in light-mode theme

*.svg

  • Edited all used .svgs to make them compatible with React as an object to hand variables to (height, fill, stroke etc)

src/components/Approval/Approval.js

  • Converted icons to use custom <Icon / > component

src/components/AssetSelect/AssetSelect.js

  • Convert mdb -> react-bootstrap
  • Converted icons to use custom <Icon / > component

src/components/Common/AddressConn.js

  • Converted icons to ReactComponents

src/components/Common/LanguageDropdown.js

  • Changed Polskie -> Polski

src/components/Common/ThemeSwitcher.js

  • Converted icons to use custom <Icon / > component

src/components/Common/WrongNetwork.js

src/components/Footer/Footer.js

  • Converted icons to use custom <Icon / > component

src/components/Header/Header.js

  • Converted icons to use custom <Icon / > component
  • Cleaned up the header structure & added new custom Sidebar

src/components/Icons/icons.js

  • Converted this into a custom Icon component for handling our custom SVGs and dynamic properties (colour, size etc)

src/components/Notifications/Notifications.js

src/components/RecentTxns/RecentTxns.js

src/components/Share/SharePool.js

  • Converted icons to use custom <Icon / > component

src/components/Sidebar/Sidebar.js

  • Completely rebuilt the sidebar using Bootstrap Offcanvas + useState
  • Much more lightweight without overlapping behaviours from different screen sizes etc; we can add in a compact static sidebar for bigger screen sizes if we like; for now its a simple ‘click-to-open’
  • Ready for the style contributors to make it pretty!

src/components/Supply/Supply.js

  • Converted icons to use custom <Icon / > component

src/components/Tooltip/tooltip.js

  • Created a custom Tooltip component for easier management of tooltips/simple popovers; ready for the style contributors to make it pretty

src/components/WalletSelect/WalletSelect.js

  • Split WalletSelect into some subcomponents to make it more manageable; ‘Assets’, ‘LPs’ & ‘Synths’
  • Added ‘ranks’ for some gamification fun
  • For the ranks; a total value of SPARTA needed to be calculated based on users SPARTA value held, staked, bonded etc

src/components/WalletSelect/Assets.js

src/components/WalletSelect/LPs.js

src/components/WalletSelect/Synths.js

src/components/WalletSelect/walletTypes.js

src/components/layout/Common.js

src/locales/en/translation.json

  • Fixed some broken translations and some broken IDs
  • Translator contributors; this is now ready for you to build off

src/routes.js

src/utils/web3.js

src/store/synth/actions.js

src/views/pages/Bond/Bond.js

src/views/pages/Bond/BondItem.js

  • Converted icons to use custom <Icon / > component

src/views/pages/CodeArena/Overview.js

  • Converted icons to use custom <Icon / > component

src/views/pages/Dao/NewProposal.js

  • Converted icons to use custom <Icon / > component
  • Fix default-selected proposal type bug
  • Added check for existing ‘open’ proposal; if true it wont let you make a new proposal (gas saver / UX)
  • Injected new translation IDs

src/views/pages/Dao/Overview.js

  • Injected new translation IDs

src/views/pages/Dao/ProposalItem.js

  • Injected new translation IDs

src/views/pages/Dao/components/AssetSelect.js

src/views/pages/Home/NewPool.js

  • Convert MDB -> react-bootstrap
  • Converted icons to use custom <Icon / > component

src/views/pages/Home/Overview.js

src/views/pages/Home/PoolItem.js

  • Converted icons to use custom <Icon / > component
  • Converted tooltips to use custom <Tooltip / > component

src/views/pages/PU/EmptyPools.js

  • Converted icons to use custom <Icon / > component

src/views/pages/PU/Overview.js

src/views/pages/Pools/LiqAdd.js

  • Convert reactstrap -> react-bootstrap
  • Added MAX button

src/views/pages/Pools/LiqBond.js

  • Added MAX button

src/views/pages/Pools/LiqRemove.js

  • Added MAX button

src/views/pages/Pools/Overview.js

src/views/pages/Swap/Swap.js

  • Converted icons to use custom <Icon / > component
  • Added MAX button

src/views/pages/Swap/SwapPair.js

  • Converted icons to use custom <Icon / > component
  • Converted tooltips to use custom <Tooltip / > component

src/views/pages/Synths/NewSynth.js

  • Converted icons to use custom <Icon / > component

src/views/pages/Synths/Overview.js

  • Converted icons to use custom <Icon / > component
  • Added MAX button

src/views/pages/Synths/components/AssetSelect.js

src/views/pages/Upgrade/Overview.js

src/views/pages/Upgrade/Upgrade.js

  • Converted icons to use custom <Icon / > component

src/views/pages/Vault/Components/DaoDepositModal.js

  • Converted icons to use custom <Icon / > component

src/views/pages/Vault/Components/SynthDepositModal.js

  • Converted icons to use custom <Icon / > component

src/views/pages/Vault/DaoVault.js

  • Convert reactstrap -> react-bootstrap
  • Converted icons to use custom <Icon / > component
  • Added check for if incentives are disabled; show different button stating so if true

src/views/pages/Vault/Overview.js

src/views/pages/Vault/SynthVault.js

  • Convert reactstrap -> react-bootstrap
  • Added check for if incentives are disabled; show different button stating so if true

src/views/pages/Vault/SynthVaultItem.js

  • Convert reactstrap -> react-bootstrap
  • Converted icons to use custom <Icon / > component
  • Converted tooltips to use custom <Tooltip / > component
  • Added APY functionality

GitHub Activity — SpartanSite

.html

Project Information

Official Links

Community Contribution

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

Community Bounty Wallet

0x588f82a66eE31E59B88114836D11e3d00b3A7916

Incentivized liquidity and synthetic asset generation for Binance Smart Chain. https://SpartanProtocol.org