Skip to main content

Manage Warp Route Limits on xERC20 and FiatToken

FiatToken deploys

Warp Routes support Circle's Bridged USDC in the form of a minter for FiatToken (See more on the repo for documentation) There are three roles that are relevant on the FiatToken and MasterMinter contracts:

  1. MasterMinter owner is the account that can set controllers and minters.
  2. MasterMinter controller is the account that can set the mint limits for its assigned minters.
  3. MasterMinter minter is the account that can actually call mint on FiatToken.

Owner and controller should be typically set to a Safe multisig, the minter is the warp route contract address on the local chain.

There are three actions that should be set on the MasterMinter contract to be ready for usage:

  1. As the owner, remove the previous test controller via the removeController(address _controller) function
  2. As the owner, you should set the controller and minter via the configureController(address controller, address worker) funcition. The controller can be the same as the owner, the minter should be the warp route address.
  3. As the controller, you should set the mint limit for the minter via the configureMinter(uint256 _newAllowance) function. This limit is not being continously reset, so either set it to a suficiently large value (like cast max-uint) or monitor the usage and adjust accordingly.