Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xc12d099be31567add4e4e4d0D45691C3F58f5663
Balance 0 ETH
Nonce 1
Code Size 4453 bytes
Last Active
Indexed Transactions 626 (10,648,49810,648,981)
Gas Used (indexed) 399,379
External Etherscan · Sourcify

Contract Bytecode

4453 bytes
0x6060604052600436106101245763ffffffff60e060020a60003504166306fdde038114610129578063095ea7b3146101b357806318160ddd146101e957806323b872dd1461020e57806327e235e314610236578063313ce5671461025557806342966c681461027e5780635c658165146102945780635d5aa277146102b957806366188463146102e857806370a082311461030a57806379cc67901461032957806386d123251461034b5780639118575a1461035e57806395d89b4114610388578063a9059cbb1461039b578063be45fd62146103bd578063ce606ee014610422578063cf124ba314610435578063d73dd62314610448578063dd62ed3e1461046a578063e6197f411461048f578063f2fde38b146104a2578063f6368f8a146104c1575b600080fd5b341561013457600080fd5b61013c610568565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610178578082015183820152602001610160565b50505050905090810190601f1680156101a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101be57600080fd5b6101d5600160a060020a036004351660243561059f565b604051901515815260200160405180910390f35b34156101f457600080fd5b6101fc61060b565b60405190815260200160405180910390f35b341561021957600080fd5b6101d5600160a060020a0360043581169060243516604435610611565b341561024157600080fd5b6101fc600160a060020a03600435166106cd565b341561026057600080fd5b6102686106df565b60405160ff909116815260200160405180910390f35b341561028957600080fd5b6101d56004356106e4565b341561029f57600080fd5b6101fc600160a060020a03600435811690602435166106f8565b34156102c457600080fd5b6102cc610715565b604051600160a060020a03909116815260200160405180910390f35b34156102f357600080fd5b6101d5600160a060020a0360043516602435610724565b341561031557600080fd5b6101fc600160a060020a036004351661081e565b341561033457600080fd5b6101d5600160a060020a0360043516602435610839565b341561035657600080fd5b6102cc6108ac565b341561036957600080fd5b610386600160a060020a03600435811690602435166044356108bb565b005b341561039357600080fd5b61013c610997565b34156103a657600080fd5b6101d5600160a060020a03600435166024356109ce565b34156103c857600080fd5b6101d560048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610a2b95505050505050565b341561042d57600080fd5b6102cc610aff565b341561044057600080fd5b6101d5610b0e565b341561045357600080fd5b6101d5600160a060020a0360043516602435610b2f565b341561047557600080fd5b6101fc600160a060020a0360043581169060243516610bd3565b341561049a57600080fd5b610386610bfe565b34156104ad57600080fd5b610386600160a060020a0360043516610c50565b34156104cc57600080fd5b6101d560048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610caf95505050505050565b60408051908101604052600c81527f41756374757320546f6b656e0000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60015481565b600160a060020a0380841660009081526003602090815260408083203390941683529290529081205461064a908363ffffffff610e9216565b600160a060020a038086166000908152600360209081526040808320339094168352929052205561067c848484610ea4565b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060019392505050565b60026020526000908152604090205481565b601281565b60006106f03383610f37565b506001919050565b600360209081526000928352604080842090915290825290205481565b600554600160a060020a031681565b600160a060020a0333811660009081526003602090815260408083209386168352929052908120548083111561078157600160a060020a0333811660009081526003602090815260408083209388168352929052908120556107b8565b610791818463ffffffff610e9216565b600160a060020a033381166000908152600360209081526040808320938916835292905220555b600160a060020a0333811660008181526003602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526002602052604090205490565b600160a060020a03808316600090815260036020908152604080832033909416835292905290812054610872908363ffffffff610e9216565b600160a060020a03808516600090815260036020908152604080832033909416835292905220556108a38383610f37565b50600192915050565b600654600160a060020a031681565b6108c3611127565b60045433600160a060020a039081169116146108de57600080fd5b600554600160a060020a0316156108f457600080fd5b60068054600160a060020a0380861673ffffffffffffffffffffffffffffffffffffffff1992831617909255600580549287169290911682179055600183905560009081526002602052604081208390556109529085908484610fd0565b83600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350505050565b60408051908101604052600381527f4155430000000000000000000000000000000000000000000000000000000000602082015281565b60006109db338484610ea4565b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b6000610a38338585610ea4565b610a41846110b2565b15610a5257610a5284338585610fd0565b816040518082805190602001908083835b60208310610a825780518252601f199092019160209182019101610a63565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168660405190815260200160405180910390a45060019392505050565b600454600160a060020a031681565b60065474010000000000000000000000000000000000000000900460ff1681565b600160a060020a033381166000908152600360209081526040808320938616835292905290812054610b67908363ffffffff6110ba16565b600160a060020a0333811660008181526003602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60055433600160a060020a03908116911614610c1957600080fd5b6006805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b60045433600160a060020a03908116911614610c6b57600080fd5b600160a060020a0381161515610c8057600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000610cbc338686610ea4565b610cc5856110b2565b15610de45784600160a060020a03166000836040518082805190602001908083835b60208310610d065780518252601f199092019160209182019101610ce7565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015610d97578082015183820152602001610d7f565b50505050905090810190601f168015610dc45780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af193505050501515610de457fe5b826040518082805190602001908083835b60208310610e145780518252601f199092019160209182019101610df5565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a4506001949350505050565b600081831015610e9e57fe5b50900390565b610ead836110d0565b1515610eb857600080fd5b600160a060020a038316600090815260026020526040902054610ee1908263ffffffff610e9216565b600160a060020a038085166000908152600260205260408082209390935590841681522054610f16908263ffffffff6110ba16565b600160a060020a039092166000908152600260205260409020919091555050565b600160a060020a038216600090815260026020526040902054610f60908263ffffffff610e9216565b600160a060020a038316600090815260026020526040902055600154610f8c908263ffffffff610e9216565b600155600160a060020a0382167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405190815260200160405180910390a25050565b83600160a060020a031663c0ee0b8a8484846040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561104f578082015183820152602001611037565b50505050905090810190601f16801561107c5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561109c57600080fd5b5af115156110a957600080fd5b50505050505050565b6000903b1190565b6000828201808411156110c957fe5b9392505050565b60065460009074010000000000000000000000000000000000000000900460ff16806111095750600554600160a060020a038381169116145b806111215750600654600160a060020a038381169116145b92915050565b602060405190810160405260008152905600a165627a7a72305820e4c322bfd537cc0a70dce4f987a16a7186af388225faa3c9bef5e649603eff780029

Verified Source Code Partial Match

Compiler: v0.4.21+commit.dfe3193c EVM: byzantium Optimization: Yes (200 runs)
AuctusToken.sol 194 lines
pragma solidity ^0.4.21;


library SafeMath {
	function add(uint256 a, uint256 b) internal pure returns (uint256) {
		uint256 c = a + b;
		assert(a <= c);
		return c;
	}

	function sub(uint256 a, uint256 b) internal pure returns (uint256) {
		assert(a >= b);
		return a - b;
	}
}


contract EthereumStandards {
	/* Implements ERC 20 standard */
	uint256 public totalSupply;

	function balanceOf(address who) public constant returns (uint256);
	function allowance(address owner, address spender) public constant returns (uint256);
	function transfer(address to, uint256 value) public returns (bool);
	function approve(address spender, uint256 value) public returns (bool);
	function transferFrom(address from, address to, uint256 value) public returns (bool);

	event Transfer(address indexed from, address indexed to, uint256 value);
	event Approval(address indexed owner, address indexed spender, uint256 value);

	/* Added support for the ERC 223 */
	function transfer(address to, uint256 value, bytes data) public returns (bool);
	function transfer(address to, uint256 value, bytes data, string custom_fallback) public returns (bool);

	event Transfer(address indexed from, address indexed to, uint256 value, bytes indexed data);
}


contract ContractReceiver {
	function tokenFallback(address from, uint256 value, bytes data) public;
}


contract AuctusToken is EthereumStandards {
	using SafeMath for uint256;
	
	string constant public name = "Auctus Token";
	string constant public symbol = "AUC";
	uint8 constant public decimals = 18;
	uint256 public totalSupply;

	mapping(address => uint256) public balances;
	mapping(address => mapping(address => uint256)) public allowed;

	address public contractOwner;
	address public tokenSaleContract;
	address public preSaleDistributionContract;
	bool public tokenSaleIsFinished;

	event Burn(address indexed from, uint256 value);

	modifier onlyOwner() {
		require(contractOwner == msg.sender);
		_;
	}

	function AuctusToken() public {
		contractOwner = msg.sender;
		tokenSaleContract = address(0);
		tokenSaleIsFinished = false;
	}

	function balanceOf(address who) public constant returns (uint256) {
		return balances[who];
	}

	function allowance(address owner, address spender) public constant returns (uint256) {
		return allowed[owner][spender];
	}

	function approve(address spender, uint256 value) public returns (bool) {
		allowed[msg.sender][spender] = value;
		emit Approval(msg.sender, spender, value);
		return true;
	}

	function increaseApproval(address spender, uint256 value) public returns (bool) {
		allowed[msg.sender][spender] = allowed[msg.sender][spender].add(value);
		emit Approval(msg.sender, spender, allowed[msg.sender][spender]);
		return true;
	}

	function decreaseApproval(address spender, uint256 value) public returns (bool) {
		uint256 currentValue = allowed[msg.sender][spender];
		if (value > currentValue) {
			allowed[msg.sender][spender] = 0;
		} else {
			allowed[msg.sender][spender] = currentValue.sub(value);
		}
		emit Approval(msg.sender, spender, allowed[msg.sender][spender]);
		return true;
	}

	function transferFrom(address from, address to, uint256 value) public returns (bool) {
		allowed[from][msg.sender] = allowed[from][msg.sender].sub(value);
		internalTransfer(from, to, value);
		emit Transfer(from, to, value);
		return true;
	}

	function transfer(address to, uint256 value) public returns (bool) {
		internalTransfer(msg.sender, to, value);
		emit Transfer(msg.sender, to, value);
		return true;
	}

	function transfer(address to, uint256 value, bytes data) public returns (bool) {
		internalTransfer(msg.sender, to, value);
		if (isContract(to)) {
			callTokenFallback(to, msg.sender, value, data);
		}
		emit Transfer(msg.sender, to, value, data);
		return true;
	}

	function transfer(address to, uint256 value, bytes data, string custom_fallback) public returns (bool) {
		internalTransfer(msg.sender, to, value);
		if (isContract(to)) {
			assert(to.call.value(0)(bytes4(keccak256(custom_fallback)), msg.sender, value, data));
		} 
		emit Transfer(msg.sender, to, value, data);
		return true;
	}

	function burn(uint256 value) public returns (bool) {
		internalBurn(msg.sender, value);
		return true;
	}

	function burnFrom(address from, uint256 value) public returns (bool) {
		allowed[from][msg.sender] = allowed[from][msg.sender].sub(value);
		internalBurn(from, value);
		return true;
	}

	function transferOwnership(address newOwner) onlyOwner public {
		require(newOwner != address(0));
		contractOwner = newOwner;
	}

	function setTokenSale(address tokenSale, address preSaleDistribution, uint256 maximumSupply) onlyOwner public {
		require(tokenSaleContract == address(0));
		preSaleDistributionContract = preSaleDistribution;
		tokenSaleContract = tokenSale;
		totalSupply = maximumSupply;
		balances[tokenSale] = maximumSupply;
		bytes memory empty;
		callTokenFallback(tokenSale, 0x0, maximumSupply, empty);
		emit Transfer(0x0, tokenSale, maximumSupply);
	}

	function setTokenSaleFinished() public {
		require(msg.sender == tokenSaleContract);
		tokenSaleIsFinished = true;
	}

	function isContract(address _address) private constant returns (bool) {
		uint256 length;
		assembly {
			length := extcodesize(_address)
		}
		return (length > 0);
	}

	function internalTransfer(address from, address to, uint256 value) private {
		require(canTransfer(from));
		balances[from] = balances[from].sub(value);
		balances[to] = balances[to].add(value);
	}

	function internalBurn(address from, uint256 value) private {
		balances[from] = balances[from].sub(value);
		totalSupply = totalSupply.sub(value);
		emit Burn(from, value);
	}

	function callTokenFallback(address to, address from, uint256 value, bytes data) private {
		ContractReceiver(to).tokenFallback(from, value, data);
	}

	function canTransfer(address from) private view returns (bool) {
		return (tokenSaleIsFinished || from == tokenSaleContract || from == preSaleDistributionContract);
	}
}

Read Contract

allowance 0xdd62ed3e → uint256
allowed 0x5c658165 → uint256
balanceOf 0x70a08231 → uint256
balances 0x27e235e3 → uint256
contractOwner 0xce606ee0 → address
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
preSaleDistributionContract 0x86d12325 → address
symbol 0x95d89b41 → string
tokenSaleContract 0x5d5aa277 → address
tokenSaleIsFinished 0xcf124ba3 → bool
totalSupply 0x18160ddd → uint256

Write Contract 12 functions

These functions modify contract state and require a wallet transaction to execute.

approve 0x095ea7b3
address spender
uint256 value
returns: bool
burn 0x42966c68
uint256 value
returns: bool
burnFrom 0x79cc6790
address from
uint256 value
returns: bool
decreaseApproval 0x66188463
address spender
uint256 value
returns: bool
increaseApproval 0xd73dd623
address spender
uint256 value
returns: bool
setTokenSale 0x9118575a
address tokenSale
address preSaleDistribution
uint256 maximumSupply
setTokenSaleFinished 0xe6197f41
No parameters
transfer 0xa9059cbb
address to
uint256 value
returns: bool
transfer 0xbe45fd62
address to
uint256 value
bytes data
returns: bool
transfer 0xf6368f8a
address to
uint256 value
bytes data
string custom_fallback
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 value
returns: bool
transferOwnership 0xf2fde38b
address newOwner

Recent Transactions

CSV View All 626 Transactions →
|
Hash Method Block Age From/To Value Txn Fee Type
0x44b639ab...7a527c approve 10,648,981 IN 0xF7999803...fE53 0 ETH 0.01133183 ETH Legacy
0x1a638607...de633d transfer 10,648,939 IN 0x533a0490...f9B9 0 ETH 0.00942430 ETH Legacy
0x04b50ec5...aa0540 approve 10,648,872 IN 0x533a0490...f9B9 0 ETH 0.01091305 ETH Legacy
0x5ebb6885...8a7d26 transfer 10,648,858 IN 0x580eB959...51A9 0 ETH 0.00556614 ETH Legacy
0x7e0b7316...a8ccd5 approve 10,648,849 IN 0xc16373B5...5E03 0 ETH 0.01091305 ETH Legacy
0x01f188f6...9a1059 transfer 10,648,843 IN 0x580eB959...51A9 0 ETH 0.00716967 ETH Legacy
0xdb58ed84...81ed2e approve 10,648,784 IN 0xbb26f229...F7A2 0 ETH 0.01084811 ETH Legacy
0x040dbb88...5f4ddc approve 10,648,772 IN 0x869dC6B6...aFFb 0 ETH 0.01091305 ETH Legacy
0xc24f7f7b...eb16eb approve 10,648,767 IN 0xC30f61b4...C6FE 0 ETH 0.01086869 ETH Legacy
0x2846341c...d76882 approve 10,648,498 IN 0xBBdc1453...602b 0 ETH 0.01020326 ETH Legacy