Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .aztec-sync-commit
Original file line number Diff line number Diff line change
@@ -1 +1 @@
d9de430e4a01d6908a9b1fe5e6ede9309aa8a10d
58761fcf181d0a26c4e387105b1bc8a3a75b0368
14 changes: 2 additions & 12 deletions acvm-repo/acir/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ In summary, the workflow is the following:
1. user program -> (compilation) ACIR, a list of opcodes which constrain
(partial) witnesses
2. user inputs + ACIR -> (execution/solving) assign values to all the
(partial) witnesses
(partial) witnesses
3. witness assignment + ACIR -> (proving system) proof

Although the ordering of opcode does not matter in theory, since a system of
Expand Down Expand Up @@ -121,7 +121,7 @@ proving system and are only used by the solver.
Finally, some opcodes will have a predicate, whose value is `0` or `1`. Its
purpose is to nullify the opcode when the value is `0`, so that it has no
effect. Note that removing the opcode is not a solution because this modifies
the circuit (the circuit being mainly the list of the opcodes).
the circuit (the circuit being mainly the list of the opcodes).

*Remark*: Opcodes operate on witnesses, but we will see that some opcode work on
expressions of witnesses. We call an expression a linear combination of
Expand Down Expand Up @@ -265,16 +265,6 @@ without adding any constraint.
NOTE: see the [circuit/opcodes.rs](src/circuit/opcodes.rs) file for the most
up-to-date documentation on these opcodes.

#### Directive

This opcode is a specialization of Brillig opcode. Instead of having some generic
assembly code like Brillig, a directive has a hardcoded name which tells the
solver which computation to do: with Brillig, the computation refers to the
compiled bytecode of an unconstrained Noir function, but with a directive, the
computation is hardcoded inside the compiler.

Directives will be replaced by Brillig opcodes in the future.

#### MemoryOp: memory abstraction for ACIR

ACIR is able to address any array of witnesses. Each array is assigned an ID
Expand Down
1 change: 0 additions & 1 deletion acvm-repo/acir/benches/serialization.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ fn sample_program(num_opcodes: usize) -> Program<FieldElement> {
public_parameters: PublicInputs(BTreeSet::from([Witness(5)])),
return_values: PublicInputs(BTreeSet::from([Witness(6)])),
assert_messages: Vec::new(),
recursive: false,
}],
unconstrained_functions: Vec::new(),
}
Expand Down
Loading