Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

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.