function submit(address _referral) external payable returns (uint256);
function getTotalPooledEther() external view returns (uint256);
function getTotalShares() external view returns (uint256);
function getSharesByPooledEth(uint256 _ethAmount) external view returns (uint256);
function getCurrentStakeLimit() external view returns (uint256);
function approve(address spender, uint256 value) external returns (bool);