ETH Price: $2,701.60 (+2.02%)

Contract

0xc91CA445AcdAe9EebAf003A64088cA29A694C3ae
 

Overview

ETH Balance

0.034617300113972277 ETH

Eth Value

$93.52 (@ $2,701.60/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw63458132018-09-17 2:26:082339 days ago1537151168IN
0xc91CA445...9A694C3ae
0 ETH0.000099824.28125
Withdraw63407032018-09-16 6:13:172340 days ago1537078397IN
0xc91CA445...9A694C3ae
0 ETH0.000069943
Withdraw63406742018-09-16 6:07:512340 days ago1537078071IN
0xc91CA445...9A694C3ae
0 ETH0.000093264
Withdraw62998632018-09-09 11:46:092346 days ago1536493569IN
0xc91CA445...9A694C3ae
0 ETH0.000093264
Withdraw62951912018-09-08 16:31:322347 days ago1536424292IN
0xc91CA445...9A694C3ae
0 ETH0.000100254.3

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
203909462024-07-26 13:12:59199 days ago1721999579
0xc91CA445...9A694C3ae
0.00083707 ETH
203874822024-07-26 1:37:47200 days ago1721957867
0xc91CA445...9A694C3ae
0.004 ETH
203295032024-07-17 23:22:23208 days ago1721258543
0xc91CA445...9A694C3ae
0.00079025 ETH
203237722024-07-17 4:11:11209 days ago1721189471
0xc91CA445...9A694C3ae
0.004 ETH
202691792024-07-09 13:17:59216 days ago1720531079
0xc91CA445...9A694C3ae
0.00063418 ETH
202595582024-07-08 4:58:35218 days ago1720414715
0xc91CA445...9A694C3ae
0.004 ETH
89046482019-11-09 21:33:591920 days ago1573335239
0xc91CA445...9A694C3ae
0.00013675 ETH
89046462019-11-09 21:33:031920 days ago1573335183
0xc91CA445...9A694C3ae
0.000003 ETH
73559322019-03-12 18:36:032162 days ago1552415763
0xc91CA445...9A694C3ae
0.00090819 ETH
73524992019-03-12 5:41:252163 days ago1552369285
0xc91CA445...9A694C3ae
0.004 ETH
65064942018-10-13 9:15:292313 days ago1539422129
0xc91CA445...9A694C3ae
0.0000546 ETH
63532252018-09-18 7:45:122338 days ago1537256712
0xc91CA445...9A694C3ae
0.000033 ETH
63532222018-09-18 7:44:212338 days ago1537256661
0xc91CA445...9A694C3ae
0.000033 ETH
63532192018-09-18 7:43:412338 days ago1537256621
0xc91CA445...9A694C3ae
0.000033 ETH
63532172018-09-18 7:43:272338 days ago1537256607
0xc91CA445...9A694C3ae
0.000033 ETH
63479332018-09-17 10:59:582338 days ago1537181998
0xc91CA445...9A694C3ae
0.00028208 ETH
63475432018-09-17 9:21:452339 days ago1537176105
0xc91CA445...9A694C3ae
0.000003 ETH
63473132018-09-17 8:27:532339 days ago1537172873
0xc91CA445...9A694C3ae
0.00093779 ETH
63467682018-09-17 6:24:412339 days ago1537165481
0xc91CA445...9A694C3ae
0.00008 ETH
63467502018-09-17 6:20:342339 days ago1537165234
0xc91CA445...9A694C3ae
0.00308599 ETH
63467442018-09-17 6:19:052339 days ago1537165145
0xc91CA445...9A694C3ae
0.0000063 ETH
63467412018-09-17 6:17:302339 days ago1537165050
0xc91CA445...9A694C3ae
0.0000063 ETH
63467392018-09-17 6:16:122339 days ago1537164972
0xc91CA445...9A694C3ae
0.0000063 ETH
63467372018-09-17 6:15:542339 days ago1537164954
0xc91CA445...9A694C3ae
0.0000063 ETH
63467352018-09-17 6:14:272339 days ago1537164867
0xc91CA445...9A694C3ae
0.0000063 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Foundation

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.24;

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

    function div(uint256 a, uint256 b) internal pure returns (uint256 c) {
        return a / b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath sub failed");
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        require(c >= a, "SafeMath add failed");
        return c;
    }
}

contract Ownable {
    address public owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "You are not owner.");
        _;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0), "Invalid address.");

        owner = _newOwner;

        emit OwnershipTransferred(owner, _newOwner);
    }
}

contract Foundation is Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) public depositOf;

    struct Share {
        address member;
        uint256 amount;
    }
    Share[] private shares;

    event Deposited(address indexed member, uint256 amount);
    event Withdrawn(address indexed member, uint256 amount);

    constructor() public {
        shares.push(Share(address(0), 0));

        shares.push(Share(0x05dEbE8428CAe653eBA92a8A887CCC73C7147bB8, 60));
        shares.push(Share(0xF53e5f0Af634490D33faf1133DE452cd9fF987e1, 20));
        shares.push(Share(0x34D26e1325352d7B3F91DF22ae97894B0C5343b7, 20));
    }

    function() public payable {
        deposit();
    }

    function deposit() public payable {
        uint256 amount = msg.value;
        require(amount > 0, "Deposit failed - zero deposits not allowed");

        for (uint256 i = 1; i < shares.length; i++) {
            if (shares[i].amount > 0) {
                depositOf[shares[i].member] = depositOf[shares[i].member].add(amount.mul(shares[i].amount).div(100));
            }
        }

        emit Deposited(msg.sender, amount);
    }

    function withdraw(address _who) public {
        uint256 amount = depositOf[_who];
        require(amount > 0 && amount <= address(this).balance, "Insufficient amount.");

        depositOf[_who] = depositOf[_who].sub(amount);

        _who.transfer(amount);

        emit Withdrawn(_who, amount);
    }

    function getShares(address _who) public view returns(uint256 amount) {
        for (uint256 i = 1; i < shares.length; i++) {
            if (shares[i].member == _who) {
                amount = shares[i].amount;
                break;
            }
        }
        return amount;
    }

    function setShares(address _who, uint256 _amount) public onlyOwner {
        uint256 index = 0;
        uint256 total = 100;
        for (uint256 i = 1; i < shares.length; i++) {
            if (shares[i].member == _who) {
                index = i;
            } else if (shares[i].amount > 0) {
                total = total.sub(shares[i].amount);
            }
        }
        require(_amount <= total, "Insufficient shares.");

        if (index > 0) {
            shares[index].amount = _amount;
        } else {
            shares.push(Share(_who, _amount));
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"depositOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_amount","type":"uint256"}],"name":"setShares","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"getShares","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"member","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"member","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

608060405234801561001057600080fd5b5060008054600160a060020a0319908116331782556040805180820182528381526020808201858152600280546001818101835582895294519082027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace8181018054600160a060020a03948516908b1617905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf91820155865180880188527305debe8428cae653eba92a8a887ccc73c7147bb88152603c81870190815284548089018655858c5291519185028087018054938616938c169390931790925551908201558651808801885273f53e5f0af634490d33faf1133de452cd9ff987e1815260148187018181528554808a018755868d5292519286028088018054948716948d1694909417909355519183019190915587518089019098527334d26e1325352d7b3f91df22ae97894b0c5343b788529487019485528254958601835597829052945193029081018054939094169290941691909117909155519101556109fb806101a06000396000f3006080604052600436106100825763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166323e3fbd5811461008c57806351cff8d9146100bf5780638bccbf62146100e05780638da5cb5b14610104578063d0e30db014610082578063f04da65b14610135578063f2fde38b14610156575b61008a610177565b005b34801561009857600080fd5b506100ad600160a060020a036004351661033e565b60408051918252519081900360200190f35b3480156100cb57600080fd5b5061008a600160a060020a0360043516610350565b3480156100ec57600080fd5b5061008a600160a060020a0360043516602435610483565b34801561011057600080fd5b506101196106d9565b60408051600160a060020a039092168252519081900360200190f35b34801561014157600080fd5b506100ad600160a060020a03600435166106e8565b34801561016257600080fd5b5061008a600160a060020a0360043516610765565b3460008082116101f7576040805160e560020a62461bcd02815260206004820152602a60248201527f4465706f736974206661696c6564202d207a65726f206465706f73697473206e60448201527f6f7420616c6c6f77656400000000000000000000000000000000000000000000606482015290519081900360840190fd5b5060015b60025481101561030457600060028281548110151561021657fe5b90600052602060002090600202016001015411156102fc576102be610275606461026960028581548110151561024857fe5b9060005260206000209060020201600101548661088290919063ffffffff16565b9063ffffffff6108ff16565b6001600060028581548110151561028857fe5b60009182526020808320600290920290910154600160a060020a031683528201929092526040019020549063ffffffff61091416565b600160006002848154811015156102d157fe5b60009182526020808320600290920290910154600160a060020a031683528201929092526040019020555b6001016101fb565b60408051838152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a25050565b60016020526000908152604090205481565b600160a060020a0381166000908152600160205260408120549081118015610379575030318111155b15156103cf576040805160e560020a62461bcd02815260206004820152601460248201527f496e73756666696369656e7420616d6f756e742e000000000000000000000000604482015290519081900360640190fd5b600160a060020a0382166000908152600160205260409020546103f8908263ffffffff61096f16565b600160a060020a038316600081815260016020526040808220939093559151909183156108fc02918491818181858888f1935050505015801561043f573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6000805481908190600160a060020a031633146104ea576040805160e560020a62461bcd02815260206004820152601260248201527f596f7520617265206e6f74206f776e65722e0000000000000000000000000000604482015290519081900360640190fd5b50600091506064905060015b6002548110156105a85784600160a060020a031660028281548110151561051957fe5b6000918252602090912060029091020154600160a060020a03161415610541578092506105a0565b600060028281548110151561055257fe5b90600052602060002090600202016001015411156105a05761059d60028281548110151561057c57fe5b9060005260206000209060020201600101548361096f90919063ffffffff16565b91505b6001016104f6565b81841115610600576040805160e560020a62461bcd02815260206004820152601460248201527f496e73756666696369656e74207368617265732e000000000000000000000000604482015290519081900360640190fd5b6000831115610633578360028481548110151561061957fe5b9060005260206000209060020201600101819055506106d2565b60408051808201909152600160a060020a0386811682526020820186815260028054600181018255600082905293517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace94909102938401805473ffffffffffffffffffffffffffffffffffffffff19169190931617909155517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf909101555b5050505050565b600054600160a060020a031681565b600060015b60025481101561075f5782600160a060020a031660028281548110151561071057fe5b6000918252602090912060029091020154600160a060020a0316141561075757600280548290811061073e57fe5b906000526020600020906002020160010154915061075f565b6001016106ed565b50919050565b600054600160a060020a031633146107c7576040805160e560020a62461bcd02815260206004820152601260248201527f596f7520617265206e6f74206f776e65722e0000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515610827576040805160e560020a62461bcd02815260206004820152601060248201527f496e76616c696420616464726573732e00000000000000000000000000000000604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691821780845560405192939116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000821515610893575060006108f9565b508181028183828115156108a357fe5b04146108f9576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d617468206d756c206661696c656400000000000000000000000000604482015290519081900360640190fd5b92915050565b6000818381151561090c57fe5b049392505050565b818101828110156108f9576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820616464206661696c656400000000000000000000000000604482015290519081900360640190fd5b6000828211156109c9576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820737562206661696c656400000000000000000000000000604482015290519081900360640190fd5b509003905600a165627a7a723058203be0ad149a0c9e8d95193c98ef158201a8c5089c0af4890b9157967bc015527c0029

Deployed Bytecode

0x6080604052600436106100825763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166323e3fbd5811461008c57806351cff8d9146100bf5780638bccbf62146100e05780638da5cb5b14610104578063d0e30db014610082578063f04da65b14610135578063f2fde38b14610156575b61008a610177565b005b34801561009857600080fd5b506100ad600160a060020a036004351661033e565b60408051918252519081900360200190f35b3480156100cb57600080fd5b5061008a600160a060020a0360043516610350565b3480156100ec57600080fd5b5061008a600160a060020a0360043516602435610483565b34801561011057600080fd5b506101196106d9565b60408051600160a060020a039092168252519081900360200190f35b34801561014157600080fd5b506100ad600160a060020a03600435166106e8565b34801561016257600080fd5b5061008a600160a060020a0360043516610765565b3460008082116101f7576040805160e560020a62461bcd02815260206004820152602a60248201527f4465706f736974206661696c6564202d207a65726f206465706f73697473206e60448201527f6f7420616c6c6f77656400000000000000000000000000000000000000000000606482015290519081900360840190fd5b5060015b60025481101561030457600060028281548110151561021657fe5b90600052602060002090600202016001015411156102fc576102be610275606461026960028581548110151561024857fe5b9060005260206000209060020201600101548661088290919063ffffffff16565b9063ffffffff6108ff16565b6001600060028581548110151561028857fe5b60009182526020808320600290920290910154600160a060020a031683528201929092526040019020549063ffffffff61091416565b600160006002848154811015156102d157fe5b60009182526020808320600290920290910154600160a060020a031683528201929092526040019020555b6001016101fb565b60408051838152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a25050565b60016020526000908152604090205481565b600160a060020a0381166000908152600160205260408120549081118015610379575030318111155b15156103cf576040805160e560020a62461bcd02815260206004820152601460248201527f496e73756666696369656e7420616d6f756e742e000000000000000000000000604482015290519081900360640190fd5b600160a060020a0382166000908152600160205260409020546103f8908263ffffffff61096f16565b600160a060020a038316600081815260016020526040808220939093559151909183156108fc02918491818181858888f1935050505015801561043f573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6000805481908190600160a060020a031633146104ea576040805160e560020a62461bcd02815260206004820152601260248201527f596f7520617265206e6f74206f776e65722e0000000000000000000000000000604482015290519081900360640190fd5b50600091506064905060015b6002548110156105a85784600160a060020a031660028281548110151561051957fe5b6000918252602090912060029091020154600160a060020a03161415610541578092506105a0565b600060028281548110151561055257fe5b90600052602060002090600202016001015411156105a05761059d60028281548110151561057c57fe5b9060005260206000209060020201600101548361096f90919063ffffffff16565b91505b6001016104f6565b81841115610600576040805160e560020a62461bcd02815260206004820152601460248201527f496e73756666696369656e74207368617265732e000000000000000000000000604482015290519081900360640190fd5b6000831115610633578360028481548110151561061957fe5b9060005260206000209060020201600101819055506106d2565b60408051808201909152600160a060020a0386811682526020820186815260028054600181018255600082905293517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace94909102938401805473ffffffffffffffffffffffffffffffffffffffff19169190931617909155517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf909101555b5050505050565b600054600160a060020a031681565b600060015b60025481101561075f5782600160a060020a031660028281548110151561071057fe5b6000918252602090912060029091020154600160a060020a0316141561075757600280548290811061073e57fe5b906000526020600020906002020160010154915061075f565b6001016106ed565b50919050565b600054600160a060020a031633146107c7576040805160e560020a62461bcd02815260206004820152601260248201527f596f7520617265206e6f74206f776e65722e0000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515610827576040805160e560020a62461bcd02815260206004820152601060248201527f496e76616c696420616464726573732e00000000000000000000000000000000604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691821780845560405192939116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000821515610893575060006108f9565b508181028183828115156108a357fe5b04146108f9576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d617468206d756c206661696c656400000000000000000000000000604482015290519081900360640190fd5b92915050565b6000818381151561090c57fe5b049392505050565b818101828110156108f9576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820616464206661696c656400000000000000000000000000604482015290519081900360640190fd5b6000828211156109c9576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820737562206661696c656400000000000000000000000000604482015290519081900360640190fd5b509003905600a165627a7a723058203be0ad149a0c9e8d95193c98ef158201a8c5089c0af4890b9157967bc015527c0029

Swarm Source

bzzr://3be0ad149a0c9e8d95193c98ef158201a8c5089c0af4890b9157967bc015527c

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.