| 1 | **************** |
|---|
| 2 | * Wallet to IS * |
|---|
| 3 | **************** |
|---|
| 4 | |
|---|
| 5 | ===================== |
|---|
| 6 | = MINT_KEY = |
|---|
| 7 | = TRANSFER_TOKEN = |
|---|
| 8 | ===================== |
|---|
| 9 | |
|---|
| 10 | MINT_KEY |
|---|
| 11 | ----------- |
|---|
| 12 | |
|---|
| 13 | Wallet: |
|---|
| 14 | MINT_KEY_FETCH_DENOMINATION list(denomination, ...) TIME(time)|'0' |
|---|
| 15 | Prior: Hello |
|---|
| 16 | Follow: MINT_KEY_PASS |
|---|
| 17 | MINT_KEY_FAILURE |
|---|
| 18 | |
|---|
| 19 | MINT_KEY_FETCH_KEYID list(#base64(key_identifier), ...) |
|---|
| 20 | Prior: Hello |
|---|
| 21 | Follow: MINT_KEY_PASS |
|---|
| 22 | MINT_KEY_FAILURE |
|---|
| 23 | |
|---|
| 24 | IS: |
|---|
| 25 | MINT_KEY_PASS list(keycertificate, ...) |
|---|
| 26 | Prior: MINT_KEY_FETCH_DENOMINATION |
|---|
| 27 | MINT_KEY_FETCH_KEYID |
|---|
| 28 | Follow: Goodbye |
|---|
| 29 | |
|---|
| 30 | MINT_KEY_FAILURE list(([denomination|#base64(key_identifier)], reason), ...) |
|---|
| 31 | Reasons: |
|---|
| 32 | Unknown denomination |
|---|
| 33 | Unknown key_identifier |
|---|
| 34 | Revoked key_identifier |
|---|
| 35 | Prior: MINT_KEY_FETCH_DENOMINATION |
|---|
| 36 | MINT_KEY_FETCH_KEYID |
|---|
| 37 | Follow: Goodbye |
|---|
| 38 | |
|---|
| 39 | |
|---|
| 40 | |
|---|
| 41 | TRANSFER_TOKEN |
|---|
| 42 | -------------- |
|---|
| 43 | |
|---|
| 44 | Wallet: |
|---|
| 45 | TRANSFER_TOKEN_REQUEST #base64(transaction_id) |
|---|
| 46 | target |
|---|
| 47 | list((#base64(key_identifier), list(blind,...)),...) |
|---|
| 48 | list(token,...) |
|---|
| 49 | list(('type', type), (option, value),...) |
|---|
| 50 | Types: |
|---|
| 51 | 'redeem' |
|---|
| 52 | 'exchange' |
|---|
| 53 | 'mint' |
|---|
| 54 | Prior: Hello |
|---|
| 55 | Follow: TRANSFER_TOKEN_REJECT |
|---|
| 56 | TRANSFER_TOKEN_ACCEPT |
|---|
| 57 | TRANSFER_TOKEN_DELAY |
|---|
| 58 | |
|---|
| 59 | TRANSFER_TOKEN_RESUME #base64(transaction_id) |
|---|
| 60 | Prior: Hello |
|---|
| 61 | Follow: TRANSFER_TOKEN_REJECT |
|---|
| 62 | TRANSFER_TOKEN_ACCEPT |
|---|
| 63 | TRANSFER_TOKEN_DELAY |
|---|
| 64 | |
|---|
| 65 | IS: |
|---|
| 66 | TRANSFER_TOKEN_REJECT #base64(transaction_id) |
|---|
| 67 | type |
|---|
| 68 | reason |
|---|
| 69 | list(reason-detail)|list() |
|---|
| 70 | Types: |
|---|
| 71 | 'Generic' |
|---|
| 72 | 'Option' |
|---|
| 73 | 'Target' |
|---|
| 74 | 'Token' |
|---|
| 75 | 'Blind' |
|---|
| 76 | Reasons: |
|---|
| 77 | Generic: |
|---|
| 78 | 'Rejected' |
|---|
| 79 | Option: |
|---|
| 80 | 'Rejected' |
|---|
| 81 | 'Unknown option' |
|---|
| 82 | 'Incorrect type' |
|---|
| 83 | 'See detail': |
|---|
| 84 | 'None' |
|---|
| 85 | All options of Reason, except 'See detail' |
|---|
| 86 | Target: |
|---|
| 87 | 'Rejected' |
|---|
| 88 | 'IS-Reject' + Issuer specific rejection string |
|---|
| 89 | Token: |
|---|
| 90 | 'Rejected' |
|---|
| 91 | 'Invalid key_identifier' |
|---|
| 92 | 'Revoked key' |
|---|
| 93 | 'Invalid token' |
|---|
| 94 | 'Token already spent' |
|---|
| 95 | 'See detail': |
|---|
| 96 | 'None' |
|---|
| 97 | All options of Reason, except 'See detail' |
|---|
| 98 | Blind: |
|---|
| 99 | 'Rejected' |
|---|
| 100 | 'Invalid key_identifier' |
|---|
| 101 | 'Key too soon' |
|---|
| 102 | 'Key expired' |
|---|
| 103 | 'Revoked key' |
|---|
| 104 | 'Unable to sign' |
|---|
| 105 | 'See detail': |
|---|
| 106 | 'None' |
|---|
| 107 | All options of Reason, except 'See detail' |
|---|
| 108 | Prior: TRANSFER_TOKEN_REQUEST |
|---|
| 109 | TRANSFER_TOKEN_RESUME |
|---|
| 110 | Follow: Goodbye |
|---|
| 111 | |
|---|
| 112 | TRANSFER_TOKEN_ACCEPT #base64(transaction_id) |
|---|
| 113 | list(signed_blind,...) |
|---|
| 114 | Prior: TRANSFER_TOKEN_REQUEST |
|---|
| 115 | TRANSFER_TOKEN_RESUME |
|---|
| 116 | Follow: Goodbye |
|---|
| 117 | |
|---|
| 118 | TRANSFER_TOKEN_DELAY #base64(transaction_id) "Message" |
|---|
| 119 | Messages: |
|---|
| 120 | **Haven't done this yet** |
|---|
| 121 | Prior: TRANSFER_TOKEN_REQUEST |
|---|
| 122 | TRANSFER_TOKEN_RESUME |
|---|
| 123 | Follow: Goodbye |
|---|