KVORUM
compoundSource: Compound governor bravo · #268

Initialize cUSDTv3 on Ethereum Mainnet

executedJul 3, 2024, 11:56 PM UTCby070x0703…961b

01Summary

AISummary by Kvorumclaude-haiku-4-5

FranklinDAO proposes deploying Compound III's cUSDTv3 market on Ethereum Mainnet. This involves configuring the market with risk parameters recommended by Gauntlet, deploying the factory, seeding 250 million USDT in reserves from existing cUSDT reserves, and registering the market on official channels.

Type
protocol addition

Key changes

  • Deploy cUSDTv3 Comet instance on Ethereum Mainnet with Gauntlet-recommended risk parameters including collateral configurations for COMP, WETH, WBTC, UNI, LINK, and stETH(high)
  • Set CometFactory for the new Comet instance in the Configurator(high)
  • Configure rewards contract to distribute COMP incentives to the new cUSDTv3 market(medium)
  • Seed cUSDTv3 market with 250 million USDT transferred from existing cUSDT reserves(high)
  • Register cUSDTv3 on official markets list via ENS TXT record update(low)
Contracts0x316f9708bb98af7da9c68c1c3b5e79039cd336e30x1ec63b5883c3481134fd50d5daebc83ecd2e87790x1b0e765f6224c21223aea2af16c1c46e38885a400xf650c3d88d12db855b8bf7d11be6c55a4e07dcc90xdac17f958d2ee523a2206206994597c13d831ec70x4976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

226 words

Initialize cUSDTv3 on Ethereum Mainnet

Proposal summary

FranklinDAO team with advice support from Woof Software team proposes deployment of Compound III to the Ethereum Mainnet network. This proposal takes the governance steps recommended and necessary to initialize a Compound III USDT market on Ethereum Mainnet; upon execution, cUSDTv3 will be ready for use. Simulations have confirmed the market’s readiness, as much as possible, using the Comet scenario suite. The new parameters include setting the risk parameters based off of the recommendations from Gauntlet.

Further detailed information can be found on the corresponding proposal pull request, deploy market GitHub action run and forum discussion.

Proposal Actions

The first proposal action sets the CometFactory for the new Comet instance in the existing Configurator.

The second action configures the Comet instance in the Configurator.

The third action deploys an instance of the newly configured factory and upgrades the Comet instance to use that implementation.

The fourth action configures the existing rewards contract for the newly deployed Comet instance.

The fifth action reduces Compound’s cUSDT reserves and transfers it to Timelock, in order to seed the market reserves for the cUSDTv3 Comet.

The sixth action transfers reserves from Timelock to the cUSDTv3 Comet.

The seventh action updates the ENS TXT record v3-official-markets on v3-additional-grants.compound-community-licenses.eth, updating the official markets JSON to include the new Ethereum Mainnet cUSDTv3 market.

03Mismatch analysis

AIMismatch analysis by Kvorumclaude-sonnet-5
Consistent

I compared each of the seven prose-described actions against the seven decoded calldata actions in order. Action 0 (setFactory) matches the described Configurator factory update. Action 1 (setConfiguration) matches the described Comet configuration step, and while the description doesn't enumerate the specific risk parameters, it correctly references that they follow Gauntlet's published recommendations - this is legitimate summarization, not a discrepancy. Action 2 (deployAndUpgradeTo) matches the described deploy+upgrade step, targeting the same Comet address referenced in action 0/1. Action 3 (setRewardConfig) matches the rewards configuration step, targeting the same new Comet address. Action 4 (_reduceReserves on the cUSDT v2 market) matches the described reserve reduction. Action 5 (USDT transfer) sends the same amount (250,000 USDT) reduced in action 4 to the same Comet address configured earlier, consistent with 'transfers reserves from Timelock to the cUSDTv3 Comet.' Action 6 (ENS setText) matches the described update to the v3-official-markets registry, and the new JSON payload does include the new USDT Comet address for chain '1' alongside pre-existing markets on other chains (which is expected/necessary, not an omission). All addresses referenced across actions are internally consistent (the same new Comet address 0x3Afdc9... appears in actions 0,1,2,3,5, and 6). No numeric or target mismatches were found, and no significant omitted or extra actions were detected. The description is a faithful, appropriately high-level summary of the calldata.

Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Review the decoded actions ↗

04Actions

7 total
#0setFactory(address,address)chain 0x1
Target
0x316f…36e3
Value
0 wei
Function
setFactory(address,address)
Arguments
{
  "0": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840",
  "1": "0x698A949f3b4f7a5DdE236106F25Fa0eAcA0FcEF1"
}
Calldata
#1setConfiguration(address,(address,address,address,address,address,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint104,uint104,uint104,(address,address,uint8,uint64,uint64,uint64,uint128)[]))chain 0x1
Target
0x316f…36e3
Value
0 wei
Function
setConfiguration(address,(address,address,address,address,address,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint104,uint104,uint104,(address,address,uint8,uint64,uint64,uint64,uint128)[]))
Arguments
{
  "0": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840",
  "1": [
    "0x6d903f6003cca6255D85CcA4D3B5E5146dC33925",
    "0xbbf3f1421D886E9b2c5D716B5192aC998af2012c",
    "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "0x3E7d1eAB13ad0104d2750B8863b489D65364e32D",
    "0x5C58d4479A1E9b2d19EE052143FA73F0ee79A36e",
    "900000000000000000",
    "59000000000000000",
    "2900000000000000000",
    "0",
    "900000000000000000",
    "61000000000000000",
    "3200000000000000000",
    "15000000000000000",
    "600000000000000000",
    "1000000000000000",
    "810185185185",
    "578703703703",
    "100000000000",
    "100000000",
    "20000000000000",
    [
      [
        "0xc00e94Cb662C3520282E6f5717214004A7f26888",
        "0xdbd020CAeF83eFd542f4De03e3cF0C28A4428bd5",
        "18",
        "650000000000000000",
        "700000000000000000",
        "750000000000000000",
        "100000000000000000000000"
      ],
      [
        "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
        "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419",
        "18",
        "830000000000000000",
        "900000000000000000",
        "950000000000000000",
        "500000000000000000000000"
      ],
      [
        "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
        "0x4E64E54c9f0313852a230782B3ba4B3B0952B499",
        "8",
        "800000000000000000",
        "850000000000000000",
        "950000000000000000",
        "1800000000000"
      ],
      [
        "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",
        "0x553303d460EE0afB37EdFf9bE42922D8FF63220e",
        "18",
        "750000000000000000",
        "810000000000000000",
        "850000000000000000",
        "3000000000000000000000000"
      ],
      [
        "0x514910771AF9Ca656af840dff83E8264EcF986CA",
        "0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c",
        "18",
        "790000000000000000",
        "850000000000000000",
        "930000000000000000",
        "2000000000000000000000000"
      ],
      [
        "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
        "0x023ee795361B28cDbB94e302983578486A0A5f1B",
        "18",
        "800000000000000000",
        "850000000000000000",
        "950000000000000000",
        "9000000000000000000000"
      ]
    ]
  ]
}
Calldata
#2deployAndUpgradeTo(address,address)chain 0x1
Target
0x1ec6…8779
Value
0 wei
Function
deployAndUpgradeTo(address,address)
Arguments
{
  "0": "0x316f9708bB98af7dA9c68C1C3b5e79039cD336E3",
  "1": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840"
}
Calldata
#3setRewardConfig(address,address)chain 0x1
Target
0x1b0e…5a40
Value
0 wei
Function
setRewardConfig(address,address)
Arguments
{
  "0": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840",
  "1": "0xc00e94Cb662C3520282E6f5717214004A7f26888"
}
Calldata
#4_reduceReserves(uint256)chain 0x1
Target
0xf650…dcc9
Value
0 wei
Function
_reduceReserves(uint256)
Arguments
{
  "0": "250000000000"
}
Calldata
#5transfer(address,uint256)chain 0x1
Target
0xdac1…1ec7
Value
0 wei
Function
transfer(address,uint256)
Arguments
{
  "0": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840",
  "1": "250000000000"
}
Calldata
#6setText(bytes32,string,string)chain 0x1
Target
0x4976…ba41
Value
0 wei
Function
setText(bytes32,string,string)
Arguments
{
  "0": "0x7dcf87198fd673716e5a32b206d9379c4fcbad8875073f52bfd0656759bf89ed",
  "1": "v3-official-markets",
  "2": "{\"1\":[{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0xc3d688B66703497DAA19211EEdff47f25384cdc3\"},{\"baseSymbol\":\"WETH\",\"cometAddress\":\"0xA17581A9E3356d9A858b789D68B4d866e593aE94\"},{\"baseSymbol\":\"USDT\",\"cometAddress\":\"0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840\"}],\"10\":[{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0x2e44e174f7D53F0212823acC11C01A11d58c5bCB\"},{\"baseSymbol\":\"USDT\",\"cometAddress\":\"0x995E394b8B2437aC8Ce61Ee0bC610D617962B214\"}],\"137\":[{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0xF25212E676D1F7F89Cd72fFEe66158f541246445\"},{\"baseSymbol\":\"USDT\",\"cometAddress\":\"0xaeB318360f27748Acb200CE616E389A6C9409a07\"}],\"8453\":[{\"baseSymbol\":\"USDbC\",\"cometAddress\":\"0x9c4ec768c28520B50860ea7a15bd7213a9fF58bf\"},{\"baseSymbol\":\"WETH\",\"cometAddress\":\"0x46e6b214b524310239732D51387075E0e70970bf\"},{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0xb125E6687d4313864e53df431d5425969c15Eb2F\"}],\"42161\":[{\"baseSymbol\":\"USDC.e\",\"cometAddress\":\"0xA5EDBDD9646f8dFF606d7448e414884C7d905dCA\"},{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0x9c4ec768c28520B50860ea7a15bd7213a9fF58bf\"},{\"baseSymbol\":\"WETH\",\"cometAddress\":\"0x6f7D514bbD4aFf3BcD1140B7344b32f063dEe486\"},{\"baseSymbol\":\"USDT\",\"cometAddress\":\"0xd98Be00b5D27fc98112BdE293e487f8D4cA57d07\"}],\"534352\":[{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0xB2f97c1Bd3bf02f5e74d13f02E3e26F93D77CE44\"}]}"
}
Calldata

05Tally

Summed from votes

Voters35
VP participating484K
Outcome (current)For
Current support100%

06Voters

35 total
Filter:
VoterChoice% of totalRationale
B90xb933…8dd1For54K11.15%—2y ago
680x683a…6c02For50.1K10.34%—2y ago
7A0x7ae1…e585For50K10.33%—2y ago
ED0xed11…bb04For50K10.33%—2y ago
B40xb49f…7948For50K10.33%—2y ago
070x0703…961bFor50K10.33%—2y ago
130x13bd…8548For50K10.33%—2y ago
DC0xdc1f…e432For50K10.33%—2y ago
7B0x7b3c…cc33For50K10.33%—2y ago
3F0x3fb1…4c8aFor25.6K5.28%—2y ago
B30xb356…c826For3.9K0.81%—2y ago
660x66cd…65f9For481.80.10%—2y ago
E40xe459…e666For5.20.00%—2y ago
090x09c1…1edcFor10.00%—2y ago
720x72c5…7708For10.00%—2y ago
050x0579…ca09For10.00%—2y ago
D20xd260…b1b6For0.50.00%—2y ago
2F0x2f2f…f78aFor0.50.00%—2y ago
480x48b5…6950For0.10.00%—2y ago
3F0x3fc3…d4f7For0.10.00%—2y ago
E00xe005…59d8For00.00%—2y ago
E50xe570…3510For00.00%—2y ago
420x42a5…22d7For00.00%—2y ago
6C0x6cc5…70acFor00.00%—2y ago
710x7160…684cFor00.00%—2y ago
ED0xed14…b962For00.00%—2y ago
A20xa266…fc3fFor00.00%—2y ago
B80xb899…8c04For00.00%—2y ago
7E0x7e03…9623For00.00%—2y ago
220x2205…4999For00.00%—2y ago
ED0xedb2…1897For00.00%—2y ago
F80xf88c…bdfdFor00.00%—2y ago
4A0x4a52…8e37For00.00%—2y ago
E30xe37a…239aFor00.00%—2y ago
220x2210…d02eFor00.00%—2y ago
Showing 35

07Forum

AIForum synthesis by Kvorumclaude-sonnet-5
sentiment · favorablethread · constructive

Arguments for

  • USDT is a top market on Compound V2 by earnings and borrowing volume, and one of the largest stablecoins by market cap, making it a natural and desirable addition to Compound V3.— pennblockchain
  • Adding USDT aligns with the AlphaGrowth Growth Program's strategic priority of expanding USDT markets across chains to drive protocol growth.— bryancolligan
  • Gauntlet provided detailed risk parameter, IR curve, and incentive recommendations designed to accelerate TVL growth and ensure healthy market utilization at launch.— Gauntlet
  • The proposal fulfills Compound Grants Program milestones for technical implementation, with Milestone 2 funding contingent on community approval, showing structured accountability.— Doo, pennblockchain
  • OpenZeppelin's security review confirmed the on-chain governance proposal matched the reviewed scope, with critical oracle misconfigurations resolved before execution.— jbass-oz, dmitriywoofsoftware
  • Extensive CI/CD testing (Slither, Forge tests, gas profiling, scenario tests, deployment simulations) was successfully completed prior to proposing on-chain, demonstrating technical readiness.— dmitriywoofsoftware
  • The market has already been successfully deployed on-chain with USDT supplied, collateral supplied, and borrowing functional, confirming real-world viability even before frontend availability.— BlueSteve, dmitriywoofsoftware

Arguments against

None surfaced.

Unresolved concerns

  • The ENS record update mechanism used in the migration script has a structural flaw that could unintentionally overwrite or omit other pending or recently added market details in the v3-official-markets record, and this was explicitly marked as unresolved even after the audit update.— jbass-oz
  • The WstETHPriceFeed contract's naming and documentation still describe intended use with a stETH/ETH price feed even though it was repurposed to use a stETH/USD feed, creating potential confusion for future developers.— jbass-oz
  • Whether USDC should be added as a collateral asset was left open, as Gauntlet excluded it from initial recommendations pending further community input.— Gauntlet, pennblockchain
  • A user asked whether it was safe and appropriate to interact with the newly deployed contract directly via Etherscan to earn COMP rewards before the frontend was live, with only a brief reassurance given rather than a detailed security analysis.— BlueSteve, dmitriywoofsoftware

Notable participants

  • pennblockchainOriginal proposer who introduced the USDT market proposal, motivation, and proposed collateral assets, and updated it with community feedback.
  • bryancolliganRepresented AlphaGrowth's Growth Program, framing the proposal within a broader strategic push for USDT market expansion.
  • DooClarified Compound Grants Program milestone status and funding conditions tied to community approval.
  • GauntletProvided detailed risk parameters, IR curve settings, and COMP incentive recommendations for the new market.
  • jbass-ozConducted OpenZeppelin's security audit of the migration PR, identifying oracle misconfiguration and ENS record issues, and later confirmed the final on-chain proposal matched the audited scope.
  • dmitriywoofsoftwareLed technical implementation and deployment via Woof Software, ran CI/CD checks, submitted the on-chain governance proposal, and responded to community questions post-deployment.
  • BlueSteveCommunity user who tested the deployed contract and raised a question about interacting with it before frontend availability.
Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Open the thread ↗