0 txs
9 calls
constructor
No constructor.
functions
app
viewfunction app() view returns (address)
appOracle
viewfunction appOracle() view returns (address)
authority
viewfunction authority() view returns (address)
burner
viewfunction burner() view returns (address)
ceilApr
viewfunction ceilApr() view returns (uint16)
currentBackingRatio
viewfunction currentBackingRatio() view returns (uint256)
currentStakingRatio
viewfunction currentStakingRatio() view returns (uint256)
EPOCH
viewfunction EPOCH() view returns (uint256)
excessReserves
viewfunction excessReserves() view returns (uint256)
floorApr
viewfunction floorApr() view returns (uint16)
floorSlope
viewfunction floorSlope() view returns (uint256)
k1
viewfunction k1() view returns (uint16)
k2
viewfunction k2() view returns (uint16)
lastEpochTime
viewfunction lastEpochTime() view returns (uint256)
maxFloorPct
viewfunction maxFloorPct() view returns (uint256)
minFloorPct
viewfunction minFloorPct() view returns (uint256)
projectedEpochRate
viewfunction projectedEpochRate() view returns (uint256 apr, uint256 epochRate, uint256 toStakers, uint256 toOps, uint256 toBurner)
projectedEpochRateRaw
viewfunction projectedEpochRateRaw(uint256 pcv, uint256 totalSupply, uint256 rzrReserves, uint256 stakedSupply) view returns (uint256 apr, uint256 epochMint, uint256 toStakers, uint256 toOps, uint256 toBurner)
staking
viewfunction staking() view returns (address)
targetOpsPct
viewfunction targetOpsPct() view returns (uint256)
totalReservesOracle
viewfunction totalReservesOracle() view returns (address)
executeEpoch
nonpayablefunction executeEpoch()
initialize
nonpayablefunction initialize(address _rzr, address _appOracle, address _staking, address _authority, address _burner, address _totalReservesOracle)
setAprVariables
nonpayablefunction setAprVariables(uint16 _floorApr, uint16 _ceilApr, uint16 _k1, uint16 _k2)
setAuthority
nonpayablefunction setAuthority(address _newAuthority)
setFeeMProjectId
nonpayablefunction setFeeMProjectId(address registry, uint256 projectID)
setTargetPcts
nonpayablefunction setTargetPcts(uint256 _targetOpsPct, uint256 _minFloorPct, uint256 _maxFloorPct, uint256 _floorSlope)
events
AprVariablesSet
event AprVariablesSet(uint16 floorApr, uint16 ceilApr, uint16 k1, uint16 k2)
AuthorityUpdated
event AuthorityUpdated(address indexed authority)
Initialized
event Initialized(uint64 version)
Rebased
event Rebased(uint256 backingRatio, uint256 epochRate, uint256 tokensMinted, uint256 newFloorPrice)
TargetPctsSet
event TargetPctsSet(uint256 targetOpsPct, uint256 minFloorPct, uint256 maxFloorPct, uint256 floorSlope)
errors
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
creation bytecode
0x60a060405262014370608052348015601657600080fd5b50608051611b536100406000396000818161033801528181610a2101526112a40152611b536000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c80634cf088d9116100f9578063b76564bd11610097578063dcdd7e3f11610071578063dcdd7e3f146103ab578063e8e88f00146103b3578063f1ac814c146103bb578063f62163a6146103c357600080fd5b8063b76564bd14610372578063bf7e214f14610385578063cc2a9a5b1461039857600080fd5b806389c614b8116100d357806389c614b8146103225780639e9a71f71461032b578063a0dc275814610333578063a7f81e6a1461035a57600080fd5b80634cf088d9146102c157806356c2b0e5146102d45780637a9e5e4b1461030f57600080fd5b8063165d3519116101665780631d28c3ac116101405780631d28c3ac1461027f57806327810b6e146102885780633f416f301461029b578063470a76e7146102ae57600080fd5b8063165d3519146102325780631748bebb14610240578063191b87a31461025457600080fd5b80630fa0f542116101975780630fa0f542146101f757806311a33bce1461020057806314edb54d1461020957600080fd5b8063050b30b7146101be5780630c3513a8146101da5780630f93b45e146101e2575b600080fd5b6101c760075481565b6040519081526020015b60405180910390f35b6101c76103d6565b6101f56101f036600461185d565b610587565b005b6101c760085481565b6101c760095481565b600b5461021f90640100000000900461ffff1681565b60405161ffff90911681526020016101d1565b600b5461021f9061ffff1681565b600b5461021f9062010000900461ffff1681565b600254610267906001600160a01b031681565b6040516001600160a01b0390911681526020016101d1565b6101c7600a5481565b600554610267906001600160a01b031681565b6101f56102a93660046118a0565b6106aa565b6101f56102bc3660046118f4565b610853565b600454610267906001600160a01b031681565b6102e76102e23660046118f4565b610953565b604080519586526020860194909452928401919091526060830152608082015260a0016101d1565b6101f561031d366004611926565b610bc6565b6101c760065481565b6102e7610c79565b6101c77f000000000000000000000000000000000000000000000000000000000000000081565b600b5461021f906601000000000000900461ffff1681565b600154610267906001600160a01b031681565b600054610267906001600160a01b031681565b6101f56103a636600461194a565b610e04565b6101c76110b3565b6101f56111e2565b6101c7611680565b600354610267906001600160a01b031681565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b031663242693d36040518163ffffffff1660e01b81526004016040805180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045191906119cc565b915091506000600260009054906101000a90046001600160a01b03166001600160a01b0316634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ce91906119f0565b90506000670de0b6b3a76400008285600160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055491906119f0565b61055e9190611a38565b6105689190611a4b565b6105729190611a62565b905061057e8184611a38565b94505050505090565b600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa1580156105cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f39190611a9d565b6106335760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b6040517f1e60fd14000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b03831690631e60fd1490602401600060405180830381600087803b15801561068e57600080fd5b505af11580156106a2573d6000803e3d6000fd5b505050505050565b600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa1580156106f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107169190611a9d565b6107515760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161062a565b600b805461ffff83811666010000000000009081027fffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffff878416640100000000908102919091167fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff8a8616620100009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000009098168d88161797909717161791909117948590556040805186851681529486048416602086015290850483169084015290920490911660608201527f25864e82f60688aa63c543276aa35a4a41472da75d6d07bc9393101b27c0198a906080015b60405180910390a150505050565b600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa15801561089b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bf9190611a9d565b6108fa5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161062a565b600784905560088390556009829055600a8190556040805185815260208101859052908101839052606081018290527ffc0a6031647f5cc04c3cb99e75ac7d23bcc79b876daa0c292d80ad5fe08856f890608001610845565b60008060008060008060095460085460075461096f9190611abf565b6109799190611abf565b116109c65760405162461bcd60e51b815260206004820152601360248201527f496e76616c69642070657263656e746167657300000000000000000000000000604482015260640161062a565b60006109d2888a611a38565b600b5490915073739f4941b06ab58feb2415f6b9d4615308dc1b2c906339233c2a9061ffff80821691620100008104821691640100000000820481169166010000000000009004168f87610a4a7f00000000000000000000000000000000000000000000000000000000000000006301e13380611a62565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e08a901b16815261ffff978816600482015295871660248701529386166044860152949091166064840152608483015260a482019290925260c481019190915260e4016040805180830381865af4158015610ace573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af291906119cc565b8096508197505050733e4df75d89c21a76718b1613a2967a3cd9b6e8026352970808868b8a600754600854600954600a546040518863ffffffff1660e01b8152600401610b709796959493929190968752602087019590955260408601939093526060850191909152608084015260a083015260c082015260e00190565b606060405180830381865af4158015610b8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb19190611ad2565b979c969b509099509750949550929350505050565b600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa158015610c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c329190611a9d565b610c6d5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161062a565b610c76816117bd565b50565b6000806000806000806000600360009054906101000a90046001600160a01b03166001600160a01b031663242693d36040518163ffffffff1660e01b81526004016040805180830381865afa158015610cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfa91906119cc565b91509150610df181600160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7991906119f0565b84600460009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e291906119f0565b9650965096509650965050509091929394565b60066000610e1061181d565b805490915068010000000000000000900460ff1680610e3d5750805467ffffffffffffffff808416911610155b15610e74576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001667ffffffffffffffff83161768010000000000000000178155600180546001600160a01b03808b167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600280548a841690831617905560048054898416908316179055600580548784169083161790556003805492861692909116919091179055610f2985610c6d565b600b80547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166705dc000a07d001f417905567016345785d8a0000600755670214e8348c4f00006008556706f05b59d3b2000060095567063eb89da4ed0000600a556000600655600154600480546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b03918216928101929092527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248301529091169063095ea7b3906044016020604051808303816000875af1158015611021573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110459190611a9d565b5080547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050505050565b60048054604080517f817b1cd2000000000000000000000000000000000000000000000000000000008152905160009384936001600160a01b03169263817b1cd292818301926020928290030181865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113991906119f0565b905080156111d957600160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b891906119f0565b6111ca82670de0b6b3a7640000611a4b565b6111d49190611a62565b6111dc565b60005b91505090565b6000546040517fdebfda300000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039091169063debfda3090602401602060405180830381865afa158015611243573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112679190611a9d565b6112a25760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161062a565b7f00000000000000000000000000000000000000000000000000000000000000006006546112d09190611abf565b42101561131f5760405162461bcd60e51b815260206004820152600f60248201527f65706f6368206e6f742072656164790000000000000000000000000000000000604482015260640161062a565b60008060008061132d610c79565b94509450945094505061133e6103d6565b84111561138d5760405162461bcd60e51b815260206004820152601560248201527f496e73756666696369656e742072657365727665730000000000000000000000604482015260640161062a565b8315611637576001546040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b03909116906340c10f1990604401600060405180830381600087803b1580156113f857600080fd5b505af115801561140c573d6000803e3d6000fd5b5050600480546040517f3c6b16ab0000000000000000000000000000000000000000000000000000000081529182018790526001600160a01b03169250633c6b16ab9150602401600060405180830381600087803b15801561146d57600080fd5b505af1158015611481573d6000803e3d6000fd5b5050600154600054604080517fe0f6e73000000000000000000000000000000000000000000000000000000000815290516001600160a01b03938416955063a9059cbb9450919092169163e0f6e7309160048083019260209291908290030181865afa1580156114f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115199190611b00565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af115801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190611a9d565b506001546005546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015611611573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116359190611a9d565b505b426006556040805185815260208101859052908101839052606081018290527f5b53298bb8901f0e05ee029d68f87506fcd975ca57d8893ce9f9e11922f340e990608001610845565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b031663242693d36040518163ffffffff1660e01b81526004016040805180830381865afa1580156116d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fb91906119cc565b915091506000819050600083600160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177e91906119f0565b6117889190611a38565b905080156117b257806117a383670de0b6b3a7640000611a4b565b6117ad9190611a62565b61057e565b600094505050505090565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117825560405190917f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad91a250565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005b92915050565b6001600160a01b0381168114610c7657600080fd5b6000806040838503121561187057600080fd5b823561187b81611848565b946020939093013593505050565b803561ffff8116811461189b57600080fd5b919050565b600080600080608085870312156118b657600080fd5b6118bf85611889565b93506118cd60208601611889565b92506118db60408601611889565b91506118e960608601611889565b905092959194509250565b6000806000806080858703121561190a57600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121561193857600080fd5b813561194381611848565b9392505050565b60008060008060008060c0878903121561196357600080fd5b863561196e81611848565b9550602087013561197e81611848565b9450604087013561198e81611848565b9350606087013561199e81611848565b925060808701356119ae81611848565b915060a08701356119be81611848565b809150509295509295509295565b600080604083850312156119df57600080fd5b505080516020909101519092909150565b600060208284031215611a0257600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561184257611842611a09565b808202811582820484141761184257611842611a09565b600082611a98577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600060208284031215611aaf57600080fd5b8151801515811461194357600080fd5b8082018082111561184257611842611a09565b600080600060608486031215611ae757600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215611b1257600080fd5b81516119438161184856fea26469706673582212207e0bf6e8b12b8e321d3dfe9cbb27fafa3e6bd673f037f6e1bf367849ca4b0e8f64736f6c634300081c0033