I am writing a smart contract as a fund for me and some friends to invest ETH in, allowing for investment proposals to be submitted and voted on. For example, 10 people each put in between 1 and 10 ether, and I propose to invest 5 ETH into Bitcoin from our fund. My solution to execute this trade if a proposal is approved is to transfer the proposed investment amount to one trusted member who will then invest it into the given destination. However, as you may understand, it would be nice if the smart contract could buy the Bitcoin itself without the need for a trusted member. Is there a way for my contract to exchange ETH for other cryptos?
Currently there is no good solution for this because it involves having a bitcoin wallet. And I would assume you want a multi signature bitcoin wallet, so that is a big no.
But if you want to stick to ERC20 tokens then you can interact with exchange dapps like https://etherdelta.com/