X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=protocol%2Fvalidation%2Fblock.go;h=8ea143c0d5083c0a87907181fdd62dfff3c88d47;hp=b226a5747b8366e44210ae6dea2b28435e3ad8ae;hb=3c4421ccea81457046e3ff00e46fa9f6692204de;hpb=bdeea460d33cb2041c1e04f059431a42e6695de3 diff --git a/protocol/validation/block.go b/protocol/validation/block.go index b226a574..8ea143c0 100644 --- a/protocol/validation/block.go +++ b/protocol/validation/block.go @@ -88,17 +88,17 @@ func ValidateBlock(b *bc.Block, parent *types.BlockHeader) error { coinbaseAmount := consensus.BlockSubsidy(b.BlockHeader.Height) b.TransactionStatus = bc.NewTransactionStatus() - for i, tx := range b.Transactions { - gasStatus, err := ValidateTx(tx, b) - if !gasStatus.GasValid { - return errors.Wrapf(err, "validate of transaction %d of %d", i, len(b.Transactions)) + validateResults := ValidateTxs(b.Transactions, b) + for i, validateResult := range validateResults { + if !validateResult.gasStatus.GasValid { + return errors.Wrapf(validateResult.err, "validate of transaction %d of %d", i, len(b.Transactions)) } - if err := b.TransactionStatus.SetStatus(i, err != nil); err != nil { + if err := b.TransactionStatus.SetStatus(i, validateResult.err != nil); err != nil { return err } - coinbaseAmount += gasStatus.BTMValue - if blockGasSum += uint64(gasStatus.GasUsed); blockGasSum > consensus.MaxBlockGas { + coinbaseAmount += validateResult.gasStatus.BTMValue + if blockGasSum += uint64(validateResult.gasStatus.GasUsed); blockGasSum > consensus.MaxBlockGas { return errOverBlockLimit } }