Storage proof circom circuit

See the README in the parent dir for the (draft) specification.

Organization of the circuit code

  • slot_main.circom - main component, generated by tests
  • sample_cells.circom - compute cell indices to sample, prove sampled cells
  • single_cell.circom - prove a single cell
  • extract_bits.circom - extract lower bits of the standard representation of a field element
  • binary_compare.circom - compare numbers given in binary representation (the point is that they can be bigger than the field size!)
  • misc.circom - miscellaneous helper funtions
  • poseidon2_hash.circom - compute Poseidon2 hash with sponge construction
  • poseidon2_sponge.circom - generic sponge construction
  • poseidon2_merkle.circom - compute Poseidon2 Merkle root
  • poseidon2_perm.circom - the Poseidon2 permutation