ETH Price: $2,318.56 (-4.13%)

Contract

0xb22AB974d648d04dCe298bcfBd6C41391D447eB4
 

Overview

ETH Balance

1 wei

Eth Value

Less Than $0.01 (@ $2,318.56/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Token Artifa...199238632024-05-22 7:14:23116 days ago1716362063IN
0xb22AB974...91D447eB4
0 ETH0.00025556.6110333
Add Token Artifa...199238432024-05-22 7:09:59116 days ago1716361799IN
0xb22AB974...91D447eB4
0 ETH0.00026246.78954036
Add Token Artifa...199237962024-05-22 7:00:11116 days ago1716361211IN
0xb22AB974...91D447eB4
0 ETH0.000740316.41314325
Purchase Token199232172024-05-22 5:02:47116 days ago1716354167IN
0xb22AB974...91D447eB4
0.0115848 ETH0.001001728.05883167
Add Token Artifa...198953562024-05-18 7:30:35120 days ago1716017435IN
0xb22AB974...91D447eB4
0 ETH0.000132543.42943047
Add Token Artifa...198953282024-05-18 7:24:59120 days ago1716017099IN
0xb22AB974...91D447eB4
0 ETH0.000377643.27110348
Add Token Artifa...170236192023-04-11 8:17:35523 days ago1681201055IN
0xb22AB974...91D447eB4
0 ETH0.0008338121.57399952
Purchase Token170231042023-04-11 6:32:11523 days ago1681194731IN
0xb22AB974...91D447eB4
0.00642807 ETH0.0020503219.31316861
Add Token Artifa...165125502023-01-29 12:42:59595 days ago1674996179IN
0xb22AB974...91D447eB4
0 ETH0.0033488829.00445142
Purchase Token164838282023-01-25 12:26:59599 days ago1674649619IN
0xb22AB974...91D447eB4
0.97167829 ETH0.0021539917.54127202
Purchase Token164828372023-01-25 9:07:23599 days ago1674637643IN
0xb22AB974...91D447eB4
0.00651652 ETH0.0014808414.34978889
Add Token Artifa...164828292023-01-25 9:05:47599 days ago1674637547IN
0xb22AB974...91D447eB4
0 ETH0.0007891813.47625281
Update Config164826232023-01-25 8:24:23599 days ago1674635063IN
0xb22AB974...91D447eB4
0 ETH0.0009393913.79880226
Purchase Token164807972023-01-25 2:17:11599 days ago1674613031IN
0xb22AB974...91D447eB4
0.97725 ETH0.0013593515.97079804
Add Token Artifa...164807502023-01-25 2:07:47599 days ago1674612467IN
0xb22AB974...91D447eB4
0 ETH0.0021486622.48757136
Update Config164759542023-01-24 10:04:35600 days ago1674554675IN
0xb22AB974...91D447eB4
0 ETH0.0006240613.51778697
Purchase Token161901552022-12-15 12:40:35640 days ago1671108035IN
0xb22AB974...91D447eB4
0.00013794 ETH0.0016444413.22952427
Purchase Token161879402022-12-15 5:14:47640 days ago1671081287IN
0xb22AB974...91D447eB4
0.00704918 ETH0.0016492313.26809149
Purchase Token160954782022-12-02 6:57:59653 days ago1669964279IN
0xb22AB974...91D447eB4
0.00001285 ETH0.001380311.19814405
Add Token Artifa...160953302022-12-02 6:28:23653 days ago1669962503IN
0xb22AB974...91D447eB4
0 ETH0.0012399410.74021003
Purchase Token160339732022-11-23 16:44:47662 days ago1669221887IN
0xb22AB974...91D447eB4
1.1649792 ETH0.0011272610.51542099
Purchase Token160174512022-11-21 9:19:47664 days ago1669022387IN
0xb22AB974...91D447eB4
0.5824896 ETH0.0011836411.30500871
Purchase Token160173692022-11-21 9:03:23664 days ago1669021403IN
0xb22AB974...91D447eB4
0.156024 ETH0.001042759.95935598
Purchase Token160173592022-11-21 9:01:23664 days ago1669021283IN
0xb22AB974...91D447eB4
0.7177104 ETH0.0012726410.44858559
Purchase Token160154412022-11-21 2:35:47664 days ago1668998147IN
0xb22AB974...91D447eB4
3.432528 ETH0.0013471510.83782118
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
199232172024-05-22 5:02:47116 days ago1716354167
0xb22AB974...91D447eB4
0.00926784 ETH
199232172024-05-22 5:02:47116 days ago1716354167
0xb22AB974...91D447eB4
0.00162187 ETH
199232172024-05-22 5:02:47116 days ago1716354167
0xb22AB974...91D447eB4
0.00069508 ETH
170231042023-04-11 6:32:11523 days ago1681194731
0xb22AB974...91D447eB4
0.00578526 ETH
170231042023-04-11 6:32:11523 days ago1681194731
0xb22AB974...91D447eB4
0.00044996 ETH
170231042023-04-11 6:32:11523 days ago1681194731
0xb22AB974...91D447eB4
0.00019284 ETH
164838282023-01-25 12:26:59599 days ago1674649619
0xb22AB974...91D447eB4
0.96196151 ETH
164838282023-01-25 12:26:59599 days ago1674649619
0xb22AB974...91D447eB4
0.00680174 ETH
164838282023-01-25 12:26:59599 days ago1674649619
0xb22AB974...91D447eB4
0.00291503 ETH
164828372023-01-25 9:07:23599 days ago1674637643
0xb22AB974...91D447eB4
0.00645135 ETH
164828372023-01-25 9:07:23599 days ago1674637643
0xb22AB974...91D447eB4
0.00004561 ETH
164828372023-01-25 9:07:23599 days ago1674637643
0xb22AB974...91D447eB4
0.00001954 ETH
164807972023-01-25 2:17:11599 days ago1674613031
0xb22AB974...91D447eB4
0.97725 ETH
161901552022-12-15 12:40:35640 days ago1671108035
0xb22AB974...91D447eB4
0.00012415 ETH
161901552022-12-15 12:40:35640 days ago1671108035
0xb22AB974...91D447eB4
0.00000965 ETH
161901552022-12-15 12:40:35640 days ago1671108035
0xb22AB974...91D447eB4
0.00000413 ETH
161879402022-12-15 5:14:47640 days ago1671081287
0xb22AB974...91D447eB4
0.00634426 ETH
161879402022-12-15 5:14:47640 days ago1671081287
0xb22AB974...91D447eB4
0.00049344 ETH
161879402022-12-15 5:14:47640 days ago1671081287
0xb22AB974...91D447eB4
0.00021147 ETH
160954782022-12-02 6:57:59653 days ago1669964279
0xb22AB974...91D447eB4
0.00001157 ETH
160954782022-12-02 6:57:59653 days ago1669964279
0xb22AB974...91D447eB4
0.00000089 ETH
160954782022-12-02 6:57:59653 days ago1669964279
0xb22AB974...91D447eB4
0.00000038 ETH
160339732022-11-23 16:44:47662 days ago1669221887
0xb22AB974...91D447eB4
1.04848128 ETH
160339732022-11-23 16:44:47662 days ago1669221887
0xb22AB974...91D447eB4
0.08154854 ETH
160339732022-11-23 16:44:47662 days ago1669221887
0xb22AB974...91D447eB4
0.03494937 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ExternalTokenSale

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-07-12
*/

// File: contracts/SafeMath.sol

pragma solidity ^0.5;

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
     * @dev Multiplies two unsigned integers, reverts on overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

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

        return c;
    }

    /**
     * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Adds two unsigned integers, reverts on overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
     * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
     * reverts when dividing by zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}
// File: contracts/ExternalTokenSale.sol

pragma solidity ^0.5;


contract Owned {
    address public owner;
    
    constructor() public {
        owner = msg.sender;
    }
    
    /**
     * @dev Modifier to restrict owner access only.
     */
     
    modifier onlyOwner {
        require(msg.sender == owner,"Invalid Owner");
        _;
    }
    
    /**
     * @dev Transfer ownership to new owner, can only be called by existing owner.
     */
     
    function transferOwnership(address newOwner) public onlyOwner {
        owner = newOwner;
    }
}


contract ERC20 {
  uint256 public totalSupply;
  uint256 public decimals;
  function balanceOf(address who) public view returns (uint);
  function allowance(address owner, address spender) public view returns (uint);
  function transfer(address to, uint value) public returns (bool ok);
  function transferFrom(address from, address to, uint value) public;
  function approve(address spender, uint value) public returns (bool ok);
}


contract ExternalTokenSale is Owned {

    using SafeMath for uint;
    
    struct TokenArtifact {
        uint256 totalSold;
        uint256 exchangeRate; /* per Token in terms of base token (FTB) */
        ERC20 targetToken;
        uint256 pledgedFeePercent;
        uint256 pledgedFeeDivisor;
    }
    
    /* Seller => Token Address */
    mapping(address => mapping(address => TokenArtifact)) public tokenLedger;
    mapping(address => bool) authorizedCaller;

    // Base Seller Fee;
    uint256 baseFeePercent;
    uint256 baseFeeDivisor;
    
    
    /* Referral Commision Config */
    uint256 referralCommissionChargePercent;
    uint256 referralCommissionChargeDivisor;
    address payable referralChargeReceiver;
    
    // Transaction Config 
    uint256 transactionChargePercent;
    uint256 transactionChargeDivisor;
    address payable transactionChargeReceiver;
    
    event ConfigUpdated(
        address payable _transactionChargeReceiver,
        uint256 _transactionChargePercent,
        uint256 _transactionChargeDivisor,
        address payable _referralChargeReceiver,
        uint256 _referralCommissionChargePercent,
        uint256 _referralCommissionChargeDivisor,
        uint256 _baseFeePercent,
        uint256 _baseFeeDivisor
    );
    
    /**
     * @dev Modifier to restrict access to authorized caller.
     */
    modifier onlyAuthCaller(){
        require(authorizedCaller[msg.sender] == true || msg.sender == owner,"Only Authorized and Owner can perform this action");
        _;
    }
    
    /**
     * @dev Modifier to make sure contribution satisfies condition of being non zero and Funding is enabled.
     */
    modifier onlyValidContribution(uint _value){
        require(_value > 0 ,"Value should be greater than zero");
        _;
    }

    /* Events */
    event AuthorizedCaller(address _caller);
    event DeAuthorizedCaller(address _caller);
    
    event PurchaseToken(address indexed _buyerAddress,
                        address indexed _sellerAddress, 
                        address indexed _tokenAddress, 
                        uint256 _amount,
                        uint256 _feeAmount);
    
    event AddTokenArtifact(address indexed _sellerAddress, 
                        address indexed _tokenAddress, 
                        uint256 _amount,
                        uint256 _pledgedFeePercent,
                        uint256 _pledgedFeeDivisor);
                        
    event TransactionConfigUpdated(uint _transactionChargePercent, uint _transactionChargeDivisor);
    event ReferralCommissionConfigUpdated(uint _referralCommissionChargePercent, uint _referralCommissionChargeDivisor);

    
    constructor(address payable _transactionChargeReceiver, address payable _referralChargeReceiver) public {
        
        owner = msg.sender;
        transactionChargeReceiver = _transactionChargeReceiver;
        referralChargeReceiver = _referralChargeReceiver;
    }
    
   
     

    
    /**
     * @dev Can be called to authorize address which can perform operation requiring elevated privileges 
     */
    function authorizeCaller(address _caller) public onlyOwner returns(bool){
        authorizedCaller[_caller] = true;
        emit AuthorizedCaller(_caller);
        return true;
    }
    
    /**
     * @dev Can be called to de-authorize address which can perform operation requiring elevated privileges
     */
    function deAuthorizeCaller(address _caller) public onlyOwner returns(bool){
        authorizedCaller[_caller] = false;
        emit DeAuthorizedCaller(_caller);
        return true;
    }   
    
    function getConfig()
        public
        view
        returns (
            address _transactionChargeReceiver,
            uint256 _transactionChargePercent,
            uint256 _transactionChargeDivisor,
            address _referralChargeReceiver,
            uint256 _referralCommissionChargePercent,
            uint256 _referralCommissionChargeDivisor,
            uint256 _baseFeePercent,
            uint256 _baseFeeDivisor
        )
    {
        return (
            transactionChargeReceiver,
            transactionChargePercent,
            transactionChargeDivisor,
            referralChargeReceiver,
            referralCommissionChargePercent,
            referralCommissionChargeDivisor,
            baseFeePercent,
            baseFeeDivisor
        );
    }

    function updateConfig(
        address payable _transactionChargeReceiver,
        uint256 _transactionChargePercent,
        uint256 _transactionChargeDivisor,
        address payable _referralChargeReceiver,
        uint256 _referralCommissionChargePercent,
        uint256 _referralCommissionChargeDivisor,
        uint256 _baseFeePercent,
        uint256 _baseFeeDivisor
    ) public onlyAuthCaller returns (bool) {
        
        // Base Fee 
        baseFeePercent = _baseFeePercent;
        baseFeeDivisor = _baseFeeDivisor;
        
        // Transaction 
        transactionChargeReceiver = _transactionChargeReceiver;
        transactionChargePercent = _transactionChargePercent;
        transactionChargeDivisor = _transactionChargeDivisor;
    
        // Referral 
        referralChargeReceiver = _referralChargeReceiver;
        referralCommissionChargePercent = _referralCommissionChargePercent;
        referralCommissionChargeDivisor = _referralCommissionChargeDivisor;
        
        emit ConfigUpdated(
            _transactionChargeReceiver,
            _transactionChargePercent,
            _transactionChargeDivisor,
            _referralChargeReceiver,
            _referralCommissionChargePercent,
            _referralCommissionChargeDivisor,
            _baseFeePercent,
            _baseFeeDivisor
        );

        return true;
    }
    
    /**
     * @dev addTokenArtifact function need to be called to add the ERC20 Token artifact
     * by providing ERC20 token contract address, Exchange Rate with respect to base token (FTB)
    */
    
    function addTokenArtifact(
        address _tokenAddress, 
        uint256 _exchangeRate,
        uint256 _pledgedFeePercent,
        uint256 _pledgedFeeDivisor) public returns(bool)
    {
        tokenLedger[msg.sender][_tokenAddress].totalSold =  0 ;
        tokenLedger[msg.sender][_tokenAddress].exchangeRate =  _exchangeRate ;
        tokenLedger[msg.sender][_tokenAddress].targetToken =  ERC20(_tokenAddress) ;
        
        tokenLedger[msg.sender][_tokenAddress].pledgedFeePercent = _pledgedFeePercent;
        tokenLedger[msg.sender][_tokenAddress].pledgedFeeDivisor = _pledgedFeeDivisor;
        
        emit AddTokenArtifact(
            msg.sender, 
            _tokenAddress, 
            _exchangeRate,
            _pledgedFeePercent,
            _pledgedFeeDivisor
        );
        return true;
    }
    

    
    
    function purchaseToken(
        address payable _sellerAddress, 
        address _tokenAddress, 
        bool _isReferredBuyer) public payable returns(bool)
    { 
        
        TokenArtifact memory _activeTokenArtifact = tokenLedger[_sellerAddress][_tokenAddress];
        
        require(_activeTokenArtifact.exchangeRate > 0, "Exchange Rate should greater than zero ");
        
        /* Calculate Conversion in terms of target token decimals */
        uint256 _targetTokenDecimalBase = uint256(_activeTokenArtifact.targetToken.decimals());
        uint256 _finalAmount = 0;
  
       
        
        /* Msg Value  */
        uint256 _depositedAmt = msg.value;
  
        uint256 _baseRecievableAmt = 0;
        uint256 _baseFeeAmt = 0;
        
        uint256 _adminFeeAmt = 0;
        uint256 _referralFeeAmt = 0;
        
   
        // Get Product Pledged Fee
   
        _baseFeeAmt = _activeTokenArtifact.pledgedFeePercent.mul(_depositedAmt).div(_activeTokenArtifact.pledgedFeeDivisor.mul(100));
        _baseRecievableAmt = _depositedAmt.sub(_baseFeeAmt);
        
        
        if (transactionChargeDivisor > 0 && transactionChargePercent > 0) {
            /* Calculate Transaction Fee */
            
            _adminFeeAmt = transactionChargePercent.mul(_baseFeeAmt).div(
                transactionChargeDivisor.mul(100)
            );
         
        }

        if(referralCommissionChargeDivisor > 0 &&
            referralCommissionChargePercent > 0){
            _referralFeeAmt = referralCommissionChargePercent
                .mul(_baseFeeAmt)
                .div(referralCommissionChargeDivisor.mul(100));
            }
        

        /* Debit Referral Commision Fee if set */
        if (
            _isReferredBuyer == false            
        ) {
            /* Calculate Referral Commision Fee */
            _adminFeeAmt = _adminFeeAmt.add(_referralFeeAmt);                     
        } 

        /* Send Transaction Receiver their share */
        if (_adminFeeAmt > 0) {
            transactionChargeReceiver.transfer(_adminFeeAmt);
        }

        /* Send Referral Receiver their share */
        if (_referralFeeAmt > 0) {
            referralChargeReceiver.transfer(_referralFeeAmt);
        }
        
        
        /* Transfer Leftover amount to product owner */
        _sellerAddress.transfer(_baseRecievableAmt);

        /* Transfer Final target Token from Seller to Buyer */
        _finalAmount = _depositedAmt.mul(10 ** _targetTokenDecimalBase).div(_activeTokenArtifact.exchangeRate);
        
        /* Transfer Calculated token to investor */
        _activeTokenArtifact.targetToken.transferFrom(_sellerAddress,msg.sender,_finalAmount);
        
        /* Update Sold */
        _activeTokenArtifact.totalSold = tokenLedger[msg.sender][_tokenAddress].totalSold.add(_finalAmount);
        
        
        
        emit PurchaseToken(msg.sender, _sellerAddress, _tokenAddress, _finalAmount, _baseFeeAmt);
        return true;   
    }

    
    /**
     * @dev Fallback function configured to accept any ether sent to smart contract
     */
    function () external onlyValidContribution(msg.value) payable {

       revert();
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_transactionChargeReceiver","type":"address"},{"internalType":"address payable","name":"_referralChargeReceiver","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_sellerAddress","type":"address"},{"indexed":true,"internalType":"address","name":"_tokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_pledgedFeePercent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_pledgedFeeDivisor","type":"uint256"}],"name":"AddTokenArtifact","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_caller","type":"address"}],"name":"AuthorizedCaller","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address payable","name":"_transactionChargeReceiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"_transactionChargePercent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_transactionChargeDivisor","type":"uint256"},{"indexed":false,"internalType":"address payable","name":"_referralChargeReceiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"_referralCommissionChargePercent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_referralCommissionChargeDivisor","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_baseFeePercent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_baseFeeDivisor","type":"uint256"}],"name":"ConfigUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_caller","type":"address"}],"name":"DeAuthorizedCaller","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_buyerAddress","type":"address"},{"indexed":true,"internalType":"address","name":"_sellerAddress","type":"address"},{"indexed":true,"internalType":"address","name":"_tokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_feeAmount","type":"uint256"}],"name":"PurchaseToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_referralCommissionChargePercent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_referralCommissionChargeDivisor","type":"uint256"}],"name":"ReferralCommissionConfigUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_transactionChargePercent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_transactionChargeDivisor","type":"uint256"}],"name":"TransactionConfigUpdated","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_exchangeRate","type":"uint256"},{"internalType":"uint256","name":"_pledgedFeePercent","type":"uint256"},{"internalType":"uint256","name":"_pledgedFeeDivisor","type":"uint256"}],"name":"addTokenArtifact","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_caller","type":"address"}],"name":"authorizeCaller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_caller","type":"address"}],"name":"deAuthorizeCaller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getConfig","outputs":[{"internalType":"address","name":"_transactionChargeReceiver","type":"address"},{"internalType":"uint256","name":"_transactionChargePercent","type":"uint256"},{"internalType":"uint256","name":"_transactionChargeDivisor","type":"uint256"},{"internalType":"address","name":"_referralChargeReceiver","type":"address"},{"internalType":"uint256","name":"_referralCommissionChargePercent","type":"uint256"},{"internalType":"uint256","name":"_referralCommissionChargeDivisor","type":"uint256"},{"internalType":"uint256","name":"_baseFeePercent","type":"uint256"},{"internalType":"uint256","name":"_baseFeeDivisor","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_sellerAddress","type":"address"},{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"bool","name":"_isReferredBuyer","type":"bool"}],"name":"purchaseToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"tokenLedger","outputs":[{"internalType":"uint256","name":"totalSold","type":"uint256"},{"internalType":"uint256","name":"exchangeRate","type":"uint256"},{"internalType":"contract ERC20","name":"targetToken","type":"address"},{"internalType":"uint256","name":"pledgedFeePercent","type":"uint256"},{"internalType":"uint256","name":"pledgedFeeDivisor","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_transactionChargeReceiver","type":"address"},{"internalType":"uint256","name":"_transactionChargePercent","type":"uint256"},{"internalType":"uint256","name":"_transactionChargeDivisor","type":"uint256"},{"internalType":"address payable","name":"_referralChargeReceiver","type":"address"},{"internalType":"uint256","name":"_referralCommissionChargePercent","type":"uint256"},{"internalType":"uint256","name":"_referralCommissionChargeDivisor","type":"uint256"},{"internalType":"uint256","name":"_baseFeePercent","type":"uint256"},{"internalType":"uint256","name":"_baseFeeDivisor","type":"uint256"}],"name":"updateConfig","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051610dbb380380610dbb8339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b031990811633908117821617909155600a80546001600160a01b0394851690831617905560078054939092169216919091179055610d318061008a6000396000f3fe6080604052600436106100865760003560e01c80639d1e62aa116100595780639d1e62aa146101d8578063b4a31d6f1461021d578063b9f283291461028b578063c3f909d4146102c3578063f2fde38b1461032b57610086565b80631bcd250a146100cb5780632c388d5d146101125780633b003ca5146101455780638da5cb5b146101a7575b34600081116100c65760405162461bcd60e51b8152600401808060200182810382526021815260200180610cab6021913960400191505060405180910390fd5b600080fd5b3480156100d757600080fd5b506100fe600480360360208110156100ee57600080fd5b50356001600160a01b0316610360565b604080519115158252519081900360200190f35b34801561011e57600080fd5b506100fe6004803603602081101561013557600080fd5b50356001600160a01b031661040d565b34801561015157600080fd5b506100fe600480360361010081101561016957600080fd5b506001600160a01b03813581169160208101359160408201359160608101359091169060808101359060a08101359060c08101359060e001356104bd565b3480156101b357600080fd5b506101bc6105e6565b604080516001600160a01b039092168252519081900360200190f35b3480156101e457600080fd5b506100fe600480360360808110156101fb57600080fd5b506001600160a01b0381351690602081013590604081013590606001356105f5565b34801561022957600080fd5b506102586004803603604081101561024057600080fd5b506001600160a01b0381358116916020013516610691565b6040805195865260208601949094526001600160a01b039092168484015260608401526080830152519081900360a00190f35b6100fe600480360360608110156102a157600080fd5b506001600160a01b0381358116916020810135909116906040013515156106d1565b3480156102cf57600080fd5b506102d8610b2e565b604080516001600160a01b03998a168152602081019890985287810196909652939096166060860152608085019190915260a084015260c083019390935260e08201929092529051908190036101000190f35b34801561033757600080fd5b5061035e6004803603602081101561034e57600080fd5b50356001600160a01b0316610b61565b005b600080546001600160a01b031633146103b0576040805162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21027bbb732b960991b604482015290519081900360640190fd5b6001600160a01b038216600081815260026020908152604091829020805460ff19169055815192835290517f9e8ca6ff03906e81e8a6a03d4f96b7edb0b97f0ed9d07ef1b699fff6343854969281900390910190a1506001919050565b600080546001600160a01b0316331461045d576040805162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21027bbb732b960991b604482015290519081900360640190fd5b6001600160a01b038216600081815260026020908152604091829020805460ff19166001179055815192835290517f8afeca650897be3183b7c0d24eba96a1b990f75c4bd74a0cfb2c0a71aec48e619281900390910190a1506001919050565b3360009081526002602052604081205460ff161515600114806104ea57506000546001600160a01b031633145b6105255760405162461bcd60e51b8152600401808060200182810382526031815260200180610ccc6031913960400191505060405180910390fd5b60038390556004829055600a80546001600160a01b03808c166001600160a01b0319928316811790935560088b905560098a905560078054918a169190921681179091556005879055600686905560408051928352602083018b90528281018a905260608301919091526080820187905260a0820186905260c0820185905260e08201849052517fb3c29841797cc8f989a9c24fbf268ea410ebffb502dc0062ab7d076bb3534b51918190036101000190a150600198975050505050505050565b6000546001600160a01b031681565b3360008181526001602081815260408084206001600160a01b038a168086529083528185208581559384018990556002840180546001600160a01b03191682179055600384018890556004909301869055805188815291820187905281810186905251929391927f5bff61e502fa1e7c9c91af04d44aeddec36de592166b4723f5eb4c8c2e190e049181900360600190a3506001949350505050565b600160208181526000938452604080852090915291835291208054918101546002820154600383015460049093015491926001600160a01b039091169185565b60006106db610c4b565b506001600160a01b0380851660009081526001602081815260408084208886168552825292839020835160a08101855281548152928101549183018290526002810154909416928201929092526003830154606082015260049092015460808301526107785760405162461bcd60e51b8152600401808060200182810382526027815260200180610c846027913960400191505060405180910390fd5b600081604001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b757600080fd5b505afa1580156107cb573d6000803e3d6000fd5b505050506040513d60208110156107e157600080fd5b505160808301519091506000903490829081908190819061082e9061080d90606463ffffffff610bd216565b60608a0151610822908863ffffffff610bd216565b9063ffffffff610c0216565b9250610840858463ffffffff610c2416565b9350600060095411801561085657506000600854115b15610889576009546108869061087390606463ffffffff610bd216565b600854610822908663ffffffff610bd216565b91505b600060065411801561089d57506000600554115b156108d0576006546108cd906108ba90606463ffffffff610bd216565b600554610822908663ffffffff610bd216565b90505b896108e8576108e5828263ffffffff610c3916565b91505b811561092a57600a546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015610928573d6000803e3d6000fd5b505b801561096c576007546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561096a573d6000803e3d6000fd5b505b6040516001600160a01b038d169085156108fc029086906000818181858888f193505050501580156109a2573d6000803e3d6000fd5b5060208801516109c09061082287600a8b900a63ffffffff610bd216565b955087604001516001600160a01b03166323b872dd8d33896040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015610a4057600080fd5b505af1158015610a54573d6000803e3d6000fd5b50505050610ab68660016000336001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002060000154610c3990919063ffffffff16565b8860000181815250508a6001600160a01b03168c6001600160a01b0316336001600160a01b03167f546859f66e08275a95e20a83042e5a485cb415961d5bc0e5c077107ef90466878987604051808381526020018281526020019250505060405180910390a45060019b9a5050505050505050505050565b600a546008546009546007546005546006546003546004546001600160a01b039788169794909416939091929394959697565b6000546001600160a01b03163314610bb0576040805162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21027bbb732b960991b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082610be157506000610bfc565b82820282848281610bee57fe5b0414610bf957600080fd5b90505b92915050565b6000808211610c1057600080fd5b6000828481610c1b57fe5b04949350505050565b600082821115610c3357600080fd5b50900390565b600082820183811015610bf957600080fd5b6040518060a00160405280600081526020016000815260200160006001600160a01b031681526020016000815260200160008152509056fe45786368616e676520526174652073686f756c642067726561746572207468616e207a65726f2056616c75652073686f756c642062652067726561746572207468616e207a65726f4f6e6c7920417574686f72697a656420616e64204f776e65722063616e20706572666f726d207468697320616374696f6ea265627a7a7231582007e50c63e703974be4d9e104d3b400828be132b44815ac0a08f01349e88c18b464736f6c634300051100320000000000000000000000009d222f983abcebcf814067b964d0e45ea9e3b9da0000000000000000000000009d222f983abcebcf814067b964d0e45ea9e3b9da

Deployed Bytecode

0x6080604052600436106100865760003560e01c80639d1e62aa116100595780639d1e62aa146101d8578063b4a31d6f1461021d578063b9f283291461028b578063c3f909d4146102c3578063f2fde38b1461032b57610086565b80631bcd250a146100cb5780632c388d5d146101125780633b003ca5146101455780638da5cb5b146101a7575b34600081116100c65760405162461bcd60e51b8152600401808060200182810382526021815260200180610cab6021913960400191505060405180910390fd5b600080fd5b3480156100d757600080fd5b506100fe600480360360208110156100ee57600080fd5b50356001600160a01b0316610360565b604080519115158252519081900360200190f35b34801561011e57600080fd5b506100fe6004803603602081101561013557600080fd5b50356001600160a01b031661040d565b34801561015157600080fd5b506100fe600480360361010081101561016957600080fd5b506001600160a01b03813581169160208101359160408201359160608101359091169060808101359060a08101359060c08101359060e001356104bd565b3480156101b357600080fd5b506101bc6105e6565b604080516001600160a01b039092168252519081900360200190f35b3480156101e457600080fd5b506100fe600480360360808110156101fb57600080fd5b506001600160a01b0381351690602081013590604081013590606001356105f5565b34801561022957600080fd5b506102586004803603604081101561024057600080fd5b506001600160a01b0381358116916020013516610691565b6040805195865260208601949094526001600160a01b039092168484015260608401526080830152519081900360a00190f35b6100fe600480360360608110156102a157600080fd5b506001600160a01b0381358116916020810135909116906040013515156106d1565b3480156102cf57600080fd5b506102d8610b2e565b604080516001600160a01b03998a168152602081019890985287810196909652939096166060860152608085019190915260a084015260c083019390935260e08201929092529051908190036101000190f35b34801561033757600080fd5b5061035e6004803603602081101561034e57600080fd5b50356001600160a01b0316610b61565b005b600080546001600160a01b031633146103b0576040805162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21027bbb732b960991b604482015290519081900360640190fd5b6001600160a01b038216600081815260026020908152604091829020805460ff19169055815192835290517f9e8ca6ff03906e81e8a6a03d4f96b7edb0b97f0ed9d07ef1b699fff6343854969281900390910190a1506001919050565b600080546001600160a01b0316331461045d576040805162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21027bbb732b960991b604482015290519081900360640190fd5b6001600160a01b038216600081815260026020908152604091829020805460ff19166001179055815192835290517f8afeca650897be3183b7c0d24eba96a1b990f75c4bd74a0cfb2c0a71aec48e619281900390910190a1506001919050565b3360009081526002602052604081205460ff161515600114806104ea57506000546001600160a01b031633145b6105255760405162461bcd60e51b8152600401808060200182810382526031815260200180610ccc6031913960400191505060405180910390fd5b60038390556004829055600a80546001600160a01b03808c166001600160a01b0319928316811790935560088b905560098a905560078054918a169190921681179091556005879055600686905560408051928352602083018b90528281018a905260608301919091526080820187905260a0820186905260c0820185905260e08201849052517fb3c29841797cc8f989a9c24fbf268ea410ebffb502dc0062ab7d076bb3534b51918190036101000190a150600198975050505050505050565b6000546001600160a01b031681565b3360008181526001602081815260408084206001600160a01b038a168086529083528185208581559384018990556002840180546001600160a01b03191682179055600384018890556004909301869055805188815291820187905281810186905251929391927f5bff61e502fa1e7c9c91af04d44aeddec36de592166b4723f5eb4c8c2e190e049181900360600190a3506001949350505050565b600160208181526000938452604080852090915291835291208054918101546002820154600383015460049093015491926001600160a01b039091169185565b60006106db610c4b565b506001600160a01b0380851660009081526001602081815260408084208886168552825292839020835160a08101855281548152928101549183018290526002810154909416928201929092526003830154606082015260049092015460808301526107785760405162461bcd60e51b8152600401808060200182810382526027815260200180610c846027913960400191505060405180910390fd5b600081604001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b757600080fd5b505afa1580156107cb573d6000803e3d6000fd5b505050506040513d60208110156107e157600080fd5b505160808301519091506000903490829081908190819061082e9061080d90606463ffffffff610bd216565b60608a0151610822908863ffffffff610bd216565b9063ffffffff610c0216565b9250610840858463ffffffff610c2416565b9350600060095411801561085657506000600854115b15610889576009546108869061087390606463ffffffff610bd216565b600854610822908663ffffffff610bd216565b91505b600060065411801561089d57506000600554115b156108d0576006546108cd906108ba90606463ffffffff610bd216565b600554610822908663ffffffff610bd216565b90505b896108e8576108e5828263ffffffff610c3916565b91505b811561092a57600a546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015610928573d6000803e3d6000fd5b505b801561096c576007546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561096a573d6000803e3d6000fd5b505b6040516001600160a01b038d169085156108fc029086906000818181858888f193505050501580156109a2573d6000803e3d6000fd5b5060208801516109c09061082287600a8b900a63ffffffff610bd216565b955087604001516001600160a01b03166323b872dd8d33896040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015610a4057600080fd5b505af1158015610a54573d6000803e3d6000fd5b50505050610ab68660016000336001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002060000154610c3990919063ffffffff16565b8860000181815250508a6001600160a01b03168c6001600160a01b0316336001600160a01b03167f546859f66e08275a95e20a83042e5a485cb415961d5bc0e5c077107ef90466878987604051808381526020018281526020019250505060405180910390a45060019b9a5050505050505050505050565b600a546008546009546007546005546006546003546004546001600160a01b039788169794909416939091929394959697565b6000546001600160a01b03163314610bb0576040805162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21027bbb732b960991b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082610be157506000610bfc565b82820282848281610bee57fe5b0414610bf957600080fd5b90505b92915050565b6000808211610c1057600080fd5b6000828481610c1b57fe5b04949350505050565b600082821115610c3357600080fd5b50900390565b600082820183811015610bf957600080fd5b6040518060a00160405280600081526020016000815260200160006001600160a01b031681526020016000815260200160008152509056fe45786368616e676520526174652073686f756c642067726561746572207468616e207a65726f2056616c75652073686f756c642062652067726561746572207468616e207a65726f4f6e6c7920417574686f72697a656420616e64204f776e65722063616e20706572666f726d207468697320616374696f6ea265627a7a7231582007e50c63e703974be4d9e104d3b400828be132b44815ac0a08f01349e88c18b464736f6c63430005110032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000009d222f983abcebcf814067b964d0e45ea9e3b9da0000000000000000000000009d222f983abcebcf814067b964d0e45ea9e3b9da

-----Decoded View---------------
Arg [0] : _transactionChargeReceiver (address): 0x9d222f983aBcEbCF814067b964D0e45EA9E3B9da
Arg [1] : _referralChargeReceiver (address): 0x9d222f983aBcEbCF814067b964D0e45EA9E3B9da

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000009d222f983abcebcf814067b964d0e45ea9e3b9da
Arg [1] : 0000000000000000000000009d222f983abcebcf814067b964d0e45ea9e3b9da


Deployed Bytecode Sourcemap

3002:10348:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13296:9;4795:1;4786:6;:10;4778:56;;;;-1:-1:-1;;;4778:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13327:8;;;6526:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6526:191:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6526:191:0;-1:-1:-1;;;;;6526:191:0;;:::i;:::-;;;;;;;;;;;;;;;;;;6201:186;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6201:186:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6201:186:0;-1:-1:-1;;;;;6201:186:0;;:::i;7544:1407::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7544:1407:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;7544:1407:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2054:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2054:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;2054:20:0;;;;;;;;;;;;;;9173:841;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9173:841:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;9173:841:0;;;;;;;;;;;;;;;;;;:::i;3363:72::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3363:72:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3363:72:0;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;3363:72:0;;;;;;;;;;;;;;;;;;;;;;;;10040:3096;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10040:3096:0;;;;;;;;;;;;;;;;;;;:::i;6732:804::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6732:804:0;;;:::i;:::-;;;;-1:-1:-1;;;;;6732:804:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2450:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2450:97:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2450:97:0;-1:-1:-1;;;;;2450:97:0;;:::i;:::-;;6526:191;6595:4;2287:5;;-1:-1:-1;;;;;2287:5:0;2273:10;:19;2265:44;;;;;-1:-1:-1;;;2265:44:0;;;;;;;;;;;;-1:-1:-1;;;2265:44:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6611:25:0;;6639:5;6611:25;;;:16;:25;;;;;;;;;:33;;-1:-1:-1;;6611:33:0;;;6660:27;;;;;;;;;;;;;;;;;-1:-1:-1;6705:4:0;6526:191;;;:::o;6201:186::-;6268:4;2287:5;;-1:-1:-1;;;;;2287:5:0;2273:10;:19;2265:44;;;;;-1:-1:-1;;;2265:44:0;;;;;;;;;;;;-1:-1:-1;;;2265:44:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6284:25:0;;;;;;:16;:25;;;;;;;;;:32;;-1:-1:-1;;6284:32:0;6312:4;6284:32;;;6332:25;;;;;;;;;;;;;;;;;-1:-1:-1;6375:4:0;6201:186;;;:::o;7544:1407::-;4469:10;7965:4;4452:28;;;:16;:28;;;;;;;;:36;;:28;:36;;:59;;-1:-1:-1;4506:5:0;;-1:-1:-1;;;;;4506:5:0;4492:10;:19;4452:59;4444:120;;;;-1:-1:-1;;;4444:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:14;:32;;;8057:14;:32;;;8135:25;:54;;-1:-1:-1;;;;;8135:54:0;;;-1:-1:-1;;;;;;8135:54:0;;;;;;;;8200:24;:52;;;8263:24;:52;;;8354:22;:48;;;;;;;;;;;;;;8413:31;:66;;;8490:31;:66;;;8582:337;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8135:54;8582:337;;;-1:-1:-1;8939:4:0;7544:1407;;;;;;;;;;:::o;2054:20::-;;;-1:-1:-1;;;;;2054:20:0;;:::o;9173:841::-;9388:10;9354:4;9376:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9376:38:0;;;;;;;;;;;:53;;;9441:51;;;:68;;;9521:50;;;:74;;-1:-1:-1;;;;;;9521:74:0;;;;;9617:56;;;:77;;;9705:56;;;;:77;;;9808:176;;;;;;;;;;;;;;;;;;9354:4;;9376:38;;9808:176;;;;;;;;;-1:-1:-1;10002:4:0;9173:841;;;;;;:::o;3363:72::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3363:72:0;;;;;:::o;10040:3096::-;10194:4;10227:41;;:::i;:::-;-1:-1:-1;;;;;;10271:27:0;;;;;;;:11;:27;;;;;;;;:42;;;;;;;;;;;10227:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10334:89;;;;-1:-1:-1;;;10334:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10514:31;10556:20;:32;;;-1:-1:-1;;;;;10556:41:0;;:43;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10556:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10556:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10556:43:0;11033:38;;;;10556:43;;-1:-1:-1;10611:20:0;;10719:9;;10611:20;;;;;;;;10971:110;;11033:47;;11076:3;11033:47;:42;:47;:::i;:::-;10971:38;;;;:57;;11014:13;10971:57;:42;:57;:::i;:::-;:61;:110;:61;:110;:::i;:::-;10957:124;-1:-1:-1;11113:30:0;:13;10957:124;11113:30;:17;:30;:::i;:::-;11092:51;;11205:1;11178:24;;:28;:60;;;;;11237:1;11210:24;;:28;11178:60;11174:290;;;11393:24;;11329:112;;11393:33;;11422:3;11393:33;:28;:33;:::i;:::-;11329:24;;:41;;11358:11;11329:41;:28;:41;:::i;:112::-;11314:127;;11174:290;11513:1;11479:31;;:35;:87;;;;;11565:1;11531:31;;:35;11479:87;11476:270;;;11689:31;;11600:130;;11689:40;;11725:3;11689:40;:35;:40;:::i;:::-;11600:31;;:66;;11654:11;11600:66;:53;:66;:::i;:130::-;11582:148;;11476:270;11837:25;11819:215;;11968:33;:12;11985:15;11968:33;:16;:33;:::i;:::-;11953:48;;11819:215;12104:16;;12100:97;;12137:25;;:48;;-1:-1:-1;;;;;12137:25:0;;;;:48;;;;;12172:12;;12137:25;:48;:25;:48;12172:12;12137:25;:48;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12137:48:0;12100:97;12263:19;;12259:100;;12299:22;;:48;;-1:-1:-1;;;;;12299:22:0;;;;:48;;;;;12331:15;;12299:22;:48;:22;:48;12331:15;12299:22;:48;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12299:48:0;12259:100;12446:43;;-1:-1:-1;;;;;12446:23:0;;;:43;;;;;12470:18;;12446:43;;;;12470:18;12446:23;:43;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;12634:33:0;;;;12581:87;;:48;:13;12599:2;:29;;;12581:48;:17;:48;:::i;:87::-;12566:102;;12742:20;:32;;;-1:-1:-1;;;;;12742:45:0;;12788:14;12803:10;12814:12;12742:85;;;;;;;;;;;;;-1:-1:-1;;;;;12742:85:0;-1:-1:-1;;;;;12742:85:0;;;;;;-1:-1:-1;;;;;12742:85:0;-1:-1:-1;;;;;12742:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12742:85:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12742:85:0;;;;12908:66;12961:12;12908:11;:23;12920:10;-1:-1:-1;;;;;12908:23:0;-1:-1:-1;;;;;12908:23:0;;;;;;;;;;;;:38;12932:13;-1:-1:-1;;;;;12908:38:0;-1:-1:-1;;;;;12908:38:0;;;;;;;;;;;;:48;;;:52;;:66;;;;:::i;:::-;12875:20;:30;;:99;;;;;13062:13;-1:-1:-1;;;;;13020:83:0;13046:14;-1:-1:-1;;;;;13020:83:0;13034:10;-1:-1:-1;;;;;13020:83:0;;13077:12;13091:11;13020:83;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13121:4:0;;10040:3096;-1:-1:-1;;;;;;;;;;;10040:3096:0:o;6732:804::-;7227:25;;7267:24;;7306;;7345:22;;7382:31;;7428;;7474:14;;7503;;-1:-1:-1;;;;;7227:25:0;;;;7345:22;;;;;6732:804;;;;;;;;:::o;2450:97::-;2287:5;;-1:-1:-1;;;;;2287:5:0;2273:10;:19;2265:44;;;;;-1:-1:-1;;;2265:44:0;;;;;;;;;;;;-1:-1:-1;;;2265:44:0;;;;;;;;;;;;;;;2523:5;:16;;-1:-1:-1;;;;;;2523:16:0;-1:-1:-1;;;;;2523:16:0;;;;;;;;;;2450:97::o;274:433::-;332:7;576:6;572:47;;-1:-1:-1;606:1:0;599:8;;572:47;643:5;;;647:1;643;:5;:1;667:5;;;;;:10;659:19;;;;;;698:1;-1:-1:-1;274:433:0;;;;;:::o;842:303::-;900:7;999:1;995;:5;987:14;;;;;;1012:9;1028:1;1024;:5;;;;;;;842:303;-1:-1:-1;;;;842:303:0:o;1283:150::-;1341:7;1374:1;1369;:6;;1361:15;;;;;;-1:-1:-1;1399:5:0;;;1283:150::o;1521:::-;1579:7;1611:5;;;1635:6;;;;1627:15;;;;;3002:10348;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3002:10348:0;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://07e50c63e703974be4d9e104d3b400828be132b44815ac0a08f01349e88c18b4

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.