partial.rs 846 B

123456789101112131415161718192021222324252627282930
  1. use darkfi_serial::{SerialDecodable, SerialEncodable};
  2. use super::TransactionOutput;
  3. use crate::crypto::{
  4. keypair::PublicKey,
  5. types::{DrkTokenId, DrkValueBlind},
  6. BurnRevealedValues, Proof,
  7. };
  8. #[derive(Clone, SerialEncodable, SerialDecodable)]
  9. pub struct PartialTransaction {
  10. pub clear_inputs: Vec<PartialTransactionClearInput>,
  11. pub inputs: Vec<PartialTransactionInput>,
  12. pub outputs: Vec<TransactionOutput>,
  13. }
  14. #[derive(Clone, SerialEncodable, SerialDecodable)]
  15. pub struct PartialTransactionClearInput {
  16. pub value: u64,
  17. pub token_id: DrkTokenId,
  18. pub value_blind: DrkValueBlind,
  19. pub token_blind: DrkValueBlind,
  20. pub signature_public: PublicKey,
  21. }
  22. #[derive(Clone, SerialEncodable, SerialDecodable)]
  23. pub struct PartialTransactionInput {
  24. pub burn_proof: Proof,
  25. pub revealed: BurnRevealedValues,
  26. }