More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 7,789 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Calculate My Res... | 13990155 | 1192 days ago | IN | 0 ETH | 0.00269626 | ||||
Calculate My Res... | 13990155 | 1192 days ago | IN | 0 ETH | 0.00269626 | ||||
Calculate My Res... | 13990155 | 1192 days ago | IN | 0 ETH | 0.00269626 | ||||
Calculate My Res... | 13990155 | 1192 days ago | IN | 0 ETH | 0.00269626 | ||||
Taking Tickets | 13725494 | 1233 days ago | IN | 0.069 ETH | 0.00201649 | ||||
Taking Tickets | 13725494 | 1233 days ago | IN | 0.069 ETH | 0.00201649 | ||||
Taking Tickets | 13725453 | 1233 days ago | IN | 0.069 ETH | 0.00250086 | ||||
Taking Tickets | 13725453 | 1233 days ago | IN | 0.069 ETH | 0.00250086 | ||||
Taking Tickets | 13725453 | 1233 days ago | IN | 0.069 ETH | 0.00250086 | ||||
Taking Tickets | 13725451 | 1233 days ago | IN | 0.069 ETH | 0.00264226 | ||||
Taking Tickets | 13725451 | 1233 days ago | IN | 0.069 ETH | 0.00262988 | ||||
Taking Tickets | 13725222 | 1233 days ago | IN | 0.069 ETH | 0.00280495 | ||||
Taking Tickets | 13725222 | 1233 days ago | IN | 0.069 ETH | 0.00280495 | ||||
Taking Tickets | 13725220 | 1233 days ago | IN | 0.069 ETH | 0.00309507 | ||||
Taking Tickets | 13725145 | 1233 days ago | IN | 0.069 ETH | 0.00289647 | ||||
Taking Tickets | 13725145 | 1233 days ago | IN | 0.069 ETH | 0.00289647 | ||||
Taking Tickets | 13725143 | 1233 days ago | IN | 0.069 ETH | 0.00310497 | ||||
Taking Tickets | 13695917 | 1238 days ago | IN | 0.069 ETH | 0.00159256 | ||||
Mint Dwellers | 13674853 | 1241 days ago | IN | 0 ETH | 0.00215162 | ||||
Transfer | 13665338 | 1243 days ago | IN | 0.11740898 ETH | 0.0024286 | ||||
Mint Dwellers | 13578713 | 1256 days ago | IN | 0 ETH | 0.01295988 | ||||
Calculate My Res... | 13578631 | 1257 days ago | IN | 0 ETH | 0.01289309 | ||||
Calculate My Res... | 13577871 | 1257 days ago | IN | 0 ETH | 0.00950207 | ||||
Taking Tickets | 13515701 | 1266 days ago | IN | 0.138 ETH | 0.00292779 | ||||
Taking Tickets | 13515696 | 1266 days ago | IN | 0.138 ETH | 0.00327751 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
- | 13453979 | 1276 days ago | 0.069 ETH | ||||
- | 13428091 | 1280 days ago | 0.138 ETH | ||||
- | 13426101 | 1280 days ago | 0.207 ETH | ||||
- | 13424973 | 1281 days ago | 0.069 ETH | ||||
- | 13418083 | 1282 days ago | 0.069 ETH | ||||
- | 13416444 | 1282 days ago | 0.069 ETH | ||||
- | 13416280 | 1282 days ago | 0.138 ETH | ||||
- | 13415631 | 1282 days ago | 0.069 ETH | ||||
- | 13415575 | 1282 days ago | 0.069 ETH | ||||
- | 13414574 | 1282 days ago | 0.069 ETH | ||||
- | 13414520 | 1282 days ago | 0.138 ETH | ||||
- | 13413578 | 1282 days ago | 0.069 ETH | ||||
- | 13413413 | 1282 days ago | 0.621 ETH | ||||
- | 13413375 | 1282 days ago | 0.207 ETH | ||||
- | 13413318 | 1282 days ago | 0.069 ETH | ||||
- | 13413260 | 1282 days ago | 0.138 ETH | ||||
- | 13413199 | 1282 days ago | 0.207 ETH | ||||
- | 13413175 | 1282 days ago | 0.069 ETH | ||||
- | 13413169 | 1282 days ago | 12.8202 ETH | ||||
- | 13413169 | 1282 days ago | 22.43535 ETH | ||||
- | 13413169 | 1282 days ago | 84.53319375 ETH | ||||
- | 13413169 | 1282 days ago | 200.71625625 ETH | ||||
- | 13413159 | 1282 days ago | 1.035 ETH | ||||
- | 13413144 | 1282 days ago | 0.69 ETH | ||||
- | 13413139 | 1282 days ago | 0.069 ETH |
Loading...
Loading
Contract Name:
BasementDwellersStore
Compiler Version
v0.8.4+commit.c7e474f2
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"; interface Factory { function mint(address) external; } interface Pass { function balanceOf(address) external view returns (uint256); } contract BasementDwellersStore is Ownable { Pass public constant pass = Pass(0x3c17017F5a584628cf8cb579A38455DBBF3f93e7); Factory public constant bdFactory = Factory(0x9A95eCEe5161b888fFE9Abd3D920c5D38e8539dA); address private constant core1Address = 0x105195bE68a677d80303B9962b309A30DEf24783; uint256 private constant core1Shares = 62625; address private constant core2Address = 0x073DfB7bf2A23f13a547FB4898a46d072f6792f8; uint256 private constant core2Shares = 26375; address private constant core3Address = 0x32b9d0167BD2ffaf4Fb6Be5B1CA5cc3FB29b7c40; address private constant core4Address = 0x704c7dA8D117Ff5cf3C3268EeCaB6A80188B2AAc; uint256 private constant core4Shares = 7000; address private constant advisor1Address = 0xD09659effC0DE1855e9D33A4F80Eb4348CA50aF2; uint256 private constant advisor1Shares = 4000; uint256 private constant baseMod = 100000; /** Numbers for Basement Dwellers Factory */ uint256 public constant maxDwellers = 10000; /** Team allocated Dwellers */ // Dwellers which is minted by the owner uint256 public preMintedDwellers = 0; // MAX Dwellers which owner can mint uint256 public constant maxPreMintDwellers = 150; /** Mint Pass */ uint256 public newlyMintedDwellersWithPass = 0; uint256 public constant maxDwellersPerPass = 5; mapping(address => uint256) public mintedDwellersOf; /** Tracking Dweller Sales After Presale */ uint256 public mintedDwellersAfterPresale = 0; /** Scheduling */ uint256 public openingHours = 1633996800; // Mon Oct 11 2021 17:00:00 PDT uint256 public constant operationSecondsForVIP = 3600 * 24; // 24 hours uint256 public constant operationSeconds = 3600 * 24; // 24 hours /** Ticket */ uint256 public constant ticketPrice = 0.069 ether; uint256 public totalTickets = 0; mapping(address => ticket) public ticketsOf; struct ticket { uint256 index; // Incl uint256 amount; } /** Withdrawal totals */ uint256 public withdrawTotal = 0; /** Security */ uint256 public constant maxMintPerTx = 30; /** Raffle */ uint256 public raffleNumber; uint256 public offsetInSlot; uint256 public slotSize; uint256 public lastTargetIndex; // index greater than this is dis-regarded mapping(address => result) public resultOf; struct result { bool executed; uint256 validTicketAmount; } bool public isSoldOut = false; uint256 public remainingDwellers = 0; // event SetPass(address pass); // event SetDwellersFactory(address bdFactory); event SetOpeningHours(uint256 openingHours); event MintWithPass(address account, uint256 amount, uint256 changes); event TakingTickets(address account, uint256 amount, uint256 changes); event SetRemainingDwellers(uint256 remainingDwellers); event RunRaffle(uint256 raffleNumber); event SetResult( address account, uint256 validTicketAmount, uint256 changes ); event PurchaseRemainingDwellers(address account, uint256 amount); event MintDwellers(address account, uint256 mintRequestAmount); event Withdraw(address to); constructor() {} modifier whenOpened() { require( block.timestamp >= openingHours + operationSecondsForVIP, "Store is not opened" ); require( block.timestamp < openingHours + operationSecondsForVIP + operationSeconds, "Store is closed" ); _; } modifier whenVIPOpened() { require(block.timestamp >= openingHours, "Store is not opened for VIP"); require( block.timestamp < openingHours + operationSecondsForVIP, "Store is closed for VIP" ); _; } modifier onlyOwnerOrTeam() { require( core1Address == msg.sender || core2Address == msg.sender || core3Address == msg.sender || core4Address == msg.sender || owner() == msg.sender, "caller is neither Team Wallet nor Owner" ); _; } // function setPass(Pass _pass) external onlyOwner { // pass = _pass; // emit SetPass(address(_pass)); // } // function setDwellersFactory(Factory _bdFactory) external onlyOwner { // bdFactory = _bdFactory; // emit SetDwellersFactory(address(_bdFactory)); // } function setOpeningHours(uint256 _openingHours) external onlyOwner { openingHours = _openingHours; emit SetOpeningHours(_openingHours); } // Do not update newlyMintedDwellers to prevent withdrawal function preMintDwellers(address[] memory recipients) external onlyOwner { require( block.timestamp < openingHours + operationSecondsForVIP + operationSeconds, "Not available after ticketing period" ); uint256 totalRecipients = recipients.length; require( totalRecipients > 0, "Number of recipients must be greater than 0" ); require( preMintedDwellers + totalRecipients <= maxPreMintDwellers, "Exceeds max pre-mint Dwellers" ); for (uint256 i = 0; i < totalRecipients; i++) { address to = recipients[i]; require(to != address(0), "receiver can not be empty address"); bdFactory.mint(to); } preMintedDwellers += totalRecipients; } function mintWithPass(uint256 _amount) external payable whenVIPOpened { require(_amount <= maxMintPerTx, "mint amount exceeds maximum"); require(_amount > 0, "Need to mint more than 0"); uint256 mintedDwellers = mintedDwellersOf[msg.sender]; uint256 passAmount = pass.balanceOf(msg.sender); // if (passAmount < bonusPassAmount) { // passAmount = bonusPassAmount; // } require( passAmount * maxDwellersPerPass - mintedDwellers >= _amount, "Not enough Pass" ); uint256 totalPrice = ticketPrice * _amount; require(totalPrice <= msg.value, "Not enough money"); for (uint256 i = 0; i < _amount; i += 1) { bdFactory.mint(msg.sender); } mintedDwellersOf[msg.sender] = mintedDwellers + _amount; newlyMintedDwellersWithPass += _amount; // Refund changes uint256 changes = msg.value - totalPrice; emit MintWithPass(msg.sender, _amount, changes); if (changes > 0) { payable(msg.sender).transfer(changes); } } function takingTickets(uint256 _amount) external payable whenOpened { require(_amount > 0, "Need to take ticket more than 0"); ticket storage myTicket = ticketsOf[msg.sender]; require(myTicket.amount == 0, "Already registered"); uint256 totalPrice = ticketPrice * _amount; require(totalPrice <= msg.value, "Not enough money"); myTicket.index = totalTickets; myTicket.amount = _amount; totalTickets = totalTickets + _amount; // Refund changes uint256 changes = msg.value - totalPrice; emit TakingTickets(msg.sender, _amount, changes); if (changes > 0) { payable(msg.sender).transfer(changes); } } function runRaffle(uint256 _raffleNumber) external onlyOwner { require( block.timestamp > openingHours + operationSecondsForVIP + operationSeconds, "Store is not closed yet" ); require(raffleNumber == 0, "raffle number is already set"); raffleNumber = _raffleNumber; uint256 _remainingDwellers = maxDwellers - preMintedDwellers - newlyMintedDwellersWithPass; if (totalTickets <= _remainingDwellers) { isSoldOut = false; remainingDwellers = _remainingDwellers - totalTickets; mintedDwellersAfterPresale = totalTickets; } else { isSoldOut = true; slotSize = totalTickets / _remainingDwellers; offsetInSlot = _raffleNumber % slotSize; lastTargetIndex = slotSize * _remainingDwellers - 1; mintedDwellersAfterPresale = _remainingDwellers; } emit RunRaffle(_raffleNumber); } function calculateValidTicketAmount( uint256 index, uint256 amount, uint256 _slotSize, uint256 _offsetInSlot, uint256 _lastTargetIndex ) internal pure returns (uint256 validTicketAmount) { /** /_____fio___\___________________________________/lio\___________ v f | v | v | l v | ______slot #n__|___slot #n+1___|____slot #n+2__|____slot #n+3__| f : first index (incl.) l : last index (incl.) v : win ticket fio : first index offset lio : last index offset n, n+1,... : slot index v in (slot #n+1) is ths firstWinIndex v in (slot #n+2) is ths lastWinIndex */ uint256 lastIndex = index + amount - 1; // incl. if (lastIndex > _lastTargetIndex) { lastIndex = _lastTargetIndex; } uint256 firstIndexOffset = index % _slotSize; uint256 lastIndexOffset = lastIndex % _slotSize; uint256 firstWinIndex; if (firstIndexOffset <= _offsetInSlot) { firstWinIndex = index + _offsetInSlot - firstIndexOffset; } else { firstWinIndex = index + _slotSize + _offsetInSlot - firstIndexOffset; } // Nothing is selected if (firstWinIndex > _lastTargetIndex) { validTicketAmount = 0; } else { uint256 lastWinIndex; if (lastIndexOffset >= _offsetInSlot) { lastWinIndex = lastIndex + _offsetInSlot - lastIndexOffset; } else if (lastIndex < _slotSize) { lastWinIndex = 0; } else { lastWinIndex = lastIndex + _offsetInSlot - lastIndexOffset - _slotSize; } if (firstWinIndex > lastWinIndex) { validTicketAmount = 0; } else { validTicketAmount = (lastWinIndex - firstWinIndex) / _slotSize + 1; } } } function calculateMyResult() external { require(raffleNumber > 0, "raffle number is not set yet"); ticket storage myTicket = ticketsOf[msg.sender]; require(myTicket.amount > 0, "No available ticket"); result storage myResult = resultOf[msg.sender]; require(!myResult.executed, "Already checked"); uint256 validTicketAmount; if (!isSoldOut) { validTicketAmount = myTicket.amount; } else { validTicketAmount = calculateValidTicketAmount( myTicket.index, myTicket.amount, slotSize, offsetInSlot, lastTargetIndex ); } myResult.validTicketAmount = validTicketAmount; myResult.executed = true; uint256 remainingTickets = myTicket.amount - validTicketAmount; uint256 changes = remainingTickets * ticketPrice; emit SetResult(msg.sender, validTicketAmount, changes); if (changes > 0) { payable(msg.sender).transfer(changes); } } function purchaseRemainingDwellers(uint256 _amount) external payable { require(_amount <= remainingDwellers, "Exceeds dwellers max supply"); uint256 totalPrice = ticketPrice * _amount; require(totalPrice <= msg.value, "Not enough money"); for (uint256 i = 0; i < _amount; i += 1) { bdFactory.mint(msg.sender); } mintedDwellersAfterPresale += _amount; remainingDwellers -= _amount; uint256 changes = msg.value - totalPrice; if (changes > 0) { payable(msg.sender).transfer(changes); } emit PurchaseRemainingDwellers(msg.sender, _amount); } function mintDwellers() external { result storage myResult = resultOf[msg.sender]; require(myResult.executed, "result is not calculated yet"); require(myResult.validTicketAmount > 0, "No valid tickets"); uint256 mintRequestAmount = 0; // test if over max mint per tx if (myResult.validTicketAmount > maxMintPerTx) { mintRequestAmount = maxMintPerTx; myResult.validTicketAmount -= maxMintPerTx; } else { mintRequestAmount = myResult.validTicketAmount; myResult.validTicketAmount = 0; } for (uint256 i = 0; i < mintRequestAmount; i += 1) { bdFactory.mint(msg.sender); } emit MintDwellers(msg.sender, mintRequestAmount); } // withdraw eth for sold Dwellers function withdrawAll() external onlyOwnerOrTeam { uint256 maxWithdrawalAmount = ticketPrice * (newlyMintedDwellersWithPass + mintedDwellersAfterPresale); require( maxWithdrawalAmount > withdrawTotal, "No Funds Currently To Withdraw" ); uint256 withdrawalAmount = maxWithdrawalAmount - withdrawTotal; _splitAll(withdrawalAmount); withdrawTotal += withdrawalAmount; } function _splitAll(uint256 _amount) private { uint256 singleShare = _amount / baseMod; _withdraw(core1Address, singleShare * core1Shares); _withdraw(core2Address, singleShare * core2Shares); _withdraw(core4Address, singleShare * core4Shares); _withdraw(advisor1Address, singleShare * advisor1Shares); } function _withdraw(address _address, uint256 _amount) private { payable(_address).transfer(_amount); } }
// SPDX-License-Identifier: MIT 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() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(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"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"mintRequestAmount","type":"uint256"}],"name":"MintDwellers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"changes","type":"uint256"}],"name":"MintWithPass","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PurchaseRemainingDwellers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"raffleNumber","type":"uint256"}],"name":"RunRaffle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"openingHours","type":"uint256"}],"name":"SetOpeningHours","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"remainingDwellers","type":"uint256"}],"name":"SetRemainingDwellers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"validTicketAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"changes","type":"uint256"}],"name":"SetResult","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"changes","type":"uint256"}],"name":"TakingTickets","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"bdFactory","outputs":[{"internalType":"contract Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"calculateMyResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isSoldOut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTargetIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxDwellers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxDwellersPerPass","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxMintPerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPreMintDwellers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintDwellers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mintWithPass","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintedDwellersAfterPresale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mintedDwellersOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newlyMintedDwellersWithPass","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"offsetInSlot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openingHours","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationSeconds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationSecondsForVIP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pass","outputs":[{"internalType":"contract Pass","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"}],"name":"preMintDwellers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"preMintedDwellers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"purchaseRemainingDwellers","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"raffleNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"remainingDwellers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"resultOf","outputs":[{"internalType":"bool","name":"executed","type":"bool"},{"internalType":"uint256","name":"validTicketAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_raffleNumber","type":"uint256"}],"name":"runRaffle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_openingHours","type":"uint256"}],"name":"setOpeningHours","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"slotSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"takingTickets","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"ticketPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ticketsOf","outputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTickets","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":[],"name":"withdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600060015560006002556000600455636164d000600555600060065560006008556000600e60006101000a81548160ff0219169083151502179055506000600f553480156200005257600080fd5b5062000073620000676200007960201b60201c565b6200008160201b60201c565b62000145565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6135e780620001556000396000f3fe60806040526004361061020f5760003560e01c8063969f017211610118578063de7fcb1d116100a0578063f09703ca1161006f578063f09703ca14610712578063f1dbc1c61461073d578063f23e1fd214610768578063f2fde38b1461077f578063fd23492a146107a85761020f565b8063de7fcb1d1461067a578063e01dca9c146106a5578063e7b93f54146106d0578063eebf4bfe146106fb5761020f565b8063b5c49c4d116100e7578063b5c49c4d146105b2578063c041de1f146105dd578063c43539a2146105f9578063c9f63d6114610624578063dd11247e1461064f5761020f565b8063969f0172146105085780639f36a2d514610533578063a7a1ed721461055c578063ab557e10146105875761020f565b80633f91da311161019b578063715018a61161016a578063715018a61461044757806378268f371461045e578063853828b6146104895780638da5cb5b146104a05780639645cac4146104cb5761020f565b80633f91da31146103995780635d55d3c2146103c2578063623c4047146103de578063628a0cf81461041c5761020f565b806318e06e82116101e257806318e06e82146102b15780631d527dc3146102dc5780632da5ea1714610305578063316579261461033057806331787d0b1461036e5761020f565b8063017b37f6146102145780630e696ece1461023f5780631209b1f61461025b57806313b228ec14610286575b600080fd5b34801561022057600080fd5b506102296107d3565b6040516102369190612d07565b60405180910390f35b610259600480360381019061025491906124a7565b6107d9565b005b34801561026757600080fd5b50610270610a7a565b60405161027d9190612d07565b60405180910390f35b34801561029257600080fd5b5061029b610a85565b6040516102a89190612d07565b60405180910390f35b3480156102bd57600080fd5b506102c6610a8b565b6040516102d39190612d07565b60405180910390f35b3480156102e857600080fd5b5061030360048036038101906102fe91906124a7565b610a91565b005b34801561031157600080fd5b5061031a610cc3565b604051610327919061294d565b60405180910390f35b34801561033c57600080fd5b506103576004803603810190610352919061243d565b610cd6565b604051610365929190612d22565b60405180910390f35b34801561037a57600080fd5b50610383610cfa565b6040516103909190612d07565b60405180910390f35b3480156103a557600080fd5b506103c060048036038101906103bb91906124a7565b610d00565b005b6103dc60048036038101906103d791906124a7565b610dbd565b005b3480156103ea57600080fd5b506104056004803603810190610400919061243d565b610fcc565b604051610413929190612968565b60405180910390f35b34801561042857600080fd5b50610431610ffd565b60405161043e9190612d07565b60405180910390f35b34801561045357600080fd5b5061045c611003565b005b34801561046a57600080fd5b5061047361108b565b6040516104809190612d07565b60405180910390f35b34801561049557600080fd5b5061049e611091565b005b3480156104ac57600080fd5b506104b56112d0565b6040516104c291906128d2565b60405180910390f35b3480156104d757600080fd5b506104f260048036038101906104ed919061243d565b6112f9565b6040516104ff9190612d07565b60405180910390f35b34801561051457600080fd5b5061051d611311565b60405161052a9190612d07565b60405180910390f35b34801561053f57600080fd5b5061055a60048036038101906105559190612466565b611318565b005b34801561056857600080fd5b506105716115fc565b60405161057e91906129ac565b60405180910390f35b34801561059357600080fd5b5061059c611614565b6040516105a99190612d07565b60405180910390f35b3480156105be57600080fd5b506105c761161a565b6040516105d49190612d07565b60405180910390f35b6105f760048036038101906105f291906124a7565b61161f565b005b34801561060557600080fd5b5061060e611a80565b60405161061b9190612991565b60405180910390f35b34801561063057600080fd5b50610639611a98565b6040516106469190612d07565b60405180910390f35b34801561065b57600080fd5b50610664611a9e565b6040516106719190612d07565b60405180910390f35b34801561068657600080fd5b5061068f611aa4565b60405161069c9190612d07565b60405180910390f35b3480156106b157600080fd5b506106ba611aa9565b6040516106c79190612d07565b60405180910390f35b3480156106dc57600080fd5b506106e5611aaf565b6040516106f29190612d07565b60405180910390f35b34801561070757600080fd5b50610710611ab4565b005b34801561071e57600080fd5b50610727611cb1565b6040516107349190612d07565b60405180910390f35b34801561074957600080fd5b50610752611cb7565b60405161075f9190612d07565b60405180910390f35b34801561077457600080fd5b5061077d611cbd565b005b34801561078b57600080fd5b506107a660048036038101906107a1919061243d565b611f45565b005b3480156107b457600080fd5b506107bd61203d565b6040516107ca9190612d07565b60405180910390f35b60015481565b620151806005546107ea9190612dad565b42101561082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082390612ac7565b60405180910390fd5b620151808060055461083e9190612dad565b6108489190612dad565b4210610889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088090612b27565b60405180910390fd5b600081116108cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c3906129e7565b60405180910390fd5b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816001015414610956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094d90612b47565b60405180910390fd5b60008266f523226980800061096b9190612e34565b9050348111156109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a7906129c7565b60405180910390fd5b6006548260000181905550828260010181905550826006546109d29190612dad565b600681905550600081346109e69190612e8e565b90507f6192e5b79064affb67b5a129ebac18695dbad1247983304d927ebc3800ffe895338583604051610a1b93929190612916565b60405180910390a16000811115610a74573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610a72573d6000803e3d6000fd5b505b50505050565b66f523226980800081565b60055481565b60085481565b610a99612044565b73ffffffffffffffffffffffffffffffffffffffff16610ab76112d0565b73ffffffffffffffffffffffffffffffffffffffff1614610b0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0490612c07565b60405180910390fd5b6201518080600554610b1f9190612dad565b610b299190612dad565b4211610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190612c27565b60405180910390fd5b600060095414610baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba690612ce7565b60405180910390fd5b806009819055506000600254600154612710610bcb9190612e8e565b610bd59190612e8e565b90508060065411610c1d576000600e60006101000a81548160ff02191690831515021790555060065481610c099190612e8e565b600f81905550600654600481905550610c88565b6001600e60006101000a81548160ff02191690831515021790555080600654610c469190612e03565b600b81905550600b5482610c5a9190612fcc565b600a81905550600181600b54610c709190612e34565b610c7a9190612e8e565b600c81905550806004819055505b7ff4293f5394ce7317abe45cfb7dae5a7e2f8c7efeaae1022b2667da672a88708a82604051610cb79190612d07565b60405180910390a15050565b600e60009054906101000a900460ff1681565b60076020528060005260406000206000915090508060000154908060010154905082565b60045481565b610d08612044565b73ffffffffffffffffffffffffffffffffffffffff16610d266112d0565b73ffffffffffffffffffffffffffffffffffffffff1614610d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7390612c07565b60405180910390fd5b806005819055507f370ed5694aff8260b2113acb4c27c8f7e4e4576e89d9dc173a696c70228eda5781604051610db29190612d07565b60405180910390a150565b600f54811115610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df990612b67565b60405180910390fd5b60008166f5232269808000610e179190612e34565b905034811115610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e53906129c7565b60405180910390fd5b60005b82811015610efa57739a95ecee5161b888ffe9abd3d920c5d38e8539da73ffffffffffffffffffffffffffffffffffffffff16636a627842336040518263ffffffff1660e01b8152600401610eb491906128d2565b600060405180830381600087803b158015610ece57600080fd5b505af1158015610ee2573d6000803e3d6000fd5b50505050600181610ef39190612dad565b9050610e5f565b508160046000828254610f0d9190612dad565b9250508190555081600f6000828254610f269190612e8e565b9250508190555060008134610f3b9190612e8e565b90506000811115610f8e573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f8c573d6000803e3d6000fd5b505b7f3b60502dbb7582f2db9bec0b5838589517a01e24cc4cd841a10d35d02d8c64773384604051610fbf9291906128ed565b60405180910390a1505050565b600d6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154905082565b600b5481565b61100b612044565b73ffffffffffffffffffffffffffffffffffffffff166110296112d0565b73ffffffffffffffffffffffffffffffffffffffff161461107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690612c07565b60405180910390fd5b611089600061204c565b565b61271081565b3373ffffffffffffffffffffffffffffffffffffffff1673105195be68a677d80303b9962b309a30def2478373ffffffffffffffffffffffffffffffffffffffff16148061111e57503373ffffffffffffffffffffffffffffffffffffffff1673073dfb7bf2a23f13a547fb4898a46d072f6792f873ffffffffffffffffffffffffffffffffffffffff16145b8061116857503373ffffffffffffffffffffffffffffffffffffffff167332b9d0167bd2ffaf4fb6be5b1ca5cc3fb29b7c4073ffffffffffffffffffffffffffffffffffffffff16145b806111b257503373ffffffffffffffffffffffffffffffffffffffff1673704c7da8d117ff5cf3c3268eecab6a80188b2aac73ffffffffffffffffffffffffffffffffffffffff16145b806111ef57503373ffffffffffffffffffffffffffffffffffffffff166111d76112d0565b73ffffffffffffffffffffffffffffffffffffffff16145b61122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612a87565b60405180910390fd5b60006004546002546112409190612dad565b66f52322698080006112529190612e34565b90506008548111611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90612a47565b60405180910390fd5b6000600854826112a89190612e8e565b90506112b381612110565b80600860008282546112c59190612dad565b925050819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915090505481565b6201518081565b611320612044565b73ffffffffffffffffffffffffffffffffffffffff1661133e6112d0565b73ffffffffffffffffffffffffffffffffffffffff1614611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b90612c07565b60405180910390fd5b62015180806005546113a69190612dad565b6113b09190612dad565b42106113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890612c67565b60405180910390fd5b6000815190506000811161143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143190612ba7565b60405180910390fd5b60968160015461144a9190612dad565b111561148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290612be7565b60405180910390fd5b60005b818110156115de5760008382815181106114d1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561154b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154290612c47565b60405180910390fd5b739a95ecee5161b888ffe9abd3d920c5d38e8539da73ffffffffffffffffffffffffffffffffffffffff16636a627842826040518263ffffffff1660e01b815260040161159891906128d2565b600060405180830381600087803b1580156115b257600080fd5b505af11580156115c6573d6000803e3d6000fd5b505050505080806115d690612f83565b91505061148e565b5080600160008282546115f19190612dad565b925050819055505050565b733c17017f5a584628cf8cb579a38455dbbf3f93e781565b600f5481565b600581565b600554421015611664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165b90612a07565b60405180910390fd5b620151806005546116759190612dad565b42106116b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ad90612aa7565b60405180910390fd5b601e8111156116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f190612b87565b60405180910390fd5b6000811161173d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173490612b07565b60405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000733c17017f5a584628cf8cb579a38455dbbf3f93e773ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016117d091906128d2565b60206040518083038186803b1580156117e857600080fd5b505afa1580156117fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182091906124d0565b905082826005836118319190612e34565b61183b9190612e8e565b101561187c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187390612cc7565b60405180910390fd5b60008366f52322698080006118919190612e34565b9050348111156118d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cd906129c7565b60405180910390fd5b60005b8481101561197457739a95ecee5161b888ffe9abd3d920c5d38e8539da73ffffffffffffffffffffffffffffffffffffffff16636a627842336040518263ffffffff1660e01b815260040161192e91906128d2565b600060405180830381600087803b15801561194857600080fd5b505af115801561195c573d6000803e3d6000fd5b5050505060018161196d9190612dad565b90506118d9565b5083836119819190612dad565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600260008282546119d69190612dad565b92505081905550600081346119eb9190612e8e565b90507f3fb7239d51fdc92f75bd949133afbe9bd5bce32e3b263c054fd238ef0f9a229f338683604051611a2093929190612916565b60405180910390a16000811115611a79573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a77573d6000803e3d6000fd5b505b5050505050565b739a95ecee5161b888ffe9abd3d920c5d38e8539da81565b60025481565b60065481565b601e81565b600a5481565b609681565b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160009054906101000a900460ff16611b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3f90612bc7565b60405180910390fd5b6000816001015411611b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8690612ca7565b60405180910390fd5b6000601e82600101541115611bc357601e9050601e826001016000828254611bb79190612e8e565b92505081905550611bd5565b81600101549050600082600101819055505b60005b81811015611c7357739a95ecee5161b888ffe9abd3d920c5d38e8539da73ffffffffffffffffffffffffffffffffffffffff16636a627842336040518263ffffffff1660e01b8152600401611c2d91906128d2565b600060405180830381600087803b158015611c4757600080fd5b505af1158015611c5b573d6000803e3d6000fd5b50505050600181611c6c9190612dad565b9050611bd8565b507fac09f6228e4630f089640b97f1fde19090cac4ffa7a204b980573b956d57fef93382604051611ca59291906128ed565b60405180910390a15050565b60095481565b600c5481565b600060095411611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf990612c87565b60405180910390fd5b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816001015411611d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8390612ae7565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160009054906101000a900460ff1615611e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1890612a67565b60405180910390fd5b6000600e60009054906101000a900460ff16611e435782600101549050611e61565b611e5e83600001548460010154600b54600a54600c546121d3565b90505b80826001018190555060018260000160006101000a81548160ff0219169083151502179055506000818460010154611e999190612e8e565b9050600066f523226980800082611eb09190612e34565b90507f99257e7b73feb32ca1b0836474e4150fd92fa32d0ec98657c263864188e42bb4338483604051611ee593929190612916565b60405180910390a16000811115611f3e573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f3c573d6000803e3d6000fd5b505b5050505050565b611f4d612044565b73ffffffffffffffffffffffffffffffffffffffff16611f6b6112d0565b73ffffffffffffffffffffffffffffffffffffffff1614611fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb890612c07565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202890612a27565b60405180910390fd5b61203a8161204c565b50565b6201518081565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000620186a0826121219190612e03565b905061214e73105195be68a677d80303b9962b309a30def2478361f4a1836121499190612e34565b61231d565b61217973073dfb7bf2a23f13a547fb4898a46d072f6792f8616707836121749190612e34565b61231d565b6121a473704c7da8d117ff5cf3c3268eecab6a80188b2aac611b588361219f9190612e34565b61231d565b6121cf73d09659effc0de1855e9d33a4f80eb4348ca50af2610fa0836121ca9190612e34565b61231d565b5050565b600080600186886121e49190612dad565b6121ee9190612e8e565b9050828111156121fc578290505b6000858861220a9190612fcc565b90506000868361221a9190612fcc565b905060008683116122435782878b6122329190612dad565b61223c9190612e8e565b9050612268565b8287898c6122519190612dad565b61225b9190612dad565b6122659190612e8e565b90505b858111156122795760009450612310565b60008783106122a05782888661228f9190612dad565b6122999190612e8e565b90506122d7565b888510156122b157600090506122d6565b888389876122bf9190612dad565b6122c99190612e8e565b6122d39190612e8e565b90505b5b808211156122e8576000955061230e565b60018983836122f79190612e8e565b6123019190612e03565b61230b9190612dad565b95505b505b5050505095945050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612363573d6000803e3d6000fd5b505050565b600061237b61237684612d70565b612d4b565b9050808382526020820190508285602086028201111561239a57600080fd5b60005b858110156123ca57816123b088826123d4565b84526020840193506020830192505060018101905061239d565b5050509392505050565b6000813590506123e381613583565b92915050565b600082601f8301126123fa57600080fd5b813561240a848260208601612368565b91505092915050565b6000813590506124228161359a565b92915050565b6000815190506124378161359a565b92915050565b60006020828403121561244f57600080fd5b600061245d848285016123d4565b91505092915050565b60006020828403121561247857600080fd5b600082013567ffffffffffffffff81111561249257600080fd5b61249e848285016123e9565b91505092915050565b6000602082840312156124b957600080fd5b60006124c784828501612413565b91505092915050565b6000602082840312156124e257600080fd5b60006124f084828501612428565b91505092915050565b61250281612ec2565b82525050565b61251181612ed4565b82525050565b61252081612f0a565b82525050565b61252f81612f2e565b82525050565b6000612542601083612d9c565b915061254d8261309b565b602082019050919050565b6000612565601f83612d9c565b9150612570826130c4565b602082019050919050565b6000612588601b83612d9c565b9150612593826130ed565b602082019050919050565b60006125ab602683612d9c565b91506125b682613116565b604082019050919050565b60006125ce601e83612d9c565b91506125d982613165565b602082019050919050565b60006125f1600f83612d9c565b91506125fc8261318e565b602082019050919050565b6000612614602783612d9c565b915061261f826131b7565b604082019050919050565b6000612637601783612d9c565b915061264282613206565b602082019050919050565b600061265a601383612d9c565b91506126658261322f565b602082019050919050565b600061267d601383612d9c565b915061268882613258565b602082019050919050565b60006126a0601883612d9c565b91506126ab82613281565b602082019050919050565b60006126c3600f83612d9c565b91506126ce826132aa565b602082019050919050565b60006126e6601283612d9c565b91506126f1826132d3565b602082019050919050565b6000612709601b83612d9c565b9150612714826132fc565b602082019050919050565b600061272c601b83612d9c565b915061273782613325565b602082019050919050565b600061274f602b83612d9c565b915061275a8261334e565b604082019050919050565b6000612772601c83612d9c565b915061277d8261339d565b602082019050919050565b6000612795601d83612d9c565b91506127a0826133c6565b602082019050919050565b60006127b8602083612d9c565b91506127c3826133ef565b602082019050919050565b60006127db601783612d9c565b91506127e682613418565b602082019050919050565b60006127fe602183612d9c565b915061280982613441565b604082019050919050565b6000612821602483612d9c565b915061282c82613490565b604082019050919050565b6000612844601c83612d9c565b915061284f826134df565b602082019050919050565b6000612867601083612d9c565b915061287282613508565b602082019050919050565b600061288a600f83612d9c565b915061289582613531565b602082019050919050565b60006128ad601c83612d9c565b91506128b88261355a565b602082019050919050565b6128cc81612f00565b82525050565b60006020820190506128e760008301846124f9565b92915050565b600060408201905061290260008301856124f9565b61290f60208301846128c3565b9392505050565b600060608201905061292b60008301866124f9565b61293860208301856128c3565b61294560408301846128c3565b949350505050565b60006020820190506129626000830184612508565b92915050565b600060408201905061297d6000830185612508565b61298a60208301846128c3565b9392505050565b60006020820190506129a66000830184612517565b92915050565b60006020820190506129c16000830184612526565b92915050565b600060208201905081810360008301526129e081612535565b9050919050565b60006020820190508181036000830152612a0081612558565b9050919050565b60006020820190508181036000830152612a208161257b565b9050919050565b60006020820190508181036000830152612a408161259e565b9050919050565b60006020820190508181036000830152612a60816125c1565b9050919050565b60006020820190508181036000830152612a80816125e4565b9050919050565b60006020820190508181036000830152612aa081612607565b9050919050565b60006020820190508181036000830152612ac08161262a565b9050919050565b60006020820190508181036000830152612ae08161264d565b9050919050565b60006020820190508181036000830152612b0081612670565b9050919050565b60006020820190508181036000830152612b2081612693565b9050919050565b60006020820190508181036000830152612b40816126b6565b9050919050565b60006020820190508181036000830152612b60816126d9565b9050919050565b60006020820190508181036000830152612b80816126fc565b9050919050565b60006020820190508181036000830152612ba08161271f565b9050919050565b60006020820190508181036000830152612bc081612742565b9050919050565b60006020820190508181036000830152612be081612765565b9050919050565b60006020820190508181036000830152612c0081612788565b9050919050565b60006020820190508181036000830152612c20816127ab565b9050919050565b60006020820190508181036000830152612c40816127ce565b9050919050565b60006020820190508181036000830152612c60816127f1565b9050919050565b60006020820190508181036000830152612c8081612814565b9050919050565b60006020820190508181036000830152612ca081612837565b9050919050565b60006020820190508181036000830152612cc08161285a565b9050919050565b60006020820190508181036000830152612ce08161287d565b9050919050565b60006020820190508181036000830152612d00816128a0565b9050919050565b6000602082019050612d1c60008301846128c3565b92915050565b6000604082019050612d3760008301856128c3565b612d4460208301846128c3565b9392505050565b6000612d55612d66565b9050612d618282612f52565b919050565b6000604051905090565b600067ffffffffffffffff821115612d8b57612d8a61305b565b5b602082029050602081019050919050565b600082825260208201905092915050565b6000612db882612f00565b9150612dc383612f00565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612df857612df7612ffd565b5b828201905092915050565b6000612e0e82612f00565b9150612e1983612f00565b925082612e2957612e2861302c565b5b828204905092915050565b6000612e3f82612f00565b9150612e4a83612f00565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e8357612e82612ffd565b5b828202905092915050565b6000612e9982612f00565b9150612ea483612f00565b925082821015612eb757612eb6612ffd565b5b828203905092915050565b6000612ecd82612ee0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000612f1582612f1c565b9050919050565b6000612f2782612ee0565b9050919050565b6000612f3982612f40565b9050919050565b6000612f4b82612ee0565b9050919050565b612f5b8261308a565b810181811067ffffffffffffffff82111715612f7a57612f7961305b565b5b80604052505050565b6000612f8e82612f00565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fc157612fc0612ffd565b5b600182019050919050565b6000612fd782612f00565b9150612fe283612f00565b925082612ff257612ff161302c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4e6f7420656e6f756768206d6f6e657900000000000000000000000000000000600082015250565b7f4e65656420746f2074616b65207469636b6574206d6f7265207468616e203000600082015250565b7f53746f7265206973206e6f74206f70656e656420666f72205649500000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4e6f2046756e64732043757272656e746c7920546f2057697468647261770000600082015250565b7f416c726561647920636865636b65640000000000000000000000000000000000600082015250565b7f63616c6c6572206973206e656974686572205465616d2057616c6c6574206e6f60008201527f72204f776e657200000000000000000000000000000000000000000000000000602082015250565b7f53746f726520697320636c6f73656420666f7220564950000000000000000000600082015250565b7f53746f7265206973206e6f74206f70656e656400000000000000000000000000600082015250565b7f4e6f20617661696c61626c65207469636b657400000000000000000000000000600082015250565b7f4e65656420746f206d696e74206d6f7265207468616e20300000000000000000600082015250565b7f53746f726520697320636c6f7365640000000000000000000000000000000000600082015250565b7f416c726561647920726567697374657265640000000000000000000000000000600082015250565b7f45786365656473206477656c6c657273206d617820737570706c790000000000600082015250565b7f6d696e7420616d6f756e742065786365656473206d6178696d756d0000000000600082015250565b7f4e756d626572206f6620726563697069656e7473206d7573742062652067726560008201527f61746572207468616e2030000000000000000000000000000000000000000000602082015250565b7f726573756c74206973206e6f742063616c63756c617465642079657400000000600082015250565b7f45786365656473206d6178207072652d6d696e74204477656c6c657273000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f53746f7265206973206e6f7420636c6f73656420796574000000000000000000600082015250565b7f72656365697665722063616e206e6f7420626520656d7074792061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f7420617661696c61626c65206166746572207469636b6574696e6720706560008201527f72696f6400000000000000000000000000000000000000000000000000000000602082015250565b7f726166666c65206e756d626572206973206e6f74207365742079657400000000600082015250565b7f4e6f2076616c6964207469636b65747300000000000000000000000000000000600082015250565b7f4e6f7420656e6f75676820506173730000000000000000000000000000000000600082015250565b7f726166666c65206e756d62657220697320616c72656164792073657400000000600082015250565b61358c81612ec2565b811461359757600080fd5b50565b6135a381612f00565b81146135ae57600080fd5b5056fea2646970667358221220a1a54d90b1c4ab08a86c55691d24534af00f8103bb5bb0eb54fd39aba56edbff64736f6c63430008040033
Deployed Bytecode
0x60806040526004361061020f5760003560e01c8063969f017211610118578063de7fcb1d116100a0578063f09703ca1161006f578063f09703ca14610712578063f1dbc1c61461073d578063f23e1fd214610768578063f2fde38b1461077f578063fd23492a146107a85761020f565b8063de7fcb1d1461067a578063e01dca9c146106a5578063e7b93f54146106d0578063eebf4bfe146106fb5761020f565b8063b5c49c4d116100e7578063b5c49c4d146105b2578063c041de1f146105dd578063c43539a2146105f9578063c9f63d6114610624578063dd11247e1461064f5761020f565b8063969f0172146105085780639f36a2d514610533578063a7a1ed721461055c578063ab557e10146105875761020f565b80633f91da311161019b578063715018a61161016a578063715018a61461044757806378268f371461045e578063853828b6146104895780638da5cb5b146104a05780639645cac4146104cb5761020f565b80633f91da31146103995780635d55d3c2146103c2578063623c4047146103de578063628a0cf81461041c5761020f565b806318e06e82116101e257806318e06e82146102b15780631d527dc3146102dc5780632da5ea1714610305578063316579261461033057806331787d0b1461036e5761020f565b8063017b37f6146102145780630e696ece1461023f5780631209b1f61461025b57806313b228ec14610286575b600080fd5b34801561022057600080fd5b506102296107d3565b6040516102369190612d07565b60405180910390f35b610259600480360381019061025491906124a7565b6107d9565b005b34801561026757600080fd5b50610270610a7a565b60405161027d9190612d07565b60405180910390f35b34801561029257600080fd5b5061029b610a85565b6040516102a89190612d07565b60405180910390f35b3480156102bd57600080fd5b506102c6610a8b565b6040516102d39190612d07565b60405180910390f35b3480156102e857600080fd5b5061030360048036038101906102fe91906124a7565b610a91565b005b34801561031157600080fd5b5061031a610cc3565b604051610327919061294d565b60405180910390f35b34801561033c57600080fd5b506103576004803603810190610352919061243d565b610cd6565b604051610365929190612d22565b60405180910390f35b34801561037a57600080fd5b50610383610cfa565b6040516103909190612d07565b60405180910390f35b3480156103a557600080fd5b506103c060048036038101906103bb91906124a7565b610d00565b005b6103dc60048036038101906103d791906124a7565b610dbd565b005b3480156103ea57600080fd5b506104056004803603810190610400919061243d565b610fcc565b604051610413929190612968565b60405180910390f35b34801561042857600080fd5b50610431610ffd565b60405161043e9190612d07565b60405180910390f35b34801561045357600080fd5b5061045c611003565b005b34801561046a57600080fd5b5061047361108b565b6040516104809190612d07565b60405180910390f35b34801561049557600080fd5b5061049e611091565b005b3480156104ac57600080fd5b506104b56112d0565b6040516104c291906128d2565b60405180910390f35b3480156104d757600080fd5b506104f260048036038101906104ed919061243d565b6112f9565b6040516104ff9190612d07565b60405180910390f35b34801561051457600080fd5b5061051d611311565b60405161052a9190612d07565b60405180910390f35b34801561053f57600080fd5b5061055a60048036038101906105559190612466565b611318565b005b34801561056857600080fd5b506105716115fc565b60405161057e91906129ac565b60405180910390f35b34801561059357600080fd5b5061059c611614565b6040516105a99190612d07565b60405180910390f35b3480156105be57600080fd5b506105c761161a565b6040516105d49190612d07565b60405180910390f35b6105f760048036038101906105f291906124a7565b61161f565b005b34801561060557600080fd5b5061060e611a80565b60405161061b9190612991565b60405180910390f35b34801561063057600080fd5b50610639611a98565b6040516106469190612d07565b60405180910390f35b34801561065b57600080fd5b50610664611a9e565b6040516106719190612d07565b60405180910390f35b34801561068657600080fd5b5061068f611aa4565b60405161069c9190612d07565b60405180910390f35b3480156106b157600080fd5b506106ba611aa9565b6040516106c79190612d07565b60405180910390f35b3480156106dc57600080fd5b506106e5611aaf565b6040516106f29190612d07565b60405180910390f35b34801561070757600080fd5b50610710611ab4565b005b34801561071e57600080fd5b50610727611cb1565b6040516107349190612d07565b60405180910390f35b34801561074957600080fd5b50610752611cb7565b60405161075f9190612d07565b60405180910390f35b34801561077457600080fd5b5061077d611cbd565b005b34801561078b57600080fd5b506107a660048036038101906107a1919061243d565b611f45565b005b3480156107b457600080fd5b506107bd61203d565b6040516107ca9190612d07565b60405180910390f35b60015481565b620151806005546107ea9190612dad565b42101561082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082390612ac7565b60405180910390fd5b620151808060055461083e9190612dad565b6108489190612dad565b4210610889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088090612b27565b60405180910390fd5b600081116108cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c3906129e7565b60405180910390fd5b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816001015414610956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094d90612b47565b60405180910390fd5b60008266f523226980800061096b9190612e34565b9050348111156109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a7906129c7565b60405180910390fd5b6006548260000181905550828260010181905550826006546109d29190612dad565b600681905550600081346109e69190612e8e565b90507f6192e5b79064affb67b5a129ebac18695dbad1247983304d927ebc3800ffe895338583604051610a1b93929190612916565b60405180910390a16000811115610a74573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610a72573d6000803e3d6000fd5b505b50505050565b66f523226980800081565b60055481565b60085481565b610a99612044565b73ffffffffffffffffffffffffffffffffffffffff16610ab76112d0565b73ffffffffffffffffffffffffffffffffffffffff1614610b0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0490612c07565b60405180910390fd5b6201518080600554610b1f9190612dad565b610b299190612dad565b4211610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190612c27565b60405180910390fd5b600060095414610baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba690612ce7565b60405180910390fd5b806009819055506000600254600154612710610bcb9190612e8e565b610bd59190612e8e565b90508060065411610c1d576000600e60006101000a81548160ff02191690831515021790555060065481610c099190612e8e565b600f81905550600654600481905550610c88565b6001600e60006101000a81548160ff02191690831515021790555080600654610c469190612e03565b600b81905550600b5482610c5a9190612fcc565b600a81905550600181600b54610c709190612e34565b610c7a9190612e8e565b600c81905550806004819055505b7ff4293f5394ce7317abe45cfb7dae5a7e2f8c7efeaae1022b2667da672a88708a82604051610cb79190612d07565b60405180910390a15050565b600e60009054906101000a900460ff1681565b60076020528060005260406000206000915090508060000154908060010154905082565b60045481565b610d08612044565b73ffffffffffffffffffffffffffffffffffffffff16610d266112d0565b73ffffffffffffffffffffffffffffffffffffffff1614610d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7390612c07565b60405180910390fd5b806005819055507f370ed5694aff8260b2113acb4c27c8f7e4e4576e89d9dc173a696c70228eda5781604051610db29190612d07565b60405180910390a150565b600f54811115610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df990612b67565b60405180910390fd5b60008166f5232269808000610e179190612e34565b905034811115610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e53906129c7565b60405180910390fd5b60005b82811015610efa57739a95ecee5161b888ffe9abd3d920c5d38e8539da73ffffffffffffffffffffffffffffffffffffffff16636a627842336040518263ffffffff1660e01b8152600401610eb491906128d2565b600060405180830381600087803b158015610ece57600080fd5b505af1158015610ee2573d6000803e3d6000fd5b50505050600181610ef39190612dad565b9050610e5f565b508160046000828254610f0d9190612dad565b9250508190555081600f6000828254610f269190612e8e565b9250508190555060008134610f3b9190612e8e565b90506000811115610f8e573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f8c573d6000803e3d6000fd5b505b7f3b60502dbb7582f2db9bec0b5838589517a01e24cc4cd841a10d35d02d8c64773384604051610fbf9291906128ed565b60405180910390a1505050565b600d6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154905082565b600b5481565b61100b612044565b73ffffffffffffffffffffffffffffffffffffffff166110296112d0565b73ffffffffffffffffffffffffffffffffffffffff161461107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690612c07565b60405180910390fd5b611089600061204c565b565b61271081565b3373ffffffffffffffffffffffffffffffffffffffff1673105195be68a677d80303b9962b309a30def2478373ffffffffffffffffffffffffffffffffffffffff16148061111e57503373ffffffffffffffffffffffffffffffffffffffff1673073dfb7bf2a23f13a547fb4898a46d072f6792f873ffffffffffffffffffffffffffffffffffffffff16145b8061116857503373ffffffffffffffffffffffffffffffffffffffff167332b9d0167bd2ffaf4fb6be5b1ca5cc3fb29b7c4073ffffffffffffffffffffffffffffffffffffffff16145b806111b257503373ffffffffffffffffffffffffffffffffffffffff1673704c7da8d117ff5cf3c3268eecab6a80188b2aac73ffffffffffffffffffffffffffffffffffffffff16145b806111ef57503373ffffffffffffffffffffffffffffffffffffffff166111d76112d0565b73ffffffffffffffffffffffffffffffffffffffff16145b61122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612a87565b60405180910390fd5b60006004546002546112409190612dad565b66f52322698080006112529190612e34565b90506008548111611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90612a47565b60405180910390fd5b6000600854826112a89190612e8e565b90506112b381612110565b80600860008282546112c59190612dad565b925050819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915090505481565b6201518081565b611320612044565b73ffffffffffffffffffffffffffffffffffffffff1661133e6112d0565b73ffffffffffffffffffffffffffffffffffffffff1614611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b90612c07565b60405180910390fd5b62015180806005546113a69190612dad565b6113b09190612dad565b42106113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890612c67565b60405180910390fd5b6000815190506000811161143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143190612ba7565b60405180910390fd5b60968160015461144a9190612dad565b111561148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290612be7565b60405180910390fd5b60005b818110156115de5760008382815181106114d1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561154b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154290612c47565b60405180910390fd5b739a95ecee5161b888ffe9abd3d920c5d38e8539da73ffffffffffffffffffffffffffffffffffffffff16636a627842826040518263ffffffff1660e01b815260040161159891906128d2565b600060405180830381600087803b1580156115b257600080fd5b505af11580156115c6573d6000803e3d6000fd5b505050505080806115d690612f83565b91505061148e565b5080600160008282546115f19190612dad565b925050819055505050565b733c17017f5a584628cf8cb579a38455dbbf3f93e781565b600f5481565b600581565b600554421015611664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165b90612a07565b60405180910390fd5b620151806005546116759190612dad565b42106116b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ad90612aa7565b60405180910390fd5b601e8111156116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f190612b87565b60405180910390fd5b6000811161173d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173490612b07565b60405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000733c17017f5a584628cf8cb579a38455dbbf3f93e773ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016117d091906128d2565b60206040518083038186803b1580156117e857600080fd5b505afa1580156117fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182091906124d0565b905082826005836118319190612e34565b61183b9190612e8e565b101561187c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187390612cc7565b60405180910390fd5b60008366f52322698080006118919190612e34565b9050348111156118d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cd906129c7565b60405180910390fd5b60005b8481101561197457739a95ecee5161b888ffe9abd3d920c5d38e8539da73ffffffffffffffffffffffffffffffffffffffff16636a627842336040518263ffffffff1660e01b815260040161192e91906128d2565b600060405180830381600087803b15801561194857600080fd5b505af115801561195c573d6000803e3d6000fd5b5050505060018161196d9190612dad565b90506118d9565b5083836119819190612dad565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600260008282546119d69190612dad565b92505081905550600081346119eb9190612e8e565b90507f3fb7239d51fdc92f75bd949133afbe9bd5bce32e3b263c054fd238ef0f9a229f338683604051611a2093929190612916565b60405180910390a16000811115611a79573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a77573d6000803e3d6000fd5b505b5050505050565b739a95ecee5161b888ffe9abd3d920c5d38e8539da81565b60025481565b60065481565b601e81565b600a5481565b609681565b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160009054906101000a900460ff16611b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3f90612bc7565b60405180910390fd5b6000816001015411611b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8690612ca7565b60405180910390fd5b6000601e82600101541115611bc357601e9050601e826001016000828254611bb79190612e8e565b92505081905550611bd5565b81600101549050600082600101819055505b60005b81811015611c7357739a95ecee5161b888ffe9abd3d920c5d38e8539da73ffffffffffffffffffffffffffffffffffffffff16636a627842336040518263ffffffff1660e01b8152600401611c2d91906128d2565b600060405180830381600087803b158015611c4757600080fd5b505af1158015611c5b573d6000803e3d6000fd5b50505050600181611c6c9190612dad565b9050611bd8565b507fac09f6228e4630f089640b97f1fde19090cac4ffa7a204b980573b956d57fef93382604051611ca59291906128ed565b60405180910390a15050565b60095481565b600c5481565b600060095411611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf990612c87565b60405180910390fd5b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816001015411611d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8390612ae7565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160009054906101000a900460ff1615611e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1890612a67565b60405180910390fd5b6000600e60009054906101000a900460ff16611e435782600101549050611e61565b611e5e83600001548460010154600b54600a54600c546121d3565b90505b80826001018190555060018260000160006101000a81548160ff0219169083151502179055506000818460010154611e999190612e8e565b9050600066f523226980800082611eb09190612e34565b90507f99257e7b73feb32ca1b0836474e4150fd92fa32d0ec98657c263864188e42bb4338483604051611ee593929190612916565b60405180910390a16000811115611f3e573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f3c573d6000803e3d6000fd5b505b5050505050565b611f4d612044565b73ffffffffffffffffffffffffffffffffffffffff16611f6b6112d0565b73ffffffffffffffffffffffffffffffffffffffff1614611fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb890612c07565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202890612a27565b60405180910390fd5b61203a8161204c565b50565b6201518081565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000620186a0826121219190612e03565b905061214e73105195be68a677d80303b9962b309a30def2478361f4a1836121499190612e34565b61231d565b61217973073dfb7bf2a23f13a547fb4898a46d072f6792f8616707836121749190612e34565b61231d565b6121a473704c7da8d117ff5cf3c3268eecab6a80188b2aac611b588361219f9190612e34565b61231d565b6121cf73d09659effc0de1855e9d33a4f80eb4348ca50af2610fa0836121ca9190612e34565b61231d565b5050565b600080600186886121e49190612dad565b6121ee9190612e8e565b9050828111156121fc578290505b6000858861220a9190612fcc565b90506000868361221a9190612fcc565b905060008683116122435782878b6122329190612dad565b61223c9190612e8e565b9050612268565b8287898c6122519190612dad565b61225b9190612dad565b6122659190612e8e565b90505b858111156122795760009450612310565b60008783106122a05782888661228f9190612dad565b6122999190612e8e565b90506122d7565b888510156122b157600090506122d6565b888389876122bf9190612dad565b6122c99190612e8e565b6122d39190612e8e565b90505b5b808211156122e8576000955061230e565b60018983836122f79190612e8e565b6123019190612e03565b61230b9190612dad565b95505b505b5050505095945050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612363573d6000803e3d6000fd5b505050565b600061237b61237684612d70565b612d4b565b9050808382526020820190508285602086028201111561239a57600080fd5b60005b858110156123ca57816123b088826123d4565b84526020840193506020830192505060018101905061239d565b5050509392505050565b6000813590506123e381613583565b92915050565b600082601f8301126123fa57600080fd5b813561240a848260208601612368565b91505092915050565b6000813590506124228161359a565b92915050565b6000815190506124378161359a565b92915050565b60006020828403121561244f57600080fd5b600061245d848285016123d4565b91505092915050565b60006020828403121561247857600080fd5b600082013567ffffffffffffffff81111561249257600080fd5b61249e848285016123e9565b91505092915050565b6000602082840312156124b957600080fd5b60006124c784828501612413565b91505092915050565b6000602082840312156124e257600080fd5b60006124f084828501612428565b91505092915050565b61250281612ec2565b82525050565b61251181612ed4565b82525050565b61252081612f0a565b82525050565b61252f81612f2e565b82525050565b6000612542601083612d9c565b915061254d8261309b565b602082019050919050565b6000612565601f83612d9c565b9150612570826130c4565b602082019050919050565b6000612588601b83612d9c565b9150612593826130ed565b602082019050919050565b60006125ab602683612d9c565b91506125b682613116565b604082019050919050565b60006125ce601e83612d9c565b91506125d982613165565b602082019050919050565b60006125f1600f83612d9c565b91506125fc8261318e565b602082019050919050565b6000612614602783612d9c565b915061261f826131b7565b604082019050919050565b6000612637601783612d9c565b915061264282613206565b602082019050919050565b600061265a601383612d9c565b91506126658261322f565b602082019050919050565b600061267d601383612d9c565b915061268882613258565b602082019050919050565b60006126a0601883612d9c565b91506126ab82613281565b602082019050919050565b60006126c3600f83612d9c565b91506126ce826132aa565b602082019050919050565b60006126e6601283612d9c565b91506126f1826132d3565b602082019050919050565b6000612709601b83612d9c565b9150612714826132fc565b602082019050919050565b600061272c601b83612d9c565b915061273782613325565b602082019050919050565b600061274f602b83612d9c565b915061275a8261334e565b604082019050919050565b6000612772601c83612d9c565b915061277d8261339d565b602082019050919050565b6000612795601d83612d9c565b91506127a0826133c6565b602082019050919050565b60006127b8602083612d9c565b91506127c3826133ef565b602082019050919050565b60006127db601783612d9c565b91506127e682613418565b602082019050919050565b60006127fe602183612d9c565b915061280982613441565b604082019050919050565b6000612821602483612d9c565b915061282c82613490565b604082019050919050565b6000612844601c83612d9c565b915061284f826134df565b602082019050919050565b6000612867601083612d9c565b915061287282613508565b602082019050919050565b600061288a600f83612d9c565b915061289582613531565b602082019050919050565b60006128ad601c83612d9c565b91506128b88261355a565b602082019050919050565b6128cc81612f00565b82525050565b60006020820190506128e760008301846124f9565b92915050565b600060408201905061290260008301856124f9565b61290f60208301846128c3565b9392505050565b600060608201905061292b60008301866124f9565b61293860208301856128c3565b61294560408301846128c3565b949350505050565b60006020820190506129626000830184612508565b92915050565b600060408201905061297d6000830185612508565b61298a60208301846128c3565b9392505050565b60006020820190506129a66000830184612517565b92915050565b60006020820190506129c16000830184612526565b92915050565b600060208201905081810360008301526129e081612535565b9050919050565b60006020820190508181036000830152612a0081612558565b9050919050565b60006020820190508181036000830152612a208161257b565b9050919050565b60006020820190508181036000830152612a408161259e565b9050919050565b60006020820190508181036000830152612a60816125c1565b9050919050565b60006020820190508181036000830152612a80816125e4565b9050919050565b60006020820190508181036000830152612aa081612607565b9050919050565b60006020820190508181036000830152612ac08161262a565b9050919050565b60006020820190508181036000830152612ae08161264d565b9050919050565b60006020820190508181036000830152612b0081612670565b9050919050565b60006020820190508181036000830152612b2081612693565b9050919050565b60006020820190508181036000830152612b40816126b6565b9050919050565b60006020820190508181036000830152612b60816126d9565b9050919050565b60006020820190508181036000830152612b80816126fc565b9050919050565b60006020820190508181036000830152612ba08161271f565b9050919050565b60006020820190508181036000830152612bc081612742565b9050919050565b60006020820190508181036000830152612be081612765565b9050919050565b60006020820190508181036000830152612c0081612788565b9050919050565b60006020820190508181036000830152612c20816127ab565b9050919050565b60006020820190508181036000830152612c40816127ce565b9050919050565b60006020820190508181036000830152612c60816127f1565b9050919050565b60006020820190508181036000830152612c8081612814565b9050919050565b60006020820190508181036000830152612ca081612837565b9050919050565b60006020820190508181036000830152612cc08161285a565b9050919050565b60006020820190508181036000830152612ce08161287d565b9050919050565b60006020820190508181036000830152612d00816128a0565b9050919050565b6000602082019050612d1c60008301846128c3565b92915050565b6000604082019050612d3760008301856128c3565b612d4460208301846128c3565b9392505050565b6000612d55612d66565b9050612d618282612f52565b919050565b6000604051905090565b600067ffffffffffffffff821115612d8b57612d8a61305b565b5b602082029050602081019050919050565b600082825260208201905092915050565b6000612db882612f00565b9150612dc383612f00565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612df857612df7612ffd565b5b828201905092915050565b6000612e0e82612f00565b9150612e1983612f00565b925082612e2957612e2861302c565b5b828204905092915050565b6000612e3f82612f00565b9150612e4a83612f00565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e8357612e82612ffd565b5b828202905092915050565b6000612e9982612f00565b9150612ea483612f00565b925082821015612eb757612eb6612ffd565b5b828203905092915050565b6000612ecd82612ee0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000612f1582612f1c565b9050919050565b6000612f2782612ee0565b9050919050565b6000612f3982612f40565b9050919050565b6000612f4b82612ee0565b9050919050565b612f5b8261308a565b810181811067ffffffffffffffff82111715612f7a57612f7961305b565b5b80604052505050565b6000612f8e82612f00565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fc157612fc0612ffd565b5b600182019050919050565b6000612fd782612f00565b9150612fe283612f00565b925082612ff257612ff161302c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4e6f7420656e6f756768206d6f6e657900000000000000000000000000000000600082015250565b7f4e65656420746f2074616b65207469636b6574206d6f7265207468616e203000600082015250565b7f53746f7265206973206e6f74206f70656e656420666f72205649500000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4e6f2046756e64732043757272656e746c7920546f2057697468647261770000600082015250565b7f416c726561647920636865636b65640000000000000000000000000000000000600082015250565b7f63616c6c6572206973206e656974686572205465616d2057616c6c6574206e6f60008201527f72204f776e657200000000000000000000000000000000000000000000000000602082015250565b7f53746f726520697320636c6f73656420666f7220564950000000000000000000600082015250565b7f53746f7265206973206e6f74206f70656e656400000000000000000000000000600082015250565b7f4e6f20617661696c61626c65207469636b657400000000000000000000000000600082015250565b7f4e65656420746f206d696e74206d6f7265207468616e20300000000000000000600082015250565b7f53746f726520697320636c6f7365640000000000000000000000000000000000600082015250565b7f416c726561647920726567697374657265640000000000000000000000000000600082015250565b7f45786365656473206477656c6c657273206d617820737570706c790000000000600082015250565b7f6d696e7420616d6f756e742065786365656473206d6178696d756d0000000000600082015250565b7f4e756d626572206f6620726563697069656e7473206d7573742062652067726560008201527f61746572207468616e2030000000000000000000000000000000000000000000602082015250565b7f726573756c74206973206e6f742063616c63756c617465642079657400000000600082015250565b7f45786365656473206d6178207072652d6d696e74204477656c6c657273000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f53746f7265206973206e6f7420636c6f73656420796574000000000000000000600082015250565b7f72656365697665722063616e206e6f7420626520656d7074792061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f7420617661696c61626c65206166746572207469636b6574696e6720706560008201527f72696f6400000000000000000000000000000000000000000000000000000000602082015250565b7f726166666c65206e756d626572206973206e6f74207365742079657400000000600082015250565b7f4e6f2076616c6964207469636b65747300000000000000000000000000000000600082015250565b7f4e6f7420656e6f75676820506173730000000000000000000000000000000000600082015250565b7f726166666c65206e756d62657220697320616c72656164792073657400000000600082015250565b61358c81612ec2565b811461359757600080fd5b50565b6135a381612f00565b81146135ae57600080fd5b5056fea2646970667358221220a1a54d90b1c4ab08a86c55691d24534af00f8103bb5bb0eb54fd39aba56edbff64736f6c63430008040033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $1,588.08 | 1.587 | $2,520.29 |
Loading...
Loading
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.