#100Cancelled

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.

YES
0.00%
0 votes
NO
100.00%
1 vote
Quorum (50.0% of eligible voters)1/1 Reached
Participation1/1 voted

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:

  1. Loading action 1...
  2. Loading action 2...

Votes (1)

NO0x54a2...670b
5/13/2026, 3:48:41 AM