I really like how you implemented this abit

. I understand the comment about the approach being a "bandaid", but actually the approach you took makes a lot of sense and allows the system to function exactly as it does now, should there be a bottleneck or bug in the process of adding to or paying out of the "accumulated fees" (i.e. rate limiting) holdings. This is an enhancement in the purest sense of the word.
I take it if an operation requires a fee and there is a balance of accumulated fees, the cost of the operation will automatically be supplied from the accumulated fees holdings?
I do seem to recall BM commenting somewhere that such operation should not be allowed. I could be wrong about that. I believe it has to do with whales exceeding the available network bandwidth?
Am I also correct in assuming that there are no prohibitions, stoppages, "sorry, can't do that" aspects to your approach? For example using a std account with a 1000 BTS balance performing some op (say in a python loop) that requires 1 BTS, there is nothing that would restrict the speed of that loop right? If there were no rate limiting, the loop would terminate after 1000 iterations (assuming the op didn't impact account balance). With rate limiting perhaps a few more iterations could be possible, due to accumulated fees being non-zero + the original 1000 BTS balance that both contribute to fees.