[Update] - Smart Treasury - Progress Update

Thanks for this extensive update @8bitporkchop .

Regarding Smart Contract Updates:
For the FeeCollector changes seems ok to me.
For the Bootstrap contract

that’s ok for me and should simplify the contract a bit

That’s fine too or better we can directly use the multisig you created here

The fees for deployment should be refunded to whoever makes the actual txs, probably direcly from the Treasury (or later through something like the commitee proposed).

A lot of progress have been made so far, great job @8bitporkchop! Once the code is ready we can leverage even more Kovan testnet to test also the submission of the proposal there and I’m glad to help on that side (the same approach can then be used to test everything also in mainnet fork).

Security should be for sure something to focus on but we should also consider the scope of the proposal and weight the potential downsides in terms of costs and time.
In terms of changes we are not making any change to the main idleToken contract or other contracts already deployed, we will only change the feeAddress for all pools (through a method call), so no user funds will be directly at risk after the update. The other action that we are doing is the withdraw of 130000 IDLE from the ecosystem fund and the fees from the Treasury, so the worst case scenario would be to potentially have those funds stuck in some way, but we can code an emergency withdraw method that only the governance can call to be safe, so just in case we can withdraw funds from the old treasury fix it if needed and redeploy it.
All of this is just to say that we may also consider to not perform a full audit, but rather a security review with an auditing firm or a public peer review of the contracts. In either cases I’m happy to provide further support and reviews.

I think that this is a good idea, but maybe it would be better to start a more formal discussion about this and implement it after the Smart treasury is out, what do you think?

Btw once you set the FeeCollector as the fee receiver for each idleToken then you can redirect funds where you want from the FeeCollector, so I would say that it would be better to send part of the funds to a multi-sig (treasury committee), part to the FeeTreasury (which would still be owned by the governance) and part to the SmartTreasury (to avoid having the Treasury committee controlling all earned fees with unlimited powers) with allocations TBD. This would require a slightly change in the spec / code for the proposal so @8bitporkchop let us know if you think it can be added directly

I think some further analisys is needed to find the optimal solution, maybe it’s also worth considering the decrease of AUM and the increase of avg APY of each pool

The ecosystem fund has 1.950.000 IDLE so should be 6.66% of the ecosystem fund or 1% of the total supply, but in any case we all agree that are 130.000 IDLE :slight_smile:

This needs to be setup somewhere and a keeper is needed (with funding to call the deposit() method). We already have a keeper bot which performs rebalances for all pools so it can be hooked up there but some funding for gas cost needs to be accounted (and in the long run also for rebalances but that’s another story :slight_smile: )

3 Likes