Contract 0x575d8909d7fef2561ef8c2114d80b736fb77cbb6

 

TxHash Block Age From To Value [TxFee]
0x59375271d63a1fd5ee5822edbdd0886c2c9b180fbe1ae5d688907487a9dbfc2d713393325 days 5 hrs ago0x1dad8dc4526c10954505a8bd6fbdb68d4a4b0990 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000186928
0x93c22658ac5fe47ef24da5c009b0d2e13318d5072cfa7f32e112e1c5fcc2f413712901626 days 4 hrs ago0x3a354f770a70e32f31ba557382bc3dea1a46cd05 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000140196
0x4b71443f86e78dfdf83b64af9cf2378e5426ef59e6c7efdcb26e88765ceeaa15712887626 days 5 hrs ago0x1dad8dc4526c10954505a8bd6fbdb68d4a4b0990 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000140196
0x7958aa345e28ef5e32a552532df2e997e5b7de5e70f1bfcccbac4a6ea1106fc3712859326 days 6 hrs ago0x2e9580cc26946fc932097feebb708b8bc7810f2e IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000280392
0x88c73fd962cdae6e44890d377821984ed42eadc9c85c8d964653d19bf19ef1a4712379627 days 5 hrs ago0x1dad8dc4526c10954505a8bd6fbdb68d4a4b0990 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000186928
0x1aca97e1e4b18d30d78ae5decee715785a0af79389349425c0bc787f11ed7e2b712351127 days 6 hrs ago0x2e9580cc26946fc932097feebb708b8bc7810f2e IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.00046732
0x57bd19c3c4c7cc17fe32c3911ebac56f513e243088c577a252597289402a374b711883228 days 4 hrs ago0x3a354f770a70e32f31ba557382bc3dea1a46cd05 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000560784
0x472a7eeee180b9c6e6bc213dc49ab4074a1303e65117abb595f0b012b55a3f9d711868828 days 5 hrs ago0x1dad8dc4526c10954505a8bd6fbdb68d4a4b0990 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.00046732
0xb3614d16e8f459ef42a99d2014f2be35f829f106ca0bb8503d97ee160516f448711846828 days 6 hrs ago0x2e9580cc26946fc932097feebb708b8bc7810f2e IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.00046732
0xf5d9f7646f5908bd37ad77a426f2058c17f87726a1c78585425f7063ea4961af711374729 days 4 hrs ago0x3a354f770a70e32f31ba557382bc3dea1a46cd05 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000373856
0x8588f90fd3b1d0485ca182553c4ef50470a14669f6d186b8244980ec72f30aaa711358329 days 5 hrs ago0x1dad8dc4526c10954505a8bd6fbdb68d4a4b0990 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.00046732
0x276ca16042221ac91a485fe739371c5191b2612a31170d11b1941af3a8bf47f5711331929 days 6 hrs ago0x2e9580cc26946fc932097feebb708b8bc7810f2e IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.00046732
0x7c2224a2687eb47a4d0c6a6b69a2522de47cb1b0ceb19b4b827d9c7f72d7b067710878230 days 4 hrs ago0x3a354f770a70e32f31ba557382bc3dea1a46cd05 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.00046732
0xb55f93abefa5a0da6bc076236cac5ba15435b56eaf5642835d17ca21ecfb7303710861330 days 5 hrs ago0x1dad8dc4526c10954505a8bd6fbdb68d4a4b0990 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000560784
0xb2ed56e33a85fe9c8419f4120a735f4319759729db40d72f1477fb7ae7c6b7cd710813630 days 7 hrs ago0x2e9580cc26946fc932097feebb708b8bc7810f2e IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000560784
0x641ea62434fc21fab4bb75af1109a6fc2b9a4198b061f40c684c723e066a1beb710358731 days 5 hrs ago0x3a354f770a70e32f31ba557382bc3dea1a46cd05 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000280392
0x133cc3061bead2fab41c6b659caa291b29ad6fc3e613ae0cec334b061a49003f710344231 days 5 hrs ago0x1dad8dc4526c10954505a8bd6fbdb68d4a4b0990 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000280392
0x61b234a904d12bdc361f21b4d859f2c14d33d77fbf7105c0c9328cab990dfdcb708696634 days 5 hrs ago0x3a354f770a70e32f31ba557382bc3dea1a46cd05 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.00093464
0x1be92b2719e88f5c2d16f8fbc9bdccf8edbd967173eb14ee3a8d816f6e962da7708130835 days 5 hrs ago0x3a354f770a70e32f31ba557382bc3dea1a46cd05 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.00037011744
0x026479c6cfd559334dfe0ff6c86278d1ef055f2c214c0f150d2bc77fe2a103b3708064835 days 8 hrs ago0x2e9580cc26946fc932097feebb708b8bc7810f2e IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000841176
0x408e37edfa8547498f0a8f2b7b35c557f7cc5bd8e0d726fb3673c91961d2fdfa707570436 days 5 hrs ago0x3a354f770a70e32f31ba557382bc3dea1a46cd05 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000280392
0xbb1b0eac4090a4284f08c72d38c14b45e56978a8943a68df046d7f4fae805403707553136 days 6 hrs ago0x1dad8dc4526c10954505a8bd6fbdb68d4a4b0990 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000280392
0x143993affa59a5237e7189ffb7074dfaaae47d93d55f0775c83f18277447e6f0707509236 days 8 hrs ago0x2e9580cc26946fc932097feebb708b8bc7810f2e IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000420588
0x3d541d3140648cca9953ad51c79efe2871d6149320ceedd80e80330c30767ad8707013937 days 5 hrs ago0x3a354f770a70e32f31ba557382bc3dea1a46cd05 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.00046732
0xca100fecd63aa0dd0722e5b8b7a774548cff59bbc04743a25ecd2d489a2a493d706998237 days 6 hrs ago0x1dad8dc4526c10954505a8bd6fbdb68d4a4b0990 IN  0x575d8909d7fef2561ef8c2114d80b736fb77cbb60 Ether0.000841176
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Contract Source Code Verified (Exact Match)
Contract Name: ABChainNetContract_v5
Compiler Version: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.25;

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return balances[_owner];
  }

}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

contract MigrationAgent {
    function migrateFrom(address _from, uint256 _value);
}

contract ABChainRTBtoken is StandardToken {
  using SafeMath for uint256;

  string public name = "AB-CHAIN RTB token";
  string public symbol = "RTB";
  uint256 public decimals = 18;
  uint256 public INITIAL_SUPPLY = 100000000 * 1 ether;
  uint256 public burnedCount = 0;
  uint256 public burnedAfterSaleCount = 0;
  address public contractOwner = 0;
  address public migrationAgent = 0;

  event Burn(address indexed burner, uint256 value);
  event Migrate(address indexed migrator, uint256 value);
  
  function ABChainRTBtoken() {
      burnedCount = 0;
      burnedAfterSaleCount = 0;
      totalSupply = INITIAL_SUPPLY;
      balances[msg.sender] = INITIAL_SUPPLY;
      contractOwner = msg.sender;
  }
  
  function migrate() {
        require(migrationAgent != 0);
        uint256 _value = balances[msg.sender];
        require(_value > 0);
        burn(_value);
        MigrationAgent(migrationAgent).migrateFrom(msg.sender, _value);
        Migrate(msg.sender, _value);
    }

    function setMigrationAgent(address _agent) {
        require(msg.sender == contractOwner);
        migrationAgent = _agent;
    }

  /**
   * @dev Burns a specific amount of tokens.
   * @param _value The amount of token to be burned.
   */
  function burn(uint256 _value) public {
    require(_value <= balances[msg.sender]);
    // no need to require value <= totalSupply, since that would imply the
    // sender's balance is greater than the totalSupply, which *should* be an assertion failure

    address burner = msg.sender;
    balances[burner] = balances[burner].sub(_value);
    totalSupply = totalSupply.sub(_value);
    burnedCount = burnedCount.add(_value);
    Burn(burner, _value);
    }
  // only for burn after sale
  function burnaftersale(uint256 _value) public {
    require(_value <= balances[msg.sender]);
    // no need to require value <= totalSupply, since that would imply the
    // sender's balance is greater than the totalSupply, which *should* be an assertion failure
    address burner = msg.sender;
    balances[burner] = balances[burner].sub(_value);
    totalSupply = totalSupply.sub(_value);
    burnedAfterSaleCount = burnedAfterSaleCount.add(_value);
    Burn(burner, _value);
    }
    
    // only for lazy migration
    function () payable {
        require(migrationAgent != 0 && msg.value == 0);
        migrate();
    }
}

/* AB-CHAIN Network RTB payments processing smart-contract  */
contract ABChainNetContract_v5 {
    using SafeMath for uint256;
    
    address public contractOwner = 0;
    address public tokenAddress = 0xEC491c1088Eae992B7A214efB0a266AD0927A72A;
    address public ABChainRevenueAddress = 0x651Ccecc133dEa9635c84FC2C17707Ee18729f62;
    address public ABChainPBudgetsAddress = 0x5B16ce4534c1a746cffE95ae18083969e9e1F5e9;
    uint256 public tokenBurningPercentage = 500; // 1 = 0.01%; 500 = 5% 
    uint256 public revenuePercentage = 500; // 1 = 0.01%; 500 = 5%
    uint256 public processedRTBs = 0;
    uint256 public burnedRTBs = 0;
    uint256 public netRevenueRTBs = 0;
    uint256 public publrsBudgRTBs = 0;
    uint256 public processingCallsCount = 0;
    
    // RTBProcessing event
    event RTBProcessing(
        address indexed sender,
        uint256 balanceBefore,
        uint256 burned,
        uint256 sendedToPBudgets,
        uint256 sendedToRevenue,
        address indexed curABChainRevenueAddress,
        address indexed curABChainPBudgetsAddress,
        uint256 curRevPerc,
        uint256 curTokenBurningPerc,
        address curContractOwner
    );
    
    constructor () public {
        contractOwner = msg.sender;
    }
    
    function unprocessedRTBBalance() public view returns (uint256) {
        return ABChainRTBtoken(tokenAddress).balanceOf(address(this));
    }
    
    // change contract owner
    function changeOwner(address _owner) public {
        require(msg.sender == contractOwner);
        contractOwner = _owner;
    }
    
    // change the address of the token contract
    function changeTokenAddress(address _tokenAddress) public {
        require(msg.sender == contractOwner);
        tokenAddress = _tokenAddress;
    }
    
    // change ABChain Revenue Address
    function changeABChainRevenueAddress(address _ABChainRevenueAddress) public {
        require(msg.sender == contractOwner);
        ABChainRevenueAddress = _ABChainRevenueAddress;
    }
    
    // change ABChainPBudgetsAddress
    function changeABChainPBudgetsAddress(address _ABChainPBudgetsAddress) public {
        require(msg.sender == contractOwner);
        ABChainPBudgetsAddress = _ABChainPBudgetsAddress;
    }
    
    // change tokenBurningPercentage
    function changeTokenBurningPercentage(uint256 _tokenBurningPercentage) public {
        require(msg.sender == contractOwner);
        tokenBurningPercentage = _tokenBurningPercentage;
    }
    
    // change revenuePercentage
    function changeRevenuePercentage(uint256 _revenuePercentage) public {
        require(msg.sender == contractOwner);
        revenuePercentage = _revenuePercentage;
    }
    
    // RTB-payments processing
    function rtbPaymentsProcessing() public {
        uint256 _balance = ABChainRTBtoken(tokenAddress).balanceOf(address(this));
        require(_balance > 0);
        
        processingCallsCount = processingCallsCount.add(1);
        
        uint256 _forBurning = uint256(_balance.div(10000)).mul(tokenBurningPercentage);
        
        uint256 _forRevenue = uint256(_balance.div(10000)).mul(revenuePercentage);
        
        uint256 _forPBudgets = uint256(_balance.sub(_forBurning)).sub(_forRevenue);
        
        ABChainRTBtoken(tokenAddress).transfer(ABChainPBudgetsAddress, _forPBudgets);
        
        ABChainRTBtoken(tokenAddress).transfer(ABChainRevenueAddress, _forRevenue);
        
        ABChainRTBtoken(tokenAddress).burn(_forBurning);
        
        processedRTBs = processedRTBs.add(_balance);
        burnedRTBs = burnedRTBs.add(_forBurning);
        publrsBudgRTBs = publrsBudgRTBs.add(_forPBudgets);
        netRevenueRTBs = netRevenueRTBs.add(_forRevenue);

        emit RTBProcessing(
            msg.sender,
            _balance,
            _forBurning,
            _forPBudgets,
            _forRevenue,
            ABChainRevenueAddress,
            ABChainPBudgetsAddress,
            revenuePercentage,
            tokenBurningPercentage,
            contractOwner
        );
    }

    // current contract version does not accept ethereum. RTB processing only :)
    function () payable public {
        require(msg.value == 0);
    }
}

Contract ABI
[{"constant":false,"inputs":[],"name":"rtbPaymentsProcessing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unprocessedRTBBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_revenuePercentage","type":"uint256"}],"name":"changeRevenuePercentage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"revenuePercentage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ABChainRevenueAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"processedRTBs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"netRevenueRTBs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenBurningPercentage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ABChainRevenueAddress","type":"address"}],"name":"changeABChainRevenueAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"publrsBudgRTBs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ABChainPBudgetsAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenBurningPercentage","type":"uint256"}],"name":"changeTokenBurningPercentage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnedRTBs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"changeTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_ABChainPBudgetsAddress","type":"address"}],"name":"changeABChainPBudgetsAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"contractOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"processingCallsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"balanceBefore","type":"uint256"},{"indexed":false,"name":"burned","type":"uint256"},{"indexed":false,"name":"sendedToPBudgets","type":"uint256"},{"indexed":false,"name":"sendedToRevenue","type":"uint256"},{"indexed":true,"name":"curABChainRevenueAddress","type":"address"},{"indexed":true,"name":"curABChainPBudgetsAddress","type":"address"},{"indexed":false,"name":"curRevPerc","type":"uint256"},{"indexed":false,"name":"curTokenBurningPerc","type":"uint256"},{"indexed":false,"name":"curContractOwner","type":"address"}],"name":"RTBProcessing","type":"event"}]

Contract Creation Code
608060405260008054600160a060020a0319908116825560018054821673ec491c1088eae992b7a214efb0a266ad0927a72a17905560028054821673651ccecc133dea9635c84fc2c17707ee18729f6217905560038054909116735b16ce4534c1a746cffe95ae18083969e9e1f5e91790556101f460048190556005556006819055600781905560088190556009819055600a5534801561009f57600080fd5b5060008054600160a060020a031916331790556109a7806100c16000396000f3006080604052600436106101065763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630160149e811461011357806335e51483146101285780633a1a7ffd1461014f578063420a3b4814610167578063595b503f1461017c5780635f605d1c146101ad5780637796200e146101c2578063782fc2ab146101d75780637b7a7f4d146101ec57806392689f051461020d57806398eb4404146102225780639d76ea5814610237578063a6f9dae11461024c578063af4dee341461026d578063afb0ed8214610285578063c9cda91f1461029a578063cc0e86bf146102bb578063ce606ee0146102dc578063f4184613146102f1575b341561011157600080fd5b005b34801561011f57600080fd5b50610111610306565b34801561013457600080fd5b5061013d6106c1565b60408051918252519081900360200190f35b34801561015b57600080fd5b50610111600435610757565b34801561017357600080fd5b5061013d610773565b34801561018857600080fd5b50610191610779565b60408051600160a060020a039092168252519081900360200190f35b3480156101b957600080fd5b5061013d610788565b3480156101ce57600080fd5b5061013d61078e565b3480156101e357600080fd5b5061013d610794565b3480156101f857600080fd5b50610111600160a060020a036004351661079a565b34801561021957600080fd5b5061013d6107e0565b34801561022e57600080fd5b506101916107e6565b34801561024357600080fd5b506101916107f5565b34801561025857600080fd5b50610111600160a060020a0360043516610804565b34801561027957600080fd5b5061011160043561084a565b34801561029157600080fd5b5061013d610866565b3480156102a657600080fd5b50610111600160a060020a036004351661086c565b3480156102c757600080fd5b50610111600160a060020a03600435166108b2565b3480156102e857600080fd5b506101916108f8565b3480156102fd57600080fd5b5061013d610907565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092839283928392600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561037157600080fd5b505af1158015610385573d6000803e3d6000fd5b505050506040513d602081101561039b57600080fd5b50519350600084116103ac57600080fd5b600a546103c090600163ffffffff61090d16565b600a556004546103e8906103dc8661271063ffffffff61092716565b9063ffffffff61093e16565b600554909350610404906103dc8661271063ffffffff61092716565b91506104268261041a868663ffffffff61096916565b9063ffffffff61096916565b600154600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101859052905193945091169163a9059cbb916044808201926020929091908290030181600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b505050506040513d60208110156104c457600080fd5b5050600154600254604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561053857600080fd5b505af115801561054c573d6000803e3d6000fd5b505050506040513d602081101561056257600080fd5b5050600154604080517f42966c68000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a03909216916342966c689160248082019260009290919082900301818387803b1580156105ca57600080fd5b505af11580156105de573d6000803e3d6000fd5b50506006546105f6925090508563ffffffff61090d16565b60065560075461060c908463ffffffff61090d16565b600755600954610622908263ffffffff61090d16565b600955600854610638908363ffffffff61090d16565b600855600354600254600554600454600054604080518a8152602081018a905280820188905260608101899052608081019490945260a0840192909252600160a060020a0390811660c084015290519381169392169133917f2621b602522762beaf14a5d9b0eefffed05b4bb2a553872011b2beb0dff25e3a919081900360e00190a450505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561072657600080fd5b505af115801561073a573d6000803e3d6000fd5b505050506040513d602081101561075057600080fd5b5051905090565b600054600160a060020a0316331461076e57600080fd5b600555565b60055481565b600254600160a060020a031681565b60065481565b60085481565b60045481565b600054600160a060020a031633146107b157600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60095481565b600354600160a060020a031681565b600154600160a060020a031681565b600054600160a060020a0316331461081b57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461086157600080fd5b600455565b60075481565b600054600160a060020a0316331461088357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146108c957600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b600a5481565b60008282018381101561091c57fe5b8091505b5092915050565b600080828481151561093557fe5b04949350505050565b6000808315156109515760009150610920565b5082820282848281151561096157fe5b041461091c57fe5b60008282111561097557fe5b509003905600a165627a7a723058202d64bb2fc696b0f6fcfac9e78592d98f15469e789e04d9947fcdf046aac1e6fd0029


   Swarm Source:
bzzr://2d64bb2fc696b0f6fcfac9e78592d98f15469e789e04d9947fcdf046aac1e6fd
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.