Skip to main content

FeeSharingSystem

It handles the distribution of fees using WETH along with the auto-compounding of LOOKS.

Methods

PRECISION_FACTOR

function PRECISION_FACTOR() external view returns (uint256)

Returns

NameTypeDescription
PRECISION_FACTORuint256-

calculatePendingRewards

function calculatePendingRewards(address user) external view returns (uint256)

Calculate pending rewards (WETH) for a user

Parameters

NameTypeDescription
useraddressaddress of the user

Returns

NameTypeDescription
-uint256pending rewards for the user

calculateSharePriceInLOOKS

function calculateSharePriceInLOOKS() external view returns (uint256)

Calculate price of one share (in LOOKS token) Share price is expressed times 1e18

Returns

NameTypeDescription
-uint256price of one share (in LOOKS token)

calculateSharesValueInLOOKS

function calculateSharesValueInLOOKS(address user) external view returns (uint256)

Calculate value of LOOKS for a user given a number of shares owned

Parameters

NameTypeDescription
useraddressaddress of the user

Returns

NameTypeDescription
-uint256estimated number of LOOKS for a user given the number of owned shares

currentRewardPerBlock

function currentRewardPerBlock() external view returns (uint256)

Returns

NameTypeDescription
-uint256current reward per block (in WETH)

deposit

function deposit(uint256 amount, bool claimRewardToken) external nonpayable

Deposit staked tokens (and collect reward tokens if requested)

Parameters

NameTypeDescription
amountuint256amount to deposit (in LOOKS)
claimRewardTokenboolwhether to claim reward tokens

harvest

function harvest() external nonpayable

Harvest reward tokens that are pending

lastRewardAdjustment

function lastRewardAdjustment() external view returns (uint256)

Returns

NameTypeDescription
lastRewardAdjustmentuint256last reward adjustment

lastRewardBlock

function lastRewardBlock() external view returns (uint256)

Return last block where trading rewards were distributed

Returns

NameTypeDescription
lastRewardBlockuint256last block where trading rewards were distributed

lastUpdateBlock

function lastUpdateBlock() external view returns (uint256)

Returns

NameTypeDescription
lastUpdateBlockuint256last update block

looksRareToken

function looksRareToken() external view returns (contract IERC20)

Returns

NameTypeDescription
looksRareTokencontract IERC20address of the LooksRare token

owner

function owner() external view returns (address)

Returns the address of the current owner.

Returns

NameTypeDescription
owneraddressaddress of the current owner

periodFinish

function periodFinish() external view returns (uint256)

Returns

NameTypeDescription
periodFinishuint256endBlock for the current reward period

renounceOwnership

function renounceOwnership() external nonpayable

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.

rewardPerTokenStored

function rewardPerTokenStored() external view returns (uint256)

Returns

NameTypeDescription
rewardPerTokenStoreduint256current reward that has been stored per share

rewardToken

function rewardToken() external view returns (contract IERC20)

Returns

NameTypeDescription
rewardTokencontract IERC20reward token address (WETH)

tokenDistributor

function tokenDistributor() external view returns (contract TokenDistributor)

Returns

NameTypeDescription
tokenDistributorcontract TokenDistributoraddress of the TokenDistributor

totalShares

function totalShares() external view returns (uint256)

Returns

NameTypeDescription
totalSharesuint256number of outstanding shares

transferOwnership

function transferOwnership(address newOwner) external nonpayable

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

Parameters

NameTypeDescription
newOwneraddressaddress of the new owner

updateRewards

function updateRewards(uint256 reward, uint256 rewardDurationInBlocks) external nonpayable

Update the reward per block (in rewardToken)

Only callable by owner. Owner is meant to be another smart contract.

Parameters

NameTypeDescription
rewarduint256total reward distributed in the period
rewardDurationInBlocksuint256number of blocks in the period (e.g., 6500)

userInfo

function userInfo(address) external view returns (uint256 shares, uint256 userRewardPerTokenPaid, uint256 rewards)

Parameters

NameTypeDescription
-addressaddress of the user

Returns

NameTypeDescription
sharesuint256number of shares
userRewardPerTokenPaiduint256user reward per token paid
rewardsuint256pending rewards

withdraw

function withdraw(uint256 shares, bool claimRewardToken) external nonpayable

Withdraw staked tokens (and collect reward tokens if requested)

Parameters

NameTypeDescription
sharesuint256shares to withdraw
claimRewardTokenboolwhether to claim reward tokens

withdrawAll

function withdrawAll(bool claimRewardToken) external nonpayable

Withdraw all staked tokens (and collect reward tokens if requested)

Parameters

NameTypeDescription
claimRewardTokenboolwhether to claim reward tokens

Events

Deposit

event Deposit(address indexed user, uint256 amount, uint256 harvestedAmount)

Parameters

NameTypeDescription
user indexedaddressaddress of the user
amountuint256amount deposited
harvestedAmountuint256harvested amount (in WETH)

Harvest

event Harvest(address indexed user, uint256 harvestedAmount)

Parameters

NameTypeDescription
user indexedaddressaddress of the user
harvestedAmountuint256harvested amount (in WETH)

NewRewardPeriod

event NewRewardPeriod(uint256 numberBlocks, uint256 rewardPerBlock, uint256 reward)

Parameters

NameTypeDescription
numberBlocksuint256number of blocks for the new reward period
rewardPerBlockuint256reward per block (in WETH)
rewarduint256total reward distributed over the period (in WETH)

OwnershipTransferred

event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

Parameters

NameTypeDescription
previousOwner indexedaddressaddress of the previous owner
newOwner indexedaddressaddress of the new owner

Withdraw

event Withdraw(address indexed user, uint256 amount, uint256 harvestedAmount)

Parameters

NameTypeDescription
user indexedaddressaddress of the user
amountuint256amount withdrawn
harvestedAmountuint256harvested amount (in WETH)