CELOccelerate: Celo Tokenomics Proposal - Pausing Carbon Fund Payments

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: FeeHandler at 0xcD437749E43A154C07F3553504c68fBfD56B8778
  • 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

3 Likes