ETH Price: $3,623.24 (+6.53%)

Contract

0x07f6e905f2a1559cD9FD43CB92F8a1062A3CA706
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve59784192018-07-17 3:41:382673 days ago1531798898IN
0x07f6e905...62A3CA706
0 ETH0.000474120
Send Fee To Wall...59346652018-07-09 18:53:592680 days ago1531162439IN
0x07f6e905...62A3CA706
0 ETH0.0007161312
Send Fee To Wall...59346602018-07-09 18:52:582680 days ago1531162378IN
0x07f6e905...62A3CA706
0 ETH0.0007161312
Send Fee To Wall...59346512018-07-09 18:50:502680 days ago1531162250IN
0x07f6e905...62A3CA706
0 ETH0.0007161312
Send Fee To Wall...59346452018-07-09 18:50:062680 days ago1531162206IN
0x07f6e905...62A3CA706
0 ETH0.0007161312
Send Fee To Wall...59346412018-07-09 18:49:212680 days ago1531162161IN
0x07f6e905...62A3CA706
0 ETH0.0007161312
Burn Reserve Fee...59346342018-07-09 18:48:212680 days ago1531162101IN
0x07f6e905...62A3CA706
0 ETH0.001181312
Burn Reserve Fee...59264452018-07-08 8:53:422682 days ago1531040022IN
0x07f6e905...62A3CA706
0 ETH0.0014766315
Send Fee To Wall...59258132018-07-08 6:11:352682 days ago1531030295IN
0x07f6e905...62A3CA706
0 ETH0.002983950
Burn Reserve Fee...59258042018-07-08 6:09:112682 days ago1531030151IN
0x07f6e905...62A3CA706
0 ETH0.004922150
Send Fee To Wall...59258012018-07-08 6:08:212682 days ago1531030101IN
0x07f6e905...62A3CA706
0 ETH0.002983950
Send Fee To Wall...59257962018-07-08 6:07:042682 days ago1531030024IN
0x07f6e905...62A3CA706
0 ETH0.002983950
Burn Reserve Fee...59257932018-07-08 6:06:302682 days ago1531029990IN
0x07f6e905...62A3CA706
0 ETH0.004922150
Burn Reserve Fee...59257912018-07-08 6:05:272682 days ago1531029927IN
0x07f6e905...62A3CA706
0 ETH0.004922150
Send Fee To Wall...59257882018-07-08 6:04:122682 days ago1531029852IN
0x07f6e905...62A3CA706
0 ETH0.002983950
Send Fee To Wall...59257832018-07-08 6:03:342682 days ago1531029814IN
0x07f6e905...62A3CA706
0 ETH0.002983950
Send Fee To Wall...59257802018-07-08 6:03:012682 days ago1531029781IN
0x07f6e905...62A3CA706
0 ETH0.002983950
Send Fee To Wall...59257762018-07-08 6:02:232682 days ago1531029743IN
0x07f6e905...62A3CA706
0 ETH0.002983950
Burn Reserve Fee...59257732018-07-08 6:01:242682 days ago1531029684IN
0x07f6e905...62A3CA706
0 ETH0.004922150
Send Fee To Wall...58915452018-07-02 8:50:522688 days ago1530521452IN
0x07f6e905...62A3CA706
0 ETH0.0048935982
Send Fee To Wall...58915382018-07-02 8:49:362688 days ago1530521376IN
0x07f6e905...62A3CA706
0 ETH0.0048935982
Burn Reserve Fee...58915072018-07-02 8:40:312688 days ago1530520831IN
0x07f6e905...62A3CA706
0 ETH0.0080722482
Send Fee To Wall...58914912018-07-02 8:36:042688 days ago1530520564IN
0x07f6e905...62A3CA706
0 ETH0.0048935982
Send Fee To Wall...58914722018-07-02 8:31:562688 days ago1530520316IN
0x07f6e905...62A3CA706
0 ETH0.0048935982
Burn Reserve Fee...58914322018-07-02 8:20:232688 days ago1530519623IN
0x07f6e905...62A3CA706
0 ETH0.0080722482
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x7AfC2b1a...B5A417c80
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
FeeBurner

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-25
*/

pragma solidity 0.4.18;

// File: contracts/ERC20Interface.sol

// https://github.com/ethereum/EIPs/issues/20
interface ERC20 {
    function totalSupply() public view returns (uint supply);
    function balanceOf(address _owner) public view returns (uint balance);
    function transfer(address _to, uint _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint _value) public returns (bool success);
    function approve(address _spender, uint _value) public returns (bool success);
    function allowance(address _owner, address _spender) public view returns (uint remaining);
    function decimals() public view returns(uint digits);
    event Approval(address indexed _owner, address indexed _spender, uint _value);
}

// File: contracts/FeeBurnerInterface.sol

interface FeeBurnerInterface {
    function handleFees (uint tradeWeiAmount, address reserve, address wallet) public returns(bool);
}

// File: contracts/Utils.sol

/// @title Kyber constants contract
contract Utils {

    ERC20 constant internal ETH_TOKEN_ADDRESS = ERC20(0x00eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee);
    uint  constant internal PRECISION = (10**18);
    uint  constant internal MAX_QTY   = (10**28); // 10B tokens
    uint  constant internal MAX_RATE  = (PRECISION * 10**6); // up to 1M tokens per ETH
    uint  constant internal MAX_DECIMALS = 18;
    uint  constant internal ETH_DECIMALS = 18;
    mapping(address=>uint) internal decimals;

    function setDecimals(ERC20 token) internal {
        if (token == ETH_TOKEN_ADDRESS) decimals[token] = ETH_DECIMALS;
        else decimals[token] = token.decimals();
    }

    function getDecimals(ERC20 token) internal view returns(uint) {
        if (token == ETH_TOKEN_ADDRESS) return ETH_DECIMALS; // save storage access
        uint tokenDecimals = decimals[token];
        // technically, there might be token with decimals 0
        // moreover, very possible that old tokens have decimals 0
        // these tokens will just have higher gas fees.
        if(tokenDecimals == 0) return token.decimals();

        return tokenDecimals;
    }

    function calcDstQty(uint srcQty, uint srcDecimals, uint dstDecimals, uint rate) internal pure returns(uint) {
        require(srcQty <= MAX_QTY);
        require(rate <= MAX_RATE);

        if (dstDecimals >= srcDecimals) {
            require((dstDecimals - srcDecimals) <= MAX_DECIMALS);
            return (srcQty * rate * (10**(dstDecimals - srcDecimals))) / PRECISION;
        } else {
            require((srcDecimals - dstDecimals) <= MAX_DECIMALS);
            return (srcQty * rate) / (PRECISION * (10**(srcDecimals - dstDecimals)));
        }
    }

    function calcSrcQty(uint dstQty, uint srcDecimals, uint dstDecimals, uint rate) internal pure returns(uint) {
        require(dstQty <= MAX_QTY);
        require(rate <= MAX_RATE);
        
        //source quantity is rounded up. to avoid dest quantity being too low.
        uint numerator;
        uint denominator;
        if (srcDecimals >= dstDecimals) {
            require((srcDecimals - dstDecimals) <= MAX_DECIMALS);
            numerator = (PRECISION * dstQty * (10**(srcDecimals - dstDecimals)));
            denominator = rate;
        } else {
            require((dstDecimals - srcDecimals) <= MAX_DECIMALS);
            numerator = (PRECISION * dstQty);
            denominator = (rate * (10**(dstDecimals - srcDecimals)));
        }
        return (numerator + denominator - 1) / denominator; //avoid rounding down errors
    }
}

// File: contracts/PermissionGroups.sol

contract PermissionGroups {

    address public admin;
    address public pendingAdmin;
    mapping(address=>bool) internal operators;
    mapping(address=>bool) internal alerters;
    address[] internal operatorsGroup;
    address[] internal alertersGroup;
    uint constant internal MAX_GROUP_SIZE = 50;

    function PermissionGroups() public {
        admin = msg.sender;
    }

    modifier onlyAdmin() {
        require(msg.sender == admin);
        _;
    }

    modifier onlyOperator() {
        require(operators[msg.sender]);
        _;
    }

    modifier onlyAlerter() {
        require(alerters[msg.sender]);
        _;
    }

    function getOperators () external view returns(address[]) {
        return operatorsGroup;
    }

    function getAlerters () external view returns(address[]) {
        return alertersGroup;
    }

    event TransferAdminPending(address pendingAdmin);

    /**
     * @dev Allows the current admin to set the pendingAdmin address.
     * @param newAdmin The address to transfer ownership to.
     */
    function transferAdmin(address newAdmin) public onlyAdmin {
        require(newAdmin != address(0));
        TransferAdminPending(pendingAdmin);
        pendingAdmin = newAdmin;
    }

    /**
     * @dev Allows the current admin to set the admin in one tx. Useful initial deployment.
     * @param newAdmin The address to transfer ownership to.
     */
    function transferAdminQuickly(address newAdmin) public onlyAdmin {
        require(newAdmin != address(0));
        TransferAdminPending(newAdmin);
        AdminClaimed(newAdmin, admin);
        admin = newAdmin;
    }

    event AdminClaimed( address newAdmin, address previousAdmin);

    /**
     * @dev Allows the pendingAdmin address to finalize the change admin process.
     */
    function claimAdmin() public {
        require(pendingAdmin == msg.sender);
        AdminClaimed(pendingAdmin, admin);
        admin = pendingAdmin;
        pendingAdmin = address(0);
    }

    event AlerterAdded (address newAlerter, bool isAdd);

    function addAlerter(address newAlerter) public onlyAdmin {
        require(!alerters[newAlerter]); // prevent duplicates.
        require(alertersGroup.length < MAX_GROUP_SIZE);

        AlerterAdded(newAlerter, true);
        alerters[newAlerter] = true;
        alertersGroup.push(newAlerter);
    }

    function removeAlerter (address alerter) public onlyAdmin {
        require(alerters[alerter]);
        alerters[alerter] = false;

        for (uint i = 0; i < alertersGroup.length; ++i) {
            if (alertersGroup[i] == alerter) {
                alertersGroup[i] = alertersGroup[alertersGroup.length - 1];
                alertersGroup.length--;
                AlerterAdded(alerter, false);
                break;
            }
        }
    }

    event OperatorAdded(address newOperator, bool isAdd);

    function addOperator(address newOperator) public onlyAdmin {
        require(!operators[newOperator]); // prevent duplicates.
        require(operatorsGroup.length < MAX_GROUP_SIZE);

        OperatorAdded(newOperator, true);
        operators[newOperator] = true;
        operatorsGroup.push(newOperator);
    }

    function removeOperator (address operator) public onlyAdmin {
        require(operators[operator]);
        operators[operator] = false;

        for (uint i = 0; i < operatorsGroup.length; ++i) {
            if (operatorsGroup[i] == operator) {
                operatorsGroup[i] = operatorsGroup[operatorsGroup.length - 1];
                operatorsGroup.length -= 1;
                OperatorAdded(operator, false);
                break;
            }
        }
    }
}

// File: contracts/Withdrawable.sol

/**
 * @title Contracts that should be able to recover tokens or ethers
 * @author Ilan Doron
 * @dev This allows to recover any tokens or Ethers received in a contract.
 * This will prevent any accidental loss of tokens.
 */
contract Withdrawable is PermissionGroups {

    event TokenWithdraw(ERC20 token, uint amount, address sendTo);

    /**
     * @dev Withdraw all ERC20 compatible tokens
     * @param token ERC20 The address of the token contract
     */
    function withdrawToken(ERC20 token, uint amount, address sendTo) external onlyAdmin {
        require(token.transfer(sendTo, amount));
        TokenWithdraw(token, amount, sendTo);
    }

    event EtherWithdraw(uint amount, address sendTo);

    /**
     * @dev Withdraw Ethers
     */
    function withdrawEther(uint amount, address sendTo) external onlyAdmin {
        sendTo.transfer(amount);
        EtherWithdraw(amount, sendTo);
    }
}

// File: contracts/FeeBurner.sol

interface BurnableToken {
    function transferFrom(address _from, address _to, uint _value) public returns (bool);
    function burnFrom(address _from, uint256 _value) public returns (bool);
}


contract FeeBurner is Withdrawable, FeeBurnerInterface, Utils {

    mapping(address=>uint) public reserveFeesInBps;
    mapping(address=>address) public reserveKNCWallet; //wallet holding knc per reserve. from here burn and send fees.
    mapping(address=>uint) public walletFeesInBps; // wallet that is the source of tx is entitled so some fees.
    mapping(address=>uint) public reserveFeeToBurn;
    mapping(address=>uint) public feePayedPerReserve; // track burned fees and sent wallet fees per reserve.
    mapping(address=>mapping(address=>uint)) public reserveFeeToWallet;
    address public taxWallet;
    uint public taxFeeBps = 0; // burned fees are taxed. % out of burned fees.

    BurnableToken public knc;
    address public kyberNetwork;
    uint public kncPerETHRate = 300;

    function FeeBurner(address _admin, BurnableToken kncToken, address _kyberNetwork) public {
        require(_admin != address(0));
        require(kncToken != address(0));
        require(_kyberNetwork != address(0));
        kyberNetwork = _kyberNetwork;
        admin = _admin;
        knc = kncToken;
    }

    function setReserveData(address reserve, uint feesInBps, address kncWallet) public onlyAdmin {
        require(feesInBps < 100); // make sure it is always < 1%
        require(kncWallet != address(0));
        reserveFeesInBps[reserve] = feesInBps;
        reserveKNCWallet[reserve] = kncWallet;
    }

    function setWalletFees(address wallet, uint feesInBps) public onlyAdmin {
        require(feesInBps < 10000); // under 100%
        walletFeesInBps[wallet] = feesInBps;
    }

    function setTaxInBps(uint _taxFeeBps) public onlyAdmin {
        require(_taxFeeBps < 10000); // under 100%
        taxFeeBps = _taxFeeBps;
    }

    function setTaxWallet(address _taxWallet) public onlyAdmin {
        require(_taxWallet != address(0));
        taxWallet = _taxWallet;
    }

    function setKNCRate(uint rate) public onlyAdmin {
        require(rate <= MAX_RATE);
        kncPerETHRate = rate;
    }

    event AssignFeeToWallet(address reserve, address wallet, uint walletFee);
    event AssignBurnFees(address reserve, uint burnFee);

    function handleFees(uint tradeWeiAmount, address reserve, address wallet) public returns(bool) {
        require(msg.sender == kyberNetwork);
        require(tradeWeiAmount <= MAX_QTY);
        require(kncPerETHRate <= MAX_RATE);

        uint kncAmount = tradeWeiAmount * kncPerETHRate;
        uint fee = kncAmount * reserveFeesInBps[reserve] / 10000;

        uint walletFee = fee * walletFeesInBps[wallet] / 10000;
        require(fee >= walletFee);
        uint feeToBurn = fee - walletFee;

        if (walletFee > 0) {
            reserveFeeToWallet[reserve][wallet] += walletFee;
            AssignFeeToWallet(reserve, wallet, walletFee);
        }

        if (feeToBurn > 0) {
            AssignBurnFees(reserve, feeToBurn);
            reserveFeeToBurn[reserve] += feeToBurn;
        }

        return true;
    }


    // this function is callable by anyone
    event BurnAssignedFees(address indexed reserve, address sender, uint quantity);
    event SendTaxFee(address indexed reserve, address sender, address taxWallet, uint quantity);

    function burnReserveFees(address reserve) public {
        uint burnAmount = reserveFeeToBurn[reserve];
        uint taxToSend = 0;
        require(burnAmount > 2);
        reserveFeeToBurn[reserve] = 1; // leave 1 twei to avoid spikes in gas fee
        if (taxWallet != address(0) && taxFeeBps != 0) {
            taxToSend = (burnAmount - 1) * taxFeeBps / 10000;
            require(burnAmount - 1 > taxToSend);
            burnAmount -= taxToSend;
            if (taxToSend > 0) {
                require (knc.transferFrom(reserveKNCWallet[reserve], taxWallet, taxToSend));
                SendTaxFee(reserve, msg.sender, taxWallet, taxToSend);
            }
        }
        require(knc.burnFrom(reserveKNCWallet[reserve], burnAmount - 1));

        //update reserve "payments" so far
        feePayedPerReserve[reserve] += (taxToSend + burnAmount - 1);

        BurnAssignedFees(reserve, msg.sender, (burnAmount - 1));
    }

    event SendWalletFees(address indexed wallet, address reserve, address sender);

    // this function is callable by anyone
    function sendFeeToWallet(address wallet, address reserve) public {
        uint feeAmount = reserveFeeToWallet[reserve][wallet];
        require(feeAmount > 1);
        reserveFeeToWallet[reserve][wallet] = 1; // leave 1 twei to avoid spikes in gas fee
        require(knc.transferFrom(reserveKNCWallet[reserve], wallet, feeAmount - 1));

        feePayedPerReserve[reserve] += (feeAmount - 1);
        SendWalletFees(wallet, reserve, msg.sender);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"alerter","type":"address"}],"name":"removeAlerter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reserveKNCWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"rate","type":"uint256"}],"name":"setKNCRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"reserveFeeToWallet","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOperators","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reserveFeeToBurn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"taxWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reserveFeesInBps","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"taxFeeBps","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"},{"name":"sendTo","type":"address"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAlerter","type":"address"}],"name":"addAlerter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"walletFeesInBps","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"reserve","type":"address"},{"name":"feesInBps","type":"uint256"},{"name":"kncWallet","type":"address"}],"name":"setReserveData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wallet","type":"address"},{"name":"feesInBps","type":"uint256"}],"name":"setWalletFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"transferAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"transferAdminQuickly","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAlerters","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"kncPerETHRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOperator","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_taxFeeBps","type":"uint256"}],"name":"setTaxInBps","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kyberNetwork","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"sendTo","type":"address"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"feePayedPerReserve","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"wallet","type":"address"},{"name":"reserve","type":"address"}],"name":"sendFeeToWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"knc","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_taxWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"reserve","type":"address"}],"name":"burnReserveFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tradeWeiAmount","type":"uint256"},{"name":"reserve","type":"address"},{"name":"wallet","type":"address"}],"name":"handleFees","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_admin","type":"address"},{"name":"kncToken","type":"address"},{"name":"_kyberNetwork","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reserve","type":"address"},{"indexed":false,"name":"wallet","type":"address"},{"indexed":false,"name":"walletFee","type":"uint256"}],"name":"AssignFeeToWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reserve","type":"address"},{"indexed":false,"name":"burnFee","type":"uint256"}],"name":"AssignBurnFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"reserve","type":"address"},{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"quantity","type":"uint256"}],"name":"BurnAssignedFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"reserve","type":"address"},{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"taxWallet","type":"address"},{"indexed":false,"name":"quantity","type":"uint256"}],"name":"SendTaxFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"wallet","type":"address"},{"indexed":false,"name":"reserve","type":"address"},{"indexed":false,"name":"sender","type":"address"}],"name":"SendWalletFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"sendTo","type":"address"}],"name":"TokenWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"sendTo","type":"address"}],"name":"EtherWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"pendingAdmin","type":"address"}],"name":"TransferAdminPending","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAdmin","type":"address"},{"indexed":false,"name":"previousAdmin","type":"address"}],"name":"AdminClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAlerter","type":"address"},{"indexed":false,"name":"isAdd","type":"bool"}],"name":"AlerterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOperator","type":"address"},{"indexed":false,"name":"isAdd","type":"bool"}],"name":"OperatorAdded","type":"event"}]

0x60606040526000600e5561012c601155341561001a57600080fd5b60405160608061184283398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925084161515905061006e57600080fd5b600160a060020a038216151561008357600080fd5b600160a060020a038116151561009857600080fd5b60108054600160a060020a03928316600160a060020a0319918216179091556000805494831694821694909417909355600f8054929091169190921617905561175c806100e66000396000f30060606040526004361061017c5763ffffffff60e060020a60003504166301a12fd381146101815780630a377f3a146101a25780631e4b5652146101dd57806322dbf6d2146101f3578063267822471461022a57806327a099d81461023d5780632b84fe83146102a35780632dc0562d146102c2578063384c4d2f146102d55780633b215823146102f45780633ccdbb2814610307578063408ee7fe1461033057806345ab63b91461034f57806346b8c49e1461036e57806365dfc20f1461039757806375829def146103b957806377f50f97146103d85780637acc8678146103eb5780637c423f541461040a578063820b9f1e1461041d5780639870d7fe146104305780639fad2dcb1461044f578063ac8a584a14610465578063b78b842d14610484578063ce56c45414610497578063dc93f7c9146104b9578063dd3ff4f6146104d8578063e61387e0146104fd578063ea414b2814610510578063f6486cad1461052f578063f851a4401461054e578063fd062d3b14610561575b600080fd5b341561018c57600080fd5b6101a0600160a060020a036004351661059d565b005b34156101ad57600080fd5b6101c1600160a060020a036004351661070d565b604051600160a060020a03909116815260200160405180910390f35b34156101e857600080fd5b6101a0600435610728565b34156101fe57600080fd5b610218600160a060020a036004358116906024351661075f565b60405190815260200160405180910390f35b341561023557600080fd5b6101c161077c565b341561024857600080fd5b61025061078b565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561028f578082015183820152602001610277565b505050509050019250505060405180910390f35b34156102ae57600080fd5b610218600160a060020a03600435166107f4565b34156102cd57600080fd5b6101c1610806565b34156102e057600080fd5b610218600160a060020a0360043516610815565b34156102ff57600080fd5b610218610827565b341561031257600080fd5b6101a0600160a060020a03600435811690602435906044351661082d565b341561033b57600080fd5b6101a0600160a060020a0360043516610924565b341561035a57600080fd5b610218600160a060020a0360043516610a20565b341561037957600080fd5b6101a0600160a060020a036004358116906024359060443516610a32565b34156103a257600080fd5b6101a0600160a060020a0360043516602435610aac565b34156103c457600080fd5b6101a0600160a060020a0360043516610af1565b34156103e357600080fd5b6101a0610b8c565b34156103f657600080fd5b6101a0600160a060020a0360043516610c26565b341561041557600080fd5b610250610d08565b341561042857600080fd5b610218610d6e565b341561043b57600080fd5b6101a0600160a060020a0360043516610d74565b341561045a57600080fd5b6101a0600435610e44565b341561047057600080fd5b6101a0600160a060020a0360043516610e72565b341561048f57600080fd5b6101c1610fde565b34156104a257600080fd5b6101a0600435600160a060020a0360243516610fed565b34156104c457600080fd5b610218600160a060020a0360043516611080565b34156104e357600080fd5b6101a0600160a060020a0360043581169060243516611092565b341561050857600080fd5b6101c1611202565b341561051b57600080fd5b6101a0600160a060020a0360043516611211565b341561053a57600080fd5b6101a0600160a060020a0360043516611263565b341561055957600080fd5b6101c161150d565b341561056c57600080fd5b610589600435600160a060020a036024358116906044351661151c565b604051901515815260200160405180910390f35b6000805433600160a060020a039081169116146105b957600080fd5b600160a060020a03821660009081526003602052604090205460ff1615156105e057600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156107095781600160a060020a031660058281548110151561062557fe5b600091825260209091200154600160a060020a031614156107015760058054600019810190811061065257fe5b60009182526020909120015460058054600160a060020a03909216918390811061067857fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560058054906106b49060001983016116d7565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a1610709565b600101610602565b5050565b600860205260009081526040902054600160a060020a031681565b60005433600160a060020a0390811691161461074357600080fd5b69d3c21bcecceda100000081111561075a57600080fd5b601155565b600c60209081526000928352604080842090915290825290205481565b600154600160a060020a031681565b610793611700565b60048054806020026020016040519081016040528092919081815260200182805480156107e957602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116107cb575b505050505090505b90565b600a6020526000908152604090205481565b600d54600160a060020a031681565b60076020526000908152604090205481565b600e5481565b60005433600160a060020a0390811691161461084857600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156108a557600080fd5b6102c65a03f115156108b657600080fd5b5050506040518051905015156108cb57600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a0390811691161461093f57600080fd5b600160a060020a03811660009081526003602052604090205460ff161561096557600080fd5b6005546032901061097557600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff1916600190811790915560058054909181016109f483826116d7565b5060009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055565b60096020526000908152604090205481565b60005433600160a060020a03908116911614610a4d57600080fd5b60648210610a5a57600080fd5b600160a060020a0381161515610a6f57600080fd5b600160a060020a0392831660009081526007602090815260408083209490945560089052919091208054600160a060020a03191691909216179055565b60005433600160a060020a03908116911614610ac757600080fd5b6127108110610ad557600080fd5b600160a060020a03909116600090815260096020526040902055565b60005433600160a060020a03908116911614610b0c57600080fd5b600160a060020a0381161515610b2157600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a160018054600160a060020a031916600160a060020a0392909216919091179055565b60015433600160a060020a03908116911614610ba757600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b60005433600160a060020a03908116911614610c4157600080fd5b600160a060020a0381161515610c5657600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a160008054600160a060020a031916600160a060020a0392909216919091179055565b610d10611700565b60058054806020026020016040519081016040528092919081815260200182805480156107e957602002820191906000526020600020908154600160a060020a031681526001909101906020018083116107cb575050505050905090565b60115481565b60005433600160a060020a03908116911614610d8f57600080fd5b600160a060020a03811660009081526002602052604090205460ff1615610db557600080fd5b60045460329010610dc557600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff1916600190811790915560048054909181016109f483826116d7565b60005433600160a060020a03908116911614610e5f57600080fd5b6127108110610e6d57600080fd5b600e55565b6000805433600160a060020a03908116911614610e8e57600080fd5b600160a060020a03821660009081526002602052604090205460ff161515610eb557600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156107095781600160a060020a0316600482815481101515610efa57fe5b600091825260209091200154600160a060020a03161415610fd657600480546000198101908110610f2757fe5b60009182526020909120015460048054600160a060020a039092169183908110610f4d57fe5b60009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055600480546000190190610f8990826116d7565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a1610709565b600101610ed7565b601054600160a060020a031681565b60005433600160a060020a0390811691161461100857600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f19350505050151561103957600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b600b6020526000908152604090205481565b600160a060020a038082166000908152600c6020908152604080832093861683529290522054600181116110c557600080fd5b600160a060020a038083166000818152600c602090815260408083208886168452825280832060019055600f54938352600890915280822054928416936323b872dd931691879160001987019190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561116757600080fd5b6102c65a03f1151561117857600080fd5b50505060405180519050151561118d57600080fd5b600160a060020a038083166000908152600b60205260409081902080548401600019019055908416907fb3f3e7375c0c0c4f7dd94069a5a4e68667827491318da786c818b8c7a794924e908490339051600160a060020a039283168152911660208201526040908101905180910390a2505050565b600f54600160a060020a031681565b60005433600160a060020a0390811691161461122c57600080fd5b600160a060020a038116151561124157600080fd5b600d8054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a0381166000908152600a6020526040812054906002821161128a57600080fd5b600160a060020a038084166000908152600a6020526040902060019055600d5416158015906112ba5750600e5415155b156113fb5750600e54612710600019830191820204908190116112dc57600080fd5b808203915060008111156113fb57600f54600160a060020a0384811660009081526008602052604080822054600d54948416946323b872dd9491821693911691869190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561137357600080fd5b6102c65a03f1151561138457600080fd5b50505060405180519050151561139957600080fd5b600d54600160a060020a03808516917f540d888e67a7f36992e365be9fddab5e2fd60e27b220d330c18f04650fd562e09133911684604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a25b600f54600160a060020a0384811660009081526008602052604080822054938316936379cc6790931691600019870191516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561147357600080fd5b6102c65a03f1151561148457600080fd5b50505060405180519050151561149957600080fd5b600160a060020a0383166000818152600b6020526040908190208054848601016000199081019091557f2f8d2d194cbe1816411754a2fc9478a11f0707da481b11cff7c69791eb877ee191339186019051600160a060020a03909216825260208201526040908101905180910390a2505050565b600054600160a060020a031681565b601054600090819081908190819033600160a060020a0390811691161461154257600080fd5b6b204fce5e3e2502611000000088111561155b57600080fd5b60115469d3c21bcecceda100000090111561157557600080fd5b601154600160a060020a0388166000908152600760205260409020549089029450612710908502600160a060020a0388166000908152600960205260409020549190049350612710908402049150818310156115d057600080fd5b50808203600082111561165d57600160a060020a038088166000908152600c60209081526040808320938a1683529290528190208054840190557f366bc34352215bf0bd3b527cfd6718605e1f5938777e42bcd8ed92f578368f529088908890859051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a15b60008111156116c9577ff838f6ddc89706878e3c3e698e9b5cbfbf2c0e3d3dcd0bd2e00f1ccf313e01858782604051600160a060020a03909216825260208201526040908101905180910390a1600160a060020a0387166000908152600a602052604090208054820190555b506001979650505050505050565b8154818355818115116116fb576000838152602090206116fb918101908301611712565b505050565b60206040519081016040526000815290565b6107f191905b8082111561172c5760008155600101611718565b50905600a165627a7a7230582010c41a57132706e84cf56b5faba33f0fff02054be5226dc1239c7900c0aa42350029000000000000000000000000f2f3781642d67096a616c1d0f34b93b622811545000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd200000000000000000000000000964f35fae36d75b1e72770e244f6595b68508cf5

Deployed Bytecode

0x60606040526004361061017c5763ffffffff60e060020a60003504166301a12fd381146101815780630a377f3a146101a25780631e4b5652146101dd57806322dbf6d2146101f3578063267822471461022a57806327a099d81461023d5780632b84fe83146102a35780632dc0562d146102c2578063384c4d2f146102d55780633b215823146102f45780633ccdbb2814610307578063408ee7fe1461033057806345ab63b91461034f57806346b8c49e1461036e57806365dfc20f1461039757806375829def146103b957806377f50f97146103d85780637acc8678146103eb5780637c423f541461040a578063820b9f1e1461041d5780639870d7fe146104305780639fad2dcb1461044f578063ac8a584a14610465578063b78b842d14610484578063ce56c45414610497578063dc93f7c9146104b9578063dd3ff4f6146104d8578063e61387e0146104fd578063ea414b2814610510578063f6486cad1461052f578063f851a4401461054e578063fd062d3b14610561575b600080fd5b341561018c57600080fd5b6101a0600160a060020a036004351661059d565b005b34156101ad57600080fd5b6101c1600160a060020a036004351661070d565b604051600160a060020a03909116815260200160405180910390f35b34156101e857600080fd5b6101a0600435610728565b34156101fe57600080fd5b610218600160a060020a036004358116906024351661075f565b60405190815260200160405180910390f35b341561023557600080fd5b6101c161077c565b341561024857600080fd5b61025061078b565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561028f578082015183820152602001610277565b505050509050019250505060405180910390f35b34156102ae57600080fd5b610218600160a060020a03600435166107f4565b34156102cd57600080fd5b6101c1610806565b34156102e057600080fd5b610218600160a060020a0360043516610815565b34156102ff57600080fd5b610218610827565b341561031257600080fd5b6101a0600160a060020a03600435811690602435906044351661082d565b341561033b57600080fd5b6101a0600160a060020a0360043516610924565b341561035a57600080fd5b610218600160a060020a0360043516610a20565b341561037957600080fd5b6101a0600160a060020a036004358116906024359060443516610a32565b34156103a257600080fd5b6101a0600160a060020a0360043516602435610aac565b34156103c457600080fd5b6101a0600160a060020a0360043516610af1565b34156103e357600080fd5b6101a0610b8c565b34156103f657600080fd5b6101a0600160a060020a0360043516610c26565b341561041557600080fd5b610250610d08565b341561042857600080fd5b610218610d6e565b341561043b57600080fd5b6101a0600160a060020a0360043516610d74565b341561045a57600080fd5b6101a0600435610e44565b341561047057600080fd5b6101a0600160a060020a0360043516610e72565b341561048f57600080fd5b6101c1610fde565b34156104a257600080fd5b6101a0600435600160a060020a0360243516610fed565b34156104c457600080fd5b610218600160a060020a0360043516611080565b34156104e357600080fd5b6101a0600160a060020a0360043581169060243516611092565b341561050857600080fd5b6101c1611202565b341561051b57600080fd5b6101a0600160a060020a0360043516611211565b341561053a57600080fd5b6101a0600160a060020a0360043516611263565b341561055957600080fd5b6101c161150d565b341561056c57600080fd5b610589600435600160a060020a036024358116906044351661151c565b604051901515815260200160405180910390f35b6000805433600160a060020a039081169116146105b957600080fd5b600160a060020a03821660009081526003602052604090205460ff1615156105e057600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156107095781600160a060020a031660058281548110151561062557fe5b600091825260209091200154600160a060020a031614156107015760058054600019810190811061065257fe5b60009182526020909120015460058054600160a060020a03909216918390811061067857fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560058054906106b49060001983016116d7565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a1610709565b600101610602565b5050565b600860205260009081526040902054600160a060020a031681565b60005433600160a060020a0390811691161461074357600080fd5b69d3c21bcecceda100000081111561075a57600080fd5b601155565b600c60209081526000928352604080842090915290825290205481565b600154600160a060020a031681565b610793611700565b60048054806020026020016040519081016040528092919081815260200182805480156107e957602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116107cb575b505050505090505b90565b600a6020526000908152604090205481565b600d54600160a060020a031681565b60076020526000908152604090205481565b600e5481565b60005433600160a060020a0390811691161461084857600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156108a557600080fd5b6102c65a03f115156108b657600080fd5b5050506040518051905015156108cb57600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a0390811691161461093f57600080fd5b600160a060020a03811660009081526003602052604090205460ff161561096557600080fd5b6005546032901061097557600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff1916600190811790915560058054909181016109f483826116d7565b5060009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055565b60096020526000908152604090205481565b60005433600160a060020a03908116911614610a4d57600080fd5b60648210610a5a57600080fd5b600160a060020a0381161515610a6f57600080fd5b600160a060020a0392831660009081526007602090815260408083209490945560089052919091208054600160a060020a03191691909216179055565b60005433600160a060020a03908116911614610ac757600080fd5b6127108110610ad557600080fd5b600160a060020a03909116600090815260096020526040902055565b60005433600160a060020a03908116911614610b0c57600080fd5b600160a060020a0381161515610b2157600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a160018054600160a060020a031916600160a060020a0392909216919091179055565b60015433600160a060020a03908116911614610ba757600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b60005433600160a060020a03908116911614610c4157600080fd5b600160a060020a0381161515610c5657600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a160008054600160a060020a031916600160a060020a0392909216919091179055565b610d10611700565b60058054806020026020016040519081016040528092919081815260200182805480156107e957602002820191906000526020600020908154600160a060020a031681526001909101906020018083116107cb575050505050905090565b60115481565b60005433600160a060020a03908116911614610d8f57600080fd5b600160a060020a03811660009081526002602052604090205460ff1615610db557600080fd5b60045460329010610dc557600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff1916600190811790915560048054909181016109f483826116d7565b60005433600160a060020a03908116911614610e5f57600080fd5b6127108110610e6d57600080fd5b600e55565b6000805433600160a060020a03908116911614610e8e57600080fd5b600160a060020a03821660009081526002602052604090205460ff161515610eb557600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156107095781600160a060020a0316600482815481101515610efa57fe5b600091825260209091200154600160a060020a03161415610fd657600480546000198101908110610f2757fe5b60009182526020909120015460048054600160a060020a039092169183908110610f4d57fe5b60009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055600480546000190190610f8990826116d7565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a1610709565b600101610ed7565b601054600160a060020a031681565b60005433600160a060020a0390811691161461100857600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f19350505050151561103957600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b600b6020526000908152604090205481565b600160a060020a038082166000908152600c6020908152604080832093861683529290522054600181116110c557600080fd5b600160a060020a038083166000818152600c602090815260408083208886168452825280832060019055600f54938352600890915280822054928416936323b872dd931691879160001987019190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561116757600080fd5b6102c65a03f1151561117857600080fd5b50505060405180519050151561118d57600080fd5b600160a060020a038083166000908152600b60205260409081902080548401600019019055908416907fb3f3e7375c0c0c4f7dd94069a5a4e68667827491318da786c818b8c7a794924e908490339051600160a060020a039283168152911660208201526040908101905180910390a2505050565b600f54600160a060020a031681565b60005433600160a060020a0390811691161461122c57600080fd5b600160a060020a038116151561124157600080fd5b600d8054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a0381166000908152600a6020526040812054906002821161128a57600080fd5b600160a060020a038084166000908152600a6020526040902060019055600d5416158015906112ba5750600e5415155b156113fb5750600e54612710600019830191820204908190116112dc57600080fd5b808203915060008111156113fb57600f54600160a060020a0384811660009081526008602052604080822054600d54948416946323b872dd9491821693911691869190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561137357600080fd5b6102c65a03f1151561138457600080fd5b50505060405180519050151561139957600080fd5b600d54600160a060020a03808516917f540d888e67a7f36992e365be9fddab5e2fd60e27b220d330c18f04650fd562e09133911684604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a25b600f54600160a060020a0384811660009081526008602052604080822054938316936379cc6790931691600019870191516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561147357600080fd5b6102c65a03f1151561148457600080fd5b50505060405180519050151561149957600080fd5b600160a060020a0383166000818152600b6020526040908190208054848601016000199081019091557f2f8d2d194cbe1816411754a2fc9478a11f0707da481b11cff7c69791eb877ee191339186019051600160a060020a03909216825260208201526040908101905180910390a2505050565b600054600160a060020a031681565b601054600090819081908190819033600160a060020a0390811691161461154257600080fd5b6b204fce5e3e2502611000000088111561155b57600080fd5b60115469d3c21bcecceda100000090111561157557600080fd5b601154600160a060020a0388166000908152600760205260409020549089029450612710908502600160a060020a0388166000908152600960205260409020549190049350612710908402049150818310156115d057600080fd5b50808203600082111561165d57600160a060020a038088166000908152600c60209081526040808320938a1683529290528190208054840190557f366bc34352215bf0bd3b527cfd6718605e1f5938777e42bcd8ed92f578368f529088908890859051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a15b60008111156116c9577ff838f6ddc89706878e3c3e698e9b5cbfbf2c0e3d3dcd0bd2e00f1ccf313e01858782604051600160a060020a03909216825260208201526040908101905180910390a1600160a060020a0387166000908152600a602052604090208054820190555b506001979650505050505050565b8154818355818115116116fb576000838152602090206116fb918101908301611712565b505050565b60206040519081016040526000815290565b6107f191905b8082111561172c5760008155600101611718565b50905600a165627a7a7230582010c41a57132706e84cf56b5faba33f0fff02054be5226dc1239c7900c0aa42350029

Swarm Source

bzzr://10c41a57132706e84cf56b5faba33f0fff02054be5226dc1239c7900c0aa4235

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.