Constants

Traits

Functions

  • Interprets bigint input as an element of a field modulo f_bi, converts it to [0,f_bi) range, and outptus a corresponding biguint representation.
  • Builds fixed selectors for serialization circuit.
  • Helper function for limb recombination for carry specifically. Each big carry limb is stored as 6 (not 5!) small elements. We accept 36 small limbs, and return 6 large ones.
  • Helper function for limb recombination.
  • Helper function for limb recombination.
  • This constarins the multiplication part of the circuit.
  • Deserialize a field element of the scalar field of Vesta or Pallas given as a sequence of 3 limbs of 88 bits. It will deserialize into limbs of 15 bits. Given a scalar field element of Vesta or Pallas, here the decomposition:
  • Returns the highest limb of the foreign field modulus. Is used by the lookups.
  • A convenience helper: given a list_len and n (arguments of choice2), it creates an array consisting of f(i,j) where i,j \in [0,list_len] such that i + j = n, and then sums all the elements in this array.
  • Decompose biguint into N limbs of bit size B.
  • Decomposes a foreign field element into N limbs of bit size B.
  • Multiplication sub-circuit of the serialization/bootstrap procedure. Takes challenge x_{log i} and coefficient c_prev_i as input, returns next coefficient c_i.
  • Full serialization circuit.