View Source: contracts/proxy/modules/interfaces/IModulesProxyRegistry.sol
↘ Derived Contracts: ModulesProxyRegistry
Events
event AddModule(address indexed moduleAddress);
event ReplaceModule(address indexed oldAddress, address indexed newAddress);
event RemoveModule(address indexed moduleAddress);
event SetModuleFuncImplementation(bytes4 indexed _funcSig, address indexed _oldImplementation, address indexed _newImplementation);
- addModule(address _impl)
- addModules(address[] _implementations)
- replaceModule(address _oldModuleImpl, address _newModuleImpl)
- replaceModules(address[] _implementationsFrom, address[] _implementationsTo)
- removeModule(address _impl)
- removeModules(address[] _implementations)
- getFuncImplementation(bytes4 _sig)
- canAddModule(address _impl)
- canNotAddModules(address[] _implementations)
- checkClashingFuncSelectors(address _newModule)
⤿ Overridden Implementation(s): ModulesProxyRegistry.addModule
Add module functions. Overriding functions is not allowed. To replace modules use ReplaceModule function.
function addModule(address _impl) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
_impl | address | Module implementation address |
Source Code
function addModule(address _impl) external;
⤿ Overridden Implementation(s): ModulesProxyRegistry.addModules
Add modules functions.
function addModules(address[] _implementations) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
_implementations | address[] | Modules implementation addresses |
Source Code
function addModules(address[] calldata _implementations) external;
⤿ Overridden Implementation(s): ModulesProxyRegistry.replaceModule
Replace module - remove the previous, add the new one
function replaceModule(address _oldModuleImpl, address _newModuleImpl) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
_oldModuleImpl | address | Module implementation address to remove |
_newModuleImpl | address | Module implementation address to add |
Source Code
function replaceModule(address _oldModuleImpl, address _newModuleImpl) external;
⤿ Overridden Implementation(s): ModulesProxyRegistry.replaceModules
Add modules functions.
function replaceModules(address[] _implementationsFrom, address[] _implementationsTo) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
_implementationsFrom | address[] | Modules to replace |
_implementationsTo | address[] | Replacing modules |
Source Code
function replaceModules(
address[] calldata _implementationsFrom,
address[] calldata _implementationsTo
) external;
⤿ Overridden Implementation(s): ModulesProxyRegistry.removeModule
to disable module - set all its functions implementation to address(0)
function removeModule(address _impl) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
_impl | address | implementation address |
Source Code
function removeModule(address _impl) external;
⤿ Overridden Implementation(s): ModulesProxyRegistry.removeModules
Add modules functions.
function removeModules(address[] _implementations) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
_implementations | address[] | Modules implementation addresses |
Source Code
function removeModules(address[] calldata _implementations) external;
⤿ Overridden Implementation(s): ModulesProxyRegistry.getFuncImplementation
function getFuncImplementation(bytes4 _sig) external view
returns(address)
Arguments
Name | Type | Description |
---|---|---|
_sig | bytes4 | function signature to get impmementation address for |
Returns
function's contract implelementation address
Source Code
function getFuncImplementation(bytes4 _sig) external view returns (address);
⤿ Overridden Implementation(s): ModulesProxyRegistry.canAddModule
verifies if no functions from the module deployed already registered
function canAddModule(address _impl) external view
returns(bool)
Arguments
Name | Type | Description |
---|---|---|
_impl | address | module implementation address to verify |
Returns
true if module can be added
Source Code
function canAddModule(address _impl) external view returns (bool);
⤿ Overridden Implementation(s): ModulesProxyRegistry.canNotAddModules
Multiple modules verification if no functions from the modules already registered
function canNotAddModules(address[] _implementations) external view
returns(modules address[])
Arguments
Name | Type | Description |
---|---|---|
_implementations | address[] | modules implementation addresses to verify |
Returns
True if all modules can be added, false otherwise
Source Code
function canNotAddModules(address[] calldata _implementations)
external
view
returns (address[] memory modules);
⤿ Overridden Implementation(s): ModulesProxyRegistry.checkClashingFuncSelectors
used externally to verify module being added for clashing
function checkClashingFuncSelectors(address _newModule) external view
returns(clashingModules address[], clashingModulesFuncSelectors bytes4[], clashingProxyRegistryFuncSelectors bytes4[])
Arguments
Name | Type | Description |
---|---|---|
_newModule | address | module implementation which functions to verify |
Returns
clashing functions signatures and corresponding modules (contracts) addresses
Source Code
function checkClashingFuncSelectors(address _newModule)
external
view
returns (
address[] memory clashingModules,
bytes4[] memory clashingModulesFuncSelectors,
bytes4[] memory clashingProxyRegistryFuncSelectors
);
- Address
- Administered
- AdminRole
- AdvancedToken
- AdvancedTokenStorage
- Affiliates
- AffiliatesEvents
- ApprovalReceiver
- BProPriceFeed
- CheckpointsShared
- Constants
- Context
- DevelopmentFund
- DummyContract
- EnumerableAddressSet
- EnumerableBytes32Set
- EnumerableBytes4Set
- ERC20
- ERC20Detailed
- ErrorDecoder
- Escrow
- EscrowReward
- FeedsLike
- FeesEvents
- FeeSharingCollector
- FeeSharingCollectorProxy
- FeeSharingCollectorStorage
- FeesHelper
- FourYearVesting
- FourYearVestingFactory
- FourYearVestingLogic
- FourYearVestingStorage
- GenericTokenSender
- GovernorAlpha
- GovernorVault
- IApproveAndCall
- IChai
- IContractRegistry
- IConverterAMM
- IERC1820Registry
- IERC20_
- IERC20
- IERC777
- IERC777Recipient
- IERC777Sender
- IFeeSharingCollector
- IFourYearVesting
- IFourYearVestingFactory
- IFunctionsList
- ILiquidityMining
- ILiquidityPoolV1Converter
- ILoanPool
- ILoanToken
- ILoanTokenLogicBeacon
- ILoanTokenLogicModules
- ILoanTokenLogicProxy
- ILoanTokenModules
- ILoanTokenWRBTC
- ILockedSOV
- IMoCState
- IModulesProxyRegistry
- Initializable
- InterestUser
- IPot
- IPriceFeeds
- IPriceFeedsExt
- IProtocol
- IRSKOracle
- ISovryn
- ISovrynSwapNetwork
- IStaking
- ISwapsImpl
- ITeamVesting
- ITimelock
- IV1PoolOracle
- IVesting
- IVestingFactory
- IVestingRegistry
- IWrbtc
- IWrbtcERC20
- LenderInterestStruct
- LiquidationHelper
- LiquidityMining
- LiquidityMiningConfigToken
- LiquidityMiningProxy
- LiquidityMiningStorage
- LoanClosingsEvents
- LoanClosingsLiquidation
- LoanClosingsRollover
- LoanClosingsShared
- LoanClosingsWith
- LoanClosingsWithoutInvariantCheck
- LoanInterestStruct
- LoanMaintenance
- LoanMaintenanceEvents
- LoanOpenings
- LoanOpeningsEvents
- LoanParamsStruct
- LoanSettings
- LoanSettingsEvents
- LoanStruct
- LoanToken
- LoanTokenBase
- LoanTokenLogicBeacon
- LoanTokenLogicLM
- LoanTokenLogicProxy
- LoanTokenLogicStandard
- LoanTokenLogicStorage
- LoanTokenLogicWrbtc
- LoanTokenSettingsLowerAdmin
- LockedSOV
- MarginTradeStructHelpers
- Medianizer
- ModuleCommonFunctionalities
- ModulesCommonEvents
- ModulesProxy
- ModulesProxyRegistry
- MultiSigKeyHolders
- MultiSigWallet
- Mutex
- Objects
- OrderStruct
- OrigingVestingCreator
- OriginInvestorsClaim
- Ownable
- Pausable
- PausableOz
- PreviousLoanToken
- PreviousLoanTokenSettingsLowerAdmin
- PriceFeedRSKOracle
- PriceFeeds
- PriceFeedsLocal
- PriceFeedsMoC
- PriceFeedV1PoolOracle
- ProtocolAffiliatesInterface
- ProtocolLike
- ProtocolSettings
- ProtocolSettingsEvents
- ProtocolSettingsLike
- ProtocolSwapExternalInterface
- ProtocolTokenUser
- Proxy
- ProxyOwnable
- ReentrancyGuard
- RewardHelper
- RSKAddrValidator
- SafeERC20
- SafeMath
- SafeMath96
- setGet
- SharedReentrancyGuard
- SignedSafeMath
- SOV
- sovrynProtocol
- StakingAdminModule
- StakingGovernanceModule
- StakingInterface
- StakingProxy
- StakingRewards
- StakingRewardsProxy
- StakingRewardsStorage
- StakingShared
- StakingStakeModule
- StakingStorageModule
- StakingStorageShared
- StakingVestingModule
- StakingWithdrawModule
- State
- SwapsEvents
- SwapsExternal
- SwapsImplLocal
- SwapsImplSovrynSwap
- SwapsUser
- TeamVesting
- Timelock
- TimelockHarness
- TimelockInterface
- TokenSender
- UpgradableProxy
- USDTPriceFeed
- Utils
- VaultController
- Vesting
- VestingCreator
- VestingFactory
- VestingLogic
- VestingRegistry
- VestingRegistry2
- VestingRegistry3
- VestingRegistryLogic
- VestingRegistryProxy
- VestingRegistryStorage
- VestingStorage
- WeightedStakingModule
- WRBTC