Exchange Rate Smart Contracts

Features

Oraclize Usage
Uses Oraclize to get off-chain exchange rates through API queries to cryptocompare.
Self Executing Smart Contract Code
Oraclize functions are handled recursively, allowing for the owner to set and forget. Calls to update rates will be made automatically at the configured intervals and will keep running as long as the contract's ether balance is enough.
Configurable
Allows for polling intervals, query urls, gas payments, to be configured. This allows for more long lived smart contracts preventing the need for redeployments if, for example an API goes down and is not longer valid.
Event Log
Events emitted for every new rate fetched. Allowing for a cost effective log of previous rates.

Languages & Frameworks

Javascript
Used for integration tests
Truffle
Used for tests and deployment
OpenZeppelin
Used as a basis for secure smart contracts

Getting Off-Chain Data on Chain

Oraclize offers some really neat functionality which opens up whole new possibilities. This set of smart contracts allows one to retrieve any number of exchange rates and it can be done automatically through Oraclize's recursive functionality.