ETH Price: $3,175.44 (-8.23%)
Gas: 3 Gwei

Contract

0x0F988438E10d98387FcC778E5bF2ef5d0a2c383f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Remove Bids184235392023-10-24 23:57:59274 days ago1698191879IN
0x0F988438...d0a2c383f
0 ETH0.0010934215.55630937
Remove Bids176781172023-07-12 14:36:47378 days ago1689172607IN
0x0F988438...d0a2c383f
0 ETH0.0034953336.96379105
Remove Bids176147902023-07-03 17:02:11387 days ago1688403731IN
0x0F988438...d0a2c383f
0 ETH0.0020677329.41799848
Remove Bids175887802023-06-30 1:19:23391 days ago1688087963IN
0x0F988438...d0a2c383f
0 ETH0.0044814618.65674361
Move Winners Wag...175887372023-06-30 1:10:47391 days ago1688087447IN
0x0F988438...d0a2c383f
0 ETH0.004353920.0350082
Remove Bids175887192023-06-30 1:06:59391 days ago1688087219IN
0x0F988438...d0a2c383f
0 ETH0.0023088519.42941701
Finish Auction175887142023-06-30 1:05:59391 days ago1688087159IN
0x0F988438...d0a2c383f
0 ETH0.0006284319.58726011
Bid Wagdie175886432023-06-30 0:51:35391 days ago1688086295IN
0x0F988438...d0a2c383f
0 ETH0.0015908420.31836762
Bid Wagdie175886092023-06-30 0:44:47391 days ago1688085887IN
0x0F988438...d0a2c383f
0 ETH0.0072802719.44855827
Remove Bids175820762023-06-29 2:46:35392 days ago1688006795IN
0x0F988438...d0a2c383f
0 ETH0.0057791121.85068916
Remove Bids175817622023-06-29 1:43:11392 days ago1688002991IN
0x0F988438...d0a2c383f
0 ETH0.0039882420.80950792
Bid Wagdie175815832023-06-29 1:06:35392 days ago1688000795IN
0x0F988438...d0a2c383f
0 ETH0.0044462619.37851425
Remove Bids175815762023-06-29 1:05:11392 days ago1688000711IN
0x0F988438...d0a2c383f
0 ETH0.0013429519.10640157
Bid Wagdie175815742023-06-29 1:04:47392 days ago1688000687IN
0x0F988438...d0a2c383f
0 ETH0.0015709520.06435889
Remove Bids175815732023-06-29 1:04:35392 days ago1688000675IN
0x0F988438...d0a2c383f
0 ETH0.0043097319.95894298
Set Current Auct...175815682023-06-29 1:03:35392 days ago1688000615IN
0x0F988438...d0a2c383f
0 ETH0.0006387520.8934545
Create Auction175815642023-06-29 1:02:47392 days ago1688000567IN
0x0F988438...d0a2c383f
0 ETH0.0031372921.13708772
Move Winners Wag...175815612023-06-29 1:02:11392 days ago1688000531IN
0x0F988438...d0a2c383f
0 ETH0.0060374621.60194175
Finish Auction175815532023-06-29 1:00:35392 days ago1688000435IN
0x0F988438...d0a2c383f
0 ETH0.0007003221.82771649
Bid Wagdie175814952023-06-29 0:48:47392 days ago1687999727IN
0x0F988438...d0a2c383f
0 ETH0.0028135417.29743636
Bid Wagdie175814432023-06-29 0:38:23392 days ago1687999103IN
0x0F988438...d0a2c383f
0 ETH0.0015685618.00955533
Bid Wagdie175813512023-06-29 0:19:59392 days ago1687997999IN
0x0F988438...d0a2c383f
0 ETH0.004279617.96418388
Bid Wagdie175813452023-06-29 0:18:47392 days ago1687997927IN
0x0F988438...d0a2c383f
0 ETH0.0055259917.59724886
Bid Wagdie175813382023-06-29 0:17:23392 days ago1687997843IN
0x0F988438...d0a2c383f
0 ETH0.003762418.4204146
Bid Wagdie175807202023-06-28 22:13:11392 days ago1687990391IN
0x0F988438...d0a2c383f
0 ETH0.0036638117.93773538
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WagdieBid

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 5 : WagdieBid.sol
// SPDX-License-Identifier: WAGDIE
pragma solidity ^0.8.18;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; 

contract WagdieBid is Ownable {

    event AuctionUpdated(uint16 auctionId, string reward, string imageUrl, uint40 endsAt);
    event CurrentAuction(uint16 auctionId);
    event AuctionFinished(uint16 auctionId, address winner);

    event BidWagdie(uint256 wagdieId, uint16 auctionId, address bidder);
    event BidRemoved(uint256 wagdieId, uint16 auctionId, address bidder);
    
    address constant public WAGDIE = 0x659A4BdaAaCc62d2bd9Cb18225D9C89b5B697A5A;
    uint16 public currentAuction = 0;

    uint16 public auctionsCreated = 0;

    uint16 lastAuctionId = 0;
    
    bool private emergencyWithdrawActive = false;

    mapping(uint16 => Auction) public auctions;
    mapping(uint16 => Wagdie) public wagdieBids;

    struct Auction {
        address winner;
        uint40 endsAt;
        bool finished;
        string reward;
        string imageUrl;
    }

    struct Wagdie {
        address owner;
        uint16 auctionId;
    }

    constructor() {

    }

    function _addTimeToAuction(uint16 _auctionId) internal {
        Auction storage auction = auctions[_auctionId];

        auction.endsAt = auction.endsAt + 10 minutes;

        emit AuctionUpdated(_auctionId, auction.reward, auction.imageUrl, auction.endsAt);
    }


    function bidWagdie(uint16[] calldata wagdieIds) public {
        Auction memory auction = auctions[currentAuction];

        require(auction.endsAt != 0, "Auction is not set");
        require(!auction.finished, "Auction is finished");
        require(block.timestamp < auction.endsAt, "Auction is finished");
        require(wagdieIds.length > 0, "You must bid at least 1 wagdie");

        if(auction.endsAt - block.timestamp <= 10 minutes)
            _addTimeToAuction(currentAuction);

        for(uint i = 0; i < wagdieIds.length; i++)
            _bidWagdie(wagdieIds[i], currentAuction);
    }

    function _bidWagdie(uint16 wagdieId, uint16 auctionId) internal {
        IERC721(WAGDIE).transferFrom(msg.sender, address(this), wagdieId);

        wagdieBids[wagdieId] = Wagdie(msg.sender, auctionId);

        emit BidWagdie(wagdieId, auctionId, msg.sender);
    }

    function removeBids(uint16[] calldata wagdieIds) public {

        for(uint i = 0; i < wagdieIds.length; i++)
            _removeBid(wagdieIds[i]);

    }

    function _removeBid(uint16 wagdieId) internal {

        Wagdie memory wagdie = wagdieBids[wagdieId];
        require(wagdie.owner == msg.sender, "You are not the owner of this wagdie");

        Auction memory auction = auctions[wagdie.auctionId];
        require(auction.finished, "Auction is not finished");
        require(auction.winner != msg.sender, "You are the winner of this auction");

        IERC721(WAGDIE).transferFrom(address(this), msg.sender, wagdieId);

        emit BidRemoved(wagdieId, wagdie.auctionId, msg.sender);
    }

    function emergencyWithdraw(uint16[] calldata wagdieIds) public {
        require(emergencyWithdrawActive, "Emergency withdraw is not active");

        for(uint i = 0; i < wagdieIds.length; i++) {
            require(wagdieBids[wagdieIds[i]].owner == msg.sender, "You are not the owner of this wagdie");

            IERC721(WAGDIE).transferFrom(address(this), msg.sender, wagdieIds[i]);
        }
    }

    function finishAuction(address winner) public onlyOwner {
        Auction storage auction = auctions[currentAuction];

        require(!auction.finished, "Current auction is already finished");
        require(block.timestamp >= auction.endsAt, "Auction is not finished");

        auction.finished = true;
        auction.winner = winner;

        emit AuctionFinished(currentAuction, winner);
    }

    function createAuction(string memory _reward, string memory _imageUrl, uint40 _length) public onlyOwner {
        uint16 _auctionId = ++auctionsCreated;

        lastAuctionId = _auctionId;

        Auction storage auction = auctions[_auctionId];

        require(_length > 0, "Length must be more than 0");

        require(!auction.finished, "Current auction is already finished");
        require(auction.endsAt == 0, "Auction is already set");

        auction.reward = _reward;
        auction.imageUrl = _imageUrl;

        //Length of auction in hours for easy input, example _length = 12 will be 12 hours of auction time.
        _length = _length * 1 hours;

        auction.endsAt = uint40(block.timestamp) + _length;

        emit AuctionUpdated(_auctionId, _reward, _imageUrl, auction.endsAt);
    }

    function updateAuction(uint16 _auctionId, string memory _reward, string memory _imageUrl, uint40 _length) public onlyOwner {
        Auction storage auction = auctions[_auctionId];

        require(!auction.finished, "Current auction is already finished");

        auction.reward = _reward;
        auction.imageUrl = _imageUrl;

        //Length of auction in hours for easy input, example _length = 12 will be 12 hours of auction time.
        _length = _length * 1 hours;

        auction.endsAt = uint40(block.timestamp) + _length;

        emit AuctionUpdated(_auctionId, _reward, _imageUrl, auction.endsAt);
    }

    function setCurrentAuction(uint16 _auctionId) public onlyOwner {
        require(auctions[_auctionId].endsAt != 0, "Set the auction before setting it as current");

        currentAuction = _auctionId;

        emit CurrentAuction(_auctionId);
    }

    function getLastAuctionCreated() public view returns (uint16) {
        return lastAuctionId;
    }

    function setEmergencyWithdrawl(bool _emergencyWithdraw) public onlyOwner {
        emergencyWithdrawActive = _emergencyWithdraw;
    }

    function moveWinnersWagdies(uint16 auctionId, uint16[] calldata wagdieIds, address to) public onlyOwner {
        Auction memory auction = auctions[auctionId];

        require(auction.finished, "Auction is not finished");

        for(uint i = 0; i < wagdieIds.length; i++) {
            Wagdie storage wagdie = wagdieBids[wagdieIds[i]];

            require(wagdie.owner == auction.winner, "WAGDIE does not belong to the winner");

            IERC721(WAGDIE).transferFrom(address(this), to, wagdieIds[i]);

            emit BidRemoved(wagdieIds[i], auctionId, wagdie.owner);

            wagdie.auctionId = 0;
            wagdie.owner = address(0);

        }
    }


}

File 2 of 5 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 5 : IERC721.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/IERC721.sol)

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`.
     *
     * 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;

    /**
     * @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 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: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721
     * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must
     * understand this adds an external call which potentially creates a reentrancy vulnerability.
     *
     * 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 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 the account approved for `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function getApproved(uint256 tokenId) external view returns (address operator);

    /**
     * @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);
}

File 4 of 5 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

File 5 of 5 : IERC165.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)

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);
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"auctionId","type":"uint16"},{"indexed":false,"internalType":"address","name":"winner","type":"address"}],"name":"AuctionFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"auctionId","type":"uint16"},{"indexed":false,"internalType":"string","name":"reward","type":"string"},{"indexed":false,"internalType":"string","name":"imageUrl","type":"string"},{"indexed":false,"internalType":"uint40","name":"endsAt","type":"uint40"}],"name":"AuctionUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"wagdieId","type":"uint256"},{"indexed":false,"internalType":"uint16","name":"auctionId","type":"uint16"},{"indexed":false,"internalType":"address","name":"bidder","type":"address"}],"name":"BidRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"wagdieId","type":"uint256"},{"indexed":false,"internalType":"uint16","name":"auctionId","type":"uint16"},{"indexed":false,"internalType":"address","name":"bidder","type":"address"}],"name":"BidWagdie","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"auctionId","type":"uint16"}],"name":"CurrentAuction","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"},{"inputs":[],"name":"WAGDIE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"}],"name":"auctions","outputs":[{"internalType":"address","name":"winner","type":"address"},{"internalType":"uint40","name":"endsAt","type":"uint40"},{"internalType":"bool","name":"finished","type":"bool"},{"internalType":"string","name":"reward","type":"string"},{"internalType":"string","name":"imageUrl","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"auctionsCreated","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"wagdieIds","type":"uint16[]"}],"name":"bidWagdie","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_reward","type":"string"},{"internalType":"string","name":"_imageUrl","type":"string"},{"internalType":"uint40","name":"_length","type":"uint40"}],"name":"createAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentAuction","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"wagdieIds","type":"uint16[]"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"winner","type":"address"}],"name":"finishAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getLastAuctionCreated","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"auctionId","type":"uint16"},{"internalType":"uint16[]","name":"wagdieIds","type":"uint16[]"},{"internalType":"address","name":"to","type":"address"}],"name":"moveWinnersWagdies","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"wagdieIds","type":"uint16[]"}],"name":"removeBids","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_auctionId","type":"uint16"}],"name":"setCurrentAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_emergencyWithdraw","type":"bool"}],"name":"setEmergencyWithdrawl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_auctionId","type":"uint16"},{"internalType":"string","name":"_reward","type":"string"},{"internalType":"string","name":"_imageUrl","type":"string"},{"internalType":"uint40","name":"_length","type":"uint40"}],"name":"updateAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"}],"name":"wagdieBids","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint16","name":"auctionId","type":"uint16"}],"stateMutability":"view","type":"function"}]

608060405260008060146101000a81548161ffff021916908361ffff16021790555060008060166101000a81548161ffff021916908361ffff16021790555060008060186101000a81548161ffff021916908361ffff160217905550600080601a6101000a81548160ff0219169083151502179055503480156200008257600080fd5b50620000a362000097620000a960201b60201c565b620000b160201b60201c565b62000175565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6132fe80620001856000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80636aa178dd116100a25780639c18782b116100715780639c18782b146102ac578063a2edca7c146102c8578063cb40e189146102e4578063d8c3bd9814610300578063f2fde38b1461031c57610116565b80636aa178dd1461024c578063715018a61461026857806386b239bc146102725780638da5cb5b1461028e57610116565b80631f4ddcfd116100e95780631f4ddcfd1461018f57806333c726f3146101ab578063425a15f7146101dc578063496a698d1461021057806367aa38171461022e57610116565b80630ce7f2a71461011b5780631568654c146101395780631db2b99d146101555780631e98fe2714610171575b600080fd5b610123610338565b6040516101309190611f11565b60405180910390f35b610153600480360381019061014e91906120c3565b61034c565b005b61016f600480360381019061016a91906121ae565b610580565b005b610179610772565b6040516101869190611f11565b60405180910390f35b6101a960048036038101906101a49190612233565b610789565b005b6101c560048036038101906101c0919061228c565b6107ae565b6040516101d39291906122fa565b60405180910390f35b6101f660048036038101906101f1919061228c565b610800565b6040516102079594939291906123c0565b60405180910390f35b610218610984565b6040516102259190611f11565b60405180910390f35b610236610998565b6040516102439190612421565b60405180910390f35b6102666004803603810190610261919061243c565b6109b0565b005b610270610ae6565b005b61028c6004803603810190610287919061228c565b610afa565b005b610296610bd2565b6040516102a39190612421565b60405180910390f35b6102c660048036038101906102c19190612507565b610bfb565b005b6102e260048036038101906102dd91906121ae565b610d8f565b005b6102fe60048036038101906102f99190612534565b610de5565b005b61031a600480360381019061031591906121ae565b6112b3565b005b61033660048036038101906103319190612507565b611671565b005b600060169054906101000a900461ffff1681565b6103546116f4565b600080601681819054906101000a900461ffff16610371906125d7565b91906101000a81548161ffff021916908361ffff1602179055905080600060186101000a81548161ffff021916908361ffff1602179055506000600160008361ffff1661ffff168152602001908152602001600020905060008364ffffffffff1611610412576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104099061264d565b60405180910390fd5b8060000160199054906101000a900460ff1615610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b906126df565b60405180910390fd5b60008160000160149054906101000a900464ffffffffff1664ffffffffff16146104c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ba9061274b565b60405180910390fd5b848160010190816104d49190612981565b50838160020190816104e69190612981565b50610e10836104f59190612a53565b925082426105039190612a90565b8160000160146101000a81548164ffffffffff021916908364ffffffffff1602179055507f52b85f4544285c37d20fbcd9462d855f8fe076852943982879b9ca9cb94e56808286868460000160149054906101000a900464ffffffffff166040516105719493929190612ac9565b60405180910390a15050505050565b6000601a9054906101000a900460ff166105cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c690612b68565b60405180910390fd5b60005b8282905081101561076d573373ffffffffffffffffffffffffffffffffffffffff166002600085858581811061060b5761060a612b88565b5b9050602002016020810190610620919061228c565b61ffff1661ffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a790612c29565b60405180910390fd5b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a73ffffffffffffffffffffffffffffffffffffffff166323b872dd30338686868181106106f5576106f4612b88565b5b905060200201602081019061070a919061228c565b6040518463ffffffff1660e01b815260040161072893929190612c7a565b600060405180830381600087803b15801561074257600080fd5b505af1158015610756573d6000803e3d6000fd5b50505050808061076590612cb1565b9150506105d2565b505050565b60008060189054906101000a900461ffff16905090565b6107916116f4565b806000601a6101000a81548160ff02191690831515021790555050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900461ffff16905082565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900464ffffffffff16908060000160199054906101000a900460ff16908060010180546108739061279a565b80601f016020809104026020016040519081016040528092919081815260200182805461089f9061279a565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b5050505050908060020180546109019061279a565b80601f016020809104026020016040519081016040528092919081815260200182805461092d9061279a565b801561097a5780601f1061094f5761010080835404028352916020019161097a565b820191906000526020600020905b81548152906001019060200180831161095d57829003601f168201915b5050505050905085565b600060149054906101000a900461ffff1681565b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a81565b6109b86116f4565b6000600160008661ffff1661ffff16815260200190815260200160002090508060000160199054906101000a900460ff1615610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a20906126df565b60405180910390fd5b83816001019081610a3a9190612981565b5082816002019081610a4c9190612981565b50610e1082610a5b9190612a53565b91508142610a699190612a90565b8160000160146101000a81548164ffffffffff021916908364ffffffffff1602179055507f52b85f4544285c37d20fbcd9462d855f8fe076852943982879b9ca9cb94e56808585858460000160149054906101000a900464ffffffffff16604051610ad79493929190612ac9565b60405180910390a15050505050565b610aee6116f4565b610af86000611772565b565b610b026116f4565b6000600160008361ffff1661ffff16815260200190815260200160002060000160149054906101000a900464ffffffffff1664ffffffffff1603610b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290612d6b565b60405180910390fd5b80600060146101000a81548161ffff021916908361ffff1602179055507f2427146d10c1e1b317589dd5403ddaf1e24cdb1ed688277a7a846445cba43d5d81604051610bc79190611f11565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c036116f4565b6000600160008060149054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002090508060000160199054906101000a900460ff1615610c83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7a906126df565b60405180910390fd5b8060000160149054906101000a900464ffffffffff1664ffffffffff16421015610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd990612dd7565b60405180910390fd5b60018160000160196101000a81548160ff021916908315150217905550818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0dd70be158737fe5cd2f6f6bdc0afdd22f6b24714c24c6b4f761f328ee4b4be5600060149054906101000a900461ffff1683604051610d83929190612df7565b60405180910390a15050565b60005b82829050811015610de057610dcd838383818110610db357610db2612b88565b5b9050602002016020810190610dc8919061228c565b611836565b8080610dd890612cb1565b915050610d92565b505050565b610ded6116f4565b6000600160008661ffff1661ffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020016000820160199054906101000a900460ff16151515158152602001600182018054610ebf9061279a565b80601f0160208091040260200160405190810160405280929190818152602001828054610eeb9061279a565b8015610f385780601f10610f0d57610100808354040283529160200191610f38565b820191906000526020600020905b815481529060010190602001808311610f1b57829003601f168201915b50505050508152602001600282018054610f519061279a565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7d9061279a565b8015610fca5780601f10610f9f57610100808354040283529160200191610fca565b820191906000526020600020905b815481529060010190602001808311610fad57829003601f168201915b50505050508152505090508060400151611019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101090612dd7565b60405180910390fd5b60005b848490508110156112ab576000600260008787858181106110405761103f612b88565b5b9050602002016020810190611055919061228c565b61ffff1661ffff1681526020019081526020016000209050826000015173ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa90612e92565b60405180910390fd5b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a73ffffffffffffffffffffffffffffffffffffffff166323b872dd308689898781811061114857611147612b88565b5b905060200201602081019061115d919061228c565b6040518463ffffffff1660e01b815260040161117b93929190612c7a565b600060405180830381600087803b15801561119557600080fd5b505af11580156111a9573d6000803e3d6000fd5b505050507f647bc97c657db9e784db4a21617f9d0f15328902cad497cc063154dbe153e6718686848181106111e1576111e0612b88565b5b90506020020160208101906111f6919061228c565b888360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161122b93929190612eb2565b60405180910390a160008160000160146101000a81548161ffff021916908361ffff16021790555060008160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080806112a390612cb1565b91505061101c565b505050505050565b6000600160008060149054906101000a900461ffff1661ffff1661ffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020016000820160199054906101000a900460ff161515151581526020016001820180546113949061279a565b80601f01602080910402602001604051908101604052809291908181526020018280546113c09061279a565b801561140d5780601f106113e25761010080835404028352916020019161140d565b820191906000526020600020905b8154815290600101906020018083116113f057829003601f168201915b505050505081526020016002820180546114269061279a565b80601f01602080910402602001604051908101604052809291908181526020018280546114529061279a565b801561149f5780601f106114745761010080835404028352916020019161149f565b820191906000526020600020905b81548152906001019060200180831161148257829003601f168201915b50505050508152505090506000816020015164ffffffffff16036114f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ef90612f35565b60405180910390fd5b80604001511561153d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153490612fa1565b60405180910390fd5b806020015164ffffffffff16421061158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158190612fa1565b60405180910390fd5b600083839050116115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c79061300d565b60405180910390fd5b61025842826020015164ffffffffff166115ea919061302d565b1161160957611608600060149054906101000a900461ffff16611cb1565b5b60005b8383905081101561166b5761165884848381811061162d5761162c612b88565b5b9050602002016020810190611642919061228c565b600060149054906101000a900461ffff16611d73565b808061166390612cb1565b91505061160c565b50505050565b6116796116f4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df906130d3565b60405180910390fd5b6116f181611772565b50565b6116fc611eec565b73ffffffffffffffffffffffffffffffffffffffff1661171a610bd2565b73ffffffffffffffffffffffffffffffffffffffff1614611770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117679061313f565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600260008361ffff1661ffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900461ffff1661ffff1661ffff168152505090503373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193f90612c29565b60405180910390fd5b600060016000836020015161ffff1661ffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020016000820160199054906101000a900460ff16151515158152602001600182018054611a1e9061279a565b80601f0160208091040260200160405190810160405280929190818152602001828054611a4a9061279a565b8015611a975780601f10611a6c57610100808354040283529160200191611a97565b820191906000526020600020905b815481529060010190602001808311611a7a57829003601f168201915b50505050508152602001600282018054611ab09061279a565b80601f0160208091040260200160405190810160405280929190818152602001828054611adc9061279a565b8015611b295780601f10611afe57610100808354040283529160200191611b29565b820191906000526020600020905b815481529060010190602001808311611b0c57829003601f168201915b50505050508152505090508060400151611b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6f90612dd7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603611bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be1906131d1565b60405180910390fd5b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a73ffffffffffffffffffffffffffffffffffffffff166323b872dd3033866040518463ffffffff1660e01b8152600401611c3b93929190612c7a565b600060405180830381600087803b158015611c5557600080fd5b505af1158015611c69573d6000803e3d6000fd5b505050507f647bc97c657db9e784db4a21617f9d0f15328902cad497cc063154dbe153e67183836020015133604051611ca493929190612eb2565b60405180910390a1505050565b6000600160008361ffff1661ffff16815260200190815260200160002090506102588160000160149054906101000a900464ffffffffff16611cf39190612a90565b8160000160146101000a81548164ffffffffff021916908364ffffffffff1602179055507f52b85f4544285c37d20fbcd9462d855f8fe076852943982879b9ca9cb94e56808282600101836002018460000160149054906101000a900464ffffffffff16604051611d679493929190613275565b60405180910390a15050565b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401611dc493929190612c7a565b600060405180830381600087803b158015611dde57600080fd5b505af1158015611df2573d6000803e3d6000fd5b5050505060405180604001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018261ffff16815250600260008461ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548161ffff021916908361ffff1602179055509050507fcaef6292eae079e0cbd29a3daffe72790dd88000fc00e854b2335d4f5f711054828233604051611ee093929190612eb2565b60405180910390a15050565b600033905090565b600061ffff82169050919050565b611f0b81611ef4565b82525050565b6000602082019050611f266000830184611f02565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611f9382611f4a565b810181811067ffffffffffffffff82111715611fb257611fb1611f5b565b5b80604052505050565b6000611fc5611f2c565b9050611fd18282611f8a565b919050565b600067ffffffffffffffff821115611ff157611ff0611f5b565b5b611ffa82611f4a565b9050602081019050919050565b82818337600083830152505050565b600061202961202484611fd6565b611fbb565b90508281526020810184848401111561204557612044611f45565b5b612050848285612007565b509392505050565b600082601f83011261206d5761206c611f40565b5b813561207d848260208601612016565b91505092915050565b600064ffffffffff82169050919050565b6120a081612086565b81146120ab57600080fd5b50565b6000813590506120bd81612097565b92915050565b6000806000606084860312156120dc576120db611f36565b5b600084013567ffffffffffffffff8111156120fa576120f9611f3b565b5b61210686828701612058565b935050602084013567ffffffffffffffff81111561212757612126611f3b565b5b61213386828701612058565b9250506040612144868287016120ae565b9150509250925092565b600080fd5b600080fd5b60008083601f84011261216e5761216d611f40565b5b8235905067ffffffffffffffff81111561218b5761218a61214e565b5b6020830191508360208202830111156121a7576121a6612153565b5b9250929050565b600080602083850312156121c5576121c4611f36565b5b600083013567ffffffffffffffff8111156121e3576121e2611f3b565b5b6121ef85828601612158565b92509250509250929050565b60008115159050919050565b612210816121fb565b811461221b57600080fd5b50565b60008135905061222d81612207565b92915050565b60006020828403121561224957612248611f36565b5b60006122578482850161221e565b91505092915050565b61226981611ef4565b811461227457600080fd5b50565b60008135905061228681612260565b92915050565b6000602082840312156122a2576122a1611f36565b5b60006122b084828501612277565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122e4826122b9565b9050919050565b6122f4816122d9565b82525050565b600060408201905061230f60008301856122eb565b61231c6020830184611f02565b9392505050565b61232c81612086565b82525050565b61233b816121fb565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561237b578082015181840152602081019050612360565b60008484015250505050565b600061239282612341565b61239c818561234c565b93506123ac81856020860161235d565b6123b581611f4a565b840191505092915050565b600060a0820190506123d560008301886122eb565b6123e26020830187612323565b6123ef6040830186612332565b81810360608301526124018185612387565b905081810360808301526124158184612387565b90509695505050505050565b600060208201905061243660008301846122eb565b92915050565b6000806000806080858703121561245657612455611f36565b5b600061246487828801612277565b945050602085013567ffffffffffffffff81111561248557612484611f3b565b5b61249187828801612058565b935050604085013567ffffffffffffffff8111156124b2576124b1611f3b565b5b6124be87828801612058565b92505060606124cf878288016120ae565b91505092959194509250565b6124e4816122d9565b81146124ef57600080fd5b50565b600081359050612501816124db565b92915050565b60006020828403121561251d5761251c611f36565b5b600061252b848285016124f2565b91505092915050565b6000806000806060858703121561254e5761254d611f36565b5b600061255c87828801612277565b945050602085013567ffffffffffffffff81111561257d5761257c611f3b565b5b61258987828801612158565b9350935050604061259c878288016124f2565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006125e282611ef4565b915061ffff82036125f6576125f56125a8565b5b600182019050919050565b7f4c656e677468206d757374206265206d6f7265207468616e2030000000000000600082015250565b6000612637601a8361234c565b915061264282612601565b602082019050919050565b600060208201905081810360008301526126668161262a565b9050919050565b7f43757272656e742061756374696f6e20697320616c72656164792066696e697360008201527f6865640000000000000000000000000000000000000000000000000000000000602082015250565b60006126c960238361234c565b91506126d48261266d565b604082019050919050565b600060208201905081810360008301526126f8816126bc565b9050919050565b7f41756374696f6e20697320616c72656164792073657400000000000000000000600082015250565b600061273560168361234c565b9150612740826126ff565b602082019050919050565b6000602082019050818103600083015261276481612728565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127b257607f821691505b6020821081036127c5576127c461276b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261282d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826127f0565b61283786836127f0565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061287e6128796128748461284f565b612859565b61284f565b9050919050565b6000819050919050565b61289883612863565b6128ac6128a482612885565b8484546127fd565b825550505050565b600090565b6128c16128b4565b6128cc81848461288f565b505050565b5b818110156128f0576128e56000826128b9565b6001810190506128d2565b5050565b601f82111561293557612906816127cb565b61290f846127e0565b8101602085101561291e578190505b61293261292a856127e0565b8301826128d1565b50505b505050565b600082821c905092915050565b60006129586000198460080261293a565b1980831691505092915050565b60006129718383612947565b9150826002028217905092915050565b61298a82612341565b67ffffffffffffffff8111156129a3576129a2611f5b565b5b6129ad825461279a565b6129b88282856128f4565b600060209050601f8311600181146129eb57600084156129d9578287015190505b6129e38582612965565b865550612a4b565b601f1984166129f9866127cb565b60005b82811015612a21578489015182556001820191506020850194506020810190506129fc565b86831015612a3e5784890151612a3a601f891682612947565b8355505b6001600288020188555050505b505050505050565b6000612a5e82612086565b9150612a6983612086565b9250828202612a7781612086565b9150808214612a8957612a886125a8565b5b5092915050565b6000612a9b82612086565b9150612aa683612086565b9250828201905064ffffffffff811115612ac357612ac26125a8565b5b92915050565b6000608082019050612ade6000830187611f02565b8181036020830152612af08186612387565b90508181036040830152612b048185612387565b9050612b136060830184612323565b95945050505050565b7f456d657267656e6379207769746864726177206973206e6f7420616374697665600082015250565b6000612b5260208361234c565b9150612b5d82612b1c565b602082019050919050565b60006020820190508181036000830152612b8181612b45565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f596f7520617265206e6f7420746865206f776e6572206f66207468697320776160008201527f6764696500000000000000000000000000000000000000000000000000000000602082015250565b6000612c1360248361234c565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b9050919050565b6000612c64612c5f612c5a84611ef4565b612859565b61284f565b9050919050565b612c7481612c49565b82525050565b6000606082019050612c8f60008301866122eb565b612c9c60208301856122eb565b612ca96040830184612c6b565b949350505050565b6000612cbc8261284f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cee57612ced6125a8565b5b600182019050919050565b7f536574207468652061756374696f6e206265666f72652073657474696e67206960008201527f742061732063757272656e740000000000000000000000000000000000000000602082015250565b6000612d55602c8361234c565b9150612d6082612cf9565b604082019050919050565b60006020820190508181036000830152612d8481612d48565b9050919050565b7f41756374696f6e206973206e6f742066696e6973686564000000000000000000600082015250565b6000612dc160178361234c565b9150612dcc82612d8b565b602082019050919050565b60006020820190508181036000830152612df081612db4565b9050919050565b6000604082019050612e0c6000830185611f02565b612e1960208301846122eb565b9392505050565b7f57414744494520646f6573206e6f742062656c6f6e6720746f2074686520776960008201527f6e6e657200000000000000000000000000000000000000000000000000000000602082015250565b6000612e7c60248361234c565b9150612e8782612e20565b604082019050919050565b60006020820190508181036000830152612eab81612e6f565b9050919050565b6000606082019050612ec76000830186612c6b565b612ed46020830185611f02565b612ee160408301846122eb565b949350505050565b7f41756374696f6e206973206e6f74207365740000000000000000000000000000600082015250565b6000612f1f60128361234c565b9150612f2a82612ee9565b602082019050919050565b60006020820190508181036000830152612f4e81612f12565b9050919050565b7f41756374696f6e2069732066696e697368656400000000000000000000000000600082015250565b6000612f8b60138361234c565b9150612f9682612f55565b602082019050919050565b60006020820190508181036000830152612fba81612f7e565b9050919050565b7f596f75206d75737420626964206174206c656173742031207761676469650000600082015250565b6000612ff7601e8361234c565b915061300282612fc1565b602082019050919050565b6000602082019050818103600083015261302681612fea565b9050919050565b60006130388261284f565b91506130438361284f565b925082820390508181111561305b5761305a6125a8565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130bd60268361234c565b91506130c882613061565b604082019050919050565b600060208201905081810360008301526130ec816130b0565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061312960208361234c565b9150613134826130f3565b602082019050919050565b600060208201905081810360008301526131588161311c565b9050919050565b7f596f7520617265207468652077696e6e6572206f66207468697320617563746960008201527f6f6e000000000000000000000000000000000000000000000000000000000000602082015250565b60006131bb60228361234c565b91506131c68261315f565b604082019050919050565b600060208201905081810360008301526131ea816131ae565b9050919050565b600081546131fe8161279a565b613208818661234c565b9450600182166000811461322357600181146132395761326c565b60ff19831686528115156020028601935061326c565b613242856127cb565b60005b8381101561326457815481890152600182019150602081019050613245565b808801955050505b50505092915050565b600060808201905061328a6000830187611f02565b818103602083015261329c81866131f1565b905081810360408301526132b081856131f1565b90506132bf6060830184612323565b9594505050505056fea2646970667358221220220243f22e9f2da701f29bb7f9924b723712288f50f4a7e4751b9d9932cd527364736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c80636aa178dd116100a25780639c18782b116100715780639c18782b146102ac578063a2edca7c146102c8578063cb40e189146102e4578063d8c3bd9814610300578063f2fde38b1461031c57610116565b80636aa178dd1461024c578063715018a61461026857806386b239bc146102725780638da5cb5b1461028e57610116565b80631f4ddcfd116100e95780631f4ddcfd1461018f57806333c726f3146101ab578063425a15f7146101dc578063496a698d1461021057806367aa38171461022e57610116565b80630ce7f2a71461011b5780631568654c146101395780631db2b99d146101555780631e98fe2714610171575b600080fd5b610123610338565b6040516101309190611f11565b60405180910390f35b610153600480360381019061014e91906120c3565b61034c565b005b61016f600480360381019061016a91906121ae565b610580565b005b610179610772565b6040516101869190611f11565b60405180910390f35b6101a960048036038101906101a49190612233565b610789565b005b6101c560048036038101906101c0919061228c565b6107ae565b6040516101d39291906122fa565b60405180910390f35b6101f660048036038101906101f1919061228c565b610800565b6040516102079594939291906123c0565b60405180910390f35b610218610984565b6040516102259190611f11565b60405180910390f35b610236610998565b6040516102439190612421565b60405180910390f35b6102666004803603810190610261919061243c565b6109b0565b005b610270610ae6565b005b61028c6004803603810190610287919061228c565b610afa565b005b610296610bd2565b6040516102a39190612421565b60405180910390f35b6102c660048036038101906102c19190612507565b610bfb565b005b6102e260048036038101906102dd91906121ae565b610d8f565b005b6102fe60048036038101906102f99190612534565b610de5565b005b61031a600480360381019061031591906121ae565b6112b3565b005b61033660048036038101906103319190612507565b611671565b005b600060169054906101000a900461ffff1681565b6103546116f4565b600080601681819054906101000a900461ffff16610371906125d7565b91906101000a81548161ffff021916908361ffff1602179055905080600060186101000a81548161ffff021916908361ffff1602179055506000600160008361ffff1661ffff168152602001908152602001600020905060008364ffffffffff1611610412576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104099061264d565b60405180910390fd5b8060000160199054906101000a900460ff1615610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b906126df565b60405180910390fd5b60008160000160149054906101000a900464ffffffffff1664ffffffffff16146104c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ba9061274b565b60405180910390fd5b848160010190816104d49190612981565b50838160020190816104e69190612981565b50610e10836104f59190612a53565b925082426105039190612a90565b8160000160146101000a81548164ffffffffff021916908364ffffffffff1602179055507f52b85f4544285c37d20fbcd9462d855f8fe076852943982879b9ca9cb94e56808286868460000160149054906101000a900464ffffffffff166040516105719493929190612ac9565b60405180910390a15050505050565b6000601a9054906101000a900460ff166105cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c690612b68565b60405180910390fd5b60005b8282905081101561076d573373ffffffffffffffffffffffffffffffffffffffff166002600085858581811061060b5761060a612b88565b5b9050602002016020810190610620919061228c565b61ffff1661ffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a790612c29565b60405180910390fd5b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a73ffffffffffffffffffffffffffffffffffffffff166323b872dd30338686868181106106f5576106f4612b88565b5b905060200201602081019061070a919061228c565b6040518463ffffffff1660e01b815260040161072893929190612c7a565b600060405180830381600087803b15801561074257600080fd5b505af1158015610756573d6000803e3d6000fd5b50505050808061076590612cb1565b9150506105d2565b505050565b60008060189054906101000a900461ffff16905090565b6107916116f4565b806000601a6101000a81548160ff02191690831515021790555050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900461ffff16905082565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900464ffffffffff16908060000160199054906101000a900460ff16908060010180546108739061279a565b80601f016020809104026020016040519081016040528092919081815260200182805461089f9061279a565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b5050505050908060020180546109019061279a565b80601f016020809104026020016040519081016040528092919081815260200182805461092d9061279a565b801561097a5780601f1061094f5761010080835404028352916020019161097a565b820191906000526020600020905b81548152906001019060200180831161095d57829003601f168201915b5050505050905085565b600060149054906101000a900461ffff1681565b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a81565b6109b86116f4565b6000600160008661ffff1661ffff16815260200190815260200160002090508060000160199054906101000a900460ff1615610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a20906126df565b60405180910390fd5b83816001019081610a3a9190612981565b5082816002019081610a4c9190612981565b50610e1082610a5b9190612a53565b91508142610a699190612a90565b8160000160146101000a81548164ffffffffff021916908364ffffffffff1602179055507f52b85f4544285c37d20fbcd9462d855f8fe076852943982879b9ca9cb94e56808585858460000160149054906101000a900464ffffffffff16604051610ad79493929190612ac9565b60405180910390a15050505050565b610aee6116f4565b610af86000611772565b565b610b026116f4565b6000600160008361ffff1661ffff16815260200190815260200160002060000160149054906101000a900464ffffffffff1664ffffffffff1603610b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290612d6b565b60405180910390fd5b80600060146101000a81548161ffff021916908361ffff1602179055507f2427146d10c1e1b317589dd5403ddaf1e24cdb1ed688277a7a846445cba43d5d81604051610bc79190611f11565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c036116f4565b6000600160008060149054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002090508060000160199054906101000a900460ff1615610c83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7a906126df565b60405180910390fd5b8060000160149054906101000a900464ffffffffff1664ffffffffff16421015610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd990612dd7565b60405180910390fd5b60018160000160196101000a81548160ff021916908315150217905550818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0dd70be158737fe5cd2f6f6bdc0afdd22f6b24714c24c6b4f761f328ee4b4be5600060149054906101000a900461ffff1683604051610d83929190612df7565b60405180910390a15050565b60005b82829050811015610de057610dcd838383818110610db357610db2612b88565b5b9050602002016020810190610dc8919061228c565b611836565b8080610dd890612cb1565b915050610d92565b505050565b610ded6116f4565b6000600160008661ffff1661ffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020016000820160199054906101000a900460ff16151515158152602001600182018054610ebf9061279a565b80601f0160208091040260200160405190810160405280929190818152602001828054610eeb9061279a565b8015610f385780601f10610f0d57610100808354040283529160200191610f38565b820191906000526020600020905b815481529060010190602001808311610f1b57829003601f168201915b50505050508152602001600282018054610f519061279a565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7d9061279a565b8015610fca5780601f10610f9f57610100808354040283529160200191610fca565b820191906000526020600020905b815481529060010190602001808311610fad57829003601f168201915b50505050508152505090508060400151611019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101090612dd7565b60405180910390fd5b60005b848490508110156112ab576000600260008787858181106110405761103f612b88565b5b9050602002016020810190611055919061228c565b61ffff1661ffff1681526020019081526020016000209050826000015173ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa90612e92565b60405180910390fd5b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a73ffffffffffffffffffffffffffffffffffffffff166323b872dd308689898781811061114857611147612b88565b5b905060200201602081019061115d919061228c565b6040518463ffffffff1660e01b815260040161117b93929190612c7a565b600060405180830381600087803b15801561119557600080fd5b505af11580156111a9573d6000803e3d6000fd5b505050507f647bc97c657db9e784db4a21617f9d0f15328902cad497cc063154dbe153e6718686848181106111e1576111e0612b88565b5b90506020020160208101906111f6919061228c565b888360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161122b93929190612eb2565b60405180910390a160008160000160146101000a81548161ffff021916908361ffff16021790555060008160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080806112a390612cb1565b91505061101c565b505050505050565b6000600160008060149054906101000a900461ffff1661ffff1661ffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020016000820160199054906101000a900460ff161515151581526020016001820180546113949061279a565b80601f01602080910402602001604051908101604052809291908181526020018280546113c09061279a565b801561140d5780601f106113e25761010080835404028352916020019161140d565b820191906000526020600020905b8154815290600101906020018083116113f057829003601f168201915b505050505081526020016002820180546114269061279a565b80601f01602080910402602001604051908101604052809291908181526020018280546114529061279a565b801561149f5780601f106114745761010080835404028352916020019161149f565b820191906000526020600020905b81548152906001019060200180831161148257829003601f168201915b50505050508152505090506000816020015164ffffffffff16036114f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ef90612f35565b60405180910390fd5b80604001511561153d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153490612fa1565b60405180910390fd5b806020015164ffffffffff16421061158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158190612fa1565b60405180910390fd5b600083839050116115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c79061300d565b60405180910390fd5b61025842826020015164ffffffffff166115ea919061302d565b1161160957611608600060149054906101000a900461ffff16611cb1565b5b60005b8383905081101561166b5761165884848381811061162d5761162c612b88565b5b9050602002016020810190611642919061228c565b600060149054906101000a900461ffff16611d73565b808061166390612cb1565b91505061160c565b50505050565b6116796116f4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df906130d3565b60405180910390fd5b6116f181611772565b50565b6116fc611eec565b73ffffffffffffffffffffffffffffffffffffffff1661171a610bd2565b73ffffffffffffffffffffffffffffffffffffffff1614611770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117679061313f565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600260008361ffff1661ffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900461ffff1661ffff1661ffff168152505090503373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193f90612c29565b60405180910390fd5b600060016000836020015161ffff1661ffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020016000820160199054906101000a900460ff16151515158152602001600182018054611a1e9061279a565b80601f0160208091040260200160405190810160405280929190818152602001828054611a4a9061279a565b8015611a975780601f10611a6c57610100808354040283529160200191611a97565b820191906000526020600020905b815481529060010190602001808311611a7a57829003601f168201915b50505050508152602001600282018054611ab09061279a565b80601f0160208091040260200160405190810160405280929190818152602001828054611adc9061279a565b8015611b295780601f10611afe57610100808354040283529160200191611b29565b820191906000526020600020905b815481529060010190602001808311611b0c57829003601f168201915b50505050508152505090508060400151611b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6f90612dd7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603611bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be1906131d1565b60405180910390fd5b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a73ffffffffffffffffffffffffffffffffffffffff166323b872dd3033866040518463ffffffff1660e01b8152600401611c3b93929190612c7a565b600060405180830381600087803b158015611c5557600080fd5b505af1158015611c69573d6000803e3d6000fd5b505050507f647bc97c657db9e784db4a21617f9d0f15328902cad497cc063154dbe153e67183836020015133604051611ca493929190612eb2565b60405180910390a1505050565b6000600160008361ffff1661ffff16815260200190815260200160002090506102588160000160149054906101000a900464ffffffffff16611cf39190612a90565b8160000160146101000a81548164ffffffffff021916908364ffffffffff1602179055507f52b85f4544285c37d20fbcd9462d855f8fe076852943982879b9ca9cb94e56808282600101836002018460000160149054906101000a900464ffffffffff16604051611d679493929190613275565b60405180910390a15050565b73659a4bdaaacc62d2bd9cb18225d9c89b5b697a5a73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401611dc493929190612c7a565b600060405180830381600087803b158015611dde57600080fd5b505af1158015611df2573d6000803e3d6000fd5b5050505060405180604001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018261ffff16815250600260008461ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548161ffff021916908361ffff1602179055509050507fcaef6292eae079e0cbd29a3daffe72790dd88000fc00e854b2335d4f5f711054828233604051611ee093929190612eb2565b60405180910390a15050565b600033905090565b600061ffff82169050919050565b611f0b81611ef4565b82525050565b6000602082019050611f266000830184611f02565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611f9382611f4a565b810181811067ffffffffffffffff82111715611fb257611fb1611f5b565b5b80604052505050565b6000611fc5611f2c565b9050611fd18282611f8a565b919050565b600067ffffffffffffffff821115611ff157611ff0611f5b565b5b611ffa82611f4a565b9050602081019050919050565b82818337600083830152505050565b600061202961202484611fd6565b611fbb565b90508281526020810184848401111561204557612044611f45565b5b612050848285612007565b509392505050565b600082601f83011261206d5761206c611f40565b5b813561207d848260208601612016565b91505092915050565b600064ffffffffff82169050919050565b6120a081612086565b81146120ab57600080fd5b50565b6000813590506120bd81612097565b92915050565b6000806000606084860312156120dc576120db611f36565b5b600084013567ffffffffffffffff8111156120fa576120f9611f3b565b5b61210686828701612058565b935050602084013567ffffffffffffffff81111561212757612126611f3b565b5b61213386828701612058565b9250506040612144868287016120ae565b9150509250925092565b600080fd5b600080fd5b60008083601f84011261216e5761216d611f40565b5b8235905067ffffffffffffffff81111561218b5761218a61214e565b5b6020830191508360208202830111156121a7576121a6612153565b5b9250929050565b600080602083850312156121c5576121c4611f36565b5b600083013567ffffffffffffffff8111156121e3576121e2611f3b565b5b6121ef85828601612158565b92509250509250929050565b60008115159050919050565b612210816121fb565b811461221b57600080fd5b50565b60008135905061222d81612207565b92915050565b60006020828403121561224957612248611f36565b5b60006122578482850161221e565b91505092915050565b61226981611ef4565b811461227457600080fd5b50565b60008135905061228681612260565b92915050565b6000602082840312156122a2576122a1611f36565b5b60006122b084828501612277565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122e4826122b9565b9050919050565b6122f4816122d9565b82525050565b600060408201905061230f60008301856122eb565b61231c6020830184611f02565b9392505050565b61232c81612086565b82525050565b61233b816121fb565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561237b578082015181840152602081019050612360565b60008484015250505050565b600061239282612341565b61239c818561234c565b93506123ac81856020860161235d565b6123b581611f4a565b840191505092915050565b600060a0820190506123d560008301886122eb565b6123e26020830187612323565b6123ef6040830186612332565b81810360608301526124018185612387565b905081810360808301526124158184612387565b90509695505050505050565b600060208201905061243660008301846122eb565b92915050565b6000806000806080858703121561245657612455611f36565b5b600061246487828801612277565b945050602085013567ffffffffffffffff81111561248557612484611f3b565b5b61249187828801612058565b935050604085013567ffffffffffffffff8111156124b2576124b1611f3b565b5b6124be87828801612058565b92505060606124cf878288016120ae565b91505092959194509250565b6124e4816122d9565b81146124ef57600080fd5b50565b600081359050612501816124db565b92915050565b60006020828403121561251d5761251c611f36565b5b600061252b848285016124f2565b91505092915050565b6000806000806060858703121561254e5761254d611f36565b5b600061255c87828801612277565b945050602085013567ffffffffffffffff81111561257d5761257c611f3b565b5b61258987828801612158565b9350935050604061259c878288016124f2565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006125e282611ef4565b915061ffff82036125f6576125f56125a8565b5b600182019050919050565b7f4c656e677468206d757374206265206d6f7265207468616e2030000000000000600082015250565b6000612637601a8361234c565b915061264282612601565b602082019050919050565b600060208201905081810360008301526126668161262a565b9050919050565b7f43757272656e742061756374696f6e20697320616c72656164792066696e697360008201527f6865640000000000000000000000000000000000000000000000000000000000602082015250565b60006126c960238361234c565b91506126d48261266d565b604082019050919050565b600060208201905081810360008301526126f8816126bc565b9050919050565b7f41756374696f6e20697320616c72656164792073657400000000000000000000600082015250565b600061273560168361234c565b9150612740826126ff565b602082019050919050565b6000602082019050818103600083015261276481612728565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127b257607f821691505b6020821081036127c5576127c461276b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261282d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826127f0565b61283786836127f0565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061287e6128796128748461284f565b612859565b61284f565b9050919050565b6000819050919050565b61289883612863565b6128ac6128a482612885565b8484546127fd565b825550505050565b600090565b6128c16128b4565b6128cc81848461288f565b505050565b5b818110156128f0576128e56000826128b9565b6001810190506128d2565b5050565b601f82111561293557612906816127cb565b61290f846127e0565b8101602085101561291e578190505b61293261292a856127e0565b8301826128d1565b50505b505050565b600082821c905092915050565b60006129586000198460080261293a565b1980831691505092915050565b60006129718383612947565b9150826002028217905092915050565b61298a82612341565b67ffffffffffffffff8111156129a3576129a2611f5b565b5b6129ad825461279a565b6129b88282856128f4565b600060209050601f8311600181146129eb57600084156129d9578287015190505b6129e38582612965565b865550612a4b565b601f1984166129f9866127cb565b60005b82811015612a21578489015182556001820191506020850194506020810190506129fc565b86831015612a3e5784890151612a3a601f891682612947565b8355505b6001600288020188555050505b505050505050565b6000612a5e82612086565b9150612a6983612086565b9250828202612a7781612086565b9150808214612a8957612a886125a8565b5b5092915050565b6000612a9b82612086565b9150612aa683612086565b9250828201905064ffffffffff811115612ac357612ac26125a8565b5b92915050565b6000608082019050612ade6000830187611f02565b8181036020830152612af08186612387565b90508181036040830152612b048185612387565b9050612b136060830184612323565b95945050505050565b7f456d657267656e6379207769746864726177206973206e6f7420616374697665600082015250565b6000612b5260208361234c565b9150612b5d82612b1c565b602082019050919050565b60006020820190508181036000830152612b8181612b45565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f596f7520617265206e6f7420746865206f776e6572206f66207468697320776160008201527f6764696500000000000000000000000000000000000000000000000000000000602082015250565b6000612c1360248361234c565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b9050919050565b6000612c64612c5f612c5a84611ef4565b612859565b61284f565b9050919050565b612c7481612c49565b82525050565b6000606082019050612c8f60008301866122eb565b612c9c60208301856122eb565b612ca96040830184612c6b565b949350505050565b6000612cbc8261284f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cee57612ced6125a8565b5b600182019050919050565b7f536574207468652061756374696f6e206265666f72652073657474696e67206960008201527f742061732063757272656e740000000000000000000000000000000000000000602082015250565b6000612d55602c8361234c565b9150612d6082612cf9565b604082019050919050565b60006020820190508181036000830152612d8481612d48565b9050919050565b7f41756374696f6e206973206e6f742066696e6973686564000000000000000000600082015250565b6000612dc160178361234c565b9150612dcc82612d8b565b602082019050919050565b60006020820190508181036000830152612df081612db4565b9050919050565b6000604082019050612e0c6000830185611f02565b612e1960208301846122eb565b9392505050565b7f57414744494520646f6573206e6f742062656c6f6e6720746f2074686520776960008201527f6e6e657200000000000000000000000000000000000000000000000000000000602082015250565b6000612e7c60248361234c565b9150612e8782612e20565b604082019050919050565b60006020820190508181036000830152612eab81612e6f565b9050919050565b6000606082019050612ec76000830186612c6b565b612ed46020830185611f02565b612ee160408301846122eb565b949350505050565b7f41756374696f6e206973206e6f74207365740000000000000000000000000000600082015250565b6000612f1f60128361234c565b9150612f2a82612ee9565b602082019050919050565b60006020820190508181036000830152612f4e81612f12565b9050919050565b7f41756374696f6e2069732066696e697368656400000000000000000000000000600082015250565b6000612f8b60138361234c565b9150612f9682612f55565b602082019050919050565b60006020820190508181036000830152612fba81612f7e565b9050919050565b7f596f75206d75737420626964206174206c656173742031207761676469650000600082015250565b6000612ff7601e8361234c565b915061300282612fc1565b602082019050919050565b6000602082019050818103600083015261302681612fea565b9050919050565b60006130388261284f565b91506130438361284f565b925082820390508181111561305b5761305a6125a8565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130bd60268361234c565b91506130c882613061565b604082019050919050565b600060208201905081810360008301526130ec816130b0565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061312960208361234c565b9150613134826130f3565b602082019050919050565b600060208201905081810360008301526131588161311c565b9050919050565b7f596f7520617265207468652077696e6e6572206f66207468697320617563746960008201527f6f6e000000000000000000000000000000000000000000000000000000000000602082015250565b60006131bb60228361234c565b91506131c68261315f565b604082019050919050565b600060208201905081810360008301526131ea816131ae565b9050919050565b600081546131fe8161279a565b613208818661234c565b9450600182166000811461322357600181146132395761326c565b60ff19831686528115156020028601935061326c565b613242856127cb565b60005b8381101561326457815481890152600182019150602081019050613245565b808801955050505b50505092915050565b600060808201905061328a6000830187611f02565b818103602083015261329c81866131f1565b905081810360408301526132b081856131f1565b90506132bf6060830184612323565b9594505050505056fea2646970667358221220220243f22e9f2da701f29bb7f9924b723712288f50f4a7e4751b9d9932cd527364736f6c63430008120033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.