code: func ReadBundleRoots(ctx context.Context, store storage.Store, txn storage.Transaction) ([]string, error) {
  
  	value, err := store.Read(ctx, txn, rootsPath)
  	if err != nil {
  		return nil, err
  	}
  
  	sl, ok := value.([]interface{})
  	if !ok {
  		return nil, fmt.Errorf("corrupt manifest roots")
  	}
  
  	roots := make([]string, len(sl))
  
  	for i := range sl {
  		roots[i], ok = sl[i].(string)
  		if !ok {
  			return nil, fmt.Errorf("corrupt manifest root")
  		}
  	}
  
  	return roots, nil
  }
docs: // ReadBundleRoots returns the roots specified in the currently
  // activated bundle. If there is no activated bundle, this function
  // will return storage NotFound error.