marlowe_lang 0.2.1

experimental parser lib for Cardano Marlowe DSL
Documentation
When [
  (Case
     (Deposit
        (Role "Seller")
        (Role "Seller")
        (Token "" "")
        (ConstantParam "Collateral amount"))
     (When [
        (Case
           (Deposit
              (Role "Buyer")
              (Role "Buyer")
              (Token "" "")
              (ConstantParam "Collateral amount"))
           (When [
              (Case
                 (Deposit
                    (Role "Seller")
                    (Role "Buyer")
                    (Token "" "")
                    (ConstantParam "Price"))
                 (When [
                       (Case
                          (Choice
                             (ChoiceId "Everything is alright"
                                (Role "Buyer")) [
                             (Bound 0 0)]) Close)
                       ,
                       (Case
                          (Choice
                             (ChoiceId "Report problem"
                                (Role "Buyer")) [
                             (Bound 1 1)])
                          (Pay
                             (Role "Seller")
                             (Account
                                (Role "Buyer"))
                             (Token "" "")
                             (ConstantParam "Price")
                             (When [
                                   (Case
                                      (Choice
                                         (ChoiceId "Confirm problem"
                                            (Role "Seller")) [
                                         (Bound 1 1)]) Close)
                                   ,
                                   (Case
                                      (Choice
                                         (ChoiceId "Dispute problem"
                                            (Role "Seller")) [
                                         (Bound 0 0)])
                                      (Pay
                                         (Role "Seller")
                                         (Party
                                            (Address "addr_test1qp2l7afky3eqfkrht5f3qgy7x2yek5dejcnpnuqlwywz9twr7cz4mu6gh005gdck67p7y9d8s8zsfgjkcdy75mrjh6jqp8jwfw"))
                                         (Token "" "")
                                         (ConstantParam "Collateral amount")
                                         (Pay
                                            (Role "Buyer")
                                            (Party
                                               (Address "addr_test1qp2l7afky3eqfkrht5f3qgy7x2yek5dejcnpnuqlwywz9twr7cz4mu6gh005gdck67p7y9d8s8zsfgjkcdy75mrjh6jqp8jwfw"))
                                            (Token "" "")
                                            (ConstantParam "Collateral amount") Close)))] (TimeParam "Complaint deadline") Close)))] (TimeParam "Dispute by buyer timeout") Close))] (TimeParam "Deposit of price by buyer timeout") Close))] (TimeParam "Deposit of collateral by buyer timeout") Close))] (TimeParam "Collateral deposit by seller timeout") Close