Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
x8XAUTokenContract
Compiler Version
v0.5.10+commit.5a6ea5b1
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-10-03
*/
pragma solidity ^0.5.10;
contract ERC20TokenInterface {
function totalSupply() public view returns (uint256 _totalSupply);
function balanceOf(address _owner) public view returns (uint256 balance);
function transfer(address _to, uint256 _value) public returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
function approve(address _spender, uint256 _value) public returns (bool success);
function allowance(address _owner, address _spender) public view returns (uint256 remaining);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
contract tokenRecipientInterface {
function receiveApproval(address _from, uint256 _value, address _token, bytes memory _extraData) public;
}
contract Owned {
address payable public owner;
address payable public newOwner;
constructor() public {
owner = msg.sender;
}
modifier onlyOwner {
assert(msg.sender == owner);
_;
}
function transferOwnership(address payable _newOwner) public onlyOwner {
require(_newOwner != owner);
newOwner = _newOwner;
}
function acceptOwnership() public {
require(msg.sender == newOwner);
emit OwnerUpdate(owner, newOwner);
owner = newOwner;
newOwner = address(0x0);
}
event OwnerUpdate(address _prevOwner, address _newOwner);
}
contract SafeMath {
uint256 constant public MAX_UINT256 = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;
function safeAdd(uint256 x, uint256 y) pure internal returns (uint256 z) {
require(x <= MAX_UINT256 - y);
return x + y;
}
function safeSub(uint256 x, uint256 y) pure internal returns (uint256 z) {
require(x >= y);
return x - y;
}
function safeMul(uint256 x, uint256 y) pure internal returns (uint256 z) {
if (y == 0) {
return 0;
}
require(x <= (MAX_UINT256 / y));
return x * y;
}
}
contract Lockable is Owned {
uint256 public lockedUntilBlock;
event ContractLocked(uint256 _untilBlock);
modifier lockAffected {
require(block.number > lockedUntilBlock);
_;
}
function lockFromSelf(uint256 _untilBlock) internal {
lockedUntilBlock = _untilBlock;
emit ContractLocked(_untilBlock);
}
function lockUntil(uint256 _untilBlock) onlyOwner public {
lockedUntilBlock = _untilBlock;
emit ContractLocked(_untilBlock);
}
}
contract ERC20Token is ERC20TokenInterface, SafeMath, Owned, Lockable {
// Name of token
string public name;
// Abbreviation of tokens name
string public symbol;
// Number of decimals token has
uint8 public decimals;
// Address of the contract with minting logic
address public mintingContractAddress;
// Current supply of tokens
uint256 supply = 0;
// Map of users balances
mapping (address => uint256) balances;
// Map of users allowances
mapping (address => mapping (address => uint256)) allowances;
// Accounts with no ability to transfer tokens
mapping(address => bool) frozenAccounts;
// Event that shows that new tokens were created
event Mint(address indexed _to, uint256 _value);
// Event that shows that old tokens were destroyed
event Burn(address indexed _from, uint _value);
/**
* @dev Returns number of tokens in circulation
*
* @return total number od tokens
*/
function totalSupply() public view returns (uint256) {
return supply;
}
/**
* @dev Returns the balance of specific account
*
* @param _owner The account that caller wants to querry
* @return the balance on this account
*/
function balanceOf(address _owner) public view returns (uint256 balance) {
return balances[_owner];
}
/**
* @dev User can transfer tokens with this method, method is disabled if emergencyLock is activated
*
* @param _to Reciever of tokens
* @param _value The amount of tokens that will be sent
* @return if successful returns true
*/
function transfer(address _to, uint256 _value) lockAffected public returns (bool success) {
require(frozenAccounts[msg.sender] == false);
require(_to != address(0x0) && _to != address(this));
balances[msg.sender] = safeSub(balanceOf(msg.sender), _value);
balances[_to] = safeAdd(balanceOf(_to), _value);
emit Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev This is used to allow some account to utilise transferFrom and sends tokens on your behalf, this method is disabled if emergencyLock is activated
*
* @param _spender Who can send tokens on your behalf
* @param _value The amount of tokens that are allowed to be sent
* @return if successful returns true
*/
function approve(address _spender, uint256 _value) lockAffected public returns (bool success) {
require(frozenAccounts[msg.sender] == false);
allowances[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
/**
* @dev This is used to send tokens and execute code on other smart contract, this method is disabled if emergencyLock is activated
*
* @param _spender Contract that is receiving tokens
* @param _value The amount that msg.sender is sending
* @param _extraData Additional params that can be used on reciving smart contract
* @return if successful returns true
*/
function approveAndCall(address _spender, uint256 _value, bytes memory _extraData) lockAffected public returns (bool success) {
tokenRecipientInterface spender = tokenRecipientInterface(_spender);
approve(_spender, _value);
spender.receiveApproval(msg.sender, _value, address(this), _extraData);
return true;
}
/**
* @dev Sender can transfer tokens on others behalf, this method is disabled if emergencyLock is activated
*
* @param _from The account that will send tokens
* @param _to Account that will recive the tokens
* @param _value The amount that msg.sender is sending
* @return if successful returns true
*/
function transferFrom(address _from, address _to, uint256 _value) lockAffected public returns (bool success) {
require(frozenAccounts[msg.sender] == false);
require(_to != address(0x0) && _to != address(this));
balances[_from] = safeSub(balanceOf(_from), _value);
balances[_to] = safeAdd(balanceOf(_to), _value);
allowances[_from][msg.sender] = safeSub(allowances[_from][msg.sender], _value);
emit Transfer(_from, _to, _value);
return true;
}
/**
* @dev Returns the amount od tokens that can be sent from this addres by spender
*
* @param _owner Account that has tokens
* @param _spender Account that can spend tokens
* @return remaining balance to spend
*/
function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
return allowances[_owner][_spender];
}
/**
* @dev Creates new tokens as long as total supply does not reach limit
*
* @param _to Reciver od newly created tokens
* @param _amount Amount of tokens to be created;
*/
function mint(address _to, uint256 _amount) public {
require(msg.sender == mintingContractAddress);
supply = safeAdd(supply, _amount);
balances[_to] = safeAdd(balances[_to], _amount);
emit Mint(_to, _amount);
emit Transfer(address(0x0), _to, _amount);
}
/**
* @dev Destroys the amount of tokens and lowers total supply
*
* @param _amount Number of tokens user wants to destroy
*/
function burn(uint _amount) public {
require(frozenAccounts[msg.sender] == false);
balances[msg.sender] = safeSub(balanceOf(msg.sender), _amount);
supply = safeSub(supply, _amount);
emit Burn(msg.sender, _amount);
emit Transfer(msg.sender, address(0x0), _amount);
}
/**
* @dev Owner disables one address so it cannot transfer tokens
*
* @param _target Address to freeze
*/
function freezeUnfreezeAccount(address _target) onlyOwner public {
frozenAccounts[_target] = !frozenAccounts[_target];
}
/**
* @dev Owner can trasnfer tokens of the frozen accounts
*
* @param _from The account that will send tokens
* @param _value The amount that msg.sender is sending
* @return if successful returns true
*/
function transferFromFrozenAccount(address _from, uint256 _value) onlyOwner public returns (bool success) {
require(frozenAccounts[_from] == true);
balances[_from] = safeSub(balanceOf(_from), _value);
balances[owner] = safeAdd(balanceOf(owner), _value);
emit Transfer(_from, owner, _value);
return true;
}
/**
* @dev Saves exidentaly sent tokens to this contract, can be used only by owner
*
* @param _tokenAddress Address of tokens smart contract
* @param _to Where to send the tokens
* @param _amount The amount of tokens that we are salvaging
*/
function salvageTokensFromContract(address _tokenAddress, address _to, uint _amount) onlyOwner public {
ERC20TokenInterface(_tokenAddress).transfer(_to, _amount);
}
/**
* @dev Owner can set the minting contract
*
* @param _mintingContractAddress Address to freeze
*/
function setMintingContract(address _mintingContractAddress) onlyOwner public {
mintingContractAddress = _mintingContractAddress;
}
/**
* @dev Disables the contract and wipes all the balances, can be used only by owner
*/
function killContract() public onlyOwner {
selfdestruct(owner);
}
}
contract x8XAUTokenContract is ERC20Token {
/**
* @dev Intialises token and all the necesary variable
*/
constructor() public {
name = "X8XAU token";
symbol = "X8XAU";
decimals = 18;
mintingContractAddress = 0x546BdB5eDA549dD3a1e43108A79e9a05BA07e527;
lockFromSelf(0);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_untilBlock","type":"uint256"}],"name":"lockUntil","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"killContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_UINT256","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintingContractAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"salvageTokensFromContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_mintingContractAddress","type":"address"}],"name":"setMintingContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFromFrozenAccount","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lockedUntilBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"freezeUnfreezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_untilBlock","type":"uint256"}],"name":"ContractLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
608060405260006006553480156200001657600080fd5b50600080546001600160a01b0319163317905560408051808201909152600b8082527f583858415520746f6b656e00000000000000000000000000000000000000000060209092019182526200006f9160039162000135565b506040805180820190915260058082527f58385841550000000000000000000000000000000000000000000000000000006020909201918252620000b69160049162000135565b5060058054601260ff1990911617610100600160a81b03191674546bdb5eda549dd3a1e43108a79e9a05ba07e52700179055620000f46000620000fa565b620001da565b60028190556040805182815290517f02ba2c764c85b8a0f34e449d69fcb4f7f23277a31579dc322f56dcc5bfeaf8449181900360200190a150565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017857805160ff1916838001178555620001a8565b82800160010185558215620001a8579182015b82811115620001a85782518255916020019190600101906200018b565b50620001b6929150620001ba565b5090565b620001d791905b80821115620001b65760008155600101620001c1565b90565b610fb780620001ea6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063824563f6116100de578063cae9ca5111610097578063d8162db711610071578063d8162db7146104f4578063dd62ed3e146104fc578063e3ff42a91461052a578063f2fde38b1461055057610173565b8063cae9ca5114610405578063cb25b438146104c0578063d4ee1d90146104ec57610173565b8063824563f6146103495780638da5cb5b1461036d57806395d89b4114610375578063a0929cda1461037d578063a9059cbb146103b3578063c56e1375146103df57610173565b8063313ce56711610130578063313ce567146102ac57806333a581d2146102ca57806340c10f19146102d257806342966c68146102fe57806370a082311461031b57806379ba50971461034157610173565b806306fdde0314610178578063095ea7b3146101f55780630ceea3051461023557806318160ddd146102545780631c02708d1461026e57806323b872dd14610276575b600080fd5b610180610576565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102216004803603604081101561020b57600080fd5b506001600160a01b038135169060200135610604565b604080519115158252519081900360200190f35b6102526004803603602081101561024b57600080fd5b5035610698565b005b61025c6106e7565b60408051918252519081900360200190f35b6102526106ed565b6102216004803603606081101561028c57600080fd5b506001600160a01b0381358116916020810135909116906040013561070f565b6102b461083a565b6040805160ff9092168252519081900360200190f35b61025c610843565b610252600480360360408110156102e857600080fd5b506001600160a01b038135169060200135610849565b6102526004803603602081101561031457600080fd5b503561091c565b61025c6004803603602081101561033157600080fd5b50356001600160a01b03166109ca565b6102526109e5565b610351610a6f565b604080516001600160a01b039092168252519081900360200190f35b610351610a83565b610180610a92565b6102526004803603606081101561039357600080fd5b506001600160a01b03813581169160208101359091169060400135610aed565b610221600480360360408110156103c957600080fd5b506001600160a01b038135169060200135610b92565b610252600480360360208110156103f557600080fd5b50356001600160a01b0316610c5d565b6102216004803603606081101561041b57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561044b57600080fd5b82018360208201111561045d57600080fd5b8035906020019184600183028401116401000000008311171561047f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c99945050505050565b610221600480360360408110156104d657600080fd5b506001600160a01b038135169060200135610da1565b610351610e6a565b61025c610e79565b61025c6004803603604081101561051257600080fd5b506001600160a01b0381358116916020013516610e7f565b6102526004803603602081101561054057600080fd5b50356001600160a01b0316610eaa565b6102526004803603602081101561056657600080fd5b50356001600160a01b0316610ee7565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105fc5780601f106105d1576101008083540402835291602001916105fc565b820191906000526020600020905b8154815290600101906020018083116105df57829003601f168201915b505050505081565b6000600254431161061457600080fd5b3360009081526009602052604090205460ff161561063157600080fd5b3360008181526008602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6000546001600160a01b031633146106ac57fe5b60028190556040805182815290517f02ba2c764c85b8a0f34e449d69fcb4f7f23277a31579dc322f56dcc5bfeaf8449181900360200190a150565b60065490565b6000546001600160a01b0316331461070157fe5b6000546001600160a01b0316ff5b6000600254431161071f57600080fd5b3360009081526009602052604090205460ff161561073c57600080fd5b6001600160a01b0383161580159061075d57506001600160a01b0383163014155b61076657600080fd5b610778610772856109ca565b83610f38565b6001600160a01b0385166000908152600760205260409020556107a361079d846109ca565b83610f4d565b6001600160a01b0380851660009081526007602090815260408083209490945591871681526008825282812033825290915220546107e19083610f38565b6001600160a01b0380861660008181526008602090815260408083203384528252918290209490945580518681529051928716939192600080516020610f63833981519152929181900390910190a35060019392505050565b60055460ff1681565b60001981565b60055461010090046001600160a01b0316331461086557600080fd5b61087160065482610f4d565b6006556001600160a01b0382166000908152600760205260409020546108979082610f4d565b6001600160a01b038316600081815260076020908152604091829020939093558051848152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a26040805182815290516001600160a01b03841691600091600080516020610f638339815191529181900360200190a35050565b3360009081526009602052604090205460ff161561093957600080fd5b61094b610945336109ca565b82610f38565b336000908152600760205260409020556006546109689082610f38565b60065560408051828152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a26040805182815290516000913391600080516020610f638339815191529181900360200190a350565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b031633146109fc57600080fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60055461010090046001600160a01b031681565b6000546001600160a01b031681565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105fc5780601f106105d1576101008083540402835291602001916105fc565b6000546001600160a01b03163314610b0157fe5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610b6157600080fd5b505af1158015610b75573d6000803e3d6000fd5b505050506040513d6020811015610b8b57600080fd5b5050505050565b60006002544311610ba257600080fd5b3360009081526009602052604090205460ff1615610bbf57600080fd5b6001600160a01b03831615801590610be057506001600160a01b0383163014155b610be957600080fd5b610bf5610772336109ca565b33600090815260076020526040902055610c1161079d846109ca565b6001600160a01b038416600081815260076020908152604091829020939093558051858152905191923392600080516020610f638339815191529281900390910190a350600192915050565b6000546001600160a01b03163314610c7157fe5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60006002544311610ca957600080fd5b83610cb48185610604565b50604051638f4ffcb160e01b815233600482018181526024830187905230604484018190526080606485019081528751608486015287516001600160a01b03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610d2f578181015183820152602001610d17565b50505050905090810190601f168015610d5c5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610d7e57600080fd5b505af1158015610d92573d6000803e3d6000fd5b50600198975050505050505050565b600080546001600160a01b03163314610db657fe5b6001600160a01b03831660009081526009602052604090205460ff161515600114610de057600080fd5b610dec610772846109ca565b6001600160a01b038085166000908152600760205260408120929092559054610e199161079d91166109ca565b600080546001600160a01b039081168252600760209081526040808420949094559154835186815293519082169391871692600080516020610f63833981519152928290030190a350600192915050565b6001546001600160a01b031681565b60025481565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610ebe57fe5b6001600160a01b03166000908152600960205260409020805460ff19811660ff90911615179055565b6000546001600160a01b03163314610efb57fe5b6000546001600160a01b0382811691161415610f1657600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600081831015610f4757600080fd5b50900390565b60008119831115610f5d57600080fd5b50019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a72305820aa2fd4545cbbe8043ebf5c54790be214cbe9151f699e84a88474d3cb40c2fc1a64736f6c634300050a0032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101735760003560e01c8063824563f6116100de578063cae9ca5111610097578063d8162db711610071578063d8162db7146104f4578063dd62ed3e146104fc578063e3ff42a91461052a578063f2fde38b1461055057610173565b8063cae9ca5114610405578063cb25b438146104c0578063d4ee1d90146104ec57610173565b8063824563f6146103495780638da5cb5b1461036d57806395d89b4114610375578063a0929cda1461037d578063a9059cbb146103b3578063c56e1375146103df57610173565b8063313ce56711610130578063313ce567146102ac57806333a581d2146102ca57806340c10f19146102d257806342966c68146102fe57806370a082311461031b57806379ba50971461034157610173565b806306fdde0314610178578063095ea7b3146101f55780630ceea3051461023557806318160ddd146102545780631c02708d1461026e57806323b872dd14610276575b600080fd5b610180610576565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102216004803603604081101561020b57600080fd5b506001600160a01b038135169060200135610604565b604080519115158252519081900360200190f35b6102526004803603602081101561024b57600080fd5b5035610698565b005b61025c6106e7565b60408051918252519081900360200190f35b6102526106ed565b6102216004803603606081101561028c57600080fd5b506001600160a01b0381358116916020810135909116906040013561070f565b6102b461083a565b6040805160ff9092168252519081900360200190f35b61025c610843565b610252600480360360408110156102e857600080fd5b506001600160a01b038135169060200135610849565b6102526004803603602081101561031457600080fd5b503561091c565b61025c6004803603602081101561033157600080fd5b50356001600160a01b03166109ca565b6102526109e5565b610351610a6f565b604080516001600160a01b039092168252519081900360200190f35b610351610a83565b610180610a92565b6102526004803603606081101561039357600080fd5b506001600160a01b03813581169160208101359091169060400135610aed565b610221600480360360408110156103c957600080fd5b506001600160a01b038135169060200135610b92565b610252600480360360208110156103f557600080fd5b50356001600160a01b0316610c5d565b6102216004803603606081101561041b57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561044b57600080fd5b82018360208201111561045d57600080fd5b8035906020019184600183028401116401000000008311171561047f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c99945050505050565b610221600480360360408110156104d657600080fd5b506001600160a01b038135169060200135610da1565b610351610e6a565b61025c610e79565b61025c6004803603604081101561051257600080fd5b506001600160a01b0381358116916020013516610e7f565b6102526004803603602081101561054057600080fd5b50356001600160a01b0316610eaa565b6102526004803603602081101561056657600080fd5b50356001600160a01b0316610ee7565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105fc5780601f106105d1576101008083540402835291602001916105fc565b820191906000526020600020905b8154815290600101906020018083116105df57829003601f168201915b505050505081565b6000600254431161061457600080fd5b3360009081526009602052604090205460ff161561063157600080fd5b3360008181526008602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6000546001600160a01b031633146106ac57fe5b60028190556040805182815290517f02ba2c764c85b8a0f34e449d69fcb4f7f23277a31579dc322f56dcc5bfeaf8449181900360200190a150565b60065490565b6000546001600160a01b0316331461070157fe5b6000546001600160a01b0316ff5b6000600254431161071f57600080fd5b3360009081526009602052604090205460ff161561073c57600080fd5b6001600160a01b0383161580159061075d57506001600160a01b0383163014155b61076657600080fd5b610778610772856109ca565b83610f38565b6001600160a01b0385166000908152600760205260409020556107a361079d846109ca565b83610f4d565b6001600160a01b0380851660009081526007602090815260408083209490945591871681526008825282812033825290915220546107e19083610f38565b6001600160a01b0380861660008181526008602090815260408083203384528252918290209490945580518681529051928716939192600080516020610f63833981519152929181900390910190a35060019392505050565b60055460ff1681565b60001981565b60055461010090046001600160a01b0316331461086557600080fd5b61087160065482610f4d565b6006556001600160a01b0382166000908152600760205260409020546108979082610f4d565b6001600160a01b038316600081815260076020908152604091829020939093558051848152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a26040805182815290516001600160a01b03841691600091600080516020610f638339815191529181900360200190a35050565b3360009081526009602052604090205460ff161561093957600080fd5b61094b610945336109ca565b82610f38565b336000908152600760205260409020556006546109689082610f38565b60065560408051828152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a26040805182815290516000913391600080516020610f638339815191529181900360200190a350565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b031633146109fc57600080fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60055461010090046001600160a01b031681565b6000546001600160a01b031681565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105fc5780601f106105d1576101008083540402835291602001916105fc565b6000546001600160a01b03163314610b0157fe5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610b6157600080fd5b505af1158015610b75573d6000803e3d6000fd5b505050506040513d6020811015610b8b57600080fd5b5050505050565b60006002544311610ba257600080fd5b3360009081526009602052604090205460ff1615610bbf57600080fd5b6001600160a01b03831615801590610be057506001600160a01b0383163014155b610be957600080fd5b610bf5610772336109ca565b33600090815260076020526040902055610c1161079d846109ca565b6001600160a01b038416600081815260076020908152604091829020939093558051858152905191923392600080516020610f638339815191529281900390910190a350600192915050565b6000546001600160a01b03163314610c7157fe5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60006002544311610ca957600080fd5b83610cb48185610604565b50604051638f4ffcb160e01b815233600482018181526024830187905230604484018190526080606485019081528751608486015287516001600160a01b03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610d2f578181015183820152602001610d17565b50505050905090810190601f168015610d5c5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610d7e57600080fd5b505af1158015610d92573d6000803e3d6000fd5b50600198975050505050505050565b600080546001600160a01b03163314610db657fe5b6001600160a01b03831660009081526009602052604090205460ff161515600114610de057600080fd5b610dec610772846109ca565b6001600160a01b038085166000908152600760205260408120929092559054610e199161079d91166109ca565b600080546001600160a01b039081168252600760209081526040808420949094559154835186815293519082169391871692600080516020610f63833981519152928290030190a350600192915050565b6001546001600160a01b031681565b60025481565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610ebe57fe5b6001600160a01b03166000908152600960205260409020805460ff19811660ff90911615179055565b6000546001600160a01b03163314610efb57fe5b6000546001600160a01b0382811691161415610f1657600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600081831015610f4757600080fd5b50900390565b60008119831115610f5d57600080fd5b50019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a72305820aa2fd4545cbbe8043ebf5c54790be214cbe9151f699e84a88474d3cb40c2fc1a64736f6c634300050a0032
Deployed Bytecode Sourcemap
10332:344:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10332:344:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2837:18;;;:::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;2837:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5193:285;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5193:285:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2580:149;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2580:149:0;;:::i;:::-;;3751:85;;;:::i;:::-;;;;;;;;;;;;;;;;10244:79;;;:::i;6594:510::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6594:510:0;;;;;;;;;;;;;;;;;:::i;2962:21::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1586:104;;;:::i;7721:303::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7721:303:0;;;;;;;;:::i;8183:315::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8183:315:0;;:::i;4024:115::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4024:115:0;-1:-1:-1;;;;;4024:115:0;;:::i;1294:189::-;;;:::i;3041:37::-;;;:::i;:::-;;;;-1:-1:-1;;;;;3041:37:0;;;;;;;;;;;;;;912:28;;;:::i;2898:20::-;;;:::i;9669:178::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9669:178:0;;;;;;;;;;;;;;;;;:::i;4415:417::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4415:417:0;;;;;;;;:::i;9986:145::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9986:145:0;-1:-1:-1;;;;;9986:145:0;;:::i;5891:351::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;5891:351:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5891:351:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5891:351:0;;;;;;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;5891:351:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5891:351:0;;-1:-1:-1;5891:351:0;;-1:-1:-1;;;;;5891:351:0:i;9028:355::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9028:355:0;;;;;;;;:::i;947:31::-;;;:::i;2235:::-;;;:::i;7362:147::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7362:147:0;;;;;;;;;;:::i;8642:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8642:134:0;-1:-1:-1;;;;;8642:134:0;;:::i;1138:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1138:148:0;-1:-1:-1;;;;;1138:148:0;;:::i;2837:18::-;;;;;;;;;;;;;;;-1:-1:-1;;2837:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5193:285::-;5273:12;2381:16;;2366:12;:31;2358:40;;;;;;5321:10;5306:26;;;;:14;:26;;;;;;;;:35;5298:44;;;;;;5364:10;5353:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;5353:32:0;;;;;;;;;;;;:41;;;5410:38;;;;;;;5353:32;;5364:10;5410:38;;;;;;;;;;;-1:-1:-1;5466:4:0;5193:285;;;;:::o;2580:149::-;1104:5;;-1:-1:-1;;;;;1104:5:0;1090:10;:19;1083:27;;;;2648:16;:30;;;2694:27;;;;;;;;;;;;;;;;;2580:149;:::o;3751:85::-;3822:6;;3751:85;:::o;10244:79::-;1104:5;;-1:-1:-1;;;;;1104:5:0;1090:10;:19;1083:27;;;;10309:5;;-1:-1:-1;;;;;10309:5:0;10296:19;6594:510;6689:12;2381:16;;2366:12;:31;2358:40;;;;;;6737:10;6722:26;;;;:14;:26;;;;;;;;:35;6714:44;;;;;;-1:-1:-1;;;;;6777:19:0;;;;;;:43;;-1:-1:-1;;;;;;6800:20:0;;6815:4;6800:20;;6777:43;6769:52;;;;;;6850:33;6858:16;6868:5;6858:9;:16::i;:::-;6876:6;6850:7;:33::i;:::-;-1:-1:-1;;;;;6832:15:0;;;;;;:8;:15;;;;;:51;6910:31;6918:14;6928:3;6918:9;:14::i;:::-;6934:6;6910:7;:31::i;:::-;-1:-1:-1;;;;;6894:13:0;;;;;;;:8;:13;;;;;;;;:47;;;;6992:17;;;;;:10;:17;;;;;7010:10;6992:29;;;;;;;6984:46;;7023:6;6984:7;:46::i;:::-;-1:-1:-1;;;;;6952:17:0;;;;;;;:10;:17;;;;;;;;6970:10;6952:29;;;;;;;;:78;;;;7046:28;;;;;;;;;;;6952:17;;-1:-1:-1;;;;;;;;;;;7046:28:0;;;;;;;;;;-1:-1:-1;7092:4:0;6594:510;;;;;:::o;2962:21::-;;;;;;:::o;1586:104::-;-1:-1:-1;;1586:104:0;:::o;7721:303::-;7805:22;;;;;-1:-1:-1;;;;;7805:22:0;7791:10;:36;7783:45;;;;;;7848:24;7856:6;;7864:7;7848;:24::i;:::-;7839:6;:33;-1:-1:-1;;;;;7907:13:0;;;;;;:8;:13;;;;;;7899:31;;7922:7;7899;:31::i;:::-;-1:-1:-1;;;;;7883:13:0;;;;;;:8;:13;;;;;;;;;:47;;;;7946:18;;;;;;;7883:13;;7946:18;;;;;;;;;7980:36;;;;;;;;-1:-1:-1;;;;;7980:36:0;;;7997:3;;-1:-1:-1;;;;;;;;;;;7980:36:0;;;;;;;;7721:303;;:::o;8183:315::-;8252:10;8237:26;;;;:14;:26;;;;;;;;:35;8229:44;;;;;;8307:39;8315:21;8325:10;8315:9;:21::i;:::-;8338:7;8307;:39::i;:::-;8293:10;8284:20;;;;:8;:20;;;;;:62;8374:6;;8366:24;;8382:7;8366;:24::i;:::-;8357:6;:33;8406:25;;;;;;;;8411:10;;8406:25;;;;;;;;;;8447:43;;;;;;;;8476:3;;8456:10;;-1:-1:-1;;;;;;;;;;;8447:43:0;;;;;;;;8183:315;:::o;4024:115::-;-1:-1:-1;;;;;4115:16:0;4080:15;4115:16;;;:8;:16;;;;;;;4024:115::o;1294:189::-;1361:8;;-1:-1:-1;;;;;1361:8:0;1347:10;:22;1339:31;;;;;;1398:5;;;1405:8;1386:28;;;-1:-1:-1;;;;;1398:5:0;;;1386:28;;1405:8;;;;1386:28;;;;;;;;;;;;;;;;1433:8;;;;1425:16;;-1:-1:-1;;;;;;1425:16:0;;;-1:-1:-1;;;;;1433:8:0;;1425:16;;;;1452:23;;;1294:189::o;3041:37::-;;;;;;-1:-1:-1;;;;;3041:37:0;;:::o;912:28::-;;;-1:-1:-1;;;;;912:28:0;;:::o;2898:20::-;;;;;;;;;;;;;;;-1:-1:-1;;2898:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9669:178;1104:5;;-1:-1:-1;;;;;1104:5:0;1090:10;:19;1083:27;;;;9802:13;-1:-1:-1;;;;;9782:43:0;;9826:3;9831:7;9782:57;;;;;;;;;;;;;-1:-1:-1;;;;;9782:57:0;-1:-1:-1;;;;;9782:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9782:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9782:57:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;9669:178:0:o;4415:417::-;4491:12;2381:16;;2366:12;:31;2358:40;;;;;;4539:10;4524:26;;;;:14;:26;;;;;;;;:35;4516:44;;;;;;-1:-1:-1;;;;;4579:19:0;;;;;;:43;;-1:-1:-1;;;;;;4602:20:0;;4617:4;4602:20;;4579:43;4571:52;;;;;;4657:38;4665:21;4675:10;4665:9;:21::i;4657:38::-;4643:10;4634:20;;;;:8;:20;;;;;:61;4722:31;4730:14;4740:3;4730:9;:14::i;4722:31::-;-1:-1:-1;;;;;4706:13:0;;;;;;:8;:13;;;;;;;;;:47;;;;4769:33;;;;;;;4706:13;;4778:10;;-1:-1:-1;;;;;;;;;;;4769:33:0;;;;;;;;;-1:-1:-1;4820:4:0;4415:417;;;;:::o;9986:145::-;1104:5;;-1:-1:-1;;;;;1104:5:0;1090:10;:19;1083:27;;;;10075:22;:48;;-1:-1:-1;;;;;10075:48:0;;;;;-1:-1:-1;;;;;;10075:48:0;;;;;;;;;9986:145::o;5891:351::-;6003:12;2381:16;;2366:12;:31;2358:40;;;;;;6086:8;6106:25;6086:8;6124:6;6106:7;:25::i;:::-;-1:-1:-1;6142:70:0;;-1:-1:-1;;;6142:70:0;;6166:10;6142:70;;;;;;;;;;;;6194:4;6142:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6142:23:0;;;;;6166:10;6178:6;;6194:4;6201:10;;6142: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;6142:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6142:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;6230:4:0;;5891:351;-1:-1:-1;;;;;;;;5891:351:0:o;9028:355::-;9120:12;1104:5;;-1:-1:-1;;;;;1104:5:0;1090:10;:19;1083:27;;;;-1:-1:-1;;;;;9153:21:0;;;;;;:14;:21;;;;;;;;:29;;:21;:29;9145:38;;;;;;9212:33;9220:16;9230:5;9220:9;:16::i;9212:33::-;-1:-1:-1;;;;;9194:15:0;;;;;;;:8;:15;;;;;:51;;;;9292:5;;9274:33;;9282:16;;9292:5;9282:9;:16::i;9274:33::-;9256:15;9265:5;;-1:-1:-1;;;;;9265:5:0;;;9256:15;;:8;:15;;;;;;;;:51;;;;9339:5;;9323:30;;;;;;;9339:5;;;;9323:30;;;;-1:-1:-1;;;;;;;;;;;9323:30:0;;;;;;;-1:-1:-1;9371:4:0;9028:355;;;;:::o;947:31::-;;;-1:-1:-1;;;;;947:31:0;;:::o;2235:::-;;;;:::o;7362:147::-;-1:-1:-1;;;;;7473:18:0;;;7436:17;7473:18;;;:10;:18;;;;;;;;:28;;;;;;;;;;;;;7362:147::o;8642:134::-;1104:5;;-1:-1:-1;;;;;1104:5:0;1090:10;:19;1083:27;;;;-1:-1:-1;;;;;8745:23:0;;;;;:14;:23;;;;;;;-1:-1:-1;;8718:50:0;;8745:23;;;;8744:24;8718:50;;;8642:134::o;1138:148::-;1104:5;;-1:-1:-1;;;;;1104:5:0;1090:10;:19;1083:27;;;;1241:5;;-1:-1:-1;;;;;1228:18:0;;;1241:5;;1228:18;;1220:27;;;;;;1258:8;:20;;-1:-1:-1;;;;;;1258:20:0;-1:-1:-1;;;;;1258:20:0;;;;;;;;;;1138:148::o;1851:130::-;1913:9;1948:1;1943;:6;;1935:15;;;;;;-1:-1:-1;1968:5:0;;;1851:130::o;1699:144::-;1761:9;1796:15;;1791:20;;;1783:29;;;;;;-1:-1:-1;1830:5:0;;1699:144::o
Swarm Source
bzzr://aa2fd4545cbbe8043ebf5c54790be214cbe9151f699e84a88474d3cb40c2fc1a
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.