The below diagram is a high level logical diagram of the mStable contracts. It doesn’t include all contract dependencies as the diagram becomes too cluttered. The idea is to show the main contract dependencies at a high level.
The diagram simplifies contracts by not showing proxy or library contracts. eg mBTC has a proxy contract in front of it and uses a library contract which are not shown.
The storage dependencies are when a contract has the location of another contract in its storage or an immutable variable set on contract deployment.
The memory dependency are when a contract’s address is passed in the function parameters so is a looser dependency.
The Nexus dependencies go through the Nexus contract which abstracts different modules in the mStable contracts.