August 2019
Intermediate to advanced
486 pages
13h 52m
English
Multiple inheritances can have many problems, such as the well-known diamond problem. Solidity uses the C3 linearization approach to force a specific order for inheritance. In Solidity, the order in which the contracts are specified as using the is keyword is important. The most derived contracts are the rightmost ones. For more information on C3 linearization and how it works along with an example, refer to Chapter 6, Taking Advantage of Code Quality Tools, the Seeing inheritance dependencies section.
When a function is defined in the contracts that are present in the inheritance hierarchy, the function is searched from the rightmost to the leftmost inherited contract in a depth-first search manner. ...