Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 27 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Funds | 10045606 | 3 days ago | IN | 0 ETH | 0.00000638 | ||||
Get Free Ticket | 10044838 | 3 days ago | IN | 0 ETH | 0.00001937 | ||||
Get Free Ticket | 10004694 | 5 days ago | IN | 0 ETH | 0.00000871 | ||||
Get Free Ticket | 10004684 | 5 days ago | IN | 0 ETH | 0.00000902 | ||||
Get Free Ticket | 10001660 | 5 days ago | IN | 0 ETH | 0.0000081 | ||||
Get Free Ticket | 10001637 | 5 days ago | IN | 0 ETH | 0.0000077 | ||||
Get Free Ticket | 9979719 | 6 days ago | IN | 0 ETH | 0.00001624 | ||||
Get Free Ticket | 9890416 | 9 days ago | IN | 0 ETH | 0.0000062 | ||||
Get Free Ticket | 9866087 | 10 days ago | IN | 0 ETH | 0.0000084 | ||||
Get Free Ticket | 9857652 | 10 days ago | IN | 0 ETH | 0.0000058 | ||||
Start Raffle | 9836025 | 11 days ago | IN | 0 ETH | 0.0000095 | ||||
Get Free Ticket | 9815441 | 11 days ago | IN | 0 ETH | 0.0000198 | ||||
Get Free Ticket | 9815432 | 11 days ago | IN | 0 ETH | 0.0000066 | ||||
Get Free Ticket | 9815399 | 11 days ago | IN | 0 ETH | 0.00000689 | ||||
Get Free Ticket | 9815394 | 11 days ago | IN | 0 ETH | 0.00000699 | ||||
Get Free Ticket | 9815387 | 11 days ago | IN | 0 ETH | 0.00000699 | ||||
Get Free Ticket | 9815340 | 11 days ago | IN | 0 ETH | 0.00000952 | ||||
Start Raffle | 9814786 | 11 days ago | IN | 0 ETH | 0.00001205 | ||||
Get Free Ticket | 9785115 | 12 days ago | IN | 0 ETH | 0.00003655 | ||||
Get Free Ticket | 9784899 | 12 days ago | IN | 0 ETH | 0.00001596 | ||||
Get Free Ticket | 9784893 | 12 days ago | IN | 0 ETH | 0.0000159 | ||||
Get Free Ticket | 9784885 | 12 days ago | IN | 0 ETH | 0.00001591 | ||||
Get Free Ticket | 9784883 | 12 days ago | IN | 0 ETH | 0.00001591 | ||||
Get Free Ticket | 9784868 | 12 days ago | IN | 0 ETH | 0.00002016 | ||||
Start Raffle | 9784848 | 12 days ago | IN | 0 ETH | 0.00002865 |
Latest 10 internal transactions
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
10045606 | 3 days ago | 0.0048 ETH | ||||
10044838 | 3 days ago | 0.002 ETH | ||||
10044838 | 3 days ago | 0.003 ETH | ||||
10044838 | 3 days ago | 0.005 ETH | ||||
9815441 | 11 days ago | 0.00002 ETH | ||||
9815441 | 11 days ago | 0.00003 ETH | ||||
9815441 | 11 days ago | 0.00005 ETH | ||||
9785115 | 12 days ago | 0.00002 ETH | ||||
9785115 | 12 days ago | 0.00003 ETH | ||||
9785115 | 12 days ago | 0.00005 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
FreeTimerOnChainWin3Winner
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
Yes with 1000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; // \\ // Created by Clodron // If you want to create a new project, please contact me @ // [email protected] // \\ contract FreeTimerOnChainWin3Winner is ReentrancyGuard { address public owner; mapping(address => bool) public hasEntered; address[] public players; mapping(address => uint256) public playerIndexes; address[] public winnerAddresses; mapping(address => uint256) public winnerWins; bool public raffleStatus; uint256 public prizeAmount; uint256 public raffleEndTime; uint256 public ticketsSoldThisRound; uint256 public firstPrizePercentage; uint256 public secondPrizePercentage; uint256 public thirdPrizePercentage; uint256 private raffleStartDuration; event NewEntry(address indexed player, uint256 numberOfEntries); event RaffleStarted( uint256 prizeAmount, uint256 endTime, uint256 firstPrizePercentage, uint256 secondPrizePercentage, uint256 thirdPrizePercentage ); event RaffleEnded(); event WinnerSelected(address winner, uint256 prizeAmount); modifier onlyOwner() { require(msg.sender == owner, "Just owner."); _; } constructor() { owner = msg.sender; raffleStatus = false; ticketsSoldThisRound = 0; } function startRaffle( uint256 _prizeAmount, uint256 _duration, uint256 _firstPrizePercentage, uint256 _secondPrizePercentage, uint256 _thirdPrizePercentage ) public onlyOwner { require(!raffleStatus, "Raffle already started."); require(_prizeAmount > 0, "Prize amount must be greater than 0!"); require(_prizeAmount <= address(this).balance, "Not enough balance!"); require( _firstPrizePercentage + _secondPrizePercentage + _thirdPrizePercentage == 100, "Total percentage should equal 100." ); prizeAmount = _prizeAmount; firstPrizePercentage = _firstPrizePercentage; secondPrizePercentage = _secondPrizePercentage; thirdPrizePercentage = _thirdPrizePercentage; raffleStatus = true; raffleEndTime = block.timestamp + (_duration * 1 minutes); raffleStartDuration = _duration; emit RaffleStarted( _prizeAmount, raffleEndTime, _firstPrizePercentage, _secondPrizePercentage, _thirdPrizePercentage ); } function getFreeTicket() public { require(raffleStatus, "Raffle is not started."); require( !hasEntered[msg.sender], "You have already claimed your free ticket." ); if (players.length < 5 && getRemainingTimeSec() == 0) { players.push(msg.sender); hasEntered[msg.sender] = true; ticketsSoldThisRound += 1; emit NewEntry(msg.sender, ticketsSoldThisRound); } else { players.push(msg.sender); hasEntered[msg.sender] = true; ticketsSoldThisRound += 1; emit NewEntry(msg.sender, ticketsSoldThisRound); if (getRemainingTimeSec() == 0) { selectWinners(); } } } function tryEndRaffle() public onlyOwner nonReentrant { require(raffleStatus, "Raffle is not started yet."); require( block.timestamp > raffleEndTime, "Raffle period has not ended yet!" ); require(players.length > 0, "No players in raffle."); require(players.length > 3, "We need minimum 3 people."); selectWinners(); } function selectWinners() private { uint256 firstPrizeAmount = (prizeAmount * firstPrizePercentage) / 100; uint256 secondPrizeAmount = (prizeAmount * secondPrizePercentage) / 100; uint256 thirdPrizeAmount = (prizeAmount * thirdPrizePercentage) / 100; address winner; uint256 winnerIndex; winnerIndex = random() % players.length; winner = players[winnerIndex]; winnerAddresses.push(winner); payable(winner).transfer(firstPrizeAmount); winnerWins[winner] += 1; removePlayer(winnerIndex); winnerIndex = random() % players.length; winner = players[winnerIndex]; winnerAddresses.push(winner); payable(winner).transfer(secondPrizeAmount); winnerWins[winner] += 1; removePlayer(winnerIndex); winnerIndex = random() % players.length; winner = players[winnerIndex]; winnerAddresses.push(winner); payable(winner).transfer(thirdPrizeAmount); winnerWins[winner] += 1; removePlayer(winnerIndex); emit WinnerSelected(winnerAddresses[0], firstPrizeAmount); emit WinnerSelected(winnerAddresses[1], secondPrizeAmount); emit WinnerSelected(winnerAddresses[2], thirdPrizeAmount); endRaffle(); } function removePlayer(uint256 index) private { if (index >= players.length) return; hasEntered[players[index]] = false; players[index] = players[players.length - 1]; playerIndexes[players[index]] = index; players.pop(); } function hardReset() public onlyOwner { endRaffle(); } function endRaffle() private { raffleStatus = false; for (uint256 i = 0; i < players.length; i++) { hasEntered[players[i]] = false; } delete players; prizeAmount = 0; ticketsSoldThisRound = 0; firstPrizePercentage = 0; secondPrizePercentage = 0; thirdPrizePercentage = 0; emit RaffleEnded(); } function random() private view returns (uint256) { return uint256( keccak256( abi.encodePacked( block.timestamp, block.prevrandao, players.length ) ) ); } function initialDeposit() public payable onlyOwner nonReentrant { require(msg.value > 0, "Deposit must be greater than 0"); } function withdrawFunds() public payable onlyOwner nonReentrant { require(!raffleStatus, "Cannot withdraw before raffle has ended."); require(address(this).balance > 0, "No funds to withdraw"); payable(owner).transfer(address(this).balance); } function getWinnerByIndex( uint256 index ) public view returns (address, uint256) { address winnerAddress = winnerAddresses[index]; return (winnerAddress, winnerWins[winnerAddress]); } function getTotalWinners() public view returns (uint256) { return winnerAddresses.length; } function getRemainingTimeSec() public view returns (uint256) { if (block.timestamp >= raffleEndTime || !raffleStatus) { return 0; } else { return raffleEndTime - block.timestamp; } } function getRemainingTimeMin() public view returns (uint256) { if (block.timestamp >= raffleEndTime || !raffleStatus) { return 0; } else { uint256 remainingTimeInSeconds = raffleEndTime - block.timestamp; return remainingTimeInSeconds / 1 minutes; } } function getRemainingTimeHour() public view returns (uint256) { if (block.timestamp >= raffleEndTime || !raffleStatus) { return 0; } else { uint256 remainingTimeInSeconds = raffleEndTime - block.timestamp; return remainingTimeInSeconds / 1 hours; } } function getRaffleStartDuration() public view returns (uint256) { return raffleStartDuration; } function getContractBalance() public view returns (uint256) { return address(this).balance; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol) pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be _NOT_ENTERED require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == _ENTERED; } }
{ "optimizer": { "enabled": true, "runs": 1000 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"numberOfEntries","type":"uint256"}],"name":"NewEntry","type":"event"},{"anonymous":false,"inputs":[],"name":"RaffleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"prizeAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"firstPrizePercentage","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"secondPrizePercentage","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"thirdPrizePercentage","type":"uint256"}],"name":"RaffleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"prizeAmount","type":"uint256"}],"name":"WinnerSelected","type":"event"},{"inputs":[],"name":"firstPrizePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFreeTicket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRaffleStartDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainingTimeHour","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainingTimeMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainingTimeSec","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalWinners","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getWinnerByIndex","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hardReset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"hasEntered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"playerIndexes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"players","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prizeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"raffleEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"raffleStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"secondPrizePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_prizeAmount","type":"uint256"},{"internalType":"uint256","name":"_duration","type":"uint256"},{"internalType":"uint256","name":"_firstPrizePercentage","type":"uint256"},{"internalType":"uint256","name":"_secondPrizePercentage","type":"uint256"},{"internalType":"uint256","name":"_thirdPrizePercentage","type":"uint256"}],"name":"startRaffle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"thirdPrizePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ticketsSoldThisRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tryEndRaffle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"winnerAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"winnerWins","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawFunds","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506001600081815581546001600160a01b03191633179091556007805460ff19169055600a55611784806100456000396000f3fe6080604052600436106101a15760003560e01c8063785fa627116100e1578063c13168881161008a578063e037f88911610064578063e037f88914610442578063e227dbe71461044a578063f71d96cb14610460578063fabc71fb1461048057600080fd5b8063c1316888146103fd578063ccfa213e14610413578063ceeca9841461042d57600080fd5b806397349a95116100bb57806397349a95146103bd5780639819ae5b146103d3578063adc1ce8d146103e857600080fd5b8063785fa6271461035a5780638da5cb5b14610370578063916287951461039057600080fd5b806324600fc31161014e57806355af8da51161012857806355af8da5146102fd5780635b4329971461031d5780635c0ee556146103325780636f9fb98a1461034757600080fd5b806324600fc31461028657806324d70dea1461029057806335abbbf3146102d057600080fd5b806318a32e701161017f57806318a32e70146102465780631c0694f71461025c5780631da7aa361461027157600080fd5b806303e1be32146101a6578063045f9c97146101cf5780630609ff6714610207575b600080fd5b3480156101b257600080fd5b506101bc600a5481565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b506101ef6101ea366004611607565b610495565b6040516001600160a01b0390911681526020016101c6565b34801561021357600080fd5b50610227610222366004611607565b6104bf565b604080516001600160a01b0390931683526020830191909152016101c6565b34801561025257600080fd5b506101bc60095481565b34801561026857600080fd5b506101bc610507565b34801561027d57600080fd5b506101bc61053b565b61028e61057f565b005b34801561029c57600080fd5b506102c06102ab366004611620565b60026020526000908152604090205460ff1681565b60405190151581526020016101c6565b3480156102dc57600080fd5b506101bc6102eb366004611620565b60066020526000908152604090205481565b34801561030957600080fd5b5061028e610318366004611650565b6106e3565b34801561032957600080fd5b5061028e610963565b34801561033e57600080fd5b5061028e6109b3565b34801561035357600080fd5b50476101bc565b34801561036657600080fd5b506101bc60085481565b34801561037c57600080fd5b506001546101ef906001600160a01b031681565b34801561039c57600080fd5b506101bc6103ab366004611620565b60046020526000908152604090205481565b3480156103c957600080fd5b506101bc600c5481565b3480156103df57600080fd5b5061028e610b58565b3480156103f457600080fd5b506101bc610db5565b34801561040957600080fd5b506101bc600b5481565b34801561041f57600080fd5b506007546102c09060ff1681565b34801561043957600080fd5b506005546101bc565b61028e610df4565b34801561045657600080fd5b506101bc600d5481565b34801561046c57600080fd5b506101ef61047b366004611607565b610e94565b34801561048c57600080fd5b50600e546101bc565b600581815481106104a557600080fd5b6000918252602090912001546001600160a01b0316905081565b6000806000600584815481106104d7576104d761168b565b60009182526020808320909101546001600160a01b03168083526006909152604090912054909590945092505050565b60006009544210158061051d575060075460ff16155b156105285750600090565b4260095461053691906116b7565b905090565b600060095442101580610551575060075460ff16155b1561055c5750600090565b60004260095461056c91906116b7565b9050610579603c826116e6565b91505090565b6001546001600160a01b031633146105cc5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064015b60405180910390fd5b6105d4610ea4565b60075460ff161561064d5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f74207769746864726177206265666f726520726166666c6520686160448201527f7320656e6465642e00000000000000000000000000000000000000000000000060648201526084016105c3565b6000471161069d5760405162461bcd60e51b815260206004820152601460248201527f4e6f2066756e647320746f20776974686472617700000000000000000000000060448201526064016105c3565b6001546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106d6573d6000803e3d6000fd5b506106e16001600055565b565b6001546001600160a01b0316331461072b5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064016105c3565b60075460ff161561077e5760405162461bcd60e51b815260206004820152601760248201527f526166666c6520616c726561647920737461727465642e00000000000000000060448201526064016105c3565b600085116107f35760405162461bcd60e51b8152602060048201526024808201527f5072697a6520616d6f756e74206d75737420626520677265617465722074686160448201527f6e2030210000000000000000000000000000000000000000000000000000000060648201526084016105c3565b478511156108435760405162461bcd60e51b815260206004820152601360248201527f4e6f7420656e6f7567682062616c616e6365210000000000000000000000000060448201526064016105c3565b8061084e83856116fa565b61085891906116fa565b6064146108cd5760405162461bcd60e51b815260206004820152602260248201527f546f74616c2070657263656e746167652073686f756c6420657175616c20313060448201527f302e00000000000000000000000000000000000000000000000000000000000060648201526084016105c3565b6008859055600b839055600c829055600d8190556007805460ff191660011790556108f984603c61170d565b61090390426116fa565b6009819055600e859055604080518781526020810192909252810184905260608101839052608081018290527fbf097cbc9989ae63271154be486981752d24f13a9d65ba62035e939dd027178f9060a00160405180910390a15050505050565b6001546001600160a01b031633146109ab5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064016105c3565b6106e1610efd565b6001546001600160a01b031633146109fb5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064016105c3565b610a03610ea4565b60075460ff16610a555760405162461bcd60e51b815260206004820152601a60248201527f526166666c65206973206e6f742073746172746564207965742e00000000000060448201526064016105c3565b6009544211610aa65760405162461bcd60e51b815260206004820181905260248201527f526166666c6520706572696f6420686173206e6f7420656e646564207965742160448201526064016105c3565b600354610af55760405162461bcd60e51b815260206004820152601560248201527f4e6f20706c617965727320696e20726166666c652e000000000000000000000060448201526064016105c3565b6003805411610b465760405162461bcd60e51b815260206004820152601960248201527f5765206e656564206d696e696d756d20332070656f706c652e0000000000000060448201526064016105c3565b610b4e610fba565b6106e16001600055565b60075460ff16610baa5760405162461bcd60e51b815260206004820152601660248201527f526166666c65206973206e6f7420737461727465642e0000000000000000000060448201526064016105c3565b3360009081526002602052604090205460ff1615610c305760405162461bcd60e51b815260206004820152602a60248201527f596f75206861766520616c726561647920636c61696d656420796f757220667260448201527f6565207469636b65742e0000000000000000000000000000000000000000000060648201526084016105c3565b6003546005118015610c475750610c45610507565b155b15610cf6576003805460018181019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b031916339081179091556000908152600260205260408120805460ff191683179055600a8054909190610cb79084906116fa565b9091555050600a5460405190815233907f9d5cf8d6fc62210bab9630b8d613c1b63d9cfe0e0d2d70dda538d69c7e4f37ba9060200160405180910390a2565b6003805460018181019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b031916339081179091556000908152600260205260408120805460ff191683179055600a8054909190610d619084906116fa565b9091555050600a5460405190815233907f9d5cf8d6fc62210bab9630b8d613c1b63d9cfe0e0d2d70dda538d69c7e4f37ba9060200160405180910390a2610da6610507565b6000036106e1576106e1610fba565b600060095442101580610dcb575060075460ff16155b15610dd65750600090565b600042600954610de691906116b7565b9050610579610e10826116e6565b6001546001600160a01b03163314610e3c5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064016105c3565b610e44610ea4565b60003411610b4e5760405162461bcd60e51b815260206004820152601e60248201527f4465706f736974206d7573742062652067726561746572207468616e2030000060448201526064016105c3565b600381815481106104a557600080fd5b600260005403610ef65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105c3565b6002600055565b6007805460ff1916905560005b600354811015610f695760006002600060038481548110610f2d57610f2d61168b565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101610f0a565b50610f76600360006115cd565b60006008819055600a819055600b819055600c819055600d8190556040517f502fd88d3ee98597d4546d25e71901684f153dccc5308b79f0f9ad3c660537a69190a1565b60006064600b54600854610fce919061170d565b610fd891906116e6565b905060006064600c54600854610fee919061170d565b610ff891906116e6565b905060006064600d5460085461100e919061170d565b61101891906116e6565b6003546040805142602080830191909152448284015260608083018590528351808403909101815260809092019092528051910120919250600091829161105e91611724565b9050600381815481106110735761107361168b565b6000918252602082200154600580546001810182559083527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b039092169182179055604051909350839187156108fc02918891818181858888f193505050501580156110f7573d6000803e3d6000fd5b506001600160a01b03821660009081526006602052604081208054600192906111219084906116fa565b90915550611130905081611487565b600354604080514260208083019190915244828401526060808301859052835180840390910181526080909201909252805191012061116f9190611724565b9050600381815481106111845761118461168b565b6000918252602082200154600580546001810182559083527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b039092169182179055604051909350839186156108fc02918791818181858888f19350505050158015611208573d6000803e3d6000fd5b506001600160a01b03821660009081526006602052604081208054600192906112329084906116fa565b90915550611241905081611487565b60035460408051426020808301919091524482840152606080830185905283518084039091018152608090920190925280519101206112809190611724565b9050600381815481106112955761129561168b565b6000918252602082200154600580546001810182559083527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b039092169182179055604051909350839185156108fc02918691818181858888f19350505050158015611319573d6000803e3d6000fd5b506001600160a01b03821660009081526006602052604081208054600192906113439084906116fa565b90915550611352905081611487565b7f75060f9e79552df167b73353fee6237a75bb5ba8ea022f77224e32f152138bcb60056000815481106113875761138761168b565b60009182526020918290200154604080516001600160a01b0390921682529181018890520160405180910390a17f75060f9e79552df167b73353fee6237a75bb5ba8ea022f77224e32f152138bcb60056001815481106113e9576113e961168b565b60009182526020918290200154604080516001600160a01b0390921682529181018790520160405180910390a17f75060f9e79552df167b73353fee6237a75bb5ba8ea022f77224e32f152138bcb600560028154811061144b5761144b61168b565b60009182526020918290200154604080516001600160a01b0390921682529181018690520160405180910390a1611480610efd565b5050505050565b60035481106114935750565b600060026000600384815481106114ac576114ac61168b565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600380546114f0906001906116b7565b815481106115005761150061168b565b600091825260209091200154600380546001600160a01b03909216918390811061152c5761152c61168b565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060046000600384815481106115725761157261168b565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560038054806115a8576115a8611738565b600082815260209020810160001990810180546001600160a01b031916905501905550565b50805460008255906000526020600020908101906115eb91906115ee565b50565b5b8082111561160357600081556001016115ef565b5090565b60006020828403121561161957600080fd5b5035919050565b60006020828403121561163257600080fd5b81356001600160a01b038116811461164957600080fd5b9392505050565b600080600080600060a0868803121561166857600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156116ca576116ca6116a1565b92915050565b634e487b7160e01b600052601260045260246000fd5b6000826116f5576116f56116d0565b500490565b808201808211156116ca576116ca6116a1565b80820281158282048414176116ca576116ca6116a1565b600082611733576117336116d0565b500690565b634e487b7160e01b600052603160045260246000fdfea26469706673582212202cee243c08a30662ccf364d90e68368002bbc183601742e7b3b9aa3f276bfa7864736f6c63430008180033
Deployed Bytecode
0x6080604052600436106101a15760003560e01c8063785fa627116100e1578063c13168881161008a578063e037f88911610064578063e037f88914610442578063e227dbe71461044a578063f71d96cb14610460578063fabc71fb1461048057600080fd5b8063c1316888146103fd578063ccfa213e14610413578063ceeca9841461042d57600080fd5b806397349a95116100bb57806397349a95146103bd5780639819ae5b146103d3578063adc1ce8d146103e857600080fd5b8063785fa6271461035a5780638da5cb5b14610370578063916287951461039057600080fd5b806324600fc31161014e57806355af8da51161012857806355af8da5146102fd5780635b4329971461031d5780635c0ee556146103325780636f9fb98a1461034757600080fd5b806324600fc31461028657806324d70dea1461029057806335abbbf3146102d057600080fd5b806318a32e701161017f57806318a32e70146102465780631c0694f71461025c5780631da7aa361461027157600080fd5b806303e1be32146101a6578063045f9c97146101cf5780630609ff6714610207575b600080fd5b3480156101b257600080fd5b506101bc600a5481565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b506101ef6101ea366004611607565b610495565b6040516001600160a01b0390911681526020016101c6565b34801561021357600080fd5b50610227610222366004611607565b6104bf565b604080516001600160a01b0390931683526020830191909152016101c6565b34801561025257600080fd5b506101bc60095481565b34801561026857600080fd5b506101bc610507565b34801561027d57600080fd5b506101bc61053b565b61028e61057f565b005b34801561029c57600080fd5b506102c06102ab366004611620565b60026020526000908152604090205460ff1681565b60405190151581526020016101c6565b3480156102dc57600080fd5b506101bc6102eb366004611620565b60066020526000908152604090205481565b34801561030957600080fd5b5061028e610318366004611650565b6106e3565b34801561032957600080fd5b5061028e610963565b34801561033e57600080fd5b5061028e6109b3565b34801561035357600080fd5b50476101bc565b34801561036657600080fd5b506101bc60085481565b34801561037c57600080fd5b506001546101ef906001600160a01b031681565b34801561039c57600080fd5b506101bc6103ab366004611620565b60046020526000908152604090205481565b3480156103c957600080fd5b506101bc600c5481565b3480156103df57600080fd5b5061028e610b58565b3480156103f457600080fd5b506101bc610db5565b34801561040957600080fd5b506101bc600b5481565b34801561041f57600080fd5b506007546102c09060ff1681565b34801561043957600080fd5b506005546101bc565b61028e610df4565b34801561045657600080fd5b506101bc600d5481565b34801561046c57600080fd5b506101ef61047b366004611607565b610e94565b34801561048c57600080fd5b50600e546101bc565b600581815481106104a557600080fd5b6000918252602090912001546001600160a01b0316905081565b6000806000600584815481106104d7576104d761168b565b60009182526020808320909101546001600160a01b03168083526006909152604090912054909590945092505050565b60006009544210158061051d575060075460ff16155b156105285750600090565b4260095461053691906116b7565b905090565b600060095442101580610551575060075460ff16155b1561055c5750600090565b60004260095461056c91906116b7565b9050610579603c826116e6565b91505090565b6001546001600160a01b031633146105cc5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064015b60405180910390fd5b6105d4610ea4565b60075460ff161561064d5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f74207769746864726177206265666f726520726166666c6520686160448201527f7320656e6465642e00000000000000000000000000000000000000000000000060648201526084016105c3565b6000471161069d5760405162461bcd60e51b815260206004820152601460248201527f4e6f2066756e647320746f20776974686472617700000000000000000000000060448201526064016105c3565b6001546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106d6573d6000803e3d6000fd5b506106e16001600055565b565b6001546001600160a01b0316331461072b5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064016105c3565b60075460ff161561077e5760405162461bcd60e51b815260206004820152601760248201527f526166666c6520616c726561647920737461727465642e00000000000000000060448201526064016105c3565b600085116107f35760405162461bcd60e51b8152602060048201526024808201527f5072697a6520616d6f756e74206d75737420626520677265617465722074686160448201527f6e2030210000000000000000000000000000000000000000000000000000000060648201526084016105c3565b478511156108435760405162461bcd60e51b815260206004820152601360248201527f4e6f7420656e6f7567682062616c616e6365210000000000000000000000000060448201526064016105c3565b8061084e83856116fa565b61085891906116fa565b6064146108cd5760405162461bcd60e51b815260206004820152602260248201527f546f74616c2070657263656e746167652073686f756c6420657175616c20313060448201527f302e00000000000000000000000000000000000000000000000000000000000060648201526084016105c3565b6008859055600b839055600c829055600d8190556007805460ff191660011790556108f984603c61170d565b61090390426116fa565b6009819055600e859055604080518781526020810192909252810184905260608101839052608081018290527fbf097cbc9989ae63271154be486981752d24f13a9d65ba62035e939dd027178f9060a00160405180910390a15050505050565b6001546001600160a01b031633146109ab5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064016105c3565b6106e1610efd565b6001546001600160a01b031633146109fb5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064016105c3565b610a03610ea4565b60075460ff16610a555760405162461bcd60e51b815260206004820152601a60248201527f526166666c65206973206e6f742073746172746564207965742e00000000000060448201526064016105c3565b6009544211610aa65760405162461bcd60e51b815260206004820181905260248201527f526166666c6520706572696f6420686173206e6f7420656e646564207965742160448201526064016105c3565b600354610af55760405162461bcd60e51b815260206004820152601560248201527f4e6f20706c617965727320696e20726166666c652e000000000000000000000060448201526064016105c3565b6003805411610b465760405162461bcd60e51b815260206004820152601960248201527f5765206e656564206d696e696d756d20332070656f706c652e0000000000000060448201526064016105c3565b610b4e610fba565b6106e16001600055565b60075460ff16610baa5760405162461bcd60e51b815260206004820152601660248201527f526166666c65206973206e6f7420737461727465642e0000000000000000000060448201526064016105c3565b3360009081526002602052604090205460ff1615610c305760405162461bcd60e51b815260206004820152602a60248201527f596f75206861766520616c726561647920636c61696d656420796f757220667260448201527f6565207469636b65742e0000000000000000000000000000000000000000000060648201526084016105c3565b6003546005118015610c475750610c45610507565b155b15610cf6576003805460018181019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b031916339081179091556000908152600260205260408120805460ff191683179055600a8054909190610cb79084906116fa565b9091555050600a5460405190815233907f9d5cf8d6fc62210bab9630b8d613c1b63d9cfe0e0d2d70dda538d69c7e4f37ba9060200160405180910390a2565b6003805460018181019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b031916339081179091556000908152600260205260408120805460ff191683179055600a8054909190610d619084906116fa565b9091555050600a5460405190815233907f9d5cf8d6fc62210bab9630b8d613c1b63d9cfe0e0d2d70dda538d69c7e4f37ba9060200160405180910390a2610da6610507565b6000036106e1576106e1610fba565b600060095442101580610dcb575060075460ff16155b15610dd65750600090565b600042600954610de691906116b7565b9050610579610e10826116e6565b6001546001600160a01b03163314610e3c5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064016105c3565b610e44610ea4565b60003411610b4e5760405162461bcd60e51b815260206004820152601e60248201527f4465706f736974206d7573742062652067726561746572207468616e2030000060448201526064016105c3565b600381815481106104a557600080fd5b600260005403610ef65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105c3565b6002600055565b6007805460ff1916905560005b600354811015610f695760006002600060038481548110610f2d57610f2d61168b565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101610f0a565b50610f76600360006115cd565b60006008819055600a819055600b819055600c819055600d8190556040517f502fd88d3ee98597d4546d25e71901684f153dccc5308b79f0f9ad3c660537a69190a1565b60006064600b54600854610fce919061170d565b610fd891906116e6565b905060006064600c54600854610fee919061170d565b610ff891906116e6565b905060006064600d5460085461100e919061170d565b61101891906116e6565b6003546040805142602080830191909152448284015260608083018590528351808403909101815260809092019092528051910120919250600091829161105e91611724565b9050600381815481106110735761107361168b565b6000918252602082200154600580546001810182559083527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b039092169182179055604051909350839187156108fc02918891818181858888f193505050501580156110f7573d6000803e3d6000fd5b506001600160a01b03821660009081526006602052604081208054600192906111219084906116fa565b90915550611130905081611487565b600354604080514260208083019190915244828401526060808301859052835180840390910181526080909201909252805191012061116f9190611724565b9050600381815481106111845761118461168b565b6000918252602082200154600580546001810182559083527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b039092169182179055604051909350839186156108fc02918791818181858888f19350505050158015611208573d6000803e3d6000fd5b506001600160a01b03821660009081526006602052604081208054600192906112329084906116fa565b90915550611241905081611487565b60035460408051426020808301919091524482840152606080830185905283518084039091018152608090920190925280519101206112809190611724565b9050600381815481106112955761129561168b565b6000918252602082200154600580546001810182559083527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b039092169182179055604051909350839185156108fc02918691818181858888f19350505050158015611319573d6000803e3d6000fd5b506001600160a01b03821660009081526006602052604081208054600192906113439084906116fa565b90915550611352905081611487565b7f75060f9e79552df167b73353fee6237a75bb5ba8ea022f77224e32f152138bcb60056000815481106113875761138761168b565b60009182526020918290200154604080516001600160a01b0390921682529181018890520160405180910390a17f75060f9e79552df167b73353fee6237a75bb5ba8ea022f77224e32f152138bcb60056001815481106113e9576113e961168b565b60009182526020918290200154604080516001600160a01b0390921682529181018790520160405180910390a17f75060f9e79552df167b73353fee6237a75bb5ba8ea022f77224e32f152138bcb600560028154811061144b5761144b61168b565b60009182526020918290200154604080516001600160a01b0390921682529181018690520160405180910390a1611480610efd565b5050505050565b60035481106114935750565b600060026000600384815481106114ac576114ac61168b565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600380546114f0906001906116b7565b815481106115005761150061168b565b600091825260209091200154600380546001600160a01b03909216918390811061152c5761152c61168b565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060046000600384815481106115725761157261168b565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560038054806115a8576115a8611738565b600082815260209020810160001990810180546001600160a01b031916905501905550565b50805460008255906000526020600020908101906115eb91906115ee565b50565b5b8082111561160357600081556001016115ef565b5090565b60006020828403121561161957600080fd5b5035919050565b60006020828403121561163257600080fd5b81356001600160a01b038116811461164957600080fd5b9392505050565b600080600080600060a0868803121561166857600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156116ca576116ca6116a1565b92915050565b634e487b7160e01b600052601260045260246000fd5b6000826116f5576116f56116d0565b500490565b808201808211156116ca576116ca6116a1565b80820281158282048414176116ca576116ca6116a1565b600082611733576117336116d0565b500690565b634e487b7160e01b600052603160045260246000fdfea26469706673582212202cee243c08a30662ccf364d90e68368002bbc183601742e7b3b9aa3f276bfa7864736f6c63430008180033
Loading...
Loading
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.