BiLira is a stable cryptocurrency that is backed by the Turkish Lira. This means that you can always buy and redeem 1 BiLira for ₺1.00 Turkish Lira.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Modifier AdminUpgradeabilityProxy.ifAdmin() (#341-347) does not always execute _; or revert
All the paths in a modifier must execute _ or revert.
Additional information: link
Address.isContract(address) (#24-33) uses assembly
- INLINE ASM (#31)
Address._functionCallWithValue(address,bytes,uint256,string) (#117-138) uses assembly
- INLINE ASM (#130-133)
Proxy._delegate(address) (#175-205) uses assembly
- INLINE ASM (#176-204)
UpgradeabilityProxy._implementation() (#271-276) uses assembly
- INLINE ASM (#273-275)
UpgradeabilityProxy._setImplementation(address) (#291-302) uses assembly
- INLINE ASM (#299-301)
AdminUpgradeabilityProxy._admin() (#426-432) uses assembly
- INLINE ASM (#429-431)
AdminUpgradeabilityProxy._setAdmin(address) (#438-444) uses assembly
- INLINE ASM (#441-443)
Do not use evm assembly.
Additional information: link
Different versions of Solidity is used:
- Version used: ['0.6.12', '^0.6.2']
- ^0.6.2 (#1)
- 0.6.12 (#144)
- 0.6.12 (#226)
- 0.6.12 (#309)
- 0.6.12 (#484)
Use one Solidity version.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#117-138) is never used and should be removed
Address.functionCall(address,bytes) (#77-79) is never used and should be removed
Address.functionCall(address,bytes,string) (#87-89) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#102-104) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#112-115) is never used and should be removed
Address.sendValue(address,uint256) (#51-57) is never used and should be removed
Proxy._implementation() (#167) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.6.2 (#1) allows old versions
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
Low level call in Address.sendValue(address,uint256) (#51-57):
- (success) = recipient.call{value: amount}() (#55)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#117-138):
- (success,returndata) = target.call{value: weiValue}(data) (#121)
Low level call in AdminUpgradeabilityProxy.upgradeToAndCall(address,bytes) (#410-421):
- (success) = address(this).call{value: msg.value}(data) (#418)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Contract ownership is semi-renounced (passed to a contract)
Young tokens have high risks of price dump / death
Telegram account link seems to be invalid
Unable to find Discord account