USDT0

Polygon PoS ERC-20 Token

0xc2132d05d31c914a87c6611c10748aeb04b58e8f

Proxy 实现合约: 0x90040487a6c9f949c4f07cadcfb0f3b8eeab4229

Solidity v0.6.6+commit.6c089d02

Fungible token following the ERC-20 standard.

🤖
通过你的 AI 查询此合约
引用: usdt-polygon 0xc2132d05d31c914a87c6611c10748aeb04b58e8f
示例提示词: "Tell me the current state of usdt-polygon"
还没有接入 AI?→ mcp.smarts.md

管理与风险

谁能修改规则?

Detected upgradeable, mintable, and role based controls from the verified ABI.

Upgradeable Mintable Role Based

当前控制

Implementation
0x90040487a6c9f949c4f07cadcfb0f3b8eeab4229 ↗ Polygonscan → smarts proxy

概览

读取函数
24
写入函数
24
事件
14

读取函数

Block #87,448,984 · 14s ago
BLOCK_ROLE() view → 0xefe866497efea00aa7574b13e86f62ebb584dfdf8dd4654ccc38107eb91840b8

Returns the bytes32 identifier for the BLOCK_ROLE used to check or grant blocking permissions.✨ AI

返回值

名称 类型 描述
bytes32 bytes32 role identifier representing the BLOCK_ROLE constant used for access-control checks✨ AI
DEFAULT_ADMIN_ROLE() view → 0x0000000000000000000000000000000000000000000000000000000000000000

Returns the role identifier used as the contract's default admin role.✨ AI

返回值

名称 类型 描述
bytes32 Bytes32 identifier for the DEFAULT_ADMIN_ROLE used for access control.✨ AI
DEPOSITOR_ROLE() view → 0x8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a9

Return the role identifier constant for the DEPOSITOR_ROLE used by contract access control.✨ AI

返回值

名称 类型 描述
bytes32 The bytes32 role identifier constant for DEPOSITOR_ROLE, used in AccessControl permission checks.✨ AI
DOMAIN_SEPARATOR() view → 0x7b43b7deae87806d0ace67d6c8e9e347fc85db8ad198e756e5c17d126fef9a05

Returns the EIP-712 domain separator used to hash and sign typed structured data for this token.✨ AI

返回值

名称 类型 描述
bytes32 The EIP-712 domain separator (bytes32) used in domain-specific typed data hashing and signature verification.✨ AI
ERC712_VERSION() view → 1

Provides the ERC-712 version string used for typed data signing.✨ AI

返回值

名称 类型 描述
string ERC-712 version identifier string used when constructing domain separators and signatures.✨ AI
PERMIT_TYPEHASH() view → 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9

Returns the EIP-2612 permit typehash used to compute signed permit digests.✨ AI

返回值

名称 类型 描述
bytes32 The keccak256 bytes32 type hash for the permit signature structure (EIP-2612).✨ AI
USDT0_VERSION() view → 1

Returns the numeric version identifier of the USDT0 token contract.✨ AI

返回值

名称 类型 描述
uint256 The uint256 version number representing the contract implementation version.✨ AI
allowance(owner: address, spender: address) view

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

开发者: See {IERC20-allowance}.

参数

名称 类型 描述
owner address Address that owns the tokens.✨ AI
spender address Address approved to spend tokens from the owner's balance.✨ AI

返回值

名称 类型 描述
uint256 Remaining token allowance represented as an unsigned 256-bit integer (uint256).✨ AI
balanceOf(account: address) view

Returns the token balance held by the given account.✨ AI

开发者: See {IERC20-balanceOf}.

参数

名称 类型 描述
account address Address to query the token balance for.✨ AI

返回值

名称 类型 描述
uint256 The account's token balance as an unsigned 256-bit integer.✨ AI
decimals() view → 6

Returns the token's number of decimal places used for display and calculations.✨ AI

开发者: 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}.

返回值

名称 类型 描述
uint8 The number of decimal places (uint8) the token uses.✨ AI
getChainId() pure → 137

Return the chain identifier for the current network.✨ AI

返回值

名称 类型 描述
uint256 The chain ID as a uint256 representing the current chain/network identifier.✨ AI
getDomainSeperator() view → 0x7b43b7deae87806d0ace67d6c8e9e347fc85db8ad198e756e5c17d126fef9a05

Retrieve the contract's EIP-712 domain separator used for typed-data signing.✨ AI

返回值

名称 类型 描述
bytes32 EIP-712 domain separator (bytes32) used to compute typed-data hashes and verify signatures.✨ AI
getNonce(user: address) view

Returns the current nonce for the user's address, used to prevent replay of signed messages.✨ AI

参数

名称 类型 描述
user address Address whose nonce is requested.✨ AI

返回值

名称 类型 描述
nonce uint256 The current uint256 nonce assigned to the user, incremented to prevent replay.✨ AI
getRoleAdmin(role: bytes32) view

Gets the admin role that controls a specific role.✨ AI

开发者: Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.

参数

名称 类型 描述
role bytes32 Role identifier as a bytes32 value to query its admin role.✨ AI

返回值

名称 类型 描述
bytes32 Admin role identifier (bytes32) that can grant or revoke the given role.✨ AI
getRoleMember(role: bytes32, index: uint256) view

Return the address of the account holding the given role at the specified index.✨ AI

开发者: Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.

参数

名称 类型 描述
role bytes32 The role identifier (bytes32) to query.✨ AI
index uint256 Zero-based index into the role's member list.✨ AI

返回值

名称 类型 描述
address Address of the role member at the given index.✨ AI
getRoleMemberCount(role: bytes32) view

Return the number of accounts assigned the given role.✨ AI

开发者: Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.

参数

名称 类型 描述
role bytes32 Role identifier as a bytes32 value (typically keccak256 hash of the role name).✨ AI

返回值

名称 类型 描述
uint256 Number of accounts that currently hold the specified role.✨ AI
hasRole(role: bytes32, account: address) view

Return whether an account has a specific role.✨ AI

开发者: Returns `true` if `account` has been granted `role`.

参数

名称 类型 描述
role bytes32 Role identifier as a bytes32 value.✨ AI
account address Address of the account to check for the role.✨ AI

返回值

名称 类型 描述
bool True if the account has the role, otherwise false.✨ AI
isBlocked(address) view

Checks whether the given address is blocked from token transfers.✨ AI

参数

名称 类型 描述
address

返回值

名称 类型 描述
bool True if the address is blocked and cannot transact, otherwise false.✨ AI
name() view → USDT0

Returns the token's name.✨ AI

开发者: Returns the name of the token.

返回值

名称 类型 描述
string The token name as a string.✨ AI
nonces(address) view

Returns the current replay nonce for the given address.✨ AI

参数

名称 类型 描述
address

返回值

名称 类型 描述
uint256 Current uint256 nonce for the address; increments after each signed permit/use.✨ AI
oftContract() view → 0x6ba10300f0dc58b7a1e4c0e41f5dabb7d7829e13

Returns the OFT contract address (the address with DEPOSITOR_ROLE)

返回值

名称 类型 描述
address The address of the OFT contract
supportsInterface(interfaceId: bytes4) view

Return whether the contract implements the interface identified by the provided interfaceId.✨ AI

开发者: 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[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.

参数

名称 类型 描述
interfaceId bytes4 The ERC-165 interface identifier (4-byte) to query for support.✨ AI

返回值

名称 类型 描述
bool True if the contract implements the specified interfaceId, otherwise false.✨ AI
symbol() view → USDT0

Returns the token's short symbol used by user interfaces.✨ AI

开发者: Returns the symbol of the token, usually a shorter version of the name.

返回值

名称 类型 描述
string The token symbol as a string.✨ AI
totalSupply() view → 861,893,182.97 USDT0

Returns the total number of tokens in existence.✨ AI

开发者: See {IERC20-totalSupply}.

返回值

名称 类型 描述
uint256 Total token supply as a uint256, expressed in the token's smallest unit (per decimals).✨ AI

写入函数

addToBlockedList(_user: address) nonpayable

Add an address to the token contract's blocked list to prevent transfers by that address.✨ AI

参数

名称 类型 描述
_user address Address to mark as blocked; blocked addresses are prevented from transferring tokens.✨ AI
approve(spender: address, amount: uint256) nonpayable

Approve an address (spender) to spend up to amount of your tokens on your behalf.✨ AI

开发者: See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.

参数

名称 类型 描述
spender address Address being approved to transfer tokens from the caller's balance.✨ AI
amount uint256 Maximum number of tokens the spender is allowed to transfer.✨ AI

返回值

名称 类型 描述
bool True if the approval succeeded, otherwise false.✨ AI
changeName(name_: string) nonpayable

Set the token's public name to the provided string.✨ AI

参数

名称 类型 描述
name_ string The new token name to store and expose via name().✨ AI
changeSymbol(symbol_: string) nonpayable

Change the token's symbol to a new string.✨ AI

参数

名称 类型 描述
symbol_ string New symbol to assign to the token.✨ AI
crosschainBurn(user: address, amount: uint256) nonpayable

Burn tokens through a crosschain transfer.

参数

名称 类型 描述
user address user address for whom burn is being done
amount uint256 amount of tokens to burn
crosschainMint(user: address, amount: uint256) nonpayable

called when token is deposited on root chain

开发者: Should be callable only by OAPP contract

参数

名称 类型 描述
user address user address for whom deposit is being done
amount uint256 amount of tokens to mint
decreaseAllowance(spender: address, subtractedValue: uint256) nonpayable

Decrease the caller's token allowance granted to spender by subtractedValue.✨ AI

开发者: 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`.

参数

名称 类型 描述
spender address Address whose allowance will be decreased.✨ AI
subtractedValue uint256 Amount to subtract from the current allowance, in the token's smallest units.✨ AI

返回值

名称 类型 描述
bool True if the allowance was decreased successfully.✨ AI
deposit(user: address, depositData: bytes) nonpayable

Mint tokens to a recipient when tokens are deposited from the root chain.✨ AI

开发者: Callable by the root chain manager/predicate; decodes depositData as a uint256 amount and mints to user.✨ AI

参数

名称 类型 描述
user address Recipient address that will receive the minted tokens.✨ AI
depositData bytes ABI-encoded deposit payload, typically the uint256 amount to mint.✨ AI
destroyBlockedFunds(_blockedUser: address) nonpayable

Permanently remove all tokens held by a blocked address and reduce the total token supply.✨ AI

参数

名称 类型 描述
_blockedUser address Address whose token balance will be permanently destroyed.✨ AI
executeMetaTransaction(userAddress: address, functionSignature: bytes, sigR: bytes32, sigS: bytes32, sigV: uint8) payable

参数

名称 类型 描述
userAddress address
functionSignature bytes
sigR bytes32
sigS bytes32
sigV uint8

返回值

名称 类型 描述
bytes
grantRole(role: bytes32, account: address) nonpayable
开发者: Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.

参数

名称 类型 描述
role bytes32
account address
increaseAllowance(spender: address, addedValue: uint256) nonpayable
开发者: 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.

参数

名称 类型 描述
spender address
addedValue uint256

返回值

名称 类型 描述
bool
mint(_destination: address, _amount: uint256) nonpayable

参数

名称 类型 描述
_destination address
_amount uint256
multiTransfer(_recipients: address[], _values: uint256[]) nonpayable

参数

名称 类型 描述
_recipients address[]
_values uint256[]
permit(owner: address, spender: address, value: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

参数

名称 类型 描述
owner address
spender address
value uint256
deadline uint256
v uint8
r bytes32
s bytes32
redeem(_amount: uint256) nonpayable

参数

名称 类型 描述
_amount uint256
removeFromBlockedList(_user: address) nonpayable

参数

名称 类型 描述
_user address
renounceRole(role: bytes32, account: address) nonpayable
开发者: Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.

参数

名称 类型 描述
role bytes32
account address
revokeRole(role: bytes32, account: address) nonpayable
开发者: Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.

参数

名称 类型 描述
role bytes32
account address
setOFTContract(_oftContract: address) nonpayable

Sets the OFT contract address by granting it the DEPOSITOR_ROLE

开发者: Can only be called by accounts with DEFAULT_ADMIN_ROLE

参数

名称 类型 描述
_oftContract address The address of the OFT contract
transfer(recipient: address, amount: uint256) nonpayable
开发者: See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.

参数

名称 类型 描述
recipient address
amount uint256

返回值

名称 类型 描述
bool
transferFrom(_sender: address, _recipient: address, _amount: uint256) nonpayable
开发者: 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}; Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.

参数

名称 类型 描述
_sender address
_recipient address
_amount uint256

返回值

名称 类型 描述
bool
upgradeToUSDT0(newAdmin: address, oftContract: address) nonpayable

参数

名称 类型 描述
newAdmin address
oftContract address
withdraw(uint256) nonpayable

参数

名称 类型 描述
uint256

事件

Approval(owner: address, spender: address, value: uint256)
名称 类型 已索引 描述
owner address
spender address
value uint256
BlockPlaced(_user: address)
名称 类型 已索引 描述
_user address
BlockReleased(_user: address)
名称 类型 已索引 描述
_user address
CrosschainBurn(from: address, amount: uint256, sender: address)

Emitted when a crosschain transfer burns tokens.

名称 类型 已索引 描述
from address Address of the account tokens are being burned from.
amount uint256 Amount of tokens burned.
sender address Address of the caller (msg.sender) who invoked crosschainBurn.
CrosschainMint(to: address, amount: uint256, sender: address)

Emitted when a crosschain transfer mints tokens.

名称 类型 已索引 描述
to address Address of the account tokens are being minted for.
amount uint256 Amount of tokens minted.
sender address Address of the caller (msg.sender) who invoked crosschainMint.
DestroyedBlockedFunds(_blockedUser: address, _balance: uint256)
名称 类型 已索引 描述
_blockedUser address
_balance uint256
LogSetOFTContract(oftContract: address)
名称 类型 已索引 描述
oftContract address
MetaTransactionExecuted(userAddress: address, relayerAddress: address, functionSignature: bytes)
名称 类型 已索引 描述
userAddress address
relayerAddress address
functionSignature bytes
Mint(_destination: address, _amount: uint256)
名称 类型 已索引 描述
_destination address
_amount uint256
Redeem(_amount: uint256)
名称 类型 已索引 描述
_amount uint256
RoleAdminChanged(role: bytes32, previousAdminRole: bytes32, newAdminRole: bytes32)
名称 类型 已索引 描述
role bytes32
previousAdminRole bytes32
newAdminRole bytes32
RoleGranted(role: bytes32, account: address, sender: address)
名称 类型 已索引 描述
role bytes32
account address
sender address
RoleRevoked(role: bytes32, account: address, sender: address)
名称 类型 已索引 描述
role bytes32
account address
sender address
Transfer(from: address, to: address, value: uint256)
名称 类型 已索引 描述
from address
to address
value uint256