IERC20Minimal

Minimal ERC20 interface for Algebra

Contains a subset of the full ERC20 interface that is used in Algebra

Events

Transfer

event Transfer(address from, address to, uint256 value)

Event emitted when tokens are transferred from one address to another, either via `#transfer` or `#transferFrom`.

Name
Type
Description

from

address

The account from which the tokens were sent, i.e. the balance decreased

to

address

The account to which the tokens were sent, i.e. the balance increased

value

uint256

The amount of tokens that were transferred

Approval

event Approval(address owner, address spender, uint256 value)

Event emitted when the approval amount for the spender of a given owner's tokens changes.

Name
Type
Description

owner

address

The account that approved spending of its tokens

spender

address

The account for which the spending allowance was modified

value

uint256

The new allowance from the owner to the spender

Functions

balanceOf

function balanceOf(address account) external view returns (uint256) view external

Returns the balance of a token

Name
Type
Description

account

address

The account for which to look up the number of tokens it has, i.e. its balance

Returns:

Name
Type
Description

[0]

uint256

The number of tokens held by the account

transfer

function transfer(address recipient, uint256 amount) external returns (bool) external

Transfers the amount of token from the `msg.sender` to the recipient

Name
Type
Description

recipient

address

The account that will receive the amount transferred

amount

uint256

The number of tokens to send from the sender to the recipient

Returns:

Name
Type
Description

[0]

bool

Returns true for a successful transfer, false for an unsuccessful transfer

allowance

function allowance(address owner, address spender) external view returns (uint256) view external

Returns the current allowance given to a spender by an owner

Name
Type
Description

owner

address

The account of the token owner

spender

address

The account of the token spender

Returns:

Name
Type
Description

[0]

uint256

The current allowance granted by `owner` to `spender`

approve

function approve(address spender, uint256 amount) external returns (bool) external

Sets the allowance of a spender from the `msg.sender` to the value `amount`

Name
Type
Description

spender

address

The account which will be allowed to spend a given amount of the owners tokens

amount

uint256

The amount of tokens allowed to be used by `spender`

Returns:

Name
Type
Description

[0]

bool

Returns true for a successful approval, false for unsuccessful

transferFrom

function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) external

Transfers `amount` tokens from `sender` to `recipient` up to the allowance given to the `msg.sender`

Name
Type
Description

sender

address

The account from which the transfer will be initiated

recipient

address

The recipient of the transfer

amount

uint256

The amount of the transfer

Returns:

Name
Type
Description

[0]

bool

Returns true for a successful transfer, false for unsuccessful

mintAndFreeze

function mintAndFreeze(address _to, uint256 _amount, uint64 _until) external returns (bool) external

Developer note: Mint the specified amount of token to the specified address and freeze it until the specified date. Be careful, gas usage is not deterministic, and depends on how many freezes _to address already has.

Name
Type
Description

_to

address

Address to which token will be freeze.

_amount

uint256

Amount of token to mint and freeze.

_until

uint64

Release date, must be in future.

Returns:

Name
Type
Description

[0]

bool

A boolean that indicates if the operation was successful.

releaseOnce

function releaseOnce() external external

Developer note: release first available freezing tokens.

getFreezing

function getFreezing(address _addr, uint256 _index) external view returns (uint64 _release, uint256 _balance) view external

Developer note: gets freezing end date and freezing balance for the freezing portion specified by index.

Name
Type
Description

_addr

address

Address of freeze tokens owner.

_index

uint256

Freezing portion index. It ordered by release date descending.

Returns:

Name
Type
Description

_release

uint64

_balance

uint256