Contract 0xe0b7927c4af23765cb51314a0e0521a9645f0e2a

 
The project has been dissolved. Current supply is (1,999,999.9966 DGD minus total in 0x000). More information at https://community.digix.global

Contract Overview

DigixDAO: DGD Token
Balance:
24.505390324268761436 Ether

EtherValue:
$89,455.46 (@ $3,650.44/ETH)

Token:
Ad
Ad
Txn Hash Method
Block
From
To
Value
0x63f07b2250d1efa112fe5ebf0901f135d96b1a75897b29df19bf99c0234d9ef5Pending(pending)2021-05-08 12:03:582 hrs 20 mins ago0x3b80a1c1d23799ac04db39af7ed0dab613294ab8 IN DigixDAO: DGD Token0 Ether(Pending)(Pending)
0x9684c4fc0146607da053b1d275c528481a3496431c0cc9c4ab818cde7e3fb325Pending(pending)2021-05-07 13:24:561 day 59 mins ago0x041cced695bf699f2ced8fb2e20c3ffc5873c58e IN DigixDAO: DGD Token0 Ether(Pending)(Pending)
0x88d159b0576c00d645fe14f16ee81d2e2b09b60c4afe434e4686b9b39574bb2ePending(pending)2021-05-07 9:39:271 day 4 hrs ago0x381506e9b07ee0c239c0c83f30d68b04684611d1 IN DigixDAO: DGD Token0 Ether(Pending)(Pending)
0xd953229b5f5de5d087c36d8f965cbe24eaee2d85e969bcf620b4e5faf2a39a78Transfer123940742021-05-08 14:02:2822 mins ago0x2c164581c5ac72e3470116849cf58f71e16a9892 IN  DigixDAO: DGD Token0 Ether0.003365885167
0x4508e8f63256a5ee5b11d8c4b04d04ac63422bd64458279bdfbdc882645915e6Transfer123936852021-05-08 12:33:161 hr 51 mins ago0xb995a6bb72b8392b2fa7e5caa0318a84a47ea014 IN  DigixDAO: DGD Token0 Ether0.00372429992399.999997952
0xd44b36ab1a216554d367758b42c41e7d959a6c339db735063ed6f635ae679fb4Transfer123935002021-05-08 11:53:342 hrs 31 mins ago0xc58968dff5520ac34f2164db66d6b1af4aad0550 IN  DigixDAO: DGD Token0 Ether0.00360559569
0x8d19bca7cbca5e466067484f02e579abddfc5d6e512990b4de2c0948ec6333e3Approve123932782021-05-08 11:03:103 hrs 21 mins ago0x24777eeebc5ac1b654fb3611980b62ced8880006 IN  DigixDAO: DGD Token0 Ether0.0032428270
0x461a7b70ad5928a57d476cabdb638dd29e3b071763f29ebaabdc919173465c3fApprove123932672021-05-08 10:59:453 hrs 25 mins ago0xeb6fd385e0af10af1f57f94c3c719b123ecc6adb IN  DigixDAO: DGD Token0 Ether0.002316350
0x68422f7b27cce6d922face8e721980259c94d7aa7b2f73b9b7df889dbbcbff6fApprove123912202021-05-08 3:29:0110 hrs 55 mins ago0xaaf7eb3dfdb5109ea607d69fe2c36ad9b9346f89 IN  DigixDAO: DGD Token0 Ether0.00271411859
0xa949a90a3311bd20c8e67ebc5cb6512b3377fab71c90fc0b4e3c4aca9abcd892Transfer123908192021-05-08 2:00:3812 hrs 24 mins ago0x2315f439c9080abaaa33a7761669c40dd8a9615e IN  DigixDAO: DGD Token0 Ether0.0029393437556.25
0xc353fe91f7c2f282dac0993515c8c7cc626ad6f2f3c7a5d2fe9d32d3dcfe6d2aTransfer123904992021-05-08 0:48:5413 hrs 36 mins ago0x136fdadd377fc44c7b0459bf031d9527578ec802 IN  DigixDAO: DGD Token0 Ether0.0008066840
0xe86dcedb6ffd0978e3fa89e7b63078a3505b37fc294fb83a6582f0629554ee48Transfer123902142021-05-07 23:42:1914 hrs 42 mins agoHuobi 5 IN  DigixDAO: DGD Token0 Ether0.00282241854
0x42238f55b373fc1a6030bdc6cf9713812b612cf03876d408137f05c6d68b83e2Transfer123897362021-05-07 22:01:0016 hrs 23 mins ago0x4e0a792aa69a91506891a6f24fbf8bf579636d70 IN  DigixDAO: DGD Token0 Ether0.002932178756.1
0x05b4d5cd288311d984223850e091ac22749aa8cdc77432a5704c900c43ef34b3Transfer123888902021-05-07 18:48:4119 hrs 36 mins ago0x53d70c3613949bacf99907eaa5d75ce8f628284d IN  DigixDAO: DGD Token0 Ether0.00106821553
0xc98b5a78c093f16d3f8ca743faff0feb15f570d755a7e959704603cf1842b04dApprove123888872021-05-07 18:48:0619 hrs 36 mins ago0xd4293252100564ccb4ea3de3a5d34c30b843389b IN  DigixDAO: DGD Token0 Ether0.0020700945
0xf4491420bd40aee2b8a83184b89d14baf2634affc79b6a90ff7ce54b24acf30bTransfer123888472021-05-07 18:41:0419 hrs 43 mins agoHuobi 5 IN  DigixDAO: DGD Token0 Ether0.00298817585
0x30c73ed763361fe6170197b4cff7a1f2341146c14518cad212e49ff9304f333fTransfer123866532021-05-07 10:33:091 day 3 hrs ago0xa22bfb858afdcb6f835a25adcb0d3393bbd23f27 IN  DigixDAO: DGD Token0 Ether0.0015777492542.35
0x1a89cc3aafca18a28324fd30ee13f04533565b2f1277eb23f2f3677debb6a9caTransfer123863422021-05-07 9:24:201 day 5 hrs ago0xbf8a552356116a627ab202d8b89b00bace903378 IN  DigixDAO: DGD Token0 Ether0.0011330437556.25
0x281e34336112e4f68839137f020830f7aa1ab861924e20bab148f58ae4bfcd24Transfer123862532021-05-07 9:05:341 day 5 hrs ago0xbf8a552356116a627ab202d8b89b00bace903378 IN  DigixDAO: DGD Token0 Ether0.003265187562.5
0x350cb80f179bf42c5603eca558c724df115cdd10a83e04aefe5b71e91f4e874fTransfer123848842021-05-07 3:55:351 day 10 hrs ago0xfb1a9dace2be34b17210fdd3492675f62af0780f IN  DigixDAO: DGD Token0 Ether0.0008066840
0xfb9b45a5e5deab1ace8f1ab2b0ff98a84554e7750d411c09b05307b95b8ee4fdTransfer123848332021-05-07 3:43:491 day 10 hrs ago0x98ece0948b96f6cdee677efc522224e627b4b675 IN  DigixDAO: DGD Token0 Ether0.0014906840
0xb2521d1f0d37cccc7bb7ed12cc8a4600782f7e1623c7ea1c54eaceb71ecb6a1fApprove123832142021-05-06 21:35:121 day 16 hrs ago0x32774415c506657e6373f392481971dabf017c8e IN  DigixDAO: DGD Token0 Ether0.00317413869
0x211abd42b0a348f9224c28442994c7dfcdb45127c2e73a50a3d4051c6cf23b10Approve123831032021-05-06 21:13:401 day 17 hrs ago0xe72dc0fb6a369b7b3d13508678aa8e3c2e57fb6e IN  DigixDAO: DGD Token0 Ether0.00342812474
0x483b310e9901eb5a4dc87a093d7d9fd450f26e99b678b98ca919811b8d7587ddTransfer123830562021-05-06 21:01:121 day 17 hrs ago0x0843d41e22e531fad60a5bce86108a847898a304 IN  DigixDAO: DGD Token0 Ether0.00279412575
0x23d8e7f416a95be84a7ac2d670ab033c6ff970bfe6e783a89601e011eddb3c3cTransfer123830232021-05-06 20:53:421 day 17 hrs ago0xb1bea1ec3689a54affe1ff0f34cec5ac30a06654 IN  DigixDAO: DGD Token0 Ether0.00324014187
[ Download CSV Export 

OVERVIEW

The legacy token contract for DigixDAO's DGD Token. This token has been deprecated.

Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xe6a50122e15dd149eabf18e9de8044264d32360b7fea156cb0e63ec3f721120e14091212016-04-26 19:24:401837 days 19 hrs ago DigixDAO: DGD Token  Contract Creation0 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.3.0-2016-03-11-1f9578c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2016-04-28
*/

/// @title DigixDAO Contract Interfaces

contract ConfigInterface {
        address public owner;
        mapping(address => bool) admins;
        mapping(bytes32 => address) addressMap;
        mapping(bytes32 => bool) boolMap;
        mapping(bytes32 => bytes32) bytesMap;
        mapping(bytes32 => uint256) uintMap;

        /// @notice setConfigAddress sets configuration `_key` to `_val`
        /// @param _key The key name of the configuration.
        /// @param _val The value of the configuration.
        /// @return Whether the configuration setting was successful or not.
        function setConfigAddress(bytes32 _key, address _val) returns(bool success);

        /// @notice setConfigBool sets configuration `_key` to `_val`
        /// @param _key The key name of the configuration.
        /// @param _val The value of the configuration.
        /// @return Whether the configuration setting was successful or not.
        function setConfigBool(bytes32 _key, bool _val) returns(bool success);

        /// @notice setConfigBytes sets configuration `_key` to `_val`
        /// @param _key The key name of the configuration.
        /// @param _val The value of the configuration.
        /// @return Whether the configuration setting was successful or not.
        function setConfigBytes(bytes32 _key, bytes32 _val) returns(bool success);

        /// @notice setConfigUint `_key` to `_val`
        /// @param _key The key name of the configuration.
        /// @param _val The value of the configuration.
        /// @return Whether the configuration setting was successful or not.
        function setConfigUint(bytes32 _key, uint256 _val) returns(bool success);

        /// @notice getConfigAddress gets configuration `_key`'s value
        /// @param _key The key name of the configuration.
        /// @return The configuration value
        function getConfigAddress(bytes32 _key) returns(address val);

        /// @notice getConfigBool gets configuration `_key`'s value
        /// @param _key The key name of the configuration.
        /// @return The configuration value
        function getConfigBool(bytes32 _key) returns(bool val);

        /// @notice getConfigBytes gets configuration `_key`'s value
        /// @param _key The key name of the configuration.
        /// @return The configuration value
        function getConfigBytes(bytes32 _key) returns(bytes32 val);

        /// @notice getConfigUint gets configuration `_key`'s value
        /// @param _key The key name of the configuration.
        /// @return The configuration value
        function getConfigUint(bytes32 _key) returns(uint256 val);

        /// @notice addAdmin sets `_admin` as configuration admin
        /// @return Whether the configuration setting was successful or not.
        function addAdmin(address _admin) returns(bool success);

        /// @notice removeAdmin removes  `_admin`'s rights
        /// @param _admin The key name of the configuration.
        /// @return Whether the configuration setting was successful or not.
        function removeAdmin(address _admin) returns(bool success);

}

contract TokenInterface {

        mapping(address => uint256) balances;
        mapping(address => mapping(address => uint256)) allowed;
        mapping(address => bool) seller;

        address config;
        address owner;
        address dao;
        address public badgeLedger;
        bool locked;

        /// @return 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` tokens to `_to` from `msg.sender`
        /// @param _to The address of the recipient
        /// @param _value The amount of tokens to be transfered
        /// @return Whether the transfer was successful or not
        function transfer(address _to, uint256 _value) returns(bool success);

        /// @notice send `_value` tokens 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 tokens to be transfered
        /// @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 on its behalf
        /// @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 of _owner that _spender is allowed to spend
        function allowance(address _owner, address _spender) constant returns(uint256 remaining);

        /// @notice mint `_amount` of tokens to `_owner`
        /// @param _owner The address of the account receiving the tokens
        /// @param _amount The amount of tokens to mint
        /// @return Whether or not minting was successful
        function mint(address _owner, uint256 _amount) returns(bool success);

        /// @notice mintBadge Mint `_amount` badges to `_owner`
        /// @param _owner The address of the account receiving the tokens
        /// @param _amount The amount of tokens to mint
        /// @return Whether or not minting was successful
        function mintBadge(address _owner, uint256 _amount) returns(bool success);

        function registerDao(address _dao) returns(bool success);

        function registerSeller(address _tokensales) returns(bool success);

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

contract TokenSalesInterface {

        struct SaleProxy {
                address payout;
                bool isProxy;
        }

        struct SaleStatus {
                bool founderClaim;
                uint256 releasedTokens;
                uint256 releasedBadges;
                uint256 claimers;
        }

        struct Info {
                uint256 totalWei;
                uint256 totalCents;
                uint256 realCents;
                uint256 amount;
        }

        struct SaleConfig {
                uint256 startDate;
                uint256 periodTwo;
                uint256 periodThree;
                uint256 endDate;
                uint256 goal;
                uint256 cap;
                uint256 badgeCost;
                uint256 founderAmount;
                address founderWallet;
        }

        struct Buyer {
                uint256 centsTotal;
                uint256 weiTotal;
                bool claimed;
        }

        Info saleInfo;
        SaleConfig saleConfig;
        SaleStatus saleStatus;

        address config;
        address owner;
        bool locked;

        uint256 public ethToCents;

        mapping(address => Buyer) buyers;
        mapping(address => SaleProxy) proxies;

        /// @notice Calculates the parts per billion 1⁄1,000,000,000 of `_a` to `_b`
        /// @param _a The antecedent
        /// @param _c The consequent
        /// @return Part per billion value
        function ppb(uint256 _a, uint256 _c) public constant returns(uint256 b);


        /// @notice Calculates the share from `_total` based on `_contrib`
        /// @param _contrib The contributed amount in USD
        /// @param _total The total amount raised in USD
        /// @return Total number of shares
        function calcShare(uint256 _contrib, uint256 _total) public constant returns(uint256 share);

        /// @notice Calculates the current USD cents value of `_wei`
        /// @param _wei the amount of wei
        /// @return The USD cents value
        function weiToCents(uint256 _wei) public constant returns(uint256 centsvalue);

        function proxyPurchase(address _user) returns(bool success);

        /// @notice Send msg.value purchase for _user.
        /// @param _user The account to be credited
        /// @return Success if purchase was accepted
        function purchase(address _user, uint256 _amount) private returns(bool success);

        /// @notice Get crowdsale information for `_user`
        /// @param _user The account to be queried
        /// @return `centstotal` the total amount of USD cents contributed
        /// @return `weitotal` the total amount in wei contributed
        /// @return `share` the current token shares earned
        /// @return `badges` the number of proposer badges earned
        /// @return `claimed` is true if the tokens and badges have been claimed
        function userInfo(address _user) public constant returns(uint256 centstotal, uint256 weitotal, uint256 share, uint badges, bool claimed);

        /// @notice Get the crowdsale information from msg.sender (see userInfo)
        function myInfo() public constant returns(uint256 centstotal, uint256 weitotal, uint256 share, uint badges, bool claimed);

        /// @notice get the total amount of wei raised for the crowdsale
        /// @return The amount of wei raised
        function totalWei() public constant returns(uint);

        /// @notice get the total USD value in cents raised for the crowdsale
        /// @return the amount USD cents
        function totalCents() public constant returns(uint);

        /// @notice get the current crowdsale information
        /// @return `startsale` The unix timestamp for the start of the crowdsale and the first period modifier
        /// @return `two` The unix timestamp for the start of the second period modifier
        /// @return `three` The unix timestamp for the start of the third period modifier
        /// @return `endsale` The unix timestamp of the end of crowdsale
        /// @return `totalwei` The total amount of wei raised
        /// @return `totalcents` The total number of USD cents raised
        /// @return `amount` The amount of DGD tokens available for the crowdsale
        /// @return `goal` The USD value goal for the crowdsale
        /// @return `famount` Founders endowment
        /// @return `faddress` Founder wallet address
        /*function getSaleInfo() public constant returns (uint256 startsale, uint256 two, uint256 three, uint256 endsale, uint256 totalwei, uint256 totalcents, uint256 amount, uint256 goal, uint256 famount, address faddress);*/

        function claimFor(address _user) returns(bool success);

        /// @notice Allows msg.sender to claim the DGD tokens and badges if the goal is reached or refunds the ETH contributed if goal is not reached at the end of the crowdsale
        function claim() returns(bool success);

        function claimFounders() returns(bool success);

        /// @notice See if the crowdsale goal has been reached
        function goalReached() public constant returns(bool reached);

        /// @notice Get the current sale period
        /// @return `saleperiod` 0 = Outside of the crowdsale period, 1 = First reward period, 2 = Second reward period, 3 = Final crowdsale period.
        function getPeriod() public constant returns(uint saleperiod);

        /// @notice Get the date for the start of the crowdsale
        /// @return `date` The unix timestamp for the start
        function startDate() public constant returns(uint date);

        /// @notice Get the date for the second reward period of the crowdsale
        /// @return `date` The unix timestamp for the second period
        function periodTwo() public constant returns(uint date);

        /// @notice Get the date for the final period of the crowdsale
        /// @return `date` The unix timestamp for the final period
        function periodThree() public constant returns(uint date);

        /// @notice Get the date for the end of the crowdsale
        /// @return `date` The unix timestamp for the end of the crowdsale
        function endDate() public constant returns(uint date);

        /// @notice Check if crowdsale has ended
        /// @return `ended` If the crowdsale has ended

        function isEnded() public constant returns(bool ended);

        /// @notice Send raised funds from the crowdsale to the DAO
        /// @return `success` if the send succeeded
        function sendFunds() public returns(bool success);

        //function regProxy(address _payment, address _payout) returns (bool success);
        function regProxy(address _payout) returns(bool success);

        function getProxy(address _payout) public returns(address proxy);

        function getPayout(address _proxy) public returns(address payout, bool isproxy);

        function unlock() public returns(bool success);

        function getSaleStatus() public constant returns(bool fclaim, uint256 reltokens, uint256 relbadges, uint256 claimers);

        function getSaleInfo() public constant returns(uint256 weiamount, uint256 cents, uint256 realcents, uint256 amount);

        function getSaleConfig() public constant returns(uint256 start, uint256 two, uint256 three, uint256 end, uint256 goal, uint256 cap, uint256 badgecost, uint256 famount, address fwallet);

        event Purchase(uint256 indexed _exchange, uint256 indexed _rate, uint256 indexed _cents);
        event Claim(address indexed _user, uint256 indexed _amount, uint256 indexed _badges);

}

contract Badge {
        mapping(address => uint256) balances;
        mapping(address => mapping(address => uint256)) allowed;

        address public owner;
        bool public locked;

        /// @return total amount of tokens
        uint256 public totalSupply;

        modifier ifOwner() {
                if (msg.sender != owner) {
                        throw;
                } else {
                        _
                }
        }


        event Transfer(address indexed _from, address indexed _to, uint256 _value);
        event Mint(address indexed _recipient, uint256 indexed _amount);
        event Approval(address indexed _owner, address indexed _spender, uint256 _value);

        function Badge() {
                owner = msg.sender;
        }

        function safeToAdd(uint a, uint b) returns(bool) {
                return (a + b >= a);
        }

        function addSafely(uint a, uint b) returns(uint result) {
                if (!safeToAdd(a, b)) {
                        throw;
                } else {
                        result = a + b;
                        return result;
                }
        }

        function safeToSubtract(uint a, uint b) returns(bool) {
                return (b <= a);
        }

        function subtractSafely(uint a, uint b) returns(uint) {
                if (!safeToSubtract(a, b)) throw;
                return a - b;
        }

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

        function transfer(address _to, uint256 _value) returns(bool success) {
                if (balances[msg.sender] >= _value && _value > 0) {
                        balances[msg.sender] = subtractSafely(balances[msg.sender], _value);
                        balances[_to] = addSafely(_value, balances[_to]);
                        Transfer(msg.sender, _to, _value);
                        success = true;
                } else {
                        success = false;
                }
                return success;
        }

        function transferFrom(address _from, address _to, uint256 _value) returns(bool success) {
                if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
                        balances[_to] = addSafely(balances[_to], _value);
                        balances[_from] = subtractSafely(balances[_from], _value);
                        allowed[_from][msg.sender] = subtractSafely(allowed[_from][msg.sender], _value);
                        Transfer(_from, _to, _value);
                        return true;
                } else {
                        return false;
                }
        }

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

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

        function mint(address _owner, uint256 _amount) ifOwner returns(bool success) {
                totalSupply = addSafely(totalSupply, _amount);
                balances[_owner] = addSafely(balances[_owner], _amount);
                Mint(_owner, _amount);
                return true;
        }

        function setOwner(address _owner) ifOwner returns(bool success) {
                owner = _owner;
                return true;
        }

}

contract Token {

        address public owner;
        address public config;
        bool public locked;
        address public dao;
        address public badgeLedger;
        uint256 public totalSupply;

        mapping(address => uint256) balances;
        mapping(address => mapping(address => uint256)) allowed;
        mapping(address => bool) seller;

        /// @return total amount of tokens

        modifier ifSales() {
                if (!seller[msg.sender]) throw;
                _
        }

        modifier ifOwner() {
                if (msg.sender != owner) throw;
                _
        }

        modifier ifDao() {
                if (msg.sender != dao) throw;
                _
        }

        event Transfer(address indexed _from, address indexed _to, uint256 _value);
        event Mint(address indexed _recipient, uint256 _amount);
        event Approval(address indexed _owner, address indexed _spender, uint256 _value);

        function Token(address _config) {
                config = _config;
                owner = msg.sender;
                address _initseller = ConfigInterface(_config).getConfigAddress("sale1:address");
                seller[_initseller] = true;
                badgeLedger = new Badge();
                locked = false;
        }

        function safeToAdd(uint a, uint b) returns(bool) {
                return (a + b >= a);
        }

        function addSafely(uint a, uint b) returns(uint result) {
                if (!safeToAdd(a, b)) {
                        throw;
                } else {
                        result = a + b;
                        return result;
                }
        }

        function safeToSubtract(uint a, uint b) returns(bool) {
                return (b <= a);
        }

        function subtractSafely(uint a, uint b) returns(uint) {
                if (!safeToSubtract(a, b)) throw;
                return a - b;
        }

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

        function transfer(address _to, uint256 _value) returns(bool success) {
                if (balances[msg.sender] >= _value && _value > 0) {
                        balances[msg.sender] = subtractSafely(balances[msg.sender], _value);
                        balances[_to] = addSafely(balances[_to], _value);
                        Transfer(msg.sender, _to, _value);
                        success = true;
                } else {
                        success = false;
                }
                return success;
        }

        function transferFrom(address _from, address _to, uint256 _value) returns(bool success) {
                if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
                        balances[_to] = addSafely(balances[_to], _value);
                        balances[_from] = subtractSafely(balances[_from], _value);
                        allowed[_from][msg.sender] = subtractSafely(allowed[_from][msg.sender], _value);
                        Transfer(_from, _to, _value);
                        return true;
                } else {
                        return false;
                }
        }

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

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

        function mint(address _owner, uint256 _amount) ifSales returns(bool success) {
                totalSupply = addSafely(_amount, totalSupply);
                balances[_owner] = addSafely(balances[_owner], _amount);
                return true;
        }

        function mintBadge(address _owner, uint256 _amount) ifSales returns(bool success) {
                if (!Badge(badgeLedger).mint(_owner, _amount)) return false;
                return true;
        }

        function registerDao(address _dao) ifOwner returns(bool success) {
                if (locked == true) return false;
                dao = _dao;
                locked = true;
                return true;
        }

        function setDao(address _newdao) ifDao returns(bool success) {
                dao = _newdao;
                return true;
        }

        function isSeller(address _query) returns(bool isseller) {
                return seller[_query];
        }

        function registerSeller(address _tokensales) ifDao returns(bool success) {
                seller[_tokensales] = true;
                return true;
        }

        function unregisterSeller(address _tokensales) ifDao returns(bool success) {
                seller[_tokensales] = false;
                return true;
        }

        function setOwner(address _newowner) ifDao returns(bool success) {
                if (Badge(badgeLedger).setOwner(_newowner)) {
                        owner = _newowner;
                        success = true;
                } else {
                        success = false;
                }
                return success;
        }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"setOwner","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"subtractSafely","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeToAdd","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"addSafely","outputs":[{"name":"result","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeToSubtract","outputs":[{"name":"","type":"bool"}],"type":"function"},{"inputs":[],"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":"_recipient","type":"address"},{"indexed":true,"name":"_amount","type":"uint256"}],"name":"Mint","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"}]

6060604052604051602080610fbf83395060806040525160018054600160a060020a0319908116831790915560008054909116331781557ff896503a0000000000000000000000000000000000000000000000000000000060809081527f73616c65313a6164647265737300000000000000000000000000000000000000608452600160a060020a0383169063f896503a9060a49060209060248187876161da5a03f115610002575050604080518051600160a060020a0381168552600760205291909320805460ff191660011790559190506105da8061011d833901809050604051809103906000f060038054600160a060020a0319169190911790556001805460a060020a60ff021916905550506108c8806106f76000396000f3606060405260028054600160a060020a031916331790556105b6806100246000396000f3606060405236156100ae5760e060020a6000350463095ea7b381146100b057806313af40351461012557806318160ddd1461014a57806323b872dd146101535780633416f9d4146101da57806340c10f19146101f05780634e30a66c1461021857806370a082311461022e5780638da5cb5b14610253578063a9059cbb14610265578063c74c251f146102bf578063cf309012146102d5578063dd62ed3e146102fa578063e74b9d111461032e575b005b61034160043560243533600160a060020a03908116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b610341600435600254600090600160a060020a03908116339091161461058f57610002565b61034160035481565b610341600435602435604435600160a060020a0383166000908152602081905260408120548290108015906101a6575060016020908152604080832033600160a060020a03168452909152812054829010155b80156101b25750600082115b1561043057600160a060020a03831660009081526020819052604090205461043b90836102c9565b6103416004356024355b60006103848383610338565b610341600435602435600254600090600160a060020a03908116339091161461051057610002565b6103416004356024355b8181018290101561011f565b610341600435600160a060020a0381166000908152602081905260409020545b919050565b610353600254600160a060020a031681565b61034160043560243533600160a060020a03166000908152602081905260408120548290108015906102975750600082115b156103985733600160a060020a03166000908152602081905260409020546103a190836101e4565b6103416004356024355b60006103708383610222565b61034160025460ff740100000000000000000000000000000000000000009091041681565b610341600435602435600160a060020a0382811660009081526001602090815260408083209385168352929052205461011f565b6103416004356024355b8181111561011f565b60408051918252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b151561037b57610002565b5081810161011f565b151561038f57610002565b5080820361011f565b5060005b61011f565b33600160a060020a0390811660009081526020819052604080822093909355908516815220546103d29083906102c9565b600160a060020a03848116600081815260208181526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600161039c565b5060005b9392505050565b600160a060020a03848116600090815260208190526040808220939093559086168152205461046a90836101e4565b600160a060020a0385811660009081526020818152604080832094909455600181528382203390931682529190915220546104a590836101e4565b600160a060020a038581166000818152600160209081526040808320338616845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001610434565b60035461051d90836102c9565b600355600160a060020a03831660009081526020819052604090205461054390836102c9565b600160a060020a03841660008181526020819052604080822093909355915184927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688591a350600161011f565b506002805473ffffffffffffffffffffffffffffffffffffffff191682179055600161024e56606060405236156101115760e060020a6000350463095ea7b3811461011357806313af40351461018857806318160ddd146101ad57806323b872dd146101b65780632b297f9e1461023d5780633416f9d4146102605780633f2965f01461027657806340c10f191461029b5780634162169f146102cb5780634230bb10146102dd5780634e30a66c146102ef5780636637b8821461030557806370a082311461032a57806379502c551461034f5780638da5cb5b14610361578063a9059cbb14610373578063ac900c2d146103cd578063c74c251f146103f2578063cf30901214610408578063dd62ed3e1461041b578063e42bff661461044f578063e74b9d111461047f578063ee95feaf14610492575b005b6104b960043560243533600160a060020a03908116600081815260066020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6104b9600435600254600090600160a060020a03908116339091161461083257610002565b6104b960045481565b6104b9600435602435604435600160a060020a038316600090815260056020526040812054829010801590610209575060066020908152604080832033600160a060020a03168452909152812054829010155b80156102155750600082115b156105a957600160a060020a0383166000908152600560205260409020546105b490836103fc565b6104b960043560008054600160a060020a03908116339091161461076c57610002565b6104b96004356024355b60006104fc8383610489565b6104b9600435600254600090600160a060020a0390811633909116146107de57610002565b6104b960043560243533600160a060020a031660009081526007602052604081205460ff16151561068b57610002565b6104cb600254600160a060020a031681565b6104cb600354600160a060020a031681565b6104b96004356024355b81810182901015610182565b6104b9600435600254600090600160a060020a0390811633909116146107c457610002565b6104b9600435600160a060020a0381166000908152600560205260409020545b919050565b6104cb600154600160a060020a031681565b6104cb600054600160a060020a031681565b6104b960043560243533600160a060020a03166000908152600560205260408120548290108015906103a55750600082115b156105105733600160a060020a0316600090815260056020526040902054610519908361026a565b6104b9600435600254600090600160a060020a03908116339091161461080a57610002565b6104b96004356024355b60006104e883836102f9565b6104b960015460a060020a900460ff1681565b6104b9600435602435600160a060020a03828116600090815260066020908152604080832093851683529290522054610182565b6104b960043560243533600160a060020a031660009081526007602052604081205460ff1615156106e157610002565b6104b96004356024355b81811115610182565b6104b9600435600160a060020a03811660009081526007602052604090205460ff1661034a565b60408051918252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b15156104f357610002565b50818101610182565b151561050757610002565b50808203610182565b5060005b610182565b33600160a060020a03908116600090815260056020526040808220939093559085168152205461054990836103fc565b600160a060020a038481166000818152600560209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001610514565b5060005b9392505050565b600160a060020a0384811660009081526005602052604080822093909355908616815220546105e3908361026a565b600160a060020a0385811660009081526005602090815260408083209490945560068152838220339093168252919091522054610620908361026a565b600160a060020a038581166000818152600660209081526040808320338616845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060016105ad565b61069a826004600050546103fc565b600455600160a060020a0383166000908152600560205260409020546106c090836103fc565b600160a060020a038416600090815260056020526040902055506001610182565b600354604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015260248201869052915192909116916340c10f199160448181019260209290919082900301816000876161da5a03f115610002575050604051511515905061076457506000610182565b506001610182565b6001805460a060020a900460ff1614156107885750600061034a565b5060028054600160a060020a031916821790556001805474ff0000000000000000000000000000000000000000191660a060020a17815561034a565b5060028054600160a060020a03191682179055600161034a565b50600160a060020a0381166000908152600760205260409020805460ff1916600190811790915561034a565b50600160a060020a0381166000908152600760205260409020805460ff19169055600161034a565b600354604080517f13af4035000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152915192909116916313af40359160248181019260209290919082900301816000876161da5a03f115610002575050604051511590506108bf575060008054600160a060020a0319168217905560016108c3565b5060005b61034a56

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

000000000000000000000000f5666684be76ec85634bdf1bb92d0ed0c62085f9

-----Decoded View---------------

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f5666684be76ec85634bdf1bb92d0ed0c62085f9


Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.