ETH Price: $3,460.83 (+1.55%)
Gas: 7 Gwei

Contract

0x681c4F8f69cF68852BAd092086ffEaB31F5B812c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Poke179141132023-08-14 15:54:47322 days ago1692028487IN
0x681c4F8f...31F5B812c
0 ETH0.0063634846.00720406
Poke179129552023-08-14 12:02:11322 days ago1692014531IN
0x681c4F8f...31F5B812c
0 ETH0.0027206219.66121269
Poke179117972023-08-14 8:09:23322 days ago1692000563IN
0x681c4F8f...31F5B812c
0 ETH0.00230816.68223385
Poke179106402023-08-14 4:16:35322 days ago1691986595IN
0x681c4F8f...31F5B812c
0 ETH0.0016904512.22174881
Poke179095142023-08-14 0:28:11322 days ago1691972891IN
0x681c4F8f...31F5B812c
0 ETH0.0017122612.38055325
Poke179083762023-08-13 20:38:47322 days ago1691959127IN
0x681c4F8f...31F5B812c
0 ETH0.0025718.57597828
Poke179072442023-08-13 16:51:11323 days ago1691945471IN
0x681c4F8f...31F5B812c
0 ETH0.0027163919.63410145
Poke179061052023-08-13 13:02:11323 days ago1691931731IN
0x681c4F8f...31F5B812c
0 ETH0.0021835615.78414169
Poke179049652023-08-13 9:12:23323 days ago1691917943IN
0x681c4F8f...31F5B812c
0 ETH0.0017097812.37013496
Poke179038122023-08-13 5:20:23323 days ago1691904023IN
0x681c4F8f...31F5B812c
0 ETH0.0014679410.62039278
Poke179026782023-08-13 1:32:23323 days ago1691890343IN
0x681c4F8f...31F5B812c
0 ETH0.0015931511.51331215
Poke179015342023-08-12 21:42:47323 days ago1691876567IN
0x681c4F8f...31F5B812c
0 ETH0.0016113511.65295209
Poke179004042023-08-12 17:55:11323 days ago1691862911IN
0x681c4F8f...31F5B812c
0 ETH0.0019975714.44096036
Poke178992692023-08-12 14:06:59324 days ago1691849219IN
0x681c4F8f...31F5B812c
0 ETH0.0043201831.22625466
Poke178981422023-08-12 10:18:11324 days ago1691835491IN
0x681c4F8f...31F5B812c
0 ETH0.0018017613.02879065
Poke178970032023-08-12 6:29:47324 days ago1691821787IN
0x681c4F8f...31F5B812c
0 ETH0.0016421111.86922009
Poke178958702023-08-12 2:41:59324 days ago1691808119IN
0x681c4F8f...31F5B812c
0 ETH0.001785412.90041573
Poke178947452023-08-11 22:53:35324 days ago1691794415IN
0x681c4F8f...31F5B812c
0 ETH0.002227616.10112709
Poke178936152023-08-11 19:04:35324 days ago1691780675IN
0x681c4F8f...31F5B812c
0 ETH0.0038279127.67051536
Poke178924852023-08-11 15:17:23325 days ago1691767043IN
0x681c4F8f...31F5B812c
0 ETH0.0044446832.12060544
Poke178913402023-08-11 11:27:23325 days ago1691753243IN
0x681c4F8f...31F5B812c
0 ETH0.0026147418.89935787
Poke178901742023-08-11 7:32:35325 days ago1691739155IN
0x681c4F8f...31F5B812c
0 ETH0.0032308523.35261546
Poke178890122023-08-11 3:38:59325 days ago1691725139IN
0x681c4F8f...31F5B812c
0 ETH0.0019175513.85886991
Poke178878722023-08-10 23:49:59325 days ago1691711399IN
0x681c4F8f...31F5B812c
0 ETH0.0021517715.56113465
Poke178867402023-08-10 20:02:23325 days ago1691697743IN
0x681c4F8f...31F5B812c
0 ETH0.004975435.95597172
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:
MedianMANAUSD

Compiler Version
v0.5.15+commit.6a57276f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-07-22
*/

/// median.sol

// Copyright (C) 2017-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 Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

pragma solidity >=0.5.10;

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 MedianMANAUSD is Median {
    bytes32 public constant wat = "MANAUSD";

    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"}]

6080604090815260016002819055336000908152602081905291909120556115f28061002c6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806365c4ce7a116100ad578063943181061161007157806394318106146105765780639c52a7f1146105e4578063bf353dbb1461060a578063f29c29c414610630578063febb0f7e1461065657610121565b806365c4ce7a146102d257806365fae35e146102f857806389bbb8b21461031e5780638d0e5a9a146104cc5780638ef5eaf01461050857610121565b806346d4577d116100f457806346d4577d1461020c5780634ca299231461027a5780634fce7a2a1461028257806357de26a4146102a857806359e02dd7146102b057610121565b8063020b2e32146101265780631b25b65f1461015e578063262a9dff146101ce578063352d3fba146101ef575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b031661065e565b60405190815260200160405180910390f35b6101cc6004803603602081101561017457600080fd5b810190602081018135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460208302840111600160201b831117156101c157600080fd5b509092509050610672565b005b6101d66107c5565b60405163ffffffff909116815260200160405180910390f35b6101cc6004803603602081101561020557600080fd5b50356107d8565b6101cc6004803603602081101561022257600080fd5b810190602081018135600160201b81111561023c57600080fd5b82018360208201111561024e57600080fd5b803590602001918460208302840111600160201b8311171561026f57600080fd5b509092509050610908565b61014c6109af565b61014c6004803603602081101561029857600080fd5b50356001600160a01b03166109bd565b61014c6109d1565b6102b8610aa0565b604051918252151560208201526040908101905180910390f35b6101cc600480360360208110156102e857600080fd5b50356001600160a01b0316610b19565b6101cc6004803603602081101561030e57600080fd5b50356001600160a01b0316610bbd565b6101cc600480360360a081101561033457600080fd5b810190602081018135600160201b81111561034e57600080fd5b82018360208201111561036057600080fd5b803590602001918460208302840111600160201b8311171561038157600080fd5b919390929091602081019035600160201b81111561039e57600080fd5b8201836020820111156103b057600080fd5b803590602001918460208302840111600160201b831117156103d157600080fd5b919390929091602081019035600160201b8111156103ee57600080fd5b82018360208201111561040057600080fd5b803590602001918460208302840111600160201b8311171561042157600080fd5b919390929091602081019035600160201b81111561043e57600080fd5b82018360208201111561045057600080fd5b803590602001918460208302840111600160201b8311171561047157600080fd5b919390929091602081019035600160201b81111561048e57600080fd5b8201836020820111156104a057600080fd5b803590602001918460208302840111600160201b831117156104c157600080fd5b509092509050610c64565b6104ec600480360360208110156104e257600080fd5b503560ff16610fb1565b6040516001600160a01b03909116815260200160405180910390f35b6101cc6004803603602081101561051e57600080fd5b810190602081018135600160201b81111561053857600080fd5b82018360208201111561054a57600080fd5b803590602001918460208302840111600160201b8311171561056b57600080fd5b509092509050610fce565b6101cc6004803603602081101561058c57600080fd5b810190602081018135600160201b8111156105a657600080fd5b8201836020820111156105b857600080fd5b803590602001918460208302840111600160201b831117156105d957600080fd5b5090925090506110d5565b6101cc600480360360208110156105fa57600080fd5b50356001600160a01b03166112ea565b61014c6004803603602081101561062057600080fd5b50356001600160a01b031661138e565b6101cc6004803603602081101561064657600080fd5b50356001600160a01b03166113a2565b61014c61149a565b600360205280600052604060002054905081565b336000908152602081905260409020546001146106c35760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b60005b818110156107895760008383838181106106dc57fe5b905060200201356001600160a01b03166001600160a01b0316141561073e5760405162461bcd60e51b815260206004820152601460248201527304d656469616e2f6e6f2d636f6e74726163742d360641b604482015260640160405180910390fd5b60016004600085858581811061075057fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020556001016106c6565b505961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a4505050565b600154600160801b900463ffffffff1681565b336000908152602081905260409020546001146108295760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b600081116108755760405162461bcd60e51b81526020600482015260156024820152744d656469616e2f71756f72756d2d69732d7a65726f60581b604482015260640160405180910390fd5b600281066108c95760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f71756f72756d2d6e6f742d6f64642d6e756d62657200000000604482015260640160405180910390fd5b60028190555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b336000908152602081905260409020546001146109595760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b60005b818110156107895760006004600085858581811061097657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205560010161095c565b66135053905554d160ca1b81565b600460205280600052604060002054905081565b33600090815260046020526040812054600114610a345760405162461bcd60e51b815260206004820152601f60248201527f4d656469616e2f636f6e74726163742d6e6f742d77686974656c697374656400604482015260640160405180910390fd5b6001546001600160801b0316610a905760405162461bcd60e51b815260206004820152601960248201527f4d656469616e2f696e76616c69642d70726963652d6665656400000000000000604482015260640160405180910390fd5b506001546001600160801b031690565b3360009081526004602052806040812054600114610b045760405162461bcd60e51b815260206004820152601f60248201527f4d656469616e2f636f6e74726163742d6e6f742d77686974656c697374656400604482015260640160405180910390fd5b50506001546001600160801b03168015159091565b33600090815260208190526040902054600114610b6a5760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152600460205260408120555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b33600090815260208190526040902054600114610c0e5760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260019060409020555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b6002548914610cae5760405162461bcd60e51b81526020600482015260126024820152714d656469616e2f6261722d746f6f2d6c6f7760701b604482015260640160405180910390fd5b6001546000908190600160801b900463ffffffff16815b8c811015610eec576000610d398f8f84818110610cde57fe5b905060200201358e8e85818110610cf157fe5b905060200201358d8d86818110610d0457fe5b9050602002013560ff168c8c87818110610d1a57fe5b905060200201358b8b88818110610d2d57fe5b905060200201356114a0565b6001600160a01b038116600090815260036020529091506040902054600114610da05760405162461bcd60e51b81526020600482015260156024820152744d656469616e2f696e76616c69642d6f7261636c6560581b604482015260640160405180910390fd5b828d8d84818110610dad57fe5b9050602002013511610dfc5760405162461bcd60e51b81526020600482015260146024820152734d656469616e2f7374616c652d6d65737361676560601b604482015260640160405180910390fd5b838f8f84818110610e0957fe5b905060200201351015610e625760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f6d657373616765732d6e6f742d696e2d6f7264657200000000604482015260640160405180910390fd5b8e8e83818110610e6e57fe5b602002919091013594505060ff609882901c16600286821c0615610ed85760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f6f7261636c652d616c72656164792d7369676e656400000000604482015260640160405180910390fd5b60ff1660020a949094019350600101610cc5565b508c8c600181901c818110610efd57fe5b600180546fffffffffffffffffffffffffffffffff191660209290920293909301356001600160801b039081169190911763ffffffff60801b1916600160801b4263ffffffff908116820292909217948590557fb78ebc573f1f889ca9e1e0fb62c843c836f3d3a2e1f43ef62940e9b894f4ea4c949283169350909104166040516001600160801b03909216825263ffffffff1660208201526040908101905180910390a150505050505050505050505050565b6005602052806000526040600020546001600160a01b0316905081565b3360009081526020819052604090205460011461101f5760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b60005b818110156107895760006003600085858581811061103c57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020556000600581609886868681811061108057fe5b905060200201356001600160a01b03166001600160a01b0316901c60ff1660ff16815260200190815260200160002080546001600160a01b0319166001600160a01b0392909216919091179055600101611022565b336000908152602081905260409020546001146111265760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b60005b8181101561078957600083838381811061113f57fe5b905060200201356001600160a01b03166001600160a01b0316141561119f5760405162461bcd60e51b815260206004820152601260248201527104d656469616e2f6e6f2d6f7261636c652d360741b604482015260640160405180910390fd5b600060988484848181106111af57fe5b905060200201356001600160a01b03166001600160a01b0316901c905060006001600160a01b0316600560008360ff1660ff168152602001908152602001600020546001600160a01b03161461124b5760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f7369676e65722d616c72656164792d65786973747300000000604482015260640160405180910390fd5b60016003600086868681811061125d57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205583838381811061129a57fe5b905060200201356001600160a01b0316600560008360ff1660ff16815260200190815260200160002080546001600160a01b0319166001600160a01b039290921691909117905550600101611129565b3360009081526020819052604090205460011461133b5760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260408120555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b600060205280600052604060002054905081565b336000908152602081905260409020546001146113f35760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b6001600160a01b0381166114445760405162461bcd60e51b815260206004820152601460248201527304d656469616e2f6e6f2d636f6e74726163742d360641b604482015260640160405180910390fd5b6001600160a01b0381166000908152600460205260019060409020555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b60025481565b60006001868666135053905554d160ca1b604051602001808481526020018381526020018281526020019350505050604051602081830303815290604052805190602001206040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c810191909152605c016040516020818303038152906040528051906020012085858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611589573d6000803e3d6000fd5b50505060206040510351969550505050505056fe4d656469616e2f6e6f742d617574686f72697a65640000000000000000000000a265627a7a72315820df92ee722b6e11fd9951a527389bc7e63d945b960a6e702e67b4afc925e2f32d64736f6c634300050f0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806365c4ce7a116100ad578063943181061161007157806394318106146105765780639c52a7f1146105e4578063bf353dbb1461060a578063f29c29c414610630578063febb0f7e1461065657610121565b806365c4ce7a146102d257806365fae35e146102f857806389bbb8b21461031e5780638d0e5a9a146104cc5780638ef5eaf01461050857610121565b806346d4577d116100f457806346d4577d1461020c5780634ca299231461027a5780634fce7a2a1461028257806357de26a4146102a857806359e02dd7146102b057610121565b8063020b2e32146101265780631b25b65f1461015e578063262a9dff146101ce578063352d3fba146101ef575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b031661065e565b60405190815260200160405180910390f35b6101cc6004803603602081101561017457600080fd5b810190602081018135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460208302840111600160201b831117156101c157600080fd5b509092509050610672565b005b6101d66107c5565b60405163ffffffff909116815260200160405180910390f35b6101cc6004803603602081101561020557600080fd5b50356107d8565b6101cc6004803603602081101561022257600080fd5b810190602081018135600160201b81111561023c57600080fd5b82018360208201111561024e57600080fd5b803590602001918460208302840111600160201b8311171561026f57600080fd5b509092509050610908565b61014c6109af565b61014c6004803603602081101561029857600080fd5b50356001600160a01b03166109bd565b61014c6109d1565b6102b8610aa0565b604051918252151560208201526040908101905180910390f35b6101cc600480360360208110156102e857600080fd5b50356001600160a01b0316610b19565b6101cc6004803603602081101561030e57600080fd5b50356001600160a01b0316610bbd565b6101cc600480360360a081101561033457600080fd5b810190602081018135600160201b81111561034e57600080fd5b82018360208201111561036057600080fd5b803590602001918460208302840111600160201b8311171561038157600080fd5b919390929091602081019035600160201b81111561039e57600080fd5b8201836020820111156103b057600080fd5b803590602001918460208302840111600160201b831117156103d157600080fd5b919390929091602081019035600160201b8111156103ee57600080fd5b82018360208201111561040057600080fd5b803590602001918460208302840111600160201b8311171561042157600080fd5b919390929091602081019035600160201b81111561043e57600080fd5b82018360208201111561045057600080fd5b803590602001918460208302840111600160201b8311171561047157600080fd5b919390929091602081019035600160201b81111561048e57600080fd5b8201836020820111156104a057600080fd5b803590602001918460208302840111600160201b831117156104c157600080fd5b509092509050610c64565b6104ec600480360360208110156104e257600080fd5b503560ff16610fb1565b6040516001600160a01b03909116815260200160405180910390f35b6101cc6004803603602081101561051e57600080fd5b810190602081018135600160201b81111561053857600080fd5b82018360208201111561054a57600080fd5b803590602001918460208302840111600160201b8311171561056b57600080fd5b509092509050610fce565b6101cc6004803603602081101561058c57600080fd5b810190602081018135600160201b8111156105a657600080fd5b8201836020820111156105b857600080fd5b803590602001918460208302840111600160201b831117156105d957600080fd5b5090925090506110d5565b6101cc600480360360208110156105fa57600080fd5b50356001600160a01b03166112ea565b61014c6004803603602081101561062057600080fd5b50356001600160a01b031661138e565b6101cc6004803603602081101561064657600080fd5b50356001600160a01b03166113a2565b61014c61149a565b600360205280600052604060002054905081565b336000908152602081905260409020546001146106c35760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b60005b818110156107895760008383838181106106dc57fe5b905060200201356001600160a01b03166001600160a01b0316141561073e5760405162461bcd60e51b815260206004820152601460248201527304d656469616e2f6e6f2d636f6e74726163742d360641b604482015260640160405180910390fd5b60016004600085858581811061075057fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020556001016106c6565b505961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a4505050565b600154600160801b900463ffffffff1681565b336000908152602081905260409020546001146108295760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b600081116108755760405162461bcd60e51b81526020600482015260156024820152744d656469616e2f71756f72756d2d69732d7a65726f60581b604482015260640160405180910390fd5b600281066108c95760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f71756f72756d2d6e6f742d6f64642d6e756d62657200000000604482015260640160405180910390fd5b60028190555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b336000908152602081905260409020546001146109595760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b60005b818110156107895760006004600085858581811061097657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205560010161095c565b66135053905554d160ca1b81565b600460205280600052604060002054905081565b33600090815260046020526040812054600114610a345760405162461bcd60e51b815260206004820152601f60248201527f4d656469616e2f636f6e74726163742d6e6f742d77686974656c697374656400604482015260640160405180910390fd5b6001546001600160801b0316610a905760405162461bcd60e51b815260206004820152601960248201527f4d656469616e2f696e76616c69642d70726963652d6665656400000000000000604482015260640160405180910390fd5b506001546001600160801b031690565b3360009081526004602052806040812054600114610b045760405162461bcd60e51b815260206004820152601f60248201527f4d656469616e2f636f6e74726163742d6e6f742d77686974656c697374656400604482015260640160405180910390fd5b50506001546001600160801b03168015159091565b33600090815260208190526040902054600114610b6a5760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152600460205260408120555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b33600090815260208190526040902054600114610c0e5760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260019060409020555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b6002548914610cae5760405162461bcd60e51b81526020600482015260126024820152714d656469616e2f6261722d746f6f2d6c6f7760701b604482015260640160405180910390fd5b6001546000908190600160801b900463ffffffff16815b8c811015610eec576000610d398f8f84818110610cde57fe5b905060200201358e8e85818110610cf157fe5b905060200201358d8d86818110610d0457fe5b9050602002013560ff168c8c87818110610d1a57fe5b905060200201358b8b88818110610d2d57fe5b905060200201356114a0565b6001600160a01b038116600090815260036020529091506040902054600114610da05760405162461bcd60e51b81526020600482015260156024820152744d656469616e2f696e76616c69642d6f7261636c6560581b604482015260640160405180910390fd5b828d8d84818110610dad57fe5b9050602002013511610dfc5760405162461bcd60e51b81526020600482015260146024820152734d656469616e2f7374616c652d6d65737361676560601b604482015260640160405180910390fd5b838f8f84818110610e0957fe5b905060200201351015610e625760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f6d657373616765732d6e6f742d696e2d6f7264657200000000604482015260640160405180910390fd5b8e8e83818110610e6e57fe5b602002919091013594505060ff609882901c16600286821c0615610ed85760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f6f7261636c652d616c72656164792d7369676e656400000000604482015260640160405180910390fd5b60ff1660020a949094019350600101610cc5565b508c8c600181901c818110610efd57fe5b600180546fffffffffffffffffffffffffffffffff191660209290920293909301356001600160801b039081169190911763ffffffff60801b1916600160801b4263ffffffff908116820292909217948590557fb78ebc573f1f889ca9e1e0fb62c843c836f3d3a2e1f43ef62940e9b894f4ea4c949283169350909104166040516001600160801b03909216825263ffffffff1660208201526040908101905180910390a150505050505050505050505050565b6005602052806000526040600020546001600160a01b0316905081565b3360009081526020819052604090205460011461101f5760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b60005b818110156107895760006003600085858581811061103c57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020556000600581609886868681811061108057fe5b905060200201356001600160a01b03166001600160a01b0316901c60ff1660ff16815260200190815260200160002080546001600160a01b0319166001600160a01b0392909216919091179055600101611022565b336000908152602081905260409020546001146111265760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b60005b8181101561078957600083838381811061113f57fe5b905060200201356001600160a01b03166001600160a01b0316141561119f5760405162461bcd60e51b815260206004820152601260248201527104d656469616e2f6e6f2d6f7261636c652d360741b604482015260640160405180910390fd5b600060988484848181106111af57fe5b905060200201356001600160a01b03166001600160a01b0316901c905060006001600160a01b0316600560008360ff1660ff168152602001908152602001600020546001600160a01b03161461124b5760405162461bcd60e51b815260206004820152601c60248201527f4d656469616e2f7369676e65722d616c72656164792d65786973747300000000604482015260640160405180910390fd5b60016003600086868681811061125d57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000205583838381811061129a57fe5b905060200201356001600160a01b0316600560008360ff1660ff16815260200190815260200160002080546001600160a01b0319166001600160a01b039290921691909117905550600101611129565b3360009081526020819052604090205460011461133b5760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260408120555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b600060205280600052604060002054905081565b336000908152602081905260409020546001146113f35760405162461bcd60e51b8152602060048201526015602482015260008051602061159e833981519152604482015260640160405180910390fd5b6001600160a01b0381166114445760405162461bcd60e51b815260206004820152601460248201527304d656469616e2f6e6f2d636f6e74726163742d360641b604482015260640160405180910390fd5b6001600160a01b0381166000908152600460205260019060409020555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b60025481565b60006001868666135053905554d160ca1b604051602001808481526020018381526020018281526020019350505050604051602081830303815290604052805190602001206040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c810191909152605c016040516020818303038152906040528051906020012085858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611589573d6000803e3d6000fd5b50505060206040510351969550505050505056fe4d656469616e2f6e6f742d617574686f72697a65640000000000000000000000a265627a7a72315820df92ee722b6e11fd9951a527389bc7e63d945b960a6e702e67b4afc925e2f32d64736f6c634300050f0032

Deployed Bytecode Sourcemap

6254:391:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6254:391:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2555:40;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2555:40:0;-1:-1:-1;;;;;2555:40:0;;:::i;:::-;;;;;;;;;;;;;;;5877:214;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5877:214:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5877:214:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5877: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;5877:214:0;;-1:-1:-1;5877:214:0;-1:-1:-1;5877:214:0;:::i;:::-;;2371:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;5452:196;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5452:196:0;;:::i;6099:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6099:148:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;6099:148:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6099: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;6099:148:0;;-1:-1:-1;6099:148:0;-1:-1:-1;6099:148:0;:::i;6294:39::-;;;:::i;2650:::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2650:39:0;-1:-1:-1;;;;;2650:39:0;;:::i;3028:138::-;;;:::i;3174:98::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5796:73;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5796:73:0;-1:-1:-1;;;;;5796:73:0;;:::i;2095:65::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2095:65:0;-1:-1:-1;;;;;2095:65:0;;:::i;3588:1259::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3588:1259:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3588:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3588: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;3588:1259:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3588:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3588: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;3588:1259:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3588:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3588: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;3588:1259:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3588:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3588: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;3588:1259:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;3588:1259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3588: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;3588:1259:0;;-1:-1:-1;3588:1259:0;-1:-1:-1;3588:1259:0;:::i;2738:38::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2738:38:0;;;;:::i;:::-;;;-1:-1:-1;;;;;2738:38:0;;;;;;;;;;;;;;5235:209;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5235:209:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5235:209:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5235: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;5235:209:0;;-1:-1:-1;5235:209:0;-1:-1:-1;5235:209:0;:::i;4855:372::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4855:372:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4855:372:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4855: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;4855:372:0;;-1:-1:-1;4855:372:0;-1:-1:-1;4855:372:0;:::i;2166:65::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2166:65:0;-1:-1:-1;;;;;2166:65:0;;:::i;2050:38::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2050:38:0;-1:-1:-1;;;;;2050:38:0;;:::i;5656:132::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5656:132:0;-1:-1:-1;;;;;5656:132:0;;:::i;2481:22::-;;;:::i;2555:40::-;;;;;;;;;;;;-1:-1:-1;2555:40:0;:::o;5877:214::-;2276:10;2270:5;:17;;;;;;;;;;;2291:1;2270:22;2262:56;;;;-1:-1:-1;;;2262:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2262:56:0;;;;;;;;;;;;;;5947:6;5943:141;5959:12;;;5943:141;;;6017:1;6001;;6003;6001:4;;;;;;;;;;;;;-1:-1:-1;;;;;6001:4:0;-1:-1:-1;;;;;6001:18:0;;;5993:51;;;;-1:-1:-1;;;5993:51:0;;;;;;;;;;;;-1:-1:-1;;;5993:51:0;;;;;;;;;;;;;;6071:1;6059:3;:9;6063:1;;6065;6063:4;;;;;;;;;;;;;-1:-1:-1;;;;;6063:4:0;-1:-1:-1;;;;;6059:9:0;-1:-1:-1;;;;;6059:9:0;;;;;;;;;;;;:13;5973:3;;5943:141;;;;1246:5;1342:3;1336:4;1332:14;1326:4;1319:28;1417:4;1411;1404:18;1509:3;1502:4;1496;1492:15;1485:28;1596:3;1593:1;1586:4;1580;1576:15;1563:37;1918:2;1905:16;1855:1;1842:15;1773:6;-1:-1:-1;;;;;;1738:1:0;1725:15;1707:35;1646:3;1640:4;1635:333;1069:910;;;:::o;2371:18::-;;;-1:-1:-1;;;2371:18:0;;;;;:::o;5452:196::-;2276:10;2270:5;:17;;;;;;;;;;;2291:1;2270:22;2262:56;;;;-1:-1:-1;;;2262:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2262:56:0;;;;;;;;;;;;;;5527:1;5520:4;:8;5512:42;;;;-1:-1:-1;;;5512:42:0;;;;;;;;;;;;-1:-1:-1;;;5512:42:0;;;;;;;;;;;;;;5580:1;5573:4;:8;5565:54;;;;-1:-1:-1;;;5565:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:3;:10;;;1246:5;1342:3;1336:4;1332:14;1326:4;1319:28;1417:4;1411;1404:18;1509:3;1502:4;1496;1492:15;1485:28;1596:3;1593:1;1586:4;1580;1576:15;1563:37;1918:2;1905:16;1855:1;1842:15;1773:6;-1:-1:-1;;;;;;1738:1:0;1725:15;1707:35;1646:3;1640:4;1635:333;1069:910;;:::o;6099:148::-;2276:10;2270:5;:17;;;;;;;;;;;2291:1;2270:22;2262:56;;;;-1:-1:-1;;;2262:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2262:56:0;;;;;;;;;;;;;;6169:6;6165:75;6181:12;;;6165:75;;;6227:1;6215:3;:9;6219:1;;6221;6219:4;;;;;;;;;;;;;-1:-1:-1;;;;;6219:4:0;-1:-1:-1;;;;;6215:9:0;-1:-1:-1;;;;;6215:9:0;;;;;;;;;;;;:13;6195:3;;6165:75;;6294:39;-1:-1:-1;;;6294:39:0;:::o;2650:::-;;;;;;;;;;;;-1:-1:-1;2650:39:0;:::o;3028:138::-;2813:10;3072:7;2809:15;;;:3;:15;;;3072:7;2809:15;;2828:1;2809:20;2801:64;;;;-1:-1:-1;;;2801:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3100:3;;-1:-1:-1;;;;;3100:3:0;3092:45;;;;-1:-1:-1;;;3092:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3155:3:0;;-1:-1:-1;;;;;3155:3:0;3028:138;:::o;3174:98::-;2813:10;3218:7;2809:15;;;:3;:15;;3218:7;2809:15;3218:7;2809:15;;2828:1;2809:20;2801:64;;;;-1:-1:-1;;;2801:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3251:3:0;;-1:-1:-1;;;;;3251:3:0;3256:7;;;3174:98;;:::o;5796:73::-;2276:10;2270:5;:17;;;;;;;;;;;2291:1;2270:22;2262:56;;;;-1:-1:-1;;;2262:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2262:56:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5851:6:0;;5860:1;5851:6;;;:3;:6;;;5860:1;5851:6;:10;1246:5;1342:3;1336:4;1332:14;1326:4;1319:28;1417:4;1411;1404:18;1509:3;1502:4;1496;1492:15;1485:28;1596:3;1593:1;1586:4;1580;1576:15;1563:37;1918:2;1905:16;1855:1;1842:15;1773:6;-1:-1:-1;;;;;;1738:1:0;1725:15;1707:35;1646:3;1640:4;1635:333;1069:910;;:::o;2095:65::-;2276:10;2270:5;:17;;;;;;;;;;;2291:1;2270:22;2262:56;;;;-1:-1:-1;;;2262:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2262:56:0;;;;;;;;;;;;;;-1:-1:-1;;;;;2143:10:0;;:5;:10;;;;;;;2156:1;;2143:10;;;:14;1246:5;1342:3;1336:4;1332:14;1326:4;1319:28;1417:4;1411;1404:18;1509:3;1502:4;1496;1492:15;1485:28;1596:3;1593:1;1586:4;1580;1576:15;1563:37;1918:2;1905:16;1855:1;1842:15;1773:6;-1:-1:-1;;;;;;1738:1:0;1725:15;1707:35;1646:3;1640:4;1635:333;1069:910;;:::o;3588:1259::-;3783:3;;3768:18;;3760:49;;;;-1:-1:-1;;;3760:49:0;;;;;;;;;;;;-1:-1:-1;;;3760:49:0;;;;;;;;;;;;;;3891:3;;3822:13;;;;-1:-1:-1;;;3891:3:0;;;;3822:13;3907:801;3924:15;;;3907:801;;;4033:14;4050:43;4058:4;;4063:1;4058:7;;;;;;;;;;;;;4067:4;;4072:1;4067:7;;;;;;;;;;;;;4076:1;;4078;4076:4;;;;;;;;;;;;;;;4082:1;;4084;4082:4;;;;;;;;;;;;;4088:1;;4090;4088:4;;;;;;;;;;;;;4050:7;:43::i;:::-;-1:-1:-1;;;;;4163:12:0;;;;;;:4;:12;;4033:60;;-1:-1:-1;4163:12:0;;;;4179:1;4163:17;4155:51;;;;-1:-1:-1;;;4155:51:0;;;;;;;;;;;;-1:-1:-1;;;4155:51:0;;;;;;;;;;;;;;4303:3;4293:4;;4298:1;4293:7;;;;;;;;;;;;;:13;4285:46;;;;-1:-1:-1;;;4285:46:0;;;;;;;;;;;;-1:-1:-1;;;4285:46:0;;;;;;;;;;;;;;4406:4;4395;;4400:1;4395:7;;;;;;;;;;;;;:15;;4387:56;;;;-1:-1:-1;;;4387:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4465:4;;4470:1;4465:7;;;;;;;;;;;;;;;-1:-1:-1;;4555:22:0;4574:3;4555:22;;;;4617:1;4602:11;;;4601:17;:22;4593:63;;;;-1:-1:-1;;;4593:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4680:16;;4688:1;4680:16;4671:25;;;;;-1:-1:-1;3941:3:0;;3907:801;;;-1:-1:-1;4734:4:0;;4754:1;4739:16;;;4734:22;;;;;;;4720:3;:37;;-1:-1:-1;;4720:37:0;4734:22;;;;;;;;;;-1:-1:-1;;;;;4720:37:0;;;;;;;-1:-1:-1;;;;4768:29:0;-1:-1:-1;;;4781:15:0;4768:29;;;;;;;;;;;;;;4815:24;;4830:3;;;;-1:-1:-1;4835:3:0;;;;4815:24;;-1:-1:-1;;;;;4815:24:0;;;;;;;;;;;;;;;;;;;;;;3588:1259;;;;;;;;;;;;;:::o;2738:38::-;;;;;;;;;;;-1:-1:-1;;;;;2738:38:0;;-1:-1:-1;2738:38:0;:::o;5235:209::-;2276:10;2270:5;:17;;;;;;;;;;;2291:1;2270:22;2262:56;;;;-1:-1:-1;;;2262:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2262:56:0;;;;;;;;;;;;;;5305:6;5300:137;5317:12;;;5300:137;;;5364:1;5351:4;:10;5356:1;;5358;5356:4;;;;;;;;;;;;;-1:-1:-1;;;;;5356:4:0;-1:-1:-1;;;;;5351:10:0;-1:-1:-1;;;;;5351:10:0;;;;;;;;;;;;:14;5424:1;5380:4;5424:1;5408:3;5399:1;;5401;5399:4;;;;;;;;;;;;;-1:-1:-1;;;;;5399:4:0;-1:-1:-1;;;;;5391:13:0;:20;;5380:33;;;;;;;;;;;;;;;:46;;-1:-1:-1;;;;;;5380:46:0;-1:-1:-1;;;;;5380:46:0;;;;;;;;;;-1:-1:-1;5331:3:0;5300:137;;4855:372;2276:10;2270:5;:17;;;;;;;;;;;2291:1;2270:22;2262:56;;;;-1:-1:-1;;;2262:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2262:56:0;;;;;;;;;;;;;;4926:6;4921:299;4938:12;;;4921:299;;;4996:1;4980;;4982;4980:4;;;;;;;;;;;;;-1:-1:-1;;;;;4980:4:0;-1:-1:-1;;;;;4980:18:0;;;4972:49;;;;-1:-1:-1;;;4972:49:0;;;;;;;;;;;;-1:-1:-1;;;4972:49:0;;;;;;;;;;;;;;5036:7;5069:3;5060:1;;5062;5060:4;;;;;;;;;;;;;-1:-1:-1;;;;;5060:4:0;-1:-1:-1;;;;;5052:13:0;:20;;5036:37;;5115:1;-1:-1:-1;;;;;5096:21:0;:4;:7;5101:1;5096:7;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5096:7:0;:21;5088:62;;;;-1:-1:-1;;;5088:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5178:1;5165:4;:10;5170:1;;5172;5170:4;;;;;;;;;;;;;-1:-1:-1;;;;;5170:4:0;-1:-1:-1;;;;;5165:10:0;-1:-1:-1;;;;;5165:10:0;;;;;;;;;;;;:14;5204:1;;5206;5204:4;;;;;;;;;;;;;-1:-1:-1;;;;;5204:4:0;5194;:7;5199:1;5194:7;;;;;;;;;;;;;;;:14;;-1:-1:-1;;;;;;5194:14:0;-1:-1:-1;;;;;5194:14:0;;;;;;;;;;-1:-1:-1;;4952:3:0;4921:299;;2166:65;2276:10;2270:5;:17;;;;;;;;;;;2291:1;2270:22;2262:56;;;;-1:-1:-1;;;2262:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2262:56:0;;;;;;;;;;;;;;-1:-1:-1;;;;;2214:10:0;;2227:1;2214:10;;;;;;;;2227:1;2214:10;:14;1246:5;1342:3;1336:4;1332:14;1326:4;1319:28;1417:4;1411;1404:18;1509:3;1502:4;1496;1492:15;1485:28;1596:3;1593:1;1586:4;1580;1576:15;1563:37;1918:2;1905:16;1855:1;1842:15;1773:6;-1:-1:-1;;;;;;1738:1:0;1725:15;1707:35;1646:3;1640:4;1635:333;1069:910;;:::o;2050:38::-;;;;;;;;;;;;-1:-1:-1;2050:38:0;:::o;5656:132::-;2276:10;2270:5;:17;;;;;;;;;;;2291:1;2270:22;2262:56;;;;-1:-1:-1;;;2262:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2262:56:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5719:15:0;;5711:48;;;;-1:-1:-1;;;5711:48:0;;;;;;;;;;;;-1:-1:-1;;;5711:48:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5770:6:0;;;;;;:3;:6;;5779:1;;5770:6;;;:10;1246:5;1342:3;1336:4;1332:14;1326:4;1319:28;1417:4;1411;1404:18;1509:3;1502:4;1496;1492:15;1485:28;1596:3;1593:1;1586:4;1580;1576:15;1563:37;1918:2;1905:16;1855:1;1842:15;1773:6;-1:-1:-1;;;;;;1738:1:0;1725:15;1707:35;1646:3;1640:4;1635:333;1069:910;;:::o;2481:22::-;;;;:::o;6342:300::-;6441:7;6468:166;6582:4;6588;-1:-1:-1;;;6565:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6565:33:0;;;6555:44;;;;;;6502:98;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6502:98:0;;;6492:109;;;;;;6616:1;6619;6622;6468:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6468:166:0;;;;;;;;6461:173;6342:300;-1:-1:-1;;;;;;6342:300:0:o

Swarm Source

bzzr://df92ee722b6e11fd9951a527389bc7e63d945b960a6e702e67b4afc925e2f32d

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.