ETH Price: $3,405.74 (+2.11%)

Contract

0xEcA356E1a043f3591985AC1316b2Cb215ee2e70a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw55305272018-04-30 5:51:552454 days ago1525067515IN
0xEcA356E1...15ee2e70a
0 ETH0.0002983810
Distribute52913832018-03-20 21:11:312494 days ago1521580291IN
0xEcA356E1...15ee2e70a
0 ETH0.000279285
Distribute52911842018-03-20 20:26:112494 days ago1521577571IN
0xEcA356E1...15ee2e70a
0 ETH0.000279285
Distribute52911822018-03-20 20:25:432494 days ago1521577543IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52911732018-03-20 20:24:142494 days ago1521577454IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904952018-03-20 17:48:362494 days ago1521568116IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904892018-03-20 17:47:152494 days ago1521568035IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904872018-03-20 17:46:462494 days ago1521568006IN
0xEcA356E1...15ee2e70a
0 ETH0.000404925
Distribute52904852018-03-20 17:46:382494 days ago1521567998IN
0xEcA356E1...15ee2e70a
0 ETH0.000404925
Distribute52904812018-03-20 17:46:082494 days ago1521567968IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904792018-03-20 17:45:392494 days ago1521567939IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904762018-03-20 17:45:172494 days ago1521567917IN
0xEcA356E1...15ee2e70a
0 ETH0.000404925
Distribute52904732018-03-20 17:44:592494 days ago1521567899IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904702018-03-20 17:44:392494 days ago1521567879IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904602018-03-20 17:43:092494 days ago1521567789IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904582018-03-20 17:42:002494 days ago1521567720IN
0xEcA356E1...15ee2e70a
0 ETH0.00027965
Distribute52904562018-03-20 17:40:572494 days ago1521567657IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904542018-03-20 17:40:362494 days ago1521567636IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904492018-03-20 17:39:222494 days ago1521567562IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904422018-03-20 17:37:592494 days ago1521567479IN
0xEcA356E1...15ee2e70a
0 ETH0.000404925
Distribute52904332018-03-20 17:36:392494 days ago1521567399IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904302018-03-20 17:36:102494 days ago1521567370IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904202018-03-20 17:34:562494 days ago1521567296IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904182018-03-20 17:34:242494 days ago1521567264IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
Distribute52904112018-03-20 17:32:582494 days ago1521567178IN
0xEcA356E1...15ee2e70a
0 ETH0.000279925
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
55305272018-04-30 5:51:552454 days ago1525067515
0xEcA356E1...15ee2e70a
0.18406612 ETH
52911822018-03-20 20:25:432494 days ago1521577543
0xEcA356E1...15ee2e70a
0.00301802 ETH
52911732018-03-20 20:24:142494 days ago1521577454
0xEcA356E1...15ee2e70a
0.00027535 ETH
52904952018-03-20 17:48:362494 days ago1521568116
0xEcA356E1...15ee2e70a
0.00069639 ETH
52904892018-03-20 17:47:152494 days ago1521568035
0xEcA356E1...15ee2e70a
0.00118298 ETH
52904872018-03-20 17:46:462494 days ago1521568006
0xEcA356E1...15ee2e70a
0.07167223 ETH
52904852018-03-20 17:46:382494 days ago1521567998
0xEcA356E1...15ee2e70a
0.00018965 ETH
52904812018-03-20 17:46:082494 days ago1521567968
0xEcA356E1...15ee2e70a
0.00394994 ETH
52904792018-03-20 17:45:392494 days ago1521567939
0xEcA356E1...15ee2e70a
0.15004169 ETH
52904762018-03-20 17:45:172494 days ago1521567917
0xEcA356E1...15ee2e70a
0.00014816 ETH
52904732018-03-20 17:44:592494 days ago1521567899
0xEcA356E1...15ee2e70a
0.0251887 ETH
52904702018-03-20 17:44:392494 days ago1521567879
0xEcA356E1...15ee2e70a
0.00032893 ETH
52904602018-03-20 17:43:092494 days ago1521567789
0xEcA356E1...15ee2e70a
0.00145561 ETH
52904582018-03-20 17:42:002494 days ago1521567720
0xEcA356E1...15ee2e70a
0.00090679 ETH
52904562018-03-20 17:40:572494 days ago1521567657
0xEcA356E1...15ee2e70a
0.02087995 ETH
52904542018-03-20 17:40:362494 days ago1521567636
0xEcA356E1...15ee2e70a
0.00434253 ETH
52904492018-03-20 17:39:222494 days ago1521567562
0xEcA356E1...15ee2e70a
0.03300609 ETH
52904422018-03-20 17:37:592494 days ago1521567479
0xEcA356E1...15ee2e70a
0.00592616 ETH
52904332018-03-20 17:36:392494 days ago1521567399
0xEcA356E1...15ee2e70a
0.03346203 ETH
52904302018-03-20 17:36:102494 days ago1521567370
0xEcA356E1...15ee2e70a
0.00365372 ETH
52904202018-03-20 17:34:562494 days ago1521567296
0xEcA356E1...15ee2e70a
0.00182686 ETH
52904182018-03-20 17:34:242494 days ago1521567264
0xEcA356E1...15ee2e70a
0.00295982 ETH
52904112018-03-20 17:32:582494 days ago1521567178
0xEcA356E1...15ee2e70a
0.00410546 ETH
52904092018-03-20 17:32:432494 days ago1521567163
0xEcA356E1...15ee2e70a
0.00444506 ETH
52904062018-03-20 17:32:262494 days ago1521567146
0xEcA356E1...15ee2e70a
0.00379318 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
Distributor

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.4.18;


library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        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 Owned {
    address public owner;

    function Owned() public {
        owner = msg.sender;
    }

    function withdraw() public onlyOwner {
        owner.transfer(this.balance);
    }

    modifier onlyOwner() {
        require(owner == msg.sender);
        _;
    }
}

contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Distributor is Owned {

    using SafeMath for uint256;

    ERC20 public token;
    uint256 public eligibleTokens;
    mapping(address => uint256) public distributed;
    uint256 public totalDistributionAmountInWei;

    event Dividend(address holder, uint256 amountDistributed);

    function Distributor(address _targetToken, uint256 _eligibleTokens) public payable {
        require(msg.value > 0);

        token = ERC20(_targetToken);
        assert(_eligibleTokens <= token.totalSupply());
        eligibleTokens = _eligibleTokens;
        totalDistributionAmountInWei = msg.value;
    }

    function percent(uint numerator, uint denominator, uint precision) internal pure returns (uint quotient) {
        uint _numerator = numerator * 10 ** (precision + 1);
        quotient = ((_numerator / denominator) + 5) / 10;
    }

    function distribute(address holder) public onlyOwner returns (uint256 amountDistributed) {
        require(distributed[holder] == 0);

        uint256 holderBalance = token.balanceOf(holder);
        uint256 portion = percent(holderBalance, eligibleTokens, uint256(18));
        amountDistributed = totalDistributionAmountInWei.mul(portion).div(1000000000000000000);

        distributed[holder] = amountDistributed;
        Dividend(holder, amountDistributed);
        holder.transfer(amountDistributed);
    }


}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"eligibleTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"distributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"holder","type":"address"}],"name":"distribute","outputs":[{"name":"amountDistributed","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDistributionAmountInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_targetToken","type":"address"},{"name":"_eligibleTokens","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"holder","type":"address"},{"indexed":false,"name":"amountDistributed","type":"uint256"}],"name":"Dividend","type":"event"}]

Deployed Bytecode

0x606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063273a5729146100885780633ccfd60b146100b1578063578bcf35146100c657806363453ae1146101135780638da5cb5b14610160578063a60c8043146101b5578063fc0c546a146101de575b600080fd5b341561009357600080fd5b61009b610233565b6040518082815260200191505060405180910390f35b34156100bc57600080fd5b6100c4610239565b005b34156100d157600080fd5b6100fd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061030e565b6040518082815260200191505060405180910390f35b341561011e57600080fd5b61014a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610326565b6040518082815260200191505060405180910390f35b341561016b57600080fd5b6101736105ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101c057600080fd5b6101c8610612565b6040518082815260200191505060405180910390f35b34156101e957600080fd5b6101f1610618565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60025481565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561029457600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561030c57600080fd5b565b60036020528060005260406000206000915090505481565b60008060003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561038657600080fd5b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415156103d457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561049957600080fd5b6102c65a03f115156104aa57600080fd5b5050506040518051905091506104c482600254601261063e565b90506104f5670de0b6b3a76400006104e78360045461067190919063ffffffff16565b6106ac90919063ffffffff16565b925082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507ff6a7e669306918b018d1eb595a21c8180bdecc0c90847daef23f9cf5fbd4902a8484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a18373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156105e657600080fd5b5050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060018301600a0a85029050600a6005858381151561065b57fe5b040181151561066657fe5b049150509392505050565b600080600084141561068657600091506106a5565b828402905082848281151561069757fe5b041415156106a157fe5b8091505b5092915050565b60008082848115156106ba57fe5b04905080915050929150505600a165627a7a723058202ca56dee23845d0849ecc45f95607ccc24f5e7c21b30bb0a290571b77b39be1a0029

Swarm Source

bzzr://2ca56dee23845d0849ecc45f95607ccc24f5e7c21b30bb0a290571b77b39be1a

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.