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

FieldBytesDescription
CH (challenge)16Standard challenge / replay protection (per header convention).
DN1Denomination of coin X.
SN4Serial number of coin X.
EOF2Terminator (0x3E3E).

Response Body parameters

FieldBytesDescription
cancelled11 = pending move removed, 0 = nothing to cancel.