diff --git a/turbo/adapter/ethapi/api.go b/turbo/adapter/ethapi/api.go index c8084e11622..01c37b76047 100644 --- a/turbo/adapter/ethapi/api.go +++ b/turbo/adapter/ethapi/api.go @@ -19,14 +19,16 @@ package ethapi import ( "errors" "fmt" - "github.com/ledgerwatch/erigon-lib/common/hexutil" "math/big" + "github.com/ledgerwatch/erigon-lib/common/hexutil" + "github.com/holiman/uint256" + "github.com/ledgerwatch/log/v3" + libcommon "github.com/ledgerwatch/erigon-lib/common" "github.com/ledgerwatch/erigon-lib/common/hexutility" types2 "github.com/ledgerwatch/erigon-lib/types" - "github.com/ledgerwatch/log/v3" "github.com/ledgerwatch/erigon/accounts/abi" "github.com/ledgerwatch/erigon/common/math" @@ -402,6 +404,7 @@ type RPCTransaction struct { Accesses *types2.AccessList `json:"accessList,omitempty"` ChainID *hexutil.Big `json:"chainId,omitempty"` V *hexutil.Big `json:"v"` + YParity *hexutil.Big `json:"yParity,omitempty"` R *hexutil.Big `json:"r"` S *hexutil.Big `json:"s"` @@ -440,6 +443,7 @@ func newRPCTransaction(tx types.Transaction, blockHash libcommon.Hash, blockNumb chainId.Set(t.ChainID) result.ChainID = (*hexutil.Big)(chainId.ToBig()) result.GasPrice = (*hexutil.Big)(t.GasPrice.ToBig()) + result.YParity = (*hexutil.Big)(t.V.ToBig()) result.V = (*hexutil.Big)(t.V.ToBig()) result.R = (*hexutil.Big)(t.R.ToBig()) result.S = (*hexutil.Big)(t.S.ToBig()) @@ -449,6 +453,7 @@ func newRPCTransaction(tx types.Transaction, blockHash libcommon.Hash, blockNumb result.ChainID = (*hexutil.Big)(chainId.ToBig()) result.Tip = (*hexutil.Big)(t.Tip.ToBig()) result.FeeCap = (*hexutil.Big)(t.FeeCap.ToBig()) + result.YParity = (*hexutil.Big)(t.V.ToBig()) result.V = (*hexutil.Big)(t.V.ToBig()) result.R = (*hexutil.Big)(t.R.ToBig()) result.S = (*hexutil.Big)(t.S.ToBig()) @@ -460,6 +465,7 @@ func newRPCTransaction(tx types.Transaction, blockHash libcommon.Hash, blockNumb result.ChainID = (*hexutil.Big)(chainId.ToBig()) result.Tip = (*hexutil.Big)(t.Tip.ToBig()) result.FeeCap = (*hexutil.Big)(t.FeeCap.ToBig()) + result.YParity = (*hexutil.Big)(t.V.ToBig()) result.V = (*hexutil.Big)(t.V.ToBig()) result.R = (*hexutil.Big)(t.R.ToBig()) result.S = (*hexutil.Big)(t.S.ToBig()) diff --git a/turbo/jsonrpc/eth_api.go b/turbo/jsonrpc/eth_api.go index c3f076c99e4..fff2cdb8609 100644 --- a/turbo/jsonrpc/eth_api.go +++ b/turbo/jsonrpc/eth_api.go @@ -373,6 +373,7 @@ type RPCTransaction struct { MaxFeePerBlobGas *hexutil.Big `json:"maxFeePerBlobGas,omitempty"` BlobVersionedHashes []common.Hash `json:"blobVersionedHashes,omitempty"` V *hexutil.Big `json:"v"` + YParity *hexutil.Big `json:"yParity,omitempty"` R *hexutil.Big `json:"r"` S *hexutil.Big `json:"s"` } @@ -409,6 +410,7 @@ func NewRPCTransaction(tx types.Transaction, blockHash common.Hash, blockNumber chainId.Set(t.ChainID) result.ChainID = (*hexutil.Big)(chainId.ToBig()) result.GasPrice = (*hexutil.Big)(t.GasPrice.ToBig()) + result.YParity = (*hexutil.Big)(t.V.ToBig()) result.V = (*hexutil.Big)(t.V.ToBig()) result.R = (*hexutil.Big)(t.R.ToBig()) result.S = (*hexutil.Big)(t.S.ToBig()) @@ -418,6 +420,7 @@ func NewRPCTransaction(tx types.Transaction, blockHash common.Hash, blockNumber result.ChainID = (*hexutil.Big)(chainId.ToBig()) result.Tip = (*hexutil.Big)(t.Tip.ToBig()) result.FeeCap = (*hexutil.Big)(t.FeeCap.ToBig()) + result.YParity = (*hexutil.Big)(t.V.ToBig()) result.V = (*hexutil.Big)(t.V.ToBig()) result.R = (*hexutil.Big)(t.R.ToBig()) result.S = (*hexutil.Big)(t.S.ToBig()) @@ -428,6 +431,7 @@ func NewRPCTransaction(tx types.Transaction, blockHash common.Hash, blockNumber result.ChainID = (*hexutil.Big)(chainId.ToBig()) result.Tip = (*hexutil.Big)(t.Tip.ToBig()) result.FeeCap = (*hexutil.Big)(t.FeeCap.ToBig()) + result.YParity = (*hexutil.Big)(t.V.ToBig()) result.V = (*hexutil.Big)(t.V.ToBig()) result.R = (*hexutil.Big)(t.R.ToBig()) result.S = (*hexutil.Big)(t.S.ToBig())