MOVE_CANCEL — Group 20, Code 2
Drop a pending move before the epoch boundary.
Design-stage — parameters are a first draft
Field sizes are drafted from raidax/ideas_for_suspect_raida_servers.txt (Addenda 5–7) and are not final or implementation-verified. The body is encrypted per the header ENC_CODE; see below.
Phase II — later
This command is Phase II: convenience, recovery, or optimization that is not required for the first working move. Convenience: withdraw a pending move. Not required for a move to work.
How it works
After a user has asked to move a coin (see MOVE_REQUEST), the move sits in a pending state until the next epoch boundary. MOVE_CANCEL lets the user change their mind and withdraw that pending request before it takes effect.
The client proves ownership of the coin (the request is encrypted under the coin's AN) and names the coin. If a pending move exists, the root removes it and the coin simply stays where it is. If there was nothing queued, the server says so. Once the epoch has passed and the move has actually executed, there is nothing to cancel here — reversing it would require moving the coin back the other way.
Direction & encryption
- Direction: client → root
- ENC_CODE: 1 (coin AN)
Request Body parameters
| Field | Bytes | Description |
|---|---|---|
| CH (challenge) | 16 | Standard challenge / replay protection (per header convention). |
| DN | 1 | Denomination of coin X. |
| SN | 4 | Serial number of coin X. |
| EOF | 2 | Terminator (0x3E3E). |
Response Body parameters
| Field | Bytes | Description |
|---|---|---|
| cancelled | 1 | 1 = pending move removed, 0 = nothing to cancel. |