Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 18 from a total of 18 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 7216273 | 2591 days ago | IN | 0 ETH | 0.00151556 | ||||
| Transfer | 6680536 | 2686 days ago | IN | 0 ETH | 0.00007393 | ||||
| Transfer | 5083458 | 2956 days ago | IN | 0 ETH | 0.0010926 | ||||
| Transfer | 4710066 | 3021 days ago | IN | 0.1 ETH | 0.000861 | ||||
| Transfer | 4710029 | 3021 days ago | IN | 0.1 ETH | 0.000861 | ||||
| Mint | 4390290 | 3073 days ago | IN | 0 ETH | 0.00043686 | ||||
| Mint | 4390288 | 3073 days ago | IN | 0 ETH | 0.00043635 | ||||
| Mint | 4390287 | 3073 days ago | IN | 0 ETH | 0.00043686 | ||||
| Mint | 4390284 | 3073 days ago | IN | 0 ETH | 0.00043635 | ||||
| Mint | 4390280 | 3073 days ago | IN | 0 ETH | 0.00043635 | ||||
| Mint | 4390279 | 3073 days ago | IN | 0 ETH | 0.00043635 | ||||
| Mint | 4390278 | 3073 days ago | IN | 0 ETH | 0.00043635 | ||||
| Mint | 4390271 | 3073 days ago | IN | 0 ETH | 0.00043584 | ||||
| Mint | 4390081 | 3073 days ago | IN | 0 ETH | 0.00043737 | ||||
| Mint | 4389884 | 3073 days ago | IN | 0 ETH | 0.00027817 | ||||
| 0xe58cd3cb | 4389870 | 3073 days ago | IN | 0 ETH | 0.00017336 | ||||
| Set Parameters | 4389862 | 3073 days ago | IN | 0 ETH | 0.00011576 | ||||
| 0x179381d8 | 4389846 | 3073 days ago | IN | 0 ETH | 0.00025555 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ESGToken
Compiler Version
v0.4.11+commit.68ef5810
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-10-19
*/
pragma solidity >=0.4.10;
/* ----------------------------------------------------------------------------------------
Dev: "Owned" to ensure control of contracts
Identical to https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/ownership/Ownable.sol
---------------------------------------------------------------------------------------- */
contract Owned {
address public owner;
function Owned() {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
function transferOwnership(address newOwner) onlyOwner {
owner = newOwner;
}
}
/* ----------------------------------------------------------------------------------------
Dev: SafeMath library
Identical to https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol
---------------------------------------------------------------------------------------- */
library SafeMath {
function safeMul(uint256 a, uint256 b) internal constant returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function safeDiv(uint256 a, uint256 b) internal constant 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 safeSub(uint256 a, uint256 b) internal constant returns (uint256) {
assert(b <= a); // Ensuring no negatives
return a - b;
}
function safeAdd(uint256 a, uint256 b) internal constant returns (uint256) {
uint256 c = a + b;
assert(c >= a && c>=b);
return c;
}
}
/* ----------------------------------------------------------------------------------------
Dev: ESG Asset Holder is called when the token "burn" function is called
Sum: Locked to false so users cannot burn their tokens until the Asset Contract is
put in place with value.
---------------------------------------------------------------------------------------- */
contract ESGAssetHolder {
function burn(address _holder, uint _amount) returns (bool result) {
_holder = 0x0; // To avoid variable not used issue on deployment
_amount = 0; // To avoid variable not used issue on deployment
return false;
}
}
/* ----------------------------------------------------------------------------------------
Dev: The Esports Gold Token: ERC20 standard token with MINT and BURN functions
Func: Mint, Approve, Transfer, TransferFrom
Note: Mint function takes UNITS of tokens to mint as ICO event is set to have a minimum
contribution of 1 token. All other functions (transfer etc), the value to transfer
is the FULL DECIMAL value
The user is only ever presented with the latter option, therefore should avoid
any confusion.
---------------------------------------------------------------------------------------- */
contract ESGToken is Owned {
string public name = "ESG Token"; // Name of token
string public symbol = "ESG"; // Token symbol
uint256 public decimals = 3; // Decimals for the token
uint256 public totalSupply; // Current supply of tokens
uint256 public supplyCap; // Hard cap on supply of tokens
address public ICOcontroller; // Controlling contract from ICO
address public timelockTokens; // Address for locked management tokens
bool public tokenParametersSet; // Ensure that parameters required are set
bool public controllerSet; // Ensure that ICO controller is set
mapping (address => uint256) public balanceOf; // Balances of addresses
mapping (address => mapping (address => uint)) public allowance; // Allowances from addresses
mapping (address => bool) public frozenAccount; // Safety mechanism
modifier onlyControllerOrOwner() { // Ensures that only contracts can manage key functions
require(msg.sender == ICOcontroller || msg.sender == owner);
_;
}
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
event Mint(address owner, uint amount);
event FrozenFunds(address target, bool frozen);
event Burn(address coinholder, uint amount);
/* ----------------------------------------------------------------------------------------
Dev: Constructor
param: Owner: Address of owner
Name: Esports Gold Token
Sym: ESG_TKN
Dec: 3
Cap: Hard coded cap to ensure excess tokens cannot be minted
Other parameters have been set up as a separate function to help lower initial gas deployment cost.
---------------------------------------------------------------------------------------- */
function ESGToken() {
totalSupply = 0; // Starting supply is zero
supplyCap = 0; // Hard cap supply in Tokens set by ICO
tokenParametersSet = false; // Ensure parameters are set
controllerSet = false; // Ensure controller is set
}
/* ----------------------------------------------------------------------------------------
Dev: Key parameters to setup for ICO event
Param: _ico Address of the ICO Event contract to ensure the ICO event can control
the minting function
---------------------------------------------------------------------------------------- */
function setICOController(address _ico) onlyOwner { // ICO event address is locked in
require(_ico != 0x0);
ICOcontroller = _ico;
controllerSet = true;
}
/* ----------------------------------------------------------------------------------------
NEW
Dev: Address for the timelock tokens to be held
Param: _timelockAddr Address of the timelock contract that will hold the locked tokens
---------------------------------------------------------------------------------------- */
function setParameters(address _timelockAddr) onlyOwner {
require(_timelockAddr != 0x0);
timelockTokens = _timelockAddr;
tokenParametersSet = true;
}
function parametersAreSet() constant returns (bool) {
return tokenParametersSet && controllerSet;
}
/* ----------------------------------------------------------------------------------------
Dev: Set the total number of Tokens that can be minted
Param: _supplyCap The number of tokens (in whole units) that can be minted. This number then
gets increased by the decimal number
---------------------------------------------------------------------------------------- */
function setTokenCapInUnits(uint256 _supplyCap) onlyControllerOrOwner { // Supply cap in UNITS
assert(_supplyCap > 0);
supplyCap = SafeMath.safeMul(_supplyCap, (10**decimals));
}
/* ----------------------------------------------------------------------------------------
Dev: Mint the number of tokens for the timelock contract
Param: _mMentTkns Number of tokens in whole units that need to be locked into the Timelock
---------------------------------------------------------------------------------------- */
function mintLockedTokens(uint256 _mMentTkns) onlyControllerOrOwner {
assert(_mMentTkns > 0);
assert(tokenParametersSet);
mint(timelockTokens, _mMentTkns);
}
/* ----------------------------------------------------------------------------------------
Dev: ERC20 protocols
---------------------------------------------------------------------------------------- */
function balanceOf(address _owner) constant returns (uint256 balance) {
return balanceOf[_owner];
}
/* ----------------------------------------------------------------------------------------
Dev: Mint ESG Tokens by controller
Control: OnlyControllers. ICO event needs to be able to control the minting
function
Param: Address Address for tokens to be minted to
Amount Number of tokens to be minted (in whole UNITS. Min minting is 1 token)
Minimum ETH contribution in ICO event is 0.01ETH at 100 tokens per ETH
---------------------------------------------------------------------------------------- */
function mint(address _address, uint _amount) onlyControllerOrOwner {
require(_address != 0x0);
uint256 amount = SafeMath.safeMul(_amount, (10**decimals)); // Tokens minted using unit parameter supplied
// Ensure that supplyCap is set and that new tokens don't breach cap
assert(supplyCap > 0 && amount > 0 && SafeMath.safeAdd(totalSupply, amount) <= supplyCap);
balanceOf[_address] = SafeMath.safeAdd(balanceOf[_address], amount); // Add tokens to address
totalSupply = SafeMath.safeAdd(totalSupply, amount); // Add to supply
Mint(_address, amount);
Transfer(0x0, _address, amount);
}
/* ----------------------------------------------------------------------------------------
Dev: ERC20 standard transfer function
Param: _to Address to send to
_value Number of tokens to be sent - in FULL decimal length
Ref: https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/token/BasicToken.sol
---------------------------------------------------------------------------------------- */
function transfer(address _to, uint _value) returns (bool success) {
require(!frozenAccount[msg.sender]); // Ensure account is not frozen
/*
Update balances from "from" and "to" addresses with the tokens transferred
safeSub method ensures that address sender has enough tokens to send
*/
balanceOf[msg.sender] = SafeMath.safeSub(balanceOf[msg.sender], _value);
balanceOf[_to] = SafeMath.safeAdd(balanceOf[_to], _value);
Transfer(msg.sender, _to, _value);
return true;
}
/* ----------------------------------------------------------------------------------------
Dev: ERC20 standard transferFrom function
Param: _from Address to send from
_to Address to send to
Amount Number of tokens to be sent - in FULL decimal length
---------------------------------------------------------------------------------------- */
function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
require(!frozenAccount[_from]); // Check account is not frozen
/*
Ensure sender has been authorised to send the required number of tokens
*/
if (allowance[_from][msg.sender] < _value)
return false;
/*
Update allowance of sender to reflect tokens sent
*/
allowance[_from][msg.sender] = SafeMath.safeSub(allowance[_from][msg.sender], _value);
/*
Update balances from "from" and "to" addresses with the tokens transferred
safeSub method ensures that address sender has enough tokens to send
*/
balanceOf[_from] = SafeMath.safeSub(balanceOf[_from], _value);
balanceOf[_to] = SafeMath.safeAdd(balanceOf[_to], _value);
Transfer(_from, _to, _value);
return true;
}
/* ----------------------------------------------------------------------------------------
Dev: ERC20 standard approve function
Param: _spender Address of sender who is approved
_value The number of tokens (full decimals) that are approved
---------------------------------------------------------------------------------------- */
function approve(address _spender, uint256 _value) // FULL DECIMALS OF TOKENS
returns (bool success)
{
require(!frozenAccount[msg.sender]); // Check account is not frozen
/* Requiring the user to set to zero before resetting to nonzero */
if ((_value != 0) && (allowance[msg.sender][_spender] != 0)) {
return false;
}
allowance[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
/* ----------------------------------------------------------------------------------------
Dev: Function to check the amount of tokens that the owner has allowed the "spender" to
transfer
Param: _owner Address of the authoriser who owns the tokens
_spender Address of sender who will be authorised to spend the tokens
---------------------------------------------------------------------------------------- */
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
return allowance[_owner][_spender];
}
/* ----------------------------------------------------------------------------------------
Dev: As ESG is aiming to be a regulated betting operator. Regulatory hurdles may require
this function if an account on the betting platform, using the token, breaches
a regulatory requirement.
ESG can then engage with the account holder to get it unlocked
This does not stop the token accruing value from its share of the Asset Contract
Param: _target Address of account
_freeze Boolean to lock/unlock account
Ref: This is a replica of the code as per https://ethereum.org/token
---------------------------------------------------------------------------------------- */
function freezeAccount(address target, bool freeze) onlyOwner {
frozenAccount[target] = freeze;
FrozenFunds(target, freeze);
}
/* ----------------------------------------------------------------------------------------
Dev: Burn function: User is able to burn their token for a share of the ESG Asset Contract
Note: Deployed with the ESG Asset Contract set to false to ensure token holders cannot
accidentally burn their tokens for zero value
Param: _amount Number of tokens (full decimals) that should be burnt
Ref: Based on the open source TokenCard Burn function. A copy can be found at
https://github.com/bokkypoobah/TokenCardICOAnalysis
---------------------------------------------------------------------------------------- */
function burn(uint _amount) returns (bool result) {
if (_amount > balanceOf[msg.sender])
return false; // If owner has enough to burn
/*
Remove tokens from circulation
Update sender's balance of tokens
*/
balanceOf[msg.sender] = SafeMath.safeSub(balanceOf[msg.sender], _amount);
totalSupply = SafeMath.safeSub(totalSupply, _amount);
// Call burn function
result = esgAssetHolder.burn(msg.sender, _amount);
require(result);
Burn(msg.sender, _amount);
}
/* ----------------------------------------------------------------------------------------
Dev: Section of the contract that links to the ESG Asset Contract
Note: Deployed with the ESG Asset Contract set to false to ensure token holders cannot
accidentally burn their tokens for zero value
Param: _amount Number of tokens (full decimals) that should be burnt
Ref: Based on the open source TokenCard Burn function. A copy can be found at
https://github.com/bokkypoobah/TokenCardICOAnalysis
---------------------------------------------------------------------------------------- */
ESGAssetHolder esgAssetHolder; // Holds the accumulated asset contract
bool lockedAssetHolder; // Will be locked to stop tokenholder to be upgraded
function lockAssetHolder() onlyOwner { // Locked once deployed
lockedAssetHolder = true;
}
function setAssetHolder(address _assetAdress) onlyOwner { // Used to lock in the Asset Contract
assert(!lockedAssetHolder); // Check that we haven't locked the asset holder yet
esgAssetHolder = ESGAssetHolder(_assetAdress);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"controllerSet","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ico","type":"address"}],"name":"setICOController","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"parametersAreSet","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"lockAssetHolder","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenParametersSet","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[{"name":"result","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_timelockAddr","type":"address"}],"name":"setParameters","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"supplyCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_mMentTkns","type":"uint256"}],"name":"mintLockedTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_assetAdress","type":"address"}],"name":"setAssetHolder","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_supplyCap","type":"uint256"}],"name":"setTokenCapInUnits","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ICOcontroller","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"timelockTokens","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"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"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"coinholder","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Burn","type":"event"}]Contract Creation Code
60a0604052600960608190527f45534720546f6b656e00000000000000000000000000000000000000000000006080908152620000409160019190620000d6565b506040805180820190915260038082527f455347000000000000000000000000000000000000000000000000000000000060209092019182526200008791600291620000d6565b50600360035534156200009657fe5b5b5b60008054600160a060020a03191633600160a060020a03161790555b600060048190556005556007805460a060020a61ffff02191690555b62000180565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200011957805160ff191683800117855562000149565b8280016001018555821562000149579182015b82811115620001495782518255916020019190600101906200012c565b5b50620001589291506200015c565b5090565b6200017d91905b8082111562000158576000815560010162000163565b5090565b90565b6111ff80620001906000396000f3006060604052361561015c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302072579811461015e57806306fdde0314610182578063095ea7b314610212578063179381d81461024557806318160ddd1461026357806323b872dd14610285578063313ce567146102be57806338cf2087146102e05780633a6a2a69146103045780633c1e60a61461031657806340c10f191461033a57806342966c681461035b578063490377a71461038257806370a08231146103a05780638da5cb5b146103ce5780638f770ad0146103fa57806395d89b411461041c57806397bb0de0146104ac578063990f412f146104c1578063a9059cbb146104df578063b414d4b614610512578063dd62ed3e14610542578063e58cd3cb14610576578063e724529c1461058b578063e9c9db5c146105ae578063f2fde38b146105da578063f85cd33e146105f8575bfe5b341561016657fe5b61016e610624565b604080519115158252519081900360200190f35b341561018a57fe5b610192610646565b6040805160208082528351818301528351919283929083019185019080838382156101d8575b8051825260208311156101d857601f1990920191602091820191016101b8565b505050905090810190601f1680156102045780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021a57fe5b61016e600160a060020a03600435166024356106d3565b604080519115158252519081900360200190f35b341561024d57fe5b610261600160a060020a03600435166107a1565b005b341561026b57fe5b610273610839565b60408051918252519081900360200190f35b341561028d57fe5b61016e600160a060020a036004358116906024351660443561083f565b604080519115158252519081900360200190f35b34156102c657fe5b6102736109a0565b60408051918252519081900360200190f35b34156102e857fe5b61016e6109a6565b604080519115158252519081900360200190f35b341561030c57fe5b6102616109e3565b005b341561031e57fe5b61016e610a27565b604080519115158252519081900360200190f35b341561034257fe5b610261600160a060020a0360043516602435610a37565b005b341561036357fe5b61016e600435610ba3565b604080519115158252519081900360200190f35b341561038a57fe5b610261600160a060020a0360043516610cfb565b005b34156103a857fe5b610273600160a060020a0360043516610d7a565b60408051918252519081900360200190f35b34156103d657fe5b6103de610d99565b60408051600160a060020a039092168252519081900360200190f35b341561040257fe5b610273610da8565b60408051918252519081900360200190f35b341561042457fe5b610192610dae565b6040805160208082528351818301528351919283929083019185019080838382156101d8575b8051825260208311156101d857601f1990920191602091820191016101b8565b505050905090810190601f1680156102045780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104b457fe5b610261600435610e39565b005b34156104c957fe5b610261600160a060020a0360043516610eaa565b005b34156104e757fe5b61016e600160a060020a0360043516602435610f07565b604080519115158252519081900360200190f35b341561051a57fe5b61016e600160a060020a0360043516610fe2565b604080519115158252519081900360200190f35b341561054a57fe5b610273600160a060020a0360043581169060243516610ff7565b60408051918252519081900360200190f35b341561057e57fe5b610261600435611024565b005b341561059357fe5b610261600160a060020a0360043516602435151561107c565b005b34156105b657fe5b6103de6110fe565b60408051600160a060020a039092168252519081900360200190f35b34156105e257fe5b610261600160a060020a036004351661110d565b005b341561060057fe5b6103de611156565b60408051600160a060020a039092168252519081900360200190f35b6007547501000000000000000000000000000000000000000000900460ff1681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106cb5780601f106106a0576101008083540402835291602001916106cb565b820191906000526020600020905b8154815290600101906020018083116106ae57829003601f168201915b505050505081565b600160a060020a0333166000908152600a602052604081205460ff16156106fa5760006000fd5b811580159061072d5750600160a060020a0333811660009081526009602090815260408083209387168352929052205415155b1561073a5750600061079b565b600160a060020a03338116600081815260096020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60005433600160a060020a039081169116146107bd5760006000fd5b600160a060020a03811615156107d35760006000fd5b60068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556007805475ff000000000000000000000000000000000000000000191675010000000000000000000000000000000000000000001790555b5b50565b60045481565b600160a060020a0383166000908152600a602052604081205460ff16156108665760006000fd5b600160a060020a03808516600090815260096020908152604080832033909416835292905220548290101561089d57506000610999565b600160a060020a03808516600090815260096020908152604080832033909416835292905220546108ce9083611165565b600160a060020a03808616600081815260096020908152604080832033909516835293815283822094909455908152600890925290205461090f9083611165565b600160a060020a03808616600090815260086020526040808220939093559085168152205461093e908361117c565b600160a060020a0380851660008181526008602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b9392505050565b60035481565b60075460009060a060020a900460ff1680156109dd57506007547501000000000000000000000000000000000000000000900460ff165b90505b90565b60005433600160a060020a039081169116146109ff5760006000fd5b600b805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60075460a060020a900460ff1681565b60065460009033600160a060020a0390811691161480610a65575060005433600160a060020a039081169116145b1515610a715760006000fd5b600160a060020a0383161515610a875760006000fd5b610a9682600354600a0a6111a4565b90506000600554118015610aaa5750600081115b8015610ac35750600554610ac06004548361117c565b11155b1515610acb57fe5b600160a060020a038316600090815260086020526040902054610aee908261117c565b600160a060020a038416600090815260086020526040902055600454610b14908261117c565b60045560408051600160a060020a03851681526020810183905281517f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885929181900390910190a1604080518281529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35b5b505050565b600160a060020a033316600090815260086020526040812054821115610bcb57506000610cf6565b600160a060020a033316600090815260086020526040902054610bee9083611165565b600160a060020a033316600090815260086020526040902055600454610c149083611165565b6004908155600b54604080516000602091820181905282517f9dc29fac000000000000000000000000000000000000000000000000000000008152600160a060020a03338116968201969096526024810188905292519490931693639dc29fac936044808501948390030190829087803b1515610c8d57fe5b6102c65a03f11515610c9b57fe5b505060405151915050801515610cb15760006000fd5b60408051600160a060020a03331681526020810184905281517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929181900390910190a15b919050565b60005433600160a060020a03908116911614610d175760006000fd5b600160a060020a0381161515610d2d5760006000fd5b6007805460a060020a73ffffffffffffffffffffffffffffffffffffffff19909116600160a060020a0384161774ff000000000000000000000000000000000000000019161790555b5b50565b600160a060020a0381166000908152600860205260409020545b919050565b600054600160a060020a031681565b60055481565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106cb5780601f106106a0576101008083540402835291602001916106cb565b820191906000526020600020905b8154815290600101906020018083116106ae57829003601f168201915b505050505081565b60065433600160a060020a0390811691161480610e64575060005433600160a060020a039081169116145b1515610e705760006000fd5b60008111610e7a57fe5b60075460a060020a900460ff161515610e8f57fe5b60075461083590600160a060020a031682610a37565b5b5b50565b60005433600160a060020a03908116911614610ec65760006000fd5b600b5460a060020a900460ff1615610eda57fe5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a0333166000908152600a602052604081205460ff1615610f2e5760006000fd5b600160a060020a033316600090815260086020526040902054610f519083611165565b600160a060020a033381166000908152600860205260408082209390935590851681522054610f80908361117c565b600160a060020a038085166000818152600860209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b92915050565b600a6020526000908152604090205460ff1681565b600160a060020a038083166000908152600960209081526040808320938516835292905220545b92915050565b60065433600160a060020a039081169116148061104f575060005433600160a060020a039081169116145b151561105b5760006000fd5b6000811161106557fe5b61107481600354600a0a6111a4565b6005555b5b50565b60005433600160a060020a039081169116146110985760006000fd5b600160a060020a0382166000818152600a6020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15b5b5050565b600654600160a060020a031681565b60005433600160a060020a039081169116146111295760006000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600754600160a060020a031681565b60008282111561117157fe5b508082035b92915050565b60008282018381108015906111915750828110155b151561119957fe5b8091505b5092915050565b600082820283158061119157508284828115156111bd57fe5b04145b151561119957fe5b8091505b50929150505600a165627a7a723058209651feccf0f562624e1377e02235995cfd2669aeceb3727c972a32b37748ad980029
Deployed Bytecode
0x6060604052361561015c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302072579811461015e57806306fdde0314610182578063095ea7b314610212578063179381d81461024557806318160ddd1461026357806323b872dd14610285578063313ce567146102be57806338cf2087146102e05780633a6a2a69146103045780633c1e60a61461031657806340c10f191461033a57806342966c681461035b578063490377a71461038257806370a08231146103a05780638da5cb5b146103ce5780638f770ad0146103fa57806395d89b411461041c57806397bb0de0146104ac578063990f412f146104c1578063a9059cbb146104df578063b414d4b614610512578063dd62ed3e14610542578063e58cd3cb14610576578063e724529c1461058b578063e9c9db5c146105ae578063f2fde38b146105da578063f85cd33e146105f8575bfe5b341561016657fe5b61016e610624565b604080519115158252519081900360200190f35b341561018a57fe5b610192610646565b6040805160208082528351818301528351919283929083019185019080838382156101d8575b8051825260208311156101d857601f1990920191602091820191016101b8565b505050905090810190601f1680156102045780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021a57fe5b61016e600160a060020a03600435166024356106d3565b604080519115158252519081900360200190f35b341561024d57fe5b610261600160a060020a03600435166107a1565b005b341561026b57fe5b610273610839565b60408051918252519081900360200190f35b341561028d57fe5b61016e600160a060020a036004358116906024351660443561083f565b604080519115158252519081900360200190f35b34156102c657fe5b6102736109a0565b60408051918252519081900360200190f35b34156102e857fe5b61016e6109a6565b604080519115158252519081900360200190f35b341561030c57fe5b6102616109e3565b005b341561031e57fe5b61016e610a27565b604080519115158252519081900360200190f35b341561034257fe5b610261600160a060020a0360043516602435610a37565b005b341561036357fe5b61016e600435610ba3565b604080519115158252519081900360200190f35b341561038a57fe5b610261600160a060020a0360043516610cfb565b005b34156103a857fe5b610273600160a060020a0360043516610d7a565b60408051918252519081900360200190f35b34156103d657fe5b6103de610d99565b60408051600160a060020a039092168252519081900360200190f35b341561040257fe5b610273610da8565b60408051918252519081900360200190f35b341561042457fe5b610192610dae565b6040805160208082528351818301528351919283929083019185019080838382156101d8575b8051825260208311156101d857601f1990920191602091820191016101b8565b505050905090810190601f1680156102045780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104b457fe5b610261600435610e39565b005b34156104c957fe5b610261600160a060020a0360043516610eaa565b005b34156104e757fe5b61016e600160a060020a0360043516602435610f07565b604080519115158252519081900360200190f35b341561051a57fe5b61016e600160a060020a0360043516610fe2565b604080519115158252519081900360200190f35b341561054a57fe5b610273600160a060020a0360043581169060243516610ff7565b60408051918252519081900360200190f35b341561057e57fe5b610261600435611024565b005b341561059357fe5b610261600160a060020a0360043516602435151561107c565b005b34156105b657fe5b6103de6110fe565b60408051600160a060020a039092168252519081900360200190f35b34156105e257fe5b610261600160a060020a036004351661110d565b005b341561060057fe5b6103de611156565b60408051600160a060020a039092168252519081900360200190f35b6007547501000000000000000000000000000000000000000000900460ff1681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106cb5780601f106106a0576101008083540402835291602001916106cb565b820191906000526020600020905b8154815290600101906020018083116106ae57829003601f168201915b505050505081565b600160a060020a0333166000908152600a602052604081205460ff16156106fa5760006000fd5b811580159061072d5750600160a060020a0333811660009081526009602090815260408083209387168352929052205415155b1561073a5750600061079b565b600160a060020a03338116600081815260096020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60005433600160a060020a039081169116146107bd5760006000fd5b600160a060020a03811615156107d35760006000fd5b60068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556007805475ff000000000000000000000000000000000000000000191675010000000000000000000000000000000000000000001790555b5b50565b60045481565b600160a060020a0383166000908152600a602052604081205460ff16156108665760006000fd5b600160a060020a03808516600090815260096020908152604080832033909416835292905220548290101561089d57506000610999565b600160a060020a03808516600090815260096020908152604080832033909416835292905220546108ce9083611165565b600160a060020a03808616600081815260096020908152604080832033909516835293815283822094909455908152600890925290205461090f9083611165565b600160a060020a03808616600090815260086020526040808220939093559085168152205461093e908361117c565b600160a060020a0380851660008181526008602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b9392505050565b60035481565b60075460009060a060020a900460ff1680156109dd57506007547501000000000000000000000000000000000000000000900460ff165b90505b90565b60005433600160a060020a039081169116146109ff5760006000fd5b600b805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60075460a060020a900460ff1681565b60065460009033600160a060020a0390811691161480610a65575060005433600160a060020a039081169116145b1515610a715760006000fd5b600160a060020a0383161515610a875760006000fd5b610a9682600354600a0a6111a4565b90506000600554118015610aaa5750600081115b8015610ac35750600554610ac06004548361117c565b11155b1515610acb57fe5b600160a060020a038316600090815260086020526040902054610aee908261117c565b600160a060020a038416600090815260086020526040902055600454610b14908261117c565b60045560408051600160a060020a03851681526020810183905281517f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885929181900390910190a1604080518281529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35b5b505050565b600160a060020a033316600090815260086020526040812054821115610bcb57506000610cf6565b600160a060020a033316600090815260086020526040902054610bee9083611165565b600160a060020a033316600090815260086020526040902055600454610c149083611165565b6004908155600b54604080516000602091820181905282517f9dc29fac000000000000000000000000000000000000000000000000000000008152600160a060020a03338116968201969096526024810188905292519490931693639dc29fac936044808501948390030190829087803b1515610c8d57fe5b6102c65a03f11515610c9b57fe5b505060405151915050801515610cb15760006000fd5b60408051600160a060020a03331681526020810184905281517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929181900390910190a15b919050565b60005433600160a060020a03908116911614610d175760006000fd5b600160a060020a0381161515610d2d5760006000fd5b6007805460a060020a73ffffffffffffffffffffffffffffffffffffffff19909116600160a060020a0384161774ff000000000000000000000000000000000000000019161790555b5b50565b600160a060020a0381166000908152600860205260409020545b919050565b600054600160a060020a031681565b60055481565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106cb5780601f106106a0576101008083540402835291602001916106cb565b820191906000526020600020905b8154815290600101906020018083116106ae57829003601f168201915b505050505081565b60065433600160a060020a0390811691161480610e64575060005433600160a060020a039081169116145b1515610e705760006000fd5b60008111610e7a57fe5b60075460a060020a900460ff161515610e8f57fe5b60075461083590600160a060020a031682610a37565b5b5b50565b60005433600160a060020a03908116911614610ec65760006000fd5b600b5460a060020a900460ff1615610eda57fe5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a0333166000908152600a602052604081205460ff1615610f2e5760006000fd5b600160a060020a033316600090815260086020526040902054610f519083611165565b600160a060020a033381166000908152600860205260408082209390935590851681522054610f80908361117c565b600160a060020a038085166000818152600860209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b92915050565b600a6020526000908152604090205460ff1681565b600160a060020a038083166000908152600960209081526040808320938516835292905220545b92915050565b60065433600160a060020a039081169116148061104f575060005433600160a060020a039081169116145b151561105b5760006000fd5b6000811161106557fe5b61107481600354600a0a6111a4565b6005555b5b50565b60005433600160a060020a039081169116146110985760006000fd5b600160a060020a0382166000818152600a6020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15b5b5050565b600654600160a060020a031681565b60005433600160a060020a039081169116146111295760006000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600754600160a060020a031681565b60008282111561117157fe5b508082035b92915050565b60008282018381108015906111915750828110155b151561119957fe5b8091505b5092915050565b600082820283158061119157508284828115156111bd57fe5b04145b151561119957fe5b8091505b50929150505600a165627a7a723058209651feccf0f562624e1377e02235995cfd2669aeceb3727c972a32b37748ad980029
Swarm Source
bzzr://9651feccf0f562624e1377e02235995cfd2669aeceb3727c972a32b37748ad98
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
[ Download: CSV Export ]
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.