relayer

package
v0.0.0-...-27df293 Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MAX_RETRIES                = 10
	WAIT_FOR_CONFIRMATION_TIME = 5 * time.Second
	ZERO_ADDRESS               = "0x0000000000000000000000000000000000000000"
	ZERO_HASH                  = "0x0000000000000000000000000000000000000000000000000000000000000000"
)

Variables

This section is empty.

Functions

func LoadPrivateKey

func LoadPrivateKey(envFilePath string) (string, error)

Types

type L1ToL2Relayer

type L1ToL2Relayer struct {
	// contains filtered or unexported fields
}

func NewL1ToL2Relayer

func NewL1ToL2Relayer(ctx context.Context, cfg *evm.GethConfig, l1Client *ethclient.Client, l2Client *ethclient.Client, chain *kernel.Kernel, db *gorm.DB) (*L1ToL2Relayer, error)

func (*L1ToL2Relayer) HandleDownwardMessageWithSystemCall

func (b *L1ToL2Relayer) HandleDownwardMessageWithSystemCall(msg *contract.ParentBridgeCoreFacetQueueTransaction) error

handleDownwardMessage

func (*L1ToL2Relayer) HandleRelayerMessage

type L1ToL2RelayerInterface

type L1ToL2RelayerInterface interface {
	HandleDownwardMessageWithSystemCall(msg *contract.ParentBridgeCoreFacetQueueTransaction) error
	HandleRelayerMessage(msg *contract.UpwardMessageDispatcherFacetRelayedMessage) error
}

type L2ToL1Relayer

type L2ToL1Relayer struct {
	Solidity *evm.Solidity `tripod:"solidity"`
	// contains filtered or unexported fields
}

func NewL2ToL1Relayer

func NewL2ToL1Relayer(ctx context.Context, cfg *evm.GethConfig, l1Client *ethclient.Client, db *gorm.DB) (*L2ToL1Relayer, error)

func (*L2ToL1Relayer) HandleUpwardMessage

func (b *L2ToL1Relayer) HandleUpwardMessage(msgs []*orm.CrossMessage, blockTimestampsMap map[uint64]uint64) error

handleL2UpwardMessage

type L2ToL1RelayerInterface

type L2ToL1RelayerInterface interface {
	HandleUpwardMessage([]*orm.CrossMessage, map[uint64]uint64) error
}

type TransactionArgs

type TransactionArgs struct {
	From                 *common.Address `json:"from"`
	To                   *common.Address `json:"to"`
	Gas                  *hexutil.Uint64 `json:"gas"`
	GasPrice             *hexutil.Big    `json:"gasPrice"`
	MaxFeePerGas         *hexutil.Big    `json:"maxFeePerGas"`
	MaxPriorityFeePerGas *hexutil.Big    `json:"maxPriorityFeePerGas"`
	Value                *hexutil.Big    `json:"value"`
	Nonce                *hexutil.Uint64 `json:"nonce"`

	// We accept "data" and "input" for backwards-compatibility reasons.
	// "input" is the newer name and should be preferred by clients.
	// Issue detail: https://github.com/ethereum/go-ethereum/issues/15628
	Data  *hexutil.Bytes `json:"data"`
	Input *hexutil.Bytes `json:"input"`

	// Introduced by AccessListTxType transaction.
	AccessList *types.AccessList `json:"accessList,omitempty"`
	ChainID    *hexutil.Big      `json:"chainId,omitempty"`

	// For BlobTxType
	BlobFeeCap *hexutil.Big  `json:"maxFeePerBlobGas"`
	BlobHashes []common.Hash `json:"blobVersionedHashes,omitempty"`

	// For BlobTxType transactions with blob sidecar
	Blobs       []kzg4844.Blob       `json:"blobs"`
	Commitments []kzg4844.Commitment `json:"commitments"`
	Proofs      []kzg4844.Proof      `json:"proofs"`
	// contains filtered or unexported fields
}

TransactionArgs represents the arguments to construct a new transaction or a message call.

Jump to

Keyboard shortcuts

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