BridgedERC20

Taiko ERC-20 Token

0x2def195713cf4a606b49d07e520e22c17899a736

Proxy implementation: 0x0167000000000000000000000000000000010096

Solidity v0.8.24+commit.e11b9ed9

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: 0x2def195713cf4a606b49d07e520e22c17899a736
Sample prompt: "Tell me the current state of taiko/0x2def195713cf4a606b49d07e520e22c17899a736"
No AI wired up yet? → mcp.smarts.md
Taiko 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
16
Events
13

Read Functions

__srcDecimals() view

Returns

Name Type Description
uint8
addressManager() view

Returns

Name Type Description
address
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
canonical() view

Gets the canonical token's address and chain ID.

Returns

Name Type Description
address The canonical token's address.
uint256 The canonical token's chain ID.
decimals() view

Gets the number of decimal places of the token.

Returns

Name Type Description
uint8 The number of decimal places of the token.
impl() view

Returns

Name Type Description
address
inNonReentrant() view

Returns

Name Type Description
bool
isMigratingOut() view

Returns

Name Type Description
bool
lastUnpausedAt() view

Returns

Name Type Description
uint64
migratingAddress() view

Returns

Name Type Description
address
migratingInbound() view

Returns

Name Type Description
bool
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
paused() view

Returns true if the contract is paused, and false otherwise.

Returns

Name Type Description
bool true if paused, false otherwise.
pendingOwner() view
dev: Returns the address of the pending owner.

Returns

Name Type Description
address
proxiableUUID() view
dev: Implementation of the ERC1822 {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
resolve(_chainId: uint64, _name: bytes32, _allowZeroAddress: bool) view

Resolves a name to its address deployed on this chain.

Parameters

Name Type Description
_chainId uint64
_name bytes32 Name whose address is to be resolved.
_allowZeroAddress bool If set to true, does not throw if the resolved address is `address(0)`.

Returns

Name Type Description
address Address associated with the given name.
resolve(_name: bytes32, _allowZeroAddress: bool) view

Resolves a name to its address deployed on this chain.

Parameters

Name Type Description
_name bytes32 Name whose address is to be resolved.
_allowZeroAddress bool If set to true, does not throw if the resolved address is `address(0)`.

Returns

Name Type Description
address Address associated with the given name.
srcChainId() view

Returns

Name Type Description
uint256
srcToken() view

Returns

Name Type Description
address
supportsInterface(_interfaceId: bytes4) pure
dev: Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.

Parameters

Name Type Description
_interfaceId bytes4

Returns

Name Type Description
bool
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, amount: uint256) nonpayable
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
amount uint256

Returns

Name Type Description
bool
burn(_amount: uint256) nonpayable

Burns tokens from msg.sender. This is only allowed if: - 1) tokens are migrating out to a new bridged token - 2) The token is burned by ERC20Vault to bridge back to the canonical chain.

Parameters

Name Type Description
_amount uint256 The amount of tokens to burn.
changeMigrationStatus(_migratingAddress: address, _migratingInbound: bool) nonpayable

Starts or stops migration to/from a specified contract.

Parameters

Name Type Description
_migratingAddress address
_migratingInbound bool
decreaseAllowance(spender: address, subtractedValue: uint256) nonpayable
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
subtractedValue uint256

Returns

Name Type Description
bool
increaseAllowance(spender: address, addedValue: uint256) nonpayable
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
addedValue uint256

Returns

Name Type Description
bool
init(_owner: address, _addressManager: address, _srcToken: address, _srcChainId: uint256, _decimals: uint8, _symbol: string, _name: string) nonpayable

Initializes the contract.

Parameters

Name Type Description
_owner address The owner of this contract. msg.sender will be used if this value is zero.
_addressManager address The address of the {AddressManager} contract.
_srcToken address The source token address.
_srcChainId uint256 The source chain ID.
_decimals uint8 The number of decimal places of the source token.
_symbol string The symbol of the token.
_name string The name of the token.
mint(_account: address, _amount: uint256) nonpayable

Mints `amount` tokens and assigns them to the `account` address.

Parameters

Name Type Description
_account address The account to receive the minted tokens.
_amount uint256 The amount of tokens to mint.
pause() nonpayable

Pauses the contract.

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.
transfer(to: address, amount: uint256) nonpayable
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
amount uint256

Returns

Name Type Description
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: 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.

Parameters

Name Type Description
newOwner address
unpause() nonpayable

Unpauses the contract.

upgradeTo(newImplementation: address) nonpayable
dev: Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.

Parameters

Name Type Description
newImplementation address
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

AdminChanged(previousAdmin: address, newAdmin: address)
Name Type Indexed Description
previousAdmin address
newAdmin address
Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
BeaconUpgraded(beacon: address)
Name Type Indexed Description
beacon address
Initialized(version: uint8)
Name Type Indexed Description
version uint8
MigratedFrom(migratedFrom: address, account: address, amount: uint256)

Emitted when tokens are migrated from the old bridged token.

Name Type Indexed Description
migratedFrom address The address of the bridged token.
account address The address of the account.
amount uint256 The amount of tokens migrated.
MigratedTo(migratedTo: address, account: address, amount: uint256)

Emitted when tokens are migrated to the new bridged token.

Name Type Indexed Description
migratedTo address The address of the bridged token.
account address The address of the account.
amount uint256 The amount of tokens migrated.
MigrationStatusChanged(addr: address, inbound: bool)

Emitted when the migration status is changed.

Name Type Indexed Description
addr address The address migrating 'to' or 'from'.
inbound bool If false then signals migrating 'from', true if migrating 'into'.
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
Paused(account: address)

Emitted when the contract is paused.

Name Type Indexed Description
account address The account that paused the contract.
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256
Unpaused(account: address)

Emitted when the contract is unpaused.

Name Type Indexed Description
account address The account that unpaused the contract.
Upgraded(implementation: address)
Name Type Indexed Description
implementation address