ERC20ExWrappedPPOM

Fraxtal ERC-20 Token

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
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

Name Type Description
address
DOMAIN_SEPARATOR() view

Returns

Name Type Description
bytes32
REMOTE_TOKEN() view

Returns

Name Type Description
address
_totalSupply() view

Returns

Name Type Description
uint256
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
bridge() view

Legacy getter for BRIDGE

Returns

Name Type Description
address address The bridge address
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
eip712Domain() view
dev: See {EIP-5267}. _Available since v4.9._

Returns

Name Type Description
fields bytes1
name string
version string
chainId uint256
verifyingContract address
salt bytes32
extensions uint256[]
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

Parameters

Name Type Description
address

Returns

Name Type Description
bool
minters_array(uint256) view

Parameters

Name Type Description
uint256

Returns

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

Returns

Name Type Description
string
nominatedOwner() view

Returns

Name Type Description
address
nonces(owner: address) view
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

Returns

Name Type Description
uint256
owner() view

Returns

Name Type Description
address
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
dev: Returns the symbol of the token, usually a shorter version of the name.

Returns

Name Type Description
string
timelock_address() view

Returns

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

Returns

Name Type Description
uint256
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
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
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

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
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(_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

Parameters

Name Type Description
_owner address
permit(owner: address, spender: address, value: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable
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
spender address
value uint256
deadline uint256
v uint8
r bytes32
s bytes32
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
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}. 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
to address
value uint256

Returns

Name Type Description
bool

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