Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support generic assert_eq #2

Draft
wants to merge 56 commits into
base: log-type-skip-228
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
af422ea
add IR translator
katat Nov 4, 2024
7636d1a
add Value::HintIR for hint calculations
katat Nov 4, 2024
34af420
enable parsing hint function body
katat Nov 4, 2024
f004a33
add cargo deps
katat Nov 4, 2024
d64281d
circ require nightly rust toolchain
katat Nov 4, 2024
a38bba6
add hint test
katat Nov 4, 2024
e30e563
fmt
katat Nov 4, 2024
34162a7
support complex inputs and outputs
katat Nov 5, 2024
a11e5c2
Merge remote-tracking branch 'origin/main' into feat/ir2
katat Nov 5, 2024
5d05284
update asm
katat Nov 5, 2024
1bfb7ad
Add += functionality
bufferhe4d Nov 9, 2024
af6e2a1
Revert "Add += functionality"
bufferhe4d Nov 10, 2024
df2247f
Add (+=, -=, *=)
bufferhe4d Nov 11, 2024
fc9041d
Add tests for augmented assignments
bufferhe4d Nov 11, 2024
427475b
map backend fields to circ fields
katat Nov 12, 2024
5b91bd1
better error for calling builtins in hint function
katat Nov 12, 2024
7b21812
formatting
bufferhe4d Nov 12, 2024
190df51
refine error
katat Nov 12, 2024
ed9dd4d
more arithmetic operations
katat Nov 12, 2024
99498fa
support boolean operations
katat Nov 12, 2024
3dc4c71
update tests
katat Nov 12, 2024
2cbc07e
update test
katat Nov 12, 2024
881ff1d
only allow calling hint functions in a hint function
katat Nov 12, 2024
255b1e3
format
katat Nov 12, 2024
f2c0e3a
comment
katat Nov 12, 2024
3ab7525
Merge remote-tracking branch 'origin/main' into feat/ir2
katat Nov 12, 2024
8c0ca9d
Merge pull request #220 from zksecurity/feat/ir2
mimoo Nov 13, 2024
b17ea20
Merge pull request #225 from bufferhe4d/plusequal
katat Nov 13, 2024
b9fe3c6
Add --disable-safety-check option
StefanosChaliasos Nov 14, 2024
e142f8d
Fix failing tests
StefanosChaliasos Nov 14, 2024
93bbfd6
cargo fmt
StefanosChaliasos Nov 14, 2024
f1492fd
better contributing
mimoo Nov 20, 2024
c69a70d
generic assert_eq
bufferhe4d Nov 24, 2024
66bd1a6
generic_assert_eq test
bufferhe4d Nov 24, 2024
633b087
print generic log info
varunthakore Nov 24, 2024
c6f240a
cargo fmt
varunthakore Nov 25, 2024
6a859b2
Merge pull request #237 from zksecurity/mimoo/cont
katat Nov 25, 2024
57c9e17
Improve error when a keyword is used as identifier
Dec 3, 2024
9a0c496
Simplify check and add warning message
StefanosChaliasos Dec 4, 2024
5c048f4
Merge pull request #235 from zksecurity/feat/disable-safety-check-option
katat Dec 4, 2024
321b047
Merge pull request #239 from zedar/fix/better_error_when_keyword_as_i…
mimoo Dec 10, 2024
c21739d
Merge pull request #231 from bufferhe4d/log-type-skip-228
katat Dec 10, 2024
eb046e6
fix potential uint overflow
katat Dec 11, 2024
5a2b6c1
typos cellvar.md
Dimitrolito Dec 11, 2024
b0e34a7
typos expressions.md
Dimitrolito Dec 11, 2024
4a1b3bf
typos expressions.md
Dimitrolito Dec 11, 2024
7471d9d
typos methods.md
Dimitrolito Dec 11, 2024
069d4de
typos paths.md
Dimitrolito Dec 11, 2024
e0e9e55
Merge pull request #245 from Dimitrolito/fix/typos
mimoo Dec 12, 2024
6e40880
Implement recursive logging of Array and Custom types
varunthakore Dec 12, 2024
616070a
Update recursive log with slicing
varunthakore Dec 14, 2024
429888b
Merge branch 'main' into generic-log
varunthakore Dec 14, 2024
1b515e8
Merge pull request #243 from zksecurity/fix/check-prime-bit
mimoo Dec 15, 2024
8188bf6
Merge pull request #238 from varunthakore/generic-log
katat Dec 16, 2024
2cc2d28
Merge branch 'main' into generic-asserteq
bufferhe4d Dec 16, 2024
151ae9e
Fix error in tests
bufferhe4d Dec 18, 2024
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
29 changes: 19 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
# Contributing to noname

You want to contribute to noname (or this file)? Look no further!
**You want to contribute to noname (or this file)? Look no further!**

The first thing you should look at, is our [list of easy issues](https://github.com/zksecurity/noname/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy). Find something in there and ask for more information if you need it! We'll be happy to help you.
## Where to start contributing?

[The book](https://zksecurity.github.io/noname/) also has more information about internals, but keep in mind that it might not always be up to date (PRs to fix that are welcome). You can also check our [series of videos here](https://cryptologie.net/article/573).
The first thing you should do is to try using noname by yourself. If something doesn't compile, or seems confusing, then that's an opportunity to make it compile, improve the error, or improve the documentation. In general if something is confusing or lacking please post an issue!

General advice:
Make sure you `git clone` this repository and then create an alias for running your local copy of noname (e.g. `alias noname_dev="cargo run --manifest-path ABSOLUTE_PATH_TO_THE_CLONED_REPO`).

* write the code you want to be able to compile, and if it does not compile post an issue. We can then discuss if this is something that should be implemented!
* setup debugging and step through the program to understand how noname compiles things, and how you can fix something that doesn't work! (see next section)
* any improvement to the user experience is welcome (better error messages, better documentation, better examples, better CLI, etc.)
Once you're a bit more familiar with how to play with noname, check our [list of easy issues to start contributing](https://github.com/zksecurity/noname/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy). Find something in there and ask for more information if you need it! We'll be happy to help you.

Generally, a good way to hit your goal is to start by writing the code you want to be able to compile and work backward to make it compile.

## How to learn about the inners of noname?

The [noname book](https://zksecurity.github.io/noname/) has a lot of information about internals, but keep in mind that it might not always be up to date (PRs to fix that are welcome).

For a gentle intro, you can check [a walkthrough of the codebase here](https://www.youtube.com/live/pQer-ua73Vo), as well as our [series of videos here](https://cryptologie.net/article/573).

## Setup & Debugging

In vscode you can create such a file to easily debug a command. (But you should also see a "debug" button above any tests within vscode.)

```json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
Expand Down Expand Up @@ -51,3 +54,9 @@ In vscode you can create such a file to easily debug a command. (But you should
]
}
```

In addition, we have a `--server-mode` that allows you to look at the different stages of compilation visually within your browser. Run it as:

```
$ noname build --server-mode
```
Loading