Source Code
Overview
ETH Balance
0.14 ETH
Token Holdings
More Info
ContractCreator
Multi Chain
Multichain Addresses
0 address found via
Latest 25 from a total of 49 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
New Tweet | 9909927 | 46 days 19 hrs ago | IN | 0.001 ETH | 0.00025225 | ||||
New Tweet | 9312488 | 152 days 7 hrs ago | IN | 0.001 ETH | 0.0003212 | ||||
New Tweet | 9282720 | 157 days 14 hrs ago | IN | 0.001 ETH | 0.0087545 | ||||
New Tweet | 9231729 | 166 days 16 hrs ago | IN | 0.001 ETH | 0.00022751 | ||||
New Tweet | 9231421 | 166 days 18 hrs ago | IN | 0.001 ETH | 0.00022755 | ||||
New Tweet | 9221697 | 168 days 11 hrs ago | IN | 0.001 ETH | 0.00022757 | ||||
New Tweet | 9220238 | 168 days 17 hrs ago | IN | 0.001 ETH | 0.00022758 | ||||
New Tweet | 9220217 | 168 days 17 hrs ago | IN | 0.001 ETH | 0.00022757 | ||||
New Tweet | 9220211 | 168 days 17 hrs ago | IN | 0.001 ETH | 0.00022757 | ||||
New Tweet | 9209013 | 170 days 18 hrs ago | IN | 0.001 ETH | 0.00022744 | ||||
New Tweet | 9136047 | 183 days 22 hrs ago | IN | 0.001 ETH | 0.00025309 | ||||
New Tweet | 8900081 | 224 days 15 hrs ago | IN | 0.001 ETH | 0.02943852 | ||||
New Tweet | 8851080 | 233 days 9 hrs ago | IN | 0.001 ETH | 0.02589423 | ||||
New Tweet | 8850558 | 233 days 12 hrs ago | IN | 0.001 ETH | 0.02133757 | ||||
New Tweet | 8687994 | 262 days 11 hrs ago | IN | 0.001 ETH | 0.03249854 | ||||
New Tweet | 8330716 | 323 days 21 hrs ago | IN | 0.001 ETH | 0.00004494 | ||||
New Tweet | 8330716 | 323 days 21 hrs ago | IN | 0.001 ETH | 0.00025314 | ||||
New Tweet | 8078868 | 367 days 14 hrs ago | IN | 0.001 ETH | 0.00032141 | ||||
New Tweet | 8053684 | 371 days 15 hrs ago | IN | 0.001 ETH | 0.00022663 | ||||
Edit Tweet | 8053682 | 371 days 15 hrs ago | IN | 0 ETH | 0.00007295 | ||||
New Tweet | 8053675 | 371 days 15 hrs ago | IN | 0.001 ETH | 0.0002275 | ||||
New Tweet | 8053666 | 371 days 15 hrs ago | IN | 0.001 ETH | 0.00028308 | ||||
Edit Tweet | 8053658 | 371 days 15 hrs ago | IN | 0 ETH | 0.00007298 | ||||
New Tweet | 8053655 | 371 days 15 hrs ago | IN | 0.001 ETH | 0.0002531 | ||||
New Tweet | 8044447 | 373 days 4 hrs ago | IN | 0.001 ETH | 0.00025337 |
Latest 1 internal transaction
Advanced mode:
Parent Txn Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
7358855 | 488 days 4 hrs ago | 0.1 ETH |
Loading...
Loading
Contract Name:
Twitt3r
Compiler Version
v0.8.9+commit.e5eed63a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.9; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/security/Pausable.sol"; // import "hardhat/console.sol"; // DEBUG /** * @title Twitt3r * @author Max Petretta (maxpetretta.eth) * @notice A decentralized version of Twitter, build on the Ethereum blockchain * @dev Not audited! */ contract Twitt3r is Ownable, Pausable { uint8 public odds; uint256 public price; uint256 public jackpot; address public lastWinner; uint256 private seed; struct Tweet { address from; uint256 timestamp; string message; bool deleted; uint256 replyID; uint256 retweetID; } uint256 public id = 1; // Use id 0 for top-level tweets uint256[] public tweetIDs; mapping(uint256 => Tweet) public tweets; // Mapped struct with index, see: https://ethereum.stackexchange.com/a/13168 mapping(address => uint256) public lastTweetedAt; /** * @notice Emitted when a new tweet is added to the contract * @param id The new tweet's ID * @param from The sender's address * @param timestamp The block timestamp of the new tweet * @param message The message from the tweet's sender * @param deleted Flag for marking the tweet as deleted * @param replyID The ID of the tweet being replied to, 0 for top-level tweets * @param retweetID The ID of the tweet being resent, 0 for top-level tweets */ event NewTweet( uint256 indexed id, address indexed from, uint256 timestamp, string message, bool deleted, uint256 replyID, uint256 retweetID ); /** * @notice Emitted when an existing tweet is modified by it's author * @param id The existing tweet's ID * @param from The sender's address * @param timestamp The block timestamp of the existing tweet * @param message The edited message from the tweet's sender * @param deleted Flag for marking the tweet as deleted * @param replyID The ID of the tweet being replied to, 0 for top-level tweets * @param retweetID The ID of the tweet being resent, 0 for top-level tweets */ event EditTweet( uint256 indexed id, address indexed from, uint256 timestamp, string message, bool deleted, uint256 replyID, uint256 retweetID ); /** * @notice Emitted when an existing tweet is deleted from the contract * @param id The existing tweet's ID * @param from The sender's address * @param timestamp The block timestamp of the new tweet * @param message The message from the tweet's sender * @param deleted Flag for marking the tweet as deleted * @param replyID The ID of the tweet being replied to, 0 for top-level tweets * @param retweetID The ID of the tweet being resent, 0 for top-level tweets */ event DeleteTweet( uint256 indexed id, address indexed from, uint256 timestamp, string message, bool deleted, uint256 replyID, uint256 retweetID ); /** * @notice Emitted when the contract owner clears all tweets from the contract * @param id The ID number of the last valid tweet */ event ClearTweets(uint256 id); /** * @notice Emitted when a sender has won the contract lottery * @param winner The winner's wallet address * @param jackpot The value of the winner's jackpot */ event WonLottery(address winner, uint256 jackpot); /// @notice Thrown when the sender is not authorized to perform an action error Unauthorized(); /// @notice Thrown when the given tweet ID does not exist error InvalidID(); /// @notice Thrown when the contract is sent the incorrect amount of ether error InvalidPrice(); /// @notice Thrown when the sent message is over the allowed character length error InvalidMessage(); /// @notice Thrown when the given tweet has been deleted error DeletedTweet(); /// @notice Thrown when the sender is still on a tweet cooldown period error SenderCooldown(); /// @notice Thrown when a contract withdrawal fails error WithdrawalFailed(); /// @notice Thrown when the contract balance can not payout a jackpot win error InsufficientBalance(); /** * @notice Deploys the Twitt3r contract with the given settings * @param _odds The percentage (0 - 100) chance of a jackpot payout * @param _price The price to send a tweet * @param _jackpot The value of the jackpot to pay out */ constructor( uint8 _odds, uint256 _price, uint256 _jackpot ) payable { odds = _odds; price = _price; jackpot = _jackpot; } /// @notice Enable contract deposit to refill for jackpot payouts function deposit() public payable {} /// @notice In case of emergency, the owner can withdraw from the contract function withdraw() public onlyOwner { uint256 amount = address(this).balance; (bool sent, ) = owner().call{value: amount}(""); if (!sent) revert WithdrawalFailed(); } /** * @notice Send a message (tweet) to the contract * @param _message The sender's message to post * @param _replyID The ID of the tweet being replied to, 0 for top-level tweets * @param _retweetID The ID of the tweet being resent, 0 for top-level tweets */ function newTweet( string memory _message, uint256 _replyID, uint256 _retweetID ) public payable whenNotPaused { if (msg.value < price) revert InvalidPrice(); if (bytes(_message).length > 280) revert InvalidMessage(); if (lastTweetedAt[msg.sender] + 1 minutes >= block.timestamp) revert SenderCooldown(); // console.log("%s has tweeted!", msg.sender); // DEBUG lastTweetedAt[msg.sender] = block.timestamp; tweets[id] = Tweet( msg.sender, block.timestamp, _message, false, _replyID, _retweetID ); tweetIDs.push(id); // Check if the sender has won the jackpot checkLottery(payable(msg.sender)); // Alert subscribers to the new tweet transaction emit NewTweet( id, msg.sender, block.timestamp, _message, false, _replyID, _retweetID ); id++; } /** * @notice Edit an existing tweet's message * @param _id The ID of the tweet being edited * @param _message The new replacement message for the specified tweet */ function editTweet(uint256 _id, string memory _message) public whenNotPaused { if (tweets[_id].timestamp == 0) revert InvalidID(); if (tweets[_id].deleted) revert DeletedTweet(); if (tweets[_id].from != msg.sender) revert Unauthorized(); if (bytes(_message).length > 280) revert InvalidMessage(); tweets[_id].message = _message; emit EditTweet( _id, msg.sender, block.timestamp, tweets[_id].message, tweets[_id].deleted, tweets[_id].replyID, tweets[_id].retweetID ); } /** * @notice Delete a tweet from the contract * @param _id The ID of the tweet to delete */ function deleteTweet(uint256 _id) public whenNotPaused { if (tweets[_id].timestamp == 0) revert InvalidID(); if (tweets[_id].deleted) revert DeletedTweet(); if (tweets[_id].from != msg.sender) revert Unauthorized(); tweets[_id].deleted = true; emit DeleteTweet( _id, msg.sender, block.timestamp, tweets[_id].message, tweets[_id].deleted, tweets[_id].replyID, tweets[_id].retweetID ); } /// @notice In case of emergency, the owner can clear all tweets from the contract function clear() public onlyOwner { uint256 lastID = id; for (uint256 i = 0; i < tweetIDs.length; i++) { delete tweets[i]; } delete tweetIDs; id = 1; emit ClearTweets(lastID); } /// @notice Allow the owner to pause tweeting functions function pause() public onlyOwner { _pause(); } /// @notice Allow the owner to unpause tweeting functions function unpause() public onlyOwner { _unpause(); } /** * @notice Allow the owner to update the contract's settings * @param _odds The new percentage (0 - 100) chance of a jackpot payout * @param _price The new price to send a tweet * @param _jackpot The new value of the jackpot to pay out */ function updateSettings( uint8 _odds, uint256 _price, uint256 _jackpot ) public onlyOwner { setOdds(_odds); setPrice(_price); setJackpot(_jackpot); } /** * @notice Check if the contract is paused * @return bool true if the contract is paused, false otherwise */ function isPaused() public view returns (bool) { return paused(); } /** * @notice Get the contract owner's address * @return address The contract owner */ function getOwner() public view returns (address) { return owner(); } /** * @notice Get the balance of the contract * @return uint256 The current address of the contract */ function getBalance() public view returns (uint256) { return address(this).balance; } /** * @notice Get the odds of winning the jackpot * @return uint8 The current odds of a jackpot payout */ function getOdds() public view returns (uint8) { return odds; } /** * @notice Get the price of sending a new tweet * @return uint256 The current price of sending a tweet */ function getPrice() public view returns (uint256) { return price; } /** * @notice Get the jackpot payout value * @return uint256 The current jackpot payout amount */ function getJackpot() public view returns (uint256) { return jackpot; } /** * @notice Get the last winner's address * @return address The last winner's wallet address */ function getLastWinner() public view returns (address) { return lastWinner; } /** * @notice Get all sent tweets from the contract * @return Tweet[] An array of all tweets stored on the contract */ function getTweets() public view returns (Tweet[] memory) { Tweet[] memory allTweets = new Tweet[](tweetIDs.length); for (uint256 i = 0; i < tweetIDs.length; i++) { allTweets[i] = tweets[tweetIDs[i]]; } return allTweets; } /** * @notice Get the total number of tweets sent * @return uint256 The current total number of tweets */ function getTotalTweets() public view returns (uint256) { return tweetIDs.length; } /** * @notice Set the odds of winning a jackpot * @param _odds The new percent odds of winning */ function setOdds(uint8 _odds) internal { odds = _odds; } /** * @notice Set the price of sending a tweet * @param _price The new price of sending a tweet */ function setPrice(uint256 _price) internal { price = _price; } /** * @notice Set the jackpot payout amount * @param _jackpot The new value of winning a jackpot */ function setJackpot(uint256 _jackpot) internal { jackpot = _jackpot; } /** * @notice Check whether the last sender won the lottery, based on the set odds * @dev Uses a simple RNG method based on block difficulty and timestamp, could be improved * @param _sender The most recent tweet sender */ function checkLottery(address payable _sender) private { if (address(this).balance < jackpot) revert InsufficientBalance(); uint256 randomNumber = (block.difficulty + block.timestamp + seed) % 100; // console.log("Random # generated: %s", randomNumber); // DEBUG seed = randomNumber; if (randomNumber < odds) { // console.log("%s has won!", msg.sender); // DEBUG (bool sent, ) = _sender.call{value: jackpot}(""); if (!sent) revert WithdrawalFailed(); emit WonLottery(_sender, jackpot); } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which allows children to implement an emergency stop * mechanism that can be triggered by an authorized account. * * This module is used through inheritance. It will make available the * modifiers `whenNotPaused` and `whenPaused`, which can be applied to * the functions of your contract. Note that they will not be pausable by * simply including this module, only once the modifiers are put in place. */ abstract contract Pausable is Context { /** * @dev Emitted when the pause is triggered by `account`. */ event Paused(address account); /** * @dev Emitted when the pause is lifted by `account`. */ event Unpaused(address account); bool private _paused; /** * @dev Initializes the contract in unpaused state. */ constructor() { _paused = false; } /** * @dev Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { _requireNotPaused(); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { _requirePaused(); _; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** * @dev Throws if the contract is paused. */ function _requireNotPaused() internal view virtual { require(!paused(), "Pausable: paused"); } /** * @dev Throws if the contract is not paused. */ function _requirePaused() internal view virtual { require(paused(), "Pausable: not paused"); } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"inputs":[{"internalType":"uint8","name":"_odds","type":"uint8"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"_jackpot","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"inputs":[],"name":"DeletedTweet","type":"error"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InvalidID","type":"error"},{"inputs":[],"name":"InvalidMessage","type":"error"},{"inputs":[],"name":"InvalidPrice","type":"error"},{"inputs":[],"name":"SenderCooldown","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"WithdrawalFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ClearTweets","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"string","name":"message","type":"string"},{"indexed":false,"internalType":"bool","name":"deleted","type":"bool"},{"indexed":false,"internalType":"uint256","name":"replyID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"retweetID","type":"uint256"}],"name":"DeleteTweet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"string","name":"message","type":"string"},{"indexed":false,"internalType":"bool","name":"deleted","type":"bool"},{"indexed":false,"internalType":"uint256","name":"replyID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"retweetID","type":"uint256"}],"name":"EditTweet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"string","name":"message","type":"string"},{"indexed":false,"internalType":"bool","name":"deleted","type":"bool"},{"indexed":false,"internalType":"uint256","name":"replyID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"retweetID","type":"uint256"}],"name":"NewTweet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"jackpot","type":"uint256"}],"name":"WonLottery","type":"event"},{"inputs":[],"name":"clear","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"deleteTweet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"string","name":"_message","type":"string"}],"name":"editTweet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getJackpot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastWinner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOdds","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalTweets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTweets","outputs":[{"components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"message","type":"string"},{"internalType":"bool","name":"deleted","type":"bool"},{"internalType":"uint256","name":"replyID","type":"uint256"},{"internalType":"uint256","name":"retweetID","type":"uint256"}],"internalType":"struct Twitt3r.Tweet[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"id","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jackpot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastTweetedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastWinner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_message","type":"string"},{"internalType":"uint256","name":"_replyID","type":"uint256"},{"internalType":"uint256","name":"_retweetID","type":"uint256"}],"name":"newTweet","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"odds","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tweetIDs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tweets","outputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"message","type":"string"},{"internalType":"bool","name":"deleted","type":"bool"},{"internalType":"uint256","name":"replyID","type":"uint256"},{"internalType":"uint256","name":"retweetID","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_odds","type":"uint8"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"_jackpot","type":"uint256"}],"name":"updateSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526001600555604051620029ea380380620029ea83398181016040528101906200002e9190620001e4565b6200004e620000426200009a60201b60201c565b620000a260201b60201c565b60008060146101000a81548160ff02191690831515021790555082600060156101000a81548160ff021916908360ff160217905550816001819055508060028190555050505062000240565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600060ff82169050919050565b62000183816200016b565b81146200018f57600080fd5b50565b600081519050620001a38162000178565b92915050565b6000819050919050565b620001be81620001a9565b8114620001ca57600080fd5b50565b600081519050620001de81620001b3565b92915050565b6000806000606084860312156200020057620001ff62000166565b5b6000620002108682870162000192565b93505060206200022386828701620001cd565b92505060406200023686828701620001cd565b9150509250925092565b61279a80620002506000396000f3fe6080604052600436106101cd5760003560e01c806393f11c27116100f7578063d0e30db011610095578063f2fde38b11610064578063f2fde38b146105d1578063f88649a1146105fa578063fc86741f14610625578063fe18818414610650576101cd565b8063d0e30db014610540578063d490db271461054a578063e8d857b014610566578063eae9e135146105a8576101cd565b8063ac61d8d7116100d1578063ac61d8d714610470578063af640d0f146104ad578063b187bd26146104d8578063b281395b14610503576101cd565b806393f11c27146103ef57806398d5fdca1461041a578063a035b1fe14610445576101cd565b80635775912a1161016f5780638456cb591161013e5780638456cb5914610357578063893d20e81461036e5780638da5cb5b146103995780639329066c146103c4576101cd565b80635775912a146102c15780635c975abb146102ea5780636b31ee0114610315578063715018a614610340576101cd565b80633ccfd60b116101ab5780633ccfd60b146102515780633f4ba83a146102685780634c5be5741461027f57806352efea6e146102aa576101cd565b806312065fe0146101d2578063233de126146101fd57806337a9b75214610228575b600080fd5b3480156101de57600080fd5b506101e761067b565b6040516101f49190611aab565b60405180910390f35b34801561020957600080fd5b50610212610683565b60405161021f9190611ae2565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a9190611b69565b610696565b005b34801561025d57600080fd5b506102666106be565b005b34801561027457600080fd5b5061027d610779565b005b34801561028b57600080fd5b5061029461078b565b6040516102a19190611ae2565b60405180910390f35b3480156102b657600080fd5b506102bf6107a1565b005b3480156102cd57600080fd5b506102e860048036038101906102e39190611bbc565b61089d565b005b3480156102f657600080fd5b506102ff610ad9565b60405161030c9190611c04565b60405180910390f35b34801561032157600080fd5b5061032a610aef565b6040516103379190611aab565b60405180910390f35b34801561034c57600080fd5b50610355610af5565b005b34801561036357600080fd5b5061036c610b09565b005b34801561037a57600080fd5b50610383610b1b565b6040516103909190611c60565b60405180910390f35b3480156103a557600080fd5b506103ae610b2a565b6040516103bb9190611c60565b60405180910390f35b3480156103d057600080fd5b506103d9610b53565b6040516103e69190611aab565b60405180910390f35b3480156103fb57600080fd5b50610404610b5d565b6040516104119190611aab565b60405180910390f35b34801561042657600080fd5b5061042f610b6a565b60405161043c9190611aab565b60405180910390f35b34801561045157600080fd5b5061045a610b74565b6040516104679190611aab565b60405180910390f35b34801561047c57600080fd5b5061049760048036038101906104929190611bbc565b610b7a565b6040516104a49190611aab565b60405180910390f35b3480156104b957600080fd5b506104c2610b9e565b6040516104cf9190611aab565b60405180910390f35b3480156104e457600080fd5b506104ed610ba4565b6040516104fa9190611c04565b60405180910390f35b34801561050f57600080fd5b5061052a60048036038101906105259190611ca7565b610bb3565b6040516105379190611aab565b60405180910390f35b610548610bcb565b005b610564600480360381019061055f9190611e1a565b610bcd565b005b34801561057257600080fd5b5061058d60048036038101906105889190611bbc565b610ec0565b60405161059f96959493929190611f11565b60405180910390f35b3480156105b457600080fd5b506105cf60048036038101906105ca9190611f79565b610fb1565b005b3480156105dd57600080fd5b506105f860048036038101906105f39190611ca7565b611227565b005b34801561060657600080fd5b5061060f6112ab565b60405161061c9190611c60565b60405180910390f35b34801561063157600080fd5b5061063a6112d5565b6040516106479190612197565b60405180910390f35b34801561065c57600080fd5b506106656114da565b6040516106729190611c60565b60405180910390f35b600047905090565b600060159054906101000a900460ff1681565b61069e611500565b6106a78361157e565b6106b08261159c565b6106b9816115a6565b505050565b6106c6611500565b600047905060006106d5610b2a565b73ffffffffffffffffffffffffffffffffffffffff16826040516106f8906121ea565b60006040518083038185875af1925050503d8060008114610735576040519150601f19603f3d011682016040523d82523d6000602084013e61073a565b606091505b5050905080610775576040517f27fcd9d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b610781611500565b6107896115b0565b565b60008060159054906101000a900460ff16905090565b6107a9611500565b6000600554905060005b60068054905081101561084c5760076000828152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600090556002820160006108139190611940565b6003820160006101000a81549060ff021916905560048201600090556005820160009055505080806108449061222e565b9150506107b3565b506006600061085b9190611980565b60016005819055507fae292c2f970a00a1ee119ec6476c14d3a9cc6a21522fd6816ea794aa7b2a8d31816040516108929190611aab565b60405180910390a150565b6108a5611612565b6000600760008381526020019081526020016000206001015414156108f6576040517ff5d2101e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007600082815260200190815260200160002060030160009054906101000a900460ff1615610951576040517f29de661200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166007600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ec576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016007600083815260200190815260200160002060030160006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16817fd1a7ebaecd97d90fc93690e7580a45f9046c0756d5ab34bd0cfce28ae58f114f42600760008681526020019081526020016000206002016007600087815260200190815260200160002060030160009054906101000a900460ff1660076000888152602001908152602001600020600401546007600089815260200190815260200160002060050154604051610ace95949392919061236d565b60405180910390a350565b60008060149054906101000a900460ff16905090565b60025481565b610afd611500565b610b07600061165c565b565b610b11611500565b610b19611720565b565b6000610b25610b2a565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600254905090565b6000600680549050905090565b6000600154905090565b60015481565b60068181548110610b8a57600080fd5b906000526020600020016000915090505481565b60055481565b6000610bae610ad9565b905090565b60086020528060005260406000206000915090505481565b565b610bd5611612565b600154341015610c10576040517ebfc92100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61011883511115610c4d576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42603c600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c9a91906123c7565b10610cd1576040517fa3ce25cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506040518060c001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018481526020016000151581526020018381526020018281525060076000600554815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002019080519060200190610ddd9291906119a1565b5060608201518160030160006101000a81548160ff0219169083151502179055506080820151816004015560a0820151816005015590505060066005549080600181540180825580915050600190039060005260206000200160009091909190915055610e4933611783565b3373ffffffffffffffffffffffffffffffffffffffff166005547f95ddbe40e589682de7b309cb88ed7a199bbb6bda251729fab039d408457e15a6428660008787604051610e9b95949392919061241d565b60405180910390a360056000815480929190610eb69061222e565b9190505550505050565b60076020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054610f0f906122a6565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3b906122a6565b8015610f885780601f10610f5d57610100808354040283529160200191610f88565b820191906000526020600020905b815481529060010190602001808311610f6b57829003601f168201915b5050505050908060030160009054906101000a900460ff16908060040154908060050154905086565b610fb9611612565b60006007600084815260200190815260200160002060010154141561100a576040517ff5d2101e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007600083815260200190815260200160002060030160009054906101000a900460ff1615611065576040517f29de661200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166007600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611100576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101188151111561113d576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806007600084815260200190815260200160002060020190805190602001906111679291906119a1565b503373ffffffffffffffffffffffffffffffffffffffff16827f1dbbd33e7a06a3d6b3eb06987927cc5c71764c24bc2e8f56d90d2505c0c8606042600760008781526020019081526020016000206002016007600088815260200190815260200160002060030160009054906101000a900460ff166007600089815260200190815260200160002060040154600760008a81526020019081526020016000206005015460405161121b95949392919061236d565b60405180910390a35050565b61122f611500565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561129f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611296906124e9565b60405180910390fd5b6112a88161165c565b50565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600060068054905067ffffffffffffffff8111156112f8576112f7611cef565b5b60405190808252806020026020018201604052801561133157816020015b61131e611a27565b8152602001906001900390816113165790505b50905060005b6006805490508110156114d257600760006006838154811061135c5761135b612509565b5b906000526020600020015481526020019081526020016000206040518060c00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015481526020016002820180546113f0906122a6565b80601f016020809104026020016040519081016040528092919081815260200182805461141c906122a6565b80156114695780601f1061143e57610100808354040283529160200191611469565b820191906000526020600020905b81548152906001019060200180831161144c57829003601f168201915b505050505081526020016003820160009054906101000a900460ff16151515158152602001600482015481526020016005820154815250508282815181106114b4576114b3612509565b5b602002602001018190525080806114ca9061222e565b915050611337565b508091505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115086118ef565b73ffffffffffffffffffffffffffffffffffffffff16611526610b2a565b73ffffffffffffffffffffffffffffffffffffffff161461157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157390612584565b60405180910390fd5b565b80600060156101000a81548160ff021916908360ff16021790555050565b8060018190555050565b8060028190555050565b6115b86118f7565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115fb6118ef565b6040516116089190611c60565b60405180910390a1565b61161a610ad9565b1561165a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611651906125f0565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611728611612565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861176c6118ef565b6040516117799190611c60565b60405180910390a1565b6002544710156117bf576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000606460045442446117d291906123c7565b6117dc91906123c7565b6117e6919061263f565b905080600481905550600060159054906101000a900460ff1660ff168110156118eb5760008273ffffffffffffffffffffffffffffffffffffffff16600254604051611831906121ea565b60006040518083038185875af1925050503d806000811461186e576040519150601f19603f3d011682016040523d82523d6000602084013e611873565b606091505b50509050806118ae576040517f27fcd9d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fda1fcd992ca31eb97f098763ee5be1bfc2d2f6fd214d42642d99ddccb8ec64c6836002546040516118e19291906126cf565b60405180910390a1505b5050565b600033905090565b6118ff610ad9565b61193e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193590612744565b60405180910390fd5b565b50805461194c906122a6565b6000825580601f1061195e575061197d565b601f01602090049060005260206000209081019061197c9190611a75565b5b50565b508054600082559060005260206000209081019061199e9190611a75565b50565b8280546119ad906122a6565b90600052602060002090601f0160209004810192826119cf5760008555611a16565b82601f106119e857805160ff1916838001178555611a16565b82800160010185558215611a16579182015b82811115611a155782518255916020019190600101906119fa565b5b509050611a239190611a75565b5090565b6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160001515815260200160008152602001600081525090565b5b80821115611a8e576000816000905550600101611a76565b5090565b6000819050919050565b611aa581611a92565b82525050565b6000602082019050611ac06000830184611a9c565b92915050565b600060ff82169050919050565b611adc81611ac6565b82525050565b6000602082019050611af76000830184611ad3565b92915050565b6000604051905090565b600080fd5b600080fd5b611b1a81611ac6565b8114611b2557600080fd5b50565b600081359050611b3781611b11565b92915050565b611b4681611a92565b8114611b5157600080fd5b50565b600081359050611b6381611b3d565b92915050565b600080600060608486031215611b8257611b81611b07565b5b6000611b9086828701611b28565b9350506020611ba186828701611b54565b9250506040611bb286828701611b54565b9150509250925092565b600060208284031215611bd257611bd1611b07565b5b6000611be084828501611b54565b91505092915050565b60008115159050919050565b611bfe81611be9565b82525050565b6000602082019050611c196000830184611bf5565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c4a82611c1f565b9050919050565b611c5a81611c3f565b82525050565b6000602082019050611c756000830184611c51565b92915050565b611c8481611c3f565b8114611c8f57600080fd5b50565b600081359050611ca181611c7b565b92915050565b600060208284031215611cbd57611cbc611b07565b5b6000611ccb84828501611c92565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611d2782611cde565b810181811067ffffffffffffffff82111715611d4657611d45611cef565b5b80604052505050565b6000611d59611afd565b9050611d658282611d1e565b919050565b600067ffffffffffffffff821115611d8557611d84611cef565b5b611d8e82611cde565b9050602081019050919050565b82818337600083830152505050565b6000611dbd611db884611d6a565b611d4f565b905082815260208101848484011115611dd957611dd8611cd9565b5b611de4848285611d9b565b509392505050565b600082601f830112611e0157611e00611cd4565b5b8135611e11848260208601611daa565b91505092915050565b600080600060608486031215611e3357611e32611b07565b5b600084013567ffffffffffffffff811115611e5157611e50611b0c565b5b611e5d86828701611dec565b9350506020611e6e86828701611b54565b9250506040611e7f86828701611b54565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ec3578082015181840152602081019050611ea8565b83811115611ed2576000848401525b50505050565b6000611ee382611e89565b611eed8185611e94565b9350611efd818560208601611ea5565b611f0681611cde565b840191505092915050565b600060c082019050611f266000830189611c51565b611f336020830188611a9c565b8181036040830152611f458187611ed8565b9050611f546060830186611bf5565b611f616080830185611a9c565b611f6e60a0830184611a9c565b979650505050505050565b60008060408385031215611f9057611f8f611b07565b5b6000611f9e85828601611b54565b925050602083013567ffffffffffffffff811115611fbf57611fbe611b0c565b5b611fcb85828601611dec565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61200a81611c3f565b82525050565b61201981611a92565b82525050565b600082825260208201905092915050565b600061203b82611e89565b612045818561201f565b9350612055818560208601611ea5565b61205e81611cde565b840191505092915050565b61207281611be9565b82525050565b600060c0830160008301516120906000860182612001565b5060208301516120a36020860182612010565b50604083015184820360408601526120bb8282612030565b91505060608301516120d06060860182612069565b5060808301516120e36080860182612010565b5060a08301516120f660a0860182612010565b508091505092915050565b600061210d8383612078565b905092915050565b6000602082019050919050565b600061212d82611fd5565b6121378185611fe0565b93508360208202850161214985611ff1565b8060005b8581101561218557848403895281516121668582612101565b945061217183612115565b925060208a0199505060018101905061214d565b50829750879550505050505092915050565b600060208201905081810360008301526121b18184612122565b905092915050565b600081905092915050565b50565b60006121d46000836121b9565b91506121df826121c4565b600082019050919050565b60006121f5826121c7565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061223982611a92565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561226c5761226b6121ff565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122be57607f821691505b602082108114156122d2576122d1612277565b5b50919050565b60008190508160005260206000209050919050565b600081546122fa816122a6565b6123048186611e94565b9450600182166000811461231f576001811461233157612364565b60ff1983168652602086019350612364565b61233a856122d8565b60005b8381101561235c5781548189015260018201915060208101905061233d565b808801955050505b50505092915050565b600060a0820190506123826000830188611a9c565b818103602083015261239481876122ed565b90506123a36040830186611bf5565b6123b06060830185611a9c565b6123bd6080830184611a9c565b9695505050505050565b60006123d282611a92565b91506123dd83611a92565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612412576124116121ff565b5b828201905092915050565b600060a0820190506124326000830188611a9c565b81810360208301526124448187611ed8565b90506124536040830186611bf5565b6124606060830185611a9c565b61246d6080830184611a9c565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124d3602683611e94565b91506124de82612477565b604082019050919050565b60006020820190508181036000830152612502816124c6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061256e602083611e94565b915061257982612538565b602082019050919050565b6000602082019050818103600083015261259d81612561565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006125da601083611e94565b91506125e5826125a4565b602082019050919050565b60006020820190508181036000830152612609816125cd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061264a82611a92565b915061265583611a92565b92508261266557612664612610565b5b828206905092915050565b6000819050919050565b600061269561269061268b84611c1f565b612670565b611c1f565b9050919050565b60006126a78261267a565b9050919050565b60006126b98261269c565b9050919050565b6126c9816126ae565b82525050565b60006040820190506126e460008301856126c0565b6126f16020830184611a9c565b9392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061272e601483611e94565b9150612739826126f8565b602082019050919050565b6000602082019050818103600083015261275d81612721565b905091905056fea2646970667358221220ad2f61e6f5ac0b06a89f8a95bbab266538a9cc7eb71451f817c87eef80f835fa64736f6c63430008090033000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000016345785d8a0000
Deployed Bytecode
0x6080604052600436106101cd5760003560e01c806393f11c27116100f7578063d0e30db011610095578063f2fde38b11610064578063f2fde38b146105d1578063f88649a1146105fa578063fc86741f14610625578063fe18818414610650576101cd565b8063d0e30db014610540578063d490db271461054a578063e8d857b014610566578063eae9e135146105a8576101cd565b8063ac61d8d7116100d1578063ac61d8d714610470578063af640d0f146104ad578063b187bd26146104d8578063b281395b14610503576101cd565b806393f11c27146103ef57806398d5fdca1461041a578063a035b1fe14610445576101cd565b80635775912a1161016f5780638456cb591161013e5780638456cb5914610357578063893d20e81461036e5780638da5cb5b146103995780639329066c146103c4576101cd565b80635775912a146102c15780635c975abb146102ea5780636b31ee0114610315578063715018a614610340576101cd565b80633ccfd60b116101ab5780633ccfd60b146102515780633f4ba83a146102685780634c5be5741461027f57806352efea6e146102aa576101cd565b806312065fe0146101d2578063233de126146101fd57806337a9b75214610228575b600080fd5b3480156101de57600080fd5b506101e761067b565b6040516101f49190611aab565b60405180910390f35b34801561020957600080fd5b50610212610683565b60405161021f9190611ae2565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a9190611b69565b610696565b005b34801561025d57600080fd5b506102666106be565b005b34801561027457600080fd5b5061027d610779565b005b34801561028b57600080fd5b5061029461078b565b6040516102a19190611ae2565b60405180910390f35b3480156102b657600080fd5b506102bf6107a1565b005b3480156102cd57600080fd5b506102e860048036038101906102e39190611bbc565b61089d565b005b3480156102f657600080fd5b506102ff610ad9565b60405161030c9190611c04565b60405180910390f35b34801561032157600080fd5b5061032a610aef565b6040516103379190611aab565b60405180910390f35b34801561034c57600080fd5b50610355610af5565b005b34801561036357600080fd5b5061036c610b09565b005b34801561037a57600080fd5b50610383610b1b565b6040516103909190611c60565b60405180910390f35b3480156103a557600080fd5b506103ae610b2a565b6040516103bb9190611c60565b60405180910390f35b3480156103d057600080fd5b506103d9610b53565b6040516103e69190611aab565b60405180910390f35b3480156103fb57600080fd5b50610404610b5d565b6040516104119190611aab565b60405180910390f35b34801561042657600080fd5b5061042f610b6a565b60405161043c9190611aab565b60405180910390f35b34801561045157600080fd5b5061045a610b74565b6040516104679190611aab565b60405180910390f35b34801561047c57600080fd5b5061049760048036038101906104929190611bbc565b610b7a565b6040516104a49190611aab565b60405180910390f35b3480156104b957600080fd5b506104c2610b9e565b6040516104cf9190611aab565b60405180910390f35b3480156104e457600080fd5b506104ed610ba4565b6040516104fa9190611c04565b60405180910390f35b34801561050f57600080fd5b5061052a60048036038101906105259190611ca7565b610bb3565b6040516105379190611aab565b60405180910390f35b610548610bcb565b005b610564600480360381019061055f9190611e1a565b610bcd565b005b34801561057257600080fd5b5061058d60048036038101906105889190611bbc565b610ec0565b60405161059f96959493929190611f11565b60405180910390f35b3480156105b457600080fd5b506105cf60048036038101906105ca9190611f79565b610fb1565b005b3480156105dd57600080fd5b506105f860048036038101906105f39190611ca7565b611227565b005b34801561060657600080fd5b5061060f6112ab565b60405161061c9190611c60565b60405180910390f35b34801561063157600080fd5b5061063a6112d5565b6040516106479190612197565b60405180910390f35b34801561065c57600080fd5b506106656114da565b6040516106729190611c60565b60405180910390f35b600047905090565b600060159054906101000a900460ff1681565b61069e611500565b6106a78361157e565b6106b08261159c565b6106b9816115a6565b505050565b6106c6611500565b600047905060006106d5610b2a565b73ffffffffffffffffffffffffffffffffffffffff16826040516106f8906121ea565b60006040518083038185875af1925050503d8060008114610735576040519150601f19603f3d011682016040523d82523d6000602084013e61073a565b606091505b5050905080610775576040517f27fcd9d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b610781611500565b6107896115b0565b565b60008060159054906101000a900460ff16905090565b6107a9611500565b6000600554905060005b60068054905081101561084c5760076000828152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600090556002820160006108139190611940565b6003820160006101000a81549060ff021916905560048201600090556005820160009055505080806108449061222e565b9150506107b3565b506006600061085b9190611980565b60016005819055507fae292c2f970a00a1ee119ec6476c14d3a9cc6a21522fd6816ea794aa7b2a8d31816040516108929190611aab565b60405180910390a150565b6108a5611612565b6000600760008381526020019081526020016000206001015414156108f6576040517ff5d2101e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007600082815260200190815260200160002060030160009054906101000a900460ff1615610951576040517f29de661200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166007600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ec576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016007600083815260200190815260200160002060030160006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16817fd1a7ebaecd97d90fc93690e7580a45f9046c0756d5ab34bd0cfce28ae58f114f42600760008681526020019081526020016000206002016007600087815260200190815260200160002060030160009054906101000a900460ff1660076000888152602001908152602001600020600401546007600089815260200190815260200160002060050154604051610ace95949392919061236d565b60405180910390a350565b60008060149054906101000a900460ff16905090565b60025481565b610afd611500565b610b07600061165c565b565b610b11611500565b610b19611720565b565b6000610b25610b2a565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600254905090565b6000600680549050905090565b6000600154905090565b60015481565b60068181548110610b8a57600080fd5b906000526020600020016000915090505481565b60055481565b6000610bae610ad9565b905090565b60086020528060005260406000206000915090505481565b565b610bd5611612565b600154341015610c10576040517ebfc92100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61011883511115610c4d576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42603c600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c9a91906123c7565b10610cd1576040517fa3ce25cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506040518060c001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018481526020016000151581526020018381526020018281525060076000600554815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002019080519060200190610ddd9291906119a1565b5060608201518160030160006101000a81548160ff0219169083151502179055506080820151816004015560a0820151816005015590505060066005549080600181540180825580915050600190039060005260206000200160009091909190915055610e4933611783565b3373ffffffffffffffffffffffffffffffffffffffff166005547f95ddbe40e589682de7b309cb88ed7a199bbb6bda251729fab039d408457e15a6428660008787604051610e9b95949392919061241d565b60405180910390a360056000815480929190610eb69061222e565b9190505550505050565b60076020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054610f0f906122a6565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3b906122a6565b8015610f885780601f10610f5d57610100808354040283529160200191610f88565b820191906000526020600020905b815481529060010190602001808311610f6b57829003601f168201915b5050505050908060030160009054906101000a900460ff16908060040154908060050154905086565b610fb9611612565b60006007600084815260200190815260200160002060010154141561100a576040517ff5d2101e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007600083815260200190815260200160002060030160009054906101000a900460ff1615611065576040517f29de661200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166007600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611100576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101188151111561113d576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806007600084815260200190815260200160002060020190805190602001906111679291906119a1565b503373ffffffffffffffffffffffffffffffffffffffff16827f1dbbd33e7a06a3d6b3eb06987927cc5c71764c24bc2e8f56d90d2505c0c8606042600760008781526020019081526020016000206002016007600088815260200190815260200160002060030160009054906101000a900460ff166007600089815260200190815260200160002060040154600760008a81526020019081526020016000206005015460405161121b95949392919061236d565b60405180910390a35050565b61122f611500565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561129f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611296906124e9565b60405180910390fd5b6112a88161165c565b50565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600060068054905067ffffffffffffffff8111156112f8576112f7611cef565b5b60405190808252806020026020018201604052801561133157816020015b61131e611a27565b8152602001906001900390816113165790505b50905060005b6006805490508110156114d257600760006006838154811061135c5761135b612509565b5b906000526020600020015481526020019081526020016000206040518060c00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015481526020016002820180546113f0906122a6565b80601f016020809104026020016040519081016040528092919081815260200182805461141c906122a6565b80156114695780601f1061143e57610100808354040283529160200191611469565b820191906000526020600020905b81548152906001019060200180831161144c57829003601f168201915b505050505081526020016003820160009054906101000a900460ff16151515158152602001600482015481526020016005820154815250508282815181106114b4576114b3612509565b5b602002602001018190525080806114ca9061222e565b915050611337565b508091505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115086118ef565b73ffffffffffffffffffffffffffffffffffffffff16611526610b2a565b73ffffffffffffffffffffffffffffffffffffffff161461157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157390612584565b60405180910390fd5b565b80600060156101000a81548160ff021916908360ff16021790555050565b8060018190555050565b8060028190555050565b6115b86118f7565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115fb6118ef565b6040516116089190611c60565b60405180910390a1565b61161a610ad9565b1561165a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611651906125f0565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611728611612565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861176c6118ef565b6040516117799190611c60565b60405180910390a1565b6002544710156117bf576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000606460045442446117d291906123c7565b6117dc91906123c7565b6117e6919061263f565b905080600481905550600060159054906101000a900460ff1660ff168110156118eb5760008273ffffffffffffffffffffffffffffffffffffffff16600254604051611831906121ea565b60006040518083038185875af1925050503d806000811461186e576040519150601f19603f3d011682016040523d82523d6000602084013e611873565b606091505b50509050806118ae576040517f27fcd9d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fda1fcd992ca31eb97f098763ee5be1bfc2d2f6fd214d42642d99ddccb8ec64c6836002546040516118e19291906126cf565b60405180910390a1505b5050565b600033905090565b6118ff610ad9565b61193e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193590612744565b60405180910390fd5b565b50805461194c906122a6565b6000825580601f1061195e575061197d565b601f01602090049060005260206000209081019061197c9190611a75565b5b50565b508054600082559060005260206000209081019061199e9190611a75565b50565b8280546119ad906122a6565b90600052602060002090601f0160209004810192826119cf5760008555611a16565b82601f106119e857805160ff1916838001178555611a16565b82800160010185558215611a16579182015b82811115611a155782518255916020019190600101906119fa565b5b509050611a239190611a75565b5090565b6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160001515815260200160008152602001600081525090565b5b80821115611a8e576000816000905550600101611a76565b5090565b6000819050919050565b611aa581611a92565b82525050565b6000602082019050611ac06000830184611a9c565b92915050565b600060ff82169050919050565b611adc81611ac6565b82525050565b6000602082019050611af76000830184611ad3565b92915050565b6000604051905090565b600080fd5b600080fd5b611b1a81611ac6565b8114611b2557600080fd5b50565b600081359050611b3781611b11565b92915050565b611b4681611a92565b8114611b5157600080fd5b50565b600081359050611b6381611b3d565b92915050565b600080600060608486031215611b8257611b81611b07565b5b6000611b9086828701611b28565b9350506020611ba186828701611b54565b9250506040611bb286828701611b54565b9150509250925092565b600060208284031215611bd257611bd1611b07565b5b6000611be084828501611b54565b91505092915050565b60008115159050919050565b611bfe81611be9565b82525050565b6000602082019050611c196000830184611bf5565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c4a82611c1f565b9050919050565b611c5a81611c3f565b82525050565b6000602082019050611c756000830184611c51565b92915050565b611c8481611c3f565b8114611c8f57600080fd5b50565b600081359050611ca181611c7b565b92915050565b600060208284031215611cbd57611cbc611b07565b5b6000611ccb84828501611c92565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611d2782611cde565b810181811067ffffffffffffffff82111715611d4657611d45611cef565b5b80604052505050565b6000611d59611afd565b9050611d658282611d1e565b919050565b600067ffffffffffffffff821115611d8557611d84611cef565b5b611d8e82611cde565b9050602081019050919050565b82818337600083830152505050565b6000611dbd611db884611d6a565b611d4f565b905082815260208101848484011115611dd957611dd8611cd9565b5b611de4848285611d9b565b509392505050565b600082601f830112611e0157611e00611cd4565b5b8135611e11848260208601611daa565b91505092915050565b600080600060608486031215611e3357611e32611b07565b5b600084013567ffffffffffffffff811115611e5157611e50611b0c565b5b611e5d86828701611dec565b9350506020611e6e86828701611b54565b9250506040611e7f86828701611b54565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ec3578082015181840152602081019050611ea8565b83811115611ed2576000848401525b50505050565b6000611ee382611e89565b611eed8185611e94565b9350611efd818560208601611ea5565b611f0681611cde565b840191505092915050565b600060c082019050611f266000830189611c51565b611f336020830188611a9c565b8181036040830152611f458187611ed8565b9050611f546060830186611bf5565b611f616080830185611a9c565b611f6e60a0830184611a9c565b979650505050505050565b60008060408385031215611f9057611f8f611b07565b5b6000611f9e85828601611b54565b925050602083013567ffffffffffffffff811115611fbf57611fbe611b0c565b5b611fcb85828601611dec565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61200a81611c3f565b82525050565b61201981611a92565b82525050565b600082825260208201905092915050565b600061203b82611e89565b612045818561201f565b9350612055818560208601611ea5565b61205e81611cde565b840191505092915050565b61207281611be9565b82525050565b600060c0830160008301516120906000860182612001565b5060208301516120a36020860182612010565b50604083015184820360408601526120bb8282612030565b91505060608301516120d06060860182612069565b5060808301516120e36080860182612010565b5060a08301516120f660a0860182612010565b508091505092915050565b600061210d8383612078565b905092915050565b6000602082019050919050565b600061212d82611fd5565b6121378185611fe0565b93508360208202850161214985611ff1565b8060005b8581101561218557848403895281516121668582612101565b945061217183612115565b925060208a0199505060018101905061214d565b50829750879550505050505092915050565b600060208201905081810360008301526121b18184612122565b905092915050565b600081905092915050565b50565b60006121d46000836121b9565b91506121df826121c4565b600082019050919050565b60006121f5826121c7565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061223982611a92565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561226c5761226b6121ff565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122be57607f821691505b602082108114156122d2576122d1612277565b5b50919050565b60008190508160005260206000209050919050565b600081546122fa816122a6565b6123048186611e94565b9450600182166000811461231f576001811461233157612364565b60ff1983168652602086019350612364565b61233a856122d8565b60005b8381101561235c5781548189015260018201915060208101905061233d565b808801955050505b50505092915050565b600060a0820190506123826000830188611a9c565b818103602083015261239481876122ed565b90506123a36040830186611bf5565b6123b06060830185611a9c565b6123bd6080830184611a9c565b9695505050505050565b60006123d282611a92565b91506123dd83611a92565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612412576124116121ff565b5b828201905092915050565b600060a0820190506124326000830188611a9c565b81810360208301526124448187611ed8565b90506124536040830186611bf5565b6124606060830185611a9c565b61246d6080830184611a9c565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124d3602683611e94565b91506124de82612477565b604082019050919050565b60006020820190508181036000830152612502816124c6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061256e602083611e94565b915061257982612538565b602082019050919050565b6000602082019050818103600083015261259d81612561565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006125da601083611e94565b91506125e5826125a4565b602082019050919050565b60006020820190508181036000830152612609816125cd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061264a82611a92565b915061265583611a92565b92508261266557612664612610565b5b828206905092915050565b6000819050919050565b600061269561269061268b84611c1f565b612670565b611c1f565b9050919050565b60006126a78261267a565b9050919050565b60006126b98261269c565b9050919050565b6126c9816126ae565b82525050565b60006040820190506126e460008301856126c0565b6126f16020830184611a9c565b9392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061272e601483611e94565b9150612739826126f8565b602082019050919050565b6000602082019050818103600083015261275d81612721565b905091905056fea2646970667358221220ad2f61e6f5ac0b06a89f8a95bbab266538a9cc7eb71451f817c87eef80f835fa64736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000016345785d8a0000
-----Decoded View---------------
Arg [0] : _odds (uint8): 10
Arg [1] : _price (uint256): 1000000000000000
Arg [2] : _jackpot (uint256): 100000000000000000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [1] : 00000000000000000000000000000000000000000000000000038d7ea4c68000
Arg [2] : 000000000000000000000000000000000000000000000000016345785d8a0000
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.