Releases: kkrt-labs/kakarot
Releases · kkrt-labs/kakarot
v0.3.1
What's Changed
- Update deploy script to upgrade kakarot if already deployed by @ClementWalter in #1002
- devops: audit deployer dockerfile by @khaeljy in #984
- fix: sender balance validation by @enitrat in #1003
- fix: memory expansion call/create opcodes by @enitrat in #1004
- fix: delegate call context caller by @enitrat in #1007
- Add some tests for get_jumpdests by @ClementWalter in #1008
- feat: env information as storage vars by @enitrat in #1009
- fix: eip1559 proper validation by @enitrat in #1010
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- Add kakarot config and fix max_fee is 0 by @ClementWalter in #994
- Add EVM serialization by @ClementWalter in #995
- feat: add nonce to eth_call by @Eikix in #997
- feat: bump katana by @Eikix in #999
Full Changelog: v0.2.2...v0.3.0
v0.2.2
What's Changed
- Unskip test txs with empty to by @ClementWalter in #955
- Unskip after coinbase + basefee by @ClementWalter in #957
- fix: is_account_alive by @enitrat in #954
- Add function to pull and plot ef test by @ClementWalter in #958
- feat: add special returndata for failed tx validation by @enitrat in #960
- dev: optimize class hash computation in deploy script by @ClementWalter in #959
- Skip ef tests by @enitrat in #965
- Bump katana by @ClementWalter in #970
- feat: validate initcode len for deploy txs by @enitrat in #968
- feat: integrate modexp by @enitrat in #967
- fix: create opcodes gas and jumpdest execution by @enitrat in #971
- Make kakarot upgradable by @ClementWalter in #969
- fix: CREATE high nonce by @enitrat in #976
- fix: returndatacopy error when out of bounds by @enitrat in #975
- Update dev-container by @khaeljy in #972
- skip ef tests by @enitrat in #978
- fix: same-address transfers, fix: withdraw gas value for execution by @enitrat in #977
- fix: create finalization on REVERT opcode by @enitrat in #979
- fix:saturated memory cost by @enitrat in #981
- ci: replace install katana commands with binary install by @d-roak in #990
- Fetch ssj artifacts for end to end in ci by @ClementWalter in #991
- fix: never commit precompiles; feat validate empty EOA bytecode by @enitrat in #982
- Fix katana cache by @ClementWalter in #992
- fix: returndatacopy with high offsets by @enitrat in #986
- Remove useless int to hex parsing by @ClementWalter in #993
- rm gh token by @d-roak in #988
- fix: create restores correct state upon failure by @enitrat in #985
New Contributors
Full Changelog: v0.2.1...v0.2.2
v0.2.1
What's Changed
- Feat/opcodes dynamic gas costs by @enitrat in #932
- feat: gas refund support by @enitrat in #935
- fix: deployed precompiles by @enitrat in #947
- Add coinbase, base fee and effective gas price by @ClementWalter in #944
- fix: remove returndata from exceptional halts by @enitrat in #945
- ci: add artifacts on release by @d-roak in #952
- feat: enable txs to address 0 by @enitrat in #951
- Serialize Stack, Memory and Environment by @ClementWalter in #953
- Feat/fix deployer by @Eikix in #950
Full Changelog: v0.2.0...v0.2.1
v0.2.0
What's Changed
- Update check-resources to display all historical data and not only main by @ClementWalter in #300
- Refactor/mstore by @Eikix in #299
- Remove pull_request_target event by @ClementWalter in #302
- Memory using dicts by @spapinistarkware in #301
- fix: fix mstore not ceiling to next byte when offset by @matthieuauger in #304
- test: re-enable tests for fixed features by @matthieuauger in #305
- Fix CI not checking local results by @ClementWalter in #311
- perf: change boolean comparisons to
!=
by @ftupas in #310 - refactor: manipulate decimal number in tests by @mnekx in #313
- Display detailed diff in CI + fix tests resources used in diff check by @ClementWalter in #314
- Use internal bytes16 storage, no external API change by @ClementWalter in #312
- refactor: remove unused helpers and rename utils by @matthieuauger in #306
- Use plain Solmate's implemetation (re-put EIP Permit) by @ClementWalter in #318
- dev: change formatting check in ci by @ftupas in #315
- refactor: cutting some branches + renaming unused args to _ by @gaetbout in #321
- tests: Add tests for opcodes SWAPX by @jobez in #320
- Stack 128bits - Dict implementation by @danilowhk in #319
- feat: CALL opcode by @ClementWalter in #322
- docs: Add extra step for contributors by @ftupas in #324
- test: add tests for push 17-32 by @matthieuauger in #334
- test: add test_instructions by @matthieuauger in #325
- Add CALLCODE, STATICCALL and DELEGATECALL opcodes by @ClementWalter in #335
- Profiling data by @spapinistarkware in #303
- Add tests for bytes_i_to_uint256 method and fixes it for 16 bytes sequences by @matthieuauger in #338
- test: add test coverage for DUP by @ftupas in #339
- Add FAQ about Kakarot project to README.md by @SecurityQQ in #341
- feat EXTCODECOPY by @jobez in #326
- refactor: kakarot file architecture by @matthieuauger in #343
- Add tests cairo files to make format and run command by @ClementWalter in #344
- feat: EXTCODESIZE opcode by @ClementWalter in #346
- Test coverage returndatacopy by @zarboq in #348
- Use Resolves to automatically close the corresponding issue upon merge by @ClementWalter in #350
- feat: CREATE and CREATE2 opcodes by @ClementWalter in #351
- Test coverage for xor and byte by @ptisserand in #366
- refactor: move integration tests for smart contract in dedicated folder to ease navigation by @matthieuauger in #356
- feat: allow to deploy different solidity files in same app by @matthieuauger in #368
- bugfix: handle zero padded cases and handle dynamic gas in extcodecopy (#345) by @jobez in #369
- test: add unit test for RETURN opcode by @pedrobergamini in #367
- feat: use gas in CALLs opcodes #349 by @seshanthS in #373
- impl GASPRICE opcode (#97) by @jobez in #377
- feat/add 0x40 blockhash opcode with registry by @ftupas in #375
- Opcode SELFDESTRUCT implementation by @zarboq in #376
- docs: add an estimate of time spent for PRs by @Eikix in #384
- docs: update documentation by @Eikix in #383
- docs: update supported opcodes by @Eikix in #385
- Disable alt-text-required for markdown files by @ClementWalter in #391
- Documentation model.cairo by @zarboq in #389
- Foundry compiler + make build-foundry command by @danilowhk in #390
- Feature/precompile identity (#360) by @jobez in #392
- Feat/implement extcodehash by @ptisserand in #387
- Update jumptable with latest opcodes by @ClementWalter in #393
- Docs/contributors update by @Eikix in #397
- Feat/memory expansion in all opcodes by @Eikix in #396
- feat: integrate warm/cold account concepts in EXTCODEXXX opcodes (#340) by @jobez in #401
- fix: fix basefee test by @Eikix in #403
- feat/add_deploy_script by @TotalPizza in #400
- fix: fix doc comments of execute and execute_at_address by @Eikix in #402
- feat: add ecAdd precompile by @pedrobergamini in #405
- fix ci and readme by @ClementWalter in #406
- Feat staticcall disallows subcontext statechanges (#260) by @jobez in #398
- Remove unsupported opcode section by @ClementWalter in #408
- Use foundry output files in for tests and remove old docker build by @ClementWalter in #410
- [Precompiles] ecrecover by @ClementWalter in #407
- Fix state update is persisted across tests by @ClementWalter in #412
- Parse events data for solidity contracts by @ClementWalter in #414
- add unchecked and in place cases for decrementing by @jobez in #415
- Feat/unsupported precompile event by @jobez in #404
- docs/Deployment Process by @TotalPizza in #409
- Creating a github action to automatically generate the contract's call graph + readme by @gaetbout in #413
- Univ2 token test by @ClementWalter in #425
- precompile RIPEMD-160 + Tests by @zarboq in #421
- Complete solmate Erc20 integration testing (#352) by @jobez in #430
- Feat/erc721 testing (#353) by @jobez in #418
- Kakarot Ethereum Account Abstraction by @Flydexo in #422
- docs: add evm summary by @ArnaudBD in #429
- docs: put time spent on PR field at top of PR template by @Eikix in #435
- Load revert reason short string by @ClementWalter in #431
- Fix: typos by @omahs in #437
- Add autoflake to format and poetry check to build by @ClementWalter in #436
- Add tests for CREATE2 and require in PlainOpcodes by @ClementWalter in #440
- UniswapV2Factory test by @ClementWalter in #433
- [Fix] Generate 20 bytes instead of a uint160 in Univ2Factory test by @ClementWalter in #444
- fix: change RNG to allow seeding by @greged93 in #447
- Add test for ORIGIN and CALLER (+some refacto) by @ClementWalter in #448
- Bugfix: create2 opcode should use deterministically derived evm contract address by @jobez in #443
- Fix usage of safe math by @FranFiuba in #450
- Fix caller_address uses only execute in tests by @ClementWalter in #456
- create opcode uses deterministic evm contract address by @jobez in #455
- feat: add alt_bn128 library for precompiles by @pedrobergamini in #417
- fix: RETURNDATACOPY fails in PlainOpcode test #446 by @seshanthS in #453
- feat: add ecMul precompile by @pedrobergamini in #451
- feat: blake2f precompile by @greged93 in #434
- feat: Add gas_used to kakarot.execute_at_address returned values by @sparqet in https://github.com/kkrt-labs...
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 ...
v0.1.0-alpha.2
What's Changed
- 📝 add contribution from florian-bellotti by @abdelhamidbakhta in #13
- add supported opcodes doc by @abdelhamidbakhta in #16
- Add instruction about updating the list of supported opcodes by @abdelhamidbakhta in #17
- update supported opcode list instruction by @abdelhamidbakhta in #18
- ✨ 0x8s dup operations by @abdelhamidbakhta in #20
- feat(instructions): add mod opcode by @LucasLvy in #22
- feat(MOD): fix comments by @LucasLvy in #23
- feat(instructions): add smod opcode by @LucasLvy in #24
- AddMod MulMod by @LucasLvy in #26
- Lucas/exp by @LucasLvy in #30
- Lucas/signextend by @LucasLvy in #31
- ✨ Introduce lt comparison operation by @0xMentorNotAPseudo in #33
- 📝 Update supported opcodes by @0xMentorNotAPseudo in #35
- MSTORE by @LucasLvy in #32
- Implement SWAPX opcodes by @abdelhamidbakhta in #38
- Henri/gt by @l-henri in #42
- ✨ Implement SLT & SGT opcodes by @0xlny in #43
New Contributors
- @0xMentorNotAPseudo made their first contribution in #33
- @l-henri made their first contribution in #42
- @0xlny made their first contribution in #43
Full Changelog: v0.1.0-alpha...v0.1.0-alpha.2
v0.1.0-alpha
What's Changed
- hotfix(execution context): fix revoked implicit argument by @LucasLvy in #1
- Stack refacto proposal by @LucasLvy in #2
- feat(utils): small changes by @LucasLvy in #3
- context as pointer by @abdelhamidbakhta in #5
- 🗑️ cleanup by @abdelhamidbakhta in #6
- 📝 Explain how to start debug server by @florian-bellotti in #4
- Lucas/refacto by @LucasLvy in #7
- Lucas/multiple op codes by @LucasLvy in #10
- 👔 add intrinsic gas cost by @abdelhamidbakhta in #11
- 📝 update readme by @abdelhamidbakhta in #12
New Contributors
- @LucasLvy made their first contribution in #1
- @abdelhamidbakhta made their first contribution in #5
- @florian-bellotti made their first contribution in #4
Full Changelog: https://github.com/abdelhamidbakhta/kakarot/commits/v0.0.1