Function: deposit(uint256 _amount)
This function is for depositing USDC.
Inputs
_amount
Control: Completely controlled by the caller.
Constraints: The caller must have enough USDC to transfer.
Impact: Amount to deposit.
Branches and code coverage
Intended branches
Transfer the USDC to this contract.
Mint the proper amount of USDz, which is calculated with the fee rates.
Negative behavior
Revert when the contract is paused.
Revert when the given amount is zero.
Revert when the caller is blacklisted.