Contract 0x01d3E7271c278Aa3AA56EeBa6a109b2C200679fA 14

 

Contract Overview

DODO: Multisig Wallet
Balance:
0 ETH

ETH Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xc1845c9900131db00abc4933ccd76ed2cbc7d5eec0825fa5fa301959e303ab47Execute Transact...1932488352024-03-23 4:14:2829 days 23 hrs ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000164 0.01
0x9048df6b79830652830d4c6d0309042155eeb0007afad6f60e2d5616d471b41fConfirm Transact...1932486382024-03-23 4:13:3929 days 23 hrs ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000149 0.01
0xd6696ad0920761ecfdcbf225ea9a12a31fe7371b284e5ffbb60c58f603d3bd26Execute Transact...1932485212024-03-23 4:13:0929 days 23 hrs ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000168 0.01
0x84271a168c255f9acd3b2a66779c79217997605e3d3601829e1cc30752d551c5Confirm Transact...1932481562024-03-23 4:11:3829 days 23 hrs ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000149 0.01
0xaec8af9a70e6e2e54159c20123ee77ba73576ac889055ff8b57702c927221cb1Submit Transacti...1929529352024-03-22 7:38:4630 days 19 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00000319 0.01
0xf7b21067ce070edab82e5e22d970a57de139ca825ae2cc27e3d1e1269906e4ebSubmit Transacti...1929527712024-03-22 7:38:0530 days 19 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00000319 0.01
0xbeba07e3f112be80cc4cfd252d31b7ca386ac848c86a0459e6c190d5f7cf9975Execute Transact...1925826002024-03-21 5:49:2331 days 21 hrs ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000171 0.01
0xfb4cee736c41338a599554e1d2795ed7a7bab02a856231bf3725884c72c486b8Confirm Transact...1925824222024-03-21 5:48:3731 days 21 hrs ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000171 0.01
0xe853530e366459fe37d9d2762dde1397b2c45a0e367e1112c7a790851f1a70a8Submit Transacti...1925643452024-03-21 4:33:0231 days 22 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.0000033 0.01
0xda24cd6b8a0951da360ebe27c90d8d688920d8d4d87c408f5472395a680247e1Execute Transact...1925467142024-03-21 3:19:1832 days 4 mins ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000177 0.01
0xb7ad80e53cdd2c8ca1a472640d7424ab8430d116360bcffbf613a92b165f7b08Confirm Transact...1925466622024-03-21 3:19:0532 days 4 mins ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000177 0.01
0x83b9e50dbcd08f3e024d686a335e0658c9393c1bbc9a857d29de031cfdfaad56Execute Transact...1925465182024-03-21 3:18:2832 days 5 mins ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000163 0.01
0x59661c4b2e97ebadce89487b1c15dba4c3a119394f060d71ce7e7bc9a87e662cConfirm Transact...1925462322024-03-21 3:17:1532 days 6 mins ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000177 0.01
0x573cb9898f73640d0ee72b638e8969a821e294dd449e3c74173e96cdc0b458efExecute Transact...1925460162024-03-21 3:16:2032 days 7 mins ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000199 0.01
0xa157085c22dc494558c167011f5db479e8c69ae15e8a8eab08ec551f956d1286Confirm Transact...1925451442024-03-21 3:12:4032 days 10 mins ago0x5e97e6eb042a9f3d55c7016253e7e1d91fae8aec IN  DODO: Multisig Wallet0 ETH0.00000191 0.01
0xf9ca2bcdd3ed2f5645e3a1754c8435409f40a19e387791d6ab2faf8c82f5b891Submit Transacti...1915659082024-03-18 6:49:3334 days 20 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00002569 0.1
0xeb18af6ca7573f450d439d63235336eb653a9f2eec1ae99affdf116a1258912eSubmit Transacti...1877430852024-03-06 17:41:2246 days 9 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00041545 0.1
0x966a17e37cab6b3088cf0d43f57a332dca08a4e13dd2a85623f565c585d9f52eSubmit Transacti...1877427042024-03-06 17:39:4346 days 9 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00040776 0.1
0xda9679fd29b89c9c572d2b6264e10c57028873b6078fcea913bc410678a9e970Execute Transact...1833585122024-02-22 14:00:0359 days 13 hrs ago0xdad3e839ba4a48faf54f3aa187d8b6b8646e6224 IN  DODO: Multisig Wallet0 ETH0.00007813 0.1
0xf0dd7ffd36a47a287448a7056e8b70f396eb3118f06d3582d7d5b835dfe9ae82Confirm Transact...1833584692024-02-22 13:59:5259 days 13 hrs ago0xdad3e839ba4a48faf54f3aa187d8b6b8646e6224 IN  DODO: Multisig Wallet0 ETH0.0000766 0.1
0x913b696ac11e32e67a53dcc1b2e46787f173bb786b68b9013fbecebe8e0038fdRevoke Confirmat...1833022252024-02-22 10:02:2059 days 17 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00006801 0.1
0xe9cb91c9a561f83d3f90e6ed7b92d0caeac01ee1b5580c129158942cdb3620f7Revoke Confirmat...1833021992024-02-22 10:02:1359 days 17 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00006845 0.1
0xbbc388e3cc1e0558783573e85596e548c8175976230fc509012a5cf400ec7897Revoke Confirmat...1833021702024-02-22 10:02:0659 days 17 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00006845 0.1
0x25606aa834d2a75fe052b0278884c0db76ad5ae63269ae8069840e181dbee6a4Submit Transacti...1833018622024-02-22 10:00:4859 days 17 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00017003 0.1
0xc5e375729fc40c065e55fad776ca45c4bef186e5bd6af899bca0c617ea205124Submit Transacti...1833014152024-02-22 9:58:5459 days 17 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00016958 0.1
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xa24acc72c2cc101e08ee400c4947349fdd2491018513600ea20936f260d3cc50719602312023-03-21 1:36:48398 days 1 hr ago DODO: Multisig Wallet 0x6c4e795f3f844010096563449acbccd8681a5e450 ETH
0xc8d2faace011c87a0c82c13988c9d27d58c2b51fc05a1eb8df8b734eacbd96f3709990352023-03-18 6:18:34400 days 21 hrs ago DODO: Multisig Wallet 0xddb13e6dd168e1a68dc2285cb212078ae10394a90 ETH
0x95bf4c961d897128fa95a76fe73bfd71e89823af5da816ef37b807e0a8d4eb16709990092023-03-18 6:18:27400 days 21 hrs ago DODO: Multisig Wallet 0xddb13e6dd168e1a68dc2285cb212078ae10394a90 ETH
0x3c8e3b1e10484afc71020c06ee75224e5d0253e74d1de38110033842c22a8f3d634623602023-02-22 14:31:33424 days 12 hrs ago DODO: Multisig Wallet 0x69eb4fa4a2fbd498c257c57ea8b7655a2559a5810 ETH
0x32ce225d5984fc44d451a51aad5d6e9b214d28909ede964ef8a8ddfff43241f6634623292023-02-22 14:31:24424 days 12 hrs ago DODO: Multisig Wallet Arbitrum: USDC Token0 ETH
0xf88fcac7a786f7dc6377293a8b9cd0f97dd4691dc5e3f6957f6037fbde922f9f597631682023-02-10 17:34:50436 days 9 hrs ago DODO: Multisig Wallet DODO: USDT-USDC Pair V10 ETH
0xf992ed87b08ab29b109483f630c54a19bc40793854036d42ba165070529bcce1597631432023-02-10 17:34:43436 days 9 hrs ago DODO: Multisig Wallet DODO: USDT-USDC Pair V10 ETH
0x32556c5c02f92888fc9297154b8e563ee42af46a4474d82834d11ddc56a23f7a546935852023-01-22 10:55:22455 days 16 hrs ago DODO: Multisig Wallet Tether: USDT Token0 ETH
0xb3c382b99b11d28c8630cac9385ff5808f5814ea3e40ecef2549ae13f44836fa519784072023-01-10 4:23:09467 days 23 hrs ago DODO: Multisig Wallet DODO: Private Pool Factory0 ETH
0xa5900728529dc9276aefccde0729ffbb50bd8292f185c9b04e4421d69f503627519783832023-01-10 4:22:59467 days 23 hrs ago DODO: Multisig Wallet DODO: Private Pool Factory0 ETH
0x51d58f4111ad46299b2403fb3b755407243ef4359cd02bcf4d0fcb16ac439f0a482230372022-12-23 8:11:25485 days 19 hrs ago DODO: Multisig Wallet 0x69eb4fa4a2fbd498c257c57ea8b7655a2559a5810 ETH
0xe15e3f4738b105b9d3442ae142f1d36ed3ead16e4ff238d8aadb1ad21170a841480609772022-12-22 14:48:24486 days 12 hrs ago DODO: Multisig Wallet Wrapped Ether0 ETH
0xe477afe2e4e4ddf8d0cc96d3aa06c14aaa4ca80d279f8866857836afa1836ec4460311542022-12-14 8:22:31494 days 19 hrs ago DODO: Multisig Wallet DODO: Approve Proxy V20 ETH
0x3b8f3f6e6f01cf2af1d9e381af04318343505b80cac15d22315a294873781d33409900242022-11-25 4:19:39513 days 23 hrs ago DODO: Multisig Wallet 0x69eb4fa4a2fbd498c257c57ea8b7655a2559a5810 ETH
0x00f77ec072e05f7ff68a38cd6585412f74aab44ff012d7d34f37288fbf549d43403034972022-11-22 16:49:38516 days 10 hrs ago DODO: Multisig Wallet Arbitrum: USDC Token0 ETH
0x6ae847953549dbc2c8fde818065e494afd9455a7f587c190038c765c3fba8007403034652022-11-22 16:49:30516 days 10 hrs ago DODO: Multisig Wallet dForce: DF Token0 ETH
0xfc43787b969f426f7868d7fab3e2e48487e1c0d897a199a2b653cb10f19f81af390244972022-11-18 10:24:52520 days 16 hrs ago DODO: Multisig Wallet DODO: Proxy 02 V20 ETH
0x22c0d63f6d87f23b87fd21060b0ddbde7ff8328e1da87f8a0a68211921b7ba9e324088542022-10-25 8:25:57544 days 18 hrs ago DODO: Multisig Wallet 0x69eb4fa4a2fbd498c257c57ea8b7655a2559a5810 ETH
0x42d6b09a9daa0ec935754b209cb19142aeffba6b4e7b21f9652d53a69b97fce1292932542022-10-09 16:21:50560 days 11 hrs ago DODO: Multisig Wallet DODO: Approve Proxy V20 ETH
0x06962e05f794d5bf1eb257d2ba198e1a2759d577d40abea55261d45f48045faf292932362022-10-09 16:21:43560 days 11 hrs ago DODO: Multisig Wallet 0x5fe43c0ebfe66b83c10a9a37ad1e4ac640aaaa650 ETH
0xe887247557df6098ecc79c9e77d5bbaee7600d776dd1eaedfd02ebcff349cd29292932092022-10-09 16:21:35560 days 11 hrs ago DODO: Multisig Wallet 0x6de4d882a84a98f4ccd5d33ea6b3c99a07babeb10 ETH
0x1b1a33924936425faf3a59724db7a92ed210dec0b8d47e59e7f6c8f94ea45e61273279062022-09-29 3:28:58570 days 23 hrs ago DODO: Multisig Wallet DODO: Multisig Wallet0 ETH
0x032f04baaa8cbe9f57137a0e6bcddfee8ad0661e222fadb6bec804dcd565ce48273249102022-09-29 3:07:56571 days 15 mins ago DODO: Multisig Wallet 0x69eb4fa4a2fbd498c257c57ea8b7655a2559a5810 ETH
0x70c40d2fd4e050575f36b4b37e215366e04a9de6684663fe3f59085094f9ae21259421402022-09-22 10:54:46577 days 16 hrs ago DODO: Multisig Wallet Wrapped Ether0 ETH
0xa2a5f0b9cb45dd150d23959a7d8cc62fec27dd5830a09a834f4f8ff6105c7483259421152022-09-22 10:54:39577 days 16 hrs ago DODO: Multisig Wallet Arbitrum: USDC Token0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MultiSigWalletWithTimelock

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license
/**
 *Submitted for verification at Arbiscan.io on 2021-08-30
*/

pragma solidity 0.5.8;

contract MultiSigWalletWithTimelock {

    uint256 constant public MAX_OWNER_COUNT = 50;
    uint256 public lockSeconds = 0;

    event Confirmation(address indexed sender, uint256 indexed transactionId);
    event Revocation(address indexed sender, uint256 indexed transactionId);
    event Submission(uint256 indexed transactionId);
    event Execution(uint256 indexed transactionId);
    event ExecutionFailure(uint256 indexed transactionId);
    event Deposit(address indexed sender, uint256 value);
    event OwnerAddition(address indexed owner);
    event OwnerRemoval(address indexed owner);
    event RequirementChange(uint256 required);
    event UnlockTimeSet(uint256 indexed transactionId, uint256 confirmationTime);
    event LockSecondsChange(uint256 lockSeconds);

    mapping (uint256 => Transaction) public transactions;
    mapping (uint256 => mapping (address => bool)) public confirmations;
    mapping (address => bool) public isOwner;
    mapping (uint256 => uint256) public unlockTimes;

    address[] public owners;
    uint256 public required;
    uint256 public transactionCount;

    struct Transaction {
        address destination;
        uint256 value;
        bytes data;
        bool executed;
    }

    struct EmergencyCall {
        bytes32 selector;
        uint256 paramsBytesCount;
    }

    // Functions bypass the time lock process
    EmergencyCall[] public emergencyCalls;

    modifier onlyWallet() {
        if (msg.sender != address(this))
            revert("ONLY_WALLET_ERROR");
        _;
    }

    modifier ownerDoesNotExist(address owner) {
        if (isOwner[owner])
            revert("OWNER_DOES_NOT_EXIST_ERROR");
        _;
    }

    modifier ownerExists(address owner) {
        if (!isOwner[owner])
            revert("OWNER_EXISTS_ERROR");
        _;
    }

    modifier transactionExists(uint256 transactionId) {
        if (transactions[transactionId].destination == address(0))
            revert("TRANSACTION_EXISTS_ERROR");
        _;
    }

    modifier confirmed(uint256 transactionId, address owner) {
        if (!confirmations[transactionId][owner])
            revert("CONFIRMED_ERROR");
        _;
    }

    modifier notConfirmed(uint256 transactionId, address owner) {
        if (confirmations[transactionId][owner])
            revert("NOT_CONFIRMED_ERROR");
        _;
    }

    modifier notExecuted(uint256 transactionId) {
        if (transactions[transactionId].executed)
            revert("NOT_EXECUTED_ERROR");
        _;
    }

    modifier notNull(address _address) {
        if (_address == address(0))
            revert("NOT_NULL_ERROR");
        _;
    }

    modifier validRequirement(uint256 ownerCount, uint256 _required) {
        if (ownerCount > MAX_OWNER_COUNT || _required > ownerCount || _required == 0 || ownerCount == 0)
            revert("VALID_REQUIREMENT_ERROR");
        _;
    }

    /** @dev Fallback function allows to deposit ether. */
    function() external payable {
        if (msg.value > 0) {
            emit Deposit(msg.sender, msg.value);
        }
    }

    /** @dev Contract constructor sets initial owners and required number of confirmations.
      * @param _owners List of initial owners.
      * @param _required Number of required confirmations.
      */
    constructor(address[] memory _owners, uint256 _required)
        public
        validRequirement(_owners.length, _required)
    {
        for (uint256 i = 0; i < _owners.length; i++) {
            if (isOwner[_owners[i]] || _owners[i] == address(0)) {
                revert("OWNER_ERROR");
            }

            isOwner[_owners[i]] = true;
        }

        owners = _owners;
        required = _required;

        // initialzie Emergency calls
        emergencyCalls.push(
            EmergencyCall({
                selector: keccak256(abi.encodePacked("setMarketBorrowUsability(uint16,bool)")),
                paramsBytesCount: 64
            })
        );
    }

    function getEmergencyCallsCount()
        external
        view
        returns (uint256 count)
    {
        return emergencyCalls.length;
    }

    /** @dev Allows to add a new owner. Transaction has to be sent by wallet.
      * @param owner Address of new owner.
      */
    function addOwner(address owner)
        external
        onlyWallet
        ownerDoesNotExist(owner)
        notNull(owner)
        validRequirement(owners.length + 1, required)
    {
        isOwner[owner] = true;
        owners.push(owner);
        emit OwnerAddition(owner);
    }

    /** @dev Allows to remove an owner. Transaction has to be sent by wallet.
      * @param owner Address of owner.
      */
    function removeOwner(address owner)
        external
        onlyWallet
        ownerExists(owner)
    {
        isOwner[owner] = false;
        for (uint256 i = 0; i < owners.length - 1; i++) {
            if (owners[i] == owner) {
                owners[i] = owners[owners.length - 1];
                break;
            }
        }

        owners.length -= 1;

        if (required > owners.length) {
            changeRequirement(owners.length);
        }

        emit OwnerRemoval(owner);
    }

    /** @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.
      * @param owner Address of owner to be replaced.
      * @param owner Address of new owner.
      */
    function replaceOwner(address owner, address newOwner)
        external
        onlyWallet
        ownerExists(owner)
        ownerDoesNotExist(newOwner)
    {
        for (uint256 i = 0; i < owners.length; i++) {
            if (owners[i] == owner) {
                owners[i] = newOwner;
                break;
            }
        }

        isOwner[owner] = false;
        isOwner[newOwner] = true;
        emit OwnerRemoval(owner);
        emit OwnerAddition(newOwner);
    }

    /** @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.
      * @param _required Number of required confirmations.
      */
    function changeRequirement(uint256 _required)
        public
        onlyWallet
        validRequirement(owners.length, _required)
    {
        required = _required;
        emit RequirementChange(_required);
    }

    /** @dev Changes the duration of the time lock for transactions.
      * @param _lockSeconds Duration needed after a transaction is confirmed and before it becomes executable, in seconds.
      */
    function changeLockSeconds(uint256 _lockSeconds)
        external
        onlyWallet
    {
        lockSeconds = _lockSeconds;
        emit LockSecondsChange(_lockSeconds);
    }

    /** @dev Allows an owner to submit and confirm a transaction.
      * @param destination Transaction target address.
      * @param value Transaction ether value.
      * @param data Transaction data payload.
      * @return Returns transaction ID.
      */
    function submitTransaction(address destination, uint256 value, bytes calldata data)
        external
        ownerExists(msg.sender)
        notNull(destination)
        returns (uint256 transactionId)
    {
        transactionId = transactionCount;
        transactions[transactionId] = Transaction({
            destination: destination,
            value: value,
            data: data,
            executed: false
        });
        transactionCount += 1;
        emit Submission(transactionId);
        confirmTransaction(transactionId);
    }

    /** @dev Allows an owner to confirm a transaction.
      * @param transactionId Transaction ID.
      */
    function confirmTransaction(uint256 transactionId)
        public
        ownerExists(msg.sender)
        transactionExists(transactionId)
        notConfirmed(transactionId, msg.sender)
    {
        confirmations[transactionId][msg.sender] = true;
        emit Confirmation(msg.sender, transactionId);

        if (isConfirmed(transactionId) && unlockTimes[transactionId] == 0 && !isEmergencyCall(transactionId)) {
            uint256 unlockTime = block.timestamp + lockSeconds;
            unlockTimes[transactionId] = unlockTime;
            emit UnlockTimeSet(transactionId, unlockTime);
        }
    }

    function isEmergencyCall(uint256 transactionId)
        internal
        view
        returns (bool)
    {
        bytes memory data = transactions[transactionId].data;

        for (uint256 i = 0; i < emergencyCalls.length; i++) {
            EmergencyCall memory emergencyCall = emergencyCalls[i];

            if (
                data.length == emergencyCall.paramsBytesCount + 4 &&
                data.length >= 4 &&
                emergencyCall.selector[0] == data[0] &&
                emergencyCall.selector[1] == data[1] &&
                emergencyCall.selector[2] == data[2] &&
                emergencyCall.selector[3] == data[3]
            ) {
                return true;
            }
        }

        return false;
    }

    /** @dev Allows an owner to revoke a confirmation for a transaction.
      * @param transactionId Transaction ID.
      */
    function revokeConfirmation(uint256 transactionId)
        external
        ownerExists(msg.sender)
        confirmed(transactionId, msg.sender)
        notExecuted(transactionId)
    {
        confirmations[transactionId][msg.sender] = false;
        emit Revocation(msg.sender, transactionId);
    }

    /** @dev Allows anyone to execute a confirmed transaction.
      * @param transactionId Transaction ID.
      */
    function executeTransaction(uint256 transactionId)
        external
        ownerExists(msg.sender)
        notExecuted(transactionId)
    {
        require(
            block.timestamp >= unlockTimes[transactionId],
            "TRANSACTION_NEED_TO_UNLOCK"
        );

        if (isConfirmed(transactionId)) {
            Transaction storage transaction = transactions[transactionId];
            transaction.executed = true;
            (bool success, ) = transaction.destination.call.value(transaction.value)(transaction.data);
            if (success)
                emit Execution(transactionId);
            else {
                emit ExecutionFailure(transactionId);
                transaction.executed = false;
            }
        }
    }

    /** @dev Returns the confirmation status of a transaction.
      * @param transactionId Transaction ID.
      * @return Confirmation status.
      */
    function isConfirmed(uint256 transactionId)
        public
        view
        returns (bool)
    {
        uint256 count = 0;

        for (uint256 i = 0; i < owners.length; i++) {
            if (confirmations[transactionId][owners[i]]) {
                count += 1;
            }

            if (count >= required) {
                return true;
            }
        }

        return false;
    }

    /* Web3 call functions */

    /** @dev Returns number of confirmations of a transaction.
      * @param transactionId Transaction ID.
      * @return Number of confirmations.
      */
    function getConfirmationCount(uint256 transactionId)
        external
        view
        returns (uint256 count)
    {
        for (uint256 i = 0; i < owners.length; i++) {
            if (confirmations[transactionId][owners[i]]) {
                count += 1;
            }
        }
    }

    /** @dev Returns total number of transactions after filers are applied.
      * @param pending Include pending transactions.
      * @param executed Include executed transactions.
      * @return Total number of transactions after filters are applied.
      */
    function getTransactionCount(bool pending, bool executed)
        external
        view
        returns (uint256 count)
    {
        for (uint256 i = 0; i < transactionCount; i++) {
            if (pending && !transactions[i].executed || executed && transactions[i].executed) {
                count += 1;
            }
        }
    }

    /** @dev Returns list of owners.
      * @return List of owner addresses.
      */
    function getOwners()
        external
        view
        returns (address[] memory)
    {
        return owners;
    }

    /** @dev Returns array with owner addresses, which confirmed transaction.
      * @param transactionId Transaction ID.
      * @return Returns array of owner addresses.
      */
    function getConfirmations(uint256 transactionId)
        external
        view
        returns (address[] memory _confirmations)
    {
        address[] memory confirmationsTemp = new address[](owners.length);
        uint256 count = 0;
        uint256 i;

        for (i = 0; i < owners.length; i++) {
            if (confirmations[transactionId][owners[i]]) {
                confirmationsTemp[count] = owners[i];
                count += 1;
            }
        }

        _confirmations = new address[](count);

        for (i = 0; i < count; i++) {
            _confirmations[i] = confirmationsTemp[i];
        }
    }
}

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"revokeConfirmation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"confirmations","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"unlockTimes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"isConfirmed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"emergencyCalls","outputs":[{"name":"selector","type":"bytes32"},{"name":"paramsBytesCount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmationCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_lockSeconds","type":"uint256"}],"name":"changeLockSeconds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transactions","outputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"executed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmations","outputs":[{"name":"_confirmations","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"transactionCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_required","type":"uint256"}],"name":"changeRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockSeconds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"confirmTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getEmergencyCallsCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"submitTransaction","outputs":[{"name":"transactionId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_OWNER_COUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"required","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"newOwner","type":"address"}],"name":"replaceOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"executeTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Confirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Revocation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Submission","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Execution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerAddition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerRemoval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"required","type":"uint256"}],"name":"RequirementChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"},{"indexed":false,"name":"confirmationTime","type":"uint256"}],"name":"UnlockTimeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"lockSeconds","type":"uint256"}],"name":"LockSecondsChange","type":"event"}]

6080604052600080553480156200001557600080fd5b506040516200352d3803806200352d833981018060405260408110156200003b57600080fd5b8101908080516401000000008111156200005457600080fd5b828101905060208101848111156200006b57600080fd5b81518560208202830111640100000000821117156200008957600080fd5b5050929190602001805190602001909291905050508151816032821180620000b057508181115b80620000bc5750600081145b80620000c85750600082145b156200013c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f56414c49445f524551554952454d454e545f4552524f5200000000000000000081525060200191505060405180910390fd5b60008090505b8451811015620002e757600360008683815181106200015d57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680620001f95750600073ffffffffffffffffffffffffffffffffffffffff16858281518110620001d957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156200026d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4f574e45525f4552524f5200000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600360008784815181106200028057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808060010191505062000142565b5083600590805190602001906200030092919062000396565b5082600681905550600860405180604001604052806040516020018080620035086025913960250190506040516020818303038152906040528051906020012081526020016040815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050505050506200046b565b82805482825590600052602060002090810192821562000412579160200282015b82811115620004115782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190620003b7565b5b50905062000421919062000425565b5090565b6200046891905b808211156200046457600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506001016200042c565b5090565b90565b61308d806200047b6000396000f3fe6080604052600436106101665760003560e01c80639ace38c2116100d1578063c01a8c841161008a578063d74f8edd11610064578063d74f8edd14610983578063dc8452cd146109ae578063e20056e6146109d9578063ee22610b14610a4a57610166565b8063c01a8c8414610859578063c0af022714610894578063c6427474146108bf57610166565b80639ace38c2146105d3578063a0e67e2b146106cc578063b5dc40c314610738578063b77bf600146107c8578063ba51a6df146107f3578063bfa6fddb1461082e57610166565b80637065cb48116101235780637065cb481461040057806376ac947a14610451578063784547a7146104a057806386384afc146104f35780638b51d13f146105495780638c22d5d31461059857610166565b8063025e7c27146101c0578063173825d91461023b57806320ea8d861461028c5780632f54bf6e146102c75780633411c81c1461033057806354741525146103a3575b60003411156101be573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a25b005b3480156101cc57600080fd5b506101f9600480360360208110156101e357600080fd5b8101908080359060200190929190505050610a85565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024757600080fd5b5061028a6004803603602081101561025e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ac1565b005b34801561029857600080fd5b506102c5600480360360208110156102af57600080fd5b8101908080359060200190929190505050610e21565b005b3480156102d357600080fd5b50610316600480360360208110156102ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110ff565b604051808215151515815260200191505060405180910390f35b34801561033c57600080fd5b506103896004803603604081101561035357600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111f565b604051808215151515815260200191505060405180910390f35b3480156103af57600080fd5b506103ea600480360360408110156103c657600080fd5b8101908080351515906020019092919080351515906020019092919050505061114e565b6040518082815260200191505060405180910390f35b34801561040c57600080fd5b5061044f6004803603602081101561042357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111e2565b005b34801561045d57600080fd5b5061048a6004803603602081101561047457600080fd5b8101908080359060200190929190505050611593565b6040518082815260200191505060405180910390f35b3480156104ac57600080fd5b506104d9600480360360208110156104c357600080fd5b81019080803590602001909291905050506115ab565b604051808215151515815260200191505060405180910390f35b3480156104ff57600080fd5b5061052c6004803603602081101561051657600080fd5b8101908080359060200190929190505050611693565b604051808381526020018281526020019250505060405180910390f35b34801561055557600080fd5b506105826004803603602081101561056c57600080fd5b81019080803590602001909291905050506116c4565b6040518082815260200191505060405180910390f35b3480156105a457600080fd5b506105d1600480360360208110156105bb57600080fd5b810190808035906020019092919050505061178d565b005b3480156105df57600080fd5b5061060c600480360360208110156105f657600080fd5b810190808035906020019092919050505061186f565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561068e578082015181840152602081019050610673565b50505050905090810190601f1680156106bb5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156106d857600080fd5b506106e1611964565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610724578082015181840152602081019050610709565b505050509050019250505060405180910390f35b34801561074457600080fd5b506107716004803603602081101561075b57600080fd5b81019080803590602001909291905050506119f2565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107b4578082015181840152602081019050610799565b505050509050019250505060405180910390f35b3480156107d457600080fd5b506107dd611c1e565b6040518082815260200191505060405180910390f35b3480156107ff57600080fd5b5061082c6004803603602081101561081657600080fd5b8101908080359060200190929190505050611c24565b005b34801561083a57600080fd5b50610843611da6565b6040518082815260200191505060405180910390f35b34801561086557600080fd5b506108926004803603602081101561087c57600080fd5b8101908080359060200190929190505050611dac565b005b3480156108a057600080fd5b506108a9612166565b6040518082815260200191505060405180910390f35b3480156108cb57600080fd5b5061096d600480360360608110156108e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561092957600080fd5b82018360208201111561093b57600080fd5b8035906020019184600183028401116401000000008311171561095d57600080fd5b9091929391929390505050612173565b6040518082815260200191505060405180910390f35b34801561098f57600080fd5b50610998612451565b6040518082815260200191505060405180910390f35b3480156109ba57600080fd5b506109c3612456565b6040518082815260200191505060405180910390f35b3480156109e557600080fd5b50610a48600480360360408110156109fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061245c565b005b348015610a5657600080fd5b50610a8360048036036020811015610a6d57600080fd5b81019080803590602001909291905050506128a1565b005b60058181548110610a9257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b80600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008090505b600160058054905003811015610da2578273ffffffffffffffffffffffffffffffffffffffff1660058281548110610cb457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610d9557600560016005805490500381548110610d1057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110610d4857fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610da2565b8080600101915050610c80565b506001600581818054905003915081610dbb9190612f73565b506005805490506006541115610dda57610dd9600580549050611c24565b5b8173ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a25050565b33600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ee1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b81336002600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610fb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f434f4e4649524d45445f4552524f52000000000000000000000000000000000081525060200191505060405180910390fd5b836001600082815260200190815260200160002060030160009054906101000a900460ff161561104b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e4f545f45584543555445445f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b60006002600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e960405160405180910390a35050505050565b60036020528060005260406000206000915054906101000a900460ff1681565b60026020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600090505b6007548110156111db5783801561118e57506001600082815260200190815260200160002060030160009054906101000a900460ff16155b806111c257508280156111c157506001600082815260200190815260200160002060030160009054906101000a900460ff165b5b156111ce576001820191505b8080600101915050611156565b5092915050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611283576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b80600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4f574e45525f444f45535f4e4f545f45584953545f4552524f5200000000000081525060200191505060405180910390fd5b81600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f4e554c4c5f4552524f5200000000000000000000000000000000000081525060200191505060405180910390fd5b600160058054905001600654603282118061140257508181115b8061140d5750600081145b806114185750600082145b1561148b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f56414c49445f524551554952454d454e545f4552524f5200000000000000000081525060200191505060405180910390fd5b6001600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060058590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508473ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b60046020528060005260406000206000915090505481565b6000806000905060008090505b60058054905081101561168757600260008581526020019081526020016000206000600583815481106115e757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611666576001820191505b600654821061167a5760019250505061168e565b80806001019150506115b8565b5060009150505b919050565b600881815481106116a057fe5b90600052602060002090600202016000915090508060000154908060010154905082565b600080600090505b60058054905081101561178757600260008481526020019081526020016000206000600583815481106116fb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561177a576001820191505b80806001019150506116cc565b50919050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461182e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b806000819055507f884d6758bafbcb4b5e2e0393178ca1f3da3dd380a54ce05ab60aa59756db9dc1816040518082815260200191505060405180910390a150565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119475780601f1061191c57610100808354040283529160200191611947565b820191906000526020600020905b81548152906001019060200180831161192a57829003601f168201915b5050505050908060030160009054906101000a900460ff16905084565b606060058054806020026020016040519081016040528092919081815260200182805480156119e857602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161199e575b5050505050905090565b606080600580549050604051908082528060200260200182016040528015611a295781602001602082028038833980820191505090505b509050600080905060008090505b600580549050811015611b705760026000868152602001908152602001600020600060058381548110611a6657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611b635760058181548110611aeb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838381518110611b2257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b8080600101915050611a37565b81604051908082528060200260200182016040528015611b9f5781602001602082028038833980820191505090505b509350600090505b81811015611c1657828181518110611bbb57fe5b6020026020010151848281518110611bcf57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050611ba7565b505050919050565b60075481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cc5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b600580549050816032821180611cda57508181115b80611ce55750600081145b80611cf05750600082145b15611d63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f56414c49445f524551554952454d454e545f4552524f5200000000000000000081525060200191505060405180910390fd5b826006819055507fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a836040518082815260200191505060405180910390a1505050565b60005481565b33600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b81600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611f46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f5452414e53414354494f4e5f4558495354535f4552524f52000000000000000081525060200191505060405180910390fd5b82336002600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612019576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e4f545f434f4e4649524d45445f4552524f520000000000000000000000000081525060200191505060405180910390fd5b60016002600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef60405160405180910390a36120cf856115ab565b80156120ee575060006004600087815260200190815260200160002054145b801561210057506120fe85612c3b565b155b1561215f576000805442019050806004600088815260200190815260200160002081905550857f280af6a3ba059a74f0e894262aa07f2c4d0de1e231882263c0d7dcda111b1a44826040518082815260200191505060405180910390a2505b5050505050565b6000600880549050905090565b600033600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612235576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f4e554c4c5f4552524f5200000000000000000000000000000000000081525060200191505060405180910390fd5b600754925060405180608001604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152602001600015158152506001600085815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020190805190602001906123dc929190612f9f565b5060608201518160030160006101000a81548160ff0219169083151502179055509050506001600760008282540192505081905550827fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a261244783611dac565b5050949350505050565b603281565b60065481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b81600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166125bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b81600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561267e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4f574e45525f444f45535f4e4f545f45584953545f4552524f5200000000000081525060200191505060405180910390fd5b60008090505b600580549050811015612764578473ffffffffffffffffffffffffffffffffffffffff16600582815481106126b557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561275757836005828154811061270a57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612764565b8080600101915050612684565b506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508373ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a28273ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a250505050565b33600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612961576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b816001600082815260200190815260200160002060030160009054906101000a900460ff16156129f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e4f545f45584543555445445f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b6004600084815260200190815260200160002054421015612a82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5452414e53414354494f4e5f4e4545445f544f5f554e4c4f434b00000000000081525060200191505060405180910390fd5b612a8b836115ab565b15612c3657600060016000858152602001908152602001600020905060018160030160006101000a81548160ff02191690831515021790555060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260010154836002016040518082805460018160011615610100020316600290048015612b655780601f10612b43576101008083540402835291820191612b65565b820191906000526020600020905b815481529060010190602001808311612b51575b505091505060006040518083038185875af1925050503d8060008114612ba7576040519150601f19603f3d011682016040523d82523d6000602084013e612bac565b606091505b505090508015612be857847f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a2612c33565b847f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260008260030160006101000a81548160ff0219169083151502179055505b50505b505050565b60006060600160008481526020019081526020016000206002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612ce95780601f10612cbe57610100808354040283529160200191612ce9565b820191906000526020600020905b815481529060010190602001808311612ccc57829003601f168201915b5050505050905060008090505b600880549050811015612f6757612d0b61301f565b60088281548110612d1857fe5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905060048160200151018351148015612d6057506004835110155b8015612dda575082600081518110612d7457fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160000151600060208110612db257fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8015612e54575082600181518110612dee57fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160000151600160208110612e2c57fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8015612ece575082600281518110612e6857fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160000151600260208110612ea657fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8015612f48575082600381518110612ee257fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160000151600360208110612f2057fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15612f595760019350505050612f6e565b508080600101915050612cf6565b5060009150505b919050565b815481835581811115612f9a57818360005260206000209182019101612f99919061303c565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612fe057805160ff191683800117855561300e565b8280016001018555821561300e579182015b8281111561300d578251825591602001919060010190612ff2565b5b50905061301b919061303c565b5090565b604051806040016040528060008019168152602001600081525090565b61305e91905b8082111561305a576000816000905550600101613042565b5090565b9056fea165627a7a72305820b7037ca5270f1a15211d77cdb5458d12d2d3629de2b3df9742114ec414bbdf7300297365744d61726b6574426f72726f7755736162696c6974792875696e7431362c626f6f6c290000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000007081685ff3ff16fb6c0df08ac93bdb7299eeefc90000000000000000000000002a3210a158a396b34a56ac941c4a3d1c24d3e5a70000000000000000000000009c59990ec0177d87ed7d60a56f584e6b06c639a200000000000000000000000003d2162bc484426182c74c8c8fbf0a5a899c7107

Deployed Bytecode

0x6080604052600436106101665760003560e01c80639ace38c2116100d1578063c01a8c841161008a578063d74f8edd11610064578063d74f8edd14610983578063dc8452cd146109ae578063e20056e6146109d9578063ee22610b14610a4a57610166565b8063c01a8c8414610859578063c0af022714610894578063c6427474146108bf57610166565b80639ace38c2146105d3578063a0e67e2b146106cc578063b5dc40c314610738578063b77bf600146107c8578063ba51a6df146107f3578063bfa6fddb1461082e57610166565b80637065cb48116101235780637065cb481461040057806376ac947a14610451578063784547a7146104a057806386384afc146104f35780638b51d13f146105495780638c22d5d31461059857610166565b8063025e7c27146101c0578063173825d91461023b57806320ea8d861461028c5780632f54bf6e146102c75780633411c81c1461033057806354741525146103a3575b60003411156101be573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a25b005b3480156101cc57600080fd5b506101f9600480360360208110156101e357600080fd5b8101908080359060200190929190505050610a85565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024757600080fd5b5061028a6004803603602081101561025e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ac1565b005b34801561029857600080fd5b506102c5600480360360208110156102af57600080fd5b8101908080359060200190929190505050610e21565b005b3480156102d357600080fd5b50610316600480360360208110156102ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110ff565b604051808215151515815260200191505060405180910390f35b34801561033c57600080fd5b506103896004803603604081101561035357600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111f565b604051808215151515815260200191505060405180910390f35b3480156103af57600080fd5b506103ea600480360360408110156103c657600080fd5b8101908080351515906020019092919080351515906020019092919050505061114e565b6040518082815260200191505060405180910390f35b34801561040c57600080fd5b5061044f6004803603602081101561042357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111e2565b005b34801561045d57600080fd5b5061048a6004803603602081101561047457600080fd5b8101908080359060200190929190505050611593565b6040518082815260200191505060405180910390f35b3480156104ac57600080fd5b506104d9600480360360208110156104c357600080fd5b81019080803590602001909291905050506115ab565b604051808215151515815260200191505060405180910390f35b3480156104ff57600080fd5b5061052c6004803603602081101561051657600080fd5b8101908080359060200190929190505050611693565b604051808381526020018281526020019250505060405180910390f35b34801561055557600080fd5b506105826004803603602081101561056c57600080fd5b81019080803590602001909291905050506116c4565b6040518082815260200191505060405180910390f35b3480156105a457600080fd5b506105d1600480360360208110156105bb57600080fd5b810190808035906020019092919050505061178d565b005b3480156105df57600080fd5b5061060c600480360360208110156105f657600080fd5b810190808035906020019092919050505061186f565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561068e578082015181840152602081019050610673565b50505050905090810190601f1680156106bb5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156106d857600080fd5b506106e1611964565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610724578082015181840152602081019050610709565b505050509050019250505060405180910390f35b34801561074457600080fd5b506107716004803603602081101561075b57600080fd5b81019080803590602001909291905050506119f2565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107b4578082015181840152602081019050610799565b505050509050019250505060405180910390f35b3480156107d457600080fd5b506107dd611c1e565b6040518082815260200191505060405180910390f35b3480156107ff57600080fd5b5061082c6004803603602081101561081657600080fd5b8101908080359060200190929190505050611c24565b005b34801561083a57600080fd5b50610843611da6565b6040518082815260200191505060405180910390f35b34801561086557600080fd5b506108926004803603602081101561087c57600080fd5b8101908080359060200190929190505050611dac565b005b3480156108a057600080fd5b506108a9612166565b6040518082815260200191505060405180910390f35b3480156108cb57600080fd5b5061096d600480360360608110156108e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561092957600080fd5b82018360208201111561093b57600080fd5b8035906020019184600183028401116401000000008311171561095d57600080fd5b9091929391929390505050612173565b6040518082815260200191505060405180910390f35b34801561098f57600080fd5b50610998612451565b6040518082815260200191505060405180910390f35b3480156109ba57600080fd5b506109c3612456565b6040518082815260200191505060405180910390f35b3480156109e557600080fd5b50610a48600480360360408110156109fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061245c565b005b348015610a5657600080fd5b50610a8360048036036020811015610a6d57600080fd5b81019080803590602001909291905050506128a1565b005b60058181548110610a9257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b80600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008090505b600160058054905003811015610da2578273ffffffffffffffffffffffffffffffffffffffff1660058281548110610cb457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610d9557600560016005805490500381548110610d1057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110610d4857fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610da2565b8080600101915050610c80565b506001600581818054905003915081610dbb9190612f73565b506005805490506006541115610dda57610dd9600580549050611c24565b5b8173ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a25050565b33600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ee1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b81336002600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610fb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f434f4e4649524d45445f4552524f52000000000000000000000000000000000081525060200191505060405180910390fd5b836001600082815260200190815260200160002060030160009054906101000a900460ff161561104b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e4f545f45584543555445445f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b60006002600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e960405160405180910390a35050505050565b60036020528060005260406000206000915054906101000a900460ff1681565b60026020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600090505b6007548110156111db5783801561118e57506001600082815260200190815260200160002060030160009054906101000a900460ff16155b806111c257508280156111c157506001600082815260200190815260200160002060030160009054906101000a900460ff165b5b156111ce576001820191505b8080600101915050611156565b5092915050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611283576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b80600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4f574e45525f444f45535f4e4f545f45584953545f4552524f5200000000000081525060200191505060405180910390fd5b81600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f4e554c4c5f4552524f5200000000000000000000000000000000000081525060200191505060405180910390fd5b600160058054905001600654603282118061140257508181115b8061140d5750600081145b806114185750600082145b1561148b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f56414c49445f524551554952454d454e545f4552524f5200000000000000000081525060200191505060405180910390fd5b6001600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060058590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508473ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b60046020528060005260406000206000915090505481565b6000806000905060008090505b60058054905081101561168757600260008581526020019081526020016000206000600583815481106115e757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611666576001820191505b600654821061167a5760019250505061168e565b80806001019150506115b8565b5060009150505b919050565b600881815481106116a057fe5b90600052602060002090600202016000915090508060000154908060010154905082565b600080600090505b60058054905081101561178757600260008481526020019081526020016000206000600583815481106116fb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561177a576001820191505b80806001019150506116cc565b50919050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461182e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b806000819055507f884d6758bafbcb4b5e2e0393178ca1f3da3dd380a54ce05ab60aa59756db9dc1816040518082815260200191505060405180910390a150565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119475780601f1061191c57610100808354040283529160200191611947565b820191906000526020600020905b81548152906001019060200180831161192a57829003601f168201915b5050505050908060030160009054906101000a900460ff16905084565b606060058054806020026020016040519081016040528092919081815260200182805480156119e857602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161199e575b5050505050905090565b606080600580549050604051908082528060200260200182016040528015611a295781602001602082028038833980820191505090505b509050600080905060008090505b600580549050811015611b705760026000868152602001908152602001600020600060058381548110611a6657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611b635760058181548110611aeb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838381518110611b2257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b8080600101915050611a37565b81604051908082528060200260200182016040528015611b9f5781602001602082028038833980820191505090505b509350600090505b81811015611c1657828181518110611bbb57fe5b6020026020010151848281518110611bcf57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050611ba7565b505050919050565b60075481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cc5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b600580549050816032821180611cda57508181115b80611ce55750600081145b80611cf05750600082145b15611d63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f56414c49445f524551554952454d454e545f4552524f5200000000000000000081525060200191505060405180910390fd5b826006819055507fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a836040518082815260200191505060405180910390a1505050565b60005481565b33600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b81600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611f46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f5452414e53414354494f4e5f4558495354535f4552524f52000000000000000081525060200191505060405180910390fd5b82336002600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612019576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e4f545f434f4e4649524d45445f4552524f520000000000000000000000000081525060200191505060405180910390fd5b60016002600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef60405160405180910390a36120cf856115ab565b80156120ee575060006004600087815260200190815260200160002054145b801561210057506120fe85612c3b565b155b1561215f576000805442019050806004600088815260200190815260200160002081905550857f280af6a3ba059a74f0e894262aa07f2c4d0de1e231882263c0d7dcda111b1a44826040518082815260200191505060405180910390a2505b5050505050565b6000600880549050905090565b600033600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612235576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e4f545f4e554c4c5f4552524f5200000000000000000000000000000000000081525060200191505060405180910390fd5b600754925060405180608001604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152602001600015158152506001600085815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020190805190602001906123dc929190612f9f565b5060608201518160030160006101000a81548160ff0219169083151502179055509050506001600760008282540192505081905550827fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a261244783611dac565b5050949350505050565b603281565b60065481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f57414c4c45545f4552524f5200000000000000000000000000000081525060200191505060405180910390fd5b81600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166125bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b81600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561267e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4f574e45525f444f45535f4e4f545f45584953545f4552524f5200000000000081525060200191505060405180910390fd5b60008090505b600580549050811015612764578473ffffffffffffffffffffffffffffffffffffffff16600582815481106126b557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561275757836005828154811061270a57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612764565b8080600101915050612684565b506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508373ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a28273ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a250505050565b33600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612961576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f574e45525f4558495354535f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b816001600082815260200190815260200160002060030160009054906101000a900460ff16156129f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e4f545f45584543555445445f4552524f52000000000000000000000000000081525060200191505060405180910390fd5b6004600084815260200190815260200160002054421015612a82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5452414e53414354494f4e5f4e4545445f544f5f554e4c4f434b00000000000081525060200191505060405180910390fd5b612a8b836115ab565b15612c3657600060016000858152602001908152602001600020905060018160030160006101000a81548160ff02191690831515021790555060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260010154836002016040518082805460018160011615610100020316600290048015612b655780601f10612b43576101008083540402835291820191612b65565b820191906000526020600020905b815481529060010190602001808311612b51575b505091505060006040518083038185875af1925050503d8060008114612ba7576040519150601f19603f3d011682016040523d82523d6000602084013e612bac565b606091505b505090508015612be857847f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a2612c33565b847f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260008260030160006101000a81548160ff0219169083151502179055505b50505b505050565b60006060600160008481526020019081526020016000206002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612ce95780601f10612cbe57610100808354040283529160200191612ce9565b820191906000526020600020905b815481529060010190602001808311612ccc57829003601f168201915b5050505050905060008090505b600880549050811015612f6757612d0b61301f565b60088281548110612d1857fe5b906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050905060048160200151018351148015612d6057506004835110155b8015612dda575082600081518110612d7457fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160000151600060208110612db257fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8015612e54575082600181518110612dee57fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160000151600160208110612e2c57fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8015612ece575082600281518110612e6857fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160000151600260208110612ea657fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8015612f48575082600381518110612ee257fe5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160000151600360208110612f2057fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15612f595760019350505050612f6e565b508080600101915050612cf6565b5060009150505b919050565b815481835581811115612f9a57818360005260206000209182019101612f99919061303c565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612fe057805160ff191683800117855561300e565b8280016001018555821561300e579182015b8281111561300d578251825591602001919060010190612ff2565b5b50905061301b919061303c565b5090565b604051806040016040528060008019168152602001600081525090565b61305e91905b8082111561305a576000816000905550600101613042565b5090565b9056fea165627a7a72305820b7037ca5270f1a15211d77cdb5458d12d2d3629de2b3df9742114ec414bbdf730029

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

0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000007081685ff3ff16fb6c0df08ac93bdb7299eeefc90000000000000000000000002a3210a158a396b34a56ac941c4a3d1c24d3e5a70000000000000000000000009c59990ec0177d87ed7d60a56f584e6b06c639a200000000000000000000000003d2162bc484426182c74c8c8fbf0a5a899c7107

-----Decoded View---------------
Arg [0] : _owners (address[]): 0x7081685Ff3ff16FB6c0dF08AC93bdB7299EEEfc9,0x2A3210A158a396B34A56AC941c4a3D1c24D3E5A7,0x9c59990ec0177d87ED7D60A56F584E6b06C639a2,0x03D2162Bc484426182c74C8C8Fbf0A5A899C7107
Arg [1] : _required (uint256): 1

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [3] : 0000000000000000000000007081685ff3ff16fb6c0df08ac93bdb7299eeefc9
Arg [4] : 0000000000000000000000002a3210a158a396b34a56ac941c4a3d1c24d3e5a7
Arg [5] : 0000000000000000000000009c59990ec0177d87ed7d60a56f584e6b06c639a2
Arg [6] : 00000000000000000000000003d2162bc484426182c74c8c8fbf0a5a899c7107


Deployed ByteCode Sourcemap

26:13340:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3129:1;3117:9;:13;3113:81;;;3160:10;3152:30;;;3172:9;3152:30;;;;;;;;;;;;;;;;;;3113:81;26:13340;1062:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1062:23:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1062:23:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4846:521;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4846:521:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4846:521:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9375:309;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9375:309:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9375:309:0;;;;;;;;;;;;;;;;;:::i;:::-;;959:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;959:40:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;959:40:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;885:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;885:67:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;885:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11954:346;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11954:346:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11954:346:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4415:294;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4415:294:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4415:294:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1006:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1006:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1006:47:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10751:421;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10751:421:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10751:421:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1442:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1442:37:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1442:37:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;11375:301;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11375:301:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11375:301:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6698:184;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6698:184:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6698:184:0;;;;;;;;;;;;;;;;;:::i;:::-;;826:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;826:52:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;826:52:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;826:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12398:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12398:126:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12398:126:0;;;;;;;;;;;;;;;;;12718:645;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12718:645:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12718:645:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12718:645:0;;;;;;;;;;;;;;;;;1122:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1122:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6264:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6264:222:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6264:222:0;;;;;;;;;;;;;;;;;:::i;:::-;;122:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;122:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7843:622;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7843:622:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7843:622:0;;;;;;;;;;;;;;;;;:::i;:::-;;4123:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4123:151:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7158:565;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7158:565:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7158:565:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7158:565:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7158:565:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7158:565:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;71:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;71:44:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1092:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1092:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5581:498;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5581:498:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5581:498:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9812:773;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9812:773:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9812:773:0;;;;;;;;;;;;;;;;;:::i;:::-;;1062:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4846:521::-;1547:4;1525:27;;:10;:27;;;1521:73;;1567:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1521:73;4941:5;1824:7;:14;1832:5;1824:14;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;;1853:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;4981:5;4964:7;:14;4972:5;4964:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;5002:9;5014:1;5002:13;;4997:194;5037:1;5021:6;:13;;;;:17;5017:1;:21;4997:194;;;5077:5;5064:18;;:6;5071:1;5064:9;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;5060:120;;;5115:6;5138:1;5122:6;:13;;;;:17;5115:25;;;;;;;;;;;;;;;;;;;;;;;;;5103:6;5110:1;5103:9;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;5159:5;;5060:120;5040:3;;;;;;;4997:194;;;;5220:1;5203:6;:18;;;;;;;;;;;;;;:::i;:::-;;5249:6;:13;;;;5238:8;;:24;5234:89;;;5279:32;5297:6;:13;;;;5279:17;:32::i;:::-;5234:89;5353:5;5340:19;;;;;;;;;;;;1605:1;4846:521;:::o;9375:309::-;9465:10;1824:7;:14;1832:5;1824:14;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;;1853:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;9496:13;9511:10;2177:13;:28;2191:13;2177:28;;;;;;;;;;;:35;2206:5;2177:35;;;;;;;;;;;;;;;;;;;;;;;;;2172:80;;2227:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:80;9544:13;2521:12;:27;2534:13;2521:27;;;;;;;;;;;:36;;;;;;;;;;;;2517:83;;;2572:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2517:83;9618:5;9575:13;:28;9589:13;9575:28;;;;;;;;;;;:40;9604:10;9575:40;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;9662:13;9650:10;9639:37;;;;;;;;;;;;2263:1;1892;;9375:309;;:::o;959:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;885:67::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11954:346::-;12062:13;12098:9;12110:1;12098:13;;12093:200;12117:16;;12113:1;:20;12093:200;;;12159:7;:36;;;;;12171:12;:15;12184:1;12171:15;;;;;;;;;;;:24;;;;;;;;;;;;12170:25;12159:36;:76;;;;12199:8;:36;;;;;12211:12;:15;12224:1;12211:15;;;;;;;;;;;:24;;;;;;;;;;;;12199:36;12159:76;12155:127;;;12265:1;12256:10;;;;12155:127;12135:3;;;;;;;12093:200;;;;11954:346;;;;:::o;4415:294::-;1547:4;1525:27;;:10;:27;;;1521:73;;1567:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1521:73;4513:5;1679:7;:14;1687:5;1679:14;;;;;;;;;;;;;;;;;;;;;;;;;1675:69;;;1708:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1675:69;4537:5;2698:1;2678:22;;:8;:22;;;2674:65;;;2715:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2674:65;4586:1;4570:6;:13;;;;:17;4589:8;;113:2;2847:10;:28;:54;;;;2891:10;2879:9;:22;2847:54;:72;;;;2918:1;2905:9;:14;2847:72;:91;;;;2937:1;2923:10;:15;2847:91;2843:143;;;2953:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2843:143;4632:4;4615:7;:14;4623:5;4615:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;4647:6;4659:5;4647:18;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4647:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4695:5;4681:20;;;;;;;;;;;;2750:1;;1755;1605;4415:294;:::o;1006:47::-;;;;;;;;;;;;;;;;;:::o;10751:421::-;10843:4;10865:13;10881:1;10865:17;;10900:9;10912:1;10900:13;;10895:245;10919:6;:13;;;;10915:1;:17;10895:245;;;10958:13;:28;10972:13;10958:28;;;;;;;;;;;:39;10987:6;10994:1;10987:9;;;;;;;;;;;;;;;;;;;;;;;;;10958:39;;;;;;;;;;;;;;;;;;;;;;;;;10954:90;;;11027:1;11018:10;;;;10954:90;11073:8;;11064:5;:17;11060:69;;11109:4;11102:11;;;;;;11060:69;10934:3;;;;;;;10895:245;;;;11159:5;11152:12;;;10751:421;;;;:::o;1442:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11375:301::-;11478:13;11514:9;11526:1;11514:13;;11509:160;11533:6;:13;;;;11529:1;:17;11509:160;;;11572:13;:28;11586:13;11572:28;;;;;;;;;;;:39;11601:6;11608:1;11601:9;;;;;;;;;;;;;;;;;;;;;;;;;11572:39;;;;;;;;;;;;;;;;;;;;;;;;;11568:90;;;11641:1;11632:10;;;;11568:90;11548:3;;;;;;;11509:160;;;;11375:301;;;:::o;6698:184::-;1547:4;1525:27;;:10;:27;;;1521:73;;1567:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1521:73;6815:12;6801:11;:26;;;;6843:31;6861:12;6843:31;;;;;;;;;;;;;;;;;;6698:184;:::o;826:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12398:126::-;12469:16;12510:6;12503:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12398:126;:::o;12718:645::-;12817:31;12866:34;12917:6;:13;;;;12903:28;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;12903:28:0;;;;12866:65;;12942:13;12958:1;12942:17;;12970:9;13001:1;12997:5;;12992:207;13008:6;:13;;;;13004:1;:17;12992:207;;;13047:13;:28;13061:13;13047:28;;;;;;;;;;;:39;13076:6;13083:1;13076:9;;;;;;;;;;;;;;;;;;;;;;;;;13047:39;;;;;;;;;;;;;;;;;;;;;;;;;13043:145;;;13134:6;13141:1;13134:9;;;;;;;;;;;;;;;;;;;;;;;;;13107:17;13125:5;13107:24;;;;;;;;;;;;;:36;;;;;;;;;;;13171:1;13162:10;;;;13043:145;13023:3;;;;;;;12992:207;;;13242:5;13228:20;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;13228:20:0;;;;13211:37;;13270:1;13266:5;;13261:95;13277:5;13273:1;:9;13261:95;;;13324:17;13342:1;13324:20;;;;;;;;;;;;;;13304:14;13319:1;13304:17;;;;;;;;;;;;;:40;;;;;;;;;;;13284:3;;;;;;;13261:95;;;12718:645;;;;;;:::o;1122:31::-;;;;:::o;6264:222::-;1547:4;1525:27;;:10;:27;;;1521:73;;1567:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1521:73;6372:6;:13;;;;6387:9;113:2;2847:10;:28;:54;;;;2891:10;2879:9;:22;2847:54;:72;;;;2918:1;2905:9;:14;2847:72;:91;;;;2937:1;2923:10;:15;2847:91;2843:143;;;2953:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2843:143;6425:9;6414:8;:20;;;;6450:28;6468:9;6450:28;;;;;;;;;;;;;;;;;;1605:1;;6264:222;:::o;122:30::-;;;;:::o;7843:622::-;7931:10;1824:7;:14;1832:5;1824:14;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;;1853:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;7970:13;2025:1;1974:53;;:12;:27;1987:13;1974:27;;;;;;;;;;;:39;;;;;;;;;;;;:53;;;1970:106;;;2042:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1970:106;8007:13;8022:10;2355:13;:28;2369:13;2355:28;;;;;;;;;;;:35;2384:5;2355:35;;;;;;;;;;;;;;;;;;;;;;;;;2351:83;;;2405:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2351:83;8093:4;8050:13;:28;8064:13;8050:28;;;;;;;;;;;:40;8079:10;8050:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;8138:13;8126:10;8113:39;;;;;;;;;;;;8169:26;8181:13;8169:11;:26::i;:::-;:61;;;;;8229:1;8199:11;:26;8211:13;8199:26;;;;;;;;;;;;:31;8169:61;:96;;;;;8235:30;8251:13;8235:15;:30::i;:::-;8234:31;8169:96;8165:293;;;8282:18;8321:11;;8303:15;:29;8282:50;;8376:10;8347:11;:26;8359:13;8347:26;;;;;;;;;;;:39;;;;8420:13;8406:40;8435:10;8406:40;;;;;;;;;;;;;;;;;;8165:293;;2087:1;;1892;7843:622;;:::o;4123:151::-;4207:13;4245:14;:21;;;;4238:28;;4123:151;:::o;7158:565::-;7341:21;7281:10;1824:7;:14;1832:5;1824:14;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;;1853:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;7310:11;2698:1;2678:22;;:8;:22;;;2674:65;;;2715:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2674:65;7396:16;;7380:32;;7453:145;;;;;;;;7493:11;7453:145;;;;;;7526:5;7453:145;;;;7552:4;;7453:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7453:145:0;;;;;;;;;;7581:5;7453:145;;;;;7423:12;:27;7436:13;7423:27;;;;;;;;;;;:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7629:1;7609:16;;:21;;;;;;;;;;;7657:13;7646:25;;;;;;;;;;7682:33;7701:13;7682:18;:33::i;:::-;1892:1;7158:565;;;;;;;:::o;71:44::-;113:2;71:44;:::o;1092:23::-;;;;:::o;5581:498::-;1547:4;1525:27;;:10;:27;;;1521:73;;1567:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1521:73;5695:5;1824:7;:14;1832:5;1824:14;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;;1853:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;5729:8;1679:7;:14;1687:5;1679:14;;;;;;;;;;;;;;;;;;;;;;;;;1675:69;;;1708:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1675:69;5760:9;5772:1;5760:13;;5755:173;5779:6;:13;;;;5775:1;:17;5755:173;;;5831:5;5818:18;;:6;5825:1;5818:9;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;5814:103;;;5869:8;5857:6;5864:1;5857:9;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;5896:5;;5814:103;5794:3;;;;;;;5755:173;;;;5957:5;5940:7;:14;5948:5;5940:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;5993:4;5973:7;:17;5981:8;5973:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;6026:5;6013:19;;;;;;;;;;;;6062:8;6048:23;;;;;;;;;;;;1892:1;1605;5581:498;;:::o;9812:773::-;9902:10;1824:7;:14;1832:5;1824:14;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;;1853:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:62;9935:13;2521:12;:27;2534:13;2521:27;;;;;;;;;;;:36;;;;;;;;;;;;2517:83;;;2572:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2517:83;10007:11;:26;10019:13;10007:26;;;;;;;;;;;;9988:15;:45;;9966:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10104:26;10116:13;10104:11;:26::i;:::-;10100:478;;;10147:31;10181:12;:27;10194:13;10181:27;;;;;;;;;;;10147:61;;10246:4;10223:11;:20;;;:27;;;;;;;;;;;;;;;;;;10266:12;10284:11;:23;;;;;;;;;;;;:28;;10319:11;:17;;;10338:11;:16;;10284:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;10265:90:0;;;10374:7;10370:197;;;10415:13;10405:24;;;;;;;;;;10370:197;;;10490:13;10473:31;;;;;;;;;;10546:5;10523:11;:20;;;:28;;;;;;;;;;;;;;;;;;10370:197;10100:478;;;1892:1;9812:773;;:::o;8473:764::-;8571:4;8593:17;8613:12;:27;8626:13;8613:27;;;;;;;;;;;:32;;8593:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8663:9;8675:1;8663:13;;8658:547;8682:14;:21;;;;8678:1;:25;8658:547;;;8725:34;;:::i;:::-;8762:14;8777:1;8762:17;;;;;;;;;;;;;;;;;;8725:54;;;;;;;;;;;;;;;;;;;;;;;;;;;8866:1;8833:13;:30;;;:34;8818:4;:11;:49;:86;;;;;8903:1;8888:4;:11;:16;;8818:86;:143;;;;;8954:4;8959:1;8954:7;;;;;;;;;;;;;;;;8925:36;;;:13;:22;;;8948:1;8925:25;;;;;;;;;;:36;;;;8818:143;:200;;;;;9011:4;9016:1;9011:7;;;;;;;;;;;;;;;;8982:36;;;:13;:22;;;9005:1;8982:25;;;;;;;;;;:36;;;;8818:200;:257;;;;;9068:4;9073:1;9068:7;;;;;;;;;;;;;;;;9039:36;;;:13;:22;;;9062:1;9039:25;;;;;;;;;;:36;;;;8818:257;:314;;;;;9125:4;9130:1;9125:7;;;;;;;;;;;;;;;;9096:36;;;:13;:22;;;9119:1;9096:25;;;;;;;;;;:36;;;;8818:314;8796:398;;;9174:4;9167:11;;;;;;;8796:398;8658:547;8705:3;;;;;;;8658:547;;;;9224:5;9217:12;;;8473:764;;;;:::o;26:13340::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Metadata Hash

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