docs: def create_order(self, pair, side, price, quantity, private_key, use_native_token=True, order_type="limit",
                       otc_address=None):
          """
          Function to create an order for the trade pair and details requested.
          Execution of this function is as follows::
  
              create_order(pair="SWTH_NEO", side="buy", price=0.0002, quantity=100, private_key=kp,
                           use_native_token=True, order_type="limit")
  
          The expected return result for this function is as follows::
  
              {
                  'id': '4e6a59fd-d750-4332-aaf0-f2babfa8ad67',
                  'blockchain': 'neo',
                  'contract_hash': 'a195c1549e7da61b8da315765a790ac7e7633b82',
                  'address': 'fea2b883725ef2d194c9060f606cd0a0468a2c59',
                  'side': 'buy',
                  'offer_asset_id': 'c56f33fc6ecfcd0c225c4ab356fee59390af8560be0e930faebe74a6daff7c9b',
                  'want_asset_id': 'ab38352559b8b203bde5fddfa0b07d8b2525e132',
                  'offer_amount': '2000000',
                  'want_amount': '10000000000',
                  'transfer_amount': '0',
                  'priority_gas_amount': '0',
                  'use_native_token': True,
                  'native_fee_transfer_amount': 0,
                  'deposit_txn': None,
                  'created_at': '2018-08-05T10:38:37.714Z',
                  'status': 'pending',
                  'fills': [],
                  'makes': [
                      {
                          'id': 'e30a7fdf-779c-4623-8f92-8a961450d843',
                          'offer_hash': None,
                          'available_amount': None,
                          'offer_asset_id': 'c56f33fc6ecfcd0c225c4ab356fee59390af8560be0e930faebe74a6daff7c9b',
                          'offer_amount': '2000000',
                          'want_asset_id': 'ab38352559b8b203bde5fddfa0b07d8b2525e132',
                          'want_amount': '10000000000',
                          'filled_amount': None,
                          'txn': {
                              'offerHash': 'b45ddfb97ade5e0363d9e707dac9ad1c530448db263e86494225a0025006f968',
                              'hash': '5c4cb1e73b9f2e608b6e768e0654649a4d15e08a7fe63fc536c454fa563a2f0f',
                              'sha256': 'f0b70640627947584a2976edeb055a124ae85594db76453532b893c05618e6ca',
                              'invoke': {
                                  'scriptHash': 'a195c1549e7da61b8da315765a790ac7e7633b82',
                                  'operation': 'makeOffer',
                                  'args': [
                                      '592c8a46a0d06c600f06c994d1f25e7283b8a2fe',
                                      '9b7cffdaa674beae0f930ebe6085af9093e5fe56b34a5c220ccdcf6efc336fc5',
                                      2000000,
                                      '32e125258b7db0a0dffde5bd03b2b859253538ab',
                                      10000000000,
                                      '65333061376664662d373739632d343632332d386639322d386139363134353064383433'
                                  ]
                              },
                              'type': 209,
                              'version': 1,
                              'attributes': [
                                  {
                                      'usage': 32,
                                      'data': '592c8a46a0d06c600f06c994d1f25e7283b8a2fe'
                                  }
                              ],
                              'inputs': [
                                  {
                                      'prevHash': '0fcfd792a9d20a7795255d1d3d3927f5968b9953e80d16ffd222656edf8fedbc',
                                      'prevIndex': 0
                                  }, {
                                      'prevHash': 'c858e4d2af1e1525fa974fb2b1678caca1f81a5056513f922789594939ff713d',
                                      'prevIndex': 35
                                  }
                              ],
                              'outputs': [
                                  {
                                      'assetId': '602c79718b16e442de58778e148d0b1084e3b2dffd5de6b7b16cee7969282de7',
                                      'scriptHash': 'e707714512577b42f9a011f8b870625429f93573',
                                      'value': 1e-08
                                  }
                              ],
                              'scripts': [],
                              'script': '....',
                              'gas': 0
                          },
                          'cancel_txn': None,
                          'price': '0.0002',
                          'status': 'pending',
                          'created_at': '2018-08-05T10:38:37.731Z',
                          'transaction_hash': '5c4cb1e73b9f2e608b6e768e0654649a4d15e08a7fe63fc536c454fa563a2f0f',
                          'trades': []
                      }
                  ]
              }
  
          :param pair: The trading pair this order is being submitted for.
          :type pair: str
          :param side: The side of the trade being submitted i.e. buy or sell
          :type side: str
          :param price: The price target for this trade.
          :type price: float
          :param quantity: The amount of the asset being exchanged in the trade.
          :type quantity: float
          :param private_key: The Private Key (ETH) or KeyPair (NEO) for the wallet being used to sign deposit message.
          :type private_key: KeyPair or str
          :param use_native_token: Flag to indicate whether or not to pay fees with the Switcheo native token.
          :type use_native_token: bool
          :param order_type: The type of order being submitted, currently this can only be a limit order.
          :type order_type: str
          :param otc_address: The address to trade with for Over the Counter exchanges.
          :type otc_address: str
          :return: Dictionary of order details to specify which parts of the trade will be filled (taker) or open (maker)
          """
          if side.lower() not in ["buy", "sell"]:
              raise ValueError("Allowed trade types are buy or sell, you entered {}".format(side.lower()))
          if order_type.lower() not in ["limit", "market", "otc"]:
              raise ValueError("Allowed order type is limit, you entered {}".format(order_type.lower()))
          if order_type.lower() == "otc" and otc_address is None:
              raise ValueError("OTC Address is required when trade type is otc (over the counter).")
          order_params = {
              "blockchain": self.blockchain,
              "pair": pair,
              "side": side,
              "price": '{:.8f}'.format(price) if order_type.lower() != "market" else None,
              "quantity": str(self.blockchain_amount[self.blockchain](quantity)),
              "use_native_tokens": use_native_token,
              "order_type": order_type,
              "timestamp": get_epoch_milliseconds(),
              "contract_hash": self.contract_hash
          }
          api_params = self.sign_create_order_function[self.blockchain](order_params, private_key)
          return self.request.post(path='/orders', json_data=api_params)