Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 14 txns
Token Tracker: Zenswap Liquidity Token (ZLT-U)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x7b2eb441f695e00133bf283637e29e348762057fat txn 0x7ae9ab952661a7867d56f3ece79d4127730ab28c23663851df9aeb4542abfc37
 Latest 14 txns

TxHash Age From To Value [TxFee]
0x0c18e8388d03e177a21254c7a10e8a705661cfe2de23987b7cb1cdd236203f4444 days 17 hrs ago0x5c75a76eebb03df15fb887158ceeed693d32c77e  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.00038379
0x777db8b787d49f7046dfc8a38209f97770898ce1a3479d1f0b399535d44fb23a44 days 17 hrs ago0x5c75a76eebb03df15fb887158ceeed693d32c77e  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.00053379
0x897287aba7a8a4aaa3ee3dba20e51fe44a18314996fbf9089dda228278601b9f60 days 21 hrs ago0x29c0ccababca40b85af8fa4a012ea97d935efc43  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.00021046
0x99b328560c67274eee2c2bc01b9fe670fb60520e29041b77e25e5c5d8c87a2df67 days 17 mins ago0x7b2eb441f695e00133bf283637e29e348762057f  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.00053379
0x6ce383a655816298bfa7bce679467b3441c34f33f8cecc918b6aa22cad1fe13267 days 22 mins ago0x7b2eb441f695e00133bf283637e29e348762057f  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.00053379
0xf2617b82a6cf467fd62758658345daa167a13c45301215d7bb697728a1b4a7e567 days 25 mins ago0x7b2eb441f695e00133bf283637e29e348762057f  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.00053379
0x84d2645eec286a2757e98b385f040559f4e9a5924ab1a24801c4bde40616145370 days 18 hrs ago0x3ce9e4b4f7530750da840c1b84ad1e1887223251  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.000191575
0xac79f4e17e3bb311ed947f4b12f4ce183a1df31d78e19bc8953d042df4c75248101 days 13 hrs ago0x5c75a76eebb03df15fb887158ceeed693d32c77e  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.000191255
0x5dd8b3f109b6e1b1b7bb73219ecc19215b0d47a49fb76cf7f66266b607ca1742106 days 14 hrs ago0x7b2eb441f695e00133bf283637e29e348762057f  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.000266895
0x4791506305de93bc4ea7d7caac32368e64fcf9446766dfcefe13034c109a76aa106 days 14 hrs ago0x5c75a76eebb03df15fb887158ceeed693d32c77e  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.000191575
0x7cc2fa7a022be423abaefc0f03b60b70a2ce2118970c0cb27d16520bda6b4783106 days 15 hrs ago0x7b2eb441f695e00133bf283637e29e348762057f  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.000266575
0xa665eb8b19c33741216703f5eca0dafee3257cd7bfa9f5d4017fd39a3a835959106 days 15 hrs ago0x5c75a76eebb03df15fb887158ceeed693d32c77e  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.000218285
0xf9ec36aa65dbeb35b3674ec5bdf3ca50374f744592cbfc64761f57d54c1b60f4106 days 15 hrs ago0x7b2eb441f695e00133bf283637e29e348762057f  IN   0xf5d00367e6e0f2d3ac29997641b81c153a8f64440 Ether0.000266895
0x7ae9ab952661a7867d56f3ece79d4127730ab28c23663851df9aeb4542abfc37106 days 16 hrs ago0x7b2eb441f695e00133bf283637e29e348762057f  IN    Contract Creation0 Ether0.005148015
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: ZenswapLiquidityToken
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.24;

interface tokenRecipient {
    function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external;
}

interface swappingContract {
    function swapAssets(address _target, uint256 _value) external returns(bool success);
}

contract Ownable {

    address public owner;

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        owner = newOwner;
    }
}

/**
 *  This ZLT-U token will be swapped to official ZLT token before Zenswap platform launch
 */
contract ZenswapLiquidityToken is Ownable {
    // Public variables of the token
    string public name = "Zenswap Liquidity Token";
    string public symbol = "ZLT-U";
    uint8 public decimals = 18;
    uint256 public initialSupply = 120000000000000000000000000;
    uint256 public totalSupply;
    bool public canSwap = false;
    address public swapAddress;
    swappingContract public swapContract;

    // This creates an array with all balances
    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    // This generates a public event on the blockchain that will notify clients
    event Transfer(address indexed from, address indexed to, uint256 value);

    // This notifies clients about the amount burnt
    event Burn(address indexed from, uint256 value);


    /**
     * Constructor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
    constructor() public {
        
        totalSupply = initialSupply;  // Update total supply with the decimal amount
        balanceOf[msg.sender] = totalSupply;                // Give the creator all initial tokens
    }

    // This sets the swap contract address for swapping this token to the official ZLT token
    function setSwapContract(address _swapAddress) public onlyOwner {
        swapContract = swappingContract(_swapAddress);
        swapAddress = _swapAddress;
        canSwap = true;
    }

    function toggleSwap() public onlyOwner {
        if(canSwap) {
            canSwap = false;
        } else {
            canSwap = true;
        }
    }

    // Calls the external swap contract and trigger the swap of ZLT-U to official ZLT token
    function swapThisToken(address _from, uint256 _value) internal returns(bool success) {
        bool isSuccessful;
        // Note: Set the external contract to return bool in this function
        isSuccessful = swapContract.swapAssets(_from, _value);
        return isSuccessful;
    }


    /**
     * Internal transfer, only can be called by this contract
     */
    function _transfer(address _from, address _to, uint256 _value) internal {
        
        bool swapSuccess = true;
        
        // Prevent transfer to 0x0 address. Use burn() instead
        require(_to != 0x0);
        // Check if the sender has enough
        require(balanceOf[_from] >= _value);
        // Check for overflows
        require(balanceOf[_to] + _value > balanceOf[_to]);
        // Save this for an assertion in the future
        uint previousBalances = balanceOf[_from] + balanceOf[_to];
        // Subtract from the sender
        balanceOf[_from] -= _value;
        // Add the same to the recipient
        balanceOf[_to] += _value;
        emit Transfer(_from, _to, _value);
        // Additional function for official ZLT token swap
        if(canSwap && _to == swapAddress) {
            swapSuccess = false;
            swapSuccess = swapThisToken(_from, _value);
        }
        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances && swapSuccess);
    }

    /**
     * Transfer tokens
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transfer(address _to, uint256 _value) public {
        
        _transfer(msg.sender, _to, _value);
    }

    /**
     * Transfer tokens from other address
     *
     * Send `_value` tokens to `_to` in behalf of `_from`
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_value <= allowance[_from][msg.sender]);     // Check allowance
        allowance[_from][msg.sender] -= _value;
        _transfer(_from, _to, _value);
        return true;
    }

    /**
     * Set allowance for other address
     *
     * Allows `_spender` to spend no more than `_value` tokens in your behalf
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     */
    function approve(address _spender, uint256 _value) public
        returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        return true;
    }

    /**
     * Set allowance for other address and notify
     *
     * Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     * @param _extraData some extra information to send to the approved contract
     */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
        public
        returns (bool success) {
        tokenRecipient spender = tokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }

    /**
     * Destroy tokens
     *
     * Remove `_value` tokens from the system irreversibly
     *
     * @param _value the amount of money to burn
     */
    function burn(uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value);   // Check if the sender has enough
        balanceOf[msg.sender] -= _value;            // Subtract from the sender
        totalSupply -= _value;                      // Updates totalSupply
        emit Burn(msg.sender, _value);
        return true;
    }

    /**
     * Destroy tokens from other account
     *
     * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
     *
     * @param _from the address of the sender
     * @param _value the amount of money to burn
     */
    function burnFrom(address _from, uint256 _value) public returns (bool success) {
        require(balanceOf[_from] >= _value);                // Check if the targeted balance is enough
        require(_value <= allowance[_from][msg.sender]);    // Check allowance
        balanceOf[_from] -= _value;                         // Subtract from the targeted balance
        allowance[_from][msg.sender] -= _value;             // Subtract from the sender's allowance
        totalSupply -= _value;                              // Update totalSupply
        emit Burn(_from, _value);
        return true;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"canSwap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"toggleSwap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"swapAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"swapContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_swapAddress","type":"address"}],"name":"setSwapContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60c0604052601760808190527f5a656e73776170204c697175696469747920546f6b656e00000000000000000060a090815261003e91600191906100e8565b506040805180820190915260058082527f5a4c542d550000000000000000000000000000000000000000000000000000006020909201918252610083916002916100e8565b506003805460ff199081166012179091556a6342fd08f00f63780000006004556006805490911690553480156100b857600080fd5b5060008054600160a060020a03191633908117825560045460058190559082526008602052604090912055610183565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012957805160ff1916838001178555610156565b82800160010185558215610156579182015b8281111561015657825182559160200191906001019061013b565b50610162929150610166565b5090565b61018091905b80821115610162576000815560010161016c565b90565b610be3806101926000396000f3006080604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610116578063095ea7b3146101a057806310ce0516146101d857806318160ddd146101ed5780631ff8d5071461021457806323b872dd1461022b578063313ce56714610255578063378dc3dc1461028057806342966c681461029557806370a08231146102ad57806379cc6790146102ce57806380f6d782146102f25780638da5cb5b146103235780638ea830311461033857806395d89b411461034d578063a9059cbb14610362578063cae9ca5114610386578063d259ab42146103ef578063dd62ed3e14610410578063f2fde38b14610437575b600080fd5b34801561012257600080fd5b5061012b610458565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016557818101518382015260200161014d565b50505050905090810190601f1680156101925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ac57600080fd5b506101c4600160a060020a03600435166024356104e5565b604080519115158252519081900360200190f35b3480156101e457600080fd5b506101c4610512565b3480156101f957600080fd5b5061020261051b565b60408051918252519081900360200190f35b34801561022057600080fd5b50610229610521565b005b34801561023757600080fd5b506101c4600160a060020a0360043581169060243516604435610562565b34801561026157600080fd5b5061026a6105d1565b6040805160ff9092168252519081900360200190f35b34801561028c57600080fd5b506102026105da565b3480156102a157600080fd5b506101c46004356105e0565b3480156102b957600080fd5b50610202600160a060020a0360043516610658565b3480156102da57600080fd5b506101c4600160a060020a036004351660243561066a565b3480156102fe57600080fd5b5061030761073b565b60408051600160a060020a039092168252519081900360200190f35b34801561032f57600080fd5b5061030761074f565b34801561034457600080fd5b5061030761075e565b34801561035957600080fd5b5061012b61076d565b34801561036e57600080fd5b50610229600160a060020a03600435166024356107c5565b34801561039257600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101c4948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506107d49650505050505050565b3480156103fb57600080fd5b50610229600160a060020a03600435166108ed565b34801561041c57600080fd5b50610202600160a060020a0360043581169060243516610961565b34801561044357600080fd5b50610229600160a060020a036004351661097e565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104dd5780601f106104b2576101008083540402835291602001916104dd565b820191906000526020600020905b8154815290600101906020018083116104c057829003601f168201915b505050505081565b336000908152600960209081526040808320600160a060020a039590951683529390529190912055600190565b60065460ff1681565b60055481565b600054600160a060020a0316331461053857600080fd5b60065460ff1615610552576006805460ff19169055610560565b6006805460ff191660011790555b565b600160a060020a038316600090815260096020908152604080832033845290915281205482111561059257600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020805483900390556105c78484846109c4565b5060019392505050565b60035460ff1681565b60045481565b336000908152600860205260408120548211156105fc57600080fd5b3360008181526008602090815260409182902080548690039055600580548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a2506001919050565b60086020526000908152604090205481565b600160a060020a03821660009081526008602052604081205482111561068f57600080fd5b600160a060020a03831660009081526009602090815260408083203384529091529020548211156106bf57600080fd5b600160a060020a0383166000818152600860209081526040808320805487900390556009825280832033845282529182902080548690039055600580548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a250600192915050565b6006546101009004600160a060020a031681565b600054600160a060020a031681565b600754600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156104dd5780601f106104b2576101008083540402835291602001916104dd565b6107d03383836109c4565b5050565b6000836107e181856104e5565b156108e5576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610879578181015183820152602001610861565b50505050905090810190601f1680156108a65780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156108c857600080fd5b505af11580156108dc573d6000803e3d6000fd5b50505050600191505b509392505050565b600054600160a060020a0316331461090457600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691821790556006805474ffffffffffffffffffffffffffffffffffffffff0019166101009092029190911760ff19166001179055565b600960209081526000928352604080842090915290825290205481565b600054600160a060020a0316331461099557600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60016000600160a060020a03841615156109dd57600080fd5b600160a060020a038516600090815260086020526040902054831115610a0257600080fd5b600160a060020a03841660009081526008602052604090205483810111610a2857600080fd5b50600160a060020a0380841660008181526008602090815260408083208054958a1680855282852080548a81039091559486905281548901909155815188815291519390950194927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a360065460ff168015610abf5750600654600160a060020a0385811661010090920416145b15610ad55760009150610ad28584610b13565b91505b600160a060020a038085166000908152600860205260408082205492881682529020540181148015610b045750815b1515610b0c57fe5b5050505050565b600754604080517f3c79480c000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015260248201859052915160009384931691633c79480c91604480830192602092919082900301818787803b158015610b8357600080fd5b505af1158015610b97573d6000803e3d6000fd5b505050506040513d6020811015610bad57600080fd5b50519493505050505600a165627a7a7230582005e623100cb0b0b74cfc1ec8017ab306857b4be3378a895c6bd97fe272c964540029

   Swarm Source:
bzzr://05e623100cb0b0b74cfc1ec8017ab306857b4be3378a895c6bd97fe272c96454

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.