WBTC

Optimism ERC-20 Token Browse chains

0x68f180fcce6836688e9084f035309e29bf0a2095

Solidity v0.7.6

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: 0x68f180fcce6836688e9084f035309e29bf0a2095
Sample prompt: "Tell me the current state of optimism/0x68f180fcce6836688e9084f035309e29bf0a2095"
No AI wired up yet? → mcp.smarts.md · Browse chains

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,748,269 · just now
allowance(owner: address, spender: address) view

Returns the remaining number of tokens that spender is allowed to transfer from owner.✨ AI

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 Address that owns the tokens.✨ AI
spender address Address authorized to spend the owner's tokens.✨ AI

Returns

Name Type Description
uint256 Remaining allowance expressed in the token's smallest units (uint256) that spender may transfer from owner.✨ AI
balanceOf(account: address) view

Returns the token balance for the specified account.✨ AI

dev: Returns the amount of tokens owned by `account`.

Parameters

Name Type Description
account address Address whose token balance will be returned.✨ AI

Returns

Name Type Description
uint256 The account's token balance as a uint256.✨ AI
decimals() view → 8

Returns the number of decimals used to display token amounts.✨ AI

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 The token's decimal precision: the number of decimal places (uint8).✨ AI
l1Token() view → 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599

Returns the address of the corresponding L1 token.✨ AI

Returns

Name Type Description
address The L1 token contract address that corresponds to this token.✨ AI
l2Bridge() view → 0x4200000000000000000000000000000000000010

Returns the address of the token's L2 bridge.✨ AI

Returns

Name Type Description
address The address of the Layer-2 bridge contract associated with this token.✨ AI
name() view → Wrapped BTC

Returns the token's name as a human-readable string.✨ AI

dev: Returns the name of the token.

Returns

Name Type Description
string The token name string (e.g., "Tether USD").✨ AI
supportsInterface(_interfaceId: bytes4) pure

Report whether the contract implements the interface with the given ERC-165 id.✨ AI

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 The 4-byte ERC-165 interface identifier to check.✨ AI

Returns

Name Type Description
bool True if the contract claims to implement the interface id, false otherwise.✨ AI
symbol() view → WBTC

Returns the token's symbol used in wallets and user interfaces.✨ AI

dev: Returns the symbol of the token, usually a shorter version of the name.

Returns

Name Type Description
string The token's short symbol, e.g. USDT, suitable for display in wallets and user interfaces.✨ AI
totalSupply() view → 763.07 WBTC

Returns the total number of tokens in existence.✨ AI

dev: Returns the amount of tokens in existence.

Returns

Name Type Description
uint256 Total token supply in the token's smallest unit (uint256).✨ AI

Write Functions

approve(spender: address, amount: uint256) nonpayable

Approve a spender to transfer up to a specified amount of your USDT tokens.✨ AI

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 Address allowed to spend tokens from the caller's balance.✨ AI
amount uint256 Maximum token amount the spender is permitted to transfer (in smallest unit).✨ AI

Returns

Name Type Description
bool True if the approval was successful; otherwise false.✨ AI
burn(_from: address, _amount: uint256) nonpayable

Burns a specified token amount from the given address, decreasing the caller's token balance and total supply.✨ AI

Parameters

Name Type Description
_from address Address whose tokens will be burned.✨ AI
_amount uint256 Amount of tokens to burn, specified in the token's smallest unit.✨ AI
decreaseAllowance(spender: address, subtractedValue: uint256) nonpayable

Decrease the caller's ERC-20 allowance for a spender by subtractedValue.✨ AI

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 Address whose allowance for the caller will be decreased.✨ AI
subtractedValue uint256 Amount to subtract from the current allowance (in token smallest units).✨ AI

Returns

Name Type Description
bool True if the allowance was successfully decreased.✨ AI
increaseAllowance(spender: address, addedValue: uint256) nonpayable

Increase the allowance granted to a spender by the caller.✨ AI

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 Address that will be allowed to spend the caller's tokens.✨ AI
addedValue uint256 Amount of tokens to add to the spender's current allowance.✨ AI

Returns

Name Type Description
bool True if the allowance was successfully increased, otherwise false.✨ AI
mint(_to: address, _amount: uint256) nonpayable

Mint new USDT tokens and assign them to the specified address, increasing total supply.✨ AI

Parameters

Name Type Description
_to address Address that will receive the newly minted tokens.✨ AI
_amount uint256 Number of tokens to mint, expressed in the token's smallest unit.✨ AI
transfer(recipient: address, amount: uint256) nonpayable

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

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 Address to receive the tokens.✨ AI
amount uint256 Amount of tokens to transfer, in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the transfer succeeded; otherwise false.✨ AI
transferFrom(sender: address, recipient: address, amount: uint256) nonpayable

Transfer tokens from sender to recipient using the caller's approved allowance.✨ AI

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 Address to withdraw tokens from.✨ AI
recipient address Address to receive the tokens.✨ AI
amount uint256 Number of tokens to transfer, specified in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the transfer succeeded.✨ AI

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