USDT

Optimism ERC-20 Token

0x94b008aa00579c1307b0ef2c499ad98a8ce58e58

Solidity v0.7.6

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: usdt-optimism 0x94b008aa00579c1307b0ef2c499ad98a8ce58e58
Sample prompt: “Tell me the current state of usdt-optimism”
No AI wired up yet? → mcp.smarts.md

Admin & Risk

Who can change the rules?

Detected mintable controls from the verified ABI.

Mintable

Overview

Read Functions
9
Write Functions
7
Events
4

Read Functions

Block #152,041,586 · just now
allowance(owner: address, spender: address) view
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
spender address

Returns

Name Type Description
uint256
balanceOf(account: address) view
dev: Returns the amount of tokens owned by `account`.

Parameters

Name Type Description
account address

Returns

Name Type Description
uint256
decimals() view → 6
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 {_setupDecimals} is called. 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
l1Token() view → 0xdac17f958d2ee523a2206206994597c13d831ec7

Returns

Name Type Description
address
l2Bridge() view → 0x4200000000000000000000000000000000000010

Returns

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

Returns

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

Returns

Name Type Description
string
totalSupply() view → 178,569,532.47 USDT
dev: Returns the amount of tokens in existence.

Returns

Name Type Description
uint256

Write Functions

approve(spender: address, amount: uint256) nonpayable
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
amount uint256

Returns

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

Parameters

Name Type Description
_from address
_amount uint256
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
mint(_to: address, _amount: uint256) nonpayable

Parameters

Name Type Description
_to address
_amount uint256
transfer(recipient: address, amount: uint256) nonpayable
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
recipient address
amount uint256

Returns

Name Type Description
bool
transferFrom(sender: address, recipient: address, amount: uint256) nonpayable
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
sender address
recipient address
amount 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)
Name Type Indexed Description
_account address
_amount uint256
Mint(_account: address, _amount: uint256)
Name Type Indexed Description
_account address
_amount uint256
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256