[ { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_delegator", "type": "address" } ], "name": "poolDelegatorIndex", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" } ], "name": "stakeAmountTotalMinusOrderedWithdraw", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_erc20TokenContract", "type": "address" } ], "name": "setErc20TokenContract", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_fromPoolStakingAddress", "type": "address" }, { "name": "_toPoolStakingAddress", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "moveStake", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_minStake", "type": "uint256" } ], "name": "setDelegatorMinStake", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_stakingAddress", "type": "address" } ], "name": "removePool", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "removePool", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_minStake", "type": "uint256" } ], "name": "setCandidateMinStake", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" } ], "name": "stakeAmountTotal", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_staker", "type": "address" } ], "name": "stakeAmountMinusOrderedWithdraw", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_stakingAddress", "type": "address" } ], "name": "poolInactiveIndex", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getPools", "outputs": [ { "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_staker", "type": "address" } ], "name": "maxWithdrawAllowed", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_staker", "type": "address" } ], "name": "stakeAmountByCurrentEpoch", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "stakingEpoch", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getDelegatorMinStake", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "erc20TokenContract", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getCandidateMinStake", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_staker", "type": "address" } ], "name": "maxWithdrawOrderAllowed", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_delegator", "type": "address" } ], "name": "poolDelegatorInactiveIndex", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getPoolsLikelihood", "outputs": [ { "name": "likelihoods", "type": "int256[]" }, { "name": "sum", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_unremovableStakingAddress", "type": "address" } ], "name": "clearUnremovableValidator", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" } ], "name": "poolDelegators", "outputs": [ { "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_staker", "type": "address" } ], "name": "orderWithdrawEpoch", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" }, { "name": "", "type": "uint256" }, { "name": "", "type": "bytes" } ], "name": "onTokenTransfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "getPoolsToBeElected", "outputs": [ { "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_staker", "type": "address" } ], "name": "stakeAmount", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_stakingAddress", "type": "address" } ], "name": "isPoolActive", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_toPoolStakingAddress", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "stake", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_stakingAddress", "type": "address" } ], "name": "poolIndex", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_amount", "type": "int256" } ], "name": "orderWithdraw", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "STAKE_UNIT", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_poolStakingAddress", "type": "address" } ], "name": "claimOrderedWithdraw", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "getPoolsToBeRemoved", "outputs": [ { "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" } ], "name": "orderedWithdrawAmountTotal", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getPoolsInactive", "outputs": [ { "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "validatorSetContract", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { "name": "_staker", "type": "address" } ], "name": "orderedWithdrawAmount", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_DELEGATORS_PER_POOL", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_stakingAddress", "type": "address" } ], "name": "poolToBeRemovedIndex", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "incrementStakingEpoch", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_CANDIDATES", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_fromPoolStakingAddress", "type": "address" }, { "name": "_amount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_stakingAddress", "type": "address" } ], "name": "poolToBeElectedIndex", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "fromPoolStakingAddress", "type": "address" }, { "indexed": true, "name": "staker", "type": "address" }, { "indexed": true, "name": "stakingEpoch", "type": "uint256" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "Claimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "toPoolStakingAddress", "type": "address" }, { "indexed": true, "name": "staker", "type": "address" }, { "indexed": true, "name": "stakingEpoch", "type": "uint256" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "Staked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "fromPoolStakingAddress", "type": "address" }, { "indexed": true, "name": "toPoolStakingAddress", "type": "address" }, { "indexed": true, "name": "staker", "type": "address" }, { "indexed": true, "name": "stakingEpoch", "type": "uint256" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "StakeMoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "fromPoolStakingAddress", "type": "address" }, { "indexed": true, "name": "staker", "type": "address" }, { "indexed": true, "name": "stakingEpoch", "type": "uint256" }, { "indexed": false, "name": "amount", "type": "int256" } ], "name": "WithdrawalOrdered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "fromPoolStakingAddress", "type": "address" }, { "indexed": true, "name": "staker", "type": "address" }, { "indexed": true, "name": "stakingEpoch", "type": "uint256" }, { "indexed": false, "name": "amount", "type": "uint256" } ], "name": "Withdrawn", "type": "event" }, { "constant": false, "inputs": [ { "name": "_amount", "type": "uint256" }, { "name": "_miningAddress", "type": "address" } ], "name": "addPool", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_validatorSetContract", "type": "address" }, { "name": "_erc20TokenContract", "type": "address" }, { "name": "_initialStakingAddresses", "type": "address[]" }, { "name": "_delegatorMinStake", "type": "uint256" }, { "name": "_candidateMinStake", "type": "uint256" }, { "name": "_stakingEpochDuration", "type": "uint256" }, { "name": "_stakeWithdrawDisallowPeriod", "type": "uint256" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_blockNumber", "type": "uint256" } ], "name": "setStakingEpochStartBlock", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "areStakeAndWithdrawAllowed", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "stakeWithdrawDisallowPeriod", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "stakingEpochDuration", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "stakingEpochStartBlock", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "stakingEpochEndBlock", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" } ]