Commit 72958876 authored by Mark Tyneway's avatar Mark Tyneway

op-chain-ops: remove dead code

parent 90da8b48
......@@ -4,10 +4,8 @@ import (
"errors"
"math/big"
"github.com/ethereum-optimism/optimism/op-bindings/predeploys"
"github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
)
......@@ -141,107 +139,3 @@ func (w *Withdrawal) StorageSlot() (common.Hash, error) {
slot := crypto.Keccak256(preimage)
return common.BytesToHash(slot), nil
}
// Compute the receipt corresponding to the withdrawal. This receipt
// is in the bedrock transition block. It contains 3 logs.
// SentMessage, SentMessageExtension1 and MessagePassed.
// These logs are enough for the standard withdrawal flow to happen
// which is driven by events being emitted.
func (w *Withdrawal) Receipt(hdr *types.Header, txIndex uint) (*types.Receipt, error) {
// Create a new receipt with the state root, successful execution and no gas
// used
receipt := types.NewReceipt(hdr.Root.Bytes(), false, 0)
if receipt.Logs == nil {
receipt.Logs = make([]*types.Log, 0)
}
// Use a counter to track the log index. Each receipt has 3 events and there
// is 1 receipt per transaction. Increment the logIndex after appending the
// log to the receipt.
logIndex := txIndex * 3
// Create the SentMessage log.
args := abi.Arguments{
{Name: "target", Type: AddressType},
{Name: "sender", Type: AddressType},
{Name: "data", Type: BytesType},
{Name: "nonce", Type: Uint256Type},
}
data, err := args.Pack(w.Target, w.Sender, w.Data, w.Nonce)
if err != nil {
return nil, err
}
// The L2CrossDomainMessenger emits this event. The target is
// indexed.
sm := &types.Log{
Address: predeploys.L2CrossDomainMessengerAddr,
Topics: []common.Hash{
SentMessageEventABIHash,
w.Target.Hash(),
},
Data: data,
BlockNumber: hdr.Number.Uint64(),
TxHash: common.Hash{},
TxIndex: txIndex,
BlockHash: hdr.Hash(),
Index: logIndex,
Removed: false,
}
receipt.Logs = append(receipt.Logs, sm)
logIndex++
// Create the SentMessageExtension1 log. The L2CrossDomainMessenger
// emits this event. The sender is indexed.
sm1 := &types.Log{
Address: predeploys.L2CrossDomainMessengerAddr,
Topics: []common.Hash{
SentMessageExtension1EventABIHash,
w.Sender.Hash(),
},
Data: common.LeftPadBytes(w.Value.Bytes(), 32),
BlockNumber: hdr.Number.Uint64(),
TxHash: common.Hash{},
TxIndex: txIndex,
BlockHash: hdr.Hash(),
Index: logIndex,
Removed: false,
}
receipt.Logs = append(receipt.Logs, sm1)
logIndex++
// Create the MessagePassed log.
mpargs := abi.Arguments{
{Name: "value", Type: Uint256Type},
{Name: "gasLimit", Type: Uint256Type},
{Name: "data", Type: BytesType},
{Name: "withdrawalHash", Type: Bytes32Type},
}
hash, err := w.Hash()
if err != nil {
return nil, err
}
mpdata, err := mpargs.Pack(w.Value, w.GasLimit, w.Data, hash)
if err != nil {
return nil, err
}
// The L2ToL1MessagePasser emits this event.
mp := &types.Log{
Address: predeploys.L2ToL1MessagePasserAddr,
Topics: []common.Hash{
MessagePassedEventABIHash,
common.BytesToHash(common.LeftPadBytes(w.Nonce.Bytes(), 32)),
w.Sender.Hash(),
w.Target.Hash(),
},
Data: mpdata,
BlockNumber: hdr.Number.Uint64(),
TxHash: common.Hash{},
TxIndex: txIndex,
BlockHash: hdr.Hash(),
Index: logIndex,
Removed: false,
}
receipt.Logs = append(receipt.Logs, mp)
return receipt, nil
}
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