FiatTokenV2_1

Linea ERC-20 Token Browse chains

0x176211869ca2b568f2a7d4ee941e073a821ee1ff

Proxy implementation: 0xab838fe7d492c621a5b1b23952af99cc37a2e0d3

Solidity v0.6.12+commit.27d51765

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: 0x176211869ca2b568f2a7d4ee941e073a821ee1ff
Sample prompt: "Tell me the current state of linea/0x176211869ca2b568f2a7d4ee941e073a821ee1ff"
No AI wired up yet? → mcp.smarts.md · Browse chains
Linea 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
24
Write Functions
26
Events
17

Read Functions

CANCEL_AUTHORIZATION_TYPEHASH() view

Returns the EIP-712 type hash used for canceling authorizations.✨ AI

Returns

Name Type Description
bytes32 bytes32: the EIP-712 type hash for the CancelAuthorization struct used when encoding off-chain signatures.✨ AI
DOMAIN_SEPARATOR() view

Get the EIP-712 domain separator used for signing permits and typed data.✨ AI

Returns

Name Type Description
bytes32 The 32-byte EIP-712 domain separator that ties signatures to this contract and chain.✨ AI
PERMIT_TYPEHASH() view

Returns the EIP-712 typehash used by permit signatures for off-chain allowance approvals.✨ AI

Returns

Name Type Description
bytes32 The bytes32 EIP-2612/EIP-712 typehash used to construct and verify permit() signatures.✨ AI
RECEIVE_WITH_AUTHORIZATION_TYPEHASH() view

Returns the EIP-712 type hash used to build receiveWithAuthorization messages.✨ AI

Returns

Name Type Description
bytes32 The bytes32 EIP-712 type hash for the ReceiveWithAuthorization struct.✨ AI
TRANSFER_WITH_AUTHORIZATION_TYPEHASH() view

Returns the EIP-712 type hash used when validating transferWithAuthorization signatures.✨ AI

Returns

Name Type Description
bytes32 The 32-byte EIP-712 type hash constant for transferWithAuthorization authorization payloads.✨ AI
allowance(owner: address, spender: address) view

Return the current remaining number of tokens that spender is allowed to transfer from owner.✨ AI

dev: Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.

Parameters

Name Type Description
owner address Owner address whose allowance is being queried.✨ AI
spender address Spender address authorized to transfer tokens from the owner.✨ AI

Returns

Name Type Description
uint256 Remaining allowance the spender may transfer from owner, expressed in the token's smallest units (uint256).✨ AI
authorizationState(authorizer: address, nonce: bytes32) view

Returns the state of an authorization

dev: Nonces are randomly generated 32-byte data unique to the authorizer's address

Parameters

Name Type Description
authorizer address Authorizer's address
nonce bytes32 Nonce of the authorization

Returns

Name Type Description
bool True if the nonce is used
balanceOf(account: address) view

Returns the token balance of the given account.✨ AI

dev: Returns the amount of tokens owned by `account`.

Parameters

Name Type Description
account address Address whose token balance will be returned.✨ AI

Returns

Name Type Description
uint256 The token balance of the specified account as an unsigned 256-bit integer.✨ AI
blacklister() view

Returns the address assigned as the contract's blacklister.✨ AI

Returns

Name Type Description
address The address that has permission to add or remove accounts from the blacklist.✨ AI
currency() view

Returns the token's currency identifier string used for display and off-chain accounting.✨ AI

Returns

Name Type Description
string A string containing the token's currency code or name (for example, "USD").✨ AI
decimals() view

Returns the number of decimal places used by the token.✨ AI

Returns

Name Type Description
uint8 The number of decimal places (uint8) used to format token balances and amounts.✨ AI
isBlacklisted(_account: address) view

Check whether an account is blacklisted.✨ AI

dev: Checks if account is blacklisted

Parameters

Name Type Description
_account address The address to check

Returns

Name Type Description
bool True if the account is blacklisted, false otherwise.✨ AI
isMinter(account: address) view

Checks whether the provided address currently has the minter role.✨ AI

dev: Checks if account is a minter

Parameters

Name Type Description
account address The address to check

Returns

Name Type Description
bool True if the account is authorized to mint tokens, otherwise false.✨ AI
masterMinter() view

Returns the address of the current master minter.✨ AI

Returns

Name Type Description
address Address of the current master minter account.✨ AI
minterAllowance(minter: address) view

Return the remaining token minting allowance assigned to a minter address.✨ AI

dev: Get minter allowance for an account

Parameters

Name Type Description
minter address The address of the minter

Returns

Name Type Description
uint256 Remaining number of tokens the minter is allowed to mint (in token smallest units).✨ AI
name() view

Returns the token's name.✨ AI

Returns

Name Type Description
string The token's descriptive name as a string, e.g. "Fiat Token".✨ AI
nonces(owner: address) view

Nonces for permit

Parameters

Name Type Description
owner address Token owner's address (Authorizer)

Returns

Name Type Description
uint256 Next nonce
owner() view

Returns the address of the contract owner.✨ AI

dev: Tells the address of the owner

Returns

Name Type Description
address the address of the owner
paused() view

Indicates whether the token contract is paused.✨ AI

Returns

Name Type Description
bool True if the contract is paused; when paused, transfers and other restricted actions are disabled.✨ AI
pauser() view

Returns the address that currently holds the pauser role.✨ AI

Returns

Name Type Description
address Address that can pause and unpause the token contract.✨ AI
rescuer() view

Returns current rescuer

Returns

Name Type Description
address Rescuer's address
symbol() view

Returns the token's symbol (short ticker) as a string.✨ AI

Returns

Name Type Description
string The token's short symbol (ticker) string.✨ AI
totalSupply() view

Returns the total number of tokens in existence.✨ AI

dev: Returns the amount of tokens in existence.

Returns

Name Type Description
uint256 Total number of tokens in existence, denominated in the token's smallest unit (uint256).✨ AI
version() view

Version string for the EIP712 domain separator

Returns

Name Type Description
string Version string

Write Functions

approve(spender: address, value: uint256) nonpayable

Approve spender to transfer up to value tokens from the caller's balance.✨ AI

dev: Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.

Parameters

Name Type Description
spender address Address approved to spend tokens on caller's behalf.✨ AI
value uint256 Maximum number of tokens the spender is allowed to transfer.✨ AI

Returns

Name Type Description
bool True if the approval succeeded.✨ AI
blacklist(_account: address) nonpayable

Blacklists an account, preventing it from transferring or receiving tokens and enabling enforcement of restrictions.✨ AI

dev: Adds account to blacklist

Parameters

Name Type Description
_account address The address to blacklist
burn(_amount: uint256) nonpayable

Burns a specified amount of tokens from the caller, reducing their balance and the total supply.✨ AI

dev: allows a minter to burn some of its own tokens Validates that caller is a minter and that sender is not blacklisted amount is less than or equal to the minter's account balance

Parameters

Name Type Description
_amount uint256 uint256 the amount of tokens to be burned
cancelAuthorization(authorizer: address, nonce: bytes32, v: uint8, r: bytes32, s: bytes32) nonpayable

Attempt to cancel an authorization

dev: Works only if the authorization is not yet used.

Parameters

Name Type Description
authorizer address Authorizer's address
nonce bytes32 Nonce of the authorization
v uint8 v of the signature
r bytes32 r of the signature
s bytes32 s of the signature
configureMinter(minter: address, minterAllowedAmount: uint256) nonpayable

Set or update the allowed minting allowance for a minter address.✨ AI

dev: Function to add/update a new minter

Parameters

Name Type Description
minter address The address of the minter
minterAllowedAmount uint256 The minting amount allowed for the minter

Returns

Name Type Description
bool True if the operation was successful.
decreaseAllowance(spender: address, decrement: uint256) nonpayable

Decrease the allowance by a given decrement

Parameters

Name Type Description
spender address Spender's address
decrement uint256 Amount of decrease in allowance

Returns

Name Type Description
bool True if successful
increaseAllowance(spender: address, increment: uint256) nonpayable

Increase the allowance by a given increment

Parameters

Name Type Description
spender address Spender's address
increment uint256 Amount of increase in allowance

Returns

Name Type Description
bool True if successful
initialize(tokenName: string, tokenSymbol: string, tokenCurrency: string, tokenDecimals: uint8, newMasterMinter: address, newPauser: address, newBlacklister: address, newOwner: address) nonpayable

Initialize sets the token name, symbol, currency, decimals, and assigns initial master minter, pauser, blacklister, and owner.✨ AI

Parameters

Name Type Description
tokenName string Human-readable name of the token (e.g., 'USD Coin').✨ AI
tokenSymbol string Ticker symbol for the token (e.g., 'USDC').✨ AI
tokenCurrency string String identifying the currency represented by the token.✨ AI
tokenDecimals uint8 Number of decimal places the token uses.✨ AI
newMasterMinter address Address to be granted the master minter role.✨ AI
newPauser address Address to be granted the pauser role.✨ AI
newBlacklister address Address to be granted the blacklister role.✨ AI
newOwner address Address to be set as the contract owner.✨ AI
initializeV2(newName: string) nonpayable

Initialize v2

Parameters

Name Type Description
newName string New token name
initializeV2_1(lostAndFound: address) nonpayable

Initialize v2.1

Parameters

Name Type Description
lostAndFound address The address to which the locked funds are sent
mint(_to: address, _amount: uint256) nonpayable

Mint tokens to a recipient, increasing the total supply and assigning the amount to the given address.✨ AI

dev: Function to mint tokens

Parameters

Name Type Description
_to address The address that will receive the minted tokens.
_amount uint256 The amount of tokens to mint. Must be less than or equal to the minterAllowance of the caller.

Returns

Name Type Description
bool A boolean that indicates if the operation was successful.
pause() nonpayable

Pause all token transfers and related ERC-20 operations.✨ AI

dev: called by the owner to pause, triggers stopped state
permit(owner: address, spender: address, value: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

Update allowance with a signed permit

Parameters

Name Type Description
owner address Token owner's address (Authorizer)
spender address Spender's address
value uint256 Amount of allowance
deadline uint256 Expiration time, seconds since the epoch
v uint8 v of the signature
r bytes32 r of the signature
s bytes32 s of the signature
receiveWithAuthorization(from: address, to: address, value: uint256, validAfter: uint256, validBefore: uint256, nonce: bytes32, v: uint8, r: bytes32, s: bytes32) nonpayable

Receive a transfer with a signed authorization from the payer

dev: This has an additional check to ensure that the payee's address matches the caller of this function to prevent front-running attacks.

Parameters

Name Type Description
from address Payer's address (Authorizer)
to address Payee's address
value uint256 Amount to be transferred
validAfter uint256 The time after which this is valid (unix time)
validBefore uint256 The time before which this is valid (unix time)
nonce bytes32 Unique nonce
v uint8 v of the signature
r bytes32 r of the signature
s bytes32 s of the signature
removeMinter(minter: address) nonpayable

Revokes the minter role from the specified address.✨ AI

dev: Function to remove a minter

Parameters

Name Type Description
minter address The address of the minter to remove

Returns

Name Type Description
bool True if the operation was successful.
rescueERC20(tokenContract: address, to: address, amount: uint256) nonpayable

Rescue ERC20 tokens locked up in this contract.

Parameters

Name Type Description
tokenContract address ERC20 token contract address
to address Recipient address
amount uint256 Amount to withdraw
transfer(to: address, value: uint256) nonpayable

Transfer tokens from the caller's account to a recipient address.✨ AI

dev: Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.

Parameters

Name Type Description
to address Recipient address that will receive the tokens.✨ AI
value uint256 Amount of tokens to transfer, expressed in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the transfer succeeded.✨ AI
transferFrom(from: address, to: address, value: uint256) nonpayable

Transfer tokens from one account to another using the caller's approved allowance.✨ AI

dev: Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.

Parameters

Name Type Description
from address Address to debit the tokens from (must have approved the caller).✨ AI
to address Address to credit the tokens to.✨ AI
value uint256 Amount of tokens to transfer, expressed in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the transfer and allowance update succeeded, otherwise false.✨ AI
transferOwnership(newOwner: address) nonpayable
dev: Allows the current owner to transfer control of the contract to a newOwner.

Parameters

Name Type Description
newOwner address The address to transfer ownership to.
transferWithAuthorization(from: address, to: address, value: uint256, validAfter: uint256, validBefore: uint256, nonce: bytes32, v: uint8, r: bytes32, s: bytes32) nonpayable

Execute a transfer with a signed authorization

Parameters

Name Type Description
from address Payer's address (Authorizer)
to address Payee's address
value uint256 Amount to be transferred
validAfter uint256 The time after which this is valid (unix time)
validBefore uint256 The time before which this is valid (unix time)
nonce bytes32 Unique nonce
v uint8 v of the signature
r bytes32 r of the signature
s bytes32 s of the signature
unBlacklist(_account: address) nonpayable
dev: Removes account from blacklist

Parameters

Name Type Description
_account address The address to remove from the blacklist
unpause() nonpayable
dev: called by the owner to unpause, returns to normal state
updateBlacklister(_newBlacklister: address) nonpayable

Parameters

Name Type Description
_newBlacklister address
updateMasterMinter(_newMasterMinter: address) nonpayable

Parameters

Name Type Description
_newMasterMinter address
updatePauser(_newPauser: address) nonpayable
dev: update the pauser role

Parameters

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

Assign the rescuer role to a given address.

Parameters

Name Type Description
newRescuer address New rescuer's address

Events

Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
AuthorizationCanceled(authorizer: address, nonce: bytes32)
Name Type Indexed Description
authorizer address
nonce bytes32
AuthorizationUsed(authorizer: address, nonce: bytes32)
Name Type Indexed Description
authorizer address
nonce bytes32
Blacklisted(_account: address)
Name Type Indexed Description
_account address
BlacklisterChanged(newBlacklister: address)
Name Type Indexed Description
newBlacklister address
Burn(burner: address, amount: uint256)
Name Type Indexed Description
burner address
amount uint256
MasterMinterChanged(newMasterMinter: address)
Name Type Indexed Description
newMasterMinter address
Mint(minter: address, to: address, amount: uint256)
Name Type Indexed Description
minter address
to address
amount uint256
MinterConfigured(minter: address, minterAllowedAmount: uint256)
Name Type Indexed Description
minter address
minterAllowedAmount uint256
MinterRemoved(oldMinter: address)
Name Type Indexed Description
oldMinter address
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address representing the address of the previous owner
newOwner address representing the address of the new owner
Pause()
PauserChanged(newAddress: address)
Name Type Indexed Description
newAddress 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
UnBlacklisted(_account: address)
Name Type Indexed Description
_account address
Unpause()