IGP-139: Increase Foundation monthly grant from $250,000 to $350,000 - #178
Open
thrilok209 wants to merge 4 commits into
Open
IGP-139: Increase Foundation monthly grant from $250,000 to $350,000#178thrilok209 wants to merge 4 commits into
thrilok209 wants to merge 4 commits into
Conversation
…tranche Raises the Fluid Foundation grant from $250,000 to $350,000/month per the forum proposal and executes the first disbursement at the new rate. Action 1 withdraws 187 stETH (~$350,000 at the 7-day average ETH price of $1,872.43) from the Fluid Reserve to the Foundation. The February grant was never drawn because IGP-124 expired unexecuted while the treasury absorbed Resolv-incident costs, so this is the first payment under the program. It is funded in stETH from the Reserve rather than the Treasury fGHO route IGP-124 used, mirroring the fixed-amount Reserve withdrawal in IGP-134 Action 4.
Governance Simulation Completed - IGP-138Payload Contract: Proposal Actions
📊 Transaction Summary
Proposal Creation TransactionTransaction Hash: Tenderly Dashboard: View Transaction Raw Transaction DataLinks |
bergben
approved these changes
Aug 7, 2026
Proposal id 138 is taken by the borrow-caps / DEX-ranges payload (PR #176), which is submitted to governance first. `PayloadIGPMain.propose()` enforces `proposedId == _PROPOSAL_ID()`, so the hard-coded id has to match the id this payload actually lands on. Governor proposalCount is 137, so with the borrow-caps payload taking 138 the grant lands on 139. The simulation's TARGET_PROPOSAL_COUNT moves 137 -> 138, so pre-setup now creates one placeholder proposal to consume id 138 before the grant is proposed. Action logic and the grant amount are unchanged.
IGP Validation Failed - IGP-138The IGP structure does not meet the required standards for automated simulation. Validation ErrorsRequired StructureMandatory Requirements:
Optional but Recommended:
Next Steps
Automated IGP validation via GitHub Actions |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Raises the Fluid Foundation's monthly grant from $250,000 to $350,000 per the forum proposal, and executes the first disbursement at the new rate.
The $250,000/month grant approved in February (Snapshot) was never drawn — IGP-124 expired without execution while the treasury absorbed Resolv-incident costs. This tranche is funded in stETH from the Fluid Reserve rather than the Treasury fGHO route IGP-124 used.
Action 1: Transfer the monthly grant to the Fluid Foundation
0x264786EF916af64a1DB19F513F24a3681734ce92withdrawFunds([stETH], [187e18], FLUID_FOUNDATION, "FOUNDATION GRANT")0xae7ab96520DE3A18E5e111B5EaAb095312D7fE840xde0377eF25aD02dBcFbc87D632E46bf1972A0Dc3Mirrors IGP-134 Action 4, which withdrew a fixed stETH amount from the Reserve through the same V2
withdrawFundsentrypoint. The only deltas are the amount (148 → 187 stETH), the recipient (Team Multisig → Foundation), and the event reason string.Numbering
Governor
proposalCountis 137 (read at block 25,697,915), so this payload lands on 138.Important
#176 currently also claims id 138. Only one payload can be 138, and
PayloadIGPMain.propose()reverts withPROPOSAL_IS_NOT_SAMEon a mismatch. This grant is intended to go out first, so #176 needs to be renumbered to 139 before it is proposed.Pre-deploy checks
npx hardhat compile— clean, only the repo-wide benign_PROPOSAL_ID"can be restricted to pure" warningigp-validator --id=138— passedverify-payload) — PASS_WITH_NOTES, no blockersowner()is the Timelock andwithdrawFundsisonlyMultisig, which accepts the owner. The owner branch bypasses the Treasury/Buyback recipient allowlist, so the Foundation is a valid destination.IFluidReserveContractV2is the correct interface — the deployed implementation exposes only the 4-arg signature (0x3ee1f1ea)Execution note
The Reserve holds 194.635 stETH against the 187 required — about 4% headroom.
withdrawFundsmoves a fixed amount and does no balance check of its own, so if the balance dips below 187 stETH at execution the Lido transfer fails and the whole proposal reverts. stETH rebases positively so the balance should drift upward, but any other stETH egress between queueing and execution would eat the margin.simulation/setup.tsasserts this precondition and fails loudly rather than pre-funding.Queued IGP-137 withdraws FLUID from the Treasury and touches neither the Reserve nor stETH, so there is no ordering dependency.
For proposer confirmation
IGP Actions
// Action 1: Transfer the monthly grant to the Fluid Foundation.