ETH Price: $3,111.88 (+0.80%)

Contract

0x16F5A35647D6F03D5D3da7b35409D65ba03aF3B2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Seal Contract130470902021-08-18 4:27:451189 days ago1629260865IN
CryptoPunks: Data
0 ETH0.0011768243.99999948
Add Punks130470852021-08-18 4:26:471189 days ago1629260807IN
CryptoPunks: Data
0 ETH0.0268132443.99999948
Add Punks130470832021-08-18 4:26:221189 days ago1629260782IN
CryptoPunks: Data
0 ETH0.0268121943.99999948
Add Punks130470822021-08-18 4:26:171189 days ago1629260777IN
CryptoPunks: Data
0 ETH0.0268132443.99999948
Add Punks130470712021-08-18 4:23:561189 days ago1629260636IN
CryptoPunks: Data
0 ETH0.0268111343.99999948
Add Punks130470702021-08-18 4:23:481189 days ago1629260628IN
CryptoPunks: Data
0 ETH0.0268179943.99999948
Add Punks130470682021-08-18 4:22:571189 days ago1629260577IN
CryptoPunks: Data
0 ETH0.026814343.99999948
Add Punks130470612021-08-18 4:20:451189 days ago1629260445IN
CryptoPunks: Data
0 ETH0.0268153543.99999948
Add Punks130470602021-08-18 4:19:591189 days ago1629260399IN
CryptoPunks: Data
0 ETH0.0268132443.99999948
Add Punks130470562021-08-18 4:18:411189 days ago1629260321IN
CryptoPunks: Data
0 ETH0.0268121943.99999948
Add Punks130470552021-08-18 4:17:281189 days ago1629260248IN
CryptoPunks: Data
0 ETH0.0268206343.99999948
Add Punks130470542021-08-18 4:16:501189 days ago1629260210IN
CryptoPunks: Data
0 ETH0.026810643.99999948
Add Punks130470512021-08-18 4:16:421189 days ago1629260202IN
CryptoPunks: Data
0 ETH0.0268158843.99999948
Add Punks130470472021-08-18 4:16:181189 days ago1629260178IN
CryptoPunks: Data
0 ETH0.026814343.99999948
Add Punks130470242021-08-18 4:13:421189 days ago1629260022IN
CryptoPunks: Data
0 ETH0.0268084943.99999948
Add Punks130470222021-08-18 4:13:141189 days ago1629259994IN
CryptoPunks: Data
0 ETH0.0268016343.99999948
Add Punks130470182021-08-18 4:12:561189 days ago1629259976IN
CryptoPunks: Data
0 ETH0.026810643.99999948
Add Punks130470172021-08-18 4:12:281189 days ago1629259948IN
CryptoPunks: Data
0 ETH0.0268100743.99999948
Add Punks130470112021-08-18 4:10:301189 days ago1629259830IN
CryptoPunks: Data
0 ETH0.026810643.99999948
Add Punks130470082021-08-18 4:09:481189 days ago1629259788IN
CryptoPunks: Data
0 ETH0.0268111343.99999948
Add Punks130470042021-08-18 4:08:251189 days ago1629259705IN
CryptoPunks: Data
0 ETH0.0268169443.99999948
Add Punks130470032021-08-18 4:08:081189 days ago1629259688IN
CryptoPunks: Data
0 ETH0.0268158843.99999948
Add Punks130470022021-08-18 4:07:531189 days ago1629259673IN
CryptoPunks: Data
0 ETH0.0268079643.99999948
Add Punks130470002021-08-18 4:07:281189 days ago1629259648IN
CryptoPunks: Data
0 ETH0.0268111343.99999948
Add Punks130469992021-08-18 4:07:091189 days ago1629259629IN
CryptoPunks: Data
0 ETH0.0268132443.99999948
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:
CryptopunksData

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-08-18
*/

pragma solidity 0.7.6;

/**
 *   ____                  _                          _          ____        _
 *  / ___|_ __ _   _ _ __ | |_ ___  _ __  _   _ _ __ | | _____  |  _ \  __ _| |_ __ _
 * | |   | '__| | | | '_ \| __/ _ \| '_ \| | | | '_ \| |/ / __| | | | |/ _` | __/ _` |
 * | |___| |  | |_| | |_) | || (_) | |_) | |_| | | | |   <\__ \ | |_| | (_| | || (_| |
 *  \____|_|   \__, | .__/ \__\___/| .__/ \__,_|_| |_|_|\_\___/ |____/ \__,_|\__\__,_|
 *             |___/|_|            |_|
 *
 * On-chain Cryptopunk images and attributes, by Larva Labs.
 *
 * This contract holds the image and attribute data for the Cryptopunks on-chain.
 * The Cryptopunk images are available as raw RGBA pixels, or in SVG format.
 * The punk attributes are available as a comma-separated list.
 * Included in the attribute list is the head type (various color male and female heads,
 * plus the rare zombie, ape, and alien types).
 *
 * This contract was motivated by community members snowfro and 0xdeafbeef, including a proof-of-concept contract created by 0xdeafbeef.
 * Without their involvement, the project would not have come to fruition.
 */
contract CryptopunksData {

    string internal constant SVG_HEADER = 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.2" viewBox="0 0 24 24">';
    string internal constant SVG_FOOTER = '</svg>';

    bytes private palette;
    mapping(uint8 => bytes) private assets;
    mapping(uint8 => string) private assetNames;
    mapping(uint64 => uint32) private composites;
    mapping(uint8 => bytes) private punks;

    address payable internal deployer;
    bool private contractSealed = false;

    modifier onlyDeployer() {
        require(msg.sender == deployer, "Only deployer.");
        _;
    }

    modifier unsealed() {
        require(!contractSealed, "Contract sealed.");
        _;
    }

    constructor() {
        deployer = msg.sender;
    }

    function setPalette(bytes memory _palette) external onlyDeployer unsealed {
        palette = _palette;
    }

    function addAsset(uint8 index, bytes memory encoding, string memory name) external onlyDeployer unsealed {
        assets[index] = encoding;
        assetNames[index] = name;
    }

    function addComposites(uint64 key1, uint32 value1, uint64 key2, uint32 value2, uint64 key3, uint32 value3, uint64 key4, uint32 value4) external onlyDeployer unsealed {
        composites[key1] = value1;
        composites[key2] = value2;
        composites[key3] = value3;
        composites[key4] = value4;
    }

    function addPunks(uint8 index, bytes memory _punks) external onlyDeployer unsealed {
        punks[index] = _punks;
    }

    function sealContract() external onlyDeployer unsealed {
        contractSealed = true;
    }

    /**
     * The Cryptopunk image for the given index.
     * The image is represented in a row-major byte array where each set of 4 bytes is a pixel in RGBA format.
     * @param index the punk index, 0 <= index < 10000
     */
    function punkImage(uint16 index) public view returns (bytes memory) {
        require(index >= 0 && index < 10000);
        bytes memory pixels = new bytes(2304);
        for (uint j = 0; j < 8; j++) {
            uint8 asset = uint8(punks[uint8(index / 100)][(index % 100) * 8 + j]);
            if (asset > 0) {
                bytes storage a = assets[asset];
                uint n = a.length / 3;
                for (uint i = 0; i < n; i++) {
                    uint[4] memory v = [
                        uint(uint8(a[i * 3]) & 0xF0) >> 4,
                        uint(uint8(a[i * 3]) & 0xF),
                        uint(uint8(a[i * 3 + 2]) & 0xF0) >> 4,
                        uint(uint8(a[i * 3 + 2]) & 0xF)
                    ];
                    for (uint dx = 0; dx < 2; dx++) {
                        for (uint dy = 0; dy < 2; dy++) {
                            uint p = ((2 * v[1] + dy) * 24 + (2 * v[0] + dx)) * 4;
                            if (v[2] & (1 << (dx * 2 + dy)) != 0) {
                                bytes4 c = composite(a[i * 3 + 1],
                                        pixels[p],
                                        pixels[p + 1],
                                        pixels[p + 2],
                                        pixels[p + 3]
                                    );
                                pixels[p] = c[0];
                                pixels[p+1] = c[1];
                                pixels[p+2] = c[2];
                                pixels[p+3] = c[3];
                            } else if (v[3] & (1 << (dx * 2 + dy)) != 0) {
                                pixels[p] = 0;
                                pixels[p+1] = 0;
                                pixels[p+2] = 0;
                                pixels[p+3] = 0xFF;
                            }
                        }
                    }
                }
            }
        }
        return pixels;
    }

    /**
     * The Cryptopunk image for the given index, in SVG format.
     * In the SVG, each "pixel" is represented as a 1x1 rectangle.
     * @param index the punk index, 0 <= index < 10000
     */
    function punkImageSvg(uint16 index) external view returns (string memory svg) {
        bytes memory pixels = punkImage(index);
        svg = string(abi.encodePacked(SVG_HEADER));
        bytes memory buffer = new bytes(8);
        for (uint y = 0; y < 24; y++) {
            for (uint x = 0; x < 24; x++) {
                uint p = (y * 24 + x) * 4;
                if (uint8(pixels[p + 3]) > 0) {
                    for (uint i = 0; i < 4; i++) {
                        uint8 value = uint8(pixels[p + i]);
                        buffer[i * 2 + 1] = _HEX_SYMBOLS[value & 0xf];
                        value >>= 4;
                        buffer[i * 2] = _HEX_SYMBOLS[value & 0xf];
                    }
                    svg = string(abi.encodePacked(svg,
                        '<rect x="', toString(x), '" y="', toString(y),'" width="1" height="1" shape-rendering="crispEdges" fill="#', string(buffer),'"/>'));
                }
            }
        }
        svg = string(abi.encodePacked(svg, SVG_FOOTER));
    }

    /**
     * The Cryptopunk attributes for the given index.
     * The attributes are a comma-separated list in UTF-8 string format.
     * The first entry listed is not technically an attribute, but the "head type" of the Cryptopunk.
     * @param index the punk index, 0 <= index < 10000
     */
    function punkAttributes(uint16 index) external view returns (string memory text) {
        require(index >= 0 && index < 10000);
        uint8 cell = uint8(index / 100);
        uint offset = (index % 100) * 8;
        for (uint j = 0; j < 8; j++) {
            uint8 asset = uint8(punks[cell][offset + j]);
            if (asset > 0) {
                if (j > 0) {
                    text = string(abi.encodePacked(text, ", ", assetNames[asset]));
                } else {
                    text = assetNames[asset];
                }
            } else {
                break;
            }
        }
    }

    function composite(byte index, byte yr, byte yg, byte yb, byte ya) internal view returns (bytes4 rgba) {
        uint x = uint(uint8(index)) * 4;
        uint8 xAlpha = uint8(palette[x + 3]);
        if (xAlpha == 0xFF) {
            rgba = bytes4(uint32(
                    (uint(uint8(palette[x])) << 24) |
                    (uint(uint8(palette[x+1])) << 16) |
                    (uint(uint8(palette[x+2])) << 8) |
                    xAlpha
                ));
        } else {
            uint64 key =
                (uint64(uint8(palette[x])) << 56) |
                (uint64(uint8(palette[x + 1])) << 48) |
                (uint64(uint8(palette[x + 2])) << 40) |
                (uint64(xAlpha) << 32) |
                (uint64(uint8(yr)) << 24) |
                (uint64(uint8(yg)) << 16) |
                (uint64(uint8(yb)) << 8) |
                (uint64(uint8(ya)));
            rgba = bytes4(composites[key]);
        }
    }

    //// String stuff from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Strings.sol

    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

    function toString(uint256 value) internal pure returns (string memory) {
        // Inspired by OraclizeAPI's implementation - MIT licence
        // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol

        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint8","name":"index","type":"uint8"},{"internalType":"bytes","name":"encoding","type":"bytes"},{"internalType":"string","name":"name","type":"string"}],"name":"addAsset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"key1","type":"uint64"},{"internalType":"uint32","name":"value1","type":"uint32"},{"internalType":"uint64","name":"key2","type":"uint64"},{"internalType":"uint32","name":"value2","type":"uint32"},{"internalType":"uint64","name":"key3","type":"uint64"},{"internalType":"uint32","name":"value3","type":"uint32"},{"internalType":"uint64","name":"key4","type":"uint64"},{"internalType":"uint32","name":"value4","type":"uint32"}],"name":"addComposites","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"index","type":"uint8"},{"internalType":"bytes","name":"_punks","type":"bytes"}],"name":"addPunks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"index","type":"uint16"}],"name":"punkAttributes","outputs":[{"internalType":"string","name":"text","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"index","type":"uint16"}],"name":"punkImage","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"index","type":"uint16"}],"name":"punkImageSvg","outputs":[{"internalType":"string","name":"svg","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sealContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_palette","type":"bytes"}],"name":"setPalette","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600560146101000a81548160ff02191690831515021790555034801561002b57600080fd5b5033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506125738061007c6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806374beb0471161005b57806374beb047146102bf57806376dfe2971461036a578063844e2cd514610415578063dae2ae20146104d057610088565b806326b973641461008d5780633e5e0a961461015557806368bd580e146102005780636f2a65681461020a575b600080fd5b610153600480360360408110156100a357600080fd5b81019080803560ff169060200190929190803590602001906401000000008111156100cd57600080fd5b8201836020820111156100df57600080fd5b8035906020019184600183028401116401000000008311171561010157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061062f565b005b6101856004803603602081101561016b57600080fd5b81019080803561ffff1690602001909291905050506107a7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c55780820151818401526020810190506101aa565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610208610f11565b005b6102bd600480360361010081101561022157600080fd5b81019080803567ffffffffffffffff169060200190929190803563ffffffff169060200190929190803567ffffffffffffffff169060200190929190803563ffffffff169060200190929190803567ffffffffffffffff169060200190929190803563ffffffff169060200190929190803567ffffffffffffffff169060200190929190803563ffffffff169060200190929190505050611074565b005b6102ef600480360360208110156102d557600080fd5b81019080803561ffff1690602001909291905050506112dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561032f578082015181840152602081019050610314565b50505050905090810190601f16801561035c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039a6004803603602081101561038057600080fd5b81019080803561ffff169060200190929190505050611850565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103da5780820151818401526020810190506103bf565b50505050905090810190601f1680156104075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104ce6004803603602081101561042b57600080fd5b810190808035906020019064010000000081111561044857600080fd5b82018360208201111561045a57600080fd5b8035906020019184600183028401116401000000008311171561047c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b29565b005b61062d600480360360608110156104e657600080fd5b81019080803560ff1690602001909291908035906020019064010000000081111561051057600080fd5b82018360208201111561052257600080fd5b8035906020019184600183028401116401000000008311171561054457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105a757600080fd5b8201836020820111156105b957600080fd5b803590602001918460018302840111640100000000831117156105db57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611c89565b005b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff1615610775576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b80600460008460ff1660ff16815260200190815260200160002090805190602001906107a2929190612367565b505050565b606060008261ffff16101580156107c357506127108261ffff16105b6107cc57600080fd5b600061090067ffffffffffffffff811180156107e757600080fd5b506040519080825280601f01601f19166020018201604052801561081a5781602001600182028036833780820191505090505b50905060005b6008811015610f075760006004600060648761ffff168161083d57fe5b0460ff1660ff16815260200190815260200160002082600860648861ffff168161086357fe5b060261ffff160181546001816001161561010002031660029004811061088557fe5b8154600116156108a45790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c905060008160ff161115610ef9576000600160008360ff1660ff168152602001908152602001600020905060006003828054600181600116156101000203166002900490508161091957fe5b04905060005b81811015610ef55760006040518060800160405280600460f0876003870281546001816001161561010002031660029004811061095857fe5b8154600116156109775790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c1660ff16901c8152602001600f86600386028154600181600116156101000203166002900481106109cd57fe5b8154600116156109ec5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c1660ff168152602001600460f08760026003880201815460018160011615610100020316600290048110610a4557fe5b815460011615610a645790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c1660ff16901c8152602001600f8660026003870201815460018160011615610100020316600290048110610abd57fe5b815460011615610adc5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c1660ff16815250905060005b6002811015610ee65760005b6002811015610ed857600060048385600060048110610b3857fe5b60200201516002020160188487600160048110610b5157fe5b602002015160020201020102905060008260028502016001901b85600260048110610b7857fe5b60200201511614610d9b576000610c5a8860016003890201815460018160011615610100020316600290048110610bab57fe5b815460011615610bca5790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000028c8481518110610bfc57fe5b602001015160f81c60f81b8d6001860181518110610c1657fe5b602001015160f81c60f81b8e6002870181518110610c3057fe5b602001015160f81c60f81b8f6003880181518110610c4a57fe5b602001015160f81c60f81b611e30565b905080600060048110610c6957fe5b1a60f81b8b8381518110610c7957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080600160048110610cb557fe5b1a60f81b8b6001840181518110610cc857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080600260048110610d0457fe5b1a60f81b8b6002840181518110610d1757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080600360048110610d5357fe5b1a60f81b8b6003840181518110610d6657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050610eca565b60008260028502016001901b85600360048110610db457fe5b60200201511614610ec957600060f81b8a8281518110610dd057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060f81b8a6001830181518110610e1357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060f81b8a6002830181518110610e5657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060ff60f81b8a6003830181518110610e9957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b508080600101915050610b1d565b508080600101915050610b11565b5050808060010191505061091f565b5050505b508080600101915050610820565b5080915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff1615611057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b6001600560146101000a81548160ff021916908315150217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff16156111ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b86600360008a67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff16021790555084600360008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff16021790555082600360008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff16021790555080600360008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505050505050505050565b606060006112e9836107a7565b90506040518060a00160405280606281526020016124dc606291396040516020018082805190602001908083835b6020831061133a5780518252602082019150602081019050602083039250611317565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405291506000600867ffffffffffffffff8111801561138a57600080fd5b506040519080825280601f01601f1916602001820160405280156113bd5781602001600182028036833780820191505090505b50905060005b60188110156117535760005b6018811015611745576000600482601885020102905060008560038301815181106113f657fe5b602001015160f81c60f81b60f81c60ff1611156117375760005b600481101561153c576000868284018151811061142957fe5b602001015160f81c60f81b60f81c90507f3031323334353637383961626364656600000000000000000000000000000000600f821660ff166010811061146b57fe5b1a60f81b86600160028502018151811061148157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060048160ff16901c90507f3031323334353637383961626364656600000000000000000000000000000000600f821660ff16601081106114ec57fe5b1a60f81b8660028402815181106114ff57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350508080600101915050611410565b50856115478361222d565b6115508561222d565b866040516020018085805190602001908083835b602083106115875780518252602082019150602081019050602083039250611564565b6001836020036101000a038019825116818451168082178552505050505050905001807f3c7265637420783d22000000000000000000000000000000000000000000000081525060090184805190602001908083835b6020831061160057805182526020820191506020810190506020830392506115dd565b6001836020036101000a038019825116818451168082178552505050505050905001807f2220793d2200000000000000000000000000000000000000000000000000000081525060050183805190602001908083835b602083106116795780518252602082019150602081019050602083039250611656565b6001836020036101000a038019825116818451168082178552505050505050905001806124a1603b9139603b0182805190602001908083835b602083106116d557805182526020820191506020810190506020830392506116b2565b6001836020036101000a038019825116818451168082178552505050505050905001807f222f3e000000000000000000000000000000000000000000000000000000000081525060030194505050505060405160208183030381529060405295505b5080806001019150506113cf565b5080806001019150506113c3565b50826040518060400160405280600681526020017f3c2f7376673e00000000000000000000000000000000000000000000000000008152506040516020018083805190602001908083835b602083106117c1578051825260208201915060208101905060208303925061179e565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b6020831061181257805182526020820191506020810190506020830392506117ef565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b606060008261ffff161015801561186c57506127108261ffff16105b61187557600080fd5b600060648361ffff168161188557fe5b0490506000600860648561ffff168161189a57fe5b060261ffff16905060005b6008811015611b21576000600460008560ff1660ff1681526020019081526020016000208284018154600181600116156101000203166002900481106118e757fe5b8154600116156119065790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c905060008160ff161115611b0d576000821115611a535784600260008360ff1660ff1681526020019081526020016000206040516020018083805190602001908083835b602083106119965780518252602082019150602081019050602083039250611973565b6001836020036101000a038019825116818451168082178552505050505050905001807f2c2000000000000000000000000000000000000000000000000000000000000081525060020182805460018160011615610100020316600290048015611a375780601f10611a15576101008083540402835291820191611a37565b820191906000526020600020905b815481529060010190602001808311611a23575b5050925050506040516020818303038152906040529450611b08565b600260008260ff1660ff1681526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b005780601f10611ad557610100808354040283529160200191611b00565b820191906000526020600020905b815481529060010190602001808311611ae357829003601f168201915b505050505094505b611b13565b50611b21565b5080806001019150506118a5565b505050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff1615611c6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b8060009080519060200190611c85929190612367565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff1615611dcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b81600160008560ff1660ff1681526020019081526020016000209080519060200190611dfc929190612367565b5080600260008560ff1660ff1681526020019081526020016000209080519060200190611e2a9291906123f5565b50505050565b60008060048760f81c60ff1602905060008060038301815460018160011615610100020316600290048110611e6157fe5b815460011615611e805790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c905060ff8160ff161415612015578060ff166008600060028501815460018160011615610100020316600290048110611ede57fe5b815460011615611efd5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff16901b6010600060018601815460018160011615610100020316600290048110611f4e57fe5b815460011615611f6d5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff16901b6018600086815460018160011615610100020316600290048110611fbb57fe5b815460011615611fda5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff16901b17171760e01b9250612222565b60008460f81c60ff1660088760f81c60ff1667ffffffffffffffff16901b60108960f81c60ff1667ffffffffffffffff16901b60188b60f81c60ff1667ffffffffffffffff16901b60208660ff1667ffffffffffffffff16901b6028600060028a0181546001816001161561010002031660029004811061209257fe5b8154600116156120b15790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff1667ffffffffffffffff16901b6030600060018b0181546001816001161561010002031660029004811061210c57fe5b81546001161561212b5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff1667ffffffffffffffff16901b603860008b81546001816001161561010002031660029004811061218357fe5b8154600116156121a25790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff1667ffffffffffffffff16901b171717171717179050600360008267ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1660e01b9350505b505095945050505050565b60606000821415612275576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612362565b600082905060005b6000821461229f578080600101915050600a828161229757fe5b04915061227d565b60008167ffffffffffffffff811180156122b857600080fd5b506040519080825280601f01601f1916602001820160405280156122eb5781602001600182028036833780820191505090505b5090505b6000851461235b57600182039150600a858161230757fe5b0660300160f81b81838151811061231a57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a858161235357fe5b0494506122ef565b8093505050505b919050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261239d57600085556123e4565b82601f106123b657805160ff19168380011785556123e4565b828001600101855582156123e4579182015b828111156123e35782518255916020019190600101906123c8565b5b5090506123f19190612483565b5090565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261242b5760008555612472565b82601f1061244457805160ff1916838001178555612472565b82800160010185558215612472579182015b82811115612471578251825591602001919060010190612456565b5b50905061247f9190612483565b5090565b5b8082111561249c576000816000905550600101612484565b509056fe222077696474683d223122206865696768743d2231222073686170652d72656e646572696e673d2263726973704564676573222066696c6c3d2223646174613a696d6167652f7376672b786d6c3b757466382c3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f737667222076657273696f6e3d22312e32222076696577426f783d22302030203234203234223ea2646970667358221220b5cb11115801def41650f7bf1e201c6d351bae4bbea91fcfec5f6b5be6c6f5b364736f6c63430007060033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100885760003560e01c806374beb0471161005b57806374beb047146102bf57806376dfe2971461036a578063844e2cd514610415578063dae2ae20146104d057610088565b806326b973641461008d5780633e5e0a961461015557806368bd580e146102005780636f2a65681461020a575b600080fd5b610153600480360360408110156100a357600080fd5b81019080803560ff169060200190929190803590602001906401000000008111156100cd57600080fd5b8201836020820111156100df57600080fd5b8035906020019184600183028401116401000000008311171561010157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061062f565b005b6101856004803603602081101561016b57600080fd5b81019080803561ffff1690602001909291905050506107a7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c55780820151818401526020810190506101aa565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610208610f11565b005b6102bd600480360361010081101561022157600080fd5b81019080803567ffffffffffffffff169060200190929190803563ffffffff169060200190929190803567ffffffffffffffff169060200190929190803563ffffffff169060200190929190803567ffffffffffffffff169060200190929190803563ffffffff169060200190929190803567ffffffffffffffff169060200190929190803563ffffffff169060200190929190505050611074565b005b6102ef600480360360208110156102d557600080fd5b81019080803561ffff1690602001909291905050506112dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561032f578082015181840152602081019050610314565b50505050905090810190601f16801561035c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039a6004803603602081101561038057600080fd5b81019080803561ffff169060200190929190505050611850565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103da5780820151818401526020810190506103bf565b50505050905090810190601f1680156104075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104ce6004803603602081101561042b57600080fd5b810190808035906020019064010000000081111561044857600080fd5b82018360208201111561045a57600080fd5b8035906020019184600183028401116401000000008311171561047c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b29565b005b61062d600480360360608110156104e657600080fd5b81019080803560ff1690602001909291908035906020019064010000000081111561051057600080fd5b82018360208201111561052257600080fd5b8035906020019184600183028401116401000000008311171561054457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105a757600080fd5b8201836020820111156105b957600080fd5b803590602001918460018302840111640100000000831117156105db57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611c89565b005b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff1615610775576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b80600460008460ff1660ff16815260200190815260200160002090805190602001906107a2929190612367565b505050565b606060008261ffff16101580156107c357506127108261ffff16105b6107cc57600080fd5b600061090067ffffffffffffffff811180156107e757600080fd5b506040519080825280601f01601f19166020018201604052801561081a5781602001600182028036833780820191505090505b50905060005b6008811015610f075760006004600060648761ffff168161083d57fe5b0460ff1660ff16815260200190815260200160002082600860648861ffff168161086357fe5b060261ffff160181546001816001161561010002031660029004811061088557fe5b8154600116156108a45790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c905060008160ff161115610ef9576000600160008360ff1660ff168152602001908152602001600020905060006003828054600181600116156101000203166002900490508161091957fe5b04905060005b81811015610ef55760006040518060800160405280600460f0876003870281546001816001161561010002031660029004811061095857fe5b8154600116156109775790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c1660ff16901c8152602001600f86600386028154600181600116156101000203166002900481106109cd57fe5b8154600116156109ec5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c1660ff168152602001600460f08760026003880201815460018160011615610100020316600290048110610a4557fe5b815460011615610a645790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c1660ff16901c8152602001600f8660026003870201815460018160011615610100020316600290048110610abd57fe5b815460011615610adc5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c1660ff16815250905060005b6002811015610ee65760005b6002811015610ed857600060048385600060048110610b3857fe5b60200201516002020160188487600160048110610b5157fe5b602002015160020201020102905060008260028502016001901b85600260048110610b7857fe5b60200201511614610d9b576000610c5a8860016003890201815460018160011615610100020316600290048110610bab57fe5b815460011615610bca5790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000028c8481518110610bfc57fe5b602001015160f81c60f81b8d6001860181518110610c1657fe5b602001015160f81c60f81b8e6002870181518110610c3057fe5b602001015160f81c60f81b8f6003880181518110610c4a57fe5b602001015160f81c60f81b611e30565b905080600060048110610c6957fe5b1a60f81b8b8381518110610c7957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080600160048110610cb557fe5b1a60f81b8b6001840181518110610cc857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080600260048110610d0457fe5b1a60f81b8b6002840181518110610d1757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080600360048110610d5357fe5b1a60f81b8b6003840181518110610d6657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050610eca565b60008260028502016001901b85600360048110610db457fe5b60200201511614610ec957600060f81b8a8281518110610dd057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060f81b8a6001830181518110610e1357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060f81b8a6002830181518110610e5657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060ff60f81b8a6003830181518110610e9957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b508080600101915050610b1d565b508080600101915050610b11565b5050808060010191505061091f565b5050505b508080600101915050610820565b5080915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff1615611057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b6001600560146101000a81548160ff021916908315150217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff16156111ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b86600360008a67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff16021790555084600360008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff16021790555082600360008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff16021790555080600360008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505050505050505050565b606060006112e9836107a7565b90506040518060a00160405280606281526020016124dc606291396040516020018082805190602001908083835b6020831061133a5780518252602082019150602081019050602083039250611317565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405291506000600867ffffffffffffffff8111801561138a57600080fd5b506040519080825280601f01601f1916602001820160405280156113bd5781602001600182028036833780820191505090505b50905060005b60188110156117535760005b6018811015611745576000600482601885020102905060008560038301815181106113f657fe5b602001015160f81c60f81b60f81c60ff1611156117375760005b600481101561153c576000868284018151811061142957fe5b602001015160f81c60f81b60f81c90507f3031323334353637383961626364656600000000000000000000000000000000600f821660ff166010811061146b57fe5b1a60f81b86600160028502018151811061148157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060048160ff16901c90507f3031323334353637383961626364656600000000000000000000000000000000600f821660ff16601081106114ec57fe5b1a60f81b8660028402815181106114ff57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350508080600101915050611410565b50856115478361222d565b6115508561222d565b866040516020018085805190602001908083835b602083106115875780518252602082019150602081019050602083039250611564565b6001836020036101000a038019825116818451168082178552505050505050905001807f3c7265637420783d22000000000000000000000000000000000000000000000081525060090184805190602001908083835b6020831061160057805182526020820191506020810190506020830392506115dd565b6001836020036101000a038019825116818451168082178552505050505050905001807f2220793d2200000000000000000000000000000000000000000000000000000081525060050183805190602001908083835b602083106116795780518252602082019150602081019050602083039250611656565b6001836020036101000a038019825116818451168082178552505050505050905001806124a1603b9139603b0182805190602001908083835b602083106116d557805182526020820191506020810190506020830392506116b2565b6001836020036101000a038019825116818451168082178552505050505050905001807f222f3e000000000000000000000000000000000000000000000000000000000081525060030194505050505060405160208183030381529060405295505b5080806001019150506113cf565b5080806001019150506113c3565b50826040518060400160405280600681526020017f3c2f7376673e00000000000000000000000000000000000000000000000000008152506040516020018083805190602001908083835b602083106117c1578051825260208201915060208101905060208303925061179e565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b6020831061181257805182526020820191506020810190506020830392506117ef565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b606060008261ffff161015801561186c57506127108261ffff16105b61187557600080fd5b600060648361ffff168161188557fe5b0490506000600860648561ffff168161189a57fe5b060261ffff16905060005b6008811015611b21576000600460008560ff1660ff1681526020019081526020016000208284018154600181600116156101000203166002900481106118e757fe5b8154600116156119065790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c905060008160ff161115611b0d576000821115611a535784600260008360ff1660ff1681526020019081526020016000206040516020018083805190602001908083835b602083106119965780518252602082019150602081019050602083039250611973565b6001836020036101000a038019825116818451168082178552505050505050905001807f2c2000000000000000000000000000000000000000000000000000000000000081525060020182805460018160011615610100020316600290048015611a375780601f10611a15576101008083540402835291820191611a37565b820191906000526020600020905b815481529060010190602001808311611a23575b5050925050506040516020818303038152906040529450611b08565b600260008260ff1660ff1681526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b005780601f10611ad557610100808354040283529160200191611b00565b820191906000526020600020905b815481529060010190602001808311611ae357829003601f168201915b505050505094505b611b13565b50611b21565b5080806001019150506118a5565b505050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff1615611c6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b8060009080519060200190611c85929190612367565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b600560149054906101000a900460ff1615611dcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f436f6e7472616374207365616c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b81600160008560ff1660ff1681526020019081526020016000209080519060200190611dfc929190612367565b5080600260008560ff1660ff1681526020019081526020016000209080519060200190611e2a9291906123f5565b50505050565b60008060048760f81c60ff1602905060008060038301815460018160011615610100020316600290048110611e6157fe5b815460011615611e805790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c905060ff8160ff161415612015578060ff166008600060028501815460018160011615610100020316600290048110611ede57fe5b815460011615611efd5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff16901b6010600060018601815460018160011615610100020316600290048110611f4e57fe5b815460011615611f6d5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff16901b6018600086815460018160011615610100020316600290048110611fbb57fe5b815460011615611fda5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff16901b17171760e01b9250612222565b60008460f81c60ff1660088760f81c60ff1667ffffffffffffffff16901b60108960f81c60ff1667ffffffffffffffff16901b60188b60f81c60ff1667ffffffffffffffff16901b60208660ff1667ffffffffffffffff16901b6028600060028a0181546001816001161561010002031660029004811061209257fe5b8154600116156120b15790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff1667ffffffffffffffff16901b6030600060018b0181546001816001161561010002031660029004811061210c57fe5b81546001161561212b5790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff1667ffffffffffffffff16901b603860008b81546001816001161561010002031660029004811061218357fe5b8154600116156121a25790600052602060002090602091828204019190065b9054901a7f01000000000000000000000000000000000000000000000000000000000000000260f81c60ff1667ffffffffffffffff16901b171717171717179050600360008267ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1660e01b9350505b505095945050505050565b60606000821415612275576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612362565b600082905060005b6000821461229f578080600101915050600a828161229757fe5b04915061227d565b60008167ffffffffffffffff811180156122b857600080fd5b506040519080825280601f01601f1916602001820160405280156122eb5781602001600182028036833780820191505090505b5090505b6000851461235b57600182039150600a858161230757fe5b0660300160f81b81838151811061231a57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a858161235357fe5b0494506122ef565b8093505050505b919050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261239d57600085556123e4565b82601f106123b657805160ff19168380011785556123e4565b828001600101855582156123e4579182015b828111156123e35782518255916020019190600101906123c8565b5b5090506123f19190612483565b5090565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261242b5760008555612472565b82601f1061244457805160ff1916838001178555612472565b82800160010185558215612472579182015b82811115612471578251825591602001919060010190612456565b5b50905061247f9190612483565b5090565b5b8082111561249c576000816000905550600101612484565b509056fe222077696474683d223122206865696768743d2231222073686170652d72656e646572696e673d2263726973704564676573222066696c6c3d2223646174613a696d6167652f7376672b786d6c3b757466382c3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f737667222076657273696f6e3d22312e32222076696577426f783d22302030203234203234223ea2646970667358221220b5cb11115801def41650f7bf1e201c6d351bae4bbea91fcfec5f6b5be6c6f5b364736f6c63430007060033

Deployed Bytecode Sourcemap

1160:8017:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2611:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3081:1995;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2742:95;;;:::i;:::-;;2285:318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5291:1044;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6649:628;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2094:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2611:123;1755:8;;;;;;;;;;;1741:22;;:10;:22;;;1733:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1850:14:::1;;;;;;;;;;;1849:15;1841:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;2720:6:::2;2705:5;:12;2711:5;2705:12;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:::i;:::-;;2611:123:::0;;:::o;3081:1995::-;3135:12;3177:1;3168:5;:10;;;;:27;;;;;3190:5;3182;:13;;;3168:27;3160:36;;;;;;3207:19;3239:4;3229:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3207:37;;3260:6;3255:1790;3276:1;3272;:5;3255:1790;;;3299:11;3319:5;:25;3339:3;3331:5;:11;;;;;;;;3319:25;;;;;;;;;;;;;;;3365:1;3361;3354:3;3346:5;:11;;;;;;;;3345:17;:21;;;3319:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3313:55;;3299:69;;3395:1;3387:5;:9;;;3383:1651;;;3417:15;3435:6;:13;3442:5;3435:13;;;;;;;;;;;;;;;3417:31;;3467:6;3487:1;3476;:8;;;;;;;;;;;;;;;;:12;;;;;;3467:21;;3512:6;3507:1512;3528:1;3524;:5;3507:1512;;;3559:16;:278;;;;;;;;3637:1;3628:4;3616:1;3622;3618;:5;3616:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3610:15;;:22;3605:28;;:33;;3559:278;;;;3688:3;3676:1;3682;3678;:5;3676:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3670:15;;:21;3665:27;;3559:278;;;;3755:1;3746:4;3730:1;3740;3736;3732;:5;:9;3730:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3724:19;;:26;3719:32;;:37;;3559:278;;;;3810:3;3794:1;3804;3800;3796;:5;:9;3794:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3788:19;;:25;3783:31;;3559:278;;;;;3865:7;3860:1140;3883:1;3878:2;:6;3860:1140;;;3924:7;3919:1058;3942:1;3937:2;:6;3919:1058;;;3982:6;4034:1;4027:2;4020:1;4022;4020:4;;;;;;;;;;;4016:1;:8;:13;4010:2;4004;3997:1;3999;3997:4;;;;;;;;;;;3993:1;:8;:13;3992:20;:38;3991:44;3982:53;;4101:1;4093:2;4089:1;4084:2;:6;:11;4078:1;:18;;4070:1;4072;4070:4;;;;;;;;;;;:27;:32;4066:884;;4139:8;4150:281;4160:1;4170;4166;4162;:5;:9;4160:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4215:6;4222:1;4215:9;;;;;;;;;;;;;;;;4267:6;4278:1;4274;:5;4267:13;;;;;;;;;;;;;;;;4323:6;4334:1;4330;:5;4323:13;;;;;;;;;;;;;;;;4379:6;4390:1;4386;:5;4379:13;;;;;;;;;;;;;;;;4150:9;:281::i;:::-;4139:292;;4478:1;4480;4478:4;;;;;;;;;;4466:6;4473:1;4466:9;;;;;;;;;;;:16;;;;;;;;;;;4531:1;4533;4531:4;;;;;;;;;;4517:6;4526:1;4524;:3;4517:11;;;;;;;;;;;:18;;;;;;;;;;;4584:1;4586;4584:4;;;;;;;;;;4570:6;4579:1;4577;:3;4570:11;;;;;;;;;;;:18;;;;;;;;;;;4637:1;4639;4637:4;;;;;;;;;;4623:6;4632:1;4630;:3;4623:11;;;;;;;;;;;:18;;;;;;;;;;;4066:884;;;;4714:1;4706:2;4702:1;4697:2;:6;:11;4691:1;:18;;4683:1;4685;4683:4;;;;;;;;;;;:27;:32;4679:271;;4764:1;4752:13;;:6;4759:1;4752:9;;;;;;;;;;;:13;;;;;;;;;;;4814:1;4800:15;;:6;4809:1;4807;:3;4800:11;;;;;;;;;;;:15;;;;;;;;;;;4864:1;4850:15;;:6;4859:1;4857;:3;4850:11;;;;;;;;;;;:15;;;;;;;;;;;4914:4;4900:18;;:6;4909:1;4907;:3;4900:11;;;;;;;;;;;:18;;;;;;;;;;;4679:271;4066:884;3919:1058;3945:4;;;;;;;3919:1058;;;;3886:4;;;;;;;3860:1140;;;;3507:1512;3531:3;;;;;;;3507:1512;;;;3383:1651;;;3255:1790;3279:3;;;;;;;3255:1790;;;;5062:6;5055:13;;;3081:1995;;;:::o;2742:95::-;1755:8;;;;;;;;;;;1741:22;;:10;:22;;;1733:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1850:14:::1;;;;;;;;;;;1849:15;1841:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;2825:4:::2;2808:14;;:21;;;;;;;;;;;;;;;;;;2742:95::o:0;2285:318::-;1755:8;;;;;;;;;;;1741:22;;:10;:22;;;1733:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1850:14:::1;;;;;;;;;;;1849:15;1841:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;2481:6:::2;2462:10;:16;2473:4;2462:16;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;2517:6;2498:10;:16;2509:4;2498:16;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;2553:6;2534:10;:16;2545:4;2534:16;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;2589:6;2570:10;:16;2581:4;2570:16;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;2285:318:::0;;;;;;;;:::o;5291:1044::-;5350:17;5380:19;5402:16;5412:5;5402:9;:16::i;:::-;5380:38;;5459:10;;;;;;;;;;;;;;;;;5442:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5429:42;;5482:19;5514:1;5504:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5482:34;;5532:6;5527:743;5548:2;5544:1;:6;5527:743;;;5577:6;5572:687;5593:2;5589:1;:6;5572:687;;;5621:6;5645:1;5640;5635:2;5631:1;:6;:10;5630:16;5621:25;;5692:1;5675:6;5686:1;5682;:5;5675:13;;;;;;;;;;;;;;;;5669:20;;:24;;;5665:579;;;5723:6;5718:292;5739:1;5735;:5;5718:292;;;5774:11;5794:6;5805:1;5801;:5;5794:13;;;;;;;;;;;;;;;;5788:20;;5774:34;;5855:12;5876:3;5868:5;:11;5855:25;;;;;;;;;;;;5835:6;5850:1;5846;5842;:5;:9;5835:17;;;;;;;;;;;:45;;;;;;;;;;;5917:1;5907:11;;;;;;;5961:12;5982:3;5974:5;:11;5961:25;;;;;;;;;;;;5945:6;5956:1;5952;:5;5945:13;;;;;;;;;;;:41;;;;;;;;;;;5718:292;5742:3;;;;;;;5718:292;;;;6062:3;6105:11;6114:1;6105:8;:11::i;:::-;6127;6136:1;6127:8;:11::i;:::-;6209:6;6045:178;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6032:192;;5665:579;5572:687;5597:3;;;;;;;5572:687;;;;5552:3;;;;;;;5527:743;;;;6310:3;6315:10;;;;;;;;;;;;;;;;;6293:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6280:47;;5291:1044;;;;;:::o;6649:628::-;6710:18;6758:1;6749:5;:10;;;;:27;;;;;6771:5;6763;:13;;;6749:27;6741:36;;;;;;6788:10;6815:3;6807:5;:11;;;;;;;;6788:31;;6830:11;6860:1;6853:3;6845:5;:11;;;;;;;;6844:17;6830:31;;;;6877:6;6872:398;6893:1;6889;:5;6872:398;;;6916:11;6936:5;:11;6942:4;6936:11;;;;;;;;;;;;;;;6957:1;6948:6;:10;6936:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6930:30;;6916:44;;6987:1;6979:5;:9;;;6975:284;;;7017:1;7013;:5;7009:189;;;7074:4;7086:10;:17;7097:5;7086:17;;;;;;;;;;;;;;;7057:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7043:62;;7009:189;;;7161:10;:17;7172:5;7161:17;;;;;;;;;;;;;;;7154:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7009:189;6975:284;;;7238:5;;;6975:284;6872:398;6896:3;;;;;;;6872:398;;;;6649:628;;;;;:::o;1975:111::-;1755:8;;;;;;;;;;;1741:22;;:10;:22;;;1733:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1850:14:::1;;;;;;;;;;;1849:15;1841:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;2070:8:::2;2060:7;:18;;;;;;;;;;;;:::i;:::-;;1975:111:::0;:::o;2094:183::-;1755:8;;;;;;;;;;;1741:22;;:10;:22;;;1733:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1850:14:::1;;;;;;;;;;;1849:15;1841:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;2226:8:::2;2210:6;:13;2217:5;2210:13;;;;;;;;;;;;;;;:24;;;;;;;;;;;;:::i;:::-;;2265:4;2245:10;:17;2256:5;2245:17;;;;;;;;;;;;;;;:24;;;;;;;;;;;;:::i;:::-;;2094:183:::0;;;:::o;7285:964::-;7375:11;7399:6;7429:1;7419:5;7413:12;;7408:18;;:22;7399:31;;7441:12;7462:7;7474:1;7470;:5;7462:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7456:21;;7441:36;;7502:4;7492:6;:14;;;7488:754;;;7734:6;7566:174;;7708:1;7690:7;7700:1;7698;:3;7690:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7684:19;;7679:25;;:30;;7651:2;7633:7;7643:1;7641;:3;7633:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7627:19;;7622:25;;:31;;7594:2;7578:7;7586:1;7578:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7572:17;;7567:23;;:29;;7566:88;:144;:174;7530:230;;7523:237;;7488:754;;;7793:10;8180:2;8174:9;;8167:17;;8144:1;8136:2;8130:9;;8123:17;;:22;;;;8099:2;8091;8085:9;;8078:17;;:23;;;;8054:2;8046;8040:9;;8033:17;;:23;;;;8009:2;7998:6;7991:14;;:20;;;;7967:2;7947:7;7959:1;7955;:5;7947:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:21;;7934:29;;:35;;;;7910:2;7890:7;7902:1;7898;:5;7890:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7884:21;;7877:29;;:35;;;;7853:2;7837:7;7845:1;7837:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:17;;7824:25;;:31;;;;7823:90;:147;:189;:234;:279;:323;:362;7793:392;;8214:10;:15;8225:3;8214:15;;;;;;;;;;;;;;;;;;;;;;;;;8207:23;;8200:30;;7488:754;;7285:964;;;;;;;;;:::o;8449:723::-;8505:13;8735:1;8726:5;:10;8722:53;;;8753:10;;;;;;;;;;;;;;;;;;;;;8722:53;8785:12;8800:5;8785:20;;8816:14;8841:78;8856:1;8848:4;:9;8841:78;;8874:8;;;;;;;8905:2;8897:10;;;;;;;;;8841:78;;;8929:19;8961:6;8951:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8929:39;;8979:154;8995:1;8986:5;:10;8979:154;;9023:1;9013:11;;;;9090:2;9082:5;:10;;;;;;9069:2;:24;9056:39;;9039:6;9046;9039:14;;;;;;;;;;;:56;;;;;;;;;;;9119:2;9110:11;;;;;;;;;8979:154;;;9157:6;9143:21;;;;;8449:723;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://b5cb11115801def41650f7bf1e201c6d351bae4bbea91fcfec5f6b5be6c6f5b3

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.