Contract Overview
Latest 12 from a total of 12 transactions
Contract Name:
Loxo
Compiler Version
v0.8.13+commit.abaa5c0e
// 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); }
// 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; } }
[{"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
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for
interesting conversations.