Spartan Protocol Token V2 Token Logo

SPARTA [Spartan Protocol V2] Token

About SPARTA

Listings

Token 2 years
CoinMarketCap 3 years
[CoinMarketCap] alert: Spartan has undergone a 1:1 contract swap to 0x3910db0600ea925f63c36ddb1351ab6e2c6eb102
white paper

Spartan Protocol provides community-governed and programmable token emissions functions to incentivize the formation of deep liquidity pools. This strong base of liquidity will be utilized to provide asset swaps, synthetic token generation, lending, derivatives and more.

Laser Scorebeta Last Audit: 17 January 2022

report
Token seems to be (relatively) fine. It still become a scam, but probability is moderate.

Anti-Scam

Links


Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)

Sparta.changeDAO(address) (Sparta.sol#188-191) should emit an event for:
- DAO = newDAO (Sparta.sol#190)
Emit an event for critical parameter changes.

Additional information: link

Parameter Sparta.saveFallenSpartans(address,uint256)._savedSpartans (Sparta.sol#182) is not in mixedCase
Parameter Sparta.saveFallenSpartans(address,uint256)._saveAmount (Sparta.sol#182) is not in mixedCase
Function Sparta.UTILS() (Sparta.sol#243-245) is not in mixedCase
Function Sparta.RESERVE() (Sparta.sol#246-248) is not in mixedCase
Variable Sparta._100m (Sparta.sol#31) is not in mixedCase
Variable Sparta.DAO (Sparta.sol#37) is not in mixedCase
Variable Sparta.DEPLOYER (Sparta.sol#38) is not in mixedCase
Variable Sparta.BASEv1 (Sparta.sol#39) is not in mixedCase
Contract iBASE (iBASE.sol#4-11) is not in CapWords
Function iBASE.DAO() (iBASE.sol#5) is not in mixedCase
Contract iBASEv1 (iBASEv1.sol#3-6) is not in CapWords
Contract iBEP20 (iBEP20.sol#3-16) is not in CapWords
Contract iBEP677 (iBEP677.sol#4-8) is not in CapWords
Contract iDAO (iDAO.sol#3-14) is not in CapWords
Function iDAO.ROUTER() (iDAO.sol#4) is not in mixedCase
Function iDAO.BASE() (iDAO.sol#5) is not in mixedCase
Function iDAO.UTILS() (iDAO.sol#6) is not in mixedCase
Function iDAO.DAO() (iDAO.sol#7) is not in mixedCase
Function iDAO.RESERVE() (iDAO.sol#8) is not in mixedCase
Function iDAO.BOND() (iDAO.sol#9) is not in mixedCase
Function iDAO.SYNTHFACTORY() (iDAO.sol#10) is not in mixedCase
Function iDAO.POOLFACTORY() (iDAO.sol#11) is not in mixedCase
Contract iUTILS (iUTILS.sol#3-11) is not in CapWords
Follow the Solidity naming convention.

Additional information: link

Sparta.setParams(uint256,uint256) (Sparta.sol#178-181) should emit an event for:
- secondsPerEra = newTime (Sparta.sol#179)
- emissionCurve = newCurve (Sparta.sol#180)
Emit an event for critical parameter changes.

Additional information: link

Sparta.constructor(address)._baseV1 (Sparta.sol#51) lacks a zero-check on :
- BASEv1 = _baseV1 (Sparta.sol#55)
Check that the address is not zero.

Additional information: link

Reentrancy in Sparta.upgrade() (Sparta.sol#227-232):
External calls:
- require(bool)(iBASEv1(BASEv1).transferTo(address(this),amount)) (Sparta.sol#229)
- iBEP20(BASEv1).burn(amount) (Sparta.sol#230)
State variables written after the call(s):
- _mint(msg.sender,amount) (Sparta.sol#231)
- _balances[account] += amount (Sparta.sol#147)
- _mint(msg.sender,amount) (Sparta.sol#231)
- totalSupply += amount (Sparta.sol#145)
Apply the check-effects-interactions pattern.

Additional information: link

Reentrancy in Sparta.upgrade() (Sparta.sol#227-232):
External calls:
- require(bool)(iBASEv1(BASEv1).transferTo(address(this),amount)) (Sparta.sol#229)
- iBEP20(BASEv1).burn(amount) (Sparta.sol#230)
Event emitted after the call(s):
- Transfer(address(0),account,amount) (Sparta.sol#148)
- _mint(msg.sender,amount) (Sparta.sol#231)
Apply the check-effects-interactions pattern.

Additional information: link

Sparta._checkEmission() (Sparta.sol#203-214) uses timestamp for comparisons
Dangerous comparisons:
- (block.timestamp >= nextEraTime) && emitting (Sparta.sol#204)
Avoid relying on block.timestamp.

Additional information: link

Pragma version0.8.3 (Sparta.sol#3) allows old versions
Pragma version0.8.3 (iBASE.sol#2) allows old versions
Pragma version0.8.3 (iBASEv1.sol#2) allows old versions
Pragma version0.8.3 (iBEP20.sol#2) allows old versions
Pragma version0.8.3 (iBEP677.sol#2) allows old versions
Pragma version0.8.3 (iDAO.sol#2) allows old versions
Pragma version0.8.3 (iUTILS.sol#2) allows old versions
solc-0.8.3 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.

Additional information: link

balanceOf(address) should be declared external:
- Sparta.balanceOf(address) (Sparta.sol#62-64)
transfer(address,uint256) should be declared external:
- Sparta.transfer(address,uint256) (Sparta.sol#69-72)
approve(address,uint256) should be declared external:
- Sparta.approve(address,uint256) (Sparta.sol#74-77)
increaseAllowance(address,uint256) should be declared external:
- Sparta.increaseAllowance(address,uint256) (Sparta.sol#78-81)
decreaseAllowance(address,uint256) should be declared external:
- Sparta.decreaseAllowance(address,uint256) (Sparta.sol#82-87)
burn(uint256) should be declared external:
- Sparta.burn(uint256) (Sparta.sol#151-153)
burnFrom(address,uint256) should be declared external:
- Sparta.burnFrom(address,uint256) (Sparta.sol#154-158)
purgeDeployer() should be declared external:
- Sparta.purgeDeployer() (Sparta.sol#197-199)
Use the external attribute for functions never called from the contract.

Additional information: link

Holders:


Token is deployed only at one blockchain


Unable to find PancakeSwap trading pair to compute liquidity.


Unable to find PancakeSwap trading pair to compute number of swaps.


Last post in Twitter was more than 30 days ago


Unable to find Youtube account


Unable to find audit link on the website


Unable to find whitepaper link on the website


Young tokens have high risks of scam / price dump / death


Young tokens have high risks of price dump / death

Price for SPARTA

News for SPARTA