# Actor Functions

## User Functions

**depositStake**

Allows a user to deposit either their Regular or Genesis Ethlizards.

**withdrawStake**

Allows a user to withdraw either their Regular or Genesis Ethlizards, provided 90 days have passed.&#x20;

**claimRewards**

Allows a user to claim rewards passed off a pool.&#x20;

**retractLockedLizard**

Allows a user to send their Locked Lizard NFT (LLZ) back to the original depositors address.

## Council Functions

**depositRewards**

Allows the council address to deposit USDC rewards. Once the rewards held are over the minResetValue, a new pool is created and a reset of inflation occurs.

## DAO Functions

**withdrawalToDAO**

Allows the DAO to withdraw USDC from the contract. This function will be only used in emergency scenarios or in case of contract changes/upgrades.

## Owner Functions

**setDepositsActive**

Allows the contract owner to enable deposits

**setAllowedContracts**

Allows the contract owner to modify what contracts the LLZ tokens are allowed to interact with.

**setResetShareValue**

Sets the reset values when pools are created.

**whitelistCouncil**

Allows the contract owner to whitelist the council address.

**setMinResetValue**

Allows the contract owner to change the minimum USDC value required for a reset and a pool to be created.

**setMinLockedTime**

Sets the minimum time a user needs to be locked up before withdrawals are enabled

**setBaseURI**

Updates the metadata of the LLZ tokens.
