Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
5,000,000 JARL
Holders
117
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
82,683.949285348925999156 JARLValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Jarl
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity Standard Json-Input format)
/***************************************************************************************************** ██ █████ ██████ ██ ██ █████ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███████ ██████ ██ ██ ███████ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ █████ ██ ██ ██ ██ ███████ ███████ ██ ██ ██████ ███████ ******************************************************************************************************/ pragma solidity ^0.8.7; import "SafeMath.sol"; import "IERC20.sol"; contract Jarl is IERC20 { using SafeMath for uint256; string public constant symbol = "JARL"; string public constant name = "JARL LABS"; uint256 public constant decimals = 18; uint256 public immutable totalSupply; mapping(address => uint256) balances; mapping(address => mapping(address => uint256)) allowed; address payable owner; constructor() public { // remember which address deployed the JARL contract owner = payable(msg.sender); totalSupply = 5_000_000 * (10 ** decimals); // move all 5M tokens to deployer account so it // can be split between LBP, Uniswap, &c balances[owner] = totalSupply; emit Transfer(address(0), owner, totalSupply); } function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function _transfer(address _from, address _to, uint256 _value) internal { require(balances[_from] >= _value, "Insufficient balance"); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(_from, _to, _value); } function transfer(address _to, uint256 _value) public returns (bool) { _transfer(msg.sender, _to, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(allowed[_from][msg.sender] >= _value, "Insufficient allowance"); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); _transfer(_from, _to, _value); return true; } // use the same event signature as openzeppelin-contracts/contracts/access/Ownable.sol event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function transferOwnership(address payable newOwner) public { // change contract owner require(msg.sender == owner, "Must be owner"); address prevOwner = owner; owner = newOwner; emit OwnershipTransferred(prevOwner, newOwner); } function rescueETH() public { // withdraw ETH which may be accidentally sent to this contract require(msg.sender == owner, "Must be owner"); owner.transfer(address(this).balance); } function rescueTokens() public { // move tokens from this contract to the owner require(msg.sender == owner, "Must be owner"); uint256 trappedTokens = balances[address(this)]; if (trappedTokens > 0) { _transfer(address(this), owner, trappedTokens); } } }
pragma solidity ^0.8.7; library SafeMath { function add(uint a, uint b) internal pure returns (uint c) { c = a + b; require(c >= a); return c; } function sub(uint a, uint b) internal pure returns (uint c) { require(b <= a); c = a - b; return c; } function mul(uint a, uint b) internal pure returns (uint c) { c = a * b; require(a == 0 || c / a == b); return c; } function div(uint a, uint b) internal pure returns (uint c) { require(b > 0); c = a / b; return c; } }
pragma solidity ^0.8.7; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); }
{ "evmVersion": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "libraries": { "JARL.sol": {} }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"_owner","type":"address"},{"internalType":"address","name":"_spender","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":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueTokens","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"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040523480156200001157600080fd5b50600280546001600160a01b03191633179055620000326012600a620001bb565b6200004190624c4b40620001d0565b6080819052600280546001600160a01b0390811660009081526020818152604080832086905593549351948552929091169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620001f2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620000fd578160001904821115620000e157620000e1620000a6565b80851615620000ef57918102915b93841c9390800290620000c1565b509250929050565b6000826200011657506001620001b5565b816200012557506000620001b5565b81600181146200013e5760028114620001495762000169565b6001915050620001b5565b60ff8411156200015d576200015d620000a6565b50506001821b620001b5565b5060208310610133831016604e8410600b84101617156200018e575081810a620001b5565b6200019a8383620000bc565b8060001904821115620001b157620001b1620000a6565b0290505b92915050565b6000620001c9838362000105565b9392505050565b6000816000190483118215151615620001ed57620001ed620000a6565b500290565b6080516107d46200020e600039600061011f01526107d46000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461017457806395d89b411461019d578063a9059cbb146101c0578063dd62ed3e146101d3578063dd8c2e0f1461020c578063f2fde38b1461021457600080fd5b806306fdde03146100b9578063095ea7b3146100f757806318160ddd1461011a57806320800a001461014f57806323b872dd14610159578063313ce5671461016c575b600080fd5b6100e1604051806040016040528060098152602001684a41524c204c41425360b81b81525081565b6040516100ee9190610605565b60405180910390f35b61010a61010536600461066f565b610227565b60405190151581526020016100ee565b6101417f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ee565b610157610294565b005b61010a61016736600461069b565b610303565b610141601281565b6101416101823660046106dc565b6001600160a01b031660009081526020819052604090205490565b6100e1604051806040016040528060048152602001631290549360e21b81525081565b61010a6101ce36600461066f565b6103d6565b6101416101e13660046106f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101576103ec565b6101576102223660046106dc565b610444565b3360008181526001602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102829086815260200190565b60405180910390a35060015b92915050565b6002546001600160a01b031633146102c75760405162461bcd60e51b81526004016102be90610732565b60405180910390fd5b6002546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610300573d6000803e3d6000fd5b50565b6001600160a01b038316600090815260016020908152604080832033845290915281205482111561036f5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b60448201526064016102be565b6001600160a01b038416600090815260016020908152604080832033845290915290205461039d90836104c0565b6001600160a01b03851660009081526001602090815260408083203384529091529020556103cc8484846104e0565b5060019392505050565b60006103e33384846104e0565b50600192915050565b6002546001600160a01b031633146104165760405162461bcd60e51b81526004016102be90610732565b306000908152602081905260409020548015610300576002546103009030906001600160a01b0316836104e0565b6002546001600160a01b0316331461046e5760405162461bcd60e51b81526004016102be90610732565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000828211156104cf57600080fd5b6104d9828461076f565b9392505050565b6001600160a01b03831660009081526020819052604090205481111561053f5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016102be565b6001600160a01b03831660009081526020819052604090205461056290826104c0565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461059190826105ea565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60006105f68284610786565b90508281101561028e57600080fd5b600060208083528351808285015260005b8181101561063257858101830151858201604001528201610616565b81811115610644576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461030057600080fd5b6000806040838503121561068257600080fd5b823561068d8161065a565b946020939093013593505050565b6000806000606084860312156106b057600080fd5b83356106bb8161065a565b925060208401356106cb8161065a565b929592945050506040919091013590565b6000602082840312156106ee57600080fd5b81356104d98161065a565b6000806040838503121561070c57600080fd5b82356107178161065a565b915060208301356107278161065a565b809150509250929050565b6020808252600d908201526c26bab9ba1031329037bbb732b960991b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561078157610781610759565b500390565b6000821982111561079957610799610759565b50019056fea26469706673582212202f8d443f22dc9bd05343e708cc84649bfe2866dfc5c06dd0bda1492d7f88d8fb64736f6c634300080f0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461017457806395d89b411461019d578063a9059cbb146101c0578063dd62ed3e146101d3578063dd8c2e0f1461020c578063f2fde38b1461021457600080fd5b806306fdde03146100b9578063095ea7b3146100f757806318160ddd1461011a57806320800a001461014f57806323b872dd14610159578063313ce5671461016c575b600080fd5b6100e1604051806040016040528060098152602001684a41524c204c41425360b81b81525081565b6040516100ee9190610605565b60405180910390f35b61010a61010536600461066f565b610227565b60405190151581526020016100ee565b6101417f0000000000000000000000000000000000000000000422ca8b0a00a42500000081565b6040519081526020016100ee565b610157610294565b005b61010a61016736600461069b565b610303565b610141601281565b6101416101823660046106dc565b6001600160a01b031660009081526020819052604090205490565b6100e1604051806040016040528060048152602001631290549360e21b81525081565b61010a6101ce36600461066f565b6103d6565b6101416101e13660046106f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101576103ec565b6101576102223660046106dc565b610444565b3360008181526001602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102829086815260200190565b60405180910390a35060015b92915050565b6002546001600160a01b031633146102c75760405162461bcd60e51b81526004016102be90610732565b60405180910390fd5b6002546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610300573d6000803e3d6000fd5b50565b6001600160a01b038316600090815260016020908152604080832033845290915281205482111561036f5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b60448201526064016102be565b6001600160a01b038416600090815260016020908152604080832033845290915290205461039d90836104c0565b6001600160a01b03851660009081526001602090815260408083203384529091529020556103cc8484846104e0565b5060019392505050565b60006103e33384846104e0565b50600192915050565b6002546001600160a01b031633146104165760405162461bcd60e51b81526004016102be90610732565b306000908152602081905260409020548015610300576002546103009030906001600160a01b0316836104e0565b6002546001600160a01b0316331461046e5760405162461bcd60e51b81526004016102be90610732565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000828211156104cf57600080fd5b6104d9828461076f565b9392505050565b6001600160a01b03831660009081526020819052604090205481111561053f5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016102be565b6001600160a01b03831660009081526020819052604090205461056290826104c0565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461059190826105ea565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60006105f68284610786565b90508281101561028e57600080fd5b600060208083528351808285015260005b8181101561063257858101830151858201604001528201610616565b81811115610644576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461030057600080fd5b6000806040838503121561068257600080fd5b823561068d8161065a565b946020939093013593505050565b6000806000606084860312156106b057600080fd5b83356106bb8161065a565b925060208401356106cb8161065a565b929592945050506040919091013590565b6000602082840312156106ee57600080fd5b81356104d98161065a565b6000806040838503121561070c57600080fd5b82356107178161065a565b915060208301356107278161065a565b809150509250929050565b6020808252600d908201526c26bab9ba1031329037bbb732b960991b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561078157610781610759565b500390565b6000821982111561079957610799610759565b50019056fea26469706673582212202f8d443f22dc9bd05343e708cc84649bfe2866dfc5c06dd0bda1492d7f88d8fb64736f6c634300080f0033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.