An open API service indexing awesome lists of open source software.

https://github.com/mmsaki/advanced-solidity

Advanced Solidity fellowship at Rareskills
https://github.com/mmsaki/advanced-solidity

advanced-solidity auditing

Last synced: 3 months ago
JSON representation

Advanced Solidity fellowship at Rareskills

Awesome Lists containing this project

README

          

# rareskills

> Course by Dominik Teiml

## Week 1

- [x] [My notes for yellow paper](https://github.com/mmsaki/yellow-paper-summary/blob/main/yellow-paper-meek/main.pdf)
- [x] Watch Dominik Teiml yellow paper course [YPC](https://www.youtube.com/watch?v=e84V1MxRlYs) and read the [Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf).
- [x] Chapter 1
- [x] Chapter 2
- [x] Chapter 3
- [x] Chapter 4 Blocks, State and Transactions
- [x] Chapter 5 Gas and Payment
- [x] Chapter 6 Transaction Execution
- [ ] Chapter 7 Contract Creation
- [ ] Chapter 8 Message Call
- [ ] Chapter 9 Execution Model
- [ ] Chapter 10 Blocktree to Blockchain
- [ ] Appendix B: Recursive Length Prefix
- [ ] Appendix C: Hex encoding
- [ ] Appendix D: Modified Merkle Patricia Trie
- [ ] Appendix E: Precompiled Contracts
- [ ] Appendix F: Signing Transactions
- [x] Appendix G: Fee Schedule
- [ ] Appendix H: Virtual Machine Specification
- [ ] Appendix I: Genesis Block
- [ ] Appendix J: Eth Hash
- [ ] Appendix K: Anomalies on the main network

- [x] Alternatively you can look at [the python specs](https://github.com/ethereum/execution-specs/tree/master/src/ethereum/shanghai/vm)

## Week 2

- [Advanced Solidity: Gas Optimization - Jeffrey Scholz](https://www.udemy.com/course/advanced-solidity-understanding-and-optimizing-gas-costs/?referralCode=C4684D6872713525E349)

- [x] 2. Calculating The Cost of an Ethereum Transfer
- [x] 3. Example Smart Contract Interactions Part 1
- [x] 4. Example Smart Contract Interactions Part 2
- [x] 5. Example Smart Contract Interactions Part 2
- [x] 6. Heavy and Light Fucntions
- [x] 7. Block Limit
- [x] 8. Gas Efficient Chains
- [x] 9. Prerequisite: Storage Slots
- [x] 10. What are opcodes
- [x] 11. Opcode Gas Cost
- [x] 12. Opcode Debugging Gas Cost
- [x] 13. Function Selectors
- [x] 14. Cost of Doing Nothing: OpCodes
- [x] 15. Cost of Doing Nothing: Sum of Opcodes
- [x] 16. Cost of Doing Nothing: Transaction Data
- [x] 17. Cost of Doing Nothing: Memory Costs
- [x] 18. Non-payable Functions
- [x] 19. Unchecked Arithmetic Part 1
- [x] 20. Unchecked Arithmetic Part 2
- [x] 21. Gas Limit and More on 21,000 Gas
- [x] 22. EIP1559 Part 1
- [x] 23. EIP1559 Part 2
- [x] 24. Solidity Optimizer
- [x] 25. Storage Overview
- [x] 26. More on 5000 gas non-zero to non-zero
- [x] 27. Smaller integers
- [x] 28. Unchanged Storage Values
- [x] 29. Arrays
- [x] 30. Refunds and Setting to Zero Part 1
- [x] 31. Refunds and Setting to Zero Part 2
- [x] 32. ERC20 Transfers
- [x] 33. Storage Cost For Files
- [x] 34. Structs and Strings Part 1
- [x] 35. Variable Packing
- [x] 36. Array Length
- [x] 37. Memory vs Calldata
- [x] 38. Memory Explosion
- [x] 39. Memory is Never Cleared
- [x] 40. Function Names
- [x] 41. Less Than vs Less Than or Equal To
- [x] 42. Bit Shifting
- [x] 43. Revert Early
- [x] 44. Short Circuiting
- [x] 45. Precomputing

- 3 days Complete all 10 Puzzles [EVM Puzzles](https://github.com/fvictorio/evm-puzzles)

- [x] Puzzle 1
- [x] Puzzle 2
- [x] Puzzle 3
- [x] Puzzle 4
- [x] Puzzle 5
- [x] Puzzle 6
- [x] Puzzle 7
- [x] Puzzle 8
- [x] Puzzle 9
- [x] Puzzle 10

- 2 Days [Ethernaut](https://ethernaut.openzeppelin.com)

- [x] Ethernaut 12 - Privacy
- [ ] Ethernaut 13 - Gatekeeper one
- [x] Ethernaut 18 - Magic Number

- 1 Day [Gas Puzzles](https://github.com/mmsaki/gas-puzzles)

- [x] Array Sum
- [x] Require

## Week 3

- [ ] Ethernaut 19 - Alien Codex
- [ ] Do either [More EVM Puzzles](https://github.com/mmsaki/more-evm-puzzles) or [Huff Puzzles](https://github.com/mmsaki/huff-puzzles.git)
- More EVM Puzzles
- [x] Puzzle 1
- [x] Puzzle 2
- [x] Puzzle 3
- [x] Puzzle 4
- [x] Puzzle 5
- [x] Puzzle 6
- [x] Puzzle 7
- [x] Puzzle 8
- [x] Puzzle 9
- [x] Puzzle 10
- Recommended - [Huff Puzzles](https://github.com/mmsaki/huff-puzzles.git)
- [x] Return1.huff
- [x] CallValue.huff
- [x] CalldataLength.huff
- [x] Add1.huff
- [x] MyEtherBalance.huff
- [x] Multiply.huff
- [x] NonPayable.huff
- [x] FooBar.huff
- [x] SimpleStore.huff
- [x] RevertCustom.huff
- [x] RevertString.huff
- [x] SumArray.huff
- [ ] Keccak.huff
- [ ] MaxOfArray.huff
- [ ] Create.huff
- [ ] Emitter.huff
- [ ] Donations.huff
- [ ] SendEther.huff
- [ ] BasicBank.huff
- [ ] Distributor.huff
- [ ] SimulateArray.huff

## Week 4 - 5

- [x] [Types](./4-5-week/Types.md)
- [x] [Units and Globally Available Variables](./4-5-week/Globals.md)
- [ ] [Expressions and Control Structures](./4-5-week/expressions.md)
- [ ] [Contracts](./4-5-week/contracts.md)

**Other**

- [Advanced Solidity: Yul and Assembly](https://www.udemy.com/course/advanced-solidity-yul-and-assembly/?referralCode=C46DE4EE2C4BE54D4D33)

- [x] 2. Types
- [x] 3. Basic Operations
- [x] 4. Storage Slots
- [x] 5. Storage Offsets and Bitshifting
- [x] 6. Storage of Arrays and Mappings
- [x] 7. Memory Operations
- [x] 8. How Solidity Uses Memory
- [x] 9. Dangers of Memory Misuse
- [x] 10. Returns, Require, Tuples, Keccak256
- [x] 11. Logs and Events
- [x] 12. Calldata
- [x] 13. Calling Other Contracts
- [x] 14. Dynamic Length Arguments
- [x] 15. Transfer of Value
- [ ] 16. Receiving Contract Calls
- [ ] 18. Etherscan Issues
- [ ] 19. Storing Data in Contract Bytecode
- [ ] 20. ERC20 Example Part 1
- [ ] 21. ERC20 Example Part 2
- [ ] 22. ERC20 Example Part 3
- [ ] 23. ERC20 Example Part 4
- [ ] 24. ERC20 Example Part 5
- [ ] 25. ERC20 Example Part 6
- [ ] 26. What We Didn't Cover

## Week 6