rpc

package
v0.0.0-...-b8dc01b Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2023 License: GPL-3.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var BalanceABI = BalanceMetaData.ABI

BalanceABI is the input ABI used to generate the binding from. Deprecated: Use BalanceMetaData.ABI instead.

View Source
var BalanceMetaData = &bind.MetaData{
	ABI: "[{\"constant\":true,\"inputs\":[{\"name\":\"user\",\"type\":\"address\"},{\"name\":\"token\",\"type\":\"address\"}],\"name\":\"tokenBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"users\",\"type\":\"address[]\"},{\"name\":\"tokens\",\"type\":\"address[]\"}],\"name\":\"balances\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"}]",
}

BalanceMetaData contains all meta data concerning the Balance contract.

View Source
var LighthouseLatestHeadEpoch uint64 = 0

LighthouseLatestHeadEpoch is used to cache the latest head epoch for participation requests

Functions

func Uint64Unmarshal

func Uint64Unmarshal(v *uint64, b []byte) error

Parse a uint64, with or without quotes, in any base, with common prefixes accepted to change base.

Types

type AnySignedBlock

type AnySignedBlock struct {
	Message struct {
		Slot          uint64Str `json:"slot"`
		ProposerIndex uint64Str `json:"proposer_index"`
		ParentRoot    string    `json:"parent_root"`
		StateRoot     string    `json:"state_root"`
		Body          struct {
			RandaoReveal      string             `json:"randao_reveal"`
			Eth1Data          Eth1Data           `json:"eth1_data"`
			Graffiti          string             `json:"graffiti"`
			ProposerSlashings []ProposerSlashing `json:"proposer_slashings"`
			AttesterSlashings []AttesterSlashing `json:"attester_slashings"`
			Attestations      []Attestation      `json:"attestations"`
			Deposits          []Deposit          `json:"deposits"`
			VoluntaryExits    []VoluntaryExit    `json:"voluntary_exits"`

			// not present in phase0 blocks
			SyncAggregate *SyncAggregate `json:"sync_aggregate,omitempty"`

			// not present in phase0/altair blocks
			ExecutionPayload *ExecutionPayload `json:"execution_payload"`

			// present only after capella
			SignedBLSToExecutionChange []*SignedBLSToExecutionChange `json:"bls_to_execution_changes"`
		} `json:"body"`
	} `json:"message"`
	Signature bytesHexStr `json:"signature"`
}

type Attestation

type Attestation struct {
	AggregationBits string `json:"aggregation_bits"`
	Signature       string `json:"signature"`
	Data            struct {
		Slot            uint64Str `json:"slot"`
		Index           uint64Str `json:"index"`
		BeaconBlockRoot string    `json:"beacon_block_root"`
		Source          struct {
			Epoch uint64Str `json:"epoch"`
			Root  string    `json:"root"`
		} `json:"source"`
		Target struct {
			Epoch uint64Str `json:"epoch"`
			Root  string    `json:"root"`
		} `json:"target"`
	} `json:"data"`
}

type AttesterSlashing

type AttesterSlashing struct {
	Attestation1 struct {
		AttestingIndices []uint64Str `json:"attesting_indices"`
		Signature        string      `json:"signature"`
		Data             struct {
			Slot            uint64Str `json:"slot"`
			Index           uint64Str `json:"index"`
			BeaconBlockRoot string    `json:"beacon_block_root"`
			Source          struct {
				Epoch uint64Str `json:"epoch"`
				Root  string    `json:"root"`
			} `json:"source"`
			Target struct {
				Epoch uint64Str `json:"epoch"`
				Root  string    `json:"root"`
			} `json:"target"`
		} `json:"data"`
	} `json:"attestation_1"`
	Attestation2 struct {
		AttestingIndices []uint64Str `json:"attesting_indices"`
		Signature        string      `json:"signature"`
		Data             struct {
			Slot            uint64Str `json:"slot"`
			Index           uint64Str `json:"index"`
			BeaconBlockRoot string    `json:"beacon_block_root"`
			Source          struct {
				Epoch uint64Str `json:"epoch"`
				Root  string    `json:"root"`
			} `json:"source"`
			Target struct {
				Epoch uint64Str `json:"epoch"`
				Root  string    `json:"root"`
			} `json:"target"`
		} `json:"data"`
	} `json:"attestation_2"`
}

type Balance

type Balance struct {
	BalanceCaller     // Read-only binding to the contract
	BalanceTransactor // Write-only binding to the contract
	BalanceFilterer   // Log filterer for contract events
}

Balance is an auto generated Go binding around an Ethereum contract.

func NewBalance

func NewBalance(address common.Address, backend bind.ContractBackend) (*Balance, error)

NewBalance creates a new instance of Balance, bound to a specific deployed contract.

type BalanceCaller

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

BalanceCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewBalanceCaller

func NewBalanceCaller(address common.Address, caller bind.ContractCaller) (*BalanceCaller, error)

NewBalanceCaller creates a new read-only instance of Balance, bound to a specific deployed contract.

func (*BalanceCaller) Balances

func (_Balance *BalanceCaller) Balances(opts *bind.CallOpts, users []common.Address, tokens []common.Address) ([]*big.Int, error)

Balances is a free data retrieval call binding the contract method 0xf0002ea9.

Solidity: function balances(address[] users, address[] tokens) view returns(uint256[])

func (*BalanceCaller) TokenBalance

func (_Balance *BalanceCaller) TokenBalance(opts *bind.CallOpts, user common.Address, token common.Address) (*big.Int, error)

TokenBalance is a free data retrieval call binding the contract method 0x1049334f.

Solidity: function tokenBalance(address user, address token) view returns(uint256)

type BalanceCallerRaw

type BalanceCallerRaw struct {
	Contract *BalanceCaller // Generic read-only contract binding to access the raw methods on
}

BalanceCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*BalanceCallerRaw) Call

func (_Balance *BalanceCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type BalanceCallerSession

type BalanceCallerSession struct {
	Contract *BalanceCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts  // Call options to use throughout this session
}

BalanceCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*BalanceCallerSession) Balances

func (_Balance *BalanceCallerSession) Balances(users []common.Address, tokens []common.Address) ([]*big.Int, error)

Balances is a free data retrieval call binding the contract method 0xf0002ea9.

Solidity: function balances(address[] users, address[] tokens) view returns(uint256[])

func (*BalanceCallerSession) TokenBalance

func (_Balance *BalanceCallerSession) TokenBalance(user common.Address, token common.Address) (*big.Int, error)

TokenBalance is a free data retrieval call binding the contract method 0x1049334f.

Solidity: function tokenBalance(address user, address token) view returns(uint256)

type BalanceFilterer

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

BalanceFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewBalanceFilterer

func NewBalanceFilterer(address common.Address, filterer bind.ContractFilterer) (*BalanceFilterer, error)

NewBalanceFilterer creates a new log filterer instance of Balance, bound to a specific deployed contract.

type BalanceRaw

type BalanceRaw struct {
	Contract *Balance // Generic contract binding to access the raw methods on
}

BalanceRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*BalanceRaw) Call

func (_Balance *BalanceRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*BalanceRaw) Transact

func (_Balance *BalanceRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*BalanceRaw) Transfer

func (_Balance *BalanceRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type BalanceSession

type BalanceSession struct {
	Contract     *Balance          // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

BalanceSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*BalanceSession) Balances

func (_Balance *BalanceSession) Balances(users []common.Address, tokens []common.Address) ([]*big.Int, error)

Balances is a free data retrieval call binding the contract method 0xf0002ea9.

Solidity: function balances(address[] users, address[] tokens) view returns(uint256[])

func (*BalanceSession) Fallback

func (_Balance *BalanceSession) Fallback(calldata []byte) (*types.Transaction, error)

Fallback is a paid mutator transaction binding the contract fallback function.

Solidity: fallback() payable returns()

func (*BalanceSession) TokenBalance

func (_Balance *BalanceSession) TokenBalance(user common.Address, token common.Address) (*big.Int, error)

TokenBalance is a free data retrieval call binding the contract method 0x1049334f.

Solidity: function tokenBalance(address user, address token) view returns(uint256)

type BalanceTransactor

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

BalanceTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewBalanceTransactor

func NewBalanceTransactor(address common.Address, transactor bind.ContractTransactor) (*BalanceTransactor, error)

NewBalanceTransactor creates a new write-only instance of Balance, bound to a specific deployed contract.

func (*BalanceTransactor) Fallback

func (_Balance *BalanceTransactor) Fallback(opts *bind.TransactOpts, calldata []byte) (*types.Transaction, error)

Fallback is a paid mutator transaction binding the contract fallback function.

Solidity: fallback() payable returns()

type BalanceTransactorRaw

type BalanceTransactorRaw struct {
	Contract *BalanceTransactor // Generic write-only contract binding to access the raw methods on
}

BalanceTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*BalanceTransactorRaw) Transact

func (_Balance *BalanceTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*BalanceTransactorRaw) Transfer

func (_Balance *BalanceTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type BalanceTransactorSession

type BalanceTransactorSession struct {
	Contract     *BalanceTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
}

BalanceTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*BalanceTransactorSession) Fallback

func (_Balance *BalanceTransactorSession) Fallback(calldata []byte) (*types.Transaction, error)

Fallback is a paid mutator transaction binding the contract fallback function.

Solidity: fallback() payable returns()

type Client

type Client interface {
	GetChainHead() (*types.ChainHead, error)
	GetEpochData(epoch uint64, skipHistoricBalances bool) (*types.EpochData, error)
	GetValidatorQueue() (*types.ValidatorQueue, error)
	GetEpochAssignments(epoch uint64) (*types.EpochAssignments, error)
	GetBlocksBySlot(slot uint64) ([]*types.Block, error)
	GetValidatorParticipation(epoch uint64) (*types.ValidatorParticipation, error)
	GetNewBlockChan() chan *types.Block
	GetBlockStatusByEpoch(slot uint64) ([]*types.CanonBlock, error)
	GetFinalityCheckpoints(epoch uint64) (*types.FinalityCheckpoints, error)
	GetSyncCommittee(stateID string, epoch uint64) (*StandardSyncCommittee, error)
	GetBalancesForEpoch(epoch int64) (map[uint64]uint64, error)
}

Client provides an interface for RPC clients

type Deposit

type Deposit struct {
	Proof []string `json:"proof"`
	Data  struct {
		Pubkey                string    `json:"pubkey"`
		WithdrawalCredentials string    `json:"withdrawal_credentials"`
		Amount                uint64Str `json:"amount"`
		Signature             string    `json:"signature"`
	} `json:"data"`
}

type ErigonClient

type ErigonClient struct {
	// contains filtered or unexported fields
}
var CurrentErigonClient *ErigonClient

func NewErigonClient

func NewErigonClient(endpoint string) (*ErigonClient, error)

func (*ErigonClient) Close

func (client *ErigonClient) Close()

func (*ErigonClient) GetBalances

func (client *ErigonClient) GetBalances(pairs []*types.Eth1AddressBalance, addressIndex, tokenIndex int) ([]*types.Eth1AddressBalance, error)

func (*ErigonClient) GetBalancesForAddresse

func (client *ErigonClient) GetBalancesForAddresse(address string, tokenStr []string) ([]*types.Eth1AddressBalance, error)

func (*ErigonClient) GetBlock

func (client *ErigonClient) GetBlock(number int64) (*types.Eth1Block, *types.GetBlockTimings, error)

func (*ErigonClient) GetBlockNumberByHash

func (client *ErigonClient) GetBlockNumberByHash(hash string) (uint64, error)

func (*ErigonClient) GetERC20TokenBalance

func (client *ErigonClient) GetERC20TokenBalance(address string, token string) ([]byte, error)

func (*ErigonClient) GetERC20TokenMetadata

func (client *ErigonClient) GetERC20TokenMetadata(token []byte) (*types.ERC20Metadata, error)

func (*ErigonClient) GetLatestEth1BlockNumber

func (client *ErigonClient) GetLatestEth1BlockNumber() (uint64, error)

func (*ErigonClient) GetNativeBalance

func (client *ErigonClient) GetNativeBalance(address string) ([]byte, error)

func (*ErigonClient) GetNativeClient

func (client *ErigonClient) GetNativeClient() *ethclient.Client

func (*ErigonClient) GetRPCClient

func (client *ErigonClient) GetRPCClient() *geth_rpc.Client

func (*ErigonClient) TraceGeth

func (client *ErigonClient) TraceGeth(blockHash common.Hash) ([]*GethTraceCallResult, error)

func (*ErigonClient) TraceParity

func (client *ErigonClient) TraceParity(blockNumber uint64) ([]*ParityTraceResult, error)

func (*ErigonClient) TraceParityTx

func (client *ErigonClient) TraceParityTx(txHash string) ([]*ParityTraceResult, error)

type Eth1Client

type Eth1Client interface {
	GetBlock(number uint64) (*types.Eth1Block, *types.GetBlockTimings, error)
	GetLatestEth1BlockNumber() (uint64, error)
	Close()
}

type Eth1Data

type Eth1Data struct {
	DepositRoot  string    `json:"deposit_root"`
	DepositCount uint64Str `json:"deposit_count"`
	BlockHash    string    `json:"block_hash"`
}

type ExecutionPayload

type ExecutionPayload struct {
	ParentHash    bytesHexStr   `json:"parent_hash"`
	FeeRecipient  bytesHexStr   `json:"fee_recipient"`
	StateRoot     bytesHexStr   `json:"state_root"`
	ReceiptsRoot  bytesHexStr   `json:"receipts_root"`
	LogsBloom     bytesHexStr   `json:"logs_bloom"`
	PrevRandao    bytesHexStr   `json:"prev_randao"`
	BlockNumber   uint64Str     `json:"block_number"`
	GasLimit      uint64Str     `json:"gas_limit"`
	GasUsed       uint64Str     `json:"gas_used"`
	Timestamp     uint64Str     `json:"timestamp"`
	ExtraData     bytesHexStr   `json:"extra_data"`
	BaseFeePerGas uint64Str     `json:"base_fee_per_gas"`
	BlockHash     bytesHexStr   `json:"block_hash"`
	Transactions  []bytesHexStr `json:"transactions"`
	// present only after capella
	Withdrawals []WithdrawalPayload `json:"withdrawals"`
}

https://ethereum.github.io/beacon-APIs/#/Beacon/getBlockV2 https://github.com/ethereum/consensus-specs/blob/v1.1.9/specs/bellatrix/beacon-chain.md#executionpayload

type GethClient

type GethClient struct {
	// contains filtered or unexported fields
}
var CurrentGethClient *GethClient

func NewGethClient

func NewGethClient(endpoint string) (*GethClient, error)

func (*GethClient) Close

func (client *GethClient) Close()

func (*GethClient) GetBalances

func (client *GethClient) GetBalances(pairs []string) ([]*types.Eth1AddressBalance, error)

func (*GethClient) GetBalancesForAddresse

func (client *GethClient) GetBalancesForAddresse(address string, tokenStr []string) ([]*types.Eth1AddressBalance, error)

func (*GethClient) GetBlock

func (client *GethClient) GetBlock(number int64) (*types.Eth1Block, *types.GetBlockTimings, error)

func (*GethClient) GetERC20TokenBalance

func (client *GethClient) GetERC20TokenBalance(address string, token string) ([]byte, error)

func (*GethClient) GetERC20TokenMetadata

func (client *GethClient) GetERC20TokenMetadata(token []byte) (*types.ERC20Metadata, error)

func (*GethClient) GetLatestEth1BlockNumber

func (client *GethClient) GetLatestEth1BlockNumber() (uint64, error)

func (*GethClient) GetNativeBalance

func (client *GethClient) GetNativeBalance(address string) ([]byte, error)

func (*GethClient) GetNativeClient

func (client *GethClient) GetNativeClient() *ethclient.Client

func (*GethClient) GetRPCClient

func (client *GethClient) GetRPCClient() *geth_rpc.Client

func (*GethClient) TraceGeth

func (client *GethClient) TraceGeth(blockHash common.Hash) ([]*GethTraceCallResult, error)

type GethTraceCallData

type GethTraceCallData struct {
	From     common.Address
	To       common.Address
	Gas      hexutil.Uint64
	GasPrice hexutil.Big
	Value    hexutil.Big
	Data     hexutil.Bytes
}

type GethTraceCallResult

type GethTraceCallResult struct {
	TransactionPosition int
	Time                string
	GasUsed             string
	From                common.Address
	To                  common.Address
	Value               string
	Gas                 string
	Input               string
	Output              string
	Error               string
	Type                string
	Calls               []*GethTraceCallResult
}

type LighthouseClient

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

LighthouseClient holds the Lighthouse client info

func NewLighthouseClient

func NewLighthouseClient(endpoint string, chainID *big.Int) (*LighthouseClient, error)

NewLighthouseClient is used to create a new Lighthouse client

func (*LighthouseClient) GetBalancesForEpoch

func (lc *LighthouseClient) GetBalancesForEpoch(epoch int64) (map[uint64]uint64, error)

func (*LighthouseClient) GetBlockByBlockroot

func (lc *LighthouseClient) GetBlockByBlockroot(blockroot []byte) (*types.Block, error)

func (*LighthouseClient) GetBlockStatusByEpoch

func (pc *LighthouseClient) GetBlockStatusByEpoch(epoch uint64) ([]*types.CanonBlock, error)

func (*LighthouseClient) GetBlocksBySlot

func (lc *LighthouseClient) GetBlocksBySlot(slot uint64) ([]*types.Block, error)

GetBlocksBySlot will get the blocks by slot from Lighthouse RPC api

func (*LighthouseClient) GetChainHead

func (lc *LighthouseClient) GetChainHead() (*types.ChainHead, error)

GetChainHead gets the chain head from Lighthouse

func (*LighthouseClient) GetEpochAssignments

func (lc *LighthouseClient) GetEpochAssignments(epoch uint64) (*types.EpochAssignments, error)

GetEpochAssignments will get the epoch assignments from Lighthouse RPC api

func (*LighthouseClient) GetEpochData

func (lc *LighthouseClient) GetEpochData(epoch uint64, skipHistoricBalances bool) (*types.EpochData, error)

GetEpochData will get the epoch data from Lighthouse RPC api

func (*LighthouseClient) GetFinalityCheckpoints

func (lc *LighthouseClient) GetFinalityCheckpoints(epoch uint64) (*types.FinalityCheckpoints, error)

func (*LighthouseClient) GetNewBlockChan

func (lc *LighthouseClient) GetNewBlockChan() chan *types.Block

func (*LighthouseClient) GetSyncCommittee

func (lc *LighthouseClient) GetSyncCommittee(stateID string, epoch uint64) (*StandardSyncCommittee, error)

func (*LighthouseClient) GetValidatorParticipation

func (lc *LighthouseClient) GetValidatorParticipation(epoch uint64) (*types.ValidatorParticipation, error)

GetValidatorParticipation will get the validator participation from the Lighthouse RPC api

func (*LighthouseClient) GetValidatorQueue

func (lc *LighthouseClient) GetValidatorQueue() (*types.ValidatorQueue, error)

type LighthouseValidatorParticipationResponse

type LighthouseValidatorParticipationResponse struct {
	Data struct {
		CurrentEpochActiveGwei           uint64Str `json:"current_epoch_active_gwei"`
		PreviousEpochActiveGwei          uint64Str `json:"previous_epoch_active_gwei"`
		CurrentEpochTargetAttestingGwei  uint64Str `json:"current_epoch_target_attesting_gwei"`
		PreviousEpochTargetAttestingGwei uint64Str `json:"previous_epoch_target_attesting_gwei"`
		PreviousEpochHeadAttestingGwei   uint64Str `json:"previous_epoch_head_attesting_gwei"`
	} `json:"data"`
}

type ParityTraceResult

type ParityTraceResult struct {
	Action struct {
		CallType      string `json:"callType"`
		From          string `json:"from"`
		Gas           string `json:"gas"`
		Input         string `json:"input"`
		To            string `json:"to"`
		Value         string `json:"value"`
		Init          string `json:"init"`
		Address       string `json:"address"`
		Balance       string `json:"balance"`
		RefundAddress string `json:"refundAddress"`
		Author        string `json:"author"`
		RewardType    string `json:"rewardType"`
	} `json:"action"`
	BlockHash   string `json:"blockHash"`
	BlockNumber int    `json:"blockNumber"`
	Error       string `json:"error"`
	Result      struct {
		GasUsed string `json:"gasUsed"`
		Code    string `json:"code"`
		Output  string `json:"output"`
		Address string `json:"address"`
	} `json:"result"`

	Subtraces           int     `json:"subtraces"`
	TraceAddress        []int64 `json:"traceAddress"`
	TransactionHash     string  `json:"transactionHash"`
	TransactionPosition int     `json:"transactionPosition"`
	Type                string  `json:"type"`
}

type ProposerSlashing

type ProposerSlashing struct {
	SignedHeader1 struct {
		Message struct {
			Slot          uint64Str `json:"slot"`
			ProposerIndex uint64Str `json:"proposer_index"`
			ParentRoot    string    `json:"parent_root"`
			StateRoot     string    `json:"state_root"`
			BodyRoot      string    `json:"body_root"`
		} `json:"message"`
		Signature string `json:"signature"`
	} `json:"signed_header_1"`
	SignedHeader2 struct {
		Message struct {
			Slot          uint64Str `json:"slot"`
			ProposerIndex uint64Str `json:"proposer_index"`
			ParentRoot    string    `json:"parent_root"`
			StateRoot     string    `json:"state_root"`
			BodyRoot      string    `json:"body_root"`
		} `json:"message"`
		Signature string `json:"signature"`
	} `json:"signed_header_2"`
}

type SignedBLSToExecutionChange

type SignedBLSToExecutionChange struct {
	Message struct {
		ValidatorIndex     uint64Str   `json:"validator_index"`
		FromBlsPubkey      bytesHexStr `json:"from_bls_pubkey"`
		ToExecutionAddress bytesHexStr `json:"to_execution_address"`
	} `json:"message"`
	Signature bytesHexStr `json:"signature"`
}

type StandardBeaconHeaderResponse

type StandardBeaconHeaderResponse struct {
	Data struct {
		Root      string `json:"root"`
		Canonical bool   `json:"canonical"`
		Header    struct {
			Message struct {
				Slot          uint64Str `json:"slot"`
				ProposerIndex uint64Str `json:"proposer_index"`
				ParentRoot    string    `json:"parent_root"`
				StateRoot     string    `json:"state_root"`
				BodyRoot      string    `json:"body_root"`
			} `json:"message"`
			Signature string `json:"signature"`
		} `json:"header"`
	} `json:"data"`
}

type StandardBeaconHeadersResponse

type StandardBeaconHeadersResponse struct {
	Data []struct {
		Root      string `json:"root"`
		Canonical bool   `json:"canonical"`
		Header    struct {
			Message struct {
				Slot          uint64Str `json:"slot"`
				ProposerIndex uint64Str `json:"proposer_index"`
				ParentRoot    string    `json:"parent_root"`
				StateRoot     string    `json:"state_root"`
				BodyRoot      string    `json:"body_root"`
			} `json:"message"`
			Signature string `json:"signature"`
		} `json:"header"`
	} `json:"data"`
}

type StandardCommitteeEntry

type StandardCommitteeEntry struct {
	Index      uint64Str `json:"index"`
	Slot       uint64Str `json:"slot"`
	Validators []string  `json:"validators"`
}

type StandardCommitteesResponse

type StandardCommitteesResponse struct {
	Data []StandardCommitteeEntry `json:"data"`
}

type StandardFinalityCheckpointsResponse

type StandardFinalityCheckpointsResponse struct {
	Data struct {
		PreviousJustified struct {
			Epoch uint64Str `json:"epoch"`
			Root  string    `json:"root"`
		} `json:"previous_justified"`
		CurrentJustified struct {
			Epoch uint64Str `json:"epoch"`
			Root  string    `json:"root"`
		} `json:"current_justified"`
		Finalized struct {
			Epoch uint64Str `json:"epoch"`
			Root  string    `json:"root"`
		} `json:"finalized"`
	} `json:"data"`
}

type StandardProposerDutiesResponse

type StandardProposerDutiesResponse struct {
	DependentRoot string                 `json:"dependent_root"`
	Data          []StandardProposerDuty `json:"data"`
}

type StandardProposerDuty

type StandardProposerDuty struct {
	Pubkey         string    `json:"pubkey"`
	ValidatorIndex uint64Str `json:"validator_index"`
	Slot           uint64Str `json:"slot"`
}

type StandardSyncCommittee

type StandardSyncCommittee struct {
	Validators          []string   `json:"validators"`
	ValidatorAggregates [][]string `json:"validator_aggregates"`
}

type StandardSyncCommitteesResponse

type StandardSyncCommitteesResponse struct {
	Data StandardSyncCommittee `json:"data"`
}

type StandardSyncingResponse

type StandardSyncingResponse struct {
	Data struct {
		IsSyncing    bool      `json:"is_syncing"`
		HeadSlot     uint64Str `json:"head_slot"`
		SyncDistance uint64Str `json:"sync_distance"`
	} `json:"data"`
}

type StandardV1BlockRootResponse

type StandardV1BlockRootResponse struct {
	Data struct {
		Root string `json:"root"`
	} `json:"data"`
}

type StandardV2BlockResponse

type StandardV2BlockResponse struct {
	Version string         `json:"version"`
	Data    AnySignedBlock `json:"data"`
}

type StandardValidatorBalancesResponse

type StandardValidatorBalancesResponse struct {
	Data []struct {
		Index   uint64Str `json:"index"`
		Balance uint64Str `json:"balance"`
	} `json:"data"`
}

type StandardValidatorEntry

type StandardValidatorEntry struct {
	Index     uint64Str `json:"index"`
	Balance   uint64Str `json:"balance"`
	Status    string    `json:"status"`
	Validator struct {
		Pubkey                     string    `json:"pubkey"`
		WithdrawalCredentials      string    `json:"withdrawal_credentials"`
		EffectiveBalance           uint64Str `json:"effective_balance"`
		Slashed                    bool      `json:"slashed"`
		ActivationEligibilityEpoch uint64Str `json:"activation_eligibility_epoch"`
		ActivationEpoch            uint64Str `json:"activation_epoch"`
		ExitEpoch                  uint64Str `json:"exit_epoch"`
		WithdrawableEpoch          uint64Str `json:"withdrawable_epoch"`
	} `json:"validator"`
}

type StandardValidatorsResponse

type StandardValidatorsResponse struct {
	Data []StandardValidatorEntry `json:"data"`
}

type StreamedBlockEventData

type StreamedBlockEventData struct {
	Slot                uint64Str `json:"slot"`
	Block               string    `json:"block"`
	ExecutionOptimistic bool      `json:"execution_optimistic"`
}

type SyncAggregate

type SyncAggregate struct {
	SyncCommitteeBits      string `json:"sync_committee_bits"`
	SyncCommitteeSignature string `json:"sync_committee_signature"`
}

type VoluntaryExit

type VoluntaryExit struct {
	Message struct {
		Epoch          uint64Str `json:"epoch"`
		ValidatorIndex uint64Str `json:"validator_index"`
	} `json:"message"`
	Signature string `json:"signature"`
}

type WithdrawalPayload

type WithdrawalPayload struct {
	Index          uint64Str   `json:"index"`
	ValidatorIndex uint64Str   `json:"validator_index"`
	Address        bytesHexStr `json:"address"`
	Amount         uint64Str   `json:"amount"`
}

Jump to

Keyboard shortcuts

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