REX33

Linea ERC-20 Token Browse chains

0xe4eeb461ad1e4ef8b8ef71a33694ccd84af051c4

Solidity v0.8.28+commit.7893614a

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: 0xe4eeb461ad1e4ef8b8ef71a33694ccd84af051c4
Sample prompt: "Tell me the current state of linea/0xe4eeb461ad1e4ef8b8ef71a33694ccd84af051c4"
No AI wired up yet? → mcp.smarts.md · Browse chains
Linea 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
31
Write Functions
16
Events
14

Read Functions

accessHub() view

address of the central access Hub

Returns

Name Type Description
address
activePeriod() view

the most recent active period the contract has interacted in

Returns

Name Type Description
uint256
allowance(owner: address, spender: address) view

Returns the remaining token amount that spender is allowed to transfer from owner.✨ AI

dev: See {IERC20-allowance}.

Parameters

Name Type Description
owner address Address that granted the allowance.✨ AI
spender address Address allowed to spend the tokens.✨ AI

Returns

Name Type Description
uint256 Remaining allowance in token units (uint256) that spender can transfer from owner.✨ AI
asset() view

Return the address of the ERC-20 asset token used by this contract.✨ AI

dev: See {IERC4626-asset}.

Returns

Name Type Description
address The address of the ERC-20 asset token managed by this contract.✨ AI
balanceOf(account: address) view

Returns the token balance for the specified account.✨ AI

dev: See {IERC20-balanceOf}.

Parameters

Name Type Description
account address Address to query the ERC-20 token balance for.✨ AI

Returns

Name Type Description
uint256 The account's token balance as a uint256.✨ AI
convertToAssets(shares: uint256) view

Return the amount of underlying assets corresponding to a given number of shares.✨ AI

dev: See {IERC4626-convertToAssets}.

Parameters

Name Type Description
shares uint256 Number of vault shares to convert to underlying assets.✨ AI

Returns

Name Type Description
uint256 Amount of underlying assets that map to the given shares, in token units.✨ AI
convertToShares(assets: uint256) view

Return the number of shares corresponding to a specified amount of underlying assets.✨ AI

dev: See {IERC4626-convertToShares}.

Parameters

Name Type Description
assets uint256 Amount of underlying tokens to convert into vault shares.✨ AI

Returns

Name Type Description
uint256 Equivalent number of shares for the given asset amount.✨ AI
decimals() view

Returns the number of decimal places used by the token.✨ AI

dev: Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.

Returns

Name Type Description
uint8 The token's decimal precision as an unsigned 8-bit integer (commonly 18).✨ AI
getPeriod() view

returns the block.timestamp divided by 1 week in seconds

Returns

Name Type Description
period uint256 period the period used for gauges
isCooldownActive() view

determines whether the cooldown is active

Returns

Name Type Description
bool
isUnlocked() view

if the contract is unlocked for deposits

Returns

Name Type Description
bool
maxDeposit(address) view

Calculates the maximum amount of tokens the given account can deposit.✨ AI

dev: See {IERC4626-maxDeposit}.

Parameters

Name Type Description
address

Returns

Name Type Description
uint256 Maximum deposit amount allowed for the account, expressed in the token's smallest unit.✨ AI
maxMint(address) view

Return the maximum number of tokens that the given address is allowed to mint.✨ AI

dev: See {IERC4626-maxMint}.

Parameters

Name Type Description
address

Returns

Name Type Description
uint256 Maximum token amount the specified address may mint (in token base units).✨ AI
maxRedeem(owner: address) view

Return the maximum number of REX33 tokens an account can redeem right now.✨ AI

dev: See {IERC4626-maxRedeem}.

Parameters

Name Type Description
owner address Address to check for redeemable token amount.✨ AI

Returns

Name Type Description
uint256 Maximum number of REX33 tokens the owner may redeem currently, expressed as a uint256 in token base units.✨ AI
maxWithdraw(owner: address) view

Return the maximum amount of underlying tokens that the given owner can withdraw.✨ AI

dev: See {IERC4626-maxWithdraw}.

Parameters

Name Type Description
owner address Address of the token holder to check the current withdrawal limit for.✨ AI

Returns

Name Type Description
uint256 Maximum withdrawable amount of underlying tokens for the owner, expressed in token units.✨ AI
name() view

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

dev: Returns the name of the token.

Returns

Name Type Description
string The token's name as a string.✨ AI
operator() view

address of the operator

Returns

Name Type Description
address
periodUnlockStatus(uint256) view

whether the periods are unlocked

Parameters

Name Type Description
uint256

Returns

Name Type Description
bool
previewDeposit(assets: uint256) view

Estimate the number of vault shares minted if you deposit a given amount of assets.✨ AI

dev: See {IERC4626-previewDeposit}.

Parameters

Name Type Description
assets uint256 Amount of underlying assets to deposit (in the token's smallest units).✨ AI

Returns

Name Type Description
uint256 Estimated number of shares that would be minted for the provided assets, without modifying state.✨ AI
previewMint(shares: uint256) view

Show the amount of underlying tokens required to mint a given number of shares.✨ AI

dev: See {IERC4626-previewMint}.

Parameters

Name Type Description
shares uint256 Number of vault shares to mint.✨ AI

Returns

Name Type Description
uint256 Estimated amount of underlying tokens required to mint the specified shares at the current rate.✨ AI
previewRedeem(shares: uint256) view

Show how many underlying tokens you would receive for burning a given amount of shares.✨ AI

dev: See {IERC4626-previewRedeem}.

Parameters

Name Type Description
shares uint256 Number of vault shares to convert into underlying tokens in the preview.✨ AI

Returns

Name Type Description
uint256 Amount of underlying tokens that would be returned if you redeemed the given shares.✨ AI
previewWithdraw(assets: uint256) view

Estimate the number of shares required to withdraw a given amount of assets.✨ AI

dev: See {IERC4626-previewWithdraw}.

Parameters

Name Type Description
assets uint256 Amount of underlying assets to withdraw.✨ AI

Returns

Name Type Description
uint256 Estimated number of shares that would be burned to withdraw the specified assets.✨ AI
ratio() view

returns the ratio of xRam per X33 token

Returns

Name Type Description
uint256
rex() view

the rex token

Returns

Name Type Description
address
symbol() view

Return the token's symbol.✨ AI

dev: Returns the symbol of the token, usually a shorter version of the name.

Returns

Name Type Description
string The token's symbol string (short ticker, e.g., "REX33").✨ AI
totalAssets() view

Returns the total amount of underlying assets managed by the contract.✨ AI

dev: See {IERC4626-totalAssets}.

Returns

Name Type Description
uint256 Total underlying asset balance currently held or represented by the contract as a uint256.✨ AI
totalSupply() view

Returns the total number of tokens in existence.✨ AI

dev: See {IERC20-totalSupply}.

Returns

Name Type Description
uint256 Total token supply as a uint256 expressed in the token's smallest unit (including decimals).✨ AI
voteModule() view

the address of the vote module

Returns

Name Type Description
address _voteModule the vote module contract address
voter() view

address of the voter contract

Returns

Name Type Description
address _voter the voter contract address
whitelistedAggregators(address) view

Return whether the given address is a whitelisted aggregator.✨ AI

Parameters

Name Type Description
address

Returns

Name Type Description
bool True if the address is a whitelisted aggregator, otherwise false.✨ AI
xRex() view

the address of the xREX token (staking/voting token)

Returns

Name Type Description
address _xRex the address

Write Functions

approve(spender: address, value: uint256) nonpayable

Approve spender to transfer up to value tokens from caller's account.✨ AI

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 Address authorized to spend tokens on caller's behalf.✨ AI
value uint256 Maximum token amount the spender is allowed to transfer.✨ AI

Returns

Name Type Description
bool True if the approval succeeded, false otherwise.✨ AI
claimIncentives(_feeDistributors: address[], _tokens: address[][]) nonpayable

claim arbitrary rewards from specific feeDists

Parameters

Name Type Description
_feeDistributors address[] address of the feeDists
_tokens address[][] two dimensional array for the tokens to claim
claimRebase() nonpayable

claims the rebase accrued to x33

compound() nonpayable

compounds any existing RAM within the contract

deposit(assets: uint256, receiver: address) nonpayable

Deposit the specified amount of assets and mint the corresponding shares to the receiver.✨ AI

dev: See {IERC4626-deposit}.

Parameters

Name Type Description
assets uint256 Amount of underlying tokens to deposit (uint256).✨ AI
receiver address Address that will receive the minted share tokens.✨ AI

Returns

Name Type Description
uint256 Number of share tokens minted to the receiver for the deposited assets (uint256).✨ AI
mint(shares: uint256, receiver: address) nonpayable

Mint new tokens from shares and credit them to the specified receiver.✨ AI

dev: See {IERC4626-mint}.

Parameters

Name Type Description
shares uint256 Number of share units to convert into minted tokens.✨ AI
receiver address Recipient address that will receive the minted tokens.✨ AI

Returns

Name Type Description
uint256 The amount of tokens minted and credited to the receiver.✨ AI
redeem(shares: uint256, receiver: address, owner: address) nonpayable

Redeem a number of vault shares and send the corresponding underlying assets to the receiver.✨ AI

dev: See {IERC4626-redeem}.

Parameters

Name Type Description
shares uint256 Number of vault shares to redeem.✨ AI
receiver address Address that will receive the underlying assets.✨ AI
owner address Address whose shares are being redeemed.✨ AI

Returns

Name Type Description
uint256 Amount of underlying assets transferred to the receiver.✨ AI
rescue(_token: address, _amount: uint256) nonpayable

rescue stuck tokens

Parameters

Name Type Description
_token address
_amount uint256
submitVotes(_pools: address[], _weights: uint256[]) nonpayable

submits the optimized votes for the epoch

Parameters

Name Type Description
_pools address[]
_weights uint256[]
swapIncentiveViaAggregator(_params: tuple) nonpayable

swap function using aggregators to process rewards into RAM

Parameters

Name Type Description
_params tuple
transfer(to: address, value: uint256) nonpayable

Transfers tokens from the caller to the specified address.✨ AI

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 Recipient address that will receive the tokens.✨ AI
value uint256 Amount of tokens to transfer, denominated in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the transfer succeeded and a Transfer event was emitted, otherwise false.✨ AI
transferFrom(from: address, to: address, value: uint256) nonpayable

Transfer tokens from one address to another using the caller's allowance.✨ AI

dev: See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. 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 Address to debit tokens from; must have allowed the caller to spend this amount.✨ AI
to address Address to receive the tokens.✨ AI
value uint256 Number of tokens to transfer, expressed in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the transfer succeeded.✨ AI
transferOperator(_newOperator: address) nonpayable

transfers the operator via accesshub

Parameters

Name Type Description
_newOperator address
unlock() nonpayable

allows the operator to unlock the contract for the current period

whitelistAggregator(_aggregator: address, _status: bool) nonpayable

add or remove an aggregator from the whitelist (timelocked)

Parameters

Name Type Description
_aggregator address address of the aggregator to update
_status bool new whitelist status
withdraw(assets: uint256, receiver: address, owner: address) nonpayable

Withdraws a specified amount of underlying assets from owner and sends them to receiver.✨ AI

dev: See {IERC4626-withdraw}.

Parameters

Name Type Description
assets uint256 Amount of underlying assets to withdraw.✨ AI
receiver address Address to receive the withdrawn assets.✨ AI
owner address Address whose shares will be redeemed to cover the withdrawal.✨ AI

Returns

Name Type Description
uint256 Number of shares redeemed (burned) from the owner to withdraw the requested assets.✨ AI

Events

AggregatorWhitelistUpdated(aggregator: address, status: bool)

Event emitted when an aggregator's whitelist status changes

Name Type Indexed Description
aggregator address
status bool
Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
ClaimedIncentives(feeDistributors: address[], tokens: address[][])
Name Type Indexed Description
feeDistributors address[]
tokens address[][]
Compounded(oldRatio: uint256, newRatio: uint256, amount: uint256)
Name Type Indexed Description
oldRatio uint256
newRatio uint256
amount uint256
Deposit(sender: address, owner: address, assets: uint256, shares: uint256)

Events

Name Type Indexed Description
sender address
owner address
assets uint256
shares uint256
Entered(user: address, amount: uint256, ratioAtDeposit: uint256)
Name Type Indexed Description
user address
amount uint256
ratioAtDeposit uint256
Exited(user: address, _outAmount: uint256, ratioAtWithdrawal: uint256)
Name Type Indexed Description
user address
_outAmount uint256
ratioAtWithdrawal uint256
NewOperator(_oldOperator: address, _newOperator: address)
Name Type Indexed Description
_oldOperator address
_newOperator address
Rebased(oldRatio: uint256, newRatio: uint256, amount: uint256)
Name Type Indexed Description
oldRatio uint256
newRatio uint256
amount uint256
SwappedBribe(operator: address, tokenIn: address, amountIn: uint256, amountOut: uint256)
Name Type Indexed Description
operator address
tokenIn address
amountIn uint256
amountOut uint256
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256
Unlocked(_ts: uint256)
Name Type Indexed Description
_ts uint256
UpdatedIndex(_index: uint256)
Name Type Indexed Description
_index 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