contract PledgedTokens { MinimeToken } contract LiquidPledgingInterface { function deposit(uint64 user) payable; function withdraw(uint64 user, uint64 idNote, uint amount); function delegate(uint64 user, uint64 idNote, uint64 purpuse, uint amout); function undelegate(uint64 user, uint64 idNote, uint amount); function propose(uint user, uint64 idNote, uint64 recipient, uint amount); function unPropose(uint user, uint64 idNote, uint amount); function transfer(uint64 user, uint64 idNote, uint64 recipient, uint amount); } contract Project { struct TokenOwnership { address token; uint purchaseBlock; uint amount; bytes32 ref; } Minime2Token public projectToken; mapping(uint => Minime2Token) public pledgedTokens; TokenOwnership[] public ownerships; function pledge(address investor, uint amount, uint precommit); function unpledge(address investor, uint amount); function invest(address investor, uint amount); function unInvest(address investor, uint amount); function pay(address dest, uint amount, uint block) onlyProjectManager; function receive(uint amount); function payDividends(uint token, uint amount, uint payBlock); }