August 2019
Intermediate to advanced
486 pages
13h 52m
English
The balances state variable is defined in the contract as follows:
mapping(address => uint256) internal balances;
The balances variable is defined as mapping from address to uint256, which stores the number of tokens each address has. A mapping contains a key-value pair, where the key is unique, hence there will be only one entry present in the mapping per address. As per the Solidity mapping data type, by default, all of the addresses will have 0 (zero) balance. Because the balances of each address are stored in the mapping, its retrieval has O(1) time complexity, which is ideal.
The entry in the balances mapping is updated when the transfer() or transferFrom() function is called. To perform ...