1 tx
112 calls
constructor
constructor(address _olas, address _serviceRegistry, address _serviceRegistryTokenUtility, uint256 _minStakingDepositLimit, uint256 _timeForEmissionsLimit, uint256 _numServicesLimit, uint256 _apyLimit)
functions
apyLimit
viewfunction apyLimit() view returns (uint256)
getEmissionsAmountLimit
viewfunction getEmissionsAmountLimit(address instance) view returns (uint256 amount)
implementationsCheck
viewfunction implementationsCheck() view returns (bool)
mapImplementations
viewfunction mapImplementations(address) view returns (bool)
minStakingDepositLimit
viewfunction minStakingDepositLimit() view returns (uint256)
numServicesLimit
viewfunction numServicesLimit() view returns (uint256)
olas
viewfunction olas() view returns (address)
ONE_YEAR
viewfunction ONE_YEAR() view returns (uint256)
owner
viewfunction owner() view returns (address)
serviceRegistry
viewfunction serviceRegistry() view returns (address)
serviceRegistryTokenUtility
viewfunction serviceRegistryTokenUtility() view returns (address)
timeForEmissionsLimit
viewfunction timeForEmissionsLimit() view returns (uint256)
verifyImplementation
viewfunction verifyImplementation(address implementation) view returns (bool)
verifyInstance
viewfunction verifyInstance(address instance, address implementation) view returns (bool)
changeOwner
nonpayablefunction changeOwner(address newOwner)
changeStakingLimits
nonpayablefunction changeStakingLimits(uint256 _minStakingDepositLimit, uint256 _timeForEmissionsLimit, uint256 _numServicesLimit, uint256 _apyLimit)
setImplementationsCheck
nonpayablefunction setImplementationsCheck(bool setCheck)
setImplementationsStatuses
nonpayablefunction setImplementationsStatuses(address[] implementations, bool[] statuses, bool setCheck)
events
ImplementationsWhitelistUpdated
event ImplementationsWhitelistUpdated(address[] implementations, bool[] statuses, bool setCheck)
OwnerUpdated
event OwnerUpdated(address indexed owner)
SetImplementationsCheck
event SetImplementationsCheck(bool setCheck)
StakingLimitsUpdated
event StakingLimitsUpdated(uint256 minStakingDepositLimit, uint256 timeForEmissionsLimit, uint256 numServicesLimit, uint256 apyLimit)
errors
OwnerOnly
error OwnerOnly(address sender, address owner)
WrongArrayLength
error WrongArrayLength(uint256 numValues1, uint256 numValues2)
ZeroAddress
error ZeroAddress()
ZeroValue
error ZeroValue()
creation bytecode
0x60e060405234801561000f575f80fd5b506040516112be3803806112be83398101604081905261002e91610102565b6001600160a01b038716158061004b57506001600160a01b038616155b156100695760405163d92e233d60e01b815260040160405180910390fd5b831580610074575082155b8061007d575081155b80610086575080155b156100a457604051637c946ed760e01b815260040160405180910390fd5b600480546001600160a01b031916331790556001600160a01b0396871660805294861660a0529290941660c0525f55600192909255600291909155600355610167565b80516001600160a01b03811681146100fd575f80fd5b919050565b5f805f805f805f60e0888a031215610118575f80fd5b610121886100e7565b965061012f602089016100e7565b955061013d604089016100e7565b9450606088015193506080880151925060a0880151915060c0880151905092959891949750929550565b60805160a05160c0516111116101ad5f395f81816101ee01528181610a590152610b3b01525f81816102aa01526106c801525f818161013701526109e401526111115ff3fe608060405234801561000f575f80fd5b506004361061012e575f3560e01c806369be670b116100ad578063a3ba9aef1161007d578063c446841811610063578063c446841814610292578063cbcf252a146102a5578063fcf7684e146102cc575f80fd5b8063a3ba9aef14610276578063a6f9dae11461027f575f80fd5b806369be670b146102345780638da5cb5b1461024757806396324ed61461025a5780639ac28fa01461026d575f80fd5b806316d3bfbb1161010257806330030a48116100e857806330030a48146102105780633878678414610218578063517c0a8f1461022b575f80fd5b806316d3bfbb146101d057806328714051146101e9575f80fd5b806231d1151461013257806305236024146101765780630bea55ed1461018b5780630d93650c1461019e575b5f80fd5b6101597f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b610189610184366004610d38565b6102e0565b005b610189610199366004610e6d565b6103c4565b6101c06101ac366004610f38565b60056020525f908152604090205460ff1681565b604051901515815260200161016d565b6101db6301e1338081565b60405190815260200161016d565b6101597f000000000000000000000000000000000000000000000000000000000000000081565b6101db5f5481565b6101db610226366004610f38565b610558565b6101db60025481565b6101c0610242366004610f5a565b6105bf565b600454610159906001600160a01b031681565b6101c0610268366004610f38565b610b9a565b6101db60015481565b6101db60035481565b61018961028d366004610f38565b610bd4565b6101896102a0366004610f91565b610c9d565b6101597f000000000000000000000000000000000000000000000000000000000000000081565b6004546101c090600160a01b900460ff1681565b6004546001600160a01b03163314610328576004805460405163521eb56d60e11b81526001600160a01b03909116918101919091523360248201526044015b60405180910390fd5b831580610333575082155b8061033c575081155b80610345575080155b1561036357604051637c946ed760e01b815260040160405180910390fd5b5f8490556001839055600282905560038190556040805185815260208101859052908101839052606081018290527faf40dfd820e3c4d9869867d01bef72bc7355b89f888bde8f0e24025202b0d7459060800160405180910390a150505050565b6004546001600160a01b03163314610407576004805460405163521eb56d60e11b81526001600160a01b039091169181019190915233602482015260440161031f565b8251158061041757508151835114155b1561044257825182516040516308151c1160e41b81526004810192909252602482015260440161031f565b6004805460ff60a01b1916600160a01b831515021790555f5b8351811015610517575f6001600160a01b031684828151811061048057610480610faa565b60200260200101516001600160a01b0316036104af5760405163d92e233d60e01b815260040160405180910390fd5b8281815181106104c1576104c1610faa565b602002602001015160055f8684815181106104de576104de610faa565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161045b565b507fa75993bdbe9ad771324babfee934d208587d3321632d15aa92547ee71226354183838360405161054b93929190610fbe565b60405180910390a1505050565b5f816001600160a01b031663957323616040518163ffffffff1660e01b8152600401602060405180830381865afa158015610595573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b99190611051565b92915050565b6004545f90600160a01b900460ff1680156105f257506001600160a01b0382165f9081526005602052604090205460ff16155b156105fe57505f6105b9565b826001600160a01b03163b5f0361061657505f6105b9565b60408051600481526024810182526020810180516001600160e01b03166365e7929560e11b17905290515f9081906001600160a01b0387169061065a908590611068565b5f60405180830381855afa9150503d805f8114610692576040519150601f19603f3d011682016040523d82523d5f602084013e610697565b606091505b50915091508180156106aa575080516020145b15610711575f818060200190518101906106c4919061107e565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161461070b575f9450505050506105b9565b5061071c565b5f93505050506105b9565b5f866001600160a01b031663e77cdcc96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610759573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077d9190611051565b90505f54811115610794575f9450505050506105b9565b5f6301e13380886001600160a01b031663eacdaabc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107fa9190611051565b6108049190611099565b90505f8261081a83670de0b6b3a7640000611099565b61082491906110bc565b905060035481111561083e575f96505050505050506105b9565b5f896001600160a01b0316631f7794086040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089f9190611051565b90506001548111156108ba575f9750505050505050506105b9565b5f8a6001600160a01b03166316a751726040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091b9190611051565b9050600254811115610937575f985050505050505050506105b9565b60408051600481526024810182526020810180516001600160e01b03166372f702f360e01b17905290515f91906001600160a01b038e169061097a908390611068565b5f60405180830381855afa9150503d805f81146109b2576040519150601f19603f3d011682016040523d82523d5f602084013e6109b7565b606091505b5090995097508815610a44578751602003610a3257878060200190518101906109e0919061107e565b91507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614610a2d575f9a50505050505050505050506105b9565b610a44565b5f9a50505050505050505050506105b9565b6001600160a01b03821615801590610a8457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b15610b875760408051600481526024810182526020810180516001600160e01b0316632871405160e01b1790529051909a506001600160a01b038e1690610acc908c90611068565b5f60405180830381855afa9150503d805f8114610b04576040519150601f19603f3d011682016040523d82523d5f602084013e610b09565b606091505b509099509750888015610b1d575087516020145b15610a32575f88806020019051810190610b37919061107e565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614610b85575f9b5050505050505050505050506105b9565b505b5060019c9b505050505050505050505050565b6004545f90600160a01b900460ff1615610bcc57506001600160a01b03165f9081526005602052604090205460ff1690565b506001919050565b6004546001600160a01b03163314610c15576004805460405163521eb56d60e11b815233928101929092526001600160a01b0316602482015260440161031f565b6001600160a01b038116610c3c5760405163d92e233d60e01b815260040160405180910390fd5b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b905f90a250565b6004546001600160a01b03163314610ce0576004805460405163521eb56d60e11b81526001600160a01b039091169181019190915233602482015260440161031f565b60048054821515600160a01b0260ff60a01b199091161790556040517fdc17e046a4e55c5445deae0e2503d60b1ce5ecce83a0dc62c9066bbc7f39db5690610d2d90831515815260200190565b60405180910390a150565b5f805f8060808587031215610d4b575f80fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610da457610da4610d67565b604052919050565b5f67ffffffffffffffff821115610dc557610dc5610d67565b5060051b60200190565b6001600160a01b0381168114610de3575f80fd5b50565b80358015158114610df5575f80fd5b919050565b5f82601f830112610e09575f80fd5b81356020610e1e610e1983610dac565b610d7b565b8083825260208201915060208460051b870101935086841115610e3f575f80fd5b602086015b84811015610e6257610e5581610de6565b8352918301918301610e44565b509695505050505050565b5f805f60608486031215610e7f575f80fd5b833567ffffffffffffffff80821115610e96575f80fd5b818601915086601f830112610ea9575f80fd5b81356020610eb9610e1983610dac565b82815260059290921b8401810191818101908a841115610ed7575f80fd5b948201945b83861015610efe578535610eef81610dcf565b82529482019490820190610edc565b97505087013592505080821115610f13575f80fd5b50610f2086828701610dfa565b925050610f2f60408501610de6565b90509250925092565b5f60208284031215610f48575f80fd5b8135610f5381610dcf565b9392505050565b5f8060408385031215610f6b575f80fd5b8235610f7681610dcf565b91506020830135610f8681610dcf565b809150509250929050565b5f60208284031215610fa1575f80fd5b610f5382610de6565b634e487b7160e01b5f52603260045260245ffd5b606080825284519082018190525f906020906080840190828801845b82811015610fff5781516001600160a01b031684529284019290840190600101610fda565b505050838103828501528551808252868301918301905f5b81811015611035578351151583529284019291840191600101611017565b505085151560408601529250611049915050565b949350505050565b5f60208284031215611061575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f6020828403121561108e575f80fd5b8151610f5381610dcf565b80820281158282048414176105b957634e487b7160e01b5f52601160045260245ffd5b5f826110d657634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122046f7297398a99ef60f0b00e73475165ebb545a6aa56c8252953995010aa7f10c64736f6c6343000819003300000000000000000000000054330d28ca3357f294334bdc454a032e7f3534160000000000000000000000003c1ff68f5aa342d296d4dee4bb1cacca912d95fe00000000000000000000000034c895f302d0b5cf52ec0edd3945321eb0f83dd500000000000000000000000000000000000000000000003635c9adc5dea000000000000000000000000000000000000000000000000000000000000000278d00000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000029a2241af62c0000