hints.go 973 Bytes
Newer Older
1 2 3 4 5
package l2

import (
	"github.com/ethereum/go-ethereum/common"

6
	preimage "github.com/ethereum-optimism/optimism/op-preimage"
7 8
)

9 10 11 12 13 14 15
const (
	HintL2BlockHeader  = "l2-block-header"
	HintL2Transactions = "l2-transactions"
	HintL2Code         = "l2-code"
	HintL2StateNode    = "l2-state-node"
)

16 17 18 19 20
type BlockHeaderHint common.Hash

var _ preimage.Hint = BlockHeaderHint{}

func (l BlockHeaderHint) Hint() string {
21
	return HintL2BlockHeader + " " + (common.Hash)(l).String()
22 23 24 25 26 27 28
}

type TransactionsHint common.Hash

var _ preimage.Hint = TransactionsHint{}

func (l TransactionsHint) Hint() string {
29
	return HintL2Transactions + " " + (common.Hash)(l).String()
30 31 32 33 34 35 36
}

type CodeHint common.Hash

var _ preimage.Hint = CodeHint{}

func (l CodeHint) Hint() string {
37
	return HintL2Code + " " + (common.Hash)(l).String()
38 39 40 41 42 43 44
}

type StateNodeHint common.Hash

var _ preimage.Hint = StateNodeHint{}

func (l StateNodeHint) Hint() string {
45
	return HintL2StateNode + " " + (common.Hash)(l).String()
46
}