core, core/types, eth: add and use Block.Body
This fixes a few uses of unkeyed Body literals which go vet was complaining about.
This commit is contained in:
		| @@ -678,7 +678,7 @@ func (self *BlockChain) InsertReceiptChain(blockChain types.Blocks, receiptChain | |||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 			// Write all the data out into the database | 			// Write all the data out into the database | ||||||
| 			if err := WriteBody(self.chainDb, block.Hash(), &types.Body{block.Transactions(), block.Uncles()}); err != nil { | 			if err := WriteBody(self.chainDb, block.Hash(), block.Body()); err != nil { | ||||||
| 				errs[index] = fmt.Errorf("failed to write block body: %v", err) | 				errs[index] = fmt.Errorf("failed to write block body: %v", err) | ||||||
| 				atomic.AddInt32(&failed, 1) | 				atomic.AddInt32(&failed, 1) | ||||||
| 				glog.Fatal(errs[index]) | 				glog.Fatal(errs[index]) | ||||||
|   | |||||||
| @@ -318,7 +318,7 @@ func WriteTd(db ethdb.Database, hash common.Hash, td *big.Int) error { | |||||||
| // WriteBlock serializes a block into the database, header and body separately. | // WriteBlock serializes a block into the database, header and body separately. | ||||||
| func WriteBlock(db ethdb.Database, block *types.Block) error { | func WriteBlock(db ethdb.Database, block *types.Block) error { | ||||||
| 	// Store the body first to retain database consistency | 	// Store the body first to retain database consistency | ||||||
| 	if err := WriteBody(db, block.Hash(), &types.Body{block.Transactions(), block.Uncles()}); err != nil { | 	if err := WriteBody(db, block.Hash(), block.Body()); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	// Store the header too, signaling full block ownership | 	// Store the header too, signaling full block ownership | ||||||
|   | |||||||
| @@ -196,7 +196,7 @@ func TestBlockStorage(t *testing.T) { | |||||||
| 	if entry := GetBody(db, block.Hash()); entry == nil { | 	if entry := GetBody(db, block.Hash()); entry == nil { | ||||||
| 		t.Fatalf("Stored body not found") | 		t.Fatalf("Stored body not found") | ||||||
| 	} else if types.DeriveSha(types.Transactions(entry.Transactions)) != types.DeriveSha(block.Transactions()) || types.CalcUncleHash(entry.Uncles) != types.CalcUncleHash(block.Uncles()) { | 	} else if types.DeriveSha(types.Transactions(entry.Transactions)) != types.DeriveSha(block.Transactions()) || types.CalcUncleHash(entry.Uncles) != types.CalcUncleHash(block.Uncles()) { | ||||||
| 		t.Fatalf("Retrieved body mismatch: have %v, want %v", entry, &types.Body{block.Transactions(), block.Uncles()}) | 		t.Fatalf("Retrieved body mismatch: have %v, want %v", entry, block.Body()) | ||||||
| 	} | 	} | ||||||
| 	// Delete the block and verify the execution | 	// Delete the block and verify the execution | ||||||
| 	DeleteBlock(db, block.Hash()) | 	DeleteBlock(db, block.Hash()) | ||||||
| @@ -230,7 +230,7 @@ func TestPartialBlockStorage(t *testing.T) { | |||||||
| 	DeleteHeader(db, block.Hash()) | 	DeleteHeader(db, block.Hash()) | ||||||
|  |  | ||||||
| 	// Store a body and check that it's not recognized as a block | 	// Store a body and check that it's not recognized as a block | ||||||
| 	if err := WriteBody(db, block.Hash(), &types.Body{block.Transactions(), block.Uncles()}); err != nil { | 	if err := WriteBody(db, block.Hash(), block.Body()); err != nil { | ||||||
| 		t.Fatalf("Failed to write body into database: %v", err) | 		t.Fatalf("Failed to write body into database: %v", err) | ||||||
| 	} | 	} | ||||||
| 	if entry := GetBlock(db, block.Hash()); entry != nil { | 	if entry := GetBlock(db, block.Hash()); entry != nil { | ||||||
| @@ -242,7 +242,7 @@ func TestPartialBlockStorage(t *testing.T) { | |||||||
| 	if err := WriteHeader(db, block.Header()); err != nil { | 	if err := WriteHeader(db, block.Header()); err != nil { | ||||||
| 		t.Fatalf("Failed to write header into database: %v", err) | 		t.Fatalf("Failed to write header into database: %v", err) | ||||||
| 	} | 	} | ||||||
| 	if err := WriteBody(db, block.Hash(), &types.Body{block.Transactions(), block.Uncles()}); err != nil { | 	if err := WriteBody(db, block.Hash(), block.Body()); err != nil { | ||||||
| 		t.Fatalf("Failed to write body into database: %v", err) | 		t.Fatalf("Failed to write body into database: %v", err) | ||||||
| 	} | 	} | ||||||
| 	if entry := GetBlock(db, block.Hash()); entry == nil { | 	if entry := GetBlock(db, block.Hash()); entry == nil { | ||||||
|   | |||||||
| @@ -330,6 +330,9 @@ func (b *Block) Extra() []byte            { return common.CopyBytes(b.header.Ext | |||||||
|  |  | ||||||
| func (b *Block) Header() *Header { return CopyHeader(b.header) } | func (b *Block) Header() *Header { return CopyHeader(b.header) } | ||||||
|  |  | ||||||
|  | // Body returns the non-header content of the block. | ||||||
|  | func (b *Block) Body() *Body { return &Body{b.transactions, b.uncles} } | ||||||
|  |  | ||||||
| func (b *Block) HashNoNonce() common.Hash { | func (b *Block) HashNoNonce() common.Hash { | ||||||
| 	return b.header.HashNoNonce() | 	return b.header.HashNoNonce() | ||||||
| } | } | ||||||
|   | |||||||
| @@ -557,7 +557,7 @@ func upgradeChainDatabase(db ethdb.Database) error { | |||||||
| 			if err := core.WriteTd(db, block.Hash(), block.DeprecatedTd()); err != nil { | 			if err := core.WriteTd(db, block.Hash(), block.DeprecatedTd()); err != nil { | ||||||
| 				return err | 				return err | ||||||
| 			} | 			} | ||||||
| 			if err := core.WriteBody(db, block.Hash(), &types.Body{block.Transactions(), block.Uncles()}); err != nil { | 			if err := core.WriteBody(db, block.Hash(), block.Body()); err != nil { | ||||||
| 				return err | 				return err | ||||||
| 			} | 			} | ||||||
| 			if err := core.WriteHeader(db, block.Header()); err != nil { | 			if err := core.WriteHeader(db, block.Header()); err != nil { | ||||||
| @@ -573,7 +573,7 @@ func upgradeChainDatabase(db ethdb.Database) error { | |||||||
| 		if err := core.WriteTd(db, current.Hash(), current.DeprecatedTd()); err != nil { | 		if err := core.WriteTd(db, current.Hash(), current.DeprecatedTd()); err != nil { | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 		if err := core.WriteBody(db, current.Hash(), &types.Body{current.Transactions(), current.Uncles()}); err != nil { | 		if err := core.WriteBody(db, current.Hash(), current.Body()); err != nil { | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 		if err := core.WriteHeader(db, current.Header()); err != nil { | 		if err := core.WriteHeader(db, current.Header()); err != nil { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user