OSDN Git Service

fix bug for end to end test
[bytom/bytom.git] / blockchain / txdb / mainchain.go
index df3ac11..826bdb3 100644 (file)
@@ -24,11 +24,10 @@ func DecodeMainchain(data []byte) (map[uint64]*bc.Hash, error) {
 
        mainchain := make(map[uint64]*bc.Hash)
        for i, rawHash := range mainchainList.Hashs {
-               h := &bc.Hash{}
-               if err := h.UnmarshalJSON(rawHash.Key); err != nil {
-                       return nil, errors.Wrap(err, "unmarshaling Mainchain hash")
-               }
-               mainchain[uint64(i)] = h
+               var b32 [32]byte
+               copy(b32[:], rawHash.Key)
+               hash := bc.NewHash(b32)
+               mainchain[uint64(i+1)] = &hash
        }
 
        return mainchain, nil
@@ -36,7 +35,7 @@ func DecodeMainchain(data []byte) (map[uint64]*bc.Hash, error) {
 
 func saveMainchain(db dbm.DB, mainchain map[uint64]*bc.Hash, hash *bc.Hash) error {
        var mainchainList storage.Mainchain
-       for i := 0; i < len(mainchain); i++ {
+       for i := 1; i <= len(mainchain); i++ {
                rawHash := &storage.Mainchain_Hash{Key: mainchain[uint64(i)].Bytes()}
                mainchainList.Hashs = append(mainchainList.Hashs, rawHash)
        }