USDC

Optimism ERC-20 Token

0x0b2c639c533813f4aa9d7837caf62653d097ff85

Proxy 實作合約: 0xded3b9a8dbedc2f9cb725b55d0e686a81e6d06dc

Solidity v0.6.12+commit.27d51765

Fungible token following the ERC-20 standard.

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

管理與風險

誰能修改規則?

Block #152,088,272

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

Upgradeable Mintable Pausable Blacklistable Ownable

當前控制

Implementation
0xded3b9a8dbedc2f9cb725b55d0e686a81e6d06dc ↗ Etherscan → smarts proxy
Paused
false
Owner
0xb04ffa9bdaef530a837f73198ae9f94064c4441f ↗ Etherscan → smarts
Master minter
0x70429f78c2d7d1de6f89be421bce64ba876c325b ↗ Etherscan → smarts
Pauser
0xb8015408bcba72bcbb34775c81361fb496051c9b ↗ Etherscan → smarts
Blacklister
0x551e855b7355c98534175879a300972856c04d7c ↗ Etherscan → smarts
Rescuer
0x0000000000000000000000000000000000000000 (無)

概覽

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

讀取函式

Block #152,088,273 · just now
CANCEL_AUTHORIZATION_TYPEHASH() view → 0x158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a1597429

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

回傳值

名稱 類型 描述
bytes32 The EIP-712 type hash (bytes32) for the CancelAuthorization struct.✨ AI
DOMAIN_SEPARATOR() view → 0x26d9c34bb1a1c312f69c53b2d93b8be20faafba63af2438c6811713c9b1f933f

Get the EIP712 Domain Separator.

回傳值

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

Returns the EIP-712 type hash used for permit (EIP-2612) signatures.✨ AI

回傳值

名稱 類型 描述
bytes32 The bytes32 keccak256 type hash used to construct permit signature digests.✨ AI
RECEIVE_WITH_AUTHORIZATION_TYPEHASH() view → 0xd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de8

Return the bytes32 type hash used to encode and verify receiveWithAuthorization authorizations.✨ AI

回傳值

名稱 類型 描述
bytes32 The bytes32 typehash for the receiveWithAuthorization struct used to construct and validate authorizations.✨ AI
TRANSFER_WITH_AUTHORIZATION_TYPEHASH() view → 0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267

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

回傳值

名稱 類型 描述
bytes32 Type hash (bytes32) used to build and verify EIP-712 transferWithAuthorization signatures.✨ AI
allowance(owner: address, spender: address) view

Returns the remaining token allowance that owner has 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 approved to spend tokens on owner's behalf.✨ AI

回傳值

名稱 類型 描述
uint256 Remaining number of tokens spender is allowed to 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

Return the token balance of the given account.✨ AI

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

參數

名稱 類型 描述
account address Address whose token balance will be returned.✨ AI

回傳值

名稱 類型 描述
uint256 The account's token balance expressed in the token's smallest unit (uint256).✨ AI
blacklister() view → 0x551e855b7355c98534175879a300972856c04d7c

Return the address that is authorized to add or remove accounts from the blacklist.✨ AI

回傳值

名稱 類型 描述
address The address currently assigned the blacklister role with permission to blacklist or unblacklist accounts.✨ AI
currency() view → USD

Return the token's currency code used by this contract.✨ AI

回傳值

名稱 類型 描述
string The token currency code (e.g., USD) as a string.✨ AI
decimals() view → 6

Returns the number of decimal places used by the token.✨ AI

回傳值

名稱 類型 描述
uint8 Token decimals as an unsigned 8-bit integer indicating the number of 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 → 0x70429f78c2d7d1de6f89be421bce64ba876c325b

Returns the address of the current master minter.✨ AI

回傳值

名稱 類型 描述
address Address of the account that currently holds the masterMinter role and may authorize 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 Token name as a human-readable string.✨ AI
nonces(owner: address) view

Nonces for permit

參數

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

回傳值

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

Returns the address of the contract owner.✨ AI

開發者: Tells the address of the owner

回傳值

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

Returns true when token transfers and administrative actions are paused.✨ AI

回傳值

名稱 類型 描述
bool True if the contract is paused and normal token operations are disabled, otherwise false.✨ AI
pauser() view → 0xb8015408bcba72bcbb34775c81361fb496051c9b

Returns the address currently assigned the pauser role.✨ AI

回傳值

名稱 類型 描述
address Address of the account that can pause and unpause token transfers.✨ AI
rescuer() view → 0x0000000000000000000000000000000000000000

Returns current rescuer

回傳值

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

Returns the token's short symbol used by wallets and block explorers.✨ AI

回傳值

名稱 類型 描述
string The token symbol string (for example, "USDC"), used for display and identification.✨ AI
totalSupply() view → 192,368,285.93 USDC

Returns the total supply of tokens.✨ AI

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

回傳值

名稱 類型 描述
uint256 The total token supply as a uint256 representing the number of smallest token units in existence.✨ AI
version() pure → 2

Version string for the EIP712 domain separator

回傳值

名稱 類型 描述
string Version string

寫入函式

approve(spender: address, value: uint256) nonpayable

Approve a spender to transfer up to value tokens from your 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 authorized to spend tokens on the caller's behalf.✨ AI
value uint256 Maximum number of tokens the spender is allowed to transfer.✨ AI

回傳值

名稱 類型 描述
bool True if the allowance was successfully set and an Approval event was emitted.✨ 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

Pause the contract to stop token transfers and other pause-protected operations.✨ 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 to a 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, expressed 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 one address to another 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 to debit the tokens from.✨ AI
to address Address to receive the tokens.✨ AI
value uint256 Number of tokens to transfer, in token base units.✨ AI

回傳值

名稱 類型 描述
bool True if the transfer succeeded.✨ AI
transferOwnership(newOwner: address) nonpayable

Transfers contract ownership to the specified newOwner 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

Unpause the contract to resume all paused token 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()