USDC

Ethereum ERC-20 Token

0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48

Proxy 實作合約: 0x43506849d7c04f9138d1a2050bbf3a0c054402dd

Solidity v0.6.12+commit.27d51765

Fungible token following the ERC-20 standard.

🤖
透過你的 AI 查詢此合約
參考: usdc-eth 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
範例提示詞: "Tell me the current state of usdc-eth"
還沒有接入 AI?→ mcp.smarts.md

管理與風險

誰能修改規則?

Block #25,177,561

Detected upgradeable, mintable, pausable, blacklistable, and ownable controls from the verified ABI.

Upgradeable Mintable Pausable Blacklistable Ownable

當前控制

Implementation
0x43506849d7c04f9138d1a2050bbf3a0c054402dd ↗ Etherscan → smarts proxy
Paused
false
Owner
0xfcb19e6a322b27c06842a71e8c725399f049ae3a ↗ Etherscan → smarts
Master minter
0xe982615d461dd5cd06575bbea87624fda4e3de17 ↗ Etherscan → smarts
Pauser
0x4914f61d25e5c567143774b76edbf4d5109a8566 ↗ Etherscan → smarts
Blacklister
0x0a06be16275b95a7d2567fbdae118b36c7da78f9 ↗ Etherscan → smarts
Rescuer
0x0000000000000000000000000000000000000000 (無)

近期治理

582 privileged events loaded. 最新: MinterConfigured at block #25,173,273.

概覽

讀取函式
24
寫入函式
31
事件
17

讀取函式

Block #25,177,561 · just now
CANCEL_AUTHORIZATION_TYPEHASH() view → 0x158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a1597429

Returns the EIP-712 type hash used when canceling authorizations.✨ AI

回傳值

名稱 類型 描述
bytes32 The bytes32 EIP-712 type hash for the CancelAuthorization struct, used to verify cancelAuthorization signatures.✨ AI
DOMAIN_SEPARATOR() view → 0x06c37168a7db5138defc7866392bb87a741f9b3d104deb5094588ce041cae335

Get the EIP712 Domain Separator.

回傳值

名稱 類型 描述
bytes32 The bytes32 EIP712 domain separator.
PERMIT_TYPEHASH() view → 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9

Returns the EIP-2612 PERMIT_TYPEHASH used to verify permit signatures.✨ AI

回傳值

名稱 類型 描述
bytes32 The bytes32 keccak256 typehash used in permit (EIP-2612) signature domain.✨ AI
RECEIVE_WITH_AUTHORIZATION_TYPEHASH() view → 0xd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de8

Returns the EIP-712 type hash used for receiveWithAuthorization messages.✨ AI

回傳值

名稱 類型 描述
bytes32 The EIP-712 type hash (bytes32) used to sign receiveWithAuthorization authorizations.✨ AI
TRANSFER_WITH_AUTHORIZATION_TYPEHASH() view → 0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267

Returns the EIP-712 type hash used to authorize off-chain transferWithAuthorization messages.✨ AI

回傳值

名稱 類型 描述
bytes32 The bytes32 EIP-712 type hash for transferWithAuthorization.✨ AI
allowance(owner: address, spender: address) view

Return the remaining token allowance that owner granted to spender.✨ AI

開發者: 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.

參數

名稱 類型 描述
owner address Address that granted the allowance.✨ AI
spender address Address authorized to spend tokens from the owner's balance.✨ AI

回傳值

名稱 類型 描述
uint256 Remaining allowance as a uint256 representing how many tokens spender may transfer from owner.✨ AI
authorizationState(authorizer: address, nonce: bytes32) view

Returns the state of an authorization

開發者: Nonces are randomly generated 32-byte data unique to the authorizer's address

參數

名稱 類型 描述
authorizer address Authorizer's address
nonce bytes32 Nonce of the authorization

回傳值

名稱 類型 描述
bool True if the nonce is used
balanceOf(account: address) view

Returns the token balance of the specified account.✨ AI

開發者: Returns the amount of tokens owned by `account`.

參數

名稱 類型 描述
account address Address whose token balance to query.✨ AI

回傳值

名稱 類型 描述
uint256 The account's token balance as a uint256.✨ AI
blacklister() view → 0x0a06be16275b95a7d2567fbdae118b36c7da78f9

Returns the address authorized to manage the contract's blacklist.✨ AI

回傳值

名稱 類型 描述
address The address currently designated as the blacklister.✨ AI
currency() view → USD

Returns the token's currency identifier string used for display and accounting.✨ AI

回傳值

名稱 類型 描述
string The token's currency identifier string (for example, USD).✨ AI
decimals() view → 6

Return the number of decimal places used for token amounts and UI display.✨ AI

回傳值

名稱 類型 描述
uint8 Number of decimal places the token uses, as a uint8 (e.g., 2 means amounts have two decimal places).✨ AI
isBlacklisted(_account: address) view

Checks if account is blacklisted.

參數

名稱 類型 描述
_account address The address to check.

回傳值

名稱 類型 描述
bool True if the account is blacklisted, false if the account is not blacklisted.
isMinter(account: address) view

Checks if an account is a minter.

參數

名稱 類型 描述
account address The address to check.

回傳值

名稱 類型 描述
bool True if the account is a minter, false if the account is not a minter.
masterMinter() view → 0xe982615d461dd5cd06575bbea87624fda4e3de17

Returns the address of the current master minter.✨ AI

回傳值

名稱 類型 描述
address The address that holds the master minter role and can assign or revoke minters.✨ AI
minterAllowance(minter: address) view

Gets the minter allowance for an account.

參數

名稱 類型 描述
minter address The address to check.

回傳值

名稱 類型 描述
uint256 The remaining minter allowance for the account.
name() view → USD Coin

Returns the token's name.✨ AI

回傳值

名稱 類型 描述
string The token's name as a string.✨ AI
nonces(owner: address) view

Nonces for permit

參數

名稱 類型 描述
owner address Token owner's address (Authorizer)

回傳值

名稱 類型 描述
uint256 Next nonce
owner() view → 0xfcb19e6a322b27c06842a71e8c725399f049ae3a

Returns the address of the contract owner.✨ AI

開發者: Tells the address of the owner

回傳值

名稱 類型 描述
address the address of the owner
paused() view → false

Check whether token transfers and other restricted operations are currently paused.✨ AI

回傳值

名稱 類型 描述
bool True if the contract is paused (restricted operations disabled); false if it is active.✨ AI
pauser() view → 0x4914f61d25e5c567143774b76edbf4d5109a8566

Returns the address that currently holds the token pauser role.✨ AI

回傳值

名稱 類型 描述
address The account address authorized to pause or unpause token transfers.✨ AI
rescuer() view → 0x0000000000000000000000000000000000000000

Returns current rescuer

回傳值

名稱 類型 描述
address Rescuer's address
symbol() view → USDC

Returns the token's symbol string.✨ AI

回傳值

名稱 類型 描述
string The token symbol (e.g., "USDC").✨ AI
totalSupply() view → 52,637,714,246.70 USDC

Returns the total number of tokens in circulation for this ERC-20 token.✨ AI

開發者: Returns the amount of tokens in existence.

回傳值

名稱 類型 描述
uint256 Total token supply expressed in the token's smallest unit (uint256).✨ AI
version() pure → 2

Version string for the EIP712 domain separator

回傳值

名稱 類型 描述
string Version string

寫入函式

approve(spender: address, value: uint256) nonpayable

Set allowance for spender to transfer up to value tokens from the caller's account.✨ AI

開發者: 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.

參數

名稱 類型 描述
spender address Address granted permission to spend tokens on behalf of the caller.✨ AI
value uint256 Maximum number of tokens the spender is allowed to transfer.✨ AI

回傳值

名稱 類型 描述
bool True if the approval was set successfully, false otherwise.✨ AI
blacklist(_account: address) nonpayable

Adds account to blacklist.

參數

名稱 類型 描述
_account address The address to blacklist.
burn(_amount: uint256) nonpayable

Allows a minter to burn some of its own tokens.

開發者: The caller must be a minter, must not be blacklisted, and the amount to burn should be less than or equal to the account's balance.

參數

名稱 類型 描述
_amount uint256 the amount of tokens to be burned.
cancelAuthorization(authorizer: address, nonce: bytes32, v: uint8, r: bytes32, s: bytes32) nonpayable

Attempt to cancel an authorization

開發者: Works only if the authorization is not yet used. EOA wallet signatures should be packed in the order of r, s, v.

參數

名稱 類型 描述
authorizer address Authorizer's address
nonce bytes32 Nonce of the authorization
v uint8
r bytes32
s bytes32
cancelAuthorization(authorizer: address, nonce: bytes32, signature: bytes) nonpayable

Attempt to cancel an authorization

開發者: Works only if the authorization is not yet used. EOA wallet signatures should be packed in the order of r, s, v.

參數

名稱 類型 描述
authorizer address Authorizer's address
nonce bytes32 Nonce of the authorization
signature bytes Signature bytes signed by an EOA wallet or a contract wallet
configureMinter(minter: address, minterAllowedAmount: uint256) nonpayable

Adds or updates a new minter with a mint allowance.

參數

名稱 類型 描述
minter address The address of the minter.
minterAllowedAmount uint256 The minting amount allowed for the minter.

回傳值

名稱 類型 描述
bool True if the operation was successful.
decreaseAllowance(spender: address, decrement: uint256) nonpayable

Decrease the allowance by a given decrement

參數

名稱 類型 描述
spender address Spender's address
decrement uint256 Amount of decrease in allowance

回傳值

名稱 類型 描述
bool True if successful
increaseAllowance(spender: address, increment: uint256) nonpayable

Increase the allowance by a given increment

參數

名稱 類型 描述
spender address Spender's address
increment uint256 Amount of increase in allowance

回傳值

名稱 類型 描述
bool True if successful
initialize(tokenName: string, tokenSymbol: string, tokenCurrency: string, tokenDecimals: uint8, newMasterMinter: address, newPauser: address, newBlacklister: address, newOwner: address) nonpayable

Initializes the fiat token contract.

參數

名稱 類型 描述
tokenName string The name of the fiat token.
tokenSymbol string The symbol of the fiat token.
tokenCurrency string The fiat currency that the token represents.
tokenDecimals uint8 The number of decimals that the token uses.
newMasterMinter address The masterMinter address for the fiat token.
newPauser address The pauser address for the fiat token.
newBlacklister address The blacklister address for the fiat token.
newOwner address The owner of the fiat token.
initializeV2(newName: string) nonpayable

Initialize v2

參數

名稱 類型 描述
newName string New token name
initializeV2_1(lostAndFound: address) nonpayable

Initialize v2.1

參數

名稱 類型 描述
lostAndFound address The address to which the locked funds are sent
initializeV2_2(accountsToBlacklist: address[], newSymbol: string) nonpayable

Initialize v2.2

參數

名稱 類型 描述
accountsToBlacklist address[] A list of accounts to migrate from the old blacklist
newSymbol string New token symbol data structure to the new blacklist data structure.
mint(_to: address, _amount: uint256) nonpayable

Mints fiat tokens to an address.

參數

名稱 類型 描述
_to address The address that will receive the minted tokens.
_amount uint256 The amount of tokens to mint. Must be less than or equal to the minterAllowance of the caller.

回傳值

名稱 類型 描述
bool True if the operation was successful.
pause() nonpayable

Pauses token transfers and other actions that require the contract to be unpaused.✨ AI

開發者: called by the owner to pause, triggers stopped state
permit(owner: address, spender: address, value: uint256, deadline: uint256, signature: bytes) nonpayable

Update allowance with a signed permit

開發者: EOA wallet signatures should be packed in the order of r, s, v.

參數

名稱 類型 描述
owner address Token owner's address (Authorizer)
spender address Spender's address
value uint256 Amount of allowance
deadline uint256 The time at which the signature expires (unix time), or max uint256 value to signal no expiration
signature bytes Signature bytes signed by an EOA wallet or a contract wallet
permit(owner: address, spender: address, value: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

Update allowance with a signed permit

開發者: EOA wallet signatures should be packed in the order of r, s, v.

參數

名稱 類型 描述
owner address Token owner's address (Authorizer)
spender address Spender's address
value uint256 Amount of allowance
deadline uint256 The time at which the signature expires (unix time), or max uint256 value to signal no expiration
v uint8
r bytes32
s bytes32
receiveWithAuthorization(from: address, to: address, value: uint256, validAfter: uint256, validBefore: uint256, nonce: bytes32, signature: bytes) nonpayable

Receive a transfer with a signed authorization from the payer

開發者: This has an additional check to ensure that the payee's address matches the caller of this function to prevent front-running attacks. EOA wallet signatures should be packed in the order of r, s, v.

參數

名稱 類型 描述
from address Payer's address (Authorizer)
to address Payee's address
value uint256 Amount to be transferred
validAfter uint256 The time after which this is valid (unix time)
validBefore uint256 The time before which this is valid (unix time)
nonce bytes32 Unique nonce
signature bytes Signature bytes signed by an EOA wallet or a contract wallet
receiveWithAuthorization(from: address, to: address, value: uint256, validAfter: uint256, validBefore: uint256, nonce: bytes32, v: uint8, r: bytes32, s: bytes32) nonpayable

Receive a transfer with a signed authorization from the payer

開發者: This has an additional check to ensure that the payee's address matches the caller of this function to prevent front-running attacks. EOA wallet signatures should be packed in the order of r, s, v.

參數

名稱 類型 描述
from address Payer's address (Authorizer)
to address Payee's address
value uint256 Amount to be transferred
validAfter uint256 The time after which this is valid (unix time)
validBefore uint256 The time before which this is valid (unix time)
nonce bytes32 Unique nonce
v uint8
r bytes32
s bytes32
removeMinter(minter: address) nonpayable

Removes a minter.

參數

名稱 類型 描述
minter address The address of the minter to remove.

回傳值

名稱 類型 描述
bool True if the operation was successful.
rescueERC20(tokenContract: address, to: address, amount: uint256) nonpayable

Rescue ERC20 tokens locked up in this contract.

參數

名稱 類型 描述
tokenContract address ERC20 token contract address
to address Recipient address
amount uint256 Amount to withdraw
transfer(to: address, value: uint256) nonpayable

Transfer tokens from the caller's account to the specified recipient address.✨ AI

開發者: Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.

參數

名稱 類型 描述
to address Recipient address that will receive the tokens.✨ AI
value uint256 Amount of tokens to transfer, in the token's smallest unit.✨ AI

回傳值

名稱 類型 描述
bool True if the transfer succeeded.✨ AI
transferFrom(from: address, to: address, value: uint256) nonpayable

Transfer tokens from a source account to a destination using the caller's allowance.✨ AI

開發者: 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.

參數

名稱 類型 描述
from address Address whose token balance will be reduced.✨ AI
to address Address whose token balance will be increased.✨ AI
value uint256 Number of tokens to transfer, expressed in the token's smallest unit.✨ AI

回傳值

名稱 類型 描述
bool Boolean indicating whether the transfer succeeded and the caller's allowance was updated.✨ AI
transferOwnership(newOwner: address) nonpayable

Transfers contract ownership to the specified new owner address.✨ AI

開發者: Allows the current owner to transfer control of the contract to a newOwner.

參數

名稱 類型 描述
newOwner address The address to transfer ownership to.
transferWithAuthorization(from: address, to: address, value: uint256, validAfter: uint256, validBefore: uint256, nonce: bytes32, signature: bytes) nonpayable

Execute a transfer with a signed authorization

開發者: EOA wallet signatures should be packed in the order of r, s, v.

參數

名稱 類型 描述
from address Payer's address (Authorizer)
to address Payee's address
value uint256 Amount to be transferred
validAfter uint256 The time after which this is valid (unix time)
validBefore uint256 The time before which this is valid (unix time)
nonce bytes32 Unique nonce
signature bytes Signature bytes signed by an EOA wallet or a contract wallet
transferWithAuthorization(from: address, to: address, value: uint256, validAfter: uint256, validBefore: uint256, nonce: bytes32, v: uint8, r: bytes32, s: bytes32) nonpayable

Execute a transfer with a signed authorization

開發者: EOA wallet signatures should be packed in the order of r, s, v.

參數

名稱 類型 描述
from address Payer's address (Authorizer)
to address Payee's address
value uint256 Amount to be transferred
validAfter uint256 The time after which this is valid (unix time)
validBefore uint256 The time before which this is valid (unix time)
nonce bytes32 Unique nonce
v uint8
r bytes32
s bytes32
unBlacklist(_account: address) nonpayable

Removes account from blacklist.

參數

名稱 類型 描述
_account address The address to remove from the blacklist.
unpause() nonpayable

Unpauses the contract and resumes token transfers and other paused operations.✨ AI

開發者: called by the owner to unpause, returns to normal state
updateBlacklister(_newBlacklister: address) nonpayable

Updates the blacklister address.

參數

名稱 類型 描述
_newBlacklister address The address of the new blacklister.
updateMasterMinter(_newMasterMinter: address) nonpayable

Updates the master minter address.

參數

名稱 類型 描述
_newMasterMinter address The address of the new master minter.
updatePauser(_newPauser: address) nonpayable

Updates the pauser address.

參數

名稱 類型 描述
_newPauser address The address of the new pauser.
updateRescuer(newRescuer: address) nonpayable

Updates the rescuer address.

參數

名稱 類型 描述
newRescuer address The address of the new rescuer.

事件

Approval(owner: address, spender: address, value: uint256)
名稱 類型 已索引 描述
owner address
spender address
value uint256
AuthorizationCanceled(authorizer: address, nonce: bytes32)
名稱 類型 已索引 描述
authorizer address
nonce bytes32
AuthorizationUsed(authorizer: address, nonce: bytes32)
名稱 類型 已索引 描述
authorizer address
nonce bytes32
Blacklisted(_account: address)
名稱 類型 已索引 描述
_account address
BlacklisterChanged(newBlacklister: address)
名稱 類型 已索引 描述
newBlacklister address
Burn(burner: address, amount: uint256)
名稱 類型 已索引 描述
burner address
amount uint256
MasterMinterChanged(newMasterMinter: address)
名稱 類型 已索引 描述
newMasterMinter address
Mint(minter: address, to: address, amount: uint256)
名稱 類型 已索引 描述
minter address
to address
amount uint256
MinterConfigured(minter: address, minterAllowedAmount: uint256)
名稱 類型 已索引 描述
minter address
minterAllowedAmount uint256
MinterRemoved(oldMinter: address)
名稱 類型 已索引 描述
oldMinter address
OwnershipTransferred(previousOwner: address, newOwner: address)
名稱 類型 已索引 描述
previousOwner address representing the address of the previous owner
newOwner address representing the address of the new owner
Pause()
PauserChanged(newAddress: address)
名稱 類型 已索引 描述
newAddress address
RescuerChanged(newRescuer: address)
名稱 類型 已索引 描述
newRescuer address
Transfer(from: address, to: address, value: uint256)
名稱 類型 已索引 描述
from address
to address
value uint256
UnBlacklisted(_account: address)
名稱 類型 已索引 描述
_account address
Unpause()