mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
tests: use 'sender' in statetests, if present
This commit is contained in:
parent
d4e345c7d4
commit
c6818471bb
2 changed files with 12 additions and 2 deletions
|
|
@ -27,6 +27,7 @@ func (s stTransaction) MarshalJSON() ([]byte, error) {
|
||||||
GasLimit []math.HexOrDecimal64 `json:"gasLimit"`
|
GasLimit []math.HexOrDecimal64 `json:"gasLimit"`
|
||||||
Value []string `json:"value"`
|
Value []string `json:"value"`
|
||||||
PrivateKey hexutil.Bytes `json:"secretKey"`
|
PrivateKey hexutil.Bytes `json:"secretKey"`
|
||||||
|
Sender *common.Address `json:"sender"`
|
||||||
BlobVersionedHashes []common.Hash `json:"blobVersionedHashes,omitempty"`
|
BlobVersionedHashes []common.Hash `json:"blobVersionedHashes,omitempty"`
|
||||||
BlobGasFeeCap *math.HexOrDecimal256 `json:"maxFeePerBlobGas,omitempty"`
|
BlobGasFeeCap *math.HexOrDecimal256 `json:"maxFeePerBlobGas,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
@ -46,6 +47,7 @@ func (s stTransaction) MarshalJSON() ([]byte, error) {
|
||||||
}
|
}
|
||||||
enc.Value = s.Value
|
enc.Value = s.Value
|
||||||
enc.PrivateKey = s.PrivateKey
|
enc.PrivateKey = s.PrivateKey
|
||||||
|
enc.Sender = s.Sender
|
||||||
enc.BlobVersionedHashes = s.BlobVersionedHashes
|
enc.BlobVersionedHashes = s.BlobVersionedHashes
|
||||||
enc.BlobGasFeeCap = (*math.HexOrDecimal256)(s.BlobGasFeeCap)
|
enc.BlobGasFeeCap = (*math.HexOrDecimal256)(s.BlobGasFeeCap)
|
||||||
return json.Marshal(&enc)
|
return json.Marshal(&enc)
|
||||||
|
|
@ -64,6 +66,7 @@ func (s *stTransaction) UnmarshalJSON(input []byte) error {
|
||||||
GasLimit []math.HexOrDecimal64 `json:"gasLimit"`
|
GasLimit []math.HexOrDecimal64 `json:"gasLimit"`
|
||||||
Value []string `json:"value"`
|
Value []string `json:"value"`
|
||||||
PrivateKey *hexutil.Bytes `json:"secretKey"`
|
PrivateKey *hexutil.Bytes `json:"secretKey"`
|
||||||
|
Sender *common.Address `json:"sender"`
|
||||||
BlobVersionedHashes []common.Hash `json:"blobVersionedHashes,omitempty"`
|
BlobVersionedHashes []common.Hash `json:"blobVersionedHashes,omitempty"`
|
||||||
BlobGasFeeCap *math.HexOrDecimal256 `json:"maxFeePerBlobGas,omitempty"`
|
BlobGasFeeCap *math.HexOrDecimal256 `json:"maxFeePerBlobGas,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
@ -104,6 +107,9 @@ func (s *stTransaction) UnmarshalJSON(input []byte) error {
|
||||||
if dec.PrivateKey != nil {
|
if dec.PrivateKey != nil {
|
||||||
s.PrivateKey = *dec.PrivateKey
|
s.PrivateKey = *dec.PrivateKey
|
||||||
}
|
}
|
||||||
|
if dec.Sender != nil {
|
||||||
|
s.Sender = dec.Sender
|
||||||
|
}
|
||||||
if dec.BlobVersionedHashes != nil {
|
if dec.BlobVersionedHashes != nil {
|
||||||
s.BlobVersionedHashes = dec.BlobVersionedHashes
|
s.BlobVersionedHashes = dec.BlobVersionedHashes
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -115,6 +115,7 @@ type stTransaction struct {
|
||||||
GasLimit []uint64 `json:"gasLimit"`
|
GasLimit []uint64 `json:"gasLimit"`
|
||||||
Value []string `json:"value"`
|
Value []string `json:"value"`
|
||||||
PrivateKey []byte `json:"secretKey"`
|
PrivateKey []byte `json:"secretKey"`
|
||||||
|
Sender *common.Address `json:"sender"`
|
||||||
BlobVersionedHashes []common.Hash `json:"blobVersionedHashes,omitempty"`
|
BlobVersionedHashes []common.Hash `json:"blobVersionedHashes,omitempty"`
|
||||||
BlobGasFeeCap *big.Int `json:"maxFeePerBlobGas,omitempty"`
|
BlobGasFeeCap *big.Int `json:"maxFeePerBlobGas,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
@ -359,9 +360,12 @@ func (t *StateTest) genesis(config *params.ChainConfig) *core.Genesis {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tx *stTransaction) toMessage(ps stPostState, baseFee *big.Int) (*core.Message, error) {
|
func (tx *stTransaction) toMessage(ps stPostState, baseFee *big.Int) (*core.Message, error) {
|
||||||
// Derive sender from private key if present.
|
|
||||||
var from common.Address
|
var from common.Address
|
||||||
if len(tx.PrivateKey) > 0 {
|
// If 'sender' field is present, use that
|
||||||
|
if tx.Sender != nil {
|
||||||
|
from = *tx.Sender
|
||||||
|
} else if len(tx.PrivateKey) > 0 {
|
||||||
|
// Derive sender from private key if needed.
|
||||||
key, err := crypto.ToECDSA(tx.PrivateKey)
|
key, err := crypto.ToECDSA(tx.PrivateKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("invalid private key: %v", err)
|
return nil, fmt.Errorf("invalid private key: %v", err)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue