AccessHub

Linea

0x683035188e3670fda1def2a7aa5742dea28ed5f3

Proxy implementation: 0x9c8b50ceeea730efd386b12b252a38836d3da8aa

Solidity v0.8.30+commit.73712a01

🤖
Query this contract from your AI
Reference: 0x683035188e3670fda1def2a7aa5742dea28ed5f3
Sample prompt: "Tell me the current state of linea/0x683035188e3670fda1def2a7aa5742dea28ed5f3"
No AI wired up yet? → mcp.smarts.md
Linea is a docs-only chain on Smarts: source code and ABI are indexed, but live on-chain data (state, recent events, admin profile) is not currently available. AI agents can still query get_contract_info and get_contract_source via MCP.

Overview

Read Functions
25
Write Functions
75
Events
4

Read Functions

DEFAULT_ADMIN_ROLE() view

Returns

Name Type Description
bytes32
PROTOCOL_OPERATOR() view

Returns

Name Type Description
bytes32
SWAP_FEE_SETTER() view

Returns

Name Type Description
bytes32
autoVault() view

Returns

Name Type Description
address
clGaugeFactory() view

concentrated (v3) gauge factory

Returns

Name Type Description
address
feeCollector() view

fee collector contract

Returns

Name Type Description
address
feeDistributorFactory() view

the feeDistributor factory address

Returns

Name Type Description
address
feeRecipientFactory() view

fee recipient factory

Returns

Name Type Description
address
gaugeFactory() view

legacy gauge factory address

Returns

Name Type Description
address
getRoleAdmin(role: bytes32) view
dev: Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.

Parameters

Name Type Description
role bytes32

Returns

Name Type Description
bytes32
getRoleMember(role: bytes32, index: uint256) view
dev: Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.

Parameters

Name Type Description
role bytes32
index uint256

Returns

Name Type Description
address
getRoleMemberCount(role: bytes32) view
dev: Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.

Parameters

Name Type Description
role bytes32

Returns

Name Type Description
uint256
getRoleMembers(role: bytes32) view
dev: Return all accounts that have `role` WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.

Parameters

Name Type Description
role bytes32

Returns

Name Type Description
address[]
hasRole(role: bytes32, account: address) view
dev: Returns `true` if `account` has been granted `role`.

Parameters

Name Type Description
role bytes32
account address

Returns

Name Type Description
bool
minter() view

weekly emissions minter

Returns

Name Type Description
address
nfpManager() view

peripheral NFPManager contract

Returns

Name Type Description
address
poolFactory() view

legacy pair factory

Returns

Name Type Description
address
r33() view

R33 contract

Returns

Name Type Description
address
ramsesV3PoolFactory() view

CL V3 factory

Returns

Name Type Description
address
supportsInterface(interfaceId: bytes4) view
dev: See {IERC165-supportsInterface}.

Parameters

Name Type Description
interfaceId bytes4

Returns

Name Type Description
bool
timelock() view

protocol timelock address

Returns

Name Type Description
address
treasury() view

protocol treasury address

Returns

Name Type Description
address
voteModule() view

vote module

Returns

Name Type Description
address
voter() view

voter

Returns

Name Type Description
address
xRam() view

xRam contract

Returns

Name Type Description
address

Write Functions

addAggregatorAutoVault(_aggregator: address) nonpayable

Add aggregator to AutoVault whitelist

Parameters

Name Type Description
_aggregator address
addAuthorizedClaimerVoter(_claimer: address) nonpayable

add an authorized claimer to the voter

Parameters

Name Type Description
_claimer address The address of the authorized claimer
addOutputTokenAutoVault(_token: address) nonpayable

Add output token to AutoVault whitelist

Parameters

Name Type Description
_token address
addRewardsToGauge(_gauge: address, _reward: address) nonpayable

Add a reward token to a specific CL gauge

Parameters

Name Type Description
_gauge address The gauge address to add the reward to
_reward address The reward token address to add
batchAddRewardsToGauges(_gauges: address[], _rewards: address[]) nonpayable

Add reward tokens to multiple CL gauges

Parameters

Name Type Description
_gauges address[] Array of gauge addresses to add rewards to
_rewards address[] Array of reward token addresses to add
batchRemoveRewardsFromGauges(_gauges: address[], _rewards: address[]) nonpayable

Remove reward tokens from multiple CL gauges

Parameters

Name Type Description
_gauges address[] Array of gauge addresses to remove rewards from
_rewards address[] Array of reward token addresses to remove
clawbackIncentives(_tokenToClawback: address, _poolAddress: address) nonpayable

clawback bribes/incentives from a FeeDistributor for the next period

Parameters

Name Type Description
_tokenToClawback address
_poolAddress address
compoundR33() nonpayable

this function helps us manage atomic r33 self-compounding without manual hassle

createCLGauge(tokenA: address, tokenB: address, tickSpacing: int24) nonpayable

creates a new concentrated liquidity gauge for a CL pool

Parameters

Name Type Description
tokenA address
tokenB address
tickSpacing int24

Returns

Name Type Description
address
createFeeDistributorWithRecipient(_feeRecipient: address) nonpayable

Create a new FeeDistributor with specified feeRecipient (emergency governance function)

Parameters

Name Type Description
_feeRecipient address

Returns

Name Type Description
address
createLegacyGauge(_pool: address) nonpayable

creates a new gauge for a legacy pool

Parameters

Name Type Description
_pool address

Returns

Name Type Description
address
enableTickSpacing(tickSpacing: int24, initialFee: uint24) nonpayable

enables a tickSpacing with the given initialFee amount

dev: tickSpacings may never be removed once enabled

Parameters

Name Type Description
tickSpacing int24 The spacing between ticks to be enforced for all pools created
initialFee uint24 The initial fee amount, denominated in hundredths of a bip (i.e. 1e-6)
execute(_target: address, _payload: bytes) nonpayable

timelock gated payload execution in case tokens get stuck or other unexpected behaviors

Parameters

Name Type Description
_target address
_payload bytes
governanceWhitelist(_token: address[], _whitelisted: bool[]) nonpayable

whitelists a token for governance, or removes if boolean is set to false

Parameters

Name Type Description
_token address[]
_whitelisted bool[]
grantRole(role: bytes32, account: address) nonpayable
dev: 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. May emit a {RoleGranted} event.

Parameters

Name Type Description
role bytes32
account address
initialize(params: tuple) nonpayable

initializing function for setting values in the AccessHub

Parameters

Name Type Description
params tuple
initializeVoter(inputs: tuple) nonpayable

function for initializing the voter contract with its dependencies

Parameters

Name Type Description
inputs tuple
killGauge(_pairs: address[]) nonpayable

kills active gauges, removing them from earning further emissions, and claims their fees prior

Parameters

Name Type Description
_pairs address[]
operatorRedeemXRam(_amount: uint256) nonpayable

allows redemption from the operator

Parameters

Name Type Description
_amount uint256
reinit(params: tuple) nonpayable

re-initializing function for updating values in the AccessHub

Parameters

Name Type Description
params tuple
removeAggregatorAutoVault(_aggregator: address) nonpayable

Remove aggregator from AutoVault whitelist

Parameters

Name Type Description
_aggregator address
removeAuthorizedClaimerVoter(_claimer: address) nonpayable

remove an authorized claimer from the voter

Parameters

Name Type Description
_claimer address The address of the authorized claimer to remove
removeFeeDistributorRewards(_pools: address[], _rewards: address[]) nonpayable

function for removing rewards for feeDistributors

Parameters

Name Type Description
_pools address[]
_rewards address[]
removeOutputTokenAutoVault(_token: address, _force: bool) nonpayable

Remove output token from AutoVault whitelist

Parameters

Name Type Description
_token address
_force bool
removeRewardsFromGauge(_gauge: address, _reward: address) nonpayable

Remove a reward token from a specific CL gauge

Parameters

Name Type Description
_gauge address The gauge address to remove the reward from
_reward address The reward token address to remove
renounceRole(role: bytes32, callerConfirmation: address) nonpayable
dev: 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 `callerConfirmation`. May emit a {RoleRevoked} event.

Parameters

Name Type Description
role bytes32
callerConfirmation address
rescueAutoVault(_token: address, _amount: uint256) nonpayable

Rescue tokens from AutoVault

Parameters

Name Type Description
_token address
_amount uint256
rescueR33Token(_token: address) nonpayable

R33 Functions

Parameters

Name Type Description
_token address
rescueTrappedTokens(_tokens: address[], _amounts: uint256[]) nonpayable

rescues any trapped tokens in xRam

Parameters

Name Type Description
_tokens address[]
_amounts uint256[]
retrieveStuckEmissionsToGovernance(_gauge: address, _period: uint256) nonpayable

allows governance to retrieve emissions in the voter contract that will not be distributed due to the gauge being inactive

dev: allows per-period retrieval for granularity

Parameters

Name Type Description
_gauge address
_period uint256
reviveGauge(_pairs: address[]) nonpayable

revives inactive/killed gauges

Parameters

Name Type Description
_pairs address[]
revokeRole(role: bytes32, account: address) nonpayable
dev: Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.

Parameters

Name Type Description
role bytes32
account address
setAutoVault(_autoVault: address) nonpayable

Set the AutoVault contract address

Parameters

Name Type Description
_autoVault address
setClGaugeFactoryImpl(_newImplementation: address) nonpayable

set the cl gauge factory implementation

Parameters

Name Type Description
_newImplementation address
setCooldownExemption(_candidates: address[], _exempt: bool[]) nonpayable

sets addresses as exempt or removes their exemption

Parameters

Name Type Description
_candidates address[]
_exempt bool[]
setEmissionsMultiplierInMinter(_multiplier: uint256) nonpayable

sets the inflation multiplier

Parameters

Name Type Description
_multiplier uint256 the multiplier
setEmissionsRatioInVoter(_pct: uint256) nonpayable

sets the ratio of xRam/Ramses awarded globally to LPs

Parameters

Name Type Description
_pct uint256
setFeeCollectorAccessHub(_feeCollector: address) nonpayable

xRam Functions

Parameters

Name Type Description
_feeCollector address
setFeeCollectorInClGaugeFactory(_feeCollector: address) nonpayable

Parameters

Name Type Description
_feeCollector address
setFeeCollectorInFactoryV3(_newFeeCollector: address) nonpayable

sets the address of the feeCollector in the v3 factory for fee routing

Parameters

Name Type Description
_newFeeCollector address
setFeeRecipientLegacyBatched(_pairs: address[], _feeRecipients: address[]) nonpayable

sets the fee recipient for legacy pairs

Parameters

Name Type Description
_pairs address[]
_feeRecipients address[]
setFeeSplitCL(_pools: address[], _feeProtocol: uint24[]) nonpayable

sets the split of fees between LPs and voters

Parameters

Name Type Description
_pools address[]
_feeProtocol uint24[]
setFeeSplitLegacy(_pools: address[], _feeSplits: uint256[]) nonpayable

sets the split of fees between LPs and voters for legacy pools

Parameters

Name Type Description
_pools address[]
_feeSplits uint256[]
setFeeSplitWhenNoGauge(status: bool) nonpayable

enables or disables if there is a feeSplit when no gauge for legacy pairs

Parameters

Name Type Description
status bool
setFeeToTreasuryInFeeRecipientFactory(_feeToTreasury: uint256) nonpayable

set the fee % to be sent to the treasury

Parameters

Name Type Description
_feeToTreasury uint256 the fee % to be sent to the treasury
setGlobalClFeeProtocol(_feeProtocolGlobal: uint24) nonpayable

sets the feeProtocol (feeSplit) for new CL pools and stored in the factory

Parameters

Name Type Description
_feeProtocolGlobal uint24
setLegacyFeeGlobal(_fee: uint256) nonpayable

set the default swap fee for legacy pools

Parameters

Name Type Description
_fee uint256
setLegacyFeeSplitGlobal(_feeSplit: uint256) nonpayable

set the default feeSplit in the legacy factory

Parameters

Name Type Description
_feeSplit uint256
setNewGovernorInVoter(_newGovernor: address) nonpayable

sets a new governor address in the voter.sol contract

Parameters

Name Type Description
_newGovernor address
setNewTimelock(_timelock: address) nonpayable

timelock gated function to change the timelock

Parameters

Name Type Description
_timelock address
setNewVoteModuleCooldown(_newCooldown: uint256) nonpayable

function to change the cooldown in the voteModule

Parameters

Name Type Description
_newCooldown uint256
setNfpManager(_nfpManager: address) nonpayable

set the nfp manager

Parameters

Name Type Description
_nfpManager address The address of the NfpManager contract
setOperatorAutoVault(_operator: address) nonpayable

Set operator for AutoVault

Parameters

Name Type Description
_operator address
setRewardValidator(_rewardValidator: address) nonpayable

set the reward validator contract

Parameters

Name Type Description
_rewardValidator address The address of the RewardValidator contract
setSkimEnabledLegacy(_pair: address, _status: bool) nonpayable

sets whether a pair can have skim() called or not for rebasing purposes

Parameters

Name Type Description
_pair address
_status bool
setSwapFees(_pools: address[], _swapFees: uint24[]) nonpayable

sets the swap fees for multiple pairs

Parameters

Name Type Description
_pools address[]
_swapFees uint24[]
setTimeThresholdForRewarder(_timeThreshold: uint256) nonpayable

Set the minimum time threshold for rewarder (in seconds)

Parameters

Name Type Description
_timeThreshold uint256 New time threshold in seconds (0 = no threshold)
setTreasuryFeesInFeeCollector(_treasuryFees: uint256) nonpayable

Sets the value of treasury fees to a new amount.

Parameters

Name Type Description
_treasuryFees uint256 The new amount of treasury fees to be set.
setTreasuryInFeeCollector(newTreasury: address) nonpayable

Sets the treasury address to a new value.

Parameters

Name Type Description
newTreasury address The new address to set as the treasury.
setTreasuryInFeeRecipientFactory(_treasury: address) nonpayable

set a new treasury address

Parameters

Name Type Description
_treasury address the new address
setTreasuryInLegacyFactory(_treasury: address) nonpayable

sets the treasury address in the legacy factory

Parameters

Name Type Description
_treasury address
setVoterAddressInFactoryV3(_voter: address) nonpayable

sets the address of the voter in the v3 factory for gauge fee setting

Parameters

Name Type Description
_voter address
setVoterInFeeRecipientFactory(_voter: address) nonpayable

sets the address of the voter in the fee recipient factory for fee recipient creation

Parameters

Name Type Description
_voter address
setVoterInLegacyFactory(_voter: address) nonpayable

sets the voter address in the legacy factory

Parameters

Name Type Description
_voter address
syncClGaugesBatch(startIndex: uint256, endIndex: uint256) nonpayable

Parameters

Name Type Description
startIndex uint256
endIndex uint256
toggleAntiSybil() nonpayable

toggle anti-sybil mechanism

toggleXRamGovernance(enable: bool) nonpayable

enables or disables the governance in xRam

Parameters

Name Type Description
enable bool
transferOperatorInR33(_newOperator: address) nonpayable

transfers the r33 operator address

Parameters

Name Type Description
_newOperator address
transferOperatorInXRam(_operator: address) nonpayable

transfers the xRam operator

Parameters

Name Type Description
_operator address
transferToWhitelistInXRam(_who: address[], _whitelisted: bool[]) nonpayable

enables or disables the transfer whitelist in xRam

Parameters

Name Type Description
_who address[]
_whitelisted bool[]
transferWhitelistInXRam(_who: address[], _whitelisted: bool[]) nonpayable

enables or disables the transfer whitelist in xRam

Parameters

Name Type Description
_who address[]
_whitelisted bool[]
unwrapR33LegacyIncentives(_lpToken: address) nonpayable

Parameters

Name Type Description
_lpToken address
updateFeeDistributorForGauge(_gauge: address, _newFeeDistributor: address) nonpayable

Update FeeDistributor for a gauge (emergency governance function)

Parameters

Name Type Description
_gauge address
_newFeeDistributor address
updateLastDistroOnGauge(_gauge: address) nonpayable

Parameters

Name Type Description
_gauge address the gauge address to update
whitelistAggregatorInR33(_aggregator: address, _status: bool) nonpayable

Parameters

Name Type Description
_aggregator address
_status bool

Events

Initialized(version: uint64)
Name Type Indexed Description
version uint64
RoleAdminChanged(role: bytes32, previousAdminRole: bytes32, newAdminRole: bytes32)
Name Type Indexed Description
role bytes32
previousAdminRole bytes32
newAdminRole bytes32
RoleGranted(role: bytes32, account: address, sender: address)
Name Type Indexed Description
role bytes32
account address
sender address
RoleRevoked(role: bytes32, account: address, sender: address)
Name Type Indexed Description
role bytes32
account address
sender address