Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,014 changes: 507 additions & 507 deletions CHANGELOG.md

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ All types of contributions are encouraged and valued. See the [Table of Contents

> If you want to ask a question, we assume that you have read the available [Documentation](docs/).

Before you ask a question, it is best to search for existing [Issues](https://github.com/lambdaclass/cairo-vm/issues) that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first.
Before you ask a question, it is best to search for existing [Issues](https://github.com/starkware-libs/cairo-vm/issues) that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first.

If you then still feel the need to ask a question and need clarification, we recommend the following:

- Open an [Issue](https://github.com/lambdaclass/cairo-vm/issues/new).
- Open an [Issue](https://github.com/starkware-libs/cairo-vm/issues/new).
- Provide as much context as you can about what you're running into.
- Provide project and platform versions (cairo language, rust compiler, Python, etc), depending on what seems relevant.

Expand Down Expand Up @@ -73,7 +73,7 @@ A good bug report shouldn't leave others needing to chase you up for more inform

We use GitHub issues to track bugs and errors. If you run into an issue with the project:

- Open an [Issue](https://github.com/lambdaclass/cairo-vm/issues/new). (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.)
- Open an [Issue](https://github.com/starkware-libs/cairo-vm/issues/new). (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.)
- Explain the behavior you would expect and the actual behavior.
- Please provide as much context as possible and describe the *reproduction steps* that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case.
- Provide the information you collected in the previous section.
Expand All @@ -96,13 +96,13 @@ This section guides you through submitting an enhancement suggestion for CONTRIB

- Make sure that you are using the latest version.
- Read the [documentation](docs/) carefully and find out if the functionality is already covered, maybe by an individual configuration.
- Perform a [search](https://github.com/lambdaclass/cairo-vm/issues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
- Perform a [search](https://github.com/starkware-libs/cairo-vm/issues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library.


#### How Do I Submit a Good Enhancement Suggestion?

Enhancement suggestions are tracked as [GitHub issues](https://github.com/lambdaclass/cairo-vm/issues).
Enhancement suggestions are tracked as [GitHub issues](https://github.com/starkware-libs/cairo-vm/issues).

- Use a **clear and descriptive title** for the issue to identify the suggestion.
- Provide a **step-by-step description of the suggested enhancement** in as many details as possible.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ resolver = "2"
version = "3.2.0"
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/lambdaclass/cairo-vm/"
repository = "https://github.com/starkware-libs/cairo-vm/"
readme = "README.md"
keywords = ["starknet", "cairo", "vm"]

Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@

A faster and safer implementation of the Cairo VM in Rust

[Report Bug](https://github.com/lambdaclass/cairo-vm/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=bug%3A+) · [Request Feature](https://github.com/lambdaclass/cairo-vm/issues/new?labels=enhancement&title=feat%3A+)
[Report Bug](https://github.com/starkware-libs/cairo-vm/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=bug%3A+) · [Request Feature](https://github.com/starkware-libs/cairo-vm/issues/new?labels=enhancement&title=feat%3A+)

[![rust](https://github.com/lambdaclass/cairo-vm/actions/workflows/rust.yml/badge.svg)](https://github.com/lambdaclass/cairo-vm/actions/workflows/rust.yml)
[![codecov](https://img.shields.io/codecov/c/github/lambdaclass/cairo-vm)](https://codecov.io/gh/lambdaclass/cairo-vm)
[![license](https://img.shields.io/github/license/lambdaclass/cairo-vm)](/LICENSE)
[![rust](https://github.com/starkware-libs/cairo-vm/actions/workflows/rust.yml/badge.svg)](https://github.com/starkware-libs/cairo-vm/actions/workflows/rust.yml)
[![codecov](https://img.shields.io/codecov/c/github/starkware-libs/cairo-vm)](https://codecov.io/gh/starkware-libs/cairo-vm)
[![license](https://img.shields.io/github/license/starkware-libs/cairo-vm)](/LICENSE)
[![pr-welcome]](#-contributing)
[![Telegram Chat][tg-badge]][tg-url]

Expand Down Expand Up @@ -150,7 +150,7 @@ The flag `--layout` determines which builtins can be used. More info about layou
To sum up, the following code will get you from zero to running a Cairo program:

```bash
git clone https://github.com/lambdaclass/cairo-vm.git
git clone https://github.com/starkware-libs/cairo-vm.git

cd cairo-vm

Expand Down Expand Up @@ -213,7 +213,7 @@ Currently, as this VM is under construction, it's missing some of the features o
There are two ways to use non-standard hints in this VM:

- Extend the cairo-vm code and build your own binary using the interface [HintProcessor](docs/hint_processor/README.md).
- Use [cairo-vm-py](https://github.com/lambdaclass/cairo-vm-py) which supports running any hint in a Python interpreter.


### Running a function in a Cairo program with arguments

Expand Down Expand Up @@ -286,7 +286,7 @@ Running a [Cairo program](./cairo_programs/benchmarks/big_fibonacci.cairo) that
- [Flamegraph](./docs/benchmarks/flamegraph.svg)
- Github action [results](https://lambdaclass.github.io/cairo-vm/)

Note before running the benchmark suite: the benchmark named [iai_benchmark](https://github.com/lambdaclass/cairo-vm/blob/8dba86dbec935fa04a255e2edf3d5d184950fa22/Cargo.toml#L59) depends on Valgrind. Please make sure it is installed prior to running the `iai_benchmark` benchmark.
Note before running the benchmark suite: the benchmark named [iai_benchmark](https://github.com/starkware-libs/cairo-vm/blob/8dba86dbec935fa04a255e2edf3d5d184950fa22/Cargo.toml#L59) depends on Valgrind. Please make sure it is installed prior to running the `iai_benchmark` benchmark.

Run the complete benchmark suite with cargo:

Expand Down Expand Up @@ -335,7 +335,7 @@ You can find more detailed instructions in the [CONTRIBUTING.md](CONTRIBUTING.md
## 🌞 Related Projects

- [starknet_in_rust](https://github.com/lambdaclass/starknet_in_rust): implementation of Starknet in Rust, powered by the cairo-vm.
- [cairo-vm-py](https://github.com/lambdaclass/cairo-vm-py): Bindings for using cairo-vm from Python code.


## 📚 Documentation

Expand Down
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
- The versions must be the same.
- You need to update the workspace dependency `cairo-vm`, which
you can find in the root cargo manifest under the section `[workspace.dependencies]`.
- [Here](https://github.com/lambdaclass/cairo-vm/pull/1748/files) is an
- [Here](https://github.com/starkware-libs/cairo-vm/pull/1748/files) is an
example pull request with these changes.
- [ ] Run `cargo update` and `git add Cargo.lock`
- [ ] Update `CHANGELOG.md`:
Expand Down
2 changes: 1 addition & 1 deletion docs/hint_processor/builtin_hint_processor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ cairo-vm = {path = "[path to cairo-vm directory"}
Or by github link:
```rust
[dependencies]
cairo-vm = {git = "https://github.com/lambdaclass/cairo-vm.git"}
cairo-vm = {git = "https://github.com/starkware-libs/cairo-vm.git"}
```

#### Step 2: Code the implementation of your custom hint (Using the helpers and structures described in the sections below)
Expand Down
7 changes: 1 addition & 6 deletions docs/vm/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
<!-- This documentation was taken from the https://github.com/lambdaclass/cairo-vm_in_go repository -->

# How does the Cairo VM work?

## High Level Overview
Expand All @@ -24,7 +22,7 @@ While this repo is only concerned with the second component, it's important to k

Our virtual machine has a very simple flow:

- Take a compiled cairo program as input. You can check out an example program [here](https://github.com/lambdaclass/cairo-vm.go/blob/main/cairo_programs/fibonacci.cairo).
- Take a compiled cairo program as input.
- Run the bytecode from the compiled program, doing the usual `fetch->decode->execute` loop, running until program termination.
- On every step of the execution, record the values of each register.
- Take the register values and memory at every step and write them to a file, called the `execution trace`.
Expand Down Expand Up @@ -356,6 +354,3 @@ The input of the Virtual Machine is a compiled Cairo program in Json format. The
- **prime:** The cairo prime in hexadecimal format. As explained above, all arithmetic operations are done over a base field, modulo this primer number.
- **reference_manager:** Contains information about cairo variables. This information is useful to access to variables when executing cairo hints.

# Code Walkthrough

If you want a step by step guide on how to implement your own VM you can read our [code walkthrough in Go](https://github.com/lambdaclass/cairo-vm_in_go?tab=readme-ov-file#code-walkthroughwrite-your-own-cairo-vm)
2 changes: 1 addition & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
unsupported_os () {
echo "Detected OS ($1) is unsupported."
echo "Please open an issue (PRs welcome ❤️) on:"
echo " https://github.com/lambdaclass/cairo-vm/issues"
echo " https://github.com/starkware-libs/cairo-vm/issues"
echo ""
echo "NOTE: you can still try installing dependencies manually"
echo "If your OS differs from the detected one, you can look \
Expand Down
2 changes: 1 addition & 1 deletion vm/src/vm/errors/cairo_run_errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use crate::vm::errors::{
};
// In case you need to add a CairoRunError enum variant
// Add it with #[error(transparent)]
// If not it can cause some performance regressions, like in https://github.com/lambdaclass/cairo-vm/pull/1720
// If not it can cause some performance regressions, like in https://github.com/starkware-libs/cairo-vm/pull/1720
#[derive(Debug, Error)]
pub enum CairoRunError {
#[error(transparent)]
Expand Down
Loading