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

FieldBytesDescription
CH (challenge)16Standard 16-byte challenge (challenge-response / replay protection).
SI (session id)4Must match the session id that reserved the pages in the switch step.
AU (auth seed)1616-byte seed; each new coin AN = md5(AU with byte0=DN and bytes1-4=SN overlaid).
coinsvarRepeating destination coin id: DN(1) + SN(4) = 5 bytes each.
EOF2Terminator (0x3E3E).

Response Body parameters

FieldBytesDescription
(status only)varNo 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.