refactor: remove header type from NewContext (#17426)
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
This commit is contained in:
+12
-6
@@ -121,14 +121,14 @@ func (c Context) Err() error {
|
||||
}
|
||||
|
||||
// create a new context
|
||||
func NewContext(ms storetypes.MultiStore, header cmtproto.Header, isCheckTx bool, logger log.Logger) Context {
|
||||
// https://github.com/gogo/protobuf/issues/519
|
||||
header.Time = header.Time.UTC()
|
||||
func NewContext(ms storetypes.MultiStore, isCheckTx bool, logger log.Logger) Context {
|
||||
h := cmtproto.Header{}
|
||||
h.Time = h.Time.UTC()
|
||||
return Context{
|
||||
baseCtx: context.Background(),
|
||||
ms: ms,
|
||||
header: header,
|
||||
chainID: header.ChainID,
|
||||
header: h,
|
||||
chainID: h.ChainID,
|
||||
checkTx: isCheckTx,
|
||||
logger: logger,
|
||||
gasMeter: storetypes.NewInfiniteGasMeter(),
|
||||
@@ -136,6 +136,9 @@ func NewContext(ms storetypes.MultiStore, header cmtproto.Header, isCheckTx bool
|
||||
eventManager: NewEventManager(),
|
||||
kvGasConfig: storetypes.KVGasConfig(),
|
||||
transientKVGasConfig: storetypes.TransientGasConfig(),
|
||||
headerInfo: header.Info{
|
||||
Time: h.Time.UTC(),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,6 +159,9 @@ func (c Context) WithBlockHeader(header cmtproto.Header) Context {
|
||||
// https://github.com/gogo/protobuf/issues/519
|
||||
header.Time = header.Time.UTC()
|
||||
c.header = header
|
||||
|
||||
// when calling withBlockheader on a new context chainID in the struct is empty
|
||||
c.chainID = header.ChainID
|
||||
return c
|
||||
}
|
||||
|
||||
@@ -303,7 +309,7 @@ func (c Context) WithCometInfo(cometInfo comet.BlockInfo) Context {
|
||||
|
||||
// WithHeaderInfo returns a Context with an updated header info
|
||||
func (c Context) WithHeaderInfo(headerInfo header.Info) Context {
|
||||
// Settime to UTC
|
||||
// Set time to UTC
|
||||
headerInfo.Time = headerInfo.Time.UTC()
|
||||
c.headerInfo = headerInfo
|
||||
return c
|
||||
|
||||
@@ -84,7 +84,6 @@ func (s *contextTestSuite) TestContextWithCustom() {
|
||||
ctrl := gomock.NewController(s.T())
|
||||
s.T().Cleanup(ctrl.Finish)
|
||||
|
||||
header := cmtproto.Header{}
|
||||
height := int64(1)
|
||||
chainid := "chainid"
|
||||
ischeck := true
|
||||
@@ -97,8 +96,8 @@ func (s *contextTestSuite) TestContextWithCustom() {
|
||||
headerHash := []byte("headerHash")
|
||||
zeroGasCfg := storetypes.GasConfig{}
|
||||
|
||||
ctx = types.NewContext(nil, header, ischeck, logger)
|
||||
s.Require().Equal(header, ctx.BlockHeader())
|
||||
ctx = types.NewContext(nil, ischeck, logger)
|
||||
s.Require().Equal(cmtproto.Header{}, ctx.BlockHeader())
|
||||
|
||||
ctx = ctx.
|
||||
WithBlockHeight(height).
|
||||
@@ -152,7 +151,7 @@ func (s *contextTestSuite) TestContextHeader() {
|
||||
addr := secp256k1.GenPrivKey().PubKey().Address()
|
||||
proposer := types.ConsAddress(addr)
|
||||
|
||||
ctx = types.NewContext(nil, cmtproto.Header{}, false, nil)
|
||||
ctx = types.NewContext(nil, false, nil)
|
||||
|
||||
ctx = ctx.
|
||||
WithBlockHeight(height).
|
||||
@@ -166,7 +165,7 @@ func (s *contextTestSuite) TestContextHeader() {
|
||||
|
||||
func (s *contextTestSuite) TestWithBlockTime() {
|
||||
now := time.Now()
|
||||
ctx := types.NewContext(nil, cmtproto.Header{}, false, nil)
|
||||
ctx := types.NewContext(nil, false, nil)
|
||||
ctx = ctx.WithBlockTime(now)
|
||||
cmttime2 := cmttime.Canonical(now)
|
||||
s.Require().Equal(ctx.BlockTime(), cmttime2)
|
||||
@@ -215,7 +214,7 @@ func (s *contextTestSuite) TestContextHeaderClone() {
|
||||
for name, tc := range cases {
|
||||
tc := tc
|
||||
s.T().Run(name, func(t *testing.T) {
|
||||
ctx := types.NewContext(nil, tc.h, false, nil)
|
||||
ctx := types.NewContext(nil, false, nil).WithBlockHeader(tc.h)
|
||||
s.Require().Equal(tc.h.Height, ctx.BlockHeight())
|
||||
s.Require().Equal(tc.h.Time.UTC(), ctx.BlockTime())
|
||||
|
||||
@@ -229,7 +228,7 @@ func (s *contextTestSuite) TestContextHeaderClone() {
|
||||
}
|
||||
|
||||
func (s *contextTestSuite) TestUnwrapSDKContext() {
|
||||
sdkCtx := types.NewContext(nil, cmtproto.Header{}, false, nil)
|
||||
sdkCtx := types.NewContext(nil, false, nil)
|
||||
ctx := types.WrapSDKContext(sdkCtx)
|
||||
sdkCtx2 := types.UnwrapSDKContext(ctx)
|
||||
s.Require().Equal(sdkCtx, sdkCtx2)
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"math/rand"
|
||||
"testing"
|
||||
|
||||
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/stretchr/testify/suite"
|
||||
protov2 "google.golang.org/protobuf/proto"
|
||||
@@ -132,7 +131,7 @@ func fetchTxs(iterator mempool.Iterator, maxBytes int64) []sdk.Tx {
|
||||
|
||||
func (s *MempoolTestSuite) TestDefaultMempool() {
|
||||
t := s.T()
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 10)
|
||||
txCount := 1000
|
||||
var txs []testTx
|
||||
@@ -224,7 +223,7 @@ func TestMempoolTestSuite(t *testing.T) {
|
||||
}
|
||||
|
||||
func (s *MempoolTestSuite) TestSampleTxs() {
|
||||
ctxt := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctxt := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
t := s.T()
|
||||
s.resetMempool()
|
||||
mp := s.mempool
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"cosmossdk.io/log"
|
||||
@@ -62,7 +61,7 @@ func TestOutOfOrder(t *testing.T) {
|
||||
|
||||
func (s *MempoolTestSuite) TestPriorityNonceTxOrder() {
|
||||
t := s.T()
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 5)
|
||||
sa := accounts[0].Address
|
||||
sb := accounts[1].Address
|
||||
@@ -260,7 +259,7 @@ func (s *MempoolTestSuite) TestPriorityNonceTxOrder() {
|
||||
}
|
||||
|
||||
func (s *MempoolTestSuite) TestPriorityTies() {
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 3)
|
||||
sa := accounts[0].Address
|
||||
sb := accounts[1].Address
|
||||
@@ -383,7 +382,7 @@ func (s *MempoolTestSuite) TestRandomGeneratedTxs() {
|
||||
)
|
||||
|
||||
t := s.T()
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
seed := time.Now().UnixNano()
|
||||
|
||||
t.Logf("running with seed: %d", seed)
|
||||
@@ -419,7 +418,7 @@ func (s *MempoolTestSuite) TestRandomWalkTxs() {
|
||||
s.mempool = mempool.DefaultPriorityMempool()
|
||||
|
||||
t := s.T()
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
|
||||
seed := time.Now().UnixNano()
|
||||
// interesting failing seeds:
|
||||
@@ -592,7 +591,7 @@ func TestTxOrderN(t *testing.T) {
|
||||
|
||||
func TestPriorityNonceMempool_NextSenderTx(t *testing.T) {
|
||||
accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 2)
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
accA := accounts[0].Address
|
||||
accB := accounts[1].Address
|
||||
|
||||
@@ -622,7 +621,7 @@ func TestPriorityNonceMempool_NextSenderTx(t *testing.T) {
|
||||
|
||||
func TestNextSenderTx_TxLimit(t *testing.T) {
|
||||
accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 2)
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
sa := accounts[0].Address
|
||||
sb := accounts[1].Address
|
||||
|
||||
@@ -695,7 +694,7 @@ func TestNextSenderTx_TxLimit(t *testing.T) {
|
||||
|
||||
func TestNextSenderTx_TxReplacement(t *testing.T) {
|
||||
accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 1)
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
sa := accounts[0].Address
|
||||
|
||||
txs := []testTx{
|
||||
|
||||
@@ -3,7 +3,6 @@ package mempool_test
|
||||
import (
|
||||
"sort"
|
||||
|
||||
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
|
||||
"github.com/stretchr/testify/require"
|
||||
"pgregory.net/rapid"
|
||||
|
||||
@@ -34,7 +33,7 @@ func AddressGenerator(t *rapid.T) *rapid.Generator[sdk.AccAddress] {
|
||||
}
|
||||
|
||||
func testMempoolProperties(t *rapid.T) {
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
mp := mempool.NewSenderNonceMempool()
|
||||
|
||||
genMultipleAddress := rapid.SliceOfNDistinct(AddressGenerator(t), 1, 10, func(acc sdk.AccAddress) string {
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"math/rand"
|
||||
"testing"
|
||||
|
||||
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"cosmossdk.io/log"
|
||||
@@ -17,7 +16,7 @@ import (
|
||||
|
||||
func (s *MempoolTestSuite) TestTxOrder() {
|
||||
t := s.T()
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 5)
|
||||
sa := accounts[0].Address
|
||||
sb := accounts[1].Address
|
||||
@@ -141,7 +140,7 @@ func (s *MempoolTestSuite) TestTxOrder() {
|
||||
|
||||
func (s *MempoolTestSuite) TestMaxTx() {
|
||||
t := s.T()
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 1)
|
||||
mp := mempool.NewSenderNonceMempool(mempool.SenderNonceMaxTxOpt(1))
|
||||
|
||||
@@ -171,7 +170,7 @@ func (s *MempoolTestSuite) TestMaxTx() {
|
||||
|
||||
func (s *MempoolTestSuite) TestTxNotFoundOnSender() {
|
||||
t := s.T()
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 1)
|
||||
mp := mempool.NewSenderNonceMempool()
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
"testing"
|
||||
|
||||
abci "github.com/cometbft/cometbft/abci/types"
|
||||
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
|
||||
"github.com/golang/mock/gomock"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -240,7 +239,7 @@ func TestManager_InitGenesis(t *testing.T) {
|
||||
require.NotNil(t, mm)
|
||||
require.Equal(t, 3, len(mm.Modules))
|
||||
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
interfaceRegistry := types.NewInterfaceRegistry()
|
||||
cdc := codec.NewProtoCodec(interfaceRegistry)
|
||||
genesisData := map[string]json.RawMessage{"module1": json.RawMessage(`{"key": "value"}`)}
|
||||
@@ -284,7 +283,7 @@ func TestManager_ExportGenesis(t *testing.T) {
|
||||
require.NotNil(t, mm)
|
||||
require.Equal(t, 3, len(mm.Modules))
|
||||
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
interfaceRegistry := types.NewInterfaceRegistry()
|
||||
cdc := codec.NewProtoCodec(interfaceRegistry)
|
||||
mockAppModule1.EXPECT().ExportGenesis(gomock.Eq(ctx), gomock.Eq(cdc)).AnyTimes().Return(json.RawMessage(`{"key1": "value1"}`))
|
||||
@@ -370,7 +369,7 @@ func TestCoreAPIManager_InitGenesis(t *testing.T) {
|
||||
require.NotNil(t, mm)
|
||||
require.Equal(t, 1, len(mm.Modules))
|
||||
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
interfaceRegistry := types.NewInterfaceRegistry()
|
||||
cdc := codec.NewProtoCodec(interfaceRegistry)
|
||||
genesisData := map[string]json.RawMessage{"module1": json.RawMessage(`{"key": "value"}`)}
|
||||
@@ -394,7 +393,7 @@ func TestCoreAPIManager_ExportGenesis(t *testing.T) {
|
||||
require.NotNil(t, mm)
|
||||
require.Equal(t, 2, len(mm.Modules))
|
||||
|
||||
ctx := sdk.NewContext(nil, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
ctx := sdk.NewContext(nil, false, log.NewNopLogger())
|
||||
interfaceRegistry := types.NewInterfaceRegistry()
|
||||
cdc := codec.NewProtoCodec(interfaceRegistry)
|
||||
want := map[string]json.RawMessage{
|
||||
|
||||
Reference in New Issue
Block a user