ETH Price: $2,730.93 (-4.28%)

Contract

0x99A1350F5cE2290Ca375Fa9eCA87e180fDC4Af2A
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Send Eth124340532021-05-14 18:05:561364 days ago1621015556IN
0x99A1350F...0fDC4Af2A
0 ETH0.00528104111
Swap123422482021-04-30 13:56:171378 days ago1619790977IN
0x99A1350F...0fDC4Af2A
0.08159999 ETH0.0032979937.00000381
Swap123159822021-04-26 12:42:451382 days ago1619440965IN
0x99A1350F...0fDC4Af2A
1 ETH0.0044573550
Swap121868392021-04-06 14:58:511402 days ago1617721131IN
0x99A1350F...0fDC4Af2A
0.01 ETH0.01671229204.00000145
Send Eth120174462021-03-11 13:07:151428 days ago1615468035IN
0x99A1350F...0fDC4Af2A
0 ETH0.00459796106
Swap120140472021-03-11 0:24:081429 days ago1615422248IN
0x99A1350F...0fDC4Af2A
0.02413457 ETH0.00936985130.8
Swap120136552021-03-10 22:57:521429 days ago1615417072IN
0x99A1350F...0fDC4Af2A
0.035 ETH0.0081890994
Swap120015372021-03-09 2:07:121431 days ago1615255632IN
0x99A1350F...0fDC4Af2A
0.5 ETH0.01402599161
Send Eth119535222021-03-01 16:56:251438 days ago1614617785IN
0x99A1350F...0fDC4Af2A
0 ETH0.00702707162
Swap119376672021-02-27 6:11:171441 days ago1614406277IN
0x99A1350F...0fDC4Af2A
0.82762025 ETH0.0084492897
Send Eth119148592021-02-23 17:59:301444 days ago1614103170IN
0x99A1350F...0fDC4Af2A
0 ETH0.00737409170
Swap119111492021-02-23 4:32:321445 days ago1614054752IN
0x99A1350F...0fDC4Af2A
0.00342055 ETH0.01431703212.40000175
Swap118719342021-02-17 3:44:301451 days ago1613533470IN
0x99A1350F...0fDC4Af2A
1.09577689 ETH0.0071926983
Swap118629762021-02-15 18:26:001452 days ago1613413560IN
0x99A1350F...0fDC4Af2A
0.21262523 ETH0.00795148111
Send Eth118616942021-02-15 13:49:461452 days ago1613396986IN
0x99A1350F...0fDC4Af2A
0 ETH0.00485822112
Swap118611552021-02-15 11:44:331452 days ago1613389473IN
0x99A1350F...0fDC4Af2A
0.06878503 ETH0.0058892288
Swap118607852021-02-15 10:22:121452 days ago1613384532IN
0x99A1350F...0fDC4Af2A
0.06878503 ETH0.0074549991
Swap118607022021-02-15 10:04:571452 days ago1613383497IN
0x99A1350F...0fDC4Af2A
0.00066304 ETH0.01081204124.8
Swap118547802021-02-14 12:21:451453 days ago1613305305IN
0x99A1350F...0fDC4Af2A
1.52163918 ETH0.00916884136
Swap118526162021-02-14 4:21:501454 days ago1613276510IN
0x99A1350F...0fDC4Af2A
0.36125983 ETH0.01065155130
Swap118502352021-02-13 19:43:081454 days ago1613245388IN
0x99A1350F...0fDC4Af2A
0.4 ETH0.01564958191
Swap118459052021-02-13 3:26:341455 days ago1613186794IN
0x99A1350F...0fDC4Af2A
0.65 ETH0.01190145165
Swap118359972021-02-11 15:04:081456 days ago1613055848IN
0x99A1350F...0fDC4Af2A
0.12 ETH0.00981563137
Swap118204052021-02-09 5:41:561459 days ago1612849316IN
0x99A1350F...0fDC4Af2A
0.53872448 ETH0.01137368138
Send Eth117908162021-02-04 16:14:541463 days ago1612455294IN
0x99A1350F...0fDC4Af2A
0 ETH0.00824163190
View all transactions

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
124340532021-05-14 18:05:561364 days ago1621015556
0x99A1350F...0fDC4Af2A
1.09159999 ETH
120174462021-03-11 13:07:151428 days ago1615468035
0x99A1350F...0fDC4Af2A
0.55913457 ETH
119535222021-03-01 16:56:251438 days ago1614617785
0x99A1350F...0fDC4Af2A
0.82762025 ETH
119148592021-02-23 17:59:301444 days ago1614103170
0x99A1350F...0fDC4Af2A
1.31182267 ETH
118616942021-02-15 13:49:461452 days ago1613396986
0x99A1350F...0fDC4Af2A
3.72985659 ETH
117908162021-02-04 16:14:541463 days ago1612455294
0x99A1350F...0fDC4Af2A
3.66843338 ETH
117259352021-01-25 16:24:541473 days ago1611591894
0x99A1350F...0fDC4Af2A
15.94742708 ETH
117059732021-01-22 15:00:021476 days ago1611327602
0x99A1350F...0fDC4Af2A
70.51510406 ETH
116807942021-01-18 18:14:081480 days ago1610993648
0x99A1350F...0fDC4Af2A
5.39916965 ETH
116623412021-01-15 22:07:271483 days ago1610748447
0x99A1350F...0fDC4Af2A
4.25136295 ETH
116611552021-01-15 17:41:091483 days ago1610732469
0x99A1350F...0fDC4Af2A
40.9109585 ETH
116556002021-01-14 21:23:341484 days ago1610659414
0x99A1350F...0fDC4Af2A
72.53773723 ETH
116342722021-01-11 14:48:421487 days ago1610376522
0x99A1350F...0fDC4Af2A
275.71389761 ETH
115521022020-12-30 0:29:061500 days ago1609288146
0x99A1350F...0fDC4Af2A
0.0013 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Swapper

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 10000 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: SwapperSimple.sol
// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.6.12;

import "SwapperSimpleBase.sol";
import "SwapPriceCalculatorInterface.sol";

contract Swapper
{
    using SafeMath for uint256;
    
    address private admin;
    IERC20 private token;
    ISwapPriceCalculator private priceCalculator;
    
    uint256 private ethReserve;
    uint256 private ethReserveTaken;
    uint256 private ethFee;
    uint256 private ethFeeTaken;
    uint256 private tokensSold;
    
    string private constant ERR_MSG_SENDER = "ERR_MSG_SENDER";
    string private constant ERR_AMOUNT = "ERR_AMOUNT";
    string private constant ERR_ZERO_ETH = "ERR_ZERO_ETH";
    
    event Swap(uint256 receivedEth,
               uint256 expectedTokens,
               uint16 slippage,
               uint256 ethFeeAdd,
               uint256 actualTokens,
               uint256 tokensSold);
    
    // constructor:
    //--------------------------------------------------------------------------------------------------------------------------
    constructor(address _admin, address _token, address _priceCalculator) public
    {
        admin = _admin;
        token = IERC20(_token);
        priceCalculator = ISwapPriceCalculator(_priceCalculator);
    }
    
    function getAdmin() external view returns (address)
    {
        return admin;
    }
    
    function getToken() external view returns (address)
    {
        return address(token);
    }
    //--------------------------------------------------------------------------------------------------------------------------
    
    // ETH balance methods:
    //--------------------------------------------------------------------------------------------------------------------------
    function getTotalEthBalance() external view returns (uint256)
    {
        return address(this).balance;
    }
    
    function sendEth(address payable _to) external returns (uint256 ethReserveTaken_, uint256 ethFeeTaken_)
    {
        require(msg.sender == admin, ERR_MSG_SENDER);
        
        _to.transfer(address(this).balance);
        
        ethReserveTaken_ = ethReserve - ethReserveTaken;
        ethFeeTaken_ = ethFee - ethFeeTaken;
        
        ethReserveTaken = ethReserve;
        ethFeeTaken = ethFee;
    }
    //--------------------------------------------------------------------------------------------------------------------------
    
    // Tokens balance methods:
    //--------------------------------------------------------------------------------------------------------------------------
    function getTotalTokensBalance() external view returns (uint256)
    {
        return token.balanceOf(address(this));
    }
    
    function sendTokens(address _to, uint256 _amount) external
    {
        require(msg.sender == admin, ERR_MSG_SENDER);
        
        if(_amount == 0)
        {
            token.transfer(_to, token.balanceOf(address(this)));
        }
        else
        {
            token.transfer(_to, _amount);
        }
    }
    //--------------------------------------------------------------------------------------------------------------------------
    
    // Price calculator:
    //--------------------------------------------------------------------------------------------------------------------------
    function getPriceCalculator() external view returns (address)
    {
        return address(priceCalculator);
    }
    
    function setPriceCalculator(address _priceCalculator) external
    {
        require(msg.sender == admin, ERR_MSG_SENDER);
        
        priceCalculator = ISwapPriceCalculator(_priceCalculator);
    }
    
    function calcPrice(uint256 _ethAmount, bool _excludeFee) external view returns (uint256, uint256, uint256)
    {
        require(_ethAmount > 0, ERR_ZERO_ETH);
        
        return priceCalculator.calc(_ethAmount, 0, 0, ethReserve, tokensSold, _excludeFee);
    }
    //--------------------------------------------------------------------------------------------------------------------------
    
    // Current state:
    //--------------------------------------------------------------------------------------------------------------------------
    function getState() external view returns (uint256 ethReserve_,
                                               uint256 ethReserveTaken_,
                                               uint256 ethFee_,
                                               uint256 ethFeeTaken_,
                                               uint256 tokensSold_)
    {
        ethReserve_ = ethReserve;
        ethReserveTaken_ = ethReserveTaken;
        ethFee_ = ethFee;
        ethFeeTaken_ = ethFeeTaken;
        tokensSold_ = tokensSold;
    }
    //--------------------------------------------------------------------------------------------------------------------------
    
    // Swap logic methods:
    //--------------------------------------------------------------------------------------------------------------------------
    function swap(uint256 _expectedTokensAmount, uint16 _slippage, bool _excludeFee) external payable
    {
        require(msg.value > 0, ERR_ZERO_ETH);
        require(_expectedTokensAmount > 0, "ERR_ZERO_EXP_AMOUNT");
        require(_slippage <= 500, "ERR_SLIPPAGE_TOO_BIG");
        
        (uint256 actualTokensAmount, uint256 ethFeeAdd, uint256 actualEthAmount)
            = priceCalculator.calc(msg.value, _expectedTokensAmount, _slippage, ethReserve, tokensSold, _excludeFee);
            
        require(actualTokensAmount > 0, "ERR_ZERO_ACTUAL_TOKENS");
        require(msg.value == actualEthAmount, "ERR_WRONG_ETH_AMOUNT");
        
        ethFee = ethFee.add(ethFeeAdd);
        ethReserve = ethReserve.add(msg.value.sub(ethFeeAdd));
        tokensSold = tokensSold.add(actualTokensAmount);
        
        token.transfer(msg.sender, actualTokensAmount);
     
        emit Swap(msg.value, _expectedTokensAmount, _slippage, ethFeeAdd, actualTokensAmount, tokensSold);
    }
    //--------------------------------------------------------------------------------------------------------------------------
}

File 2 of 3: SwapperSimpleBase.sol
// SPDX-License-Identifier: UNLICENSED

pragma solidity >=0.6.0 <0.8.0; // use 0.6.12 to compile this file

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot 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-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: 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
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 3 of 3: SwapPriceCalculatorInterface.sol
// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.6.12;

interface ISwapPriceCalculator
{
    function calc(uint256 receivedEthAmount,
                  uint256 expectedTokensAmount,
                  uint16  slippage,
                  uint256 ethReserve,
                  uint256 tokensSold,
                  bool 	  excludeFee) external view returns (uint256 actualTokensAmount,
															 uint256 ethFeeAdd,
															 uint256 actualEthAmount);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_priceCalculator","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"receivedEth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"expectedTokens","type":"uint256"},{"indexed":false,"internalType":"uint16","name":"slippage","type":"uint16"},{"indexed":false,"internalType":"uint256","name":"ethFeeAdd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"actualTokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensSold","type":"uint256"}],"name":"Swap","type":"event"},{"inputs":[{"internalType":"uint256","name":"_ethAmount","type":"uint256"},{"internalType":"bool","name":"_excludeFee","type":"bool"}],"name":"calcPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPriceCalculator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getState","outputs":[{"internalType":"uint256","name":"ethReserve_","type":"uint256"},{"internalType":"uint256","name":"ethReserveTaken_","type":"uint256"},{"internalType":"uint256","name":"ethFee_","type":"uint256"},{"internalType":"uint256","name":"ethFeeTaken_","type":"uint256"},{"internalType":"uint256","name":"tokensSold_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalEthBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalTokensBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"}],"name":"sendEth","outputs":[{"internalType":"uint256","name":"ethReserveTaken_","type":"uint256"},{"internalType":"uint256","name":"ethFeeTaken_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"sendTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_priceCalculator","type":"address"}],"name":"setPriceCalculator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_expectedTokensAmount","type":"uint256"},{"internalType":"uint16","name":"_slippage","type":"uint16"},{"internalType":"bool","name":"_excludeFee","type":"bool"}],"name":"swap","outputs":[],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b5060405161111e38038061111e8339818101604052606081101561003357600080fd5b5080516020820151604090920151600080546001600160a01b039384166001600160a01b031991821617909155600180549484169482169490941790935560028054929091169190921617905561108f8061008f6000396000f3fe6080604052600436106100bc5760003560e01c80636922d7b61161007457806376a54c601161004e57806376a54c6014610247578063916efaaf146102a0578063d4d5b1b1146102b5576100bc565b80636922d7b6146101dd5780636e9960c31461021d5780636f36e56a14610232576100bc565b806321df0da7116100a557806321df0da714610149578063287cc96b146101875780634fb1bf4c146101ae576100bc565b806305ab421d146100c15780631865c57d14610109575b600080fd5b3480156100cd57600080fd5b50610107600480360360408110156100e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610305565b005b34801561011557600080fd5b5061011e6105f6565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561015557600080fd5b5061015e610610565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561019357600080fd5b5061019c61062c565b60408051918252519081900360200190f35b610107600480360360608110156101c457600080fd5b5080359061ffff60208201351690604001351515610630565b3480156101e957600080fd5b506101076004803603602081101561020057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ab1565b34801561022957600080fd5b5061015e610bae565b34801561023e57600080fd5b5061015e610bca565b34801561025357600080fd5b506102876004803603602081101561026a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610be6565b6040805192835260208301919091528051918290030190f35b3480156102ac57600080fd5b5061019c610d04565b3480156102c157600080fd5b506102e7600480360360408110156102d857600080fd5b50803590602001351515610da6565b60408051938452602084019290925282820152519081900360600190f35b60005460408051808201909152600e81527f4552525f4d53475f53454e44455200000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff1633146103f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103bc5781810151838201526020016103a4565b50505050905090810190601f1680156103e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508061054957600154604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163a9059cbb91859184916370a08231916024808301926020929190829003018186803b15801561047757600080fd5b505afa15801561048b573d6000803e3d6000fd5b505050506040513d60208110156104a157600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091525160448083019260209291908290030181600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050506040513d602081101561054157600080fd5b506105f29050565b600154604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156105c557600080fd5b505af11580156105d9573d6000803e3d6000fd5b505050506040513d60208110156105ef57600080fd5b50505b5050565b600354600454600554600654600754939492939192909190565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b4790565b60408051808201909152600c81527f4552525f5a45524f5f45544800000000000000000000000000000000000000006020820152346106ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b506000831161073a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4552525f5a45524f5f4558505f414d4f554e5400000000000000000000000000604482015290519081900360640190fd5b6101f48261ffff1611156107af57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4552525f534c4950504147455f544f4f5f424947000000000000000000000000604482015290519081900360640190fd5b600254600354600754604080517f72b5e81f0000000000000000000000000000000000000000000000000000000081523460048201526024810188905261ffff871660448201526064810193909352608483019190915283151560a4830152516000928392839273ffffffffffffffffffffffffffffffffffffffff909216916372b5e81f9160c480820192606092909190829003018186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d606081101561087f57600080fd5b508051602082015160409092015190945090925090508261090157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552525f5a45524f5f41435455414c5f544f4b454e5300000000000000000000604482015290519081900360640190fd5b80341461096f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4552525f57524f4e475f4554485f414d4f554e54000000000000000000000000604482015290519081900360640190fd5b60055461097c9083610f2d565b60055561099561098c3484610fa8565b60035490610f2d565b6003556007546109a59084610f2d565b600755600154604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815233600482015260248101869052905173ffffffffffffffffffffffffffffffffffffffff9092169163a9059cbb916044808201926020929091908290030181600087803b158015610a2257600080fd5b505af1158015610a36573d6000803e3d6000fd5b505050506040513d6020811015610a4c57600080fd5b5050600754604080513481526020810189905261ffff881681830152606081018590526080810186905260a0810192909252517f02b3b3e8d1a49a602813b09da25ec1dfbfd741df61c5297a3868b9cc556e73389181900360c00190a1505050505050565b60005460408051808201909152600e81527f4552525f4d53475f53454e44455200000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff163314610b66576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b50600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b6000805460408051808201909152600e81527f4552525f4d53475f53454e4445520000000000000000000000000000000000006020820152829173ffffffffffffffffffffffffffffffffffffffff163314610c9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b5060405173ffffffffffffffffffffffffffffffffffffffff8416904780156108fc02916000818181858888f19350505050158015610ce0573d6000803e3d6000fd5b50506004805460035460068054600554948390559084905591900394910392509050565b600154604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015610d7557600080fd5b505afa158015610d89573d6000803e3d6000fd5b505050506040513d6020811015610d9f57600080fd5b5051905090565b60008060008085116040518060400160405280600c81526020017f4552525f5a45524f5f455448000000000000000000000000000000000000000081525090610e4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b50600254600354600754604080517f72b5e81f000000000000000000000000000000000000000000000000000000008152600481018a905260006024820181905260448201526064810193909352608483019190915286151560a48301525173ffffffffffffffffffffffffffffffffffffffff909216916372b5e81f9160c480820192606092909190829003018186803b158015610ee857600080fd5b505afa158015610efc573d6000803e3d6000fd5b505050506040513d6060811015610f1257600080fd5b50805160208201516040909201519097919650945092505050565b600082820183811015610fa157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000610fa183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115611051576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b50505090039056fea26469706673582212200426d78ac6a23aa062cd079d4ed35a710dabad99828b573d712b49470b3f080f64736f6c634300060c003300000000000000000000000027c79ac9f179380ef836c4151754337ecff53b7a000000000000000000000000b0dfce22af9d6ded6a2d2e83a7ecd2bd9f08d5960000000000000000000000008c3f2be95cbda68031c79409de5c0a597fe028da

Deployed Bytecode

0x6080604052600436106100bc5760003560e01c80636922d7b61161007457806376a54c601161004e57806376a54c6014610247578063916efaaf146102a0578063d4d5b1b1146102b5576100bc565b80636922d7b6146101dd5780636e9960c31461021d5780636f36e56a14610232576100bc565b806321df0da7116100a557806321df0da714610149578063287cc96b146101875780634fb1bf4c146101ae576100bc565b806305ab421d146100c15780631865c57d14610109575b600080fd5b3480156100cd57600080fd5b50610107600480360360408110156100e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610305565b005b34801561011557600080fd5b5061011e6105f6565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561015557600080fd5b5061015e610610565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561019357600080fd5b5061019c61062c565b60408051918252519081900360200190f35b610107600480360360608110156101c457600080fd5b5080359061ffff60208201351690604001351515610630565b3480156101e957600080fd5b506101076004803603602081101561020057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ab1565b34801561022957600080fd5b5061015e610bae565b34801561023e57600080fd5b5061015e610bca565b34801561025357600080fd5b506102876004803603602081101561026a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610be6565b6040805192835260208301919091528051918290030190f35b3480156102ac57600080fd5b5061019c610d04565b3480156102c157600080fd5b506102e7600480360360408110156102d857600080fd5b50803590602001351515610da6565b60408051938452602084019290925282820152519081900360600190f35b60005460408051808201909152600e81527f4552525f4d53475f53454e44455200000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff1633146103f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103bc5781810151838201526020016103a4565b50505050905090810190601f1680156103e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508061054957600154604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163a9059cbb91859184916370a08231916024808301926020929190829003018186803b15801561047757600080fd5b505afa15801561048b573d6000803e3d6000fd5b505050506040513d60208110156104a157600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091525160448083019260209291908290030181600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050506040513d602081101561054157600080fd5b506105f29050565b600154604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156105c557600080fd5b505af11580156105d9573d6000803e3d6000fd5b505050506040513d60208110156105ef57600080fd5b50505b5050565b600354600454600554600654600754939492939192909190565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b4790565b60408051808201909152600c81527f4552525f5a45524f5f45544800000000000000000000000000000000000000006020820152346106ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b506000831161073a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4552525f5a45524f5f4558505f414d4f554e5400000000000000000000000000604482015290519081900360640190fd5b6101f48261ffff1611156107af57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4552525f534c4950504147455f544f4f5f424947000000000000000000000000604482015290519081900360640190fd5b600254600354600754604080517f72b5e81f0000000000000000000000000000000000000000000000000000000081523460048201526024810188905261ffff871660448201526064810193909352608483019190915283151560a4830152516000928392839273ffffffffffffffffffffffffffffffffffffffff909216916372b5e81f9160c480820192606092909190829003018186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d606081101561087f57600080fd5b508051602082015160409092015190945090925090508261090157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552525f5a45524f5f41435455414c5f544f4b454e5300000000000000000000604482015290519081900360640190fd5b80341461096f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4552525f57524f4e475f4554485f414d4f554e54000000000000000000000000604482015290519081900360640190fd5b60055461097c9083610f2d565b60055561099561098c3484610fa8565b60035490610f2d565b6003556007546109a59084610f2d565b600755600154604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815233600482015260248101869052905173ffffffffffffffffffffffffffffffffffffffff9092169163a9059cbb916044808201926020929091908290030181600087803b158015610a2257600080fd5b505af1158015610a36573d6000803e3d6000fd5b505050506040513d6020811015610a4c57600080fd5b5050600754604080513481526020810189905261ffff881681830152606081018590526080810186905260a0810192909252517f02b3b3e8d1a49a602813b09da25ec1dfbfd741df61c5297a3868b9cc556e73389181900360c00190a1505050505050565b60005460408051808201909152600e81527f4552525f4d53475f53454e44455200000000000000000000000000000000000060208201529073ffffffffffffffffffffffffffffffffffffffff163314610b66576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b50600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b6000805460408051808201909152600e81527f4552525f4d53475f53454e4445520000000000000000000000000000000000006020820152829173ffffffffffffffffffffffffffffffffffffffff163314610c9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b5060405173ffffffffffffffffffffffffffffffffffffffff8416904780156108fc02916000818181858888f19350505050158015610ce0573d6000803e3d6000fd5b50506004805460035460068054600554948390559084905591900394910392509050565b600154604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015610d7557600080fd5b505afa158015610d89573d6000803e3d6000fd5b505050506040513d6020811015610d9f57600080fd5b5051905090565b60008060008085116040518060400160405280600c81526020017f4552525f5a45524f5f455448000000000000000000000000000000000000000081525090610e4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b50600254600354600754604080517f72b5e81f000000000000000000000000000000000000000000000000000000008152600481018a905260006024820181905260448201526064810193909352608483019190915286151560a48301525173ffffffffffffffffffffffffffffffffffffffff909216916372b5e81f9160c480820192606092909190829003018186803b158015610ee857600080fd5b505afa158015610efc573d6000803e3d6000fd5b505050506040513d6060811015610f1257600080fd5b50805160208201516040909201519097919650945092505050565b600082820183811015610fa157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000610fa183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115611051576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156103bc5781810151838201526020016103a4565b50505090039056fea26469706673582212200426d78ac6a23aa062cd079d4ed35a710dabad99828b573d712b49470b3f080f64736f6c634300060c0033

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

00000000000000000000000027c79ac9f179380ef836c4151754337ecff53b7a000000000000000000000000b0dfce22af9d6ded6a2d2e83a7ecd2bd9f08d5960000000000000000000000008c3f2be95cbda68031c79409de5c0a597fe028da

-----Decoded View---------------
Arg [0] : _admin (address): 0x27c79aC9f179380Ef836C4151754337EcfF53b7A
Arg [1] : _token (address): 0xB0dfcE22aF9d6Ded6A2d2E83a7EcD2BD9f08d596
Arg [2] : _priceCalculator (address): 0x8C3f2be95cBdA68031C79409De5c0a597Fe028DA

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000027c79ac9f179380ef836c4151754337ecff53b7a
Arg [1] : 000000000000000000000000b0dfce22af9d6ded6a2d2e83a7ecd2bd9f08d596
Arg [2] : 0000000000000000000000008c3f2be95cbda68031c79409de5c0a597fe028da


Deployed Bytecode Sourcemap

148:6143:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2775:330;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2775:330:1;;;;;;;;;:::i;:::-;;4318:534;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1387:97;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1785:114;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5152:1006;;;;;;;;;;;;;;;;-1:-1:-1;5152:1006:1;;;;;;;;;;;;;;;;:::i;3532:208::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3532:208:1;;;;:::i;1287:88::-;;;;;;;;;;;;;:::i;3403:117::-;;;;;;;;;;;;;:::i;1911:422::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1911:422:1;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2637:126;;;;;;;;;;;;;:::i;3752:271::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3752:271:1;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;2775:330;2872:5;;2879:14;;;;;;;;;;;;;;;;;;2872:5;;2858:10;:19;2850:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2918:12:1;2915:183;;2956:5;;2976:30;;;;;;3000:4;2976:30;;;;;;2956:5;;;;;:14;;2971:3;;2956:5;;2976:15;;:30;;;;;;;;;;;;;;2956:5;2976:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2976:30:1;2956:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2976:30;;2956:51;;;;;;;-1:-1:-1;2956:51:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2915:183:1;;-1:-1:-1;2915:183:1;;3058:5;;:28;;;;;;:5;:28;;;;;;;;;;;;;;;:5;;;;;:14;;:28;;;;;;;;;;;;;;:5;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2915:183:1;2775:330;;:::o;4318:534::-;4690:10;;4730:15;;4766:6;;4798:11;;4834:10;;4690;;4730:15;;4766:6;;4798:11;;4834:10;4318:534::o;1387:97::-;1470:5;;;;1387:97;:::o;1785:114::-;1870:21;1785:114;:::o;5152:1006::-;5289:12;;;;;;;;;;;;;;;;;5274:9;5266:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5345:1;5321:21;:25;5313:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5402:3;5389:9;:16;;;;5381:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5539:15;;5605:10;;5617;;5539:102;;;;;;5560:9;5539:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5452:26;;;;;;5539:15;;;;;:20;;:102;;;;;;;;;;;;;;;:15;:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5539:102:1;;;;;;;;;;;;;-1:-1:-1;5539:102:1;;-1:-1:-1;5539:102:1;-1:-1:-1;5674:22:1;5666:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5755:15;5742:9;:28;5734:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5825:6;;:21;;5836:9;5825:10;:21::i;:::-;5816:6;:30;5870:40;5885:24;:9;5899;5885:13;:24::i;:::-;5870:10;;;:14;:40::i;:::-;5857:10;:53;5934:10;;:34;;5949:18;5934:14;:34::i;:::-;5921:10;:47;5989:5;;:46;;;;;;6004:10;5989:46;;;;;;;;;;;;:5;;;;;:14;;:46;;;;;;;;;;;;;;;:5;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6139:10:1;;6058:92;;;6063:9;6058:92;;5989:46;6058:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5152:1006;;;;;;:::o;3532:208::-;3633:5;;3640:14;;;;;;;;;;;;;;;;;;3633:5;;3619:10;:19;3611:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3676:15:1;:56;;;;;;;;;;;;;;;3532:208::o;1287:88::-;1330:7;1362:5;;;1287:88;:::o;3403:117::-;3496:15;;;;3403:117;:::o;1911:422::-;1967:24;2053:5;;2060:14;;;;;;;;;;;;;;;;;1967:24;;2053:5;;2039:10;:19;2031:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2096:35:1;;:12;;;;2109:21;2096:35;;;;;;;;;2109:21;2096:12;:35;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2184:15:1;;;2171:10;;2234:11;;;2225:6;;2266:28;;;;2305:20;;;;2171:28;;;;2225:20;;;-1:-1:-1;1911:422:1;-1:-1:-1;1911:422:1:o;2637:126::-;2725:5;;:30;;;;;;2749:4;2725:30;;;;;;2693:7;;2725:5;;;:15;;:30;;;;;;;;;;;;;;:5;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2725:30:1;;-1:-1:-1;2637:126:1;:::o;3752:271::-;3832:7;3841;3850;3896:1;3883:10;:14;3899:12;;;;;;;;;;;;;;;;;3875:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3940:15:1;;3979:10;;3991;;3940:75;;;;;;;;;;;;:15;:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:15;;;;;:20;;:75;;;;;;;;;;;;;;;:15;:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3940:75:1;;;;;;;;;;;;;;;-1:-1:-1;3940:75:1;-1:-1:-1;3752:271:1;-1:-1:-1;;;3752:271:1:o;952:181:2:-;1010:7;1042:5;;;1066:6;;;;1058:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1124:1;952:181;-1:-1:-1;;;952:181:2:o;1416:136::-;1474:7;1501:43;1505:1;1508;1501:43;;;;;;;;;;;;;;;;;1941:7;1977:12;1969:6;;;;1961:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2013:5:2;;;1855:192::o

Swarm Source

ipfs://0426d78ac6a23aa062cd079d4ed35a710dabad99828b573d712b49470b3f080f

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.