YieldCoin

Arc ERC-20 Token Browse chains

0x7eb324c2b505fc778fa3480a587ebda70aa5f948

Solidity v0.8.26+commit.8a97fa7a

Fungible token following the ERC-20 standard.

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

Admin & Risk

Who can change the rules?

Block #25,194,759

Detected upgradeable, mintable, and ownable controls from the verified ABI.

Upgradeable Mintable Ownable

Current controls

Owner
0x0000000000000000000000000000000000000000 (none)
  • Upgradeability inferred from ABI/events; proxy storage resolution may be incomplete.

Overview

Read Functions
13
Write Functions
18
Events
19

Read Functions

Block #25,194,759 · just now
DOMAIN_SEPARATOR() view → 0x0000000000000000000000000000000000000000000000000000000000000000

///////////////////////////////////////////////////////////

Returns

Name Type Description
— bytes32
allowance(address, address) view

Returns the remaining number of tokens that owner allowed spender to transfer on their behalf.✨ 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
— address
— address

Returns

Name Type Description
— uint256 Remaining number of tokens spender is allowed to transfer from owner.✨ AI
authority() view → 0xb69ecb156dc0028198028c501340d5367845ca72

Returns the address designated as the contract authority.✨ AI

Returns

Name Type Description
— address The address designated as the contract authority (holds administrative privileges).✨ AI
balanceOf(address) view

Return the token balance for a given address.✨ AI

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

Parameters

Name Type Description
— address

Returns

Name Type Description
— uint256 The token balance of the given address in the token's smallest units (uint256).✨ AI
decimals() view → 0

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

dev: Returns the decimals places of the token.

Returns

Name Type Description
— uint8 The number of decimal places (uint8) the token uses for display and arithmetic.✨ AI
minterAllowance(address) view

Return the remaining mint allowance for a minter address.✨ AI

Parameters

Name Type Description
— address

Returns

Name Type Description
— uint256 Remaining number of tokens the specified minter is allowed to mint.✨ 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 name string (e.g., "YieldCoin").✨ AI
nonces(address) view

Returns the current permit nonce for the given address.✨ AI

dev: Returns the current 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.

Parameters

Name Type Description
— address

Returns

Name Type Description
— uint256 Current uint256 nonce that must be included in off-chain permit signatures to prevent replay.✨ AI
owner() view → 0x0000000000000000000000000000000000000000

Get the contract owner's address.✨ AI

Returns

Name Type Description
— address The address of the contract owner with permission to perform privileged actions.✨ AI
pendingOwner() view → 0x0000000000000000000000000000000000000000

Returns the address nominated to become the contract owner.✨ AI

Returns

Name Type Description
— address The address currently nominated to become owner, or the zero address if no pending owner is set.✨ AI
proxiableUUID() view → 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc

Return the proxiable UUID that identifies the implementation storage slot.✨ AI

dev: Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.

Returns

Name Type Description
— bytes32 A bytes32 UUID that identifies the proxiable implementation storage slot (EIP-1822).✨ AI
symbol() view →

Returns the token's short ticker symbol used by wallets and exchanges.✨ AI

dev: Returns the symbol of the token.

Returns

Name Type Description
— string The token's short ticker symbol (e.g., "YLD") as a string.✨ AI
totalSupply() view → 0

Return the total supply of YieldCoin tokens.✨ AI

dev: Returns the amount of tokens in existence.

Returns

Name Type Description
— uint256 Total number of YieldCoin tokens in existence, expressed in the token's smallest unit.✨ AI

Write Functions

acceptOwnership() nonpayable

Finalize the ownership transfer and make the caller the new contract owner.✨ AI

dev: The new owner accepts the ownership transfer.
approve(spender: address, amount: uint256) nonpayable

///////////////////////////////////////////////////////////

Parameters

Name Type Description
spender address
amount uint256

Returns

Name Type Description
— bool
burn(_amount: uint256) nonpayable

burns for sender

Parameters

Name Type Description
_amount uint256 The amount to burn
burn(_from: address, _amount: uint256) nonpayable

burns for sender

Parameters

Name Type Description
_from address
_amount uint256 The amount to burn
burnFor(_from: address, _amount: uint256) nonpayable

burns tokens for a user

dev: only callable by minter

Parameters

Name Type Description
_from address The address to burn tokens for
_amount uint256 The amount of tokens to burn
decrementMinterAllowance(_minter: address, _amount: uint256) nonpayable

Decrements the amount of tokens a minter is allowed to mint

Parameters

Name Type Description
_minter address is the address of the new minter
_amount uint256 is the amount of tokens to decrease the allowance by
incrementMinterAllowance(_minter: address, _amount: uint256) nonpayable

Increments the amount of token a minter is allowed to mint

Parameters

Name Type Description
_minter address is the address of the new minter
_amount uint256 is the amount of tokens to increase the allowance by
initialize(_name: string, _symbol: string, _dec: uint8, _owner: address, _minter: address) nonpayable

///////////////////////////////////////////////////////////

Parameters

Name Type Description
_name string
_symbol string
_dec uint8
_owner address
_minter address
mint(_to: address, _amount: uint256) nonpayable

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

Parameters

Name Type Description
_to address Recipient address that will receive the newly minted tokens.✨ AI
_amount uint256 Amount of tokens to create, specified in the token's smallest unit.✨ AI

Returns

Name Type Description
— bool True if minting succeeded and the tokens were created and assigned; otherwise false.✨ AI
permit(owner: address, spender: address, value: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

///////////////////////////////////////////////////////////

Parameters

Name Type Description
owner address
spender address
value uint256
deadline uint256
v uint8
r bytes32
s bytes32
renounceOwnership() nonpayable

Renounce ownership of the contract, removing the owner and disabling owner-only functions.✨ AI

dev: Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.
setMinterAllowance(_minter: address, _amount: uint256) nonpayable

Sets the minter role and the amount of tokens the minter is allowed to mint

Parameters

Name Type Description
_minter address is the address of the new minter
_amount uint256 is the amount of tokens the minter is allowed to mint
sweep(_token: address, _amount: uint256, _recipient: address) nonpayable

Sends token to be converted to fiat

Parameters

Name Type Description
_token address address of token
_amount uint256 is the amount
_recipient address the destination
transfer(_to: address, _amount: uint256) nonpayable

///////////////////////////////////////////////////////////

Parameters

Name Type Description
_to address
_amount uint256

Returns

Name Type Description
— bool
transferFrom(_from: address, _to: address, _amount: uint256) nonpayable

Transfer tokens from _from to _to using the caller's allowance and update balances and allowance.✨ AI

dev: Moves `amount` tokens from `from` to `to` 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
_from address Address to debit tokens from.✨ AI
_to address Address to credit tokens to.✨ AI
_amount uint256 Number of tokens to transfer.✨ AI

Returns

Name Type Description
— bool True if the transfer succeeded; otherwise false.✨ AI
transferOwnership(newOwner: address) nonpayable

Transfers ownership of the contract to a new owner address.✨ AI

dev: Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.

Parameters

Name Type Description
newOwner address Address that will become the contract owner (must not be the zero address).✨ AI
upgradeTo(newImplementation: address) nonpayable

Upgrade the contract implementation to the provided new implementation address.✨ AI

dev: Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.

Parameters

Name Type Description
newImplementation address Address of the new implementation contract to which to upgrade.✨ AI
upgradeToAndCall(newImplementation: address, data: bytes) payable

Upgrade the token implementation and immediately call the new implementation with the provided data.✨ AI

dev: Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.

Parameters

Name Type Description
newImplementation address Address of the new implementation contract to set.✨ AI
data bytes Calldata to execute on the new implementation immediately after upgrade; may be empty.✨ AI

Events

AdminChanged(previousAdmin: address, newAdmin: address)
Name Type Indexed Description
previousAdmin address
newAdmin address
Approval(owner: address, spender: address, amount: uint256)
Name Type Indexed Description
owner address ✓
spender address ✓
amount uint256
BeaconUpgraded(beacon: address)
Name Type Indexed Description
beacon address ✓
Deposit(from: address, amount: uint256)

///////////////////////////////////////////////////////////

Name Type Indexed Description
from address ✓
amount uint256
FeeProcessed(recipient: address, fee: uint256)
Name Type Indexed Description
recipient address ✓
fee uint256
FeeRecipientSet(recipient: address, newRecipient: address)

***DEPRECATED***

Name Type Indexed Description
recipient address
newRecipient address
Initialized(version: uint8)
Name Type Indexed Description
version uint8
ManagementFeeSet(managementFee: uint256, newManagementFee: uint256)
Name Type Indexed Description
managementFee uint256
newManagementFee uint256
MinterConfigured(minter: address, amount: uint256)
Name Type Indexed Description
minter address
amount uint256
OracleSet(oracle: address, newOracle: address)
Name Type Indexed Description
oracle address
newOracle address
OwnershipTransferStarted(previousOwner: address, newOwner: address)

///////////////////////////////////////////////////////////

Name Type Indexed Description
previousOwner address ✓
newOwner address ✓
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address ✓
newOwner address ✓
Sweep(recipient: address, token: address, amount: uint256)
Name Type Indexed Description
recipient address ✓
token address
amount uint256
TellerSet(teller: address, newTeller: address)

///////////////////////////////////////////////////////////

Name Type Indexed Description
teller address
newTeller address
TradeToFiat(recipient: address, token: address, amount: uint256)
Name Type Indexed Description
recipient address ✓
token address
amount uint256
Transfer(from: address, to: address, amount: uint256)

///////////////////////////////////////////////////////////

Name Type Indexed Description
from address ✓
to address ✓
amount uint256
UnderlyingSet(token: address)
Name Type Indexed Description
token address
Upgraded(implementation: address)
Name Type Indexed Description
implementation address ✓
Withdrawal(to: address, amount: uint256)
Name Type Indexed Description
to address ✓
amount uint256