0 txs
555 calls
constructor
No constructor.
functions
FEATURE_LOCKING_DISABLED
viewfunction FEATURE_LOCKING_DISABLED() view returns (uint32)
features
viewfunction features() view returns (uint256)
getDepositSettings
viewfunction getDepositSettings(address depositToken) view returns (uint32 duration)
getImplementation
viewfunction getImplementation() view returns (address)
getRole
viewfunction getRole(address operator) view returns (uint256)
getUserAccount
viewfunction getUserAccount(address depositToken, address accountAddress) view returns (tuple account)
isFeatureEnabled
viewfunction isFeatureEnabled(uint256 required) view returns (bool)
isOperatorInRole
viewfunction isOperatorInRole(address operator, uint256 required) view returns (bool)
isSenderInRole
viewfunction isSenderInRole(uint256 required) view returns (bool)
now32
viewfunction now32() view returns (uint32)
ROLE_ACCESS_MANAGER
viewfunction ROLE_ACCESS_MANAGER() view returns (uint256)
ROLE_DEPOSIT_SETTINGS_MANAGER
viewfunction ROLE_DEPOSIT_SETTINGS_MANAGER() view returns (uint32)
ROLE_RESCUE_MANAGER
viewfunction ROLE_RESCUE_MANAGER() view returns (uint32)
ROLE_UPGRADE_MANAGER
viewfunction ROLE_UPGRADE_MANAGER() view returns (uint256)
deleteDepositSettings
nonpayablefunction deleteDepositSettings(address depositToken)
deposit
nonpayablefunction deposit(address depositToken, uint160 depositAmount)
onTransferReceived
nonpayablefunction onTransferReceived(address, address from, uint256 value, bytes data) returns (bytes4)
postConstruct
nonpayablefunction postConstruct(address tokenAddress, uint32 depositDuration)
updateDepositSettings
nonpayablefunction updateDepositSettings(address depositToken, uint32 depositDuration)
updateFeatures
nonpayablefunction updateFeatures(uint256 _mask)
updateRole
nonpayablefunction updateRole(address operator, uint256 role)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdraw
nonpayablefunction withdraw(address depositToken)
withdrawTo
nonpayablefunction withdrawTo(address to, address depositToken)
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
DepositSettingsDeleted
event DepositSettingsDeleted(address indexed depositToken)
DepositSettingsUpdated
event DepositSettingsUpdated(address indexed depositToken, uint32 duration)
RoleUpdated
event RoleUpdated(address indexed operator, uint256 requested, uint256 assigned)
TokenDeposited
event TokenDeposited(address indexed depositToken, address indexed depositOwner, uint160 depositAmount, uint32 depositDuration, (uint160 amountLocked, uint32 maturesOn, uint32 lastUpdatedOn, uint32 createdOn) account)
TokenWithdrawn
event TokenWithdrawn(address indexed depositToken, address indexed depositOwner, address indexed to, (uint160 amountLocked, uint32 maturesOn, uint32 lastUpdatedOn, uint32 createdOn) account)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a06040523060805234801561001457600080fd5b50600054610100900460ff166100305760005460ff1615610034565b303b155b61009b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100bd576000805461ffff19166101011790555b80156100cf576000805461ff00191690555b50608051611d13610100600039600081816104fd015281816105460152818161064201526106820152611d136000f3fe6080604052600436106101665760003560e01c80639bc2b970116100d1578063c688d6931161008a578063d64da20311610064578063d64da20314610466578063e60999ab1461047d578063f405b0cc14610490578063fcc2c078146104a557600080fd5b8063c688d693146103f9578063ccf1a4b214610419578063d5bb7f671461044657600080fd5b80639bc2b9701461033c578063a3611af81461035c578063aaf10f421461037c578063ae5b102e146103a9578063ae60bda4146103c9578063ae682e2e146103e157600080fd5b80634f1ef286116101235780634f1ef2861461026057806351cff8d9146102735780636dce4ab014610293578063725f3626146102b357806374e27fa3146102e357806388a7ca5c1461030357600080fd5b806303fde2551461016b5780632b5214161461018d5780632d17f8bc146101be5780633659cfe6146101ea578063442767331461020a5780634b2afb7d14610240575b600080fd5b34801561017757600080fd5b5061018b61018636600461181a565b6104c5565b005b34801561019957600080fd5b50306000908152600160205260409020545b6040519081526020015b60405180910390f35b3480156101ca57600080fd5b506101d56201000081565b60405163ffffffff90911681526020016101b5565b3480156101f657600080fd5b5061018b610205366004611853565b6104f3565b34801561021657600080fd5b506101ab610225366004611853565b6001600160a01b031660009081526001602052604090205490565b34801561024c57600080fd5b5061018b61025b366004611853565b6105c4565b61018b61026e366004611913565b610638565b34801561027f57600080fd5b5061018b61028e366004611853565b6106ed565b34801561029f57600080fd5b5061018b6102ae36600461181a565b6106f3565b3480156102bf57600080fd5b506102d36102ce366004611963565b6108f5565b60405190151581526020016101b5565b3480156102ef57600080fd5b5061018b6102fe36600461197c565b610917565b34801561030f57600080fd5b5061032361031e3660046119b3565b610949565b6040516001600160e01b031990911681526020016101b5565b34801561034857600080fd5b506101d5610357366004611853565b610a6c565b34801561036857600080fd5b5061018b61037736600461197c565b610ad8565b34801561038857600080fd5b50610391610c12565b6040516001600160a01b0390911681526020016101b5565b3480156103b557600080fd5b5061018b6103c4366004611a1f565b610c1c565b3480156103d557600080fd5b506101ab600160fe1b81565b3480156103ed57600080fd5b506101ab600160ff1b81565b34801561040557600080fd5b506102d3610414366004611a1f565b610c9e565b34801561042557600080fd5b5061043961043436600461181a565b610cc7565b6040516101b59190611a85565b34801561045257600080fd5b5061018b610461366004611963565b610da4565b34801561047257600080fd5b506101d56202000081565b34801561048957600080fd5b50426101d5565b34801561049c57600080fd5b506101d5600181565b3480156104b157600080fd5b506102d36104c0366004611963565b610dae565b6104df6001600160a01b0383811690339030908516610dba565b6104ea823383610e2b565b5050565b905090565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105445760405162461bcd60e51b815260040161053b90611a93565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105766110a3565b6001600160a01b03161461059c5760405162461bcd60e51b815260040161053b90611adf565b6105a5816110d1565b604080516000808252602082019092526105c1918391906110fa565b50565b6105d062020000610dae565b6105ec5760405162461bcd60e51b815260040161053b90611b2b565b6001600160a01b038116600081815260986020526040808220805463ffffffff19169055517ff35b6543585c8a12f7082e0fc01e9f3eae4322064c7547b9bd97201486fec03f9190a250565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106805760405162461bcd60e51b815260040161053b90611a93565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106b26110a3565b6001600160a01b0316146106d85760405162461bcd60e51b815260040161053b90611adf565b6106e1826110d1565b6104ea828260016110fa565b6105c133825b6001600160a01b0382166107195760405162461bcd60e51b815260040161053b90611b52565b60006107258233611245565b6000818152609760209081526040808320815160808101835290546001600160a01b038116825263ffffffff600160a01b8204811694830194909452600160c01b8104841692820192909252600160e01b909104909116606082018190529293509190036107cd5760405162461bcd60e51b81526020600482015260156024820152741858d8dbdd5b9d08191bd95cdb89dd08195e1a5cdd605a1b604482015260640161053b565b4263ffffffff16816020015163ffffffff161115806107f157506107f160016108f5565b61083d5760405162461bcd60e51b815260206004820181905260248201527f6c6f636b2d757020706572696f64206469646e27742079657420657870697265604482015260640161053b565b600082815260976020908152604080832083905583516001600160a01b0387811685526099909352908320805491909216929061087b908490611b8e565b9091555050805161089a906001600160a01b038581169187911661128f565b836001600160a01b0316336001600160a01b0316846001600160a01b03167f43f48baced8c8f1d748cc1ac8ed7ed56105c833eec2b7ddef9aec537d9593d12846040516108e79190611a85565b60405180910390a450505050565b30600090815260016020526040812054610911905b8316831490565b92915050565b61092362020000610dae565b61093f5760405162461bcd60e51b815260040161053b90611b2b565b6104ea82826112bf565b600081516004146109925760405162461bcd60e51b81526020600482015260136024820152720d2dcecc2d8d2c840c8c2e8c240d8cadccee8d606b1b604482015260640161053b565b6001600160a01b038311156109dc5760405162461bcd60e51b815260206004820152601060248201526f75696e74313630206f766572666c6f7760801b604482015260640161053b565b60208201516001600160e01b03198116630d0e30db60e41b14610a345760405162461bcd60e51b815260206004820152601060248201526f3ab735b737bbb710333ab731ba34b7b760811b604482015260640161053b565b610a3f338686610e2b565b7f88a7ca5c75456956db1e96e88ee87aca8bdad85895835c2dc76fcc96396569cf9150505b949350505050565b6001600160a01b03811660009081526098602052604081205463ffffffff1690819003610ad35760405162461bcd60e51b81526020600482015260156024820152743ab735b737bbb7103232b837b9b4ba103a37b5b2b760591b604482015260640161053b565b919050565b600054610100900460ff16610af35760005460ff1615610af7565b303b155b610b5a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161053b565b600054610100900460ff16158015610b7c576000805461ffff19166101011790555b6001600160a01b038316610ba25760405162461bcd60e51b815260040161053b90611b52565b8163ffffffff16600003610be85760405162461bcd60e51b815260206004820152600d60248201526c3d32b93790323ab930ba34b7b760991b604482015260640161053b565b610bf283836112bf565b610bfb33611325565b8015610c0d576000805461ff00191690555b505050565b60006104ee6110a3565b610c29600160ff1b610dae565b610c455760405162461bcd60e51b815260040161053b90611b2b565b6104ea8282610c9933610c6d876001600160a01b031660009081526001602052604090205490565b866001600160a01b03929092166000908152600160205260409020546000198084188216189216171690565b611399565b6001600160a01b038216600090815260016020526040812054610cc09061090a565b9392505050565b60408051608081018252600080825260208201819052918101829052606081019190915260976000610cf98585611245565b815260208082019290925260409081016000908120825160808101845290546001600160a01b038116825263ffffffff600160a01b8204811695830195909552600160c01b8104851693820193909352600160e01b9092049092166060820181905290925090036109115760405162461bcd60e51b81526020600482015260156024820152741858d8dbdd5b9d08191bd95cdb89dd08195e1a5cdd605a1b604482015260640161053b565b6105c13082610c1c565b60006109113383610c9e565b6040516001600160a01b0380851660248301528316604482015260648101829052610e259085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526113f3565b50505050565b6001600160a01b038216610e515760405162461bcd60e51b815260040161053b90611b52565b6000816001600160a01b031611610e985760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b604482015260640161053b565b6000610ea384610a6c565b90506000610eb18585611245565b6000818152609760209081526040808320815160808101835290546001600160a01b038116825263ffffffff600160a01b8204811694830194909452600160c01b8104841692820192909252600160e01b90910490911660608201819052929350919003610f6c576040518060800160405280856001600160a01b0316815260200184610f3b4290565b610f459190611ba1565b63ffffffff1681526020014263ffffffff1681526020014263ffffffff1690529050610fad565b4263ffffffff1660408201528242610f849190611ba1565b63ffffffff166020820152805184908290610fa0908390611bc5565b6001600160a01b03169052505b600082815260976020908152604080832084518154868501518785015160608901516001600160a01b039485166001600160c01b031990941693909317600160a01b63ffffffff93841602176001600160c01b0316600160c01b918316919091026001600160e01b031617600160e01b9190921602179091558981168452609990925282208054918716929091611045908490611be5565b92505081905550846001600160a01b0316866001600160a01b03167ff223d9f62a25e1cc7de0f82802962e811a982b702699cc85222bf17c0422163b86868560405161109393929190611bf8565b60405180910390a3505050505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6110de600160fe1b610dae565b6105c15760405162461bcd60e51b815260040161053b90611b2b565b60006111046110a3565b905061110f846114c5565b60008351118061111c5750815b1561112d5761112b848461156a565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661123e57805460ff191660011781556040516001600160a01b03831660248201526111ac90869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b17905261156a565b50805460ff191681556111bd6110a3565b6001600160a01b0316826001600160a01b0316146112355760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b606482015260840161053b565b61123e85611655565b5050505050565b6040516bffffffffffffffffffffffff19606084811b8216602084015283901b16603482015260009060480160405160208183030381529060405280519060200120905092915050565b6040516001600160a01b038316602482015260448101829052610c0d90849063a9059cbb60e01b90606401610dee565b6001600160a01b038216600081815260986020908152604091829020805463ffffffff191663ffffffff861690811790915591519182527fff1c363a5a4ac499b76e21859a5ec6e48ea0b64b39acff822ee5d0ecaa6c3662910160405180910390a25050565b600054610100900460ff166113905760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161053b565b6105c181600019805b6001600160a01b03831660008181526001602090815260409182902084905581518581529081018490527fe9be537308880e0f56b7d7cfd7abf85f14c4934486d138f848b92a0cbaf659b4910160405180910390a2505050565b6000611448826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116959092919063ffffffff16565b805190915015610c0d57808060200190518101906114669190611c21565b610c0d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161053b565b803b6115295760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161053b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6115c95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161053b565b600080846001600160a01b0316846040516115e49190611c67565b600060405180830381855af49150503d806000811461161f576040519150601f19603f3d011682016040523d82523d6000602084013e611624565b606091505b509150915061164c8282604051806060016040528060278152602001611cb7602791396116a4565b95945050505050565b61165e816114c5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610a6484846000856116dd565b606083156116b3575081610cc0565b8251156116c35782518084602001fd5b8160405162461bcd60e51b815260040161053b9190611c83565b60608247101561173e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161053b565b843b61178c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161053b565b600080866001600160a01b031685876040516117a89190611c67565b60006040518083038185875af1925050503d80600081146117e5576040519150601f19603f3d011682016040523d82523d6000602084013e6117ea565b606091505b50915091506117fa8282866116a4565b979650505050505050565b6001600160a01b03811681146105c157600080fd5b6000806040838503121561182d57600080fd5b823561183881611805565b9150602083013561184881611805565b809150509250929050565b60006020828403121561186557600080fd5b8135610cc081611805565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261189757600080fd5b813567ffffffffffffffff808211156118b2576118b2611870565b604051601f8301601f19908116603f011681019082821181831017156118da576118da611870565b816040528381528660208588010111156118f357600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561192657600080fd5b823561193181611805565b9150602083013567ffffffffffffffff81111561194d57600080fd5b61195985828601611886565b9150509250929050565b60006020828403121561197557600080fd5b5035919050565b6000806040838503121561198f57600080fd5b823561199a81611805565b9150602083013563ffffffff8116811461184857600080fd5b600080600080608085870312156119c957600080fd5b84356119d481611805565b935060208501356119e481611805565b925060408501359150606085013567ffffffffffffffff811115611a0757600080fd5b611a1387828801611886565b91505092959194509250565b60008060408385031215611a3257600080fd5b8235611a3d81611805565b946020939093013593505050565b80516001600160a01b0316825260208082015163ffffffff9081169184019190915260408083015182169084015260609182015116910152565b608081016109118284611a4b565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252600d908201526c1858d8d95cdcc819195b9a5959609a1b604082015260600190565b6020808252600c908201526b7a65726f206164647265737360a01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561091157610911611b78565b63ffffffff818116838216019080821115611bbe57611bbe611b78565b5092915050565b6001600160a01b03818116838216019080821115611bbe57611bbe611b78565b8082018082111561091157610911611b78565b6001600160a01b038416815263ffffffff8316602082015260c08101610a646040830184611a4b565b600060208284031215611c3357600080fd5b81518015158114610cc057600080fd5b60005b83811015611c5e578181015183820152602001611c46565b50506000910152565b60008251611c79818460208701611c43565b9190910192915050565b6020815260008251806020840152611ca2816040850160208701611c43565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cc2a6ca83a307bd018d2171c0ca04f722ae0286c6c21b0d9fcb9940843237a1764736f6c63430008140033