0 txs
1 call
constructor
constructor(address _admin, address _manager)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getListOfActiveStrategies
viewfunction getListOfActiveStrategies() view returns (uint256[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getStrategyAddress
viewfunction getStrategyAddress(uint256 _strategyId) view returns (address)
getStrategyStatus
viewfunction getStrategyStatus(uint256 _strategyId) view returns (bool)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isStrategyRegistered
viewfunction isStrategyRegistered(uint256 _strategyId) view returns (bool)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
nextStrategyId
viewfunction nextStrategyId() view returns (uint256)
strategies
viewfunction strategies(uint256 id) view returns (address contractAddress)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
disableStrategy
nonpayablefunction disableStrategy(uint256 _strategyId)
enableStrategy
nonpayablefunction enableStrategy(uint256 _strategyId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
registerStrategy
nonpayablefunction registerStrategy(address _strategyAddress) returns (uint256)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
events
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
StrategyDisabled
event StrategyDisabled(uint256 indexed strategyId, address indexed strategyAddress)
StrategyEnabled
event StrategyEnabled(uint256 indexed strategyId, address indexed strategyAddress)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AmountMustBeGreaterThanZero
error AmountMustBeGreaterThanZero()
CallerIsNotManager
error CallerIsNotManager()
ControllerAlreadySet
error ControllerAlreadySet()
DeclaredAmountLessThanDeposited
error DeclaredAmountLessThanDeposited(uint256 declared, uint256 deposited)
DeclaredRewardZero
error DeclaredRewardZero()
DepositAmountZero
error DepositAmountZero()
DepositExceedsDeclared
error DepositExceedsDeclared(uint256 total, uint256 declared)
InsufficientDepositedFunds
error InsufficientDepositedFunds(uint256 requested, uint256 available)
InsufficientStrategyBalance
error InsufficientStrategyBalance()
InvalidAddress
error InvalidAddress()
InvalidInputArrays
error InvalidInputArrays()
InvalidPoolDates
error InvalidPoolDates()
LayerAlreadyHasClaim
error LayerAlreadyHasClaim(uint256 layer, uint16 day)
LayerAlreadyHasExclusiveClaim
error LayerAlreadyHasExclusiveClaim(uint256 layer, uint16 day)
LayerAlreadyHasSemiExclusiveClaim
error LayerAlreadyHasSemiExclusiveClaim(uint256 layer, uint16 day)
LayerIsLocked
error LayerIsLocked(uint256 layer, uint16 day)
NoRewardToClaim
error NoRewardToClaim()
NoRewardToRestake
error NoRewardToRestake()
NotStakeOwner
error NotStakeOwner(address sender, address owner)
PoolAlreadyActiveOrFinalized
error PoolAlreadyActiveOrFinalized(uint256 poolId)
PoolAlreadyCalculated
error PoolAlreadyCalculated(uint256 poolId)
PoolDoesNotExist
error PoolDoesNotExist(uint256 poolId)
PoolHasAlreadyBeenAnnounced
error PoolHasAlreadyBeenAnnounced()
PoolNotDeclared
error PoolNotDeclared(uint256 poolId)
PoolNotEnded
error PoolNotEnded(uint256 poolId)
PoolNotFullyFunded
error PoolNotFullyFunded(uint256 poolId)
PoolNotInitializedOrCalculated
error PoolNotInitializedOrCalculated(uint256 poolId)
PoolNotSetUp
error PoolNotSetUp(uint256 poolId)
PoolNotStarted
error PoolNotStarted(uint256 poolId)
RewardAlreadyGranted
error RewardAlreadyGranted()
StrategyCannotBeChanged
error StrategyCannotBeChanged()
StrategyExist
error StrategyExist(uint256 strategyId)
StrategyNotExist
error StrategyNotExist(uint256 strategyId)
StrategyNotPreFunded
error StrategyNotPreFunded(uint256 strategyId)
TotalEligibleWeightIsZero
error TotalEligibleWeightIsZero()
UserNotEligibleForPool
error UserNotEligibleForPool()
creation bytecode
0x608060405234801561000f575f5ffd5b50604051610c5a380380610c5a83398101604081905261002e9161012f565b6100385f8361006b565b506100637f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088261006b565b505050610160565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1661010b575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556100c33390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161010e565b505f5b92915050565b80516001600160a01b038116811461012a575f5ffd5b919050565b5f5f60408385031215610140575f5ffd5b61014983610114565b915061015760208401610114565b90509250929050565b610aed8061016d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610106575f3560e01c80639d9a779c1161009e578063d547741f1161006e578063d547741f1461023b578063d574ea3d1461024e578063ec87621c14610276578063f01588ce1461028a578063f5c2c430146102b4575f5ffd5b80639d9a779c146101f9578063a217fddf1461020c578063a5175a0f14610213578063d24e55d314610226575f5ffd5b806336568abe116100d957806336568abe146101805780636ccf2fa7146101935780637aedb990146101d357806391d14854146101e6575f5ffd5b806301ffc9a71461010a578063185f844714610132578063248a9ca3146101495780632f2ff15d1461016b575b5f5ffd5b61011d61011836600461093e565b6102c7565b60405190151581526020015b60405180910390f35b61013b60015481565b604051908152602001610129565b61013b610157366004610965565b5f9081526020819052604090206001015490565b61017e610179366004610997565b6102fd565b005b61017e61018e366004610997565b610327565b6101bb6101a1366004610965565b5f908152600260205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610129565b61017e6101e1366004610965565b61035f565b61011d6101f4366004610997565b61040c565b61017e610207366004610965565b610434565b61013b5f81565b61011d610221366004610965565b6104d8565b61022e6104e4565b60405161012991906109c1565b61017e610249366004610997565b61057a565b6101bb61025c366004610965565b60026020525f90815260409020546001600160a01b031681565b61013b5f516020610a985f395f51905f5281565b61011d610298366004610965565b5f908152600260205260409020546001600160a01b0316151590565b61013b6102c2366004610a03565b61059e565b5f6001600160e01b03198216637965db0b60e01b14806102f757506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f8281526020819052604090206001015461031781610666565b6103218383610673565b50505050565b6001600160a01b03811633146103505760405163334bd91960e11b815260040160405180910390fd5b61035a8282610702565b505050565b5f516020610a985f395f51905f5261037681610666565b5f8281526002602052604090205482906001600160a01b03166103b85760405163b393400f60e01b81526004016103af91815260200190565b60405180910390fd5b506103c460038361076b565b505f828152600260205260408082205490516001600160a01b039091169184917f543df973e7612e762d9b7a5b0d7ef985da29d3106123fb7698110c99f98167799190a35050565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b5f516020610a985f395f51905f5261044b81610666565b5f8281526002602052604090205482906001600160a01b03166104845760405163b393400f60e01b81526004016103af91815260200190565b5061049060038361077d565b505f828152600260205260408082205490516001600160a01b039091169184917f385835f160f046d9f14e8804032058331458963f7a297b8f4f9169c9de52a5dd9190a35050565b5f6102f7600383610788565b60605f6104f1600361079f565b90505f8167ffffffffffffffff81111561050d5761050d610a1c565b604051908082528060200260200182016040528015610536578160200160208202803683370190505b5090505f5b828110156105735761054e6003826107a8565b82828151811061056057610560610a30565b602090810291909101015260010161053b565b5092915050565b5f8281526020819052604090206001015461059481610666565b6103218383610702565b5f5f516020610a985f395f51905f526105b681610666565b6001600160a01b0383166105dd5760405163e6c4247b60e01b815260040160405180910390fd5b600180545f90815260026020526040902080546001600160a01b0319166001600160a01b038616179055546106149060039061077d565b506001546040516001600160a01b03851691907f385835f160f046d9f14e8804032058331458963f7a297b8f4f9169c9de52a5dd905f90a360018054905f61065b83610a58565b909155509392505050565b61067081336107b3565b50565b5f61067e838361040c565b6106fb575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556106b33390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102f7565b505f6102f7565b5f61070d838361040c565b156106fb575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102f7565b5f61077683836107f0565b9392505050565b5f61077683836108d3565b5f8181526001830160205260408120541515610776565b5f6102f7825490565b5f6107768383610918565b6107bd828261040c565b6107ec5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016103af565b5050565b5f81815260018301602052604081205480156108ca575f610812600183610a70565b85549091505f9061082590600190610a70565b9050808214610884575f865f01828154811061084357610843610a30565b905f5260205f200154905080875f01848154811061086357610863610a30565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061089557610895610a83565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506102f7565b5f9150506102f7565b5f8181526001830160205260408120546106fb57508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556102f7565b5f825f01828154811061092d5761092d610a30565b905f5260205f200154905092915050565b5f6020828403121561094e575f5ffd5b81356001600160e01b031981168114610776575f5ffd5b5f60208284031215610975575f5ffd5b5035919050565b80356001600160a01b0381168114610992575f5ffd5b919050565b5f5f604083850312156109a8575f5ffd5b823591506109b86020840161097c565b90509250929050565b602080825282518282018190525f918401906040840190835b818110156109f85783518352602093840193909201916001016109da565b509095945050505050565b5f60208284031215610a13575f5ffd5b6107768261097c565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610a6957610a69610a44565b5060010190565b818103818111156102f7576102f7610a44565b634e487b7160e01b5f52603160045260245ffdfe241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08a264697066735822122071bd4eaf005073e2a62cf5670969c8318659e471788435f509c9d67f09b8d7d664736f6c634300081e00330000000000000000000000006972480b73fd3a5278c039cf072b499c4ca22e330000000000000000000000006972480b73fd3a5278c039cf072b499c4ca22e33