Address Contract Partially Verified
Address
0x1F3F677Ecc58F6A1F9e2CF410dF4776a8546b5DE
Balance
0 ETH
Nonce
1
Code Size
6185 bytes
Creator
0x004D0502...A7b7 at tx 0x822f618b...607482
Indexed Transactions
0
Contract Bytecode
6185 bytes
0x606060405236156101725763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101745780630753c30c14610204578063095ea7b3146102225780630e136b19146102435780630ecb93c01461026757806318160ddd146102855780631a7626e7146102a757806323b872dd146102c957806326976e3f146102f0578063313ce5671461031c578063353907141461033e5780633eaaf86b146103605780633f4ba83a1461038257806342966c68146103a657806359bf1abe146103bb5780635a0ce676146103eb5780635c975abb1461040657806370a082311461042a5780638456cb59146104585780638da5cb5b1461047c57806395d89b41146104a8578063a9059cbb14610538578063cc872b6614610559578063dd62ed3e1461056e578063dd644f72146105a2578063e47d6060146105c4578063e4997dc5146105f4578063f2fde38b14610612578063f3bdc22814610630575bfe5b341561017c57fe5b61018461064e565b6040805160208082528351818301528351919283929083019185019080838382156101ca575b8051825260208311156101ca57601f1990920191602091820191016101aa565b505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020c57fe5b610220600160a060020a03600435166106dc565b005b341561022a57fe5b610220600160a060020a036004351660243561077b565b005b341561024b57fe5b610253610838565b604080519115158252519081900360200190f35b341561026f57fe5b610220600160a060020a0360043516610848565b005b341561028d57fe5b6102956108c1565b60408051918252519081900360200190f35b34156102af57fe5b610295610960565b60408051918252519081900360200190f35b34156102d157fe5b610220600160a060020a0360043581169060243516604435610966565b005b34156102f857fe5b610300610aac565b60408051600160a060020a039092168252519081900360200190f35b341561032457fe5b610295610abb565b60408051918252519081900360200190f35b341561034657fe5b610295610ac1565b60408051918252519081900360200190f35b341561036857fe5b610295610ac7565b60408051918252519081900360200190f35b341561038a57fe5b610253610acd565b604080519115158252519081900360200190f35b34156103ae57fe5b610220600435610b51565b005b34156103c357fe5b610253600160a060020a0360043516610c06565b604080519115158252519081900360200190f35b34156103f357fe5b610220600435602435604435610c28565b005b341561040e57fe5b610253610c9a565b604080519115158252519081900360200190f35b341561043257fe5b610295600160a060020a0360043516610caa565b60408051918252519081900360200190f35b341561046057fe5b610253610d60565b604080519115158252519081900360200190f35b341561048457fe5b610300610de9565b60408051600160a060020a039092168252519081900360200190f35b34156104b057fe5b610184610df8565b6040805160208082528351818301528351919283929083019185019080838382156101ca575b8051825260208311156101ca57601f1990920191602091820191016101aa565b505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561054057fe5b610220600160a060020a0360043516602435610e86565b005b341561056157fe5b610220600435610f97565b005b341561057657fe5b610295600160a060020a036004358116906024351661104d565b60408051918252519081900360200190f35b34156105aa57fe5b610295611109565b60408051918252519081900360200190f35b34156105cc57fe5b610253600160a060020a036004351661110f565b604080519115158252519081900360200190f35b34156105fc57fe5b610220600160a060020a0360043516611124565b005b341561061a57fe5b610220600160a060020a036004351661119a565b005b341561063857fe5b610220600160a060020a03600435166111f3565b005b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106d45780601f106106a9576101008083540402835291602001916106d4565b820191906000526020600020905b8154815290600101906020018083116106b757829003601f168201915b505050505081565b60005433600160a060020a039081169116146106f85760006000fd5b600a805460a060020a74ff0000000000000000000000000000000000000000199091161773ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03831690811790915560408051918252517fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e916020908290030190a15b5b50565b6040604436101561078c5760006000fd5b600a5460a060020a900460ff161561082657600a54604080517faee92d33000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528681166024830152604482018690529151919092169163aee92d3391606480830192600092919082900301818387803b151561081057fe5b6102c65a03f1151561081e57fe5b505050610830565b61083083836112a7565b5b5b5b505050565b600a5460a060020a900460ff1681565b60005433600160a060020a039081169116146108645760006000fd5b600160a060020a0381166000818152600b6020908152604091829020805460ff19166001179055815192835290517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc9281900390910190a15b5b50565b600a5460009060a060020a900460ff161561095757600a54604080516000602091820181905282517f18160ddd0000000000000000000000000000000000000000000000000000000081529251600160a060020a03909416936318160ddd9360048082019493918390030190829087803b151561093a57fe5b6102c65a03f1151561094857fe5b505060405151915061095c9050565b506001545b5b90565b60055481565b60005460a060020a900460ff161561097e5760006000fd5b600160a060020a0383166000908152600b602052604090205460ff16156109a55760006000fd5b600160a060020a0382166000908152600b602052604090205460ff16156109cc5760006000fd5b600160a060020a0333166000908152600b602052604090205460ff16156109f35760006000fd5b600a5460a060020a900460ff1615610a9557600a54604080517f8b477adb000000000000000000000000000000000000000000000000000000008152600160a060020a033381166004830152868116602483015285811660448301526064820185905291519190921691638b477adb91608480830192600092919082900301818387803b151561081057fe5b6102c65a03f1151561081e57fe5b505050610830565b61083083838361135a565b610830565b5b5b505050565b600a54600160a060020a031681565b60095481565b60045481565b60015481565b6000805433600160a060020a03908116911614610aea5760006000fd5b60005460a060020a900460ff161515610b035760006000fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a15060015b5b5b90565b60005433600160a060020a03908116911614610b6d5760006000fd5b806001541015610b7d5760006000fd5b60008054600160a060020a031681526002602052604090205481901015610ba45760006000fd5b60018054829003905560008054600160a060020a031681526002602090815260409182902080548490039055815183815291517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9281900390910190a15b5b50565b600160a060020a0381166000908152600b602052604090205460ff165b919050565b60005433600160a060020a03908116911614610c445760006000fd5b600383905560058190556004829055604080518481526020810184905280820183905290517fd16858b87f79d06c5d7f4cdf7f0943a3b343a9eb149c10ec26e7bcaae7f19bc59181900360600190a15b5b505050565b60005460a060020a900460ff1681565b600a5460009060a060020a900460ff1615610d4a57600a54604080516000602091820181905282517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152935193909416936370a08231936024808301949391928390030190829087803b1515610d2d57fe5b6102c65a03f11515610d3b57fe5b5050604051519150610c239050565b610d5382611569565b9050610c23565b5b919050565b6000805433600160a060020a03908116911614610d7d5760006000fd5b60005460a060020a900460ff1615610d955760006000fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a15060015b5b5b90565b600054600160a060020a031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106d45780601f106106a9576101008083540402835291602001916106d4565b820191906000526020600020905b8154815290600101906020018083116106b757829003601f168201915b505050505081565b60005460a060020a900460ff1615610e9e5760006000fd5b600160a060020a0382166000908152600b602052604090205460ff1615610ec55760006000fd5b600160a060020a0333166000908152600b602052604090205460ff1615610eec5760006000fd5b600a5460a060020a900460ff1615610f8657600a54604080517f6e18980a000000000000000000000000000000000000000000000000000000008152600160a060020a03338116600483015285811660248301526044820185905291519190921691636e18980a91606480830192600092919082900301818387803b1515610f7057fe5b6102c65a03f11515610f7e57fe5b505050610f90565b610f908282611588565b5b5b5b5050565b60005433600160a060020a03908116911614610fb35760006000fd5b6001548181011015610fc55760006000fd5b60008054600160a060020a03168152600260205260409020548181011015610fed5760006000fd5b60008054600160a060020a03168152600260209081526040918290208054840190556001805484019055815183815291517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9281900390910190a15b5b50565b600a5460009060a060020a900460ff16156110f557600a54604080516000602091820181905282517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015287811660248301529351939094169363dd62ed3e936044808301949391928390030190829087803b15156110d857fe5b6102c65a03f115156110e657fe5b50506040515191506111029050565b6110ff838361171e565b90505b5b92915050565b60035481565b600b6020526000908152604090205460ff1681565b60005433600160a060020a039081169116146111405760006000fd5b600160a060020a0381166000818152600b6020908152604091829020805460ff19169055815192835290517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9281900390910190a15b5b50565b60005433600160a060020a039081169116146111b65760006000fd5b600160a060020a03811615610777576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b6000805433600160a060020a039081169116146112105760006000fd5b600160a060020a0382166000908152600b602052604090205460ff1615156112385760006000fd5b61124182610caa565b600160a060020a0383166000818152600260209081526040808320929092556001805485900390558151928352820183905280519293507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c692918290030190a15b5b5050565b604060443610156112b85760006000fd5b81158015906112eb5750600160a060020a0333811660009081526006602090815260408083209387168352929052205415155b156112f65760006000fd5b600160a060020a03338116600081815260066020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5b505050565b600080806060606436101561136f5760006000fd5b600160a060020a03808816600090815260066020908152604080832033909416835292905220546003549094506113c0906064906113b490889063ffffffff61174b16565b9063ffffffff61177a16565b92506004548311156113d25760045492505b600060035411156113ed576005548310156113ed5760055492505b5b6113fe858463ffffffff61179716565b600160a060020a03871660009081526002602052604090205490925061142a908363ffffffff6117b016565b600160a060020a0380881660009081526002602052604080822093909355805490911681522054611461908463ffffffff6117b016565b60008054600160a060020a0390811682526002602052604080832093909355891681522054611496908663ffffffff61179716565b600160a060020a0388166000908152600260205260409020556000198410156114f1576114c9848663ffffffff61179716565b600160a060020a03808916600090815260066020908152604080832033909416835292905220555b85600160a060020a031687600160a060020a03166000805160206117de833981519152846040518082815260200191505060405180910390a3600054604080518581529051600160a060020a03928316928a16916000805160206117de833981519152919081900360200190a35b5b50505050505050565b600160a060020a0381166000908152600260205260409020545b919050565b6000806040604436101561159c5760006000fd5b6115c260646113b46003548761174b90919063ffffffff16565b9063ffffffff61177a16565b92506004548311156115d45760045492505b600060035411156115ef576005548310156115ef5760055492505b5b611600848463ffffffff61179716565b600160a060020a03331660009081526002602052604090205490925061162c908563ffffffff61179716565b600160a060020a033381166000908152600260205260408082209390935590871681522054611661908363ffffffff6117b016565b600160a060020a0380871660009081526002602052604080822093909355805490911681522054611698908463ffffffff6117b016565b60008054600160a060020a0390811682526002602090815260409283902093909355815185815291518882169333909216926000805160206117de83398151915292908290030190a3600054604080518581529051600160a060020a03928316923316916000805160206117de833981519152919081900360200190a35b5b5050505050565b600160a060020a038083166000908152600660209081526040808320938516835292905220545b92915050565b600082820261176f84158061176a575083858381151561176757fe5b04145b6117cc565b8091505b5092915050565b60006000828481151561178957fe5b0490508091505b5092915050565b60006117a5838311156117cc565b508082035b92915050565b600082820161176f848210156117cc565b8091505b5092915050565b8015156107775760006000fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058209b27b6d796ed9da03f5c422ec87773362f9945c101005ccb6f12e1234484eb990029
Verified Source Code Partial Match
Compiler: v0.4.11+commit.68ef5810
Optimization: Yes (200 runs)
VNDCToken.sol 492 lines
pragma solidity ^0.4.11;
/**
* Math operations with safety checks
*/
library SafeMath {
function mul(uint a, uint b) internal returns (uint) {
uint c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint a, uint b) internal returns (uint) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
uint c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
function sub(uint a, uint b) internal returns (uint) {
assert(b <= a);
return a - b;
}
function add(uint a, uint b) internal returns (uint) {
uint c = a + b;
assert(c >= a);
return c;
}
function max64(uint64 a, uint64 b) internal constant returns (uint64) {
return a >= b ? a : b;
}
function min64(uint64 a, uint64 b) internal constant returns (uint64) {
return a < b ? a : b;
}
function max256(uint256 a, uint256 b) internal constant returns (uint256) {
return a >= b ? a : b;
}
function min256(uint256 a, uint256 b) internal constant returns (uint256) {
return a < b ? a : b;
}
function assert(bool assertion) internal {
if (!assertion) {
throw;
}
}
}
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address public owner;
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
function Ownable() {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
if (msg.sender != owner) {
throw;
}
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) onlyOwner {
if (newOwner != address(0)) {
owner = newOwner;
}
}
}
/**
* @title Pausable
* @dev Base contract which allows children to implement an emergency stop mechanism.
*/
contract Pausable is Ownable {
event Pause();
event Unpause();
bool public paused = false;
/**
* @dev modifier to allow actions only when the contract IS paused
*/
modifier whenNotPaused() {
if (paused) throw;
_;
}
/**
* @dev modifier to allow actions only when the contract IS NOT paused
*/
modifier whenPaused {
if (!paused) throw;
_;
}
/**
* @dev called by the owner to pause, triggers stopped state
*/
function pause() onlyOwner whenNotPaused returns (bool) {
paused = true;
Pause();
return true;
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() onlyOwner whenPaused returns (bool) {
paused = false;
Unpause();
return true;
}
}
/**
* @title ERC20Basic
* @dev Simpler version of ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
contract ERC20Basic {
uint public _totalSupply;
function totalSupply() constant returns (uint);
function balanceOf(address who) constant returns (uint);
function transfer(address to, uint value);
event Transfer(address indexed from, address indexed to, uint value);
}
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) constant returns (uint);
function transferFrom(address from, address to, uint value);
function approve(address spender, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}
/**
* @title Basic token
* @dev Basic version of StandardToken, with no allowances.
*/
contract BasicToken is Ownable, ERC20Basic {
using SafeMath for uint;
mapping(address => uint) balances;
// additional variables for use if transaction fees ever became necessary
uint public basisPointsRate = 0;
uint public maximumFee = 0;
uint public minimumFee = 0;
/**
* @dev Fix for the ERC20 short address attack.
*/
modifier onlyPayloadSize(uint size) {
if(msg.data.length < size + 4) {
throw;
}
_;
}
/**
* @dev transfer token for a specified address
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
*/
function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
uint fee = (_value.mul(basisPointsRate)).div(100);
if (fee > maximumFee) {
fee = maximumFee;
}
if(basisPointsRate > 0)
{
if (fee < minimumFee) {
fee = minimumFee;
}
}
uint sendAmount = _value.sub(fee);
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(sendAmount);
balances[owner] = balances[owner].add(fee);
Transfer(msg.sender, _to, sendAmount);
Transfer(msg.sender, owner, fee);
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint representing the amount owned by the passed address.
*/
function balanceOf(address _owner) constant returns (uint balance) {
return balances[_owner];
}
}
/**
* @title Standard ERC20 token
*
* @dev Implementation of the basic standard token.
* @dev https://github.com/ethereum/EIPs/issues/20
* @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
*/
contract StandardToken is BasicToken, ERC20 {
mapping (address => mapping (address => uint)) allowed;
uint constant MAX_UINT = 2**256 - 1;
/**
* @dev Transfer tokens from one address to another
* @param _from address The address which you want to send tokens from
* @param _to address The address which you want to transfer to
* @param _value uint the amount of tokens to be transferred
*/
function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) {
var _allowance = allowed[_from][msg.sender];
// Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
// if (_value > _allowance) throw;
uint fee = (_value.mul(basisPointsRate)).div(100);
if (fee > maximumFee) {
fee = maximumFee;
}
if(basisPointsRate > 0)
{
if (fee < minimumFee) {
fee = minimumFee;
}
}
uint sendAmount = _value.sub(fee);
balances[_to] = balances[_to].add(sendAmount);
balances[owner] = balances[owner].add(fee);
balances[_from] = balances[_from].sub(_value);
if (_allowance < MAX_UINT) {
allowed[_from][msg.sender] = _allowance.sub(_value);
}
Transfer(_from, _to, sendAmount);
Transfer(_from, owner, fee);
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
* @param _spender The address which will spend the funds.
* @param _value The amount of tokens to be spent.
*/
function approve(address _spender, uint _value) onlyPayloadSize(2 * 32) {
// To change the approve amount you first have to reduce the addresses`
// allowance to zero by calling `approve(_spender, 0)` if it is not
// already 0 to mitigate the race condition described here:
// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
}
/**
* @dev Function to check the amount of tokens than an owner allowed to a spender.
* @param _owner address The address which owns the funds.
* @param _spender address The address which will spend the funds.
* @return A uint specifying the amount of tokens still available for the spender.
*/
function allowance(address _owner, address _spender) constant returns (uint remaining) {
return allowed[_owner][_spender];
}
}
contract UpgradedStandardToken is StandardToken{
// those methods are called by the legacy contract
// and they must ensure msg.sender to be the contract address
function transferByLegacy(address from, address to, uint value);
function transferFromByLegacy(address sender, address from, address spender, uint value);
function approveByLegacy(address from, address spender, uint value);
}
/// VNDC Token Contract - vndc.io
contract VNDCToken is Pausable, StandardToken {
string public name;
string public symbol;
uint public decimals;
address public upgradedAddress;
bool public deprecated;
mapping (address => bool) public isBlackListed;
// The contract can be initialized with a number of tokens
// All the tokens are deposited to the owner address
//
// @param _balance Initial supply of the contract
// @param _name Token Name
// @param _symbol Token symbol
// @param _decimals Token decimals
function VNDCToken(){
_totalSupply = 100000000000 * 10**uint(decimals);
name = "VNDC";
symbol = "VNDC";
balances[owner] = 100000000000 * 10**uint(decimals);
deprecated = false;
}
// Forward ERC20 methods to upgraded contract if this one is deprecated
function transfer(address _to, uint _value) whenNotPaused {
require(!isBlackListed[_to]);
require(!isBlackListed[msg.sender]);
if (deprecated) {
return UpgradedStandardToken(upgradedAddress).transferByLegacy(msg.sender, _to, _value);
} else {
return super.transfer(_to, _value);
}
}
// Forward ERC20 methods to upgraded contract if this one is deprecated
function transferFrom(address _from, address _to, uint _value) whenNotPaused {
require(!isBlackListed[_from]);
require(!isBlackListed[_to]);
require(!isBlackListed[msg.sender]);
if (deprecated) {
return UpgradedStandardToken(upgradedAddress).transferFromByLegacy(msg.sender, _from, _to, _value);
} else {
return super.transferFrom(_from, _to, _value);
}
}
// Forward ERC20 methods to upgraded contract if this one is deprecated
function balanceOf(address who) constant returns (uint){
if (deprecated) {
return UpgradedStandardToken(upgradedAddress).balanceOf(who);
} else {
return super.balanceOf(who);
}
}
// Forward ERC20 methods to upgraded contract if this one is deprecated
function approve(address _spender, uint _value) onlyPayloadSize(2 * 32) {
if (deprecated) {
return UpgradedStandardToken(upgradedAddress).approveByLegacy(msg.sender, _spender, _value);
} else {
return super.approve(_spender, _value);
}
}
// Forward ERC20 methods to upgraded contract if this one is deprecated
function allowance(address _owner, address _spender) constant returns (uint remaining) {
if (deprecated) {
return StandardToken(upgradedAddress).allowance(_owner, _spender);
} else {
return super.allowance(_owner, _spender);
}
}
// deprecate current contract in favour of a new one
function deprecate(address _upgradedAddress) onlyOwner {
deprecated = true;
upgradedAddress = _upgradedAddress;
Deprecate(_upgradedAddress);
}
// deprecate current contract if favour of a new one
function totalSupply() constant returns (uint){
if (deprecated) {
return StandardToken(upgradedAddress).totalSupply();
} else {
return _totalSupply;
}
}
// Issue a new amount of tokens
// these tokens are deposited into the owner address
//
// @param _amount Number of tokens to be issued
function issue(uint amount) onlyOwner {
if (_totalSupply + amount < _totalSupply) throw;
if (balances[owner] + amount < balances[owner]) throw;
balances[owner] += amount;
_totalSupply += amount;
Issue(amount);
}
// Burn tokens.
// These tokens are burned from the owner address
// @param _amount Number of tokens to be issued
function burn(uint amount) onlyOwner {
if (_totalSupply < amount) throw;
if (balances[owner] < amount) throw;
_totalSupply -= amount;
balances[owner] -= amount;
Burn(amount);
}
function setParams(uint newBasisPoints, uint newMaxFee, uint newMinFee) onlyOwner {
// Ensure transparency by hardcoding limit beyond which fees can never be added
basisPointsRate = newBasisPoints;
minimumFee = newMinFee;
maximumFee = newMaxFee;
Params(basisPointsRate, maximumFee, minimumFee);
}
function getBlackListStatus(address _maker) external constant returns (bool) {
return isBlackListed[_maker];
}
function addBlackList (address _evilUser) public onlyOwner {
isBlackListed[_evilUser] = true;
AddedBlackList(_evilUser);
}
function removeBlackList (address _clearedUser) public onlyOwner {
isBlackListed[_clearedUser] = false;
RemovedBlackList(_clearedUser);
}
function destroyBlackFunds (address _blackListedUser) public onlyOwner {
require(isBlackListed[_blackListedUser]);
uint dirtyFunds = balanceOf(_blackListedUser);
balances[_blackListedUser] = 0;
_totalSupply -= dirtyFunds;
DestroyedBlackFunds(_blackListedUser, dirtyFunds);
}
event DestroyedBlackFunds(address _blackListedUser, uint _balance);
event AddedBlackList(address _user);
event RemovedBlackList(address _user);
// Called when new token are issued
event Issue(uint amount);
// Called when tokens are Burned
event Burn(uint amount);
// Called when contract is deprecated
event Deprecate(address newAddress);
// Called if contract ever adds fees
event Params(uint feeBasisPoints, uint maxFee, uint minFee);
}
Write Contract 29 functions
These functions modify contract state and require a wallet transaction to execute.
_totalSupply 0x3eaaf86b
No parameters
returns: uint256
addBlackList 0x0ecb93c0
address _evilUser
allowance 0xdd62ed3e
address _owner
address _spender
returns: uint256
approve 0x095ea7b3
address _spender
uint256 _value
balanceOf 0x70a08231
address who
returns: uint256
basisPointsRate 0xdd644f72
No parameters
returns: uint256
burn 0x42966c68
uint256 amount
decimals 0x313ce567
No parameters
returns: uint256
deprecate 0x0753c30c
address _upgradedAddress
deprecated 0x0e136b19
No parameters
returns: bool
destroyBlackFunds 0xf3bdc228
address _blackListedUser
getBlackListStatus 0x59bf1abe
address _maker
returns: bool
isBlackListed 0xe47d6060
address
returns: bool
issue 0xcc872b66
uint256 amount
maximumFee 0x35390714
No parameters
returns: uint256
minimumFee 0x1a7626e7
No parameters
returns: uint256
name 0x06fdde03
No parameters
returns: string
owner 0x8da5cb5b
No parameters
returns: address
pause 0x8456cb59
No parameters
returns: bool
paused 0x5c975abb
No parameters
returns: bool
removeBlackList 0xe4997dc5
address _clearedUser
setParams 0x5a0ce676
uint256 newBasisPoints
uint256 newMaxFee
uint256 newMinFee
symbol 0x95d89b41
No parameters
returns: string
totalSupply 0x18160ddd
No parameters
returns: uint256
transfer 0xa9059cbb
address _to
uint256 _value
transferFrom 0x23b872dd
address _from
address _to
uint256 _value
transferOwnership 0xf2fde38b
address newOwner
unpause 0x3f4ba83a
No parameters
returns: bool
upgradedAddress 0x26976e3f
No parameters
returns: address
Recent Transactions
No transactions found for this address