From 8bf5430d7e61f572fb60758e7edc535600e61e00 Mon Sep 17 00:00:00 2001 From: Hoang Do Date: Thu, 20 Mar 2025 21:03:12 +0700 Subject: [PATCH] chore(optimize): Return BlockHeader by shallow copy in server Context (#24072) --- CHANGELOG.md | 1 + types/context.go | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff3c13a9a3..d56c0a355f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (crypto/ledger) [#24036](https://github.com/cosmos/cosmos-sdk/pull/24036) Improve error message when deriving paths using index > 100 * (gRPC) [#23844](https://github.com/cosmos/cosmos-sdk/pull/23844) Add debug log prints for each gRPC request. +* (server) [#24072](https://github.com/cosmos/cosmos-sdk/pull/24072) Return BlockHeader by shallow copy in server Context. ### Bug Fixes diff --git a/types/context.go b/types/context.go index a6e304e8d1..b9605f00cf 100644 --- a/types/context.go +++ b/types/context.go @@ -6,7 +6,6 @@ import ( abci "github.com/cometbft/cometbft/abci/types" cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/cosmos/gogoproto/proto" "cosmossdk.io/core/comet" "cosmossdk.io/core/header" @@ -94,10 +93,9 @@ func (c Context) StreamingManager() storetypes.StreamingManager { return c.strea func (c Context) CometInfo() comet.BlockInfo { return c.cometInfo } func (c Context) HeaderInfo() header.Info { return c.headerInfo } -// clone the header before returning +// BlockHeader returns the header by value. func (c Context) BlockHeader() cmtproto.Header { - msg := proto.Clone(&c.header).(*cmtproto.Header) - return *msg + return c.header } // HeaderHash returns a copy of the header hash obtained during abci.RequestBeginBlock