编译器
0.4.25+commit.59dbf8f1
文件 1 的 10:SafeMath.sol
pragma solidity ^0.4.25;
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a / b;
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
function max64(uint64 a, uint64 b) internal constant returns (uint64) {
return a >= b ? a : b;
}
function min64(uint64 a, uint64 b) internal constant returns (uint64) {
return a < b ? a : b;
}
function max256(uint256 a, uint256 b) internal constant returns (uint256) {
return a >= b ? a : b;
}
function min256(uint256 a, uint256 b) internal constant returns (uint256) {
return a < b ? a : b;
}
function abs128(int128 a) internal constant returns (int128) {
return a < 0 ? a * -1 : a;
}
}
文件 2 的 10:WednesdayClub.sol
pragma solidity ^0.4.25;
import "./ownable.sol";
import "./pausable.sol";
import "./destructible.sol";
import "./tokenInterfaces.sol";
import "./repayable.sol";
import "./WednesdayClubPost.sol";
import "./WednesdayClubComment.sol";
import "./WednesdayClubUser.sol";
contract WednesdayClub is Ownable, Destructible, Pausable, Repaying, WednesdayClubPost, WednesdayClubComment, WednesdayClubUser {
modifier onlyWednesdays() {
uint8 dayOfWeek = uint8((now / 86400 + 4) % 7);
require(dayOfWeek == 3);
_;
}
WednesdayCoin public wednesdayCoin;
constructor() public {
wednesdayCoin = WednesdayCoin(0x7848ae8F19671Dc05966dafBeFbBbb0308BDfAbD);
amountForPost = 10000000000000000000000;
amountForComment = 1000000000000000000000;
postInterval = 10 minutes;
commentInterval = 5 minutes;
minimumToLikePost = 1000000000000000000000;
minimumToLikeComment = 100000000000000000000;
minimumForFollow = 100000000000000000000;
minimumForReporting = 100000000000000000000;
minimumForUpdatingProfile = 100000000000000000000;
minimumForBlockingUser = 100000000000000000000;
reportInterval = 10 minutes;
}
function () public payable {}
function writePost(uint256 _id, uint256 _value, string _content, string _media) public onlyWednesdays repayable whenNotPaused whenNotSuspended whenTimeElapsedPost {
require(amountForPost == _value);
require(bytes(_content).length > 0 || bytes(_media).length > 0);
_id = uint256(keccak256(_id, now, blockhash(block.number - 1), block.coinbase));
require(posts[_id].id != _id);
if (wednesdayCoin.transferFrom(msg.sender, this, _value)) {
emit PostContent(_id, _content, _media);
Post memory post = Post(_id, msg.sender, 0, 0, now, 0);
userPosts[msg.sender].push(_id);
posts[_id] = post;
postIds.push(_id);
postTime[msg.sender] = now;
} else {
revert();
}
}
function likePost(uint256 _id, uint256 _value) public onlyWednesdays repayable whenNotPaused whenNotSuspended {
require(_value >= minimumToLikePost);
if (posts[_id].id == _id) {
require(posts[_id].poster != msg.sender);
if (wednesdayCoin.transferFrom(msg.sender, posts[_id].poster, _value)) {
posts[_id].value += _value;
posts[_id].likes++;
} else {
revert();
}
}
}
function reportPost(uint256 _id, uint256 _value) public onlyWednesdays repayable whenNotPaused whenNotSuspended {
require(hasElapsedReport());
if (posts[_id].id == _id) {
require(posts[_id].poster != msg.sender);
if (wednesdayCoin.transferFrom(msg.sender, this, _value)) {
posts[_id].reportCount++;
reportTime[msg.sender] = now;
} else {
revert();
}
}
}
function deleteUserPost(address _user, uint256 _id) public onlyOwner {
for(uint i = 0; i < userPosts[_user].length; i++) {
if(userPosts[_user][i] == _id){
delete userPosts[_user][i];
}
}
}
function deletePublicPost(uint256 _id) public onlyOwner {
if(posts[_id].id == _id){
delete posts[_id];
}
}
function deleteIdFromPostIds(uint256 _id) public onlyOwner {
uint256 indexToDelete;
for(uint i = 0; i < postIds.length; i++) {
if(postIds[i] == _id) {
indexToDelete = i;
}
}
delete postIds[indexToDelete];
}
function deleteAllPosts() public onlyOwner {
deleteAllPosts(postIds.length);
}
function deleteAllPosts(uint256 _amountToDelete) public onlyOwner {
for(uint i = 0; i < _amountToDelete; i++) {
address poster = posts[postIds[i]].poster;
deleteUserPost(poster, posts[postIds[i]].id);
deletePublicPost(posts[postIds[i]].id);
deleteIdFromPostIds(posts[postIds[i]].id);
}
}
function deletePost(address _user, uint256 _id) public onlyOwner {
deleteUserPost(_user, _id);
deletePublicPost(_id);
deleteIdFromPostIds(_id);
}
function writeComment(uint256 _id, uint256 _parentId, uint256 _value, string _content, string _media) public onlyWednesdays repayable whenNotPaused whenNotSuspended whenTimeElapsedComment {
require(amountForComment == _value);
require(bytes(_content).length > 0 || bytes(_media).length > 0);
_id = uint256(keccak256(_id, now, blockhash(block.number - 1), block.coinbase));
require(posts[_parentId].id == _parentId);
require(comments[_id].id != _id);
if (wednesdayCoin.transferFrom(msg.sender, posts[_parentId].poster, _value)) {
emit CommentContent(_id, _content, _media);
Comment memory comment = Comment(_id, _parentId, msg.sender, 0, 0, now, 0);
userComments[msg.sender].push(_id);
comments[_id] = comment;
postComments[_parentId].push(_id);
commentTime[msg.sender] = now;
} else {
revert();
}
}
function likeComment(uint256 _id, uint256 _value) public onlyWednesdays repayable whenNotPaused whenNotSuspended {
require(_value >= minimumToLikeComment);
if (comments[_id].id == _id) {
require(comments[_id].commenter != msg.sender);
if (wednesdayCoin.transferFrom(msg.sender, comments[_id].commenter, _value)) {
comments[_id].value += _value;
comments[_id].likes++;
} else {
revert();
}
}
}
function reportComment(uint256 _id, uint256 _value) public onlyWednesdays repayable whenNotPaused whenNotSuspended {
require(hasElapsedReport());
if (comments[_id].id == _id) {
require(comments[_id].commenter != msg.sender);
if (wednesdayCoin.transferFrom(msg.sender, this, _value)) {
comments[_id].reportCount++;
reportTime[msg.sender] = now;
} else {
revert();
}
}
}
function deleteUserComment(address _user, uint256 _id) public onlyOwner {
for(uint i = 0; i < userComments[_user].length; i++) {
if(userComments[_user][i] == _id){
delete userComments[_user][i];
}
}
}
function deletePublicComment(uint256 _id) public onlyOwner {
if(comments[_id].id == _id){
delete comments[_id];
}
}
function deleteComment(address _user, uint256 _id) public onlyOwner {
deleteUserComment(_user, _id);
deletePublicComment(_id);
}
function updateProfile(string _username, string _about, string _profilePic, string _site, uint256 _value) public onlyWednesdays repayable whenNotPaused whenNotSuspended {
require(_value >= minimumForUpdatingProfile);
if (wednesdayCoin.transferFrom(msg.sender, this, _value)) {
if (users[msg.sender].id != msg.sender) {
User memory user = User(msg.sender, '', '', '', '');
users[msg.sender] = user;
}
if (bytes(_username).length > 0) {
users[msg.sender].username = _username;
}
if (bytes(_about).length > 0) {
users[msg.sender].about = _about;
}
if (bytes(_profilePic).length > 0) {
users[msg.sender].profilePic = _profilePic;
}
if (bytes(_site).length > 0) {
users[msg.sender].site = _site;
}
} else {
revert();
}
}
function follow(address _address, uint256 _value) public onlyWednesdays repayable whenNotPaused whenNotSuspended {
require(_value >= minimumForFollow);
require(msg.sender != _address);
if (wednesdayCoin.transferFrom(msg.sender, _address, _value)) {
following[msg.sender].push(_address);
followers[_address].push(msg.sender);
} else {
revert();
}
}
function unfollow(address _address) public onlyWednesdays repayable whenNotPaused whenNotSuspended {
require(msg.sender != _address);
for(uint i = 0; i < following[msg.sender].length; i++) {
if(following[msg.sender][i] == _address){
delete following[msg.sender][i];
}
}
for(i = 0; i < followers[_address].length; i++) {
if(followers[_address][i] == msg.sender){
delete followers[_address][i];
}
}
}
function blockUser(address _address, uint256 _value) public onlyWednesdays repayable whenNotPaused whenNotSuspended {
require(_value >= minimumForBlockingUser);
require(msg.sender != _address);
if (wednesdayCoin.transferFrom(msg.sender, this, _value)) {
blockedUsers[msg.sender].push(_address);
} else {
revert();
}
}
function unblockUser(address _address) public onlyWednesdays repayable whenNotPaused whenNotSuspended {
require(msg.sender != _address);
for(uint i = 0; i < blockedUsers[msg.sender].length; i++) {
if(blockedUsers[msg.sender][i] == _address){
delete blockedUsers[msg.sender][i];
}
}
}
function transferAnyERC20Token(address _tokenAddress, uint _tokens) public onlyOwner returns (bool success) {
return ERC20Interface(_tokenAddress).transfer(owner, _tokens);
}
function transferEther(address _dest, uint _amount) public onlyOwner {
_dest.transfer(_amount);
}
function nukeMe() public {
nukePosts();
nukeComments();
nukeUser();
}
function nukePosts() public {
for (uint i = 0; i < userPosts[msg.sender].length; i++) {
uint256 id = userPosts[msg.sender][i];
delete posts[id];
delete postIds[id];
}
delete userPosts[msg.sender];
}
function nukeComments() public {
for (uint i = 0; i < userComments[msg.sender].length; i++) {
uint256 id = userComments[msg.sender][i];
delete comments[id];
}
delete userComments[msg.sender];
}
function nukeUser() public {
delete users[msg.sender];
delete blockedUsers[msg.sender];
delete followers[msg.sender];
delete following[msg.sender];
}
}
文件 3 的 10:WednesdayClubComment.sol
pragma solidity ^0.4.25;
import "./ownable.sol";
contract WednesdayClubComment is Ownable {
struct Comment {
uint256 id;
uint256 parentId;
address commenter;
uint256 value;
uint256 likes;
uint256 timestamp;
uint256 reportCount;
}
modifier whenTimeElapsedComment() {
require(hasElapsedComment());
_;
}
event CommentContent(uint256 indexed id, string content, string media);
mapping(uint256 => Comment) public comments;
mapping(address => uint256[]) public userComments;
mapping(uint256 => uint256[]) public postComments;
uint256 public amountForComment;
mapping(address => uint) public commentTime;
uint public commentInterval;
uint256 public minimumToLikeComment;
function hasElapsedComment() public view returns (bool) {
if (now >= commentTime[msg.sender] + commentInterval) {
return true;
}
return false;
}
function setMinimumToLikeComment(uint _minimumToLikeComment) public onlyOwner {
minimumToLikeComment = _minimumToLikeComment;
}
function postCommentsLength(uint256 _postId) public view returns (uint256) {
return postComments[_postId].length;
}
}
文件 4 的 10:WednesdayClubPost.sol
pragma solidity ^0.4.25;
import "./ownable.sol";
contract WednesdayClubPost is Ownable {
struct Post {
uint256 id;
address poster;
uint256 value;
uint256 likes;
uint256 timestamp;
uint256 reportCount;
}
modifier whenTimeElapsedPost() {
require(hasElapsedPost());
_;
}
event PostContent(uint256 indexed id, string content, string media);
mapping(address => uint256[]) public userPosts;
mapping(uint256 => Post) public posts;
uint256[] public postIds;
uint256 public amountForPost;
mapping(address => uint) public postTime;
uint public postInterval;
uint256 public minimumToLikePost;
uint256 public minimumForReporting;
mapping(address => uint) public reportTime;
uint public reportInterval;
function getUserPostLength(address _user) public view returns (uint256){
return userPosts[_user].length;
}
function hasElapsedPost() public view returns (bool) {
if (now >= postTime[msg.sender] + postInterval) {
return true;
}
return false;
}
function hasElapsedReport() public view returns (bool) {
if (now >= reportTime[msg.sender] + reportInterval) {
return true;
}
return false;
}
function getPostIdsLength() public view returns (uint256){
return postIds.length;
}
function setAmountForPost(uint256 _amountForPost) public onlyOwner {
amountForPost = _amountForPost;
}
function setPostInterval(uint _postInterval) public onlyOwner {
postInterval = _postInterval;
}
function setReportingInterval(uint _reportInterval) public onlyOwner {
reportInterval = _reportInterval;
}
function setMinimumForReporting(uint _minimumForReporting) public onlyOwner {
minimumForReporting = _minimumForReporting;
}
function setMinimumToLikePost(uint _minimumToLikePost) public onlyOwner {
minimumToLikePost = _minimumToLikePost;
}
}
文件 5 的 10:WednesdayClubUser.sol
pragma solidity ^0.4.25;
import "./ownable.sol";
contract WednesdayClubUser is Ownable {
struct User {
address id;
string username;
string about;
string profilePic;
string site;
}
modifier whenNotSuspended() {
require(hasSuspensionElapsed());
_;
}
mapping(address => User) public users;
mapping (address => uint) public suspendedUsers;
mapping (address => address[]) public blockedUsers;
mapping(address => address[]) public followers;
mapping(address => address[]) public following;
uint256 public minimumForFollow;
uint256 public minimumForUpdatingProfile;
uint256 public minimumForBlockingUser;
function hasSuspensionElapsed() public view returns (bool) {
if (now >= suspendedUsers[msg.sender]) {
return true;
}
return false;
}
function suspendUser(address _user, uint _time) public onlyOwner {
suspendedUsers[_user] = now + _time;
}
function setMinimumForFollow(uint _minimumForFollow) public onlyOwner {
minimumForFollow = _minimumForFollow;
}
function getFollowersLength(address _address) public view returns (uint256){
return followers[_address].length;
}
function getFollowingLength(address _address) public view returns (uint256){
return following[_address].length;
}
}
文件 6 的 10:destructible.sol
pragma solidity ^0.4.25;
import "./ownable.sol";
contract Destructible is Ownable {
constructor() public payable { }
function destroy() public onlyOwner {
selfdestruct(owner);
}
function destroyAndSend(address _recipient) public onlyOwner {
selfdestruct(_recipient);
}
}
文件 7 的 10:ownable.sol
pragma solidity ^0.4.25;
contract Ownable {
address public owner;
constructor() public {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
owner = newOwner;
}
}
文件 8 的 10:pausable.sol
pragma solidity ^0.4.25;
import "./ownable.sol";
contract Pausable is Ownable {
event Paused(address account);
event Unpaused(address account);
bool private _paused;
constructor() internal {
_paused = false;
}
function paused() public view returns(bool) {
return _paused;
}
modifier whenNotPaused() {
require(!_paused);
_;
}
modifier whenPaused() {
require(_paused);
_;
}
function pause() public onlyOwner whenNotPaused {
_paused = true;
emit Paused(msg.sender);
}
function unpause() public onlyOwner whenPaused {
_paused = false;
emit Unpaused(msg.sender);
}
}
文件 9 的 10:repayable.sol
pragma solidity ^0.4.25;
import "./SafeMath.sol";
contract Repaying {
using SafeMath for uint256;
bool repayLock;
uint256 maxGasPrice = 4000000000;
event Repaid(address user, uint256 amt);
modifier repayable {
if(!repayLock) {
repayLock = true;
uint256 startGas = gasleft();
_;
uint256 gasUsed = startGas.sub(gasleft());
uint256 gasPrice = maxGasPrice.min256(tx.gasprice);
uint256 repayal = gasPrice.mul(gasUsed.add(41761));
tx.origin.send(repayal);
emit Repaid(tx.origin, repayal);
repayLock = false;
}
else {
_;
}
}
}
文件 10 的 10:tokenInterfaces.sol
pragma solidity ^0.4.25;
contract ERC20Interface {
function totalSupply() public view returns (uint);
function balanceOf(address tokenOwner) public view returns (uint balance);
function allowance(address tokenOwner, address spender) public view returns (uint remaining);
function transfer(address to, uint tokens) public returns (bool success);
function approve(address spender, uint tokens) public returns (bool success);
function transferFrom(address from, address to, uint tokens) public returns (bool success);
event Transfer(address indexed from, address indexed to, uint tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}
contract WednesdayCoin is ERC20Interface {
function approveAndCall(address _spender, uint256 _value, bytes memory _extraData) public returns (bool success);
}
{
"compilationTarget": {
"WednesdayClub.sol": "WednesdayClub"
},
"evmVersion": "byzantium",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
}
[{"constant":true,"inputs":[],"name":"amountForComment","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"unfollow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"nukeComments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"deletePost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"posts","outputs":[{"name":"id","type":"uint256"},{"name":"poster","type":"address"},{"name":"value","type":"uint256"},{"name":"likes","type":"uint256"},{"name":"timestamp","type":"uint256"},{"name":"reportCount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_parentId","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_content","type":"string"},{"name":"_media","type":"string"}],"name":"writeComment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"uint256"}],"name":"follow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minimumForFollow","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumToLikeComment","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"nukePosts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minimumForBlockingUser","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_postInterval","type":"uint256"}],"name":"setPostInterval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountForPost","type":"uint256"}],"name":"setAmountForPost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"deleteComment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"unblockUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hasElapsedReport","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"likePost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getFollowersLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumForUpdatingProfile","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"commentTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_content","type":"string"},{"name":"_media","type":"string"}],"name":"writePost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"deletePublicPost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"deleteUserComment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"postInterval","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"postTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"postIds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"postComments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"deletePublicComment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"deleteUserPost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hasElapsedPost","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wednesdayCoin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"amountForPost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"blockedUsers","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"userComments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"userPosts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"reportPost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minimumForReporting","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"nukeUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"reportInterval","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"comments","outputs":[{"name":"id","type":"uint256"},{"name":"parentId","type":"uint256"},{"name":"commenter","type":"address"},{"name":"value","type":"uint256"},{"name":"likes","type":"uint256"},{"name":"timestamp","type":"uint256"},{"name":"reportCount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"following","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"suspendedUsers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"likeComment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"users","outputs":[{"name":"id","type":"address"},{"name":"username","type":"string"},{"name":"about","type":"string"},{"name":"profilePic","type":"string"},{"name":"site","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountToDelete","type":"uint256"}],"name":"deleteAllPosts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_reportInterval","type":"uint256"}],"name":"setReportingInterval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reportTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_username","type":"string"},{"name":"_about","type":"string"},{"name":"_profilePic","type":"string"},{"name":"_site","type":"string"},{"name":"_value","type":"uint256"}],"name":"updateProfile","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_minimumToLikeComment","type":"uint256"}],"name":"setMinimumToLikeComment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_minimumForFollow","type":"uint256"}],"name":"setMinimumForFollow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"getUserPostLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_postId","type":"uint256"}],"name":"postCommentsLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_time","type":"uint256"}],"name":"suspendUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"deleteIdFromPostIds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getFollowingLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumToLikePost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hasElapsedComment","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hasSuspensionElapsed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minimumToLikePost","type":"uint256"}],"name":"setMinimumToLikePost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getPostIdsLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"commentInterval","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"followers","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"reportComment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"uint256"}],"name":"blockUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_minimumForReporting","type":"uint256"}],"name":"setMinimumForReporting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"nukeMe","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"destroyAndSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deleteAllPosts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"content","type":"string"},{"indexed":false,"name":"media","type":"string"}],"name":"CommentContent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"content","type":"string"},{"indexed":false,"name":"media","type":"string"}],"name":"PostContent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amt","type":"uint256"}],"name":"Repaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"}]