ShibDOSH is the pilot project of the Return of Shiba ecosystem. It is a next generation rebase protocol that combines the best of three worlds: crypto, fiat, and precious metals. For the first time, ShibDOSH's True Wealth Generation Engine has made possible for investors to stake one coin but get returns in three different streams: native token, dollars, and gold.
Limited Sale Information
A limited sale for SNIFF token will run from 15-Jun-2022 18:00 UTC to 18-Jun-2022 18:00 UTC.
SNIFF is the precursor token that will be swapped 1:1 with BONE after limited sale finishes.
ERC20Permit.constructor(string).name (contracts/types/ERC20Permit.sol#35) shadows:
- ERC20.name() (contracts/types/ERC20.sol#37-39) (function)
Rename the local variables that shadow another component.
Additional information: link
Variable 'ECDSA.tryRecover(bytes32,bytes).r (contracts/cryptography/ECDSA.sol#59)' in ECDSA.tryRecover(bytes32,bytes) (contracts/cryptography/ECDSA.sol#54-83) potentially used before declaration: r = mload(uint256)(signature + 0x20) (contracts/cryptography/ECDSA.sol#76)
Move all variable declarations prior to any usage of the variable, and ensure that reaching a variable declaration does not depend on some conditional if it is used unconditionally.
Additional information: link
ERC20Permit.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (contracts/types/ERC20Permit.sol#40-59) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= deadline,ERC20Permit: expired deadline) (contracts/types/ERC20Permit.sol#49)
Avoid relying on block.timestamp.
Additional information: link
ECDSA.tryRecover(bytes32,bytes) (contracts/cryptography/ECDSA.sol#54-83) uses assembly
- INLINE ASM (contracts/cryptography/ECDSA.sol#64-68)
- INLINE ASM (contracts/cryptography/ECDSA.sol#75-78)
ECDSA.tryRecover(bytes32,bytes32,bytes32) (contracts/cryptography/ECDSA.sol#112-124) uses assembly
- INLINE ASM (contracts/cryptography/ECDSA.sol#119-122)
EIP712.constructor(string,string) (contracts/cryptography/EIP712.sol#51-67) uses assembly
- INLINE ASM (contracts/cryptography/EIP712.sol#53-55)
EIP712._domainSeparatorV4() (contracts/cryptography/EIP712.sol#72-83) uses assembly
- INLINE ASM (contracts/cryptography/EIP712.sol#74-76)
EIP712._buildDomainSeparator(bytes32,bytes32,bytes32) (contracts/cryptography/EIP712.sol#85-96) uses assembly
- INLINE ASM (contracts/cryptography/EIP712.sol#91-93)
Do not use evm assembly.
Additional information: link
Different versions of Solidity is used:
- Version used: ['>=0.7.5', '^0.7.5']
- ^0.7.5 (contracts/ShibDoshERC20.sol#3)
- ^0.7.5 (contracts/cryptography/ECDSA.sol#3)
- ^0.7.5 (contracts/cryptography/EIP712.sol#3)
- >=0.7.5 (contracts/interfaces/IBONE.sol#2)
- >=0.7.5 (contracts/interfaces/IERC20.sol#2)
- >=0.7.5 (contracts/interfaces/IERC20Permit.sol#2)
- >=0.7.5 (contracts/interfaces/IShibDoshAuthority.sol#2)
- ^0.7.5 (contracts/libraries/Counters.sol#2)
- ^0.7.5 (contracts/libraries/SafeMath.sol#2)
- >=0.7.5 (contracts/types/ERC20.sol#3)
- >=0.7.5 (contracts/types/ERC20Permit.sol#3)
- >=0.7.5 (contracts/types/ShibDoshAccessControlled.sol#3)
Use one Solidity version.
Additional information: link
Counters.decrement(Counters.Counter) (contracts/libraries/Counters.sol#25-27) is never used and should be removed
ECDSA.recover(bytes32,bytes) (contracts/cryptography/ECDSA.sol#99-103) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (contracts/cryptography/ECDSA.sol#131-139) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes32) (contracts/cryptography/ECDSA.sol#201-205) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes) (contracts/cryptography/ECDSA.sol#54-83) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (contracts/cryptography/ECDSA.sol#112-124) is never used and should be removed
SafeMath.div(uint256,uint256) (contracts/libraries/SafeMath.sol#39-41) is never used and should be removed
SafeMath.div(uint256,uint256,string) (contracts/libraries/SafeMath.sol#43-53) is never used and should be removed
SafeMath.mul(uint256,uint256) (contracts/libraries/SafeMath.sol#28-37) is never used and should be removed
SafeMath.sqrrt(uint256) (contracts/libraries/SafeMath.sol#56-67) is never used and should be removed
Remove unused functions.
Additional information: link
Variable EIP712._CACHED_DOMAIN_SEPARATOR (contracts/cryptography/EIP712.sol#30) is not in mixedCase
Variable EIP712._CACHED_CHAIN_ID (contracts/cryptography/EIP712.sol#31) is not in mixedCase
Variable EIP712._HASHED_NAME (contracts/cryptography/EIP712.sol#33) is not in mixedCase
Variable EIP712._HASHED_VERSION (contracts/cryptography/EIP712.sol#34) is not in mixedCase
Variable EIP712._TYPE_HASH (contracts/cryptography/EIP712.sol#35) is not in mixedCase
Function IERC20Permit.DOMAIN_SEPARATOR() (contracts/interfaces/IERC20Permit.sol#57) is not in mixedCase
Variable ERC20._balances (contracts/types/ERC20.sol#15) is not in mixedCase
Variable ERC20._allowances (contracts/types/ERC20.sol#17) is not in mixedCase
Variable ERC20._totalSupply (contracts/types/ERC20.sol#19) is not in mixedCase
Variable ERC20._name (contracts/types/ERC20.sol#21) is not in mixedCase
Variable ERC20._symbol (contracts/types/ERC20.sol#23) is not in mixedCase
Variable ERC20._decimals (contracts/types/ERC20.sol#25) is not in mixedCase
Function ERC20Permit.DOMAIN_SEPARATOR() (contracts/types/ERC20Permit.sol#72-74) is not in mixedCase
Variable ERC20Permit._PERMIT_TYPEHASH (contracts/types/ERC20Permit.sol#27-28) is not in mixedCase
Parameter ShibDoshAccessControlled.setAuthority(IShibDoshAuthority)._newAuthority (contracts/types/ShibDoshAccessControlled.sol#49) is not in mixedCase
Variable ShibDoshAccessControlled.UNAUTHORIZED (contracts/types/ShibDoshAccessControlled.sol#12) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
ERC20.ERC20TOKEN_ERC1820_INTERFACE_ID (contracts/types/ERC20.sol#13) is never used in ShibDoshERC20Token (contracts/ShibDoshERC20.sol#14-44)
Remove unused state variables.
Additional information: link
ShibDoshAccessControlled.UNAUTHORIZED (contracts/types/ShibDoshAccessControlled.sol#12) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
name() should be declared external:
- ERC20.name() (contracts/types/ERC20.sol#37-39)
symbol() should be declared external:
- ERC20.symbol() (contracts/types/ERC20.sol#41-43)
decimals() should be declared external:
- ERC20.decimals() (contracts/types/ERC20.sol#45-47)
totalSupply() should be declared external:
- ERC20.totalSupply() (contracts/types/ERC20.sol#49-51)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (contracts/types/ERC20.sol#53-55)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (contracts/types/ERC20.sol#57-60)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (contracts/types/ERC20.sol#66-69)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (contracts/types/ERC20.sol#71-83)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (contracts/types/ERC20.sol#85-88)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (contracts/types/ERC20.sol#90-97)
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) should be declared external:
- ERC20Permit.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (contracts/types/ERC20Permit.sol#40-59)
nonces(address) should be declared external:
- ERC20Permit.nonces(address) (contracts/types/ERC20Permit.sol#64-66)
Use the external attribute for functions never called from the contract.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find whitepaper link on the website
Unable to find token on CoinGecko
Additional information: link
Unable to find token on CoinMarketCap
Additional information: link
Token is not listed at Mobula.Finance
Additional information: link
Unable to find code repository for the project
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Unable to find Youtube account
Twitter account has few posts