From 521d1411f3e13504488854f8fb9e9d760371e3b5 Mon Sep 17 00:00:00 2001 From: Mathieu <60658558+enitrat@users.noreply.github.com> Date: Wed, 9 Oct 2024 17:51:15 +0200 Subject: [PATCH] dev: restore py-evm for debug.py (#1463) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change is [Reviewable](https://reviewable.io/reviews/kkrt-labs/kakarot/1463) Co-authored-by: Clément Walter --- README.md | 2 +- docs/CONTRIBUTING.md | 3 ++- pyproject.toml | 2 ++ uv.lock | 49 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8bd2477c3..867d2b684 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ The set of Cairo programs in this repository are represented below: ## Getting started -To contribute, please check out +To contribute and setup your development environment, please check out [the contribution guide](./docs/CONTRIBUTING.md). ## Build diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index ea9477d9f..7cd8c7dc8 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -34,9 +34,10 @@ libraries, e.g. `cairo-lang`. - Install [uv](https://github.com/astral-sh/uv) to manage python dependencies and run commands +- Install [jq](https://jqlang.github.io/jq/) to process JSON from the CLI - Install [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) to - manage our Rust dependencies + manage our Rust dependencies. - Install [docker](https://docs.docker.com/get-docker/) to build some experimental solidity contracts that require a custom solc compiler - Install [foundry](https://book.getfoundry.sh/getting-started/installation) to diff --git a/pyproject.toml b/pyproject.toml index 365ec16ab..3f0220ef1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ ef_tests = "kakarot_scripts.ef_tests.fetch:generate_tests" [tool.uv.sources] kakarot-scripts = { path = "./kakarot_scripts" } ethereum = { git = "https://github.com/ethereum/execution-specs.git" } +py-evm = { git = "https://github.com/ethereum/py-evm", rev = "f2219d6df83ede8f9574eab48cbe4bc33197066f" } [tool.uv] dev-dependencies = [ @@ -35,6 +36,7 @@ dev-dependencies = [ "eth-typing==3.5.2", "eth-utils>=2.1.0", "ethereum", + "py-evm", "hypothesis==6.100.1", "ipykernel>=6.23.1", "isort>=5.10.1", diff --git a/uv.lock b/uv.lock index 006189381..7325e67db 100644 --- a/uv.lock +++ b/uv.lock @@ -853,6 +853,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/03/0b/c8e21c361b61be773e2d9a4a69ec2c72d445a1f1293e026935affe7fc7df/eth_account-0.13.4-py3-none-any.whl", hash = "sha256:a4c109e9bad3a278243fcc028b755fb72b43e25b1e6256b3f309a44f5f7d87c3", size = 581366 }, ] +[[package]] +name = "eth-bloom" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "eth-hash", extra = ["pycryptodome"] }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/33/f8c9233d7c5e94b64e3885c037d3a7f6ab199fa55ede580cf8d9b66cd724/eth_bloom-3.0.1.tar.gz", hash = "sha256:6be3dfa44a597a0bc8d974c381fb9a60bbcadfb56e88e69ab55ba538d90b3256", size = 8516 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/6b/c06b2c72035d24ae5ebc06b56b37a3e3da3e9a80bdfe7b78d3987f9c5013/eth_bloom-3.0.1-py3-none-any.whl", hash = "sha256:c1eb51cb9f9ec8834b691d67e73c02c4e79e22c81ae8058209971803236ffbb2", size = 5703 }, +] + [[package]] name = "eth-hash" version = "0.7.0" @@ -1323,6 +1335,8 @@ dev = [ { name = "openzeppelin-cairo-contracts" }, { name = "pandas" }, { name = "py-ecc" }, + { name = "py-evm" }, + { name = "pycryptodome" }, { name = "pyperclip" }, { name = "pysha3" }, { name = "pytest" }, @@ -1370,6 +1384,8 @@ dev = [ { name = "openzeppelin-cairo-contracts", specifier = ">=0.6.1" }, { name = "pandas", specifier = ">=1.5.1" }, { name = "py-ecc", specifier = ">=7.0.0" }, + { name = "py-evm", git = "https://github.com/ethereum/py-evm?rev=f2219d6df83ede8f9574eab48cbe4bc33197066f" }, + { name = "pycryptodome", specifier = ">=3.16.0" }, { name = "pyperclip", specifier = ">=1.8.2" }, { name = "pysha3", specifier = ">=1.0.2" }, { name = "pytest", specifier = "==8.1.1" }, @@ -2132,6 +2148,23 @@ dependencies = [ { name = "eth-utils" }, ] +[[package]] +name = "py-evm" +version = "0.10.1b2" +source = { git = "https://github.com/ethereum/py-evm?rev=f2219d6df83ede8f9574eab48cbe4bc33197066f#f2219d6df83ede8f9574eab48cbe4bc33197066f" } +dependencies = [ + { name = "cached-property" }, + { name = "ckzg" }, + { name = "eth-bloom" }, + { name = "eth-keys" }, + { name = "eth-typing" }, + { name = "eth-utils" }, + { name = "lru-dict" }, + { name = "py-ecc" }, + { name = "rlp" }, + { name = "trie" }, +] + [[package]] name = "pycparser" version = "2.22" @@ -2984,6 +3017,22 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 }, ] +[[package]] +name = "trie" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "eth-hash" }, + { name = "eth-utils" }, + { name = "hexbytes" }, + { name = "rlp" }, + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/27/f4f27ed9eaf85deccaeebff867060f49712b744b6b9c1bfe9089cdbba0f3/trie-3.0.1.tar.gz", hash = "sha256:3f53adaa04726eb23cb786b0118e62d1f2fb6ed0a7968be964dc34aba27380ee", size = 71618 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/d8/9f1a52656da0578dc6592c330b19ed11c22b84d30913a5208e4ec40835b4/trie-3.0.1-py3-none-any.whl", hash = "sha256:fbe90011a28f4fc6597bc83706589c2a74c81c8b1410c5e16eebfae0e9796464", size = 38817 }, +] + [[package]] name = "typeguard" version = "2.13.3"