| File | Type | nSLOC | Lines | nLines | Comment Lines | Complex. Score | Capabilities |
| --------------------------------------- | ------ | -------- | -------- | -------- | ------------- | -------------- | ---------------------------------------------------------------------------- |
| src/AlchemistV3.sol | ๐ | 632 | 1106 | 1096 | 237 | 452 | ! **issues** divide by zero? |
| src/libraries/PositionDecay.sol | ๐ | 302 | 391 | 391 | 73 | 158 | ! too much fucking math, need to study it further. o3 wrote some fuzz tests. |
| src/Transmuter.sol | ๐๐ค | 169 | 291 | 291 | 49 | 143 | ! |
| src/interfaces/ITransmuter.sol | ๐ | 139 | 231 | 71 | 26 | 51 | |
| src/libraries/StakingGraph.sol | ๐๐ฅฮฃ | 110 | 196 | 196 | 68 | 78 | ! too much fucking math again |
| src/AlchemistV3Position.sol | ๐ | 56 | 110 | 110 | 38 | 40 | **issues** gas optimizations and informational |
| src/libraries/FixedPointMath.sol | ๐ | 57 | 182 | 182 | 107 | 20 | |
| src/libraries/TokenUtils.sol | ๐ | 58 | 143 | 143 | 65 | 41 | |
| src/AlchemistTokenVault.sol | ๐ | 21 | 52 | 52 | 25 | 24 | ! **issues** safer function alternatives |
| src/external/AlEth.sol | ๐๐งช๐งฎ | 50 | 123 | 123 | 54 | 40 | **issues** mostly informational |
| src/adapters/ETHUSDPriceFeedAdapter.sol | ๐๐ | 23 | 57 | 43 | 23 | 22 | related to ETHUSDConverter.sol |
| src/libraries/NFTMetadataGenerator.sol | ๐ | 55 | 79 | 79 | 19 | 16 | **issues** possibility of hash collisions but not important i feel like. |
| src/interfaces/IAlchemistV3.sol | ๐ | 116 | 792 | 491 | 528 | 153 | |
| src/AlchemistETHVault.sol | ๐๐ฐ | 36 | 93 | 93 | 41 | 48 | ! not much to say |
| src/adapters/AbstractFeeVault.sol | ๐จ | 37 | 91 | 84 | 40 | 27 | ! not much to say |
| src/adapters/ETHUSDConverter.sol | ๐ | 39 | 79 | 79 | 27 | 20 | **issues** possibly an underflow |
| src/utils/Whitelist.sol | ๐ | 43 | 63 | 63 | 9 | 34 | |
| src/libraries/SafeERC20.sol | ๐ | 32 | 87 | 87 | 42 | 21 | |
| src/libraries/Sets.sol | ๐ | 35 | 68 | 68 | 22 | 7 | |
| src/interfaces/IYearnVaultV2.sol | ๐ | 49 | 92 | 25 | 19 | 49 | |
| src/interfaces/IERC20Minimal.sol | ๐๐ | 52 | 71 | 43 | 8 | 13 | |
| src/interfaces/IAlchemistTokenVault.sol | ๐ | 48 | 75 | 15 | 4 | 15 | |
| src/interfaces/IAlchemistV3Position.sol | ๐ | 28 | 45 | 20 | 8 | 15 | |
| src/adapters/EulerUSDCAdapter.sol | ๐ | 17 | 25 | 25 | 2 | 11 | |
| src/interfaces/IWhitelist.sol | ๐ | 29 | 50 | 22 | 6 | 13 | |
| src/interfaces/IERC721Enumerable.sol | ๐ | 17 | 29 | 20 | 8 | 9 | |
| src/interfaces/ITokenAdapter.sol | ๐ | 15 | 26 | 9 | 3 | 9 | |
| src/interfaces/IAlchemicToken.sol | ๐ | 25 | 42 | 14 | 4 | 15 | |
| src/interfaces/IFeeVault.sol | ๐ | 15 | 24 | 10 | 3 | 7 | |
| src/interfaces/IWETH.sol | ๐๐ฐ | 12 | 21 | 14 | 4 | 10 | |
| src/interfaces/IERC20Metadata.sol | ๐ | 11 | 20 | 9 | 3 | 7 | |
| src/interfaces/IERC20Burnable.sol | ๐ | 13 | 22 | 13 | 4 | 7 | |
| src/interfaces/IERC20Mintable.sol | ๐ | 6 | 13 | 12 | 4 | 5 | |
| src/interfaces/IDetailedERC20.sol | ๐ | 1 | 10 | 7 | 4 | 9 | |
| src/interfaces/IYieldToken.sol | ๐๐ | 3 | 5 | 4 | 3 | 3 | |
| src/libraries/SafeCast.sol | ๐ | 25 | 46 | 46 | 16 | 12 | |
| src/interfaces/IAlchemistETHVault.sol | ๐ | 54 | 79 | 14 | 3 | 17 | |
| **Totals** | | **2049** | **4996** | **4131** | **2001** | **1621** | |