func anchorChainToDirBlockInfo(aRecord *anchor.AnchorRecord) (*common.DirBlockInfo, error) { dirBlockInfo := new(common.DirBlockInfo) dirBlockInfo.DBHeight = aRecord.DBHeight dirBlockInfo.BTCTxOffset = aRecord.Bitcoin.Offset dirBlockInfo.BTCBlockHeight = aRecord.Bitcoin.BlockHeight mrBytes, _ := hex.DecodeString(aRecord.KeyMR) dirBlockInfo.DBMerkleRoot, _ = common.NewShaHash(mrBytes) dirBlockInfo.BTCConfirmed = true txSha, _ := wire.NewShaHashFromStr(aRecord.Bitcoin.TXID) dirBlockInfo.BTCTxHash = toHash(txSha) blkSha, _ := wire.NewShaHashFromStr(aRecord.Bitcoin.BlockHash) dirBlockInfo.BTCBlockHash = toHash(blkSha) dblock, err := db.FetchDBlockByHeight(aRecord.DBHeight) if err != nil { fmt.Printf("err in FetchDBlockByHeight: %d\n", aRecord.DBHeight) dirBlockInfo.DBHash = new(common.Hash) } else { dirBlockInfo.Timestamp = int64(dblock.Header.Timestamp * 60) dirBlockInfo.DBHash = dblock.DBHash } fmt.Printf("dirBlockInfo: %s\n", spew.Sdump(dirBlockInfo)) return dirBlockInfo, nil }