1 tx
7 calls
constructor
constructor(address _safe, address _multiRewards, address _token1, address _token2, address _admin, uint256 _rewardDuration, uint256 _notifyDelay)
functions
admin
viewfunction admin() view returns (address)
getCurrentState
viewfunction getCurrentState() view returns (uint8)
getExecutionTimestamp
viewfunction getExecutionTimestamp() view returns (uint256)
MAX_NOTIFY_DELAY
viewfunction MAX_NOTIFY_DELAY() view returns (uint256)
MAX_REWARDS_DURATION
viewfunction MAX_REWARDS_DURATION() view returns (uint256)
MIN_NOTIFY_DELAY
viewfunction MIN_NOTIFY_DELAY() view returns (uint256)
MIN_REWARDS_DURATION
viewfunction MIN_REWARDS_DURATION() view returns (uint256)
multiRewards
viewfunction multiRewards() view returns (address)
notifyDelay
viewfunction notifyDelay() view returns (uint256)
paused
viewfunction paused() view returns (bool)
pendingRewards
viewfunction pendingRewards() view returns (uint256 amountToken1, uint256 amountToken2, uint256 notifyAfter, bool isNotified)
rewardDuration
viewfunction rewardDuration() view returns (uint256)
safe
viewfunction safe() view returns (address)
token1
viewfunction token1() view returns (address)
token2
viewfunction token2() view returns (address)
addRewards
nonpayablefunction addRewards(uint256 amountToken1, uint256 amountToken2)
notifyRewards
nonpayablefunction notifyRewards()
pause
nonpayablefunction pause()
setAdmin
nonpayablefunction setAdmin(address newAdmin)
setNotifyDelay
nonpayablefunction setNotifyDelay(uint256 newNotifyDelay)
setRewardDuration
nonpayablefunction setRewardDuration(uint256 newDuration)
unpause
nonpayablefunction unpause()
events
AdminUpdated
event AdminUpdated(address indexed oldAdmin, address indexed newAdmin)
NotifyDelayUpdated
event NotifyDelayUpdated(uint256 oldNotifyDelay, uint256 newNotifyDelay)
Paused
event Paused(address account)
RewardAdded
event RewardAdded(uint256 amountToken1, uint256 amountToken2, uint256 notifyAfter)
RewardDurationUpdated
event RewardDurationUpdated(uint256 oldDuration, uint256 newDuration)
RewardsNotified
event RewardsNotified(uint256 token1Amount, uint256 token2Amount, uint256 notifiedAt)
Unpaused
event Unpaused(address account)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
creation bytecode
0x610100346103ce57601f611a2c38819003918201601f19168301916001600160401b038311848410176103d25780849260e0946040528339810103126103ce5780516001600160a01b03811691908290036103ce57610060602082016103e6565b61006c604083016103e6565b92610079606084016103e6565b90610086608085016103e6565b9160c060a0860151950151955f54948315610389576001600160a01b0316908115610344576001600160a01b03169182156102ff576001600160a01b03169283156102ba576001600160a01b038516156102755786156102305787156101eb5760805260a05260c05260e0526001600160a81b031990911660089190911b610100600160a81b0316175f5560015560025560405161163190816103fb823960805181818161017c0152818161055301528181610770015281816108460152818161091901528181610a3401528181610b9f01528181610d2301528181610f48015281816112140152818161134b015281816114150152611557015260a051818181610595015281816109ef01528181610c1201528181610d96015281816113150152611472015260c0518181816101b201528181610509015281816105db0152610d4b015260e05181818161020c0152818161063c01528181610bc70152610f070152f35b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964206e6f746966792064656c61790000000000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601760248201527f496e76616c696420726577617264206475726174696f6e0000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601560248201527f496e76616c69642061646d696e206164647265737300000000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420746f6b656e322061646472657373000000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420746f6b656e312061646472657373000000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601c60248201527f496e76616c6964204d756c7469526577617264732061646472657373000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964205361666520616464726573730000000000000000000000006044820152606490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036103ce5756fe6080806040526004361015610012575f80fd5b5f905f3560e01c908163186f035414610f365750806325be124e14610ef2578063378aa70114610ec75780633be52fc414610acb5780633e45b50214610aae5780633f4ba83a14610a1e578063433efbc6146109da5780635c975abb146109b95780635eaec5871461099c578063704b6c02146108ed5780637eebaf06146108d0578063829ba2f2146108b35780638456cb5914610830578063aa8c082614610751578063ba93193714610756578063bf21a8aa14610751578063c0ed00c914610538578063d21220a7146104f3578063eded3fda146104b7578063f520e7e514610499578063f851a4401461046e5763fc41aa0914610110575f80fd5b3461046b57604036600319011261046b578054600435906024359060081c6001600160a01b0316330361041c5761014561113b565b61014d610f94565b60048110156104085760031480156103f0575b1561039c576040516370a0823160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483018190529190602090829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa8015610391578490869061035b575b6101ef9250101561101a565b6040516370a0823160e01b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156103505782908590610316575b610251925010156110a4565b811580159061030d575b156102d0577f9795f222c951ae3e749f872dbe287f78d21fa52353e9175cb20ed3aa2b29b82b91600554156102c6575b806003558160045560ff19600654166006556102c0600554604051938493846040919493926060820195825260208201520152565b0390a180f35b600160055561028b565b60405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a59081c995dd85c9908185b5bdd5b9d605a1b6044820152606490fd5b5080151561025b565b50506020813d602011610348575b8161033160209383610fe4565b8101031261034457816102519151610245565b5f80fd5b3d9150610324565b6040513d86823e3d90fd5b50506020813d602011610389575b8161037660209383610fe4565b8101031261034457836101ef91516101e3565b3d9150610369565b6040513d87823e3d90fd5b60405162461bcd60e51b815260206004820152602660248201527f50656e64696e6720726577617264732077616974696e6720746f2062652065786044820152651958dd5d195960d21b6064820152608490fd5b506103f9610f94565b60048110156104085715610160565b634e487b7160e01b84526021600452602484fd5b60405162461bcd60e51b815260206004820152602160248201527f4f6e6c792061646d696e2063616e2063616c6c20746869732066756e6374696f6044820152603760f91b6064820152608490fd5b80fd5b503461046b578060031936011261046b575460405160089190911c6001600160a01b03168152602090f35b503461046b578060031936011261046b576020600154604051908152f35b503461046b578060031936011261046b57608060035460045460055460ff60065416916040519384526020840152604083015215156060820152f35b503461046b578060031936011261046b576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461034457602036600319011261034457600435610581337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146110f0565b62093a8081101580610744575b156106ff577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b15610344576040516311bc5f5360e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152602481018390525f8160448183865af180156106f4576106df575b508083913b156106d0576040516311bc5f5360e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152602481018490529082908290604490829084905af180156106d4576106bb575b50507fd269d0dbc289846806634662863de5a6d54167723c67b859adc51a670451831060406001548151908152836020820152a160015580f35b816106c591610fe4565b6106d057815f610681565b5080fd5b6040513d84823e3d90fd5b6106ec9193505f90610fe4565b5f915f61061b565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f496e76616c696420726577617264206475726174696f6e0000000000000000006044820152606490fd5b5062278d0081111561058e565b610f77565b346103445760203660031901126103445760043561079e337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146110f0565b6201518081101580610823575b156107e7577fce93c1ab3c5bcfa385112948205cf19bddff828de41c18155a9f5fd43ee6749e60406002548151908152836020820152a1600255005b60405162461bcd60e51b8152602060048201526014602482015273496e76616c6964206e6f746966792064656c617960601b6044820152606490fd5b5062278d008111156107ab565b34610344575f36600319011261034457610874337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146110f0565b61087c61113b565b600160ff195f5416175f557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610344575f36600319011261034457602060405162093a808152f35b34610344575f366003190112610344576020600254604051908152f35b34610344576020366003190112610344576004356001600160a01b0381169081810361034457610947337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146110f0565b5f549160018060a01b038360081c167f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b5f80a3610100600160a81b031990911660089190911b610100600160a81b0316175f55005b34610344575f366003190112610344576020600554604051908152f35b34610344575f36600319011261034457602060ff5f54166040519015158152f35b34610344575f366003190112610344576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610344575f36600319011261034457610a62337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146110f0565b5f5460ff811615610a9f5760ff19165f557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610344575f366003190112610344576020604051620151808152f35b34610344575f36600319011261034457610ae361113b565b610aeb610f94565b6004811015610eb357600203610e6e5760035480610d0c575b6004549081610b88575b600160ff196006541617600655600254420191824211610b74577fb0d8d55fb2a6be64c330087dfcf292ea3985ca8623478e6adbef383f426364e292600555610b6f6040519283924291846040919493926060820195825260208201520152565b0390a1005b634e487b7160e01b5f52601160045260245ffd5b6040516370a0823160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f00000000000000000000000000000000000000000000000000000000000000001690602081602481855afa80156106f45784905f90610cd6575b610c0c925010156110a4565b602460c07f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c458682866111b3565b6040519283809263091cbb3f60e31b82528660048301525afa9182156106f457610c919285925f91610ca2575b506001600160a01b0316610c9657610c8c600154826113ef565b611515565b610b0e565b610c8c600154826112b9565b610cc4915060c03d60c011610ccf575b610cbc8183610fe4565b810190611066565b505050505086610c72565b503d610cb2565b50506020813d602011610d04575b81610cf160209383610fe4565b810103126103445783610c0c9151610c00565b3d9150610ce4565b6040516370a0823160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f00000000000000000000000000000000000000000000000000000000000000001690602081602481855afa80156106f45783905f90610e38575b610d909250101561101a565b602460c07f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dc98582866111b3565b6040519283809263091cbb3f60e31b82528660048301525afa9182156106f457610e0f9284925f91610e1457506001600160a01b0316610c9657610c8c600154826113ef565b610b04565b610e2d915060c03d60c011610ccf57610cbc8183610fe4565b505050505085610c72565b50506020813d602011610e66575b81610e5360209383610fe4565b810103126103445782610d909151610d84565b3d9150610e46565b60405162461bcd60e51b815260206004820152601c60248201527f52657761726473206e6f7420696e2070656e64696e67207374617465000000006044820152606490fd5b634e487b7160e01b5f52602160045260245ffd5b34610344575f36600319011261034457610edf610f94565b6040516004821015610eb3576020918152f35b34610344575f366003190112610344576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610344575f366003190112610344577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610344575f36600319011261034457602060405162278d008152f35b6005548015610fdf574211801580610fd2575b610fcc5780610fbf575b610fba57600390565b600290565b5060ff6006541615610fb1565b50600190565b5060ff6006541615610fa7565b505f90565b90601f8019910116810190811067ffffffffffffffff82111761100657604052565b634e487b7160e01b5f52604160045260245ffd5b1561102157565b60405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e7420746f6b656e312062616c616e636500000000006044820152606490fd5b91908260c09103126103445781516001600160a01b0381168103610344579160208101519160408201519160608101519160a0608083015192015190565b156110ab57565b60405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e7420746f6b656e322062616c616e636500000000006044820152606490fd5b156110f757565b606460405162461bcd60e51b815260206004820152602060248201527f4f6e6c7920536166652063616e2063616c6c20746869732066756e6374696f6e6044820152fd5b60ff5f541661114657565b63d93c066560e01b5f5260045ffd5b90816020910312610344575180151581036103445790565b929160a060206060925f94600180851b0316875284828801526080604088015280519182918260808a0152018388015e83828288010152601f8019910116850101930152565b60405163095ea7b360e01b6020808301919091526001600160a01b0393909316602482015260448082019490945292835261120f92906111f4606483610fe4565b60405163468721a760e01b815293849283926004840161116d565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19081156106f4575f9161128a575b501561125457565b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b6112ac915060203d6020116112b2575b6112a48183610fe4565b810190611155565b5f61124c565b503d61129a565b6040516311bc5f5360e11b6020828101919091526001600160a01b03909216602482015260448101929092526113469161130081606481015b03601f198101835282610fe4565b60405163468721a760e01b81529283918291907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004840161116d565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19081156106f4575f916113d0575b501561138b57565b60405162461bcd60e51b815260206004820152601a60248201527f53657420726577617264206475726174696f6e206661696c65640000000000006044820152606490fd5b6113e9915060203d6020116112b2576112a48183610fe4565b5f611383565b604051636876935760e11b6020828101919091526001600160a01b0392831660248301527f0000000000000000000000000000000000000000000000000000000000000000909216604482018190526064808301949094529281525f926114a39161145b608482610fe4565b60405163468721a760e01b815294859384928391907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004840161116d565b03925af19081156106f4575f916114f6575b50156114bd57565b60405162461bcd60e51b8152602060048201526011602482015270105919081c995dd85c990819985a5b1959607a1b6044820152606490fd5b61150f915060203d6020116112b2576112a48183610fe4565b5f6114b5565b60405163b66503cf60e01b6020828101919091526001600160a01b03909216602482015260448101929092526115529161130081606481016112f2565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19081156106f4575f916115dc575b501561159757565b60405162461bcd60e51b815260206004820152601b60248201527f4e6f746966792072657761726420616d6f756e74206661696c656400000000006044820152606490fd5b6115f5915060203d6020116112b2576112a48183610fe4565b5f61158f56fea2646970667358221220fe3da0c8a46da712b4c39203dce2cae2cb98f983d3da867251fc1ee5214fbb2064736f6c634300081c0033000000000000000000000000fe2ff8927ef602ddac27e314a199d16be61778600000000000000000000000007855b0821401ab078f6cf457deafae775ff6c7a30000000000000000000000007300b37dfdfab110d83290a29dfb31b1740219fe0000000000000000000000000b3e328455c4059eeb9e3f84b5543f74e24e7e1b000000000000000000000000fe2ff8927ef602ddac27e314a199d16be61778600000000000000000000000000000000000000000000000000000000000093a800000000000000000000000000000000000000000000000000000000000093a80