GoldToken

Celo ERC-20 Token

0x471ece3750da237f93b8e339c536989b8978a438

Proxy implementation: 0xfea1b35f1d5f2a58532a70e7a32e6f2d3bc4f7b1

Solidity v0.5.13+commit.5b0b510c

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: 0x471ece3750da237f93b8e339c536989b8978a438
Sample prompt: "Tell me the current state of celo/0x471ece3750da237f93b8e339c536989b8978a438"
No AI wired up yet? → mcp.smarts.md
Celo is a docs-only chain on Smarts: source code and ABI are indexed, but live on-chain data (state, recent events, admin profile) is not currently available. AI agents can still query get_contract_info and get_contract_source via MCP.

Overview

Read Functions
13
Write Functions
11
Events
5

Read Functions

allocatedSupply() view

Returns

Name Type Description
uint256 The total amount of allocated CELO.
allowance(_owner: address, spender: address) view

Gets the amount of owner's CELO allowed to be spent by spender.

Parameters

Name Type Description
_owner address The owner of the CELO.
spender address The spender of the CELO.

Returns

Name Type Description
uint256 The amount of CELO owner is allowing spender to spend.
balanceOf(_owner: address) view

Gets the balance of the specified address.

Parameters

Name Type Description
_owner address The address to query the balance of.

Returns

Name Type Description
uint256 The balance of the specified address.
decimals() view

Returns

Name Type Description
uint8 The number of decimal places to which CELO is divisible.
getBurnedAmount() view

Gets the amount of CELO that has been burned.

Returns

Name Type Description
uint256 The total amount of CELO that has been sent to the burn address.
getVersionNumber() pure

Returns the storage, major, minor, and patch version of the contract.

Returns

Name Type Description
uint256 Storage version of the contract.
uint256 Major version of the contract.
uint256 Minor version of the contract.
uint256 Patch version of the contract.
initialized() view

Returns

Name Type Description
bool
isOwner() view
dev: Returns true if the caller is the current owner.

Returns

Name Type Description
bool
name() view

Returns

Name Type Description
string The name of the CELO token.
owner() view
dev: Returns the address of the current owner.

Returns

Name Type Description
address
registry() view

Returns

Name Type Description
address
symbol() view

Returns

Name Type Description
string The symbol of the CELO token.
totalSupply() view

Returns

Name Type Description
uint256 The total amount of CELO in existence, including what the burn address holds.

Write Functions

approve(spender: address, value: uint256) nonpayable

Approve a user to transfer CELO on behalf of another user.

Parameters

Name Type Description
spender address The address which is being approved to spend CELO.
value uint256 The amount of CELO approved to the spender.

Returns

Name Type Description
bool True if the transaction succeeds.
burn(value: uint256) nonpayable

This function allows a user to burn a specific amount of tokens. Burning is implemented by sending tokens to the burn address.

Parameters

Name Type Description
value uint256 : The amount of CELO to burn.

Returns

Name Type Description
bool True if burn was successful.
decreaseAllowance(spender: address, value: uint256) nonpayable

Decreases the allowance of another user.

Parameters

Name Type Description
spender address The address which is being approved to spend CELO.
value uint256 The decrement of the amount of CELO approved to the spender.

Returns

Name Type Description
bool True if the transaction succeeds.
increaseAllowance(spender: address, value: uint256) nonpayable

Increases the allowance of another user.

Parameters

Name Type Description
spender address The address which is being approved to spend CELO.
value uint256 The increment of the amount of CELO approved to the spender.

Returns

Name Type Description
bool True if the transaction succeeds.
initialize(registryAddress: address) nonpayable

Used in place of the constructor to allow the contract to be upgradable via proxy.

Parameters

Name Type Description
registryAddress address Address of the Registry contract.
renounceOwnership() nonpayable
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.
setRegistry(registryAddress: address) nonpayable

Updates the address pointing to a Registry contract.

Parameters

Name Type Description
registryAddress address The address of a registry contract for routing to other contracts.
transfer(to: address, value: uint256) nonpayable
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
to address
value uint256

Returns

Name Type Description
bool
transferFrom(from: address, to: address, value: uint256) nonpayable

Transfers CELO from one address to another on behalf of a user.

Parameters

Name Type Description
from address The address to transfer CELO from.
to address The address to transfer CELO to.
value uint256 The amount of CELO to transfer.

Returns

Name Type Description
bool True if the transaction succeeds.
transferOwnership(newOwner: address) nonpayable
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
transferWithComment(to: address, value: uint256, comment: string) nonpayable

Transfers CELO from one address to another with a comment.

Parameters

Name Type Description
to address The address to transfer CELO to.
value uint256 The amount of CELO to transfer.
comment string The transfer comment

Returns

Name Type Description
bool True if the transaction succeeds.

Events

Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
RegistrySet(registryAddress: address)
Name Type Indexed Description
registryAddress address
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256
TransferComment(comment: string)
Name Type Indexed Description
comment string