mint.pseudo 542 B

12345678910111213141516171819
  1. param secret
  2. param value
  3. param serial
  4. param randomness_coin
  5. param randomness_value
  6. constant generator_coin
  7. constant generator_value_commit_value
  8. constant generator_value_commit_random
  9. private (public_u, public_v) = jj_mul(secret, generator_coin)
  10. public coin = mimc_hash(public_u, public_v, value, serial, randomness_coin)
  11. private value_digits = unpack(value)
  12. rangeproof_assert(value, value_digits)
  13. public value_commit = jj_add(
  14. jj_mul(value, generator_value_commit_value),
  15. jj_mul(randomness_value, generator_value_commit_random)
  16. )