Advertisement
Guest User

Untitled

a guest
Jul 19th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. template GardeningOffer
  2. with
  3. gardener : Party
  4. beneficiary : Party
  5. trustedOperators : [Party]
  6. amount : Amount
  7. invoiceId : Text
  8. where
  9. signatory gardener
  10.  
  11. controller beneficiary can
  12. AcceptOffer : (ContractId GardeningContract, ReceiveFundsRequestCid)
  13. with
  14. customerCid : CustomerCid
  15. fundingSourceId : Text
  16. do
  17. customer <- fetch customerCid
  18. assert (elem customer.operator trustedOperators)
  19. assert (customer.user == beneficiary)
  20.  
  21. let memo = Metadata with
  22. key = "memo"
  23. value = "Payment for mowing " <>
  24. partyToText beneficiary <> "'s lawn"
  25. invoice = Metadata with key = "invoiceId", value = invoiceId
  26.  
  27. receiveFundsCid <- exercise customerCid Customer_SendFunds
  28. with
  29. to = gardener
  30. optClearingSrc = None
  31. optMetadata = Some [memo, invoice]
  32. ..
  33.  
  34. gardeningCid <- create GardeningContract
  35. with
  36. optAchId = None
  37. ..
  38.  
  39. return (gardeningCid, receiveFundsCid)
  40.  
  41. RefuseOffer : ()
  42. do return ()
  43.  
  44.  
  45. mowTheLawn = scenario do
  46. [alice, bob, operator] <- mapA getParty ["Alice", "Bob", "Operator"]
  47.  
  48. gardeningOfferCid <- bob `submit`
  49. create GardeningOffer
  50. with
  51. gardener = bob
  52. beneficiary = alice
  53. trustedOperators = [operator]
  54. amount = Amount with value = "59.99", currency = "USD"
  55. invoiceId = "GARDENING123"
  56.  
  57. return ()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement