0 txs
1.5k calls
constructor
No constructor.
functions
apr
viewfunction apr() view returns (uint256)
balance
viewfunction balance(address) view returns (uint256 lockedAmount, uint256 withdrawn, bool instantUnlockWithdrawn, bool blacklisted)
claimingBeginningTimestamp
viewfunction claimingBeginningTimestamp() view returns (uint256)
coinBox
viewfunction coinBox() view returns (address)
cusum
viewfunction cusum() view returns (uint256)
getOwedValue
viewfunction getOwedValue(address user_) view returns (uint256)
lastUpdate
viewfunction lastUpdate() view returns (uint256)
owner
viewfunction owner() view returns (address)
PRECISION
viewfunction PRECISION() view returns (uint256)
representativeBalanceUse
viewfunction representativeBalanceUse() view returns (bool)
stakingBeginningTimestamp
viewfunction stakingBeginningTimestamp() view returns (uint256)
stakingEndingTimestamp
viewfunction stakingEndingTimestamp() view returns (uint256)
token
viewfunction token() view returns (address)
totalStaked
viewfunction totalStaked() view returns (uint256)
unlockPercent
viewfunction unlockPercent() view returns (uint256)
userStakeInfo
viewfunction userStakeInfo(address) view returns (uint256 staked, uint256 cusum, uint256 owedValue)
vestingBeginningTimestamp
viewfunction vestingBeginningTimestamp() view returns (uint256)
vestingDuration
viewfunction vestingDuration() view returns (uint256)
vestingEndingTimestamp
viewfunction vestingEndingTimestamp() view returns (uint256)
withdrawingBeginningTimestamp
viewfunction withdrawingBeginningTimestamp() view returns (uint256)
changeBlacklistStatuses
nonpayablefunction changeBlacklistStatuses(address[] balances_, bool[] statuses_)
claim
nonpayablefunction claim() returns (uint256 owedValue)
initialize
nonpayablefunction initialize(uint256 apr_, uint256 stakingBeginningTimestamp_, uint256 stakingEndingTimestamp_, uint256 claimingBeginningTimestamp_, uint256 withdrawingBeginningTimestamp_, uint256 vestingBeginningTimestamp_, uint256 vestingEndingTimestamp_, uint256 unlockPercent_, address token_, address coinBox_, bool representativeBalanceUse_)
recalculate
nonpayablefunction recalculate(address user_)
renounceOwnership
nonpayablefunction renounceOwnership()
setApr
nonpayablefunction setApr(uint256 apr_)
setClaimingBeginningTimestamp
nonpayablefunction setClaimingBeginningTimestamp(uint256 timestamp_)
setCoinBox
nonpayablefunction setCoinBox(address coinBox_)
setRepresentativeBalanceUse
nonpayablefunction setRepresentativeBalanceUse(bool representativeBalanceUse_)
setStakingBeginningTimestamp
nonpayablefunction setStakingBeginningTimestamp(uint256 timestamp_)
setStakingEndingTimestamp
nonpayablefunction setStakingEndingTimestamp(uint256 timestamp_)
setUnlockPercent
nonpayablefunction setUnlockPercent(uint256 newUnlockPercent)
setVestingBeginningTimestamp
nonpayablefunction setVestingBeginningTimestamp(uint256 timestamp)
setVestingEndingTimestamp
nonpayablefunction setVestingEndingTimestamp(uint256 timestamp)
stake
nonpayablefunction stake(uint256 amount_)
stakeWithRepresentative
nonpayablefunction stakeWithRepresentative(uint256 amount_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(bool claim_) returns (uint256 withdrawn)
events
AprUpdated
event AprUpdated(uint256 newRate)
ClaimedFromStaking
event ClaimedFromStaking(address user, uint256 amount)
ClaimedFromVesting
event ClaimedFromVesting(uint256 amount, address user)
Deposited
event Deposited(uint256 amount, address user)
Erc20Recovered
event Erc20Recovered(address token, uint256 amount)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6080806040523461001657611e1d908161001c8239f35b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c908162ee08c114611462575080631141335814610f295780631514617e14610f0b5780632ce8631514610eed5780632d3bac1b14610ebb578063377a14af14610d8657806338f6231c14610d095780634aa1c8ef14610cce5780634e71d92d14610c405780634ead432714610bf057806357ded9c914610bd257806359cee29c14610bad578063715018a614610b31578063756688c014610b1557806378fc4ccf14610af35780637f6b59ce14610ad5578063817b1cd214610ab75780638da5cb5b14610a715780639bffa1ca14610a225780639c31a03214610a04578063a201222d146109d6578063a2bf0682146109b8578063a694fc3a146108f7578063a810a54c14610610578063aaf5eb68146105ee578063af7bfb96146105d0578063b84d1deb1461052f578063b867eca814610511578063c0463711146104f3578063c9aaa44b146104be578063ca2f95d21461049b578063d626f01f1461041e578063e09162bd14610330578063e358427f146102b1578063e3d670d71461024a578063e486e4441461022c578063f2fde38b146101f05763fc0c546a146101c357600080fd5b346101ec57816003193601126101ec576020906001600160a01b03600c5460081c169051908152f35b5080fd5b8234610229576020366003190112610229576004356001600160a01b03811681036101ec57610226906102216114c7565b611512565b80f35b80fd5b50346101ec57816003193601126101ec576020906002549051908152f35b50346101ec5760203660031901126101ec576004356001600160a01b0381168091036102ad57818360ff9260809552600e6020522080549260026001830154920154918151948552602085015282821615159084015260081c1615156060820152f35b8280fd5b50346101ec5760203660031901126101ec57600435906102cf6114c7565b8142116102ed5750806102e791600155600254611598565b60035580f35b5162461bcd60e51b815260206004820152601d60248201527f436f696e5374616b65723a2074696d657374616d7020696e20706173740000006044820152606490fd5b50346101ec57806003193601126101ec5767ffffffffffffffff9060043582811161041a57610363903690600401611496565b9160249384359081116104165761037e903690600401611496565b6103899491946114c7565b865b828110610396578780f35b6103a18183886119fe565b35801515809103610412576103b78285886119fe565b356001600160a01b03811680910361040e578952600e6020526002858a20019061ff0082549160081b169061ff00191617905560001981146103fb5760010161038b565b634e487b7160e01b885260116004528688fd5b8980fd5b8880fd5b8580fd5b8380fd5b50346101ec5760203660031901126101ec576004359061043c6114c7565b600a544210156104585750610452428211611901565b600a5580f35b5162461bcd60e51b815260206004820152601360248201527f436f696e5374616b65723a2073746172746564000000000000000000000000006044820152606490fd5b50346101ec57816003193601126101ec5760209060ff600c541690519015158152f35b8234610229576020366003190112610229576104d8611487565b6104e06114c7565b60ff8019600c54169115151617600c5580f35b50346101ec57816003193601126101ec576020906006549051908152f35b50346101ec57816003193601126101ec57602090600a549051908152f35b5090346102295760203660031901126102295760043561054d6114c7565b600154908181106105665790816102e792600255611598565b835162461bcd60e51b815260206004820152602b60248201527f436f696e5374616b65723a2073746172742074696d657374616d70206269676760448201527f6572207468616e20656e640000000000000000000000000000000000000000006064820152608490fd5b50346101ec57816003193601126101ec576020906005549051908152f35b50346101ec57816003193601126101ec5760209051670de0b6b3a76400008152f35b50903461022957602091826003193601126101ec5761062d611487565b338352600e845261064a60ff6002848620015460081c1615611694565b600b5442106108a757338352600e84528183209242600254111560001461085a5761067b8454600186015490611598565b935b84156107f057338252600f86526106998483205486111561172b565b6106a233611a71565b83826002830180549060ff82161561075d575b50509160019161071394936106cc89600454611598565b600455338152600f8a52206106e2888254611598565b9055016106f086825461178a565b905561070b6001600160a01b03600c5460081c16918661178a565b903390611797565b81518381523360208201527f4afb8b823fe6242510698f45ee9bf9b2f96bdcaa5915f4641e3da06e2ee761b690604090a161074f575b51908152f35b610757611d01565b50610749565b919250935060015442106107ac579185600192610713959484845496610798670de0b6b3a764000061079086548b611777565b048099611598565b865560ff19161790559193948193506106b5565b855162461bcd60e51b815260048101899052601f60248201527f436f696e5374616b65723a2076657374696e67206e6f742073746172746564006044820152606490fd5b835162461bcd60e51b815260048101879052602b60248201527f436f696e5374616b65723a2077697468647261776e2068617320746f2062652060448201527f6d6f7265207468616e20300000000000000000000000000000000000000000006064820152608490fd5b61086660015442611598565b84546003549182156108915761088b926108809204611777565b600186015490611598565b9361067d565b634e487b7160e01b600052601260045260246000fd5b815162461bcd60e51b815260048101859052602360248201527f436f696e5374616b65723a207769746864726177616c73206e6f7420616c6c6f6044820152621dd95960ea1b6064820152608490fd5b50346101ec5760203660031901126101ec57816004359161091c6008544210156115fc565b61092a600954421115611648565b338252600e60205261094860ff6002838520015460081c1615611694565b6001600160a01b03600d541690813b156102ad57805163073ff25960e01b8152336004820152602481018590529183908390604490829084905af19081156109af575061099b575b506102268233611b22565b6109a4906116df565b6101ec578138610990565b513d84823e3d90fd5b50346101ec57816003193601126101ec576020906001549051908152f35b8234610229576020366003190112610229576004356001600160a01b03811681036101ec5761022690611a71565b50346101ec57816003193601126101ec57602090600b549051908152f35b8234610229576020366003190112610229576004356001600160a01b038116809103610a6c57610a506114c7565b610a58611a24565b6001600160a01b0319600d541617600d5580f35b600080fd5b50346101ec57816003193601126101ec576020906001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169051908152f35b50346101ec57816003193601126101ec576020906004549051908152f35b50346101ec57816003193601126101ec576020906009549051908152f35b823461022957602036600319011261022957610b0d6114c7565b600435815580f35b50346101ec57816003193601126101ec57602091549051908152f35b8234610229578060031936011261022957610b4a6114c7565b60006001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993008054906001600160a01b031982169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b823461022957602036600319011261022957610bc76114c7565b610226600435611cc8565b50346101ec57816003193601126101ec576020906007549051908152f35b50346101ec5760203660031901126101ec576004356001600160a01b0381168091036102ad5782829160609452600f60205220805491600260018301549201549181519384526020840152820152f35b50903461022957806003193601126102295760ff600283610c7093338152600e60205220015460081c1615611694565b600a544210610c8b57602090610c84611d01565b9051908152f35b5162461bcd60e51b815260206004820181905260248201527f436f696e5374616b65723a20636c61696d696e67206e6f7420616c6c6f7765646044820152606490fd5b823461022957602036600319011261022957600435610ceb6114c7565b610cf86009544210611648565b610d03428211611901565b60095580f35b50346101ec5760203660031901126101ec5760043590610d276114c7565b600854421015610d435750610d3d428211611901565b60085580f35b5162461bcd60e51b815260206004820152601b60248201527f436f696e5374616b65723a20616c7265616479207374617274656400000000006044820152606490fd5b50346101ec5760203660031901126101ec5760043590610daa6008544210156115fc565b610db8600954421115611648565b338352600e602052610dd660ff6002838620015460081c1615611694565b60ff600c541615610e52576001600160a01b03600d541690813b1561041a578051631c61216360e21b8152336004820152602481018490529184908390604490829084905af1908115610e495750610e34575b506102269033611b22565b91610e4261022692936116df565b9190610e29565b513d85823e3d90fd5b5162461bcd60e51b815260206004820152603060248201527f436f696e5374616b65723a20726570726573656e746174697665732062616c6160448201527f6e636573206e6f7420616c6c6f776564000000000000000000000000000000006064820152608490fd5b50346101ec5760203660031901126101ec57600435916001600160a01b03831683036102295750610c84602092611957565b50346101ec57816003193601126101ec576020906008549051908152f35b50346101ec57816003193601126101ec576020906003549051908152f35b50346101ec576101603660031901126101ec576001600160a01b0380610104351661010435036102ad5761012435818116810361041a5761014435801515810361145e577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549267ffffffffffffffff84161580611451575b600167ffffffffffffffff8616149081611447575b15908161143e575b5061142d5767ffffffffffffffff1984166001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583851c60ff16156113ee575b602435421161139257604435602435116113285780610104351615158061131d575b156112d95760a435421161127d5760a43560c43510611213576024356084351180611206575b1561119c5760ff939291849161105d6115bb565b6110656115bb565b61106e33611512565b611079600435611cc8565b602435600855604435600955606435600a55608435600b5560a43560015560c4356002556110ab60a43560c435611598565b60035560e4358855600c5493166001600160a01b0319600d541617600d55151516907fffffffffffffffffffffff00000000000000000000000000000000000000000074ffffffffffffffffffffffffffffffffffffffff006101043560081b1691161717600c55821c161561111f575080f35b60207fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29168ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00555160018152a180f35b845162461bcd60e51b815260206004820152602b60248201527f436f696e5374616b65723a207769746864726177696e672074696d657374616d60448201527f7020696e636f72726563740000000000000000000000000000000000000000006064820152608490fd5b5060443560843510611049565b845162461bcd60e51b815260206004820152603760248201527f436f696e5374616b65723a2076657374696e6720626567696e6e696e6720746960448201527f6d657374616d7020626967676572207468616e20656e640000000000000000006064820152608490fd5b845162461bcd60e51b815260206004820152602f60248201527f436f696e5374616b65723a2076657374696e6720626567696e6e696e6720746960448201526e1b595cdd185b5c081a5b881c185cdd608a1b6064820152608490fd5b845162461bcd60e51b815260206004820152601860248201527f436f696e5374616b65723a207a65726f206164647265737300000000000000006044820152606490fd5b508083161515611023565b845162461bcd60e51b815260206004820152603a60248201527f436f696e5374616b65723a207374616b696e6720626567696e6e696e6720746960448201527f6d657374616d7020626967676572207468616e20656e64696e670000000000006064820152608490fd5b845162461bcd60e51b815260206004820152602f60248201527f436f696e5374616b65723a207374616b696e6720626567696e6e696e6720746960448201526e1b595cdd185b5c081a5b881c185cdd608a1b6064820152608490fd5b68ffffffffffffffffff19841668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055611001565b845163f92ee8a960e01b8152600490fd5b90501538610fbf565b303b159150610fb7565b5060ff84861c1615610fa2565b8480fd5b8390346101ec57816003193601126101ec576020906001600160a01b03600d54168152f35b600435908115158203610a6c57565b9181601f84011215610a6c5782359167ffffffffffffffff8311610a6c576020808501948460051b010111610a6c57565b6001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300541633036114fa57565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160a01b0380911690811561157f577f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805490836001600160a01b03198316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b604051631e4fbdf760e01b815260006004820152602490fd5b919082039182116115a557565b634e487b7160e01b600052601160045260246000fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156115ea57565b604051631afcd79f60e31b8152600490fd5b1561160357565b60405162461bcd60e51b815260206004820152601760248201527f436f696e5374616b65723a206e6f7420737461727465640000000000000000006044820152606490fd5b1561164f57565b60405162461bcd60e51b815260206004820152601160248201527f436f696e5374616b65723a20656e6465640000000000000000000000000000006044820152606490fd5b1561169b57565b606460405162461bcd60e51b815260206004820152602060248201527f436f696e5374616b65723a2062616c616e636520696e20626c61636b6c6973746044820152fd5b67ffffffffffffffff81116116f357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176116f357604052565b1561173257565b60405162461bcd60e51b815260206004820152601f60248201527f436f696e5374616b65723a20696e73756666696369656e7420616d6f756e74006044820152606490fd5b818102929181159184041417156115a557565b919082018092116115a557565b60405163a9059cbb60e01b602082019081526001600160a01b0393841660248301526044808301959095529381529291601f19916117d6606486611709565b1692600080938192519082875af13d15611891573d67ffffffffffffffff811161187d57906118259291611815602060405194601f8401160184611709565b82523d84602084013e5b8461189e565b908151918215159283611855575b50505061183d5750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126101ec5760200151908115918215036102295750388080611833565b634e487b7160e01b84526041600452602484fd5b611825915060609061181f565b906118c557508051156118b357805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806118f8575b6118d6575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156118ce565b1561190857565b60405162461bcd60e51b815260206004820152602160248201527f436f696e5374616b65723a2074696d657374616d70206f7574206f66206461746044820152606560f81b6064820152608490fd5b6001600160a01b0316600052600f6020526040600020600554906004546119af575b6002670de0b6b3a76400006119a26119ac9461199c855491600187015490611598565b90611777565b049101549061178a565b90565b6119bb60065442611c99565b670de0b6b3a764000092838202918083048514901517156115a5576119a26119f4670de0b6b3a7640000926119ac96600295049061178a565b9450505050611979565b9190811015611a0e5760051b0190565b634e487b7160e01b600052603260045260246000fd5b600554600454611a36575b5042600655565b611a4260065442611c99565b90670de0b6b3a7640000808302928084048214901517156115a557611a6892049061178a565b60055538611a2f565b60055490600454611ada575b6001600160a01b031680611a94575b505042600655565b600052600f6020526040600020805490611ad06002670de0b6b3a7640000611ac5600185019561199c875489611598565b04920191825461178a565b9055553880611a8c565b90611ae760065442611c99565b670de0b6b3a764000091828202918083048414901517156115a5576001600160a01b0392611b1692049061178a565b91826005559050611a7d565b6001600160a01b0381169182600052600e6020526040600020611b4682825461178a565b90558215611c2e578015611bc3577f21d3f238b5a9e25ffc48b8320bc1d58882b1d90d0b4fcc7ba9707e3aebfedf1692611b7f83611a71565b611b8b8260045461178a565b600455600052600f6020526040600020611ba682825461178a565b9055604080519182526001600160a01b03929092166020820152a1565b60405162461bcd60e51b815260206004820152602860248201527f436f696e5374616b65723a20616d6f756e742068617320746f206265206d6f7260448201527f65207468616e20300000000000000000000000000000000000000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f436f696e5374616b65723a207a65726f2061646472657373206973206e6f742060448201527f616c6c6f776564000000000000000000000000000000000000000000000000006064820152608490fd5b908060095410611cc157611cb5611cbd916301e1338093611598565b600754611777565b0490565b5050600090565b60207f16bc525116a7ec45cf36d84a97ab6b444a8c5264cc1a9468bfae78613156111591611cf4611a24565b80600755604051908152a1565b611d0a33611957565b8015611da257611d1933611a71565b33600052600f602052611d3660026040600020015482111561172b565b33600052600f6020526002604060002001611d52828254611598565b9055611d6d81336001600160a01b03600c5460081c16611797565b60408051338152602081018390527f13442eb952e99b9d273cd415e08e5d0e5a5ee3a237dd7d0f2fece7d7e72bdcd69190a190565b60405162461bcd60e51b815260206004820152601760248201527f436f696e5374616b65723a207a65726f20616d6f756e740000000000000000006044820152606490fdfea264697066735822122043ed07aef8976df3b9a201bfed73542e8f2c506271721001ae1516be72cabdae64736f6c63430008150033