What if we built a ballot system and made one vote a month with the ballot? That would probably save a lot of gas, especially if we used gas tokens. Doing rewards in one massive block makes things easier to calculate for, I think. We could consider the idea of using Sablier (compounding?) streams to distribute rewards; you participate in a vote and when you do that your reward stream is started and runs its course over the month.
The Sablier protocol doesn’t appear to have a wide range of tokens available, and notably all of our native tokens are absent. There are two options to deal with this:
- We can contribute to the Sablier protocol somehow and get BNT/vBNT added to the protocol, and also potentially get a stake of COMP and influence Compound Governance to add BNT/vBNT to the protocol so we can run compounding streams natively.
- We can automatically swap to a highly liquid asset (with a good rate on Compound if we go that route) when we initiate the reward stream, and when the holder autostakes/withdraws their rewards, we just swap it back, all via our web interface.