validator

package
v0.0.0-...-a7f4e4d Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2023 License: AGPL-3.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CIDsRefIPLDBlocks = `` /* 254-byte string literal not displayed */

	UncleCIDsRefHeaderCIDs = `` /* 313-byte string literal not displayed */

	TransactionCIDsRefHeaderCIDs = `` /* 337-byte string literal not displayed */

	ReceiptCIDsRefTransactionCIDs = `` /* 394-byte string literal not displayed */

	StateCIDsRefHeaderCIDs = `` /* 313-byte string literal not displayed */

	StorageCIDsRefStateCIDs = `` /* 375-byte string literal not displayed */

	StateAccountsRefStateCIDs = `` /* 385-byte string literal not displayed */

	AccessListElementsRefTransactionCIDs = `` /* 363-byte string literal not displayed */

	LogCIDsRefReceiptCIDs = `` /* 351-byte string literal not displayed */

)

Variables

View Source
var (
	ReferentialIntegrityErr = "referential integrity check failed at block %d, entry for %s not found"
	EntryNotFoundErr        = "entry for %s not found"
)
View Source
var IntegrationTestChainConfig = &params.ChainConfig{
	ChainID:             big.NewInt(99),
	HomesteadBlock:      big.NewInt(0),
	EIP150Block:         big.NewInt(0),
	EIP155Block:         big.NewInt(0),
	EIP158Block:         big.NewInt(0),
	ByzantiumBlock:      big.NewInt(0),
	ConstantinopleBlock: big.NewInt(0),
	PetersburgBlock:     big.NewInt(0),
	IstanbulBlock:       big.NewInt(0),
	Clique: &params.CliqueConfig{
		Period: 0,
		Epoch:  30000,
	},
}
View Source
var TestChainConfig = &params.ChainConfig{
	ChainID:             big.NewInt(1),
	HomesteadBlock:      big.NewInt(0),
	EIP150Block:         big.NewInt(0),
	EIP155Block:         big.NewInt(0),
	EIP158Block:         big.NewInt(0),
	ByzantiumBlock:      big.NewInt(0),
	ConstantinopleBlock: big.NewInt(0),
	PetersburgBlock:     big.NewInt(0),
	IstanbulBlock:       big.NewInt(0),
	MuirGlacierBlock:    big.NewInt(0),
	BerlinBlock:         big.NewInt(0),
	LondonBlock:         big.NewInt(6),
	ArrowGlacierBlock:   big.NewInt(0),
	Ethash:              new(params.EthashConfig),
}

Functions

func EthAPI

func EthAPI(ctx context.Context, db *sqlx.DB, chainCfg *params.ChainConfig) (*ipldEth.PublicEthAPI, error)

func NewEthBackend

func NewEthBackend(db *sqlx.DB, c *ipldEth.Config) (*ipldEth.Backend, error)

func NewService

func NewService(cfg *Config, progressChan chan uint64) *service

func ValidateAccessListElementsRef

func ValidateAccessListElementsRef(db *sqlx.DB, blockNumber uint64) error

ValidateAccessListElementsRef does a reference integrity check on references in eth.access_list_elements table

func ValidateBlock

func ValidateBlock(blockToBeValidated *types.Block, b *ipldEth.Backend, blockNumber uint64) error

ValidateBlock validates block at the given height

func ValidateHeaderCIDsRef

func ValidateHeaderCIDsRef(db *sqlx.DB, blockNumber uint64) error

ValidateHeaderCIDsRef does a reference integrity check on references in eth.header_cids table

func ValidateIPFSBlocks

func ValidateIPFSBlocks(db *sqlx.DB, blockNumber uint64, CIDTable string, mhKeyField string) error

ValidateIPFSBlocks does a reference integrity check between the given CID table and IPFS blocks table on MHKey and block number

func ValidateLogCIDsRef

func ValidateLogCIDsRef(db *sqlx.DB, blockNumber uint64) error

ValidateLogCIDsRef does a reference integrity check on references in eth.log_cids table

func ValidateReceiptCIDsRef

func ValidateReceiptCIDsRef(db *sqlx.DB, blockNumber uint64) error

ValidateReceiptCIDsRef does a reference integrity check on references in eth.receipt_cids table

func ValidateReferentialIntegrity

func ValidateReferentialIntegrity(db *sqlx.DB, blockNumber uint64) error

ValidateReferentialIntegrity validates referential integrity at the given height

func ValidateStateAccountsRef

func ValidateStateAccountsRef(db *sqlx.DB, blockNumber uint64) error

ValidateStateAccountsRef does a reference integrity check on references in eth.state_accounts table

func ValidateStateCIDsRef

func ValidateStateCIDsRef(db *sqlx.DB, blockNumber uint64) error

ValidateStateCIDsRef does a reference integrity check on references in eth.state_cids table

func ValidateStorageCIDsRef

func ValidateStorageCIDsRef(db *sqlx.DB, blockNumber uint64) error

ValidateStorageCIDsRef does a reference integrity check on references in eth.storage_cids table

func ValidateTransactionCIDsRef

func ValidateTransactionCIDsRef(db *sqlx.DB, blockNumber uint64) error

ValidateTransactionCIDsRef does a reference integrity check on references in eth.header_cids table

func ValidateUncleCIDsRef

func ValidateUncleCIDsRef(db *sqlx.DB, blockNumber uint64) error

ValidateUncleCIDsRef does a reference integrity check on references in eth.uncle_cids table

Types

type Config

type Config struct {
	DB *sqlx.DB

	ChainCfg              *params.ChainConfig
	Client                *rpc.Client
	StateDiffMissingBlock bool
	StateDiffTimeout      uint

	BlockNum, Trail uint64
	SleepInterval   uint
	// contains filtered or unexported fields
}

func NewConfig

func NewConfig() (*Config, error)

Jump to

Keyboard shortcuts

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