Skip to content

Commit

Permalink
chore: fix readme links
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathanpwang committed Jan 20, 2024
1 parent 39e6269 commit a1c2736
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion axiom-eth/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This crate is the main library for building ZK circuits that prove data about th

The rest of this crate makes heavy use of the following primitives:

- [`halo2-base`](https://github.com/axiom-crypto/halo2-lib/tree/release-0.4.1-rc/halo2-base) Specifically the `BaseCircuitBuilder` and `LookupAnyManager`.
- [`halo2-base`](https://github.com/axiom-crypto/halo2-lib/tree/main/halo2-base) Specifically the `BaseCircuitBuilder` and `LookupAnyManager`.
- `rlc`: In this crate we introduce a new custom gate, which is a vertical gate (1 advice column, 1 selector column) using 3 rotations.
This is in [`PureRlcConfig`](./src/rlc/circuit/mod.rs). We extend `BaseCircuitBuilder` to support this gate in [`RlcCircuitBuilder`](./src/rlc/circuit/builder.rs).
`RlcCircuitBuilder` is the core circuit builder that is used in the rest of this crate.
Expand Down
4 changes: 2 additions & 2 deletions axiom-eth/src/keccak/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Keccak Chip

This module provides adapters and trait implementations to enable the [`KeccakComponentShardCircuit`](https://github.com/axiom-crypto/halo2-lib/tree/release-0.4.1-rc/hashes/zkevm/src/keccak) to fall under the [Component Framework](../utils/README.md).
This module provides adapters and trait implementations to enable the [`KeccakComponentShardCircuit`](https://github.com/axiom-crypto/halo2-lib/tree/main/hashes/zkevm/src/keccak) to fall under the [Component Framework](../utils/README.md).

The keccak component circuit outputs a virtual table of `(key, value)` pairs where `key` is of type `Vec<u8>` and `value` is of type `H256`. We represent the `H256` in hi-lo form as two field elements. The complication is in the `key`, which is a variable length byte array of possibly arbitrary length.
To handle this in ZK, we must instead encode `(key,value)` as a different virtual table with fixed length keys but where a single logical `(key,value)` can take up multiple rows in the new fixed length key table.

For keccak, the format of the fixed length key table is specified in [zkEVM hashes](https://github.com/axiom-crypto/halo2-lib/tree/release-0.4.1-rc/hashes/zkevm/src/keccak).
For keccak, the format of the fixed length key table is specified in [zkEVM hashes](https://github.com/axiom-crypto/halo2-lib/tree/main/hashes/zkevm/src/keccak).
What is provided in the [promise](./promise.rs) submodule is a way to perform promise calls into the keccak component circuit.
Promise calls are done as follows: the caller circuit loaded the fixed length key virtual table as private witnesses and computes the commitment to the table to exactly match the output commitment computation of the keccak component circuit.
Then it creates a raw Halo2 table where it RLCs the entries of the fixed length key table in a way that encodes the variable lengths.
Expand Down
2 changes: 1 addition & 1 deletion axiom-query/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ The join is currently done in the `table` module; it will be moved to `MultiProm

The reason this component circuit has no component output is that the true outputs of the circuit are: `resultsRoot`, `resultsRootPoseidon`, and `subqueryHash`s. These are outward/user facing outputs, and for future compatibilty their format depends on the number of subqueries (e.g., `resultsRoot` is a padded Merkle root up to next power of 2 of `numSubqueries`). As such there is no automatic way to compute these commitments and we have custom implementations for them.

## [Keccak Component Shard Circuit](https://github.com/axiom-crypto/halo2-lib/blob/release-0.4.1-rc/hashes/zkevm/src/keccak/component/circuit/shard.rs)
## [Keccak Component Shard Circuit](https://github.com/axiom-crypto/halo2-lib/blob/main/hashes/zkevm/src/keccak/component/circuit/shard.rs)

The base `KeccakComponentShardCircuit` in `halo2-lib/zkevm-hashes` is a component circuit by our [definition](../axiom-eth/src/utils/README.md#definition-of-component-circuit).
We have added adapters to [`axiom-eth`](../axiom-eth/src/keccak/README.md) so that it can be promise called as a component circuit in our framework.
Expand Down

0 comments on commit a1c2736

Please sign in to comment.