Contract Overview
ETH Balance: 0 Ether
No Of Transactions: 8 txns
  Latest 8 txns

TxHash Age From To Value [TxFee]
0x6e24bbfdf8b83c8f232e543e9aad6ebd4235d60bb0a5a7968e1fdd1663c1246e10 days 18 hrs ago0x29fdaf602cb2ceb38ad881bed5dbf0b7b497f29f  IN   0x337058c87a6965cceee91767608212577a85950d0.034495843250888 Ether0.0058732
0xf6249dfaf9468d880654f33e72e4ec666b048e512a95acaea74cbe64550d28d411 days 11 hrs ago0xe8b7328548fd93873b2d2d44795abc94920a4a1e  IN   0x337058c87a6965cceee91767608212577a85950d0.034495843250888 Ether0.0043732
0xf94d04ce05d192f4b236b89dd192da8a35d9af12e71710f19b6393ffde49356311 days 11 hrs ago0xe8b7328548fd93873b2d2d44795abc94920a4a1e  IN   0x337058c87a6965cceee91767608212577a85950d0.034495843250888 Ether0.0058732
0x5fcc9b58082658d6381e8a6eab9f6aa65cf639fb54ce15be699ff2c14a297f0f11 days 15 hrs ago0x4b3896a34408b68d3251e650e9b10a9bf94ab20d  IN   0x337058c87a6965cceee91767608212577a85950d0.034495843250888 Ether0.0058732
0x29e935550696f584885ddce4f59c19a286e5d9a9668096d69bf6bc12690c661a11 days 17 hrs ago0x096cfa58e38e61d2e4826794ec3994b3411a7f2b  IN   0x337058c87a6965cceee91767608212577a85950d0.034495843250888 Ether0.00117464
0x2d0d38159ec23a8c36d0ed6c7ac2eb77d1b806d291bd18a47ad0c2148755bebe13 days 11 hrs ago0x903437a78bbcb1e41f86f137cd07788ad6f2581e  IN   0x337058c87a6965cceee91767608212577a85950d0.034495843250888 Ether0.00221196
0x5c64a56b20f89cdd671591d2aebb4a4369769088739e016cb851e371f9b0a05713 days 12 hrs ago0xd3068e785896c372650cea56c23b179763e8a785  IN   0x337058c87a6965cceee91767608212577a85950d0 Ether0.0008743
0xa614dbcab5fa838c76a7046edf28d22709b30fc7bf385cb1ddf23b3eae9007a513 days 12 hrs ago0xd3068e785896c372650cea56c23b179763e8a785  IN    Contract Creation0 Ether0.03600417
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: ACTVote
Compiler Version: v0.4.17+commit.bdeb9e52
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.13;

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

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

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

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

contract Ownable {
  address public owner;


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner {
    require(newOwner != address(0));      
    owner = newOwner;
  }

}

contract ACTVote is Ownable{
    
    using SafeMath for uint256;
    
    address private quorum;
    
    address private proposalContract;
    
    // sum of all funds that were used to buy ACT_VOTE tokens
    uint256 private fundsGiven;
    
    // number of votes per ether
    uint private ethPrice;
    uint private votePrice;
    
    mapping(address => uint256) private balances;
    
    event ACTVotePurchase(address indexed buyer,uint256 amount, uint256 votes); 
    event ACTVoteTransfer(address indexed from,address indexed to,uint256 votes);
    
    event ACTVoteSpent(address indexed voter,uint256 votes);
    event ACTVoteReturned(address indexed voter,uint256 votes);
    
    function ACTVote(){
        owner = msg.sender;
        quorum = 0x5c0FEd754fD286d362c155d8762986Bf657c24D8;
        ethPrice = 289.89 * 100;
        votePrice = 1 ether / ethPrice;
    }


    /**
     * Used for transfering votes from one account to another
     * @param _to Recepient adress
     * @param _value Number of votes to be transferred
     * @return bool True if transferred successfully
     */
    function transfer(address _to, uint256 _value)returns (bool){
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        ACTVoteTransfer(msg.sender, _to, _value);
        return true;
    }

    /**
     * Receive ethers and load ACT Votes to the account of sender
     */
    function buyVotes() external payable{
        uint fromMsg = msg.value.div(votePrice);
        uint votes = fromMsg.div(100);
        balances[msg.sender] = balances[msg.sender].add(votes); 
        fundsGiven = fundsGiven.add(msg.value);
        if(quorum.send(msg.value)){
            ACTVotePurchase(msg.sender,msg.value,votes);
        }else{
            revert();
        }
    }
    
    /**
     * Return sum of funds that were used to buy ACT_VOTE tokens
     * @return Funds
     */
    function funds() constant external returns (uint256){
        return fundsGiven;
    }
    
    /**
     * Return ACT_VOTE price
     * @return price
     */
    function getEthPrice() constant external returns (uint256){
        return ethPrice;
    }
    
    /**
     * Used to update ACT_VOTE exchange rate with respect to ethers
     * @param _value new exchange rate should be with 2 decimals and multiplied by 100
     * @return true if successful
     */
    function setEthPrice(uint256 _value)  external onlyOwner  returns (bool){
        ethPrice = _value;
        return true;
    }
    
    /**
     * Returns Address of Quorum Platform Contract
     * @return address
     */
    function quorumAddress() constant external returns (address){
        return quorum;
    }
    
    /**
     * Used to update Address of Quorum Platform Contract in case it is updated
     * @param _newAddress updated contract address 
     * @return true if successful
     */
    function updateQuorumAddress(address _newAddress)  external onlyOwner returns (bool){
        quorum = _newAddress;
        return true;
    }
    
     /**
     * Returns Address of Proposal Platform Contract
     * @return address
     */
    function proposalAddress() constant external returns (address){
        return proposalContract;
    }
    
    /**
     * Used to update Address of Proposal Contract in case it is updated
     * @param _newAddress updated contract address 
     * @return true if successful
     */
    function updateProposalAddress(address _newAddress)  external onlyOwner returns (bool){
        proposalContract = _newAddress;
        return true;
    }
    
    
    /**
     * Return ACT_Vote balance of sender
     * @return amount of ACT_VOTE
     */
    function balanceOf(address _owner) constant external returns (uint256){
        return balances[_owner];
    }

    // Interface function
    function isContract() external returns (bool){
        return true;
    }
    
    function deposit(address _to,uint256 _value) onlyProposalCon external  returns(bool){
        require(_to != 0x00);
        require(_value > 0);
        balances[_to] = balances[_to].add(_value);
        ACTVoteReturned(_to, _value);
        return true;
    }
    
    function withdraw(address _from,uint256 _value) external onlyProposalCon returns(bool){
        require(_from != 0x00);
        require(_value > 0);
        require(balances[_from] >= _value);
        balances[_from] = balances[_from].sub(_value);
        ACTVoteSpent(_from,_value); 
        return true;
    }
    
    modifier onlyProposalCon(){
        require(msg.sender == proposalContract);
        _;
    }
    
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setEthPrice","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"quorumAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposalAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"deposit","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getEthPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buyVotes","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"funds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"updateQuorumAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdraw","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"isContract","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"updateProposalAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"votes","type":"uint256"}],"name":"ACTVotePurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"votes","type":"uint256"}],"name":"ACTVoteTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"voter","type":"address"},{"indexed":false,"name":"votes","type":"uint256"}],"name":"ACTVoteSpent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"voter","type":"address"},{"indexed":false,"name":"votes","type":"uint256"}],"name":"ACTVoteReturned","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735c0fed754fd286d362c155d8762986bf657c24d8600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061713d600481905550600454670de0b6b3a764000081151561010257fe5b04600581905550610f51806101186000396000f300606060405236156100d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680629f9262146100dd57806307fd95481461011857806310c350251461016d57806347e7ef24146101c257806367c9b0171461021c57806370a08231146102455780637928ee51146102925780638da5cb5b1461029c578063a9059cbb146102f1578063c89f2ce41461034b578063e0df546314610374578063f2fde38b146103c5578063f3fef3a3146103fe578063f7ec2f3514610458578063ff82bb0a14610485575b600080fd5b34156100e857600080fd5b6100fe60048080359060200190919050506104d6565b604051808215151515815260200191505060405180910390f35b341561012357600080fd5b61012b610543565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561017857600080fd5b61018061056d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101cd57600080fd5b610202600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610597565b604051808215151515815260200191505060405180910390f35b341561022757600080fd5b61022f610717565b6040518082815260200191505060405180910390f35b341561025057600080fd5b61027c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610721565b6040518082815260200191505060405180910390f35b61029a61076a565b005b34156102a757600080fd5b6102af61090a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102fc57600080fd5b610331600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061092f565b604051808215151515815260200191505060405180910390f35b341561035657600080fd5b61035e610aca565b6040518082815260200191505060405180910390f35b341561037f57600080fd5b6103ab600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ad4565b604051808215151515815260200191505060405180910390f35b34156103d057600080fd5b6103fc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b7b565b005b341561040957600080fd5b61043e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c55565b604051808215151515815260200191505060405180910390f35b341561046357600080fd5b61046b610e23565b604051808215151515815260200191505060405180910390f35b341561049057600080fd5b6104bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e2c565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561053357600080fd5b8160048190555060019050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105f557600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415151561061b57600080fd5b60008211151561062a57600080fd5b61067c82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fb736186736572a85b3ff7f8442e63bf4f3105dc6d00def1c4b23676694241ad7836040518082815260200191505060405180910390a26001905092915050565b6000600454905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008061078260055434610ef190919063ffffffff16565b9150610798606483610ef190919063ffffffff16565b90506107ec81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061084434600354610ed390919063ffffffff16565b600381905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015610901573373ffffffffffffffffffffffffffffffffffffffff167f54daff7cf3b7adf870d98e550b9a0d98bbf8f2c25991e25df19e9f9dea6df3a23483604051808381526020018281526020019250505060405180910390a2610906565b600080fd5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061098382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0c90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a1882600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f03c047a0b1ec798ac991e15b7accd96232516ba10ae4ea4e721d6662d66b7a2e846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b3157600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bd657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610c1257600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb357600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff1614151515610cd957600080fd5b600082111515610ce857600080fd5b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610d3657600080fd5b610d8882600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0c90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0160b399ab5a21301a31a6f8db9d643f2a9a34951fb2a8d3304e48e236a98198836040518082815260200191505060405180910390a26001905092915050565b60006001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e8957600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000808284019050838110151515610ee757fe5b8091505092915050565b6000808284811515610eff57fe5b0490508091505092915050565b6000828211151515610f1a57fe5b8183039050929150505600a165627a7a723058208a5936a3d8524a928ae5f8f3d90447c28ac45b95152e66f33ccb3da5b1b17a360029

   Swarm Source:
bzzr://8a5936a3d8524a928ae5f8f3d90447c28ac45b95152e66f33ccb3da5b1b17a36
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward