diff --git a/core/types/arb_types.go b/core/types/arb_types.go index 3fc08e67dd..00e8b9fc9a 100644 --- a/core/types/arb_types.go +++ b/core/types/arb_types.go @@ -302,6 +302,7 @@ func (tx *ArbitrumSubmitRetryableTx) data() []byte { type ArbitrumDepositTx struct { ChainId *big.Int L1RequestId common.Hash + From common.Address To common.Address Value *big.Int } @@ -314,6 +315,7 @@ func (d *ArbitrumDepositTx) copy() TxData { tx := &ArbitrumDepositTx{ ChainId: new(big.Int), L1RequestId: d.L1RequestId, + From: d.From, To: d.To, Value: new(big.Int), } diff --git a/core/types/arbitrum_signer.go b/core/types/arbitrum_signer.go index 9c0f892861..bf5027a4c7 100644 --- a/core/types/arbitrum_signer.go +++ b/core/types/arbitrum_signer.go @@ -25,7 +25,7 @@ func (s arbitrumSigner) Sender(tx *Transaction) (common.Address, error) { case *ArbitrumContractTx: return inner.From, nil case *ArbitrumDepositTx: - return ArbosAddress, nil + return inner.From, nil case *ArbitrumInternalTx: return ArbosAddress, nil case *ArbitrumRetryTx: