ERC-20
Overview
Max Total Supply
110,000,000 PHNX
Holders
1,777
Total Transfers
-
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$27,909.20
Circulating Supply Market Cap
$13,167.27
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PhoenixDAO
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity Multiple files format)
/** *Submitted for verification at Etherscan.io on 2020-05-10 */ pragma solidity 0.6.6; import "./Ownable.sol"; import "./SafeMath.sol"; interface PhoenixAuth { function authenticate(address _sender, uint _value, uint _challenge, uint _partnerId) external; } interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes calldata _extraData) external; } contract PhoenixDAO is Ownable { using SafeMath for uint256; string public name = "PhoenixDAO"; //The Token's name: e.g. DigixDAO Tokens uint8 public decimals = 18; //Number of decimals of the smallest unit string public symbol = "PHNX"; //An identifier: e.g. REP uint public totalSupply; address public phoenixAuthAddress = address(0); address public initialOwner; mapping (address => uint256) public balances; // `allowed` tracks any extra transfer rights as in all ERC20 tokens mapping (address => mapping (address => uint256)) public allowed; //////////////// // Constructor //////////////// /// @notice Constructor to create a PhoenixToken constructor() public { totalSupply = 110000000 * 10**18; // Give the creator all initial tokens balances[msg.sender] = totalSupply; initialOwner = msg.sender; } /////////////////// // ERC20 Methods /////////////////// /// @notice Send `_amount` tokens to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _amount The amount of tokens to be transferred /// @return success Whether the transfer was successful or not function transfer(address _to, uint256 _amount) public returns (bool success) { doTransfer(msg.sender, _to, _amount); return true; } /// @notice Send `_amount` tokens to `_to` from `_from` on the condition it /// is approved by `_from` /// @param _from The address holding the tokens being transferred /// @param _to The address of the recipient /// @param _amount The amount of tokens to be transferred /// @return success True if the transfer was successful function transferFrom(address _from, address _to, uint256 _amount ) public returns (bool success) { // The standard ERC 20 transferFrom functionality require(allowed[_from][msg.sender] >= _amount); allowed[_from][msg.sender] -= _amount; doTransfer(_from, _to, _amount); return true; } /// @dev This is the actual transfer function in the token contract, it can /// only be called by other functions in this contract. /// @param _from The address holding the tokens being transferred /// @param _to The address of the recipient /// @param _amount The amount of tokens to be transferred function doTransfer(address _from, address _to, uint _amount ) internal { // Do not allow transfer to 0x0 or the token contract itself require((_to != address(0)) && (_to != address(this))); require(_amount <= balances[_from]); balances[_from] = balances[_from].sub(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(_from, _to, _amount); } /// @param _owner address to check balance for /// @return balance The balance of `_owner` function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } /// @notice `msg.sender` approves `_spender` to spend `_amount` tokens on /// its behalf. This is a modified version of the ERC20 approve function /// to be a little bit safer /// @param _spender The address of the account able to transfer the tokens /// @param _amount The amount of tokens to be approved for transfer /// @return success True if the approval was successful function approve(address _spender, uint256 _amount) public returns (bool success) { // To change the approve amount you first have to reduce the addresses` // allowance to zero by calling `approve(_spender,0)` if it is not // already 0 to mitigate the race condition described here: // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 require((_amount == 0) || (allowed[msg.sender][_spender] == 0)); allowed[msg.sender][_spender] = _amount; emit Approval(msg.sender, _spender, _amount); return true; } function approveAndCall(address _spender, uint256 _value, bytes memory _extraData) public returns (bool success) { tokenRecipient spender = tokenRecipient(_spender); if (approve(_spender, _value)) { spender.receiveApproval(msg.sender, _value, address(this), _extraData); return true; } } /// @dev This function burns _value amount of tokens from msg.sender account. Can be executed only by owner. /// @param _value Amount of tokens to burn. function burn(uint256 _value) public onlyOwner { require(balances[msg.sender] >= _value); balances[msg.sender] = balances[msg.sender].sub(_value); totalSupply = totalSupply.sub(_value); } /// @dev This function makes it easy to read the `allowed[]` map /// @param _owner The address of the account that owns the token /// @param _spender The address of the account able to transfer the tokens /// @return remaining Amount of remaining tokens of _owner that _spender is allowed /// to spend function allowance(address _owner, address _spender ) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } function setPhoenixAuthAddress(address _auth) public onlyOwner { phoenixAuthAddress = _auth; } function authenticate(uint _value, uint _challenge, uint _partnerId) public { PhoenixAuth phoenix = PhoenixAuth(phoenixAuthAddress); phoenix.authenticate(msg.sender, _value, _challenge, _partnerId); doTransfer(msg.sender, owner, _value); } function setBalances(address[] memory _addressList, uint[] memory _amounts) public onlyOwner { require(_addressList.length == _amounts.length); for (uint i = 0; i < _addressList.length; i++) { require(balances[_addressList[i]] == 0); transfer(_addressList[i], _amounts[i]); } } event Transfer(address indexed _from,address indexed _to,uint256 _amount); event Approval( address indexed _owner, address indexed _spender, uint256 _amount ); event Burn( address indexed _burner, uint256 _amount ); }
pragma solidity 0.6.6; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } }
pragma solidity 0.6.6; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } }
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":"_amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Burn","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":"_amount","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":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","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":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_challenge","type":"uint256"},{"internalType":"uint256","name":"_partnerId","type":"uint256"}],"name":"authenticate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"phoenixAuthAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addressList","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"setBalances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_auth","type":"address"}],"name":"setPhoenixAuthAddress","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":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c0604052600a60808190526950686f656e697844414f60b01b60a090815261002b91600191906100ca565b506002805460ff19166012179055604080518082019091526004808252630a0909cb60e31b6020909201918252610064916003916100ca565b50600580546001600160a01b031916905534801561008157600080fd5b5060008054336001600160a01b0319918216811783556a5afd67f2dc0e1b2e00000060048190558184526007602052604090932092909255600680549091169091179055610165565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061010b57805160ff1916838001178555610138565b82800160010185558215610138579182015b8281111561013857825182559160200191906001019061011d565b50610144929150610148565b5090565b61016291905b80821115610144576000815560010161014e565b90565b610d8c806101746000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80635c658165116100ad578063b7e39b4f11610071578063b7e39b4f146103a4578063bf0fecd1146104cb578063cae9ca51146104d3578063dd62ed3e1461058e578063f2fde38b146105bc5761012c565b80635c6581651461031457806370a08231146103425780638da5cb5b1461036857806395d89b4114610370578063a9059cbb146103785761012c565b806327e235e3116100f457806327e235e31461026957806329ba7bb21461028f5780632c1ce59c146102b3578063313ce567146102d957806342966c68146102f75761012c565b8063053011b71461013157806306fdde031461015c578063095ea7b3146101d957806318160ddd1461021957806323b872dd14610233575b600080fd5b61015a6004803603606081101561014757600080fd5b50803590602081013590604001356105e2565b005b61016461067a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019e578181015183820152602001610186565b50505050905090810190601f1680156101cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610205600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610707565b604080519115158252519081900360200190f35b6102216107a7565b60408051918252519081900360200190f35b6102056004803603606081101561024957600080fd5b506001600160a01b038135811691602081013590911690604001356107ad565b6102216004803603602081101561027f57600080fd5b50356001600160a01b031661081d565b61029761082f565b604080516001600160a01b039092168252519081900360200190f35b61015a600480360360208110156102c957600080fd5b50356001600160a01b031661083e565b6102e1610877565b6040805160ff9092168252519081900360200190f35b61015a6004803603602081101561030d57600080fd5b5035610880565b6102216004803603604081101561032a57600080fd5b506001600160a01b03813581169160200135166108fc565b6102216004803603602081101561035857600080fd5b50356001600160a01b0316610919565b610297610934565b610164610943565b6102056004803603604081101561038e57600080fd5b506001600160a01b03813516906020013561099e565b61015a600480360360408110156103ba57600080fd5b8101906020810181356401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561045957600080fd5b82018360208201111561046b57600080fd5b8035906020019184602083028401116401000000008311171561048d57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506109b4945050505050565b610297610a68565b610205600480360360608110156104e957600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561051957600080fd5b82018360208201111561052b57600080fd5b8035906020019184600183028401116401000000008311171561054d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a77945050505050565b610221600480360360408110156105a457600080fd5b506001600160a01b0381358116916020013516610b7c565b61015a600480360360208110156105d257600080fd5b50356001600160a01b0316610ba7565b6005546040805163c68ae61760e01b815233600482015260248101869052604481018590526064810184905290516001600160a01b0390921691829163c68ae61791608480830192600092919082900301818387803b15801561064457600080fd5b505af1158015610658573d6000803e3d6000fd5b505060005461067492503391506001600160a01b031686610c2c565b50505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b820191906000526020600020905b8154815290600101906020018083116106e257829003601f168201915b505050505081565b600081158061073757503360009081526008602090815260408083206001600160a01b0387168452909152902054155b61074057600080fd5b3360008181526008602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60045481565b6001600160a01b03831660009081526008602090815260408083203384529091528120548211156107dd57600080fd5b6001600160a01b0384166000908152600860209081526040808320338452909152902080548390039055610812848484610c2c565b5060015b9392505050565b60076020526000908152604090205481565b6006546001600160a01b031681565b6000546001600160a01b0316331461085557600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60025460ff1681565b6000546001600160a01b0316331461089757600080fd5b336000908152600760205260409020548111156108b357600080fd5b336000908152600760205260409020546108d3908263ffffffff610d3516565b336000908152600760205260409020556004546108f6908263ffffffff610d3516565b60045550565b600860209081526000928352604080842090915290825290205481565b6001600160a01b031660009081526007602052604090205490565b6000546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b60006109ab338484610c2c565b50600192915050565b6000546001600160a01b031633146109cb57600080fd5b80518251146109d957600080fd5b60005b8251811015610a6357600760008483815181106109f557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054600014610a2a57600080fd5b610a5a838281518110610a3957fe5b6020026020010151838381518110610a4d57fe5b602002602001015161099e565b506001016109dc565b505050565b6005546001600160a01b031681565b600083610a848185610707565b15610b7457604051638f4ffcb160e01b815233600482018181526024830187905230604484018190526080606485019081528751608486015287516001600160a01b03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610b03578181015183820152602001610aeb565b50505050905090810190601f168015610b305780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b5257600080fd5b505af1158015610b66573d6000803e3d6000fd5b505050506001915050610816565b509392505050565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610bbe57600080fd5b6001600160a01b038116610bd157600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03821615801590610c4d57506001600160a01b0382163014155b610c5657600080fd5b6001600160a01b038316600090815260076020526040902054811115610c7b57600080fd5b6001600160a01b038316600090815260076020526040902054610ca4908263ffffffff610d3516565b6001600160a01b038085166000908152600760205260408082209390935590841681522054610cd9908263ffffffff610d4716565b6001600160a01b0380841660008181526007602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610d4157fe5b50900390565b60008282018381101561081657fefea264697066735822122014e74e081c0572619bdeb771d3f8d0d0131d8f0c336e1905b8f9ec083968194364736f6c63430006060033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80635c658165116100ad578063b7e39b4f11610071578063b7e39b4f146103a4578063bf0fecd1146104cb578063cae9ca51146104d3578063dd62ed3e1461058e578063f2fde38b146105bc5761012c565b80635c6581651461031457806370a08231146103425780638da5cb5b1461036857806395d89b4114610370578063a9059cbb146103785761012c565b806327e235e3116100f457806327e235e31461026957806329ba7bb21461028f5780632c1ce59c146102b3578063313ce567146102d957806342966c68146102f75761012c565b8063053011b71461013157806306fdde031461015c578063095ea7b3146101d957806318160ddd1461021957806323b872dd14610233575b600080fd5b61015a6004803603606081101561014757600080fd5b50803590602081013590604001356105e2565b005b61016461067a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019e578181015183820152602001610186565b50505050905090810190601f1680156101cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610205600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610707565b604080519115158252519081900360200190f35b6102216107a7565b60408051918252519081900360200190f35b6102056004803603606081101561024957600080fd5b506001600160a01b038135811691602081013590911690604001356107ad565b6102216004803603602081101561027f57600080fd5b50356001600160a01b031661081d565b61029761082f565b604080516001600160a01b039092168252519081900360200190f35b61015a600480360360208110156102c957600080fd5b50356001600160a01b031661083e565b6102e1610877565b6040805160ff9092168252519081900360200190f35b61015a6004803603602081101561030d57600080fd5b5035610880565b6102216004803603604081101561032a57600080fd5b506001600160a01b03813581169160200135166108fc565b6102216004803603602081101561035857600080fd5b50356001600160a01b0316610919565b610297610934565b610164610943565b6102056004803603604081101561038e57600080fd5b506001600160a01b03813516906020013561099e565b61015a600480360360408110156103ba57600080fd5b8101906020810181356401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561045957600080fd5b82018360208201111561046b57600080fd5b8035906020019184602083028401116401000000008311171561048d57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506109b4945050505050565b610297610a68565b610205600480360360608110156104e957600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561051957600080fd5b82018360208201111561052b57600080fd5b8035906020019184600183028401116401000000008311171561054d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a77945050505050565b610221600480360360408110156105a457600080fd5b506001600160a01b0381358116916020013516610b7c565b61015a600480360360208110156105d257600080fd5b50356001600160a01b0316610ba7565b6005546040805163c68ae61760e01b815233600482015260248101869052604481018590526064810184905290516001600160a01b0390921691829163c68ae61791608480830192600092919082900301818387803b15801561064457600080fd5b505af1158015610658573d6000803e3d6000fd5b505060005461067492503391506001600160a01b031686610c2c565b50505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b820191906000526020600020905b8154815290600101906020018083116106e257829003601f168201915b505050505081565b600081158061073757503360009081526008602090815260408083206001600160a01b0387168452909152902054155b61074057600080fd5b3360008181526008602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60045481565b6001600160a01b03831660009081526008602090815260408083203384529091528120548211156107dd57600080fd5b6001600160a01b0384166000908152600860209081526040808320338452909152902080548390039055610812848484610c2c565b5060015b9392505050565b60076020526000908152604090205481565b6006546001600160a01b031681565b6000546001600160a01b0316331461085557600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60025460ff1681565b6000546001600160a01b0316331461089757600080fd5b336000908152600760205260409020548111156108b357600080fd5b336000908152600760205260409020546108d3908263ffffffff610d3516565b336000908152600760205260409020556004546108f6908263ffffffff610d3516565b60045550565b600860209081526000928352604080842090915290825290205481565b6001600160a01b031660009081526007602052604090205490565b6000546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106ff5780601f106106d4576101008083540402835291602001916106ff565b60006109ab338484610c2c565b50600192915050565b6000546001600160a01b031633146109cb57600080fd5b80518251146109d957600080fd5b60005b8251811015610a6357600760008483815181106109f557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054600014610a2a57600080fd5b610a5a838281518110610a3957fe5b6020026020010151838381518110610a4d57fe5b602002602001015161099e565b506001016109dc565b505050565b6005546001600160a01b031681565b600083610a848185610707565b15610b7457604051638f4ffcb160e01b815233600482018181526024830187905230604484018190526080606485019081528751608486015287516001600160a01b03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610b03578181015183820152602001610aeb565b50505050905090810190601f168015610b305780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b5257600080fd5b505af1158015610b66573d6000803e3d6000fd5b505050506001915050610816565b509392505050565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610bbe57600080fd5b6001600160a01b038116610bd157600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03821615801590610c4d57506001600160a01b0382163014155b610c5657600080fd5b6001600160a01b038316600090815260076020526040902054811115610c7b57600080fd5b6001600160a01b038316600090815260076020526040902054610ca4908263ffffffff610d3516565b6001600160a01b038085166000908152600760205260408082209390935590841681522054610cd9908263ffffffff610d4716565b6001600160a01b0380841660008181526007602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610d4157fe5b50900390565b60008282018381101561081657fefea264697066735822122014e74e081c0572619bdeb771d3f8d0d0131d8f0c336e1905b8f9ec083968194364736f6c63430006060033
Deployed Bytecode Sourcemap
411:6258:1:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;411:6258:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;5771:267:1;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5771:267:1;;;;;;;;;;;;:::i;:::-;;481:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;481:33:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3848:590;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3848:590:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;726:23;;;:::i;:::-;;;;;;;;;;;;;;;;2151:332;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2151:332:1;;;;;;;;;;;;;;;;;:::i;841:44::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;841:44:1;-1:-1:-1;;;;;841:44:1;;:::i;807:27::-;;;:::i;:::-;;;;-1:-1:-1;;;;;807:27:1;;;;;;;;;;;;;;5650:115;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5650:115:1;-1:-1:-1;;;;;5650:115:1;;:::i;571:26::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4952:215;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4952:215:1;;:::i;964:64::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;964:64:1;;;;;;;;;;:::i;3328:113::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3328:113:1;-1:-1:-1;;;;;3328:113:1;;:::i;238:20:0:-;;;:::i;657:29:1:-;;;:::i;1641:152::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1641:152:1;;;;;;;;:::i;6044:326::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;6044:326:1;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;6044:326:1;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;6044:326:1;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6044:326:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6044:326:1;;;;;;;;-1:-1:-1;6044:326:1;;-1:-1:-1;;27:11;11:28;;8:2;;;52:1;49;42:12;8:2;6044:326:1;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;6044:326:1;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6044:326:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6044:326:1;;-1:-1:-1;6044:326:1;;-1:-1:-1;;;;;6044:326:1:i;755:46::-;;;:::i;4445:339::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;4445:339:1;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;4445:339:1;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;4445:339:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4445:339:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4445:339:1;;-1:-1:-1;4445:339:1;;-1:-1:-1;;;;;4445:339:1:i;5496:147::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5496:147:1;;;;;;;;;;:::i;873:188:0:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;873:188:0;-1:-1:-1;;;;;873:188:0;;:::i;5771:267:1:-;5891:18;;5920:64;;;-1:-1:-1;;;5920:64:1;;5941:10;5920:64;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5891:18:1;;;;;;5920:20;;:64;;;;;5857:19;;5920:64;;;;;;;5857:19;5891:18;5920:64;;;2:2:-1;;;;27:1;24;17:12;2:2;5920:64:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;6017:5:1;;5994:37;;-1:-1:-1;6005:10:1;;-1:-1:-1;;;;;;6017:5:1;6024:6;5994:10;:37::i;:::-;5771:267;;;;:::o;481:33::-;;;;;;;;;;;;;;;-1:-1:-1;;481:33:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3848:590::-;3916:12;4252;;;4251:54;;-1:-1:-1;4278:10:1;4270:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4270:29:1;;;;;;;;;;:34;4251:54;4243:63;;12:1:-1;9;2:12;4243:63:1;4325:10;4317:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4317:29:1;;;;;;;;;;;;:39;;;4371;;;;;;;4317:29;;4325:10;4371:39;;;;;;;;;;;-1:-1:-1;4427:4:1;3848:590;;;;:::o;726:23::-;;;;:::o;2151:332::-;-1:-1:-1;;;;;2329:14:1;;2239:12;2329:14;;;:7;:14;;;;;;;;2344:10;2329:26;;;;;;;;:37;-1:-1:-1;2329:37:1;2321:46;;12:1:-1;9;2:12;2321:46:1;-1:-1:-1;;;;;2377:14:1;;;;;;:7;:14;;;;;;;;2392:10;2377:26;;;;;;;:37;;;;;;;2424:31;2385:5;2442:3;2407:7;2424:10;:31::i;:::-;-1:-1:-1;2472:4:1;2151:332;;;;;;:::o;841:44::-;;;;;;;;;;;;;:::o;807:27::-;;;-1:-1:-1;;;;;807:27:1;;:::o;5650:115::-;678:5:0;;-1:-1:-1;;;;;678:5:0;664:10;:19;656:28;;12:1:-1;9;2:12;656:28:0;5723:18:1::1;:26:::0;;-1:-1:-1;;;;;;5723:26:1::1;-1:-1:-1::0;;;;;5723:26:1;;;::::1;::::0;;;::::1;::::0;;5650:115::o;571:26::-;;;;;;:::o;4952:215::-;678:5:0;;-1:-1:-1;;;;;678:5:0;664:10;:19;656:28;;12:1:-1;9;2:12;656:28:0;5026:10:1::1;5017:20;::::0;;;:8:::1;:20;::::0;;;;;:30;-1:-1:-1;5017:30:1::1;5009:39;;12:1:-1;9::::0;2:12:::1;5009:39:1;5090:10;5081:20;::::0;;;:8:::1;:20;::::0;;;;;:32:::1;::::0;5106:6;5081:32:::1;:24;:32;:::i;:::-;5067:10;5058:20;::::0;;;:8:::1;:20;::::0;;;;:55;5137:11:::1;::::0;:23:::1;::::0;5153:6;5137:23:::1;:15;:23;:::i;:::-;5123:11;:37:::0;-1:-1:-1;4952:215:1:o;964:64::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;3328:113::-;-1:-1:-1;;;;;3418:16:1;3384:15;3418:16;;;:8;:16;;;;;;;3328:113::o;238:20:0:-;;;-1:-1:-1;;;;;238:20:0;;:::o;657:29:1:-;;;;;;;;;;;;;;;-1:-1:-1;;657:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1641:152;1705:12;1729:36;1740:10;1752:3;1757:7;1729:10;:36::i;:::-;-1:-1:-1;1782:4:1;1641:152;;;;:::o;6044:326::-;678:5:0;;-1:-1:-1;;;;;678:5:0;664:10;:19;656:28;;12:1:-1;9;2:12;656:28:0;6179:8:1::1;:15;6156:12;:19;:38;6148:47;;12:1:-1;9::::0;2:12:::1;6148:47:1;6210:6;6205:159;6226:12;:19;6222:1;:23;6205:159;;;6272:8;:25;6281:12;6294:1;6281:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6272:25:1::1;-1:-1:-1::0;;;;;6272:25:1::1;;;;;;;;;;;;;6301:1;6272:30;6264:39;;12:1:-1;9::::0;2:12:::1;6264:39:1;6315:38;6324:12;6337:1;6324:15;;;;;;;;;;;;;;6341:8;6350:1;6341:11;;;;;;;;;;;;;;6315:8;:38::i;:::-;-1:-1:-1::0;6247:3:1::1;;6205:159;;;;6044:326:::0;;:::o;755:46::-;;;-1:-1:-1;;;;;755:46:1;;:::o;4445:339::-;4544:12;4608:8;4631:25;4608:8;4649:6;4631:7;:25::i;:::-;4627:151;;;4672:70;;-1:-1:-1;;;4672:70:1;;4696:10;4672:70;;;;;;;;;;;;4724:4;4672:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4672:23:1;;;;;4696:10;4708:6;;4724:4;4731:10;;4672:70;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4672:70:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4672:70:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4672:70:1;;;;4763:4;4756:11;;;;;4627:151;4445:339;;;;;;:::o;5496:147::-;-1:-1:-1;;;;;5611:15:1;;;5575:17;5611:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;5496:147::o;873:188:0:-;678:5;;-1:-1:-1;;;;;678:5:0;664:10;:19;656:28;;12:1:-1;9;2:12;656:28:0;-1:-1:-1;;;;;953:22:0;::::1;945:31;;12:1:-1;9::::0;2:12:::1;945:31:0;1012:5;::::0;;991:37:::1;::::0;-1:-1:-1;;;;;991:37:0;;::::1;::::0;1012:5;::::1;::::0;991:37:::1;::::0;::::1;1038:5;:16:::0;;-1:-1:-1;;;;;;1038:16:0::1;-1:-1:-1::0;;;;;1038:16:0;;;::::1;::::0;;;::::1;::::0;;873:188::o;2810:413:1:-;-1:-1:-1;;;;;2974:17:1;;;;;;2973:45;;-1:-1:-1;;;;;;2997:20:1;;3012:4;2997:20;;2973:45;2965:54;;12:1:-1;9;2:12;2965:54:1;-1:-1:-1;;;;;3048:15:1;;;;;;:8;:15;;;;;;3037:26;;;3029:35;;12:1:-1;9;2:12;3029:35:1;-1:-1:-1;;;;;3092:15:1;;;;;;:8;:15;;;;;;:28;;3112:7;3092:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;3074:15:1;;;;;;;:8;:15;;;;;;:46;;;;3146:13;;;;;;;:26;;3164:7;3146:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;3130:13:1;;;;;;;:8;:13;;;;;;;;;:42;;;;3187:29;;;;;;;3130:13;;3187:29;;;;;;;;;;;;;2810:413;;;:::o;904:120:2:-;962:7;993:1;988;:6;;981:14;;;;-1:-1:-1;1012:5:2;;;904:120::o;1094:143::-;1152:7;1183:5;;;1205:6;;;;1198:14;;
Swarm Source
ipfs://14e74e081c0572619bdeb771d3f8d0d0131d8f0c336e1905b8f9ec0839681943
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.