More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 6,891 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
End Game | 19327814 | 143 days ago | IN | 0 ETH | 0.02161042 | ||||
New Game | 19327796 | 143 days ago | IN | 0 ETH | 0.03407052 | ||||
End Game | 19299722 | 147 days ago | IN | 0 ETH | 0.00576473 | ||||
New Game | 19299708 | 147 days ago | IN | 0 ETH | 0.00827186 | ||||
End Game | 19299705 | 147 days ago | IN | 0 ETH | 0.0061073 | ||||
New Game | 19299702 | 147 days ago | IN | 0 ETH | 0.00899527 | ||||
End Game | 19299698 | 147 days ago | IN | 0 ETH | 0.0063013 | ||||
New Game | 19299692 | 147 days ago | IN | 0 ETH | 0.01059 | ||||
End Game | 18939621 | 198 days ago | IN | 0 ETH | 0.00208845 | ||||
New Game | 18939618 | 198 days ago | IN | 0 ETH | 0.00315434 | ||||
End Game | 18937346 | 198 days ago | IN | 0 ETH | 0.0028958 | ||||
New Game | 18937339 | 198 days ago | IN | 0 ETH | 0.0039118 | ||||
Claim Revenue Sh... | 18869751 | 207 days ago | IN | 0 ETH | 0.0016914 | ||||
End Game | 18869744 | 207 days ago | IN | 0 ETH | 0.00339574 | ||||
New Game | 18869741 | 207 days ago | IN | 0 ETH | 0.00484543 | ||||
End Game | 18869735 | 207 days ago | IN | 0 ETH | 0.00319567 | ||||
New Game | 18869721 | 207 days ago | IN | 0 ETH | 0.00453268 | ||||
End Game | 18817017 | 215 days ago | IN | 0 ETH | 0.00931713 | ||||
New Game | 18817013 | 215 days ago | IN | 0 ETH | 0.01245579 | ||||
End Game | 18817001 | 215 days ago | IN | 0 ETH | 0.00860422 | ||||
New Game | 18816997 | 215 days ago | IN | 0 ETH | 0.0129483 | ||||
End Game | 18816947 | 215 days ago | IN | 0 ETH | 0.0103024 | ||||
New Game | 18816934 | 215 days ago | IN | 0 ETH | 0.01474704 | ||||
End Game | 18815161 | 215 days ago | IN | 0 ETH | 0.01451439 | ||||
New Game | 18815147 | 215 days ago | IN | 0 ETH | 0.0206156 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
SlotContractV3
Compiler Version
v0.8.18+commit.87f61d96
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.0; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; contract SlotContractV3 is Ownable { IERC20 public bettingToken; IERC20 public WETH; uint256 public immutable minimumBet; uint256 public immutable revenueBps; constructor( address _bettingToken, address _WETH, uint256 _minimumBet, uint256 _revenueBps, uint256 _playerPercentage, uint256 _holderPercentage ) { revenueBps = _revenueBps; bettingToken = IERC20(_bettingToken); WETH = IERC20(_WETH); minimumBet = _minimumBet; playerPercentage = _playerPercentage; holderPercentage = _holderPercentage; } mapping(address => uint256) public claimedHolderShares; mapping(int64 => mapping(address => uint256)) public claimedPlayerShares; mapping(int64 => mapping(address => uint256)) public unclaimedPlayerShares; mapping(address => uint256) public unclaimedHolderRewards; uint256 public totalUnclaimedHolderRewards; uint256 public totalRevenuePlayers; uint256 public totalRevenueHolders; uint256 public totalPlayerShares; uint256 public playerPercentage; uint256 public holderPercentage; struct Game { uint256 minBet; uint256[] betAmounts; address[] players; bool inProgress; uint16 loser; } mapping(int64 => Game) public games; int64[] public activeTgGroups; event Bet(int64 tgChatId, address player, uint256 amount); event Win(int64 tgChatId, address player, uint256 amount); event Loss(int64 tgChatId, address player, uint256 amount); event Revenue(int64 tgChatId, uint256 amount); function isGameInProgress(int64 _tgChatId) public view returns (bool) { return games[_tgChatId].inProgress; } function removeTgId(int64 _tgChatId) internal { for (uint256 i = 0; i < activeTgGroups.length; i++) { if (activeTgGroups[i] == _tgChatId) { activeTgGroups[i] = activeTgGroups[activeTgGroups.length - 1]; activeTgGroups.pop(); } } } function updatePlayerPercentage(uint256 newPercentage) public onlyOwner { require(newPercentage <= 100, "Percentage must be <= 100"); playerPercentage = newPercentage; } function updateHolderPercentage(uint256 newPercentage) public onlyOwner { require(newPercentage <= 100, "Percentage must be <= 100"); holderPercentage = newPercentage; } function addTokensToRevenueHolders(uint256 amount) public onlyOwner { totalRevenueHolders += amount; bettingToken.transferFrom(msg.sender, address(this), amount); } function addTokensToRevenuePlayers(uint256 amount) public onlyOwner { totalRevenuePlayers += amount; bettingToken.transferFrom(msg.sender, address(this), amount); } function claimRevenueShare(int64 _tgChatId) public { uint256 unclaimedShare = unclaimedPlayerShares[_tgChatId][msg.sender]; uint256 playerReward = 0; if (unclaimedShare > 0 && totalPlayerShares > 0) { uint256 playerShare = (unclaimedShare * 10000) / totalPlayerShares; playerReward = (playerShare * totalRevenuePlayers) / 10000; } uint256 holderReward = unclaimedHolderRewards[msg.sender]; uint256 userReward = playerReward + holderReward; totalRevenueHolders -= holderReward; claimedPlayerShares[_tgChatId][msg.sender] += playerReward; claimedHolderShares[msg.sender] += holderReward; totalUnclaimedHolderRewards -= holderReward; totalRevenuePlayers -= playerReward; totalPlayerShares -= unclaimedShare; unclaimedHolderRewards[msg.sender] = 0; unclaimedPlayerShares[_tgChatId][msg.sender] = 0; bettingToken.transfer(msg.sender, userReward); } function getPlayerRewards(int64 _tgChatId, address _player) public view returns (uint256) { uint256 unclaimedShare = unclaimedPlayerShares[_tgChatId][_player]; if (unclaimedShare == 0) { return 0; } uint256 playerShare = (unclaimedShare * 10000) / totalPlayerShares; uint256 playerReward = (playerShare * totalRevenuePlayers) / 10000; return playerReward; } function updateHolderRewards( address[] memory holders, uint256[] memory rewards ) public onlyOwner { require(holders.length == rewards.length, "Array length mismatch"); for (uint256 i = 0; i < holders.length; i++) { address holder = holders[i]; uint256 holderReward = rewards[i]; unclaimedHolderRewards[holder] = holderReward; } } function updateTotalUnclaimedRewards(uint256 newTotal) public onlyOwner { totalUnclaimedHolderRewards = newTotal; } function newGame( int64 _tgChatId, uint256 _minBet, address[] memory _players, uint256[] memory _bets, bool useWETH ) public onlyOwner returns (uint256[] memory) { require( _players.length == _bets.length, "Players/bets length mismatch" ); require( !isGameInProgress(_tgChatId), "There is already a game in progress" ); uint256 betTotal = 0; for (uint16 i = 0; i < _bets.length; i++) { require(_bets[i] >= _minBet, "Bet is smaller than the minimum"); betTotal += _bets[i]; } IERC20 chosenToken = useWETH ? WETH : bettingToken; for (uint16 i = 0; i < _bets.length; i++) { require( chosenToken.allowance(_players[i], address(this)) >= _bets[i], "Not enough allowance" ); bool isSent = chosenToken.transferFrom( _players[i], address(this), _bets[i] ); require(isSent, "Funds transfer failed"); emit Bet(_tgChatId, _players[i], _bets[i]); } Game memory g; g.minBet = _minBet; g.betAmounts = _bets; g.players = _players; g.inProgress = true; games[_tgChatId] = g; activeTgGroups.push(_tgChatId); return _bets; } function endGame( int64 _tgChatId, address _winner, bool usedWETH ) public onlyOwner { require( isGameInProgress(_tgChatId), "No game in progress for this Telegram chat ID" ); Game storage g = games[_tgChatId]; require(g.inProgress, "Game is not in progress"); uint256 totalBets = 0; for (uint16 i = 0; i < g.betAmounts.length; i++) { totalBets += g.betAmounts[i]; } uint256 revenueShare = (totalBets * revenueBps) / 10000; uint256 winnings = totalBets - revenueShare; uint256 revenuePlayers = (revenueShare * playerPercentage) / 100; IERC20 chosenToken = usedWETH ? WETH : bettingToken; chosenToken.transfer(_winner, winnings); emit Win(_tgChatId, _winner, winnings); emit Revenue(_tgChatId, revenueShare); totalRevenuePlayers += revenuePlayers; totalRevenueHolders += (revenueShare * holderPercentage) / 100; totalPlayerShares += revenuePlayers; for (uint16 i = 0; i < g.players.length; i++) { address player = g.players[i]; uint256 playerShare = (revenuePlayers * g.betAmounts[i]) / totalBets; unclaimedPlayerShares[_tgChatId][player] += playerShare; } chosenToken.transfer(address(this), revenueShare); g.inProgress = false; removeTgId(_tgChatId); } function abortGame(int64 _tgChatId, bool usedWETH) public onlyOwner { require( isGameInProgress(_tgChatId), "No game in progress for this Telegram chat ID" ); Game storage g = games[_tgChatId]; IERC20 chosenToken = usedWETH ? WETH : bettingToken; for (uint16 i = 0; i < g.players.length; i++) { bool isSent = chosenToken.transfer(g.players[i], g.betAmounts[i]); require(isSent, "Funds transfer failed"); } g.inProgress = false; removeTgId(_tgChatId); } function abortAllGames(bool usedWETH) public onlyOwner { int64[] memory _activeTgGroups = activeTgGroups; for (uint256 i = 0; i < _activeTgGroups.length; i++) { abortGame(_activeTgGroups[i], usedWETH); } } function setBettingToken(address _newBettingToken) public onlyOwner { require(_newBettingToken != address(0), "Invalid token address"); bettingToken = IERC20(_newBettingToken); } function setWETH(address _newWETH) public onlyOwner { require(_newWETH != address(0), "Invalid token address"); WETH = IERC20(_newWETH); } function emergencyWithdrawERC20(address tokenAddress, address to) external onlyOwner { IERC20 token = IERC20(tokenAddress); uint256 tokenBalance = token.balanceOf(address(this)); require(tokenBalance > 0, "No tokens to withdraw"); totalRevenueHolders = 0; totalRevenuePlayers = 0; token.transfer(to, tokenBalance); } function emergencyWithdrawEther(address payable to) external onlyOwner { uint256 contractBalance = address(this).balance; require(contractBalance > 0, "No Ether to withdraw"); (bool success, ) = to.call{value: contractBalance}(""); require(success, "Withdraw failed"); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 amount) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.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. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling 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 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" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_bettingToken","type":"address"},{"internalType":"address","name":"_WETH","type":"address"},{"internalType":"uint256","name":"_minimumBet","type":"uint256"},{"internalType":"uint256","name":"_revenueBps","type":"uint256"},{"internalType":"uint256","name":"_playerPercentage","type":"uint256"},{"internalType":"uint256","name":"_holderPercentage","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"tgChatId","type":"int64"},{"indexed":false,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Bet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"tgChatId","type":"int64"},{"indexed":false,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Loss","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":"int64","name":"tgChatId","type":"int64"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Revenue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"tgChatId","type":"int64"},{"indexed":false,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Win","type":"event"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"usedWETH","type":"bool"}],"name":"abortAllGames","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"_tgChatId","type":"int64"},{"internalType":"bool","name":"usedWETH","type":"bool"}],"name":"abortGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"activeTgGroups","outputs":[{"internalType":"int64","name":"","type":"int64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addTokensToRevenueHolders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addTokensToRevenuePlayers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bettingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"_tgChatId","type":"int64"}],"name":"claimRevenueShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimedHolderShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"},{"internalType":"address","name":"","type":"address"}],"name":"claimedPlayerShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"emergencyWithdrawERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"to","type":"address"}],"name":"emergencyWithdrawEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"_tgChatId","type":"int64"},{"internalType":"address","name":"_winner","type":"address"},{"internalType":"bool","name":"usedWETH","type":"bool"}],"name":"endGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"}],"name":"games","outputs":[{"internalType":"uint256","name":"minBet","type":"uint256"},{"internalType":"bool","name":"inProgress","type":"bool"},{"internalType":"uint16","name":"loser","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"_tgChatId","type":"int64"},{"internalType":"address","name":"_player","type":"address"}],"name":"getPlayerRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"holderPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"_tgChatId","type":"int64"}],"name":"isGameInProgress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumBet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"_tgChatId","type":"int64"},{"internalType":"uint256","name":"_minBet","type":"uint256"},{"internalType":"address[]","name":"_players","type":"address[]"},{"internalType":"uint256[]","name":"_bets","type":"uint256[]"},{"internalType":"bool","name":"useWETH","type":"bool"}],"name":"newGame","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"playerPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revenueBps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newBettingToken","type":"address"}],"name":"setBettingToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWETH","type":"address"}],"name":"setWETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalPlayerShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRevenueHolders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRevenuePlayers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUnclaimedHolderRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"unclaimedHolderRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"},{"internalType":"address","name":"","type":"address"}],"name":"unclaimedPlayerShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPercentage","type":"uint256"}],"name":"updateHolderPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holders","type":"address[]"},{"internalType":"uint256[]","name":"rewards","type":"uint256[]"}],"name":"updateHolderRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPercentage","type":"uint256"}],"name":"updatePlayerPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTotal","type":"uint256"}],"name":"updateTotalUnclaimedRewards","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c06040523480156200001157600080fd5b5060405162003ce638038062003ce6833981810160405281019062000037919062000274565b620000576200004b6200010360201b60201c565b6200010b60201b60201c565b8260a0818152505085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550836080818152505081600b8190555080600c8190555050505050505062000310565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200020182620001d4565b9050919050565b6200021381620001f4565b81146200021f57600080fd5b50565b600081519050620002338162000208565b92915050565b6000819050919050565b6200024e8162000239565b81146200025a57600080fd5b50565b6000815190506200026e8162000243565b92915050565b60008060008060008060c08789031215620002945762000293620001cf565b5b6000620002a489828a0162000222565b9650506020620002b789828a0162000222565b9550506040620002ca89828a016200025d565b9450506060620002dd89828a016200025d565b9350506080620002f089828a016200025d565b92505060a06200030389828a016200025d565b9150509295509295509295565b60805160a0516139a96200033d600039600081816112040152612218015260006116ae01526139a96000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80638da5cb5b11610125578063d3b17cf7116100ad578063f0dcd96f1161007c578063f0dcd96f14610613578063f2fde38b14610643578063f36197161461065f578063ff00910514610691578063ff08aa49146106ad5761021c565b8063d3b17cf71461059f578063de40a4a9146105bd578063deeb2b9c146105d9578063e03aedc5146105f55761021c565b8063af920e47116100f4578063af920e47146104fd578063b5a10d2a14610519578063c38a8afd14610535578063c8e8b7e814610553578063d057fc1f1461056f5761021c565b80638da5cb5b1461048757806396ebc6aa146104a55780639e2161fa146104c3578063ad5c4648146104df5761021c565b80635b769f3c116101a85780636975e459116101775780636975e459146103e3578063715018a6146104135780637f60fea41461041d57806383ba64361461043b57806386aa0689146104575761021c565b80635b769f3c1461035f5780635eca7c631461037b57806363c4246014610397578063651c2795146103c75761021c565b80632c9850df116101ef5780632c9850df14610293578063301d5c05146102c357806343425e88146102f3578063491071861461031157806349382ac11461032f5761021c565b806312cd94e21461022157806314a5f8561461023d5780632448401b14610259578063297bf1a514610277575b600080fd5b61023b60048036038101906102369190612645565b6106cb565b005b610257600480360381019061025291906126a8565b610a40565b005b610261610a52565b60405161026e91906126e4565b60405180910390f35b610291600480360381019061028c919061275d565b610a58565b005b6102ad60048036038101906102a8919061279d565b610bbb565b6040516102ba91906126e4565b60405180910390f35b6102dd60048036038101906102d8919061279d565b610be0565b6040516102ea91906126e4565b60405180910390f35b6102fb610c05565b604051610308919061283c565b60405180910390f35b610319610c2b565b60405161032691906126e4565b60405180910390f35b6103496004803603810190610344919061279d565b610c31565b60405161035691906126e4565b60405180910390f35b61037960048036038101906103749190612857565b610cea565b005b610395600480360381019061039091906126a8565b610da5565b005b6103b160048036038101906103ac9190612645565b610dfb565b6040516103be919061289f565b60405180910390f35b6103e160048036038101906103dc9190612ad6565b610e2e565b005b6103fd60048036038101906103f89190612857565b610f22565b60405161040a91906126e4565b60405180910390f35b61041b610f3a565b005b610425610f4e565b60405161043291906126e4565b60405180910390f35b61045560048036038101906104509190612b7a565b610f54565b005b610471600480360381019061046c9190612857565b61101f565b60405161047e91906126e4565b60405180910390f35b61048f611037565b60405161049c9190612bb6565b60405180910390f35b6104ad611060565b6040516104ba91906126e4565b60405180910390f35b6104dd60048036038101906104d891906126a8565b611066565b005b6104e76110bc565b6040516104f4919061283c565b60405180910390f35b61051760048036038101906105129190612bd1565b6110e2565b005b610533600480360381019061052e91906126a8565b6115e5565b005b61053d6116ac565b60405161054a91906126e4565b60405180910390f35b61056d60048036038101906105689190612c24565b6116d0565b005b610589600480360381019061058491906126a8565b611913565b6040516105969190612c73565b60405180910390f35b6105a761194a565b6040516105b491906126e4565b60405180910390f35b6105d760048036038101906105d29190612857565b611950565b005b6105f360048036038101906105ee9190612ccc565b611a0b565b005b6105fd611b0c565b60405161060a91906126e4565b60405180910390f35b61062d60048036038101906106289190612cf9565b611b12565b60405161063a9190612e6a565b60405180910390f35b61065d60048036038101906106589190612857565b612087565b005b61067960048036038101906106749190612645565b61210a565b60405161068893929190612ea9565b60405180910390f35b6106ab60048036038101906106a691906126a8565b61214f565b005b6106b5612216565b6040516106c291906126e4565b60405180910390f35b6000600560008360070b60070b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000808211801561073957506000600a54115b1561077c576000600a54612710846107519190612f0f565b61075b9190612f80565b90506127106008548261076e9190612f0f565b6107789190612f80565b9150505b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081836107ce9190612fb1565b905081600960008282546107e29190612fe5565b9250508190555082600460008760070b60070b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461084f9190612fb1565b9250508190555081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108a59190612fb1565b9250508190555081600760008282546108be9190612fe5565b9250508190555082600860008282546108d79190612fe5565b9250508190555083600a60008282546108f09190612fe5565b925050819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600560008760070b60070b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016109f5929190613019565b6020604051808303816000875af1158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a389190613057565b505050505050565b610a4861223a565b8060078190555050565b60095481565b610a6061223a565b600082905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610aa09190612bb6565b602060405180830381865afa158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae19190613099565b905060008111610b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1d90613123565b60405180910390fd5b600060098190555060006008819055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b8152600401610b71929190613019565b6020604051808303816000875af1158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb49190613057565b5050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b6005602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b600080600560008560070b60070b815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008103610c9f576000915050610ce4565b6000600a5461271083610cb29190612f0f565b610cbc9190612f80565b9050600061271060085483610cd19190612f0f565b610cdb9190612f80565b90508093505050505b92915050565b610cf261223a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d589061318f565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dad61223a565b6064811115610df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de8906131fb565b60405180910390fd5b80600c8190555050565b6000600d60008360070b60070b815260200190815260200160002060030160009054906101000a900460ff169050919050565b610e3661223a565b8051825114610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7190613267565b60405180910390fd5b60005b8251811015610f1d576000838281518110610e9b57610e9a613287565b5b602002602001015190506000838381518110610eba57610eb9613287565b5b6020026020010151905080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050508080610f15906132b6565b915050610e7d565b505050565b60066020528060005260406000206000915090505481565b610f4261223a565b610f4c60006122b8565b565b600c5481565b610f5c61223a565b6000600e805480602002602001604051908101604052809291908181526020018280548015610fd057602002820191906000526020600020906000905b82829054906101000a900460070b60070b81526020019060080190602082600701049283019260010382029150808411610f995790505b5050505050905060005b815181101561101a57611007828281518110610ff957610ff8613287565b5b6020026020010151846116d0565b8080611012906132b6565b915050610fda565b505050565b60036020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b61106e61223a565b60648111156110b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a9906131fb565b60405180910390fd5b80600b8190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ea61223a565b6110f383610dfb565b611132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112990613370565b60405180910390fd5b6000600d60008560070b60070b815260200190815260200160002090508060030160009054906101000a900460ff166111a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611197906133dc565b60405180910390fd5b6000805b82600101805490508161ffff1610156111fc57826001018161ffff16815481106111d1576111d0613287565b5b9060005260206000200154826111e79190612fb1565b915080806111f4906133fc565b9150506111a4565b5060006127107f00000000000000000000000000000000000000000000000000000000000000008361122e9190612f0f565b6112389190612f80565b9050600081836112489190612fe5565b905060006064600b548461125c9190612f0f565b6112669190612f80565b905060008661129757600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166112bb565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b90508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89856040518363ffffffff1660e01b81526004016112f8929190613019565b6020604051808303816000875af1158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b9190613057565b507fc2dc76ce664ffea95879f58074e6b60c3ebb762a62b91e9af938873a81c28d1489898560405161136f93929190613426565b60405180910390a17f0f771b5d5a6b02378d0d1a6b6b371ac1e69759fb677e46109ae1bb55167ea7ad89856040516113a892919061345d565b60405180910390a181600860008282546113c29190612fb1565b925050819055506064600c54856113d99190612f0f565b6113e39190612f80565b600960008282546113f49190612fb1565b9250508190555081600a600082825461140d9190612fb1565b9250508190555060005b86600201805490508161ffff161015611534576000876002018261ffff168154811061144657611445613287565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600087896001018461ffff16815481106114905761148f613287565b5b9060005260206000200154866114a69190612f0f565b6114b09190612f80565b905080600560008e60070b60070b815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115189190612fb1565b925050819055505050808061152c906133fc565b915050611417565b508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb30866040518363ffffffff1660e01b8152600401611570929190613019565b6020604051808303816000875af115801561158f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b39190613057565b5060008660030160006101000a81548160ff0219169083151502179055506115da8961237c565b505050505050505050565b6115ed61223a565b80600960008282546115ff9190612fb1565b92505081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161166593929190613486565b6020604051808303816000875af1158015611684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a89190613057565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6116d861223a565b6116e182610dfb565b611720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171790613370565b60405180910390fd5b6000600d60008460070b60070b8152602001908152602001600020905060008261176c57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611790565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905060005b82600201805490508161ffff1610156118e65760008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856002018461ffff16815481106117e0576117df613287565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001018561ffff168154811061182557611824613287565b5b90600052602060002001546040518363ffffffff1660e01b815260040161184d929190613019565b6020604051808303816000875af115801561186c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118909190613057565b9050806118d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c990613509565b60405180910390fd5b5080806118de906133fc565b915050611795565b5060008260030160006101000a81548160ff02191690831515021790555061190d8461237c565b50505050565b600e818154811061192357600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b600a5481565b61195861223a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119be9061318f565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a1361223a565b600047905060008111611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290613575565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611a81906135c6565b60006040518083038185875af1925050503d8060008114611abe576040519150601f19603f3d011682016040523d82523d6000602084013e611ac3565b606091505b5050905080611b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afe90613627565b60405180910390fd5b505050565b60085481565b6060611b1c61223a565b8251845114611b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5790613693565b60405180910390fd5b611b6986610dfb565b15611ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba090613725565b60405180910390fd5b6000805b84518161ffff161015611c5a5786858261ffff1681518110611bd257611bd1613287565b5b60200260200101511015611c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1290613791565b60405180910390fd5b848161ffff1681518110611c3257611c31613287565b5b602002602001015182611c459190612fb1565b91508080611c52906133fc565b915050611bad565b50600083611c8a57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611cae565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905060005b85518161ffff161015611f4557858161ffff1681518110611cd757611cd6613287565b5b60200260200101518273ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e898461ffff1681518110611d1257611d11613287565b5b6020026020010151306040518363ffffffff1660e01b8152600401611d389291906137b1565b602060405180830381865afa158015611d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d799190613099565b1015611dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db190613826565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166323b872dd898461ffff1681518110611def57611dee613287565b5b6020026020010151308a8661ffff1681518110611e0f57611e0e613287565b5b60200260200101516040518463ffffffff1660e01b8152600401611e3593929190613486565b6020604051808303816000875af1158015611e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e789190613057565b905080611eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb190613509565b60405180910390fd5b7f95d208f3deafce2776ab2b0da2c1b2e6dfc749f9b7993e0fe1df82ed26358d358a898461ffff1681518110611ef357611ef2613287565b5b6020026020010151898561ffff1681518110611f1257611f11613287565b5b6020026020010151604051611f2993929190613426565b60405180910390a1508080611f3d906133fc565b915050611cb3565b50611f4e6124cf565b87816000018181525050858160200181905250868160400181905250600181606001901515908115158152505080600d60008b60070b60070b8152602001908152602001600020600082015181600001556020820151816001019080519060200190611fbb929190612504565b506040820151816002019080519060200190611fd8929190612551565b5060608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548161ffff021916908361ffff160217905550905050600e8990806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff16021790555085935050505095945050505050565b61208f61223a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f5906138b8565b60405180910390fd5b612107816122b8565b50565b600d6020528060005260406000206000915090508060000154908060030160009054906101000a900460ff16908060030160019054906101000a900461ffff16905083565b61215761223a565b80600860008282546121699190612fb1565b92505081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b81526004016121cf93929190613486565b6020604051808303816000875af11580156121ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122129190613057565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6122426124c7565b73ffffffffffffffffffffffffffffffffffffffff16612260611037565b73ffffffffffffffffffffffffffffffffffffffff16146122b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ad90613924565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60005b600e805490508110156124c3578160070b600e82815481106123a4576123a3613287565b5b90600052602060002090600491828204019190066008029054906101000a900460070b60070b036124b057600e6001600e805490506123e39190612fe5565b815481106123f4576123f3613287565b5b90600052602060002090600491828204019190066008029054906101000a900460070b600e828154811061242b5761242a613287565b5b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550600e80548061247b5761247a613944565b5b60019003818190600052602060002090600491828204019190066008026101000a81549067ffffffffffffffff021916905590555b80806124bb906132b6565b91505061237f565b5050565b600033905090565b6040518060a00160405280600081526020016060815260200160608152602001600015158152602001600061ffff1681525090565b828054828255906000526020600020908101928215612540579160200282015b8281111561253f578251825591602001919060010190612524565b5b50905061254d91906125db565b5090565b8280548282559060005260206000209081019282156125ca579160200282015b828111156125c95782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612571565b5b5090506125d791906125db565b5090565b5b808211156125f45760008160009055506001016125dc565b5090565b6000604051905090565b600080fd5b600080fd5b60008160070b9050919050565b6126228161260c565b811461262d57600080fd5b50565b60008135905061263f81612619565b92915050565b60006020828403121561265b5761265a612602565b5b600061266984828501612630565b91505092915050565b6000819050919050565b61268581612672565b811461269057600080fd5b50565b6000813590506126a28161267c565b92915050565b6000602082840312156126be576126bd612602565b5b60006126cc84828501612693565b91505092915050565b6126de81612672565b82525050565b60006020820190506126f960008301846126d5565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061272a826126ff565b9050919050565b61273a8161271f565b811461274557600080fd5b50565b60008135905061275781612731565b92915050565b6000806040838503121561277457612773612602565b5b600061278285828601612748565b925050602061279385828601612748565b9150509250929050565b600080604083850312156127b4576127b3612602565b5b60006127c285828601612630565b92505060206127d385828601612748565b9150509250929050565b6000819050919050565b60006128026127fd6127f8846126ff565b6127dd565b6126ff565b9050919050565b6000612814826127e7565b9050919050565b600061282682612809565b9050919050565b6128368161281b565b82525050565b6000602082019050612851600083018461282d565b92915050565b60006020828403121561286d5761286c612602565b5b600061287b84828501612748565b91505092915050565b60008115159050919050565b61289981612884565b82525050565b60006020820190506128b46000830184612890565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612908826128bf565b810181811067ffffffffffffffff82111715612927576129266128d0565b5b80604052505050565b600061293a6125f8565b905061294682826128ff565b919050565b600067ffffffffffffffff821115612966576129656128d0565b5b602082029050602081019050919050565b600080fd5b600061298f61298a8461294b565b612930565b905080838252602082019050602084028301858111156129b2576129b1612977565b5b835b818110156129db57806129c78882612748565b8452602084019350506020810190506129b4565b5050509392505050565b600082601f8301126129fa576129f96128ba565b5b8135612a0a84826020860161297c565b91505092915050565b600067ffffffffffffffff821115612a2e57612a2d6128d0565b5b602082029050602081019050919050565b6000612a52612a4d84612a13565b612930565b90508083825260208201905060208402830185811115612a7557612a74612977565b5b835b81811015612a9e5780612a8a8882612693565b845260208401935050602081019050612a77565b5050509392505050565b600082601f830112612abd57612abc6128ba565b5b8135612acd848260208601612a3f565b91505092915050565b60008060408385031215612aed57612aec612602565b5b600083013567ffffffffffffffff811115612b0b57612b0a612607565b5b612b17858286016129e5565b925050602083013567ffffffffffffffff811115612b3857612b37612607565b5b612b4485828601612aa8565b9150509250929050565b612b5781612884565b8114612b6257600080fd5b50565b600081359050612b7481612b4e565b92915050565b600060208284031215612b9057612b8f612602565b5b6000612b9e84828501612b65565b91505092915050565b612bb08161271f565b82525050565b6000602082019050612bcb6000830184612ba7565b92915050565b600080600060608486031215612bea57612be9612602565b5b6000612bf886828701612630565b9350506020612c0986828701612748565b9250506040612c1a86828701612b65565b9150509250925092565b60008060408385031215612c3b57612c3a612602565b5b6000612c4985828601612630565b9250506020612c5a85828601612b65565b9150509250929050565b612c6d8161260c565b82525050565b6000602082019050612c886000830184612c64565b92915050565b6000612c99826126ff565b9050919050565b612ca981612c8e565b8114612cb457600080fd5b50565b600081359050612cc681612ca0565b92915050565b600060208284031215612ce257612ce1612602565b5b6000612cf084828501612cb7565b91505092915050565b600080600080600060a08688031215612d1557612d14612602565b5b6000612d2388828901612630565b9550506020612d3488828901612693565b945050604086013567ffffffffffffffff811115612d5557612d54612607565b5b612d61888289016129e5565b935050606086013567ffffffffffffffff811115612d8257612d81612607565b5b612d8e88828901612aa8565b9250506080612d9f88828901612b65565b9150509295509295909350565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612de181612672565b82525050565b6000612df38383612dd8565b60208301905092915050565b6000602082019050919050565b6000612e1782612dac565b612e218185612db7565b9350612e2c83612dc8565b8060005b83811015612e5d578151612e448882612de7565b9750612e4f83612dff565b925050600181019050612e30565b5085935050505092915050565b60006020820190508181036000830152612e848184612e0c565b905092915050565b600061ffff82169050919050565b612ea381612e8c565b82525050565b6000606082019050612ebe60008301866126d5565b612ecb6020830185612890565b612ed86040830184612e9a565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f1a82612672565b9150612f2583612672565b9250828202612f3381612672565b91508282048414831517612f4a57612f49612ee0565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f8b82612672565b9150612f9683612672565b925082612fa657612fa5612f51565b5b828204905092915050565b6000612fbc82612672565b9150612fc783612672565b9250828201905080821115612fdf57612fde612ee0565b5b92915050565b6000612ff082612672565b9150612ffb83612672565b925082820390508181111561301357613012612ee0565b5b92915050565b600060408201905061302e6000830185612ba7565b61303b60208301846126d5565b9392505050565b60008151905061305181612b4e565b92915050565b60006020828403121561306d5761306c612602565b5b600061307b84828501613042565b91505092915050565b6000815190506130938161267c565b92915050565b6000602082840312156130af576130ae612602565b5b60006130bd84828501613084565b91505092915050565b600082825260208201905092915050565b7f4e6f20746f6b656e7320746f2077697468647261770000000000000000000000600082015250565b600061310d6015836130c6565b9150613118826130d7565b602082019050919050565b6000602082019050818103600083015261313c81613100565b9050919050565b7f496e76616c696420746f6b656e20616464726573730000000000000000000000600082015250565b60006131796015836130c6565b915061318482613143565b602082019050919050565b600060208201905081810360008301526131a88161316c565b9050919050565b7f50657263656e74616765206d757374206265203c3d2031303000000000000000600082015250565b60006131e56019836130c6565b91506131f0826131af565b602082019050919050565b60006020820190508181036000830152613214816131d8565b9050919050565b7f4172726179206c656e677468206d69736d617463680000000000000000000000600082015250565b60006132516015836130c6565b915061325c8261321b565b602082019050919050565b6000602082019050818103600083015261328081613244565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006132c182612672565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132f3576132f2612ee0565b5b600182019050919050565b7f4e6f2067616d6520696e2070726f677265737320666f7220746869732054656c60008201527f656772616d206368617420494400000000000000000000000000000000000000602082015250565b600061335a602d836130c6565b9150613365826132fe565b604082019050919050565b600060208201905081810360008301526133898161334d565b9050919050565b7f47616d65206973206e6f7420696e2070726f6772657373000000000000000000600082015250565b60006133c66017836130c6565b91506133d182613390565b602082019050919050565b600060208201905081810360008301526133f5816133b9565b9050919050565b600061340782612e8c565b915061ffff820361341b5761341a612ee0565b5b600182019050919050565b600060608201905061343b6000830186612c64565b6134486020830185612ba7565b61345560408301846126d5565b949350505050565b60006040820190506134726000830185612c64565b61347f60208301846126d5565b9392505050565b600060608201905061349b6000830186612ba7565b6134a86020830185612ba7565b6134b560408301846126d5565b949350505050565b7f46756e6473207472616e73666572206661696c65640000000000000000000000600082015250565b60006134f36015836130c6565b91506134fe826134bd565b602082019050919050565b60006020820190508181036000830152613522816134e6565b9050919050565b7f4e6f20457468657220746f207769746864726177000000000000000000000000600082015250565b600061355f6014836130c6565b915061356a82613529565b602082019050919050565b6000602082019050818103600083015261358e81613552565b9050919050565b600081905092915050565b50565b60006135b0600083613595565b91506135bb826135a0565b600082019050919050565b60006135d1826135a3565b9150819050919050565b7f5769746864726177206661696c65640000000000000000000000000000000000600082015250565b6000613611600f836130c6565b915061361c826135db565b602082019050919050565b6000602082019050818103600083015261364081613604565b9050919050565b7f506c61796572732f62657473206c656e677468206d69736d6174636800000000600082015250565b600061367d601c836130c6565b915061368882613647565b602082019050919050565b600060208201905081810360008301526136ac81613670565b9050919050565b7f546865726520697320616c726561647920612067616d6520696e2070726f677260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061370f6023836130c6565b915061371a826136b3565b604082019050919050565b6000602082019050818103600083015261373e81613702565b9050919050565b7f42657420697320736d616c6c6572207468616e20746865206d696e696d756d00600082015250565b600061377b601f836130c6565b915061378682613745565b602082019050919050565b600060208201905081810360008301526137aa8161376e565b9050919050565b60006040820190506137c66000830185612ba7565b6137d36020830184612ba7565b9392505050565b7f4e6f7420656e6f75676820616c6c6f77616e6365000000000000000000000000600082015250565b60006138106014836130c6565b915061381b826137da565b602082019050919050565b6000602082019050818103600083015261383f81613803565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006138a26026836130c6565b91506138ad82613846565b604082019050919050565b600060208201905081810360008301526138d181613895565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061390e6020836130c6565b9150613919826138d8565b602082019050919050565b6000602082019050818103600083015261393d81613901565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220b038aa93f3e188b72108d45d1e751d71dd4ff5768877eedeb2bc226f37ca626764736f6c634300081200330000000000000000000000009b44793a0177c84dd01ad81137db696531902871000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000001e
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061021c5760003560e01c80638da5cb5b11610125578063d3b17cf7116100ad578063f0dcd96f1161007c578063f0dcd96f14610613578063f2fde38b14610643578063f36197161461065f578063ff00910514610691578063ff08aa49146106ad5761021c565b8063d3b17cf71461059f578063de40a4a9146105bd578063deeb2b9c146105d9578063e03aedc5146105f55761021c565b8063af920e47116100f4578063af920e47146104fd578063b5a10d2a14610519578063c38a8afd14610535578063c8e8b7e814610553578063d057fc1f1461056f5761021c565b80638da5cb5b1461048757806396ebc6aa146104a55780639e2161fa146104c3578063ad5c4648146104df5761021c565b80635b769f3c116101a85780636975e459116101775780636975e459146103e3578063715018a6146104135780637f60fea41461041d57806383ba64361461043b57806386aa0689146104575761021c565b80635b769f3c1461035f5780635eca7c631461037b57806363c4246014610397578063651c2795146103c75761021c565b80632c9850df116101ef5780632c9850df14610293578063301d5c05146102c357806343425e88146102f3578063491071861461031157806349382ac11461032f5761021c565b806312cd94e21461022157806314a5f8561461023d5780632448401b14610259578063297bf1a514610277575b600080fd5b61023b60048036038101906102369190612645565b6106cb565b005b610257600480360381019061025291906126a8565b610a40565b005b610261610a52565b60405161026e91906126e4565b60405180910390f35b610291600480360381019061028c919061275d565b610a58565b005b6102ad60048036038101906102a8919061279d565b610bbb565b6040516102ba91906126e4565b60405180910390f35b6102dd60048036038101906102d8919061279d565b610be0565b6040516102ea91906126e4565b60405180910390f35b6102fb610c05565b604051610308919061283c565b60405180910390f35b610319610c2b565b60405161032691906126e4565b60405180910390f35b6103496004803603810190610344919061279d565b610c31565b60405161035691906126e4565b60405180910390f35b61037960048036038101906103749190612857565b610cea565b005b610395600480360381019061039091906126a8565b610da5565b005b6103b160048036038101906103ac9190612645565b610dfb565b6040516103be919061289f565b60405180910390f35b6103e160048036038101906103dc9190612ad6565b610e2e565b005b6103fd60048036038101906103f89190612857565b610f22565b60405161040a91906126e4565b60405180910390f35b61041b610f3a565b005b610425610f4e565b60405161043291906126e4565b60405180910390f35b61045560048036038101906104509190612b7a565b610f54565b005b610471600480360381019061046c9190612857565b61101f565b60405161047e91906126e4565b60405180910390f35b61048f611037565b60405161049c9190612bb6565b60405180910390f35b6104ad611060565b6040516104ba91906126e4565b60405180910390f35b6104dd60048036038101906104d891906126a8565b611066565b005b6104e76110bc565b6040516104f4919061283c565b60405180910390f35b61051760048036038101906105129190612bd1565b6110e2565b005b610533600480360381019061052e91906126a8565b6115e5565b005b61053d6116ac565b60405161054a91906126e4565b60405180910390f35b61056d60048036038101906105689190612c24565b6116d0565b005b610589600480360381019061058491906126a8565b611913565b6040516105969190612c73565b60405180910390f35b6105a761194a565b6040516105b491906126e4565b60405180910390f35b6105d760048036038101906105d29190612857565b611950565b005b6105f360048036038101906105ee9190612ccc565b611a0b565b005b6105fd611b0c565b60405161060a91906126e4565b60405180910390f35b61062d60048036038101906106289190612cf9565b611b12565b60405161063a9190612e6a565b60405180910390f35b61065d60048036038101906106589190612857565b612087565b005b61067960048036038101906106749190612645565b61210a565b60405161068893929190612ea9565b60405180910390f35b6106ab60048036038101906106a691906126a8565b61214f565b005b6106b5612216565b6040516106c291906126e4565b60405180910390f35b6000600560008360070b60070b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000808211801561073957506000600a54115b1561077c576000600a54612710846107519190612f0f565b61075b9190612f80565b90506127106008548261076e9190612f0f565b6107789190612f80565b9150505b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081836107ce9190612fb1565b905081600960008282546107e29190612fe5565b9250508190555082600460008760070b60070b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461084f9190612fb1565b9250508190555081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108a59190612fb1565b9250508190555081600760008282546108be9190612fe5565b9250508190555082600860008282546108d79190612fe5565b9250508190555083600a60008282546108f09190612fe5565b925050819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600560008760070b60070b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016109f5929190613019565b6020604051808303816000875af1158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a389190613057565b505050505050565b610a4861223a565b8060078190555050565b60095481565b610a6061223a565b600082905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610aa09190612bb6565b602060405180830381865afa158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae19190613099565b905060008111610b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1d90613123565b60405180910390fd5b600060098190555060006008819055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b8152600401610b71929190613019565b6020604051808303816000875af1158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb49190613057565b5050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b6005602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b600080600560008560070b60070b815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008103610c9f576000915050610ce4565b6000600a5461271083610cb29190612f0f565b610cbc9190612f80565b9050600061271060085483610cd19190612f0f565b610cdb9190612f80565b90508093505050505b92915050565b610cf261223a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d589061318f565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dad61223a565b6064811115610df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de8906131fb565b60405180910390fd5b80600c8190555050565b6000600d60008360070b60070b815260200190815260200160002060030160009054906101000a900460ff169050919050565b610e3661223a565b8051825114610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7190613267565b60405180910390fd5b60005b8251811015610f1d576000838281518110610e9b57610e9a613287565b5b602002602001015190506000838381518110610eba57610eb9613287565b5b6020026020010151905080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050508080610f15906132b6565b915050610e7d565b505050565b60066020528060005260406000206000915090505481565b610f4261223a565b610f4c60006122b8565b565b600c5481565b610f5c61223a565b6000600e805480602002602001604051908101604052809291908181526020018280548015610fd057602002820191906000526020600020906000905b82829054906101000a900460070b60070b81526020019060080190602082600701049283019260010382029150808411610f995790505b5050505050905060005b815181101561101a57611007828281518110610ff957610ff8613287565b5b6020026020010151846116d0565b8080611012906132b6565b915050610fda565b505050565b60036020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b61106e61223a565b60648111156110b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a9906131fb565b60405180910390fd5b80600b8190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ea61223a565b6110f383610dfb565b611132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112990613370565b60405180910390fd5b6000600d60008560070b60070b815260200190815260200160002090508060030160009054906101000a900460ff166111a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611197906133dc565b60405180910390fd5b6000805b82600101805490508161ffff1610156111fc57826001018161ffff16815481106111d1576111d0613287565b5b9060005260206000200154826111e79190612fb1565b915080806111f4906133fc565b9150506111a4565b5060006127107f00000000000000000000000000000000000000000000000000000000000003e88361122e9190612f0f565b6112389190612f80565b9050600081836112489190612fe5565b905060006064600b548461125c9190612f0f565b6112669190612f80565b905060008661129757600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166112bb565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b90508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89856040518363ffffffff1660e01b81526004016112f8929190613019565b6020604051808303816000875af1158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b9190613057565b507fc2dc76ce664ffea95879f58074e6b60c3ebb762a62b91e9af938873a81c28d1489898560405161136f93929190613426565b60405180910390a17f0f771b5d5a6b02378d0d1a6b6b371ac1e69759fb677e46109ae1bb55167ea7ad89856040516113a892919061345d565b60405180910390a181600860008282546113c29190612fb1565b925050819055506064600c54856113d99190612f0f565b6113e39190612f80565b600960008282546113f49190612fb1565b9250508190555081600a600082825461140d9190612fb1565b9250508190555060005b86600201805490508161ffff161015611534576000876002018261ffff168154811061144657611445613287565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600087896001018461ffff16815481106114905761148f613287565b5b9060005260206000200154866114a69190612f0f565b6114b09190612f80565b905080600560008e60070b60070b815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115189190612fb1565b925050819055505050808061152c906133fc565b915050611417565b508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb30866040518363ffffffff1660e01b8152600401611570929190613019565b6020604051808303816000875af115801561158f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b39190613057565b5060008660030160006101000a81548160ff0219169083151502179055506115da8961237c565b505050505050505050565b6115ed61223a565b80600960008282546115ff9190612fb1565b92505081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161166593929190613486565b6020604051808303816000875af1158015611684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a89190613057565b5050565b7f000000000000000000000000000000000000000000000000000000000000000181565b6116d861223a565b6116e182610dfb565b611720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171790613370565b60405180910390fd5b6000600d60008460070b60070b8152602001908152602001600020905060008261176c57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611790565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905060005b82600201805490508161ffff1610156118e65760008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb856002018461ffff16815481106117e0576117df613287565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001018561ffff168154811061182557611824613287565b5b90600052602060002001546040518363ffffffff1660e01b815260040161184d929190613019565b6020604051808303816000875af115801561186c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118909190613057565b9050806118d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c990613509565b60405180910390fd5b5080806118de906133fc565b915050611795565b5060008260030160006101000a81548160ff02191690831515021790555061190d8461237c565b50505050565b600e818154811061192357600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b600a5481565b61195861223a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119be9061318f565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a1361223a565b600047905060008111611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290613575565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611a81906135c6565b60006040518083038185875af1925050503d8060008114611abe576040519150601f19603f3d011682016040523d82523d6000602084013e611ac3565b606091505b5050905080611b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afe90613627565b60405180910390fd5b505050565b60085481565b6060611b1c61223a565b8251845114611b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5790613693565b60405180910390fd5b611b6986610dfb565b15611ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba090613725565b60405180910390fd5b6000805b84518161ffff161015611c5a5786858261ffff1681518110611bd257611bd1613287565b5b60200260200101511015611c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1290613791565b60405180910390fd5b848161ffff1681518110611c3257611c31613287565b5b602002602001015182611c459190612fb1565b91508080611c52906133fc565b915050611bad565b50600083611c8a57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611cae565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905060005b85518161ffff161015611f4557858161ffff1681518110611cd757611cd6613287565b5b60200260200101518273ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e898461ffff1681518110611d1257611d11613287565b5b6020026020010151306040518363ffffffff1660e01b8152600401611d389291906137b1565b602060405180830381865afa158015611d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d799190613099565b1015611dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db190613826565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166323b872dd898461ffff1681518110611def57611dee613287565b5b6020026020010151308a8661ffff1681518110611e0f57611e0e613287565b5b60200260200101516040518463ffffffff1660e01b8152600401611e3593929190613486565b6020604051808303816000875af1158015611e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e789190613057565b905080611eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb190613509565b60405180910390fd5b7f95d208f3deafce2776ab2b0da2c1b2e6dfc749f9b7993e0fe1df82ed26358d358a898461ffff1681518110611ef357611ef2613287565b5b6020026020010151898561ffff1681518110611f1257611f11613287565b5b6020026020010151604051611f2993929190613426565b60405180910390a1508080611f3d906133fc565b915050611cb3565b50611f4e6124cf565b87816000018181525050858160200181905250868160400181905250600181606001901515908115158152505080600d60008b60070b60070b8152602001908152602001600020600082015181600001556020820151816001019080519060200190611fbb929190612504565b506040820151816002019080519060200190611fd8929190612551565b5060608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548161ffff021916908361ffff160217905550905050600e8990806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff16021790555085935050505095945050505050565b61208f61223a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f5906138b8565b60405180910390fd5b612107816122b8565b50565b600d6020528060005260406000206000915090508060000154908060030160009054906101000a900460ff16908060030160019054906101000a900461ffff16905083565b61215761223a565b80600860008282546121699190612fb1565b92505081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b81526004016121cf93929190613486565b6020604051808303816000875af11580156121ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122129190613057565b5050565b7f00000000000000000000000000000000000000000000000000000000000003e881565b6122426124c7565b73ffffffffffffffffffffffffffffffffffffffff16612260611037565b73ffffffffffffffffffffffffffffffffffffffff16146122b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ad90613924565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60005b600e805490508110156124c3578160070b600e82815481106123a4576123a3613287565b5b90600052602060002090600491828204019190066008029054906101000a900460070b60070b036124b057600e6001600e805490506123e39190612fe5565b815481106123f4576123f3613287565b5b90600052602060002090600491828204019190066008029054906101000a900460070b600e828154811061242b5761242a613287565b5b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550600e80548061247b5761247a613944565b5b60019003818190600052602060002090600491828204019190066008026101000a81549067ffffffffffffffff021916905590555b80806124bb906132b6565b91505061237f565b5050565b600033905090565b6040518060a00160405280600081526020016060815260200160608152602001600015158152602001600061ffff1681525090565b828054828255906000526020600020908101928215612540579160200282015b8281111561253f578251825591602001919060010190612524565b5b50905061254d91906125db565b5090565b8280548282559060005260206000209081019282156125ca579160200282015b828111156125c95782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612571565b5b5090506125d791906125db565b5090565b5b808211156125f45760008160009055506001016125dc565b5090565b6000604051905090565b600080fd5b600080fd5b60008160070b9050919050565b6126228161260c565b811461262d57600080fd5b50565b60008135905061263f81612619565b92915050565b60006020828403121561265b5761265a612602565b5b600061266984828501612630565b91505092915050565b6000819050919050565b61268581612672565b811461269057600080fd5b50565b6000813590506126a28161267c565b92915050565b6000602082840312156126be576126bd612602565b5b60006126cc84828501612693565b91505092915050565b6126de81612672565b82525050565b60006020820190506126f960008301846126d5565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061272a826126ff565b9050919050565b61273a8161271f565b811461274557600080fd5b50565b60008135905061275781612731565b92915050565b6000806040838503121561277457612773612602565b5b600061278285828601612748565b925050602061279385828601612748565b9150509250929050565b600080604083850312156127b4576127b3612602565b5b60006127c285828601612630565b92505060206127d385828601612748565b9150509250929050565b6000819050919050565b60006128026127fd6127f8846126ff565b6127dd565b6126ff565b9050919050565b6000612814826127e7565b9050919050565b600061282682612809565b9050919050565b6128368161281b565b82525050565b6000602082019050612851600083018461282d565b92915050565b60006020828403121561286d5761286c612602565b5b600061287b84828501612748565b91505092915050565b60008115159050919050565b61289981612884565b82525050565b60006020820190506128b46000830184612890565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612908826128bf565b810181811067ffffffffffffffff82111715612927576129266128d0565b5b80604052505050565b600061293a6125f8565b905061294682826128ff565b919050565b600067ffffffffffffffff821115612966576129656128d0565b5b602082029050602081019050919050565b600080fd5b600061298f61298a8461294b565b612930565b905080838252602082019050602084028301858111156129b2576129b1612977565b5b835b818110156129db57806129c78882612748565b8452602084019350506020810190506129b4565b5050509392505050565b600082601f8301126129fa576129f96128ba565b5b8135612a0a84826020860161297c565b91505092915050565b600067ffffffffffffffff821115612a2e57612a2d6128d0565b5b602082029050602081019050919050565b6000612a52612a4d84612a13565b612930565b90508083825260208201905060208402830185811115612a7557612a74612977565b5b835b81811015612a9e5780612a8a8882612693565b845260208401935050602081019050612a77565b5050509392505050565b600082601f830112612abd57612abc6128ba565b5b8135612acd848260208601612a3f565b91505092915050565b60008060408385031215612aed57612aec612602565b5b600083013567ffffffffffffffff811115612b0b57612b0a612607565b5b612b17858286016129e5565b925050602083013567ffffffffffffffff811115612b3857612b37612607565b5b612b4485828601612aa8565b9150509250929050565b612b5781612884565b8114612b6257600080fd5b50565b600081359050612b7481612b4e565b92915050565b600060208284031215612b9057612b8f612602565b5b6000612b9e84828501612b65565b91505092915050565b612bb08161271f565b82525050565b6000602082019050612bcb6000830184612ba7565b92915050565b600080600060608486031215612bea57612be9612602565b5b6000612bf886828701612630565b9350506020612c0986828701612748565b9250506040612c1a86828701612b65565b9150509250925092565b60008060408385031215612c3b57612c3a612602565b5b6000612c4985828601612630565b9250506020612c5a85828601612b65565b9150509250929050565b612c6d8161260c565b82525050565b6000602082019050612c886000830184612c64565b92915050565b6000612c99826126ff565b9050919050565b612ca981612c8e565b8114612cb457600080fd5b50565b600081359050612cc681612ca0565b92915050565b600060208284031215612ce257612ce1612602565b5b6000612cf084828501612cb7565b91505092915050565b600080600080600060a08688031215612d1557612d14612602565b5b6000612d2388828901612630565b9550506020612d3488828901612693565b945050604086013567ffffffffffffffff811115612d5557612d54612607565b5b612d61888289016129e5565b935050606086013567ffffffffffffffff811115612d8257612d81612607565b5b612d8e88828901612aa8565b9250506080612d9f88828901612b65565b9150509295509295909350565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612de181612672565b82525050565b6000612df38383612dd8565b60208301905092915050565b6000602082019050919050565b6000612e1782612dac565b612e218185612db7565b9350612e2c83612dc8565b8060005b83811015612e5d578151612e448882612de7565b9750612e4f83612dff565b925050600181019050612e30565b5085935050505092915050565b60006020820190508181036000830152612e848184612e0c565b905092915050565b600061ffff82169050919050565b612ea381612e8c565b82525050565b6000606082019050612ebe60008301866126d5565b612ecb6020830185612890565b612ed86040830184612e9a565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f1a82612672565b9150612f2583612672565b9250828202612f3381612672565b91508282048414831517612f4a57612f49612ee0565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f8b82612672565b9150612f9683612672565b925082612fa657612fa5612f51565b5b828204905092915050565b6000612fbc82612672565b9150612fc783612672565b9250828201905080821115612fdf57612fde612ee0565b5b92915050565b6000612ff082612672565b9150612ffb83612672565b925082820390508181111561301357613012612ee0565b5b92915050565b600060408201905061302e6000830185612ba7565b61303b60208301846126d5565b9392505050565b60008151905061305181612b4e565b92915050565b60006020828403121561306d5761306c612602565b5b600061307b84828501613042565b91505092915050565b6000815190506130938161267c565b92915050565b6000602082840312156130af576130ae612602565b5b60006130bd84828501613084565b91505092915050565b600082825260208201905092915050565b7f4e6f20746f6b656e7320746f2077697468647261770000000000000000000000600082015250565b600061310d6015836130c6565b9150613118826130d7565b602082019050919050565b6000602082019050818103600083015261313c81613100565b9050919050565b7f496e76616c696420746f6b656e20616464726573730000000000000000000000600082015250565b60006131796015836130c6565b915061318482613143565b602082019050919050565b600060208201905081810360008301526131a88161316c565b9050919050565b7f50657263656e74616765206d757374206265203c3d2031303000000000000000600082015250565b60006131e56019836130c6565b91506131f0826131af565b602082019050919050565b60006020820190508181036000830152613214816131d8565b9050919050565b7f4172726179206c656e677468206d69736d617463680000000000000000000000600082015250565b60006132516015836130c6565b915061325c8261321b565b602082019050919050565b6000602082019050818103600083015261328081613244565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006132c182612672565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132f3576132f2612ee0565b5b600182019050919050565b7f4e6f2067616d6520696e2070726f677265737320666f7220746869732054656c60008201527f656772616d206368617420494400000000000000000000000000000000000000602082015250565b600061335a602d836130c6565b9150613365826132fe565b604082019050919050565b600060208201905081810360008301526133898161334d565b9050919050565b7f47616d65206973206e6f7420696e2070726f6772657373000000000000000000600082015250565b60006133c66017836130c6565b91506133d182613390565b602082019050919050565b600060208201905081810360008301526133f5816133b9565b9050919050565b600061340782612e8c565b915061ffff820361341b5761341a612ee0565b5b600182019050919050565b600060608201905061343b6000830186612c64565b6134486020830185612ba7565b61345560408301846126d5565b949350505050565b60006040820190506134726000830185612c64565b61347f60208301846126d5565b9392505050565b600060608201905061349b6000830186612ba7565b6134a86020830185612ba7565b6134b560408301846126d5565b949350505050565b7f46756e6473207472616e73666572206661696c65640000000000000000000000600082015250565b60006134f36015836130c6565b91506134fe826134bd565b602082019050919050565b60006020820190508181036000830152613522816134e6565b9050919050565b7f4e6f20457468657220746f207769746864726177000000000000000000000000600082015250565b600061355f6014836130c6565b915061356a82613529565b602082019050919050565b6000602082019050818103600083015261358e81613552565b9050919050565b600081905092915050565b50565b60006135b0600083613595565b91506135bb826135a0565b600082019050919050565b60006135d1826135a3565b9150819050919050565b7f5769746864726177206661696c65640000000000000000000000000000000000600082015250565b6000613611600f836130c6565b915061361c826135db565b602082019050919050565b6000602082019050818103600083015261364081613604565b9050919050565b7f506c61796572732f62657473206c656e677468206d69736d6174636800000000600082015250565b600061367d601c836130c6565b915061368882613647565b602082019050919050565b600060208201905081810360008301526136ac81613670565b9050919050565b7f546865726520697320616c726561647920612067616d6520696e2070726f677260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061370f6023836130c6565b915061371a826136b3565b604082019050919050565b6000602082019050818103600083015261373e81613702565b9050919050565b7f42657420697320736d616c6c6572207468616e20746865206d696e696d756d00600082015250565b600061377b601f836130c6565b915061378682613745565b602082019050919050565b600060208201905081810360008301526137aa8161376e565b9050919050565b60006040820190506137c66000830185612ba7565b6137d36020830184612ba7565b9392505050565b7f4e6f7420656e6f75676820616c6c6f77616e6365000000000000000000000000600082015250565b60006138106014836130c6565b915061381b826137da565b602082019050919050565b6000602082019050818103600083015261383f81613803565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006138a26026836130c6565b91506138ad82613846565b604082019050919050565b600060208201905081810360008301526138d181613895565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061390e6020836130c6565b9150613919826138d8565b602082019050919050565b6000602082019050818103600083015261393d81613901565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220b038aa93f3e188b72108d45d1e751d71dd4ff5768877eedeb2bc226f37ca626764736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009b44793a0177c84dd01ad81137db696531902871000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000001e
-----Decoded View---------------
Arg [0] : _bettingToken (address): 0x9B44793a0177C84DD01AD81137db696531902871
Arg [1] : _WETH (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
Arg [2] : _minimumBet (uint256): 1
Arg [3] : _revenueBps (uint256): 1000
Arg [4] : _playerPercentage (uint256): 70
Arg [5] : _holderPercentage (uint256): 30
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000009b44793a0177c84dd01ad81137db696531902871
Arg [1] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [3] : 00000000000000000000000000000000000000000000000000000000000003e8
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000046
Arg [5] : 000000000000000000000000000000000000000000000000000000000000001e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.