ETH Price: $3,290.63 (+1.37%)
Gas: 1 Gwei

Contract

0x0257e647404ebf460266048A2B87ED352fB45c7D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Swap86533162019-10-01 0:34:321762 days ago1569890072IN
0x0257e647...52fB45c7D
0 ETH0.000041381
Swap86531412019-09-30 23:53:571763 days ago1569887637IN
0x0257e647...52fB45c7D
0 ETH0.000056381
Swap86508172019-09-30 15:13:101763 days ago1569856390IN
0x0257e647...52fB45c7D
0 ETH0.000451078
Swap86505262019-09-30 14:16:431763 days ago1569853003IN
0x0257e647...52fB45c7D
0 ETH0.0006207615
Swap86504462019-09-30 13:57:341763 days ago1569851854IN
0x0257e647...52fB45c7D
0 ETH0.0008457615
Swap86503302019-09-30 13:30:311763 days ago1569850231IN
0x0257e647...52fB45c7D
0 ETH0.000281925
Swap86500322019-09-30 12:23:411763 days ago1569846221IN
0x0257e647...52fB45c7D
0 ETH0.000281925
Swap86490692019-09-30 8:37:521763 days ago1569832672IN
0x0257e647...52fB45c7D
0 ETH0.0012968323
Swap86481592019-09-30 5:10:311763 days ago1569820231IN
0x0257e647...52fB45c7D
0 ETH0.0008690621
Swap86480312019-09-30 4:40:461763 days ago1569818446IN
0x0257e647...52fB45c7D
0 ETH0.0011840621
Swap86478342019-09-30 3:51:391763 days ago1569815499IN
0x0257e647...52fB45c7D
0 ETH0.0005638410
Swap86477032019-09-30 3:25:501763 days ago1569813950IN
0x0257e647...52fB45c7D
0 ETH0.0005638410
Swap86465092019-09-29 22:59:311764 days ago1569797971IN
0x0257e647...52fB45c7D
0 ETH0.0005638410
Swap86429342019-09-29 9:44:451764 days ago1569750285IN
0x0257e647...52fB45c7D
0 ETH0.0008457615
Swap86419732019-09-29 5:55:331764 days ago1569736533IN
0x0257e647...52fB45c7D
0 ETH0.0006202211
Swap86377682019-09-28 14:14:341765 days ago1569680074IN
0x0257e647...52fB45c7D
0 ETH0.0009585217
Swap86363722019-09-28 8:58:211765 days ago1569661101IN
0x0257e647...52fB45c7D
0 ETH0.0006202211
Swap86281072019-09-27 1:59:501766 days ago1569549590IN
0x0257e647...52fB45c7D
0 ETH0.0006207615
Swap86239582019-09-26 10:28:541767 days ago1569493734IN
0x0257e647...52fB45c7D
0 ETH0.0006202211
Swap86238192019-09-26 9:56:221767 days ago1569491782IN
0x0257e647...52fB45c7D
0 ETH0.0006202211
Swap86237862019-09-26 9:50:051767 days ago1569491405IN
0x0257e647...52fB45c7D
0 ETH0.0009104422
Swap86237272019-09-26 9:33:251767 days ago1569490405IN
0x0257e647...52fB45c7D
0 ETH0.0006202211
Swap86217472019-09-26 2:02:411767 days ago1569463361IN
0x0257e647...52fB45c7D
0 ETH0.0005638410
Swap86153942019-09-25 2:12:451768 days ago1569377565IN
0x0257e647...52fB45c7D
0 ETH0.0006207615
Swap86152542019-09-25 1:42:121768 days ago1569375732IN
0x0257e647...52fB45c7D
0 ETH0.0008276820
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TokenSwap

Compiler Version
v0.5.2+commit.1df8f40c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-04-12
*/

pragma solidity ^0.5.2;

/**
 * @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;
    }
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
     * @return the address of the owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    /**
     * @return true if `msg.sender` is the owner of the contract.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Allows the current owner to relinquish control of the contract.
     * It will not be possible to call the functions with the `onlyOwner`
     * modifier anymore.
     * @notice Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

/**
 * @title ERC20 interface
 * @dev see https://eips.ethereum.org/EIPS/eip-20
 */
interface IERC20 {
    function transfer(address to, uint256 value) external returns (bool);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(address from, address to, uint256 value) external returns (bool);

    function totalSupply() external view returns (uint256);

    function balanceOf(address who) external view returns (uint256);

    function allowance(address owner, address spender) external view returns (uint256);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract TokenSwap is Ownable {
    using SafeMath for uint256;

    IERC20 private _fromToken;
    IERC20 private _toToken;
    uint256 private _rate;

    event Swap(address indexed sender, uint256 indexed fromTokenAmount, uint256 indexed toTokenAmount);
    event Deactivate(uint256 indexed amount);

    constructor(
        address fromToken,
        address toToken,
        uint256 rate
    ) Ownable() public {
        require(fromToken != address(0x0) && toToken != address(0x0), "token address can not be 0.");
        require(rate > 0, "swap rate can not be 0.");

        _fromToken = IERC20(fromToken);
        _toToken = IERC20(toToken);
        _rate = rate;
    }

    function swap() external returns (bool) {
        uint256 allowance = _fromToken.allowance(msg.sender, address(this));
        require(allowance > 0, "sender need to approve token to swap contract.");

        if (_fromToken.transferFrom(msg.sender, address(0x0), allowance)) {
            // It only works correctly when the rate is 1000. 
            uint256 swappedValue = allowance.add(999);
            swappedValue = swappedValue.div(_rate);

            require(_toToken.transferFrom(Ownable.owner(), msg.sender, swappedValue));

            emit Swap(msg.sender, allowance, swappedValue);
        }

        return true;
    }

    function deactivate() external onlyOwner {
        uint256 reserve = _fromToken.balanceOf(address(this));
        require(_fromToken.transfer(address(0x0), reserve));

        emit Deactivate(reserve);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"deactivate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"swap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"fromToken","type":"address"},{"name":"toToken","type":"address"},{"name":"rate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"fromTokenAmount","type":"uint256"},{"indexed":true,"name":"toTokenAmount","type":"uint256"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"amount","type":"uint256"}],"name":"Deactivate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

608060405234801561001057600080fd5b50604051606080610e4e8339810180604052606081101561003057600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561017b5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15156101ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f746f6b656e20616464726573732063616e206e6f7420626520302e000000000081525060200191505060405180910390fd5b600081111515610267576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f7377617020726174652063616e206e6f7420626520302e00000000000000000081525060200191505060405180910390fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600381905550505050610b4c806103026000396000f3fe608060405234801561001057600080fd5b506004361061007f576000357c01000000000000000000000000000000000000000000000000000000009004806351b42b0014610084578063715018a61461008e5780638119c065146100985780638da5cb5b146100ba5780638f32d59b14610104578063f2fde38b14610126575b600080fd5b61008c61016a565b005b6100966103b3565b005b6100a0610485565b604051808215151515815260200191505060405180910390f35b6100c261090e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61010c610937565b604051808215151515815260200191505060405180910390f35b6101686004803603602081101561013c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098e565b005b610172610937565b151561017d57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561023a57600080fd5b505afa15801561024e573d6000803e3d6000fd5b505050506040513d602081101561026457600080fd5b81019080805190602001909291905050509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561033d57600080fd5b505af1158015610351573d6000803e3d6000fd5b505050506040513d602081101561036757600080fd5b8101908080519060200190929190505050151561038357600080fd5b807f642028127038cd17804be50978266c980dbd2234656c49d7f9c43f15985cf0ad60405160405180910390a250565b6103bb610937565b15156103c657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d60208110156105a157600080fd5b8101908080519060200190929190505050905060008111151561060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610af3602e913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd336000846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561070957600080fd5b505af115801561071d573d6000803e3d6000fd5b505050506040513d602081101561073357600080fd5b8101908080519060200190929190505050156109065760006107606103e7836109ad90919063ffffffff16565b9050610777600354826109ce90919063ffffffff16565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd6107bf61090e565b33846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561087957600080fd5b505af115801561088d573d6000803e3d6000fd5b505050506040513d60208110156108a357600080fd5b810190808051906020019092919050505015156108bf57600080fd5b80823373ffffffffffffffffffffffffffffffffffffffff167f77f92a1b6a1a11de8ca49515ad4c1fad45632dd3442167d74b90b304a3c7a75860405160405180910390a4505b600191505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b610996610937565b15156109a157600080fd5b6109aa816109f8565b50565b60008082840190508381101515156109c457600080fd5b8091505092915050565b600080821115156109de57600080fd5b600082848115156109eb57fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a3457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe73656e646572206e65656420746f20617070726f766520746f6b656e20746f207377617020636f6e74726163742ea165627a7a72305820a0ee78a1d6887c253663eaa4c62c53771f62bb1d07eb1db879e7b3158dd54dcc0029000000000000000000000000bd168cbf9d3a375b38dc51a202b5e8a4e52069ed000000000000000000000000ce5114d7fa8361f0c088ee26fa3a5446c4a1f50b00000000000000000000000000000000000000000000000000000000000003e8

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061007f576000357c01000000000000000000000000000000000000000000000000000000009004806351b42b0014610084578063715018a61461008e5780638119c065146100985780638da5cb5b146100ba5780638f32d59b14610104578063f2fde38b14610126575b600080fd5b61008c61016a565b005b6100966103b3565b005b6100a0610485565b604051808215151515815260200191505060405180910390f35b6100c261090e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61010c610937565b604051808215151515815260200191505060405180910390f35b6101686004803603602081101561013c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098e565b005b610172610937565b151561017d57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561023a57600080fd5b505afa15801561024e573d6000803e3d6000fd5b505050506040513d602081101561026457600080fd5b81019080805190602001909291905050509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561033d57600080fd5b505af1158015610351573d6000803e3d6000fd5b505050506040513d602081101561036757600080fd5b8101908080519060200190929190505050151561038357600080fd5b807f642028127038cd17804be50978266c980dbd2234656c49d7f9c43f15985cf0ad60405160405180910390a250565b6103bb610937565b15156103c657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d60208110156105a157600080fd5b8101908080519060200190929190505050905060008111151561060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610af3602e913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd336000846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561070957600080fd5b505af115801561071d573d6000803e3d6000fd5b505050506040513d602081101561073357600080fd5b8101908080519060200190929190505050156109065760006107606103e7836109ad90919063ffffffff16565b9050610777600354826109ce90919063ffffffff16565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd6107bf61090e565b33846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561087957600080fd5b505af115801561088d573d6000803e3d6000fd5b505050506040513d60208110156108a357600080fd5b810190808051906020019092919050505015156108bf57600080fd5b80823373ffffffffffffffffffffffffffffffffffffffff167f77f92a1b6a1a11de8ca49515ad4c1fad45632dd3442167d74b90b304a3c7a75860405160405180910390a4505b600191505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b610996610937565b15156109a157600080fd5b6109aa816109f8565b50565b60008082840190508381101515156109c457600080fd5b8091505092915050565b600080821115156109de57600080fd5b600082848115156109eb57fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a3457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe73656e646572206e65656420746f20617070726f766520746f6b656e20746f207377617020636f6e74726163742ea165627a7a72305820a0ee78a1d6887c253663eaa4c62c53771f62bb1d07eb1db879e7b3158dd54dcc0029

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

000000000000000000000000bd168cbf9d3a375b38dc51a202b5e8a4e52069ed000000000000000000000000ce5114d7fa8361f0c088ee26fa3a5446c4a1f50b00000000000000000000000000000000000000000000000000000000000003e8

-----Decoded View---------------
Arg [0] : fromToken (address): 0xbD168CbF9d3a375B38dC51A202B5E8a4E52069Ed
Arg [1] : toToken (address): 0xce5114d7fa8361F0c088EE26FA3A5446C4a1f50b
Arg [2] : rate (uint256): 1000

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000bd168cbf9d3a375b38dc51a202b5e8a4e52069ed
Arg [1] : 000000000000000000000000ce5114d7fa8361f0c088ee26fa3a5446c4a1f50b
Arg [2] : 00000000000000000000000000000000000000000000000000000000000003e8


Swarm Source

bzzr://a0ee78a1d6887c253663eaa4c62c53771f62bb1d07eb1db879e7b3158dd54dcc

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  ]

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.