Skip to content

Instantly share code, notes, and snippets.

@besiwims
Created July 10, 2022 23:28
Show Gist options
  • Save besiwims/a45a3c84063dd9afdbb4db2db6c003dd to your computer and use it in GitHub Desktop.
Save besiwims/a45a3c84063dd9afdbb4db2db6c003dd to your computer and use it in GitHub Desktop.
sk001-marlowe-badbet - gimbalabs university
{"valueParameterInfo":[["Price",{"valueParameterFormat":{"contents":[6,"₳"],"tag":"DecimalFormat"},"valueParameterDescription":"The price of the item."}]],"timeParameterDescriptions":[["Payment deadline","The _**buyer**_ must pay the _price_ of the item by this time, otherwise the contract is cancelled."],["Complaint deadline","The _**buyer**_ can only complain until this deadline, otherwise the contract will assume the transaction went smoothly and pay the _**seller**_."],["Complaint response deadline","If the _**buyer**_ complained, the _**seller**_ must respond before this deadline, otherwise the contract will assume there was a problem with the transaction and refund the _**buyer**_."],["Mediation deadline","If the _**buyer**_ and the _**seller**_ disagree, the _**mediator**_ must weigh in before this deadline, otherwise the contract will assume there was a problem with the transaction and refund the _**buyer**_."]],"roleDescriptions":[["Buyer","The buyer of the item."],["Mediator","The mediator decides who is right in the case of dispute."],["Seller","The seller of the item."]],"contractType":"Escrow","contractShortDescription":"In this contract a _**seller**_ wants to sell an item (like a bicycle) to a _**buyer**_ for a _price_.","contractName":"Purchase","contractLongDescription":"Neither trusts each other, but they both trust a _**mediator**_. The _**buyer**_ pays the _price_ into the contract account: if both the _**buyer**_ and the _**seller**_ agree that the _**buyer**_ has received the item, then the _**seller**_ receives the _price_; if not, then the _**mediator**_ ensures that the _**buyer**_ gets their money back.","choiceInfo":[["Confirm problem",{"choiceFormat":{"contents":null,"tag":"DefaultFormat"},"choiceDescription":"Acknowledge there was a problem and a refund must be granted."}],["Dismiss claim",{"choiceFormat":{"contents":null,"tag":"DefaultFormat"},"choiceDescription":"The _**Mediator**_ does not see any problem with the exchange and the _**Seller**_ must be paid."}],["Dispute problem",{"choiceFormat":{"contents":null,"tag":"DefaultFormat"},"choiceDescription":"The _**Seller**_ disagrees with the _**Buyer**_ about the claim that something went wrong."}],["Everything is alright",{"choiceFormat":{"contents":null,"tag":"DefaultFormat"},"choiceDescription":"The transaction was uneventful, _**Buyer**_ agrees to pay the _**Seller**_."}],["Report problem",{"choiceFormat":{"contents":null,"tag":"DefaultFormat"},"choiceDescription":"The _**Buyer**_ claims not having received the product that was paid for as agreed and would like a refund."}]]}
When
[Case
(Deposit
(Role "ourbet")
(Role "player1")
(Token "" "")
(Constant 15)
)
(When
[Case
(Deposit
(Role "ourbet")
(Role "player2")
(Token "" "")
(Constant 15)
)
(When
[Case
(Choice
(ChoiceId
"outcome"
(Role "player1")
)
[Bound 1 2]
)
(When
[Case
(Choice
(ChoiceId
"outcome"
(Role "player2")
)
[Bound 1 2]
)
(If
(ValueEQ
(ChoiceValue
(ChoiceId
"outcome"
(Role "player1")
))
(ChoiceValue
(ChoiceId
"outcome"
(Role "player2")
))
)
(If
(ValueEQ
(ChoiceValue
(ChoiceId
"outcome"
(Role "player1")
))
(Constant 1)
)
(Pay
(Role "ourbet")
(Party (Role "player1"))
(Token "" "")
(Constant 30)
Close
)
(Pay
(Role "ourbet")
(Party (Role "player2"))
(Token "" "")
(Constant 30)
Close
)
)
(Pay
(Role "ourbet")
(Party (Role "player1"))
(Token "" "")
(Constant 15)
(Pay
(Role "ourbet")
(Party (Role "player2"))
(Token "" "")
(Constant 15)
Close
)
)
)]
100 Close
)]
100 Close
)]
30
(Pay
(Role "ourbet")
(Party (Role "player1"))
(Token "" "")
(Constant 15)
Close
)
)]
20 Close
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment