mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 23:26:44 +00:00
39 lines
1 KiB
Go
39 lines
1 KiB
Go
package backends
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/ethereum/go-ethereum/common"
|
|
"github.com/ethereum/go-ethereum/core"
|
|
"github.com/ethereum/go-ethereum/core/rawdb"
|
|
"github.com/ethereum/go-ethereum/core/types"
|
|
"github.com/ethereum/go-ethereum/event"
|
|
)
|
|
|
|
func (fb *filterBackend) GetBorBlockReceipt(ctx context.Context, hash common.Hash) (*types.Receipt, error) {
|
|
number := rawdb.ReadHeaderNumber(fb.db, hash)
|
|
if number == nil {
|
|
return nil, nil
|
|
}
|
|
|
|
receipt := rawdb.ReadRawBorReceipt(fb.db, hash, *number)
|
|
if receipt == nil {
|
|
return nil, nil
|
|
}
|
|
|
|
return receipt, nil
|
|
}
|
|
|
|
func (fb *filterBackend) GetBorBlockLogs(ctx context.Context, hash common.Hash) ([]*types.Log, error) {
|
|
receipt, err := fb.GetBorBlockReceipt(ctx, hash)
|
|
if err != nil || receipt == nil {
|
|
return nil, err
|
|
}
|
|
|
|
return receipt.Logs, nil
|
|
}
|
|
|
|
// SubscribeStateSyncEvent subscribes to state sync events
|
|
func (fb *filterBackend) SubscribeStateSyncEvent(ch chan<- core.StateSyncEvent) event.Subscription {
|
|
return fb.bc.SubscribeStateSyncEvent(ch)
|
|
}
|