diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 000000000..73c09417e --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,8 @@ +{ + "MD033": false, + "MD041": false, + "MD045": false, + "MD013": { + "code_blocks": false + } +} diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 000000000..5b5bd9933 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "proseWrap": "always" +} diff --git a/README.md b/README.md index d634c9b45..d52c67cbf 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,9 @@ - [About](#about) - [Getting Started](#getting-started) - - [Prerequisites](#prerequisites) - [Installation](#installation) - [Usage](#usage) - [Build](#build) - - [Run](#run) - [Test](#test) - [Format](#format) - [Roadmap](#roadmap) @@ -45,24 +43,31 @@ ## About -Kakarot is an (zk)-Ethereum Virtual Machine implementation written in Cairo. Kakarot is Ethereum compatible, i.e. all existing smart contracts, developer tools and wallets work out-of-the-box on Kakarot. It's been open source from day one. Soon available on Starknet L2 and L3. +Kakarot is an (zk)-Ethereum Virtual Machine implementation written in Cairo. +Kakarot is Ethereum compatible, i.e. all existing smart contracts, developer +tools and wallets work out-of-the-box on Kakarot. It's been open source from day +one. Soon available on Starknet L2 and L3. -It is a work in progress, and it is not ready for production. +🚧 It is a work in progress, and it is not ready for production. ## Getting Started -This repository is a rewrite of [the first version of Kakarot zkEVM](https://github.com/kkrt-labs/kakarot). - -### Prerequisites - -- [Cairo](https://github.com/starkware-libs/cairo) -- [Scarb](https://docs.swmansion.com/scarb/download) +This repository is a rewrite of +[the first version of Kakarot zkEVM](https://github.com/kkrt-labs/kakarot). ### Installation - Install Scarb: - - `curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh` -- [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the repository and clone your fork (`git clone https://github.com//kakarot-ssj`) + +```bash +curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh +``` + +- [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the + repository and clone your fork + (`git clone https://github.com//kakarot-ssj`) + +## Usage ### Build @@ -84,10 +89,13 @@ scarb fmt ## Roadmap -See the [open issues](https://github.com/sayajin-labs/kakarot-ssj/issues) for a list of proposed features (and known issues). +See the [open issues](https://github.com/sayajin-labs/kakarot-ssj/issues) for a +list of proposed features (and known issues). -- [Top Feature Requests](https://github.com/sayajin-labs/kakarot-ssj/issues?q=label%3Aenhancement+is%3Aopen+sort%3Areactions-%2B1-desc) (Add your votes using the 👍 reaction) -- [Top Bugs](https://github.com/sayajin-labs/kakarot-ssj/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Areactions-%2B1-desc) (Add your votes using the 👍 reaction) +- [Top Feature Requests](https://github.com/sayajin-labs/kakarot-ssj/issues?q=label%3Aenhancement+is%3Aopen+sort%3Areactions-%2B1-desc) + (Add your votes using the 👍 reaction) +- [Top Bugs](https://github.com/sayajin-labs/kakarot-ssj/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Areactions-%2B1-desc) + (Add your votes using the 👍 reaction) - [Newest Bugs](https://github.com/sayajin-labs/kakarot-ssj/issues?q=is%3Aopen+is%3Aissue+label%3Abug) ## Support @@ -95,34 +103,43 @@ See the [open issues](https://github.com/sayajin-labs/kakarot-ssj/issues) for a Reach out to the maintainer at one of the following places: - [GitHub Discussions](https://github.com/sayajin-labs/kakarot-ssj/discussions) -- Contact options listed on [this GitHub profile](https://github.com/starknet-exploration) +- [Telegram group](https://t.me/KakarotZkEvm) ## Project assistance If you want to say **thank you** or/and support active development of Kakarot: -- Add a [GitHub Star](https://github.com/sayajin-labs/kakarot-ssj) to the project. +- Add a [GitHub Star](https://github.com/sayajin-labs/kakarot-ssj) to the + project. - Tweet about [Kakarot](https://twitter.com/KakarotZkEvm). -- Write interesting articles about the project on [Dev.to](https://dev.to/), [Medium](https://medium.com/) or your personal blog. +- Write interesting articles about the project on [Dev.to](https://dev.to/), + [Medium](https://medium.com/), [Mirror](https://mirror.xyz/) or your personal + blog. Together, we can make Kakarot **better**! ## Contributing -First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are **greatly appreciated**. +First off, thanks for taking the time to contribute! Contributions are what make +the open-source community such an amazing place to learn, inspire, and create. +Any contribution you make will benefit everybody else and is **greatly +appreciated**. -Please read [our contribution guidelines](docs/CONTRIBUTING.md), and thank you for being involved! +Please read [our contribution guidelines](docs/CONTRIBUTING.md), and thank you +for being involved! ## Authors & contributors -For a full list of all authors and contributors, see [the contributors page](https://github.com/sayajin-labs/kakarot-ssj/contributors). +For a full list of all authors and contributors, see +[the contributors page](https://github.com/sayajin-labs/kakarot-ssj/contributors). ## Security Kakarot follows good practices of security, but 100% security cannot be assured. Kakarot is provided **"as is"** without any **warranty**. Use at your own risk. -_For more information and to report security issues, please refer to our [security documentation](docs/SECURITY.md)._ +_For more information and to report security issues, please refer to our +[security documentation](docs/SECURITY.md)._ ## License @@ -134,7 +151,8 @@ See [LICENSE](LICENSE) for more information. ## Contributors ✨ -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): +Thanks goes to these wonderful people +([emoji key](https://allcontributors.org/docs/en/emoji-key)): @@ -162,7 +180,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! +This project follows the +[all-contributors](https://github.com/all-contributors/all-contributors) +specification. Contributions of any kind welcome!

diff --git a/src/tests/test_kakarot.cairo b/src/tests/test_kakarot.cairo index 06a6d08ae..4b7b392f6 100644 --- a/src/tests/test_kakarot.cairo +++ b/src/tests/test_kakarot.cairo @@ -1,10 +1,9 @@ -// Core lib imports use array::ArrayTrait; -use option::OptionTrait; -// Internal imports -use kakarot::context::CallContext; use kakarot::evm; use kakarot::stack::StackTrait; +use option::OptionTrait; +use kakarot::context::CallContext; + #[test] #[available_gas(2000000)] @@ -13,6 +12,7 @@ fn nominal_case_empty_pc() { let bytecode = ArrayTrait::::new(); let call_data = ArrayTrait::::new(); let call_value = 0; + // Create a call context. let call_context = CallContext { bytecode: bytecode, call_data: call_data, value: call_value, @@ -36,4 +36,3 @@ fn stack_should_increment_len_on_push() { assert(stack_len == 1, 1); } -