UNI

Ethereum ERC-20 Token

0x1f9840a85d5af5bf1d1762f925bdaddc4201f984

Solidity v0.5.16+commit.9c3226ce

Fungible token following the ERC-20 standard.

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

Admin & Risk

Who can change the rules?

Detected mintable controls from the verified ABI.

Mintable

Recent governance

4411 privileged events loaded. Latest: DelegateVotesChanged at block #25,169,426.

Overview

Read Functions
19
Write Functions
8
Events
5

Read Functions

Block #25,169,801 · just now
DELEGATION_TYPEHASH() view → 0xe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf

Returns the EIP-712 delegation struct typehash used to validate off-chain delegation signatures.✨ AI

Returns

Name Type Description
bytes32 The bytes32 EIP-712 typehash for the delegation struct, used when hashing and verifying signed delegation messages.✨ AI
DOMAIN_TYPEHASH() view → 0x8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866

Returns the EIP-712 DOMAIN_TYPEHASH used for signature domain separation.✨ AI

Returns

Name Type Description
bytes32 The bytes32 typehash for the EIP-712 domain used in permit and signature verification.✨ AI
PERMIT_TYPEHASH() view → 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9

Returns the EIP-712 PERMIT_TYPEHASH used to validate off-chain permit signatures.✨ AI

Returns

Name Type Description
bytes32 bytes32 hash representing the EIP-712 type hash for the permit struct used in signature verification✨ AI
allowance(account: address, spender: address) view

Get the number of tokens `spender` is approved to spend on behalf of `account`

Parameters

Name Type Description
account address The address of the account holding the funds
spender address The address of the account spending the funds

Returns

Name Type Description
uint256 The number of tokens approved
balanceOf(account: address) view

Get the number of tokens held by the `account`

Parameters

Name Type Description
account address The address of the account to get the balance of

Returns

Name Type Description
uint256 The number of tokens held
checkpoints(address, uint32) view

Return the checkpoint for an account at the given index, showing when it was recorded and the vote balance.✨ AI

Parameters

Name Type Description
address
uint32

Returns

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

Return the number of decimal places the token uses.✨ AI

Returns

Name Type Description
uint8 The token's decimals as an unsigned 8-bit integer.✨ AI
delegates(address) view

Retrieve the address that a given account has delegated its voting power to.✨ AI

Parameters

Name Type Description
address

Returns

Name Type Description
address The address currently set as the delegate for the input account.✨ AI
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
uint96 The number of current votes for `account`
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
uint96 The number of votes the account had as of the given block
minimumTimeBetweenMints() view → 31,536,000

Returns the minimum required time interval between successive mint operations.✨ AI

Returns

Name Type Description
uint32 Minimum time interval in seconds required between consecutive mints.✨ AI
mintCap() view → 2

Return the current mint cap as an 8-bit unsigned integer.✨ AI

Returns

Name Type Description
uint8 The current mint cap as an 8-bit unsigned integer (uint8).✨ AI
minter() view → 0x1a9c8182c09f50c8318d769245bea52c32be35bc

Returns the address that is authorized to mint new Uni tokens.✨ AI

Returns

Name Type Description
address The address currently set as the token minter, or the zero address if no minter is set.✨ AI
mintingAllowedAfter() view → 1,704,067,200

Returns the timestamp after which the contract allows minting of new tokens.✨ AI

Returns

Name Type Description
uint256 uint256 UNIX timestamp (seconds) indicating when minting is allowed✨ AI
name() view → Uniswap

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

Returns

Name Type Description
string The token's name string (human-readable).✨ AI
nonces(address) view

Return the current permit nonce for the given owner address.✨ AI

dev: Nonce increments after each successful permit call and prevents replay of off-chain signatures.✨ AI

Parameters

Name Type Description
address

Returns

Name Type Description
uint256 Current nonce (uint256) for the owner, used to validate and prevent replay of permit signatures.✨ AI
numCheckpoints(address) view

Returns the number of voting checkpoints for the given account.✨ AI

Parameters

Name Type Description
address

Returns

Name Type Description
uint32 uint32 count of voting checkpoints recorded for the account.✨ AI
symbol() view → UNI

Return the token symbol.✨ AI

Returns

Name Type Description
string The token symbol as a string (e.g., "UNI").✨ AI
totalSupply() view → 1,000,000,000 UNI

Returns the total number of tokens in existence.✨ AI

Returns

Name Type Description
uint256 The total token supply expressed in the token's smallest unit (according to decimals).✨ AI

Write Functions

approve(spender: address, rawAmount: uint256) nonpayable

Approve `spender` to transfer up to `amount` from `src`

dev: This will overwrite the approval amount for `spender` and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)

Parameters

Name Type Description
spender address The address of the account which may transfer tokens
rawAmount uint256 The number of tokens that are approved (2^256-1 means infinite)

Returns

Name Type Description
bool Whether or not the approval succeeded
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
mint(dst: address, rawAmount: uint256) nonpayable

Mint new tokens

Parameters

Name Type Description
dst address The address of the destination account
rawAmount uint256 The number of tokens to be minted
permit(owner: address, spender: address, rawAmount: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

Triggers an approval from owner to spends

Parameters

Name Type Description
owner address The address to approve from
spender address The address to be approved
rawAmount uint256 The number of tokens that are approved (2^256-1 means infinite)
deadline 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
setMinter(minter_: address) nonpayable

Change the minter address

Parameters

Name Type Description
minter_ address The address of the new minter
transfer(dst: address, rawAmount: uint256) nonpayable

Transfer `amount` tokens from `msg.sender` to `dst`

Parameters

Name Type Description
dst address The address of the destination account
rawAmount uint256 The number of tokens to transfer

Returns

Name Type Description
bool Whether or not the transfer succeeded
transferFrom(src: address, dst: address, rawAmount: uint256) nonpayable

Transfer `amount` tokens from `src` to `dst`

Parameters

Name Type Description
src address The address of the source account
dst address The address of the destination account
rawAmount uint256 The number of tokens to transfer

Returns

Name Type Description
bool Whether or not the transfer succeeded

Events

Approval(owner: address, spender: address, amount: uint256)

The standard EIP-20 approval event

Name Type Indexed Description
owner address
spender address
amount 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
MinterChanged(minter: address, newMinter: address)

An event thats emitted when the minter address is changed

Name Type Indexed Description
minter address
newMinter address
Transfer(from: address, to: address, amount: uint256)

The standard EIP-20 transfer event

Name Type Indexed Description
from address
to address
amount uint256