From 3f4e035506932e8cbadd8509786cb50d06009db3 Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Wed, 6 Jun 2018 10:03:40 -0600 Subject: [PATCH] Better docs for budget --- src/budget.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/budget.rs b/src/budget.rs index 71336b5696..691fdf84f0 100644 --- a/src/budget.rs +++ b/src/budget.rs @@ -8,9 +8,13 @@ use payment_plan::{Payment, PaymentPlan, Witness}; use signature::PublicKey; use std::mem; +/// A data type representing a `Witness` that the payment plan is waiting on. #[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)] pub enum Condition { + /// Wait for a `Timestamp` `Witness` at or after the given `DateTime`. Timestamp(DateTime), + + /// Wait for a `Signature` `Witness` from `PublicKey`. Signature(PublicKey), } @@ -25,11 +29,18 @@ impl Condition { } } +/// A data type reprsenting a payment plan. #[repr(C)] #[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)] pub enum Budget { + /// Make a payment. Pay(Payment), + + /// Make a payment after some condition. After(Condition, Payment), + + /// Either make a payment after one condition or a different payment after another + /// condition, which ever condition is satisfied first. Race((Condition, Payment), (Condition, Payment)), }