⬅️ Contracts
FEI stablecoin
Author: Fei Protocol
Mainnet implementations
Core, CErc20Delegator, FeiDAOTimelock, CollateralizationOracleKeeper, PCVDripController, PriceBoundPSM, MintRedeemPausePSM, FeiSkimmer, AavePCVDeposit, AngleUniswapPCVDeposit, UniswapPCVDeposit, ERC20CompoundPCVDeposit, RestrictedPermissions, LinearTokenTimelock, REPTbRedeemer
Events
Approval
event Approval(address,address,uint256)
Params
| Param |
Type |
Notes |
| owner |
address indexed |
|
| spender |
address indexed |
|
| value |
uint256 |
|
Burning
event Burning(address,address,uint256)
Params
| Param |
Type |
Notes |
| _to |
address indexed |
|
| _burner |
address indexed |
|
| _amount |
uint256 |
|
ContractAdminRoleUpdate
event ContractAdminRoleUpdate(bytes32,bytes32)
Params
| Param |
Type |
Notes |
| oldContractAdminRole |
bytes32 indexed |
|
| newContractAdminRole |
bytes32 indexed |
|
CoreUpdate
event CoreUpdate(address,address)
Params
| Param |
Type |
Notes |
| oldCore |
address indexed |
|
| newCore |
address indexed |
|
IncentiveContractUpdate
event IncentiveContractUpdate(address,address)
Params
| Param |
Type |
Notes |
| _incentivized |
address indexed |
|
| _incentiveContract |
address indexed |
|
Minting
event Minting(address,address,uint256)
Params
| Param |
Type |
Notes |
| _to |
address indexed |
|
| _minter |
address indexed |
|
| _amount |
uint256 |
|
Paused
event Paused(address)
Params
| Param |
Type |
Notes |
| account |
address |
|
Transfer
event Transfer(address,address,uint256)
Params
| Param |
Type |
Notes |
| from |
address indexed |
|
| to |
address indexed |
|
| value |
uint256 |
|
Unpaused
event Unpaused(address)
Params
| Param |
Type |
Notes |
| account |
address |
|
Methods
CONTRACT_ADMIN_ROLE
function CONTRACT_ADMIN_ROLE() view returns(bytes32)
a role used with a subset of governor permissions for this contract only
Returns
DOMAIN_SEPARATOR
function DOMAIN_SEPARATOR() view returns(bytes32)
Returns
PERMIT_TYPEHASH
function PERMIT_TYPEHASH() view returns(bytes32)
Returns
allowance
function allowance(address,address) view returns(uint256)
See {IERC20-allowance}.
Params
| Param |
Type |
Notes |
| owner |
address |
|
| spender |
address |
|
Returns
approve
function approve(address,uint256) nonpayable returns(bool)
See {IERC20-approve}. Requirements: - spender cannot be the zero address.
Params
| Param |
Type |
Notes |
| spender |
address |
|
| amount |
uint256 |
|
Returns
balanceOf
function balanceOf(address) view returns(uint256)
See {IERC20-balanceOf}.
Params
| Param |
Type |
Notes |
| account |
address |
|
Returns
burn
function burn(uint256) nonpayable
burn FEI tokens from caller
Params
| Param |
Type |
Notes |
| amount |
uint256 |
the amount to burn |
burnFrom
function burnFrom(address,uint256) nonpayable
burn FEI tokens from specified account
Params
| Param |
Type |
Notes |
| account |
address |
the account to burn from |
| amount |
uint256 |
the amount to burn |
core
function core() view returns(address)
address of the Core contract referenced
Returns
| Param |
Type |
Notes |
|
address |
ICore implementation address |
decimals
function decimals() view returns(uint8)
Returns the number of decimals used to get its user representation. For example, if decimals equals 2, a balance of 505 tokens should be displayed to a user as 5.05 (505 / 10 ** 2). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for display purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.
Returns
decreaseAllowance
function decreaseAllowance(address,uint256) nonpayable returns(bool)
Atomically decreases the allowance granted to spender by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - spender cannot be the zero address. - spender must have allowance for the caller of at least subtractedValue.
Params
| Param |
Type |
Notes |
| spender |
address |
|
| subtractedValue |
uint256 |
|
Returns
fei
function fei() view returns(address)
address of the Fei contract referenced by Core
Returns
| Param |
Type |
Notes |
|
address |
IFei implementation address |
feiBalance
function feiBalance() view returns(uint256)
fei balance of contract
Returns
| Param |
Type |
Notes |
|
uint256 |
fei amount held |
incentiveContract
function incentiveContract(address) view returns(address)
get associated incentive contract, 0 address if N/A
Params
Returns
increaseAllowance
function increaseAllowance(address,uint256) nonpayable returns(bool)
Atomically increases the allowance granted to spender by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - spender cannot be the zero address.
Params
| Param |
Type |
Notes |
| spender |
address |
|
| addedValue |
uint256 |
|
Returns
isContractAdmin
function isContractAdmin(address) view returns(bool)
returns whether a given address has the admin role for this contract
Params
| Param |
Type |
Notes |
| _admin |
address |
|
Returns
mint
function mint(address,uint256) nonpayable
mint FEI tokens
Params
| Param |
Type |
Notes |
| account |
address |
the account to mint to |
| amount |
uint256 |
the amount to mint |
name
function name() view returns(string)
Returns the name of the token.
Returns
nonces
function nonces(address) view returns(uint256)
Params
Returns
pause
function pause() nonpayable
set pausable methods to paused
paused
function paused() view returns(bool)
Returns true if the contract is paused, and false otherwise.
Returns
permit
function permit(address,address,uint256,uint256,uint8,bytes32,bytes32) nonpayable
permit spending of FEI
Params
| Param |
Type |
Notes |
| owner |
address |
the FEI holder |
| spender |
address |
the approved operator |
| value |
uint256 |
the amount approved |
| deadline |
uint256 |
the deadline after which the approval is no longer valid |
| v |
uint8 |
|
| r |
bytes32 |
|
| s |
bytes32 |
|
setContractAdminRole
function setContractAdminRole(bytes32) nonpayable
sets a new admin role for this contract
Params
| Param |
Type |
Notes |
| newContractAdminRole |
bytes32 |
|
setCore
function setCore(address) nonpayable
set new Core reference address
Params
| Param |
Type |
Notes |
| newCore |
address |
the new core address |
setIncentiveContract
function setIncentiveContract(address,address) nonpayable
Params
| Param |
Type |
Notes |
| account |
address |
the account to incentivize |
| incentive |
address |
the associated incentive contract |
symbol
function symbol() view returns(string)
Returns the symbol of the token, usually a shorter version of the name.
Returns
totalSupply
function totalSupply() view returns(uint256)
See {IERC20-totalSupply}.
Returns
transfer
function transfer(address,uint256) nonpayable returns(bool)
See {IERC20-transfer}. Requirements: - recipient cannot be the zero address. - the caller must have a balance of at least amount.
Params
| Param |
Type |
Notes |
| recipient |
address |
|
| amount |
uint256 |
|
Returns
transferFrom
function transferFrom(address,address,uint256) nonpayable returns(bool)
See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - sender and recipient cannot be the zero address. - sender must have a balance of at least amount. - the caller must have allowance for sender's tokens of at least amount.
Params
| Param |
Type |
Notes |
| sender |
address |
|
| recipient |
address |
|
| amount |
uint256 |
|
Returns
tribe
function tribe() view returns(address)
address of the Tribe contract referenced by Core
Returns
| Param |
Type |
Notes |
|
address |
IERC20 implementation address |
tribeBalance
function tribeBalance() view returns(uint256)
tribe balance of contract
Returns
| Param |
Type |
Notes |
|
uint256 |
tribe amount held |
unpause
function unpause() nonpayable
set pausable methods to unpaused
⬅️ Contracts