Skip to content

Commit

Permalink
change name to USDC.e and update README
Browse files Browse the repository at this point in the history
  • Loading branch information
joshuahannan committed Sep 20, 2024
1 parent 53c062a commit 8d50db9
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 24 deletions.
32 changes: 10 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,19 @@ so they can build a basic understanding of the programming language.
| Mainnet | [`0xf1ab99c82dee3526`](https://contractbrowser.com/A.f1ab99c82dee3526.USDCFlow) |

This is the contract that defines the Cadence version of Flow USDC.
Before the Sept 4th Crescendo migration, users can send
Before the Sept 4th Crescendo migration, sent
old `FiatToken` vaults to the `USDCFlow.wrapFiatToken()` function
and receive `USDCFlow` vaults back with the exact same balance.
and received `USDCFlow` vaults back with the exact same balance.

After the Crescendo migration, the `USDCFlow` smart contract
will integrate directly with the Flow VM bridge to become
the bridged version of Flow EVM USDC. These tokens will be backed
by real USDC via Flow EVM, so they will retain their value.
Now, the `USDCFlow` smart contract integrates directly with
the [Flow VM bridge](https://github.com/onflow/flow-evm-bridge) to become
the bridged version of Flow EVM USDC. These tokens are be backed
by real USDC via Ethereum mainnet and Flow EVM, so they retain their value.

This contract will be deployed to a different address
and have a different name than the original `FiatToken`,
so contracts that want to continue to support USDC on Flow
will need to migrate their code and state to the new `USDCFlow`
smart contract.

You can see a guide for how to migrate to the `USDCFlow` contract
in the [Cadence 1.0 Migration Guide](https://cadence-lang.org/docs/cadence-migration-guide/).
This contract is deployed to a different address
and has a different name than the original `FiatToken`,
so contracts that want to support USDC on Flow
will need to use this `USDCFlow` smart contract instead of `FiatToken`.

You can find transactions and scripts for interacting with the `USDCFlow` contract in the `transactions/` directory.

Expand All @@ -62,14 +58,6 @@ The contract in this repo is not yet included in the Flow emulator.
If you want to use this contract with the emulator,
you must add it to your `flow.json` and deploy it yourself.

As is, the contract can only mint new USDC if an old `FiatToken.Vault`
is passed into the `wrapFiatToken()` function. If you want to
test with this token on the emulator, you'll either need
to deploy the simplified version of `FiatToken`
in this repo and mint and wrap tokens,
or you will need to uncomment the lines of code
in the `init()` function to mint tokens during deployment.

### Prerequisites

- Install Flow CLI on your machine. For instructions, see the [Flow CLI documentation](https://developers.flow.com/tools/flow-cli/install).
Expand Down
4 changes: 2 additions & 2 deletions contracts/USDCFlow.cdc
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ access(all) contract USDCFlow: FungibleToken, ViewResolver {
)
let medias = MetadataViews.Medias([media])
return FungibleTokenMetadataViews.FTDisplay(
name: "USDC (Flow)",
symbol: "USDCf",
name: "USDC.e (Flow)",
symbol: "USDC.e",
description: "This fungible token representation of Standard Bridged USDC is bridged from Flow EVM.",
externalURL: MetadataViews.ExternalURL("https://github.com/circlefin/stablecoin-evm/blob/master/doc/bridged_USDC_standard.md"),
logos: medias,
Expand Down

0 comments on commit 8d50db9

Please sign in to comment.