Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
In order to allow non-technical users the ability to create MARKET Contracts without understanding how to select an API solution, we want to create a guide deployment that allows a user to use drop down menus to select all needed parameters from a centralized exchanges API.
We have selected to do this with Binance first. Their Rest API docs can be found [here](https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md)
We should use something similar to the Guided Contract Deployer flow and take people through the steps of contract creation, but in this case - we can alter it slightly to make it even more approachable for a non technical user. The goal here is to eliminate almost all manual parameterization.
## Needed inputs from user
1. User selects an underlying pair from a Dropdown. This includes all pairs that trade on binance that are denominated in ETH (e.g SALTETH)
2. User selects the desired statistic from the binance API (last price, 24hr vwap, close price, open price)
3. User selects an expiration date / time
4. User enters a percentage that we use create the `Price Floor` and `Price Cap` from the returned value from the binance API- we should display these to the user, so they could manually alter them.
## Processing user inputs
From these inputs, we should be able to create the following in order to deploy the needed MARKET contract.
- Properly formatted Oraclize.it `URL` type query
- `Price Decimal Places` to format the returned value from binance into an integer
- `Price Floor` in integer format
- `Price Cap` in integer format
- `Price Quantity Multiplier` which is slight more complicated to calculate, but I can help provide an example of how this calculation can be created as long as we know the `Price Decimal Places` and that the base asset is ETH (which we are forcing it to be).
- Name (Format should be PAIR-Binance_YYYY-MM-DD where the YYYY-MM-DD represent the expiration date the user selected)
Once all the needed specifications have been created, we should fill them all into the "Quick Deploy" form and then allow the user to manually edit and deploy.
### Additionally a full test suite is needed for all functionality created for the bounty to be released.