KVORUM
compoundSource: Compound governor bravo · #151

Initialize cUSDCv3 on Polygon

executedMar 4, 2023, 11:30 AM UTCbyC60xc66e…68a9

01Summary

AISummary by Kvorumclaude-haiku-4-5

This proposal initializes Compound III USDC market on Polygon by deploying the cUSDCv3 contract, bridging USDC and COMP reserves from Ethereum mainnet, setting risk parameters based on Gauntlet recommendations, establishing a Polygon-based pause guardian multisig, updating ENS records for official markets, and reallocating modest COMP rewards from v2 USDT.

Type
protocol addition

Key changes

  • Deploy Comet implementation and set configuration for cUSDCv3 on Polygon with risk parameters from Gauntlet(high)
  • Bridge 10 billion USDC from Ethereum mainnet to Polygon to seed market reserves(high)
  • Bridge 2,500 COMP from Ethereum mainnet to Polygon to seed rewards contract(high)
  • Establish pause guardian as Gnosis multisig on Polygon (0x8Ab717CAC3CbC4934E63825B88442F5810aAF6e5) with matching signers from Ethereum(high)
  • Update ENS subdomain v3-additional-grants.compound-community-licenses.eth with official markets JSON containing Polygon cUSDCv3 address(medium)
  • Reduce COMP supply-side rewards for v2 cUSDT to reallocate to new Polygon market while maintaining constant total distribution(medium)

Notable concerns

  • First proposal to bridge governance calls from Ethereum mainnet to another chain, introducing novel technical risks not present in previous proposals
  • Cross-chain bridge dependencies may introduce additional failure points or delays
Contracts0xF25212E676D1F7F89Cd72fFEe66158f541246445 (cUSDCv3 on Polygon)0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 (USDC)0xc00e94Cb662C3520282E6f5717214004A7f26888 (COMP)0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b (Compound v2 Comptroller)
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

340 words

Initialize cUSDCv3 on Polygon

This proposal takes the governance steps recommended and necessary to initialize a Compound III USDC market on Polygon; upon execution, cUSDCv3 will be ready for use. Simulations have confirmed the market’s readiness, as much as possible, using the Comet scenario suite. Although real tests have also been run over the Goerli/Mumbai bridge, this will be the first proposal to actually bridge from Ethereum mainnet to another chain, and therefore includes risks not present in previous proposals.

Although the proposal sets the entire configuration in the Configurator, the initial deployment already has most of these same parameters already set. The new parameters include setting the pause guardian to a Gnosis multisig, which has been created on Polygon to match the same set of signers as currently on Ethereum mainnet. They also include risk parameters based off of the recommendations from Gauntlet. Finally, the parameters include a modest reallocation of some of the v2 USDT COMP rewards to borrowers in the new market.

Further detailed information can be found on the corresponding proposal pull request and forum discussion.

Proposal Actions

The first proposal action sets the Comet configuration and deploys a new Comet implementation on Polygon. This sends the encoded setConfiguration and deployAndUpgradeTo calls across the bridge to the governance receiver on Polygon.

The second action approves Polygon's ERC20Predicate to take Timelock's USDC, in order to seed the market reserves through the bridge.

The third action deposits USDC from mainnet to the Polygon RootChainManager contract to bridge to Comet.

The fourth action approves Polygon's ERC20Predicate to take Timelock's COMP, in order to seed the rewards contract through the bridge.

The fifth action deposits COMP from mainnet to the Polygon RootChainManager contract to bridge to CometRewards.

The sixth action sets up the ENS subdomain v3-additional-grants.compound-community-licenses.eth, with the Timelock as the owner.

The seventh action writes the ENS TXT record v3-official-markets on v3-additional-grants.compound-community-licenses.eth, containing the official markets JSON.

The eighth action migrates the COMP distribution for v2 cUSDT suppliers, so as to keep the total COMP distribution constant.

03Mismatch analysis

AIMismatch analysis by Kvorum

A calldata-vs-description analysis is not generated yet. Review the decoded actions →

04Actions

8 total
#0sendMessageToChild(address,bytes)chain 0x1
Target
0xfe5e…89a2
Value
0 wei
Function
sendMessageToChild(address,bytes)
Arguments
{
  "0": "0x18281dfC4d00905DA1aaA6731414EABa843c468A",
  "1": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000200000000000000000000000083e0f742cacbe66349e3701b171ee2487a26e738000000000000000000000000d712ace4ca490d4f3e92992ecf3de12251b975f900000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000e6736574436f6e66696775726174696f6e28616464726573732c28616464726573732c616464726573732c616464726573732c616464726573732c616464726573732c75696e7436342c75696e7436342c75696e7436342c75696e7436342c75696e7436342c75696e7436342c75696e7436342c75696e7436342c75696e7436342c75696e7436342c75696e7436342c75696e7436342c75696e743130342c75696e743130342c75696e743130342c28616464726573732c616464726573732c75696e74382c75696e7436342c75696e7436342c75696e7436342c75696e74313238295b5d2929000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000236465706c6f79416e6455706772616465546f28616464726573732c6164647265737329000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000005a0000000000000000000000000f25212e676d1f7f89cd72ffee66158f5412464450000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cc3e7c85bb0ee4f09380e041fee95a0caedd4a020000000000000000000000008ab717cac3cbc4934e63825b88442f5810aaf6e50000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa84174000000000000000000000000fe4a8cc5b5b2366c1b58bea3858e81843581b2f7000000000000000000000000bde8f31d2ddda895264e27dd990fab3dc87b372d0000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000000737693eb334000000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000007c58508723800400000000000000000000000000000000000000000000000003782dace9d9000000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005d9e08c4d5000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000048c2739500000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000030000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619000000000000000000000000f9680d99d6c9589e2a93a78a04a279e50920594500000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000ac15a64d4ed80000000000000000000000000000000000000000000000000000b72fd2103b280000000000000000000000000000000000000000000000000000d2f13f7789f00000000000000000000000000000000000000000000000002544faa778090e000000000000000000000000000001bfd67037b42cf73acf2047067bd4f2c47d9bfd6000000000000000000000000de31f8bfbd8c84b5360cfacca3539b938dd78ae6000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000009b6e64a8ec600000000000000000000000000000000000000000000000000000a688906bd8b00000000000000000000000000000000000000000000000000000d2f13f7789f000000000000000000000000000000000000000000000000000000000009502f90000000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270000000000000000000000000ab594600376ec9fd91f8e885dadf0ce036862de000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000905438e6001000000000000000000000000000000000000000000000000000009b6e64a8ec600000000000000000000000000000000000000000000000000000ce80612991d0000000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000083e0f742cacbe66349e3701b171ee2487a26e738000000000000000000000000f25212e676d1f7f89cd72ffee66158f541246445"
}
Calldata
#1approve(address,uint256)chain 0x1
Target
0xa0b8…eb48
Value
0 wei
Function
approve(address,uint256)
Arguments
{
  "0": "0x40ec5B33f54e0E8A33A975908C5BA1c14e5BbbDf",
  "1": "10000000000"
}
Calldata
#2depositFor(address,address,bytes)chain 0x1
Target
0xa0c6…7c77
Value
0 wei
Function
depositFor(address,address,bytes)
Arguments
{
  "0": "0xF25212E676D1F7F89Cd72fFEe66158f541246445",
  "1": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "2": "0x00000000000000000000000000000000000000000000000000000002540be400"
}
Calldata
#3approve(address,uint256)chain 0x1
Target
0xc00e…6888
Value
0 wei
Function
approve(address,uint256)
Arguments
{
  "0": "0x40ec5B33f54e0E8A33A975908C5BA1c14e5BbbDf",
  "1": "2500000000000000000000"
}
Calldata
#4depositFor(address,address,bytes)chain 0x1
Target
0xa0c6…7c77
Value
0 wei
Function
depositFor(address,address,bytes)
Arguments
{
  "0": "0x45939657d1CA34A8FA39A924B71D28Fe8431e581",
  "1": "0xc00e94Cb662C3520282E6f5717214004A7f26888",
  "2": "0x0000000000000000000000000000000000000000000000878678326eac900000"
}
Calldata
#5setSubnodeRecord(bytes32,bytes32,address,address,uint64)chain 0x1
Target
0x0000…2e1e
Value
0 wei
Function
setSubnodeRecord(bytes32,bytes32,address,address,uint64)
Arguments
{
  "0": "0x835063cb5d9be2abff6e5960d1b21dc40959f6203b301bee8366afa131b7367a",
  "1": "0x8aaa1ababcc1dbfcba0372ceaf659d8e0cc2b9cc2a3b4cca293117c63981d660",
  "2": "0x6d903f6003cca6255D85CcA4D3B5E5146dC33925",
  "3": "0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41",
  "4": "0"
}
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\"}],\"137\":[{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0xF25212E676D1F7F89Cd72fFEe66158f541246445\"}]}"
}
Calldata
#7_setCompSpeeds(address[],uint256[],uint256[])chain 0x1
Target
0x3d98…cd3b
Value
0 wei
Function
_setCompSpeeds(address[],uint256[],uint256[])
Arguments
{
  "0": [
    "0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9"
  ],
  "1": [
    "0"
  ],
  "2": [
    "4825000000000000"
  ]
}
Calldata

05Tally

Summed from votes

Voters0
VP participating0
Outcome (current)—
Current support—

06Voters

0 total

No votes recorded yet.

07Forum

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

Arguments for

  • Compound III on Polygon would extend a proven, audited protocol design (already live on Ethereum) to a large, low-cost DeFi ecosystem, benefiting from #DeFiForAll's cheap and secure access mission.— hamzahkhan
  • Using USDC as the sole borrowable asset improves both utilization (most DeFi borrowing is stablecoin-denominated) and user safety by letting borrowers focus on collateral risk rather than tracking a volatile borrowed asset.— hamzahkhan
  • Seeding the market with USDC reserves at launch creates a liquidity/loss cushion and supports the new interest rate model dynamics introduced in Compound III.— hamzahkhan
  • Community members expressed strong enthusiasm and long-anticipated demand for a Compound deployment on Polygon.— Defiripper, dcota, Piji, ClairvoyantLabs
  • The cross-chain governance mechanism (bridge receiver + L2 timelock) is a valuable and exciting new capability for Compound, extending governance trust models to L2s.— allthecolors, jared
  • Gauntlet provided calibrated risk parameter options (conservative vs. very conservative) for WETH, WBTC, and WMATIC, giving governance a vetted basis to safely launch the market.— pauljlei, jared
  • Additional OpenZeppelin audits of the bridged governance contracts and a tested deployment via the Comet scenario framework increased confidence in the safety of the launch.— kevin

Arguments against

  • USDT and DAI are not currently supported as collateral on Compound and should not be added without a separate governance discussion, since USDC cannot be collateral as it is the base asset.— Sirokko
  • MATIC is a new, previously unsupported asset for Compound and its addition as collateral warrants its own governance decision rather than being bundled into this proposal.— Sirokko
  • The initial asset list should be minimized to ease governance decision-making, with additional assets proposed later via separate proposals.— Sirokko, jared
  • New assets require careful, quadruple-checked vetting of price feed reliability and manipulation-resistance given the outsized power price feeds hold in the protocol, plus additional contract risk (bridge receiver, timelock) since this would be the first multi-chain and first cross-bridge governance execution.— jared, kevin

Unresolved concerns

  • Whether USDT, DAI, and MATIC should be included as collateral assets at launch remained a live governance question rather than a settled decision within the thread.— Sirokko, jared
  • Details of the bridge receiver contract's scope (e.g., whether third-party contracts/EOAs could interface with it beyond governance-initiated transfers) were only partially clarified.— allthecolors, jared
  • The bridged USDC market's naming does not distinguish it from a potential future native USDC comet on Polygon, which could cause confusion as native USDC supply grows.— gazmagik

Notable participants

  • hamzahkhanOriginal proposer who laid out the rationale, asset list, and technical steps for initializing cUSDCv3 on Polygon.
  • SirokkoRaised key objections about which assets should be included as collateral and suggested phasing the rollout.
  • jaredCompound Labs representative who addressed technical/governance questions, agreed to a minimal asset set, and later announced proposal timing and parameter updates.
  • kevinProvided the detailed deployment update, contract addresses, audit info, and initialization proposal actions.
  • pauljleiPresented Gauntlet's risk parameter recommendations (two options) for the new market's collateral assets.
  • allthecolorsAsked clarifying questions about the new cross-chain bridge receiver and governance mechanism.
  • gazmagikRaised a later, forward-looking concern about native vs. bridged USDC and market naming.
  • ClairvoyantLabsFlagged progress via a GitHub PR link, generating renewed community interest.
Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Open the thread ↗