PAID Network is a business toolkit for all your needs, encompassing SMART Agreements, escrow, reputation-scoring, dispute arbitration and resolution, as well as DeFi tools such as insurance, borrowing and lending. PAID aims to take the lawyers out of legal contracts, making simple, easy-to-use SMART Agreements available for users. Reputation-scoring tracks user behavior, while escrow and dispute arbitration/resolution ensure PAID users receive the value stipulated in their contract. DeFi tools work in concert with the aforementioned elements to provide a one-stop solution for conducting business transactions.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
UpgradeabilityProxy.constructor(address,bytes)._logic (#268) lacks a zero-check on :
- (success) = _logic.delegatecall(_data) (#272)
AdminUpgradeabilityProxy.upgradeToAndCall(address,bytes).newImplementation (#424) lacks a zero-check on :
- (success) = newImplementation.delegatecall(data) (#426)
Check that the address is not zero.
Additional information: link
Modifier AdminUpgradeabilityProxy.ifAdmin() (#373-379) does not always execute _; or revert
All the paths in a modifier must execute _ or revert.
Additional information: link
AdminUpgradeabilityProxy.constructor(address,address,bytes)._admin (#348) shadows:
- AdminUpgradeabilityProxy._admin() (#433-438) (function)
Rename the local variables that shadow another component.
Additional information: link
Proxy._delegate(address) (#42-61) uses assembly
- INLINE ASM (#43-60)
Address.isContract(address) (#106-115) uses assembly
- INLINE ASM (#113)
Address._verifyCallResult(bool,bytes,string) (#227-244) uses assembly
- INLINE ASM (#236-239)
UpgradeabilityProxy._implementation() (#294-299) uses assembly
- INLINE ASM (#296-298)
UpgradeabilityProxy._setImplementation(address) (#314-322) uses assembly
- INLINE ASM (#319-321)
AdminUpgradeabilityProxy._admin() (#433-438) uses assembly
- INLINE ASM (#435-437)
AdminUpgradeabilityProxy._setAdmin(address) (#444-450) uses assembly
- INLINE ASM (#447-449)
Do not use evm assembly.
Additional information: link
Different versions of Solidity is used:
- Version used: ['>=0.6.2<0.8.0', '^0.6.0']
- ^0.6.0 (#5)
- >=0.6.2<0.8.0 (#83)
- ^0.6.0 (#249)
- ^0.6.0 (#327)
Use one Solidity version.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#227-244) is never used and should be removed
Address.functionCall(address,bytes) (#159-161) is never used and should be removed
Address.functionCall(address,bytes,string) (#169-171) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#184-186) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#194-201) is never used and should be removed
Address.functionStaticCall(address,bytes) (#209-211) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#219-225) is never used and should be removed
Address.sendValue(address,uint256) (#133-139) is never used and should be removed
Proxy._implementation() (#34) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.6.0 (#5) allows old versions
Pragma version>=0.6.2<0.8.0 (#83) is too complex
Pragma version^0.6.0 (#249) allows old versions
Pragma version^0.6.0 (#327) allows old versions
solc-0.6.8 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
Low level call in Address.sendValue(address,uint256) (#133-139):
- (success) = recipient.call{value: amount}() (#137)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#194-201):
- (success,returndata) = target.call{value: value}(data) (#199)
Low level call in Address.functionStaticCall(address,bytes,string) (#219-225):
- (success,returndata) = target.staticcall(data) (#223)
Low level call in UpgradeabilityProxy.constructor(address,bytes) (#268-275):
- (success) = _logic.delegatecall(_data) (#272)
Low level call in AdminUpgradeabilityProxy.upgradeToAndCall(address,bytes) (#424-428):
- (success) = newImplementation.delegatecall(data) (#426)
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 token contract audit
Unable to find audit link on the website
Unable to find token on CoinHunt
Additional information: link
Young tokens have high risks of price dump / death
Unable to find Discord account