Ir ao conteúdo principal

FeeSharingSetter

It receives LooksRare protocol fees and owns the FeeSharingSystem contract. It can plug to AMMs for converting all received currencies to WETH.

Methods

DEFAULT_ADMIN_ROLE

function DEFAULT_ADMIN_ROLE() external view returns (bytes32)

Returns

NameTypeDescription
DEFAULT_ADMIN_ROLEbytes32default admin role identifier

MAX_REWARD_DURATION_IN_BLOCKS

function MAX_REWARD_DURATION_IN_BLOCKS() external view returns (uint256)

Returns

NameTypeDescription
MAX_REWARD_DURATION_IN_BLOCKSuint256maximum reward duration that can be set (in blocks)

MIN_REWARD_DURATION_IN_BLOCKS

function MIN_REWARD_DURATION_IN_BLOCKS() external view returns (uint256)

Returns

NameTypeDescription
MIN_REWARD_DURATION_IN_BLOCKSuint256minimum reward duration that can be set (in blocks)

OPERATOR_ROLE

function OPERATOR_ROLE() external view returns (bytes32)

Returns

NameTypeDescription
OPERATOR_ROLEbytes32operator role identifier

addFeeStakingAddresses

function addFeeStakingAddresses(address[] _stakingAddresses) external nonpayable

Add staking addresses

Parameters

NameTypeDescription
_stakingAddressesaddress[]array of addresses eligible for fee-sharing only

convertCurrencyToRewardToken

function convertCurrencyToRewardToken(address token, bytes additionalData) external nonpayable

Convert currencies to reward token

Function only usable only for whitelisted currencies (where no potential side effect)

Parameters

NameTypeDescription
tokenaddressaddress of the token to sell
additionalDatabytesadditional data (e.g., slippage)

feeSharingSystem

function feeSharingSystem() external view returns (contract FeeSharingSystem)

Returns

NameTypeDescription
feeSharingSystemcontract FeeSharingSystemaddress of the FeeSharingSystem

getRoleAdmin

function getRoleAdmin(bytes32 role) external view returns (bytes32)

Returns the admin role that controls role. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.

Parameters

NameTypeDescription
rolebytes32-

Returns

NameTypeDescription
-bytes32-

grantRole

function grantRole(bytes32 role, address account) external nonpayable

Grants role to account. If account had not been already granted role, emits a {RoleGranted} event. Requirements: - the caller must have role's admin role.

Parameters

NameTypeDescription
rolebytes32identifier of the role (e.g., OPERATOR_ROLE)
accountaddressaddress of the account

hasRole

function hasRole(bytes32 role, address account) external view returns (bool)

Returns true if account has been granted role.

Parameters

NameTypeDescription
rolebytes32identifier of the role (e.g., OPERATOR_ROLE)
accountaddressaddress of the account

Returns

NameTypeDescription
-boolwhether the account has been granted the role

lastRewardDistributionBlock

function lastRewardDistributionBlock() external view returns (uint256)

Returns

NameTypeDescription
-uint256block for the last reward distribution

looksRareToken

function looksRareToken() external view returns (contract IERC20)

Returns

NameTypeDescription
looksRareTokencontract IERC20address of the LooksRareToken

nextRewardDurationInBlocks

function nextRewardDurationInBlocks() external view returns (uint256)

Returns

NameTypeDescription
nextRewardDurationInBlocksuint256next reward duration in blocks (that will apply for the next update of the rewards)

removeFeeStakingAddresses

function removeFeeStakingAddresses(address[] _stakingAddresses) external nonpayable

Remove staking addresses

Parameters

NameTypeDescription
_stakingAddressesaddress[]array of addresses eligible for fee-sharing only

renounceRole

function renounceRole(bytes32 role, address account) external nonpayable

Revokes role from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked role, emits a {RoleRevoked} event. Requirements: - the caller must be account.

Parameters

NameTypeDescription
rolebytes32identifier of the role (e.g., OPERATOR_ROLE)
accountaddressaddress of the account

revokeRole

function revokeRole(bytes32 role, address account) external nonpayable

Revokes role from account. If account had been granted role, emits a {RoleRevoked} event. Requirements: - the caller must have role's admin role.

Parameters

NameTypeDescription
rolebytes32identifier of the role (e.g., OPERATOR_ROLE)
accountaddressaddress of the account

rewardConvertor

function rewardConvertor() external view returns (contract IRewardConvertor)

Returns

NameTypeDescription
rewardConvertercontract IRewardConvertoraddress of the reward convertor (it returns address(0) if not set)

rewardDurationInBlocks

function rewardDurationInBlocks() external view returns (uint256)

Returns

NameTypeDescription
rewardDurationInBlocksuint256current reward duration in blocks

rewardToken

function rewardToken() external view returns (contract IERC20)

Returns

NameTypeDescription
rewardTokencontract IERC20address of the rewardToken (i.e., WETH)

setNewRewardDurationInBlocks

function setNewRewardDurationInBlocks(uint256 _newRewardDurationInBlocks) external nonpayable

Set new reward duration in blocks for next update

Parameters

NameTypeDescription
_newRewardDurationInBlocksuint256number of blocks for new reward period

setRewardConvertor

function setRewardConvertor(address _rewardConvertor) external nonpayable

Set reward convertor contract

Parameters

NameTypeDescription
_rewardConvertoraddressaddress of the reward convertor (set to null to deactivate)

supportsInterface

function supportsInterface(bytes4 interfaceId) external view returns (bool)

See {IERC165-supportsInterface}.

Parameters

NameTypeDescription
interfaceIdbytes4-

Returns

NameTypeDescription
-boolwhether it supports the interfaceId

tokenDistributor

function tokenDistributor() external view returns (contract TokenDistributor)

Returns

NameTypeDescription
tokenDistributorcontract TokenDistributoraddress of the TokenDistributor

transferOwnershipOfFeeSharingSystem

function transferOwnershipOfFeeSharingSystem(address _newOwner) external nonpayable

Transfer ownership of fee sharing system

Parameters

NameTypeDescription
_newOwneraddressaddress of the new owner

updateRewards

function updateRewards() external nonpayable

Update the reward per block (in rewardToken)

It automatically retrieves the number of pending WETH and adjusts based on the balance of LOOKS in fee-staking addresses that exist in the set.

Events

ConversionToRewardToken

event ConversionToRewardToken(address indexed token, uint256 amountConverted, uint256 amountReceived)

Parameters

NameTypeDescription
token indexedaddress-
amountConverteduint256-
amountReceiveduint256-

FeeStakingAddressesAdded

event FeeStakingAddressesAdded(address[] feeStakingAddresses)

Parameters

NameTypeDescription
feeStakingAddressesaddress[]-

FeeStakingAddressesRemoved

event FeeStakingAddressesRemoved(address[] feeStakingAddresses)

Parameters

NameTypeDescription
feeStakingAddressesaddress[]-

NewFeeSharingSystemOwner

event NewFeeSharingSystemOwner(address newOwner)

Parameters

NameTypeDescription
newOwneraddressaddress of the new owner

NewRewardConvertor

event NewRewardConvertor(address rewardConvertor)

Parameters

NameTypeDescription
rewardConvertoraddress-

NewRewardDurationInBlocks

event NewRewardDurationInBlocks(uint256 rewardDurationInBlocks)

Parameters

NameTypeDescription
rewardDurationInBlocksuint256-

RoleAdminChanged

event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

Parameters

NameTypeDescription
role indexedbytes32-
previousAdminRole indexedbytes32-
newAdminRole indexedbytes32-

RoleGranted

event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

Parameters

NameTypeDescription
role indexedbytes32-
account indexedaddress-
sender indexedaddress-

RoleRevoked

event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

Parameters

NameTypeDescription
role indexedbytes32-
account indexedaddress-
sender indexedaddress-