Compact
Soft-deleting an entry frees nothing: the tree node stays, the bytes stay locked, and every read still walks past the hole. Compacting drops those nodes and the chain refunds their deposit to whoever signs the transaction. The only question is when.
The two integers
- 0 live of 0 allocated indices
- 0 reclaimable nodes, about 0 bytes of state
- refunds roughly 0 GNOT to whoever compacts
- against 0.005 GNOT of gas at the floor price, break-even at 50 bytes
- verdict: nothing to reclaim, compacting would only burn gas
Why allocated minus live is not the answer
This board has 0 unused indices and 0 reclaimable nodes. A dead element only becomes a reclaimable node once everything under it is dead too, so scattered holes free nothing while a dead tail frees a lot. That is why nobody can write down a rule for when to compact, and why the realm publishes the numbers instead of a schedule.
Board
Empty. Add the first entry
The arithmetic is p/moul/x/storagecost; the container is p/moul/ulist, whose Compact drops dead nodes without moving a live index. The byte figure is an exact node count times a measured per-node constant, which is why it is sounder than a payload-derived bounty, but it is still an estimate: the chain's StorageUnlockEvent is the settlement.