2024-02-13 16:35:16 -03:00

1.9 KiB

Solidity API

ERC20

Modern and gas efficient ERC20 + EIP-2612 implementation.

Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.

Transfer

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

Approval

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

name

string name

symbol

string symbol

decimals

uint8 decimals

totalSupply

uint256 totalSupply

balanceOf

mapping(address => uint256) balanceOf

allowance

mapping(address => mapping(address => uint256)) allowance

INITIAL_CHAIN_ID

uint256 INITIAL_CHAIN_ID

INITIAL_DOMAIN_SEPARATOR

bytes32 INITIAL_DOMAIN_SEPARATOR

nonces

mapping(address => uint256) nonces

constructor

constructor(string _name, string _symbol, uint8 _decimals) internal

approve

function approve(address spender, uint256 amount) public virtual returns (bool)

transfer

function transfer(address to, uint256 amount) public virtual returns (bool)

transferFrom

function transferFrom(address from, address to, uint256 amount) public virtual returns (bool)

permit

function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public virtual

DOMAIN_SEPARATOR

function DOMAIN_SEPARATOR() public view virtual returns (bytes32)

computeDomainSeparator

function computeDomainSeparator() internal view virtual returns (bytes32)

_mint

function _mint(address to, uint256 amount) internal virtual

_burn

function _burn(address from, uint256 amount) internal virtual