LUSD

Ethereum ERC-20 Token Browse chains

0x5f98805a4e8be255a32880fdec7f6728c6568ba0

Solidity v0.6.11+commit.5ef660b1

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: lusd-eth 0x5f98805a4e8be255a32880fdec7f6728c6568ba0
Sample prompt: "Tell me the current state of lusd-eth"
No AI wired up yet? → mcp.smarts.md · Browse chains

Admin & Risk

Who can change the rules?

Detected mintable controls from the verified ABI.

Mintable

Overview

Read Functions
13
Write Functions
10
Events
6

Read Functions

Block #25,493,371 · just now
allowance(owner: address, spender: address) view

Returns the remaining token allowance that owner granted to spender.✨ AI

dev: Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.

Parameters

Name Type Description
owner address Address that owns the tokens.✨ AI
spender address Address allowed to spend the owner's tokens.✨ AI

Returns

Name Type Description
uint256 Remaining number of tokens spender is allowed to transfer from owner.✨ AI
balanceOf(account: address) view

Returns the LUSD token balance of the given address.✨ AI

dev: Returns the amount of tokens owned by `account`.

Parameters

Name Type Description
account address Address whose LUSD token balance is returned.✨ AI

Returns

Name Type Description
uint256 The token balance of the account in the token's smallest unit (uint256).✨ AI
borrowerOperationsAddress() view → 0x24179cd81c9e782a4096035f7ec97fb8b783e007

Returns the current BorrowerOperations contract address used by this token.✨ AI

Returns

Name Type Description
address Address of the BorrowerOperations contract associated with the LUSDToken.✨ AI
decimals() view → 18

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

Returns

Name Type Description
uint8 Number of decimals (uint8) the token uses for display and arithmetic✨ AI
domainSeparator() view → 0xf85dbb1e9a5845cbb7605972678082c839c02db2df0e2e2eb4977e9744bbcd89

Return the contract's EIP-712 domain separator used to verify typed signatures.✨ AI

Returns

Name Type Description
bytes32 The EIP-712 domain separator (bytes32) used to construct and verify typed signatures such as permits.✨ AI
name() view → LUSD Stablecoin

Returns the ERC-20 token's human-readable name.✨ AI

Returns

Name Type Description
string The token's human-readable name string (e.g., "LUSD").✨ AI
nonces(owner: address) view

Returns the current nonce for an owner used to validate off-chain permit signatures.✨ AI

dev: Returns the current ERC2612 nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases `owner`'s nonce by one. This prevents a signature from being used multiple times. `owner` can limit the time a Permit is valid for by setting `deadline` to a value in the near future. The deadline argument can be set to uint(-1) to create Permits that effectively never expire.

Parameters

Name Type Description
owner address Address whose nonce is queried.✨ AI

Returns

Name Type Description
uint256 Current uint256 nonce for the owner, used to ensure each permit/signature is unique.✨ AI
permitTypeHash() view → 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9

Returns the EIP-712 permit type hash used to build the permit signature digest.✨ AI

Returns

Name Type Description
bytes32 The keccak256 type hash (bytes32) for the permit struct as used in EIP-712 signing and verification.✨ AI
stabilityPoolAddress() view → 0x66017d22b0f8556afdd19fc67041899eb65a21bb

Returns the address of the Stability Pool associated with this LUSD token.✨ AI

Returns

Name Type Description
address The Stability Pool contract address linked to this token.✨ AI
symbol() view → LUSD

Returns the token's short symbol used in user interfaces.✨ AI

Returns

Name Type Description
string The token symbol as a string (for example "LUSD").✨ AI
totalSupply() view → 27,739,336.13 LUSD

Returns the total supply of LUSD tokens.✨ AI

dev: Returns the amount of tokens in existence.

Returns

Name Type Description
uint256 The total supply of LUSD tokens as a uint256.✨ AI
troveManagerAddress() view → 0xa39739ef8b0231dbfa0dcda07d7e29faabcf4bb2

Returns the address of the TroveManager contract used by this token.✨ AI

Returns

Name Type Description
address The TroveManager contract address used for trove management, liquidation, and collateral tracking.✨ AI
version() view → 1

Returns the token contract's version string.✨ AI

Returns

Name Type Description
string The contract version or release identifier (human-readable string).✨ AI

Write Functions

approve(spender: address, amount: uint256) nonpayable

Set the caller's allowance for spender to amount, enabling the spender to transfer up to that many tokens.✨ AI

dev: Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: 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 Emits an {Approval} event.

Parameters

Name Type Description
spender address Address authorized to spend tokens from the caller's balance.✨ AI
amount uint256 Maximum number of tokens the spender is permitted to transfer.✨ AI

Returns

Name Type Description
bool True if the allowance was successfully set.✨ AI
burn(_account: address, _amount: uint256) nonpayable

Burns tokens from an account, reducing the token balance and total supply.✨ AI

Parameters

Name Type Description
_account address Address whose tokens will be burned.✨ AI
_amount uint256 Number of tokens to burn, in the token's smallest unit.✨ AI
decreaseAllowance(spender: address, subtractedValue: uint256) nonpayable

Decrease the allowance previously granted to a spender by a specified amount.✨ AI

Parameters

Name Type Description
spender address Address that is allowed to spend tokens on behalf of the caller.✨ AI
subtractedValue uint256 Amount to subtract from the current allowance for the spender.✨ AI

Returns

Name Type Description
bool True if the allowance was decreased successfully.✨ AI
increaseAllowance(spender: address, addedValue: uint256) nonpayable

Increase the caller's token allowance for a specified spender by the given amount.✨ AI

Parameters

Name Type Description
spender address Address that will be allowed to spend the caller's tokens.✨ AI
addedValue uint256 Amount to add to the existing allowance for the spender.✨ AI

Returns

Name Type Description
bool True if the allowance was increased successfully, otherwise false.✨ AI
mint(_account: address, _amount: uint256) nonpayable

Mints new LUSD tokens and assigns them to the specified account.✨ AI

Parameters

Name Type Description
_account address Address that will receive the newly minted tokens.✨ AI
_amount uint256 Amount of tokens to mint, expressed in the token's smallest unit.✨ AI
permit(owner: address, spender: address, amount: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

Permit lets an owner approve a spender using an off-chain signature so no separate on-chain approve call is needed.✨ AI

dev: Sets `amount` 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: - `owner` cannot be the zero address. - `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 Address granting the approval.✨ AI
spender address Address receiving the allowance.✨ AI
amount uint256 Amount of tokens to allow.✨ AI
deadline uint256 Unix timestamp when the signature expires.✨ AI
v uint8 Signature recovery byte.✨ AI
r bytes32 Signature r value.✨ AI
s bytes32 Signature s value.✨ AI
returnFromPool(_poolAddress: address, _receiver: address, _amount: uint256) nonpayable

Transfer LUSD tokens from the specified pool address back to the receiver.✨ AI

Parameters

Name Type Description
_poolAddress address Address of the pool from which tokens are returned.✨ AI
_receiver address Address that will receive the returned LUSD tokens.✨ AI
_amount uint256 Amount of LUSD tokens to return (in the token's smallest units).✨ AI
sendToPool(_sender: address, _poolAddress: address, _amount: uint256) nonpayable

Transfers tokens from the specified sender to the given pool address.✨ AI

Parameters

Name Type Description
_sender address Address that provides the tokens.✨ AI
_poolAddress address Pool contract address that receives the tokens.✨ AI
_amount uint256 Amount of tokens to transfer, expressed in the token's smallest units.✨ AI
transfer(recipient: address, amount: uint256) nonpayable

Transfer tokens from the caller to a recipient address.✨ AI

dev: Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.

Parameters

Name Type Description
recipient address Address to receive the tokens.✨ AI
amount uint256 Number of tokens to transfer (in the token's smallest unit).✨ AI

Returns

Name Type Description
bool True if the transfer succeeds.✨ AI
transferFrom(sender: address, recipient: address, amount: uint256) nonpayable

Transfer tokens from sender to recipient using the caller's allowance.✨ AI

dev: Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.

Parameters

Name Type Description
sender address Address to transfer tokens from.✨ AI
recipient address Address to receive the tokens.✨ AI
amount uint256 Amount of tokens to transfer, in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the transfer succeeded and the caller's allowance was decreased accordingly.✨ AI

Events

Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
BorrowerOperationsAddressChanged(_newBorrowerOperationsAddress: address)
Name Type Indexed Description
_newBorrowerOperationsAddress address
LUSDTokenBalanceUpdated(_user: address, _amount: uint256)
Name Type Indexed Description
_user address
_amount uint256
StabilityPoolAddressChanged(_newStabilityPoolAddress: address)
Name Type Indexed Description
_newStabilityPoolAddress address
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256
TroveManagerAddressChanged(_troveManagerAddress: address)
Name Type Indexed Description
_troveManagerAddress address