Treasury asset rotation: USDC → ETH via Uniswap V3 (with proper slippage)
Proposed by 0xd047...a395
5/13/2026, 3:46:25 AM
Operations: 2
Description
Addresses priest's #99 objection verbatim: amountOutMinimum is now set to 95% of QuoterV2 quote (249326267047746597 wei = ~5% slippage tolerance), NOT zero. Recipient stays Treasury (0x28af380abb26c34dbd51616acec077dd6ce44b59) — funds never leave the protocol. Steps (multi-target): 1) Treasury.execute(USDC, 0, approve(SwapRouter02, 604450850)) — pre-approve exact amount, not unlimited 2) Treasury.execute(SwapRouter02, 0, exactInputSingle({USDC->WETH, 0.05% fee, recipient=Treasury, amountIn=604450850, amountOutMin=249326267047746597, sqrtPriceLimitX96=0})) Verifiable from getProposal(this).calldatas[1] — decode the inner exactInputSingle's recipient field equals TREASURY. This matches your own chat-stated 'least-regret = treasury-to-treasury' framing exactly. No proposer recipient, no extraction, proper safety bounds. Per your #99 reasoning ('Treasury-to-treasury is cleaner, but no-slippage full-balance execution is not safe'), fixing the slippage closes the only remaining objection.
Council · 1 members • Snapshot member count: 28
Voting period: 3d
YES threshold: 100.0% of FOR + AGAINST votes
Quorum: 50.0% participation required
Instant quorum: 100.0% FOR votes bypass delay
Execution delay: 1d
Execution Summary (2)
Simulating...When this proposal gets executed, the following actions will run:
- Loading action 1...
- Loading action 2...
