ERC-20
DeFi
Overview
Max Total Supply
88,888 VRN
Holders
741 (0.00%)
Market
Price
$1.97 @ 0.000593 ETH (+0.60%)
Onchain Market Cap
$175,109.36
Circulating Supply Market Cap
$95,556.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000000000001 VRNValue
$0.00 ( ~0 Eth) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|---|---|---|---|---|
1 | Sushiswap | 0X72377F31E30A405282B522D588AEBBEA202B4F23-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.93 0.0005833 Eth | $729.40 384.094 0X72377F31E30A405282B522D588AEBBEA202B4F23 | 100.0000% |
Contract Name:
Varen
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT /* ____ ____ __ _______ _________ ____ _____ |_ _| |_ _| / \ |_ __ \ |_ ___ | |_ \|_ _| \ \ / / / /\ \ | |__) | | |_ \_| | \ | | \ \ / / / ____ \ | __ / | _| _ | |\ \| | \ ' / _/ / \ \_ _| | \ \_ _| |___/ | _| |_\ |_ \_/ |____| |____| |____| |___| |_________| |_____|\____| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ pragma solidity 0.8.4; import "./IERC677.sol"; import "./SafeMath.sol"; contract Varen is IERC677 { using SafeMath for uint256; /// @notice EIP-20 token name for this token string public constant override name = 'Varen'; /// @notice EIP-20 token symbol for this token string public constant override symbol = 'VRN'; /// @notice EIP-20 token decimals for this token uint8 public constant override decimals = 18; /// @notice Total number of tokens in circulation: 88,888 uint256 public constant override totalSupply = 88888e18; /// @notice Allowance amounts on behalf of others mapping (address => mapping (address => uint256)) private _allowances; /// @notice Official record of token balances for each account mapping (address => uint256) private _balances; /// @notice Initial treasury of Varen address private constant TREASURY = 0xE69A81b96FBF5Cb6CAe95d2cE5323Eff2bA0EAE4; /// @notice Construct Varen token and allocate all tokens to treasury constructor() { _balances[TREASURY] = totalSupply; emit Transfer(address(0), TREASURY, totalSupply); } /** * @notice Get the number of tokens held by `account` * @param account The address of the account to get the balance of * @return The number of tokens held */ function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } /** * @notice Get the number of tokens `spender` is approved to spend on behalf of `owner` * @param owner The address of the account holding the funds * @param spender The address of the account spending the funds * @return The number of tokens approved */ function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } /** * @notice Transfer `amount` tokens from `msg.sender` to `recipient` * @param recipient The address of the destination account * @param amount The number of tokens to transfer * @return Whether or not the transfer succeeded */ function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } /** * @notice Transfer `amount` tokens from `msg.sender` to `recipient` and call the recipient if it is a contract * @param recipient The address of the destination account * @param amount The number of tokens to transfer * @param data The extra data to be passed to the receiving contract. * @return Whether or not the transfer succeeded */ function transferAndCall(address recipient, uint amount, bytes memory data) public override returns (bool) { _transfer(msg.sender, recipient, amount); emit Transfer(msg.sender, recipient, amount, data); if (_isContract(recipient)) { IERC677Receiver(recipient).onTokenTransfer(msg.sender, amount, data); } return true; } /** * @notice Transfer `amount` tokens from `sender` to `recipient` * @param sender The address of the source account * @param recipient The address of the destination account * @param amount The number of tokens to transfer * @return Whether or not the transfer succeeded */ function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "amount exceeds allowance")); return true; } /** * @notice Approve `spender` to transfer up to `amount` from `msg.sender` * @dev This will overwrite the approval amount for `spender` * and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve) * * @param spender The address of the account which may transfer tokens * @param amount The number of tokens that are approved * @return Whether or not the approval succeeded */ function approve(address spender, uint256 amount) public override returns (bool) { _approve(msg.sender, spender, amount); return true; } /** * @notice Atomically increase the allowance granted to `spender` by msg.sender. * @dev This is an alternative to {approve} that can be used as a mitigation for * problems described [here](https://eips.ethereum.org/EIPS/eip-20#approve) * * @param spender The address of the account for which the allowance has to be increased * @param addedValue The number of tokens to increase the allowance by * @return Whether or not the allowance was successfully increased */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue)); return true; } /** * @notice Atomically decrease the allowance granted to `spender` by msg.sender. * @dev This is an alternative to {approve} that can be used as a mitigation for * problems described [here](https://eips.ethereum.org/EIPS/eip-20#approve) * * @param spender The address of the account for which the allowance has to be decreased * @param subtractedValue The number of tokens to decrease the allowance by * @return Whether or not the allowance was successfully decreased */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue, "decreased allowance below zero")); return true; } function _transfer(address sender, address recipient, uint256 amount) private { _balances[sender] = _balances[sender].sub(amount, "amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } function _approve(address owner, address spender, uint256 amount) private { _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _isContract(address addr) private view returns (bool) { uint256 length; assembly { length := extcodesize(addr) } return length > 0; } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.4; interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address account) external view returns (uint); function transfer(address recipient, uint amount) external returns (bool); function transferFrom(address sender, address recipient, uint amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed owner, address indexed spender, uint value); } interface IERC677 is IERC20 { function transferAndCall(address recipient, uint amount, bytes memory data) external returns (bool success); event Transfer(address indexed from, address indexed to, uint value, bytes data); } interface IERC677Receiver { function onTokenTransfer(address sender, uint value, bytes memory data) external; }
// SPDX-License-Identifier: MIT pragma solidity 0.8.4; 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) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } /** * @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) { 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, reverting 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) { require(b > 0, "SafeMath: division by zero"); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting 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) { require(b > 0, "SafeMath: modulo by zero"); return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * 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); return a - b; } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryDiv}. * * 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); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * 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; } }
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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"Transfer","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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","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":"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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5073e69a81b96fbf5cb6cae95d2ce5323eff2ba0eae46000818152600160209081526912d2a0cd7b3129e000007fd14f6c126682aecef55f7628bd2b505c4e17122948204a1fb14682d624c63b798190556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610ab8806100a16000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80634000aea011610081578063a457c2d71161005b578063a457c2d714610232578063a9059cbb14610245578063dd62ed3e1461025857600080fd5b80634000aea0146101ad57806370a08231146101c057806395d89b41146101f657600080fd5b806323b872dd116100b257806323b872dd1461016d578063313ce56714610180578063395093511461019a57600080fd5b806306fdde03146100d9578063095ea7b31461012b57806318160ddd1461014e575b600080fd5b6101156040518060400160405280600581526020017f566172656e00000000000000000000000000000000000000000000000000000081525081565b60405161012291906109c9565b60405180910390f35b61013e610139366004610815565b61029c565b6040519015158152602001610122565b61015f6912d2a0cd7b3129e0000081565b604051908152602001610122565b61013e61017b3660046107da565b6102b2565b610188601281565b60405160ff9091168152602001610122565b61013e6101a8366004610815565b610345565b61013e6101bb36600461083e565b610386565b61015f6101ce36600461078e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b6101156040518060400160405280600381526020017f56524e000000000000000000000000000000000000000000000000000000000081525081565b61013e610240366004610815565b610493565b61013e610253366004610815565b61050c565b61015f6102663660046107a8565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526020818152604080832093909416825291909152205490565b60006102a9338484610519565b50600192915050565b60006102bf848484610586565b604080518082018252601881527f616d6f756e74206578636565647320616c6c6f77616e6365000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff87166000908152808252838120338083529252929092205461033b928792909161033691879061068b565b610519565b5060019392505050565b3360008181526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102a991859061033690866106e5565b6000610393338585610586565b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040516103f29291906109dc565b60405180910390a3833b1561033b576040517fa4c0ed3600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063a4c0ed36906104579033908790879060040161098b565b600060405180830381600087803b15801561047157600080fd5b505af1158015610485573d6000803e3d6000fd5b505050505060019392505050565b604080518082018252601e81527f64656372656173656420616c6c6f77616e63652062656c6f77207a65726f000060208083019190915233600081815280835284812073ffffffffffffffffffffffffffffffffffffffff881682529092529281205490926102a992909186916103369190879061068b565b60006102a9338484610586565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b604080518082018252601681527f616d6f756e7420657863656564732062616c616e63650000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff86166000908152600190915291909120546105ee91839061068b565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220939093559084168152205461062a90826106e5565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105799085815260200190565b600081848411156106d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c991906109c9565b60405180910390fd5b506106dd8385610a0d565b949350505050565b6000806106f283856109f5565b90508381101561075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106c9565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461078957600080fd5b919050565b60006020828403121561079f578081fd5b61075e82610765565b600080604083850312156107ba578081fd5b6107c383610765565b91506107d160208401610765565b90509250929050565b6000806000606084860312156107ee578081fd5b6107f784610765565b925061080560208501610765565b9150604084013590509250925092565b60008060408385031215610827578182fd5b61083083610765565b946020939093013593505050565b600080600060608486031215610852578283fd5b61085b84610765565b925060208401359150604084013567ffffffffffffffff8082111561087e578283fd5b818601915086601f830112610891578283fd5b8135818111156108a3576108a3610a53565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156108e9576108e9610a53565b81604052828152896020848701011115610901578586fd5b82602086016020830137856020848301015280955050505050509250925092565b60008151808452815b818110156109475760208185018101518683018201520161092b565b818111156109585782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff841681528260208201526060604082015260006109c06060830184610922565b95945050505050565b60208152600061075e6020830184610922565b8281526040602082015260006106dd6040830184610922565b60008219821115610a0857610a08610a24565b500190565b600082821015610a1f57610a1f610a24565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fe6ab997cc9a03f47c32875c8763289fcfeb7227aeb59d5e6d2c600bdd35b1ee64736f6c63430008040033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80634000aea011610081578063a457c2d71161005b578063a457c2d714610232578063a9059cbb14610245578063dd62ed3e1461025857600080fd5b80634000aea0146101ad57806370a08231146101c057806395d89b41146101f657600080fd5b806323b872dd116100b257806323b872dd1461016d578063313ce56714610180578063395093511461019a57600080fd5b806306fdde03146100d9578063095ea7b31461012b57806318160ddd1461014e575b600080fd5b6101156040518060400160405280600581526020017f566172656e00000000000000000000000000000000000000000000000000000081525081565b60405161012291906109c9565b60405180910390f35b61013e610139366004610815565b61029c565b6040519015158152602001610122565b61015f6912d2a0cd7b3129e0000081565b604051908152602001610122565b61013e61017b3660046107da565b6102b2565b610188601281565b60405160ff9091168152602001610122565b61013e6101a8366004610815565b610345565b61013e6101bb36600461083e565b610386565b61015f6101ce36600461078e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b6101156040518060400160405280600381526020017f56524e000000000000000000000000000000000000000000000000000000000081525081565b61013e610240366004610815565b610493565b61013e610253366004610815565b61050c565b61015f6102663660046107a8565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526020818152604080832093909416825291909152205490565b60006102a9338484610519565b50600192915050565b60006102bf848484610586565b604080518082018252601881527f616d6f756e74206578636565647320616c6c6f77616e6365000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff87166000908152808252838120338083529252929092205461033b928792909161033691879061068b565b610519565b5060019392505050565b3360008181526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102a991859061033690866106e5565b6000610393338585610586565b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040516103f29291906109dc565b60405180910390a3833b1561033b576040517fa4c0ed3600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063a4c0ed36906104579033908790879060040161098b565b600060405180830381600087803b15801561047157600080fd5b505af1158015610485573d6000803e3d6000fd5b505050505060019392505050565b604080518082018252601e81527f64656372656173656420616c6c6f77616e63652062656c6f77207a65726f000060208083019190915233600081815280835284812073ffffffffffffffffffffffffffffffffffffffff881682529092529281205490926102a992909186916103369190879061068b565b60006102a9338484610586565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b604080518082018252601681527f616d6f756e7420657863656564732062616c616e63650000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff86166000908152600190915291909120546105ee91839061068b565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220939093559084168152205461062a90826106e5565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105799085815260200190565b600081848411156106d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c991906109c9565b60405180910390fd5b506106dd8385610a0d565b949350505050565b6000806106f283856109f5565b90508381101561075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106c9565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461078957600080fd5b919050565b60006020828403121561079f578081fd5b61075e82610765565b600080604083850312156107ba578081fd5b6107c383610765565b91506107d160208401610765565b90509250929050565b6000806000606084860312156107ee578081fd5b6107f784610765565b925061080560208501610765565b9150604084013590509250925092565b60008060408385031215610827578182fd5b61083083610765565b946020939093013593505050565b600080600060608486031215610852578283fd5b61085b84610765565b925060208401359150604084013567ffffffffffffffff8082111561087e578283fd5b818601915086601f830112610891578283fd5b8135818111156108a3576108a3610a53565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156108e9576108e9610a53565b81604052828152896020848701011115610901578586fd5b82602086016020830137856020848301015280955050505050509250925092565b60008151808452815b818110156109475760208185018101518683018201520161092b565b818111156109585782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff841681528260208201526060604082015260006109c06060830184610922565b95945050505050565b60208152600061075e6020830184610922565b8281526040602082015260006106dd6040830184610922565b60008219821115610a0857610a08610a24565b500190565b600082821015610a1f57610a1f610a24565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fe6ab997cc9a03f47c32875c8763289fcfeb7227aeb59d5e6d2c600bdd35b1ee64736f6c63430008040033
Deployed Bytecode Sourcemap
984:6450:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1102:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;5116:156;;;;;;:::i;:::-;;:::i;:::-;;;3592:14:3;;3585:22;3567:41;;3555:2;3540:18;5116:156:2;3522:92:3;1437:55:2;;1484:8;1437:55;;;;;4345:25:3;;;4333:2;4318:18;1437:55:2;4300:76:3;4372:289:2;;;;;;:::i;:::-;;:::i;1320:44::-;;1362:2;1320:44;;;;;4846:4:3;4834:17;;;4816:36;;4804:2;4789:18;1320:44:2;4771:87:3;5797:203:2;;;;;;:::i;:::-;;:::i;3661:391::-;;;;;;:::i;:::-;;:::i;2285:117::-;;;;;;:::i;:::-;2377:18;;2351:7;2377:18;;;:9;:18;;;;;;;2285:117;1210:46;;;;;;;;;;;;;;;;;;;;;6530:247;;;;;;:::i;:::-;;:::i;3108:162::-;;;;;;:::i;:::-;;:::i;2698:141::-;;;;;;:::i;:::-;2805:18;;;;2779:7;2805:18;;;;;;;;;;;:27;;;;;;;;;;;;;2698:141;5116:156;5191:4;5207:37;5216:10;5228:7;5237:6;5207:8;:37::i;:::-;-1:-1:-1;5261:4:2;5116:156;;;;:::o;4372:289::-;4470:4;4486:36;4496:6;4504:9;4515:6;4486:9;:36::i;:::-;4561:71;;;;;;;;;;;;;;;;;;;;:19;;;-1:-1:-1;4561:19:2;;;;;;;;;4549:10;4561:31;;;;;;;;;;4532:101;;4541:6;;4549:10;;4561:71;;4597:6;;4561:35;:71::i;:::-;4532:8;:101::i;:::-;-1:-1:-1;4650:4:2;4372:289;;;;;:::o;5797:203::-;5902:10;5877:4;5923:23;;;;;;;;;;;;:32;;;;;;;;;;5877:4;;5893:79;;5914:7;;5923:48;;5960:10;5923:36;:48::i;3661:391::-;3762:4;3778:40;3788:10;3800:9;3811:6;3778:9;:40::i;:::-;3854:9;3833:45;;3842:10;3833:45;;;3865:6;3873:4;3833:45;;;;;;;:::i;:::-;;;;;;;;7380:17;;7415:10;3897:119;;3937:68;;;;;:42;;;;;;:68;;3980:10;;3992:6;;4000:4;;3937:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4041:4:2;3661:391;;;;;:::o;6530:247::-;6661:87;;;;;;;;;;;;;;;;;;;;6640:10;6615:4;6661:23;;;;;;;;;;:32;;;;;;;;;;;6615:4;;6631:118;;6640:10;;6652:7;;6661:87;;:32;6698:15;;6661:36;:87::i;3108:162::-;3186:4;3202:40;3212:10;3224:9;3235:6;3202:9;:40::i;7082:174::-;7166:18;;;;:11;:18;;;;;;;;;;;:27;;;;;;;;;;;;;:36;;;7217:32;;4345:25:3;;;7217:32:2;;4318:18:3;7217:32:2;;;;;;;;7082:174;;;:::o;6787:285::-;6895:55;;;;;;;;;;;;;;;;;;;;:17;;;-1:-1:-1;6895:17:2;;;:9;:17;;;;;;;;:55;;6917:6;;6895:21;:55::i;:::-;6875:17;;;;;;;;:9;:17;;;;;;:75;;;;6983:20;;;;;;;:32;;7008:6;6983:24;:32::i;:::-;6960:20;;;;;;;;:9;:20;;;;;;;:55;;;;7030:35;;;;;;;;;;7058:6;4345:25:3;;4333:2;4318:18;;4300:76;3051:163:1;3137:7;3172:12;3164:6;;;;3156:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;3202:5:1;3206:1;3202;:5;:::i;:::-;3195:12;3051:163;-1:-1:-1;;;;3051:163:1:o;309:175::-;367:7;;398:5;402:1;398;:5;:::i;:::-;386:17;;426:1;421;:6;;413:46;;;;;;;4045:2:3;413:46:1;;;4027:21:3;4084:2;4064:18;;;4057:30;4123:29;4103:18;;;4096:57;4170:18;;413:46:1;4017:177:3;413:46:1;476:1;309:175;-1:-1:-1;;;309:175:1:o;14:196:3:-;82:20;;142:42;131:54;;121:65;;111:2;;200:1;197;190:12;111:2;63:147;;;:::o;215:196::-;274:6;327:2;315:9;306:7;302:23;298:32;295:2;;;348:6;340;333:22;295:2;376:29;395:9;376:29;:::i;416:270::-;484:6;492;545:2;533:9;524:7;520:23;516:32;513:2;;;566:6;558;551:22;513:2;594:29;613:9;594:29;:::i;:::-;584:39;;642:38;676:2;665:9;661:18;642:38;:::i;:::-;632:48;;503:183;;;;;:::o;691:338::-;768:6;776;784;837:2;825:9;816:7;812:23;808:32;805:2;;;858:6;850;843:22;805:2;886:29;905:9;886:29;:::i;:::-;876:39;;934:38;968:2;957:9;953:18;934:38;:::i;:::-;924:48;;1019:2;1008:9;1004:18;991:32;981:42;;795:234;;;;;:::o;1034:264::-;1102:6;1110;1163:2;1151:9;1142:7;1138:23;1134:32;1131:2;;;1184:6;1176;1169:22;1131:2;1212:29;1231:9;1212:29;:::i;:::-;1202:39;1288:2;1273:18;;;;1260:32;;-1:-1:-1;;;1121:177:3:o;1303:1167::-;1389:6;1397;1405;1458:2;1446:9;1437:7;1433:23;1429:32;1426:2;;;1479:6;1471;1464:22;1426:2;1507:29;1526:9;1507:29;:::i;:::-;1497:39;;1583:2;1572:9;1568:18;1555:32;1545:42;;1638:2;1627:9;1623:18;1610:32;1661:18;1702:2;1694:6;1691:14;1688:2;;;1723:6;1715;1708:22;1688:2;1766:6;1755:9;1751:22;1741:32;;1811:7;1804:4;1800:2;1796:13;1792:27;1782:2;;1838:6;1830;1823:22;1782:2;1879;1866:16;1901:2;1897;1894:10;1891:2;;;1907:18;;:::i;:::-;2041:2;2035:9;2103:4;2095:13;;1946:66;2091:22;;;2115:2;2087:31;2083:40;2071:53;;;2139:18;;;2159:22;;;2136:46;2133:2;;;2185:18;;:::i;:::-;2225:10;2221:2;2214:22;2260:2;2252:6;2245:18;2300:7;2295:2;2290;2286;2282:11;2278:20;2275:33;2272:2;;;2326:6;2318;2311:22;2272:2;2387;2382;2378;2374:11;2369:2;2361:6;2357:15;2344:46;2432:6;2427:2;2422;2414:6;2410:15;2406:24;2399:40;2458:6;2448:16;;;;;;;1416:1054;;;;;:::o;2475:534::-;2516:3;2554:5;2548:12;2581:6;2576:3;2569:19;2606:3;2618:162;2632:6;2629:1;2626:13;2618:162;;;2694:4;2750:13;;;2746:22;;2740:29;2722:11;;;2718:20;;2711:59;2647:12;2618:162;;;2798:6;2795:1;2792:13;2789:2;;;2864:3;2857:4;2848:6;2843:3;2839:16;2835:27;2828:40;2789:2;-1:-1:-1;2923:2:3;2911:15;2928:66;2907:88;2898:98;;;;2998:4;2894:109;;2524:485;-1:-1:-1;;2524:485:3:o;3014:408::-;3229:42;3221:6;3217:55;3206:9;3199:74;3309:6;3304:2;3293:9;3289:18;3282:34;3352:2;3347;3336:9;3332:18;3325:30;3180:4;3372:44;3412:2;3401:9;3397:18;3389:6;3372:44;:::i;:::-;3364:52;3189:233;-1:-1:-1;;;;;3189:233:3:o;3619:219::-;3768:2;3757:9;3750:21;3731:4;3788:44;3828:2;3817:9;3813:18;3805:6;3788:44;:::i;4381:288::-;4556:6;4545:9;4538:25;4599:2;4594;4583:9;4579:18;4572:30;4519:4;4619:44;4659:2;4648:9;4644:18;4636:6;4619:44;:::i;4863:128::-;4903:3;4934:1;4930:6;4927:1;4924:13;4921:2;;;4940:18;;:::i;:::-;-1:-1:-1;4976:9:3;;4911:80::o;4996:125::-;5036:4;5064:1;5061;5058:8;5055:2;;;5069:18;;:::i;:::-;-1:-1:-1;5106:9:3;;5045:76::o;5126:184::-;5178:77;5175:1;5168:88;5275:4;5272:1;5265:15;5299:4;5296:1;5289:15;5315:184;5367:77;5364:1;5357:88;5464:4;5461:1;5454:15;5488:4;5485:1;5478:15
Swarm Source
ipfs://fe6ab997cc9a03f47c32875c8763289fcfeb7227aeb59d5e6d2c600bdd35b1ee
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.