Porta (Previously Kianite) means “gateway” in Latin. It is a blockchain project built on Substrate with the goal of giving everyone access to Web 3.0 products with a seamless and easy to understand experience for both new and seasoned blockchain users.
Products such as decentralised finance, non-fungible tokens, peer-to-peer lending and also less common use-cases like social, business organisation, decentralised creator economies and more.
The project is still $KIAN token for now but once its blockchain is launched, it will be converted to $PORTA.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract creator or owner is blacklisted for past scams
InitializableUpgradeabilityProxy.initialize(address,bytes) (#328-336) uses delegatecall to a input-controlled function id
- (success) = _logic.delegatecall(_data) (#333)
Avoid using delegatecall. Use only trusted destinations.
Additional information: link
UpgradeabilityProxy.constructor(address,bytes)._logic (#273) lacks a zero-check on :
- (success) = _logic.delegatecall(_data) (#277)
BaseAdminUpgradeabilityProxy.upgradeToAndCall(address,bytes).newImplementation (#216) lacks a zero-check on :
- (success) = newImplementation.delegatecall(data) (#218)
InitializableUpgradeabilityProxy.initialize(address,bytes)._logic (#328) lacks a zero-check on :
- (success) = _logic.delegatecall(_data) (#333)
Check that the address is not zero.
Additional information: link
Modifier BaseAdminUpgradeabilityProxy.ifAdmin() (#165-171) 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 (#303) shadows:
- BaseAdminUpgradeabilityProxy._admin() (#225-230) (function)
InitializableAdminUpgradeabilityProxy.initialize(address,address,bytes)._admin (#355) shadows:
- BaseAdminUpgradeabilityProxy._admin() (#225-230) (function)
Rename the local variables that shadow another component.
Additional information: link
Proxy._delegate(address) (#37-56) uses assembly
- INLINE ASM (#38-55)
BaseUpgradeabilityProxy._implementation() (#104-109) uses assembly
- INLINE ASM (#106-108)
BaseUpgradeabilityProxy._setImplementation(address) (#124-132) uses assembly
- INLINE ASM (#129-131)
BaseAdminUpgradeabilityProxy._admin() (#225-230) uses assembly
- INLINE ASM (#227-229)
BaseAdminUpgradeabilityProxy._setAdmin(address) (#236-242) uses assembly
- INLINE ASM (#239-241)
ProductProxy._setFactory(address) (#398-406) uses assembly
- INLINE ASM (#403-405)
ProductProxy._factory() (#412-417) uses assembly
- INLINE ASM (#414-416)
OpenZeppelinUpgradesAddress.isContract(address) (#476-487) uses assembly
- INLINE ASM (#485)
Do not use evm assembly.
Additional information: link
Proxy._implementation() (#29) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.6.0 (#3) 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 BaseAdminUpgradeabilityProxy.upgradeToAndCall(address,bytes) (#216-220):
- (success) = newImplementation.delegatecall(data) (#218)
Low level call in UpgradeabilityProxy.constructor(address,bytes) (#273-280):
- (success) = _logic.delegatecall(_data) (#277)
Low level call in InitializableUpgradeabilityProxy.initialize(address,bytes) (#328-336):
- (success) = _logic.delegatecall(_data) (#333)
Low level call in InitializableProductProxy.initialize(address,bytes) (#448-456):
- (success) = _implementation().delegatecall(data) (#453)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Parameter InitializableUpgradeabilityProxy.initialize(address,bytes)._logic (#328) is not in mixedCase
Parameter InitializableUpgradeabilityProxy.initialize(address,bytes)._data (#328) is not in mixedCase
Parameter InitializableAdminUpgradeabilityProxy.initialize(address,address,bytes)._admin (#355) is not in mixedCase
Parameter InitializableAdminUpgradeabilityProxy.initialize(address,address,bytes)._logic (#355) is not in mixedCase
Parameter InitializableAdminUpgradeabilityProxy.initialize(address,address,bytes)._data (#355) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
initialize(address,address,bytes) should be declared external:
- InitializableAdminUpgradeabilityProxy.initialize(address,address,bytes) (#355-360)
initialize(address,bytes) should be declared external:
- InitializableProductProxy.initialize(address,bytes) (#448-456)
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 token contract audit
Unable to find audit link on the website
Unable to find token on CoinHunt
Additional information: link
Token is not listed at Mobula.Finance
Additional information: link
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
Last post in Twitter was more than 30 days ago