Contract 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c

Contract Overview

Balance:
76.‍908380349812500001 AVAX

AVAX Value:
$1,959.63 (@ $25.48/AVAX)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xc7f411e68ef98af97e1cb0d45064198a777e5a351897f7cf84321d3bd66894c9Confirm Transact...184083292022-08-09 7:08:579 days 9 hrs ago0x56d142e1f28bda932a59171448fdb0d83b663629 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍01858905 225
0x3fa75642b39681880ca1418ebba8fbacc2395a928c95e66bb5fd7f777e9dbab7Submit Transacti...184081752022-08-09 7:03:439 days 9 hrs ago0xc09a1823794d04de3a8a1ae496b30284c706a722 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍04517415 225
0x77526168c2fb2cc485412fac412b6a731365273167bfab930b075b29bf2eae06Confirm Transact...180560832022-08-01 0:44:0617 days 15 hrs ago0x56d142e1f28bda932a59171448fdb0d83b663629 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍02385855 225
0x1cc4e3e23bddab28af831162cead9883ef09781b42af4ae6201d4491808a7e6fConfirm Transact...180510132022-07-31 21:48:1317 days 18 hrs ago0x8484fbedae4e9b2e26df44b92cd5f81b71c8150e IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍002370238 26
0x5e358901a53eede539a42b3441fcee15feb041b198bec55395a003c650a058b8Submit Transacti...180493582022-07-31 20:51:1617 days 19 hrs ago0xc09a1823794d04de3a8a1ae496b30284c706a722 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍036694125 225
0xac8a3b417bf9956a072d00dbed32ff240cb9bac3d2f7eea6939ecc982470449fConfirm Transact...168577012022-07-03 20:24:4645 days 20 hrs ago0x8484fbedae4e9b2e26df44b92cd5f81b71c8150e IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍02385855 225
0x35c41c5ae0925b382e55eb89f7316bbab226ec16b7a6548a18e3550fe9f9e01bConfirm Transact...168570512022-07-03 20:03:1445 days 20 hrs ago0x56d142e1f28bda932a59171448fdb0d83b663629 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍020511675 225
0x47a03779758122e6e5574161e1e9f2de92a3ef6873e8134d258b8fe80072b3faSubmit Transacti...168568392022-07-03 19:56:0945 days 20 hrs ago0xc09a1823794d04de3a8a1ae496b30284c706a722 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍036694125 225
0xe2c5f46097817d9f2c281fb7693436a3e852e82a65b89cc4251de3e6a72c3c92Confirm Transact...156788022022-06-06 14:53:3673 days 1 hr ago0x56d142e1f28bda932a59171448fdb0d83b663629 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍02496915 225
0x01f736e9a2ede74f6f1c4b95c895a30d46344af2a0df86a00871bd4e69891e3cConfirm Transact...156779482022-06-06 14:23:1673 days 2 hrs ago0xdba61d59df1dbe308b88e150f3808a25b8da6628 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍020511675 225
0x6b5ed95f9685748f02324d479089454dbdfc3d52ded976a1017ad4d4bd1e14afSubmit Transacti...156778672022-06-06 14:20:1973 days 2 hrs ago0xc09a1823794d04de3a8a1ae496b30284c706a722 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍036694125 225
0x0251813e9d6a60850ac8c2d8d54714bc6e25f1844e5141c80faf2841243d9e9fConfirm Transact...145074682022-05-10 10:16:56100 days 6 hrs ago0x8484fbedae4e9b2e26df44b92cd5f81b71c8150e IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍0106038100
0x000f52ed5514ce0de567dd0604bc575b5e5d03f87e9f75d0e8922b6a76cee5c3Confirm Transact...145066342022-05-10 9:48:04100 days 6 hrs ago0x56d142e1f28bda932a59171448fdb0d83b663629 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍020511675 225
0x1ea7b79c88868d7d0b141fe0acb8c380ae20ea8a7829cfdc24babab000a142b7Submit Transacti...145057942022-05-10 9:19:37100 days 7 hrs ago0xc09a1823794d04de3a8a1ae496b30284c706a722 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍036694125 225
0x37606a55d1336c89c4faabc0c3da4d60a07f6fbfd3dc94b274303999b325246cConfirm Transact...133575372022-04-13 8:12:20127 days 8 hrs ago0xdba61d59df1dbe308b88e150f3808a25b8da6628 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍03059415 225
0x0f12bc7ae317bd294ef30377c8d594414f3966cc0e50f41d90c87a8120171c7bConfirm Transact...133574162022-04-13 8:08:18127 days 8 hrs ago0x56d142e1f28bda932a59171448fdb0d83b663629 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍020511675 225
0x317f74d4edd038af634d5f5d3b9d1dc727e8fbfef6695c75dfb1dd3e13c71075Submit Transacti...133573072022-04-13 8:04:34127 days 8 hrs ago0xc09a1823794d04de3a8a1ae496b30284c706a722 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍036694125 225
0x66edbb4863165de87b5d45353502b5207da74a08c6a3dbba0aa8388bdab50ffdConfirm Transact...115424162022-03-01 10:20:30170 days 6 hrs ago0x56d142e1f28bda932a59171448fdb0d83b663629 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍0241965 225
0x7ff527c3f4b708fa5c606a3672842e30125475d98c42a741dd2cef4ee3bfd15bConfirm Transact...115423922022-03-01 10:19:46170 days 6 hrs ago0x8484fbedae4e9b2e26df44b92cd5f81b71c8150e IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍002912922184 31.‍957106172
0x2c4c340a738691d4817ea1c4308a4f7da57620c2f29c7d72cc08f945e896bac3Submit Transacti...115423232022-03-01 10:17:27170 days 6 hrs ago0xc09a1823794d04de3a8a1ae496b30284c706a722 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0 AVAX0.‍044389125 225
0xbe7e65920a7fa5f9428432c9142df6df6989400fbf8a84721a5320e748586fdbTransfer47478022021-09-23 14:37:22329 days 1 hr ago0xbbee77687816b89d7c19ef002bc047bbb13517e2 IN  0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c1 AVAX0.‍00056285 25
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x2bd3dbd43a2b532ec9b8804d8e2709c784c278c6e975ca56a8972e27854f57f9188093892022-08-18 16:27:261 min ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0091875 AVAX
0x2ecb679f284afd9097655e59eccfcb43df7356d07fe4d939e7cb40b11f66dc28188093852022-08-18 16:27:181 min ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0045 AVAX
0xc56bac746090263cb0795ac15d89949dc13b5e2a0a02425dcbff0d896b99e3cf188089732022-08-18 16:13:1415 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0x155cf9b98c8189bfd21daf7a6588134a55690be5ec5bbb7576e2d6c4b07cff67188088872022-08-18 16:10:0518 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0xea0520b4bf22b03358dc2dfcf1947a14b0c45594972b42e0c023cbe906bedeb2188088352022-08-18 16:08:1820 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0x3d461875d0080b28b542353ff48d281b6e15c6980ed376db3485af37a690b8d6188084762022-08-18 15:56:0232 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0x25c491ca43441af6c461fcf5bdf88ae8c3313b2dc58fcf826c2c21ada8aee8c7188084552022-08-18 15:55:1733 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0xd4f299bfe086613700ef0367a9a105501e798c47e02995c1e4f2ea90ff236980188084012022-08-18 15:53:2935 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0xf98cbb58de56c853e75e16e82578cbddbc6c391922d08736a2654134d4ee9cd3188083662022-08-18 15:52:1836 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0xd347e169887edf53c7fa8b5685373f3cfb8be21743e353f7473f8858a848d7f1188082552022-08-18 15:48:3240 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0x99ad1455f59677fdf1bc3fc7128302dcfec19137defbf4259d37e76e0b1853df188082232022-08-18 15:47:2341 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0xb56a39634229d0383eb7c2dbaa4d9eb02e51604fff5f3c38e1926fd83ec392cd188081512022-08-18 15:44:5943 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0x3cf37be41d608d939224aa3d28888c1479d232ab06be40625435da22ebb262d9188081182022-08-18 15:43:5344 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0x1105bbea478d281535f83aefbcc32e8f057f8f8ebe7f027d1af506d0e691b09f188080232022-08-18 15:40:3747 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍00975 AVAX
0xdffc13bc59bb6075a7c85834f88bad4b3fe1ee01fcca5591fff48fcaffbd2e99188078262022-08-18 15:33:4754 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0095625 AVAX
0x9daa1f6749ec6293d1b959b7b1869ac2f591523a9ae2b8140378e7fb0e46ce20188078052022-08-18 15:33:0555 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0095625 AVAX
0xd87a74b78e581b9b2e88db13356815183f32a64aa0fde60703eab8d874c58960188077572022-08-18 15:31:2957 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0095625 AVAX
0x122e5aad12f4ed81ed29289461b7d7ab4f1a7f3516f79fac5c18b49946dbe71f188075572022-08-18 15:24:331 hr 4 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0095625 AVAX
0xa2b0abfe975562675a284c861bbd97ec4f5e877757e4e5abf5c33cb3eb7b2b9e188075242022-08-18 15:23:251 hr 5 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0095625 AVAX
0xb2598d58a3418b9b99b52446215a381162004c55c285d9d0b1343a2e62e291db188075072022-08-18 15:22:511 hr 5 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0095625 AVAX
0xec8aa00fb8ce8e5bb7158c207f00229c9389efa85482b45c7c117a0b39305893188074692022-08-18 15:21:351 hr 6 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0095625 AVAX
0xc20a5f7009c1473aed591718cc5708b851f0c3ce1f5835b2285c5005e12fb604188074002022-08-18 15:19:111 hr 9 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0103125 AVAX
0x64dd1a9d699a1976bce3ce576f402825a37e2fde261040db656919351155bb27188073462022-08-18 15:17:141 hr 11 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0088125 AVAX
0x72fbfe01dc212a5d2ec45d0aef384f7817a52caad462990ac38d4d6280187bdd188051252022-08-18 14:01:252 hrs 27 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍3 AVAX
0x0b1b8233ffb14f4424abf335beb2ee338b05869548c882a3b25413b23c058301188047102022-08-18 13:47:062 hrs 41 mins ago 0x11ac3118309a7215c6d87c7c396e2df333ae3a9c 0x2fbccb43a19d26ec5be17e102f1621bfe3c7314c0.‍0065625 AVAX
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0xA4cB6e1971Ed8A1F76d9e8d50A5FC56DFA5cc1e6

Contract Name:
MultiSigWalletWithDailyLimit

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at snowtrace.io on 2021-11-02
*/

// File: contracts/MultiSigWallet.sol

pragma solidity ^0.4.15;


/// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution.
/// @author Stefan George - <[email protected]>
contract MultiSigWallet {

    /*
     *  Events
     */
    event Confirmation(address indexed sender, uint indexed transactionId);
    event Revocation(address indexed sender, uint indexed transactionId);
    event Submission(uint indexed transactionId);
    event Execution(uint indexed transactionId);
    event ExecutionFailure(uint indexed transactionId);
    event Deposit(address indexed sender, uint value);
    event OwnerAddition(address indexed owner);
    event OwnerRemoval(address indexed owner);
    event RequirementChange(uint required);

    /*
     *  Constants
     */
    uint constant public MAX_OWNER_COUNT = 50;

    /*
     *  Storage
     */
    mapping (uint => Transaction) public transactions;
    mapping (uint => mapping (address => bool)) public confirmations;
    mapping (address => bool) public isOwner;
    address[] public owners;
    uint public required;
    uint public transactionCount;

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

    /*
     *  Modifiers
     */
    modifier onlyWallet() {
        require(msg.sender == address(this));
        _;
    }

    modifier ownerDoesNotExist(address owner) {
        require(!isOwner[owner]);
        _;
    }

    modifier ownerExists(address owner) {
        require(isOwner[owner]);
        _;
    }

    modifier transactionExists(uint transactionId) {
        require(transactions[transactionId].destination != 0);
        _;
    }

    modifier confirmed(uint transactionId, address owner) {
        require(confirmations[transactionId][owner]);
        _;
    }

    modifier notConfirmed(uint transactionId, address owner) {
        require(!confirmations[transactionId][owner]);
        _;
    }

    modifier notExecuted(uint transactionId) {
        require(!transactions[transactionId].executed);
        _;
    }

    modifier notNull(address _address) {
        require(_address != 0);
        _;
    }

    modifier validRequirement(uint ownerCount, uint _required) {
        require(ownerCount <= MAX_OWNER_COUNT
            && _required <= ownerCount
            && _required != 0
            && ownerCount != 0);
        _;
    }

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

    /*
     * Public functions
     */
    /// @dev Contract constructor sets initial owners and required number of confirmations.
    /// @param _owners List of initial owners.
    /// @param _required Number of required confirmations.
    function MultiSigWallet(address[] _owners, uint _required)
        public
        validRequirement(_owners.length, _required)
    {
        for (uint i=0; i<_owners.length; i++) {
            require(!isOwner[_owners[i]] && _owners[i] != 0);
            isOwner[_owners[i]] = true;
        }
        owners = _owners;
        required = _required;
    }

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

    /// @dev Allows to remove an owner. Transaction has to be sent by wallet.
    /// @param owner Address of owner.
    function removeOwner(address owner)
        public
        onlyWallet
        ownerExists(owner)
    {
        isOwner[owner] = false;
        for (uint 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);
        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 newOwner Address of new owner.
    function replaceOwner(address owner, address newOwner)
        public
        onlyWallet
        ownerExists(owner)
        ownerDoesNotExist(newOwner)
    {
        for (uint i=0; i<owners.length; i++)
            if (owners[i] == owner) {
                owners[i] = newOwner;
                break;
            }
        isOwner[owner] = false;
        isOwner[newOwner] = true;
        OwnerRemoval(owner);
        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(uint _required)
        public
        onlyWallet
        validRequirement(owners.length, _required)
    {
        required = _required;
        RequirementChange(_required);
    }

    /// @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, uint value, bytes data)
        public
        returns (uint transactionId)
    {
        transactionId = addTransaction(destination, value, data);
        confirmTransaction(transactionId);
    }

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

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

    /// @dev Allows anyone to execute a confirmed transaction.
    /// @param transactionId Transaction ID.
    function executeTransaction(uint transactionId)
        public
        ownerExists(msg.sender)
        confirmed(transactionId, msg.sender)
        notExecuted(transactionId)
    {
        if (isConfirmed(transactionId)) {
            Transaction storage txn = transactions[transactionId];
            txn.executed = true;
            if (external_call(txn.destination, txn.value, txn.data.length, txn.data))
                Execution(transactionId);
            else {
                ExecutionFailure(transactionId);
                txn.executed = false;
            }
        }
    }

    // call has been separated into its own function in order to take advantage
    // of the Solidity's code generator to produce a loop that copies tx.data into memory.
    function external_call(address destination, uint value, uint dataLength, bytes data) internal returns (bool) {
        bool result;
        assembly {
            let x := mload(0x40)   // "Allocate" memory for output (0x40 is where "free memory" pointer is stored by convention)
            let d := add(data, 32) // First 32 bytes are the padded length of data, so exclude that
            result := call(
                sub(gas, 34710),   // 34710 is the value that solidity is currently emitting
                                   // It includes callGas (700) + callVeryLow (3, to pay for SUB) + callValueTransferGas (9000) +
                                   // callNewAccountGas (25000, in case the destination address does not exist and needs creating)
                destination,
                value,
                d,
                dataLength,        // Size of the input (in bytes) - this is what fixes the padding problem
                x,
                0                  // Output is ignored, therefore the output size is zero
            )
        }
        return result;
    }

    /// @dev Returns the confirmation status of a transaction.
    /// @param transactionId Transaction ID.
    /// @return Confirmation status.
    function isConfirmed(uint transactionId)
        public
        constant
        returns (bool)
    {
        uint count = 0;
        for (uint i=0; i<owners.length; i++) {
            if (confirmations[transactionId][owners[i]])
                count += 1;
            if (count == required)
                return true;
        }
    }

    /*
     * Internal functions
     */
    /// @dev Adds a new transaction to the transaction mapping, if transaction does not exist yet.
    /// @param destination Transaction target address.
    /// @param value Transaction ether value.
    /// @param data Transaction data payload.
    /// @return Returns transaction ID.
    function addTransaction(address destination, uint value, bytes data)
        internal
        notNull(destination)
        returns (uint transactionId)
    {
        transactionId = transactionCount;
        transactions[transactionId] = Transaction({
            destination: destination,
            value: value,
            data: data,
            executed: false
        });
        transactionCount += 1;
        Submission(transactionId);
    }

    /*
     * Web3 call functions
     */
    /// @dev Returns number of confirmations of a transaction.
    /// @param transactionId Transaction ID.
    /// @return Number of confirmations.
    function getConfirmationCount(uint transactionId)
        public
        constant
        returns (uint count)
    {
        for (uint 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)
        public
        constant
        returns (uint count)
    {
        for (uint 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()
        public
        constant
        returns (address[])
    {
        return owners;
    }

    /// @dev Returns array with owner addresses, which confirmed transaction.
    /// @param transactionId Transaction ID.
    /// @return Returns array of owner addresses.
    function getConfirmations(uint transactionId)
        public
        constant
        returns (address[] _confirmations)
    {
        address[] memory confirmationsTemp = new address[](owners.length);
        uint count = 0;
        uint 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];
    }

    /// @dev Returns list of transaction IDs in defined range.
    /// @param from Index start position of transaction array.
    /// @param to Index end position of transaction array.
    /// @param pending Include pending transactions.
    /// @param executed Include executed transactions.
    /// @return Returns array of transaction IDs.
    function getTransactionIds(uint from, uint to, bool pending, bool executed)
        public
        constant
        returns (uint[] _transactionIds)
    {
        uint[] memory transactionIdsTemp = new uint[](transactionCount);
        uint count = 0;
        uint i;
        for (i=0; i<transactionCount; i++)
            if (   pending && !transactions[i].executed
                || executed && transactions[i].executed)
            {
                transactionIdsTemp[count] = i;
                count += 1;
            }
        _transactionIds = new uint[](to - from);
        for (i=from; i<to; i++)
            _transactionIds[i - from] = transactionIdsTemp[i];
    }
}

// File: contracts/MultiSigWalletWithDailyLimit.sol

pragma solidity ^0.4.15;



/// @title Multisignature wallet with daily limit - Allows an owner to withdraw a daily limit without multisig.
/// @author Stefan George - <[email protected]>
contract MultiSigWalletWithDailyLimit is MultiSigWallet {

    /*
     *  Events
     */
    event DailyLimitChange(uint dailyLimit);

    /*
     *  Storage
     */
    uint public dailyLimit;
    uint public lastDay;
    uint public spentToday;

    /*
     * Public functions
     */
    /// @dev Contract constructor sets initial owners, required number of confirmations and daily withdraw limit.
    /// @param _owners List of initial owners.
    /// @param _required Number of required confirmations.
    /// @param _dailyLimit Amount in wei, which can be withdrawn without confirmations on a daily basis.
    function MultiSigWalletWithDailyLimit(address[] _owners, uint _required, uint _dailyLimit)
        public
        MultiSigWallet(_owners, _required)
    {
        dailyLimit = _dailyLimit;
    }

    /// @dev Allows to change the daily limit. Transaction has to be sent by wallet.
    /// @param _dailyLimit Amount in wei.
    function changeDailyLimit(uint _dailyLimit)
        public
        onlyWallet
    {
        dailyLimit = _dailyLimit;
        DailyLimitChange(_dailyLimit);
    }

    /// @dev Allows anyone to execute a confirmed transaction or ether withdraws until daily limit is reached.
    /// @param transactionId Transaction ID.
    function executeTransaction(uint transactionId)
        public
        ownerExists(msg.sender)
        confirmed(transactionId, msg.sender)
        notExecuted(transactionId)
    {
        Transaction storage txn = transactions[transactionId];
        bool _confirmed = isConfirmed(transactionId);
        if (_confirmed || txn.data.length == 0 && isUnderLimit(txn.value)) {
            txn.executed = true;
            if (!_confirmed)
                spentToday += txn.value;
            if (external_call(txn.destination, txn.value, txn.data.length, txn.data))
                Execution(transactionId);
            else {
                ExecutionFailure(transactionId);
                txn.executed = false;
                if (!_confirmed)
                    spentToday -= txn.value;
            }
        }
    }

    /*
     * Internal functions
     */
    /// @dev Returns if amount is within daily limit and resets spentToday after one day.
    /// @param amount Amount to withdraw.
    /// @return Returns if amount is under daily limit.
    function isUnderLimit(uint amount)
        internal
        returns (bool)
    {
        if (now > lastDay + 24 hours) {
            lastDay = now;
            spentToday = 0;
        }
        if (spentToday + amount > dailyLimit || spentToday + amount < spentToday)
            return false;
        return true;
    }

    /*
     * Web3 call functions
     */
    /// @dev Returns maximum withdraw amount.
    /// @return Returns amount.
    function calcMaxWithdraw()
        public
        constant
        returns (uint)
    {
        if (now > lastDay + 24 hours)
            return dailyLimit;
        if (dailyLimit < spentToday)
            return 0;
        return dailyLimit - spentToday;
    }
}

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":"calcMaxWithdraw","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[],"name":"dailyLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastDay","outputs":[{"name":"","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":"transactionId","type":"uint256"}],"name":"isConfirmed","outputs":[{"name":"","type":"bool"}],"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":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":"from","type":"uint256"},{"name":"to","type":"uint256"},{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionIds","outputs":[{"name":"_transactionIds","type":"uint256[]"}],"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":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"confirmTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_dailyLimit","type":"uint256"}],"name":"changeDailyLimit","outputs":[],"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"},{"constant":true,"inputs":[],"name":"spentToday","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"},{"name":"_dailyLimit","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"dailyLimit","type":"uint256"}],"name":"DailyLimitChange","type":"event"},{"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"}]

60806040523480156200001157600080fd5b506040516200277f3803806200277f8339810180604052810190808051820192919060200180519060200190929190805190602001909291905050508282600082518260328211158015620000665750818111155b801562000074575060008114155b801562000082575060008214155b15156200008e57600080fd5b600092505b8451831015620001c957600260008685815181101515620000b057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156200013f5750600085848151811015156200011c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614155b15156200014b57600080fd5b60016002600087868151811015156200016057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550828060010193505062000093565b8460039080519060200190620001e1929190620001fe565b5083600481905550505050505080600681905550505050620002d3565b8280548282559060005260206000209081019282156200027a579160200282015b82811115620002795782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906200021f565b5b5090506200028991906200028d565b5090565b620002d091905b80821115620002cc57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010162000294565b5090565b90565b61249c80620002e36000396000f300608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c27146101ae578063173825d91461021b57806320ea8d861461025e5780632f54bf6e1461028b5780633411c81c146102e65780634bc9fdc21461034b578063547415251461037657806367eeba0c146103c55780636b0c932d146103f05780637065cb481461041b578063784547a71461045e5780638b51d13f146104a35780639ace38c2146104e4578063a0e67e2b146105cf578063a8abe69a1461063b578063b5dc40c3146106df578063b77bf60014610761578063ba51a6df1461078c578063c01a8c84146107b9578063c6427474146107e6578063cea086211461088d578063d74f8edd146108ba578063dc8452cd146108e5578063e20056e614610910578063ee22610b14610973578063f059cf2b146109a0575b60003411156101ac573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a25b005b3480156101ba57600080fd5b506101d9600480360381019080803590602001909291905050506109cb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022757600080fd5b5061025c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a09565b005b34801561026a57600080fd5b5061028960048036038101908080359060200190929190505050610ca2565b005b34801561029757600080fd5b506102cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e4a565b604051808215151515815260200191505060405180910390f35b3480156102f257600080fd5b5061033160048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e6a565b604051808215151515815260200191505060405180910390f35b34801561035757600080fd5b50610360610e99565b6040518082815260200191505060405180910390f35b34801561038257600080fd5b506103af600480360381019080803515159060200190929190803515159060200190929190505050610ed6565b6040518082815260200191505060405180910390f35b3480156103d157600080fd5b506103da610f68565b6040518082815260200191505060405180910390f35b3480156103fc57600080fd5b50610405610f6e565b6040518082815260200191505060405180910390f35b34801561042757600080fd5b5061045c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f74565b005b34801561046a57600080fd5b5061048960048036038101908080359060200190929190505050611179565b604051808215151515815260200191505060405180910390f35b3480156104af57600080fd5b506104ce6004803603810190808035906020019092919050505061125e565b6040518082815260200191505060405180910390f35b3480156104f057600080fd5b5061050f60048036038101908080359060200190929190505050611329565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610591578082015181840152602081019050610576565b50505050905090810190601f1680156105be5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156105db57600080fd5b506105e461141e565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062757808201518184015260208101905061060c565b505050509050019250505060405180910390f35b34801561064757600080fd5b5061068860048036038101908080359060200190929190803590602001909291908035151590602001909291908035151590602001909291905050506114ac565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106cb5780820151818401526020810190506106b0565b505050509050019250505060405180910390f35b3480156106eb57600080fd5b5061070a6004803603810190808035906020019092919050505061161d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561074d578082015181840152602081019050610732565b505050509050019250505060405180910390f35b34801561076d57600080fd5b5061077661185a565b6040518082815260200191505060405180910390f35b34801561079857600080fd5b506107b760048036038101908080359060200190929190505050611860565b005b3480156107c557600080fd5b506107e46004803603810190808035906020019092919050505061191a565b005b3480156107f257600080fd5b50610877600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611af7565b6040518082815260200191505060405180910390f35b34801561089957600080fd5b506108b860048036038101908080359060200190929190505050611b16565b005b3480156108c657600080fd5b506108cf611b91565b6040518082815260200191505060405180910390f35b3480156108f157600080fd5b506108fa611b96565b6040518082815260200191505060405180910390f35b34801561091c57600080fd5b50610971600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b9c565b005b34801561097f57600080fd5b5061099e60048036038101908080359060200190929190505050611eb1565b005b3480156109ac57600080fd5b506109b56121ce565b6040518082815260200191505060405180910390f35b6003818154811015156109da57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a4557600080fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610a9e57600080fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600091505b600160038054905003821015610c23578273ffffffffffffffffffffffffffffffffffffffff16600383815481101515610b3157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c16576003600160038054905003815481101515610b8f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600383815481101515610bc957fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c23565b8180600101925050610afb565b6001600381818054905003915081610c3b919061239f565b506003805490506004541115610c5a57610c59600380549050611860565b5b8273ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a2505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610cfb57600080fd5b81336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610d6657600080fd5b8360008082815260200190815260200160002060030160009054906101000a900460ff16151515610d9657600080fd5b60006001600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e960405160405180910390a35050505050565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b60006201518060075401421115610eb4576006549050610ed3565b6008546006541015610ec95760009050610ed3565b6008546006540390505b90565b600080600090505b600554811015610f6157838015610f15575060008082815260200190815260200160002060030160009054906101000a900460ff16155b80610f485750828015610f47575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b15610f54576001820191505b8080600101915050610ede565b5092915050565b60065481565b60075481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fae57600080fd5b80600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561100857600080fd5b8160008173ffffffffffffffffffffffffffffffffffffffff161415151561102f57600080fd5b6001600380549050016004546032821115801561104c5750818111155b8015611059575060008114155b8015611066575060008214155b151561107157600080fd5b6001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508473ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b6000806000809150600090505b600380549050811015611256576001600085815260200190815260200160002060006003838154811015156111b757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611236576001820191505b6004548214156112495760019250611257565b8080600101915050611186565b5b5050919050565b600080600090505b6003805490508110156113235760016000848152602001908152602001600020600060038381548110151561129757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611316576001820191505b8080600101915050611266565b50919050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114015780601f106113d657610100808354040283529160200191611401565b820191906000526020600020905b8154815290600101906020018083116113e457829003601f168201915b5050505050908060030160009054906101000a900460ff16905084565b606060038054806020026020016040519081016040528092919081815260200182805480156114a257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611458575b5050505050905090565b6060806000806005546040519080825280602002602001820160405280156114e35781602001602082028038833980820191505090505b50925060009150600090505b60055481101561158f57858015611526575060008082815260200190815260200160002060030160009054906101000a900460ff16155b806115595750848015611558575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b156115825780838381518110151561156d57fe5b90602001906020020181815250506001820191505b80806001019150506114ef565b8787036040519080825280602002602001820160405280156115c05781602001602082028038833980820191505090505b5093508790505b868110156116125782818151811015156115dd57fe5b90602001906020020151848983038151811015156115f757fe5b906020019060200201818152505080806001019150506115c7565b505050949350505050565b6060806000806003805490506040519080825280602002602001820160405280156116575781602001602082028038833980820191505090505b50925060009150600090505b6003805490508110156117a45760016000868152602001908152602001600020600060038381548110151561169457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156117975760038181548110151561171b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838381518110151561175457fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b8080600101915050611663565b816040519080825280602002602001820160405280156117d35781602001602082028038833980820191505090505b509350600090505b818110156118525782818151811015156117f157fe5b90602001906020020151848281518110151561180957fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806001019150506117db565b505050919050565b60055481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189a57600080fd5b60038054905081603282111580156118b25750818111155b80156118bf575060008114155b80156118cc575060008214155b15156118d757600080fd5b826004819055507fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a836040518082815260200191505060405180910390a1505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561197357600080fd5b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156119cf57600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611a3b57600080fd5b600180600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef60405160405180910390a3611af085611eb1565b5050505050565b6000611b048484846121d4565b9050611b0f8161191a565b9392505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b5057600080fd5b806006819055507fc71bdc6afaf9b1aa90a7078191d4fc1adf3bf680fca3183697df6b0dc226bca2816040518082815260200191505060405180910390a150565b603281565b60045481565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bd857600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611c3157600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c8b57600080fd5b600092505b600380549050831015611d74578473ffffffffffffffffffffffffffffffffffffffff16600384815481101515611cc357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d675783600384815481101515611d1a57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611d74565b8280600101935050611c90565b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a28373ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b60008033600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f0d57600080fd5b83336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f7857600080fd5b8560008082815260200190815260200160002060030160009054906101000a900460ff16151515611fa857600080fd5b6000808881526020019081526020016000209550611fc587611179565b945084806120005750600086600201805460018160011615610100020316600290049050148015611fff5750611ffe8660010154612326565b5b5b156121c55760018660030160006101000a81548160ff02191690831515021790555084151561203e5785600101546008600082825401925050819055505b6121268660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876001015488600201805460018160011615610100020316600290049050896002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561211c5780601f106120f15761010080835404028352916020019161211c565b820191906000526020600020905b8154815290600101906020018083116120ff57829003601f168201915b5050505050612378565b1561215d57867f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a26121c4565b867f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260008660030160006101000a81548160ff0219169083151502179055508415156121c35785600101546008600082825403925050819055505b5b5b50505050505050565b60085481565b60008360008173ffffffffffffffffffffffffffffffffffffffff16141515156121fd57600080fd5b60055491506080604051908101604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020016000151581525060008084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020190805190602001906122bc9291906123cb565b5060608201518160030160006101000a81548160ff0219169083151502179055509050506001600560008282540192505081905550817fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a2509392505050565b60006201518060075401421115612347574260078190555060006008819055505b6006548260085401118061236057506008548260085401105b1561236e5760009050612373565b600190505b919050565b6000806040516020840160008287838a8c6187965a03f19250505080915050949350505050565b8154818355818111156123c6578183600052602060002091820191016123c5919061244b565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061240c57805160ff191683800117855561243a565b8280016001018555821561243a579182015b8281111561243957825182559160200191906001019061241e565b5b509050612447919061244b565b5090565b61246d91905b80821115612469576000816000905550600101612451565b5090565b905600a165627a7a72305820b60065d119044e21efdfe7d997b2532c09bfd9d4fc9e191d95e8c2fbf78109680029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000072c397908cb93d1b569bbb0ff8d3d26b7b21d730000000000000000000000000a07c80f6aa437531cf51f3642c95e059e03286b4000000000000000000000000eced7700c7b133552aada9040b1c31463385fce40000000000000000000000002d07a7079e23f03fa90d5d5dcac64c9670c3f7750000000000000000000000002f9bebe5a1d9bd83abc818091fb3ae83f1c118c7000000000000000000000000fd7b8597cf8ee5317439b0b5c55a111f6eec449d00000000000000000000000080627dcd9d1d2212e0c9843c521bb7645dd2d4fd0000000000000000000000003b7631f8e3428deab77634bf799b622ce412e9ea

Deployed ByteCode Sourcemap

13510:3128:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2659:1;2647:9;:13;2643:62;;;2683:10;2675:30;;;2695:9;2675:30;;;;;;;;;;;;;;;;;;2643:62;13510:3128;1103:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1103:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3872:475;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3872:475:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6514:299;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6514:299:0;;;;;;;;;;;;;;;;;;;;;;;;;;1056:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1056:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;985:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;985:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16364:271;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16364:271:0;;;;;;;;;;;;;;;;;;;;;;;10881:328;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10881:328:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13690:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13690:22:0;;;;;;;;;;;;;;;;;;;;;;;13719:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13719:19:0;;;;;;;;;;;;;;;;;;;;;;;3458:287;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3458:287:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8991:349;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8991:349:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10353:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10353:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;929:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;929:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;929:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11297:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11297:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11297:121:0;;;;;;;;;;;;;;;;;12550:694;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12550:694:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;12550:694:0;;;;;;;;;;;;;;;;;11602:591;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11602:591:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11602:591:0;;;;;;;;;;;;;;;;;1160:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1160:28:0;;;;;;;;;;;;;;;;;;;;;;;5193:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5193:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;6033:353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6033:353:0;;;;;;;;;;;;;;;;;;;;;;;;;;5673:250;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5673:250:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14483:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14483:168:0;;;;;;;;;;;;;;;;;;;;;;;;;;845:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;845:41:0;;;;;;;;;;;;;;;;;;;;;;;1133:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1133:20:0;;;;;;;;;;;;;;;;;;;;;;;4554:464;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4554:464:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14817:840;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14817:840:0;;;;;;;;;;;;;;;;;;;;;;;;;;13745:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13745:22:0;;;;;;;;;;;;;;;;;;;;;;;1103:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3872:475::-;4026:6;1427:4;1405:27;;:10;:27;;;1397:36;;;;;;;;3965:5;1621:7;:14;1629:5;1621:14;;;;;;;;;;;;;;;;;;;;;;;;;1613:23;;;;;;;;4005:5;3988:7;:14;3996:5;3988:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;4033:1;4026:8;;4021:174;4054:1;4038:6;:13;;;;:17;4036:1;:19;4021:174;;;4092:5;4079:18;;:6;4086:1;4079:9;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;4075:120;;;4130:6;4153:1;4137:6;:13;;;;:17;4130:25;;;;;;;;;;;;;;;;;;;;;;;;;;;4118:6;4125:1;4118:9;;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;4174:5;;4075:120;4057:3;;;;;;;4021:174;;;4222:1;4205:6;:18;;;;;;;;;;;;;;:::i;:::-;;4249:6;:13;;;;4238:8;;:24;4234:75;;;4277:32;4295:6;:13;;;;4277:17;:32::i;:::-;4234:75;4333:5;4320:19;;;;;;;;;;;;1444:1;3872:475;;:::o;6514:299::-;6599:10;1621:7;:14;1629:5;1621:14;;;;;;;;;;;;;;;;;;;;;;;;;1613:23;;;;;;;;6630:13;6645:10;1876:13;:28;1890:13;1876:28;;;;;;;;;;;:35;1905:5;1876:35;;;;;;;;;;;;;;;;;;;;;;;;;1868:44;;;;;;;;6678:13;2142:12;:27;2155:13;2142:27;;;;;;;;;;;:36;;;;;;;;;;;;2141:37;2133:46;;;;;;;;6752:5;6709:13;:28;6723:13;6709:28;;;;;;;;;;;:40;6738:10;6709:40;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;6791:13;6779:10;6768:37;;;;;;;;;;;;1923:1;1647;;6514:299;;:::o;1056:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;985:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16364:271::-;16443:4;16485:8;16475:7;;:18;16469:3;:24;16465:60;;;16515:10;;16508:17;;;;16465:60;16553:10;;16540;;:23;16536:50;;;16585:1;16578:8;;;;16536:50;16617:10;;16604;;:23;16597:30;;16364:271;;:::o;10881:328::-;10991:10;11024:6;11031:1;11024:8;;11019:182;11036:16;;11034:1;:18;11019:182;;;11079:7;:36;;;;;11091:12;:15;11104:1;11091:15;;;;;;;;;;;:24;;;;;;;;;;;;11090:25;11079:36;:93;;;;11136:8;:36;;;;;11148:12;:15;11161:1;11148:15;;;;;;;;;;;:24;;;;;;;;;;;;11136:36;11079:93;11072:129;;;11200:1;11191:10;;;;11072:129;11054:3;;;;;;;11019:182;;;10881:328;;;;;:::o;13690:22::-;;;;:::o;13719:19::-;;;;:::o;3458:287::-;1427:4;1405:27;;:10;:27;;;1397:36;;;;;;;;3554:5;1523:7;:14;1531:5;1523:14;;;;;;;;;;;;;;;;;;;;;;;;;1522:15;1514:24;;;;;;;;3578:5;2273:1;2261:8;:13;;;;2253:22;;;;;;;;3627:1;3611:6;:13;;;;:17;3630:8;;884:2;2381:10;:29;;:69;;;;;2440:10;2427:9;:23;;2381:69;:100;;;;;2480:1;2467:9;:14;;2381:100;:132;;;;;2512:1;2498:10;:15;;2381:132;2373:141;;;;;;;;3673:4;3656:7;:14;3664:5;3656:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;3688:6;3700:5;3688:18;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3688:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3731:5;3717:20;;;;;;;;;;;;2286:1;;1549;1444;3458:287;:::o;8991:349::-;9084:4;9106:10;9136:6;9119:1;9106:14;;9143:1;9136:8;;9131:202;9148:6;:13;;;;9146:1;:15;9131:202;;;9187:13;:28;9201:13;9187:28;;;;;;;;;;;:39;9216:6;9223:1;9216:9;;;;;;;;;;;;;;;;;;;;;;;;;;;9187:39;;;;;;;;;;;;;;;;;;;;;;;;;9183:72;;;9254:1;9245:10;;;;9183:72;9283:8;;9274:5;:17;9270:51;;;9317:4;9310:11;;;;9270:51;9163:3;;;;;;;9131:202;;;8991:349;;;;;;:::o;10353:260::-;10455:10;10488:6;10495:1;10488:8;;10483:122;10500:6;:13;;;;10498:1;:15;10483:122;;;10537:13;:28;10551:13;10537:28;;;;;;;;;;;:39;10566:6;10573:1;10566:9;;;;;;;;;;;;;;;;;;;;;;;;;;;10537:39;;;;;;;;;;;;;;;;;;;;;;;;;10533:72;;;10604:1;10595:10;;;;10533:72;10515:3;;;;;;;10483:122;;;10353:260;;;;:::o;929:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11297:121::-;11370:9;11404:6;11397:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11297:121;:::o;12550:694::-;12678:22;12718:32;12792:10;12817:6;12764:16;;12753: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;12753:28:0;;;;12718:63;;12805:1;12792:14;;12841:1;12839:3;;12834:256;12846:16;;12844:1;:18;12834:256;;;12889:7;:36;;;;;12901:12;:15;12914:1;12901:15;;;;;;;;;;;:24;;;;;;;;;;;;12900:25;12889:36;:93;;;;12946:8;:36;;;;;12958:12;:15;12971:1;12958:15;;;;;;;;;;;:24;;;;;;;;;;;;12946:36;12889:93;12882:208;;;13044:1;13016:18;13035:5;13016:25;;;;;;;;;;;;;;;;;:29;;;;;13073:1;13064:10;;;;12882:208;12864:3;;;;;;;12834:256;;;13134:4;13129:2;:9;13118:21;;;;;;;;;;;;;;;;;;;;;;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;13118:21:0;;;;13100:39;;13157:4;13155:6;;13150:86;13165:2;13163:1;:4;13150:86;;;13215:18;13234:1;13215:21;;;;;;;;;;;;;;;;;;13187:15;13207:4;13203:1;:8;13187:25;;;;;;;;;;;;;;;;;:49;;;;;13169:3;;;;;;;13150:86;;;12550:694;;;;;;;;;:::o;11602:591::-;11700:24;11742:34;11818:10;11843:6;11793;:13;;;;11779: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;11779:28:0;;;;11742:65;;11831:1;11818:14;;11867:1;11865:3;;11860:190;11872:6;:13;;;;11870:1;:15;11860:190;;;11909:13;:28;11923:13;11909:28;;;;;;;;;;;:39;11938:6;11945:1;11938:9;;;;;;;;;;;;;;;;;;;;;;;;;;;11909:39;;;;;;;;;;;;;;;;;;;;;;;;;11905:145;;;11996:6;12003:1;11996:9;;;;;;;;;;;;;;;;;;;;;;;;;;;11969:17;11987:5;11969:24;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;12033:1;12024:10;;;;11905:145;11887:3;;;;;;;11860:190;;;12091:5;12077: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;12077:20:0;;;;12060:37;;12115:1;12113:3;;12108:77;12120:5;12118:1;:7;12108:77;;;12165:17;12183:1;12165:20;;;;;;;;;;;;;;;;;;12145:14;12160:1;12145:17;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;12127:3;;;;;;;12108:77;;;11602:591;;;;;;:::o;1160:28::-;;;;:::o;5193:214::-;1427:4;1405:27;;:10;:27;;;1397:36;;;;;;;;5298:6;:13;;;;5313:9;884:2;2381:10;:29;;:69;;;;;2440:10;2427:9;:23;;2381:69;:100;;;;;2480:1;2467:9;:14;;2381:100;:132;;;;;2512:1;2498:10;:15;;2381:132;2373:141;;;;;;;;5351:9;5340:8;:20;;;;5371:28;5389:9;5371:28;;;;;;;;;;;;;;;;;;1444:1;;5193:214;:::o;6033:353::-;6118:10;1621:7;:14;1629:5;1621:14;;;;;;;;;;;;;;;;;;;;;;;;;1613:23;;;;;;;;6157:13;1773:1;1730:12;:27;1743:13;1730:27;;;;;;;;;;;:39;;;;;;;;;;;;:44;;;;1722:53;;;;;;;;6194:13;6209:10;2017:13;:28;2031:13;2017:28;;;;;;;;;;;:35;2046:5;2017:35;;;;;;;;;;;;;;;;;;;;;;;;;2016:36;2008:45;;;;;;;;6280:4;6237:13;:28;6251:13;6237:28;;;;;;;;;;;:40;6266:10;6237:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;6320:13;6308:10;6295:39;;;;;;;;;;;;6345:33;6364:13;6345:18;:33::i;:::-;1786:1;;1647;6033:353;;:::o;5673:250::-;5779:18;5831:40;5846:11;5859:5;5866:4;5831:14;:40::i;:::-;5815:56;;5882:33;5901:13;5882:18;:33::i;:::-;5673:250;;;;;:::o;14483:168::-;1427:4;1405:27;;:10;:27;;;1397:36;;;;;;;;14592:11;14579:10;:24;;;;14614:29;14631:11;14614:29;;;;;;;;;;;;;;;;;;14483:168;:::o;845:41::-;884:2;845:41;:::o;1133:20::-;;;;:::o;4554:464::-;4731:6;1427:4;1405:27;;:10;:27;;;1397:36;;;;;;;;4666:5;1621:7;:14;1629:5;1621:14;;;;;;;;;;;;;;;;;;;;;;;;;1613:23;;;;;;;;4700:8;1523:7;:14;1531:5;1523:14;;;;;;;;;;;;;;;;;;;;;;;;;1522:15;1514:24;;;;;;;;4738:1;4731:8;;4726:153;4743:6;:13;;;;4741:1;:15;4726:153;;;4793:5;4780:18;;:6;4787:1;4780:9;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;4776:103;;;4831:8;4819:6;4826:1;4819:9;;;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;4858:5;;4776:103;4758:3;;;;;;;4726:153;;;4906:5;4889:7;:14;4897:5;4889:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;4942:4;4922:7;:17;4930:8;4922:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;4970:5;4957:19;;;;;;;;;;;;5001:8;4987:23;;;;;;;;;;;;1647:1;1444;4554:464;;;:::o;14817:840::-;15012:23;15076:15;14902:10;1621:7;:14;1629:5;1621:14;;;;;;;;;;;;;;;;;;;;;;;;;1613:23;;;;;;;;14933:13;14948:10;1876:13;:28;1890:13;1876:28;;;;;;;;;;;:35;1905:5;1876:35;;;;;;;;;;;;;;;;;;;;;;;;;1868:44;;;;;;;;14981:13;2142:12;:27;2155:13;2142:27;;;;;;;;;;;:36;;;;;;;;;;;;2141:37;2133:46;;;;;;;;15038:12;:27;15051:13;15038:27;;;;;;;;;;;15012:53;;15094:26;15106:13;15094:11;:26::i;:::-;15076:44;;15135:10;:61;;;;15168:1;15149:3;:8;;:15;;;;;;;;;;;;;;;;:20;:47;;;;;15173:23;15186:3;:9;;;15173:12;:23::i;:::-;15149:47;15135:61;15131:519;;;15228:4;15213:3;:12;;;:19;;;;;;;;;;;;;;;;;;15252:10;15251:11;15247:57;;;15295:3;:9;;;15281:10;;:23;;;;;;;;;;;15247:57;15323:68;15337:3;:15;;;;;;;;;;;;15354:3;:9;;;15365:3;:8;;:15;;;;;;;;;;;;;;;;15382:3;:8;;15323:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:68::i;:::-;15319:320;;;15420:13;15410:24;;;;;;;;;;15319:320;;;15490:13;15473:31;;;;;;;;;;15538:5;15523:3;:12;;;:20;;;;;;;;;;;;;;;;;;15567:10;15566:11;15562:61;;;15614:3;:9;;;15600:10;;:23;;;;;;;;;;;15562:61;15319:320;15131:519;1923:1;1647;;14817:840;;;;:::o;13745:22::-;;;;:::o;9683:465::-;9818:18;9787:11;2273:1;2261:8;:13;;;;2253:22;;;;;;;;9870:16;;9854:32;;9927:145;;;;;;;;;9967:11;9927:145;;;;;;10000:5;9927:145;;;;10026:4;9927:145;;;;10055:5;9927:145;;;;;9897:12;:27;9910:13;9897:27;;;;;;;;;;;:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10103:1;10083:16;;:21;;;;;;;;;;;10126:13;10115:25;;;;;;;;;;9683:465;;;;;;:::o;15900:331::-;15971:4;16013:8;16003:7;;:18;15997:3;:24;15993:99;;;16048:3;16038:7;:13;;;;16079:1;16066:10;:14;;;;15993:99;16128:10;;16119:6;16106:10;;:19;:32;:68;;;;16164:10;;16155:6;16142:10;;:19;:32;16106:68;16102:99;;;16196:5;16189:12;;;;16102:99;16219:4;16212:11;;15900:331;;;;:::o;7714:1121::-;7817:4;7834:11;7895:4;7889:11;8029:2;8023:4;8019:13;8704:1;8684;8575:10;8555:1;8531:5;8501:11;8153:5;8148:3;8144:15;8121:672;8111:682;;7865:939;;8821:6;8814:13;;7714:1121;;;;;;;:::o;13510:3128::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://b60065d119044e21efdfe7d997b2532c09bfd9d4fc9e191d95e8c2fbf7810968
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.