func handleSharedOrder(order datatypes.ExternalOrder, received_order bool, shareCostChan chan datatypes.CostInfo, receivedCostChan chan datatypes.CostInfo, shareOrderChan chan datatypes.ExternalOrder) { order.Timestamp = time.Now().Unix() if !(received_order) { shareOrderChan <- order } updateSharedOrders(order) if !(order.Executed_order) { cost := calculateCost(order) shareCostChan <- cost add_order := orderOnAuction(cost, receivedCostChan) if add_order { updatePrivateOrders(order) findNextFloorToGoTo() } } }