Skip to main content

CloneableReceiptToken

Git Source

Inherits: CloneERC20, IERC20BurnableMintable, IDepositReceiptToken

Title: CloneableReceiptToken

ERC20 implementation that is deployed as a clone with immutable arguments for each supported input token.

Functions

owner

The owner of the clone

function owner() public pure returns (address _owner);

Returns

NameTypeDescription
_owneraddressThe owner address stored in immutable args

asset

The underlying asset

function asset() public pure returns (IERC20 _asset);

Returns

NameTypeDescription
_assetIERC20The asset address stored in immutable args

depositPeriod

The deposit period (in months)

function depositPeriod() public pure returns (uint8 _depositPeriod);

Returns

NameTypeDescription
_depositPerioduint8The deposit period stored in immutable args

operator

The operator that issued the receipt token

function operator() public pure returns (address _operator);

Returns

NameTypeDescription
_operatoraddressThe operator address stored in immutable args

_onlyOwner

function _onlyOwner() internal view;

onlyOwner

Only the owner can call this function

modifier onlyOwner() ;

mintFor

Mint tokens to the specified address

This is owner-only, as the underlying token is custodied by the owner. Minting should be performed through the owner contract.

function mintFor(address to_, uint256 amount_) external onlyOwner;

Parameters

NameTypeDescription
to_addressThe address to mint tokens to
amount_uint256The amount of tokens to mint

burnFrom

Burn tokens from the specified address

This is gated to the owner, as burning is controlled. Burning should be performed through the owner contract. The owner is expected to handle spending approval before calling this function. This function does NOT check or update allowances.

function burnFrom(address from_, uint256 amount_) external onlyOwner;

Parameters

NameTypeDescription
from_addressThe address to burn tokens from
amount_uint256The amount of tokens to burn

supportsInterface

function supportsInterface(bytes4 interfaceId_) public pure returns (bool);