2c7c483707
* feat(cl/noir): provide an ergonomic Noir api for use within Python. * Add a python wrapper over the bigger constraint * Add the Bigger wrapper * cl/noir: document the NargoConstraint wrapper api * rewrite Bigger constraint as a dataclass * WIP: Cl/executable spec (#93) * wip: executable spec * WIP: test_1_to_1_transfer * hack: Vacous hash function * crypto: make sure prf returns field elements, fix ECC math in pedcom * hack(crypto): mock up a hash_to_curve implementation * feat(cl/1to1_xfr): fungibility domain uses hash_to_curve * cl: add type checking to InnerNote * cl/ptx: get balance commitments working * cl/noir: mv noir_constraint wrapper into cl/constraints/... * cl/ptx-note-proofs: start data modelling input and outputs * cl/ptx: 1-to-1 test is passing, but still, not quite finished * cl: remove tx_output from 1-to-1 transfer * cl: remove unused classes * cl: testing the balance commitments * wip: cl * cl: split main.rs into crypto.rs and note.rs * cl: split balance test * cl: add nullifier module * cl: partial_tx; input; output * cl: output proof tests * cl: partial transactions can now be built and verified * drop python cl spec * cl: test partial transaction balance commitment * cl: reverse partial tx balance (inputs are neg, outputs are pos) * cl: bundle of ptx * cl: verify bundle isn't balanced with just one unbalanced partial tx * cl: swap out ExtendedPoint for SubgroupPoint * cl: integrate groth16 death constraint validation * add risc0 zone * refactor risc0 zone * fix zone PoC * Add separate bin for stark2snark conv * cl: rename Note to NoteWitness * cl: merkle proofs * cl: merkle tree helper to pad elements * cl: ptx root implemented via merkle roots over inputs and outputs * cl: move from Commitment::from_witness to Witness::commit() * cl: tests passing again * cl: turn data model into library * cl: partial tx can compute paths to inputs / outputs * cl: begin integrating zone into cl data modal * cl: integrate simple zone into CL data model * cl: add missing cl patches * cl: swap jubjub for accel k256 * cl: pre-compute balance unit point outside stark * switch balance commitment to linear combination * cl: pre-compute pederson blinding * fix risc0 patching * switch to curve25519-dalek * cl: drop blake2; print prover time --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> |
||
---|---|---|
.github/workflows | ||
carnot | ||
cl | ||
cryptarchia | ||
da | ||
eth-specs@ae3ef6f330 | ||
goas | ||
mixnet | ||
.gitignore | ||
.gitmodules | ||
README.md | ||
install-arkworksbls-arch64-osx.sh | ||
install-eth-specs.sh | ||
requirements.txt |
README.md
nomos-specs
Nomos related specification and documentation
Running Tests
To run all tests, run the following from the project root
python -m unittest -v
To test a specific module
python -m unittest -v cryptarchia.test_leader
Or all test modules in a directory
python -m unittest -v cryptarchia/test_*