StakedIPRWA

Inherits: ERC20Upgradeable, ERC20PermitUpgradeable, AccessControlUpgradeable, UUPSUpgradeable

Author: Aria Protocol

ERC20 contract representing liquid staked IPRWA tokens.

State Variables

STAKED_IPRWA_MINTER_BURNER_ROLE

CONSTANTS

bytes32 public constant STAKED_IPRWA_MINTER_BURNER_ROLE =
    0x61422bb1aed0fd47fe58f64cad18f106f0dbc262decd5fd435187cb36ab5a827;

Functions

constructor

CONSTRUCTOR

Note: oz-upgrades-unsafe-allow: constructor

constructor();

initialize

INITIALIZER

function initialize(string memory _name, string memory _symbol, address _owner) external initializer;

mint

MINT/BURN FUNCTIONS

Mints tokens to the receiver

Only callable by an address that has the STAKED_IPRWA_MINTER_BURNER_ROLE role

function mint(address _receiver, uint256 _amount) external onlyRole(STAKED_IPRWA_MINTER_BURNER_ROLE);

Parameters

Name
Type
Description

_receiver

address

Address of user receiving the tokens

_amount

uint256

Number of tokens being minted

burn

Burns tokens owned by a user

Only callable by an address that has the STAKED_IPRWA_MINTER_BURNER_ROLE role

function burn(address _from, uint256 _amount) external onlyRole(STAKED_IPRWA_MINTER_BURNER_ROLE);

Parameters

Name
Type
Description

_from

address

Address of user whose tokens are being burned

_amount

uint256

Number of tokens being burned

_authorizeUpgrade

ADMIN FUNCTIONS

function _authorizeUpgrade(address newImplementation) internal virtual override onlyRole(DEFAULT_ADMIN_ROLE);

Events

StakedIPRWAMinted

EVENTS

Event emitted when Staked IPRWA tokens are minted

event StakedIPRWAMinted(address indexed _receiver, uint256 _amount);

StakedIPRWABurned

Event emitted when Staked IPRWA tokens are burned

event StakedIPRWABurned(address indexed _from, uint256 _amount);