taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

sesame-withdraw.puml (902B)


      1 @startuml sesame-withdraw
      2 ' Token withdrawal via fountain for DD 97 (Project Sesame).
      3 ' Regenerate with: java -jar plantuml.jar -tsvg sesame-*.puml
      4 !include taler-style.iuml
      5 autonumber
      6 
      7 participant "Taler Wallet" as wallet
      8 participant "Merchant\nbackend" as merchant
      9 
     10 wallet -> merchant : GET /fountain/info\nAuthorization: Bearer $FOUNTAIN_SECRET
     11 merchant --> wallet : {poll_freq, grants with\ntoken family issue keys}
     12 wallet -> wallet : prepare blinded envelopes\nfor granted families
     13 wallet -> merchant : POST /fountain/withdraw\n{fountain_secret, grants: [{token_family_slug,\nvalid_at, envelopes}]}
     14 merchant -> merchant : per entry: check grant and\nper-period limit for the slot
     15 merchant -> merchant : blind-sign the envelopes\nwith the slot's issue key
     16 merchant --> wallet : {grants: [{token_family_slug,\nh_issue, blind_sigs}]}
     17 wallet -> wallet : unblind and store\none token per group
     18 @enduml