Cake

BNB Smart Chain ERC-20 Token

0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82

Solidity v0.6.12+commit.27d51765

Fungible token following the ERC-20 standard.

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

Admin & Risk

Who can change the rules?

Block #100,280,626

Detected mintable and ownable controls from the verified ABI.

Mintable Ownable

Current controls

Owner
0x73feaa1ee314f8c655e354234017be2193c9e24e ↗ BscScan → smarts

Overview

Read Functions
16
Write Functions
11
Events
5

Read Functions

Block #100,280,626 · just now
DELEGATION_TYPEHASH() view → 0xe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf

Returns the EIP-712 typehash used to sign and verify delegation messages.✨ AI

Returns

Name Type Description
bytes32 The EIP-712 DELEGATION_TYPEHASH as a bytes32 value for hashing typed delegation data.✨ AI
DOMAIN_TYPEHASH() view → 0x8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866

Gets the EIP-712 domain type hash used when building typed data for signature verification.✨ AI

Returns

Name Type Description
bytes32 The EIP-712 DOMAIN_TYPEHASH as a bytes32 value used in domain separator hashing.✨ AI
allowance(owner: address, spender: address) view

Return the remaining number of tokens that owner has approved for spender to transfer.✨ 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 approved to spend tokens on behalf of the owner.✨ AI

Returns

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

Returns the token balance of the specified account.✨ AI

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

Parameters

Name Type Description
account address Address to query the token balance for.✨ AI

Returns

Name Type Description
uint256 The account's token balance as a uint256 value.✨ AI
checkpoints(address, uint32) view

Return the checkpoint at a given index for an account, showing the block and vote balance.✨ AI

Parameters

Name Type Description
address
uint32

Returns

Name Type Description
fromBlock uint32 fromBlock: Block number when the checkpoint was recorded.✨ AI
votes uint256 votes: Vote balance recorded at that checkpoint.✨ AI
decimals() view → 18

Returns the token's decimal precision used for user-facing balances and amounts.✨ AI

dev: Returns the token decimals.

Returns

Name Type Description
uint8 The number of decimal places (uint8) the token uses for presenting balances and amounts.✨ AI
delegates(delegator: address) view

Delegate votes from `msg.sender` to `delegatee`

Parameters

Name Type Description
delegator address The address to get delegatee for

Returns

Name Type Description
address
getCurrentVotes(account: address) view

Gets the current votes balance for `account`

Parameters

Name Type Description
account address The address to get votes balance

Returns

Name Type Description
uint256 The number of current votes for `account`
getOwner() view → 0x73feaa1ee314f8c655e354234017be2193c9e24e

Returns the address of the contract owner.✨ AI

dev: Returns the bep token owner.

Returns

Name Type Description
address The owner's address.✨ AI
getPriorVotes(account: address, blockNumber: uint256) view

Determine the prior number of votes for an account as of a block number

dev: Block number must be a finalized block or else this function will revert to prevent misinformation.

Parameters

Name Type Description
account address The address of the account to check
blockNumber uint256 The block number to get the vote balance at

Returns

Name Type Description
uint256 The number of votes the account had as of the given block
name() view → PancakeSwap Token

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

dev: Returns the token name.

Returns

Name Type Description
string The ERC-20 token name (e.g., "Cake Token") as a string.✨ AI
nonces(address) view

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

Parameters

Name Type Description
address

Returns

Name Type Description
uint256 Current nonce for the address; increments each time a permit is used.✨ AI
numCheckpoints(address) view

Return the number of checkpoints recorded for a given account.✨ AI

Parameters

Name Type Description
address

Returns

Name Type Description
uint32 The number of checkpoints recorded for the account (uint32).✨ AI
owner() view → 0x73feaa1ee314f8c655e354234017be2193c9e24e

Returns the address of the contract owner.✨ AI

dev: Returns the address of the current owner.

Returns

Name Type Description
address The address that currently holds owner privileges for this contract.✨ AI
symbol() view → Cake

Get the token's symbol.✨ AI

dev: Returns the token symbol.

Returns

Name Type Description
string The token's short symbol used by wallets and UIs, for example "CAKE".✨ AI
totalSupply() view → 4,323,455,735.75 Cake

Returns the total number of CakeToken tokens in existence.✨ AI

dev: Returns the amount of tokens in existence.

Returns

Name Type Description
uint256 Total number of tokens in existence as a uint256 value.✨ AI

Write Functions

approve(spender: address, amount: uint256) nonpayable

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

Returns

Name Type Description
bool True if the allowance was successfully set.✨ AI
decreaseAllowance(spender: address, subtractedValue: uint256) nonpayable

Decrease the caller's token allowance for a spender by a given amount.✨ 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 {BEP20-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 that is approved to spend tokens on behalf of the caller.✨ AI
subtractedValue uint256 Amount of tokens to subtract from the current allowance.✨ AI

Returns

Name Type Description
bool True if the allowance was successfully decreased.✨ AI
delegate(delegatee: address) nonpayable

Delegate votes from `msg.sender` to `delegatee`

Parameters

Name Type Description
delegatee address The address to delegate votes to
delegateBySig(delegatee: address, nonce: uint256, expiry: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

Delegates votes from signatory to `delegatee`

Parameters

Name Type Description
delegatee address The address to delegate votes to
nonce uint256 The contract state required to match the signature
expiry uint256 The time at which to expire the signature
v uint8 The recovery byte of the signature
r bytes32 Half of the ECDSA signature pair
s bytes32 Half of the ECDSA signature pair
increaseAllowance(spender: address, addedValue: uint256) nonpayable

Increase the caller's token allowance for spender by addedValue.✨ 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 {BEP20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.

Parameters

Name Type Description
spender address Address authorized to spend the caller's tokens.✨ AI
addedValue uint256 Amount to add to the current allowance, in the token's smallest units.✨ AI

Returns

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

Mints the specified amount of CakeToken to the caller and increases the total token supply.✨ AI

dev: Creates `amount` tokens and assigns them to `msg.sender`, increasing the total supply. Requirements - `msg.sender` must be the token owner

Parameters

Name Type Description
_to address
_amount uint256
mint(amount: uint256) nonpayable

Mints the specified amount of CakeToken to the caller and increases the total token supply.✨ AI

dev: Creates `amount` tokens and assigns them to `msg.sender`, increasing the total supply. Requirements - `msg.sender` must be the token owner

Parameters

Name Type Description
amount uint256 Number of tokens to mint, expressed in the token's smallest unit (base units).✨ AI

Returns

Name Type Description
bool True if the mint operation succeeded and tokens were created; otherwise false.✨ AI
renounceOwnership() nonpayable

Permanently renounces ownership, leaving the contract without an owner and disabling owner-only functions.✨ AI

dev: Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.
transfer(recipient: address, amount: uint256) nonpayable

Transfer tokens from the caller to the recipient and update both balances.✨ 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 that will 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.✨ AI
transferFrom(sender: address, recipient: address, amount: uint256) nonpayable

Transfers tokens from sender to recipient using the caller's 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 transfer tokens from.✨ AI
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.✨ AI
transferOwnership(newOwner: address) nonpayable

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

dev: Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.

Parameters

Name Type Description
newOwner address Address that will receive ownership rights for the contract.✨ AI

Events

Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
DelegateChanged(delegator: address, fromDelegate: address, toDelegate: address)

An event thats emitted when an account changes its delegate

Name Type Indexed Description
delegator address
fromDelegate address
toDelegate address
DelegateVotesChanged(delegate: address, previousBalance: uint256, newBalance: uint256)

An event thats emitted when a delegate account's vote balance changes

Name Type Indexed Description
delegate address
previousBalance uint256
newBalance uint256
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256