Proposal Key Aspects
- Receiver Entity: Celo Governance
- Status: DRAFT
- Title: CELOccelerate: Celo Tokenomics Proposal - Pausing Carbon Fund Payments
- Author(s): Celo Core Co.
- Type of Request: Smart Contract Changes (parameter change)
- Funding Request: N/A
Summary
This proposal implements one of the four changes outlined in the CELOccelerate tokenomics temperature check (CGP-0233), which recently passed governance. Specifically, it executes item 4: pausing carbon offset fund contributions.
It pauses the fee-based carbon fund distributions on the FeeHandler (currently 10% of transaction fees) by setting the carbon fraction to zero via governance.
Motivation
This proposal executes item 4 of the CELOccelerate tokenomics temperature check (CGP-0233), which has already passed governance. Pausing the carbon fund contributions redirects the 10% of transaction fees previously earmarked for carbon offsets into the burn, producing a mildly deflationary effect on CELO supply.
Specification
Current State (Mainnet)
| Contract | Parameter | Current Value |
|---|---|---|
FeeHandler (0xcD43...778) |
carbonFraction |
100000000000000000000000 (10% in Fixidity) |
FeeHandler (0xcD43...778) |
carbonFeeBeneficiary |
0xCe10d577295d34782815919843a3a4ef70Dc33ce |
Proposed State
| Contract | Parameter | New Value |
|---|---|---|
| FeeHandler | carbonFraction |
0 |
| FeeHandler | carbonFeeBeneficiary |
0xCe10d577295d34782815919843a3a4ef70Dc33ce (unchanged) |
Onchain Changes
Transaction 1: Pause FeeHandler Carbon Fund
- Destination:
FeeHandlerat0xcD437749E43A154C07F3553504c68fBfD56B8778 - Function:
setCarbonFraction(uint256) - Args:
["0"] - Value: 0
Sets the carbon fraction to 0. The freed fraction is redirected to the burn (since burnFraction = 1 - carbonFraction - otherBeneficiariesFraction). There is one other beneficiary on mainnet (0x7A1E98FC9a008107DbD1f430a05Ace8cf6f3FE19), so totalFractionOfOtherBeneficiariesAndCarbon remains non-zero and no division-by-zero can occur in _distribute().
JSON Script
See mainnet.json.
Verification
Verify the proposal transactions:
bash
celocli governance:show --proposalID <TBD> --jsonTransactions cgp-0236-proposal.json --node https://forno.celo.org
Verify FeeHandler carbon fraction (should be non-zero before, zero after):
bash
cast call 0xcD437749E43A154C07F3553504c68fBfD56B8778 \
"getCarbonFraction()(uint256)" \
--rpc-url https://forno.celo.org
Risks
- Reversibility: This change is fully reversible. A future governance proposal can restore the carbon fraction to its previous value.
- Economic impact: The fees that would have been directed to the carbon fund will instead be burned (since
burnFraction = 1 - carbonFraction - otherBeneficiariesFraction). This has a mildly deflationary effect. - No smart contract risk: Setting the fraction to zero is a supported code path. The FeeHandler has an existing other beneficiary (
0x7A1E98FC9a008107DbD1f430a05Ace8cf6f3FE19), preventing any division-by-zero in_distribute().
Metrics and KPIs
N/A
Current Status
Ready to be submitted on-chain.
Timeline and Milestones
To be submitted on chain as soon as the off-chain governance process is completed.
Detailed Budget
N/A
Payment Terms
N/A
Team
N/A
Additional Support/Resources
- FeeHandler contract (source)
- CELOccelerate tokenomics temperature check (CGP-0233): https://mondo.celo.org/governance/286