therealyingtong
421891f065
Benchmark proof creation and verification for RATE = 2, 8, 11.
2021-11-30 10:03:49 -05:00
therealyingtong
fe1bc97ab4
Generalise Pow5T3 chip to be generic over WIDTH, RATE.
2021-11-19 00:50:04 -05:00
therealyingtong
cba0d8672b
Remove standard PLONK helper.
...
The Action circuit only used standard PLONK in one place. Since it
used non-binary selectors, it cannot be optimised by the halo2
selector optimisations. We now replace it with a custom gate which
uses a binary selector.
2021-07-23 17:58:58 +08:00
therealyingtong
f31dd28a8e
Circuit::synthesize(): Diversified address integrity.
2021-07-21 20:35:43 +08:00
therealyingtong
48b862f13f
Circuit::synthesize(): Nullifier integrity.
2021-07-21 20:35:43 +08:00
therealyingtong
626ee482bf
Circuit::synthesize(): Value commitment integrity.
2021-07-21 20:35:43 +08:00
therealyingtong
4ba8762dcd
Circuit::synthesize(): Merkle path validity.
2021-07-21 20:35:43 +08:00
therealyingtong
b64fd5ac81
Circuit::synthesize(): Witness private variables.
...
Load private variables that are used across multiple checks into
the circuit.
2021-07-21 20:35:43 +08:00
therealyingtong
af2ac762f4
gadget::sinsemilla.rs: Add Sinsemilla instructions.
...
SinsemillaInstructions has two const generic parameters: K, which
is the number of bits in each word of the hash, and MAX_WORDS,
which is the maximum number of words the hash can process.
For Orchard, K = 10, MAX_WORDS = 253.
2021-06-19 18:14:22 +08:00
therealyingtong
4d8ae89aa9
Add Utilities chip
2021-06-04 18:08:59 +08:00
Jack Grigg
363e6944ec
Poseidon instructions
2021-06-01 17:54:37 +01:00
Jack Grigg
bbf2dc271e
Add ECC gadgets and instructions
...
Migrated from the halo2 crate; we may re-upstream them later (or move
gadgets into their own crate) once we've stabilised them.
2021-02-25 18:11:46 +00:00