- USDC.e (zkEVM) - This contract will match the current USDC contract deployed on Ethereum, with all expected features. Its contract address will be different from the current "wrapped" USDC in use today, and will have the ability to issue and burn tokens as well as "blacklist" addresses.
- FiatTokenProxy - USDC's proxy contract (effectively the token address that users interact with)
- FiatTokenV2_1 - implementation of the USDC contract (can be modified through upgrades)
NOTE: contracts in usdc-proxy/
and usdc-impl/
are copies from Arbitrum, because they are more up to date.
First, copy .env.example
to .env
and set the appropriate environment variables
Run the following command to simulate the FiatTokenV1_1.sol deployment locally using Foundry
forge script script/DeployInitUSDCE.s.sol:DeployInitUSDCE --fork-url ${RPC_URL} -vvvvv
To deploy to a particular chain, and verify the contract on Etherscan,
forge script script/DeployInitUSDCE.s.sol:DeployInitUSDCE --fork-url ${RPC_URL} --broadcast --verify -vvvv