ETH Price: $3,263.22 (+2.21%)
Gas: 2 Gwei

Contract

0x5d48b6b4020116b4Cd3659D31c20eC422d592caA
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer174083492023-06-04 16:13:35418 days ago1685895215IN
0x5d48b6b4...22d592caA
0 ETH0.0011727136.83614988
Transfer168423382023-03-16 18:59:11498 days ago1678993151IN
0x5d48b6b4...22d592caA
0 ETH0.001695722.73854229
Transfer129985622021-08-10 16:37:341081 days ago1628613454IN
0x5d48b6b4...22d592caA
0 ETH0.004602358.00000145
Transfer128055602021-07-11 10:44:501111 days ago1626000290IN
0x5d48b6b4...22d592caA
0 ETH0.00039296.1
Transfer109238572020-09-24 7:07:191401 days ago1600931239IN
0x5d48b6b4...22d592caA
0 ETH0.0045995567
Transfer103561162020-06-28 19:11:111489 days ago1593371471IN
0x5d48b6b4...22d592caA
0 ETH0.002059530
Transfer102664362020-06-14 21:57:241503 days ago1592171844IN
0x5d48b6b4...22d592caA
0 ETH0.0009614314
Transfer101953152020-06-03 21:35:481514 days ago1591220148IN
0x5d48b6b4...22d592caA
0 ETH0.0017708433
Transfer101953142020-06-03 21:35:191514 days ago1591220119IN
0x5d48b6b4...22d592caA
0 ETH0.0027608433
Transfer101701182020-05-30 23:36:271518 days ago1590881787IN
0x5d48b6b4...22d592caA
0 ETH0.0015789523
Transfer101634792020-05-29 22:57:591519 days ago1590793079IN
0x5d48b6b4...22d592caA
0 ETH0.0010985916
Transfer101152802020-05-22 10:50:531526 days ago1590144653IN
0x5d48b6b4...22d592caA
0 ETH0.0027604533
Transfer100988372020-05-19 21:36:221529 days ago1589924182IN
0x5d48b6b4...22d592caA
0 ETH0.0010877613
Transfer100263612020-05-08 15:22:271540 days ago1588951347IN
0x5d48b6b4...22d592caA
0 ETH0.001505718
Transfer99962692020-05-03 23:48:081545 days ago1588549688IN
0x5d48b6b4...22d592caA
0 ETH0.000137322
Approve99805162020-05-01 13:12:071547 days ago1588338727IN
0x5d48b6b4...22d592caA
0 ETH0.0005335612.1
Transfer99805072020-05-01 13:10:421547 days ago1588338642IN
0x5d48b6b4...22d592caA
0 ETH0.0010124512.1
Transfer99804832020-05-01 13:04:561547 days ago1588338296IN
0x5d48b6b4...22d592caA
0 ETH0.0005492910
Transfer99804472020-05-01 12:55:471547 days ago1588337747IN
0x5d48b6b4...22d592caA
0 ETH0.0005492910
Transfer99614332020-04-28 14:07:011550 days ago1588082821IN
0x5d48b6b4...22d592caA
0 ETH0.000585467
Transfer99542952020-04-27 11:31:311551 days ago1587987091IN
0x5d48b6b4...22d592caA
0 ETH0.000429398
Transfer98541412020-04-12 0:18:241567 days ago1586650704IN
0x5d48b6b4...22d592caA
0 ETH0.000158931.9
Transfer98249372020-04-07 12:11:081571 days ago1586261468IN
0x5d48b6b4...22d592caA
0 ETH0.000439438
Transfer97193912020-03-22 5:04:451587 days ago1584853485IN
0x5d48b6b4...22d592caA
0 ETH0.000205983
Transfer97192162020-03-22 4:25:171587 days ago1584851117IN
0x5d48b6b4...22d592caA
0 ETH0.000376474.5
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
63315532018-09-14 18:09:492142 days ago1536948589  Contract Creation0 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x02B35b88...D957AC2F8
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
SingularDTVToken

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.15;

contract Token {
    /* This is a slight change to the ERC20 base standard.
    function totalSupply() constant returns (uint256 supply);
    is replaced with:
    uint256 public totalSupply;
    This automatically creates a getter function for the totalSupply.
    This is moved to the base contract since public getter functions are not
    currently recognised as an implementation of the matching abstract
    function by the compiler.
    */
    /// total amount of tokens
    uint256 public totalSupply;

    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) constant returns (uint256 balance);

    /// @notice send `_value` token to `_to` from `msg.sender`
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address _to, uint256 _value) returns (bool success);

    /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    /// @param _from The address of the sender
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success);

    /// @notice `msg.sender` approves `_spender` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of tokens to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint256 _value) returns (bool success);

    /// @param _owner The address of the account owning tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address _owner, address _spender) constant returns (uint256 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

contract StandardToken is Token {

    function transfer(address _to, uint256 _value) returns (bool success) {
        //Default assumes totalSupply can't be over max (2^256 - 1).
        //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.
        //Replace the if with this one instead.
        //require(balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]);
        require(balances[msg.sender] >= _value);
        balances[msg.sender] -= _value;
        balances[_to] += _value;
        Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        //same as above. Replace this line with the following if you want to protect against wrapping uints.
        //require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]);
        require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value);
        balances[_to] += _value;
        balances[_from] -= _value;
        allowed[_from][msg.sender] -= _value;
        Transfer(_from, _to, _value);
        return true;
    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }

    /* Approves and then calls the receiving contract */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);

        //call the receiveApproval function on the contract you want to be notified. This crafts the function signature manually so one doesn't have to include a contract in here just for this.
        //receiveApproval(address _from, uint256 _value, address _tokenContract, bytes _extraData)
        //it is assumed that when does this that the call *should* succeed, otherwise one would use vanilla approve instead.
        require(_spender.call(bytes4(bytes32(sha3("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData));
        return true;
    }

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

contract AbstractSingularDTVFund {
    function softWithdrawRewardFor(address forAddress) returns (uint);
}

/// @title Token contract - Implements token issuance.
/// @author Stefan George - <[email protected]>
/// @author Milad Mostavi - <[email protected]>
contract SingularDTVToken is StandardToken {
    string public version = "0.1.0";

    /*
     *  External contracts
     */
    AbstractSingularDTVFund public singularDTVFund;

    /*
     *  Token meta data
     */
    string public name;
    string public symbol;
    uint8 public constant decimals = 18;

    /// @dev Transfers sender's tokens to a given address. Returns success.
    /// @param to Address of token receiver.
    /// @param value Number of tokens to transfer.
    function transfer(address to, uint256 value)
        returns (bool)
    {
        // Both parties withdraw their reward first
        singularDTVFund.softWithdrawRewardFor(msg.sender);
        singularDTVFund.softWithdrawRewardFor(to);
        return super.transfer(to, value);
    }

    /// @dev Allows allowed third party to transfer tokens from one address to another. Returns success.
    /// @param from Address from where tokens are withdrawn.
    /// @param to Address to where tokens are sent.
    /// @param value Number of tokens to transfer.
    function transferFrom(address from, address to, uint256 value)
        returns (bool)
    {
        // Both parties withdraw their reward first
        singularDTVFund.softWithdrawRewardFor(from);
        singularDTVFund.softWithdrawRewardFor(to);
        return super.transferFrom(from, to, value);
    }

    function SingularDTVToken(address sDTVFundAddr, address _wallet, string _name, string _symbol, uint _totalSupply) {
        if(sDTVFundAddr == 0 || _wallet == 0) {
            // Fund and Wallet addresses should not be null.
            revert();
        }

        balances[_wallet] = _totalSupply;
        totalSupply = _totalSupply;

        name = _name;
        symbol = _symbol;

        singularDTVFund = AbstractSingularDTVFund(sDTVFundAddr);

        Transfer(this, _wallet, _totalSupply);
    }
}

Contract Security Audit

Contract ABI

[{"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":"","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":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"singularDTVFund","outputs":[{"name":"","type":"address"}],"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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"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":"sDTVFundAddr","type":"address"},{"name":"_wallet","type":"address"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_totalSupply","type":"uint256"}],"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"}]

Deployed Bytecode

0x6060604052361561009e5763ffffffff60e060020a60003504166306fdde0381146100a3578063095ea7b31461012e57806318160ddd1461016457806323b872dd14610189578063313ce567146101c557806354fd4d50146101ee57806358a743331461027957806370a08231146102a857806395d89b41146102d9578063a9059cbb14610364578063cae9ca511461039a578063dd62ed3e14610413575b600080fd5b34156100ae57600080fd5b6100b661044a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f35780820151818401525b6020016100da565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013957600080fd5b610150600160a060020a03600435166024356104e8565b604051901515815260200160405180910390f35b341561016f57600080fd5b610177610555565b60405190815260200160405180910390f35b341561019457600080fd5b610150600160a060020a036004358116906024351660443561055b565b604051901515815260200160405180910390f35b34156101d057600080fd5b6101d861065b565b60405160ff909116815260200160405180910390f35b34156101f957600080fd5b6100b6610660565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f35780820151818401525b6020016100da565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028457600080fd5b61028c6106fe565b604051600160a060020a03909116815260200160405180910390f35b34156102b357600080fd5b610177600160a060020a036004351661070d565b60405190815260200160405180910390f35b34156102e457600080fd5b6100b661072c565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f35780820151818401525b6020016100da565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036f57600080fd5b610150600160a060020a03600435166024356107ca565b604051901515815260200160405180910390f35b34156103a557600080fd5b61015060048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506108c895505050505050565b604051901515815260200160405180910390f35b341561041e57600080fd5b610177600160a060020a0360043581169060243516610a6a565b60405190815260200160405180910390f35b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104e05780601f106104b5576101008083540402835291602001916104e0565b820191906000526020600020905b8154815290600101906020018083116104c357829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005481565b600454600090600160a060020a031663b162281885836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156105b657600080fd5b6102c65a03f115156105c757600080fd5b50505060405180515050600454600160a060020a031663b16228188460006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561062a57600080fd5b6102c65a03f1151561063b57600080fd5b5050506040518051905050610651848484610a97565b90505b9392505050565b601281565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104e05780601f106104b5576101008083540402835291602001916104e0565b820191906000526020600020905b8154815290600101906020018083116104c357829003601f168201915b505050505081565b600454600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104e05780601f106104b5576101008083540402835291602001916104e0565b820191906000526020600020905b8154815290600101906020018083116104c357829003601f168201915b505050505081565b600454600090600160a060020a031663b162281833836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561082557600080fd5b6102c65a03f1151561083657600080fd5b50505060405180515050600454600160a060020a031663b16228188460006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561089957600080fd5b6102c65a03f115156108aa57600080fd5b50505060405180519050506108bf8383610b81565b90505b92915050565b600160a060020a03338116600081815260026020908152604080832094881680845294909152808220869055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a383600160a060020a03166040517f72656365697665417070726f76616c28616464726573732c75696e743235362c81527f616464726573732c6279746573290000000000000000000000000000000000006020820152602e01604051809103902060e060020a9004338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a03168152602001828051906020019080838360005b83811015610a0a5780820151818401525b6020016109f1565b50505050905090810190601f168015610a375780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f1925050501515610a5f57600080fd5b5060015b9392505050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a038316600090815260016020526040812054829010801590610ae75750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b1515610af257600080fd5b600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529490915290819020805486900390559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b9392505050565b600160a060020a03331660009081526001602052604081205482901015610ba757600080fd5b600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b929150505600a165627a7a7230582032d235f35dcbf40dcba31475bc6bf623314af4d64caf585d89fa48ab61ab904b0029

Swarm Source

bzzr://32d235f35dcbf40dcba31475bc6bf623314af4d64caf585d89fa48ab61ab904b

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.