Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
475,880.252426668 TLR
Holders
809
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
11,615.723343314 TLRValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Tollar
Compiler Version
v0.7.5+commit.eb77ed08
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity 0.7.5; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/math/SafeMath.sol"; import "../libraries/SafeMathInt.sol"; abstract contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; function initialize(string memory __name, string memory __symbol, uint8 __decimals) internal { _name = __name; _symbol = __symbol; _decimals = __decimals; } function name() public view returns(string memory) { return _name; } function symbol() public view returns(string memory) { return _symbol; } function decimals() public view returns(uint8) { return _decimals; } } /** * @dev Tollar token of ERC20 standard. * @author Over1 Team * * name : Tollar * symbol : TLR * decimal : 9 * basic supply : 1,000,000 TLR */ contract Tollar is Ownable, ERC20Detailed { // PLEASE READ BEFORE CHANGING ANY ACCOUNTING OR MATH // Anytime there is division, there is a risk of numerical instability from rounding errors. In // order to minimize this risk, we adhere to the following guidelines: // 1) The conversion rate adopted is the number of gons that equals 1 fragment. // The inverse rate must not be used--TOTAL_GONS is always the numerator and _totalSupply is // always the denominator. (i.e. If you want to convert gons to fragments instead of // multiplying by the inverse rate, you should divide by the normal rate) // 2) Gon balances converted into Fragments are always rounded down (truncated). // // We make the following guarantees: // - If address 'A' transfers x Fragments to address 'B'. A's resulting external balance will // be decreased by precisely x Fragments, and B's external balance will be precisely // increased by x Fragments. // // We do not guarantee that the sum of all balances equals the result of calling totalSupply(). // This is because, for any conversion function 'f()' that has non-zero rounding error, // f(x0) + f(x1) + ... + f(xn) is not always equal to f(x0 + x1 + ... xn). using SafeMath for uint256; using SafeMathInt for int256; struct Transaction { bool enabled; address destination; bytes data; } event TransactionFailed(address indexed destination, uint index, bytes data); // Stable ordering is not guaranteed. Transaction[] public transactions; event LogRebase(uint256 indexed epoch, uint256 totalSupply); uint256 private constant DECIMALS = 9; uint256 private constant MAX_UINT256 = ~uint256(0); uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 1000000 * 10**DECIMALS; // TOTAL_GONS is a multiple of INITIAL_FRAGMENTS_SUPPLY so that _gonsPerFragment is an integer. // Use the highest value that fits in a uint256 for max granularity. uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY); // MAX_SUPPLY = maximum integer < (sqrt(4*TOTAL_GONS + 1) - 1) / 2 uint256 private constant MAX_SUPPLY = ~uint128(0); // (2^128) - 1 uint256 private _epoch; uint256 private _totalSupply; uint256 private _gonsPerFragment; mapping(address => uint256) private _gonBalances; // This is denominated in Fragments, because the gons-fragments conversion might change before // it's fully paid. mapping (address => mapping (address => uint256)) private _allowedFragments; /** * @dev Notifies Fragments contract about a new rebase cycle. * @param supplyDelta The number of new fragment tokens to add into circulation via expansion. * @return The total number of fragments after the supply adjustment. */ function rebase(int256 supplyDelta) external onlyOwner returns (uint256) { _epoch = _epoch.add(1); if (supplyDelta == 0) { emit LogRebase(_epoch, _totalSupply); return _totalSupply; } if (supplyDelta < 0) { _totalSupply = _totalSupply.sub(uint256(supplyDelta.abs())); } else { _totalSupply = _totalSupply.add(uint256(supplyDelta)); } if (_totalSupply > MAX_SUPPLY) { _totalSupply = MAX_SUPPLY; } _gonsPerFragment = TOTAL_GONS.div(_totalSupply); // From this point forward, _gonsPerFragment is taken as the source of truth. // We recalculate a new _totalSupply to be in agreement with the _gonsPerFragment // conversion rate. // This means our applied supplyDelta can deviate from the requested supplyDelta, // but this deviation is guaranteed to be < (_totalSupply^2)/(TOTAL_GONS - _totalSupply). // // In the case of _totalSupply <= MAX_UINT128 (our current supply cap), this // deviation is guaranteed to be < 1, so we can omit this step. If the supply cap is // ever increased, it must be re-included. // _totalSupply = TOTAL_GONS.div(_gonsPerFragment) emit LogRebase(_epoch, _totalSupply); for (uint i = 0; i < transactions.length; i++) { Transaction storage t = transactions[i]; if (t.enabled) { bool result = externalCall(t.destination, t.data); if (!result) { emit TransactionFailed(t.destination, i, t.data); revert("Transaction Failed"); } } } return _totalSupply; } constructor() public Ownable() { ERC20Detailed.initialize('Tollar', 'TLR', uint8(DECIMALS)); _totalSupply = INITIAL_FRAGMENTS_SUPPLY; _gonBalances[msg.sender] = TOTAL_GONS; _gonsPerFragment = TOTAL_GONS.div(_totalSupply); emit Transfer(address(0x0), msg.sender, _totalSupply); } /** * @return The total number of fragments. */ function totalSupply() public view override returns (uint256) { return _totalSupply; } /** * @param who The address to query. * @return The balance of the specified address. */ function balanceOf(address who) public view override returns (uint256) { return _gonBalances[who].div(_gonsPerFragment); } /** * @dev Transfer tokens to a specified address. * @param to The address to transfer to. * @param value The amount to be transferred. * @return True on success, false otherwise. */ function transfer(address to, uint256 value) public override returns (bool) { uint256 merValue = value.mul(_gonsPerFragment); _gonBalances[msg.sender] = _gonBalances[msg.sender].sub(merValue); _gonBalances[to] = _gonBalances[to].add(merValue); emit Transfer(msg.sender, to, value); return true; } /** * @dev Function to check the amount of tokens that an owner has allowed to a spender. * @param owner_ The address which owns the funds. * @param spender The address which will spend the funds. * @return The number of tokens still available for the spender. */ function allowance(address owner_, address spender) public view override returns (uint256) { return _allowedFragments[owner_][spender]; } /** * @dev Transfer tokens from one address to another. * @param from The address you want to send tokens from. * @param to The address you want to transfer to. * @param value The amount of tokens to be transferred. */ function transferFrom(address from, address to, uint256 value) public override returns (bool) { _allowedFragments[from][msg.sender] = _allowedFragments[from][msg.sender].sub(value); uint256 merValue = value.mul(_gonsPerFragment); _gonBalances[from] = _gonBalances[from].sub(merValue); _gonBalances[to] = _gonBalances[to].add(merValue); emit Transfer(from, to, value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of * msg.sender. This method is included for ERC20 compatibility. * increaseAllowance and decreaseAllowance should be used instead. * Changing an allowance with this method brings the risk that someone may transfer both * the old and the new allowance - if they are both greater than zero - if a transfer * transaction is mined before the later approve() call is mined. * * @param spender The address which will spend the funds. * @param value The amount of tokens to be spent. */ function approve(address spender, uint256 value) public override returns (bool) { _allowedFragments[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } /** * @dev Increase the amount of tokens that an owner has allowed to a spender. * This method should be used instead of approve() to avoid the double approval vulnerability * described above. * @param spender The address which will spend the funds. * @param addedValue The amount of tokens to increase the allowance by. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _allowedFragments[msg.sender][spender] = _allowedFragments[msg.sender][spender].add(addedValue); emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]); return true; } /** * @dev Decrease the amount of tokens that an owner has allowed to a spender. * * @param spender The address which will spend the funds. * @param subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { uint256 oldValue = _allowedFragments[msg.sender][spender]; if (subtractedValue >= oldValue) { _allowedFragments[msg.sender][spender] = 0; } else { _allowedFragments[msg.sender][spender] = oldValue.sub(subtractedValue); } emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]); return true; } /** * @notice Adds a transaction that gets called for a downstream receiver of rebases * @param destination Address of contract destination * @param data Transaction data payload */ function addTransaction(address destination, bytes memory data) external onlyOwner { transactions.push(Transaction({ enabled: true, destination: destination, data: data })); } /** * @param index Index of transaction to remove. * Transaction ordering may have changed since adding. */ function removeTransaction(uint index) external onlyOwner { require(index < transactions.length, "index out of bounds"); if (index < transactions.length - 1) { transactions[index] = transactions[transactions.length - 1]; } transactions.pop(); } /** * @param index Index of transaction. Transaction ordering may have changed since adding. * @param enabled True for enabled, false for disabled. */ function setTransactionEnabled(uint index, bool enabled) external onlyOwner { require(index < transactions.length, "index must be in range of stored tx list"); transactions[index].enabled = enabled; } /** * @return Number of transactions, both enabled and disabled, in transactions list. */ function transactionsSize() external view returns (uint256) { return transactions.length; } /** * @dev wrapper to call the encoded transactions on downstream consumers. * @param destination Address of destination contract. * @param data The encoded data payload. * @return True on success */ function externalCall(address destination, bytes memory data) internal returns (bool) { bool result; assembly { // "Allocate" memory for output // (0x40 is where "free memory" pointer is stored by convention) let outputAddress := mload(0x40) // First 32 bytes are the padded length of data, so exclude that let dataAddress := add(data, 32) result := call( // 34710 is the value that solidity is currently emitting // It includes callGas (700) + callVeryLow (3, to pay for SUB) // + callValueTransferGas (9000) + callNewAccountGas // (25000, in case the destination address does not exist and needs creating) sub(gas(), 34710), destination, 0, // transfer value in wei dataAddress, mload(data), // Size of the input, in bytes. Stored in position 0 of the array. outputAddress, 0 // Output is ignored, therefore the output size is zero ) } return result; } }
pragma solidity 0.7.5; library SafeMathInt { int256 private constant MIN_INT256 = int256(1) << 255; int256 private constant MAX_INT256 = ~(int256(1) << 255); function mul(int256 a, int256 b) internal pure returns (int256) { int256 c = a * b; // Detect overflow when multiplying MIN_INT256 with -1 require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256)); require((b == 0) || (c / b == a)); return c; } function div(int256 a, int256 b) internal pure returns (int256) { // Prevent overflow when dividing MIN_INT256 by -1 require(b != -1 || a != MIN_INT256); // Solidity already throws when dividing by 0. return a / b; } function sub(int256 a, int256 b) internal pure returns (int256) { int256 c = a - b; require((b >= 0 && c <= a) || (b < 0 && c > a)); return c; } function add(int256 a, int256 b) internal pure returns (int256) { int256 c = a + b; require((b >= 0 && c >= a) || (b < 0 && c < a)); return c; } function abs(int256 a) internal pure returns (int256) { require(a != MIN_INT256); return a < 0 ? -a : a; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; import "../GSN/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot 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-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
{ "remappings": [], "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "istanbul", "libraries": { "": {} }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"LogRebase","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":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"TransactionFailed","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":"destination","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"addTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"who","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":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int256","name":"supplyDelta","type":"int256"}],"name":"rebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"removeTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setTransactionEnabled","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":"uint256","name":"","type":"uint256"}],"name":"transactions","outputs":[{"internalType":"bool","name":"enabled","type":"bool"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transactionsSize","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060006200001e6200013f565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000ba604051806040016040528060068152602001652a37b63630b960d11b815250604051806040016040528060038152602001622a262960e91b81525060096200014360201b620013c41760201c565b66038d7ea4c6800060069081553360009081526008602090815260409091206507326b47ffff19908190559154620000fc92916200140462000187821b17901c565b600755600654604080519182525133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a36200032b565b3390565b8251620001589060019060208601906200027f565b5081516200016e9060029060208501906200027f565b506003805460ff191660ff929092169190911790555050565b6000620001d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620001d860201b60201c565b9392505050565b60008183620002685760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200022c57818101518382015260200162000212565b50505050905090810190601f1680156200025a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200027557fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002b7576000855562000302565b82601f10620002d257805160ff191683800117855562000302565b8280016001018555821562000302579182015b8281111562000302578251825591602001919060010190620002e5565b506200031092915062000314565b5090565b5b8082111562000310576000815560010162000315565b6118bd806200033b6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad5780639ace38c2116100715780639ace38c214610401578063a457c2d7146104af578063a9059cbb146104db578063dd62ed3e14610507578063f2fde38b146105355761012c565b806370a082311461039f578063715018a6146103c55780638da5cb5b146103cd57806391d4ec18146103f157806395d89b41146103f95761012c565b806323b872dd116100f457806323b872dd146102dd578063313ce56714610313578063395093511461033157806346c3bd1f1461035d5780636e9dde991461037a5761012c565b806306fdde0314610131578063095ea7b3146101ae5780630ab114f9146101ee578063126e19be1461021d57806318160ddd146102d5575b600080fd5b61013961055b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b0381351690602001356105f0565b604080519115158252519081900360200190f35b61020b6004803603602081101561020457600080fd5b5035610657565b60408051918252519081900360200190f35b6102d36004803603604081101561023357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561025e57600080fd5b82018360208201111561027057600080fd5b8035906020019184600183028401116401000000008311171561029257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109b5945050505050565b005b61020b610ad6565b6101da600480360360608110156102f357600080fd5b506001600160a01b03813581169160208101359091169060400135610adc565b61031b610bf6565b6040805160ff9092168252519081900360200190f35b6101da6004803603604081101561034757600080fd5b506001600160a01b038135169060200135610bff565b6102d36004803603602081101561037357600080fd5b5035610c92565b6102d36004803603604081101561039057600080fd5b50803590602001351515610e2a565b61020b600480360360208110156103b557600080fd5b50356001600160a01b0316610ef3565b6102d3610f1b565b6103d5610fbd565b604080516001600160a01b039092168252519081900360200190f35b61020b610fcc565b610139610fd2565b61041e6004803603602081101561041757600080fd5b5035611030565b604051808415158152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561047257818101518382015260200161045a565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b6101da600480360360408110156104c557600080fd5b506001600160a01b0381351690602001356110f8565b6101da600480360360408110156104f157600080fd5b506001600160a01b0381351690602001356111e1565b61020b6004803603604081101561051d57600080fd5b506001600160a01b03813581169160200135166112a1565b6102d36004803603602081101561054b57600080fd5b50356001600160a01b03166112cc565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156105e65780601f106105bb576101008083540402835291602001916105e6565b820191906000526020600020905b8154815290600101906020018083116105c957829003601f168201915b5050505050905090565b3360008181526009602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600061066161144d565b6000546001600160a01b039081169116146106b1576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6005546106bf906001611451565b600555816107085760055460065460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a2506006546109b0565b600082121561072e5761072661071d836114ab565b600654906114d3565b60065561073f565b60065461073b9083611451565b6006555b6006546001600160801b03101561075c576001600160801b036006555b600654610771906507326b47ffff1990611404565b60075560055460065460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a260005b6004548110156109aa576000600482815481106107c857fe5b60009182526020909120600290910201805490915060ff16156109a15780546001808301805460408051602060026101009685161587026000190190941693909304601f81018490048402820184019092528181526000956108909590046001600160a01b03169390929091908301828280156108865780601f1061085b57610100808354040283529160200191610886565b820191906000526020600020905b81548152906001019060200180831161086957829003601f168201915b5050505050611515565b90508061099f5781546040805185815260208101828152600180870180546002610100938216158402600019019091160494840185905294046001600160a01b0316937f8091ecaaa54ebb82e02d36c2c336528e0fcb9b3430fc1291ac88295032b9c26393889391929060608301908490801561094e5780601f106109235761010080835404028352916020019161094e565b820191906000526020600020905b81548152906001019060200180831161093157829003601f168201915b5050935050505060405180910390a26040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8811985a5b195960721b604482015290519081900360640190fd5b505b506001016107af565b50506006545b919050565b6109bd61144d565b6000546001600160a01b03908116911614610a0d576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6040805160608101825260018082526001600160a01b038086166020808501918252948401868152600480549485018155600052845160029094027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b81018054935190941661010002610100600160a81b031995151560ff19909416939093179490941691909117825551805193949193610acf937f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c0192919091019061168d565b5050505050565b60065490565b6001600160a01b0383166000908152600960209081526040808320338452909152812054610b0a90836114d3565b6001600160a01b0385166000908152600960209081526040808320338452909152812091909155600754610b3f908490611538565b6001600160a01b038616600090815260086020526040902054909150610b6590826114d3565b6001600160a01b038087166000908152600860205260408082209390935590861681522054610b949082611451565b6001600160a01b0380861660008181526008602090815260409182902094909455805187815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b60035460ff1690565b3360009081526009602090815260408083206001600160a01b0386168452909152812054610c2d9083611451565b3360008181526009602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b610c9a61144d565b6000546001600160a01b03908116911614610cea576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6004548110610d36576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b60045460001901811015610de757600480546000198101908110610d5657fe5b906000526020600020906002020160048281548110610d7157fe5b6000918252602090912082546002928302909101805460ff191660ff9092161515919091178082558354610100600160a81b0319909116610100918290046001600160a01b03168202178255600180850180549394610de3948387019492938116159092026000190190911604611719565b5050505b6004805480610df257fe5b60008281526020812060026000199093019283020180546001600160a81b031916815590610e23600183018261179c565b5050905550565b610e3261144d565b6000546001600160a01b03908116911614610e82576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6004548210610ec25760405162461bcd60e51b815260040180806020018281038252602881526020018061181f6028913960400191505060405180910390fd5b8060048381548110610ed057fe5b60009182526020909120600290910201805460ff19169115159190911790555050565b6007546001600160a01b03821660009081526008602052604081205490916106519190611404565b610f2361144d565b6000546001600160a01b03908116911614610f73576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60045490565b60028054604080516020601f60001961010060018716150201909416859004938401819004810282018101909252828152606093909290918301828280156105e65780601f106105bb576101008083540402835291602001916105e6565b6004818154811061104057600080fd5b6000918252602091829020600291820201805460018083018054604080516101009483161585026000190190921696909604601f810188900488028201880190965285815260ff84169750919092046001600160a01b031694929390928301828280156110ee5780601f106110c3576101008083540402835291602001916110ee565b820191906000526020600020905b8154815290600101906020018083116110d157829003601f168201915b5050505050905083565b3360009081526009602090815260408083206001600160a01b038616845290915281205480831061114c573360009081526009602090815260408083206001600160a01b038816845290915281205561117b565b61115681846114d3565b3360009081526009602090815260408083206001600160a01b03891684529091529020555b3360008181526009602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000806111f96007548461153890919063ffffffff16565b3360009081526008602052604090205490915061121690826114d3565b33600090815260086020526040808220929092556001600160a01b038616815220546112429082611451565b6001600160a01b0385166000818152600860209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b6112d461144d565b6000546001600160a01b03908116911614611324576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6001600160a01b0381166113695760405162461bcd60e51b81526004018080602001828103825260268152602001806117f96026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b82516113d790600190602086019061168d565b5081516113eb90600290602085019061168d565b506003805460ff191660ff929092169190911790555050565b600061144683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611591565b9392505050565b3390565b600082820183811015611446576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000600160ff1b8214156114be57600080fd5b600082126114cc5781610651565b5060000390565b600061144683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611633565b6000806040516020840160008286518360008a6187965a03f19695505050505050565b60008261154757506000610651565b8282028284828161155457fe5b04146114465760405162461bcd60e51b81526004018080602001828103825260218152602001806118476021913960400191505060405180910390fd5b6000818361161d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115e25781810151838201526020016115ca565b50505050905090810190601f16801561160f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161162957fe5b0495945050505050565b600081848411156116855760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115e25781810151838201526020016115ca565b505050900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826116c35760008555611709565b82601f106116dc57805160ff1916838001178555611709565b82800160010185558215611709579182015b828111156117095782518255916020019190600101906116ee565b506117159291506117e3565b5090565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261174f5760008555611709565b82601f106117605780548555611709565b8280016001018555821561170957600052602060002091601f016020900482015b82811115611709578254825591600101919060010190611781565b50805460018160011615610100020316600290046000825580601f106117c257506117e0565b601f0160209004906000526020600020908101906117e091906117e3565b50565b5b8082111561171557600081556001016117e456fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373696e646578206d75737420626520696e2072616e6765206f662073746f726564207478206c697374536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122005dbc14a903ff8be3ce93490d01dbd1d2f370e9c85939ffa03103e06f4c4935364736f6c63430007050033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad5780639ace38c2116100715780639ace38c214610401578063a457c2d7146104af578063a9059cbb146104db578063dd62ed3e14610507578063f2fde38b146105355761012c565b806370a082311461039f578063715018a6146103c55780638da5cb5b146103cd57806391d4ec18146103f157806395d89b41146103f95761012c565b806323b872dd116100f457806323b872dd146102dd578063313ce56714610313578063395093511461033157806346c3bd1f1461035d5780636e9dde991461037a5761012c565b806306fdde0314610131578063095ea7b3146101ae5780630ab114f9146101ee578063126e19be1461021d57806318160ddd146102d5575b600080fd5b61013961055b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b0381351690602001356105f0565b604080519115158252519081900360200190f35b61020b6004803603602081101561020457600080fd5b5035610657565b60408051918252519081900360200190f35b6102d36004803603604081101561023357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561025e57600080fd5b82018360208201111561027057600080fd5b8035906020019184600183028401116401000000008311171561029257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109b5945050505050565b005b61020b610ad6565b6101da600480360360608110156102f357600080fd5b506001600160a01b03813581169160208101359091169060400135610adc565b61031b610bf6565b6040805160ff9092168252519081900360200190f35b6101da6004803603604081101561034757600080fd5b506001600160a01b038135169060200135610bff565b6102d36004803603602081101561037357600080fd5b5035610c92565b6102d36004803603604081101561039057600080fd5b50803590602001351515610e2a565b61020b600480360360208110156103b557600080fd5b50356001600160a01b0316610ef3565b6102d3610f1b565b6103d5610fbd565b604080516001600160a01b039092168252519081900360200190f35b61020b610fcc565b610139610fd2565b61041e6004803603602081101561041757600080fd5b5035611030565b604051808415158152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561047257818101518382015260200161045a565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b6101da600480360360408110156104c557600080fd5b506001600160a01b0381351690602001356110f8565b6101da600480360360408110156104f157600080fd5b506001600160a01b0381351690602001356111e1565b61020b6004803603604081101561051d57600080fd5b506001600160a01b03813581169160200135166112a1565b6102d36004803603602081101561054b57600080fd5b50356001600160a01b03166112cc565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156105e65780601f106105bb576101008083540402835291602001916105e6565b820191906000526020600020905b8154815290600101906020018083116105c957829003601f168201915b5050505050905090565b3360008181526009602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600061066161144d565b6000546001600160a01b039081169116146106b1576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6005546106bf906001611451565b600555816107085760055460065460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a2506006546109b0565b600082121561072e5761072661071d836114ab565b600654906114d3565b60065561073f565b60065461073b9083611451565b6006555b6006546001600160801b03101561075c576001600160801b036006555b600654610771906507326b47ffff1990611404565b60075560055460065460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a260005b6004548110156109aa576000600482815481106107c857fe5b60009182526020909120600290910201805490915060ff16156109a15780546001808301805460408051602060026101009685161587026000190190941693909304601f81018490048402820184019092528181526000956108909590046001600160a01b03169390929091908301828280156108865780601f1061085b57610100808354040283529160200191610886565b820191906000526020600020905b81548152906001019060200180831161086957829003601f168201915b5050505050611515565b90508061099f5781546040805185815260208101828152600180870180546002610100938216158402600019019091160494840185905294046001600160a01b0316937f8091ecaaa54ebb82e02d36c2c336528e0fcb9b3430fc1291ac88295032b9c26393889391929060608301908490801561094e5780601f106109235761010080835404028352916020019161094e565b820191906000526020600020905b81548152906001019060200180831161093157829003601f168201915b5050935050505060405180910390a26040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8811985a5b195960721b604482015290519081900360640190fd5b505b506001016107af565b50506006545b919050565b6109bd61144d565b6000546001600160a01b03908116911614610a0d576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6040805160608101825260018082526001600160a01b038086166020808501918252948401868152600480549485018155600052845160029094027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b81018054935190941661010002610100600160a81b031995151560ff19909416939093179490941691909117825551805193949193610acf937f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c0192919091019061168d565b5050505050565b60065490565b6001600160a01b0383166000908152600960209081526040808320338452909152812054610b0a90836114d3565b6001600160a01b0385166000908152600960209081526040808320338452909152812091909155600754610b3f908490611538565b6001600160a01b038616600090815260086020526040902054909150610b6590826114d3565b6001600160a01b038087166000908152600860205260408082209390935590861681522054610b949082611451565b6001600160a01b0380861660008181526008602090815260409182902094909455805187815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b60035460ff1690565b3360009081526009602090815260408083206001600160a01b0386168452909152812054610c2d9083611451565b3360008181526009602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b610c9a61144d565b6000546001600160a01b03908116911614610cea576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6004548110610d36576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b60045460001901811015610de757600480546000198101908110610d5657fe5b906000526020600020906002020160048281548110610d7157fe5b6000918252602090912082546002928302909101805460ff191660ff9092161515919091178082558354610100600160a81b0319909116610100918290046001600160a01b03168202178255600180850180549394610de3948387019492938116159092026000190190911604611719565b5050505b6004805480610df257fe5b60008281526020812060026000199093019283020180546001600160a81b031916815590610e23600183018261179c565b5050905550565b610e3261144d565b6000546001600160a01b03908116911614610e82576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6004548210610ec25760405162461bcd60e51b815260040180806020018281038252602881526020018061181f6028913960400191505060405180910390fd5b8060048381548110610ed057fe5b60009182526020909120600290910201805460ff19169115159190911790555050565b6007546001600160a01b03821660009081526008602052604081205490916106519190611404565b610f2361144d565b6000546001600160a01b03908116911614610f73576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60045490565b60028054604080516020601f60001961010060018716150201909416859004938401819004810282018101909252828152606093909290918301828280156105e65780601f106105bb576101008083540402835291602001916105e6565b6004818154811061104057600080fd5b6000918252602091829020600291820201805460018083018054604080516101009483161585026000190190921696909604601f810188900488028201880190965285815260ff84169750919092046001600160a01b031694929390928301828280156110ee5780601f106110c3576101008083540402835291602001916110ee565b820191906000526020600020905b8154815290600101906020018083116110d157829003601f168201915b5050505050905083565b3360009081526009602090815260408083206001600160a01b038616845290915281205480831061114c573360009081526009602090815260408083206001600160a01b038816845290915281205561117b565b61115681846114d3565b3360009081526009602090815260408083206001600160a01b03891684529091529020555b3360008181526009602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000806111f96007548461153890919063ffffffff16565b3360009081526008602052604090205490915061121690826114d3565b33600090815260086020526040808220929092556001600160a01b038616815220546112429082611451565b6001600160a01b0385166000818152600860209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b6112d461144d565b6000546001600160a01b03908116911614611324576040805162461bcd60e51b81526020600482018190526024820152600080516020611868833981519152604482015290519081900360640190fd5b6001600160a01b0381166113695760405162461bcd60e51b81526004018080602001828103825260268152602001806117f96026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b82516113d790600190602086019061168d565b5081516113eb90600290602085019061168d565b506003805460ff191660ff929092169190911790555050565b600061144683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611591565b9392505050565b3390565b600082820183811015611446576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000600160ff1b8214156114be57600080fd5b600082126114cc5781610651565b5060000390565b600061144683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611633565b6000806040516020840160008286518360008a6187965a03f19695505050505050565b60008261154757506000610651565b8282028284828161155457fe5b04146114465760405162461bcd60e51b81526004018080602001828103825260218152602001806118476021913960400191505060405180910390fd5b6000818361161d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115e25781810151838201526020016115ca565b50505050905090810190601f16801561160f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161162957fe5b0495945050505050565b600081848411156116855760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115e25781810151838201526020016115ca565b505050900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826116c35760008555611709565b82601f106116dc57805160ff1916838001178555611709565b82800160010185558215611709579182015b828111156117095782518255916020019190600101906116ee565b506117159291506117e3565b5090565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261174f5760008555611709565b82601f106117605780548555611709565b8280016001018555821561170957600052602060002091601f016020900482015b82811115611709578254825591600101919060010190611781565b50805460018160011615610100020316600290046000825580601f106117c257506117e0565b601f0160209004906000526020600020908101906117e091906117e3565b50565b5b8082111561171557600081556001016117e456fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373696e646578206d75737420626520696e2072616e6765206f662073746f726564207478206c697374536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122005dbc14a903ff8be3ce93490d01dbd1d2f370e9c85939ffa03103e06f4c4935364736f6c63430007050033
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.