View Source: contracts/interfaces/IProtocol.sol
↗ Extends: IMember, IAccessControl ↘ Derived Contracts: Protocol
IProtocol
struct AccountWithRoles {
address account,
bytes32[] roles
}
struct InitializeArgs {
address burner,
address uniswapV2RouterLike,
address uniswapV2FactoryLike,
address npm,
address treasury,
address priceOracle,
uint256 coverCreationFee,
uint256 minCoverCreationStake,
uint256 firstReportingStake,
uint256 claimPeriod,
uint256 reportingBurnRate,
uint256 governanceReporterCommission,
uint256 claimPlatformFee,
uint256 claimReporterCommission,
uint256 flashLoanFee,
uint256 flashLoanFeeProtocol,
uint256 resolutionCoolDownPeriod,
uint256 stateUpdateInterval,
uint256 maxLendingRatio
}
Events
event Initialized(struct IProtocol.InitializeArgs args);
event ContractAdded(bytes32 indexed namespace, bytes32 indexed key, address indexed contractAddress);
event ContractUpgraded(bytes32 indexed namespace, bytes32 indexed key, address previous, address indexed current);
event MemberAdded(address member);
event MemberRemoved(address member);
- addContract(bytes32 namespace, address contractAddress)
- addContracts(bytes32[] namespaces, bytes32[] keys, address[] contractAddresses)
- addContractWithKey(bytes32 namespace, bytes32 coverKey, address contractAddress)
- initialize(struct IProtocol.InitializeArgs args)
- upgradeContract(bytes32 namespace, address previous, address current)
- upgradeContractWithKey(bytes32 namespace, bytes32 coverKey, address previous, address current)
- addMember(address member)
- removeMember(address member)
- grantRoles(struct IProtocol.AccountWithRoles[] detail)
function addContract(bytes32 namespace, address contractAddress) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
namespace | bytes32 | |
contractAddress | address |
Source Code
function addContract(bytes32 namespace, address contractAddress) external;
function addContracts(bytes32[] namespaces, bytes32[] keys, address[] contractAddresses) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
namespaces | bytes32[] | |
keys | bytes32[] | |
contractAddresses | address[] |
Source Code
function addContracts(
bytes32[] calldata namespaces,
bytes32[] calldata keys,
address[] calldata contractAddresses
) external;
function addContractWithKey(bytes32 namespace, bytes32 coverKey, address contractAddress) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
namespace | bytes32 | |
coverKey | bytes32 | |
contractAddress | address |
Source Code
function addContractWithKey(
bytes32 namespace,
bytes32 coverKey,
address contractAddress
) external;
function initialize(struct IProtocol.InitializeArgs args) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
args | struct IProtocol.InitializeArgs |
Source Code
function initialize(InitializeArgs calldata args) external;
function upgradeContract(bytes32 namespace, address previous, address current) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
namespace | bytes32 | |
previous | address | |
current | address |
Source Code
function upgradeContract(
bytes32 namespace,
address previous,
address current
) external;
function upgradeContractWithKey(bytes32 namespace, bytes32 coverKey, address previous, address current) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
namespace | bytes32 | |
coverKey | bytes32 | |
previous | address | |
current | address |
Source Code
function upgradeContractWithKey(
bytes32 namespace,
bytes32 coverKey,
address previous,
address current
) external;
function addMember(address member) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
member | address |
Source Code
function addMember(address member) external;
function removeMember(address member) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
member | address |
Source Code
function removeMember(address member) external;
function grantRoles(struct IProtocol.AccountWithRoles[] detail) external nonpayable
Arguments
Name | Type | Description |
---|---|---|
detail | struct IProtocol.AccountWithRoles[] |
Source Code
function grantRoles(AccountWithRoles[] calldata detail) external;
- AaveStrategy
- AccessControl
- AccessControlLibV1
- Address
- BaseLibV1
- BokkyPooBahsDateTimeLibrary
- BondPool
- BondPoolBase
- BondPoolLibV1
- CompoundStrategy
- Context
- Cover
- CoverBase
- CoverLibV1
- CoverReassurance
- CoverStake
- CoverUtilV1
- cxToken
- cxTokenFactory
- cxTokenFactoryLibV1
- Delayable
- Destroyable
- ERC165
- ERC20
- FakeAaveLendingPool
- FakeCompoundDaiDelegator
- FakePriceOracle
- FakeRecoverable
- FakeStore
- FakeToken
- FakeUniswapPair
- FakeUniswapV2FactoryLike
- FakeUniswapV2PairLike
- FakeUniswapV2RouterLike
- FaultyAaveLendingPool
- FaultyCompoundDaiDelegator
- Finalization
- ForceEther
- Governance
- GovernanceUtilV1
- IAaveV2LendingPoolLike
- IAccessControl
- IBondPool
- IClaimsProcessor
- ICompoundERC20DelegatorLike
- ICover
- ICoverReassurance
- ICoverStake
- ICxToken
- ICxTokenFactory
- IERC165
- IERC20
- IERC20Detailed
- IERC20Metadata
- IERC3156FlashBorrower
- IERC3156FlashLender
- IFinalization
- IGovernance
- ILendingStrategy
- ILiquidityEngine
- IMember
- INeptuneRouterV1
- InvalidStrategy
- IPausable
- IPolicy
- IPolicyAdmin
- IPriceOracle
- IProtocol
- IRecoverable
- IReporter
- IResolution
- IResolvable
- IStakingPools
- IStore
- IStoreLike
- IUniswapV2FactoryLike
- IUniswapV2PairLike
- IUniswapV2RouterLike
- IUnstakable
- IVault
- IVaultDelegate
- IVaultFactory
- IWitness
- LiquidityEngine
- MaliciousToken
- MockAccessControlUser
- MockCoverUtilUser
- MockCxToken
- MockCxTokenPolicy
- MockCxTokenStore
- MockFlashBorrower
- MockLiquidityEngineUser
- MockProcessorStore
- MockProcessorStoreLib
- MockProtocol
- MockRegistryClient
- MockStore
- MockStoreKeyUtilUser
- MockValidationLibUser
- MockVault
- MockVaultLibUser
- NeptuneRouterV1
- NPM
- NpmDistributor
- NTransferUtilV2
- NTransferUtilV2Intermediate
- Ownable
- Pausable
- Policy
- PolicyAdmin
- PolicyHelperV1
- PoorMansERC20
- POT
- PriceLibV1
- Processor
- ProtoBase
- Protocol
- ProtoUtilV1
- Recoverable
- ReentrancyGuard
- RegistryLibV1
- Reporter
- Resolution
- Resolvable
- RoutineInvokerLibV1
- SafeERC20
- StakingPoolBase
- StakingPoolCoreLibV1
- StakingPoolInfo
- StakingPoolLibV1
- StakingPoolReward
- StakingPools
- Store
- StoreBase
- StoreKeyUtil
- StrategyLibV1
- Strings
- TimelockController
- Unstakable
- ValidationLibV1
- Vault
- VaultBase
- VaultDelegate
- VaultDelegateBase
- VaultDelegateWithFlashLoan
- VaultFactory
- VaultFactoryLibV1
- VaultLibV1
- VaultLiquidity
- VaultStrategy
- WithFlashLoan
- WithPausability
- WithRecovery
- Witness