Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 2,888 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 22207629 | 354 days ago | IN | 0 ETH | 0.00009351 | ||||
| Transfer | 16390751 | 1169 days ago | IN | 0 ETH | 0.00123405 | ||||
| Transfer | 16383791 | 1170 days ago | IN | 0 ETH | 0.00077528 | ||||
| Transfer | 14781370 | 1410 days ago | IN | 0 ETH | 0.00287631 | ||||
| Transfer | 14423030 | 1467 days ago | IN | 0 ETH | 0.0008879 | ||||
| Transfer | 12682441 | 1738 days ago | IN | 0 ETH | 0.0009667 | ||||
| Transfer | 12255904 | 1804 days ago | IN | 0 ETH | 0.00790119 | ||||
| Transfer | 12255903 | 1804 days ago | IN | 0 ETH | 0.00617619 | ||||
| Transfer | 12189689 | 1814 days ago | IN | 0 ETH | 0.00559189 | ||||
| Transfer | 10987557 | 1999 days ago | IN | 0 ETH | 0.00174987 | ||||
| Transfer | 10812170 | 2026 days ago | IN | 0 ETH | 0.00562081 | ||||
| Transfer | 10474432 | 2078 days ago | IN | 0 ETH | 0.00272289 | ||||
| Transfer | 10449527 | 2082 days ago | IN | 0 ETH | 0.00202465 | ||||
| Transfer | 10336856 | 2099 days ago | IN | 0 ETH | 0.00164335 | ||||
| Transfer | 10334654 | 2100 days ago | IN | 0 ETH | 0.00246503 | ||||
| Transfer | 9895411 | 2168 days ago | IN | 0 ETH | 0.0006323 | ||||
| Transfer | 9895197 | 2168 days ago | IN | 0 ETH | 0.00013268 | ||||
| Transfer | 9561443 | 2219 days ago | IN | 0 ETH | 0.00004776 | ||||
| Transfer | 9553234 | 2221 days ago | IN | 0 ETH | 0.00015184 | ||||
| Transfer | 9232193 | 2270 days ago | IN | 0 ETH | 0.0001433 | ||||
| Transfer | 9164415 | 2282 days ago | IN | 0 ETH | 0.00019938 | ||||
| Transfer | 9155590 | 2284 days ago | IN | 0 ETH | 0.00059792 | ||||
| Approve | 9008227 | 2311 days ago | IN | 0 ETH | 0.00024562 | ||||
| Transfer | 8957549 | 2319 days ago | IN | 0 ETH | 0.00043662 | ||||
| Transfer | 8920641 | 2326 days ago | IN | 0 ETH | 0.00179276 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MainContract
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 2018-08-06
*/
pragma solidity 0.4.11;
// File: contracts/OwnerValidator.sol
contract TokenContract {
function totalSupply() constant returns (uint256 supply);
function decimals() constant returns(uint8 units);
function balanceOf(address _owner) constant returns (uint256 balance);
function transfer(address _to, uint256 _value) returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
function transferFromSender(address _to, uint256 _value) returns (bool success);
function approve(address _spender, uint256 _value) returns (bool success);
function allowance(address _owner, address _spender) constant returns (uint256 remaining);
}
contract OwnerValidator {
function validate(address addr) constant returns (bool);
}
contract Owned {
function ownerValidate(address addr) constant returns (bool);
bool public isWorking;
function Owned() {
isWorking = true;
}
modifier onlyOwner {
if (!ownerValidate(msg.sender)) throw;
_;
}
modifier onlyWorking {
if (!isWorking) throw;
_;
}
modifier onlyNotWorking {
if (isWorking) throw;
_;
}
function setWorking(bool _isWorking) onlyOwner {
isWorking = _isWorking;
}
}
contract OwnerValidatorImpl is OwnerValidator, Owned {
address[] public owners;
TokenContract public tokenContract;
function OwnerValidatorImpl() {
owners.push(msg.sender);
}
function indexOfOwners(address _address) private constant returns (uint pos) {
pos = 0;
for (uint i = 0; i < owners.length; i++) {
if (owners[i] == _address) {
pos = i + 1;
break;
}
}
return pos;
}
function validate(address addr) constant returns (bool) {
return (indexOfOwners(addr) != 0);
}
function getOwners() constant returns (address[]) {
return owners;
}
function addOwner(address addr) onlyWorking {
if (validate(msg.sender)) {
if (!validate(addr)) {
owners.push(addr);
}
}
}
function removeOwner(address addr) onlyWorking {
if (validate(msg.sender)) {
uint pos = indexOfOwners(addr);
if (pos > 0) {
owners[pos - 1] = 0x0;
}
}
}
function setTokenContract(address _tokenContract) onlyWorking {
if (validate(msg.sender)) {
tokenContract = TokenContract(_tokenContract);
}
}
function ownerValidate(address addr) constant returns (bool) {
return validate(addr);
}
function transferFromSender(address _to, uint256 _value) returns (bool success) {
if (!validate(msg.sender)) throw;
return tokenContract.transferFromSender(_to, _value);
}
function sendFromOwn(address _to, uint256 _value) returns (bool success) {
if (!validate(msg.sender)) throw;
if (!_to.send(_value)) throw;
return true;
}
}
// File: contracts/OffChainManager.sol
contract OffChainManager {
function isToOffChainAddress(address addr) constant returns (bool);
function getOffChainRootAddress() constant returns (address);
}
contract OffChainManagerImpl is OffChainManager, Owned {
address public rootAddress;
address[] public offChainAddreses;
mapping (address => uint256) refOffChainAddresses;
OwnerValidator public ownerValidator;
TokenContract public tokenContract;
function OffChainManagerImpl(
address _rootAddress,
address _ownerValidator
) {
rootAddress = _rootAddress;
ownerValidator = OwnerValidator(_ownerValidator);
}
function setRootAddress(address _address) onlyWorking {
if (ownerValidator.validate(msg.sender)) {
rootAddress = _address;
}
}
function setOwnerValidatorAddress(address _ownerValidator) onlyWorking {
if (ownerValidator.validate(msg.sender)) {
ownerValidator = OwnerValidator(_ownerValidator);
}
}
function setTokenContract(address _tokenContract) {
if (ownerValidator.validate(msg.sender)) {
tokenContract = TokenContract(_tokenContract);
}
}
function offChainAddresesValidCount() constant returns (uint) {
uint cnt = 0;
for (uint i = 0; i < offChainAddreses.length; i++) {
if (offChainAddreses[i] != 0) {
cnt++;
}
}
return cnt;
}
function addOffChainAddress(address _address) private {
if (!isToOffChainAddress(_address)) {
offChainAddreses.push(_address);
refOffChainAddresses[_address] = offChainAddreses.length;
}
}
function removeOffChainAddress(address _address) private {
uint pos = refOffChainAddresses[_address];
if (pos > 0) {
offChainAddreses[pos - 1] = 0;
refOffChainAddresses[_address] = 0x0;
}
}
function addOffChainAddresses(address[] _addresses) onlyWorking {
if (ownerValidator.validate(msg.sender)) {
for (uint i = 0; i < _addresses.length; i++) {
addOffChainAddress(_addresses[i]);
}
}
}
function removeOffChainAddresses(address[] _addresses) onlyWorking {
if (ownerValidator.validate(msg.sender)) {
for (uint i = 0; i < _addresses.length; i++) {
removeOffChainAddress(_addresses[i]);
}
}
}
function ownerValidate(address addr) constant returns (bool) {
return ownerValidator.validate(addr);
}
function transferFromSender(address _to, uint256 _value) returns (bool success) {
if (!ownerValidator.validate(msg.sender)) throw;
return tokenContract.transferFromSender(_to, _value);
}
function sendFromOwn(address _to, uint256 _value) returns (bool success) {
if (!ownerValidator.validate(msg.sender)) throw;
if (!_to.send(_value)) throw;
return true;
}
function isToOffChainAddress(address addr) constant returns (bool) {
return refOffChainAddresses[addr] > 0;
}
function getOffChainRootAddress() constant returns (address) {
return rootAddress;
}
function getOffChainAddresses() constant returns (address[]) {
return offChainAddreses;
}
function isToOffChainAddresses(address[] _addresses) constant returns (bool) {
for (uint i = 0; i < _addresses.length; i++) {
if (!isToOffChainAddress(_addresses[i])) {
return false;
}
}
return true;
}
}
// File: contracts/TokenContract.sol
library SafeMath {
function mul(uint256 a, uint256 b) internal constant returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal constant returns (uint256) {
// assert(b > 0);
uint256 c = a / b;
// assert(a == b * c + a % b);
return c;
}
function sub(uint256 a, uint256 b) internal constant returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal constant returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
contract TokenContractImpl is TokenContract, Owned {
using SafeMath for uint256;
string public standard = "Token 0.1";
uint256 _totalSupply;
uint8 _decimals;
mapping (address => uint256) public balances;
mapping (address => mapping (address => uint256)) public allowed;
OwnerValidator public ownerValidator;
OffChainManager public offChainManager;
bool public isRedenominated;
uint256 public redenomiValue;
mapping (address => uint256) public redenominatedBalances;
mapping (address => mapping (address => uint256)) public redenominatedAllowed;
function TokenContractImpl(
uint256 initialSupply,
uint8 decimals,
address _ownerValidator,
address _offChainManager
){
balances[msg.sender] = initialSupply;
_totalSupply = initialSupply;
_decimals = decimals;
ownerValidator = OwnerValidator(_ownerValidator);
offChainManager = OffChainManager(_offChainManager);
}
function totalSupply() constant returns (uint256 totalSupply) {
if (isRedenominated) {
return redenominatedValue(_totalSupply);
}
return _totalSupply;
}
function decimals() constant returns (uint8 decimals) {
return _decimals;
}
function balanceOf(address _owner) constant returns (uint256 balance) {
if (isRedenominated) {
if (redenominatedBalances[_owner] > 0) {
return redenominatedBalances[_owner];
}
return redenominatedValue(balances[_owner]);
}
return balances[_owner];
}
function allowance(address _owner, address _spender) constant returns (uint remaining) {
if (isRedenominated) {
if (redenominatedAllowed[_owner][_spender] > 0) {
return redenominatedAllowed[_owner][_spender];
}
return redenominatedValue(allowed[_owner][_spender]);
}
return allowed[_owner][_spender];
}
function redenominatedValue(uint256 _value) private returns (uint256) {
return _value.mul(redenomiValue);
}
function ownerValidate(address addr) constant returns (bool) {
return ownerValidator.validate(addr);
}
function redenominate(uint256 _redenomiValue) {
if (isRedenominated) throw;
if (ownerValidator.validate(msg.sender)) {
redenomiValue = _redenomiValue;
Redenominate(msg.sender, isRedenominated, redenomiValue);
}
}
function applyRedenomination() onlyNotWorking {
if (isRedenominated) throw;
if (redenomiValue == 0) throw;
if (ownerValidator.validate(msg.sender)) {
isRedenominated = true;
ApplyRedenomination(msg.sender, isRedenominated, redenomiValue);
}
}
function setOwnerValidatorAddress(address _ownerValidator) onlyWorking {
if (ownerValidator.validate(msg.sender)) {
ownerValidator = OwnerValidator(_ownerValidator);
}
}
function setOffChainManagerAddress(address _offChainManager) onlyWorking {
if (ownerValidator.validate(msg.sender)) {
offChainManager = OffChainManager(_offChainManager);
}
}
function transfer(address _to, uint256 _value) onlyWorking returns (bool success) {
return transferProcess(tx.origin, _to, _value);
}
function transferProcess(address _from, address _to, uint256 _value) private returns (bool success) {
if (balanceOf(_from) < _value) throw;
subtractBalance(_from, _value);
if (offChainManager.isToOffChainAddress(_to)) {
addBalance(offChainManager.getOffChainRootAddress(), _value);
ToOffChainTransfer(_from, _to, _to, _value);
} else {
addBalance(_to, _value);
}
return true;
}
function addBalance(address _address, uint256 _value) private {
if (isRedenominated) {
if (redenominatedBalances[_address] == 0) {
if (balances[_address] > 0) {
redenominatedBalances[_address] = redenominatedValue(balances[_address]);
balances[_address] = 0;
}
}
redenominatedBalances[_address] = redenominatedBalances[_address].add(_value);
} else {
balances[_address] = balances[_address].add(_value);
}
}
function subtractBalance(address _address, uint256 _value) private {
if (isRedenominated) {
if (redenominatedBalances[_address] == 0) {
if (balances[_address] > 0) {
redenominatedBalances[_address] = redenominatedValue(balances[_address]);
balances[_address] = 0;
}
}
redenominatedBalances[_address] = redenominatedBalances[_address].sub(_value);
} else {
balances[_address] = balances[_address].sub(_value);
}
}
function transferFrom(address _from, address _to, uint256 _value) onlyWorking returns (bool success) {
if (balanceOf(_from) < _value) throw;
if (balanceOf(_to).add(_value) < balanceOf(_to)) throw;
if (_value > allowance(_from, tx.origin)) throw;
subtractBalance(_from, _value);
if (offChainManager.isToOffChainAddress(_to)) {
addBalance(offChainManager.getOffChainRootAddress(), _value);
ToOffChainTransfer(tx.origin, _to, _to, _value);
} else {
addBalance(_to, _value);
}
subtractAllowed(_from, tx.origin, _value);
return true;
}
function transferFromSender(address _to, uint256 _value) onlyWorking returns (bool success) {
if (!transferProcess(msg.sender, _to, _value)) throw;
TransferFromSender(msg.sender, _to, _value);
return true;
}
function transferFromOwn(address _to, uint256 _value) onlyWorking returns (bool success) {
if (!ownerValidator.validate(msg.sender)) throw;
if (!transferProcess(this, _to, _value)) throw;
TransferFromSender(this, _to, _value);
return true;
}
function sendFromOwn(address _to, uint256 _value) returns (bool success) {
if (!ownerValidator.validate(msg.sender)) throw;
if (!_to.send(_value)) throw;
return true;
}
function approve(address _spender, uint256 _value) onlyWorking returns (bool success) {
setAllowed(tx.origin, _spender, _value);
return true;
}
function subtractAllowed(address _from, address _spender, uint256 _value) private {
if (isRedenominated) {
if (redenominatedAllowed[_from][_spender] == 0) {
if (allowed[_from][_spender] > 0) {
redenominatedAllowed[_from][_spender] = redenominatedValue(allowed[_from][_spender]);
allowed[_from][_spender] = 0;
}
}
redenominatedAllowed[_from][_spender] = redenominatedAllowed[_from][_spender].sub(_value);
} else {
allowed[_from][_spender] = allowed[_from][_spender].sub(_value);
}
}
function setAllowed(address _owner, address _spender, uint256 _value) private {
if (isRedenominated) {
redenominatedAllowed[_owner][_spender] = _value;
} else {
allowed[_owner][_spender] = _value;
}
}
event TransferFromSender(address indexed _from, address indexed _to, uint256 _value);
event ToOffChainTransfer(address indexed _from, address indexed _toKey, address _to, uint256 _value);
event Redenominate(address _owner, bool _isRedenominated, uint256 _redenomiVakye);
event ApplyRedenomination(address _owner, bool _isRedenominated, uint256 _redenomiVakye);
}
// File: contracts/MainContract.sol
contract MainContract {
string public standard = "Token 0.1";
string public name;
string public symbol;
OwnerValidator public ownerValidator;
TokenContract public tokenContract;
function MainContract(
string _tokenName,
address _ownerValidator,
address _tokenContract,
string _symbol
) {
ownerValidator = OwnerValidator(_ownerValidator);
tokenContract = TokenContract(_tokenContract);
name = _tokenName;
symbol = _symbol;
}
function totalSupply() constant returns(uint256 totalSupply) {
return tokenContract.totalSupply();
}
function decimals() constant returns(uint8 decimals) {
return tokenContract.decimals();
}
function setOwnerValidateAddress(address _ownerValidator) {
if (ownerValidator.validate(msg.sender)) {
ownerValidator = OwnerValidator(_ownerValidator);
}
}
function setTokenContract(address _tokenContract) {
if (ownerValidator.validate(msg.sender)) {
tokenContract = TokenContract(_tokenContract);
}
}
function transferFromSender(address _to, uint256 _value) returns (bool success) {
if (!ownerValidator.validate(msg.sender)) throw;
return tokenContract.transferFromSender(_to, _value);
}
function sendFromOwn(address _to, uint256 _value) returns (bool success) {
if (!ownerValidator.validate(msg.sender)) throw;
if (!_to.send(_value)) throw;
return true;
}
function balanceOf(address _owner) constant returns (uint256 balance) {
return uint256(tokenContract.balanceOf(_owner));
}
function transfer(address _to, uint256 _value) returns (bool success) {
if (tokenContract.transfer(_to, _value)) {
Transfer(msg.sender, _to, _value);
return true;
} else {
throw;
}
}
function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
if (tokenContract.transferFrom(_from, _to, _value)) {
Transfer(_from, _to, _value);
return true;
} else {
throw;
}
}
function approve(address _spender, uint256 _value) returns (bool success) {
if (tokenContract.approve(_spender,_value)) {
Approval(msg.sender,_spender,_value);
return true;
} else {
throw;
}
}
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
return tokenContract.allowance(_owner,_spender);
}
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}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,"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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","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":"decimals","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ownerValidator","type":"address"}],"name":"setOwnerValidateAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendFromOwn","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"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":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFromSender","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"setTokenContract","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ownerValidator","outputs":[{"name":"","type":"address"}],"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"},{"inputs":[{"name":"_tokenName","type":"string"},{"name":"_ownerValidator","type":"address"},{"name":"_tokenContract","type":"address"},{"name":"_symbol","type":"string"}],"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"}]Contract Creation Code
60a0604052600960608190527f546f6b656e20302e3100000000000000000000000000000000000000000000006080908152620000409160009190620000e0565b5034156200004a57fe5b6040516200103d3803806200103d83398101604090815281516020830151918301516060840151918401939091015b60038054600160a060020a03808616600160a060020a03199283161790925560048054928516929091169190911790558351620000be906001906020870190620000e0565b508051620000d4906002906020840190620000e0565b505b505050506200018a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200012357805160ff191683800117855562000153565b8280016001018555821562000153579182015b828111156200015357825182559160200191906001019062000136565b5b506200016292915062000166565b5090565b6200018791905b808211156200016257600081556001016200016d565b5090565b90565b610ea3806200019a6000396000f300606060405236156100ca5763ffffffff60e060020a60003504166306fdde0381146100cc578063095ea7b31461015c57806318160ddd1461018f57806323b872dd146101b1578063313ce567146101ea57806350e86e1e1461021057806355a373d61461022e5780635a3b7e421461025a57806370a08231146102ea5780637e6216671461031857806395d89b411461034b578063a9059cbb146103db578063bae804a71461040e578063bbcd5bbe14610441578063d2d5a55c1461045f578063dd62ed3e1461048b575bfe5b34156100d457fe5b6100dc6104bf565b604080516020808252835181830152835191928392908301918501908083838215610122575b80518252602083111561012257601f199092019160209182019101610102565b505050905090810190601f16801561014e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016457fe5b61017b600160a060020a036004351660243561054c565b604080519115158252519081900360200190f35b341561019757fe5b61019f61063e565b60408051918252519081900360200190f35b34156101b957fe5b61017b600160a060020a03600435811690602435166044356106b6565b604080519115158252519081900360200190f35b34156101f257fe5b6101fa6107b1565b6040805160ff9092168252519081900360200190f35b341561021857fe5b61022c600160a060020a0360043516610829565b005b341561023657fe5b61023e6108c9565b60408051600160a060020a039092168252519081900360200190f35b341561026257fe5b6100dc6108d8565b604080516020808252835181830152835191928392908301918501908083838215610122575b80518252602083111561012257601f199092019160209182019101610102565b505050905090810190601f16801561014e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102f257fe5b61019f600160a060020a0360043516610966565b60408051918252519081900360200190f35b341561032057fe5b61017b600160a060020a03600435166024356109f3565b604080519115158252519081900360200190f35b341561035357fe5b6100dc610aa8565b604080516020808252835181830152835191928392908301918501908083838215610122575b80518252602083111561012257601f199092019160209182019101610102565b505050905090810190601f16801561014e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e357fe5b61017b600160a060020a0360043516602435610b33565b604080519115158252519081900360200190f35b341561041657fe5b61017b600160a060020a0360043516602435610c25565b604080519115158252519081900360200190f35b341561044957fe5b61022c600160a060020a0360043516610d32565b005b341561046757fe5b61023e610dd2565b60408051600160a060020a039092168252519081900360200190f35b341561049357fe5b61019f600160a060020a0360043581169060243516610de1565b60408051918252519081900360200190f35b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505081565b60048054604080516000602091820181905282517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a038881169682019690965260248101879052925190949093169263095ea7b392604480820193929182900301818787803b15156105c357fe5b6102c65a03f115156105d157fe5b5050604051511590506106315782600160a060020a031633600160a060020a03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3506001610637565b60006000fd5b5b92915050565b6000600460009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b151561069b57fe5b6102c65a03f115156106a957fe5b5050604051519150505b90565b60048054604080516000602091820181905282517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a038981169682019690965287861660248201526044810187905292519094909316926323b872dd92606480820193929182900301818787803b151561073557fe5b6102c65a03f1151561074357fe5b5050604051511590506106315782600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060016107a9565b60006000fd5b5b9392505050565b6000600460009054906101000a9004600160a060020a0316600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b151561069b57fe5b6102c65a03f115156106a957fe5b5050604051519150505b90565b6003546040805160006020918201819052825160e060020a63207c64fb028152600160a060020a0333811660048301529351939094169363207c64fb936024808301949391928390030190829087803b151561088157fe5b6102c65a03f1151561088f57fe5b5050604051511590506108c5576003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600454600160a060020a031681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505081565b60048054604080516000602091820181905282517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a038781169682019690965292519094909316926370a0823192602480820193929182900301818787803b15156109d657fe5b6102c65a03f115156109e457fe5b5050604051519150505b919050565b6003546040805160006020918201819052825160e060020a63207c64fb028152600160a060020a03338116600483015293519194939093169263207c64fb92602480830193919282900301818787803b1515610a4b57fe5b6102c65a03f11515610a5957fe5b50506040515115159050610a6d5760006000fd5b604051600160a060020a0384169083156108fc029084906000818181858888f193505050501515610a9e5760006000fd5b5060015b92915050565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505081565b60048054604080516000602091820181905282517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038881169682019690965260248101879052925190949093169263a9059cbb92604480820193929182900301818787803b1515610baa57fe5b6102c65a03f11515610bb857fe5b5050604051511590506106315782600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3506001610637565b60006000fd5b5b92915050565b6003546040805160006020918201819052825160e060020a63207c64fb028152600160a060020a03338116600483015293519194939093169263207c64fb92602480830193919282900301818787803b1515610c7d57fe5b6102c65a03f11515610c8b57fe5b50506040515115159050610c9f5760006000fd5b60048054604080516000602091820181905282517fbae804a7000000000000000000000000000000000000000000000000000000008152600160a060020a0389811696820196909652602481018890529251949093169363bae804a7936044808501948390030190829087803b1515610d1457fe5b6102c65a03f11515610d2257fe5b5050604051519150505b92915050565b6003546040805160006020918201819052825160e060020a63207c64fb028152600160a060020a0333811660048301529351939094169363207c64fb936024808301949391928390030190829087803b1515610d8a57fe5b6102c65a03f11515610d9857fe5b5050604051511590506108c5576004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600354600160a060020a031681565b60048054604080516000602091820181905282517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03888116968201969096528686166024820152925190949093169263dd62ed3e92604480820193929182900301818787803b1515610d1457fe5b6102c65a03f11515610d2257fe5b5050604051519150505b929150505600a165627a7a723058200a0aa351212af1184d6c60a67c5886d37fe8a4779a01eb4a7df52cf453c9757400290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000ebd5be233c4e9765ccb36c8b6f8de336ceda210000000000000000000000000047be251e13101c30528c61a88393788997552eae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000034b5443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034b54430000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x606060405236156100ca5763ffffffff60e060020a60003504166306fdde0381146100cc578063095ea7b31461015c57806318160ddd1461018f57806323b872dd146101b1578063313ce567146101ea57806350e86e1e1461021057806355a373d61461022e5780635a3b7e421461025a57806370a08231146102ea5780637e6216671461031857806395d89b411461034b578063a9059cbb146103db578063bae804a71461040e578063bbcd5bbe14610441578063d2d5a55c1461045f578063dd62ed3e1461048b575bfe5b34156100d457fe5b6100dc6104bf565b604080516020808252835181830152835191928392908301918501908083838215610122575b80518252602083111561012257601f199092019160209182019101610102565b505050905090810190601f16801561014e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016457fe5b61017b600160a060020a036004351660243561054c565b604080519115158252519081900360200190f35b341561019757fe5b61019f61063e565b60408051918252519081900360200190f35b34156101b957fe5b61017b600160a060020a03600435811690602435166044356106b6565b604080519115158252519081900360200190f35b34156101f257fe5b6101fa6107b1565b6040805160ff9092168252519081900360200190f35b341561021857fe5b61022c600160a060020a0360043516610829565b005b341561023657fe5b61023e6108c9565b60408051600160a060020a039092168252519081900360200190f35b341561026257fe5b6100dc6108d8565b604080516020808252835181830152835191928392908301918501908083838215610122575b80518252602083111561012257601f199092019160209182019101610102565b505050905090810190601f16801561014e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102f257fe5b61019f600160a060020a0360043516610966565b60408051918252519081900360200190f35b341561032057fe5b61017b600160a060020a03600435166024356109f3565b604080519115158252519081900360200190f35b341561035357fe5b6100dc610aa8565b604080516020808252835181830152835191928392908301918501908083838215610122575b80518252602083111561012257601f199092019160209182019101610102565b505050905090810190601f16801561014e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e357fe5b61017b600160a060020a0360043516602435610b33565b604080519115158252519081900360200190f35b341561041657fe5b61017b600160a060020a0360043516602435610c25565b604080519115158252519081900360200190f35b341561044957fe5b61022c600160a060020a0360043516610d32565b005b341561046757fe5b61023e610dd2565b60408051600160a060020a039092168252519081900360200190f35b341561049357fe5b61019f600160a060020a0360043581169060243516610de1565b60408051918252519081900360200190f35b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505081565b60048054604080516000602091820181905282517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a038881169682019690965260248101879052925190949093169263095ea7b392604480820193929182900301818787803b15156105c357fe5b6102c65a03f115156105d157fe5b5050604051511590506106315782600160a060020a031633600160a060020a03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3506001610637565b60006000fd5b5b92915050565b6000600460009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b151561069b57fe5b6102c65a03f115156106a957fe5b5050604051519150505b90565b60048054604080516000602091820181905282517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a038981169682019690965287861660248201526044810187905292519094909316926323b872dd92606480820193929182900301818787803b151561073557fe5b6102c65a03f1151561074357fe5b5050604051511590506106315782600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060016107a9565b60006000fd5b5b9392505050565b6000600460009054906101000a9004600160a060020a0316600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b151561069b57fe5b6102c65a03f115156106a957fe5b5050604051519150505b90565b6003546040805160006020918201819052825160e060020a63207c64fb028152600160a060020a0333811660048301529351939094169363207c64fb936024808301949391928390030190829087803b151561088157fe5b6102c65a03f1151561088f57fe5b5050604051511590506108c5576003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600454600160a060020a031681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505081565b60048054604080516000602091820181905282517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a038781169682019690965292519094909316926370a0823192602480820193929182900301818787803b15156109d657fe5b6102c65a03f115156109e457fe5b5050604051519150505b919050565b6003546040805160006020918201819052825160e060020a63207c64fb028152600160a060020a03338116600483015293519194939093169263207c64fb92602480830193919282900301818787803b1515610a4b57fe5b6102c65a03f11515610a5957fe5b50506040515115159050610a6d5760006000fd5b604051600160a060020a0384169083156108fc029084906000818181858888f193505050501515610a9e5760006000fd5b5060015b92915050565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105445780601f1061051957610100808354040283529160200191610544565b820191906000526020600020905b81548152906001019060200180831161052757829003601f168201915b505050505081565b60048054604080516000602091820181905282517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038881169682019690965260248101879052925190949093169263a9059cbb92604480820193929182900301818787803b1515610baa57fe5b6102c65a03f11515610bb857fe5b5050604051511590506106315782600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3506001610637565b60006000fd5b5b92915050565b6003546040805160006020918201819052825160e060020a63207c64fb028152600160a060020a03338116600483015293519194939093169263207c64fb92602480830193919282900301818787803b1515610c7d57fe5b6102c65a03f11515610c8b57fe5b50506040515115159050610c9f5760006000fd5b60048054604080516000602091820181905282517fbae804a7000000000000000000000000000000000000000000000000000000008152600160a060020a0389811696820196909652602481018890529251949093169363bae804a7936044808501948390030190829087803b1515610d1457fe5b6102c65a03f11515610d2257fe5b5050604051519150505b92915050565b6003546040805160006020918201819052825160e060020a63207c64fb028152600160a060020a0333811660048301529351939094169363207c64fb936024808301949391928390030190829087803b1515610d8a57fe5b6102c65a03f11515610d9857fe5b5050604051511590506108c5576004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600354600160a060020a031681565b60048054604080516000602091820181905282517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03888116968201969096528686166024820152925190949093169263dd62ed3e92604480820193929182900301818787803b1515610d1457fe5b6102c65a03f11515610d2257fe5b5050604051519150505b929150505600a165627a7a723058200a0aa351212af1184d6c60a67c5886d37fe8a4779a01eb4a7df52cf453c975740029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000ebd5be233c4e9765ccb36c8b6f8de336ceda210000000000000000000000000047be251e13101c30528c61a88393788997552eae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000034b5443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034b54430000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _tokenName (string): KTC
Arg [1] : _ownerValidator (address): 0xEBd5be233c4E9765CcB36C8b6F8dE336CEdA2100
Arg [2] : _tokenContract (address): 0x47be251E13101C30528C61a88393788997552eAe
Arg [3] : _symbol (string): KTC
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 000000000000000000000000ebd5be233c4e9765ccb36c8b6f8de336ceda2100
Arg [2] : 00000000000000000000000047be251e13101c30528c61a88393788997552eae
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 4b54430000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 4b54430000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://0a0aa351212af1184d6c60a67c5886d37fe8a4779a01eb4a7df52cf453c97574
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.