Contract 0x028933a66DD0cCC239a3d5c2243b2d96672f11F5

Contract Overview

Snowball: Council
Balance:
8.826173553927901402 AVAX

AVAX Value:
$196.56 (@ $22.27/AVAX)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x45b18cf7f9334e20ca18dcc293354460d6296a8e0c15915f523c8b04b432fa7fExecute Transact...152069782022-05-26 15:44:2220 hrs 10 mins ago0xc99ee029ebaeaf473ef69aef6633489d9ae53385 IN  Snowball: Council0 AVAX0.01375935 50
0xcbc44db429dfd34f2787deda87918cbebe9b4a439bc7ae82c32d441bd25cef9eExecute Transact...152069712022-05-26 15:44:0920 hrs 10 mins ago0xc99ee029ebaeaf473ef69aef6633489d9ae53385 IN  Snowball: Council0 AVAX0.0123486 50
0x74de69f26f83debf3bd097f2b55a4473daee1761b5e9c3dcb795eb68d8008f54Confirm Transact...152069412022-05-26 15:43:0620 hrs 11 mins ago0xc99ee029ebaeaf473ef69aef6633489d9ae53385 IN  Snowball: Council0 AVAX0.01032425 50
0x04d0f900a166f538b238da3b927651405317f6de8dd6cf34e5d3fee2e988e9e2Confirm Transact...152069332022-05-26 15:42:5020 hrs 11 mins ago0xc99ee029ebaeaf473ef69aef6633489d9ae53385 IN  Snowball: Council0 AVAX0.01032425 50
0xb5573d7673a661af0b810d5a6f7245a7e9f4b373771f634ab7af0864fc2a452eConfirm Transact...151864882022-05-26 4:29:281 day 7 hrs ago0xdbc195a0ed72c0b059f8906e97a90636d2b6409f IN  Snowball: Council0 AVAX0.00236428227
0x72b38914de44829a0eefb236d44676d239b3d49065227425dad4c31e4721d8a9Confirm Transact...151864862022-05-26 4:29:231 day 7 hrs ago0xdbc195a0ed72c0b059f8906e97a90636d2b6409f IN  Snowball: Council0 AVAX0.00236428227
0xb997555ce458cb6823cac1bb17dfc65526b039c3099206ab97dce97fd2cae070Submit Transacti...151864492022-05-26 4:28:081 day 7 hrs ago0xf5f08ba7f46e2a86b5ef3bfd56c2097c9f4276d7 IN  Snowball: Council0 AVAX0.0060955348 26.2
0x638de1ce8b1f3217b429ef2545c58555e87bcc521c9c018898a274b76ca43a9eSubmit Transacti...151864302022-05-26 4:27:301 day 7 hrs ago0xf5f08ba7f46e2a86b5ef3bfd56c2097c9f4276d7 IN  Snowball: Council0 AVAX0.0060955348 26.2
0x146a9251571757b972cad7579b2b9f842547efa64478b7b4d6578e268fc8bb8aConfirm Transact...151632872022-05-25 15:29:351 day 20 hrs ago0xfd7b8597cf8ee5317439b0b5c55a111f6eec449d IN  Snowball: Council0 AVAX0.00347724 26
0x5b55162c676acd2bc74e45ee7cd64f15b88fe09f2d804925f65b0e972e8a1fadConfirm Transact...151632762022-05-25 15:29:141 day 20 hrs ago0xfd7b8597cf8ee5317439b0b5c55a111f6eec449d IN  Snowball: Council0 AVAX0.003479268 26
0xb3ba88444a6f2f59b16709a976989f5776877afc68bea6a454ba4b90fd9b4e3eConfirm Transact...151632742022-05-25 15:29:101 day 20 hrs ago0xfd7b8597cf8ee5317439b0b5c55a111f6eec449d IN  Snowball: Council0 AVAX0.003940924 26
0x0c3278864d6c98c7cc1308f7d1a53b58ddca548143d453b8bf6cc9ba34e7ca06Confirm Transact...151632712022-05-25 15:29:041 day 20 hrs ago0xfd7b8597cf8ee5317439b0b5c55a111f6eec449d IN  Snowball: Council0 AVAX0.003940924 26
0x4a183186796c45d9af1565ce37b780fac76e62b577042bc3145e98e54af521caConfirm Transact...151619942022-05-25 14:46:291 day 21 hrs ago0xdbc195a0ed72c0b059f8906e97a90636d2b6409f IN  Snowball: Council0 AVAX0.00236428227
0x85540807b826b4347207f10198f50d0a48adb644531233545a0d03c824539f89Confirm Transact...151619912022-05-25 14:46:231 day 21 hrs ago0xdbc195a0ed72c0b059f8906e97a90636d2b6409f IN  Snowball: Council0 AVAX0.00236428227
0x3b85e82139a3d68426a436309d397687b2e79ed76b03408898d53b2c00859247Confirm Transact...151619892022-05-25 14:46:191 day 21 hrs ago0xdbc195a0ed72c0b059f8906e97a90636d2b6409f IN  Snowball: Council0 AVAX0.00236428227
0x40bcae427da04ba2c1c66184849fc4071d9ba385d53d6694e0b2acd0ffb236aeConfirm Transact...151619862022-05-25 14:46:131 day 21 hrs ago0xdbc195a0ed72c0b059f8906e97a90636d2b6409f IN  Snowball: Council0 AVAX0.00236428227
0x5af533a931daeb8bfc6a28640cf1fd23ae075a04e0f8a9d9b8db50c80a6e19f2Submit Transacti...151615402022-05-25 14:31:191 day 21 hrs ago0xf5f08ba7f46e2a86b5ef3bfd56c2097c9f4276d7 IN  Snowball: Council0 AVAX0.005483910952 26.675573031
0x39c6d849354344b4fefd6b6ae756bfe373e1dbe85da7e88b6d89867a98676c87Submit Transacti...151614752022-05-25 14:29:211 day 21 hrs ago0xf5f08ba7f46e2a86b5ef3bfd56c2097c9f4276d7 IN  Snowball: Council0 AVAX0.0053858292 26.2
0x51a7d7ef3a2eff5ca721b028db3909f3abbabcc88a6fc087571fc361f523dfc8Submit Transacti...151614672022-05-25 14:29:061 day 21 hrs ago0xf5f08ba7f46e2a86b5ef3bfd56c2097c9f4276d7 IN  Snowball: Council0 AVAX0.0053845716 26.2
0xfd4e470c40680dc5b1c5eb1995f23549311deb1d616ec133a1e143c473f615e0Submit Transacti...151614602022-05-25 14:28:511 day 21 hrs ago0xf5f08ba7f46e2a86b5ef3bfd56c2097c9f4276d7 IN  Snowball: Council0 AVAX0.0053855148 26.2
0xdf3e5103575a17109a5a2a71e461c2d961c4645ef17a34f489a6caf5d6032310Confirm Transact...151185072022-05-24 14:29:432 days 21 hrs ago0xfd7b8597cf8ee5317439b0b5c55a111f6eec449d IN  Snowball: Council0 AVAX0.04799561 26
0x3c9790743314b1f295023ea029421e6dba640eb6f6bef4dcc79504cf6df84ca2Confirm Transact...151185052022-05-24 14:29:392 days 21 hrs ago0xfd7b8597cf8ee5317439b0b5c55a111f6eec449d IN  Snowball: Council0 AVAX0.04799444 26
0xd3ab19c883216b7a0b18e289f8e59101e6ee576782253d722bc896b860ac6043Confirm Transact...151032322022-05-24 5:55:083 days 5 hrs ago0xdbc195a0ed72c0b059f8906e97a90636d2b6409f IN  Snowball: Council0 AVAX0.0051295255 26.5
0xca416d934ab116b04c13fc05c017c7df5a9f29a610df425b563b7655fe52cadaConfirm Transact...151032252022-05-24 5:54:543 days 5 hrs ago0xdbc195a0ed72c0b059f8906e97a90636d2b6409f IN  Snowball: Council0 AVAX0.0051295255 26.5
0x375fe9ecd1ffbc0a80ec1dae3276c5047410ae2328ff5a268b725ddc88174b77Confirm Transact...151003582022-05-24 4:18:513 days 7 hrs ago0xf5f08ba7f46e2a86b5ef3bfd56c2097c9f4276d7 IN  Snowball: Council0 AVAX0.002320499 26.5
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xf23b612b34b2a46376e26f51cc9f3ef6d946bf5a9191bb169bbe3d8c686c67d8145625922022-05-11 17:02:2515 days 18 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f10 AVAX
0x6874ab47f53e4d78f7eafe6494cbd9ecd626fc9a91dd26a91bd806ff490c7a42143514232022-05-06 16:12:1720 days 19 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f10 AVAX
0x3e9d59893e54284a782ef34d9f870e91633050b1b4dc6ff475eea26b2042ddd8143513942022-05-06 16:11:1720 days 19 hrs ago Wrapped AVAX Snowball: Council24 AVAX
0x2b2e5b3a80b8488efdd3d7d0c2d77ee186389564eb359e7215ec816417dd111b142100092022-05-03 7:16:3424 days 4 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f10 AVAX
0x999af7e7f1ffcf0f8073d1d7b07de0cfffed6c7d217ff4d3f853021f6f036b27140119392022-04-28 14:04:1928 days 21 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f15 AVAX
0x25ee25b879ab16c3cf5d0e2638aa496a8aa4bd1aedcd9585be22a3713f266ddd138935712022-04-25 19:45:5831 days 16 hrs ago Snowball: Treasury Snowball: Council27.322429790915955244 AVAX
0x78b1bcbedfec1b290514d4cf9fc43ff4e14c46107bd3b8c0b6b696006d9d0b3a135904862022-04-18 18:02:5038 days 17 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f20 AVAX
0xd65529a1e748003b2003db441333682451be8e68f3be0d603b564da8aa751ec2135904862022-04-18 18:02:5038 days 17 hrs ago Wrapped AVAX Snowball: Council20 AVAX
0xe0dc5001a5544450e94e6893d480c18fd2d045840c6472c94e280f9f5a1dbebc128645662022-04-01 17:18:0755 days 18 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f30 AVAX
0x0d005e201222d8941d79a39be1e6dc4c07fdda05628d173567901a0668e5c823127352842022-03-29 16:20:2958 days 19 hrs ago Snowball: Council Wrapped AVAX10 AVAX
0x37a9c3b31cb4ee109d754438513c1e54364e6abf52ab6e10deee80943884ece5125404632022-03-25 2:23:2063 days 9 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f35 AVAX
0xdb12f0cd891233414432f694e5a9ea29570253aacfdf4a51a837027ae935761b124458122022-03-22 20:39:1465 days 15 hrs ago Snowball: Council Wrapped AVAX3 AVAX
0x216a38a838e574da40d54c07370f0741ffac6654a4f114ca8e29b65c542b24cc124174372022-03-22 4:25:0566 days 7 hrs ago Snowball: Council Wrapped AVAX5 AVAX
0xa428db273c5c11def848b918f49eb2ef2e8a1dfe6406e005ed4f50fcf30ccad1124003322022-03-21 18:36:0266 days 17 hrs ago Snowball: Council0xdbc195a0ed72c0b059f8906e97a90636d2b6409f200 AVAX
0xaf7a2bf4d40865fbf5890b9cf5a6c6c3edea7ea745f22e7716ce7373c2d5bf10121976002022-03-16 21:29:4771 days 14 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f35 AVAX
0xf5ae17c1bfa65a04df996230d42953082565ddb26b539c67be583b8bbb52cacc121255422022-03-15 3:45:3273 days 8 hrs ago Snowball: Council0xc99ee029ebaeaf473ef69aef6633489d9ae533851.5 AVAX
0xcde2ed2be2746bb5f2fb5be3f720797f0f7b54cf1658f1c4daa4d4d5d1045ef6121113092022-03-14 19:36:1373 days 16 hrs ago Snowball: Council0xdbc195a0ed72c0b059f8906e97a90636d2b6409f434 AVAX
0x5b65abba5454d9cd0feca64bf6c0fd582d2bd8e86e3a1d6f539bd5a04a8b81ba118162262022-03-07 19:33:0480 days 16 hrs ago Snowball: Council Wrapped AVAX320 AVAX
0xdfd5de744fe37d2b58b97e40409867009eac09e6d56ebb97abd4a1c4bb2c87ec118157802022-03-07 19:17:5580 days 16 hrs ago Pangolin: Router Snowball: Council86.025492495678319477 AVAX
0x891f0a7e8b535d681d92d9fd5fb506fead646c2f5b43371e1759a0f51cd19716118155742022-03-07 19:11:0180 days 16 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f35 AVAX
0x2eb334f6a92f97c154555a41488d5123b94b0d68a1d5d8641f496206300acdb5115752442022-03-02 5:05:3386 days 6 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f35 AVAX
0xc0db4ad586db300284281264f852e52dc4ff80401eb90ae694ee65e9e44d7fb6115173692022-02-28 20:04:2787 days 15 hrs ago Snowball: Council0xc99ee029ebaeaf473ef69aef6633489d9ae533852 AVAX
0x03ac94600341adb230dc3a030b230d7a47e193f4d95acbf133b8fa89c789fc15113626672022-02-25 4:29:2591 days 7 hrs ago Snowball: Council0x096a46142c199c940ffebf34f0fe2f2d674fdb1f35 AVAX
0x3f4f14c175378de2eaa92032f625c53852bae4ec19c2dd0e9d6f94c7c63d361c111903362022-02-21 2:43:3695 days 9 hrs ago Trader Joe: Router Snowball: Council33.290309939689715967 AVAX
0x4a2e9d0eb8ba8242ba5814dc6032097144b27d57bdd5b506df11979599a72b4b111903142022-02-21 2:42:4995 days 9 hrs ago Pangolin: Router Snowball: Council170.379485259191791648 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.