ETH Price: $2,675.25 (+1.38%)
Gas: 16 Gwei

Token

Smart Investment Fund Token v2 (XSFT)
 

Overview

Max Total Supply

722,935 XSFT

Holders

83

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
9,321.204233 XSFT

Value
$0.00
0x5a2ea5e3e5fb5d1b89b99a5402775110793dff34
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SmartInvestmentFundToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-03-12
*/

pragma solidity ^0.4.21;
pragma experimental "v0.5.0";

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

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

contract SmartInvestmentFundToken {
    using SafeMath for uint256;

    /* Map all our our balances for issued tokens */
    mapping (address => uint256) balances;

    /* Map between users and their approval addresses and amounts */
    mapping(address => mapping (address => uint256)) allowed;

    /* The name of the contract */
    string public name = "Smart Investment Fund Token v2";

    /* The symbol for the contract */
    string public symbol = "XSFT";

    /* How many DPs are in use in this contract */
    uint8 public decimals = 6;

    /* Defines the current supply of the token in its own units */
    uint256 public totalSupply = 722935000000;

    /* Our transfer event to fire whenever we shift XSFT around */
    event Transfer(address indexed from, address indexed to, uint256 value);
    
    /* Our approval event when one user approves another to control */
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    /* Create a new instance of this fund with links to other contracts that are required. */
    function SmartInvestmentFundToken (address _tokenConvertor) public {
		// Give the 0x00 address the fulll supply and allow the token convertor to transfer it
        balances[0] = totalSupply;
        allowed[0][_tokenConvertor] = totalSupply;
        emit Approval(0, _tokenConvertor, totalSupply);
    }

    modifier onlyPayloadSize(uint numwords) {
        assert(msg.data.length == numwords * 32 + 4);
        _;
    } 
    
    /* Transfer funds between two addresses that are not the current msg.sender - this requires approval to have been set separately and follows standard ERC20 guidelines */
    function transferFrom(address _from, address _to, uint256 _amount) public onlyPayloadSize(3) returns (bool) {
        if (balances[_from] >= _amount && allowed[_from][msg.sender] >= _amount && _amount > 0 && balances[_to].add(_amount) > balances[_to]) {
            balances[_from] = balances[_from].sub(_amount);
            allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
            balances[_to] = balances[_to].add(_amount);
            emit Transfer(_from, _to, _amount);
            return true;
        }
        return false;
    }

    /* Adds an approval for the specified account to spend money of the message sender up to the defined limit */
    function approve(address _spender, uint256 _amount) public onlyPayloadSize(2) returns (bool success) {
        allowed[msg.sender][_spender] = _amount;
        emit Approval(msg.sender, _spender, _amount);
        return true;
    }

    /* Gets the current allowance that has been approved for the specified spender of the owner address */
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    /* Gets the balance of a specified account */
    function balanceOf(address _owner) public constant returns (uint256 balance) {
        return balances[_owner];
    }

    /* Transfer the balance from owner's account to another account */
    function transfer(address _to, uint256 _amount) public onlyPayloadSize(2) returns (bool) {
        /* Check if sender has balance and for overflows */
        if (balances[msg.sender] < _amount || balances[_to].add(_amount) < balances[_to])
            return false;

        /* Add and subtract new balances */
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);

        /* Fire notification event */
        emit Transfer(msg.sender, _to, _amount);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenConvertor","type":"address"}],"payable":false,"stateMutability":"nonpayable","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"}]

606060405260408051908101604052601e81527f536d61727420496e766573746d656e742046756e6420546f6b656e20763200006020820152600290805161004b929160200190610169565b5060408051908101604052600481527f585346540000000000000000000000000000000000000000000000000000000060208201526003908051610093929160200190610169565b506004805460ff1916600617905564a85248abc060055534156100b557600080fd5b604051602080610988833981016040528080516005547fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5819055600160a060020a03821660008181527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb496020526040808220849055939550909350917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350610204565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101aa57805160ff19168380011785556101d7565b828001600101855582156101d7579182015b828111156101d75782518255916020019190600101906101bc565b506101e39291506101e7565b5090565b61020191905b808211156101e357600081556001016101ed565b90565b610775806102136000396000f3006060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009d578063095ea7b31461012757806318160ddd1461015d57806323b872dd14610182578063313ce567146101aa57806370a08231146101d357806395d89b41146101f2578063a9059cbb14610205578063dd62ed3e14610227575b600080fd5b34156100a857600080fd5b6100b061024c565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100ec5780820151838201526020016100d4565b50505050905090810190601f1680156101195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013257600080fd5b610149600160a060020a03600435166024356102ea565b604051901515815260200160405180910390f35b341561016857600080fd5b610170610364565b60405190815260200160405180910390f35b341561018d57600080fd5b610149600160a060020a036004358116906024351660443561036a565b34156101b557600080fd5b6101bd610527565b60405160ff909116815260200160405180910390f35b34156101de57600080fd5b610170600160a060020a0360043516610530565b34156101fd57600080fd5b6100b061054b565b341561021057600080fd5b610149600160a060020a03600435166024356105b6565b341561023257600080fd5b610170600160a060020a03600435811690602435166106f6565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102e25780601f106102b7576101008083540402835291602001916102e2565b820191906000526020600020905b8154815290600101906020018083116102c557829003601f168201915b505050505081565b60006002366044146102f857fe5b600160a060020a03338116600081815260016020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a3600191505b5092915050565b60055481565b600060033660641461037857fe5b600160a060020a0385166000908152602081905260409020548390108015906103c85750600160a060020a0380861660009081526001602090815260408083203390941683529290522054839010155b80156103d45750600083115b80156104065750600160a060020a038416600090815260208190526040902054610404818563ffffffff61072116565b115b1561051a57600160a060020a038516600090815260208190526040902054610434908463ffffffff61073716565b600160a060020a038087166000908152602081815260408083209490945560018152838220339093168252919091522054610475908463ffffffff61073716565b600160a060020a038087166000908152600160209081526040808320338516845282528083209490945591871681529081905220546104ba908463ffffffff61072116565b600160a060020a03808616600081815260208190526040908190209390935591908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a36001915061051f565b600091505b509392505050565b60045460ff1681565b600160a060020a031660009081526020819052604090205490565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102e25780601f106102b7576101008083540402835291602001916102e2565b60006002366044146105c457fe5b600160a060020a033316600090815260208190526040902054839010806106115750600160a060020a03841660009081526020819052604090205461060f818563ffffffff61072116565b105b1561061f576000915061035d565b600160a060020a033316600090815260208190526040902054610648908463ffffffff61073716565b600160a060020a03338116600090815260208190526040808220939093559086168152205461067d908463ffffffff61072116565b60008086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a35060019392505050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60008282018381101561073057fe5b9392505050565b60008282111561074357fe5b509003905600a165627a7a72305820c7e2e09a25245346323a0f57c1da9bbd36f15616d30e32846199acc313ad5a17002900000000000000000000000043b0eb4dfe7a3a86b4805b6db07e80c285b54553

Deployed Bytecode

0x6060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009d578063095ea7b31461012757806318160ddd1461015d57806323b872dd14610182578063313ce567146101aa57806370a08231146101d357806395d89b41146101f2578063a9059cbb14610205578063dd62ed3e14610227575b600080fd5b34156100a857600080fd5b6100b061024c565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100ec5780820151838201526020016100d4565b50505050905090810190601f1680156101195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013257600080fd5b610149600160a060020a03600435166024356102ea565b604051901515815260200160405180910390f35b341561016857600080fd5b610170610364565b60405190815260200160405180910390f35b341561018d57600080fd5b610149600160a060020a036004358116906024351660443561036a565b34156101b557600080fd5b6101bd610527565b60405160ff909116815260200160405180910390f35b34156101de57600080fd5b610170600160a060020a0360043516610530565b34156101fd57600080fd5b6100b061054b565b341561021057600080fd5b610149600160a060020a03600435166024356105b6565b341561023257600080fd5b610170600160a060020a03600435811690602435166106f6565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102e25780601f106102b7576101008083540402835291602001916102e2565b820191906000526020600020905b8154815290600101906020018083116102c557829003601f168201915b505050505081565b60006002366044146102f857fe5b600160a060020a03338116600081815260016020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a3600191505b5092915050565b60055481565b600060033660641461037857fe5b600160a060020a0385166000908152602081905260409020548390108015906103c85750600160a060020a0380861660009081526001602090815260408083203390941683529290522054839010155b80156103d45750600083115b80156104065750600160a060020a038416600090815260208190526040902054610404818563ffffffff61072116565b115b1561051a57600160a060020a038516600090815260208190526040902054610434908463ffffffff61073716565b600160a060020a038087166000908152602081815260408083209490945560018152838220339093168252919091522054610475908463ffffffff61073716565b600160a060020a038087166000908152600160209081526040808320338516845282528083209490945591871681529081905220546104ba908463ffffffff61072116565b600160a060020a03808616600081815260208190526040908190209390935591908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a36001915061051f565b600091505b509392505050565b60045460ff1681565b600160a060020a031660009081526020819052604090205490565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102e25780601f106102b7576101008083540402835291602001916102e2565b60006002366044146105c457fe5b600160a060020a033316600090815260208190526040902054839010806106115750600160a060020a03841660009081526020819052604090205461060f818563ffffffff61072116565b105b1561061f576000915061035d565b600160a060020a033316600090815260208190526040902054610648908463ffffffff61073716565b600160a060020a03338116600090815260208190526040808220939093559086168152205461067d908463ffffffff61072116565b60008086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a35060019392505050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60008282018381101561073057fe5b9392505050565b60008282111561074357fe5b509003905600a165627a7a72305820c7e2e09a25245346323a0f57c1da9bbd36f15616d30e32846199acc313ad5a170029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000043b0eb4dfe7a3a86b4805b6db07e80c285b54553

-----Decoded View---------------
Arg [0] : _tokenConvertor (address): 0x43B0eb4DfE7a3a86b4805b6db07e80C285B54553

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000043b0eb4dfe7a3a86b4805b6db07e80c285b54553


Swarm Source

bzzr://c7e2e09a25245346323a0f57c1da9bbd36f15616d30e32846199acc313ad5a17
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.