{"id":30340648,"url":"https://github.com/kkrt-labs/kakarot","last_synced_at":"2025-10-24T06:32:28.913Z","repository":{"id":61687259,"uuid":"545531678","full_name":"kkrt-labs/kakarot","owner":"kkrt-labs","description":"Kakarot is a zkEVM written in Cairo, leveraging the STARK proof system.","archived":false,"fork":false,"pushed_at":"2024-10-29T09:23:07.000Z","size":21883,"stargazers_count":983,"open_issues_count":39,"forks_count":296,"subscribers_count":24,"default_branch":"main","last_synced_at":"2024-10-29T09:50:40.018Z","etag":null,"topics":["cairo-lang","ethereum","evm","proof-system","smart-contracts","stark","starknet","zero-knowledge"],"latest_commit_sha":null,"homepage":"https://kakarot.org","language":"Cairo","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kkrt-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":"audits/cairo_zero/Kakarot EVM - Zellic Audit Report.pdf","citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-04T14:33:18.000Z","updated_at":"2024-10-29T08:29:57.000Z","dependencies_parsed_at":"2023-09-11T02:00:47.437Z","dependency_job_id":"d07475c4-0b6b-49b7-98b3-5cf7b36ed342","html_url":"https://github.com/kkrt-labs/kakarot","commit_stats":null,"previous_names":["kkrt-labs/kakarot","sayajin-labs/kakarot"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/kkrt-labs/kakarot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkrt-labs%2Fkakarot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkrt-labs%2Fkakarot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkrt-labs%2Fkakarot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkrt-labs%2Fkakarot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kkrt-labs","download_url":"https://codeload.github.com/kkrt-labs/kakarot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkrt-labs%2Fkakarot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270962405,"owners_count":24675968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cairo-lang","ethereum","evm","proof-system","smart-contracts","stark","starknet","zero-knowledge"],"created_at":"2025-08-18T08:13:21.898Z","updated_at":"2025-10-24T06:32:23.882Z","avatar_url":"https://github.com/kkrt-labs.png","language":"Cairo","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs/img/kakarot_github_banner.png\" width=\"700\"\u003e\n\u003c/p\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ch3 align=\"center\"\u003e\n  Kakarot, the zkEVM written in Cairo.\n  \u003c/h3\u003e\n\u003c/div\u003e\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/kkrt-labs/kakarot/ci.yml?branch=main)](https://github.com/kkrt-labs/kakarot/actions)\n[![GitHub](https://img.shields.io/github/license/kkrt-labs/kakarot?style=flat-square\u0026logo=github)](https://github.com/kkrt-labs/kakarot/blob/main/LICENSE)\n[![GitHub contributors](https://img.shields.io/github/contributors/kkrt-labs/kakarot?logo=github\u0026style=flat-square)](https://github.com/kkrt-labs/kakarot/graphs/contributors)\n![GitHub top language](https://img.shields.io/github/languages/top/kkrt-labs/kakarot?style=flat-square)\n[![Telegram](https://img.shields.io/badge/telegram-Kakarot-yellow.svg?logo=telegram)](https://t.me/KakarotZkEvm)\n![Contributions welcome](https://img.shields.io/badge/contributions-welcome-orange.svg)\n[![GitHub Repo stars](https://img.shields.io/github/stars/kkrt-labs/kakarot?style=social)](https://github.com/kkrt-labs/kakarot/stargazers)\n[![Twitter Follow](https://img.shields.io/twitter/follow/KakarotZkEvm?style=social)](https://x.com/KakarotZkEvm)\n[![Discord](https://img.shields.io/discord/984015101017346058?color=%235865F2\u0026label=Discord\u0026logo=discord\u0026logoColor=%23fff)](https://discord.gg/kakarotzkevm)\n\n## Update\n\nThis repository - an EVM emulator on Starknet - is frozen at latest audited and\ntested commit: `5caaf28e6188ea8b3726a2db5d4940ecb5afd898`. The team is working\non [keth](https://github.com/kkrt-labs/keth), an Ethereum Prover. Contact us on\n[Twitter](https://x.com/KakarotZkEvm) or\n[Discord](https://discord.com/invite/kakarotzkevm) if you would like to use the\nEVM emulator on Starknet in production.\n\n## Introduction\n\nThis repository contains the set of Cairo (Cairo compiler version Zero) programs\nthat implement the core EVM logic of Kakarot zkEVM.\n\nKakarot is an EVM implementation in Cairo. Cairo being a high-level\nzero-knowledge domain specific language (zkDSL), Kakarot is provable by design.\nThis allows for proving the execution of EVM transactions, and makes Kakarot a\n_de facto_ so-called _zkEVM_.\n\nWe strongly believe the CairoVM will provide the best zero-knowledge toolbox in\nthe coming years and that the Ethereum network effect will remain prevalent. We\npresent to developers an abstraction layer they're familiar with: the EVM. Build\nand deploy as if you were working on Ethereum, be forward compatible with the\nfuture of zero-knowledge.\n\n[Kakarot presentations and talks around the world](https://www.youtube.com/playlist?list=PLF3T1714MyKDwjjA8oHizXAdLNx62ka5U)\n\n[Getting started](#getting-started) • [Build](#build) • [Test](#test) •\n[Report a bug](https://github.com/kkrt-labs/kakarot/issues/new?assignees=\u0026labels=bug\u0026template=01_BUG_REPORT.md\u0026title=bug%3A+)\n\n## Supported opcodes\n\nWe support 100% of EVM opcodes and\n[9 out of 10 precompiles](https://docs.kakarot.org/starknet/architecture/cairo-precompiles).\n\n## Documentation\n\n### Architecture\n\nHere is a high-level architecture diagram of the entire Kakarot zkEVM system.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/img/architecture.png\" width=\"70%\" alt=\"Kakarot high-level architecture\"\u003e\n\u003c/p\u003e\n\nThe set of Cairo programs in this repository are represented below:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/img/core_evm_diagram.png\" width=\"60%\" alt=\"Kakarot Core EVM diagram\"\u003e\n\u003c/p\u003e\n\n- ✅ Kakarot Core EVM is a set of Cairo programs\n\n- ✅ Kakarot can be packaged as a smart contract and deployed on any chain that\n  runs the CairoVM (StarknetOS chains, Starknet Appchains, Starknet clients).\n\n- ✅ Kakarot is an EVM implementation.\n\n- ⚠️ Kakarot Core EVM (the Cairo programs in this repository) is not a\n  blockchain by itself. Combined with an underlying CairoVM chain, an RPC layer,\n  it forms an EVM runtime embedded inside a Starknet appchain.\n\n- ❌ Kakarot is not a compiler.\n\n## Getting started\n\nTo contribute and setup your development environment, please check out\n[the contribution guide](./docs/CONTRIBUTING.md).\n\n## Build\n\nThe project uses [uv](https://github.com/astral-sh/uv) to manage python\ndependencies and run commands. To install uv:\n\n```bash\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\nTo setup the project and install\n[all dependencies](docs/CONTRIBUTING.md#prerequisites):\n\n```bash\nmake setup\n```\n\nTo build the CairoZero files:\n\n```bash\nmake build\n```\n\nTo build the test Solidity smart contracts:\n\n```bash\n# install foundry if you don't have it already\n# curl -L https://foundry.paradigm.xyz | bash\n# foundryup\nmake build-sol\n```\n\n## Code style\n\nThe project uses [trunk.io](https://trunk.io/) to run a comprehensive list of\nlinters.\n\nTo install Trunk, run:\n\n```bash\ncurl https://get.trunk.io -fsSL | bash\n```\n\nYou can also add Trunk to VSCode with\n[this extension](https://marketplace.visualstudio.com/items?itemName=Trunk.io).\n\nThen, don't forget to select Trunk as your default formatter in VSCode (command\npalette \u003e Format Document With \u003e Trunk).\n\nOnce Trunk is installed, you can install a pre-push hook to run the linters\nbefore each push:\n\n```bash\ntrunk git-hooks sync\n```\n\n## Test\n\n### Kakarot tests\n\nKakarot tests uses [pytest](https://docs.pytest.org/) as test runner. Make sure\nto read the [doc](https://docs.pytest.org/) and get familiar with the tool to\nbenefit from all of its features.\n\n```bash\n# Runs a local CairoVM client (or StarknetOS chain)\nmake run-nodes\n\n# Run all tests. This requires a Katana instance and an Anvil instance running in the background: `make run-nodes`\nmake test\n\n# Run only unit tests\nmake test-unit\n\n# Run only e2e tests\nmake test-end-to-end\n\n# Run a specific test file\npytest \u003cPATH_TO_FILE\u003e\n\n# Run a specific test mark (markers in pyproject.toml)\npytest -m \u003cMARK\u003e\n```\n\nTest architecture is the following:\n\n- tests/src contains cairo tests for each cairo function in the kakarot codebase\n  running either in plain cairo or with the starknet test runner;\n- tests/end_to_end contains end-to-end tests running on an underlying\n  Starknet-like network (using the Starknet RPC), currently\n  [Katana](https://github.com/dojoengine/dojo). These end-to-end tests contain\n  both raw bytecode execution tests and test on real solidity contracts.\n\nThe difference between the starknet test runner (when using contracts) and the\nplain cairo one is that the former emulate a whole starknet network and is as\nsuch much slower (~10x).\n\nConsequently, when writing tests, don't use contracts unless it's really\nrequired. Actually, for tests requiring a Starknet devnet, prefer end-to-end\nrelying only on a RPC endpoint and currently running on Katana.\n\nFor an example of the cairo test runner, see for example\n[the RLP library tests](./cairo_zero/tests/src/utils/test_rlp.py). Especially,\nthe cairo runner uses hints to communicate values and return outputs:\n\n- `kwargs` of `cairo_run` are available in the `program_input` variable\n- values written in the `output_ptr` segment are returned, e.g.\n  `segments.write_arg(output_ptr, [ids.x])` will return the list `[x]`.\n\nBoth cairo and starknet tests can be used with the `--profile-cairo` flag to\ngenerate a profiling file (see the `--profile_output` flag of the `cairo-run`\nCLI). The file can then be used with `pprof`, for example:\n\n```bash\ngo tool pprof --png \u003cpath_to_file.pb.gz\u003e\n```\n\nThe project also contains a regular forge project (`./solidity_contracts`) to\ngenerate real artifacts to be tested against. This project also contains some\nforge tests (e.g. `PlainOpcodes.t.sol`) which purpose is to test easily the\nsolidity functions meant to be tested with kakarot, i.e. quickly making sure\nthat they return the expected output so that we know that we focus on kakarot\ntesting and not .sol testing. They are not part of the CI. Simply use\n`forge test` to run them.\n\n### EF tests\n\nTo run the [Ethereum Foundation test suite](https://github.com/ethereum/tests),\nyou need to pull locally\n[the Kakarot ef-tests runner](https://github.com/kkrt-labs/ef-tests). To\nsimplify the devX, you can create symlinks in the ef-tests repo pointing to your\nlocal changes. For example:\n\n```bash\nln -s /Users/clementwalter/Documents/kkrt-labs/kakarot/blockchain-tests-skip.yml blockchain-tests-skip.yml\nmkdir build \u0026\u0026 cd build\nln -s /Users/clementwalter/Documents/kkrt-labs/kakarot/build/ v0\nln -s /Users/clementwalter/Documents/kkrt-labs/kakarot/build/fixtures/ common\n```\n\nWith this setting, you can run a given EF test against your local Kakarot build\nby running (in the ef test directory):\n\n```bash\ncargo test \u003ctest_name\u003e --features v0 -- --nocapture\n# e.g. cargo test test_sha3_d7g0v0_Cancun --features v0 -- --nocapture\n```\n\nSee [this doc](./docs/general/decode_a_cairo_trace.md) to learn how to debug a\ncairo trace when the CairoVM reverts.\n\n## Deploy\n\nThe following describes how to deploy the Kakarot as a Starknet smart contract\non an underlying StarknetOS network.\n\nIt is **not** a description on how to deploy a solidity contract on the Kakarot\nEVM.\n\nNote that the chosen `chain_id` when deploying is important:\n\n- To keep compatibility with metamask the max chain id is 4503599627370476 see\n  https://gist.github.com/rekmarks/a47bd5f2525936c4b8eee31a16345553\n- To be compatible with ledger the chain id needs to be inferior to 4 bytes see\n  https://github.com/kkrt-labs/kakarot/issues/1530\n\nThe [deploy script](./kakarot_scripts/deployment/kakarot_deployment.py) relies\non some env variables defined in a `.env` file located at the root of the\nproject and loaded in the [constant file](./kakarot_scripts/constants.py). To\nget started, just\n\n```bash\ncp .env.example .env\n```\n\nThe default file is self sufficient for using Kakarot with KATANA. If targeting\nother networks, make sure to fill the corresponding variables.\n\nFurthermore, if you want to run the\n[check-resources](./kakarot_scripts/check_resources.py) locally to check the\nsteps usage of your local changes in the EF tests against main and other\nbranches, you need to fill the following\n\n```text\nGITHUB_TOKEN=your_github_token\n```\n\nYou can learn how to create this token from\n[here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token),\nwe would suggest using a fine-grained token with only read access.\n\nBy default, everything will run on a local katana (started with\n`make run-katana`). If you want to deploy to a given target, set the\n`STARKNET_NETWORK` env variable, for example:\n\n```bash\nmake deploy # localhost\nSTARKNET_NETWORK=testnet make deploy\nSTARKNET_NETWORK=mainnet make deploy\n```\n\nDeployed contract addresses will be stored in\n`./deployments/{networks}/deployments.json`.\n\nA step by step description of the individual components and how they are\ndeployed/configured can be found [here](docs/general/kakarot_components.md).\n\n## Slither\n\nTo run slither against provided Kakarot solidity contracts, you need to install\nslither and run:\n\n```bash\nforge build --build-info --force\nslither . --foundry-out-directory solidity_contracts/build --ignore-compile --include-paths \"DualVmToken.sol|L1KakarotMessaging.sol|L2KakarotMessaging.sol\" --checklist \u003e report.md\n```\n\n## Deeper dive\n\nThis deep dive was written by Zellic\n([Filippo Cremonese](https://github.com/fcremo)) as a result of their audit of\nKakarot, as well as their preparation for the Code4rena competitive audit of the\ncodebase. A more in-depth note can be found on\n[Code4rena](https://code4rena.com/audits/2024-09-kakarot).\n\nKakarot consists of two major logical components: the core contract and the\naccount contract.\n\n### Core contract\n\nThe core contract handles transaction parsing and implements the interpreter\nwhich executes EVM bytecode. Only one instance of this contract is deployed.\n\n### Account contract\n\nAs the name suggests, the account contract represents EVM accounts, both smart\ncontracts and externally owner accounts (EOAs). Each EVM account is represented\nby a separate instance of the account contract (or more accurately, by an\ninstance of a proxy contract, see the following section) which stores the state\nof the account, including the nonce, bytecode, and persistent storage. The\naccount balance is not stored in the account contract, since Kakarot uses a\nStarknet ERC20 token as its EVM-native currency.\n\nNote that while executing a transaction, information about the state of an\naccount is usually read from the account contract and cached directly by the\ncore contract. The account state is updated by the core contract only when\nrequired -- typically when a transaction has finished processing and changes to\nthe account state need to be committed.\n\n### Account contract deployment\n\n[^NOTE: some aspects of contract deployment changed since the code revision\naudited by Zellic. This description tries to match the current behavior]\n\nOne of the Kakarot design goals is to guarantee a deterministic Starknet address\nfor each Kakarot account contract not influenced by the implementation of the\naccount contract. This allows to upgrade the account contract implementation\nwithout affecting the Starknet address of a Kakarot EVM account, and to derive\nthe Starknet address of an account contract before it is even deployed and/or\noff-chain.\n\nIt also allows the core contract to authenticate the source of a call and\ndetermine whether it originates from a legitimate Kakarot account contract.\n\nTo achieve this, Kakarot deploys an instance of a simple account proxy contract\nto represent each EVM account. When called, the proxy contract obtains the class\nhash of the actual account contract from the Kakarot core contract and performs\na library call (essentially the equivalent of EVM `delegatecall` for Cairo).\n\nThe account proxy is always deployed by the core Kakarot contract, setting\n`deploy_from_zero=FALSE`. The constructor also receives the EVM address\nrepresented by the account contract. Therefore,\n[the Starknet address of an account (proxy) contract](https://github.com/kkrt-labs/kakarot/blob/221b97671ad7cf21d01ee52ffd48f2b7c018ffc5/src/kakarot/account.cairo#L519)\ndepends on the following variables:\n\n- the class hash of the proxy contract\n- the address of the Kakarot core contract\n- the EVM address represented by the account contract\n\n### Transaction flow\n\nNote: important details of the transaction flow changed since the code revision\nreviewed by Zellic. This includes changes to the account contract entrypoints\nand the separation of concerns between the core contract and account contract.\n\nThe flow of an EVM transaction into Kakarot is deep and could feel overwhelming\nat first. This section illustrates the execution path of a normal Ethereum\ntransaction. Some simplifications and omissions needed to be made, but it should\ngive you a good idea of the steps that are taken from the very entry point,\nright down to the EVM interpreter loop.\n\nThe journey starts with the account contract representing the EVM account\nsending the transaction; to be specific, the first entry point into Kakarot is\nthe\n[`__default__`](https://github.com/kkrt-labs/kakarot/blob/2b57e602b4380554d09792ff182d9bdc2ad7a619/src/kakarot/accounts/uninitialized_account.cairo#L53)\nfunction of the proxy account contract. The proxy retrieves from the core\nKakarot contract the class hash of the actual account contract implementation,\nand library calls if (Starknet equivalent of `delegatecall`ing) forwarding the\noriginal calldata. This allows to upgrade the implementation of all account\ncontracts at once. The diagram below shows this flow:\n\n```mermaid\nsequenceDiagram\n    actor U as User\u003cbr\u003e(or paymaster)\n    participant AP as AccountProxy\n    participant EVM as Kakarot Core\n    participant A as AccountContract\n\n    U -\u003e\u003e AP: Submit call\n    note over AP: __default__ handles all calls\n\n    AP -\u003e\u003e EVM: get_account_contract_class_hash()\n    EVM -\u003e\u003e AP: Account contract class hash\n    AP -\u003e\u003e A: library_call\u003cbr\u003eForwarding original calldata\n```\n\nIn the case of the Kakarot Starknet deployment, the Starknet transaction\ntypically be initiated by a paymaster account, which will fund the Starknet gas\nrequired to process the transaction. Note however that anyone can call the\naccount proxy contract to submit an EVM transaction to Kakarot.\n\nThe entry point into the account contract is its\n[`execute_from_outside`](https://github.com/kkrt-labs/kakarot/blob/2b57e602b4380554d09792ff182d9bdc2ad7a619/src/kakarot/accounts/account_contract.cairo#L96)\nfunction. This function performs several checks, including verification of the\ntransaction signature, ensuring the transaction was signed by the private key\nassociated to the public key represented by the account.\n\nAfter verifying the transaction signature, the account contract calls the\nKakarot core contract `eth_rpc` module, specifically the\n[`eth_send_raw_unsigned_tx`](https://github.com/kkrt-labs/kakarot/blob/2b57e602b4380554d09792ff182d9bdc2ad7a619/src/kakarot/eth_rpc.cairo#L239)\nfunction. This function verifies several other properties of the transaction\n(nonce, chain ID, gas parameters, account balance), and invokes\n[`eth_send_transaction`](https://github.com/kkrt-labs/kakarot/blob/2b57e602b4380554d09792ff182d9bdc2ad7a619/src/kakarot/eth_rpc.cairo#L188).\n\n`eth_send_transaction` performs another critical check, verifying that the\nStarknet address of the caller matches the expected Starknet address of the\nsender of the EVM transaction. This guarantees that the caller is a legitimate\nKakarot account contract, and therefore that (modulo critical bugs) the\ntransaction signature was validated correctly.\n\nExecution continues in the Kakarot core\n[`eth_call`](https://github.com/kkrt-labs/kakarot/blob/2b57e602b4380554d09792ff182d9bdc2ad7a619/src/kakarot/library.cairo#L78)\nfunction, which retrieves the bytecode of the contract being called from the\ncorresponding contract account.\n\nFinally, execution reaches the actual virtual machine implementation. The\ninterpreter module\n[`execute`](https://github.com/kkrt-labs/kakarot/blob/2b57e602b4380554d09792ff182d9bdc2ad7a619/src/kakarot/interpreter.cairo#L820)\nfunction initializes all the structures needed to store the execution state\n([`Message`](https://github.com/kkrt-labs/kakarot/blob/1b920421b354275e48d101a070d7aa3467eed9b6/src/kakarot/interpreter.cairo#L880),\n[`Stack`](https://github.com/kkrt-labs/kakarot/blob/1b920421b354275e48d101a070d7aa3467eed9b6/src/kakarot/interpreter.cairo#L899),\n[`Memory`](https://github.com/kkrt-labs/kakarot/blob/1b920421b354275e48d101a070d7aa3467eed9b6/src/kakarot/interpreter.cairo#L900),\n[`State`](https://github.com/kkrt-labs/kakarot/blob/1b920421b354275e48d101a070d7aa3467eed9b6/src/kakarot/interpreter.cairo#L901),\n[`EVM`](https://github.com/kkrt-labs/kakarot/blob/1b920421b354275e48d101a070d7aa3467eed9b6/src/kakarot/interpreter.cairo#L912)).\n\nThe interpreter loop is implemented using tail-recursion by the\n[`run`](https://github.com/kkrt-labs/kakarot/blob/2b57e602b4380554d09792ff182d9bdc2ad7a619/src/kakarot/interpreter.cairo#L739)\nfunction, and the individual opcodes are handled by the aptly-named\n[`exec_opcode`](https://github.com/kkrt-labs/kakarot/blob/2b57e602b4380554d09792ff182d9bdc2ad7a619/src/kakarot/interpreter.cairo#L50).\n\nWhen execution ends (successfully or not) the state of the accounts involved in\nthe transaction need to be updated. This is mostly handled by a call to\n`Starknet.commit(...)`, which performs some finalization on the state structures\nand then updates the state persisted in the account contracts (e.g. updating\ntheir nonce or storage), and also performs the actual Starknet ERC20 transfers\nneeded to transfer the native currency used by Kakarot between accounts.\n\nThe following diagram summarizes the flow of a transaction from account contract\nto the interpreter loop and back:\n\n```mermaid\nsequenceDiagram\n    actor U as User\n\n    participant A as AccountContract\n\n    box Kakarot Core\n        participant RPC as eth_rpc\n        participant K as Kakarot\n        participant I as Interpreter\n    end\n\n    note over U: Note: proxy flow not represented\n\n    U -\u003e\u003e A: execute_from_outside(...)\n    note over A: Check EVM tx signature\n\n    A -\u003e\u003e RPC: eth_send_raw_unsigned_tx(...)\n    note over RPC: Decode tx\u003cbr\u003eCheck chain ID, nonce, gas params,\u003cbr\u003esender native balance, ...\n\n    RPC -\u003e\u003e RPC: eth_send_transaction(...)\n    note over RPC: Verify caller address\u003cbr\u003e(via safe_get_evm_address)\n\n    RPC -\u003e\u003e K: Kakarot.eth_call(...)\n\n    K -\u003e\u003e A: get_bytecode()\n    A -\u003e\u003e K: Bytecode returned\n\n    K -\u003e\u003e I: Interpreter.execute(...)\n\n    note over I: Init state structs:\u003cbr\u003eMessage, EVM, stack, memory, ...\u003cbr\u003eInit called account if needed\n\n    loop Interpreter loop\n        note over I: exec_opcode(...) is the function handling individual opcodes\n    end\n\n    note over I: State finalization:\u003cbr\u003esquash memory dict, apply state balance changes, ...\n\n    I -\u003e\u003e K: EVM state:\u003cbr\u003eresult, stack, memory, gas_used, ...\n\n    rect rgb(240,240,240)\n        K -\u003e\u003e K: Starknet.commit()\n        note over K: Update accounts nonce\u003cbr\u003eCommit accounts storage\u003cbr\u003eEmit events\u003cbr\u003ePerform ERC20 balance transfers\n    end\n\n    K -\u003e\u003e A: returndata, success, gas used\n    note over A: Emit transaction_executed event\n    A -\u003e\u003e U: returndata\n```\n\n## License\n\n**kakarot** is released under the [MIT](LICENSE).\n\n## Security\n\nKakarot follows good practices of security, but 100% security cannot be assured.\nKakarot is provided **\"as is\"** without any **warranty**. Use at your own risk.\n\n_For more information and to report security issues, please refer to our\n[security documentation](docs/SECURITY.md)._\n\n## Contributing\n\nFirst off, thanks for taking the time to contribute! Contributions are what make\nthe open-source community such an amazing place to learn, inspire, and create.\nAny contributions you make will benefit everybody else and are **greatly\nappreciated**.\n\nPlease read [our contribution guidelines](docs/CONTRIBUTING.md), and thank you\nfor being involved!\n\n## Contributors\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/abdelhamidbakhta\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/45264458?v=4?s=100\" width=\"100px;\" alt=\"Abdel @ StarkWare \"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAbdel @ StarkWare \u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=abdelhamidbakhta\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=abdelhamidbakhta\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=abdelhamidbakhta\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#infra-abdelhamidbakhta\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#projectManagement-abdelhamidbakhta\" title=\"Project Management\"\u003e📆\u003c/a\u003e \u003ca href=\"#mentoring-abdelhamidbakhta\" title=\"Mentoring\"\u003e🧑‍🏫\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/LucasLvy\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/70894690?v=4?s=100\" width=\"100px;\" alt=\"Lucas\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLucas\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=LucasLvy\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=LucasLvy\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=LucasLvy\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#mentoring-LucasLvy\" title=\"Mentoring\"\u003e🧑‍🏫\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/0xMentorNotAPseudo\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4404287?v=4?s=100\" width=\"100px;\" alt=\"Mentor Reka\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMentor Reka\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=0xMentorNotAPseudo\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=0xMentorNotAPseudo\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=0xMentorNotAPseudo\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#infra-0xMentorNotAPseudo\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/danilowhk\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/12735159?v=4?s=100\" width=\"100px;\" alt=\"danilowhk\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edanilowhk\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=danilowhk\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=danilowhk\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://linktr.ee/lenny.codes\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/46480795?v=4?s=100\" width=\"100px;\" alt=\"Lenny\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLenny\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=0xlny\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=0xlny\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/florian-bellotti\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7861901?v=4?s=100\" width=\"100px;\" alt=\"Florian Bellotti\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFlorian Bellotti\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=florian-bellotti\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=florian-bellotti\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/l-henri\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22731646?v=4?s=100\" width=\"100px;\" alt=\"Henri\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHenri\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=l-henri\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=l-henri\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/TotalPizza\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/50166315?v=4?s=100\" width=\"100px;\" alt=\"FreshPizza\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFreshPizza\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=TotalPizza\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=TotalPizza\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/clementwalter\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18620296?v=4?s=100\" width=\"100px;\" alt=\"Clément Walter\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eClément Walter\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=ClementWalter\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=ClementWalter\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=ClementWalter\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/richwarner\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1719742?v=4?s=100\" width=\"100px;\" alt=\"Rich Warner\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRich Warner\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=richwarner\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=richwarner\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/pscott\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/30843220?v=4?s=100\" width=\"100px;\" alt=\"pscott\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003epscott\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=pscott\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=pscott\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Eikix\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/66871571?v=4?s=100\" width=\"100px;\" alt=\"Elias Tazartes\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eElias Tazartes\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Eikix\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Eikix\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Riad-Quadratic\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/116729712?v=4?s=100\" width=\"100px;\" alt=\"Riad-Quadratic\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRiad-Quadratic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Riad-Quadratic\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Riad-Quadratic\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/tyler-smith\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2145522?v=4?s=100\" width=\"100px;\" alt=\"Tyler Smith\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTyler Smith\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=tyler-smith\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/spapinistarkware\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/43779613?v=4?s=100\" width=\"100px;\" alt=\"Shahar Papini\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eShahar Papini\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#mentoring-spapinistarkware\" title=\"Mentoring\"\u003e🧑‍🏫\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=spapinistarkware\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=spapinistarkware\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Riad-Quadratic\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/116729712?v=4?s=100\" width=\"100px;\" alt=\"Riad \u0026#124; Quadratic\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRiad \u0026#124; Quadratic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Riad-Quadratic\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/thomas-quadratic\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/116874460?v=4?s=100\" width=\"100px;\" alt=\"thomas-quadratic\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ethomas-quadratic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=thomas-quadratic\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/pedro-bergamini-611496160/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/41773103?v=4?s=100\" width=\"100px;\" alt=\"Pedro Bergamini\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePedro Bergamini\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=pedrobergamini\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ptisserand\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/544314?v=4?s=100\" width=\"100px;\" alt=\"ptisserand\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eptisserand\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=ptisserand\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/hurrikaanig\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/37303126?v=4?s=100\" width=\"100px;\" alt=\"TurcFort07\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTurcFort07\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=hurrikaanig\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/mnemba-chambuya\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22321030?v=4?s=100\" width=\"100px;\" alt=\"Mnemba Chambuya\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMnemba Chambuya\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=mnekx\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/matthieuauger\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1172099?v=4?s=100\" width=\"100px;\" alt=\"Matthieu Auger\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMatthieu Auger\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#mentoring-matthieuauger\" title=\"Mentoring\"\u003e🧑‍🏫\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=matthieuauger\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=matthieuauger\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ftupas\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/35031356?v=4?s=100\" width=\"100px;\" alt=\"ftupas\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eftupas\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=ftupas\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/jobez\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/615197?v=4?s=100\" width=\"100px;\" alt=\"johann bestowrous\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ejohann bestowrous\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=jobez\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://seshanth.xyz/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/35675963?v=4?s=100\" width=\"100px;\" alt=\"Seshanth.S\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSeshanth.S\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=seshanthS\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://bezier.fi/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/66029824?v=4?s=100\" width=\"100px;\" alt=\"Flydexo\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFlydexo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Flydexo\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Flydexo\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Flydexo\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/petarcalic99\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/47250382?v=4?s=100\" width=\"100px;\" alt=\"Petar Calic\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePetar Calic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=petarcalic99\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=petarcalic99\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/gaetbout\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16206518?v=4?s=100\" width=\"100px;\" alt=\"gaetbout\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003egaetbout\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-gaetbout\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/greged93\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/82421016?v=4?s=100\" width=\"100px;\" alt=\"greged93\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003egreged93\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=greged93\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=greged93\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/FranFiuba\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5733366?v=4?s=100\" width=\"100px;\" alt=\"Francisco Strambini\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFrancisco Strambini\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=FranFiuba\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=FranFiuba\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/sparqet\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/37338401?v=4?s=100\" width=\"100px;\" alt=\"sparqet\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esparqet\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=sparqet\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=sparqet\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/omahs\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/73983677?v=4?s=100\" width=\"100px;\" alt=\"omahs\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eomahs\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=omahs\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ArnaudBD\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/20355199?v=4?s=100\" width=\"100px;\" alt=\"ArnaudBD\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eArnaudBD\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=ArnaudBD\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/dragan-pilipovic-78bb4712a/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22306045?v=4?s=100\" width=\"100px;\" alt=\"Dragan Pilipovic\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDragan Pilipovic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=dragan2234\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=dragan2234\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/bajpai244\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/41180869?v=4?s=100\" width=\"100px;\" alt=\"Harsh Bajpai\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHarsh Bajpai\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=bajpai244\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=bajpai244\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=bajpai244\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/0xEniotna\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/101047205?v=4?s=100\" width=\"100px;\" alt=\"Antoine\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAntoine\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=0xEniotna\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Bal7hazar\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/97087040?v=4?s=100\" width=\"100px;\" alt=\"Bal7hazar @ Carbonable\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBal7hazar @ Carbonable\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Bal7hazar\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/dbejarano820\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/58019353?v=4?s=100\" width=\"100px;\" alt=\"Daniel Bejarano\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDaniel Bejarano\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=dbejarano820\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/JuMi231\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/125477948?v=4?s=100\" width=\"100px;\" alt=\"JuMi231\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJuMi231\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=JuMi231\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Jrigada\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/62958725?v=4?s=100\" width=\"100px;\" alt=\"Juan Rigada\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJuan Rigada\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Jrigada\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/karasakalmt\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/32202283?v=4?s=100\" width=\"100px;\" alt=\"Mete Karasakal\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMete Karasakal\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=karasakalmt\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/weiihann\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/47109095?v=4?s=100\" width=\"100px;\" alt=\"Ng Wei Han\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNg Wei Han\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=weiihann\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/etashhh\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/112415316?v=4?s=100\" width=\"100px;\" alt=\"etash\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eetash\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=etashhh\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/kasteph\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3408478?v=4?s=100\" width=\"100px;\" alt=\"kasteph\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ekasteph\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=kasteph\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Kelvyne\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8125532?v=4?s=100\" width=\"100px;\" alt=\"Lakhdar Slaim\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLakhdar Slaim\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=Kelvyne\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/mmsc2\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/88055861?v=4?s=100\" width=\"100px;\" alt=\"mmsc2\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003emmsc2\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=mmsc2\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/sarantapodarousa\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/75222483?v=4?s=100\" width=\"100px;\" alt=\"sarantapodarousa\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esarantapodarousa\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kkrt-labs/kakarot/commits?author=sarantapodarousa\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkrt-labs%2Fkakarot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkkrt-labs%2Fkakarot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkrt-labs%2Fkakarot/lists"}