Contract 0x357c5E9cfA8B834EDcef7C7aAbD8F9Db09119d11 2

 

Contract Overview

DODO: Zoo
Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x55de8cf638282480c0d0066ca182c376f3ca453b24f10f7f6ac54abdc8760ec7Transfer Ownersh...143595342021-05-11 9:24:20566 days 12 hrs ago0x16cc37d06fe5061cd0023fb8d142abaabb396a2b IN  DODO: Zoo0 MATIC0.0000459141
0x369885794c3879015d07e7e0a5cacd834cc08d10c11383583a7cc8330161d8920x60806040143594352021-05-11 9:20:58566 days 12 hrs ago0x16cc37d06fe5061cd0023fb8d142abaabb396a2b IN  Create: DODOZoo0 MATIC0.000950431
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DODOZoo

Compiler Version
v0.6.9+commit.3e3065ac

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license
/**
 *Submitted for verification at polygonscan.com on 2021-06-11
*/

/**
 *Submitted for verification at hecoinfo.com on 2021-02-25
*/

// File: contracts/lib/Ownable.sol

/*

    Copyright 2020 DODO ZOO.
    SPDX-License-Identifier: Apache-2.0

*/

pragma solidity 0.6.9;
pragma experimental ABIEncoderV2;

/**
 * @title Ownable
 * @author DODO Breeder
 *
 * @notice Ownership related functions
 */
contract Ownable {
    address public _OWNER_;
    address public _NEW_OWNER_;

    // ============ Events ============

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

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

    // ============ Modifiers ============

    modifier onlyOwner() {
        require(msg.sender == _OWNER_, "NOT_OWNER");
        _;
    }

    // ============ Functions ============

    constructor() internal {
        _OWNER_ = msg.sender;
        emit OwnershipTransferred(address(0), _OWNER_);
    }

    function transferOwnership(address newOwner) external onlyOwner {
        require(newOwner != address(0), "INVALID_OWNER");
        emit OwnershipTransferPrepared(_OWNER_, newOwner);
        _NEW_OWNER_ = newOwner;
    }

    function claimOwnership() external {
        require(msg.sender == _NEW_OWNER_, "INVALID_CLAIM");
        emit OwnershipTransferred(_OWNER_, _NEW_OWNER_);
        _OWNER_ = _NEW_OWNER_;
        _NEW_OWNER_ = address(0);
    }
}

// File: contracts/intf/IDODO.sol



interface IDODO {
    function init(
        address owner,
        address supervisor,
        address maintainer,
        address baseToken,
        address quoteToken,
        address oracle,
        uint256 lpFeeRate,
        uint256 mtFeeRate,
        uint256 k,
        uint256 gasPriceLimit
    ) external;

    function transferOwnership(address newOwner) external;

    function claimOwnership() external;

    function sellBaseToken(
        uint256 amount,
        uint256 minReceiveQuote,
        bytes calldata data
    ) external returns (uint256);

    function buyBaseToken(
        uint256 amount,
        uint256 maxPayQuote,
        bytes calldata data
    ) external returns (uint256);

    function querySellBaseToken(uint256 amount) external view returns (uint256 receiveQuote);

    function queryBuyBaseToken(uint256 amount) external view returns (uint256 payQuote);

    function getExpectedTarget() external view returns (uint256 baseTarget, uint256 quoteTarget);

    function depositBaseTo(address to, uint256 amount) external returns (uint256);

    function withdrawBase(uint256 amount) external returns (uint256);

    function withdrawAllBase() external returns (uint256);

    function depositQuoteTo(address to, uint256 amount) external returns (uint256);

    function withdrawQuote(uint256 amount) external returns (uint256);

    function withdrawAllQuote() external returns (uint256);

    function _BASE_CAPITAL_TOKEN_() external view returns (address);

    function _QUOTE_CAPITAL_TOKEN_() external view returns (address);

    function _BASE_TOKEN_() external returns (address);

    function _QUOTE_TOKEN_() external returns (address);
}

// File: contracts/helper/CloneFactory.sol


interface ICloneFactory {
    function clone(address prototype) external returns (address proxy);
}

// introduction of proxy mode design: https://docs.openzeppelin.com/upgrades/2.8/
// minimum implementation of transparent proxy: https://eips.ethereum.org/EIPS/eip-1167

contract CloneFactory is ICloneFactory {
    function clone(address prototype) external override returns (address proxy) {
        bytes20 targetBytes = bytes20(prototype);
        assembly {
            let clone := mload(0x40)
            mstore(clone, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(clone, 0x14), targetBytes)
            mstore(
                add(clone, 0x28),
                0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000
            )
            proxy := create(0, clone, 0x37)
        }
        return proxy;
    }
}

// File: contracts/DODOZoo.sol


/**
 * @title DODOZoo
 * @author DODO Breeder
 *
 * @notice Register of All DODO
 */
contract DODOZoo is Ownable {
    address public _DODO_LOGIC_;
    address public _CLONE_FACTORY_;

    address public _DEFAULT_SUPERVISOR_;

    mapping(address => mapping(address => address)) internal _DODO_REGISTER_;
    address[] public _DODOs;

    // ============ Events ============

    event DODOBirth(address newBorn, address baseToken, address quoteToken);

    // ============ Constructor Function ============

    constructor(
        address _dodoLogic,
        address _cloneFactory,
        address _defaultSupervisor
    ) public {
        _DODO_LOGIC_ = _dodoLogic;
        _CLONE_FACTORY_ = _cloneFactory;
        _DEFAULT_SUPERVISOR_ = _defaultSupervisor;
    }

    // ============ Admin Function ============

    function setDODOLogic(address _dodoLogic) external onlyOwner {
        _DODO_LOGIC_ = _dodoLogic;
    }

    function setCloneFactory(address _cloneFactory) external onlyOwner {
        _CLONE_FACTORY_ = _cloneFactory;
    }

    function setDefaultSupervisor(address _defaultSupervisor) external onlyOwner {
        _DEFAULT_SUPERVISOR_ = _defaultSupervisor;
    }

    function removeDODO(address dodo) external onlyOwner {
        address baseToken = IDODO(dodo)._BASE_TOKEN_();
        address quoteToken = IDODO(dodo)._QUOTE_TOKEN_();
        require(isDODORegistered(baseToken, quoteToken), "DODO_NOT_REGISTERED");
        _DODO_REGISTER_[baseToken][quoteToken] = address(0);
        for (uint256 i = 0; i <= _DODOs.length - 1; i++) {
            if (_DODOs[i] == dodo) {
                _DODOs[i] = _DODOs[_DODOs.length - 1];
                _DODOs.pop();
                break;
            }
        }
    }

    function addDODO(address dodo) public onlyOwner {
        address baseToken = IDODO(dodo)._BASE_TOKEN_();
        address quoteToken = IDODO(dodo)._QUOTE_TOKEN_();
        require(!isDODORegistered(baseToken, quoteToken), "DODO_REGISTERED");
        _DODO_REGISTER_[baseToken][quoteToken] = dodo;
        _DODOs.push(dodo);
    }

    // ============ Breed DODO Function ============

    function breedDODO(
        address maintainer,
        address baseToken,
        address quoteToken,
        address oracle,
        uint256 lpFeeRate,
        uint256 mtFeeRate,
        uint256 k,
        uint256 gasPriceLimit
    ) external onlyOwner returns (address newBornDODO) {
        require(!isDODORegistered(baseToken, quoteToken), "DODO_REGISTERED");
        newBornDODO = ICloneFactory(_CLONE_FACTORY_).clone(_DODO_LOGIC_);
        IDODO(newBornDODO).init(
            _OWNER_,
            _DEFAULT_SUPERVISOR_,
            maintainer,
            baseToken,
            quoteToken,
            oracle,
            lpFeeRate,
            mtFeeRate,
            k,
            gasPriceLimit
        );
        addDODO(newBornDODO);
        emit DODOBirth(newBornDODO, baseToken, quoteToken);
        return newBornDODO;
    }

    // ============ View Functions ============

    function isDODORegistered(address baseToken, address quoteToken) public view returns (bool) {
        if (
            _DODO_REGISTER_[baseToken][quoteToken] == address(0) &&
            _DODO_REGISTER_[quoteToken][baseToken] == address(0)
        ) {
            return false;
        } else {
            return true;
        }
    }

    function getDODO(address baseToken, address quoteToken) external view returns (address) {
        return _DODO_REGISTER_[baseToken][quoteToken];
    }

    function getDODOs() external view returns (address[] memory) {
        return _DODOs;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dodoLogic","type":"address"},{"internalType":"address","name":"_cloneFactory","type":"address"},{"internalType":"address","name":"_defaultSupervisor","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newBorn","type":"address"},{"indexed":false,"internalType":"address","name":"baseToken","type":"address"},{"indexed":false,"internalType":"address","name":"quoteToken","type":"address"}],"name":"DODOBirth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferPrepared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"_CLONE_FACTORY_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_DEFAULT_SUPERVISOR_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_DODO_LOGIC_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_DODOs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_NEW_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dodo","type":"address"}],"name":"addDODO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"maintainer","type":"address"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"lpFeeRate","type":"uint256"},{"internalType":"uint256","name":"mtFeeRate","type":"uint256"},{"internalType":"uint256","name":"k","type":"uint256"},{"internalType":"uint256","name":"gasPriceLimit","type":"uint256"}],"name":"breedDODO","outputs":[{"internalType":"address","name":"newBornDODO","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"}],"name":"getDODO","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDODOs","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"}],"name":"isDODORegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dodo","type":"address"}],"name":"removeDODO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_cloneFactory","type":"address"}],"name":"setCloneFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_dodoLogic","type":"address"}],"name":"setDODOLogic","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_defaultSupervisor","type":"address"}],"name":"setDefaultSupervisor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051610fc3380380610fc383398101604081905261002f916100ba565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600280546001600160a01b039485166001600160a01b03199182161790915560038054938516938216939093179092556004805491909316911617905561011e565b6000806000606084860312156100ce578283fd5b83516100d981610106565b60208501519093506100ea81610106565b60408501519092506100fb81610106565b809150509250925092565b6001600160a01b038116811461011b57600080fd5b50565b610e968061012d6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063816bd40e116100a2578063eb774d0511610071578063eb774d05146101e4578063ecfa2d24146101ec578063eef55d3d146101ff578063f2fde38b14610212578063fa20e0d9146102255761010b565b8063816bd40e146101a15780638456db15146101b45780639a07cd82146101bc578063a0b0a4d1146101c45761010b565b80634f4e6eea116100de5780634f4e6eea1461015357806352491217146101665780635891296f1461017b5780636ace4afd1461018e5761010b565b80631273b0c61461011057806316048bc4146101395780633e73d4b4146101415780634e71e0c814610149575b600080fd5b61012361011e366004610bc6565b610238565b6040516101309190610c95565b60405180910390f35b610123610267565b610123610276565b610151610285565b005b610151610161366004610b87565b61031c565b61016e610368565b6040516101309190610d29565b610151610189366004610b87565b6103ca565b61012361019c366004610bfe565b610623565b6101516101af366004610b87565b6107c8565b610123610814565b610123610823565b6101d76101d2366004610bc6565b610832565b6040516101309190610d76565b6101236108a3565b6101516101fa366004610b87565b6108b2565b61015161020d366004610b87565b610a69565b610151610220366004610b87565b610ab5565b610123610233366004610c7d565b610b60565b6001600160a01b0380831660009081526005602090815260408083208585168452909152902054165b92915050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6001546001600160a01b031633146102b85760405162461bcd60e51b81526004016102af90610d81565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146103465760405162461bcd60e51b81526004016102af90610e25565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b606060068054806020026020016040519081016040528092919081815260200182805480156103c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a2575b5050505050905090565b6000546001600160a01b031633146103f45760405162461bcd60e51b81526004016102af90610e25565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561043157600080fd5b505af1158015610445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104699190610baa565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e09190610baa565b90506104ec8282610832565b6105085760405162461bcd60e51b81526004016102af90610df8565b6001600160a01b038083166000908152600560209081526040808320938516835292905290812080546001600160a01b03191690555b60065460001901811161061d57836001600160a01b03166006828154811061056257fe5b6000918252602090912001546001600160a01b031614156106155760068054600019810190811061058f57fe5b600091825260209091200154600680546001600160a01b0390921691839081106105b557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060068054806105ee57fe5b600082815260209020810160001990810180546001600160a01b031916905501905561061d565b60010161053e565b50505050565b600080546001600160a01b0316331461064e5760405162461bcd60e51b81526004016102af90610e25565b6106588888610832565b156106755760405162461bcd60e51b81526004016102af90610da8565b6003546002546040516340925bc760e11b81526001600160a01b0392831692638124b78e926106a992911690600401610c95565b602060405180830381600087803b1580156106c357600080fd5b505af11580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fb9190610baa565b6000546004805460405163f00f9a0960e01b81529394506001600160a01b038086169463f00f9a09946107469490831693909216918f918f918f918f918f918f918f918f9101610ccc565b600060405180830381600087803b15801561076057600080fd5b505af1158015610774573d6000803e3d6000fd5b50505050610781816108b2565b7f5c428a2e12ecaa744a080b25b4cda8b86359c82d726575d7d747e07708071f938189896040516107b493929190610ca9565b60405180910390a198975050505050505050565b6000546001600160a01b031633146107f25760405162461bcd60e51b81526004016102af90610e25565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b038281166000908152600560209081526040808320858516845290915281205490911615801561088e57506001600160a01b038281166000908152600560209081526040808320878516845290915290205416155b1561089b57506000610261565b506001610261565b6003546001600160a01b031681565b6000546001600160a01b031633146108dc5760405162461bcd60e51b81526004016102af90610e25565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561091957600080fd5b505af115801561092d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109519190610baa565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c89190610baa565b90506109d48282610832565b156109f15760405162461bcd60e51b81526004016102af90610da8565b6001600160a01b03918216600090815260056020908152604080832093851683529290529081208054929093166001600160a01b031992831681179093556006805460018101825591527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180549091169091179055565b6000546001600160a01b03163314610a935760405162461bcd60e51b81526004016102af90610e25565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610adf5760405162461bcd60e51b81526004016102af90610e25565b6001600160a01b038116610b055760405162461bcd60e51b81526004016102af90610dd1565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60068181548110610b6d57fe5b6000918252602090912001546001600160a01b0316905081565b600060208284031215610b98578081fd5b8135610ba381610e48565b9392505050565b600060208284031215610bbb578081fd5b8151610ba381610e48565b60008060408385031215610bd8578081fd5b8235610be381610e48565b91506020830135610bf381610e48565b809150509250929050565b600080600080600080600080610100898b031215610c1a578384fd5b8835610c2581610e48565b97506020890135610c3581610e48565b96506040890135610c4581610e48565b95506060890135610c5581610e48565b979a969950949760808101359660a0820135965060c0820135955060e0909101359350915050565b600060208284031215610c8e578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039a8b168152988a1660208a0152968916604089015294881660608801529287166080870152951660a085015260c084019490945260e08301939093526101008201929092526101208101919091526101400190565b6020808252825182820181905260009190848201906040850190845b81811015610d6a5783516001600160a01b031683529284019291840191600101610d45565b50909695505050505050565b901515815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600f908201526e1113d113d7d49151d254d511549151608a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601390820152721113d113d7d393d517d49151d254d511549151606a1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6001600160a01b0381168114610e5d57600080fd5b5056fea2646970667358221220ff602f415dee27f034beed2a07bbe1d851fbc046dff91918360f9136704a915164736f6c634300060900330000000000000000000000009f015aa5557ffbb47850c045df67bf229b07f2ea000000000000000000000000729f7f44bf64ce814716b6261e267dbe6cdf021c00000000000000000000000016cc37d06fe5061cd0023fb8d142abaabb396a2b

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000009f015aa5557ffbb47850c045df67bf229b07f2ea000000000000000000000000729f7f44bf64ce814716b6261e267dbe6cdf021c00000000000000000000000016cc37d06fe5061cd0023fb8d142abaabb396a2b

-----Decoded View---------------
Arg [0] : _dodoLogic (address): 0x9f015aa5557ffbb47850c045df67bf229b07f2ea
Arg [1] : _cloneFactory (address): 0x729f7f44bf64ce814716b6261e267dbe6cdf021c
Arg [2] : _defaultSupervisor (address): 0x16cc37d06fe5061cd0023fb8d142abaabb396a2b

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000009f015aa5557ffbb47850c045df67bf229b07f2ea
Arg [1] : 000000000000000000000000729f7f44bf64ce814716b6261e267dbe6cdf021c
Arg [2] : 00000000000000000000000016cc37d06fe5061cd0023fb8d142abaabb396a2b


Deployed ByteCode Sourcemap

4324:3643:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7711:152;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;377:22;;;:::i;4432:35::-;;;:::i;1227:230::-;;;:::i;:::-;;5201:117;;;;;;;;;:::i;7871:93::-;;;:::i;:::-;;;;;;;;5471:556;;;;;;;;;:::i;6434:866::-;;;;;;;;;:::i;5088:105::-;;;;;;;;;:::i;406:26::-;;;:::i;4359:27::-;;;:::i;7359:344::-;;;;;;;;;:::i;:::-;;;;;;;;4393:30;;;:::i;6035:335::-;;;;;;;;;:::i;5326:137::-;;;;;;;;;:::i;995:224::-;;;;;;;;;:::i;4555:23::-;;;;;;;;;:::i;7711:152::-;-1:-1:-1;;;;;7817:26:0;;;7790:7;7817:26;;;:15;:26;;;;;;;;:38;;;;;;;;;;;;7711:152;;;;;:::o;377:22::-;;;-1:-1:-1;;;;;377:22:0;;:::o;4432:35::-;;;-1:-1:-1;;;;;4432:35:0;;:::o;1227:230::-;1295:11;;-1:-1:-1;;;;;1295:11:0;1281:10;:25;1273:51;;;;-1:-1:-1;;;1273:51:0;;;;;;;;;;;;;;;;;1370:11;;;1361:7;;1340:42;;-1:-1:-1;;;;;1370:11:0;;;;1361:7;;;;1340:42;;;1403:11;;;;1393:21;;-1:-1:-1;;;;;;1393:21:0;;;-1:-1:-1;;;;;1403:11:0;;1393:21;;;;1425:24;;;1227:230::o;5201:117::-;773:7;;-1:-1:-1;;;;;773:7:0;759:10;:21;751:43;;;;-1:-1:-1;;;751:43:0;;;;;;;;;5279:15:::1;:31:::0;;-1:-1:-1;;;;;;5279:31:0::1;-1:-1:-1::0;;;;;5279:31:0;;;::::1;::::0;;;::::1;::::0;;5201:117::o;7871:93::-;7914:16;7950:6;7943:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7943:13:0;;;;;;;;;;;;;;;;;;;;;;;7871:93;:::o;5471:556::-;773:7;;-1:-1:-1;;;;;773:7:0;759:10;:21;751:43;;;;-1:-1:-1;;;751:43:0;;;;;;;;;5535:17:::1;5561:4;-1:-1:-1::0;;;;;5555:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5535:46;;5592:18;5619:4;-1:-1:-1::0;;;;;5613:25:0::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5592:48;;5659:39;5676:9;5687:10;5659:16;:39::i;:::-;5651:71;;;;-1:-1:-1::0;;;5651:71:0::1;;;;;;;;;-1:-1:-1::0;;;;;5733:26:0;;::::1;5782:1;5733:26:::0;;;:15:::1;:26;::::0;;;;;;;:38;;::::1;::::0;;;;;;;;:51;;-1:-1:-1;;;;;;5733:51:0::1;::::0;;5795:225:::1;5820:6;:13:::0;-1:-1:-1;;5820:17:0;5815:22;::::1;5795:225;;5876:4;-1:-1:-1::0;;;;;5863:17:0::1;:6;5870:1;5863:9;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;5863:9:0::1;:17;5859:150;;;5913:6;5920:13:::0;;-1:-1:-1;;5920:17:0;;;5913:25;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;5901:6:::1;:9:::0;;-1:-1:-1;;;;;5913:25:0;;::::1;::::0;5908:1;;5901:9;::::1;;;;;;;;;;;;;:37;;;;;-1:-1:-1::0;;;;;5901:37:0::1;;;;;-1:-1:-1::0;;;;;5901:37:0::1;;;;;;5957:6;:12;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;5957:12:0;;;;;-1:-1:-1;;;;;;5957:12:0::1;::::0;;;;;5988:5:::1;;5859:150;5839:3;;5795:225;;;;805:1;;5471:556:::0;:::o;6434:866::-;6707:19;773:7;;-1:-1:-1;;;;;773:7:0;759:10;:21;751:43;;;;-1:-1:-1;;;751:43:0;;;;;;;;;6748:39:::1;6765:9;6776:10;6748:16;:39::i;:::-;6747:40;6739:68;;;;-1:-1:-1::0;;;6739:68:0::1;;;;;;;;;6846:15;::::0;6869:12:::1;::::0;6832:50:::1;::::0;-1:-1:-1;;;6832:50:0;;-1:-1:-1;;;;;6846:15:0;;::::1;::::0;6832:36:::1;::::0;:50:::1;::::0;6869:12;::::1;::::0;6832:50:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6931:7;::::0;6953:20:::1;::::0;;6893:278:::1;::::0;-1:-1:-1;;;6893:278:0;;6818:64;;-1:-1:-1;;;;;;6893:23:0;;::::1;::::0;::::1;::::0;:278:::1;::::0;6931:7;;::::1;::::0;6953:20;;::::1;::::0;6988:10;;7013:9;;7037:10;;7062:6;;7083:9;;7107;;7131:1;;7147:13;;6893:278:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7182:20;7190:11;7182:7;:20::i;:::-;7218:45;7228:11;7241:9;7252:10;7218:45;;;;;;;;;;;;;;;;;6434:866:::0;;;;;;;;;;:::o;5088:105::-;773:7;;-1:-1:-1;;;;;773:7:0;759:10;:21;751:43;;;;-1:-1:-1;;;751:43:0;;;;;;;;;5160:12:::1;:25:::0;;-1:-1:-1;;;;;;5160:25:0::1;-1:-1:-1::0;;;;;5160:25:0;;;::::1;::::0;;;::::1;::::0;;5088:105::o;406:26::-;;;-1:-1:-1;;;;;406:26:0;;:::o;4359:27::-;;;-1:-1:-1;;;;;4359:27:0;;:::o;7359:344::-;-1:-1:-1;;;;;7480:26:0;;;7445:4;7480:26;;;:15;:26;;;;;;;;:38;;;;;;;;;;;7445:4;;7480:38;:52;:121;;;;-1:-1:-1;;;;;;7549:27:0;;;7599:1;7549:27;;;:15;:27;;;;;;;;:38;;;;;;;;;;;;:52;7480:121;7462:234;;;-1:-1:-1;7635:5:0;7628:12;;7462:234;-1:-1:-1;7680:4:0;7673:11;;4393:30;;;-1:-1:-1;;;;;4393:30:0;;:::o;6035:335::-;773:7;;-1:-1:-1;;;;;773:7:0;759:10;:21;751:43;;;;-1:-1:-1;;;751:43:0;;;;;;;;;6094:17:::1;6120:4;-1:-1:-1::0;;;;;6114:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6094:46;;6151:18;6178:4;-1:-1:-1::0;;;;;6172:25:0::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6151:48;;6219:39;6236:9;6247:10;6219:16;:39::i;:::-;6218:40;6210:68;;;;-1:-1:-1::0;;;6210:68:0::1;;;;;;;;;-1:-1:-1::0;;;;;6289:26:0;;::::1;;::::0;;;:15:::1;:26;::::0;;;;;;;:38;;::::1;::::0;;;;;;;;:45;;;;;::::1;-1:-1:-1::0;;;;;;6289:45:0;;::::1;::::0;::::1;::::0;;;6345:6:::1;:17:::0;;6289:45;6345:17;::::1;::::0;;;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;6035:335::o;5326:137::-;773:7;;-1:-1:-1;;;;;773:7:0;759:10;:21;751:43;;;;-1:-1:-1;;;751:43:0;;;;;;;;;5414:20:::1;:41:::0;;-1:-1:-1;;;;;;5414:41:0::1;-1:-1:-1::0;;;;;5414:41:0;;;::::1;::::0;;;::::1;::::0;;5326:137::o;995:224::-;773:7;;-1:-1:-1;;;;;773:7:0;759:10;:21;751:43;;;;-1:-1:-1;;;751:43:0;;;;;;;;;-1:-1:-1;;;;;1078:22:0;::::1;1070:48;;;;-1:-1:-1::0;;;1070:48:0::1;;;;;;;;;1160:7;::::0;;1134:44:::1;::::0;-1:-1:-1;;;;;1134:44:0;;::::1;::::0;1160:7;::::1;::::0;1134:44:::1;::::0;::::1;1189:11;:22:::0;;-1:-1:-1;;;;;;1189:22:0::1;-1:-1:-1::0;;;;;1189:22:0;;;::::1;::::0;;;::::1;::::0;;995:224::o;4555:23::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4555:23:0;;-1:-1:-1;4555:23:0;:::o;420:241:-1:-;;524:2;512:9;503:7;499:23;495:32;492:2;;;-1:-1;;530:12;492:2;85:6;72:20;97:33;124:5;97:33;;;582:63;486:175;-1:-1;;;486:175;668:263;;783:2;771:9;762:7;758:23;754:32;751:2;;;-1:-1;;789:12;751:2;226:6;220:13;238:33;265:5;238:33;;938:366;;;1059:2;1047:9;1038:7;1034:23;1030:32;1027:2;;;-1:-1;;1065:12;1027:2;85:6;72:20;97:33;124:5;97:33;;;1117:63;-1:-1;1217:2;1256:22;;72:20;97:33;72:20;97:33;;;1225:63;;;;1021:283;;;;;;1311:1121;;;;;;;;;1534:3;1522:9;1513:7;1509:23;1505:33;1502:2;;;-1:-1;;1541:12;1502:2;85:6;72:20;97:33;124:5;97:33;;;1593:63;-1:-1;1693:2;1732:22;;72:20;97:33;72:20;97:33;;;1701:63;-1:-1;1801:2;1840:22;;72:20;97:33;72:20;97:33;;;1809:63;-1:-1;1909:2;1948:22;;72:20;97:33;72:20;97:33;;;1496:936;;;;-1:-1;1496:936;;2017:3;2057:22;;350:20;;2126:3;2166:22;;350:20;;-1:-1;2235:3;2275:22;;350:20;;-1:-1;2344:3;2384:22;;;350:20;;-1:-1;1496:936;-1:-1;;1496:936;2439:241;;2543:2;2531:9;2522:7;2518:23;2514:32;2511:2;;;-1:-1;;2549:12;2511:2;-1:-1;350:20;;2505:175;-1:-1;2505:175;5672:222;-1:-1;;;;;11324:54;;;;2930:37;;5799:2;5784:18;;5770:124;5901:444;-1:-1;;;;;11324:54;;;2930:37;;11324:54;;;6248:2;6233:18;;2930:37;11324:54;;;6331:2;6316:18;;2930:37;6084:2;6069:18;;6055:290;6352:1228;-1:-1;;;;;11324:54;;;2930:37;;11324:54;;;6896:2;6881:18;;2930:37;11324:54;;;6979:2;6964:18;;2930:37;11324:54;;;7062:2;7047:18;;2930:37;11324:54;;;7145:3;7130:19;;2930:37;11324:54;;11335:42;7214:19;;2930:37;7313:3;7298:19;;5623:37;;;;7397:3;7382:19;;5623:37;;;;7481:3;7466:19;;5623:37;;;;7565:3;7550:19;;5623:37;;;;6731:3;6716:19;;6702:878;7587:370;7764:2;7778:47;;;10557:12;;7749:18;;;10832:19;;;7587:370;;7764:2;10411:14;;;;10872;;;;7587:370;3538:260;3563:6;3560:1;3557:13;3538:260;;;3624:13;;-1:-1;;;;;11324:54;2930:37;;10687:14;;;;2841;;;;11335:42;3578:9;3538:260;;;-1:-1;7831:116;;7735:222;-1:-1;;;;;;7735:222;7964:210;11236:13;;11229:21;3893:34;;8085:2;8070:18;;8056:118;8181:416;8381:2;8395:47;;;4164:2;8366:18;;;10832:19;-1:-1;;;10872:14;;;4180:36;4235:12;;;8352:245;8604:416;8804:2;8818:47;;;4486:2;8789:18;;;10832:19;-1:-1;;;10872:14;;;4502:38;4559:12;;;8775:245;9027:416;9227:2;9241:47;;;4810:2;9212:18;;;10832:19;-1:-1;;;10872:14;;;4826:36;4881:12;;;9198:245;9450:416;9650:2;9664:47;;;5132:2;9635:18;;;10832:19;-1:-1;;;10872:14;;;5148:42;5209:12;;;9621:245;9873:416;10073:2;10087:47;;;5460:1;10058:18;;;10832:19;-1:-1;;;10872:14;;;5475:32;5526:12;;;10044:245;11469:117;-1:-1;;;;;11324:54;;11528:35;;11518:2;;11577:1;;11567:12;11518:2;11512:74;

Swarm Source

ipfs://ff602f415dee27f034beed2a07bbe1d851fbc046dff91918360f9136704a9151
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.