PermittableToken

Gnosis ERC-20 Token

0x9c58bacc331c9aa871afd802db6379a98e80cedb

Proxy implementation: 0xf8d1677c8a0c961938bf2f9adc3f3cfda759a9d9

Solidity v0.4.24+commit.e67f0147

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: 0x9c58bacc331c9aa871afd802db6379a98e80cedb
Sample prompt: "Tell me the current state of gnosis/0x9c58bacc331c9aa871afd802db6379a98e80cedb"
No AI wired up yet? → mcp.smarts.md
Gnosis 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
17
Write Functions
20
Events
8

Read Functions

mintingFinished() view

Returns

Name Type Description
bool
name() view

Returns

Name Type Description
string
totalSupply() view
dev: Total number of tokens in existence

Returns

Name Type Description
uint256
PERMIT_TYPEHASH() view

Returns

Name Type Description
bytes32
decimals() view

Returns

Name Type Description
uint8
DOMAIN_SEPARATOR() view

Returns

Name Type Description
bytes32
version() view

Returns

Name Type Description
string
balanceOf(_owner: address) view
dev: Gets the balance of the specified address.

Parameters

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

Returns

Name Type Description
uint256 An uint256 representing the amount owned by the passed address.
isBridge(_address: address) view

Parameters

Name Type Description
_address address

Returns

Name Type Description
bool
nonces(address) view

Parameters

Name Type Description
address

Returns

Name Type Description
uint256
getTokenInterfacesVersion() pure

Returns

Name Type Description
major uint64
minor uint64
patch uint64
owner() view

Returns

Name Type Description
address
symbol() view

Returns

Name Type Description
string
PERMIT_TYPEHASH_LEGACY() view

Returns

Name Type Description
bytes32
bridgeContract() view

Returns

Name Type Description
address
allowance(_owner: address, _spender: address) view
dev: Function to check the amount of tokens that an owner allowed to a spender.

Parameters

Name Type Description
_owner address address The address which owns the funds.
_spender address address The address which will spend the funds.

Returns

Name Type Description
uint256 A uint256 specifying the amount of tokens still available for the spender.
expirations(address, address) view

Parameters

Name Type Description
address
address

Returns

Name Type Description
uint256

Write Functions

approve(_to: address, _value: uint256) nonpayable
dev: Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. 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

Parameters

Name Type Description
_to address
_value uint256 The amount of tokens to be spent.

Returns

Name Type Description
result bool
setBridgeContract(_bridgeContract: address) nonpayable

Parameters

Name Type Description
_bridgeContract address
transferFrom(_sender: address, _recipient: address, _amount: uint256) nonpayable
dev: Transfer tokens from one address to another

Parameters

Name Type Description
_sender address
_recipient address
_amount uint256

Returns

Name Type Description
bool
increaseAllowance(_to: address, _addedValue: uint256) nonpayable
dev: Atomically increases the allowance granted to spender by the caller.

Parameters

Name Type Description
_to address The address which will spend the funds.
_addedValue uint256 The amount of tokens to increase the allowance by.

Returns

Name Type Description
result bool
transferAndCall(_to: address, _value: uint256, _data: bytes) nonpayable

Parameters

Name Type Description
_to address
_value uint256
_data bytes

Returns

Name Type Description
bool
mint(_to: address, _amount: uint256) nonpayable
dev: Function to mint tokens

Parameters

Name Type Description
_to address The address that will receive the minted tokens.
_amount uint256 The amount of tokens to mint.

Returns

Name Type Description
bool A boolean that indicates if the operation was successful.
burn(_value: uint256) nonpayable
dev: Burns a specific amount of tokens.

Parameters

Name Type Description
_value uint256 The amount of token to be burned.
decreaseApproval(_spender: address, _subtractedValue: uint256) nonpayable
dev: Decrease the amount of tokens that an owner allowed to a spender. approve should be called when allowed[_spender] == 0. To decrement allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol

Parameters

Name Type Description
_spender address The address which will spend the funds.
_subtractedValue uint256 The amount of tokens to decrease the allowance by.

Returns

Name Type Description
bool
claimTokens(_token: address, _to: address) nonpayable
dev: Withdraws the erc20 tokens or native coins from this contract.

Parameters

Name Type Description
_token address address of the claimed token or address(0) for native coins.
_to address address of the tokens/coins receiver.
renounceOwnership() nonpayable

Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore.

dev: Allows the current owner to relinquish control of the contract.
finishMinting() nonpayable
dev: Function to stop minting new tokens.

Returns

Name Type Description
bool True if the operation was successful.
permit(_holder: address, _spender: address, _nonce: uint256, _expiry: uint256, _allowed: bool, _v: uint8, _r: bytes32, _s: bytes32) nonpayable
dev: Allows to spend holder's unlimited amount by the specified spender. The function can be called by anyone, but requires having allowance parameters signed by the holder according to EIP712.

Parameters

Name Type Description
_holder address The holder's address.
_spender address The spender's address.
_nonce uint256 The nonce taken from `nonces(_holder)` public getter.
_expiry uint256 The allowance expiration date (unix timestamp in UTC). Can be zero for no expiration. Forced to zero if `_allowed` is `false`. Note that timestamps are not precise, malicious miner/validator can manipulate them to some extend. Assume that there can be a 900 seconds time delta between the desired timestamp and the actual expiration.
_allowed bool True to enable unlimited allowance for the spender by the holder. False to disable.
_v uint8 A final byte of signature (ECDSA component).
_r bytes32 The first 32 bytes of signature (ECDSA component).
_s bytes32 The second 32 bytes of signature (ECDSA component).
decreaseAllowance(spender: address, subtractedValue: uint256) nonpayable

Parameters

Name Type Description
spender address
subtractedValue uint256

Returns

Name Type Description
bool
transfer(_to: address, _value: uint256) nonpayable
dev: Transfer token for a specified address

Parameters

Name Type Description
_to address The address to transfer to.
_value uint256 The amount to be transferred.

Returns

Name Type Description
bool
push(_to: address, _amount: uint256) nonpayable
dev: An alias for `transfer` function.

Parameters

Name Type Description
_to address The address of the recipient.
_amount uint256 The value to transfer.
move(_from: address, _to: address, _amount: uint256) nonpayable
dev: An alias for `transferFrom` function.

Parameters

Name Type Description
_from address The address of the sender.
_to address The address of the recipient.
_amount uint256 The value to transfer.
permit(_holder: address, _spender: address, _value: uint256, _deadline: uint256, _v: uint8, _r: bytes32, _s: bytes32) nonpayable
dev: Allows to spend holder's unlimited amount by the specified spender. The function can be called by anyone, but requires having allowance parameters signed by the holder according to EIP712.

Parameters

Name Type Description
_holder address The holder's address.
_spender address The spender's address.
_value uint256
_deadline uint256
_v uint8 A final byte of signature (ECDSA component).
_r bytes32 The first 32 bytes of signature (ECDSA component).
_s bytes32 The second 32 bytes of signature (ECDSA component).
increaseApproval(_spender: address, _addedValue: uint256) nonpayable
dev: Increase the amount of tokens that an owner allowed to a spender. approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol

Parameters

Name Type Description
_spender address The address which will spend the funds.
_addedValue uint256 The amount of tokens to increase the allowance by.

Returns

Name Type Description
bool
pull(_from: address, _amount: uint256) nonpayable
dev: Makes a request to transfer the specified amount from the specified address to the caller's address.

Parameters

Name Type Description
_from address The address of the holder.
_amount uint256 The value to transfer.
transferOwnership(_newOwner: address) nonpayable
dev: Allows the current owner to transfer control of the contract to a newOwner.

Parameters

Name Type Description
_newOwner address The address to transfer ownership to.

Events

Mint(to: address, amount: uint256)
Name Type Indexed Description
to address
amount uint256
MintFinished()
OwnershipRenounced(previousOwner: address)
Name Type Indexed Description
previousOwner address
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
Burn(burner: address, value: uint256)
Name Type Indexed Description
burner address
value uint256
Transfer(from: address, to: address, value: uint256, data: bytes)
Name Type Indexed Description
from address
to address
value uint256
data bytes
Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256