Layout of a Solidity Source File¶ Source files can contain an arbitrary number of contract definitions, import directives, pragma directives and struct and enum definitions. Pragmas¶ The pragma keyword is used to enable certain compiler features or checks. A pragma directive is always local to a source file, so you have to add the pragma to all your files if you want enable it in your whole projec