Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
MishaShWoof committed Feb 11, 2025
1 parent edc43d7 commit f657b7c
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ export default migration('1686953660_configurate_and_ens', {

const description = "# Initialize native USDC market cUSDCv3 on Arbitrum\n\nThis proposal takes the governance steps recommended and necessary to initialize a Compound III USDC (native USDC on Arbitrum) market on Arbitrum; upon execution, cUSDCv3 will be ready for use. Simulations have confirmed the market’s readiness, as much as possible, using the [Comet scenario suite](https://github.com/compound-finance/comet/tree/main/scenario). Although real tests have also been run over the Goerli/Arbitrum Goerli, this will be the first proposal to mint native USDC on Arbitrum mainnet by burning USDC on mainnet via the `depositAndBurn` function on the Cross-Chain Transfer Protocol (CCTP) provided by Circle, and therefore includes risks not present in previous proposals.\n\nThe proposal sets the entire configuration in the Configurator to be the same as the existing bridged USDC.e market. Finally, the parameters include a migration of bridged USDC.e market supply-side COMP incentives to users in the new native USDC market.\n\nFurther detailed information can be found on the corresponding [proposal pull request](https://github.com/compound-finance/comet/pull/789) and [forum discussion](https://www.comp.xyz/t/initialize-compound-iii-native-usdc-on-arbitrum/4542).\n\n\n## Proposal Actions\n\nThe first proposal action sets the Comet Factory, Comet configuration and deploys a new Comet implementation on Arbitrum. This sends the encoded `setFactory`, `setConfiguration` and `deployAndUpgradeTo` calls across the bridge to the governance receiver on Arbitrum. It also calls `setRewardConfig` on the Arbitrum rewards contract, to establish Arbitrum’s bridged version of COMP as the reward token for the deployment and set the initial supply speed to be 10 COMP/day and borrow speed to be 0 COMP/day. It calls another `setBaseTrackingSupplySpeed` and `setBaseTrackingBorrowSpeed` to set the supply speed and borrow speed of the existing USDC.e market to be 0 COMP/day. Lastly it calls `deployAndUpgradeTo` to deploy an updated Comet implementation for the existing bridged USDC.e market to have the new supply and borrow rewards speed.\n\nThe second action approves Circle’s Cross-Chain Transfer Protocol (CCTP)[TokenMessenger](https://etherscan.io/address/0xbd3fa81b58ba92a82136038b25adec7066af3155) to take the Timelock's USDC on Mainnet, in order to seed the market reserves through the CCTP.\n\nThe third action deposits and burns 10K USDC from mainnet via `depositForBurn` function on CCTP’s TokenMessenger contract to mint native USDC to Comet on Arbitrum.\n\nThe fourth 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 native USDC market and renames the bridged USDC market’s baseSymbol to USDC.e from USDC.";
const txn = await govDeploymentManager.retry(async () =>
trace(await governor['propose(address[] targets, uint256[] values, string[] signatures, bytes[] calldatas, string description)'](...(await proposal(mainnetActions, description))))
trace(await governor.propose(...(await proposal(mainnetActions, description))))
);

const event = txn.events.find(event => event.event === 'ProposalCreated');
Expand Down
2 changes: 1 addition & 1 deletion plugins/scenario/utils/TokenSourcer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ async function addTokens(
block = block ?? (await ethers.provider.getBlockNumber());
let tokenContract = new ethers.Contract(asset, erc20, ethers.provider);
let filter = tokenContract.filters.Transfer();
if (mintableByBridgeConfig[dm.network].map((addr: string) => addr.toLowerCase()).includes(asset.toLowerCase())) {
if (mintableByBridgeConfig[dm.network] && mintableByBridgeConfig[dm.network].map((addr: string) => addr.toLowerCase()).includes(asset.toLowerCase())) {
await dm.hre.network.provider.request({
method: 'hardhat_impersonateAccount',
params: ['0x4200000000000000000000000000000000000010'],
Expand Down

0 comments on commit f657b7c

Please sign in to comment.