MintedERC20

Sonic ERC-20 Token

0x50c42deacd8fc9773493ed674b675be577f2634b

Proxy implementation: 0x9605cc161d148f665b6d4796131f8f6814abf386

Solidity v0.8.27+commit.40a35a09

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: 0x50c42deacd8fc9773493ed674b675be577f2634b
Sample prompt: "Tell me the current state of sonic/0x50c42deacd8fc9773493ed674b675be577f2634b"
No AI wired up yet? → mcp.smarts.md
Sonic is a docs-only chain on Smarts: source code and ABI are indexed, but live on-chain data (state, recent events, admin profile) is not currently available. AI agents can still query get_contract_info and get_contract_source via MCP.

Overview

Read Functions
12
Write Functions
13
Events
7

Read Functions

UPGRADE_INTERFACE_VERSION() view

Returns

Name Type Description
string
allowance(owner: address, spender: address) view
dev: See {IERC20-allowance}.

Parameters

Name Type Description
owner address
spender address

Returns

Name Type Description
uint256
balanceOf(account: address) view
dev: See {IERC20-balanceOf}.

Parameters

Name Type Description
account address

Returns

Name Type Description
uint256
decimals() view
dev: Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.

Returns

Name Type Description
uint8
minter() view

Returns

Name Type Description
address
name() view
dev: Returns the name of the token.

Returns

Name Type Description
string
owner() view
dev: Returns the address of the current owner.

Returns

Name Type Description
address
pendingOwner() view
dev: Returns the address of the pending owner.

Returns

Name Type Description
address
proxiableUUID() view
dev: Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.

Returns

Name Type Description
bytes32
rescuer() view

Returns

Name Type Description
address
symbol() view
dev: Returns the symbol of the token, usually a shorter version of the name.

Returns

Name Type Description
string
totalSupply() view
dev: See {IERC20-totalSupply}.

Returns

Name Type Description
uint256

Write Functions

acceptOwnership() nonpayable
dev: The new owner accepts the ownership transfer.
approve(spender: address, value: uint256) nonpayable
dev: See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.

Parameters

Name Type Description
spender address
value uint256

Returns

Name Type Description
bool
burn(value: uint256) nonpayable
dev: Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}.

Parameters

Name Type Description
value uint256
burnFrom(account: address, value: uint256) nonpayable
dev: Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`.

Parameters

Name Type Description
account address
value uint256
initialize(_owner: address, _minter: address, _tokenName: string, _tokenSymbol: string, _decimals: uint8) nonpayable
dev: Initialize contract after the deployment.

Parameters

Name Type Description
_owner address
_minter address
_tokenName string
_tokenSymbol string
_decimals uint8
mint(account: address, amount: uint256) nonpayable

Create an amount of tokens and assigns them to the account. Callable by the token minter only.

Parameters

Name Type Description
account address
amount uint256

Returns

Name Type Description
bool
renounceOwnership() nonpayable
dev: Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.
rescueERC20(token: address, to: address, amount: uint256) nonpayable

Rescue ERC20 tokens locked up in this contract.

Parameters

Name Type Description
token address ERC20 token contract address
to address Recipient address
amount uint256 Amount to withdraw
transfer(to: address, value: uint256) nonpayable
dev: See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.

Parameters

Name Type Description
to address
value uint256

Returns

Name Type Description
bool
transferFrom(from: address, to: address, value: uint256) nonpayable
dev: See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.

Parameters

Name Type Description
from address
to address
value uint256

Returns

Name Type Description
bool
transferOwnership(newOwner: address) nonpayable
dev: Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner. Setting `newOwner` to the zero address is allowed; this can be used to cancel an initiated ownership transfer.

Parameters

Name Type Description
newOwner address
updateRescuer(newRescuer: address) nonpayable

Update the rescuer - the address allowed to recover ERC20 tokens locked up in this contract.

Parameters

Name Type Description
newRescuer address The address of the new rescuer. Zero to disable the rescue functionality.
upgradeToAndCall(newImplementation: address, data: bytes) payable
dev: Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.

Parameters

Name Type Description
newImplementation address
data bytes

Events

Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
Initialized(version: uint64)
Name Type Indexed Description
version uint64
OwnershipTransferStarted(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
RescuerChanged(newRescuer: address)
Name Type Indexed Description
newRescuer address
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256
Upgraded(implementation: address)
Name Type Indexed Description
implementation address