Overview
TheERC20ACL contract provides access control mechanisms for ERC20 token operations. It includes modifiers to restrict certain actions based on conditions such as whether an address is a module address or a blocked address.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
ERC20ACL contract provides access control mechanisms for ERC20 token operations. It includes modifiers to restrict certain actions based on conditions such as whether an address is a module address or a blocked address.
CHAIN_ADDRESSaddress constant CHAIN_ADDRESS = 0x0000000000000000000000000000000000000001;
onlyChainmodifier onlyChain() {
require(msg.sender == CHAIN_ADDRESS, "ERC20: caller is not the chain");
_;
}
burnablemodifier burnable(address from) {
require(!COSMOS_CONTRACT.is_module_address(from), "ERC20: burn from module address");
_;
}
| Name | Type | Description |
|---|---|---|
from | address | The address to check |
mintablemodifier mintable(address to) {
require(!COSMOS_CONTRACT.is_blocked_address(to), "ERC20: mint to blocked address");
_;
}
| Name | Type | Description |
|---|---|---|
to | address | The address to check |
transferablemodifier transferable(address to) {
require(!COSMOS_CONTRACT.is_blocked_address(to), "ERC20: transfer to blocked address");
_;
}
| Name | Type | Description |
|---|---|---|
to | address | The address to check |
Was this page helpful?