ERC20ExWrappedPPOM

Fraxtal ERC-20 Token Browse chains

0xfc00000000000000000000000000000000000006

Proxy implementation: 0x588f85f17c8778d16a03887959c19c256cb9fda9

Solidity v0.8.29+commit.ab55807c

Fungible token following the ERC-20 standard.

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

Read Functions

BRIDGE() view

Returns the configured bridge contract address used for cross-chain token operations.✨ AI

Returns

Name Type Description
address The address of the bridge contract authorized to perform cross-chain bridge actions.✨ AI
DOMAIN_SEPARATOR() view

Returns the EIP-712 domain separator used for permit (EIP-2612) and other typed-data signatures.✨ AI

Returns

Name Type Description
bytes32 The EIP-712 domain separator as a bytes32 value binding signatures to this contract and chain.✨ AI
REMOTE_TOKEN() view

Returns the address of the remote token contract associated with this wrapped token.✨ AI

Returns

Name Type Description
address The remote token contract address that this wrapped ERC-20 represents.✨ AI
_totalSupply() view

Return the total number of tokens in existence.✨ AI

Returns

Name Type Description
uint256 Total token supply as an unsigned 256-bit integer.✨ AI
allowance(owner: address, spender: address) view

Returns the remaining token allowance that owner gave to spender.✨ AI

dev: See {IERC20-allowance}.

Parameters

Name Type Description
owner address Address of the token holder who approved an allowance.✨ AI
spender address Address allowed to transfer tokens from the owner's balance.✨ AI

Returns

Name Type Description
uint256 Remaining number of tokens that spender is allowed to transfer from owner.✨ AI
balanceOf(account: address) view

Returns the token balance of the specified account.✨ AI

dev: See {IERC20-balanceOf}.

Parameters

Name Type Description
account address Address to query the token balance for.✨ AI

Returns

Name Type Description
uint256 The token balance of the account as a uint256.✨ AI
bridge() view

Legacy getter for BRIDGE

Returns

Name Type Description
address address The bridge address
decimals() view

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

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 The token's decimals as an unsigned 8-bit integer (number of decimal places).✨ AI
eip712Domain() view

Return the EIP-712 domain fields used for signing off-chain messages.✨ AI

dev: See {EIP-5267}. _Available since v4.9._

Returns

Name Type Description
fields bytes1 Domain field indicator byte used for domain structure or flags.✨ AI
name string Human-readable name of the signing domain (typically the token name).✨ AI
version string Version string of the EIP-712 domain.✨ AI
chainId uint256 Chain ID where the domain and signatures are valid.✨ AI
verifyingContract address Contract address authorized to verify signatures for this domain.✨ AI
salt bytes32 Optional 32-byte salt used for additional domain separation.✨ AI
extensions uint256[] Array of numeric extension values or IDs for optional domain features.✨ AI
l1Token() view

Legacy getter for the remote token. Use REMOTE_TOKEN going forward.

Returns

Name Type Description
address address The L1 remote token address
l2Bridge() view

Legacy getter for the bridge. Use BRIDGE going forward.

Returns

Name Type Description
address address The bridge address
minters(address) view

Checks whether an address is authorized to mint new tokens.✨ AI

Parameters

Name Type Description
address

Returns

Name Type Description
bool True if the address is a registered minter; otherwise false.✨ AI
minters_array(uint256) view

Get the minter address at the specified index.✨ AI

Parameters

Name Type Description
uint256

Returns

Name Type Description
address Address of the minter at the given index.✨ AI
name() view

Returns the token's name as a human-readable string.✨ AI

dev: Returns the name of the token.

Returns

Name Type Description
string The token name (human-readable string), for example "Wrapped PPOM".✨ AI
nominatedOwner() view

Returns the address nominated to become the contract owner.✨ AI

Returns

Name Type Description
address The address nominated to become the contract owner, or the zero address if no nomination exists.✨ AI
nonces(owner: address) view

Returns the current nonce for an owner's permit signature.✨ AI

dev: Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.

Parameters

Name Type Description
owner address Address whose current permit nonce is returned.✨ AI

Returns

Name Type Description
uint256 Current uint256 nonce for the owner, used to prevent replay of permit signatures.✨ AI
owner() view

Returns the address of the contract owner.✨ AI

Returns

Name Type Description
address The address of the contract owner who holds administrative privileges.✨ AI
remoteToken() view

Legacy getter for REMOTE_TOKEN

Returns

Name Type Description
address address The L1 remote token address
supportsInterface(_interfaceId: bytes4) pure

ERC165 interface check function.

Parameters

Name Type Description
_interfaceId bytes4 Interface ID to check.

Returns

Name Type Description
bool Whether or not the interface is supported by this contract.
symbol() view

Returns the token's short symbol (ticker) used in user interfaces.✨ AI

dev: Returns the symbol of the token, usually a shorter version of the name.

Returns

Name Type Description
string The token's symbol as a string (ticker) used to identify the token.✨ AI
timelock_address() view

Returns the address used as the contract's timelock controller.✨ AI

Returns

Name Type Description
address The address of the timelock contract that controls timelocked administrative actions.✨ AI
totalSupply() view

Returns the total number of tokens in existence.✨ AI

dev: See {IERC20-totalSupply}.

Returns

Name Type Description
uint256 Total token supply as a uint256 value.✨ AI
version() view

Getter for the semantic version of the contract. This is not meant to be used onchain but instead meant to be used by offchain tooling.

Returns

Name Type Description
string Semver contract version as a string.

Write Functions

acceptOwnership() nonpayable

Accept the pending ownership transfer and make the caller the new contract owner.✨ AI

dev: Callable only by pendingOwner; sets owner to pendingOwner, clears pendingOwner, and emits OwnershipTransferred.✨ AI
addMinter(minter_address: address) nonpayable

Adds a non-bridge minter

Parameters

Name Type Description
minter_address address Address of minter to add
adjustTotalSupply(_newTotalSupplyDiff: int256) nonpayable

Adjust the totalSupply

Parameters

Name Type Description
_newTotalSupplyDiff int256
approve(spender: address, value: uint256) nonpayable

Approve spender to transfer up to value tokens from your account.✨ AI

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 Address allowed to spend tokens.✨ AI
value uint256 Maximum number of tokens the spender is allowed to transfer.✨ AI

Returns

Name Type Description
bool True if the allowance was successfully set.✨ AI
burn(value: uint256) nonpayable

Allows the StandardBridge on this network to burn tokens. No approval needed

Parameters

Name Type Description
value uint256
burn(_from: address, _amount: uint256) nonpayable

Allows the StandardBridge on this network to burn tokens. No approval needed

Parameters

Name Type Description
_from address Address to burn tokens from.
_amount uint256 Amount of tokens to burn.
burnFrom(account: address, value: uint256) nonpayable

Burns tokens from account using the caller's allowance, decreasing the account balance and the total supply.✨ AI

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 Address whose tokens will be burned.✨ AI
value uint256 Token amount to burn (in smallest unit).✨ AI
initialize(_creator_address: address, _timelock_address: address, _bridge: address, _remoteToken: address, _initTotalSupply: uint256, _nameIn: string, _symbolIn: string, _versionIn: string) nonpayable

Initializer.

Parameters

Name Type Description
_creator_address address
_timelock_address address The timelock
_bridge address Address of the L2 standard bridge
_remoteToken address Address of the corresponding L1 token
_initTotalSupply uint256 The totalSupply
_nameIn string ERC20 name
_symbolIn string ERC20 symbol
_versionIn string Version
mint(_to: address, _amount: uint256) nonpayable

Allows the StandardBridge on this network to mint tokens.

Parameters

Name Type Description
_to address Address to mint tokens to.
_amount uint256 Amount of tokens to mint.
minter_burn_from(b_address: address, b_amount: uint256) nonpayable

Sames as burnFrom. Left here for backwards-compatibility. Used by non-bridge minters to burn tokens. Must have approval first.

Parameters

Name Type Description
b_address address Address of the account to burn from
b_amount uint256 Amount of tokens to burn
minter_mint(m_address: address, m_amount: uint256) nonpayable

Used by non-bridge minters to mint new tokens

Parameters

Name Type Description
m_address address Address of the account to mint to
m_amount uint256 Amount of tokens to mint
nominateNewOwner(_owner: address) nonpayable

Nominate a new pending owner by setting the given address as the contract's pending owner.✨ AI

Parameters

Name Type Description
_owner address Address to be set as the pending owner.✨ AI
permit(owner: address, spender: address, value: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

Allows owner to approve spender via an off-chain signature, enabling gasless approval.✨ AI

dev: Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.

Parameters

Name Type Description
owner address Address granting the approval.✨ AI
spender address Address receiving the allowance.✨ AI
value uint256 Amount of tokens approved.✨ AI
deadline uint256 Timestamp after which the permit is invalid.✨ AI
v uint8 Signature recovery byte.✨ AI
r bytes32 First 32 bytes of the ECDSA signature.✨ AI
s bytes32 Second 32 bytes of the ECDSA signature.✨ AI
removeMinter(minter_address: address) nonpayable

Removes a non-bridge minter

Parameters

Name Type Description
minter_address address Address of minter to remove
setTimelock(_timelock_address: address) nonpayable

Sets the timelock address

Parameters

Name Type Description
_timelock_address address Address of the timelock
transfer(to: address, value: uint256) nonpayable

Transfer tokens from the caller to the specified recipient address.✨ AI

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 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 address to another using the caller's allowance.✨ AI

dev: See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 Address to debit tokens from.✨ AI
to address Address to credit tokens to.✨ AI
value uint256 Amount of tokens to transfer.✨ AI

Returns

Name Type Description
bool True if the transfer succeeded; the call reverts on failure.✨ AI

Events

Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
Burn(account: address, amount: uint256)

Emitted whenever the bridge burns tokens from an account

Name Type Indexed Description
account address Address of the account tokens are being burned from
amount uint256 Amount of tokens burned
EIP712DomainChanged()
Initialized(version: uint64)
Name Type Indexed Description
version uint64
Mint(account: address, amount: uint256)

Emitted whenever the bridge mints tokens to an account

Name Type Indexed Description
account address Address of the account tokens are being minted for
amount uint256 Amount of tokens minted.
MinterAdded(minter_address: address)

Emitted when a non-bridge minter is added

Name Type Indexed Description
minter_address address Address of the new minter
MinterRemoved(minter_address: address)

Emitted when a non-bridge minter is removed

Name Type Indexed Description
minter_address address Address of the removed minter
OwnerChanged(oldOwner: address, newOwner: address)
Name Type Indexed Description
oldOwner address
newOwner address
OwnerNominated(newOwner: address)
Name Type Indexed Description
newOwner address
TimelockChanged(timelock_address: address)

Emitted when the timelock address changes

Name Type Indexed Description
timelock_address address Address of the new timelock
TokenMinterBurned(from: address, to: address, amount: uint256)

Emitted when a non-bridge minter burns tokens

Name Type Indexed Description
from address The account whose tokens are burned
to address The minter doing the burning
amount uint256 Amount of tokens burned
TokenMinterMinted(from: address, to: address, amount: uint256)

Emitted when a non-bridge minter mints tokens

Name Type Indexed Description
from address The minter doing the minting
to address The account that gets the newly minted tokens
amount uint256 Amount of tokens minted
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256