public Result <Equivocation> ImportEquivocation(EquivocationDto equivocationDto, long blockId)
        {
            using (var uow = NewUnitOfWork(UnitOfWorkMode.Writable))
            {
                var equivocationRepo = NewRepository <Equivocation>(uow);

                if (equivocationRepo.Exists(e => e.EquivocationProofHash == equivocationDto.EquivocationProofHash))
                {
                    return(Result.Failure <Equivocation>(
                               "Equivocation {0} already exists.".F(equivocationDto.EquivocationProofHash)));
                }

                var equivocation =
                    new Equivocation
                {
                    EquivocationProofHash = equivocationDto.EquivocationProofHash,
                    BlockNumber           = equivocationDto.BlockNumber,
                    ConsensusRound        = equivocationDto.ConsensusRound,
                    ConsensusStep         = equivocationDto.ConsensusStep,
                    EquivocationValue1    = equivocationDto.EquivocationValue1,
                    EquivocationValue2    = equivocationDto.EquivocationValue2,
                    Signature1            = equivocationDto.Signature1,
                    Signature2            = equivocationDto.Signature2,
                    BlockId = blockId
                };

                equivocationRepo.Insert(equivocation);
                uow.Commit();

                return(Result.Success(equivocation));
            }
        }
 public static EquivocationInfoDto FromDomainModel(Equivocation equivocation)
 {
     return(new EquivocationInfoDto
     {
         EquivocationProofHash = equivocation.EquivocationProofHash,
         BlockNumber = equivocation.BlockNumber,
         ConsensusRound = equivocation.ConsensusRound,
         ConsensusStep = equivocation.ConsensusStep,
         EquivocationValue1 = equivocation.EquivocationValue1,
         EquivocationValue2 = equivocation.EquivocationValue2,
         Signature1 = equivocation.Signature1,
         Signature2 = equivocation.Signature2
     });
 }