CREATE_MOVE_LOCKER — Group 8, Code 90
Deposit coin(s) into a move locker and receive a pickup code plus the destination locker id on the suspect. Extends the Locker group.
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. Offline move UX; Phase I uses timed client move-over instead.
How it works
A locker in RAIDA is a set of coins held under a key, so they can be handed to someone else by handing over the key. A move locker reuses that idea to move a coin to a suspect server without the user needing to be online at the exact moment the move executes.
The user deposits the coin(s) into a move locker on the root and names the target suspect. The root re-keys the coins into the locker, schedules the move for the next epoch, and returns two things: the epoch it will take effect, and a destination locker id on the suspect where the coins will appear afterward. The user also commits a secret pickup code (only its hash is sent now), which they will later use to claim the coins. This is the offline-friendly way to move coins: set it up now, come back and collect later.
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). |
| target_suspect_id | 2 | Suspect to move to. |
| count | 2 | Number of coins. |
| coins | var | Repeating: DN(1) + SN(4) = 5 bytes each. |
| src_locker_key | 16 | Key the coins are re-keyed to on deposit. |
| pickup_code_hash | 16 | Commitment to the pickup secret. |
| EOF | 2 | Terminator (0x3E3E). |
Response Body parameters
| Field | Bytes | Description |
|---|---|---|
| accepted | 1 | 1 = move locker created. |
| effective_epoch | 4 | Epoch the move applies. |
| dest_locker_id | 16 | Where the coin will appear on the suspect. |
| queue_ref | 4 | Handle for status / cancel. |