Phantasma is a fully interoperable, decentralized feature rich blockchain.
With its innovative staking mechanism, dual token system, sustainable tokenomics model and advanced eco-friendly smartNFTs. The chain is designed to be used for digital goods & services for communications, entertainment, marketplaces and on-chain storage solutions for dApp creators and enterprise clients.
With mainnet live since October 2019, it has proven to be the platform of choice for Gaming and NFTs. Not only because of its low minting and transaction fees but also because of its smartNFT technology that has been built on chain level and its pledge to become the first certified carbon negative blockchain.
SmartNFTs are NFTs with dynamic properties that can change based on certain conditions. They provide game developers the opportunity to make dynamic in-game items decentralized, which is not possible with traditional NFTs. They also allow for time-based NFTs, multi-layered NFTs, infused NFTs and locked content within an NFT that can only be accessed by the owner of the NFT. The NFTs can be minted on-demand at a fraction of the costs compared to other blockchains.
More information about Phantasma’s ground-breaking smartNFT technology can be found <a href="https://phantasma.io/phantasma-smart-nfts">here</a>.
.
Phantasma has an easy-to-use connector between dApps, wallets and blockchain via Phantasma Link.
It provides cross-chain interoperability with the Ethereum, BSC and NEO blockchains and is capable of a high throughput due to infinite sidechains.
It has Oracles built into the core of the chain.
PhantasmaToken.swapInit(address).newProducer (#333) lacks a zero-check on :
- _producer = newProducer (#336)
Check that the address is not zero.
Additional information: link
Pragma version^0.7.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
SafeMath.div(uint256,uint256) (#174-176) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#189-196) is never used and should be removed
SafeMath.mod(uint256,uint256) (#209-211) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#224-227) is never used and should be removed
SafeMath.mul(uint256,uint256) (#149-161) is never used and should be removed
Remove unused functions.
Additional information: link
Parameter PhantasmaToken.addNodeAddress(address)._address (#267) is not in mixedCase
Parameter PhantasmaToken.deleteNodeAddress(address)._address (#273) is not in mixedCase
Parameter PhantasmaToken.transfer(address,uint256)._to (#279) is not in mixedCase
Parameter PhantasmaToken.transfer(address,uint256)._value (#279) is not in mixedCase
Parameter PhantasmaToken.transferFrom(address,address,uint256)._from (#297) is not in mixedCase
Parameter PhantasmaToken.transferFrom(address,address,uint256)._to (#297) is not in mixedCase
Parameter PhantasmaToken.transferFrom(address,address,uint256)._value (#297) is not in mixedCase
Parameter PhantasmaToken.approve(address,uint256)._spender (#318) is not in mixedCase
Parameter PhantasmaToken.approve(address,uint256)._value (#318) is not in mixedCase
Parameter PhantasmaToken.allowance(address,address)._owner (#324) is not in mixedCase
Parameter PhantasmaToken.allowance(address,address)._spender (#324) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
name() should be declared external:
- PhantasmaToken.name() (#246-248)
symbol() should be declared external:
- PhantasmaToken.symbol() (#250-252)
decimals() should be declared external:
- PhantasmaToken.decimals() (#254-256)
deleteNodeAddress(address) should be declared external:
- PhantasmaToken.deleteNodeAddress(address) (#273-277)
transfer(address,uint256) should be declared external:
- PhantasmaToken.transfer(address,uint256) (#279-295)
transferFrom(address,address,uint256) should be declared external:
- PhantasmaToken.transferFrom(address,address,uint256) (#297-312)
balanceOf(address) should be declared external:
- PhantasmaToken.balanceOf(address) (#314-316)
approve(address,uint256) should be declared external:
- PhantasmaToken.approve(address,uint256) (#318-322)
allowance(address,address) should be declared external:
- PhantasmaToken.allowance(address,address) (#324-327)
totalSupply() should be declared external:
- PhantasmaToken.totalSupply() (#329-331)
swapInit(address) should be declared external:
- PhantasmaToken.swapInit(address) (#333-340)
swapIn(address,address,uint256) should be declared external:
- PhantasmaToken.swapIn(address,address,uint256) (#342-349)
pause() should be declared external:
- PhantasmaToken.pause() (#362-365)
unpause() should be declared external:
- PhantasmaToken.unpause() (#367-370)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find audit link on the website
Token is not listed at Mobula.Finance
Additional information: link