This repository has been archived by the owner on Jan 9, 2025. It is now read-only.
v0.1.0
Kakarot has been deployed on goerli2 🚀
Contract address: 0x031ddf73d0285cc2f08bd4a2c93229f595f2f6e64b25846fc0957a2faa7ef7bb
Playground has been revamped and updated to target last version of contract on Goerli2: Playground
What's Changed
- ✅ Adding stack tests by @florian-bellotti in #45
- ✅ Adding tests by @florian-bellotti in #48
- Remove unused imports by @LucasLvy in #49
- ✨ 0x38 - CODESIZE by @abdelhamidbakhta in #57
- ✨ 0x46 - CHAINID by @abdelhamidbakhta in #62
- ✨ 0x41 - COINBASE by @abdelhamidbakhta in #65
- ✨ ISZERO comparison opcode by @0xMentorNotAPseudo in #61
- ♻️ Refactoring arithmetic tests by @florian-bellotti in #63
- feat: implement 0x14 - EQ opcode by @Kelvyne in #66
- ✨ 0xFE - INVALID by @abdelhamidbakhta in #68
- 📝 Update supported opcodes for MVP by @0xMentorNotAPseudo in #70
- ✨ Implement stack pop_n by @0xlny in #60
- Revert ":sparkles: Implement stack pop_n" by @LucasLvy in #75
- Cosmetic only: fix some typos and markdown linting by @ClementWalter in #74
- feat: implement 0x1b and 0x1c (shl and shr) by @pscott in #78
- 0x43 number by @danilowhk in #107
- ✨ Introduce 0x42 - Timestamp by @0xMentorNotAPseudo in #108
- 0x33 Caller by @danilowhk in #112
- ✨ Implement stack pop_n by @0xlny in #77
- feat(bitwise): add bitwise everywhere by @LucasLvy in #116
- 📝 Update MVP supported opcodes by @0xMentorNotAPseudo in #115
- ✨ Introduce AND + OR opcodes by @0xMentorNotAPseudo in #117
- 📝 Update opcodes chart by @0xMentorNotAPseudo in #118
- 0x20 - SHA3 by @LucasLvy in #119
- ✨ Introduce 0x58 - PC by @etashhh in #109
- 0x45 GASLIMIT by @danilowhk in #121
- 📝 Update MVP supported opcodes and README by @0xMentorNotAPseudo in #123
- 0x59 msize by @danilowhk in #124
- Lucas/coverage by @LucasLvy in #125
- 0x3d RETURNDATASIZE by @danilowhk in #129
- Feat/ 0x51 mload opcode by @TotalPizza in #130
- ✨ Introduce 0x19 - Bitwise NOT operation by @0xMentorNotAPseudo in #134
- feat(makefile): fix compile rule by @LucasLvy in #136
- Remove protostar gif and add Mac M1 install helper by @Eikix in #139
- feat: add POP opcode by @Eikix in #135
- feat: add SAR (0x1d) by @pscott in #141
- 0x44 Difficulty by @danilowhk in #140
- 0x5b JUMPDEST by @danilowhk in #138
- Feat/0x56 JUMP opcode by @TotalPizza in #142
- feat/0x57 JUMPI opcode by @TotalPizza in #144
- 0x48 BASEFEE opcode by @richwarner in #145
- dev: Remove prints in the cairo files by @Jrigada in #147
- 0x36 CALLDATASIZE opcode by @richwarner in #146
- feat(make): format + format-check by @LucasLvy in #149
- Lucas/mstore by @LucasLvy in #148
- feat(memory + sha3): fix wrong stack update by @LucasLvy in #150
- feat(mstore): fix crash if first mstore doesn't have an offset by @LucasLvy in #154
- Use poetry for deps management and add python linter (black & isort) by @ClementWalter in #156
- feat(mstore): refacto by @LucasLvy in #158
- feat(coverage): add coverage for the project by @LucasLvy in #160
- Added MSTORE Tests and fixed small typo by @LucasLvy in #162
- ✨ Using Stack.pop_n by @florian-bellotti in #163
- Lucas/balance by @LucasLvy in #164
- Comparison & bitwise logic operations : 0x18 XOR, 0x1A BYTE by @Riad-Quadratic in #167
- Execute returns the whole stack instead of peek, tests uses parametrize by @ClementWalter in #165
- feat(Makefile): use poetry in makefile by @LucasLvy in #169
- feat: add "Counter" smart contract support README file for MVP by @Eikix in #170
- 0x53 MSTORE8(Rebased) by @danilowhk in #171
- feat(ci): enable format check by @LucasLvy in #172
- fix(sha3): fix sha3 by @LucasLvy in #176
- 🚧 init logging operations by @abdelhamidbakhta in #177
- 0x32 Origin by @mmsc2 in #159
- 0x37 CALLDATACOPY by @danilowhk in #180
- feat/0x35 calldataload opcode (Test Refactor) by @TotalPizza in #175
- Feat/mload by @Eikix in #181
- Add tests for remaining block information instructions by @tyler-smith in #182
- 0x37 CALLDATACOPY tests and bugs fix by @danilowhk in #183
- Add memory expansion method and use it in sha3 and exec_mload by @ClementWalter in #188
- Add forgotten ExecutionContext.update_memory to sha3 by @ClementWalter in #189
- refacto(memory): remove ugly tempvars by @LucasLvy in #192
- feat(opcode): add log0, log1, log2, log3, log4 + tests + doc by @LucasLvy in #197
- feat(tests): fix tests that abdel broke by @LucasLvy in #205
- Fix: Memory.store_n and Helpers.slice_data for border cases by @thomas-quadratic in #217
- Ethlisbon main final merge by @ClementWalter in #218
- feat(tests): add tests for CALLDATASIZE and non empty calldata by @matthieuauger in #222
- Feat/add 0x47 SELFBALANCE opcode by @ftupas in #174
- Clean code by @LucasLvy in #224
- fix: JUMP and JUMPI didn't update the pc by @TotalPizza in #215
- docs: first round of comment correction and extensions by @TotalPizza in #228
- update(coverage): bump coverage version by @LucasLvy in #232
- refacto(instructions): remove hints by @LucasLvy in #226
- ERC20 implementation and tests by @danilowhk in #233
- feat/add pytest marks by @ftupas in #229
- feat(opcode) add CALLVALUE op code by @matthieuauger in #234
- ADD STEPS CHECKER by @danilowhk in #235
- Comments and added check in conversion function by @petarcalic99 in #236
- Add timeit and traceit decorators for optimization purposes by @ClementWalter in #237
- feat: update doc by @Eikix in #238
- Fix typos and rename functions by @ClementWalter in #242
- Use pytest xdist to run tests in parallel by @ClementWalter in #243
- Use pysha3 to compute function signature from string by @ClementWalter in #248
- Update Opcode Issue Template by @Eikix in #250
- fix(makefile) update path with new test architecture by @matthieuauger in #246
- doc(opcodes) add link to related issues for missing opcodes by @matthieuauger in #263
- Refacto kakarot.deploy and use .sol file as input for integration tests by @ClementWalter in #245
- feat/add 0x30 ADDRESS opcode by @ftupas in #247
- Add wrapper for web3 contract to work with kakarot by @ClementWalter in #267
- misinformation in comments by @petarcalic99 in #275
- Use a jump tables for opcodes by @ClementWalter in #282
- feat: Add 0xFD REVERT opcode by @pedrobergamini in #277
- Use ret instead of jmp end in instructions by @ClementWalter in #285
- feat/add integration test for ADDRESS opcode by @ftupas in #281
- Memory.load n by @hurrikaanig in #288
- refactor: function signatures to always enforce (arr_len, len) (#269) by @ptisserand in #289
- Add coverage reports check in CI by @ClementWalter in #292
- chore: delete unused files by @Eikix in #297
- Fix broken CI by @ClementWalter in #298
New Contributors
- @Kelvyne made their first contribution in #66
- @pscott made their first contribution in #78
- @etashhh made their first contribution in #109
- @richwarner made their first contribution in #145
- @Jrigada made their first contribution in #147
- @Riad-Quadratic made their first contribution in #167
- @mmsc2 made their first contribution in #159
- @tyler-smith made their first contribution in #182
- @thomas-quadratic made their first contribution in #217
- @matthieuauger made their first contribution in #222
- @ftupas made their first contribution in #174
- @pedrobergamini made their first contribution in #277
- @hurrikaanig made their first contribution in #288
- @ptisserand made their first contribution in #289
Full Changelog: v0.1.0-alpha.2...v0.1.0