The Cosmos network consists of many independent, parallel blockchains, called zones, each powered by classical Byzantine fault-tolerant (BFT) consensus protocols like Tendermint (already used by platforms like ErisDB). Some zones act as hubs with respect to other zones, allowing many zones to interoperate through a shared hub. The architecture is a more general application of the Bitcoin sidechains concept, using classic BFT and Proof-of-Stake algorithms, instead of Proof-of-Work.Cosmos can interoperate with multiple other applications and cryptocurrencies, something other blockchains can’t do well. By creating a new zone, you can plug any blockchain system into the Cosmos hub and pass tokens back and forth between those zones, without the need for an intermediary.
While the Cosmos Hub is a multi-asset distributed ledger, there is a special native token called the atom. Atoms have three use cases: as a spam-prevention mechanism, as staking tokens, and as a voting mechanism in governance.
As a spam prevention mechanism, Atoms are used to pay fees. The fee may be proportional to the amount of computation required by the transaction, similar to Ethereum’s concept of “gas”. Fee distribution is done in-protocol and a protocol specification is described here.
As staking tokens, Atoms can be “bonded” in order to earn block rewards. The economic security of the Cosmos Hub is a function of the amount of Atoms staked. The more Atoms that are collateralized, the more “skin” there is at stake and the higher the cost of attacking the network. Thus, the more Atoms there are bonded, the greater the economic security of the network.
Atom holders may govern the Cosmos Hub by voting on proposals with their staked Atoms.
BEP20Cosmos.allowance(address,address).owner (#419) shadows:
- Ownable.owner() (#297-299) (function)
BEP20Cosmos._approve(address,address,uint256).owner (#582) shadows:
- Ownable.owner() (#297-299) (function)
Rename the local variables that shadow another component.
Additional information: link
SafeMath.mul(uint256,uint256) (#187-199) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#262-265) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#227-234) is never used and should be removed
Context._msgData() (#113-116) is never used and should be removed
SafeMath.mod(uint256,uint256) (#247-249) is never used and should be removed
BEP20Cosmos._burnFrom(address,uint256) (#596-599) is never used and should be removed
SafeMath.div(uint256,uint256) (#212-214) is never used and should be removed
Remove unused functions.
Additional information: link
Redundant expression "this (#114)" inContext (#104-117)
Remove redundant statements if they congest code but offer no value.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#316-319)
decreaseAllowance(address,uint256) should be declared external:
- BEP20Cosmos.decreaseAllowance(address,uint256) (#484-487)
mint(uint256) should be declared external:
- BEP20Cosmos.mint(uint256) (#497-500)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#325-327)
burn(uint256) should be declared external:
- BEP20Cosmos.burn(uint256) (#505-508)
increaseAllowance(address,uint256) should be declared external:
- BEP20Cosmos.increaseAllowance(address,uint256) (#465-468)
Use the external attribute for functions never called from the contract.
Additional information: link
BEP20Cosmos.constructor() (#351-359) uses literals with too many digits:
- _totalSupply = 1000000 * 10 ** 18 (#355)
Use: Ether suffix, Time suffix, or The scientific notation
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