Open raulk opened 4 months ago
When withdrawing funds from a subnet, IPC sends these funds to the local burnt funds actor, and deducts them from the circ supply of the child and the parent.
It feels like we can introduce a state parameter or something like that in the checkpoint as well. Carry extra information, maybe for finalisation or light client.
Context
Subnets that use non-zero base fees forward their burns to address f099 ("burnt funds" actor inherited from Filecoin). If validators behave correctly, these funds are terminally out of circulation. However, the circulating supply accounting maintained at the parent has no knowledge of such burns.
Discussion
On the one hand, today's behaviour is technically correct, since from the perspective of the parent, these funds continue to be managed by the subnet, and the fact that they're sitting in an untouchable address is merely circumstantial.
However, taking a broader perspective, it's highly desirable for local burns to propagate up the hierarchy and be reconciled at the original supply source. This enables sounder tokenomics models and centralises supervision/introspection (e.g. it becomes possible to adjust a minting rate based on the actual circulating supply).
Potential solution
Notes
This should be fairly straightforward to implement, and some part of this is already needed for #925.