# 1/05
**Spent**: Around 3 hours
**What did I do?**
Read about the protocol and glanced over the code for a bit
**Any Findings?**
- one interesting thing (possible DoS if token decimals are < USDC_DECIMALS) but it's not used within the contract. Still a bug to fix if it's going to be used.
- a bunch of informational stuff all around the codebase (random natspec from functions that don't exist, natspec mismatches that differ from the actual functionality, missing OZ's Safe functions alternatives...)
- a bug in a test file inside the function ```_randomMinter()``` this could be interesting to explore further
**How do I feel?** Pretty good, not really overwhelmed it seems easy but I haven't looked at the main functionality besides reading the theory.
**What to do next?** I have no clue. I should keep exploring.
# 2/05
**Spent**: around 7 hours
**What did I do?**
- Spent most of the time wandering around the contract I don't recall what I really did but I do understand a bit more about the protocol. I should probably read the concept paper again.
- I installed an extension that's going to help me map some notes with visible colors instead of writing comments.
**Any Findings?**
- I think I found the first issue which is probably a medium finding but let's see: it's a divide by zero that causes a DoS if ITokenAdapter.price() returns 0 due to oracle failure/misconfiguration. It affects most of the protocol's functions because they all use the faulty function
- more informational stuff and nothing special throughout the contracts
**How do I feel?** A bit overwhelmed but it's getting easier to understand the overall idea of the project and the main file. The maths part is still a bit of an enigma to be honest but I have the study material ready for it.
**What to do next?** I guess that I should explore the main functionality that's related to the key areas of focus. For example the withdraw function on ```AlchemixV3.sol``` uses a lot of the new functionality so I should probably battletest it. Also, i could read the insights I got from the first read and check if the miswritten test that has ```_randomMinter()``` caused any bugs because the developers thought everything was right.
**Insights**
I noticed that most of the things I'm finding are related to bad written code and not really logic errors which are the ones that are important. I should probably get going with that as well but for that I need to understand more of the protocol.
# 3/05
**Spent**: around 7 hours
**What did I do?**
- Spent a lot of time testing StakingGraph.sol and the Transmuter.sol.
**Any Findings?**
- setTransmuted needs a check for 0 otherwise it can break the transmuter completely until something changes it.
**How do I feel?** Very overwhelmed specially cause a lot of the things I found were out of scope but i‘m happy that I got something.
**What to do next?** Keep exploring and reading the previous reports on Alchemix, will eventually find something.
**Insights**
(same as the last day)
I noticed that most of the things I'm finding are related to bad written code and not really logic errors which are the ones that are important. I should probably get going with that as well but for that I need to understand more of the protocol.
I need to read more of the essential stuff.
# 4/05 and 5/05
**Spent**: around 2 hour combined
**What did I do?**
- I spent some time solidifying my knowledge about the protocol. I feel like I can find more stuff on Tuesday.
**Any Findings?**
- setTransmuted needs a check for 0 otherwise it can break the transmuter completely until something changes it.
**How do I feel?** Very overwhelmed specially cause a lot of the things I found were out of scope but i‘m happy that I got something.
**What to do next?** Keep exploring and reading the previous reports on Alchemix, will eventually find something.
**Insights**
(same as the last day)
I noticed that most of the things I'm finding are related to bad written code and not really logic errors which are the ones that are important. I should probably get going with that as well but for that I need to understand more of the protocol.
I need to read more of the essential stuff.
# 6/05
**Spent**: around 4 hours
**What did I do?**
- Explored the burn() function in alchemistV3.sol and everything related to it which led to find a bunch of bugs.
**Any Findings?**
- Protocol fees deducted but not transferred to the protocol wallet in AlchemistV3:burn() #109
- Incorrect fee amount transferred to the protocol wallet in AlchemistV3.repay()#111
**How do I feel?** Very good actually I think these findings are valid and they're not just simple logic errors it's actually critical stuff. Still a long way to go now, i think i got a little boost of confidence from these.
**What to do next?** Keep exploring and reading the previous reports on Alchemix, will eventually find more issues. Tommorrow I'll analyze in depth what these functions are doing.
**Insights**
That was a good day and I didn't spend a lot of time. I think it was the rest days that led to this. I came a bit refreshed took a look and spotted something i didn't find for a couple of days. But I know there's still more bugs in the contracts let's hope that these are not invalid.
# 7/05, 8/05
**Spent**: around 9 hours
**What did I do?**
- Spent the whole morning auditing both days.
**Any Findings?**
- Desynchronization of a variable and missing freeCollateral change in _sync()_
**How do I feel?** I feel tired and slowly starting to be out of ideas but I'm going to continue.
**What to do next?** Keep exploring and reading the previous reports on Alchemix, will eventually find something more.
# 9/05
**Spent**: around 4 hours
**Notes**: I've looked at a bunch of functions and interactions witthin the protocol including:
- src/AlchemistV3.sol where i found -> protocol fees deducted but not transferred to the protocol wallet in AlchemistV3:burn(); Incorrect fee amount transferred to the protocol wallet in AlchemistV3.repay(); Desynchronization on deposit() for existing positions enables incorrect accounting; sync() fails to unlock collateral after a redemption, leaving users unable to withdraw collateral.
There's still about 6 days left to the end of the protocol and I honestly have no idea what to check next; Until now I've had good progress but I want to find more but it's getting much harder. I know that there're more bugs in here.
# 10/05
# 11/05
**Spent**: around 2 hours
**Notes**: Started to write a couple of invariant tests.
# 12/05
# 13/05
**Notes**: Lumbar flare-up debuffed me. Nothing was done
# 14/05
# 15/05