ETH Price: $3,324.51 (+1.99%)
Gas: 3 Gwei

Contract

0x956ecD6a9A9A0d84e8eB4e6BaaC09329E202E55e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Poke140626102022-01-23 15:10:03918 days ago1642950603IN
0x956ecD6a...9E202E55e
0 ETH0.01867991135.10029237
Poke140615462022-01-23 11:19:41918 days ago1642936781IN
0x956ecD6a...9E202E55e
0 ETH0.01503448108.72570854
Poke140605422022-01-23 7:30:54918 days ago1642923054IN
0x956ecD6a...9E202E55e
0 ETH0.0110383679.83366956
Poke140596462022-01-23 4:11:28918 days ago1642911088IN
0x956ecD6a...9E202E55e
0 ETH0.04882028352.96453233
Poke140586182022-01-23 0:19:03918 days ago1642897143IN
0x956ecD6a...9E202E55e
0 ETH0.02467384178.40427626
Poke140575222022-01-22 20:21:20919 days ago1642882880IN
0x956ecD6a...9E202E55e
0 ETH0.0329013237.95488885
Poke140573562022-01-22 19:44:47919 days ago1642880687IN
0x956ecD6a...9E202E55e
0 ETH0.02393626173.01116446
Poke140563242022-01-22 15:55:15919 days ago1642866915IN
0x956ecD6a...9E202E55e
0 ETH0.02481074179.40971243
Poke140553182022-01-22 12:04:04919 days ago1642853044IN
0x956ecD6a...9E202E55e
0 ETH0.00731631134.44412311
Poke140553182022-01-22 12:04:04919 days ago1642853044IN
0x956ecD6a...9E202E55e
0 ETH0.01858757134.44412311
Poke140547322022-01-22 10:00:55919 days ago1642845655IN
0x956ecD6a...9E202E55e
0 ETH0.03347088242.05330008
Poke140540982022-01-22 7:34:37919 days ago1642836877IN
0x956ecD6a...9E202E55e
0 ETH0.04268476308.63226129
Poke140536862022-01-22 6:00:46919 days ago1642831246IN
0x956ecD6a...9E202E55e
0 ETH0.00734533134.73966201
Poke140536862022-01-22 6:00:46919 days ago1642831246IN
0x956ecD6a...9E202E55e
0 ETH0.01863489134.73966201
Poke140533152022-01-22 4:42:42919 days ago1642826562IN
0x956ecD6a...9E202E55e
0 ETH0.01925301139.22104814
Poke140522112022-01-22 0:53:57919 days ago1642812837IN
0x956ecD6a...9E202E55e
0 ETH0.01308308239.83209157
Poke140522112022-01-22 0:53:57919 days ago1642812837IN
0x956ecD6a...9E202E55e
0 ETH0.03317525239.83209157
Poke140517052022-01-21 22:54:42919 days ago1642805682IN
0x956ecD6a...9E202E55e
0 ETH0.06471095468.01443893
Poke140513972022-01-21 21:45:03919 days ago1642801503IN
0x956ecD6a...9E202E55e
0 ETH0.03876174280.38850276
Poke140506842022-01-21 19:05:03920 days ago1642791903IN
0x956ecD6a...9E202E55e
0 ETH0.0364776263.72845885
Poke140496512022-01-21 15:12:24920 days ago1642777944IN
0x956ecD6a...9E202E55e
0 ETH0.02636388190.64065286
Poke140486172022-01-21 11:20:09920 days ago1642764009IN
0x956ecD6a...9E202E55e
0 ETH0.0124286789.92794284
Poke140476092022-01-21 7:30:09920 days ago1642750209IN
0x956ecD6a...9E202E55e
0 ETH0.0135290897.82203223
Poke140465402022-01-21 3:35:28920 days ago1642736128IN
0x956ecD6a...9E202E55e
0 ETH0.04122541298.15799663
Poke140460532022-01-21 1:43:12920 days ago1642729392IN
0x956ecD6a...9E202E55e
0 ETH0.02006567145.13525522
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:
MedianZRXUSD

Compiler Version
v0.5.15+commit.6a57276f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2020-06-23
*/

// median.sol - Medianizer v2

// Copyright (C) 2020 Maker Ecosystem Growth Holdings, INC.

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.

pragma solidity >=0.5.12;

contract LibNote {
    event LogNote(
        bytes4   indexed  sig,
        address  indexed  usr,
        bytes32  indexed  arg1,
        bytes32  indexed  arg2,
        bytes             data
    ) anonymous;

    modifier note {
        _;
        assembly {
            // log an 'anonymous' event with a constant 6 words of calldata
            // and four indexed topics: selector, caller, arg1 and arg2
            let mark := msize                         // end of memory ensures zero
            mstore(0x40, add(mark, 288))              // update free memory pointer
            mstore(mark, 0x20)                        // bytes type data offset
            mstore(add(mark, 0x20), 224)              // bytes size (padded)
            calldatacopy(add(mark, 0x40), 0, 224)     // bytes payload
            log4(mark, 288,                           // calldata
                 shl(224, shr(224, calldataload(0))), // msg.sig
                 caller,                              // msg.sender
                 calldataload(4),                     // arg1
                 calldataload(36)                     // arg2
                )
        }
    }
}

contract Median is LibNote {

    // --- Auth ---
    mapping (address => uint) public wards;
    function rely(address usr) external note auth { wards[usr] = 1; }
    function deny(address usr) external note auth { wards[usr] = 0; }
    modifier auth {
        require(wards[msg.sender] == 1, "Median/not-authorized");
        _;
    }

    uint128        val;
    uint32  public age;
    bytes32 public constant wat = "ethusd"; // You want to change this every deploy
    uint256 public bar = 1;

    // Authorized oracles, set by an auth
    mapping (address => uint256) public orcl;

    // Whitelisted contracts, set by an auth
    mapping (address => uint256) public bud;

    // Mapping for at most 256 oracles
    mapping (uint8 => address) public slot;

    modifier toll { require(bud[msg.sender] == 1, "Median/contract-not-whitelisted"); _;}

    event LogMedianPrice(uint256 val, uint256 age);

    //Set type of Oracle
    constructor() public {
        wards[msg.sender] = 1;
    }

    function read() external view toll returns (uint256) {
        require(val > 0, "Median/invalid-price-feed");
        return val;
    }

    function peek() external view toll returns (uint256,bool) {
        return (val, val > 0);
    }

    function recover(uint256 val_, uint256 age_, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {
        return ecrecover(
            keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", keccak256(abi.encodePacked(val_, age_, wat)))),
            v, r, s
        );
    }

    function poke(
        uint256[] calldata val_, uint256[] calldata age_,
        uint8[] calldata v, bytes32[] calldata r, bytes32[] calldata s) external
    {
        require(val_.length == bar, "Median/bar-too-low");

        uint256 bloom = 0;
        uint256 last = 0;
        uint256 zzz = age;

        for (uint i = 0; i < val_.length; i++) {
            // Validate the values were signed by an authorized oracle
            address signer = recover(val_[i], age_[i], v[i], r[i], s[i]);
            // Check that signer is an oracle
            require(orcl[signer] == 1, "Median/invalid-oracle");
            // Price feed age greater than last medianizer age
            require(age_[i] > zzz, "Median/stale-message");
            // Check for ordered values
            require(val_[i] >= last, "Median/messages-not-in-order");
            last = val_[i];
            // Bloom filter for signer uniqueness
            uint8 sl = uint8(uint256(signer) >> 152);
            require((bloom >> sl) % 2 == 0, "Median/oracle-already-signed");
            bloom += uint256(2) ** sl;
        }

        val = uint128(val_[val_.length >> 1]);
        age = uint32(block.timestamp);

        emit LogMedianPrice(val, age);
    }

    function lift(address[] calldata a) external note auth {
        for (uint i = 0; i < a.length; i++) {
            require(a[i] != address(0), "Median/no-oracle-0");
            uint8 s = uint8(uint256(a[i]) >> 152);
            require(slot[s] == address(0), "Median/signer-already-exists");
            orcl[a[i]] = 1;
            slot[s] = a[i];
        }
    }

    function drop(address[] calldata a) external note auth {
       for (uint i = 0; i < a.length; i++) {
            orcl[a[i]] = 0;
            slot[uint8(uint256(a[i]) >> 152)] = address(0);
       }
    }

    function setBar(uint256 bar_) external note auth {
        require(bar_ > 0, "Median/quorum-is-zero");
        require(bar_ % 2 != 0, "Median/quorum-not-odd-number");
        bar = bar_;
    }

    function kiss(address a) external note auth {
        require(a != address(0), "Median/no-contract-0");
        bud[a] = 1;
    }

    function diss(address a) external note auth {
        bud[a] = 0;
    }

    function kiss(address[] calldata a) external note auth {
        for(uint i = 0; i < a.length; i++) {
            require(a[i] != address(0), "Median/no-contract-0");
            bud[a[i]] = 1;
        }
    }

    function diss(address[] calldata a) external note auth {
        for(uint i = 0; i < a.length; i++) {
            bud[a[i]] = 0;
        }
    }
}

contract MedianZRXUSD is Median {
    bytes32 public constant wat = "ZRXUSD";

    function recover(uint256 val_, uint256 age_, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {
        return ecrecover(
            keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", keccak256(abi.encodePacked(val_, age_, wat)))),
            v, r, s
        );
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"val","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"age","type":"uint256"}],"name":"LogMedianPrice","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"},{"constant":true,"inputs":[],"name":"age","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bar","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bud","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"a","type":"address[]"}],"name":"diss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"diss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"a","type":"address[]"}],"name":"drop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"a","type":"address[]"}],"name":"kiss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"kiss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"a","type":"address[]"}],"name":"lift","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"orcl","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"peek","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"val_","type":"uint256[]"},{"internalType":"uint256[]","name":"age_","type":"uint256[]"},{"internalType":"uint8[]","name":"v","type":"uint8[]"},{"internalType":"bytes32[]","name":"r","type":"bytes32[]"},{"internalType":"bytes32[]","name":"s","type":"bytes32[]"}],"name":"poke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"read","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"bar_","type":"uint256"}],"name":"setBar","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"slot","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wat","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"}]

6080604090815260016002819055336000908152602081905291909120556115f08061002c6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806365c4ce7a116100ad578063943181061161007157806394318106146105765780639c52a7f1146105e4578063bf353dbb1461060a578063f29c29c414610630578063febb0f7e1461065657610121565b806365c4ce7a146102d257806365fae35e146102f857806389bbb8b21461031e5780638d0e5a9a146104cc5780638ef5eaf01461050857610121565b806346d4577d116100f457806346d4577d1461020c5780634ca299231461027a5780634fce7a2a1461028257806357de26a4146102a857806359e02dd7146102b057610121565b8063020b2e32146101265780631b25b65f1461015e578063262a9dff146101ce578063352d3fba146101ef575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b031661065e565b60405190815260200160405180910390f35b6101cc6004803603602081101561017457600080fd5b810190602081018135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460208302840111600160201b831117156101c157600080fd5b509092509050610672565b005b6101d66107c5565b60405163ffffffff909116815260200160405180910390f35b6101cc6004803603602081101561020557600080fd5b50356107d8565b6101cc6004803603602081101561022257600080fd5b810190602081018135600160201b81111561023c57600080fd5b82018360208201111561024e57600080fd5b803590602001918460208302840111600160201b8311171561026f57600080fd5b509092509050610908565b61014c6109af565b61014c6004803603602081101561029857600080fd5b50356001600160a01b03166109bc565b61014c6109d0565b6102b8610a9f565b604051918252151560208201526040908101905180910390f35b6101cc600480360360208110156102e857600080fd5b50356001600160a01b0316610b18565b6101cc6004803603602081101561030e57600080fd5b50356001600160a01b0316610bbc565b6101cc600480360360a081101561033457600080fd5b810190602081018135600160201b81111561034e57600080fd5b82018360208201111561036057600080fd5b803590602001918460208302840111600160201b8311171561038157600080fd5b919390929091602081019035600160201b81111561039e57600080fd5b8201836020820111156103b057600080fd5b803590602001918460208302840111600160201b831117156103d157600080fd5b919390929091602081019035600160201b8111156103ee57600080fd5b82018360208201111561040057600080fd5b803590602001918460208302840111600160201b8311171561042157600080fd5b919390929091602081019035600160201b81111561043e57600080fd5b82018360208201111561045057600080fd5b803590602001918460208302840111600160201b8311171561047157600080fd5b919390929091602081019035600160201b81111561048e57600080fd5b8201836020820111156104a057600080fd5b803590602001918460208302840111600160201b831117156104c157600080fd5b509092509050610c63565b6104ec600480360360208110156104e257600080fd5b503560ff16610fb0565b6040516001600160a01b03909116815260200160405180910390f35b6101cc6004803603602081101561051e57600080fd5b810190602081018135600160201b81111561053857600080fd5b82018360208201111561054a57600080fd5b803590602001918460208302840111600160201b8311171561056b57600080fd5b509092509050610fcd565b6101cc6004803603602081101561058c57600080fd5b810190602081018135600160201b8111156105a657600080fd5b8201836020820111156105b857600080fd5b803590602001918460208302840111600160201b831117156105d957600080fd5b5090925090506110d4565b6101cc600480360360208110156105fa57600080fd5b50356001600160a01b03166112e9565b61014c6004803603602081101561062057600080fd5b50356001600160a01b031661138d565b6101cc6004803603602081101561064657600080fd5b50356001600160a01b03166113a1565b61014c611499565b600360205280600052604060002054905081565b336000908152602081905260409020546001146106c35760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b60005b818110156107895760008383838181106106dc57fe5b905060200201356001600160a01b03166001600160a01b0316141561073e5760405162461bcd60e51b815260206004820152601460248201527304d656469616e2f6e6f2d636f6e74726163742d360641b604482015260640160405180910390fd5b60016004600085858581811061075057fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020556001016106c6565b505961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a4505050565b600154600160801b900463ffffffff1681565b336000908152602081905260409020546001146108295760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b600081116108755760405162461bcd60e51b81526020600482015260156024820152744d656469616e2f71756f72756d2d69732d7a65726f60581b604482015260640160405180910390fd5b600281066108c95760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f71756f72756d2d6e6f742d6f64642d6e756d62657200000000604482015260640160405180910390fd5b60028190555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b336000908152602081905260409020546001146109595760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b60005b818110156107895760006004600085858581811061097657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205560010161095c565b651694961554d160d21b81565b600460205280600052604060002054905081565b33600090815260046020526040812054600114610a335760405162461bcd60e51b815260206004820152601f60248201527f4d656469616e2f636f6e74726163742d6e6f742d77686974656c697374656400604482015260640160405180910390fd5b6001546001600160801b0316610a8f5760405162461bcd60e51b815260206004820152601960248201527f4d656469616e2f696e76616c69642d70726963652d6665656400000000000000604482015260640160405180910390fd5b506001546001600160801b031690565b3360009081526004602052806040812054600114610b035760405162461bcd60e51b815260206004820152601f60248201527f4d656469616e2f636f6e74726163742d6e6f742d77686974656c697374656400604482015260640160405180910390fd5b50506001546001600160801b03168015159091565b33600090815260208190526040902054600114610b695760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152600460205260408120555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b33600090815260208190526040902054600114610c0d5760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260019060409020555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b6002548914610cad5760405162461bcd60e51b81526020600482015260126024820152714d656469616e2f6261722d746f6f2d6c6f7760701b604482015260640160405180910390fd5b6001546000908190600160801b900463ffffffff16815b8c811015610eeb576000610d388f8f84818110610cdd57fe5b905060200201358e8e85818110610cf057fe5b905060200201358d8d86818110610d0357fe5b9050602002013560ff168c8c87818110610d1957fe5b905060200201358b8b88818110610d2c57fe5b9050602002013561149f565b6001600160a01b038116600090815260036020529091506040902054600114610d9f5760405162461bcd60e51b81526020600482015260156024820152744d656469616e2f696e76616c69642d6f7261636c6560581b604482015260640160405180910390fd5b828d8d84818110610dac57fe5b9050602002013511610dfb5760405162461bcd60e51b81526020600482015260146024820152734d656469616e2f7374616c652d6d65737361676560601b604482015260640160405180910390fd5b838f8f84818110610e0857fe5b905060200201351015610e615760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f6d657373616765732d6e6f742d696e2d6f7264657200000000604482015260640160405180910390fd5b8e8e83818110610e6d57fe5b602002919091013594505060ff609882901c16600286821c0615610ed75760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f6f7261636c652d616c72656164792d7369676e656400000000604482015260640160405180910390fd5b60ff1660020a949094019350600101610cc4565b508c8c600181901c818110610efc57fe5b600180546fffffffffffffffffffffffffffffffff191660209290920293909301356001600160801b039081169190911763ffffffff60801b1916600160801b4263ffffffff908116820292909217948590557fb78ebc573f1f889ca9e1e0fb62c843c836f3d3a2e1f43ef62940e9b894f4ea4c949283169350909104166040516001600160801b03909216825263ffffffff1660208201526040908101905180910390a150505050505050505050505050565b6005602052806000526040600020546001600160a01b0316905081565b3360009081526020819052604090205460011461101e5760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b60005b818110156107895760006003600085858581811061103b57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020556000600581609886868681811061107f57fe5b905060200201356001600160a01b03166001600160a01b0316901c60ff1660ff16815260200190815260200160002080546001600160a01b0319166001600160a01b0392909216919091179055600101611021565b336000908152602081905260409020546001146111255760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b60005b8181101561078957600083838381811061113e57fe5b905060200201356001600160a01b03166001600160a01b0316141561119e5760405162461bcd60e51b815260206004820152601260248201527104d656469616e2f6e6f2d6f7261636c652d360741b604482015260640160405180910390fd5b600060988484848181106111ae57fe5b905060200201356001600160a01b03166001600160a01b0316901c905060006001600160a01b0316600560008360ff1660ff168152602001908152602001600020546001600160a01b03161461124a5760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f7369676e65722d616c72656164792d65786973747300000000604482015260640160405180910390fd5b60016003600086868681811061125c57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205583838381811061129957fe5b905060200201356001600160a01b0316600560008360ff1660ff16815260200190815260200160002080546001600160a01b0319166001600160a01b039290921691909117905550600101611128565b3360009081526020819052604090205460011461133a5760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260408120555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b600060205280600052604060002054905081565b336000908152602081905260409020546001146113f25760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b6001600160a01b0381166114435760405162461bcd60e51b815260206004820152601460248201527304d656469616e2f6e6f2d636f6e74726163742d360641b604482015260640160405180910390fd5b6001600160a01b0381166000908152600460205260019060409020555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b60025481565b600060018686651694961554d160d21b604051602001808481526020018381526020018281526020019350505050604051602081830303815290604052805190602001206040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c810191909152605c016040516020818303038152906040528051906020012085858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611587573d6000803e3d6000fd5b50505060206040510351969550505050505056fe4d656469616e2f6e6f742d617574686f72697a65640000000000000000000000a265627a7a72315820c6c56fb1c0b448a5c151c876957b4a29b1c5fa30ee8a64533c7d87714453f6d764736f6c634300050f0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806365c4ce7a116100ad578063943181061161007157806394318106146105765780639c52a7f1146105e4578063bf353dbb1461060a578063f29c29c414610630578063febb0f7e1461065657610121565b806365c4ce7a146102d257806365fae35e146102f857806389bbb8b21461031e5780638d0e5a9a146104cc5780638ef5eaf01461050857610121565b806346d4577d116100f457806346d4577d1461020c5780634ca299231461027a5780634fce7a2a1461028257806357de26a4146102a857806359e02dd7146102b057610121565b8063020b2e32146101265780631b25b65f1461015e578063262a9dff146101ce578063352d3fba146101ef575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b031661065e565b60405190815260200160405180910390f35b6101cc6004803603602081101561017457600080fd5b810190602081018135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460208302840111600160201b831117156101c157600080fd5b509092509050610672565b005b6101d66107c5565b60405163ffffffff909116815260200160405180910390f35b6101cc6004803603602081101561020557600080fd5b50356107d8565b6101cc6004803603602081101561022257600080fd5b810190602081018135600160201b81111561023c57600080fd5b82018360208201111561024e57600080fd5b803590602001918460208302840111600160201b8311171561026f57600080fd5b509092509050610908565b61014c6109af565b61014c6004803603602081101561029857600080fd5b50356001600160a01b03166109bc565b61014c6109d0565b6102b8610a9f565b604051918252151560208201526040908101905180910390f35b6101cc600480360360208110156102e857600080fd5b50356001600160a01b0316610b18565b6101cc6004803603602081101561030e57600080fd5b50356001600160a01b0316610bbc565b6101cc600480360360a081101561033457600080fd5b810190602081018135600160201b81111561034e57600080fd5b82018360208201111561036057600080fd5b803590602001918460208302840111600160201b8311171561038157600080fd5b919390929091602081019035600160201b81111561039e57600080fd5b8201836020820111156103b057600080fd5b803590602001918460208302840111600160201b831117156103d157600080fd5b919390929091602081019035600160201b8111156103ee57600080fd5b82018360208201111561040057600080fd5b803590602001918460208302840111600160201b8311171561042157600080fd5b919390929091602081019035600160201b81111561043e57600080fd5b82018360208201111561045057600080fd5b803590602001918460208302840111600160201b8311171561047157600080fd5b919390929091602081019035600160201b81111561048e57600080fd5b8201836020820111156104a057600080fd5b803590602001918460208302840111600160201b831117156104c157600080fd5b509092509050610c63565b6104ec600480360360208110156104e257600080fd5b503560ff16610fb0565b6040516001600160a01b03909116815260200160405180910390f35b6101cc6004803603602081101561051e57600080fd5b810190602081018135600160201b81111561053857600080fd5b82018360208201111561054a57600080fd5b803590602001918460208302840111600160201b8311171561056b57600080fd5b509092509050610fcd565b6101cc6004803603602081101561058c57600080fd5b810190602081018135600160201b8111156105a657600080fd5b8201836020820111156105b857600080fd5b803590602001918460208302840111600160201b831117156105d957600080fd5b5090925090506110d4565b6101cc600480360360208110156105fa57600080fd5b50356001600160a01b03166112e9565b61014c6004803603602081101561062057600080fd5b50356001600160a01b031661138d565b6101cc6004803603602081101561064657600080fd5b50356001600160a01b03166113a1565b61014c611499565b600360205280600052604060002054905081565b336000908152602081905260409020546001146106c35760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b60005b818110156107895760008383838181106106dc57fe5b905060200201356001600160a01b03166001600160a01b0316141561073e5760405162461bcd60e51b815260206004820152601460248201527304d656469616e2f6e6f2d636f6e74726163742d360641b604482015260640160405180910390fd5b60016004600085858581811061075057fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020556001016106c6565b505961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a4505050565b600154600160801b900463ffffffff1681565b336000908152602081905260409020546001146108295760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b600081116108755760405162461bcd60e51b81526020600482015260156024820152744d656469616e2f71756f72756d2d69732d7a65726f60581b604482015260640160405180910390fd5b600281066108c95760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f71756f72756d2d6e6f742d6f64642d6e756d62657200000000604482015260640160405180910390fd5b60028190555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b336000908152602081905260409020546001146109595760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b60005b818110156107895760006004600085858581811061097657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205560010161095c565b651694961554d160d21b81565b600460205280600052604060002054905081565b33600090815260046020526040812054600114610a335760405162461bcd60e51b815260206004820152601f60248201527f4d656469616e2f636f6e74726163742d6e6f742d77686974656c697374656400604482015260640160405180910390fd5b6001546001600160801b0316610a8f5760405162461bcd60e51b815260206004820152601960248201527f4d656469616e2f696e76616c69642d70726963652d6665656400000000000000604482015260640160405180910390fd5b506001546001600160801b031690565b3360009081526004602052806040812054600114610b035760405162461bcd60e51b815260206004820152601f60248201527f4d656469616e2f636f6e74726163742d6e6f742d77686974656c697374656400604482015260640160405180910390fd5b50506001546001600160801b03168015159091565b33600090815260208190526040902054600114610b695760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152600460205260408120555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b33600090815260208190526040902054600114610c0d5760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260019060409020555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b6002548914610cad5760405162461bcd60e51b81526020600482015260126024820152714d656469616e2f6261722d746f6f2d6c6f7760701b604482015260640160405180910390fd5b6001546000908190600160801b900463ffffffff16815b8c811015610eeb576000610d388f8f84818110610cdd57fe5b905060200201358e8e85818110610cf057fe5b905060200201358d8d86818110610d0357fe5b9050602002013560ff168c8c87818110610d1957fe5b905060200201358b8b88818110610d2c57fe5b9050602002013561149f565b6001600160a01b038116600090815260036020529091506040902054600114610d9f5760405162461bcd60e51b81526020600482015260156024820152744d656469616e2f696e76616c69642d6f7261636c6560581b604482015260640160405180910390fd5b828d8d84818110610dac57fe5b9050602002013511610dfb5760405162461bcd60e51b81526020600482015260146024820152734d656469616e2f7374616c652d6d65737361676560601b604482015260640160405180910390fd5b838f8f84818110610e0857fe5b905060200201351015610e615760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f6d657373616765732d6e6f742d696e2d6f7264657200000000604482015260640160405180910390fd5b8e8e83818110610e6d57fe5b602002919091013594505060ff609882901c16600286821c0615610ed75760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f6f7261636c652d616c72656164792d7369676e656400000000604482015260640160405180910390fd5b60ff1660020a949094019350600101610cc4565b508c8c600181901c818110610efc57fe5b600180546fffffffffffffffffffffffffffffffff191660209290920293909301356001600160801b039081169190911763ffffffff60801b1916600160801b4263ffffffff908116820292909217948590557fb78ebc573f1f889ca9e1e0fb62c843c836f3d3a2e1f43ef62940e9b894f4ea4c949283169350909104166040516001600160801b03909216825263ffffffff1660208201526040908101905180910390a150505050505050505050505050565b6005602052806000526040600020546001600160a01b0316905081565b3360009081526020819052604090205460011461101e5760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b60005b818110156107895760006003600085858581811061103b57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020556000600581609886868681811061107f57fe5b905060200201356001600160a01b03166001600160a01b0316901c60ff1660ff16815260200190815260200160002080546001600160a01b0319166001600160a01b0392909216919091179055600101611021565b336000908152602081905260409020546001146111255760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b60005b8181101561078957600083838381811061113e57fe5b905060200201356001600160a01b03166001600160a01b0316141561119e5760405162461bcd60e51b815260206004820152601260248201527104d656469616e2f6e6f2d6f7261636c652d360741b604482015260640160405180910390fd5b600060988484848181106111ae57fe5b905060200201356001600160a01b03166001600160a01b0316901c905060006001600160a01b0316600560008360ff1660ff168152602001908152602001600020546001600160a01b03161461124a5760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f7369676e65722d616c72656164792d65786973747300000000604482015260640160405180910390fd5b60016003600086868681811061125c57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205583838381811061129957fe5b905060200201356001600160a01b0316600560008360ff1660ff16815260200190815260200160002080546001600160a01b0319166001600160a01b039290921691909117905550600101611128565b3360009081526020819052604090205460011461133a5760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260408120555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b600060205280600052604060002054905081565b336000908152602081905260409020546001146113f25760405162461bcd60e51b8152602060048201526015602482015260008051602061159c833981519152604482015260640160405180910390fd5b6001600160a01b0381166114435760405162461bcd60e51b815260206004820152601460248201527304d656469616e2f6e6f2d636f6e74726163742d360641b604482015260640160405180910390fd5b6001600160a01b0381166000908152600460205260019060409020555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b60025481565b600060018686651694961554d160d21b604051602001808481526020018381526020018281526020019350505050604051602081830303815290604052805190602001206040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c810191909152605c016040516020818303038152906040528051906020012085858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611587573d6000803e3d6000fd5b50505060206040510351969550505050505056fe4d656469616e2f6e6f742d617574686f72697a65640000000000000000000000a265627a7a72315820c6c56fb1c0b448a5c151c876957b4a29b1c5fa30ee8a64533c7d87714453f6d764736f6c634300050f0032

Deployed Bytecode Sourcemap

6237:389:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6237:389:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:40;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:40:0;-1:-1:-1;;;;;2538:40:0;;:::i;:::-;;;;;;;;;;;;;;;5860:214;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5860:214:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5860:214:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5860:214:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;5860:214:0;;-1:-1:-1;5860:214:0;-1:-1:-1;5860:214:0;:::i;:::-;;2354:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;5435:196;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5435:196:0;;:::i;6082:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6082:148:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;6082:148:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6082:148:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;6082:148:0;;-1:-1:-1;6082:148:0;-1:-1:-1;6082:148:0;:::i;6276:38::-;;;:::i;2633:39::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2633:39:0;-1:-1:-1;;;;;2633:39:0;;:::i;3011:138::-;;;:::i;3157:98::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5779:73;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5779:73:0;-1:-1:-1;;;;;5779:73:0;;:::i;2078:65::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2078:65:0;-1:-1:-1;;;;;2078:65:0;;:::i;3571:1259::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3571:1259:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3571:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3571:1259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3571:1259:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3571:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3571:1259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3571:1259:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3571:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3571:1259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3571:1259:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3571:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3571:1259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3571:1259:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3571:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3571:1259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;3571:1259:0;;-1:-1:-1;3571:1259:0;-1:-1:-1;3571:1259:0;:::i;2721:38::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2721:38:0;;;;:::i;:::-;;;-1:-1:-1;;;;;2721:38:0;;;;;;;;;;;;;;5218:209;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5218:209:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5218:209:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5218:209:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;5218:209:0;;-1:-1:-1;5218:209:0;-1:-1:-1;5218:209:0;:::i;4838:372::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4838:372:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4838:372:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4838:372:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4838:372:0;;-1:-1:-1;4838:372:0;-1:-1:-1;4838:372:0;:::i;2149:65::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2149:65:0;-1:-1:-1;;;;;2149:65:0;;:::i;2033:38::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2033:38:0;-1:-1:-1;;;;;2033:38:0;;:::i;5639:132::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5639:132:0;-1:-1:-1;;;;;5639:132:0;;:::i;2464:22::-;;;:::i;2538:40::-;;;;;;;;;;;;-1:-1:-1;2538:40:0;:::o;5860:214::-;2259:10;2253:5;:17;;;;;;;;;;;2274:1;2253:22;2245:56;;;;-1:-1:-1;;;2245:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2245:56:0;;;;;;;;;;;;;;5930:6;5926:141;5942:12;;;5926:141;;;6000:1;5984;;5986;5984:4;;;;;;;;;;;;;-1:-1:-1;;;;;5984:4:0;-1:-1:-1;;;;;5984:18:0;;;5976:51;;;;-1:-1:-1;;;5976:51:0;;;;;;;;;;;;-1:-1:-1;;;5976:51:0;;;;;;;;;;;;;;6054:1;6042:3;:9;6046:1;;6048;6046:4;;;;;;;;;;;;;-1:-1:-1;;;;;6046:4:0;-1:-1:-1;;;;;6042:9:0;-1:-1:-1;;;;;6042:9:0;;;;;;;;;;;;:13;5956:3;;5926:141;;;;1229:5;1325:3;1319:4;1315:14;1309:4;1302:28;1400:4;1394;1387:18;1492:3;1485:4;1479;1475:15;1468:28;1579:3;1576:1;1569:4;1563;1559:15;1546:37;1901:2;1888:16;1838:1;1825:15;1756:6;-1:-1:-1;;;;;;1721:1:0;1708:15;1690:35;1629:3;1623:4;1618:333;1052:910;;;:::o;2354:18::-;;;-1:-1:-1;;;2354:18:0;;;;;:::o;5435:196::-;2259:10;2253:5;:17;;;;;;;;;;;2274:1;2253:22;2245:56;;;;-1:-1:-1;;;2245:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2245:56:0;;;;;;;;;;;;;;5510:1;5503:4;:8;5495:42;;;;-1:-1:-1;;;5495:42:0;;;;;;;;;;;;-1:-1:-1;;;5495:42:0;;;;;;;;;;;;;;5563:1;5556:4;:8;5548:54;;;;-1:-1:-1;;;5548:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5613:3;:10;;;1229:5;1325:3;1319:4;1315:14;1309:4;1302:28;1400:4;1394;1387:18;1492:3;1485:4;1479;1475:15;1468:28;1579:3;1576:1;1569:4;1563;1559:15;1546:37;1901:2;1888:16;1838:1;1825:15;1756:6;-1:-1:-1;;;;;;1721:1:0;1708:15;1690:35;1629:3;1623:4;1618:333;1052:910;;:::o;6082:148::-;2259:10;2253:5;:17;;;;;;;;;;;2274:1;2253:22;2245:56;;;;-1:-1:-1;;;2245:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2245:56:0;;;;;;;;;;;;;;6152:6;6148:75;6164:12;;;6148:75;;;6210:1;6198:3;:9;6202:1;;6204;6202:4;;;;;;;;;;;;;-1:-1:-1;;;;;6202:4:0;-1:-1:-1;;;;;6198:9:0;-1:-1:-1;;;;;6198:9:0;;;;;;;;;;;;:13;6178:3;;6148:75;;6276:38;-1:-1:-1;;;6276:38:0;:::o;2633:39::-;;;;;;;;;;;;-1:-1:-1;2633:39:0;:::o;3011:138::-;2796:10;3055:7;2792:15;;;:3;:15;;;3055:7;2792:15;;2811:1;2792:20;2784:64;;;;-1:-1:-1;;;2784:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3083:3;;-1:-1:-1;;;;;3083:3:0;3075:45;;;;-1:-1:-1;;;3075:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3138:3:0;;-1:-1:-1;;;;;3138:3:0;3011:138;:::o;3157:98::-;2796:10;3201:7;2792:15;;;:3;:15;;3201:7;2792:15;3201:7;2792:15;;2811:1;2792:20;2784:64;;;;-1:-1:-1;;;2784:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3234:3:0;;-1:-1:-1;;;;;3234:3:0;3239:7;;;3157:98;;:::o;5779:73::-;2259:10;2253:5;:17;;;;;;;;;;;2274:1;2253:22;2245:56;;;;-1:-1:-1;;;2245:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2245:56:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5834:6:0;;5843:1;5834:6;;;:3;:6;;;5843:1;5834:6;:10;1229:5;1325:3;1319:4;1315:14;1309:4;1302:28;1400:4;1394;1387:18;1492:3;1485:4;1479;1475:15;1468:28;1579:3;1576:1;1569:4;1563;1559:15;1546:37;1901:2;1888:16;1838:1;1825:15;1756:6;-1:-1:-1;;;;;;1721:1:0;1708:15;1690:35;1629:3;1623:4;1618:333;1052:910;;:::o;2078:65::-;2259:10;2253:5;:17;;;;;;;;;;;2274:1;2253:22;2245:56;;;;-1:-1:-1;;;2245:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2245:56:0;;;;;;;;;;;;;;-1:-1:-1;;;;;2126:10:0;;:5;:10;;;;;;;2139:1;;2126:10;;;:14;1229:5;1325:3;1319:4;1315:14;1309:4;1302:28;1400:4;1394;1387:18;1492:3;1485:4;1479;1475:15;1468:28;1579:3;1576:1;1569:4;1563;1559:15;1546:37;1901:2;1888:16;1838:1;1825:15;1756:6;-1:-1:-1;;;;;;1721:1:0;1708:15;1690:35;1629:3;1623:4;1618:333;1052:910;;:::o;3571:1259::-;3766:3;;3751:18;;3743:49;;;;-1:-1:-1;;;3743:49:0;;;;;;;;;;;;-1:-1:-1;;;3743:49:0;;;;;;;;;;;;;;3874:3;;3805:13;;;;-1:-1:-1;;;3874:3:0;;;;3805:13;3890:801;3907:15;;;3890:801;;;4016:14;4033:43;4041:4;;4046:1;4041:7;;;;;;;;;;;;;4050:4;;4055:1;4050:7;;;;;;;;;;;;;4059:1;;4061;4059:4;;;;;;;;;;;;;;;4065:1;;4067;4065:4;;;;;;;;;;;;;4071:1;;4073;4071:4;;;;;;;;;;;;;4033:7;:43::i;:::-;-1:-1:-1;;;;;4146:12:0;;;;;;:4;:12;;4016:60;;-1:-1:-1;4146:12:0;;;;4162:1;4146:17;4138:51;;;;-1:-1:-1;;;4138:51:0;;;;;;;;;;;;-1:-1:-1;;;4138:51:0;;;;;;;;;;;;;;4286:3;4276:4;;4281:1;4276:7;;;;;;;;;;;;;:13;4268:46;;;;-1:-1:-1;;;4268:46:0;;;;;;;;;;;;-1:-1:-1;;;4268:46:0;;;;;;;;;;;;;;4389:4;4378;;4383:1;4378:7;;;;;;;;;;;;;:15;;4370:56;;;;-1:-1:-1;;;4370:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4448:4;;4453:1;4448:7;;;;;;;;;;;;;;;-1:-1:-1;;4538:22:0;4557:3;4538:22;;;;4600:1;4585:11;;;4584:17;:22;4576:63;;;;-1:-1:-1;;;4576:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4663:16;;4671:1;4663:16;4654:25;;;;;-1:-1:-1;3924:3:0;;3890:801;;;-1:-1:-1;4717:4:0;;4737:1;4722:16;;;4717:22;;;;;;;4703:3;:37;;-1:-1:-1;;4703:37:0;4717:22;;;;;;;;;;-1:-1:-1;;;;;4703:37:0;;;;;;;-1:-1:-1;;;;4751:29:0;-1:-1:-1;;;4764:15:0;4751:29;;;;;;;;;;;;;;4798:24;;4813:3;;;;-1:-1:-1;4818:3:0;;;;4798:24;;-1:-1:-1;;;;;4798:24:0;;;;;;;;;;;;;;;;;;;;;;3571:1259;;;;;;;;;;;;;:::o;2721:38::-;;;;;;;;;;;-1:-1:-1;;;;;2721:38:0;;-1:-1:-1;2721:38:0;:::o;5218:209::-;2259:10;2253:5;:17;;;;;;;;;;;2274:1;2253:22;2245:56;;;;-1:-1:-1;;;2245:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2245:56:0;;;;;;;;;;;;;;5288:6;5283:137;5300:12;;;5283:137;;;5347:1;5334:4;:10;5339:1;;5341;5339:4;;;;;;;;;;;;;-1:-1:-1;;;;;5339:4:0;-1:-1:-1;;;;;5334:10:0;-1:-1:-1;;;;;5334:10:0;;;;;;;;;;;;:14;5407:1;5363:4;5407:1;5391:3;5382:1;;5384;5382:4;;;;;;;;;;;;;-1:-1:-1;;;;;5382:4:0;-1:-1:-1;;;;;5374:13:0;:20;;5363:33;;;;;;;;;;;;;;;:46;;-1:-1:-1;;;;;;5363:46:0;-1:-1:-1;;;;;5363:46:0;;;;;;;;;;-1:-1:-1;5314:3:0;5283:137;;4838:372;2259:10;2253:5;:17;;;;;;;;;;;2274:1;2253:22;2245:56;;;;-1:-1:-1;;;2245:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2245:56:0;;;;;;;;;;;;;;4909:6;4904:299;4921:12;;;4904:299;;;4979:1;4963;;4965;4963:4;;;;;;;;;;;;;-1:-1:-1;;;;;4963:4:0;-1:-1:-1;;;;;4963:18:0;;;4955:49;;;;-1:-1:-1;;;4955:49:0;;;;;;;;;;;;-1:-1:-1;;;4955:49:0;;;;;;;;;;;;;;5019:7;5052:3;5043:1;;5045;5043:4;;;;;;;;;;;;;-1:-1:-1;;;;;5043:4:0;-1:-1:-1;;;;;5035:13:0;:20;;5019:37;;5098:1;-1:-1:-1;;;;;5079:21:0;:4;:7;5084:1;5079:7;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5079:7:0;:21;5071:62;;;;-1:-1:-1;;;5071:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5161:1;5148:4;:10;5153:1;;5155;5153:4;;;;;;;;;;;;;-1:-1:-1;;;;;5153:4:0;-1:-1:-1;;;;;5148:10:0;-1:-1:-1;;;;;5148:10:0;;;;;;;;;;;;:14;5187:1;;5189;5187:4;;;;;;;;;;;;;-1:-1:-1;;;;;5187:4:0;5177;:7;5182:1;5177:7;;;;;;;;;;;;;;;:14;;-1:-1:-1;;;;;;5177:14:0;-1:-1:-1;;;;;5177:14:0;;;;;;;;;;-1:-1:-1;;4935:3:0;4904:299;;2149:65;2259:10;2253:5;:17;;;;;;;;;;;2274:1;2253:22;2245:56;;;;-1:-1:-1;;;2245:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2245:56:0;;;;;;;;;;;;;;-1:-1:-1;;;;;2197:10:0;;2210:1;2197:10;;;;;;;;2210:1;2197:10;:14;1229:5;1325:3;1319:4;1315:14;1309:4;1302:28;1400:4;1394;1387:18;1492:3;1485:4;1479;1475:15;1468:28;1579:3;1576:1;1569:4;1563;1559:15;1546:37;1901:2;1888:16;1838:1;1825:15;1756:6;-1:-1:-1;;;;;;1721:1:0;1708:15;1690:35;1629:3;1623:4;1618:333;1052:910;;:::o;2033:38::-;;;;;;;;;;;;-1:-1:-1;2033:38:0;:::o;5639:132::-;2259:10;2253:5;:17;;;;;;;;;;;2274:1;2253:22;2245:56;;;;-1:-1:-1;;;2245:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2245:56:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5702:15:0;;5694:48;;;;-1:-1:-1;;;5694:48:0;;;;;;;;;;;;-1:-1:-1;;;5694:48:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5753:6:0;;;;;;:3;:6;;5762:1;;5753:6;;;:10;1229:5;1325:3;1319:4;1315:14;1309:4;1302:28;1400:4;1394;1387:18;1492:3;1485:4;1479;1475:15;1468:28;1579:3;1576:1;1569:4;1563;1559:15;1546:37;1901:2;1888:16;1838:1;1825:15;1756:6;-1:-1:-1;;;;;;1721:1:0;1708:15;1690:35;1629:3;1623:4;1618:333;1052:910;;:::o;2464:22::-;;;;:::o;6323:300::-;6422:7;6449:166;6563:4;6569;-1:-1:-1;;;6546:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6546:33:0;;;6536:44;;;;;;6483:98;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6483:98:0;;;6473:109;;;;;;6597:1;6600;6603;6449:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:166:0;;;;;;;;6442:173;6323:300;-1:-1:-1;;;;;;6323:300:0:o

Swarm Source

bzzr://c6c56fb1c0b448a5c151c876957b4a29b1c5fa30ee8a64533c7d87714453f6d7

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.