Commit faaa59d3 authored by Matthew Slipper's avatar Matthew Slipper Committed by GitHub

Merge pull request #4773 from...

Merge pull request #4773 from ethereum-optimism/zhwrd/01-23-INF-22_explicity_set_chainId_in_op-signer_SendTransaction

INF-22 explicity set chainId in op-signer SendTransaction
parents e535dd27 65cb6ccf
...@@ -57,7 +57,7 @@ func Main(version string) func(cliCtx *cli.Context) error { ...@@ -57,7 +57,7 @@ func Main(version string) func(cliCtx *cli.Context) error {
signer := func(chainID *big.Int) SignerFn { signer := func(chainID *big.Int) SignerFn {
return func(ctx context.Context, rawTx types.TxData) (*types.Transaction, error) { return func(ctx context.Context, rawTx types.TxData) (*types.Transaction, error) {
tx := types.NewTx(rawTx) tx := types.NewTx(rawTx)
return signerClient.SignTransaction(ctx, tx) return signerClient.SignTransaction(ctx, chainID, tx)
} }
} }
bs, err := NewBatchSubmitterWithSigner(cfg, common.HexToAddress(cfg.SignerConfig.Address), signer, l) bs, err := NewBatchSubmitterWithSigner(cfg, common.HexToAddress(cfg.SignerConfig.Address), signer, l)
......
...@@ -176,7 +176,7 @@ func NewL2OutputSubmitter(cfg CLIConfig, l log.Logger) (*L2OutputSubmitter, erro ...@@ -176,7 +176,7 @@ func NewL2OutputSubmitter(cfg CLIConfig, l log.Logger) (*L2OutputSubmitter, erro
if address.String() != cfg.SignerConfig.Address { if address.String() != cfg.SignerConfig.Address {
return nil, fmt.Errorf("attempting to sign for %s, expected %s: ", address, cfg.SignerConfig.Address) return nil, fmt.Errorf("attempting to sign for %s, expected %s: ", address, cfg.SignerConfig.Address)
} }
return signerClient.SignTransaction(ctx, tx) return signerClient.SignTransaction(ctx, chainID, tx)
} }
} }
} else { } else {
......
...@@ -5,6 +5,7 @@ import ( ...@@ -5,6 +5,7 @@ import (
"crypto/tls" "crypto/tls"
"crypto/x509" "crypto/x509"
"fmt" "fmt"
"math/big"
"net/http" "net/http"
"os" "os"
"time" "time"
...@@ -88,8 +89,8 @@ func (s *SignerClient) pingVersion() (string, error) { ...@@ -88,8 +89,8 @@ func (s *SignerClient) pingVersion() (string, error) {
return v, nil return v, nil
} }
func (s *SignerClient) SignTransaction(ctx context.Context, tx *types.Transaction) (*types.Transaction, error) { func (s *SignerClient) SignTransaction(ctx context.Context, chainId *big.Int, tx *types.Transaction) (*types.Transaction, error) {
args := NewTransactionArgsFromTransaction(tx) args := NewTransactionArgsFromTransaction(chainId, tx)
var result hexutil.Bytes var result hexutil.Bytes
if err := s.client.CallContext(ctx, &result, "eth_signTransaction", args); err != nil { if err := s.client.CallContext(ctx, &result, "eth_signTransaction", args); err != nil {
......
...@@ -31,7 +31,7 @@ type TransactionArgs struct { ...@@ -31,7 +31,7 @@ type TransactionArgs struct {
} }
// NewTransactionArgsFromTransaction creates a TransactionArgs struct from an EIP-1559 transaction // NewTransactionArgsFromTransaction creates a TransactionArgs struct from an EIP-1559 transaction
func NewTransactionArgsFromTransaction(tx *types.Transaction) *TransactionArgs { func NewTransactionArgsFromTransaction(chainId *big.Int, tx *types.Transaction) *TransactionArgs {
data := hexutil.Bytes(tx.Data()) data := hexutil.Bytes(tx.Data())
nonce := hexutil.Uint64(tx.Nonce()) nonce := hexutil.Uint64(tx.Nonce())
gas := hexutil.Uint64(tx.Gas()) gas := hexutil.Uint64(tx.Gas())
...@@ -42,7 +42,7 @@ func NewTransactionArgsFromTransaction(tx *types.Transaction) *TransactionArgs { ...@@ -42,7 +42,7 @@ func NewTransactionArgsFromTransaction(tx *types.Transaction) *TransactionArgs {
Value: (*hexutil.Big)(tx.Value()), Value: (*hexutil.Big)(tx.Value()),
Gas: &gas, Gas: &gas,
To: tx.To(), To: tx.To(),
ChainID: (*hexutil.Big)(tx.ChainId()), ChainID: (*hexutil.Big)(chainId),
MaxFeePerGas: (*hexutil.Big)(tx.GasFeeCap()), MaxFeePerGas: (*hexutil.Big)(tx.GasFeeCap()),
MaxPriorityFeePerGas: (*hexutil.Big)(tx.GasTipCap()), MaxPriorityFeePerGas: (*hexutil.Big)(tx.GasTipCap()),
AccessList: &accesses, AccessList: &accesses,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment