Public Oracle on BSC
Due to the nature of blockchain systems, they are not able to access real world data. Bridge oracle system is a technology through which external data can be injected.
Bridge.transferAnyBEP20(address,address,uint256) (Bridge.sol#56-58) ignores return value by IBEP20(_tokenAddress).transfer(_to,_amount) (Bridge.sol#57)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
BasicToken.balanceOf(address)._owner (BasicToken.sol#65) shadows:
- Ownable._owner (Ownable.sol#6) (state variable)
BasicToken.availableBalance(address)._owner (BasicToken.sol#69) shadows:
- Ownable._owner (Ownable.sol#6) (state variable)
BasicToken.frozenOf(address)._owner (BasicToken.sol#73) shadows:
- Ownable._owner (Ownable.sol#6) (state variable)
StandardToken._approve(address,address,uint256)._owner (StandardToken.sol#24) shadows:
- Ownable._owner (Ownable.sol#6) (state variable)
StandardToken.allowance(address,address)._owner (StandardToken.sol#36) shadows:
- Ownable._owner (Ownable.sol#6) (state variable)
Rename the local variables that shadow another component.
Additional information: link
SmartToken.isContract(address) (SmartToken.sol#32-36) uses assembly
- INLINE ASM (SmartToken.sol#34)
Do not use evm assembly.
Additional information: link
SafeMath.mul(uint256,uint256) (BasicToken.sol#20-27) is never used and should be removed
SafeMath.div(uint256,uint256) (BasicToken.sol#29-33) is never used and should be removed
Remove unused functions.
Additional information: link
solc-0.8.8 is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
Pragma version0.8.8 (SmartToken.sol#2) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
Pragma version0.8.8 (Ownable.sol#2) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
Pragma version0.8.8 (BasicToken.sol#2) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
Pragma version0.8.8 (Bridge.sol#2) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
Pragma version0.8.8 (StandardToken.sol#2) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
Pragma version0.8.8 (Pauseable.sol#2) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
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
Parameter StandardToken.allowance(address,address)._spender (StandardToken.sol#36) is not in mixedCase
Parameter BasicToken.availableBalance(address)._owner (BasicToken.sol#69) is not in mixedCase
Parameter StandardToken.allowance(address,address)._owner (StandardToken.sol#36) is not in mixedCase
Parameter BasicToken.frozenOf(address)._owner (BasicToken.sol#73) is not in mixedCase
Parameter Bridge.transferAnyBEP20(address,address,uint256)._to (Bridge.sol#56) is not in mixedCase
Parameter Bridge.transferAnyBEP20(address,address,uint256)._amount (Bridge.sol#56) is not in mixedCase
Variable BasicToken.Frozen (BasicToken.sol#47) is not in mixedCase
Parameter SmartToken.contractFallback(address,uint256,bytes)._to (SmartToken.sol#27) is not in mixedCase
Parameter SmartToken.transferAndCall(address,uint256,bytes)._to (SmartToken.sol#18) is not in mixedCase
Parameter SmartToken.transferAndCall(address,uint256,bytes)._data (SmartToken.sol#18) is not in mixedCase
Parameter SmartToken.transferAndCall(address,uint256,bytes)._value (SmartToken.sol#18) is not in mixedCase
Variable BasicToken._balances (BasicToken.sol#49) is not in mixedCase
Parameter BasicToken.balanceOf(address)._owner (BasicToken.sol#65) is not in mixedCase
Parameter SmartToken.isContract(address)._addr (SmartToken.sol#32) is not in mixedCase
Parameter Bridge.transferAnyBEP20(address,address,uint256)._tokenAddress (Bridge.sol#56) is not in mixedCase
Parameter SmartToken.contractFallback(address,uint256,bytes)._data (SmartToken.sol#27) is not in mixedCase
Parameter Ownable.transferOwnership(address)._newOwner (Ownable.sol#21) is not in mixedCase
Parameter SmartToken.contractFallback(address,uint256,bytes)._value (SmartToken.sol#27) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Bridge.constructor() (Bridge.sol#12-17) uses literals with too many digits:
- mint(msg.sender,10000000000e18) (Bridge.sol#16)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
frozenOf(address) should be declared external:
- BasicToken.frozenOf(address) (BasicToken.sol#73-75)
name() should be declared external:
- Bridge.name() (Bridge.sol#19-21)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (Ownable.sol#27-30)
symbol() should be declared external:
- Bridge.symbol() (Bridge.sol#23-25)
burn(uint256) should be declared external:
- StandardToken.burn(uint256) (StandardToken.sol#63-69)
transferFrom(address,address,uint256) should be declared external:
- IBEP20.transferFrom(address,address,uint256) (StandardToken.sol#10)
- StandardToken.transferFrom(address,address,uint256) (StandardToken.sol#29-34)
melt(address,uint256) should be declared external:
- Bridge.melt(address,uint256) (Bridge.sol#45-48)
decreaseAllowance(address,uint256) should be declared external:
- StandardToken.decreaseAllowance(address,uint256) (StandardToken.sol#45-54)
approve(address,uint256) should be declared external:
- IBEP20.approve(address,uint256) (StandardToken.sol#9)
- StandardToken.approve(address,uint256) (StandardToken.sol#19-22)
halt() should be declared external:
- Pauseable.halt() (Pauseable.sol#28-31)
owner() should be declared external:
- Ownable.owner() (Ownable.sol#32-34)
transfer(address,uint256) should be declared external:
- BEP20Basic.transfer(address,uint256) (BasicToken.sol#39)
- BasicToken.transfer(address,uint256) (BasicToken.sol#51-54)
decimals() should be declared external:
- Bridge.decimals() (Bridge.sol#27-29)
start() should be declared external:
- Pauseable.start() (Pauseable.sol#33-36)
allowance(address,address) should be declared external:
- IBEP20.allowance(address,address) (StandardToken.sol#8)
- StandardToken.allowance(address,address) (StandardToken.sol#36-38)
increaseAllowance(address,uint256) should be declared external:
- StandardToken.increaseAllowance(address,uint256) (StandardToken.sol#40-43)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (Ownable.sol#21-25)
transferAnyBEP20(address,address,uint256) should be declared external:
- Bridge.transferAnyBEP20(address,address,uint256) (Bridge.sol#56-58)
availableBalance(address) should be declared external:
- BasicToken.availableBalance(address) (BasicToken.sol#69-71)
freeze(address,uint256) should be declared external:
- Bridge.freeze(address,uint256) (Bridge.sol#34-37)
paused() should be declared external:
- Pauseable.paused() (Pauseable.sol#24-26)
balanceOf(address) should be declared external:
- BEP20Basic.balanceOf(address) (BasicToken.sol#38)
- BasicToken.balanceOf(address) (BasicToken.sol#65-67)
onTokenTransfer(address,uint256,bytes) should be declared external:
- BEP677Receiver.onTokenTransfer(address,uint256,bytes) (SmartToken.sol#13)
withdrawBNB() should be declared external:
- Bridge.withdrawBNB() (Bridge.sol#60-63)
transferAndCall(address,uint256,bytes) should be declared external:
- IBEP677.transferAndCall(address,uint256,bytes) (SmartToken.sol#8)
- SmartToken.transferAndCall(address,uint256,bytes) (SmartToken.sol#18-25)
Use the external attribute for functions never called from the contract.
Additional information: link
Twitter account link seems to be invalid