PermittableToken
Gnosis ERC-20 Token0x9c58bacc331c9aa871afd802db6379a98e80cedb
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 |