├── .gitignore ├── README.md ├── daily-progress ├── day00.md ├── day01.md ├── day02.md ├── day03.md ├── day04.md ├── day05.md ├── day06.md ├── day07.md ├── day08.md ├── day09.md ├── day10.md ├── day11.md ├── day12.md ├── day13.md ├── day14.md ├── day15.md ├── day16.md ├── day17.md └── day18.md └── evm-from-scratch-challenge ├── .gitignore ├── .prettierrc ├── babel.config.js ├── evm.json ├── index.test.ts ├── index.ts ├── input.json ├── jest-environment-fail-fast.js ├── package.json ├── src ├── constants.ts ├── errors.ts ├── evm.ts ├── globalState.ts ├── logger.ts ├── machine-state │ ├── memory.ts │ ├── stack.ts │ ├── storage.ts │ ├── types.ts │ └── utils.ts ├── opcodes │ ├── runners.ts │ ├── runners │ │ ├── arithmetic.ts │ │ ├── bitwise.ts │ │ ├── block.ts │ │ ├── comparison.ts │ │ ├── control-flow.ts │ │ ├── environmental.ts │ │ ├── keccak.ts │ │ ├── logging.ts │ │ ├── memory.ts │ │ ├── stack.ts │ │ ├── storage.ts │ │ └── system.ts │ ├── types.ts │ └── utils.ts ├── types.ts └── utils.ts ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | .obsidian 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/README.md -------------------------------------------------------------------------------- /daily-progress/day00.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day00.md -------------------------------------------------------------------------------- /daily-progress/day01.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day01.md -------------------------------------------------------------------------------- /daily-progress/day02.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day02.md -------------------------------------------------------------------------------- /daily-progress/day03.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day03.md -------------------------------------------------------------------------------- /daily-progress/day04.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day04.md -------------------------------------------------------------------------------- /daily-progress/day05.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day05.md -------------------------------------------------------------------------------- /daily-progress/day06.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day06.md -------------------------------------------------------------------------------- /daily-progress/day07.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day07.md -------------------------------------------------------------------------------- /daily-progress/day08.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day08.md -------------------------------------------------------------------------------- /daily-progress/day09.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day09.md -------------------------------------------------------------------------------- /daily-progress/day10.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day10.md -------------------------------------------------------------------------------- /daily-progress/day11.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day11.md -------------------------------------------------------------------------------- /daily-progress/day12.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day12.md -------------------------------------------------------------------------------- /daily-progress/day13.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day13.md -------------------------------------------------------------------------------- /daily-progress/day14.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day14.md -------------------------------------------------------------------------------- /daily-progress/day15.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day15.md -------------------------------------------------------------------------------- /daily-progress/day16.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day16.md -------------------------------------------------------------------------------- /daily-progress/day17.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day17.md -------------------------------------------------------------------------------- /daily-progress/day18.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/daily-progress/day18.md -------------------------------------------------------------------------------- /evm-from-scratch-challenge/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .env 4 | logs -------------------------------------------------------------------------------- /evm-from-scratch-challenge/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/.prettierrc -------------------------------------------------------------------------------- /evm-from-scratch-challenge/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/babel.config.js -------------------------------------------------------------------------------- /evm-from-scratch-challenge/evm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/evm.json -------------------------------------------------------------------------------- /evm-from-scratch-challenge/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/index.test.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/index.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/input.json -------------------------------------------------------------------------------- /evm-from-scratch-challenge/jest-environment-fail-fast.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/jest-environment-fail-fast.js -------------------------------------------------------------------------------- /evm-from-scratch-challenge/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/package.json -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/constants.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/errors.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/evm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/evm.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/globalState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/globalState.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/logger.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/machine-state/memory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/machine-state/memory.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/machine-state/stack.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/machine-state/stack.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/machine-state/storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/machine-state/storage.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/machine-state/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/machine-state/types.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/machine-state/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/machine-state/utils.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/arithmetic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/arithmetic.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/bitwise.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/bitwise.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/block.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/block.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/comparison.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/comparison.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/control-flow.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/control-flow.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/environmental.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/environmental.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/keccak.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/keccak.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/logging.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/logging.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/memory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/memory.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/stack.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/stack.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/storage.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/runners/system.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/runners/system.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/types.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/opcodes/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/opcodes/utils.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/types.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/src/utils.ts -------------------------------------------------------------------------------- /evm-from-scratch-challenge/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/tsconfig.json -------------------------------------------------------------------------------- /evm-from-scratch-challenge/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merklefruit/evm-from-scratch/HEAD/evm-from-scratch-challenge/yarn.lock --------------------------------------------------------------------------------