Address io1uxzk37rd5uzl3m5l38agw93zzeeehhzkxrp7hg

Contract Overview

Balance:
0 IOTX

IOTX Value:
$ 0

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
b72ab7bb392b613d90104c0c181eaa71cb93791af76e509c41e051d781f5d37d 29864439 2024-05-07 03:33:50 +0000 UTC 2 days ago io1kl3hxmp0n57jrn8xnfgf4h26ja2laj2ksd6jz3  IN    Contract: Loxo 0 IOTX 0.232735
d034bffb7787f4fdc6567d505156a4971f63b4548164261c3a6b92a297653d45 29864038 2024-05-07 03:00:25 +0000 UTC 2 days ago io1uuxqt0dualsfqf05k2x75harrecg4j0g5xvzvx  IN    Contract: Loxo 0 IOTX 0.046547
d99fdae82663d01484e345923596b6868ee2dc4a42503e161a0e9885e21bf4bc 29571292 2024-04-20 04:22:00 +0000 UTC 19 days ago io1ge5jmsrzvpgv03q97sfdhswfep3s4xsyyv7mqh  IN    Contract: Loxo 0 IOTX 0.048534
4014a610bce94e06f504a422278486b72da885db6da3f2b5d2908608f57aacdd 29571266 2024-04-20 04:19:50 +0000 UTC 19 days ago io1ge5jmsrzvpgv03q97sfdhswfep3s4xsyyv7mqh  IN    Contract: Loxo 0 IOTX 0.042934
8f923c5455b5a26704fdd03ecc68c2aca9966036e2856295253c1585da410eb1 29571241 2024-04-20 04:17:45 +0000 UTC 19 days ago io1ge5jmsrzvpgv03q97sfdhswfep3s4xsyyv7mqh  IN    Contract: Loxo 0 IOTX 0.042934
3c9743c9384c7580c916055adda9dd27f9ea4ab6e50176f00b867f298e310859 29571239 2024-04-20 04:17:35 +0000 UTC 19 days ago io1ge5jmsrzvpgv03q97sfdhswfep3s4xsyyv7mqh  IN    Contract: Loxo 0 IOTX 0.042934
9d9c9683954838f7271e4480a0190697a489c8ec1100051215bc33fac12e0e19 29571235 2024-04-20 04:17:15 +0000 UTC 19 days ago io1ge5jmsrzvpgv03q97sfdhswfep3s4xsyyv7mqh  IN    Contract: Loxo 0 IOTX 0.042934
2e51d70d2e0867a39519b0c84fb9be3849ad3890bbc15d9ac1e582361ca3551a 29571224 2024-04-20 04:16:20 +0000 UTC 19 days ago io1ge5jmsrzvpgv03q97sfdhswfep3s4xsyyv7mqh  IN    Contract: Loxo 0 IOTX 0.082734
223643cfcf8aeb5b29cc94028927a4c7885999976c7458a02040b4fc850abd9f 29262476 2024-04-02 07:02:50 +0000 UTC one month ago io1rn3jwwwr8mktqm064jswg27sfetve0cdefqzxv  IN    Contract: Loxo 0 IOTX 0.082734
c767ae280a9ced4ae5aec8de2e05d5641dde9f8b4b4de8d72ab872c0dc533b7a 29259738 2024-04-02 03:14:25 +0000 UTC one month ago io1uuxqt0dualsfqf05k2x75harrecg4j0g5xvzvx  IN    Contract: Loxo 0 IOTX 0.046547
d3aa59035a1f10c79e4220b77ed2c82d5278edcd9d637ba7808a9e541bc99cf4 29164183 2024-03-27 14:11:10 +0000 UTC one month ago io1kl3hxmp0n57jrn8xnfgf4h26ja2laj2ksd6jz3  IN    Contract: Loxo 0 IOTX 0.019221
53b54b5acfb4cc092fbf081c37e606eb4b944303dfe5b10ec5574e15d3d71760 29164183 2024-03-27 14:11:10 +0000 UTC one month ago io1kl3hxmp0n57jrn8xnfgf4h26ja2laj2ksd6jz3  IN    Contract: Loxo 0 IOTX 0.065688
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Loxo

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
File 1 of 2: contracts/interfaces/ILoxo.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

interface ILoxo {
    function totalSupply() external view returns (uint);
    function balanceOf(address) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address, uint) external returns (bool);
    function transferFrom(address,address,uint) external returns (bool);
    function mint(address, uint) external returns (bool);
    function minter() external returns (address);
}

File 2 of 2: contracts/Loxo.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.13;

import "./interfaces/ILoxo.sol";

contract Loxo is ILoxo {
    string public constant name = "Loxodrome";
    string public constant symbol = "LOXO";
    uint8 public constant decimals = 18;
    uint public totalSupply = 0;

    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;

    bool public initialMinted;
    address public minter;
    address public redemptionReceiver;
    address public merkleClaim;

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);

    constructor() {
        minter = msg.sender;
        _mint(msg.sender, 0);
    }

    // No checks as its meant to be once off to set minting rights to BaseV1 Minter
    // TODO: You should give access to Minter.sol for further automatic Loxodrom mints
    function setMinter(address _minter) external {
        require(msg.sender == minter);
        minter = _minter;
    }

  
    // TODO: initialMint the tokens (cap 200M)
    function initialMint(address _recipient) external {
        require(msg.sender == minter && !initialMinted);
        initialMinted = true;
        _mint(_recipient, 50 * 1e6 * 1e18);
    }

    function approve(address _spender, uint _value) external returns (bool) {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function _mint(address _to, uint _amount) internal returns (bool) {
        totalSupply += _amount;
        unchecked {
            balanceOf[_to] += _amount;
        }
        emit Transfer(address(0x0), _to, _amount);
        return true;
    }

    function _transfer(address _from, address _to, uint _value) internal returns (bool) {
        balanceOf[_from] -= _value;
        unchecked {
            balanceOf[_to] += _value;
        }
        emit Transfer(_from, _to, _value);
        return true;
    }

    function transfer(address _to, uint _value) external returns (bool) {
        return _transfer(msg.sender, _to, _value);
    }

    function transferFrom(address _from, address _to, uint _value) external returns (bool) {
        uint allowed_from = allowance[_from][msg.sender];
        if (allowed_from != type(uint).max) {
            allowance[_from][msg.sender] -= _value;
        }
        return _transfer(_from, _to, _value);
    }

    function mint(address account, uint amount) external returns (bool) {
        require(msg.sender == minter, 'not allowed');
        _mint(account, amount);
        return true;
    }

}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"initialMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleClaim","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redemptionReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

Contract Creation Code

608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063ca1c4de911610066578063ca1c4de91461026b578063dd62ed3e14610278578063e752c44a146102a3578063fca3b5aa146102b657600080fd5b806370a082311461020057806395d89b4114610220578063a9059cbb14610243578063c268f9ba1461025657600080fd5b806323b872dd116100d357806323b872dd146101ad578063313ce567146101c057806340c10f19146101da5780635e05fe50146101ed57600080fd5b806306fdde03146101055780630754617214610143578063095ea7b31461017357806318160ddd14610196575b600080fd5b61012d604051806040016040528060098152602001684c6f786f64726f6d6560b81b81525081565b60405161013a91906105bc565b60405180910390f35b60035461015b9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161013a565b61018661018136600461062d565b6102c9565b604051901515815260200161013a565b61019f60005481565b60405190815260200161013a565b6101866101bb366004610657565b610335565b6101c8601281565b60405160ff909116815260200161013a565b6101866101e836600461062d565b6103af565b60045461015b906001600160a01b031681565b61019f61020e366004610693565b60016020526000908152604090205481565b61012d604051806040016040528060048152602001634c4f584f60e01b81525081565b61018661025136600461062d565b610417565b610269610264366004610693565b61042b565b005b6003546101869060ff1681565b61019f6102863660046106ae565b600260209081526000928352604080842090915290825290205481565b60055461015b906001600160a01b031681565b6102696102c4366004610693565b61047c565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103249086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019811461039b576001600160a01b0385166000908152600260209081526040808320338452909152812080548592906103959084906106f7565b90915550505b6103a68585856104c0565b95945050505050565b60035460009061010090046001600160a01b031633146104035760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015260640160405180910390fd5b61040d8383610557565b5060019392505050565b60006104243384846104c0565b9392505050565b60035461010090046001600160a01b03163314801561044d575060035460ff16155b61045657600080fd5b6003805460ff19166001179055610478816a295be96e64066972000000610557565b5050565b60035461010090046001600160a01b0316331461049857600080fd5b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0383166000908152600160205260408120805483919083906104ea9084906106f7565b90915550506001600160a01b03808416600081815260016020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105459086815260200190565b60405180910390a35060019392505050565b60008160008082825461056a919061070e565b90915550506001600160a01b0383166000818152600160209081526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610324565b600060208083528351808285015260005b818110156105e9578581018301518582016040015282016105cd565b818111156105fb576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461062857600080fd5b919050565b6000806040838503121561064057600080fd5b61064983610611565b946020939093013593505050565b60008060006060848603121561066c57600080fd5b61067584610611565b925061068360208501610611565b9150604084013590509250925092565b6000602082840312156106a557600080fd5b61042482610611565b600080604083850312156106c157600080fd5b6106ca83610611565b91506106d860208401610611565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015610709576107096106e1565b500390565b60008219821115610721576107216106e1565b50019056fea26469706673582212204ad13045bfc3972f4e67300b55e1002bf1f47510cc9ec089e515f6ad11218e3364736f6c634300080d0033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.