0 txs
1.2k calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
stakes
viewfunction stakes(uint256) view returns (uint256 id, address staker, uint256 amount, uint256 startTime, uint256 duration, bool claimed)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADER_ROLE
viewfunction UPGRADER_ROLE() view returns (bytes32)
userStakes
viewfunction userStakes(address, uint256) view returns (uint256)
XTER
viewfunction XTER() view returns (address)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address admin, address xterToken)
migrate
payablefunction migrate(tuple[] stks) payable
pause
nonpayablefunction pause()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
restake
nonpayablefunction restake(uint256 _id, uint256 duration)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
stake
nonpayablefunction stake(uint256 amount, uint256 duration, address _beneficiary)
unpause
nonpayablefunction unpause()
unstake
nonpayablefunction unstake(uint256 _id)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
Paused
event Paused(address account)
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)
Stake
event Stake(address indexed user, uint256 indexed id, uint256 amount, uint256 startTime, uint256 duration)
Unpaused
event Unpaused(address account)
UnStake
event UnStake(address indexed user, uint256 indexed id, uint256 amount, uint256 startTime, uint256 duration)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a06040523060805234801562000014575f80fd5b506200001f62000025565b620000e3565b5f54610100900460ff1615620000915760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614620000e1575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161253a620001185f395f8181610880015281816108c001528181610b4a01528181610b8a0152610c17015261253a5ff3fe60806040526004361061013c575f3560e01c80635c975abb116100b3578063b8e7023d1161006d578063b8e7023d14610336578063bb9fbe2914610355578063d547741f1461038d578063d5a44f86146103ac578063ec87621c14610402578063f72c0d8b14610422575f80fd5b80635c975abb1461029b5780637628a37d146102b25780638456cb59146102d157806391d14854146102e5578063a217fddf14610304578063b5d5b5fa14610317575f80fd5b806336568abe1161010457806336568abe146102035780633659cfe6146102225780633f4ba83a14610241578063485cc955146102555780634f1ef2861461027457806352d1902d14610287575f80fd5b806301ffc9a71461014057806312bcec3c14610174578063248a9ca3146101895780632e17de78146101c55780632f2ff15d146101e4575b5f80fd5b34801561014b575f80fd5b5061015f61015a366004611edd565b610455565b60405190151581526020015b60405180910390f35b610187610182366004611f04565b61048b565b005b348015610194575f80fd5b506101b76101a3366004611f73565b5f90815260c9602052604090206001015490565b60405190815260200161016b565b3480156101d0575f80fd5b506101876101df366004611f73565b61060f565b3480156101ef575f80fd5b506101876101fe366004611f9e565b6107cf565b34801561020e575f80fd5b5061018761021d366004611f9e565b6107f8565b34801561022d575f80fd5b5061018761023c366004611fcc565b610876565b34801561024c575f80fd5b50610187610950565b348015610260575f80fd5b5061018761026f366004611fe7565b61096f565b610187610282366004612027565b610b40565b348015610292575f80fd5b506101b7610c0b565b3480156102a6575f80fd5b5060fb5460ff1661015f565b3480156102bd575f80fd5b506101876102cc3660046120e5565b610cbc565b3480156102dc575f80fd5b50610187610f46565b3480156102f0575f80fd5b5061015f6102ff366004611f9e565b610f65565b34801561030f575f80fd5b506101b75f81565b348015610322575f80fd5b506101b761033136600461211b565b610f8f565b348015610341575f80fd5b50610187610350366004612145565b610fbb565b348015610360575f80fd5b5061015f54610375906001600160a01b031681565b6040516001600160a01b03909116815260200161016b565b348015610398575f80fd5b506101876103a7366004611f9e565b611344565b3480156103b7575f80fd5b506103cb6103c6366004611f73565b611368565b604080519687526001600160a01b0390951660208701529385019290925260608401526080830152151560a082015260c00161016b565b34801561040d575f80fd5b506101b75f805160206124be83398151915281565b34801561042d575f80fd5b506101b77f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b5f6001600160e01b03198216637965db0b60e01b148061048557506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f805160206124be8339815191526104a2816113ba565b61016054825f5b8181101561060757368686838181106104c4576104c4612165565b905060c00201905083815f0135146105145760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a59081cdd1ac81a5960921b60448201526064015b60405180910390fd5b5f6105256040830160208401611fcc565b6001600160a01b0316036105705760405162461bcd60e51b815260206004820152601260248201527124b73b30b634b21039ba359039ba30b5b2b960711b604482015260640161050b565b61016080546001810182555f9190915281906006027fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e49339663016105b18282612186565b5061016190505f6105c86040840160208501611fcc565b6001600160a01b031681526020808201929092526040015f908120805460018181018355918352929091209235929091019190915592830192016104a9565b505050505050565b6106176113c4565b61061f61140c565b805f610160828154811061063557610635612165565b5f91825260209091206001600690920201908101549091506001600160a01b031633146106955760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b604482015260640161050b565b806004015481600301546106a99190612211565b4210156106f15760405162461bcd60e51b815260206004820152601660248201527514dd185ad9481c195c9a5bd9081b9bdd08195b99195960521b604482015260640161050b565b600581015460ff16156107165760405162461bcd60e51b815260040161050b90612224565b60058101805460ff1916600117905561016080545f91908590811061073d5761073d612165565b5f9182526020909120600690910201600281015461015f5491925061076d916001600160a01b0316903390611467565b6002810154600382015460048301546040805193845260208401929092528282015251859133917ff74c9f1985016ff6aa83c3fd81e31d0be3b194f205ae5e1b57f5bd74ad28e4cf9181900360600190a35050506107cc600161012d55565b50565b5f82815260c960205260409020600101546107e9816113ba565b6107f383836114d2565b505050565b6001600160a01b03811633146108685760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161050b565b6108728282611557565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108be5760405162461bcd60e51b815260040161050b90612266565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109065f8051602061249e833981519152546001600160a01b031690565b6001600160a01b03161461092c5760405162461bcd60e51b815260040161050b906122b2565b610935816115bd565b604080515f808252602082019092526107cc918391906115e7565b5f805160206124be833981519152610967816113ba565b6107cc611751565b5f54610100900460ff161580801561098d57505f54600160ff909116105b806109a65750303b1580156109a657505f5460ff166001145b610a095760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161050b565b5f805460ff191660011790558015610a2a575f805461ff0019166101001790555b610a326117a3565b610a3a6117c9565b610a426117a3565b610a4c5f846114d2565b610a635f805160206124be833981519152846114d2565b610a8d7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3846114d2565b6001600160a01b038216610adb5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b604482015260640161050b565b61015f80546001600160a01b0319166001600160a01b03841617905580156107f3575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b885760405162461bcd60e51b815260040161050b90612266565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bd05f8051602061249e833981519152546001600160a01b031690565b6001600160a01b031614610bf65760405162461bcd60e51b815260040161050b906122b2565b610bff826115bd565b610872828260016115e7565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610caa5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161050b565b505f8051602061249e83398151915290565b610cc46113c4565b610ccc61140c565b5f8311610d2a5760405162461bcd60e51b815260206004820152602660248201527f5374616b6520616d6f756e74206d7573742062652067726561746572207468616044820152656e207a65726f60d01b606482015260840161050b565b61015f54610d43906001600160a01b03163330866117f7565b5f6001600160a01b038216610d585733610d5a565b815b6040805160c08101825261016080548083526001600160a01b0385811660208086018281528688018d81524260608901908152608089018e81525f60a08b018181526001808b018c558b83529b517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e493396636006909b029a8b015594517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e493396648a0180546001600160a01b031916919099161790975591517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e49339665880155517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e49339666870155517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e49339667860155517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e49339668909401805460ff19169415159490941790935581526101619091529290922091549293509091610ecd91906122fe565b8154600181810184555f9384526020909320015561016054610eef91906122fe565b604080518681524260208201529081018590526001600160a01b038316907f2720efa4b2dd4f3f8a347da3cbd290a522e9432da9072c5b8e6300496fdde2829060600160405180910390a3506107f3600161012d55565b5f805160206124be833981519152610f5d816113ba565b6107cc611835565b5f91825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b610161602052815f5260405f208181548110610fa9575f80fd5b905f5260205f20015f91509150505481565b610fc36113c4565b610fcb61140c565b815f6101608281548110610fe157610fe1612165565b5f91825260209091206001600690920201908101549091506001600160a01b031633146110415760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b604482015260640161050b565b806004015481600301546110559190612211565b42101561109d5760405162461bcd60e51b815260206004820152601660248201527514dd185ad9481c195c9a5bd9081b9bdd08195b99195960521b604482015260640161050b565b600581015460ff16156110c25760405162461bcd60e51b815260040161050b90612224565b60058101805460ff1916600117905561016080545f9190869081106110e9576110e9612165565b905f5260205f209060060201905084336001600160a01b03167ff74c9f1985016ff6aa83c3fd81e31d0be3b194f205ae5e1b57f5bd74ad28e4cf836002015484600301548560040154604051611152939291909283526020830191909152604082015260600190565b60405180910390a36040805160c081018252610160805480835233602080850182815260028801548688019081524260608801908152608088018d81525f60a08a018181526001808a018b558a83529a517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e493396636006909a02998a015594517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e49339664890180546001600160a01b0319166001600160a01b0390921691909117905592517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e4933966588015590517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e49339666870155517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e4933966786015590517fec7e130cdeeae65215fabbcddb1de429e603c4887cc659532eda903e49339668909401805460ff19169415159490941790935590825261016190529290922091546112ce91906122fe565b8154600181810184555f93845260209093200155610160546112f091906122fe565b600282015460408051918252426020830152810186905233907f2720efa4b2dd4f3f8a347da3cbd290a522e9432da9072c5b8e6300496fdde2829060600160405180910390a3505050610872600161012d55565b5f82815260c9602052604090206001015461135e816113ba565b6107f38383611557565b6101608181548110611378575f80fd5b5f9182526020909120600690910201805460018201546002830154600384015460048501546005909501549395506001600160a01b0390921693909260ff1686565b6107cc8133611872565b60fb5460ff161561140a5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161050b565b565b600261012d540361145f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161050b565b600261012d55565b6040516001600160a01b0383166024820152604481018290526107f390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526118cb565b600161012d55565b6114dc8282610f65565b610872575f82815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115133390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6115618282610f65565b15610872575f82815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610872816113ba565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561161a576107f38361199e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611674575060408051601f3d908101601f1916820190925261167191810190612311565b60015b6116d75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161050b565b5f8051602061249e83398151915281146117455760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161050b565b506107f3838383611a39565b611759611a5d565b60fb805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f54610100900460ff1661140a5760405162461bcd60e51b815260040161050b90612328565b5f54610100900460ff166117ef5760405162461bcd60e51b815260040161050b90612328565b61140a611aa6565b6040516001600160a01b038085166024830152831660448201526064810182905261182f9085906323b872dd60e01b90608401611493565b50505050565b61183d6113c4565b60fb805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586117863390565b61187c8282610f65565b6108725761188981611acc565b611894836020611ade565b6040516020016118a5929190612395565b60408051601f198184030181529082905262461bcd60e51b825261050b91600401612409565b5f61191f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c7b9092919063ffffffff16565b905080515f148061193f57508080602001905181019061193f919061243b565b6107f35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161050b565b6001600160a01b0381163b611a0b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161050b565b5f8051602061249e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611a4283611c91565b5f82511180611a4e5750805b156107f35761182f8383611cd0565b60fb5460ff1661140a5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161050b565b5f54610100900460ff166114ca5760405162461bcd60e51b815260040161050b90612328565b60606104856001600160a01b03831660145b60605f611aec836002612456565b611af7906002612211565b67ffffffffffffffff811115611b0f57611b0f612013565b6040519080825280601f01601f191660200182016040528015611b39576020820181803683370190505b509050600360fc1b815f81518110611b5357611b53612165565b60200101906001600160f81b03191690815f1a905350600f60fb1b81600181518110611b8157611b81612165565b60200101906001600160f81b03191690815f1a9053505f611ba3846002612456565b611bae906001612211565b90505b6001811115611c25576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611be257611be2612165565b1a60f81b828281518110611bf857611bf8612165565b60200101906001600160f81b03191690815f1a90535060049490941c93611c1e8161246d565b9050611bb1565b508315611c745760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161050b565b9392505050565b6060611c8984845f85611cf5565b949350505050565b611c9a8161199e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060611c7483836040518060600160405280602781526020016124de60279139611dcc565b606082471015611d565760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161050b565b5f80866001600160a01b03168587604051611d719190612482565b5f6040518083038185875af1925050503d805f8114611dab576040519150601f19603f3d011682016040523d82523d5f602084013e611db0565b606091505b5091509150611dc187838387611e40565b979650505050505050565b60605f80856001600160a01b031685604051611de89190612482565b5f60405180830381855af49150503d805f8114611e20576040519150601f19603f3d011682016040523d82523d5f602084013e611e25565b606091505b5091509150611e3686838387611e40565b9695505050505050565b60608315611eae5782515f03611ea7576001600160a01b0385163b611ea75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161050b565b5081611c89565b611c898383815115611ec35781518083602001fd5b8060405162461bcd60e51b815260040161050b9190612409565b5f60208284031215611eed575f80fd5b81356001600160e01b031981168114611c74575f80fd5b5f8060208385031215611f15575f80fd5b823567ffffffffffffffff80821115611f2c575f80fd5b818501915085601f830112611f3f575f80fd5b813581811115611f4d575f80fd5b86602060c083028501011115611f61575f80fd5b60209290920196919550909350505050565b5f60208284031215611f83575f80fd5b5035919050565b6001600160a01b03811681146107cc575f80fd5b5f8060408385031215611faf575f80fd5b823591506020830135611fc181611f8a565b809150509250929050565b5f60208284031215611fdc575f80fd5b8135611c7481611f8a565b5f8060408385031215611ff8575f80fd5b823561200381611f8a565b91506020830135611fc181611f8a565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215612038575f80fd5b823561204381611f8a565b9150602083013567ffffffffffffffff8082111561205f575f80fd5b818501915085601f830112612072575f80fd5b81358181111561208457612084612013565b604051601f8201601f19908116603f011681019083821181831017156120ac576120ac612013565b816040528281528860208487010111156120c4575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f805f606084860312156120f7575f80fd5b8335925060208401359150604084013561211081611f8a565b809150509250925092565b5f806040838503121561212c575f80fd5b823561213781611f8a565b946020939093013593505050565b5f8060408385031215612156575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52603260045260245ffd5b80151581146107cc575f80fd5b8135815560018101602083013561219c81611f8a565b81546001600160a01b0319166001600160a01b03919091161790556040820135600282015560608201356003820155608082013560048201556005810160a08301356121e781612179565b815490151560ff1660ff19919091161790555050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610485576104856121fd565b60208082526022908201527f5374616b65206e6f742076616c6964206f7220616c726561647920636c61696d604082015261195960f21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b81810381811115610485576104856121fd565b5f60208284031215612321575f80fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5b8381101561238d578181015183820152602001612375565b50505f910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f83516123cc816017850160208801612373565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516123fd816028840160208801612373565b01602801949350505050565b602081525f8251806020840152612427816040850160208701612373565b601f01601f19169190910160400192915050565b5f6020828403121561244b575f80fd5b8151611c7481612179565b8082028115828204841417610485576104856121fd565b5f8161247b5761247b6121fd565b505f190190565b5f8251612493818460208701612373565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220af4534a4d31fbab07f2fdc6c18642ce54c16198d7dac5dee56d55ad21e5b193864736f6c63430008140033