Changeset 71 for trunk/standards

Show
Ignore:
Timestamp:
01/31/08 21:58:03 (4 years ago)
Author:
ocnils
Message:

Added new request type "TRANSFER_TOKEN" which will replace MINT_REQUEST
and REDEEM_COINS_REQUEST:

"3.5 TRANSFER_TOKEN: A generic wallet-issuer request"

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/standards/protocol.txt

    r34 r71  
    105105  Keep (r, blank, blind) in mind.  
    106106   
    107    
     107 
     108#3.5 "TRANSFER_TOKEN": A generic wallet-issuer request 
     109 
     110* Send  
     111 
     112    TRANSFER_TOKEN( transaction_id, list_of_options, target, \ 
     113                    list_of_blinds, list_of_coins ) 
     114 
     115  to IS (issuer service), where  
     116  * transaction_id is a base64(random(128bit)) referencing this transaction 
     117    e.g. for later resume after an abort.  
     118  * option may contain variable=value pairs like "JITM=mandatory". 
     119  * target  
     120    * value(list_of_blinds) = value(list_of_coins): empty 
     121    * value(list_of_blinds) > value(list_of_coins): payment reference 
     122    * value(list_of_blinds) < value(list_of_coins): account reference 
     123 
     124  For now, only 'pure' transactions are allowed, so either of these must  
     125  be empty: 
     126  * target        : coin exchange (value(list_of_blinds) = value(list_of_coins)) 
     127  * list_of_coins : mint request 
     128  * list_of_blinds: redemption 
     129 
     130  If at least one of the blinds or coins is rejected, the issuer answers 
     131 
     132    TRANSFER_TOKEN_REJECT( transaction_id, reason, 
     133                           list( (blind1.key_id, reason1), ... ), \ 
     134                           list( (coin1.key_id,  reason1), ... )  ) 
     135 
     136  where "reason" may be some general failure like "500 minting not available". 
     137  Otherwise the IS answers 
     138 
     139    TRANSFER_TOKEN_ACCEPT( transaction_id, message, list_of_singed_blinds) 
     140 
     141  If no minting was requested, list_of_singed_blinds ist empty. 
     142  If minting was requested but delayed by the issuer, list_of_singed_blinds  
     143  is empty and message contains "300 minting delayed". 
     144 
     145 
     146 
    108147#4 wallet send minting request to issuer   
    109148