SavingsXDai

Gnosis ERC-20 Token

0xaf204776c7245bf4147c2612bf6e5972ee483701

Solidity v0.8.21+commit.d9974bed

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: 0xaf204776c7245bf4147c2612bf6e5972ee483701
Sample prompt: "Tell me the current state of gnosis/0xaf204776c7245bf4147c2612bf6e5972ee483701"
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
25
Write Functions
11
Events
5

Read Functions

DOMAIN_SEPARATOR() view

Returns

Name Type Description
bytes32
PERMIT_TYPEHASH() view

Returns

Name Type Description
bytes32
VERSION() view

Returns

Name Type Description
string
allowance(owner: address, spender: address) view
dev: See {IERC20-allowance}.

Parameters

Name Type Description
owner address
spender address

Returns

Name Type Description
uint256
asset() view
dev: See {IERC4626-asset}.

Returns

Name Type Description
address
balanceOf(account: address) view
dev: See {IERC20-balanceOf}.

Parameters

Name Type Description
account address

Returns

Name Type Description
uint256
convertToAssets(shares: uint256) view
dev: See {IERC4626-convertToAssets}.

Parameters

Name Type Description
shares uint256

Returns

Name Type Description
uint256
convertToShares(assets: uint256) view
dev: See {IERC4626-convertToShares}.

Parameters

Name Type Description
assets uint256

Returns

Name Type Description
uint256
decimals() view
dev: Decimals are computed by adding the decimal offset on top of the underlying asset's decimals. This "original" value is cached during construction of the vault contract. If this read operation fails (e.g., the asset has not been created yet), a default of 18 is used to represent the underlying asset's decimals. See {IERC20Metadata-decimals}.

Returns

Name Type Description
uint8
deploymentChainId() view

Returns

Name Type Description
uint256
eip712Domain() view
dev: See {IERC-5267}.

Returns

Name Type Description
fields bytes1
name string
version string
chainId uint256
verifyingContract address
salt bytes32
extensions uint256[]
maxDeposit(address) view
dev: See {IERC4626-maxDeposit}.

Parameters

Name Type Description
address

Returns

Name Type Description
uint256
maxMint(address) view
dev: See {IERC4626-maxMint}.

Parameters

Name Type Description
address

Returns

Name Type Description
uint256
maxRedeem(owner: address) view
dev: See {IERC4626-maxRedeem}.

Parameters

Name Type Description
owner address

Returns

Name Type Description
uint256
maxWithdraw(owner: address) view
dev: See {IERC4626-maxWithdraw}.

Parameters

Name Type Description
owner address

Returns

Name Type Description
uint256
name() view
dev: Returns the name of the token.

Returns

Name Type Description
string
nonces(owner: address) view
dev: See {IERC20Permit-nonces}.

Parameters

Name Type Description
owner address

Returns

Name Type Description
uint256
previewDeposit(assets: uint256) view
dev: See {IERC4626-previewDeposit}.

Parameters

Name Type Description
assets uint256

Returns

Name Type Description
uint256
previewMint(shares: uint256) view
dev: See {IERC4626-previewMint}.

Parameters

Name Type Description
shares uint256

Returns

Name Type Description
uint256
previewRedeem(shares: uint256) view
dev: See {IERC4626-previewRedeem}.

Parameters

Name Type Description
shares uint256

Returns

Name Type Description
uint256
previewWithdraw(assets: uint256) view
dev: See {IERC4626-previewWithdraw}.

Parameters

Name Type Description
assets uint256

Returns

Name Type Description
uint256
symbol() view
dev: Returns the symbol of the token, usually a shorter version of the name.

Returns

Name Type Description
string
totalAssets() view
dev: See {IERC4626-totalAssets}.

Returns

Name Type Description
uint256
totalSupply() view
dev: See {IERC20-totalSupply}.

Returns

Name Type Description
uint256
wxdai() view

Returns

Name Type Description
address

Write Functions

approve(spender: address, value: uint256) nonpayable
dev: See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.

Parameters

Name Type Description
spender address
value uint256

Returns

Name Type Description
bool
decreaseAllowance(spender: address, requestedDecrease: uint256) nonpayable
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 `requestedDecrease`. NOTE: Although this function is designed to avoid double spending with {approval}, it can still be frontrunned, preventing any attempt of allowance reduction.

Parameters

Name Type Description
spender address
requestedDecrease uint256

Returns

Name Type Description
bool
deposit(assets: uint256, receiver: address) nonpayable
dev: See {IERC4626-deposit}.

Parameters

Name Type Description
assets uint256
receiver address

Returns

Name Type Description
uint256
increaseAllowance(spender: address, addedValue: uint256) nonpayable
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
addedValue uint256

Returns

Name Type Description
bool
mint(shares: uint256, receiver: address) nonpayable
dev: See {IERC4626-mint}. As opposed to {deposit}, minting is allowed even if the vault is in a state where the price of a share is zero. In this case, the shares will be minted without requiring any assets to be deposited.

Parameters

Name Type Description
shares uint256
receiver address

Returns

Name Type Description
uint256
permit(owner: address, spender: address, value: uint256, deadline: uint256, signature: bytes) nonpayable
dev: Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].

Parameters

Name Type Description
owner address
spender address
value uint256
deadline uint256
signature bytes
permit(owner: address, spender: address, value: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable
dev: Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].

Parameters

Name Type Description
owner address
spender address
value uint256
deadline uint256
v uint8
r bytes32
s bytes32
redeem(shares: uint256, receiver: address, owner: address) nonpayable
dev: See {IERC4626-redeem}.

Parameters

Name Type Description
shares uint256
receiver address
owner address

Returns

Name Type Description
uint256
transfer(to: address, value: uint256) nonpayable
dev: See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.

Parameters

Name Type Description
to address
value uint256

Returns

Name Type Description
bool
transferFrom(from: address, to: address, value: uint256) nonpayable
dev: See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.

Parameters

Name Type Description
from address
to address
value uint256

Returns

Name Type Description
bool
withdraw(assets: uint256, receiver: address, owner: address) nonpayable
dev: See {IERC4626-withdraw}.

Parameters

Name Type Description
assets uint256
receiver address
owner address

Returns

Name Type Description
uint256

Events

Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
Deposit(sender: address, owner: address, assets: uint256, shares: uint256)
Name Type Indexed Description
sender address
owner address
assets uint256
shares uint256
EIP712DomainChanged()
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256
Withdraw(sender: address, receiver: address, owner: address, assets: uint256, shares: uint256)
Name Type Indexed Description
sender address
receiver address
owner address
assets uint256
shares uint256