Documentation ¶
Overview ¶
Package database exposes the postgres database
Index ¶
- Variables
- func NewNullInt64(i int64) sql.NullInt64
- func NewNullString(s string) sql.NullString
- type BlockSubmission
- type BuilderBlockSubmissionEntry
- type DatabaseService
- func (s *DatabaseService) Close() error
- func (s *DatabaseService) GetBlockSubmissionEntry(ctx context.Context, slot uint64, proposerPubkey, blockHash string) (entry *BuilderBlockSubmissionEntry, err error)
- func (s *DatabaseService) GetBlockSubmissionEntryByHash(ctx context.Context, blockHash string) (entry *BuilderBlockSubmissionEntry, err error)
- func (s *DatabaseService) GetBuilderSubmissions(ctx context.Context, filters GetBuilderSubmissionsFilters) ([]*BuilderBlockSubmissionEntry, error)
- func (s *DatabaseService) GetExecutionPayloadEntryByID(ctx context.Context, executionPayloadID int64) (entry *ExecutionPayloadEntry, err error)
- func (s *DatabaseService) GetExecutionPayloadEntryBySlotPkHash(ctx context.Context, slot uint64, blockHash string) (entry *ExecutionPayloadEntry, err error)
- func (s *DatabaseService) GetNumDeliveredPayloads(ctx context.Context) (uint64, error)
- func (s *DatabaseService) GetRecentDeliveredPayloads(filters GetPayloadsFilters) ([]*DeliveredPayloadEntry, error)
- func (s *DatabaseService) SaveBuilderBlockSubmissionToDB(ctx context.Context, payload *capella.SubmitBlockRequest, simError error, ...) (id int64, err error)
- func (s *DatabaseService) SaveDeliveredPayload(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, ...) error
- func (s *DatabaseService) SaveDeliveredPayloadFromProvidedData(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, ...) error
- func (s *DatabaseService) SaveValidatorRegistration(ctx context.Context, registration types.SignedValidatorRegistration) error
- type DeliveredPayloadEntry
- type ExecutionPayloadEntry
- type GetBuilderSubmissionsFilters
- type GetPayloadsFilters
- type IDatabaseService
- type MockDB
- func (db *MockDB) GetBlockSubmissionEntry(ctx context.Context, slot uint64, proposerPubkey, blockHash string) (entry *BuilderBlockSubmissionEntry, err error)
- func (db *MockDB) GetBlockSubmissionEntryByHash(ctx context.Context, blockHash string) (entry *BuilderBlockSubmissionEntry, err error)
- func (db *MockDB) GetBuilderSubmissions(context context.Context, filters GetBuilderSubmissionsFilters) ([]*BuilderBlockSubmissionEntry, error)
- func (db *MockDB) GetExecutionPayloadEntryByID(ctx context.Context, executionPayloadID int64) (entry *ExecutionPayloadEntry, err error)
- func (db *MockDB) GetExecutionPayloadEntryBySlotPkHash(ctx context.Context, slot uint64, blockHash string) (entry *ExecutionPayloadEntry, err error)
- func (db *MockDB) GetNumDeliveredPayloads(ctx context.Context) (uint64, error)
- func (db *MockDB) GetRecentDeliveredPayloads(filters GetPayloadsFilters) ([]*DeliveredPayloadEntry, error)
- func (db *MockDB) SaveBuilderBlockSubmissionToDB(ctx context.Context, payload *capella.SubmitBlockRequest, simError error, ...) (id int64, err error)
- func (db *MockDB) SaveDeliveredPayload(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, ...) error
- func (db *MockDB) SaveDeliveredPayloadFromProvidedData(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, ...) error
- func (db *MockDB) SaveValidatorRegistration(ctx context.Context, registration types.SignedValidatorRegistration) error
- type ValidatorRegistrationEntry
Constants ¶
This section is empty.
Variables ¶
var ( // TableValidatorRegistration variable TableValidatorRegistration = tableBase + "_validator_registration" // TableExecutionPayload variable TableExecutionPayload = tableBase + "_execution_payload" // TableBuilderBlockSubmission variable TableBuilderBlockSubmission = tableBase + "_builder_block_submission" // TableDeliveredPayload variable TableDeliveredPayload = tableBase + "_payload_delivered" )
Functions ¶
Types ¶
type BlockSubmission ¶
type BlockSubmission struct { HeaderResponse types.GetHeaderResponse PayloadResponse types.GetPayloadResponse Submission types.BuilderSubmitBlockRequest }
BlockSubmission structs
type BuilderBlockSubmissionEntry ¶
type BuilderBlockSubmissionEntry struct { ID int64 `db:"id"` InsertedAt time.Time `db:"inserted_at"` // Delivered ExecutionPayload ExecutionPayloadID sql.NullInt64 `db:"execution_payload_id"` // Sim Result SimSuccess bool `db:"sim_success"` SimError string `db:"sim_error"` // BidTrace data Signature string `db:"signature"` Slot uint64 `db:"slot"` ParentHash string `db:"parent_hash"` BlockHash string `db:"block_hash"` BuilderPubkey string `db:"builder_pubkey"` ProposerPubkey string `db:"proposer_pubkey"` ProposerFeeRecipient string `db:"proposer_fee_recipient"` GasUsed uint64 `db:"gas_used"` GasLimit uint64 `db:"gas_limit"` NumTx int `db:"num_tx"` Value string `db:"value"` // Helpers Epoch uint64 `db:"epoch"` BlockNumber uint64 `db:"block_number"` WasMostProfitable bool `db:"was_most_profitable"` }
BuilderBlockSubmissionEntry structs
type DatabaseService ¶
DatabaseService db
func NewDatabaseService ¶
func NewDatabaseService(dsn string) (*DatabaseService, error)
NewDatabaseService db
func (*DatabaseService) GetBlockSubmissionEntry ¶
func (s *DatabaseService) GetBlockSubmissionEntry(ctx context.Context, slot uint64, proposerPubkey, blockHash string) (entry *BuilderBlockSubmissionEntry, err error)
GetBlockSubmissionEntry db func
func (*DatabaseService) GetBlockSubmissionEntryByHash ¶
func (s *DatabaseService) GetBlockSubmissionEntryByHash(ctx context.Context, blockHash string) (entry *BuilderBlockSubmissionEntry, err error)
GetBlockSubmissionEntryByHash db func
func (*DatabaseService) GetBuilderSubmissions ¶
func (s *DatabaseService) GetBuilderSubmissions(ctx context.Context, filters GetBuilderSubmissionsFilters) ([]*BuilderBlockSubmissionEntry, error)
GetBuilderSubmissions db func
func (*DatabaseService) GetExecutionPayloadEntryByID ¶
func (s *DatabaseService) GetExecutionPayloadEntryByID(ctx context.Context, executionPayloadID int64) (entry *ExecutionPayloadEntry, err error)
GetExecutionPayloadEntryByID db func
func (*DatabaseService) GetExecutionPayloadEntryBySlotPkHash ¶
func (s *DatabaseService) GetExecutionPayloadEntryBySlotPkHash(ctx context.Context, slot uint64, blockHash string) (entry *ExecutionPayloadEntry, err error)
GetExecutionPayloadEntryBySlotPkHash db func
func (*DatabaseService) GetNumDeliveredPayloads ¶
func (s *DatabaseService) GetNumDeliveredPayloads(ctx context.Context) (uint64, error)
GetNumDeliveredPayloads db func
func (*DatabaseService) GetRecentDeliveredPayloads ¶
func (s *DatabaseService) GetRecentDeliveredPayloads(filters GetPayloadsFilters) ([]*DeliveredPayloadEntry, error)
GetRecentDeliveredPayloads db func
func (*DatabaseService) SaveBuilderBlockSubmissionToDB ¶
func (s *DatabaseService) SaveBuilderBlockSubmissionToDB(ctx context.Context, payload *capella.SubmitBlockRequest, simError error, isMostProfitable bool, receivedAt time.Time) (id int64, err error)
SaveBuilderBlockSubmissionToDB db func
func (*DatabaseService) SaveDeliveredPayload ¶
func (s *DatabaseService) SaveDeliveredPayload(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, signedBlindedBeaconBlock *types.SignedBlindedBeaconBlock) error
SaveDeliveredPayload db func
func (*DatabaseService) SaveDeliveredPayloadFromProvidedData ¶
func (s *DatabaseService) SaveDeliveredPayloadFromProvidedData(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, signedBlindedBeaconBlock *capellaapi.SignedBlindedBeaconBlock, bidTrace *v1.BidTrace, getPayloadResponse *api.VersionedExecutionPayload) error
SaveDeliveredPayloadFromProvidedData db func
func (*DatabaseService) SaveValidatorRegistration ¶
func (s *DatabaseService) SaveValidatorRegistration(ctx context.Context, registration types.SignedValidatorRegistration) error
SaveValidatorRegistration db func
type DeliveredPayloadEntry ¶
type DeliveredPayloadEntry struct { ID int64 `db:"id"` InsertedAt time.Time `db:"inserted_at"` ExecutionPayloadID sql.NullInt64 `db:"execution_payload_id"` SignedBlindedBeaconBlock sql.NullString `db:"signed_blinded_beacon_block"` Slot uint64 `db:"slot"` Epoch uint64 `db:"epoch"` BuilderPubkey string `db:"builder_pubkey"` ProposerPubkey string `db:"proposer_pubkey"` ProposerFeeRecipient string `db:"proposer_fee_recipient"` ParentHash string `db:"parent_hash"` BlockHash string `db:"block_hash"` BlockNumber uint64 `db:"block_number"` GasUsed uint64 `db:"gas_used"` GasLimit uint64 `db:"gas_limit"` NumTx int `db:"num_tx"` Value string `db:"value"` }
DeliveredPayloadEntry structs
type ExecutionPayloadEntry ¶
type ExecutionPayloadEntry struct { ID int64 `db:"id"` InsertedAt time.Time `db:"inserted_at"` Slot uint64 `db:"slot"` ProposerPubkey string `db:"proposer_pubkey"` BlockHash string `db:"block_hash"` Version string `db:"version"` Payload string `db:"payload"` }
ExecutionPayloadEntry structs
type GetBuilderSubmissionsFilters ¶
type GetBuilderSubmissionsFilters struct { Slot uint64 Limit uint64 BlockHash string BlockNumber uint64 BuilderPubkey string }
GetBuilderSubmissionsFilters structs
func (GetBuilderSubmissionsFilters) IsDefault ¶
func (g GetBuilderSubmissionsFilters) IsDefault() bool
type GetPayloadsFilters ¶
type GetPayloadsFilters struct { Slot uint64 Cursor uint64 Limit uint64 BlockHash string BlockNumber uint64 BuilderPubkey string }
GetPayloadsFilters structs
type IDatabaseService ¶
type IDatabaseService interface { SaveValidatorRegistration(ctx context.Context, registration types.SignedValidatorRegistration) error SaveBuilderBlockSubmissionToDB(ctx context.Context, payload *capella.SubmitBlockRequest, simError error, isMostProfitable bool, receivedAt time.Time) (id int64, err error) SaveDeliveredPayload(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, signedBlindedBeaconBlock *types.SignedBlindedBeaconBlock) error GetBlockSubmissionEntry(ctx context.Context, slot uint64, proposerPubkey, blockHash string) (entry *BuilderBlockSubmissionEntry, err error) GetExecutionPayloadEntryByID(ctx context.Context, executionPayloadID int64) (entry *ExecutionPayloadEntry, err error) GetExecutionPayloadEntryBySlotPkHash(ctx context.Context, slot uint64, blockHash string) (entry *ExecutionPayloadEntry, err error) GetRecentDeliveredPayloads(filters GetPayloadsFilters) ([]*DeliveredPayloadEntry, error) GetNumDeliveredPayloads(ctx context.Context) (uint64, error) GetBuilderSubmissions(ctx context.Context, filters GetBuilderSubmissionsFilters) ([]*BuilderBlockSubmissionEntry, error) GetBlockSubmissionEntryByHash(ctx context.Context, blockHash string) (entry *BuilderBlockSubmissionEntry, err error) SaveDeliveredPayloadFromProvidedData(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, signedBlindedBeaconBlock *capellaapi.SignedBlindedBeaconBlock, bidTrace *v1.BidTrace, getPayloadResponse *api.VersionedExecutionPayload) error }
IDatabaseService db
type MockDB ¶
MockDB struct
func (*MockDB) GetBlockSubmissionEntry ¶
func (db *MockDB) GetBlockSubmissionEntry(ctx context.Context, slot uint64, proposerPubkey, blockHash string) (entry *BuilderBlockSubmissionEntry, err error)
GetBlockSubmissionEntry func
func (*MockDB) GetBlockSubmissionEntryByHash ¶
func (db *MockDB) GetBlockSubmissionEntryByHash(ctx context.Context, blockHash string) (entry *BuilderBlockSubmissionEntry, err error)
GetBlockSubmissionEntryByHash func
func (*MockDB) GetBuilderSubmissions ¶
func (db *MockDB) GetBuilderSubmissions(context context.Context, filters GetBuilderSubmissionsFilters) ([]*BuilderBlockSubmissionEntry, error)
GetBuilderSubmissions func
func (*MockDB) GetExecutionPayloadEntryByID ¶
func (db *MockDB) GetExecutionPayloadEntryByID(ctx context.Context, executionPayloadID int64) (entry *ExecutionPayloadEntry, err error)
GetExecutionPayloadEntryByID func
func (*MockDB) GetExecutionPayloadEntryBySlotPkHash ¶
func (db *MockDB) GetExecutionPayloadEntryBySlotPkHash(ctx context.Context, slot uint64, blockHash string) (entry *ExecutionPayloadEntry, err error)
GetExecutionPayloadEntryBySlotPkHash func
func (*MockDB) GetNumDeliveredPayloads ¶
GetNumDeliveredPayloads func
func (*MockDB) GetRecentDeliveredPayloads ¶
func (db *MockDB) GetRecentDeliveredPayloads(filters GetPayloadsFilters) ([]*DeliveredPayloadEntry, error)
GetRecentDeliveredPayloads func
func (*MockDB) SaveBuilderBlockSubmissionToDB ¶
func (db *MockDB) SaveBuilderBlockSubmissionToDB(ctx context.Context, payload *capella.SubmitBlockRequest, simError error, isMostProfitable bool, receivedAt time.Time) (id int64, err error)
SaveBuilderBlockSubmissionToDB func
func (*MockDB) SaveDeliveredPayload ¶
func (db *MockDB) SaveDeliveredPayload(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, signedBlindedBeaconBlock *types.SignedBlindedBeaconBlock) error
SaveDeliveredPayload func
func (*MockDB) SaveDeliveredPayloadFromProvidedData ¶
func (db *MockDB) SaveDeliveredPayloadFromProvidedData(slot uint64, proposerPubkey types.PubkeyHex, blockHash types.Hash, signedBlindedBeaconBlock *capellaapi.SignedBlindedBeaconBlock, bidTrace *v1.BidTrace, getPayloadResponse *api.VersionedExecutionPayload) error
SaveDeliveredPayloadFromProvidedData func
func (*MockDB) SaveValidatorRegistration ¶
func (db *MockDB) SaveValidatorRegistration(ctx context.Context, registration types.SignedValidatorRegistration) error
SaveValidatorRegistration func
type ValidatorRegistrationEntry ¶
type ValidatorRegistrationEntry struct { ID int64 `db:"id"` InsertedAt time.Time `db:"inserted_at"` Pubkey string `db:"pubkey"` FeeRecipient string `db:"fee_recipient"` Timestamp uint64 `db:"timestamp"` GasLimit uint64 `db:"gas_limit"` Signature string `db:"signature"` }
ValidatorRegistrationEntry structs