| 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** | |