encoding

package
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// Evidence
	EvidenceType, _ = abi.NewType("tuple", "TaikoData.BlockEvidence", evidenceComponents)
	EvidenceArgs    = abi.Arguments{{Name: "Evidence", Type: EvidenceType}}
)
View Source
var (
	TaikoL1ABI *abi.ABI
	TaikoL2ABI *abi.ABI
)

Contract ABIs.

View Source
var (
	OracleProverAddress = common.HexToAddress("0x0000000000000000000000000000000000000001")
)

Functions

func BloomToBytes

func BloomToBytes(bloom types.Bloom) [8][32]byte

BloomToBytes converts a types.Bloom to [8][32]byte slice.

func BytesToBloom added in v0.1.5

func BytesToBloom(b [8][32]byte) types.Bloom

BytesToBloom converts a [8][32]byte slice to types.Bloom.

func EncodeBlockMetadata

func EncodeBlockMetadata(meta *bindings.TaikoDataBlockMetadata) ([]byte, error)

EncodeBlockMetadata performs the solidity `abi.encode` for the given blockMetadata.

func EncodeBlockMetadataInput added in v0.7.0

func EncodeBlockMetadataInput(meta *TaikoL1BlockMetadataInput) ([]byte, error)

EncodeBlockMetadataInput performs the solidity `abi.encode` for the given blockMetadataInput.

func EncodeCommitHash

func EncodeCommitHash(beneficiary common.Address, txListHash [32]byte) []byte

EncodeCommitHash performs the solidity `abi.encodePacked` for the given commitHash components.

func EncodeEvidence

func EncodeEvidence(e *TaikoL1Evidence) ([]byte, error)

EncodeEvidence performs the solidity `abi.encode` for the given evidence.

func EncodeProposeBlockInput

func EncodeProposeBlockInput(metadataInput *TaikoL1BlockMetadataInput) ([]byte, error)

EncodeProposeBlockInput encodes the input params for TaikoL1.proposeBlock.

func EncodeProveBlockInput

func EncodeProveBlockInput(
	evidence *TaikoL1Evidence,
) ([]byte, error)

EncodeProveBlockInput encodes the input params for TaikoL1.proveBlock.

func EncodeProveBlockInvalidInput

func EncodeProveBlockInvalidInput(
	evidence *TaikoL1Evidence,
	target *bindings.TaikoDataBlockMetadata,
	receipt *types.Receipt,
) ([][]byte, error)

EncodeProveBlockInvalidInput encodes the input params for TaikoL1.proveBlockInvalid.

func ToExecutableData added in v0.9.0

func ToExecutableData(header *types.Header) *engine.ExecutableData

ToExecutableData converts a GETH *types.Header to *engine.ExecutableData.

func ToGethHeader added in v0.1.5

func ToGethHeader(header *BlockHeader) *types.Header

ToGethHeader converts a *BlockHeader to GETH *types.Header.

func TryParsingCustomError added in v0.5.0

func TryParsingCustomError(originalError error) error

TryParsingCustomError tries to checks whether the given error is one of the custom errors defined the TaikoL1 / TaikoL2's ABI, if so, it will return the matched custom error, otherwise, it simply returns the original error.

func UnpackTxListBytes

func UnpackTxListBytes(txData []byte) ([]byte, error)

UnpackTxListBytes unpacks the input data of a TaikoL1.proposeBlock transaction, and returns the txList bytes.

Types

type BlockHeader

type BlockHeader struct {
	ParentHash       [32]byte
	OmmersHash       [32]byte
	Beneficiary      common.Address
	StateRoot        [32]byte
	TransactionsRoot [32]byte
	ReceiptsRoot     [32]byte
	LogsBloom        [8][32]byte
	Difficulty       *big.Int
	Height           *big.Int
	GasLimit         uint64
	GasUsed          uint64
	Timestamp        uint64
	ExtraData        []byte
	MixHash          [32]byte
	Nonce            uint64
	BaseFeePerGas    *big.Int
}

func FromGethHeader

func FromGethHeader(header *types.Header) *BlockHeader

FromGethHeader converts a GETH *types.Header to *BlockHeader.

type TaikoL1BlockMetadataInput added in v0.7.0

type TaikoL1BlockMetadataInput struct {
	TxListHash      [32]byte
	Beneficiary     common.Address
	TxListByteStart *big.Int
	TxListByteEnd   *big.Int
	CacheTxListInfo bool
}

type TaikoL1Evidence

type TaikoL1Evidence struct {
	MetaHash      [32]byte
	BlockHash     [32]byte
	ParentHash    [32]byte
	SignalRoot    [32]byte
	Graffiti      [32]byte
	Prover        common.Address
	ParentGasUsed uint32
	GasUsed       uint32
	Proof         []byte
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL