partial.rs 892 B

12345678910111213141516171819202122232425262728293031323334
  1. use darkfi::{
  2. crypto::{
  3. keypair::PublicKey,
  4. types::{DrkTokenId, DrkValueBlind},
  5. BurnRevealedValues, Proof,
  6. },
  7. util::serial::{SerialDecodable, SerialEncodable},
  8. };
  9. use crate::money_contract::transfer::validate::Output;
  10. #[derive(Clone, SerialEncodable, SerialDecodable)]
  11. pub struct Partial {
  12. pub clear_inputs: Vec<PartialClearInput>,
  13. pub inputs: Vec<PartialInput>,
  14. pub outputs: Vec<Output>,
  15. //pub proofs: Vec<Proof>,
  16. }
  17. #[derive(Clone, SerialEncodable, SerialDecodable)]
  18. pub struct PartialClearInput {
  19. pub value: u64,
  20. pub token_id: DrkTokenId,
  21. pub value_blind: DrkValueBlind,
  22. pub token_blind: DrkValueBlind,
  23. pub signature_public: PublicKey,
  24. }
  25. #[derive(Clone, SerialEncodable, SerialDecodable)]
  26. pub struct PartialInput {
  27. // TODO: BUG BUG FIXME!!!
  28. //pub burn_proof: Proof,
  29. pub revealed: BurnRevealedValues,
  30. }