state.rs 481 B

123456789101112131415161718192021
  1. use std::any::Any;
  2. use pasta_curves::pallas;
  3. pub struct State {
  4. pub public_values: Vec<pallas::Base>,
  5. }
  6. impl State {
  7. pub fn new() -> Box<dyn Any> {
  8. Box::new(Self { public_values: Vec::new() })
  9. }
  10. pub fn add_public_value(&mut self, public_value: pallas::Base) {
  11. self.public_values.push(public_value)
  12. }
  13. pub fn public_exists(&self, public_value: &pallas::Base) -> bool {
  14. self.public_values.iter().any(|v| v == public_value)
  15. }
  16. }