L2ArbitrumToken

Arbitrum One ERC-20 Token Browse chains

0xd47d14a315394ddf063174f2286ab4eb7c507fa0

Solidity v0.8.16+commit.07a7930e

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: 0xd47d14a315394ddf063174f2286ab4eb7c507fa0
Sample prompt: "Tell me the current state of arbitrum/0xd47d14a315394ddf063174f2286ab4eb7c507fa0"
No AI wired up yet? → mcp.smarts.md · Browse chains

Admin & Risk

Who can change the rules?

Block #25,287,509

Detected mintable and ownable controls from the verified ABI.

Mintable Ownable

Current controls

Owner
0x0000000000000000000000000000000000000000 (none)

Overview

Read Functions
22
Write Functions
17
Events
8

Read Functions

Block #25,287,509 · just now
DOMAIN_SEPARATOR() view → 0x35fc016d8231c0d687c0925bc37f8ae2da39beb55785cbd41edafcab00cc7484

Return the EIP-712 domain separator used to build typed-data hashes for signatures.✨ AI

Returns

Name Type Description
bytes32 EIP-712 domain separator (bytes32) used with permit and other typed-data signature schemes.✨ AI
MINT_CAP_DENOMINATOR() view → 10,000

Returns the denominator used to compute the token mint cap fraction.✨ AI

Returns

Name Type Description
uint256 Denominator value used to compute the maximum mint cap fraction (used with the MINT_CAP numerator).✨ AI
MINT_CAP_NUMERATOR() view → 200

Returns the numerator used in the contract's mint cap calculation.✨ AI

Returns

Name Type Description
uint256 Numerator of the mint cap fraction used to limit token minting.✨ AI
MIN_MINT_INTERVAL() view → 31,536,000

Shows the minimum time interval, in seconds, required between consecutive mint operations.✨ AI

Returns

Name Type Description
uint256 The minimum time interval in seconds that must elapse between successive mint calls.✨ AI
allowance(owner: address, spender: address) view

Return the remaining number of tokens that spender is allowed to spend on behalf of owner.✨ AI

dev: See {IERC20-allowance}.

Parameters

Name Type Description
owner address Address that owns the tokens.✨ AI
spender address Address approved to spend the tokens.✨ AI

Returns

Name Type Description
uint256 Remaining allowance in token units that spender can spend 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 The account address to query the token balance for.✨ AI

Returns

Name Type Description
uint256 The account's token balance as a uint256.✨ AI
checkpoints(account: address, pos: uint32) view

Return the checkpoint at a given index for an account's voting power history.✨ AI

dev: Get the `pos`-th checkpoint for `account`.

Parameters

Name Type Description
account address Address whose checkpoint is being queried.✨ AI
pos uint32 Zero-based index of the checkpoint to return.✨ AI

Returns

Name Type Description
tuple Checkpoint block number when the votes were recorded (uint32).✨ AI
decimals() view → 18

Returns the token's number of decimal places.✨ 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 value {ERC20} uses, unless this function is 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, indicating how many decimal places the token uses.✨ AI
delegates(account: address) view

Returns the address to which an account has delegated its voting power.✨ AI

dev: Get the address `account` is currently delegating to.

Parameters

Name Type Description
account address The account whose delegate is being queried.✨ AI

Returns

Name Type Description
address The delegatee address receiving the account's delegated voting power; zero address if none.✨ AI
getPastTotalSupply(blockNumber: uint256) view

Return the token total supply as of the specified block.✨ AI

dev: Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances. It is but NOT the sum of all the delegated votes! Requirements: - `blockNumber` must have been already mined

Parameters

Name Type Description
blockNumber uint256 Block number to read the historical total supply for.✨ AI

Returns

Name Type Description
uint256 Total token supply as recorded at the specified block via contract checkpoints.✨ AI
getPastVotes(account: address, blockNumber: uint256) view

Return the voting power that account held at the specified block.✨ AI

dev: Retrieve the number of votes for `account` at the end of `blockNumber`. Requirements: - `blockNumber` must have been already mined

Parameters

Name Type Description
account address Address whose past votes to query.✨ AI
blockNumber uint256 Block number at which to read votes (must be <= current block).✨ AI

Returns

Name Type Description
uint256 The uint256 vote count that account had at the end of the specified block.✨ AI
getTotalDelegation() view → 0

Get the current total delegation

Returns

Name Type Description
uint256 The current total delegation
getTotalDelegationAt(blockNumber: uint256) view

Get the total delegation at a specific block number If the blockNumber is prior to the first checkpoint, returns 0

Parameters

Name Type Description
blockNumber uint256 The block number to get the total delegation at

Returns

Name Type Description
uint256 The total delegation at the given block number
getVotes(account: address) view

Return the current voting power for a specified account.✨ AI

dev: Gets the current votes balance for `account`

Parameters

Name Type Description
account address Address to query current votes for.✨ AI

Returns

Name Type Description
uint256 Current number of votes held by the account (uint256).✨ AI
l1Address() view → 0x0000000000000000000000000000000000000000

Returns the L1 token contract address that this L2 Arbitrum ERC-20 token represents.✨ AI

Returns

Name Type Description
address Address of the corresponding L1 ERC-20 token contract.✨ AI
name() view

Returns the token's name.✨ AI

dev: Returns the name of the token.

Returns

Name Type Description
string The token name as a string.✨ AI
nextMint() view → 0

Returns the number of tokens scheduled to be minted in the next mint operation.✨ AI

Returns

Name Type Description
uint256 Number of tokens that will be minted by the next mint call, expressed in the token's smallest unit.✨ AI
nonces(owner: address) view

Provide the current replay-protection nonce for an owner used by permit signatures.✨ AI

dev: See {IERC20Permit-nonces}.

Parameters

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

Returns

Name Type Description
uint256 Current uint256 nonce for the owner; increments after each successful permit to prevent replay.✨ AI
numCheckpoints(account: address) view

Get the number of voting checkpoints recorded for an account.✨ AI

dev: Get number of checkpoints for `account`.

Parameters

Name Type Description
account address Account address to query the stored number of voting checkpoints.✨ AI

Returns

Name Type Description
uint32 The count of checkpoints for the account (uint32), i.e., how many historical vote records exist.✨ AI
owner() view → 0x0000000000000000000000000000000000000000

Returns the address of the contract owner.✨ AI

dev: Returns the address of the current owner.

Returns

Name Type Description
address The address that currently owns the contract and has administrative privileges.✨ AI
symbol() view

Returns the token's short symbol used to identify the token (e.g., "ABC").✨ AI

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

Returns

Name Type Description
string The token symbol string, a short identifier such as "ABC".✨ AI
totalSupply() view → 0

Returns the total number of tokens in existence.✨ AI

dev: See {IERC20-totalSupply}.

Returns

Name Type Description
uint256 Total token supply as a uint256, representing tokens currently in circulation.✨ AI

Write Functions

adjustTotalDelegation(adjustment: int256) nonpayable

Adjusts total delegation value by the given amount

Parameters

Name Type Description
adjustment int256 The amount that the total delegation is off by, negated. This is added to the current total delegation.
approve(spender: address, amount: uint256) nonpayable

Grants spender permission to transfer up to amount of your tokens from your account.✨ AI

dev: See {IERC20-approve}. NOTE: If `amount` 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 on caller's behalf.✨ AI
amount uint256 Maximum number of tokens the spender is permitted to transfer.✨ AI

Returns

Name Type Description
bool True if the approval succeeded, false otherwise.✨ AI
burn(amount: uint256) nonpayable

Burns a specified amount of tokens from the caller's balance and reduces the total supply.✨ AI

dev: Destroys `amount` tokens from the caller. See {ERC20-_burn}.

Parameters

Name Type Description
amount uint256 Amount to burn from the caller's balance, specified in the token's smallest unit.✨ AI
burnFrom(account: address, amount: uint256) nonpayable

Burns a specific amount of tokens from the given account using the caller's allowance, decreasing total supply.✨ AI

dev: Destroys `amount` 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 `amount`.

Parameters

Name Type Description
account address Address from which tokens will be burned.✨ AI
amount uint256 Number of tokens to burn (in smallest unit).✨ AI
decreaseAllowance(spender: address, subtractedValue: uint256) nonpayable

Decrease the caller's allowance for a spender by a specified amount.✨ AI

dev: Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.

Parameters

Name Type Description
spender address Address allowed to spend the caller's tokens.✨ AI
subtractedValue uint256 Amount to subtract from the current allowance.✨ AI

Returns

Name Type Description
bool True if the allowance was decreased successfully.✨ AI
delegate(delegatee: address) nonpayable

Delegate your voting power to another address.✨ AI

dev: Delegate votes from the sender to `delegatee`.

Parameters

Name Type Description
delegatee address Address that will receive your delegated voting power.✨ AI
delegateBySig(delegatee: address, nonce: uint256, expiry: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

Delegate voting power to an address using an off-chain EIP-712 signature.✨ AI

dev: Delegates votes from signer to `delegatee`

Parameters

Name Type Description
delegatee address Address that will receive the delegated voting power.✨ AI
nonce uint256 Unique nonce used to prevent replay of the signature.✨ AI
expiry uint256 Unix timestamp after which the signature is no longer valid.✨ AI
v uint8 ECDSA recovery id component of the signature.✨ AI
r bytes32 First 32-byte word of the ECDSA signature.✨ AI
s bytes32 Second 32-byte word of the ECDSA signature.✨ AI
increaseAllowance(spender: address, addedValue: uint256) nonpayable

Increase the caller's allowance for spender by addedValue and return true on success.✨ AI

dev: Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.

Parameters

Name Type Description
spender address Address allowed to spend tokens.✨ AI
addedValue uint256 Amount to add to the current allowance.✨ AI

Returns

Name Type Description
bool Boolean indicating whether the allowance was successfully increased.✨ AI
initialize(_l1TokenAddress: address, _initialSupply: uint256, _owner: address) nonpayable

Initialise the L2 token

Parameters

Name Type Description
_l1TokenAddress address The address of the counterparty L1 token
_initialSupply uint256 The amount of initial supply to mint
_owner address The owner of this contract - controls minting, not upgradeability
mint(recipient: address, amount: uint256) nonpayable

Allows the owner to mint new tokens

dev: Only allows minting below an inflation cap. Set to once per year, and a maximum of 2%.

Parameters

Name Type Description
recipient address
amount uint256
permit(owner: address, spender: address, value: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

Allow an owner to set a spender allowance by presenting an off-chain signature.✨ AI

dev: See {IERC20Permit-permit}.

Parameters

Name Type Description
owner address Address that signed the permit and whose allowance will be set.✨ AI
spender address Address that is being approved to spend the owner's tokens.✨ AI
value uint256 Amount of tokens to approve as the allowance.✨ AI
deadline uint256 Unix timestamp after which the permit signature is invalid.✨ AI
v uint8 ECDSA signature recovery byte used to reconstruct the signer.✨ AI
r bytes32 First 32 bytes of the ECDSA signature.✨ AI
s bytes32 Second 32 bytes of the ECDSA signature.✨ AI
postUpgradeInit(initialTotalDelegation: uint256) nonpayable

Called after upgrade to set the initial total delegation estimate The initial estimate may be manipulable with artificial delegation/undelegation prior to the upgrade. Since this value is only used for quorum calculation, and the quroum is clamped by the governors to an acceptable range, the risk/impact of manipulation is low.

Parameters

Name Type Description
initialTotalDelegation uint256 The initial total delegation at the time of upgrade proposal creation. This is an estimate since it is chosen at proposal creation time and not effective until the proposal is executed.
renounceOwnership() nonpayable

Renounce ownership of the contract, permanently removing the owner role.✨ AI

dev: Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.
transfer(to: address, amount: uint256) nonpayable

Transfer the specified amount of tokens from the caller to the recipient.✨ AI

dev: See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.

Parameters

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

Returns

Name Type Description
bool True if the transfer completed successfully.✨ AI
transferAndCall(_to: address, _value: uint256, _data: bytes) nonpayable
dev: transfer token to a contract address with additional data if the recipient is a contact.

Parameters

Name Type Description
_to address The address to transfer to.
_value uint256 The amount to be transferred.
_data bytes The extra data to be passed to the receiving contract.

Returns

Name Type Description
success bool
transferFrom(from: address, to: address, amount: 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.

Parameters

Name Type Description
from address
to address
amount uint256

Returns

Name Type Description
bool
transferOwnership(newOwner: address) nonpayable
dev: Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.

Parameters

Name Type Description
newOwner address

Events

Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
DelegateChanged(delegator: address, fromDelegate: address, toDelegate: address)
Name Type Indexed Description
delegator address
fromDelegate address
toDelegate address
DelegateVotesChanged(delegate: address, previousBalance: uint256, newBalance: uint256)
Name Type Indexed Description
delegate address
previousBalance uint256
newBalance uint256
Initialized(version: uint8)
Name Type Indexed Description
version uint8
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
TotalDelegationAdjusted(previousTotalDelegation: uint256, newTotalDelegation: uint256)
Name Type Indexed Description
previousTotalDelegation uint256
newTotalDelegation uint256
Transfer(from: address, to: address, value: uint256, data: bytes)
Name Type Indexed Description
from address
to address
value uint256
data bytes
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256