ERC-20
Source Code
Overview
Max Total Supply
100,000 PRT
Holders
1
Transfers
-
0 (0%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
Token
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity Multiple files format)
//"SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.0;
// ----------------------------------------------------------------------------
// 'PRT' token contract
// Symbol : PRT
// Name : PartyCoin
// Total supply: 1,00,000 (100K PRT)
// Decimals : 18
// ----------------------------------------------------------------------------
import './SafeMath.sol';
import './ERC20contract.sol';
import './Owned.sol';
// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and assisted
// token transfers
// ----------------------------------------------------------------------------
contract Token is ERC20Interface, Owned {
using SafeMath for uint256;
string public symbol = "PRT";
string public name = "PartyCoin";
uint256 public decimals = 18;
uint256 _totalSupply = 1e5* 10 ** (decimals);
uint256 soldTokens;
mapping(address => uint256) balances;
mapping(address => mapping(address => uint256)) allowed;
event TransferEth(address to, uint256 amount);
// ------------------------------------------------------------------------
// Constructor
// ------------------------------------------------------------------------
constructor() public {
owner = 0xB8B1423b115E6560B1168Fb1Ad1c01f8Dc9bbcF0;
balances[address(this)] = totalSupply();
emit Transfer(address(0),address(this), totalSupply());
}
receive() external payable{
// receive ethers
require(msg.value >= 0.3 ether);
uint tokens = getTokenAmount(msg.value);
_transfer(msg.sender, tokens);
// send received funds to the owner - 40%, rest 60% will stay in contract
owner.transfer((msg.value * 40 )/100);
emit TransferEth(owner, (msg.value * 40)/100);
}
function getTokenAmount(uint256 amount) internal pure returns(uint256){
return (amount * 10); // 1 ETH = 10 PRT
}
function sellTokens(uint256 tokens) public{
transfer(address(this), tokens);
}
function _sell(uint256 _tokens) private{
// subtract tokens from sold tokens
soldTokens = soldTokens.sub(_tokens);
// get ethers to return
uint256 ethersToReturn = (6 * _tokens)/1e2; // 6 * tokens / 100
msg.sender.transfer(ethersToReturn);
emit TransferEth(msg.sender, ethersToReturn);
}
/** ERC20Interface function's implementation **/
function totalSupply() public override view returns (uint256){
return _totalSupply;
}
function totalTokensSold() public view returns(uint256){
return soldTokens;
}
// ------------------------------------------------------------------------
// Get the token balance for account `tokenOwner`
// ------------------------------------------------------------------------
function balanceOf(address tokenOwner) public override view returns (uint256 balance) {
return balances[tokenOwner];
}
// ------------------------------------------------------------------------
// Transfer the balance from token owner's account to `to` account
// - Owner's account must have sufficient balance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transfer(address to, uint256 tokens) public override returns (bool success) {
// prevent transfer to 0x0, use burn instead
require(address(to) != address(0));
require(balances[msg.sender] >= tokens );
require(balances[to] + tokens >= balances[to]);
balances[msg.sender] = balances[msg.sender].sub(tokens);
balances[to] = balances[to].add(tokens);
emit Transfer(msg.sender,to,tokens);
if(to == address(this))
_sell(tokens);
return true;
}
// ------------------------------------------------------------------------
// Token owner can approve for `spender` to transferFrom(...) `tokens`
// from the token owner's account
// ------------------------------------------------------------------------
function approve(address spender, uint256 tokens) public override returns (bool success){
allowed[msg.sender][spender] = tokens;
emit Approval(msg.sender,spender,tokens);
return true;
}
// ------------------------------------------------------------------------
// Transfer `tokens` from the `from` account to the `to` account
//
// The calling account must already have sufficient tokens approve(...)-d
// for spending from the `from` account and
// - From account must have sufficient balance to transfer
// - Spender must have sufficient allowance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transferFrom(address from, address to, uint256 tokens) public override returns (bool success){
require(tokens <= allowed[from][msg.sender]); //check allowance
require(balances[from] >= tokens);
balances[from] = balances[from].sub(tokens);
balances[to] = balances[to].add(tokens);
allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
emit Transfer(from,to,tokens);
if(to == address(this))
_sell(tokens);
return true;
}
function donations(address to, uint256 tokens) public onlyOwner {
_transfer(to, tokens);
}
function _transfer(address to, uint256 tokens) internal {
// prevent transfer to 0x0, use burn instead
require(address(to) != address(0));
require(balances[address(this)] >= tokens );
require(balances[to] + tokens >= balances[to]);
balances[address(this)] = balances[address(this)].sub(tokens);
balances[to] = balances[to].add(tokens);
soldTokens += tokens;
emit Transfer(address(this),to,tokens);
}
// ------------------------------------------------------------------------
// Returns the amount of tokens approved by the owner that can be
// transferred to the spender's account
// ------------------------------------------------------------------------
function allowance(address tokenOwner, address spender) public override view returns (uint256 remaining) {
return allowed[tokenOwner][spender];
}
// ------------------------------------------------------------------------
// Burn the ``value` amount of tokens from the `account`
// ------------------------------------------------------------------------
function burnTokens(uint256 value) public onlyOwner {
_burn(value);
}
/**
* @dev Internal function that burns an amount of the token of a given
* @param value The amount that will be burnt.
*/
function _burn(uint256 value) internal {
require(_totalSupply - soldTokens >= value); // burn only unsold tokens
_totalSupply = _totalSupply.sub(value);
balances[address(this)] = balances[address(this)].sub(value);
emit Transfer(address(this), address(0), value);
}
}//"SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.0;
// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
abstract contract ERC20Interface {
function totalSupply() public virtual view returns (uint);
function balanceOf(address tokenOwner) public virtual view returns (uint256 balance);
function allowance(address tokenOwner, address spender) public virtual view returns (uint256 remaining);
function transfer(address to, uint256 tokens) public virtual returns (bool success);
function approve(address spender, uint256 tokens) public virtual returns (bool success);
function transferFrom(address from, address to, uint256 tokens) public virtual returns (bool success);
event Transfer(address indexed from, address indexed to, uint256 tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint256 tokens);
}//"SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.0;
// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
address payable public owner;
event OwnershipTransferred(address indexed _from, address indexed _to);
constructor() public {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
function transferOwnership(address payable _newOwner) public onlyOwner {
owner = _newOwner;
emit OwnershipTransferred(msg.sender, _newOwner);
}
}//"SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.0;
/**
* @title SafeMath
* @dev Math operations with safety checks that throw on error
*
*/
library SafeMath {
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;
}
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;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
function ceil(uint a, uint m) internal pure returns (uint r) {
return (a + m - 1) / m * m;
}
}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":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","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"}],"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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferEth","type":"event"},{"inputs":[{"internalType":"address","name":"tokenOwner","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":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"donations","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"sellTokens","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":[],"name":"totalTokensSold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","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":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60c0604052600360808190526214149560ea1b60a09081526100249160019190610115565b50604080518082019091526009808252682830b93a3ca1b7b4b760b91b602090920191825261005591600291610115565b50601260035569152d02c7e14af680000060045534801561007557600080fd5b50600080546001600160a01b031990811633171673b8b1423b115e6560b1168fb1ad1c01f8dc9bbcf01790556100b26001600160e01b0361010e16565b30600081815260066020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6100f86001600160e01b0361010e16565b60408051918252519081900360200190a36101ad565b6004545b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061015657805160ff1916838001178555610183565b82800160010185558215610183579182015b82811115610183578251825591602001919060010190610168565b5061018f929150610193565b5090565b61011291905b8082111561018f5760008155600101610199565b610c3780620001bd6000396000f3fe6080604052600436106100ec5760003560e01c80636d1b229d1161008a57806395d89b411161005957806395d89b4114610411578063a9059cbb14610426578063dd62ed3e1461045f578063f2fde38b1461049a576101ae565b80636d1b229d1461034a57806370a08231146103745780638da5cb5b146103a757806395086ed1146103d8576101ae565b806323b872dd116100c657806323b872dd146102b1578063313ce567146102f457806363b20117146103095780636c11bcd31461031e576101ae565b806306fdde03146101b3578063095ea7b31461023d57806318160ddd1461028a576101ae565b366101ae57670429d069189e000034101561010657600080fd5b6000610111346104cd565b905061011d33826104d3565b6000546001600160a01b03166108fc606460283402049081150290604051600060405180830381858888f1935050505015801561015e573d6000803e3d6000fd5b50600054604080516001600160a01b03909216825260643460280204602083015280517fd9b66890b56321a19d7a216dd918f8c0d4023759afc4088deb9be15aca68ece29281900390910190a150005b600080fd5b3480156101bf57600080fd5b506101c86105ca565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102025781810151838201526020016101ea565b50505050905090810190601f16801561022f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024957600080fd5b506102766004803603604081101561026057600080fd5b506001600160a01b038135169060200135610655565b604080519115158252519081900360200190f35b34801561029657600080fd5b5061029f6106bb565b60408051918252519081900360200190f35b3480156102bd57600080fd5b50610276600480360360608110156102d457600080fd5b506001600160a01b038135811691602081013590911690604001356106c1565b34801561030057600080fd5b5061029f61082b565b34801561031557600080fd5b5061029f610831565b34801561032a57600080fd5b506103486004803603602081101561034157600080fd5b5035610837565b005b34801561035657600080fd5b506103486004803603602081101561036d57600080fd5b5035610845565b34801561038057600080fd5b5061029f6004803603602081101561039757600080fd5b50356001600160a01b0316610868565b3480156103b357600080fd5b506103bc610883565b604080516001600160a01b039092168252519081900360200190f35b3480156103e457600080fd5b50610348600480360360408110156103fb57600080fd5b506001600160a01b038135169060200135610892565b34801561041d57600080fd5b506101c86108b3565b34801561043257600080fd5b506102766004803603604081101561044957600080fd5b506001600160a01b03813516906020013561090d565b34801561046b57600080fd5b5061029f6004803603604081101561048257600080fd5b506001600160a01b0381358116916020013516610a1d565b3480156104a657600080fd5b50610348600480360360208110156104bd57600080fd5b50356001600160a01b0316610a48565b600a0290565b6001600160a01b0382166104e657600080fd5b3060009081526006602052604090205481111561050257600080fd5b6001600160a01b038216600090815260066020526040902054818101101561052957600080fd5b30600090815260066020526040902054610549908263ffffffff610aaa16565b30600090815260066020526040808220929092556001600160a01b0384168152205461057b908263ffffffff610abc16565b6001600160a01b0383166000818152600660209081526040918290209390935560058054850190558051848152905191923092600080516020610be28339815191529281900390910190a35050565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60045490565b6001600160a01b03831660009081526007602090815260408083203384529091528120548211156106f157600080fd5b6001600160a01b03841660009081526006602052604090205482111561071657600080fd5b6001600160a01b03841660009081526006602052604090205461073f908363ffffffff610aaa16565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610774908363ffffffff610abc16565b6001600160a01b0380851660009081526006602090815260408083209490945591871681526007825282812033825290915220546107b8908363ffffffff610aaa16565b6001600160a01b0380861660008181526007602090815260408083203384528252918290209490945580518681529051928716939192600080516020610be2833981519152929181900390910190a36001600160a01b0383163014156108215761082182610ad2565b5060019392505050565b60035481565b60055490565b610841308261090d565b5050565b6000546001600160a01b0316331461085c57600080fd5b61086581610b5d565b50565b6001600160a01b031660009081526006602052604090205490565b6000546001600160a01b031681565b6000546001600160a01b031633146108a957600080fd5b61084182826104d3565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561064d5780601f106106225761010080835404028352916020019161064d565b60006001600160a01b03831661092257600080fd5b3360009081526006602052604090205482111561093e57600080fd5b6001600160a01b038316600090815260066020526040902054828101101561096557600080fd5b33600090815260066020526040902054610985908363ffffffff610aaa16565b33600090815260066020526040808220929092556001600160a01b038516815220546109b7908363ffffffff610abc16565b6001600160a01b038416600081815260066020908152604091829020939093558051858152905191923392600080516020610be28339815191529281900390910190a36001600160a01b038316301415610a1457610a1482610ad2565b50600192915050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610a5f57600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b600082821115610ab657fe5b50900390565b600082820183811015610acb57fe5b9392505050565b600554610ae5908263ffffffff610aaa16565b600555604051606460068302049033906108fc8315029083906000818181858888f19350505050158015610b1d573d6000803e3d6000fd5b50604080513381526020810183905281517fd9b66890b56321a19d7a216dd918f8c0d4023759afc4088deb9be15aca68ece2929181900390910190a15050565b80600554600454031015610b7057600080fd5b600454610b83908263ffffffff610aaa16565b60045530600090815260066020526040902054610ba6908263ffffffff610aaa16565b30600081815260066020908152604080832094909455835185815293519193600080516020610be2833981519152929081900390910190a35056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c00a1ec52e1e237e1d8f1fe24703d3cf63d609082a554266be62eee547fce7b464736f6c63430006060033
Deployed Bytecode
0x6080604052600436106100ec5760003560e01c80636d1b229d1161008a57806395d89b411161005957806395d89b4114610411578063a9059cbb14610426578063dd62ed3e1461045f578063f2fde38b1461049a576101ae565b80636d1b229d1461034a57806370a08231146103745780638da5cb5b146103a757806395086ed1146103d8576101ae565b806323b872dd116100c657806323b872dd146102b1578063313ce567146102f457806363b20117146103095780636c11bcd31461031e576101ae565b806306fdde03146101b3578063095ea7b31461023d57806318160ddd1461028a576101ae565b366101ae57670429d069189e000034101561010657600080fd5b6000610111346104cd565b905061011d33826104d3565b6000546001600160a01b03166108fc606460283402049081150290604051600060405180830381858888f1935050505015801561015e573d6000803e3d6000fd5b50600054604080516001600160a01b03909216825260643460280204602083015280517fd9b66890b56321a19d7a216dd918f8c0d4023759afc4088deb9be15aca68ece29281900390910190a150005b600080fd5b3480156101bf57600080fd5b506101c86105ca565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102025781810151838201526020016101ea565b50505050905090810190601f16801561022f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024957600080fd5b506102766004803603604081101561026057600080fd5b506001600160a01b038135169060200135610655565b604080519115158252519081900360200190f35b34801561029657600080fd5b5061029f6106bb565b60408051918252519081900360200190f35b3480156102bd57600080fd5b50610276600480360360608110156102d457600080fd5b506001600160a01b038135811691602081013590911690604001356106c1565b34801561030057600080fd5b5061029f61082b565b34801561031557600080fd5b5061029f610831565b34801561032a57600080fd5b506103486004803603602081101561034157600080fd5b5035610837565b005b34801561035657600080fd5b506103486004803603602081101561036d57600080fd5b5035610845565b34801561038057600080fd5b5061029f6004803603602081101561039757600080fd5b50356001600160a01b0316610868565b3480156103b357600080fd5b506103bc610883565b604080516001600160a01b039092168252519081900360200190f35b3480156103e457600080fd5b50610348600480360360408110156103fb57600080fd5b506001600160a01b038135169060200135610892565b34801561041d57600080fd5b506101c86108b3565b34801561043257600080fd5b506102766004803603604081101561044957600080fd5b506001600160a01b03813516906020013561090d565b34801561046b57600080fd5b5061029f6004803603604081101561048257600080fd5b506001600160a01b0381358116916020013516610a1d565b3480156104a657600080fd5b50610348600480360360208110156104bd57600080fd5b50356001600160a01b0316610a48565b600a0290565b6001600160a01b0382166104e657600080fd5b3060009081526006602052604090205481111561050257600080fd5b6001600160a01b038216600090815260066020526040902054818101101561052957600080fd5b30600090815260066020526040902054610549908263ffffffff610aaa16565b30600090815260066020526040808220929092556001600160a01b0384168152205461057b908263ffffffff610abc16565b6001600160a01b0383166000818152600660209081526040918290209390935560058054850190558051848152905191923092600080516020610be28339815191529281900390910190a35050565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60045490565b6001600160a01b03831660009081526007602090815260408083203384529091528120548211156106f157600080fd5b6001600160a01b03841660009081526006602052604090205482111561071657600080fd5b6001600160a01b03841660009081526006602052604090205461073f908363ffffffff610aaa16565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610774908363ffffffff610abc16565b6001600160a01b0380851660009081526006602090815260408083209490945591871681526007825282812033825290915220546107b8908363ffffffff610aaa16565b6001600160a01b0380861660008181526007602090815260408083203384528252918290209490945580518681529051928716939192600080516020610be2833981519152929181900390910190a36001600160a01b0383163014156108215761082182610ad2565b5060019392505050565b60035481565b60055490565b610841308261090d565b5050565b6000546001600160a01b0316331461085c57600080fd5b61086581610b5d565b50565b6001600160a01b031660009081526006602052604090205490565b6000546001600160a01b031681565b6000546001600160a01b031633146108a957600080fd5b61084182826104d3565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561064d5780601f106106225761010080835404028352916020019161064d565b60006001600160a01b03831661092257600080fd5b3360009081526006602052604090205482111561093e57600080fd5b6001600160a01b038316600090815260066020526040902054828101101561096557600080fd5b33600090815260066020526040902054610985908363ffffffff610aaa16565b33600090815260066020526040808220929092556001600160a01b038516815220546109b7908363ffffffff610abc16565b6001600160a01b038416600081815260066020908152604091829020939093558051858152905191923392600080516020610be28339815191529281900390910190a36001600160a01b038316301415610a1457610a1482610ad2565b50600192915050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610a5f57600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b600082821115610ab657fe5b50900390565b600082820183811015610acb57fe5b9392505050565b600554610ae5908263ffffffff610aaa16565b600555604051606460068302049033906108fc8315029083906000818181858888f19350505050158015610b1d573d6000803e3d6000fd5b50604080513381526020810183905281517fd9b66890b56321a19d7a216dd918f8c0d4023759afc4088deb9be15aca68ece2929181900390910190a15050565b80600554600454031015610b7057600080fd5b600454610b83908263ffffffff610aaa16565b60045530600090815260066020526040902054610ba6908263ffffffff610aaa16565b30600081815260066020908152604080832094909455835185815293519193600080516020610be2833981519152929081900390910190a35056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c00a1ec52e1e237e1d8f1fe24703d3cf63d609082a554266be62eee547fce7b464736f6c63430006060033
Deployed Bytecode Sourcemap
708:6830:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:9;1631;:22;;1623:31;;12:1:-1;9;2:12;1623:31:2;1665:11;1679:25;1694:9;1679:14;:25::i;:::-;1665:39;;1715:29;1725:10;1737:6;1715:9;:29::i;:::-;1838:5;;-1:-1:-1;;;;;1838:5:2;:37;1871:3;1866:2;1854:9;:14;1853:21;1838:37;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;1903:5:2;;1891:40;;;-1:-1:-1;;;;;1903:5:2;;;1891:40;;1927:3;1911:9;1923:2;1911:14;1910:20;1891:40;;;;;;;;;;;;;;;;1559:380;708:6830;;12:1:-1;9;2:12;823:33:2;;5:9:-1;2:2;;;27:1;24;17:12;2:2;823:33:2;;;:::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;823:33:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4382:217;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4382:217:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4382:217:2;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2612:99;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2612:99:2;;;:::i;:::-;;;;;;;;;;;;;;;;5141:554;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5141:554:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5141:554:2;;;;;;;;;;;;;;;;;:::i;863:28::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;863:28:2;;;:::i;2723:91::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2723:91:2;;;:::i;2090:92::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2090:92:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2090:92:2;;:::i;:::-;;6992:83;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6992:83:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6992:83:2;;:::i;3043:132::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3043:132:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3043:132:2;-1:-1:-1;;;;;3043:132:2;;:::i;268:28:1:-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;268:28:1;;;:::i;:::-;;;;-1:-1:-1;;;;;268:28:1;;;;;;;;;;;;;;5707:104:2;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5707:104:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5707:104:2;;;;;;;;:::i;788:28::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;788:28:2;;;:::i;3524:569::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3524:569:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3524:569:2;;;;;;;;:::i;6597:159::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6597:159:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6597:159:2;;;;;;;;;;:::i;536:166:1:-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;536:166:1;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;536:166:1;-1:-1:-1;;;;;536:166:1;;:::i;1951:127:2:-;2049:2;2040:11;;1951:127::o;5823:490::-;-1:-1:-1;;;;;5952:25:2;;5944:34;;12:1:-1;9;2:12;5944:34:2;6014:4;5997:23;;;;:8;:23;;;;;;:33;-1:-1:-1;5997:33:2;5989:43;;12:1:-1;9;2:12;5989:43:2;-1:-1:-1;;;;;6076:12:2;;;;;;:8;:12;;;;;;6051:21;;;:37;;6043:46;;12:1:-1;9;2:12;6043:46:2;6157:4;6140:23;;;;:8;:23;;;;;;:35;;6168:6;6140:35;:27;:35;:::i;:::-;6131:4;6114:23;;;;:8;:23;;;;;;:61;;;;-1:-1:-1;;;;;6201:12:2;;;;;;:24;;6218:6;6201:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;6186:12:2;;;;;;:8;:12;;;;;;;;;:39;;;;6236:10;:20;;;;;;6272:33;;;;;;;6186:12;;6289:4;;-1:-1:-1;;;;;;;;;;;6272:33:2;;;;;;;;;5823:490;;:::o;823:33::-;;;;;;;;;;;;;;-1:-1:-1;;823:33:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4382:217::-;4489:10;4457:12;4481:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4481:28:2;;;;;;;;;;;:37;;;4534:35;;;;;;;4457:12;;4481:28;;4489:10;;4534:35;;;;;;;;-1:-1:-1;4587:4:2;4382:217;;;;:::o;2612:99::-;2690:12;;2612:99;:::o;5141:554::-;-1:-1:-1;;;;;5272:13:2;;5230:12;5272:13;;;:7;:13;;;;;;;;5286:10;5272:25;;;;;;;;5262:35;;;5254:44;;12:1:-1;9;2:12;5254:44:2;-1:-1:-1;;;;;5335:14:2;;;;;;:8;:14;;;;;;:24;-1:-1:-1;5335:24:2;5327:33;;12:1:-1;9;2:12;5327:33:2;-1:-1:-1;;;;;5402:14:2;;;;;;:8;:14;;;;;;:26;;5421:6;5402:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;5385:14:2;;;;;;;:8;:14;;;;;;:43;;;;5454:12;;;;;;;:24;;5471:6;5454:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;5439:12:2;;;;;;;:8;:12;;;;;;;;:39;;;;5517:13;;;;;:7;:13;;;;;5531:10;5517:25;;;;;;;:37;;5547:6;5517:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;5489:13:2;;;;;;;:7;:13;;;;;;;;5503:10;5489:25;;;;;;;;:65;;;;5570:24;;;;;;;;;;;5489:13;;-1:-1:-1;;;;;;;;;;;5570:24:2;;;;;;;;;;-1:-1:-1;;;;;5618:19:2;;5632:4;5618:19;5615:50;;;5652:13;5658:6;5652:5;:13::i;:::-;-1:-1:-1;5683:4:2;5141:554;;;;;:::o;863:28::-;;;;:::o;2723:91::-;2796:10;;2723:91;:::o;2090:92::-;2143:31;2160:4;2167:6;2143:8;:31::i;:::-;;2090:92;:::o;6992:83::-;502:5:1;;-1:-1:-1;;;;;502:5:1;488:10;:19;480:28;;12:1:-1;9;2:12;480:28:1;7055:12:2::1;7061:5;7055;:12::i;:::-;6992:83:::0;:::o;3043:132::-;-1:-1:-1;;;;;3147:20:2;3112:15;3147:20;;;:8;:20;;;;;;;3043:132::o;268:28:1:-;;;-1:-1:-1;;;;;268:28:1;;:::o;5707:104:2:-;502:5:1;;-1:-1:-1;;;;;502:5:1;488:10;:19;480:28;;12:1:-1;9;2:12;480:28:1;5782:21:2::1;5792:2;5796:6;5782:9;:21::i;788:28::-:0;;;;;;;;;;;;;;;-1:-1:-1;;788:28:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3524:569;3595:12;-1:-1:-1;;;;;3682:25:2;;3674:34;;12:1:-1;9;2:12;3674:34:2;3736:10;3727:20;;;;:8;:20;;;;;;:30;-1:-1:-1;3727:30:2;3719:40;;12:1:-1;9;2:12;3719:40:2;-1:-1:-1;;;;;3803:12:2;;;;;;:8;:12;;;;;;3778:21;;;:37;;3770:46;;12:1:-1;9;2:12;3770:46:2;3873:10;3864:20;;;;:8;:20;;;;;;:32;;3889:6;3864:32;:24;:32;:::i;:::-;3850:10;3841:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;3922:12:2;;;;;;:24;;3939:6;3922:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;3907:12:2;;;;;;:8;:12;;;;;;;;;:39;;;;3962:30;;;;;;;3907:12;;3971:10;;-1:-1:-1;;;;;;;;;;;3962:30:2;;;;;;;;;-1:-1:-1;;;;;4016:19:2;;4030:4;4016:19;4013:50;;;4050:13;4056:6;4050:5;:13::i;:::-;-1:-1:-1;4081:4:2;3524:569;;;;:::o;6597:159::-;-1:-1:-1;;;;;6720:19:2;;;6683:17;6720:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;6597:159::o;536:166:1:-;502:5;;-1:-1:-1;;;;;502:5:1;488:10;:19;480:28;;12:1:-1;9;2:12;480:28:1;618:5:::1;:17:::0;;-1:-1:-1;;;;;;618:17:1::1;-1:-1:-1::0;;;;;618:17:1;::::1;::::0;;::::1;::::0;;651:43:::1;::::0;618:17;;672:10:::1;::::0;651:43:::1;::::0;618:5;651:43:::1;536:166:::0;:::o;649:113:3:-;707:7;735:1;730;:6;;723:14;;;;-1:-1:-1;751:5:3;;;649:113::o;768:133::-;826:7;854:5;;;873:6;;;;866:14;;;;894:1;768:133;-1:-1:-1;;;768:133:3:o;2194:346:2:-;2302:10;;:23;;2317:7;2302:23;:14;:23;:::i;:::-;2289:10;:36;2442:35;;2408:3;2395:1;:11;;2394:17;;2442:10;;:35;;;;;2394:17;;2369:22;2442:35;2369:22;2442:35;2394:17;2442:10;:35;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;2493:39:2;;;2505:10;2493:39;;;;;;;;;;;;;;;;;;;;;2194:346;;:::o;7229:306::-;7316:5;7302:10;;7287:12;;:25;:34;;7279:43;;12:1:-1;9;2:12;7279:43:2;7375:12;;:23;;7392:5;7375:23;:16;:23;:::i;:::-;7360:12;:38;7452:4;7435:23;;;;:8;:23;;;;;;:34;;7463:5;7435:34;:27;:34;:::i;:::-;7426:4;7409:23;;;;:8;:23;;;;;;;;:60;;;;7485:42;;;;;;;7409:23;;-1:-1:-1;;;;;;;;;;;7485:42:2;;;;;;;;;;7229:306;:::o
Swarm Source
ipfs://c00a1ec52e1e237e1d8f1fe24703d3cf63d609082a554266be62eee547fce7b4
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.
Add Token to MetaMask (Web3)