Source Code
Latest 25 from a total of 36,288 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Enter Bid For Ph... | 24325998 | 18 days ago | IN | 0.0001 ETH | 0.00025883 | ||||
| Enter Bid For Ph... | 24322743 | 19 days ago | IN | 0.028 ETH | 0.0000179 | ||||
| Withdraw Bid For... | 24312164 | 20 days ago | IN | 0 ETH | 0.00000513 | ||||
| Enter Bid For Ph... | 24271802 | 26 days ago | IN | 0.031 ETH | 0.00001742 | ||||
| Withdraw Bid For... | 24271795 | 26 days ago | IN | 0 ETH | 0.00000561 | ||||
| Enter Bid For Ph... | 24249165 | 29 days ago | IN | 0.031 ETH | 0.00001713 | ||||
| Withdraw Bid For... | 23666003 | 111 days ago | IN | 0 ETH | 0.00009027 | ||||
| Enter Bid For Ph... | 23664666 | 111 days ago | IN | 0.045 ETH | 0.00026579 | ||||
| Withdraw Bid For... | 23635392 | 115 days ago | IN | 0 ETH | 0.00009245 | ||||
| Withdraw Bid For... | 23635288 | 115 days ago | IN | 0 ETH | 0.00009027 | ||||
| Enter Bid For Ph... | 23634453 | 115 days ago | IN | 0.03 ETH | 0.00023644 | ||||
| Enter Bid For Ph... | 23634423 | 115 days ago | IN | 0.04 ETH | 0.00028503 | ||||
| Withdraw Bid For... | 23634409 | 115 days ago | IN | 0 ETH | 0.00009723 | ||||
| Enter Bid For Ph... | 23634329 | 115 days ago | IN | 0.04 ETH | 0.00029174 | ||||
| Phunk No Longer ... | 23600318 | 120 days ago | IN | 0 ETH | 0.00006967 | ||||
| Phunk No Longer ... | 23600316 | 120 days ago | IN | 0 ETH | 0.00007061 | ||||
| Phunk No Longer ... | 23600314 | 120 days ago | IN | 0 ETH | 0.0000711 | ||||
| Phunk No Longer ... | 23600313 | 120 days ago | IN | 0 ETH | 0.00007128 | ||||
| Phunk No Longer ... | 23593627 | 121 days ago | IN | 0 ETH | 0.00006844 | ||||
| Phunk No Longer ... | 23593626 | 121 days ago | IN | 0 ETH | 0.00006901 | ||||
| Phunk No Longer ... | 23593622 | 121 days ago | IN | 0 ETH | 0.00006876 | ||||
| Withdraw | 23513036 | 132 days ago | IN | 0 ETH | 0.00003466 | ||||
| Offer Phunk For ... | 23472034 | 138 days ago | IN | 0 ETH | 0.00006254 | ||||
| Offer Phunk For ... | 23471125 | 138 days ago | IN | 0 ETH | 0.00011232 | ||||
| Offer Phunk For ... | 23469181 | 138 days ago | IN | 0 ETH | 0.00101675 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 24312164 | 20 days ago | 0.031 ETH | ||||
| Transfer | 24271795 | 26 days ago | 0.031 ETH | ||||
| Transfer | 23666003 | 111 days ago | 0.045 ETH | ||||
| Transfer | 23635392 | 115 days ago | 0.04 ETH | ||||
| Transfer | 23635288 | 115 days ago | 0.03 ETH | ||||
| Transfer | 23634409 | 115 days ago | 0.04 ETH | ||||
| Transfer | 23513036 | 132 days ago | 0.0001 ETH | ||||
| Transfer | 23414271 | 146 days ago | 2.18 ETH | ||||
| Transfer | 23414270 | 146 days ago | 0.06 ETH | ||||
| Transfer | 23414262 | 146 days ago | 0.18 ETH | ||||
| Transfer | 23414139 | 146 days ago | 1.75 ETH | ||||
| Transfer | 23413453 | 146 days ago | 0.05 ETH | ||||
| Transfer | 23388216 | 150 days ago | 2 ETH | ||||
| Transfer | 23385369 | 150 days ago | 0.001 ETH | ||||
| Transfer | 23363658 | 153 days ago | 0.05 ETH | ||||
| Transfer | 23351680 | 155 days ago | 0.001 ETH | ||||
| Enter Bid For Ph... | 23351680 | 155 days ago | 0.001 ETH | ||||
| Transfer | 23328875 | 158 days ago | 0.05 ETH | ||||
| Enter Bid For Ph... | 23328875 | 158 days ago | 0.05 ETH | ||||
| Transfer | 23297955 | 162 days ago | 0.18 ETH | ||||
| Transfer | 23297950 | 162 days ago | 0.2 ETH | ||||
| Transfer | 23297531 | 162 days ago | 3.1 ETH | ||||
| Transfer | 23273552 | 166 days ago | 3 ETH | ||||
| Transfer | 23264077 | 167 days ago | 0.1 ETH | ||||
| Transfer | 23264073 | 167 days ago | 0.1 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
CryptoPhunksMarket
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT License
pragma solidity 0.8.10;
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/utils/Context.sol";
/**
* @dev Contract module which allows children to implement an emergency stop
* mechanism that can be triggered by an authorized account.
*
* This module is used through inheritance. It will make available the
* modifiers `whenNotPaused` and `whenPaused`, which can be applied to
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
abstract contract Pausable is Context {
/**
* @dev Emitted when the pause is triggered by `account`.
*/
event Paused(address account);
/**
* @dev Emitted when the pause is lifted by `account`.
*/
event Unpaused(address account);
bool private _paused;
/**
* @dev Initializes the contract in unpaused state.
*/
constructor() {
_paused = false;
}
/**
* @dev Returns true if the contract is paused, and false otherwise.
*/
function paused() public view virtual returns (bool) {
return _paused;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*
* Requirements:
*
* - The contract must not be paused.
*/
modifier whenNotPaused() {
require(!paused(), "Pausable: paused");
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*
* Requirements:
*
* - The contract must be paused.
*/
modifier whenPaused() {
require(paused(), "Pausable: not paused");
_;
}
/**
* @dev Triggers stopped state.
*
* Requirements:
*
* - The contract must not be paused.
*/
function _pause() internal virtual whenNotPaused {
_paused = true;
emit Paused(_msgSender());
}
/**
* @dev Returns to normal state.
*
* Requirements:
*
* - The contract must be paused.
*/
function _unpause() internal virtual whenPaused {
_paused = false;
emit Unpaused(_msgSender());
}
}
/**
* @dev Contract module which provides access control
*
* the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* mapped to
* `onlyOwner`
*/
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);
}
}
contract CryptoPhunksMarket is ReentrancyGuard, Pausable, Ownable {
IERC721 phunksContract; // instance of the CryptoPhunks contract
struct Offer {
bool isForSale;
uint phunkIndex;
address seller;
uint minValue; // in ether
address onlySellTo;
}
struct Bid {
bool hasBid;
uint phunkIndex;
address bidder;
uint value;
}
// A record of phunks that are offered for sale at a specific minimum value, and perhaps to a specific person
mapping (uint => Offer) public phunksOfferedForSale;
// A record of the highest phunk bid
mapping (uint => Bid) public phunkBids;
// A record of pending ETH withdrawls by address
mapping (address => uint) public pendingWithdrawals;
event PhunkOffered(uint indexed phunkIndex, uint minValue, address indexed toAddress);
event PhunkBidEntered(uint indexed phunkIndex, uint value, address indexed fromAddress);
event PhunkBidWithdrawn(uint indexed phunkIndex, uint value, address indexed fromAddress);
event PhunkBought(uint indexed phunkIndex, uint value, address indexed fromAddress, address indexed toAddress);
event PhunkNoLongerForSale(uint indexed phunkIndex);
/* Initializes contract with an instance of CryptoPhunks contract, and sets deployer as owner */
constructor(address initialPhunksAddress) {
IERC721(initialPhunksAddress).balanceOf(address(this));
phunksContract = IERC721(initialPhunksAddress);
}
function pause() public whenNotPaused onlyOwner {
_pause();
}
function unpause() public whenPaused onlyOwner {
_unpause();
}
/* Returns the CryptoPhunks contract address currently being used */
function phunksAddress() public view returns (address) {
return address(phunksContract);
}
/* Allows the owner of the contract to set a new CryptoPhunks contract address */
function setPhunksContract(address newPhunksAddress) public onlyOwner {
phunksContract = IERC721(newPhunksAddress);
}
/* Allows the owner of a CryptoPhunks to stop offering it for sale */
function phunkNoLongerForSale(uint phunkIndex) public nonReentrant() {
if (phunkIndex >= 10000) revert('token index not valid');
if (phunksContract.ownerOf(phunkIndex) != msg.sender) revert('you are not the owner of this token');
phunksOfferedForSale[phunkIndex] = Offer(false, phunkIndex, msg.sender, 0, address(0x0));
emit PhunkNoLongerForSale(phunkIndex);
}
/* Allows a CryptoPhunk owner to offer it for sale */
function offerPhunkForSale(uint phunkIndex, uint minSalePriceInWei) public whenNotPaused nonReentrant() {
if (phunkIndex >= 10000) revert('token index not valid');
if (phunksContract.ownerOf(phunkIndex) != msg.sender) revert('you are not the owner of this token');
phunksOfferedForSale[phunkIndex] = Offer(true, phunkIndex, msg.sender, minSalePriceInWei, address(0x0));
emit PhunkOffered(phunkIndex, minSalePriceInWei, address(0x0));
}
/* Allows a CryptoPhunk owner to offer it for sale to a specific address */
function offerPhunkForSaleToAddress(uint phunkIndex, uint minSalePriceInWei, address toAddress) public whenNotPaused nonReentrant() {
if (phunkIndex >= 10000) revert();
if (phunksContract.ownerOf(phunkIndex) != msg.sender) revert('you are not the owner of this token');
phunksOfferedForSale[phunkIndex] = Offer(true, phunkIndex, msg.sender, minSalePriceInWei, toAddress);
emit PhunkOffered(phunkIndex, minSalePriceInWei, toAddress);
}
/* Allows users to buy a CryptoPhunk offered for sale */
function buyPhunk(uint phunkIndex) payable public whenNotPaused nonReentrant() {
if (phunkIndex >= 10000) revert('token index not valid');
Offer memory offer = phunksOfferedForSale[phunkIndex];
if (!offer.isForSale) revert('phunk is not for sale'); // phunk not actually for sale
if (offer.onlySellTo != address(0x0) && offer.onlySellTo != msg.sender) revert();
if (msg.value != offer.minValue) revert('not enough ether'); // Didn't send enough ETH
address seller = offer.seller;
if (seller == msg.sender) revert('seller == msg.sender');
if (seller != phunksContract.ownerOf(phunkIndex)) revert('seller no longer owner of phunk'); // Seller no longer owner of phunk
phunksOfferedForSale[phunkIndex] = Offer(false, phunkIndex, msg.sender, 0, address(0x0));
phunksContract.safeTransferFrom(seller, msg.sender, phunkIndex);
pendingWithdrawals[seller] += msg.value;
emit PhunkBought(phunkIndex, msg.value, seller, msg.sender);
// Check for the case where there is a bid from the new owner and refund it.
// Any other bid can stay in place.
Bid memory bid = phunkBids[phunkIndex];
if (bid.bidder == msg.sender) {
// Kill bid and refund value
pendingWithdrawals[msg.sender] += bid.value;
phunkBids[phunkIndex] = Bid(false, phunkIndex, address(0x0), 0);
}
}
/* Allows users to retrieve ETH from sales */
function withdraw() public nonReentrant() {
uint amount = pendingWithdrawals[msg.sender];
// Remember to zero the pending refund before
// sending to prevent re-entrancy attacks
pendingWithdrawals[msg.sender] = 0;
payable(msg.sender).transfer(amount);
}
/* Allows users to enter bids for any CryptoPhunk */
function enterBidForPhunk(uint phunkIndex) payable public whenNotPaused nonReentrant() {
if (phunkIndex >= 10000) revert('token index not valid');
if (phunksContract.ownerOf(phunkIndex) == msg.sender) revert('you already own this phunk');
if (msg.value == 0) revert('cannot enter bid of zero');
Bid memory existing = phunkBids[phunkIndex];
if (msg.value <= existing.value) revert('your bid is too low');
if (existing.value > 0) {
// Refund the failing bid
pendingWithdrawals[existing.bidder] += existing.value;
}
phunkBids[phunkIndex] = Bid(true, phunkIndex, msg.sender, msg.value);
emit PhunkBidEntered(phunkIndex, msg.value, msg.sender);
}
/* Allows CryptoPhunk owners to accept bids for their Phunks */
function acceptBidForPhunk(uint phunkIndex, uint minPrice) public whenNotPaused nonReentrant() {
if (phunkIndex >= 10000) revert('token index not valid');
if (phunksContract.ownerOf(phunkIndex) != msg.sender) revert('you do not own this token');
address seller = msg.sender;
Bid memory bid = phunkBids[phunkIndex];
if (bid.value == 0) revert('cannot enter bid of zero');
if (bid.value < minPrice) revert('your bid is too low');
address bidder = bid.bidder;
if (seller == bidder) revert('you already own this token');
phunksOfferedForSale[phunkIndex] = Offer(false, phunkIndex, bidder, 0, address(0x0));
uint amount = bid.value;
phunkBids[phunkIndex] = Bid(false, phunkIndex, address(0x0), 0);
phunksContract.safeTransferFrom(msg.sender, bidder, phunkIndex);
pendingWithdrawals[seller] += amount;
emit PhunkBought(phunkIndex, bid.value, seller, bidder);
}
/* Allows bidders to withdraw their bids */
function withdrawBidForPhunk(uint phunkIndex) public nonReentrant() {
if (phunkIndex >= 10000) revert('token index not valid');
Bid memory bid = phunkBids[phunkIndex];
if (bid.bidder != msg.sender) revert('the bidder is not message sender');
emit PhunkBidWithdrawn(phunkIndex, bid.value, msg.sender);
uint amount = bid.value;
phunkBids[phunkIndex] = Bid(false, phunkIndex, address(0x0), 0);
// Refund the bid money
payable(msg.sender).transfer(amount);
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "../../utils/introspection/IERC165.sol";
/**
* @dev Required interface of an ERC721 compliant contract.
*/
interface IERC721 is IERC165 {
/**
* @dev Emitted when `tokenId` token is transferred from `from` to `to`.
*/
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
/**
* @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.
*/
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
/**
* @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.
*/
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
/**
* @dev Returns the number of tokens in ``owner``'s account.
*/
function balanceOf(address owner) external view returns (uint256 balance);
/**
* @dev Returns the owner of the `tokenId` token.
*
* Requirements:
*
* - `tokenId` must exist.
*/
function ownerOf(uint256 tokenId) external view returns (address owner);
/**
* @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
* are aware of the ERC721 protocol to prevent tokens from being forever locked.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `tokenId` token must exist and be owned by `from`.
* - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.
* - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
*
* Emits a {Transfer} event.
*/
function safeTransferFrom(
address from,
address to,
uint256 tokenId
) external;
/**
* @dev Transfers `tokenId` token from `from` to `to`.
*
* WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `tokenId` token must be owned by `from`.
* - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address from,
address to,
uint256 tokenId
) external;
/**
* @dev Gives permission to `to` to transfer `tokenId` token to another account.
* The approval is cleared when the token is transferred.
*
* Only a single account can be approved at a time, so approving the zero address clears previous approvals.
*
* Requirements:
*
* - The caller must own the token or be an approved operator.
* - `tokenId` must exist.
*
* Emits an {Approval} event.
*/
function approve(address to, uint256 tokenId) external;
/**
* @dev Returns the account approved for `tokenId` token.
*
* Requirements:
*
* - `tokenId` must exist.
*/
function getApproved(uint256 tokenId) external view returns (address operator);
/**
* @dev Approve or remove `operator` as an operator for the caller.
* Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.
*
* Requirements:
*
* - The `operator` cannot be the caller.
*
* Emits an {ApprovalForAll} event.
*/
function setApprovalForAll(address operator, bool _approved) external;
/**
* @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.
*
* See {setApprovalForAll}
*/
function isApprovedForAll(address owner, address operator) external view returns (bool);
/**
* @dev Safely transfers `tokenId` token from `from` to `to`.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `tokenId` token must exist and be owned by `from`.
* - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
* - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
*
* Emits a {Transfer} event.
*/
function safeTransferFrom(
address from,
address to,
uint256 tokenId,
bytes calldata data
) external;
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @dev Contract module that helps prevent reentrant calls to a function.
*
* Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
* available, which can be applied to functions to make sure there are no nested
* (reentrant) calls to them.
*
* Note that because there is a single `nonReentrant` guard, functions marked as
* `nonReentrant` may not call one another. This can be worked around by making
* those functions `private`, and then adding `external` `nonReentrant` entry
* points to them.
*
* TIP: If you would like to learn more about reentrancy and alternative ways
* to protect against it, check out our blog post
* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
*/
abstract contract ReentrancyGuard {
// Booleans are more expensive than uint256 or any type that takes up a full
// word because each write operation emits an extra SLOAD to first read the
// slot's contents, replace the bits taken up by the boolean, and then write
// back. This is the compiler's defense against contract upgrades and
// pointer aliasing, and it cannot be disabled.
// The values being non-zero value makes deployment a bit more expensive,
// but in exchange the refund on every call to nonReentrant will be lower in
// amount. Since refunds are capped to a percentage of the total
// transaction's gas, it is best to keep them low in cases like this one, to
// increase the likelihood of the full refund coming into effect.
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
constructor() {
_status = _NOT_ENTERED;
}
/**
* @dev Prevents a contract from calling itself, directly or indirectly.
* Calling a `nonReentrant` function from another `nonReentrant`
* function is not supported. It is possible to prevent this from happening
* by making the `nonReentrant` function external, and make it call a
* `private` function that does the actual work.
*/
modifier nonReentrant() {
// On the first call to nonReentrant, _notEntered will be true
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
// Any calls to nonReentrant after this point will fail
_status = _ENTERED;
_;
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_status = _NOT_ENTERED;
}
}// 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;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC165 standard, as defined in the
* https://eips.ethereum.org/EIPS/eip-165[EIP].
*
* Implementers can declare support of contract interfaces, which can then be
* queried by others ({ERC165Checker}).
*
* For an implementation, see {ERC165}.
*/
interface IERC165 {
/**
* @dev Returns true if this contract implements the interface defined by
* `interfaceId`. See the corresponding
* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
* to learn more about how these ids are created.
*
* This function call must use less than 30 000 gas.
*/
function supportsInterface(bytes4 interfaceId) external view returns (bool);
}{
"optimizer": {
"enabled": true,
"runs": 1000000
},
"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":[{"internalType":"address","name":"initialPhunksAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"phunkIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"}],"name":"PhunkBidEntered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"phunkIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"}],"name":"PhunkBidWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"phunkIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"PhunkBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"phunkIndex","type":"uint256"}],"name":"PhunkNoLongerForSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"phunkIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"minValue","type":"uint256"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"PhunkOffered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"uint256","name":"phunkIndex","type":"uint256"},{"internalType":"uint256","name":"minPrice","type":"uint256"}],"name":"acceptBidForPhunk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"phunkIndex","type":"uint256"}],"name":"buyPhunk","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"phunkIndex","type":"uint256"}],"name":"enterBidForPhunk","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"phunkIndex","type":"uint256"},{"internalType":"uint256","name":"minSalePriceInWei","type":"uint256"}],"name":"offerPhunkForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"phunkIndex","type":"uint256"},{"internalType":"uint256","name":"minSalePriceInWei","type":"uint256"},{"internalType":"address","name":"toAddress","type":"address"}],"name":"offerPhunkForSaleToAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pendingWithdrawals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"phunkBids","outputs":[{"internalType":"bool","name":"hasBid","type":"bool"},{"internalType":"uint256","name":"phunkIndex","type":"uint256"},{"internalType":"address","name":"bidder","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"phunkIndex","type":"uint256"}],"name":"phunkNoLongerForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"phunksAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"phunksOfferedForSale","outputs":[{"internalType":"bool","name":"isForSale","type":"bool"},{"internalType":"uint256","name":"phunkIndex","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"uint256","name":"minValue","type":"uint256"},{"internalType":"address","name":"onlySellTo","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPhunksAddress","type":"address"}],"name":"setPhunksContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"phunkIndex","type":"uint256"}],"name":"withdrawBidForPhunk","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b5060405162002fcc38038062002fcc83398101604081905262000034916200013a565b60016000819055805460ff191690556200004e33620000e0565b6040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa15801562000093573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b991906200016c565b50600280546001600160a01b0319166001600160a01b039290921691909117905562000186565b600180546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200014d57600080fd5b81516001600160a01b03811681146200016557600080fd5b9392505050565b6000602082840312156200017f57600080fd5b5051919050565b612e3680620001966000396000f3fe6080604052600436106101445760003560e01c80636d728796116100c0578063941c984711610074578063f2fde38b11610059578063f2fde38b1461045f578063f3f437031461047f578063f8529df3146104ba57600080fd5b8063941c9847146103a2578063bad9f8601461043f57600080fd5b80638456cb59116100a55780638456cb591461033d5780638da5cb5b146103525780638e65f8f11461038257600080fd5b80636d72879614610315578063715018a61461032857600080fd5b80633f4ba83a116101175780635abe357a116100fc5780635abe357a146102265780635c975abb146102d257806364a69a0c146102f557600080fd5b80633f4ba83a146101f15780635761a9161461020657600080fd5b806306c5eb3e146101495780630c0697a61461019a5780631904d20a146101bc5780633ccfd60b146101dc575b600080fd5b34801561015557600080fd5b5060025473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101a657600080fd5b506101ba6101b5366004612cea565b6104cd565b005b3480156101c857600080fd5b506101ba6101d7366004612d0c565b610866565b3480156101e857600080fd5b506101ba610b7b565b3480156101fd57600080fd5b506101ba610c36565b34801561021257600080fd5b506101ba610221366004612d0c565b610d33565b34801561023257600080fd5b5061028f610241366004612d0c565b60036020819052600091825260409091208054600182015460028301549383015460049093015460ff90921693909273ffffffffffffffffffffffffffffffffffffffff9182169290911685565b604080519515158652602086019490945273ffffffffffffffffffffffffffffffffffffffff92831693850193909352606084015216608082015260a001610191565b3480156102de57600080fd5b5060015460ff166040519015158152602001610191565b34801561030157600080fd5b506101ba610310366004612d47565b611014565b6101ba610323366004612d0c565b6110e2565b34801561033457600080fd5b506101ba6115a2565b34801561034957600080fd5b506101ba611633565b34801561035e57600080fd5b50600154610100900473ffffffffffffffffffffffffffffffffffffffff16610170565b34801561038e57600080fd5b506101ba61039d366004612d6b565b61172f565b3480156103ae57600080fd5b506104016103bd366004612d0c565b600460205260009081526040902080546001820154600283015460039093015460ff90921692909173ffffffffffffffffffffffffffffffffffffffff9091169084565b60405161019194939291909315158452602084019290925273ffffffffffffffffffffffffffffffffffffffff166040830152606082015260800190565b34801561044b57600080fd5b506101ba61045a366004612cea565b611a6a565b34801561046b57600080fd5b506101ba61047a366004612d47565b6121f9565b34801561048b57600080fd5b506104ac61049a366004612d47565b60056020526000908152604090205481565b604051908152602001610191565b6101ba6104c8366004612d0c565b61232f565b60015460ff161561053f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064015b60405180910390fd5b600260005414156105ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b6002600055612710821061061c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101849052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa15801561068b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106af9190612da4565b73ffffffffffffffffffffffffffffffffffffffff1614610752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f796f7520617265206e6f7420746865206f776e6572206f66207468697320746f60448201527f6b656e00000000000000000000000000000000000000000000000000000000006064820152608401610536565b6040805160a0810182526001808252602080830186815233848601908152606085018781526000608087018181528a82526003808752898320985189547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690151517895594519688019690965591516002870180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915591519387019390935593516004909501805490941694909116939093179091559151838152909184917f56c70414e74a5c3a36f4d7822661f950a52445120c261e1aca8eb98162d4e09d91015b60405180910390a350506001600055565b600260005414156108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b60026000556127108110610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101839052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa1580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d69190612da4565b73ffffffffffffffffffffffffffffffffffffffff1614610a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f796f7520617265206e6f7420746865206f776e6572206f66207468697320746f60448201527f6b656e00000000000000000000000000000000000000000000000000000000006064820152608401610536565b6040805160a08101825260008082526020808301858152338486019081526060850184815260808601858152888652600394859052878620965187547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169015151787559251600187015590516002860180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416179091559151938601939093559051600490940180549091169390911692909217909155905182917fecbc479f5da5c26817448a40f3eb43debe1723fa03f7f7165d2aebc28338634e91a2506001600055565b60026000541415610be8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b6002600090815533808252600560205260408083208054908490559051909283156108fc02918491818181858888f19350505050158015610c2d573d6000803e3d6000fd5b50506001600055565b60015460ff16610ca2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610536565b60015473ffffffffffffffffffffffffffffffffffffffff610100909104163314610d29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b610d31612acd565b565b60026000541415610da0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b60026000556127108110610e10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6000818152600460209081526040918290208251608081018452815460ff1615158152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff16928201839052600301546060820152903314610ed2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f74686520626964646572206973206e6f74206d6573736167652073656e6465726044820152606401610536565b3373ffffffffffffffffffffffffffffffffffffffff16827fff7558f932f454bdaae94435ae56ef94bb7f3845edb4dceeb67b27e793025cc18360600151604051610f1f91815260200190565b60405180910390a360608181015160408051608081018252600080825260208083018881528385018381529684018381528984526004909252848320935184547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690151517845551600184015594516002830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055935160039091015551909133916108fc84150291849190818181858888f19350505050158015611009573d6000803e3d6000fd5b505060016000555050565b60015473ffffffffffffffffffffffffffffffffffffffff61010090910416331461109b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015460ff161561114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b600260005414156111bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b6002600055612710811061122c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101839052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf9190612da4565b73ffffffffffffffffffffffffffffffffffffffff16141561133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f796f7520616c7265616479206f776e2074686973207068756e6b0000000000006044820152606401610536565b346113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f63616e6e6f7420656e74657220626964206f66207a65726f00000000000000006044820152606401610536565b6000818152600460209081526040918290208251608081018452815460ff1615158152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff169282019290925260039091015460608201819052341161146a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f796f75722062696420697320746f6f206c6f77000000000000000000000000006044820152606401610536565b6060810151156114b857606081015160408083015173ffffffffffffffffffffffffffffffffffffffff166000908152600560205290812080549091906114b2908490612dc1565b90915550505b604080516080810182526001808252602080830186815233848601818152346060870181815260008b815260048752899020975188547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016901515178855935195870195909555516002860180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905590516003909401939093559251908152909184917f5e5c444a9060fa9489d7e455b3a6f1c2f9b2ac7119c1cee6dc5fe6160c5459089101610855565b60015473ffffffffffffffffffffffffffffffffffffffff610100909104163314611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b610d316000612bae565b60015460ff16156116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b60015473ffffffffffffffffffffffffffffffffffffffff610100909104163314611727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b610d31612c2c565b60015460ff161561179c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b60026000541415611809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b6002600055612710831061181c57600080fd5b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101859052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa15801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118af9190612da4565b73ffffffffffffffffffffffffffffffffffffffff1614611952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f796f7520617265206e6f7420746865206f776e6572206f66207468697320746f60448201527f6b656e00000000000000000000000000000000000000000000000000000000006064820152608401610536565b6040805160a08101825260018082526020808301878152338486019081526060850188815273ffffffffffffffffffffffffffffffffffffffff8881166080880181815260008d81526003808952908b902099518a549015157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116178a5595519789019790975592516002880180549183167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055915193870193909355935160049095018054959092169490931693909317909255915184815285917f56c70414e74a5c3a36f4d7822661f950a52445120c261e1aca8eb98162d4e09d910160405180910390a35050600160005550565b60015460ff1615611ad7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b60026000541415611b44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b60026000556127108210611bb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101849052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015611c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c479190612da4565b73ffffffffffffffffffffffffffffffffffffffff1614611cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f796f7520646f206e6f74206f776e207468697320746f6b656e000000000000006044820152606401610536565b6000828152600460209081526040918290208251608081018452815460ff1615158152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff169282019290925260039091015460608201819052339190611d8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f63616e6e6f7420656e74657220626964206f66207a65726f00000000000000006044820152606401610536565b8281606001511015611df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f796f75722062696420697320746f6f206c6f77000000000000000000000000006044820152606401610536565b604081015173ffffffffffffffffffffffffffffffffffffffff8381169082161415611e81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f796f7520616c7265616479206f776e207468697320746f6b656e0000000000006044820152606401610536565b6040518060a001604052806000151581526020018681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152506003600087815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506000826060015190506040518060800160405280600015158152602001878152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152506004600088815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030155905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3384896040518463ffffffff1660e01b81526004016121129392919073ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600060405180830381600087803b15801561212c57600080fd5b505af1158015612140573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081208054839290612179908490612dc1565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16877f975c7be5322a86cddffed1e3e0e55471a764ac2764d25176ceb8e17feef9392c86606001516040516121e491815260200190565b60405180910390a45050600160005550505050565b60015473ffffffffffffffffffffffffffffffffffffffff610100909104163314612280576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b73ffffffffffffffffffffffffffffffffffffffff8116612323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610536565b61232c81612bae565b50565b60015460ff161561239c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b60026000541415612409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b60026000556127108110612479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b600081815260036020818152604092839020835160a081018552815460ff161515808252600183015493820193909352600282015473ffffffffffffffffffffffffffffffffffffffff9081169582019590955292810154606084015260040154909216608082015290612549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f7068756e6b206973206e6f7420666f722073616c6500000000000000000000006044820152606401610536565b608081015173ffffffffffffffffffffffffffffffffffffffff161580159061258c5750608081015173ffffffffffffffffffffffffffffffffffffffff163314155b1561259657600080fd5b80606001513414612603576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e6f7420656e6f756768206574686572000000000000000000000000000000006044820152606401610536565b604081015173ffffffffffffffffffffffffffffffffffffffff8116331415612688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f73656c6c6572203d3d206d73672e73656e6465720000000000000000000000006044820152606401610536565b6002546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff90911690636352211e90602401602060405180830381865afa1580156126f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271b9190612da4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146127af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f73656c6c6572206e6f206c6f6e676572206f776e6572206f66207068756e6b006044820152606401610536565b6040805160a081018252600080825260208083018781523384860181815260608601858152608087018681528b875260039586905295889020965187547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169015151787559251600187015551600280870180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9485161790915593519487019490945593516004958601805490931690851617909155905493517f42842e0e0000000000000000000000000000000000000000000000000000000081528583169381019390935260248301526044820186905291909116906342842e0e90606401600060405180830381600087803b1580156128e457600080fd5b505af11580156128f8573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff811660009081526005602052604081208054349290612931908490612dc1565b9091555050604051348152339073ffffffffffffffffffffffffffffffffffffffff83169085907f975c7be5322a86cddffed1e3e0e55471a764ac2764d25176ceb8e17feef9392c9060200160405180910390a46000838152600460209081526040918290208251608081018452815460ff1615158152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff16928201839052600301546060820152903314156110095760608101513360009081526005602052604081208054909190612a0a908490612dc1565b90915550506040805160808101825260008082526020808301888152838501838152606085018481529984526004909252938220925183547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016901515178355925160018084019190915592516002830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790559551600390910155909355505050565b60015460ff16612b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610536565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6001805473ffffffffffffffffffffffffffffffffffffffff8381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff85161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60015460ff1615612c99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612b84565b60008060408385031215612cfd57600080fd5b50508035926020909101359150565b600060208284031215612d1e57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461232c57600080fd5b600060208284031215612d5957600080fd5b8135612d6481612d25565b9392505050565b600080600060608486031215612d8057600080fd5b83359250602084013591506040840135612d9981612d25565b809150509250925092565b600060208284031215612db657600080fd5b8151612d6481612d25565b60008219821115612dfb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212209084442a7b83f9839aa10e082bcf70ac849091b80f05fe5201475618c32cfc6a64736f6c634300080a0033000000000000000000000000f07468ead8cf26c752c676e43c814fee9c8cf402
Deployed Bytecode
0x6080604052600436106101445760003560e01c80636d728796116100c0578063941c984711610074578063f2fde38b11610059578063f2fde38b1461045f578063f3f437031461047f578063f8529df3146104ba57600080fd5b8063941c9847146103a2578063bad9f8601461043f57600080fd5b80638456cb59116100a55780638456cb591461033d5780638da5cb5b146103525780638e65f8f11461038257600080fd5b80636d72879614610315578063715018a61461032857600080fd5b80633f4ba83a116101175780635abe357a116100fc5780635abe357a146102265780635c975abb146102d257806364a69a0c146102f557600080fd5b80633f4ba83a146101f15780635761a9161461020657600080fd5b806306c5eb3e146101495780630c0697a61461019a5780631904d20a146101bc5780633ccfd60b146101dc575b600080fd5b34801561015557600080fd5b5060025473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101a657600080fd5b506101ba6101b5366004612cea565b6104cd565b005b3480156101c857600080fd5b506101ba6101d7366004612d0c565b610866565b3480156101e857600080fd5b506101ba610b7b565b3480156101fd57600080fd5b506101ba610c36565b34801561021257600080fd5b506101ba610221366004612d0c565b610d33565b34801561023257600080fd5b5061028f610241366004612d0c565b60036020819052600091825260409091208054600182015460028301549383015460049093015460ff90921693909273ffffffffffffffffffffffffffffffffffffffff9182169290911685565b604080519515158652602086019490945273ffffffffffffffffffffffffffffffffffffffff92831693850193909352606084015216608082015260a001610191565b3480156102de57600080fd5b5060015460ff166040519015158152602001610191565b34801561030157600080fd5b506101ba610310366004612d47565b611014565b6101ba610323366004612d0c565b6110e2565b34801561033457600080fd5b506101ba6115a2565b34801561034957600080fd5b506101ba611633565b34801561035e57600080fd5b50600154610100900473ffffffffffffffffffffffffffffffffffffffff16610170565b34801561038e57600080fd5b506101ba61039d366004612d6b565b61172f565b3480156103ae57600080fd5b506104016103bd366004612d0c565b600460205260009081526040902080546001820154600283015460039093015460ff90921692909173ffffffffffffffffffffffffffffffffffffffff9091169084565b60405161019194939291909315158452602084019290925273ffffffffffffffffffffffffffffffffffffffff166040830152606082015260800190565b34801561044b57600080fd5b506101ba61045a366004612cea565b611a6a565b34801561046b57600080fd5b506101ba61047a366004612d47565b6121f9565b34801561048b57600080fd5b506104ac61049a366004612d47565b60056020526000908152604090205481565b604051908152602001610191565b6101ba6104c8366004612d0c565b61232f565b60015460ff161561053f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064015b60405180910390fd5b600260005414156105ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b6002600055612710821061061c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101849052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa15801561068b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106af9190612da4565b73ffffffffffffffffffffffffffffffffffffffff1614610752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f796f7520617265206e6f7420746865206f776e6572206f66207468697320746f60448201527f6b656e00000000000000000000000000000000000000000000000000000000006064820152608401610536565b6040805160a0810182526001808252602080830186815233848601908152606085018781526000608087018181528a82526003808752898320985189547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690151517895594519688019690965591516002870180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915591519387019390935593516004909501805490941694909116939093179091559151838152909184917f56c70414e74a5c3a36f4d7822661f950a52445120c261e1aca8eb98162d4e09d91015b60405180910390a350506001600055565b600260005414156108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b60026000556127108110610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101839052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa1580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d69190612da4565b73ffffffffffffffffffffffffffffffffffffffff1614610a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f796f7520617265206e6f7420746865206f776e6572206f66207468697320746f60448201527f6b656e00000000000000000000000000000000000000000000000000000000006064820152608401610536565b6040805160a08101825260008082526020808301858152338486019081526060850184815260808601858152888652600394859052878620965187547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169015151787559251600187015590516002860180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416179091559151938601939093559051600490940180549091169390911692909217909155905182917fecbc479f5da5c26817448a40f3eb43debe1723fa03f7f7165d2aebc28338634e91a2506001600055565b60026000541415610be8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b6002600090815533808252600560205260408083208054908490559051909283156108fc02918491818181858888f19350505050158015610c2d573d6000803e3d6000fd5b50506001600055565b60015460ff16610ca2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610536565b60015473ffffffffffffffffffffffffffffffffffffffff610100909104163314610d29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b610d31612acd565b565b60026000541415610da0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b60026000556127108110610e10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6000818152600460209081526040918290208251608081018452815460ff1615158152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff16928201839052600301546060820152903314610ed2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f74686520626964646572206973206e6f74206d6573736167652073656e6465726044820152606401610536565b3373ffffffffffffffffffffffffffffffffffffffff16827fff7558f932f454bdaae94435ae56ef94bb7f3845edb4dceeb67b27e793025cc18360600151604051610f1f91815260200190565b60405180910390a360608181015160408051608081018252600080825260208083018881528385018381529684018381528984526004909252848320935184547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690151517845551600184015594516002830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055935160039091015551909133916108fc84150291849190818181858888f19350505050158015611009573d6000803e3d6000fd5b505060016000555050565b60015473ffffffffffffffffffffffffffffffffffffffff61010090910416331461109b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015460ff161561114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b600260005414156111bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b6002600055612710811061122c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101839052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf9190612da4565b73ffffffffffffffffffffffffffffffffffffffff16141561133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f796f7520616c7265616479206f776e2074686973207068756e6b0000000000006044820152606401610536565b346113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f63616e6e6f7420656e74657220626964206f66207a65726f00000000000000006044820152606401610536565b6000818152600460209081526040918290208251608081018452815460ff1615158152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff169282019290925260039091015460608201819052341161146a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f796f75722062696420697320746f6f206c6f77000000000000000000000000006044820152606401610536565b6060810151156114b857606081015160408083015173ffffffffffffffffffffffffffffffffffffffff166000908152600560205290812080549091906114b2908490612dc1565b90915550505b604080516080810182526001808252602080830186815233848601818152346060870181815260008b815260048752899020975188547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016901515178855935195870195909555516002860180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905590516003909401939093559251908152909184917f5e5c444a9060fa9489d7e455b3a6f1c2f9b2ac7119c1cee6dc5fe6160c5459089101610855565b60015473ffffffffffffffffffffffffffffffffffffffff610100909104163314611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b610d316000612bae565b60015460ff16156116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b60015473ffffffffffffffffffffffffffffffffffffffff610100909104163314611727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b610d31612c2c565b60015460ff161561179c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b60026000541415611809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b6002600055612710831061181c57600080fd5b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101859052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa15801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118af9190612da4565b73ffffffffffffffffffffffffffffffffffffffff1614611952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f796f7520617265206e6f7420746865206f776e6572206f66207468697320746f60448201527f6b656e00000000000000000000000000000000000000000000000000000000006064820152608401610536565b6040805160a08101825260018082526020808301878152338486019081526060850188815273ffffffffffffffffffffffffffffffffffffffff8881166080880181815260008d81526003808952908b902099518a549015157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116178a5595519789019790975592516002880180549183167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055915193870193909355935160049095018054959092169490931693909317909255915184815285917f56c70414e74a5c3a36f4d7822661f950a52445120c261e1aca8eb98162d4e09d910160405180910390a35050600160005550565b60015460ff1615611ad7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b60026000541415611b44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b60026000556127108210611bb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101849052339173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015611c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c479190612da4565b73ffffffffffffffffffffffffffffffffffffffff1614611cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f796f7520646f206e6f74206f776e207468697320746f6b656e000000000000006044820152606401610536565b6000828152600460209081526040918290208251608081018452815460ff1615158152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff169282019290925260039091015460608201819052339190611d8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f63616e6e6f7420656e74657220626964206f66207a65726f00000000000000006044820152606401610536565b8281606001511015611df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f796f75722062696420697320746f6f206c6f77000000000000000000000000006044820152606401610536565b604081015173ffffffffffffffffffffffffffffffffffffffff8381169082161415611e81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f796f7520616c7265616479206f776e207468697320746f6b656e0000000000006044820152606401610536565b6040518060a001604052806000151581526020018681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152506003600087815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506000826060015190506040518060800160405280600015158152602001878152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152506004600088815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030155905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3384896040518463ffffffff1660e01b81526004016121129392919073ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600060405180830381600087803b15801561212c57600080fd5b505af1158015612140573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081208054839290612179908490612dc1565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16877f975c7be5322a86cddffed1e3e0e55471a764ac2764d25176ceb8e17feef9392c86606001516040516121e491815260200190565b60405180910390a45050600160005550505050565b60015473ffffffffffffffffffffffffffffffffffffffff610100909104163314612280576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610536565b73ffffffffffffffffffffffffffffffffffffffff8116612323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610536565b61232c81612bae565b50565b60015460ff161561239c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b60026000541415612409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610536565b60026000556127108110612479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f6b656e20696e646578206e6f742076616c696400000000000000000000006044820152606401610536565b600081815260036020818152604092839020835160a081018552815460ff161515808252600183015493820193909352600282015473ffffffffffffffffffffffffffffffffffffffff9081169582019590955292810154606084015260040154909216608082015290612549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f7068756e6b206973206e6f7420666f722073616c6500000000000000000000006044820152606401610536565b608081015173ffffffffffffffffffffffffffffffffffffffff161580159061258c5750608081015173ffffffffffffffffffffffffffffffffffffffff163314155b1561259657600080fd5b80606001513414612603576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e6f7420656e6f756768206574686572000000000000000000000000000000006044820152606401610536565b604081015173ffffffffffffffffffffffffffffffffffffffff8116331415612688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f73656c6c6572203d3d206d73672e73656e6465720000000000000000000000006044820152606401610536565b6002546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff90911690636352211e90602401602060405180830381865afa1580156126f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271b9190612da4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146127af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f73656c6c6572206e6f206c6f6e676572206f776e6572206f66207068756e6b006044820152606401610536565b6040805160a081018252600080825260208083018781523384860181815260608601858152608087018681528b875260039586905295889020965187547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169015151787559251600187015551600280870180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9485161790915593519487019490945593516004958601805490931690851617909155905493517f42842e0e0000000000000000000000000000000000000000000000000000000081528583169381019390935260248301526044820186905291909116906342842e0e90606401600060405180830381600087803b1580156128e457600080fd5b505af11580156128f8573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff811660009081526005602052604081208054349290612931908490612dc1565b9091555050604051348152339073ffffffffffffffffffffffffffffffffffffffff83169085907f975c7be5322a86cddffed1e3e0e55471a764ac2764d25176ceb8e17feef9392c9060200160405180910390a46000838152600460209081526040918290208251608081018452815460ff1615158152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff16928201839052600301546060820152903314156110095760608101513360009081526005602052604081208054909190612a0a908490612dc1565b90915550506040805160808101825260008082526020808301888152838501838152606085018481529984526004909252938220925183547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016901515178355925160018084019190915592516002830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790559551600390910155909355505050565b60015460ff16612b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610536565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6001805473ffffffffffffffffffffffffffffffffffffffff8381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff85161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60015460ff1615612c99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610536565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612b84565b60008060408385031215612cfd57600080fd5b50508035926020909101359150565b600060208284031215612d1e57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461232c57600080fd5b600060208284031215612d5957600080fd5b8135612d6481612d25565b9392505050565b600080600060608486031215612d8057600080fd5b83359250602084013591506040840135612d9981612d25565b809150509250925092565b600060208284031215612db657600080fd5b8151612d6481612d25565b60008219821115612dfb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212209084442a7b83f9839aa10e082bcf70ac849091b80f05fe5201475618c32cfc6a64736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f07468ead8cf26c752c676e43c814fee9c8cf402
-----Decoded View---------------
Arg [0] : initialPhunksAddress (address): 0xf07468eAd8cf26c752C676E43C814FEe9c8CF402
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f07468ead8cf26c752c676e43c814fee9c8cf402
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.