ETH Price: $3,306.79 (-2.94%)

Contract

0x693399AAe96A88B966B05394774cFb7b880355B4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer From30439842017-01-22 16:33:413210 days ago1485102821IN
0x693399AA...b880355B4
0 ETH0.0012645241
Transfer From30439782017-01-22 16:32:353210 days ago1485102755IN
0x693399AA...b880355B4
0 ETH0.0016652541
Approve30439732017-01-22 16:31:503210 days ago1485102710IN
0x693399AA...b880355B4
0 ETH0.0018558641
Transfer30439462017-01-22 16:23:093210 days ago1485102189IN
0x693399AA...b880355B4
0 ETH0.0026048941
Transfer30439392017-01-22 16:21:293210 days ago1485102089IN
0x693399AA...b880355B4
0 ETH0.0019898941

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
testingToken

Compiler Version
v0.4.8+commit.60cc1668

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-01-22
*/

pragma solidity ^0.4.8;

contract testingToken {
	mapping (address => uint256) public balanceOf;
	mapping (address => uint256) public weiWantedOf;
	mapping (address => uint256) public tokensOfferedOf;
	mapping (address => bool) public tradeActive;
	address public bank;
	uint256 public ethTaxRate = 10;
	uint256 public tokenTaxRate = 5;
	function testingToken() {
		bank = msg.sender;
		balanceOf[msg.sender] = 100000;
	}
	
	event Transfer(address indexed _from, address indexed _to, uint256 _value);
	
	function totalSupply() constant returns (uint256 totalSupply) {
	    return 10000;
	}
	function balanceOf(address _owner) constant returns (uint256 balance) {
	    return balanceOf[_owner];
	}
	
	function transfer(address _to, uint256 _value) returns (bool success) { //give tokens to someone
		if (balanceOf[msg.sender]<_value) throw;
		if (balanceOf[_to]+_value<balanceOf[_to]) throw;
		if (_value<0) throw;
		balanceOf[msg.sender] -= _value;
		balanceOf[_to] += (_value*(100-tokenTaxRate))/100;
		balanceOf[bank] += (_value*tokenTaxRate)/100;
		//now check for rounding down which would result in permanent loss of coins
		if ((_value*tokenTaxRate)%100 != 0) balanceOf[bank]+=1;
		Transfer(msg.sender,_to,_value);
		return true;
	}
	
	mapping (address => mapping (address=>uint256)) approvalList;
	function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
		if (balanceOf[_from]<_value) throw;
		if (balanceOf[_to]+_value<balanceOf[_to]) throw;
		if (_value<0) throw;
		if (approvalList[_from][msg.sender]<_value) throw;
		approvalList[_from][msg.sender]-=_value;
		balanceOf[_from] -= _value;
		balanceOf[_to] += (_value*(100-tokenTaxRate))/100;
		balanceOf[bank] += (_value*tokenTaxRate)/100;
		//now check for rounding down which would result in permanent loss of coins
		if ((_value*tokenTaxRate)%100 != 0) balanceOf[bank]+=1;
		Transfer(_from,_to,_value);
		return true;
	}
	event Approval(address indexed _owner, address indexed _spender, uint256 _value);
	function approve(address _spender, uint256 _value) returns (bool success) {
	    approvalList[msg.sender][_spender]=_value;
	    Approval(msg.sender,_spender,_value);
	    return true;
	}
	function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
	    return approvalList[_owner][_spender];
	}
	
	function offerTrade(uint256 _weiWanted, uint256 _tokensOffered) { //offer the amt of ether you want and the amt of tokens youd give
	    weiWantedOf[msg.sender] = _weiWanted;
	    tokensOfferedOf[msg.sender] = _tokensOffered;
	    tradeActive[msg.sender] = true;
	}
	function agreeToTrade(address _from) payable { //choose a trade to agree to and execute it
	    if (!tradeActive[_from]) throw;
	    if (weiWantedOf[_from]!=msg.value) throw;
	    if (balanceOf[_from]<tokensOfferedOf[_from]) throw;
	    if (!_from.send((msg.value*(100-ethTaxRate))/100)) throw;
	    balanceOf[_from] -= tokensOfferedOf[_from];
	    balanceOf[msg.sender] += (tokensOfferedOf[_from]*(100-tokenTaxRate))/100;
		balanceOf[bank] += (tokensOfferedOf[_from]*tokenTaxRate)/100;
		tradeActive[_from] = false;
		Transfer(_from,msg.sender,tokensOfferedOf[_from]);
		//now check for rounding down which would result in permanent loss of coins
		if ((tokensOfferedOf[_from]*tokenTaxRate)%100 != 0) balanceOf[bank]+=1;
	}
	
	modifier bankOnly {
		if (msg.sender != bank) throw;
		_;
	}
	
	function setTaxes(uint256 _ethTaxRate, uint256 _tokenTaxRate) bankOnly { //the bank can change the tax rates
		ethTaxRate = _ethTaxRate;
		tokenTaxRate = _tokenTaxRate;
	}
	function extractWei(uint256 _wei) bankOnly { //withdraw money from the contract
		if (!msg.sender.send(_wei)) throw;
	}
	function transferOwnership(address _bank) bankOnly { //change owner
		bank = _bank;
	}
}

Contract Security Audit

Contract ABI

API
[{"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":"","type":"address"}],"name":"weiWantedOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_wei","type":"uint256"}],"name":"extractWei","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokensOfferedOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tradeActive","outputs":[{"name":"","type":"bool"}],"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":"bank","outputs":[{"name":"","type":"address"}],"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":"_from","type":"address"}],"name":"agreeToTrade","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_ethTaxRate","type":"uint256"},{"name":"_tokenTaxRate","type":"uint256"}],"name":"setTaxes","outputs":[],"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":true,"inputs":[],"name":"ethTaxRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenTaxRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_bank","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_weiWanted","type":"uint256"},{"name":"_tokensOffered","type":"uint256"}],"name":"offerTrade","outputs":[],"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"}]

6060604052600a600555600560065534610000575b60048054600160a060020a03191633600160a060020a03169081179091556000908152602081905260409020620186a090555b5b6109fb806100576000396000f300606060405236156100d55763ffffffff60e060020a600035041663095ea7b381146100da57806318160ddd1461010a57806323b872dd146101295780632e64bcf11461015f578063444da9511461018a57806351dfc14d1461019c5780636665e0fd146101c757806370a08231146101f457806376cdb03b1461021f578063a9059cbb14610248578063c2c61d0114610278578063c647b20e1461028e578063dd62ed3e146102a3578063e67e3d56146102d4578063e742db66146102f3578063f2fde38b14610312578063fbb39f6e1461032d575b610000565b34610000576100f6600160a060020a0360043516602435610342565b604080519115158252519081900360200190f35b34610000576101176103ad565b60408051918252519081900360200190f35b34610000576100f6600160a060020a03600435811690602435166044356103b4565b604080519115158252519081900360200190f35b3461000057610117600160a060020a0360043516610539565b60408051918252519081900360200190f35b346100005761019a60043561054b565b005b3461000057610117600160a060020a036004351661059b565b60408051918252519081900360200190f35b34610000576100f6600160a060020a03600435166105ad565b604080519115158252519081900360200190f35b3461000057610117600160a060020a03600435166105c2565b60408051918252519081900360200190f35b346100005761022c6105e1565b60408051600160a060020a039092168252519081900360200190f35b34610000576100f6600160a060020a03600435166024356105f0565b604080519115158252519081900360200190f35b61019a600160a060020a0360043516610723565b005b346100005761019a6004356024356108e3565b005b3461000057610117600160a060020a036004358116906024351661090e565b60408051918252519081900360200190f35b346100005761011761093b565b60408051918252519081900360200190f35b3461000057610117610941565b60408051918252519081900360200190f35b346100005761019a600160a060020a0360043516610947565b005b346100005761019a60043560243561098f565b005b600160a060020a03338116600081815260076020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6127105b90565b600160a060020a038316600090815260208190526040812054829010156103da57610000565b600160a060020a038316600090815260208190526040902054828101101561040157610000565b600082101561040f57610000565b600160a060020a03808516600090815260076020908152604080832033909416835292905220548290101561044357610000565b600160a060020a038481166000818152600760209081526040808320338616845282528083208054889003905592825281905281812080548690039055600680548785168352838320805460649283038902839004019055815460045490951683529290912080549386028390049093019092559054830206156104e357600454600160a060020a03166000908152602081905260409020805460010190555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060015b9392505050565b60016020526000908152604090205481565b60045433600160a060020a0390811691161461056657610000565b604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561059657610000565b5b5b50565b60026020526000908152604090205481565b60036020526000908152604090205460ff1681565b600160a060020a0381166000908152602081905260409020545b919050565b600454600160a060020a031681565b600160a060020a0333166000908152602081905260408120548290101561061657610000565b600160a060020a038316600090815260208190526040902054828101101561063d57610000565b600082101561064b57610000565b600160a060020a03338116600090815260208190526040808220805486900390556006805487851684528284208054606492830389028390040190558154600454909516845291909220805493860282900490930190925554830206156106ce57600454600160a060020a03166000908152602081905260409020805460010190555b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060015b92915050565b600160a060020a03811660009081526003602052604090205460ff16151561074a57610000565b600160a060020a038116600090815260016020526040902054341461076e57610000565b600160a060020a0381166000908152600260209081526040808320549183905290912054101561079d57610000565b80600160a060020a03166108fc60646005546064033402811561000057604051919004801590920291906000818181858888f1935050505015156107e057610000565b600160a060020a03818116600081815260026020818152604080842080548584528286208054919091039055600680548254338a168089528589208054606494850390930284900490920190915591548354600454909a16885284882080549a909102919091049098019097558585526003835293819020805460ff191690559181529154815190815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600654600160a060020a03821660009081526002602052604090205460649102061561059657600454600160a060020a03166000908152602081905260409020805460010190555b5b50565b60045433600160a060020a039081169116146108fe57610000565b600582905560068190555b5b5050565b600160a060020a038083166000908152600760209081526040808320938516835292905220545b92915050565b60055481565b60065481565b60045433600160a060020a0390811691161461096257610000565b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a0333166000908152600160208181526040808420869055600282528084208590556003909152909120805460ff191690911790555b50505600a165627a7a72305820ad6d1e32292e8e15d9150b881df6ac5451dfffee46f06d9fd205c6a2899b7a9a0029

Deployed Bytecode

0x606060405236156100d55763ffffffff60e060020a600035041663095ea7b381146100da57806318160ddd1461010a57806323b872dd146101295780632e64bcf11461015f578063444da9511461018a57806351dfc14d1461019c5780636665e0fd146101c757806370a08231146101f457806376cdb03b1461021f578063a9059cbb14610248578063c2c61d0114610278578063c647b20e1461028e578063dd62ed3e146102a3578063e67e3d56146102d4578063e742db66146102f3578063f2fde38b14610312578063fbb39f6e1461032d575b610000565b34610000576100f6600160a060020a0360043516602435610342565b604080519115158252519081900360200190f35b34610000576101176103ad565b60408051918252519081900360200190f35b34610000576100f6600160a060020a03600435811690602435166044356103b4565b604080519115158252519081900360200190f35b3461000057610117600160a060020a0360043516610539565b60408051918252519081900360200190f35b346100005761019a60043561054b565b005b3461000057610117600160a060020a036004351661059b565b60408051918252519081900360200190f35b34610000576100f6600160a060020a03600435166105ad565b604080519115158252519081900360200190f35b3461000057610117600160a060020a03600435166105c2565b60408051918252519081900360200190f35b346100005761022c6105e1565b60408051600160a060020a039092168252519081900360200190f35b34610000576100f6600160a060020a03600435166024356105f0565b604080519115158252519081900360200190f35b61019a600160a060020a0360043516610723565b005b346100005761019a6004356024356108e3565b005b3461000057610117600160a060020a036004358116906024351661090e565b60408051918252519081900360200190f35b346100005761011761093b565b60408051918252519081900360200190f35b3461000057610117610941565b60408051918252519081900360200190f35b346100005761019a600160a060020a0360043516610947565b005b346100005761019a60043560243561098f565b005b600160a060020a03338116600081815260076020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6127105b90565b600160a060020a038316600090815260208190526040812054829010156103da57610000565b600160a060020a038316600090815260208190526040902054828101101561040157610000565b600082101561040f57610000565b600160a060020a03808516600090815260076020908152604080832033909416835292905220548290101561044357610000565b600160a060020a038481166000818152600760209081526040808320338616845282528083208054889003905592825281905281812080548690039055600680548785168352838320805460649283038902839004019055815460045490951683529290912080549386028390049093019092559054830206156104e357600454600160a060020a03166000908152602081905260409020805460010190555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060015b9392505050565b60016020526000908152604090205481565b60045433600160a060020a0390811691161461056657610000565b604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561059657610000565b5b5b50565b60026020526000908152604090205481565b60036020526000908152604090205460ff1681565b600160a060020a0381166000908152602081905260409020545b919050565b600454600160a060020a031681565b600160a060020a0333166000908152602081905260408120548290101561061657610000565b600160a060020a038316600090815260208190526040902054828101101561063d57610000565b600082101561064b57610000565b600160a060020a03338116600090815260208190526040808220805486900390556006805487851684528284208054606492830389028390040190558154600454909516845291909220805493860282900490930190925554830206156106ce57600454600160a060020a03166000908152602081905260409020805460010190555b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060015b92915050565b600160a060020a03811660009081526003602052604090205460ff16151561074a57610000565b600160a060020a038116600090815260016020526040902054341461076e57610000565b600160a060020a0381166000908152600260209081526040808320549183905290912054101561079d57610000565b80600160a060020a03166108fc60646005546064033402811561000057604051919004801590920291906000818181858888f1935050505015156107e057610000565b600160a060020a03818116600081815260026020818152604080842080548584528286208054919091039055600680548254338a168089528589208054606494850390930284900490920190915591548354600454909a16885284882080549a909102919091049098019097558585526003835293819020805460ff191690559181529154815190815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600654600160a060020a03821660009081526002602052604090205460649102061561059657600454600160a060020a03166000908152602081905260409020805460010190555b5b50565b60045433600160a060020a039081169116146108fe57610000565b600582905560068190555b5b5050565b600160a060020a038083166000908152600760209081526040808320938516835292905220545b92915050565b60055481565b60065481565b60045433600160a060020a0390811691161461096257610000565b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a0333166000908152600160208181526040808420869055600282528084208590556003909152909120805460ff191690911790555b50505600a165627a7a72305820ad6d1e32292e8e15d9150b881df6ac5451dfffee46f06d9fd205c6a2899b7a9a0029

Swarm Source

bzzr://ad6d1e32292e8e15d9150b881df6ac5451dfffee46f06d9fd205c6a2899b7a9a

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.