func (prophecy Prophecy) SerializeForDB() (DBProphecy, error) {
	claimValidators, err := json.Marshal(prophecy.ClaimValidators)
	if err != nil {
		return DBProphecy{}, err
	}
	validatorClaims, err := json.Marshal(prophecy.ValidatorClaims)
	if err != nil {
		return DBProphecy{}, err
	}
	return DBProphecy{
		ID:              prophecy.ID,
		Status:          prophecy.Status,
		ClaimValidators: claimValidators,
		ValidatorClaims: validatorClaims,
	}, nil
}
SerializeForDB serializes a prophecy into a DBProphecy
TODO: Using gob here may mean that different tendermint clients in different languages may serialize/store
prophecies in their db in different ways - check with @codereviewer if this is ok or if it introduces a risk of creating forks.
Or maybe using a slower json serializer or Amino:JSON would be ok
package types
import (
	"encoding/json"
	"github.com/cosmos/cosmos-sdk/x/staking"
	sdk "github.com/cosmos/cosmos-sdk/types"
)
const PendingStatusText = "pending"
const SuccessStatusText = "success"
const FailedStatusText = "failed"
type Prophecy struct {
	ID              string                      `json:"id"`
	Status          Status                      `json:"status"`
	ClaimValidators map[string][]sdk.ValAddress `json:"claim_validators"`  
	ValidatorClaims map[string]string           `json:"validator_claims"`  
}
type DBProphecy struct {
	ID              string `json:"id"`
	Status          Status `json:"status"`
	ClaimValidators []byte `json:"claim_validators"`  
	ValidatorClaims []byte `json:"validator_claims"`  
}