Skip to main content

ERC20Base

Git Source

Inherits: ERC20Plugins, Ownable, ERC20Permit, IAmmalgamERC20

State Variables

pair

ITransferValidator public immutable pair;

pluginRegistry

IPluginRegistry private immutable pluginRegistry;

tokenType

uint256 public immutable tokenType;

Functions

constructor

constructor(
ERC20BaseConfig memory config
) ERC20(config.name, config.symbol) ERC20Plugins(10, 500_000) ERC20Permit(config.name) Ownable(config.pair);

nonces

function nonces(
address owner
) public view virtual override(ERC20Permit, IERC20Permit) returns (uint256);

ownerMint

function ownerMint(address sender, address to, uint256 assets, uint256 shares) public virtual onlyOwner;

ownerBurn

function ownerBurn(address sender, address onBehalfOf, uint256 shares) public virtual onlyOwner returns (uint256);

balanceOf

function balanceOf(
address account
) public view virtual override(ERC20, ERC20Plugins, IERC20) returns (uint256);

decimals

function decimals() public view virtual override(ERC20, IERC20Metadata) returns (uint8);

_update

function _update(address from, address to, uint256 amount) internal virtual override(ERC20, ERC20Plugins);

addPlugin

function addPlugin(
address plugin
) public override;