pickup_coins — Group 10, Code 171
Create (take ownership of) the destination coins reserved by a prior switch, by setting each AN to md5(AU || DN || SN).
Source-derived reference
Field layout below is read from raidax/cmd_shards.c (cmd_pickup_coins). Minimum body size: 43 bytes. Verify against the current build before relying.
Purpose
This is a WRITE: it sets the AN of each named coin (deriving it deterministically from AU+DN+SN) and marks the coin in use. It completes the switch_shard_sum flow. The reservation check ties it to the session that ran the switch.
Request Body parameters
| Field | Bytes | Description |
|---|---|---|
| CH (challenge) | 16 | Standard 16-byte challenge (challenge-response / replay protection). |
| SI (session id) | 4 | Must match the session id that reserved the pages in the switch step. |
| AU (auth seed) | 16 | 16-byte seed; each new coin AN = md5(AU with byte0=DN and bytes1-4=SN overlaid). |
| coins | var | Repeating destination coin id: DN(1) + SN(4) = 5 bytes each. |
| EOF | 2 | Terminator (0x3E3E). |
Response Body parameters
| Field | Bytes | Description |
|---|---|---|
| (status only) | var | No body on success; result conveyed in the status byte. Each page must be reserved by SI or the command fails with PAGE_IS_NOT_RESERVED. |