A Cross-Chain Protocol with Security Scoring and Decentralized Reimbursements for Building Secure dApps.
Address._verifyCallResult(bool,bytes,string) (#768-789) uses assembly
- INLINE ASM (#781-784)
Address.isContract(address) (#572-583) uses assembly
- INLINE ASM (#579-581)
Do not use evm assembly.
Additional information: link
Redundant expression "this (#123)" inContext (#113-126)
Remove redundant statements if they congest code but offer no value.
Additional information: link
mint(string,address,uint256) should be declared external:
- BEP20Token.mint(string,address,uint256) (#1333-1354)
increaseAllowance(address,uint256) should be declared external:
- BEP20Token.increaseAllowance(address,uint256) (#1284-1294)
revokeOperator(address) should be declared external:
- BEP20Token.revokeOperator(address) (#1094-1097)
getRoleMemberCount(bytes32) should be declared external:
- AccessControl.getRoleMemberCount(bytes32) (#890-892)
burn(uint256,string) should be declared external:
- BEP20Token.burn(uint256,string) (#1364-1383)
decreaseAllowance(address,uint256) should be declared external:
- BEP20Token.decreaseAllowance(address,uint256) (#1310-1323)
getRoleMember(bytes32,uint256) should be declared external:
- AccessControl.getRoleMember(bytes32,uint256) (#906-912)
renounceRole(bytes32,address) should be declared external:
- AccessControl.renounceRole(bytes32,address) (#975-982)
addOperator(address,uint256) should be declared external:
- BEP20Token.addOperator(address,uint256) (#1085-1092)
getRoleAdmin(bytes32) should be declared external:
- AccessControl.getRoleAdmin(bytes32) (#920-922)
Use the external attribute for functions never called from the contract.
Additional information: link
SafeMath.mul(uint256,uint256) (#200-212) is never used and should be removed
AccessControl._setRoleAdmin(bytes32,bytes32) (#1009-1012) is never used and should be removed
Address.sendValue(address,uint256) (#601-610) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#662-674) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#510-512) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#756-766) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#738-748) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#517-523) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#279-286) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#682-697) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#240-251) is never used and should be removed
Context._msgData() (#122-125) is never used and should be removed
Address.functionStaticCall(address,bytes) (#705-712) is never used and should be removed
SafeMath.mod(uint256,uint256) (#264-266) is never used and should be removed
SafeMath.div(uint256,uint256) (#225-227) is never used and should be removed
Address._verifyCallResult(bool,bytes,string) (#768-789) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#528-530) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#542-548) is never used and should be removed
Address.isContract(address) (#572-583) is never used and should be removed
Address.functionCall(address,bytes,string) (#643-649) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#720-730) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#500-502) is never used and should be removed
Address.functionCall(address,bytes) (#630-635) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address.functionStaticCall(address,bytes,string) (#720-730):
- (success,returndata) = target.staticcall(data) (#728)
Low level call in Address.functionDelegateCall(address,bytes,string) (#756-766):
- (success,returndata) = target.delegatecall(data) (#764)
Low level call in Address.sendValue(address,uint256) (#601-610):
- (success) = recipient.call{value: amount}() (#605)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#682-697):
- (success,returndata) = target.call{value: value}(data) (#695)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Unable to find audit link on the website
Token is not listed at Mobula.Finance
Additional information: link
Twitter account link seems to be invalid