Contract 0x01d3e7271c278aa3aa56eeba6a109b2c200679fa 2

 

Contract Overview

DODO: Multisig Wallet
Balance:
0 ETH

ETH Value:
$0.00
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x32556c5c02f92888fc9297154b8e563ee42af46a4474d82834d11ddc56a23f7aExecute Transact...546935852023-01-22 10:55:2216 days 20 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003437
0x91b8fbc1268bf34864d51a96a4c8b6f9aaa4e91bd309aa6ca6aaa107bcc63640Confirm Transact...546935082023-01-22 10:54:5916 days 20 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003292
0x54304de5974a3453432cbdc93d566fc54b5bfc518010a56b862c63a1cd890f76Submit Transacti...546234572023-01-22 2:09:1317 days 4 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00007633
0xb3c382b99b11d28c8630cac9385ff5808f5814ea3e40ecef2549ae13f44836faExecute Transact...519784072023-01-10 4:23:0929 days 2 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003408
0xa5900728529dc9276aefccde0729ffbb50bd8292f185c9b04e4421d69f503627Execute Transact...519783832023-01-10 4:22:5929 days 2 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003409
0x594e70a99f220006eac01c67f708cbd30860c6d865be14510a7982c8371fed25Confirm Transact...519782522023-01-10 4:21:5429 days 2 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003581
0x476fceec1ef824f758124d95a817babc969eab4269265b9dadde1aac3809b62dConfirm Transact...519782372023-01-10 4:21:4529 days 2 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003581
0xccd4144c28487ae321d284d7a87ce270690b51fc9f05e054f77924c7d463be56Submit Transacti...519778782023-01-10 4:18:4429 days 2 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00006969
0x834eae7c13bb730e759d0728c99bca23ae8be41a13be85830532f4a34657accbSubmit Transacti...519777312023-01-10 4:17:3929 days 2 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00006969
0x51d58f4111ad46299b2403fb3b755407243ef4359cd02bcf4d0fcb16ac439f0aExecute Transact...482230372022-12-23 8:11:2546 days 22 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00002703
0xe08cd6ae735007e37bce86fb66ce42e35f7b36879357a39856738d0758afef01Confirm Transact...482228792022-12-23 8:10:4146 days 22 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00002721
0xbce84dfce80c8a1f691f06eabe56d8e347d6ec5d69942b18b6f967322a43ab8dSubmit Transacti...482218292022-12-23 8:05:4946 days 22 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00005772
0xe15e3f4738b105b9d3442ae142f1d36ed3ead16e4ff238d8aadb1ad21170a841Execute Transact...480609772022-12-22 14:48:2447 days 16 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00004042
0xcfc386be5b49fceec8f8916e04c4ca947883ed47fee506073e24d82c6220c50dConfirm Transact...480609272022-12-22 14:48:1047 days 16 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003898
0xe60cc951ddf299e0608454c589a9c11cd3f5d06f2009d996748b40f7023ebdb0Submit Transacti...479980582022-12-22 9:37:1047 days 21 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00005324
0xe477afe2e4e4ddf8d0cc96d3aa06c14aaa4ca80d279f8866857836afa1836ec4Execute Transact...460311542022-12-14 8:22:3155 days 22 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003186
0xbedbf65153905f57bbf5c5cf772171005a44bf3f62ef5026af6088623fcc19b9Confirm Transact...460309962022-12-14 8:21:4655 days 22 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00002967
0x50a20de6f475b215acee70fb190ae8172666dd876b2690e7d18396060aec3c4aSubmit Transacti...460211682022-12-14 7:34:1255 days 23 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00005609
0x3b8f3f6e6f01cf2af1d9e381af04318343505b80cac15d22315a294873781d33Execute Transact...409900242022-11-25 4:19:3975 days 2 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00002301
0xbcf13546ae517838e232bac32551f7c02bab84cae7fd2ab9e07bf6291e99ffeeConfirm Transact...409899912022-11-25 4:19:2675 days 2 hrs ago0x36fff5b6168f6c7b38b1226eaf49408eba1ab148 IN  DODO: Multisig Wallet0 ETH0.00002319
0x7f2ab28d82f201a9d0d7e997d78c65633f7997de0ae7c8c18877b77eeaa6d9a8Submit Transacti...409895992022-11-25 4:17:0575 days 2 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00004697
0x00f77ec072e05f7ff68a38cd6585412f74aab44ff012d7d34f37288fbf549d43Execute Transact...403034972022-11-22 16:49:3877 days 14 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003254
0x6ae847953549dbc2c8fde818065e494afd9455a7f587c190038c765c3fba8007Execute Transact...403034652022-11-22 16:49:3077 days 14 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003217
0x8cda0cd77a3fd3abc08fe0d2b75fa388bb9a681b9237e00451ba6fa4bbfecf6dConfirm Transact...403033982022-11-22 16:49:1277 days 14 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003064
0xbf261190b2810ab236d24c0a9352157277379a88c6cd162f68b564b5e39a80f0Confirm Transact...403033722022-11-22 16:49:0577 days 14 hrs ago0x9c59990ec0177d87ed7d60a56f584e6b06c639a2 IN  DODO: Multisig Wallet0 ETH0.00003064
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x32556c5c02f92888fc9297154b8e563ee42af46a4474d82834d11ddc56a23f7a546935852023-01-22 10:55:2216 days 20 hrs ago DODO: Multisig Wallet Tether: USDT Token0 ETH
0xb3c382b99b11d28c8630cac9385ff5808f5814ea3e40ecef2549ae13f44836fa519784072023-01-10 4:23:0929 days 2 hrs ago DODO: Multisig Wallet DODO: Private Pool Factory0 ETH
0xa5900728529dc9276aefccde0729ffbb50bd8292f185c9b04e4421d69f503627519783832023-01-10 4:22:5929 days 2 hrs ago DODO: Multisig Wallet DODO: Private Pool Factory0 ETH
0x51d58f4111ad46299b2403fb3b755407243ef4359cd02bcf4d0fcb16ac439f0a482230372022-12-23 8:11:2546 days 22 hrs ago DODO: Multisig Wallet0x69eb4fa4a2fbd498c257c57ea8b7655a2559a5810 ETH
0xe15e3f4738b105b9d3442ae142f1d36ed3ead16e4ff238d8aadb1ad21170a841480609772022-12-22 14:48:2447 days 16 hrs ago DODO: Multisig Wallet 0x82af49447d8a07e3bd95bd0d56f35241523fbab10 ETH
0xe477afe2e4e4ddf8d0cc96d3aa06c14aaa4ca80d279f8866857836afa1836ec4460311542022-12-14 8:22:3155 days 22 hrs ago DODO: Multisig Wallet DODO: Approve Proxy V20 ETH
0x3b8f3f6e6f01cf2af1d9e381af04318343505b80cac15d22315a294873781d33409900242022-11-25 4:19:3975 days 2 hrs ago DODO: Multisig Wallet0x69eb4fa4a2fbd498c257c57ea8b7655a2559a5810 ETH
0x00f77ec072e05f7ff68a38cd6585412f74aab44ff012d7d34f37288fbf549d43403034972022-11-22 16:49:3877 days 14 hrs ago DODO: Multisig Wallet 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x6ae847953549dbc2c8fde818065e494afd9455a7f587c190038c765c3fba8007403034652022-11-22 16:49:3077 days 14 hrs ago DODO: Multisig Wallet dForce: DF Token0 ETH
0xfc43787b969f426f7868d7fab3e2e48487e1c0d897a199a2b653cb10f19f81af390244972022-11-18 10:24:5281 days 20 hrs ago DODO: Multisig Wallet DODO: Proxy 02 V20 ETH
0x22c0d63f6d87f23b87fd21060b0ddbde7ff8328e1da87f8a0a68211921b7ba9e324088542022-10-25 8:25:57105 days 22 hrs ago DODO: Multisig Wallet0x69eb4fa4a2fbd498c257c57ea8b7655a2559a5810 ETH
0x42d6b09a9daa0ec935754b209cb19142aeffba6b4e7b21f9652d53a69b97fce1292932542022-10-09 16:21:50121 days 14 hrs ago DODO: Multisig Wallet DODO: Approve Proxy V20 ETH
0x06962e05f794d5bf1eb257d2ba198e1a2759d577d40abea55261d45f48045faf292932362022-10-09 16:21:43121 days 14 hrs ago DODO: Multisig Wallet 0x5fe43c0ebfe66b83c10a9a37ad1e4ac640aaaa650 ETH
0xe887247557df6098ecc79c9e77d5bbaee7600d776dd1eaedfd02ebcff349cd29292932092022-10-09 16:21:35121 days 14 hrs ago DODO: Multisig Wallet 0x6de4d882a84a98f4ccd5d33ea6b3c99a07babeb10 ETH
0x1b1a33924936425faf3a59724db7a92ed210dec0b8d47e59e7f6c8f94ea45e61273279062022-09-29 3:28:58132 days 3 hrs ago DODO: Multisig Wallet DODO: Multisig Wallet0 ETH
0x032f04baaa8cbe9f57137a0e6bcddfee8ad0661e222fadb6bec804dcd565ce48273249102022-09-29 3:07:56132 days 3 hrs ago DODO: Multisig Wallet0x69eb4fa4a2fbd498c257c57ea8b7655a2559a5810 ETH
0x70c40d2fd4e050575f36b4b37e215366e04a9de6684663fe3f59085094f9ae21259421402022-09-22 10:54:46138 days 20 hrs ago DODO: Multisig Wallet 0x82af49447d8a07e3bd95bd0d56f35241523fbab10 ETH
0xa2a5f0b9cb45dd150d23959a7d8cc62fec27dd5830a09a834f4f8ff6105c7483259421152022-09-22 10:54:39138 days 20 hrs ago DODO: Multisig Wallet 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x01070753f16e3c7b52fa5ca0103e6b3d3d7769730f623f27247c8d9c4085e7d8259420992022-09-22 10:54:31138 days 20 hrs ago DODO: Multisig Wallet Tether: USDT Token0 ETH
0xb8300fb7fbfcd425968672145f9b7f79ded63bf461f354c6c6d3a04a873687a6243675462022-09-13 6:56:46148 days 8 mins ago DODO: Multisig Wallet DODO: Approve Proxy V20 ETH
0x7761fab4cfedbd063c767675d7bddcb7a4f3728427ae5c0bd8c80b5ade02e403243675252022-09-13 6:56:37148 days 8 mins ago DODO: Multisig Wallet 0x3dd629473a2ed7f3c6299ffd9f3e0c283d073f110 ETH
0xbce368f582df5abefb903c6c9c1f0676e7a419c0252abef7cbadccad808a8b56243675062022-09-13 6:56:27148 days 8 mins ago DODO: Multisig Wallet 0x1fc8ec204549c865a17b4059a57deca66a4bd4cc0 ETH
0x78c2ef87931e69cd8ce7d670b7e4bf3514db035b51b98dc426b0d5c2a5586855243674882022-09-13 6:56:19148 days 9 mins ago DODO: Multisig Wallet 0x5fe43c0ebfe66b83c10a9a37ad1e4ac640aaaa650 ETH
0x623e1ea1bba04ce228908ea32f10bdf3919e629802058fd87ec63a1af8e0bbca237916332022-09-09 15:23:26151 days 15 hrs ago DODO: Multisig WalletDODO: WETH-USDC Pair V10 ETH
0x213ef7eac247047914eb3c409345076683d90b96798edb4f9497788aa1dc7592235051782022-09-08 5:06:42153 days 1 hr ago DODO: Multisig Wallet 0xddb13e6dd168e1a68dc2285cb212078ae10394a90 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 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

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.