From 17207e4d3e328dd40dff8f400c421189a065b951 Mon Sep 17 00:00:00 2001 From: nowooj Date: Thu, 14 May 2026 09:57:21 +0900 Subject: [PATCH 1/8] fix: proto lint & go fmt --- mempool/txpool/legacypool/tx_store_test.go | 12 ++++++------ mempool/txpool/txpool_test.go | 1 + proto/cosmos/evm/vm/v1/evm.proto | 13 ++++++++++++- proto/cosmos/evm/vm/v1/query.proto | 2 +- proto/cosmos/evm/vm/v1/tx.proto | 4 ++-- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/mempool/txpool/legacypool/tx_store_test.go b/mempool/txpool/legacypool/tx_store_test.go index 8f581ccb94..b856c56a68 100644 --- a/mempool/txpool/legacypool/tx_store_test.go +++ b/mempool/txpool/legacypool/tx_store_test.go @@ -42,7 +42,7 @@ func TestTxStoreAddAndGet(t *testing.T) { store.AddTx(addr1, tx2) store.AddTx(addr2, tx3) - result := store.Txs(context.Background(),txpool.PendingFilter{}) + result := store.Txs(context.Background(), txpool.PendingFilter{}) require.Len(t, result[addr1], 2) require.Len(t, result[addr2], 1) } @@ -63,7 +63,7 @@ func TestTxStoreMinTipFilter(t *testing.T) { MinTip: uint256.MustFromBig(big.NewInt(1e9)), BaseFee: uint256.MustFromBig(big.NewInt(1e9)), } - result := store.Txs(context.Background(),filter) + result := store.Txs(context.Background(), filter) // should only get the high tip tx (nonce 0), low tip at nonce 1 is // filtered @@ -81,7 +81,7 @@ func TestTxStoreSortedByNonce(t *testing.T) { store.AddTx(addr1, createTestTx(0, big.NewInt(1e9), big.NewInt(2e9))) store.AddTx(addr1, createTestTx(1, big.NewInt(1e9), big.NewInt(2e9))) - result := store.Txs(context.Background(),txpool.PendingFilter{}) + result := store.Txs(context.Background(), txpool.PendingFilter{}) require.Len(t, result[addr1], 3) for i, lazy := range result[addr1] { @@ -107,7 +107,7 @@ func TestTxStoreRetainsPreviousTxs(t *testing.T) { store.RemoveTx(addr1, tx4) - result := store.Txs(context.Background(),txpool.PendingFilter{}) + result := store.Txs(context.Background(), txpool.PendingFilter{}) require.Len(t, result[addr1], 3) // should just have 0,1,2. for i, tx := range result[addr1] { require.Equal(t, uint64(i), tx.Tx.Nonce()) @@ -125,7 +125,7 @@ func TestTxStoreRemoveTx(t *testing.T) { store.AddTx(addr1, tx2) store.RemoveTx(addr1, tx1) - result := store.Txs(context.Background(),txpool.PendingFilter{}) + result := store.Txs(context.Background(), txpool.PendingFilter{}) require.Len(t, result[addr1], 0) } @@ -135,6 +135,6 @@ func TestTxStoreBlobTxsFiltered(t *testing.T) { addr1 := common.HexToAddress("0x1") store.AddTx(addr1, createTestTx(0, big.NewInt(1e9), big.NewInt(2e9))) - result := store.Txs(context.Background(),txpool.PendingFilter{OnlyBlobTxs: true}) + result := store.Txs(context.Background(), txpool.PendingFilter{OnlyBlobTxs: true}) require.Nil(t, result) } diff --git a/mempool/txpool/txpool_test.go b/mempool/txpool/txpool_test.go index 2a9dfee9d8..ff072e0200 100644 --- a/mempool/txpool/txpool_test.go +++ b/mempool/txpool/txpool_test.go @@ -265,6 +265,7 @@ func TestTxPoolContent_EmptySubpools(t *testing.T) { require.Empty(t, runnable) require.Empty(t, blocked) } + // minimal tx encoder to construct a testing reaplist type stubTxEncoder struct{} diff --git a/proto/cosmos/evm/vm/v1/evm.proto b/proto/cosmos/evm/vm/v1/evm.proto index 0a87af0c0b..03805ef8ed 100644 --- a/proto/cosmos/evm/vm/v1/evm.proto +++ b/proto/cosmos/evm/vm/v1/evm.proto @@ -35,11 +35,18 @@ message Params { // active_static_precompiles defines the slice of hex addresses of the // precompiled contracts that are active repeated string active_static_precompiles = 9; + // history_serve_window defines the block range for serving historical EVM + // state uint64 history_serve_window = 10; + // extended_denom_options defines the extended denom options for the EVM ExtendedDenomOptions extended_denom_options = 11; } -message ExtendedDenomOptions { string extended_denom = 1; } +// ExtendedDenomOptions defines the extended denom options for the EVM +message ExtendedDenomOptions { + // extended_denom defines the extended denom used by the EVM + string extended_denom = 1; +} // AccessControl defines the permission policy of the EVM // for creating and calling contracts @@ -352,9 +359,13 @@ message Preinstall { string code = 3; } +// EvmCoinInfo defines the EVM coin denomination metadata message EvmCoinInfo { + // denom defines the base coin denomination string denom = 1; + // extended_denom defines the extended EVM coin denomination string extended_denom = 2; + // display_denom defines the display denomination string display_denom = 3; // decimals is now deprecated and will be removed in a future release. When it // is removed we will assume the evm token denom is 18 decimal precision. diff --git a/proto/cosmos/evm/vm/v1/query.proto b/proto/cosmos/evm/vm/v1/query.proto index bdaad05aea..47aa45dcf1 100644 --- a/proto/cosmos/evm/vm/v1/query.proto +++ b/proto/cosmos/evm/vm/v1/query.proto @@ -263,7 +263,7 @@ message EthCallRequest { "github.com/cosmos/cosmos-sdk/types.ConsAddress" ]; // chain_id is the eip155 chain id parsed from the requested block header int64 chain_id = 4; - // state overrides encoded as json + // overrides contains state overrides encoded as json bytes overrides = 5; } diff --git a/proto/cosmos/evm/vm/v1/tx.proto b/proto/cosmos/evm/vm/v1/tx.proto index 96d195bfc0..4bf8231a08 100644 --- a/proto/cosmos/evm/vm/v1/tx.proto +++ b/proto/cosmos/evm/vm/v1/tx.proto @@ -74,9 +74,9 @@ message MsgEthereumTxResponse { // max_used_gas specifies the gas consumed by the transaction, not including // refunds uint64 max_used_gas = 6; - // include the block hash for json-rpc to use + // block_hash is included for json-rpc to use bytes block_hash = 7; - // include the block timestamp for json-rpc to use + // block_timestamp is included for json-rpc to use uint64 block_timestamp = 8; } From c8f05c6ef2605bf9fb3fdac8a062aa86daab00a0 Mon Sep 17 00:00:00 2001 From: nowooj Date: Thu, 14 May 2026 09:57:59 +0900 Subject: [PATCH 2/8] feat: add overrides field to QueryTraceCallRequest in query.proto --- proto/cosmos/evm/vm/v1/query.proto | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proto/cosmos/evm/vm/v1/query.proto b/proto/cosmos/evm/vm/v1/query.proto index 47aa45dcf1..440a4913c6 100644 --- a/proto/cosmos/evm/vm/v1/query.proto +++ b/proto/cosmos/evm/vm/v1/query.proto @@ -369,6 +369,8 @@ message QueryTraceCallRequest { [ (gogoproto.nullable) = false, (gogoproto.stdtime) = true ]; // chain_id is the the eip155 chain id parsed from the requested block header int64 chain_id = 8; + // overrides contains state overrides in JSON format + bytes overrides = 9; } // QueryTraceCallResponse defines TraceCall response From 4c165d039805f6d08ba2c8b75a16c89de30ac024 Mon Sep 17 00:00:00 2001 From: nowooj Date: Thu, 14 May 2026 10:01:51 +0900 Subject: [PATCH 3/8] chore: make proto-all --- api/cosmos/evm/erc20/v1/query_grpc.pb.go | 2 +- api/cosmos/evm/erc20/v1/tx_grpc.pb.go | 2 +- api/cosmos/evm/feemarket/v1/query_grpc.pb.go | 2 +- api/cosmos/evm/feemarket/v1/tx_grpc.pb.go | 2 +- api/cosmos/evm/vm/v1/evm.pulsar.go | 23 +- api/cosmos/evm/vm/v1/query.pulsar.go | 379 +++++++++++-------- api/cosmos/evm/vm/v1/query_grpc.pb.go | 2 +- api/cosmos/evm/vm/v1/tx.pulsar.go | 4 +- api/cosmos/evm/vm/v1/tx_grpc.pb.go | 2 +- x/vm/types/evm.pb.go | 23 +- x/vm/types/query.pb.go | 266 +++++++------ x/vm/types/tx.pb.go | 4 +- 12 files changed, 430 insertions(+), 281 deletions(-) diff --git a/api/cosmos/evm/erc20/v1/query_grpc.pb.go b/api/cosmos/evm/erc20/v1/query_grpc.pb.go index f951212192..ad75814be4 100644 --- a/api/cosmos/evm/erc20/v1/query_grpc.pb.go +++ b/api/cosmos/evm/erc20/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 +// - protoc-gen-go-grpc v1.6.1 // - protoc (unknown) // source: cosmos/evm/erc20/v1/query.proto diff --git a/api/cosmos/evm/erc20/v1/tx_grpc.pb.go b/api/cosmos/evm/erc20/v1/tx_grpc.pb.go index bb7434588f..404564401b 100644 --- a/api/cosmos/evm/erc20/v1/tx_grpc.pb.go +++ b/api/cosmos/evm/erc20/v1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 +// - protoc-gen-go-grpc v1.6.1 // - protoc (unknown) // source: cosmos/evm/erc20/v1/tx.proto diff --git a/api/cosmos/evm/feemarket/v1/query_grpc.pb.go b/api/cosmos/evm/feemarket/v1/query_grpc.pb.go index d395a7518d..f7fdd223fd 100644 --- a/api/cosmos/evm/feemarket/v1/query_grpc.pb.go +++ b/api/cosmos/evm/feemarket/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 +// - protoc-gen-go-grpc v1.6.1 // - protoc (unknown) // source: cosmos/evm/feemarket/v1/query.proto diff --git a/api/cosmos/evm/feemarket/v1/tx_grpc.pb.go b/api/cosmos/evm/feemarket/v1/tx_grpc.pb.go index 8596271909..f34196af40 100644 --- a/api/cosmos/evm/feemarket/v1/tx_grpc.pb.go +++ b/api/cosmos/evm/feemarket/v1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 +// - protoc-gen-go-grpc v1.6.1 // - protoc (unknown) // source: cosmos/evm/feemarket/v1/tx.proto diff --git a/api/cosmos/evm/vm/v1/evm.pulsar.go b/api/cosmos/evm/vm/v1/evm.pulsar.go index 2839bba4e4..2c95b83908 100644 --- a/api/cosmos/evm/vm/v1/evm.pulsar.go +++ b/api/cosmos/evm/vm/v1/evm.pulsar.go @@ -9928,9 +9928,12 @@ type Params struct { AccessControl *AccessControl `protobuf:"bytes,8,opt,name=access_control,json=accessControl,proto3" json:"access_control,omitempty"` // active_static_precompiles defines the slice of hex addresses of the // precompiled contracts that are active - ActiveStaticPrecompiles []string `protobuf:"bytes,9,rep,name=active_static_precompiles,json=activeStaticPrecompiles,proto3" json:"active_static_precompiles,omitempty"` - HistoryServeWindow uint64 `protobuf:"varint,10,opt,name=history_serve_window,json=historyServeWindow,proto3" json:"history_serve_window,omitempty"` - ExtendedDenomOptions *ExtendedDenomOptions `protobuf:"bytes,11,opt,name=extended_denom_options,json=extendedDenomOptions,proto3" json:"extended_denom_options,omitempty"` + ActiveStaticPrecompiles []string `protobuf:"bytes,9,rep,name=active_static_precompiles,json=activeStaticPrecompiles,proto3" json:"active_static_precompiles,omitempty"` + // history_serve_window defines the block range for serving historical EVM + // state + HistoryServeWindow uint64 `protobuf:"varint,10,opt,name=history_serve_window,json=historyServeWindow,proto3" json:"history_serve_window,omitempty"` + // extended_denom_options defines the extended denom options for the EVM + ExtendedDenomOptions *ExtendedDenomOptions `protobuf:"bytes,11,opt,name=extended_denom_options,json=extendedDenomOptions,proto3" json:"extended_denom_options,omitempty"` } func (x *Params) Reset() { @@ -10002,11 +10005,13 @@ func (x *Params) GetExtendedDenomOptions() *ExtendedDenomOptions { return nil } +// ExtendedDenomOptions defines the extended denom options for the EVM type ExtendedDenomOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // extended_denom defines the extended denom used by the EVM ExtendedDenom string `protobuf:"bytes,1,opt,name=extended_denom,json=extendedDenom,proto3" json:"extended_denom,omitempty"` } @@ -10925,16 +10930,20 @@ func (x *Preinstall) GetCode() string { return "" } +// EvmCoinInfo defines the EVM coin denomination metadata type EvmCoinInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // denom defines the base coin denomination + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // extended_denom defines the extended EVM coin denomination ExtendedDenom string `protobuf:"bytes,2,opt,name=extended_denom,json=extendedDenom,proto3" json:"extended_denom,omitempty"` - DisplayDenom string `protobuf:"bytes,3,opt,name=display_denom,json=displayDenom,proto3" json:"display_denom,omitempty"` - // decimals is now deprecated and will be removed in a future release. When it is removed we will assume - // the evm token denom is 18 decimal precision. + // display_denom defines the display denomination + DisplayDenom string `protobuf:"bytes,3,opt,name=display_denom,json=displayDenom,proto3" json:"display_denom,omitempty"` + // decimals is now deprecated and will be removed in a future release. When it + // is removed we will assume the evm token denom is 18 decimal precision. // // Deprecated: Do not use. Decimals uint32 `protobuf:"varint,4,opt,name=decimals,proto3" json:"decimals,omitempty"` diff --git a/api/cosmos/evm/vm/v1/query.pulsar.go b/api/cosmos/evm/vm/v1/query.pulsar.go index 470635d479..202c116e20 100644 --- a/api/cosmos/evm/vm/v1/query.pulsar.go +++ b/api/cosmos/evm/vm/v1/query.pulsar.go @@ -12050,6 +12050,7 @@ var ( fd_QueryTraceCallRequest_block_hash protoreflect.FieldDescriptor fd_QueryTraceCallRequest_block_time protoreflect.FieldDescriptor fd_QueryTraceCallRequest_chain_id protoreflect.FieldDescriptor + fd_QueryTraceCallRequest_overrides protoreflect.FieldDescriptor ) func init() { @@ -12063,6 +12064,7 @@ func init() { fd_QueryTraceCallRequest_block_hash = md_QueryTraceCallRequest.Fields().ByName("block_hash") fd_QueryTraceCallRequest_block_time = md_QueryTraceCallRequest.Fields().ByName("block_time") fd_QueryTraceCallRequest_chain_id = md_QueryTraceCallRequest.Fields().ByName("chain_id") + fd_QueryTraceCallRequest_overrides = md_QueryTraceCallRequest.Fields().ByName("overrides") } var _ protoreflect.Message = (*fastReflection_QueryTraceCallRequest)(nil) @@ -12178,6 +12180,12 @@ func (x *fastReflection_QueryTraceCallRequest) Range(f func(protoreflect.FieldDe return } } + if len(x.Overrides) != 0 { + value := protoreflect.ValueOfBytes(x.Overrides) + if !f(fd_QueryTraceCallRequest_overrides, value) { + return + } + } } // Has reports whether a field is populated. @@ -12209,6 +12217,8 @@ func (x *fastReflection_QueryTraceCallRequest) Has(fd protoreflect.FieldDescript return x.BlockTime != nil case "cosmos.evm.vm.v1.QueryTraceCallRequest.chain_id": return x.ChainId != int64(0) + case "cosmos.evm.vm.v1.QueryTraceCallRequest.overrides": + return len(x.Overrides) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.evm.vm.v1.QueryTraceCallRequest")) @@ -12241,6 +12251,8 @@ func (x *fastReflection_QueryTraceCallRequest) Clear(fd protoreflect.FieldDescri x.BlockTime = nil case "cosmos.evm.vm.v1.QueryTraceCallRequest.chain_id": x.ChainId = int64(0) + case "cosmos.evm.vm.v1.QueryTraceCallRequest.overrides": + x.Overrides = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.evm.vm.v1.QueryTraceCallRequest")) @@ -12281,6 +12293,9 @@ func (x *fastReflection_QueryTraceCallRequest) Get(descriptor protoreflect.Field case "cosmos.evm.vm.v1.QueryTraceCallRequest.chain_id": value := x.ChainId return protoreflect.ValueOfInt64(value) + case "cosmos.evm.vm.v1.QueryTraceCallRequest.overrides": + value := x.Overrides + return protoreflect.ValueOfBytes(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.evm.vm.v1.QueryTraceCallRequest")) @@ -12317,6 +12332,8 @@ func (x *fastReflection_QueryTraceCallRequest) Set(fd protoreflect.FieldDescript x.BlockTime = value.Message().Interface().(*timestamppb.Timestamp) case "cosmos.evm.vm.v1.QueryTraceCallRequest.chain_id": x.ChainId = value.Int() + case "cosmos.evm.vm.v1.QueryTraceCallRequest.overrides": + x.Overrides = value.Bytes() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.evm.vm.v1.QueryTraceCallRequest")) @@ -12359,6 +12376,8 @@ func (x *fastReflection_QueryTraceCallRequest) Mutable(fd protoreflect.FieldDesc panic(fmt.Errorf("field block_hash of message cosmos.evm.vm.v1.QueryTraceCallRequest is not mutable")) case "cosmos.evm.vm.v1.QueryTraceCallRequest.chain_id": panic(fmt.Errorf("field chain_id of message cosmos.evm.vm.v1.QueryTraceCallRequest is not mutable")) + case "cosmos.evm.vm.v1.QueryTraceCallRequest.overrides": + panic(fmt.Errorf("field overrides of message cosmos.evm.vm.v1.QueryTraceCallRequest is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.evm.vm.v1.QueryTraceCallRequest")) @@ -12390,6 +12409,8 @@ func (x *fastReflection_QueryTraceCallRequest) NewField(fd protoreflect.FieldDes return protoreflect.ValueOfMessage(m.ProtoReflect()) case "cosmos.evm.vm.v1.QueryTraceCallRequest.chain_id": return protoreflect.ValueOfInt64(int64(0)) + case "cosmos.evm.vm.v1.QueryTraceCallRequest.overrides": + return protoreflect.ValueOfBytes(nil) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.evm.vm.v1.QueryTraceCallRequest")) @@ -12488,6 +12509,10 @@ func (x *fastReflection_QueryTraceCallRequest) ProtoMethods() *protoiface.Method if x.ChainId != 0 { n += 1 + runtime.Sov(uint64(x.ChainId)) } + l = len(x.Overrides) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -12517,6 +12542,13 @@ func (x *fastReflection_QueryTraceCallRequest) ProtoMethods() *protoiface.Method i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.Overrides) > 0 { + i -= len(x.Overrides) + copy(dAtA[i:], x.Overrides) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Overrides))) + i-- + dAtA[i] = 0x4a + } if x.ChainId != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.ChainId)) i-- @@ -12859,6 +12891,40 @@ func (x *fastReflection_QueryTraceCallRequest) ProtoMethods() *protoiface.Method break } } + case 9: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Overrides", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Overrides = append(x.Overrides[:0], dAtA[iNdEx:postIndex]...) + if x.Overrides == nil { + x.Overrides = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -15628,7 +15694,7 @@ type EthCallRequest struct { ProposerAddress []byte `protobuf:"bytes,3,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"` // chain_id is the eip155 chain id parsed from the requested block header ChainId int64 `protobuf:"varint,4,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` - // state overrides encoded as json + // overrides contains state overrides encoded as json Overrides []byte `protobuf:"bytes,5,opt,name=overrides,proto3" json:"overrides,omitempty"` } @@ -16049,6 +16115,8 @@ type QueryTraceCallRequest struct { BlockTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=block_time,json=blockTime,proto3" json:"block_time,omitempty"` // chain_id is the the eip155 chain id parsed from the requested block header ChainId int64 `protobuf:"varint,8,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + // overrides contains state overrides in JSON format + Overrides []byte `protobuf:"bytes,9,opt,name=overrides,proto3" json:"overrides,omitempty"` } func (x *QueryTraceCallRequest) Reset() { @@ -16127,6 +16195,13 @@ func (x *QueryTraceCallRequest) GetChainId() int64 { return 0 } +func (x *QueryTraceCallRequest) GetOverrides() []byte { + if x != nil { + return x.Overrides + } + return nil +} + // QueryTraceCallResponse defines TraceCall response type QueryTraceCallResponse struct { state protoimpl.MessageState @@ -16483,7 +16558,7 @@ var file_cosmos_evm_vm_v1_query_proto_rawDesc = []byte{ 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x47, 0x61, 0x73, 0x22, 0x2d, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x87, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa5, 0x03, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x07, @@ -16508,165 +16583,167 @@ var file_cosmos_evm_vm_v1_query_proto_rawDesc = []byte{ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x15, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, - 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, + 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x15, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x73, + 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x14, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, + 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x63, 0x0a, 0x1e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0d, + 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x1d, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, - 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x47, 0x61, 0x73, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x63, 0x0a, 0x1e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x47, 0x61, - 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, - 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, - 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x32, 0x91, 0x10, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x85, 0x01, 0x0a, 0x07, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x6e, 0x74, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x32, + 0x91, 0x10, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x85, 0x01, 0x0a, 0x07, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, + 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, + 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, - 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, - 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, - 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x34, 0x12, 0x32, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, - 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, - 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, - 0x8b, 0x01, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, - 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, - 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x7b, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0x12, 0x7a, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, - 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2f, - 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x77, 0x0a, 0x06, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, - 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, + 0x12, 0x32, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, + 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x8b, 0x01, + 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x78, 0x0a, 0x07, 0x45, 0x74, 0x68, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x74, 0x68, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x54, 0x78, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, - 0x12, 0x1a, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, - 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x74, 0x68, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x7e, 0x0a, 0x0b, - 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x47, 0x61, 0x73, 0x12, 0x20, 0x2e, 0x63, 0x6f, + 0x72, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, + 0x12, 0x29, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, + 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0x12, 0x7a, 0x0a, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, + 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, + 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2f, 0x7b, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x77, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x78, 0x0a, 0x07, 0x45, 0x74, 0x68, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x74, 0x68, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x74, 0x68, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x47, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, - 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x7c, 0x0a, 0x07, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x78, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x78, 0x52, 0x65, + 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, - 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x78, 0x12, 0x88, 0x01, 0x0a, 0x0a, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, - 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, - 0x61, 0x6c, 0x6c, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, - 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, + 0x31, 0x2f, 0x65, 0x74, 0x68, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x7e, 0x0a, 0x0b, 0x45, 0x73, + 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x47, 0x61, 0x73, 0x12, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, + 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x47, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x73, + 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x7c, 0x0a, 0x07, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x54, 0x78, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, + 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, - 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x7c, 0x0a, 0x07, - 0x42, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x78, 0x12, 0x88, 0x01, 0x0a, 0x0a, 0x54, 0x72, 0x61, + 0x63, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x42, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, - 0x31, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x12, 0x77, 0x0a, 0x06, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, - 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x9f, 0x01, 0x0a, 0x11, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, - 0x6e, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, + 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x61, 0x6c, + 0x6c, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, - 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x61, 0x73, 0x5f, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x42, 0xad, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0a, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x26, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x3b, - 0x76, 0x6d, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x45, 0x56, 0xaa, 0x02, 0x10, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x45, 0x76, 0x6d, 0x2e, 0x56, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x45, 0x76, 0x6d, 0x5c, 0x56, 0x6d, 0x5c, 0x56, 0x31, - 0xe2, 0x02, 0x1c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x45, 0x76, 0x6d, 0x5c, 0x56, 0x6d, - 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x45, 0x76, 0x6d, 0x3a, 0x3a, 0x56, - 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x7c, 0x0a, 0x07, 0x42, 0x61, + 0x73, 0x65, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, + 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, + 0x73, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, + 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x12, 0x77, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, + 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x9f, 0x01, 0x0a, 0x11, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x47, + 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, + 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x42, 0xad, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x26, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x76, 0x6d, + 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x45, 0x56, 0xaa, 0x02, 0x10, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x45, 0x76, 0x6d, 0x2e, 0x56, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x45, 0x76, 0x6d, 0x5c, 0x56, 0x6d, 0x5c, 0x56, 0x31, 0xe2, 0x02, + 0x1c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x45, 0x76, 0x6d, 0x5c, 0x56, 0x6d, 0x5c, 0x56, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x45, 0x76, 0x6d, 0x3a, 0x3a, 0x56, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/evm/vm/v1/query_grpc.pb.go b/api/cosmos/evm/vm/v1/query_grpc.pb.go index 14b1b7fe8a..fa83e52707 100644 --- a/api/cosmos/evm/vm/v1/query_grpc.pb.go +++ b/api/cosmos/evm/vm/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 +// - protoc-gen-go-grpc v1.6.1 // - protoc (unknown) // source: cosmos/evm/vm/v1/query.proto diff --git a/api/cosmos/evm/vm/v1/tx.pulsar.go b/api/cosmos/evm/vm/v1/tx.pulsar.go index 46df45cb88..b4f034be70 100644 --- a/api/cosmos/evm/vm/v1/tx.pulsar.go +++ b/api/cosmos/evm/vm/v1/tx.pulsar.go @@ -3639,9 +3639,9 @@ type MsgEthereumTxResponse struct { // max_used_gas specifies the gas consumed by the transaction, not including // refunds MaxUsedGas uint64 `protobuf:"varint,6,opt,name=max_used_gas,json=maxUsedGas,proto3" json:"max_used_gas,omitempty"` - // include the block hash for json-rpc to use + // block_hash is included for json-rpc to use BlockHash []byte `protobuf:"bytes,7,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` - // include the block timestamp for json-rpc to use + // block_timestamp is included for json-rpc to use BlockTimestamp uint64 `protobuf:"varint,8,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` } diff --git a/api/cosmos/evm/vm/v1/tx_grpc.pb.go b/api/cosmos/evm/vm/v1/tx_grpc.pb.go index d1108fcb36..44c4d1c7f5 100644 --- a/api/cosmos/evm/vm/v1/tx_grpc.pb.go +++ b/api/cosmos/evm/vm/v1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 +// - protoc-gen-go-grpc v1.6.1 // - protoc (unknown) // source: cosmos/evm/vm/v1/tx.proto diff --git a/x/vm/types/evm.pb.go b/x/vm/types/evm.pb.go index 912f47df63..0dff88b3ca 100644 --- a/x/vm/types/evm.pb.go +++ b/x/vm/types/evm.pb.go @@ -70,9 +70,12 @@ type Params struct { AccessControl AccessControl `protobuf:"bytes,8,opt,name=access_control,json=accessControl,proto3" json:"access_control"` // active_static_precompiles defines the slice of hex addresses of the // precompiled contracts that are active - ActiveStaticPrecompiles []string `protobuf:"bytes,9,rep,name=active_static_precompiles,json=activeStaticPrecompiles,proto3" json:"active_static_precompiles,omitempty"` - HistoryServeWindow uint64 `protobuf:"varint,10,opt,name=history_serve_window,json=historyServeWindow,proto3" json:"history_serve_window,omitempty"` - ExtendedDenomOptions *ExtendedDenomOptions `protobuf:"bytes,11,opt,name=extended_denom_options,json=extendedDenomOptions,proto3" json:"extended_denom_options,omitempty"` + ActiveStaticPrecompiles []string `protobuf:"bytes,9,rep,name=active_static_precompiles,json=activeStaticPrecompiles,proto3" json:"active_static_precompiles,omitempty"` + // history_serve_window defines the block range for serving historical EVM + // state + HistoryServeWindow uint64 `protobuf:"varint,10,opt,name=history_serve_window,json=historyServeWindow,proto3" json:"history_serve_window,omitempty"` + // extended_denom_options defines the extended denom options for the EVM + ExtendedDenomOptions *ExtendedDenomOptions `protobuf:"bytes,11,opt,name=extended_denom_options,json=extendedDenomOptions,proto3" json:"extended_denom_options,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -157,7 +160,9 @@ func (m *Params) GetExtendedDenomOptions() *ExtendedDenomOptions { return nil } +// ExtendedDenomOptions defines the extended denom options for the EVM type ExtendedDenomOptions struct { + // extended_denom defines the extended denom used by the EVM ExtendedDenom string `protobuf:"bytes,1,opt,name=extended_denom,json=extendedDenom,proto3" json:"extended_denom,omitempty"` } @@ -983,12 +988,16 @@ func (m *Preinstall) GetCode() string { return "" } +// EvmCoinInfo defines the EVM coin denomination metadata type EvmCoinInfo struct { - Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // denom defines the base coin denomination + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // extended_denom defines the extended EVM coin denomination ExtendedDenom string `protobuf:"bytes,2,opt,name=extended_denom,json=extendedDenom,proto3" json:"extended_denom,omitempty"` - DisplayDenom string `protobuf:"bytes,3,opt,name=display_denom,json=displayDenom,proto3" json:"display_denom,omitempty"` - // decimals is now deprecated and will be removed in a future release. When it is removed we will assume - // the evm token denom is 18 decimal precision. + // display_denom defines the display denomination + DisplayDenom string `protobuf:"bytes,3,opt,name=display_denom,json=displayDenom,proto3" json:"display_denom,omitempty"` + // decimals is now deprecated and will be removed in a future release. When it + // is removed we will assume the evm token denom is 18 decimal precision. Decimals uint32 `protobuf:"varint,4,opt,name=decimals,proto3" json:"decimals,omitempty"` // Deprecated: Do not use. } diff --git a/x/vm/types/query.pb.go b/x/vm/types/query.pb.go index ecb82c7902..b26ac49bf3 100644 --- a/x/vm/types/query.pb.go +++ b/x/vm/types/query.pb.go @@ -881,7 +881,7 @@ type EthCallRequest struct { ProposerAddress github_com_cosmos_cosmos_sdk_types.ConsAddress `protobuf:"bytes,3,opt,name=proposer_address,json=proposerAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ConsAddress" json:"proposer_address,omitempty"` // chain_id is the eip155 chain id parsed from the requested block header ChainId int64 `protobuf:"varint,4,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` - // state overrides encoded as json + // overrides contains state overrides encoded as json Overrides []byte `protobuf:"bytes,5,opt,name=overrides,proto3" json:"overrides,omitempty"` } @@ -1356,6 +1356,8 @@ type QueryTraceCallRequest struct { BlockTime time.Time `protobuf:"bytes,7,opt,name=block_time,json=blockTime,proto3,stdtime" json:"block_time"` // chain_id is the the eip155 chain id parsed from the requested block header ChainId int64 `protobuf:"varint,8,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + // overrides contains state overrides in JSON format + Overrides []byte `protobuf:"bytes,9,opt,name=overrides,proto3" json:"overrides,omitempty"` } func (m *QueryTraceCallRequest) Reset() { *m = QueryTraceCallRequest{} } @@ -1447,6 +1449,13 @@ func (m *QueryTraceCallRequest) GetChainId() int64 { return 0 } +func (m *QueryTraceCallRequest) GetOverrides() []byte { + if m != nil { + return m.Overrides + } + return nil +} + // QueryTraceCallResponse defines TraceCall response type QueryTraceCallResponse struct { // data is the response serialized in bytes @@ -1683,115 +1692,115 @@ func init() { func init() { proto.RegisterFile("cosmos/evm/vm/v1/query.proto", fileDescriptor_0e8f08e175b3ef0c) } var fileDescriptor_0e8f08e175b3ef0c = []byte{ - // 1716 bytes of a gzipped FileDescriptorProto + // 1721 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0xcd, 0x6f, 0xdb, 0x46, 0x16, 0x37, 0x2d, 0xd9, 0x92, 0x46, 0x76, 0xa2, 0x4c, 0xec, 0x8d, 0xcc, 0xb5, 0x25, 0x87, 0xf1, 0x77, 0x1c, 0x32, 0xf6, 0x66, 0x17, 0xd8, 0xec, 0x61, 0xd7, 0x36, 0x1c, 0x27, 0x9b, 0x64, 0x91, 0x55, 0x8d, 0x1e, 0x0a, 0x14, 0xc2, 0x88, 0x9a, 0x50, 0x84, 0x45, 0x52, 0xe1, 0x50, 0xaa, 0x9c, - 0x8f, 0x1e, 0x8a, 0x36, 0x4d, 0x90, 0x4b, 0x8a, 0xde, 0xdb, 0x1c, 0x7b, 0x6b, 0x6f, 0xfd, 0x17, - 0x72, 0x0c, 0x50, 0x14, 0x28, 0x7a, 0x48, 0x8b, 0xa4, 0x40, 0xfb, 0x37, 0xf4, 0x54, 0xcc, 0x07, - 0x25, 0x52, 0x14, 0x25, 0xa7, 0x48, 0xd1, 0x1e, 0x0a, 0x18, 0x09, 0x67, 0xe6, 0xcd, 0x7b, 0xbf, - 0x79, 0xdf, 0x4f, 0x60, 0x56, 0x77, 0x88, 0xe5, 0x10, 0x0d, 0xb7, 0x2c, 0x8d, 0xfe, 0x6d, 0x68, - 0xb7, 0x9a, 0xd8, 0x3d, 0x54, 0x1b, 0xae, 0xe3, 0x39, 0x30, 0xc7, 0x4f, 0x55, 0xdc, 0xb2, 0x54, - 0xfa, 0xb7, 0x21, 0x9f, 0x40, 0x96, 0x69, 0x3b, 0x1a, 0xfb, 0x97, 0x13, 0xc9, 0x6b, 0x82, 0x45, - 0x05, 0x11, 0xcc, 0x6f, 0x6b, 0xad, 0x8d, 0x0a, 0xf6, 0xd0, 0x86, 0xd6, 0x40, 0x86, 0x69, 0x23, - 0xcf, 0x74, 0x6c, 0x41, 0x2b, 0x47, 0xc4, 0x51, 0xd6, 0xfc, 0x6c, 0x26, 0x72, 0xe6, 0xb5, 0xc5, - 0xd1, 0x94, 0xe1, 0x18, 0x0e, 0xfb, 0xd4, 0xe8, 0x97, 0xd8, 0x9d, 0x35, 0x1c, 0xc7, 0xa8, 0x63, - 0x0d, 0x35, 0x4c, 0x0d, 0xd9, 0xb6, 0xe3, 0x31, 0x49, 0x44, 0x9c, 0x16, 0xc5, 0x29, 0x5b, 0x55, - 0x9a, 0x37, 0x35, 0xcf, 0xb4, 0x30, 0xf1, 0x90, 0xd5, 0xe0, 0x04, 0xca, 0x14, 0x80, 0xff, 0xa7, - 0x68, 0x77, 0x1c, 0xfb, 0xa6, 0x69, 0x94, 0xf0, 0xad, 0x26, 0x26, 0x9e, 0x72, 0x0d, 0x9c, 0x0c, - 0xed, 0x92, 0x86, 0x63, 0x13, 0x0c, 0xff, 0x0e, 0xc6, 0x75, 0xb6, 0x93, 0x97, 0xe6, 0xa5, 0x95, - 0xec, 0xe6, 0x9c, 0xda, 0xab, 0x1a, 0x75, 0xa7, 0x86, 0x4c, 0x5b, 0x5c, 0x13, 0xc4, 0xca, 0x3f, - 0x05, 0xb7, 0x2d, 0x5d, 0x77, 0x9a, 0xb6, 0x27, 0x84, 0xc0, 0x3c, 0x48, 0xa1, 0x6a, 0xd5, 0xc5, - 0x84, 0x30, 0x76, 0x99, 0x92, 0xbf, 0xbc, 0x98, 0x7e, 0xf0, 0xa4, 0x38, 0xf2, 0xd3, 0x93, 0xe2, - 0x88, 0xa2, 0x83, 0xa9, 0xf0, 0x55, 0x81, 0x24, 0x0f, 0x52, 0x15, 0x54, 0x47, 0xb6, 0x8e, 0xfd, - 0xbb, 0x62, 0x09, 0xff, 0x0a, 0x32, 0xba, 0x53, 0xc5, 0xe5, 0x1a, 0x22, 0xb5, 0xfc, 0x28, 0x3b, - 0x4b, 0xd3, 0x8d, 0xcb, 0x88, 0xd4, 0xe0, 0x14, 0x18, 0xb3, 0x1d, 0x7a, 0x29, 0x31, 0x2f, 0xad, - 0x24, 0x4b, 0x7c, 0xa1, 0xfc, 0x1b, 0xcc, 0x88, 0xd7, 0xd2, 0xc7, 0xfc, 0x0a, 0x94, 0xf7, 0x25, - 0x20, 0xf7, 0xe3, 0x20, 0xc0, 0x2e, 0x82, 0x63, 0x5c, 0x4f, 0xe5, 0x30, 0xa7, 0x49, 0xbe, 0xbb, - 0xc5, 0x37, 0xa1, 0x0c, 0xd2, 0x84, 0x0a, 0xa5, 0xf8, 0x46, 0x19, 0xbe, 0xce, 0x9a, 0xb2, 0x40, - 0x9c, 0x6b, 0xd9, 0x6e, 0x5a, 0x15, 0xec, 0x8a, 0x17, 0x4c, 0x8a, 0xdd, 0xff, 0xb1, 0x4d, 0xe5, - 0x2a, 0x98, 0x65, 0x38, 0xde, 0x44, 0x75, 0xb3, 0x8a, 0x3c, 0xc7, 0xed, 0x79, 0xcc, 0x69, 0x30, - 0xa1, 0x3b, 0x76, 0x2f, 0x8e, 0x2c, 0xdd, 0xdb, 0x8a, 0xbc, 0xea, 0x91, 0x04, 0xe6, 0x62, 0xb8, - 0x89, 0x87, 0x2d, 0x83, 0xe3, 0x3e, 0xaa, 0x30, 0x47, 0x1f, 0xec, 0x6b, 0x7c, 0x9a, 0xef, 0x44, - 0xdb, 0xdc, 0xce, 0xaf, 0x62, 0x9e, 0xf3, 0xc2, 0x89, 0x3a, 0x57, 0x87, 0x39, 0x91, 0x72, 0x55, - 0x08, 0x7b, 0xc3, 0x73, 0x5c, 0x64, 0x0c, 0x17, 0x06, 0x73, 0x20, 0x71, 0x80, 0x0f, 0x85, 0xbf, - 0xd1, 0xcf, 0x80, 0xf8, 0x75, 0x21, 0xbe, 0xc3, 0x4c, 0x88, 0x9f, 0x02, 0x63, 0x2d, 0x54, 0x6f, - 0xfa, 0xc2, 0xf9, 0x42, 0xf9, 0x07, 0xc8, 0x09, 0x57, 0xaa, 0xbe, 0xd2, 0x23, 0x97, 0xc1, 0x89, - 0xc0, 0x3d, 0x21, 0x02, 0x82, 0x24, 0xf5, 0x7d, 0x76, 0x6b, 0xa2, 0xc4, 0xbe, 0x95, 0xdb, 0x22, - 0xe2, 0xf7, 0xdb, 0xd7, 0x1c, 0x83, 0xf8, 0x22, 0x20, 0x48, 0xb2, 0x88, 0xe1, 0xfc, 0xd9, 0x37, - 0xbc, 0x04, 0x40, 0x37, 0x77, 0xb1, 0xb7, 0x65, 0x37, 0x97, 0xfc, 0x90, 0xa7, 0x89, 0x4e, 0xe5, - 0x69, 0x52, 0x24, 0x3a, 0xf5, 0x46, 0x57, 0x55, 0xa5, 0xc0, 0xcd, 0x00, 0xc8, 0x87, 0x92, 0x50, - 0xac, 0x2f, 0x5c, 0xe0, 0x5c, 0x05, 0xc9, 0xba, 0x63, 0xd0, 0xd7, 0x25, 0x56, 0xb2, 0x9b, 0xd3, - 0xd1, 0xb4, 0x72, 0xcd, 0x31, 0x4a, 0x8c, 0x04, 0xee, 0xf5, 0x01, 0xb5, 0x3c, 0x14, 0x14, 0x97, - 0x13, 0x44, 0xd5, 0xc9, 0x7c, 0x37, 0x90, 0x8b, 0x2c, 0x5f, 0x0f, 0x4a, 0x49, 0x00, 0xf4, 0x77, - 0x05, 0xc0, 0x7f, 0x81, 0xf1, 0x06, 0xdb, 0x11, 0x99, 0x2f, 0x1f, 0x85, 0xc8, 0x6f, 0x6c, 0x67, - 0x9e, 0x3e, 0x2f, 0x8e, 0x7c, 0xf6, 0xe3, 0x17, 0x6b, 0x52, 0x49, 0x5c, 0x51, 0xbe, 0x96, 0xc0, - 0xb1, 0x5d, 0xaf, 0xb6, 0x83, 0xea, 0xf5, 0x80, 0xba, 0x91, 0x6b, 0x10, 0xdf, 0x30, 0xf4, 0x1b, - 0x9e, 0x02, 0x29, 0x03, 0x91, 0xb2, 0x8e, 0x1a, 0x22, 0x46, 0xc6, 0x0d, 0x44, 0x76, 0x50, 0x03, - 0xbe, 0x0d, 0x72, 0x0d, 0xd7, 0x69, 0x38, 0x04, 0xbb, 0x9d, 0x38, 0xa3, 0x31, 0x32, 0xb1, 0xbd, - 0xf9, 0xf3, 0xf3, 0xa2, 0x6a, 0x98, 0x5e, 0xad, 0x59, 0x51, 0x75, 0xc7, 0xd2, 0x44, 0xf1, 0xe0, - 0xff, 0x9d, 0x23, 0xd5, 0x03, 0xcd, 0x3b, 0x6c, 0x60, 0xa2, 0xee, 0x74, 0x03, 0xbc, 0x74, 0xdc, - 0xe7, 0xe5, 0x07, 0xe7, 0x0c, 0x48, 0xeb, 0x34, 0x6b, 0x97, 0xcd, 0x6a, 0x3e, 0x39, 0x2f, 0xad, - 0x24, 0x4a, 0x29, 0xb6, 0xbe, 0x52, 0x85, 0xb3, 0x20, 0xe3, 0xb4, 0xb0, 0xeb, 0x9a, 0x55, 0x4c, - 0xf2, 0x63, 0x0c, 0x6b, 0x77, 0x43, 0xd9, 0x07, 0x27, 0x77, 0x89, 0x67, 0x5a, 0xc8, 0xc3, 0x7b, - 0xa8, 0xab, 0xab, 0x1c, 0x48, 0x18, 0x88, 0x3f, 0x2d, 0x59, 0xa2, 0x9f, 0x74, 0xc7, 0xc5, 0x1e, - 0x7b, 0xd5, 0x44, 0x89, 0x7e, 0x52, 0x99, 0x2d, 0xab, 0x8c, 0x5d, 0xd7, 0xe1, 0xe1, 0x9e, 0x29, - 0xa5, 0x5a, 0xd6, 0x2e, 0x5d, 0x2a, 0x0f, 0x93, 0xbe, 0x8f, 0xb8, 0x48, 0xc7, 0xfb, 0x6d, 0x5f, - 0x65, 0x1b, 0x20, 0x61, 0x11, 0xbf, 0xf2, 0x14, 0xa3, 0xfa, 0xbf, 0x4e, 0x8c, 0x5d, 0xaf, 0x86, - 0x5d, 0xdc, 0xb4, 0xf6, 0xdb, 0x25, 0x4a, 0x0b, 0xff, 0x03, 0x26, 0x3c, 0xca, 0xa4, 0x2c, 0xaa, - 0x56, 0x22, 0xae, 0x6a, 0x31, 0x51, 0xa2, 0x6a, 0x65, 0xbd, 0xee, 0x02, 0xee, 0x80, 0x89, 0x86, - 0x8b, 0xab, 0x58, 0xc7, 0x84, 0x38, 0x2e, 0xc9, 0x27, 0x99, 0x83, 0x0e, 0x95, 0x1e, 0xba, 0x44, - 0xb3, 0x6e, 0xa5, 0xee, 0xe8, 0x07, 0x7e, 0x7e, 0x1b, 0x63, 0x4a, 0xce, 0xb2, 0x3d, 0x9e, 0xdd, - 0xe0, 0x1c, 0x00, 0x9c, 0x84, 0x05, 0xe1, 0x38, 0xd3, 0x48, 0x86, 0xed, 0xb0, 0xba, 0x75, 0xd9, - 0x3f, 0xa6, 0xe5, 0x3b, 0x9f, 0x62, 0xcf, 0x90, 0x55, 0x5e, 0xdb, 0x55, 0xbf, 0xb6, 0xab, 0xfb, - 0x7e, 0x6d, 0xdf, 0x9e, 0xa4, 0x4e, 0xf8, 0xf8, 0xbb, 0xa2, 0xc4, 0x1d, 0x91, 0x73, 0xa2, 0xc7, - 0x7d, 0x7d, 0x29, 0xfd, 0xdb, 0xf8, 0x52, 0x26, 0xec, 0x4b, 0x0a, 0x98, 0xe4, 0x6f, 0xb0, 0x50, - 0xbb, 0x4c, 0x1d, 0x04, 0x04, 0xd4, 0x70, 0x1d, 0xb5, 0xf7, 0x10, 0xf9, 0x6f, 0x32, 0x3d, 0x9a, - 0x4b, 0x94, 0xd2, 0x5e, 0xbb, 0x6c, 0xda, 0x55, 0xdc, 0x56, 0xd6, 0x44, 0xea, 0xec, 0xb8, 0x42, - 0x37, 0xaf, 0x55, 0x91, 0x87, 0xfc, 0xf0, 0xa1, 0xdf, 0xca, 0x97, 0x09, 0xf0, 0x97, 0x2e, 0xf1, - 0x36, 0xe5, 0x1a, 0x70, 0x1d, 0xaf, 0xed, 0x67, 0x97, 0xe1, 0xae, 0xe3, 0xb5, 0xc9, 0x6b, 0x70, - 0x9d, 0x3f, 0xad, 0x7e, 0x44, 0xab, 0x2b, 0xe7, 0xc0, 0xa9, 0x88, 0xe1, 0x06, 0x18, 0xfa, 0xc3, - 0x04, 0x98, 0xee, 0xd2, 0xff, 0x51, 0xb3, 0x6a, 0xaf, 0x03, 0x25, 0x7f, 0x07, 0x07, 0xda, 0x79, - 0x45, 0x07, 0x4a, 0xfb, 0x0e, 0x14, 0xf4, 0x9d, 0xa0, 0x71, 0xd3, 0x21, 0xe3, 0x2a, 0xeb, 0xc1, - 0x88, 0xe3, 0x86, 0x18, 0x60, 0xb7, 0xe9, 0x4e, 0x07, 0x47, 0xf0, 0x25, 0x8c, 0xbb, 0xb3, 0xc6, - 0x54, 0x78, 0x5b, 0xb0, 0xb8, 0x00, 0xd2, 0xb4, 0x9c, 0x97, 0x6f, 0x62, 0xd1, 0x21, 0x6d, 0xcf, - 0x7c, 0xfb, 0xbc, 0x38, 0xcd, 0xf5, 0x47, 0xaa, 0x07, 0xaa, 0xe9, 0x68, 0x16, 0xf2, 0x6a, 0xea, - 0x15, 0xdb, 0xa3, 0x9d, 0x1b, 0xbb, 0xad, 0x14, 0x45, 0xcf, 0xba, 0x57, 0x77, 0x2a, 0xa8, 0x7e, - 0xdd, 0xb4, 0xf7, 0x10, 0xb9, 0xe1, 0x9a, 0x9d, 0x86, 0x51, 0xd1, 0x41, 0x21, 0x8e, 0x40, 0x08, - 0xde, 0x02, 0x93, 0x96, 0x69, 0x53, 0x67, 0x2d, 0x37, 0xe8, 0x81, 0x90, 0x3e, 0x47, 0x95, 0x13, - 0x8f, 0x20, 0x6b, 0x75, 0x59, 0x6d, 0x7e, 0x94, 0x03, 0x63, 0x4c, 0x0a, 0xfc, 0x40, 0x02, 0x29, - 0xd1, 0x36, 0xc3, 0xc5, 0xa8, 0xf1, 0xfb, 0xcc, 0x45, 0xf2, 0xd2, 0x30, 0x32, 0x8e, 0x53, 0x39, - 0xfb, 0xde, 0x57, 0x3f, 0x7c, 0x3c, 0xba, 0x08, 0xcf, 0x68, 0x91, 0x99, 0x51, 0xb4, 0xce, 0xda, - 0x1d, 0xe1, 0xd8, 0xf7, 0xe0, 0x27, 0x12, 0x98, 0x0c, 0x4d, 0x27, 0xf0, 0x6c, 0x8c, 0x98, 0x7e, - 0x53, 0x90, 0xbc, 0x7e, 0x34, 0x62, 0x81, 0x6c, 0x93, 0x21, 0x5b, 0x87, 0x6b, 0x51, 0x64, 0xfe, - 0x20, 0x14, 0x01, 0xf8, 0xb9, 0x04, 0x72, 0xbd, 0x83, 0x06, 0x54, 0x63, 0xc4, 0xc6, 0xcc, 0x37, - 0xb2, 0x76, 0x64, 0x7a, 0x81, 0xf4, 0x22, 0x43, 0x7a, 0x01, 0x6e, 0x46, 0x91, 0xb6, 0xfc, 0x3b, - 0x5d, 0xb0, 0xc1, 0xd9, 0xe9, 0x1e, 0xbc, 0x2f, 0x81, 0x94, 0x18, 0x29, 0x62, 0x4d, 0x1b, 0x9e, - 0x56, 0x62, 0x4d, 0xdb, 0x33, 0x99, 0x28, 0xeb, 0x0c, 0xd6, 0x12, 0x5c, 0x88, 0xc2, 0x12, 0x23, - 0x0a, 0x09, 0xa8, 0xee, 0x91, 0x04, 0x52, 0x62, 0xb8, 0x88, 0x05, 0x12, 0x9e, 0x64, 0x62, 0x81, - 0xf4, 0xcc, 0x28, 0xca, 0x06, 0x03, 0x72, 0x16, 0xae, 0x46, 0x81, 0x10, 0x4e, 0xda, 0xc5, 0xa1, - 0xdd, 0x39, 0xc0, 0x87, 0xf7, 0xe0, 0x6d, 0x90, 0xa4, 0x33, 0x08, 0x54, 0x62, 0x5d, 0xa6, 0x33, - 0xd8, 0xc8, 0x67, 0x06, 0xd2, 0x08, 0x0c, 0xab, 0x0c, 0xc3, 0x19, 0x78, 0xba, 0x9f, 0x37, 0x55, - 0x43, 0x9a, 0x78, 0x07, 0x8c, 0xf3, 0x36, 0x1c, 0x2e, 0xc4, 0x70, 0x0e, 0x75, 0xfb, 0xf2, 0xe2, - 0x10, 0x2a, 0x81, 0x60, 0x9e, 0x21, 0x90, 0x61, 0x3e, 0x8a, 0x80, 0xb7, 0xf8, 0xb0, 0x0d, 0x52, - 0xa2, 0xc3, 0x87, 0xf3, 0x51, 0x9e, 0xe1, 0xe6, 0x5f, 0x5e, 0x1e, 0xd6, 0x81, 0xf8, 0x72, 0x15, - 0x26, 0x77, 0x16, 0xca, 0x51, 0xb9, 0xd8, 0xab, 0x95, 0x75, 0x2a, 0xee, 0x5d, 0x90, 0x0d, 0x34, - 0xe1, 0x47, 0x90, 0xde, 0xe7, 0xcd, 0x7d, 0xba, 0x78, 0x65, 0x89, 0xc9, 0x9e, 0x87, 0x85, 0x3e, - 0xb2, 0x05, 0x39, 0x4d, 0x91, 0xf0, 0x2e, 0x48, 0x89, 0xee, 0x2c, 0xd6, 0xf7, 0xc2, 0x8d, 0x7c, - 0xac, 0xef, 0xf5, 0x34, 0x79, 0x83, 0x5e, 0xcf, 0x2b, 0xab, 0xd7, 0x86, 0x0f, 0x24, 0x00, 0xba, - 0x6d, 0x03, 0x5c, 0x19, 0xc4, 0x3a, 0xd8, 0x12, 0xca, 0xab, 0x47, 0xa0, 0x14, 0x38, 0x16, 0x19, - 0x8e, 0x22, 0x9c, 0x8b, 0xc3, 0xc1, 0x6a, 0x25, 0x7c, 0x5f, 0x02, 0x99, 0x4e, 0x21, 0x84, 0xcb, - 0x83, 0xf8, 0x07, 0xcd, 0xb1, 0x32, 0x9c, 0x50, 0xe0, 0x58, 0x60, 0x38, 0x0a, 0x70, 0x36, 0x0e, - 0x07, 0xf3, 0x87, 0xbb, 0x34, 0x29, 0xb1, 0x5a, 0x38, 0x20, 0x29, 0x05, 0x0b, 0xf0, 0x80, 0xa4, - 0x14, 0x2a, 0xc8, 0x83, 0xec, 0xe1, 0x17, 0x6a, 0x1a, 0x80, 0xa2, 0x7b, 0x59, 0x88, 0x0d, 0xed, - 0xc0, 0x0f, 0x8d, 0xb1, 0x01, 0x18, 0xfe, 0xe1, 0x71, 0x50, 0x00, 0xf2, 0xf6, 0x0a, 0x7e, 0x2a, - 0x81, 0x13, 0x91, 0x92, 0x0e, 0xe3, 0xea, 0x41, 0x5c, 0x77, 0x20, 0x9f, 0x3f, 0xfa, 0x05, 0x01, - 0x6d, 0x99, 0x41, 0x3b, 0x0d, 0x8b, 0x51, 0x68, 0xa1, 0x2e, 0x62, 0xfb, 0xe2, 0xd3, 0x17, 0x05, - 0xe9, 0xd9, 0x8b, 0x82, 0xf4, 0xfd, 0x8b, 0x82, 0xf4, 0xf8, 0x65, 0x61, 0xe4, 0xd9, 0xcb, 0xc2, - 0xc8, 0x37, 0x2f, 0x0b, 0x23, 0x6f, 0xcd, 0x47, 0x7b, 0x4d, 0xca, 0xa4, 0x4d, 0xd9, 0xb0, 0x4e, - 0xb3, 0x32, 0xce, 0x9a, 0xb5, 0xbf, 0xfd, 0x12, 0x00, 0x00, 0xff, 0xff, 0xb2, 0xe7, 0xce, 0x3f, - 0xa9, 0x16, 0x00, 0x00, + 0x8f, 0x1e, 0x8a, 0x36, 0x48, 0x90, 0x4b, 0x8a, 0xde, 0xdb, 0x5c, 0x0a, 0xf4, 0xd6, 0xde, 0xfa, + 0x2f, 0xe4, 0x18, 0xa0, 0x28, 0x50, 0xf4, 0x90, 0x16, 0x49, 0x81, 0xf6, 0x6f, 0xe8, 0xa9, 0x98, + 0x0f, 0x4a, 0xa4, 0x28, 0x4a, 0x4e, 0x91, 0xa2, 0x3d, 0x14, 0x30, 0x12, 0xce, 0xcc, 0x9b, 0xf7, + 0x7e, 0xef, 0xcd, 0xfb, 0x14, 0x98, 0xd5, 0x1d, 0x62, 0x39, 0x44, 0xc3, 0x2d, 0x4b, 0xa3, 0x7f, + 0x1b, 0xda, 0xad, 0x26, 0x76, 0x0f, 0xd5, 0x86, 0xeb, 0x78, 0x0e, 0xcc, 0xf1, 0x53, 0x15, 0xb7, + 0x2c, 0x95, 0xfe, 0x6d, 0xc8, 0x27, 0x90, 0x65, 0xda, 0x8e, 0xc6, 0xfe, 0xe5, 0x44, 0xf2, 0x9a, + 0x60, 0x51, 0x41, 0x04, 0xf3, 0xdb, 0x5a, 0x6b, 0xa3, 0x82, 0x3d, 0xb4, 0xa1, 0x35, 0x90, 0x61, + 0xda, 0xc8, 0x33, 0x1d, 0x5b, 0xd0, 0xca, 0x11, 0x71, 0x94, 0x35, 0x3f, 0x9b, 0x89, 0x9c, 0x79, + 0x6d, 0x71, 0x34, 0x65, 0x38, 0x86, 0xc3, 0x3e, 0x35, 0xfa, 0x25, 0x76, 0x67, 0x0d, 0xc7, 0x31, + 0xea, 0x58, 0x43, 0x0d, 0x53, 0x43, 0xb6, 0xed, 0x78, 0x4c, 0x12, 0x11, 0xa7, 0x45, 0x71, 0xca, + 0x56, 0x95, 0xe6, 0x4d, 0xcd, 0x33, 0x2d, 0x4c, 0x3c, 0x64, 0x35, 0x38, 0x81, 0x32, 0x05, 0xe0, + 0xff, 0x29, 0xda, 0x1d, 0xc7, 0xbe, 0x69, 0x1a, 0x25, 0x7c, 0xab, 0x89, 0x89, 0xa7, 0x5c, 0x03, + 0x27, 0x43, 0xbb, 0xa4, 0xe1, 0xd8, 0x04, 0xc3, 0xbf, 0x83, 0x71, 0x9d, 0xed, 0xe4, 0xa5, 0x79, + 0x69, 0x25, 0xbb, 0x39, 0xa7, 0xf6, 0x9a, 0x46, 0xdd, 0xa9, 0x21, 0xd3, 0x16, 0xd7, 0x04, 0xb1, + 0xf2, 0x4f, 0xc1, 0x6d, 0x4b, 0xd7, 0x9d, 0xa6, 0xed, 0x09, 0x21, 0x30, 0x0f, 0x52, 0xa8, 0x5a, + 0x75, 0x31, 0x21, 0x8c, 0x5d, 0xa6, 0xe4, 0x2f, 0x2f, 0xa6, 0x1f, 0x3c, 0x29, 0x8e, 0xfc, 0xf4, + 0xa4, 0x38, 0xa2, 0xe8, 0x60, 0x2a, 0x7c, 0x55, 0x20, 0xc9, 0x83, 0x54, 0x05, 0xd5, 0x91, 0xad, + 0x63, 0xff, 0xae, 0x58, 0xc2, 0xbf, 0x82, 0x8c, 0xee, 0x54, 0x71, 0xb9, 0x86, 0x48, 0x2d, 0x3f, + 0xca, 0xce, 0xd2, 0x74, 0xe3, 0x32, 0x22, 0x35, 0x38, 0x05, 0xc6, 0x6c, 0x87, 0x5e, 0x4a, 0xcc, + 0x4b, 0x2b, 0xc9, 0x12, 0x5f, 0x28, 0xff, 0x06, 0x33, 0x42, 0x5b, 0xaa, 0xcc, 0xaf, 0x40, 0x79, + 0x5f, 0x02, 0x72, 0x3f, 0x0e, 0x02, 0xec, 0x22, 0x38, 0xc6, 0xed, 0x54, 0x0e, 0x73, 0x9a, 0xe4, + 0xbb, 0x5b, 0x7c, 0x13, 0xca, 0x20, 0x4d, 0xa8, 0x50, 0x8a, 0x6f, 0x94, 0xe1, 0xeb, 0xac, 0x29, + 0x0b, 0xc4, 0xb9, 0x96, 0xed, 0xa6, 0x55, 0xc1, 0xae, 0xd0, 0x60, 0x52, 0xec, 0xfe, 0x8f, 0x6d, + 0x2a, 0x57, 0xc1, 0x2c, 0xc3, 0xf1, 0x26, 0xaa, 0x9b, 0x55, 0xe4, 0x39, 0x6e, 0x8f, 0x32, 0xa7, + 0xc1, 0x84, 0xee, 0xd8, 0xbd, 0x38, 0xb2, 0x74, 0x6f, 0x2b, 0xa2, 0xd5, 0x23, 0x09, 0xcc, 0xc5, + 0x70, 0x13, 0x8a, 0x2d, 0x83, 0xe3, 0x3e, 0xaa, 0x30, 0x47, 0x1f, 0xec, 0x6b, 0x54, 0xcd, 0x77, + 0xa2, 0x6d, 0xfe, 0xce, 0xaf, 0xf2, 0x3c, 0xe7, 0x85, 0x13, 0x75, 0xae, 0x0e, 0x73, 0x22, 0xe5, + 0xaa, 0x10, 0xf6, 0x86, 0xe7, 0xb8, 0xc8, 0x18, 0x2e, 0x0c, 0xe6, 0x40, 0xe2, 0x00, 0x1f, 0x0a, + 0x7f, 0xa3, 0x9f, 0x01, 0xf1, 0xeb, 0x42, 0x7c, 0x87, 0x99, 0x10, 0x3f, 0x05, 0xc6, 0x5a, 0xa8, + 0xde, 0xf4, 0x85, 0xf3, 0x85, 0xf2, 0x0f, 0x90, 0x13, 0xae, 0x54, 0x7d, 0x25, 0x25, 0x97, 0xc1, + 0x89, 0xc0, 0x3d, 0x21, 0x02, 0x82, 0x24, 0xf5, 0x7d, 0x76, 0x6b, 0xa2, 0xc4, 0xbe, 0x95, 0xdb, + 0x22, 0xe2, 0xf7, 0xdb, 0xd7, 0x1c, 0x83, 0xf8, 0x22, 0x20, 0x48, 0xb2, 0x88, 0xe1, 0xfc, 0xd9, + 0x37, 0xbc, 0x04, 0x40, 0x37, 0x77, 0x31, 0xdd, 0xb2, 0x9b, 0x4b, 0x7e, 0xc8, 0xd3, 0x44, 0xa7, + 0xf2, 0x34, 0x29, 0x12, 0x9d, 0x7a, 0xa3, 0x6b, 0xaa, 0x52, 0xe0, 0x66, 0x00, 0xe4, 0x43, 0x49, + 0x18, 0xd6, 0x17, 0x2e, 0x70, 0xae, 0x82, 0x64, 0xdd, 0x31, 0xa8, 0x76, 0x89, 0x95, 0xec, 0xe6, + 0x74, 0x34, 0xad, 0x5c, 0x73, 0x8c, 0x12, 0x23, 0x81, 0x7b, 0x7d, 0x40, 0x2d, 0x0f, 0x05, 0xc5, + 0xe5, 0x04, 0x51, 0x75, 0x32, 0xdf, 0x0d, 0xe4, 0x22, 0xcb, 0xb7, 0x83, 0x52, 0x12, 0x00, 0xfd, + 0x5d, 0x01, 0xf0, 0x5f, 0x60, 0xbc, 0xc1, 0x76, 0x44, 0xe6, 0xcb, 0x47, 0x21, 0xf2, 0x1b, 0xdb, + 0x99, 0xa7, 0xcf, 0x8b, 0x23, 0x9f, 0xfd, 0xf8, 0xc5, 0x9a, 0x54, 0x12, 0x57, 0x94, 0xaf, 0x25, + 0x70, 0x6c, 0xd7, 0xab, 0xed, 0xa0, 0x7a, 0x3d, 0x60, 0x6e, 0xe4, 0x1a, 0xc4, 0x7f, 0x18, 0xfa, + 0x0d, 0x4f, 0x81, 0x94, 0x81, 0x48, 0x59, 0x47, 0x0d, 0x11, 0x23, 0xe3, 0x06, 0x22, 0x3b, 0xa8, + 0x01, 0xdf, 0x06, 0xb9, 0x86, 0xeb, 0x34, 0x1c, 0x82, 0xdd, 0x4e, 0x9c, 0xd1, 0x18, 0x99, 0xd8, + 0xde, 0xfc, 0xf9, 0x79, 0x51, 0x35, 0x4c, 0xaf, 0xd6, 0xac, 0xa8, 0xba, 0x63, 0x69, 0xa2, 0x78, + 0xf0, 0xff, 0xce, 0x91, 0xea, 0x81, 0xe6, 0x1d, 0x36, 0x30, 0x51, 0x77, 0xba, 0x01, 0x5e, 0x3a, + 0xee, 0xf3, 0xf2, 0x83, 0x73, 0x06, 0xa4, 0x75, 0x9a, 0xb5, 0xcb, 0x66, 0x35, 0x9f, 0x9c, 0x97, + 0x56, 0x12, 0xa5, 0x14, 0x5b, 0x5f, 0xa9, 0xc2, 0x59, 0x90, 0x71, 0x5a, 0xd8, 0x75, 0xcd, 0x2a, + 0x26, 0xf9, 0x31, 0x86, 0xb5, 0xbb, 0xa1, 0xec, 0x83, 0x93, 0xbb, 0xc4, 0x33, 0x2d, 0xe4, 0xe1, + 0x3d, 0xd4, 0xb5, 0x55, 0x0e, 0x24, 0x0c, 0xc4, 0x55, 0x4b, 0x96, 0xe8, 0x27, 0xdd, 0x71, 0xb1, + 0xc7, 0xb4, 0x9a, 0x28, 0xd1, 0x4f, 0x2a, 0xb3, 0x65, 0x95, 0xb1, 0xeb, 0x3a, 0x3c, 0xdc, 0x33, + 0xa5, 0x54, 0xcb, 0xda, 0xa5, 0x4b, 0xe5, 0x61, 0xd2, 0xf7, 0x11, 0x17, 0xe9, 0x78, 0xbf, 0xed, + 0x9b, 0x6c, 0x03, 0x24, 0x2c, 0xe2, 0x57, 0x9e, 0x62, 0xd4, 0xfe, 0xd7, 0x89, 0xb1, 0xeb, 0xd5, + 0xb0, 0x8b, 0x9b, 0xd6, 0x7e, 0xbb, 0x44, 0x69, 0xe1, 0x7f, 0xc0, 0x84, 0x47, 0x99, 0x94, 0x45, + 0xd5, 0x4a, 0xc4, 0x55, 0x2d, 0x26, 0x4a, 0x54, 0xad, 0xac, 0xd7, 0x5d, 0xc0, 0x1d, 0x30, 0xd1, + 0x70, 0x71, 0x15, 0xeb, 0x98, 0x10, 0xc7, 0x25, 0xf9, 0x24, 0x73, 0xd0, 0xa1, 0xd2, 0x43, 0x97, + 0x68, 0xd6, 0xad, 0xd4, 0x1d, 0xfd, 0xc0, 0xcf, 0x6f, 0x63, 0xcc, 0xc8, 0x59, 0xb6, 0xc7, 0xb3, + 0x1b, 0x9c, 0x03, 0x80, 0x93, 0xb0, 0x20, 0x1c, 0x67, 0x16, 0xc9, 0xb0, 0x1d, 0x56, 0xb7, 0x2e, + 0xfb, 0xc7, 0xb4, 0x7c, 0xe7, 0x53, 0x4c, 0x0d, 0x59, 0xe5, 0xb5, 0x5d, 0xf5, 0x6b, 0xbb, 0xba, + 0xef, 0xd7, 0xf6, 0xed, 0x49, 0xea, 0x84, 0x8f, 0xbf, 0x2b, 0x4a, 0xdc, 0x11, 0x39, 0x27, 0x7a, + 0xdc, 0xd7, 0x97, 0xd2, 0xbf, 0x8d, 0x2f, 0x65, 0xc2, 0xbe, 0xa4, 0x80, 0x49, 0xae, 0x83, 0x85, + 0xda, 0x65, 0xea, 0x20, 0x20, 0x60, 0x86, 0xeb, 0xa8, 0xbd, 0x87, 0xc8, 0x7f, 0x93, 0xe9, 0xd1, + 0x5c, 0xa2, 0x94, 0xf6, 0xda, 0x65, 0xd3, 0xae, 0xe2, 0xb6, 0xb2, 0x26, 0x52, 0x67, 0xc7, 0x15, + 0xba, 0x79, 0xad, 0x8a, 0x3c, 0xe4, 0x87, 0x0f, 0xfd, 0x56, 0xbe, 0x4c, 0x80, 0xbf, 0x74, 0x89, + 0xb7, 0x29, 0xd7, 0x80, 0xeb, 0x78, 0x6d, 0x3f, 0xbb, 0x0c, 0x77, 0x1d, 0xaf, 0x4d, 0x5e, 0x83, + 0xeb, 0xfc, 0xf9, 0xea, 0x47, 0x7c, 0x75, 0xe5, 0x1c, 0x38, 0x15, 0x79, 0xb8, 0x01, 0x0f, 0xfd, + 0x69, 0x02, 0x4c, 0x77, 0xe9, 0xff, 0xa8, 0x59, 0xb5, 0xd7, 0x81, 0x92, 0xbf, 0x83, 0x03, 0xed, + 0xbc, 0xa2, 0x03, 0xa5, 0x7d, 0x07, 0x0a, 0xfa, 0x4e, 0xf0, 0x71, 0xd3, 0x03, 0xca, 0x43, 0xa6, + 0xb7, 0x3c, 0xac, 0x07, 0xe3, 0x91, 0x3f, 0xd3, 0x80, 0x57, 0x9d, 0xee, 0xf4, 0x77, 0x04, 0x5f, + 0xc2, 0xb8, 0x3b, 0x89, 0x4c, 0x85, 0xb7, 0x05, 0x8b, 0x0b, 0x20, 0x4d, 0x8b, 0x7d, 0xf9, 0x26, + 0x16, 0xfd, 0xd3, 0xf6, 0xcc, 0xb7, 0xcf, 0x8b, 0xd3, 0xdc, 0xba, 0xa4, 0x7a, 0xa0, 0x9a, 0x8e, + 0x66, 0x21, 0xaf, 0xa6, 0x5e, 0xb1, 0x3d, 0xda, 0xd7, 0xb1, 0xdb, 0x4a, 0x51, 0x74, 0xb4, 0x7b, + 0x75, 0xa7, 0x82, 0xea, 0xd7, 0x4d, 0x7b, 0x0f, 0x91, 0x1b, 0xae, 0xd9, 0x69, 0x27, 0x15, 0x1d, + 0x14, 0xe2, 0x08, 0x84, 0xe0, 0x2d, 0x30, 0x69, 0x99, 0x36, 0x75, 0xe5, 0x72, 0x83, 0x1e, 0x08, + 0xe9, 0x73, 0xd4, 0x74, 0xf1, 0x08, 0xb2, 0x56, 0x97, 0xd5, 0xe6, 0x87, 0x39, 0x30, 0xc6, 0xa4, + 0xc0, 0x0f, 0x24, 0x90, 0x12, 0x4d, 0x35, 0x5c, 0x8c, 0xba, 0x46, 0x9f, 0xa9, 0x49, 0x5e, 0x1a, + 0x46, 0xc6, 0x71, 0x2a, 0x67, 0xdf, 0xfb, 0xea, 0x87, 0x8f, 0x46, 0x17, 0xe1, 0x19, 0x2d, 0x32, + 0x51, 0x8a, 0xc6, 0x5a, 0xbb, 0x23, 0xdc, 0xfe, 0x1e, 0xfc, 0x58, 0x02, 0x93, 0xa1, 0xd9, 0x05, + 0x9e, 0x8d, 0x11, 0xd3, 0x6f, 0x46, 0x92, 0xd7, 0x8f, 0x46, 0x2c, 0x90, 0x6d, 0x32, 0x64, 0xeb, + 0x70, 0x2d, 0x8a, 0xcc, 0x1f, 0x93, 0x22, 0x00, 0x3f, 0x97, 0x40, 0xae, 0x77, 0x0c, 0x81, 0x6a, + 0x8c, 0xd8, 0x98, 0xe9, 0x47, 0xd6, 0x8e, 0x4c, 0x2f, 0x90, 0x5e, 0x64, 0x48, 0x2f, 0xc0, 0xcd, + 0x28, 0xd2, 0x96, 0x7f, 0xa7, 0x0b, 0x36, 0x38, 0x59, 0xdd, 0x83, 0xf7, 0x25, 0x90, 0x12, 0x03, + 0x47, 0xec, 0xd3, 0x86, 0x67, 0x99, 0xd8, 0xa7, 0xed, 0x99, 0x5b, 0x94, 0x75, 0x06, 0x6b, 0x09, + 0x2e, 0x44, 0x61, 0x89, 0x01, 0x86, 0x04, 0x4c, 0xf7, 0x48, 0x02, 0x29, 0x31, 0x7a, 0xc4, 0x02, + 0x09, 0xcf, 0x39, 0xb1, 0x40, 0x7a, 0x26, 0x18, 0x65, 0x83, 0x01, 0x39, 0x0b, 0x57, 0xa3, 0x40, + 0x08, 0x27, 0xed, 0xe2, 0xd0, 0xee, 0x1c, 0xe0, 0xc3, 0x7b, 0xf0, 0x36, 0x48, 0xd2, 0x09, 0x05, + 0x2a, 0xb1, 0x2e, 0xd3, 0x19, 0x7b, 0xe4, 0x33, 0x03, 0x69, 0x04, 0x86, 0x55, 0x86, 0xe1, 0x0c, + 0x3c, 0xdd, 0xcf, 0x9b, 0xaa, 0x21, 0x4b, 0xbc, 0x03, 0xc6, 0x79, 0x93, 0x0e, 0x17, 0x62, 0x38, + 0x87, 0x66, 0x01, 0x79, 0x71, 0x08, 0x95, 0x40, 0x30, 0xcf, 0x10, 0xc8, 0x30, 0x1f, 0x45, 0xc0, + 0x07, 0x00, 0xd8, 0x06, 0x29, 0xd1, 0xff, 0xc3, 0xf9, 0x28, 0xcf, 0xf0, 0x68, 0x20, 0x2f, 0x0f, + 0xeb, 0x4f, 0x7c, 0xb9, 0x0a, 0x93, 0x3b, 0x0b, 0xe5, 0xa8, 0x5c, 0xec, 0xd5, 0xca, 0x3a, 0x15, + 0xf7, 0x2e, 0xc8, 0x06, 0x5a, 0xf4, 0x23, 0x48, 0xef, 0xa3, 0x73, 0x9f, 0x1e, 0x5f, 0x59, 0x62, + 0xb2, 0xe7, 0x61, 0xa1, 0x8f, 0x6c, 0x41, 0x4e, 0x53, 0x24, 0xbc, 0x0b, 0x52, 0xa2, 0x77, 0x8b, + 0xf5, 0xbd, 0x70, 0x9b, 0x1f, 0xeb, 0x7b, 0x3d, 0x2d, 0xe0, 0x20, 0xed, 0x79, 0xdd, 0xf5, 0xda, + 0xf0, 0x81, 0x04, 0x40, 0xb7, 0xa9, 0x80, 0x2b, 0x83, 0x58, 0x07, 0x1b, 0x46, 0x79, 0xf5, 0x08, + 0x94, 0x02, 0xc7, 0x22, 0xc3, 0x51, 0x84, 0x73, 0x71, 0x38, 0x58, 0x25, 0x85, 0xef, 0x4b, 0x20, + 0xd3, 0x29, 0x84, 0x70, 0x79, 0x10, 0xff, 0xe0, 0x73, 0xac, 0x0c, 0x27, 0x14, 0x38, 0x16, 0x18, + 0x8e, 0x02, 0x9c, 0x8d, 0xc3, 0xc1, 0xfc, 0xe1, 0x2e, 0x4d, 0x4a, 0xac, 0x16, 0x0e, 0x48, 0x4a, + 0xc1, 0x02, 0x3c, 0x20, 0x29, 0x85, 0x0a, 0xf2, 0xa0, 0xf7, 0xf0, 0x0b, 0x35, 0x0d, 0x40, 0xd1, + 0xdb, 0x2c, 0xc4, 0x86, 0x76, 0xe0, 0x67, 0xc8, 0xd8, 0x00, 0x0c, 0xff, 0x2c, 0x39, 0x28, 0x00, + 0x79, 0xf3, 0x05, 0x3f, 0x91, 0xc0, 0x89, 0x48, 0x49, 0x87, 0x71, 0xf5, 0x20, 0xae, 0x3b, 0x90, + 0xcf, 0x1f, 0xfd, 0x82, 0x80, 0xb6, 0xcc, 0xa0, 0x9d, 0x86, 0xc5, 0x28, 0xb4, 0x50, 0x17, 0xb1, + 0x7d, 0xf1, 0xe9, 0x8b, 0x82, 0xf4, 0xec, 0x45, 0x41, 0xfa, 0xfe, 0x45, 0x41, 0x7a, 0xfc, 0xb2, + 0x30, 0xf2, 0xec, 0x65, 0x61, 0xe4, 0x9b, 0x97, 0x85, 0x91, 0xb7, 0xe6, 0xa3, 0x9d, 0x28, 0x65, + 0xd2, 0xa6, 0x6c, 0x58, 0x1f, 0x5a, 0x19, 0x67, 0xad, 0xdc, 0xdf, 0x7e, 0x09, 0x00, 0x00, 0xff, + 0xff, 0xe5, 0x54, 0x5a, 0x79, 0xc7, 0x16, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3389,6 +3398,13 @@ func (m *QueryTraceCallRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Overrides) > 0 { + i -= len(m.Overrides) + copy(dAtA[i:], m.Overrides) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Overrides))) + i-- + dAtA[i] = 0x4a + } if m.ChainId != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.ChainId)) i-- @@ -4046,6 +4062,10 @@ func (m *QueryTraceCallRequest) Size() (n int) { if m.ChainId != 0 { n += 1 + sovQuery(uint64(m.ChainId)) } + l = len(m.Overrides) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -7098,6 +7118,40 @@ func (m *QueryTraceCallRequest) Unmarshal(dAtA []byte) error { break } } + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Overrides", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Overrides = append(m.Overrides[:0], dAtA[iNdEx:postIndex]...) + if m.Overrides == nil { + m.Overrides = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/x/vm/types/tx.pb.go b/x/vm/types/tx.pb.go index 4247dfe4db..87ebd9b66c 100644 --- a/x/vm/types/tx.pb.go +++ b/x/vm/types/tx.pb.go @@ -131,9 +131,9 @@ type MsgEthereumTxResponse struct { // max_used_gas specifies the gas consumed by the transaction, not including // refunds MaxUsedGas uint64 `protobuf:"varint,6,opt,name=max_used_gas,json=maxUsedGas,proto3" json:"max_used_gas,omitempty"` - // include the block hash for json-rpc to use + // block_hash is included for json-rpc to use BlockHash []byte `protobuf:"bytes,7,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` - // include the block timestamp for json-rpc to use + // block_timestamp is included for json-rpc to use BlockTimestamp uint64 `protobuf:"varint,8,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` } From 6cd35570258c9fbfe1e89a541e977510c1b0d012 Mon Sep 17 00:00:00 2001 From: nowooj Date: Thu, 14 May 2026 10:40:17 +0900 Subject: [PATCH 4/8] refactor: update TraceCall to use TraceCallConfig for enhanced state overrides --- rpc/backend/backend.go | 2 +- rpc/backend/tracing.go | 5 +++-- rpc/namespaces/ethereum/debug/api.go | 2 +- rpc/types/types.go | 6 ++++++ x/vm/keeper/grpc_query.go | 22 ++++++++++++++++------ 5 files changed, 27 insertions(+), 10 deletions(-) diff --git a/rpc/backend/backend.go b/rpc/backend/backend.go index e39fc9ad7c..abd96ec8a2 100644 --- a/rpc/backend/backend.go +++ b/rpc/backend/backend.go @@ -136,7 +136,7 @@ type EVMBackend interface { // Tracing TraceTransaction(ctx context.Context, hash common.Hash, config *types.TraceConfig) (interface{}, error) TraceBlock(ctx context.Context, height types.BlockNumber, config *types.TraceConfig, block *tmrpctypes.ResultBlock) ([]*evmtypes.TxTraceResult, error) - TraceCall(ctx context.Context, args evmtypes.TransactionArgs, blockNrOrHash types.BlockNumberOrHash, config *types.TraceConfig) (interface{}, error) + TraceCall(ctx context.Context, args evmtypes.TransactionArgs, blockNrOrHash types.BlockNumberOrHash, config *types.TraceCallConfig) (interface{}, error) } // TrackingMempool is a set of methods that a mempool may implement in order to diff --git a/rpc/backend/tracing.go b/rpc/backend/tracing.go index 0c476daa64..5612082a4a 100644 --- a/rpc/backend/tracing.go +++ b/rpc/backend/tracing.go @@ -247,7 +247,7 @@ func (b *Backend) TraceCall( ctx context.Context, args evmtypes.TransactionArgs, blockNrOrHash rpctypes.BlockNumberOrHash, - config *rpctypes.TraceConfig, + config *rpctypes.TraceCallConfig, ) (result interface{}, err error) { var toAddr string if args.To != nil { @@ -286,7 +286,8 @@ func (b *Backend) TraceCall( } if config != nil { - traceCallRequest.TraceConfig = b.convertConfig(config) + traceCallRequest.TraceConfig = b.convertConfig(&config.TraceConfig) + traceCallRequest.Overrides = config.StateOverrides } // get the context of provided block diff --git a/rpc/namespaces/ethereum/debug/api.go b/rpc/namespaces/ethereum/debug/api.go index 4b0de57d4c..3778d6cd3c 100644 --- a/rpc/namespaces/ethereum/debug/api.go +++ b/rpc/namespaces/ethereum/debug/api.go @@ -157,7 +157,7 @@ func (a *API) TraceBlock(ctx context.Context, tblockRlp hexutil.Bytes, config *r // TraceCall lets you trace a given eth_call. It collects the structured logs // created during the execution of EVM if the given transaction was added on // top of the provided block and returns them as a JSON object. -func (a *API) TraceCall(ctx context.Context, args evmtypes.TransactionArgs, blockNrOrHash rpctypes.BlockNumberOrHash, config *rpctypes.TraceConfig) (interface{}, error) { +func (a *API) TraceCall(ctx context.Context, args evmtypes.TransactionArgs, blockNrOrHash rpctypes.BlockNumberOrHash, config *rpctypes.TraceCallConfig) (interface{}, error) { a.logger.Debug("debug_traceCall", "args", args, "block number or hash", blockNrOrHash) ctx, span := tracer.Start(ctx, "eth_traceCall") defer span.End() diff --git a/rpc/types/types.go b/rpc/types/types.go index adaed22bc8..97607fb7db 100644 --- a/rpc/types/types.go +++ b/rpc/types/types.go @@ -189,3 +189,9 @@ type TraceConfig struct { evmtypes.TraceConfig TracerConfig json.RawMessage `json:"tracerConfig"` } + +// TraceCallConfig extends TraceConfig with state overrides for debug_traceCall. +type TraceCallConfig struct { + TraceConfig + StateOverrides json.RawMessage `json:"stateOverrides"` +} diff --git a/x/vm/keeper/grpc_query.go b/x/vm/keeper/grpc_query.go index d8464d47bd..5d32a2154c 100644 --- a/x/vm/keeper/grpc_query.go +++ b/x/vm/keeper/grpc_query.go @@ -773,8 +773,17 @@ func (k Keeper) TraceCall(c context.Context, req *types.QueryTraceCallRequest) ( } msg := args.ToMessage(baseFee, true, true) + // Get state overrides + var overrides *rpctypes.StateOverride + if len(req.Overrides) > 0 { + overrides = new(rpctypes.StateOverride) + if err = json.Unmarshal(req.Overrides, overrides); err != nil { + return nil, status.Error(codes.InvalidArgument, fmt.Sprintf("invalid state overrides format: %s", err.Error())) + } + } + // trace call - result, err := k.traceTxWithMsg(ctx, cfg, txConfig, msg, req.GetTraceConfig(), false) + result, err := k.traceTxWithMsg(ctx, cfg, txConfig, msg, req.GetTraceConfig(), false, overrides) if err != nil { // error will be returned with detail status from traceTx return nil, err @@ -809,7 +818,7 @@ func (k *Keeper) traceTx( return nil, status.Error(codes.Internal, err.Error()) } - return k.traceTxWithMsg(ctx, cfg, txConfig, msg, traceConfig, commitMessage) + return k.traceTxWithMsg(ctx, cfg, txConfig, msg, traceConfig, commitMessage, nil) } // traceTxWithMsg do trace on one Ethereum message, it returns a tuple: (traceResult, error). @@ -820,6 +829,7 @@ func (k *Keeper) traceTxWithMsg( msg *core.Message, traceConfig *types.TraceConfig, commitMessage bool, + overrides *rpctypes.StateOverride, ) (_ *any, err error) { ctx, span := ctx.StartSpan(tracer, "traceTxWithMsg", trace.WithAttributes( attribute.String("tx_hash", txConfig.TxHash.Hex()), @@ -830,7 +840,7 @@ func (k *Keeper) traceTxWithMsg( // Assemble the structured logger or the JavaScript tracer var ( tracer *tracers.Tracer - overrides *ethparams.ChainConfig + chainOverrides *ethparams.ChainConfig jsonTracerConfig json.RawMessage timeout = defaultTraceTimeout ) @@ -845,7 +855,7 @@ func (k *Keeper) traceTxWithMsg( } if traceConfig.Overrides != nil { - overrides = traceConfig.Overrides.EthereumConfig(types.GetEthChainConfig().ChainID) + chainOverrides = traceConfig.Overrides.EthereumConfig(types.GetEthChainConfig().ChainID) } logConfig := logger.Config{ @@ -854,7 +864,7 @@ func (k *Keeper) traceTxWithMsg( DisableStack: traceConfig.DisableStack, EnableReturnData: traceConfig.EnableReturnData, Limit: int(traceConfig.Limit), - Overrides: overrides, + Overrides: chainOverrides, } sLogger := logger.NewStructLogger(&logConfig) @@ -902,7 +912,7 @@ func (k *Keeper) traceTxWithMsg( // Build EVM execution context ctx = buildTraceCtx(ctx, msg.GasLimit) stateDB := statedb.New(ctx, k, txConfig) - _, err = k.ApplyMessageWithConfig(ctx, stateDB, *msg, tracer.Hooks, commitMessage, false, cfg, txConfig, false, nil) + _, err = k.ApplyMessageWithConfig(ctx, stateDB, *msg, tracer.Hooks, commitMessage, false, cfg, txConfig, false, overrides) if err != nil { return nil, status.Error(codes.Internal, err.Error()) } From 22b00d8fb87e9b698783a6281cd353e6fc142643 Mon Sep 17 00:00:00 2001 From: nowooj Date: Thu, 14 May 2026 11:26:01 +0900 Subject: [PATCH 5/8] feat: tests for traceCall state overrides --- .../rpc/backend/test_evm_query_client.go | 7 + tests/integration/rpc/backend/test_tracing.go | 41 ++++- tests/integration/x/vm/test_grpc_query.go | 141 ++++++++++++------ 3 files changed, 138 insertions(+), 51 deletions(-) diff --git a/tests/integration/rpc/backend/test_evm_query_client.go b/tests/integration/rpc/backend/test_evm_query_client.go index 7225c2e784..19a52fb7cb 100644 --- a/tests/integration/rpc/backend/test_evm_query_client.go +++ b/tests/integration/rpc/backend/test_evm_query_client.go @@ -98,6 +98,13 @@ func RegisterTraceCallWithTracer(queryClient *mocks.EVMQueryClient, msgEthTx *ev })).Return(&evmtypes.QueryTraceCallResponse{Data: data}, nil) } +func RegisterTraceCallWithOverrides(queryClient *mocks.EVMQueryClient, overrides []byte) { + data := []byte{0x7b, 0x22, 0x74, 0x65, 0x73, 0x74, 0x22, 0x3a, 0x20, 0x22, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x22, 0x7d} // {"test": "trace_call"} + queryClient.EXPECT().TraceCall(mock.Anything, mock.MatchedBy(func(req *evmtypes.QueryTraceCallRequest) bool { + return req.TraceConfig != nil && bytes.Equal(req.Overrides, overrides) + })).Return(&evmtypes.QueryTraceCallResponse{Data: data}, nil) +} + func RegisterTraceCallError(queryClient *mocks.EVMQueryClient) { queryClient.EXPECT().TraceCall(mock.Anything, mock.AnythingOfType("*types.QueryTraceCallRequest")). Return(nil, errortypes.ErrInvalidRequest) diff --git a/tests/integration/rpc/backend/test_tracing.go b/tests/integration/rpc/backend/test_tracing.go index 8a5193c2ff..7bfba0867b 100644 --- a/tests/integration/rpc/backend/test_tracing.go +++ b/tests/integration/rpc/backend/test_tracing.go @@ -216,7 +216,7 @@ func (s *TestSuite) TestTraceCall() { registerMock func() args evmtypes.TransactionArgs blockNrOrHash rpctypes.BlockNumberOrHash - config *rpctypes.TraceConfig + config *rpctypes.TraceCallConfig expResult interface{} expPass bool }{ @@ -241,7 +241,7 @@ func (s *TestSuite) TestTraceCall() { return &bn }(), }, - &rpctypes.TraceConfig{}, + &rpctypes.TraceCallConfig{}, map[string]interface{}{"test": "trace_call"}, true, }, @@ -268,7 +268,7 @@ func (s *TestSuite) TestTraceCall() { return &h }(), }, - &rpctypes.TraceConfig{}, + &rpctypes.TraceCallConfig{}, map[string]interface{}{"test": "trace_call"}, true, }, @@ -293,14 +293,43 @@ func (s *TestSuite) TestTraceCall() { return &bn }(), }, - &rpctypes.TraceConfig{ - TraceConfig: evmtypes.TraceConfig{ - Tracer: "callTracer", + &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: evmtypes.TraceConfig{ + Tracer: "callTracer", + }, }, }, map[string]interface{}{"type": "CALL"}, true, }, + { + "pass - trace call with state overrides", + func() { + var ( + QueryClient = s.backend.QueryClient.QueryClient.(*mocks.EVMQueryClient) + client = s.backend.ClientCtx.Client.(*mocks.Client) + height = int64(1) + ) + RegisterHeader(client, &height, nil) + RegisterTraceCallWithOverrides(QueryClient, []byte(`{"0x0000000000000000000000000000000000000002":{"code":"0x00"}}`)) + }, + evmtypes.TransactionArgs{ + From: &common.Address{0x1}, + To: &common.Address{0x2}, + }, + rpctypes.BlockNumberOrHash{ + BlockNumber: func() *rpctypes.BlockNumber { + bn := rpctypes.BlockNumber(1) + return &bn + }(), + }, + &rpctypes.TraceCallConfig{ + StateOverrides: []byte(`{"0x0000000000000000000000000000000000000002":{"code":"0x00"}}`), + }, + map[string]interface{}{"test": "trace_call"}, + true, + }, { "fail - invalid block number or hash", func() {}, diff --git a/tests/integration/x/vm/test_grpc_query.go b/tests/integration/x/vm/test_grpc_query.go index 7867bd31b1..8e8976fd10 100644 --- a/tests/integration/x/vm/test_grpc_query.go +++ b/tests/integration/x/vm/test_grpc_query.go @@ -18,6 +18,7 @@ import ( "github.com/holiman/uint256" "github.com/stretchr/testify/require" + rpctypes "github.com/cosmos/evm/rpc/types" "github.com/cosmos/evm/server/config" testconstants "github.com/cosmos/evm/testutil/constants" "github.com/cosmos/evm/testutil/integration/evm/factory" @@ -1697,11 +1698,11 @@ func (s *KeeperTestSuite) TestTraceCall() { s.Require().NoError(s.Network.NextBlock()) testCases := []struct { - msg string - getCallArgs func() []byte - getTraceConfig func() *types.TraceConfig - expPass bool - traceResponse string + msg string + getCallArgs func() []byte + traceCallConfig *rpctypes.TraceCallConfig + expPass bool + traceResponse string }{ { msg: "default trace with contract call", @@ -1716,9 +1717,6 @@ func (s *KeeperTestSuite) TestTraceCall() { s.Require().NoError(err) return input }, - getTraceConfig: func() *types.TraceConfig { - return nil // Use default tracer - }, expPass: true, traceResponse: "\"gas\":", }, @@ -1734,10 +1732,12 @@ func (s *KeeperTestSuite) TestTraceCall() { s.Require().NoError(err) return input }, - getTraceConfig: func() *types.TraceConfig { - return &types.TraceConfig{ - Tracer: "callTracer", - } + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Tracer: "callTracer", + }, + }, }, expPass: true, traceResponse: "\"type\":\"CALL\"", @@ -1754,10 +1754,12 @@ func (s *KeeperTestSuite) TestTraceCall() { s.Require().NoError(err) return input }, - getTraceConfig: func() *types.TraceConfig { - return &types.TraceConfig{ - Tracer: "prestateTracer", - } + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Tracer: "prestateTracer", + }, + }, }, expPass: true, traceResponse: "\"balance\":", @@ -1774,13 +1776,15 @@ func (s *KeeperTestSuite) TestTraceCall() { s.Require().NoError(err) return input }, - getTraceConfig: func() *types.TraceConfig { - return &types.TraceConfig{ - DisableStack: true, - DisableStorage: true, - EnableMemory: false, - EnableReturnData: true, - } + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + DisableStack: true, + DisableStorage: true, + EnableMemory: false, + EnableReturnData: true, + }, + }, }, expPass: true, traceResponse: "\"returnValue\":", @@ -1797,10 +1801,12 @@ func (s *KeeperTestSuite) TestTraceCall() { s.Require().NoError(err) return input }, - getTraceConfig: func() *types.TraceConfig { - return &types.TraceConfig{ - Tracer: "{data: [], fault: function(log) {}, step: function(log) { if(log.op.toString() == \"CALL\") this.data.push(log.stack.peek(0)); }, result: function() { return this.data; }}", - } + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Tracer: "{data: [], fault: function(log) {}, step: function(log) { if(log.op.toString() == \"CALL\") this.data.push(log.stack.peek(0)); }, result: function() { return this.data; }}", + }, + }, }, expPass: true, traceResponse: "[", @@ -1810,10 +1816,12 @@ func (s *KeeperTestSuite) TestTraceCall() { getCallArgs: func() []byte { return nil // Simple value transfer, no data }, - getTraceConfig: func() *types.TraceConfig { - return &types.TraceConfig{ - Tracer: "callTracer", - } + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Tracer: "callTracer", + }, + }, }, expPass: true, traceResponse: "\"type\":\"CALL\"", @@ -1823,10 +1831,12 @@ func (s *KeeperTestSuite) TestTraceCall() { getCallArgs: func() []byte { return nil }, - getTraceConfig: func() *types.TraceConfig { - return &types.TraceConfig{ - Limit: -1, - } + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Limit: -1, + }, + }, }, expPass: false, }, @@ -1835,10 +1845,12 @@ func (s *KeeperTestSuite) TestTraceCall() { getCallArgs: func() []byte { return nil }, - getTraceConfig: func() *types.TraceConfig { - return &types.TraceConfig{ - Tracer: "invalid_tracer", - } + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Tracer: "invalid_tracer", + }, + }, }, expPass: false, }, @@ -1847,10 +1859,43 @@ func (s *KeeperTestSuite) TestTraceCall() { getCallArgs: func() []byte { return nil }, - getTraceConfig: func() *types.TraceConfig { - return &types.TraceConfig{ - Timeout: "wrong_time", - } + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Timeout: "wrong_time", + }, + }, + }, + expPass: false, + }, + { + msg: "trace call with state overrides", + getCallArgs: func() []byte { + return []byte{} + }, + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Tracer: "callTracer", + }, + }, + StateOverrides: []byte(fmt.Sprintf(`{"%s":{"code":"0x600160005260206000f3"}}`, contractAddr.Hex())), + }, + expPass: true, + traceResponse: `"output":"0x0000000000000000000000000000000000000000000000000000000000000001"`, + }, + { + msg: "invalid state overrides", + getCallArgs: func() []byte { + return []byte{} + }, + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Tracer: "callTracer", + }, + }, + StateOverrides: []byte(fmt.Sprintf(`{"%s":{"code":`, contractAddr.Hex())), }, expPass: false, }, @@ -1898,14 +1943,20 @@ func (s *KeeperTestSuite) TestTraceCall() { // Build trace request ctx := s.Network.GetContext() + traceCallConfig := tc.traceCallConfig + if traceCallConfig == nil { + traceCallConfig = &rpctypes.TraceCallConfig{} + } + traceReq := &types.QueryTraceCallRequest{ Args: argsBytes, - TraceConfig: tc.getTraceConfig(), + TraceConfig: &traceCallConfig.TraceConfig.TraceConfig, BlockNumber: currentBlock, BlockTime: ctx.BlockTime(), BlockHash: common.BytesToHash(ctx.HeaderHash()).Hex(), ProposerAddress: sdk.ConsAddress(ctx.BlockHeader().ProposerAddress), ChainId: s.Network.GetEIP155ChainID().Int64(), + Overrides: traceCallConfig.StateOverrides, } // Execute trace call @@ -1921,7 +1972,7 @@ func (s *KeeperTestSuite) TestTraceCall() { } // For non-custom tracers, verify the result structure - if tc.getTraceConfig() == nil || tc.getTraceConfig().Tracer == "" { + if traceCallConfig.Tracer == "" { var result ethlogger.ExecutionResult s.Require().NoError(json.Unmarshal(res.Data, &result)) s.Require().NotNil(result.Gas) From 80b272272cc75943265089b6db9aa3615b1c60c4 Mon Sep 17 00:00:00 2001 From: nowooj Date: Thu, 14 May 2026 11:44:15 +0900 Subject: [PATCH 6/8] chore: state overrides in debug_traceCall --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b837f2dbd8..b047b46e27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ - [\#815](https://github.com/cosmos/evm/pull/815) Support for multi gRPC query clients serve with old binary. - [\#1082](https://github.com/cosmos/evm/pull/1082) Enable incarnation cache for verify result. - [\#1096](https://github.com/cosmos/evm/pull/1096) Allow eth_call overrides work with static precompiles. +- [\#1181](https://github.com/cosmos/evm/pull/1181) Support state overrides in `debug_traceCall`. ### BUG FIXES From a6777d549c857e59b5990e2f835e39933bd82888 Mon Sep 17 00:00:00 2001 From: nowooj Date: Fri, 29 May 2026 11:00:11 +0900 Subject: [PATCH 7/8] refactor: keep trace execution options readable --- x/vm/keeper/grpc_query.go | 57 +++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 20 deletions(-) diff --git a/x/vm/keeper/grpc_query.go b/x/vm/keeper/grpc_query.go index 8c2ec2a4cd..999cfcd46e 100644 --- a/x/vm/keeper/grpc_query.go +++ b/x/vm/keeper/grpc_query.go @@ -519,6 +519,14 @@ func (k Keeper) EstimateGasInternal(c context.Context, req *types.EthCallRequest return &types.EstimateGasResponse{Gas: hi}, nil } +type traceTxConfig struct { + evmConfig *statedb.EVMConfig + txConfig statedb.TxConfig + traceConfig *types.TraceConfig + commit bool + stateOverrides *rpctypes.StateOverride +} + // TraceTx configures a new tracer according to the provided configuration, and // executes the given message in the provided environment. The return value will // be tracer-dependent. @@ -615,7 +623,11 @@ func (k Keeper) TraceTx(c context.Context, req *types.QueryTraceTxRequest) (_ *t txConfig.TxIndex++ } - result, err := k.traceTx(ctx, cfg, txConfig, signer, tx, req.TraceConfig, false) + result, err := k.traceTx(ctx, signer, tx, traceTxConfig{ + evmConfig: cfg, + txConfig: txConfig, + traceConfig: req.TraceConfig, + }) if err != nil { // error will be returned with detail status from traceTx return nil, err @@ -690,7 +702,12 @@ func (k Keeper) TraceBlock(c context.Context, req *types.QueryTraceBlockRequest) ethTx := tx.AsTransaction() txConfig.TxHash = ethTx.Hash() txConfig.TxIndex = uint(i) - traceResult, err := k.traceTx(ctx, cfg, txConfig, signer, ethTx, req.TraceConfig, true) + traceResult, err := k.traceTx(ctx, signer, ethTx, traceTxConfig{ + evmConfig: cfg, + txConfig: txConfig, + traceConfig: req.TraceConfig, + commit: true, + }) if err != nil { result.Error = err.Error() } else { @@ -783,7 +800,12 @@ func (k Keeper) TraceCall(c context.Context, req *types.QueryTraceCallRequest) ( } // trace call - result, err := k.traceTxWithMsg(ctx, cfg, txConfig, msg, req.GetTraceConfig(), false, overrides) + result, err := k.traceTxWithMsg(ctx, msg, traceTxConfig{ + evmConfig: cfg, + txConfig: txConfig, + traceConfig: req.GetTraceConfig(), + stateOverrides: overrides, + }) if err != nil { // error will be returned with detail status from traceTx return nil, err @@ -802,35 +824,34 @@ func (k Keeper) TraceCall(c context.Context, req *types.QueryTraceCallRequest) ( // traceTx do trace on one transaction, it returns a tuple: (traceResult, error). func (k *Keeper) traceTx( ctx sdk.Context, - cfg *statedb.EVMConfig, - txConfig statedb.TxConfig, signer ethtypes.Signer, tx *ethtypes.Transaction, - traceConfig *types.TraceConfig, - commitMessage bool, + config traceTxConfig, ) (_ *any, err error) { ctx, span := ctx.StartSpan(tracer, "traceTx", trace.WithAttributes( attribute.String("tx_hash", tx.Hash().Hex()), )) defer func() { evmtrace.EndSpanErr(span, err) }() - msg, err := core.TransactionToMessage(tx, signer, cfg.BaseFee) + msg, err := core.TransactionToMessage(tx, signer, config.evmConfig.BaseFee) if err != nil { return nil, status.Error(codes.Internal, err.Error()) } - return k.traceTxWithMsg(ctx, cfg, txConfig, msg, traceConfig, commitMessage, nil) + return k.traceTxWithMsg(ctx, msg, config) } // traceTxWithMsg do trace on one Ethereum message, it returns a tuple: (traceResult, error). func (k *Keeper) traceTxWithMsg( ctx sdk.Context, - cfg *statedb.EVMConfig, - txConfig statedb.TxConfig, msg *core.Message, - traceConfig *types.TraceConfig, - commitMessage bool, - overrides *rpctypes.StateOverride, + config traceTxConfig, ) (_ *any, err error) { + txConfig := config.txConfig + traceConfig := config.traceConfig + if traceConfig == nil { + traceConfig = &types.TraceConfig{} + } + ctx, span := ctx.StartSpan(tracer, "traceTxWithMsg", trace.WithAttributes( attribute.String("tx_hash", txConfig.TxHash.Hex()), attribute.Int("tx_index", int(txConfig.TxIndex)), @@ -845,11 +866,7 @@ func (k *Keeper) traceTxWithMsg( timeout = defaultTraceTimeout ) - if traceConfig == nil { - traceConfig = &types.TraceConfig{} - } - - if traceConfig != nil && traceConfig.TracerJsonConfig != "" { + if traceConfig.TracerJsonConfig != "" { // ignore error. default to no traceConfig _ = json.Unmarshal([]byte(traceConfig.TracerJsonConfig), &jsonTracerConfig) } @@ -912,7 +929,7 @@ func (k *Keeper) traceTxWithMsg( // Build EVM execution context ctx = buildTraceCtx(ctx, msg.GasLimit) stateDB := statedb.New(ctx, k, txConfig) - _, err = k.ApplyMessageWithConfig(ctx, stateDB, *msg, tracer.Hooks, commitMessage, false, cfg, txConfig, false, overrides) + _, err = k.ApplyMessageWithConfig(ctx, stateDB, *msg, tracer.Hooks, config.commit, false, config.evmConfig, txConfig, false, config.stateOverrides) if err != nil { return nil, status.Error(codes.Internal, err.Error()) } From 5eb37aa0dcaca6f9d366327c6723bb0b9754db23 Mon Sep 17 00:00:00 2001 From: nowooj Date: Fri, 29 May 2026 11:46:07 +0900 Subject: [PATCH 8/8] test: verify traceCall state override behavior --- tests/integration/x/vm/test_grpc_query.go | 66 +++++++++++++++++++---- 1 file changed, 57 insertions(+), 9 deletions(-) diff --git a/tests/integration/x/vm/test_grpc_query.go b/tests/integration/x/vm/test_grpc_query.go index 8e8976fd10..a8ad580343 100644 --- a/tests/integration/x/vm/test_grpc_query.go +++ b/tests/integration/x/vm/test_grpc_query.go @@ -1697,12 +1697,18 @@ func (s *KeeperTestSuite) TestTraceCall() { s.Require().NoError(err) s.Require().NoError(s.Network.NextBlock()) + balanceSlot := crypto.Keccak256Hash( + common.LeftPadBytes(senderKey.Addr.Bytes(), 32), + common.LeftPadBytes(big.NewInt(0).Bytes(), 32), + ) + testCases := []struct { - msg string - getCallArgs func() []byte - traceCallConfig *rpctypes.TraceCallConfig - expPass bool - traceResponse string + msg string + getCallArgs func() []byte + traceCallConfig *rpctypes.TraceCallConfig + expPass bool + traceResponse string + postTraceResponse string }{ { msg: "default trace with contract call", @@ -1869,9 +1875,16 @@ func (s *KeeperTestSuite) TestTraceCall() { expPass: false, }, { - msg: "trace call with state overrides", + msg: "trace call without state override", getCallArgs: func() []byte { - return []byte{} + callArgs := testutiltypes.CallArgs{ + ContractABI: erc20Contract.ABI, + MethodName: "balanceOf", + Args: []interface{}{senderKey.Addr}, + } + input, err := factory.GenerateContractCallArgs(callArgs) + s.Require().NoError(err) + return input }, traceCallConfig: &rpctypes.TraceCallConfig{ TraceConfig: rpctypes.TraceConfig{ @@ -1879,10 +1892,38 @@ func (s *KeeperTestSuite) TestTraceCall() { Tracer: "callTracer", }, }, - StateOverrides: []byte(fmt.Sprintf(`{"%s":{"code":"0x600160005260206000f3"}}`, contractAddr.Hex())), }, expPass: true, - traceResponse: `"output":"0x0000000000000000000000000000000000000000000000000000000000000001"`, + traceResponse: `"output":"0x00000000000000000000000000000000000000000000003635c9adc5dea00000"`, + }, + { + msg: "trace call with balance override", + getCallArgs: func() []byte { + callArgs := testutiltypes.CallArgs{ + ContractABI: erc20Contract.ABI, + MethodName: "balanceOf", + Args: []interface{}{senderKey.Addr}, + } + input, err := factory.GenerateContractCallArgs(callArgs) + s.Require().NoError(err) + return input + }, + traceCallConfig: &rpctypes.TraceCallConfig{ + TraceConfig: rpctypes.TraceConfig{ + TraceConfig: types.TraceConfig{ + Tracer: "callTracer", + }, + }, + StateOverrides: []byte(fmt.Sprintf( + `{"%s":{"stateDiff":{"%s":"%s"}}}`, + contractAddr.Hex(), + balanceSlot.Hex(), + common.BigToHash(big.NewInt(1)).Hex(), + )), + }, + expPass: true, + traceResponse: `"output":"0x0000000000000000000000000000000000000000000000000000000000000001"`, + postTraceResponse: `"output":"0x00000000000000000000000000000000000000000000003635c9adc5dea00000"`, }, { msg: "invalid state overrides", @@ -1971,6 +2012,13 @@ func (s *KeeperTestSuite) TestTraceCall() { s.Require().Contains(string(res.Data), tc.traceResponse) } + if tc.postTraceResponse != "" { + traceReq.Overrides = nil + res, err = s.Network.GetEvmClient().TraceCall(s.Network.GetContext(), traceReq) + s.Require().NoError(err) + s.Require().Contains(string(res.Data), tc.postTraceResponse) + } + // For non-custom tracers, verify the result structure if traceCallConfig.Tracer == "" { var result ethlogger.ExecutionResult