| 125 | } |
| 126 | |
| 127 | u256 layoutBaseForInheritanceHierarchy(ContractDefinition const& _topLevelContract, DataLocation _location) |
| 128 | { |
| 129 | if (_location != DataLocation::Storage) |
| 130 | { |
| 131 | solAssert(_location == DataLocation::Transient); |
| 132 | return 0; |
| 133 | } |
| 134 | |
| 135 | if (auto const* storageLayoutSpecifier = _topLevelContract.storageLayoutSpecifier()) |
| 136 | return *storageLayoutSpecifier->annotation().baseSlot; |
| 137 | |
| 138 | return 0; |
| 139 | } |
| 140 | |
| 141 | std::optional<u256> erc7201CompileTimeValue(FunctionCall const& _erc7201Call) |
| 142 | { |
no test coverage detected