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 #449
- fix: do uint256 comparison for condition validity in jumpi opcode by @jobez in #462
- feat: add SHA2-256 precompile by @ftupas in #454
- Add tests for RLP by @Flydexo in #470
- UniswapV2Factory full test by @ClementWalter in #471
- Test precompiles by @FranFiuba in #473
- Feat: remove account_registry & fix origin opcode by @zarboq in #469
- feat: introduce self hosted runners by @Eikix in #472
- Feat/compute starknet entrypoint by @Eikix in #485
- Update deploy script by @ClementWalter in #488
- Stop committing THOTH graphs and store as artifacts by @ClementWalter in #483
- CI: #480: add dockerfile to generate image used by self hosted github runner by @ptisserand in #492
- Fix/precompiles gas cost by @dragan2234 in #499
- EAO: validate and execute all tx [merge-rebase from fresh/flydexo/jobez + refacto] by @ClementWalter in #498
- fix: update get_evm_address to view by @Eikix in #501
- Update README.md by @JuMi231 in #503
- feat: add modexp precomile MVP - only for uint256 numbers by @dragan2234 in #475
- Feat/eoa_deploys_contract by @TotalPizza in #502
- Add starknet devnet by @ClementWalter in #511
- Feat/infinite allowance by @TotalPizza in #508
- Workshop/remove unused function by @0xEniotna in #528
- docs: add caveat for python3.9-dev by @kasteph in #515
- Use /mint route to fund account in devnet by @ClementWalter in #524
- update ca and eoa versions in constants by @zarboq in #518
- 📝 feat: natspec doc review by @bal7hazar in #504
- feat: test compute starknet address by @dragan2234 in #506
- refactor: eoa library file, remove unnecessary imports, use constants by @dragan2234 in #527
- Add spell check in CI by @ClementWalter in #529
- feat: EOA transfer token value by @greged93 in #526
- Build and push a Kakarot devnet docker image by @ClementWalter in #532
- Add ghcr.io and image name 'devnet' to tag by @ClementWalter in #533
- Workshop: update boolean constants by @weiihann in #531
- Remove unneeded code by @sarantapodarousa in #536
- Overflow tests push operations by @dbejarano820 in #530
- [devcontainer] Fix postCreateCommand to install project by @ClementWalter in #537
- Fix/revert should not stop execution in sub context by @jobez in #489
- Feat/new nonce handling by @TotalPizza in #534
- feat: call value transfer by @greged93 in #539
- feature: add
query_logs
method to kkrt wrapper by @jobez in #540 - Disable RPC json validation in devnet by @ClementWalter in #541
- Fix deploy on testnet2 & deploy kakarot in CI by @ClementWalter in #545
- Fix python version in deployment workflow by @ClementWalter in #546
- feat: transfer value callcode by @greged93 in #544
- Use rust VM for devnet by @ClementWalter in #547
- gasprice should return txn constant by @jobez in #548
- Try getPublicKey if get_public_key does not exist by @ClementWalter in #552
- feat: remove self-hosted runners by @Eikix in #553
- Fix EthTransaction assumes that s and r are 32 bytes long by @ClementWalter in #556
- fix: dependencies update by @greged93 in #559
- Update README.md by @Eikix in #561
- Update README.md by @Eikix in #562
- Add eth_call and eth_send_transaction entrypoints to kakarot by @ClementWalter in #554
- feat: deploy account contract + execute at address utils by @greged93 in #550
- fix: update scripts by @greged93 in #565
- Related comments for the EOA library functions added by @karasakalmt in #567
- fix: update constants by @greged93 in #566
- fix(fund_address): fix address to be hex when network is devnet by @bajpai244 in #569
- fix(#571): fix errors in readme and .env.example, issue #571 by @bajpai244 in #572
- Update to latest cairo 0.11.0.2 and reput web3 6 by @ClementWalter in #573
- Add Function Comment by @makluganteng in #535
- Add missing contrib and fix changed usernames by @ClementWalter in #578
- fix: update kakarot interaction script by @greged93 in #581
- Remove deprecated mermaid diagram and execution trace by @Eikix in #577
- Completion of IEth Interface by @dbejarano820 in #583
- feat push0 by @jobez in #585
- Use RPC instead of Gateway for deploy script by @ClementWalter in #587
- Write custom declare to fix RPC types mismatch by @ClementWalter in #588
- Refacto kakarot utils by @ClementWalter in #590
- Updates to work with madara by @ClementWalter in #591
- Remove events fetching error temporary fix by @danilowhk in #595
- Refacto chain definition by @ClementWalter in #598
- Add madara hacks to sharingan by @ClementWalter in #599
- Minors updates founds along the way of debuging kakarot in madara/katana by @ClementWalter in #593
- dev: remove
build-devnet
andbuild-mac
make commands by @bajpai244 in #597 - Feat/add katana docker container by @bajpai244 in #594
- Minor updates to deploy scripts after latest sharingan release by @ClementWalter in #602
- Bug/events should be linkable to emitting contract by @Eikix in #603
- fix: add infura env variable in deployments CI by @Eikix in #610
- feat: update katana docker image to download katana rather than building it by @bajpai244 in #605
- fix: fix katana docker image by @bajpai244 in #615
- Update .env.example for katana by @ClementWalter in #614
- Feat validate nonce in eo account by @StarkFishinator in #564
- Improve logging of starknet utils by @ClementWalter in #623
- Use Gateway provider in testnet by @ClementWalter in #626
- Fix compile_contract never add debug_info by @ClementWalter in #633
- fix: fix broken asset links for katna image by @bajpai244 in #634
- build: add EVM.cairo for deployment in CI by @bajpai244 in #625
- Add devnet in NETWORK config by @ClementWalter in #635
- line up deterministic addressing for the zero nonce case by @jobez in #638
- dev: make RPC URLs configurable by @ftupas in #640
- Minor devX improvements by @ClementWalter in #641
- Fix gateway only deployment by @ClementWalter in #643
- Do not qualify madara as devnet by @ClementWalter in #642
- Add a docker image to act as a Kakarot deployer by @ClementWalter in #639
- Fix SSTORE not working more than one time in a tx by @ClementWalter in #645
- Fix finalize_context breaking when caller is EOA by @lana-shanghai in #647
- Fix devnet CI breaking by @ClementWalter in #650
- Remove Katana and Devnet from build CI by @ClementWalter in #651
- Add comments to "utils/eth_transaction" by @danilowhk in #636
- test_create_has_determistic_address tests address w/o state by @jobez in #655
- feat: remove nonce management, use starknet nonce by @bajpai244 in #649
- Update starknet utils to latest by @ClementWalter in #659
- Chore/devcontainer by @Eikix in #665
- Fix testnet deploy adding gateway_client calls in kakarot.py by @devnet0x in #667
- Update starknet-py and cairo-coverage by @ClementWalter in #670
- feat: return eoa deployment fee to deployer by @bajpai244 in #669
- fix: update events emissions logic by @greged93 in #672
- feat: update deploy script to fund and deploy deployer accounts, Make OpenzeppelingAccount.cairo part of compilation script by @bajpai244 in #674
- dev: add changelog and enforce in ci by @ftupas in #676
- dev: add custom deployment network by @ftupas in #686
- Fix Caller Opcode by @danilowhk in #664
- Add test case for failing CREATEs in one single tx by @ClementWalter in #697
- chore: delete manual changelog flow by @Eikix in #701
- Add fixtures for debugging EF tests, and sha3_d0g0v0_Shanghai test by @ClementWalter in #702
- reproduce error in eoa->contract->eth transfer flow by @jobez in #709
- docs: update contributing.md by @Eikix in #711
- docs: remove Newton mentions from the readme by @Eikix in #710
- dev: use explicit name for custom network by @ftupas in #706
- Add condition for zero return_data_len in finalization if-statement by @jobez in #712
- Remove Account Registry from by @ashutosh887 in #717
- Refactor/send eth transaction by @Eikix in #714
- End-to-end tests by @ClementWalter in #713
- Add evm to starknet address mapping by @ClementWalter in #720
- docs: fix link to thoth callgraph and introduction by @Eikix in #723
- dev: add back nonce management for contract accounts by @ftupas in #716
- fix: allow transfer of
value
during contract creation by @bajpai244 in #725 - dev: add failing test for deployment of contract account when there is no return data by @ftupas in #728
- Update starknet-devnet by @ClementWalter in #734
- feat: add failing
sloadGasCost_d0g0v0_Shanghai
test by @ftupas in #733 - dev: set contract account nonce to 1 after CREATE/CREATE2 by @ftupas in #740
- Migrate solidity tests to end-to-end by @ClementWalter in #729
- Add an example forge script for easy test to anvil by @ClementWalter in #741
- Feat/push-katana-dumps-on-push by @bajpai244 in #744
- refactor: rename all instances of sayajin-labs into kkrt-labs for safety by @Eikix in #742
- Add trunk by @ClementWalter in #748
- Make wait_for_transaction handle v4 RPC by @ClementWalter in #749
- feat: migrate univ2 by @greged93 in #753
- feat/add ef blockchain format test runner by @jobez in #750
- Refacto solidity contracts directory by @ClementWalter in #757
- docs: add decode cairo trace markdown file by @Eikix in #758
- fix
evm_to_starknet_address
storage entry insetup_test_state
andis_account_eoa
predicate inassert_post_state
by @jobez in #756 - feat: add erc20 to compiled contracts by @greged93 in #760
- Fix/storage ef test by @Eikix in #762
- fix: fix evm_to_starknet_address mapping by @Eikix in #763
- Fix OutOfBounds for return_data by @ClementWalter in #765
- Add test case for issue 683 & 684 by @ClementWalter in #767
- feat: add ef-tests to CI by @bajpai244 in #755
- Stop reverting the Cairo VM when the EVM reverts by @ClementWalter in #769
- Fix: typos by @omahs in #772
- Use local state during a transaction by @ClementWalter in #771
- Remove wrong assert in Account.set_code by @ClementWalter in #774
- Add deploy_bytecode utils and fix dict_ptr error in memory.finalize by @ClementWalter in #775
- Stop raising Cairo VM errors for Stack over/under-flow by @ClementWalter in #778
- Use generic function for arithmetic ops by @ClementWalter in #780
- dev: python script to deploy ef-test on anvil by @greged93 in #779
- fix: update debug script by @greged93 in #783
- fix: signature extraction in decode legacy tx by @greged93 in #781
- Use opcode from context and OOG in Arithmetic Operations by @ClementWalter in #782
- Add OOG to BlockInformation by @ClementWalter in #784
- Remove unused implicit args by @ClementWalter in #786
- Use jump table in Block Informations by @ClementWalter in #791
- Add OOG to PUSH ops by @ClementWalter in #788
- Add OOG to DUP and SWAP ops by @ClementWalter in #790
- Add script to plot steps evolution by @ClementWalter in #794
- Add OOG for LOG operations by @ClementWalter in #800
- Add OOG to Comparison Operations by @ClementWalter in #798
- Add static OOG for all opcodes by @ClementWalter in #801
- Commit account iif it has code or nonce by @ClementWalter in #802
- Stop reverting on precompiles by @ClementWalter in #803
- Use true corresponding starknet address for precompiles by @ClementWalter in #804
- fix: add handling of invalid public key by @greged93 in #806
- Fix ERC20 error due to newly deployed SELFDESTRUCT contracts by @ClementWalter in #805
- fix: signextend to fit specification by @Eikix in #808
- feat: fast_exp by @Eikix in #809
- fix: fix empty account in extcodehash by @Eikix in #814
- fix: remove unused dump katana action by @Eikix in #818
- fix: basefee returns gasprice by @Eikix in #817
- Put balance in Account instead of State by @ClementWalter in #807
- fix: ef-tests debug script by @greged93 in #820
- Fix bytecode is not written when starknet contract already exists by @ClementWalter in #822
- fix: fix early return for create by @Eikix in #810
- Fix safe uint256 sub by @ClementWalter in #824
- Run tx in anvil debug script by @ClementWalter in #826
- Halt ctx in SELFDESTRUCT by @ClementWalter in #823
- Remove unused ensure_lenght by @ClementWalter in #825
- Add memory expansion gas accounting by @ClementWalter in #828
- Fix resources CI by @ClementWalter in #834
- Fix resources step summary by @ClementWalter in #837
- fix timestamp by @greged93 in #838
- Add casting utils by @ClementWalter in #840
- Refacto casting utils by @ClementWalter in #841
- Refacto casting utils (ter) by @ClementWalter in #842
- Refactor/eoa new param by @Eikix in #839
- Add scope=missing for utils tests by @ClementWalter in #844
- Refacto CREATEs opcodes by @ClementWalter in #843
- dev: move skip file locally to repo by @greged93 in #847
- ci: use ef-tests main branch by @Eikix in #849
- fix: add KAKAROT_VERSION in ef-tests CI run by @greged93 in #850
- Use implicit args by @ClementWalter in #846
- Add Environment struct by @ClementWalter in #852
- Compute resources even when test fails by @ClementWalter in #854
- Fix stack output casting by @ClementWalter in #859
- fix: docker deployer by @greged93 in #860
- fix: write access to packages by @greged93 in #862
- Fix MULMOD doesn't handle mod = 0 by @ClementWalter in #864
- Prepare onboarding by @ClementWalter in #863
- fix: addmod impl by @enitrat in #865
- Remove RLP.encode and use optimized bytes_to_felt in decode by @ClementWalter in #866
- feat/increase_deploy_kakarot_eth_balance by @Eikix in #868
- feat: is_account_alive by @enitrat in #871
- feat: valid jumpdests by @enitrat in #867
- refactor: use evm_address instead of address by @enitrat in #875
- chore: activate trunk pre-push hook by @enitrat in #877
- Add pure cairo test runner with tracer by @ClementWalter in #873
- feat: return gas_used in eth_call and eth_send_transaction by @enitrat in #876
- Fix profiling for test using starknet by @ClementWalter in #879
- Update skip file by @ClementWalter in #881
- Allow cairo_run to be used with %lang starknet cairo files by @ClementWalter in #883
- Update trunk by @ClementWalter in #886
- refactor: call opcode w/ gas by @enitrat in #880
- Update skip file post EIP1559 fix by @ClementWalter in #892
- Update kakarot links by @pucedoteth in #884
- Fix segments order in cairo runner by @ClementWalter in #893
- feat: gas accounting call opcodes by @enitrat in #894
- refactor: use u256 for value type by @enitrat in #895
- Mock syscalls in tests by @ClementWalter in #896
- Fix print helpers based on new hints by @ClementWalter in #901
- fix: handle access list tx by @greged93 in #905
- feat: enable recursive RLP-list decoding by @enitrat in #908
- Add debug_info hint util by @ClementWalter in #915
- Refacto integrations tests by @ClementWalter in #917
- Add SSJ precompiles by @ClementWalter in #913
- Use Starknet chain id by @ClementWalter in #920
- Fix chain_id is undefined in unit tests by @ClementWalter in #922
- feat: decode access list transactions by @enitrat in #923
- Add IPrecompiles and use returned gas and success flag by @ClementWalter in #925
- feat: cache access list by @enitrat in #924
- Docs/update readme by @Eikix in #926
- feat: charge dynamic gas costs based on warm/cold access by @enitrat in #904
- feat: add a test to show eth_call by @Eikix in #927
- Refacto CA bytecode read and write by @ClementWalter in #921
- Unskip after access list and EIP2929 by @ClementWalter in #934
- Add serde for model.State and included models by @ClementWalter in #936
New Contributors
- @spapinistarkware made their first contribution in #301
- @mnekx made their first contribution in #313
- @gaetbout made their first contribution in #321
- @jobez made their first contribution in #320
- @SecurityQQ made their first contribution in #341
- @seshanthS made their first contribution in #373
- @Flydexo made their first contribution in #422
- @ArnaudBD made their first contribution in #429
- @omahs made their first contribution in #437
- @greged93 made their first contribution in #447
- @FranFiuba made their first contribution in #450
- @sparqet made their first contribution in #449
- @dragan2234 made their first contribution in #499
- @JuMi231 made their first contribution in #503
- @0xEniotna made their first contribution in #528
- @kasteph made their first contribution in #515
- @bal7hazar made their first contribution in #504
- @weiihann made their first contribution in #531
- @sarantapodarousa made their first contribution in #536
- @dbejarano820 made their first contribution in #530
- @karasakalmt made their first contribution in #567
- @bajpai244 made their first contribution in #569
- @makluganteng made their first contribution in #535
- @StarkFishinator made their first contribution in #564
- @lana-shanghai made their first contribution in #647
- @devnet0x made their first contribution in #667
- @ashutosh887 made their first contribution in #717
- @enitrat made their first contribution in #865
- @pucedoteth made their first contribution in #884
Full Changelog: v0.1.0...v0.1.0-alpha.3
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 #449
- fix: do uint256 comparison for condition validity in jumpi opcode by @jobez in #462
- feat: add SHA2-256 precompile by @ftupas in #454
- Add tests for RLP by @Flydexo in #470
- UniswapV2Factory full test by @ClementWalter in #471
- Test precompiles by @FranFiuba in #473
- Feat: remove account_registry & fix origin opcode by @zarboq in #469
- feat: introduce self hosted runners by @Eikix in #472
- Feat/compute starknet entrypoint by @Eikix in #485
- Update deploy script by @ClementWalter in #488
- Stop committing THOTH graphs and store as artifacts by @ClementWalter in #483
- CI: #480: add dockerfile to generate image used by self hosted github runner by @ptisserand in #492
- Fix/precompiles gas cost by @dragan2234 in #499
- EAO: validate and execute all tx [merge-rebase from fresh/flydexo/jobez + refacto] by @ClementWalter in #498
- fix: update get_evm_address to view by @Eikix in #501
- Update README.md by @JuMi231 in #503
- feat: add modexp precomile MVP - only for uint256 numbers by @dragan2234 in #475
- Feat/eoa_deploys_contract by @TotalPizza in #502
- Add starknet devnet by @ClementWalter in #511
- Feat/infinite allowance by @TotalPizza in #508
- Workshop/remove unused function by @0xEniotna in #528
- docs: add caveat for python3.9-dev by @kasteph in #515
- Use /mint route to fund account in devnet by @ClementWalter in #524
- update ca and eoa versions in constants by @zarboq in #518
- 📝 feat: natspec doc review by @bal7hazar in #504
- feat: test compute starknet address by @dragan2234 in #506
- refactor: eoa library file, remove unnecessary imports, use constants by @dragan2234 in #527
- Add spell check in CI by @ClementWalter in #529
- feat: EOA transfer token value by @greged93 in #526
- Build and push a Kakarot devnet docker image by @ClementWalter in #532
- Add ghcr.io and image name 'devnet' to tag by @ClementWalter in #533
- Workshop: update boolean constants by @weiihann in #531
- Remove unneeded code by @sarantapodarousa in #536
- Overflow tests push operations by @dbejarano820 in #530
- [devcontainer] Fix postCreateCommand to install project by @ClementWalter in #537
- Fix/revert should not stop execution in sub context by @jobez in #489
- Feat/new nonce handling by @TotalPizza in #534
- feat: call value transfer by @greged93 in #539
- feature: add
query_logs
method to kkrt wrapper by @jobez in #540 - Disable RPC json validation in devnet by @ClementWalter in #541
- Fix deploy on testnet2 & deploy kakarot in CI by @ClementWalter in #545
- Fix python version in deployment workflow by @ClementWalter in #546
- feat: transfer value callcode by @greged93 in #544
- Use rust VM for devnet by @ClementWalter in #547
- gasprice should return txn constant by @jobez in #548
- Try getPublicKey if get_public_key does not exist by @ClementWalter in #552
- feat: remove self-hosted runners by @Eikix in #553
- Fix EthTransaction assumes that s and r are 32 bytes long by @ClementWalter in #556
- fix: dependencies update by @greged93 in #559
- Update README.md by @Eikix in #561
- Update README.md by @Eikix in #562
- Add eth_call and eth_send_transaction entrypoints to kakarot by @ClementWalter in #554
- feat: deploy account contract + execute at address utils by @greged93 in #550
- fix: update scripts by @greged93 in #565
- Related comments for the EOA library functions added by @karasakalmt in #567
- fix: update constants by @greged93 in #566
- fix(fund_address): fix address to be hex when network is devnet by @bajpai244 in #569
- fix(#571): fix errors in readme and .env.example, issue #571 by @bajpai244 in #572
- Update to latest cairo 0.11.0.2 and reput web3 6 by @ClementWalter in #573
- Add Function Comment by @makluganteng in #535
- Add missing contrib and fix changed usernames by @ClementWalter in #578
- fix: update kakarot interaction script by @greged93 in #581
- Remove deprecated mermaid diagram and execution trace by @Eikix in #577
- Completion of IEth Interface by @dbejarano820 in #583
- feat push0 by @jobez in #585
- Use RPC instead of Gateway for deploy script by @ClementWalter in #587
- Write custom declare to fix RPC types mismatch by @ClementWalter in #588
- Refacto kakarot utils by @ClementWalter in #590
- Updates to work with madara by @ClementWalter in #591
- Remove events fetching error temporary fix by @danilowhk in #595
- Refacto chain definition by @ClementWalter in #598
- Add madara hacks to sharingan by @ClementWalter in #599
- Minors updates founds along the way of debuging kakarot in madara/katana by @ClementWalter in #593
- dev: remove
build-devnet
andbuild-mac
make commands by @bajpai244 in #597 - Feat/add katana docker container by @bajpai244 in #594
- Minor updates to deploy scripts after latest sharingan release by @ClementWalter in #602
- Bug/events should be linkable to emitting contract by @Eikix in #603
- fix: add infura env variable in deployments CI by @Eikix in #610
- feat: update katana docker image to download katana rather than building it by @bajpai244 in #605
- fix: fix katana docker image by @bajpai244 in #615
- Update .env.example for katana by @ClementWalter in #614
- Feat validate nonce in eo account by @StarkFishinator in #564
- Improve logging of starknet utils by @ClementWalter in #623
- Use Gateway provider in testnet by @ClementWalter in #626
- Fix compile_contract never add debug_info by @ClementWalter in #633
- fix: fix broken asset links for katna image by @bajpai244 in #634
- build: add EVM.cairo for deployment in CI by @bajpai244 in #625
- Add devnet in NETWORK config by @ClementWalter in #635
- line up deterministic addressing for the zero nonce case by @jobez in #638
- dev: make RPC URLs configurable by @ftupas in #640
- Minor devX improvements by @ClementWalter in #641
- Fix gateway only deployment by @ClementWalter in #643
- Do not qualify madara as devnet by @ClementWalter in #642
- Add a docker image to act as a Kakarot deployer by @ClementWalter in #639
- Fix SSTORE not working more than one time in a tx by @ClementWalter in #645
- Fix finalize_context breaking when caller is EOA by @lana-shanghai in #647
- Fix devnet CI breaking by @ClementWalter in #650
- Remove Katana and Devnet from build CI by @ClementWalter in #651
- Add comments to "utils/eth_transaction" by @danilowhk in #636
- test_create_has_determistic_address tests address w/o state by @jobez in #655
- feat: remove nonce management, use starknet nonce by @bajpai244 in #649
- Update starknet utils to latest by @ClementWalter in #659
- Chore/devcontainer by @Eikix in #665
- Fix testnet deploy adding gateway_client calls in kakarot.py by @devnet0x in #667
- Update starknet-py and cairo-coverage by @ClementWalter in #670
- feat: return eoa deployment fee to deployer by @bajpai244 in #669
- fix: update events emissions logic by @greged93 in #672
- feat: update deploy script to fund and deploy deployer accounts, Make OpenzeppelingAccount.cairo part of compilation script by @bajpai244 in #674
- dev: add changelog and enforce in ci by @ftupas in #676
- dev: add custom deployment network by @ftupas in #686
- Fix Caller Opcode by @danilowhk in #664
- Add test case for failing CREATEs in one single tx by @ClementWalter in #697
- chore: delete manual changelog flow by @Eikix in #701
- Add fixtures for debugging EF tests, and sha3_d0g0v0_Shanghai test by @ClementWalter in #702
- reproduce error in eoa->contract->eth transfer flow by @jobez in #709
- docs: update contributing.md by @Eikix in #711
- docs: remove Newton mentions from the readme by @Eikix in #710
- dev: use explicit name for custom network by @ftupas in #706
- Add condition for zero return_data_len in finalization if-statement by @jobez in #712
- Remove Account Registry from by @ashutosh887 in #717
- Refactor/send eth transaction by @Eikix in #714
- End-to-end tests by @ClementWalter in #713
- Add evm to starknet address mapping by @ClementWalter in #720
- docs: fix link to thoth callgraph and introduction by @Eikix in #723
- dev: add back nonce management for contract accounts by @ftupas in #716
- fix: allow transfer of
value
during contract creation by @bajpai244 in #725 - dev: add failing test for deployment of contract account when there is no return data by @ftupas in #728
- Update starknet-devnet by @ClementWalter in #734
- feat: add failing
sloadGasCost_d0g0v0_Shanghai
test by @ftupas in #733 - dev: set contract account nonce to 1 after CREATE/CREATE2 by @ftupas in #740
- Migrate solidity tests to end-to-end by @ClementWalter in #729
- Add an example forge script for easy test to anvil by @ClementWalter in #741
- Feat/push-katana-dumps-on-push by @bajpai244 in #744
- refactor: rename all instances of sayajin-labs into kkrt-labs for safety by @Eikix in #742
- Add trunk by @ClementWalter in #748
- Make wait_for_transaction handle v4 RPC by @ClementWalter in #749
- feat: migrate univ2 by @greged93 in #753
- feat/add ef blockchain format test runner by @jobez in #750
- Refacto solidity contracts directory by @ClementWalter in #757
- docs: add decode cairo trace markdown file by @Eikix in #758
- fix
evm_to_starknet_address
storage entry insetup_test_state
andis_account_eoa
predicate inassert_post_state
by @jobez in #756 - feat: add erc20 to compiled contracts by @greged93 in #760
- Fix/storage ef test by @Eikix in #762
- fix: fix evm_to_starknet_address mapping by @Eikix in #763
- Fix OutOfBounds for return_data by @ClementWalter in #765
- Add test case for issue 683 & 684 by @ClementWalter in #767
- feat: add ef-tests to CI by @bajpai244 in #755
- Stop reverting the Cairo VM when the EVM reverts by @ClementWalter in #769
- Fix: typos by @omahs in #772
- Use local state during a transaction by @ClementWalter in #771
- Remove wrong assert in Account.set_code by @ClementWalter in #774
- Add deploy_bytecode utils and fix dict_ptr error in memory.finalize by @ClementWalter in #775
- Stop raising Cairo VM errors for Stack over/under-flow by @ClementWalter in #778
- Use generic function for arithmetic ops by @ClementWalter in #780
- dev: python script to deploy ef-test on anvil by @greged93 in #779
- fix: update debug script by @greged93 in #783
- fix: signature extraction in decode legacy tx by @greged93 in #781
- Use opcode from context and OOG in Arithmetic Operations by @ClementWalter in #782
- Add OOG to BlockInformation by @ClementWalter in #784
- Remove unused implicit args by @ClementWalter in #786
- Use jump table in Block Informations by @ClementWalter in #791
- Add OOG to PUSH ops by @ClementWalter in #788
- Add OOG to DUP and SWAP ops by @ClementWalter in #790
- Add script to plot steps evolution by @ClementWalter in #794
- Add OOG for LOG operations by @ClementWalter in #800
- Add OOG to Comparison Operations by @ClementWalter in #798
- Add static OOG for all opcodes by @ClementWalter in #801
- Commit account iif it has code or nonce by @ClementWalter in #802
- Stop reverting on precompiles by @ClementWalter in #803
- Use true corresponding starknet address for precompiles by @ClementWalter in #804
- fix: add handling of invalid public key by @greged93 in #806
- Fix ERC20 error due to newly deployed SELFDESTRUCT contracts by @ClementWalter in #805
- fix: signextend to fit specification by @Eikix in #808
- feat: fast_exp by @Eikix in #809
- fix: fix empty account in extcodehash by @Eikix in #814
- fix: remove unused dump katana action by @Eikix in #818
- fix: basefee returns gasprice by @Eikix in #817
- Put balance in Account instead of State by @ClementWalter in #807
- fix: ef-tests debug script by @greged93 in #820
- Fix bytecode is not written when starknet contract already exists by @ClementWalter in #822
- fix: fix early return for create by @Eikix in #810
- Fix safe uint256 sub by @ClementWalter in #824
- Run tx in anvil debug script by @ClementWalter in #826
- Halt ctx in SELFDESTRUCT by @ClementWalter in #823
- Remove unused ensure_lenght by @ClementWalter in #825
- Add memory expansion gas accounting by @ClementWalter in #828
- Fix resources CI by @ClementWalter in #834
- Fix resources step summary by @ClementWalter in #837
- fix timestamp by @greged93 in #838
- Add casting utils by @ClementWalter in #840
- Refacto casting utils by @ClementWalter in #841
- Refacto casting utils (ter) by @ClementWalter in #842
- Refactor/eoa new param by @Eikix in #839
- Add scope=missing for utils tests by @ClementWalter in #844
- Refacto CREATEs opcodes by @ClementWalter in #843
- dev: move skip file locally to repo by @greged93 in #847
- ci: use ef-tests main branch by @Eikix in #849
- fix: add KAKAROT_VERSION in ef-tests CI run by @greged93 in #850
- Use implicit args by @ClementWalter in #846
- Add Environment struct by @ClementWalter in #852
- Compute resources even when test fails by @ClementWalter in #854
- Fix stack output casting by @ClementWalter in #859
- fix: docker deployer by @greged93 in #860
- fix: write access to packages by @greged93 in #862
- Fix MULMOD doesn't handle mod = 0 by @ClementWalter in #864
- Prepare onboarding by @ClementWalter in #863
- fix: addmod impl by @enitrat in #865
- Remove RLP.encode and use optimized bytes_to_felt in decode by @ClementWalter in #866
- feat/increase_deploy_kakarot_eth_balance by @Eikix in #868
- feat: is_account_alive by @enitrat in #871
- feat: valid jumpdests by @enitrat in #867
- refactor: use evm_address instead of address by @enitrat in #875
- chore: activate trunk pre-push hook by @enitrat in #877
- Add pure cairo test runner with tracer by @ClementWalter in #873
- feat: return gas_used in eth_call and eth_send_transaction by @enitrat in #876
- Fix profiling for test using starknet by @ClementWalter in #879
- Update skip file by @ClementWalter in #881
- Allow cairo_run to be used with %lang starknet cairo files by @ClementWalter in #883
- Update trunk by @ClementWalter in #886
- refactor: call opcode w/ gas by @enitrat in #880
- Update skip file post EIP1559 fix by @ClementWalter in #892
- Update kakarot links by @pucedoteth in #884
- Fix segments order in cairo runner by @ClementWalter in #893
- feat: gas accounting call opcodes by @enitrat in #894
- refactor: use u256 for value type by @enitrat in #895
- Mock syscalls in tests by @ClementWalter in #896
- Fix print helpers based on new hints by @ClementWalter in #901
- fix: handle access list tx by @greged93 in #905
- feat: enable recursive RLP-list decoding by @enitrat in #908
- Add debug_info hint util by @ClementWalter in #915
- Refacto integrations tests by @ClementWalter in #917
- Add SSJ precompiles by @ClementWalter in #913
- Use Starknet chain id by @ClementWalter in #920
- Fix chain_id is undefined in unit tests by @ClementWalter in #922
- feat: decode access list transactions by @enitrat in #923
- Add IPrecompiles and use returned gas and success flag by @ClementWalter in #925
- feat: cache access list by @enitrat in #924
- Docs/update readme by @Eikix in #926
- feat: charge dynamic gas costs based on warm/cold access by @enitrat in #904
- feat: add a test to show eth_call by @Eikix in #927
- Refacto CA bytecode read and write by @ClementWalter in #921
- Unskip after access list and EIP2929 by @ClementWalter in #934
- Add serde for model.State and included models by @ClementWalter in #936
- ci: added release workflow by @d-roak in #933
New Contributors
- @spapinistarkware made their first contribution in #301
- @mnekx made their first contribution in #313
- @gaetbout made their first contribution in #321
- @jobez made their first contribution in #320
- @SecurityQQ made their first contribution in #341
- @seshanthS made their first contribution in #373
- @Flydexo made their first contribution in #422
- @ArnaudBD made their first contribution in #429
- @omahs made their first contribution in #437
- @greged93 made their first contribution in #447
- @FranFiuba made their first contribution in #450
- @sparqet made their first contribution in #449
- @dragan2234 made their first contribution in #499
- @JuMi231 made their first contribution in #503
- @0xEniotna made their first contribution in #528
- @kasteph made their first contribution in #515
- @bal7hazar made their first contribution in #504
- @weiihann made their first contribution in #531
- @sarantapodarousa made their first contribution in #536
- @dbejarano820 made their first contribution in #530
- @karasakalmt made their first contribution in #567
- @bajpai244 made their first contribution in #569
- @makluganteng made their first contribution in #535
- @StarkFishinator made their first contribution in #564
- @lana-shanghai made their first contribution in #647
- @devnet0x made their first contribution in #667
- @ashutosh887 made their first contribution in #717
- @enitrat made their first contribution in #865
- @pucedoteth made their first contribution in #884
- @d-roak made their first contribution in #933
Full Changelog: v0.1.0...v0.2.0