github.com/shrimpyuk/bor@v0.2.15-0.20220224151350-fb4ec6020bae/accounts/abi/bind/backends/bor_simulated.go (about)

     1  package backends
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/ethereum/go-ethereum/common"
     7  	"github.com/ethereum/go-ethereum/core"
     8  	"github.com/ethereum/go-ethereum/core/rawdb"
     9  	"github.com/ethereum/go-ethereum/core/types"
    10  	"github.com/ethereum/go-ethereum/event"
    11  )
    12  
    13  func (fb *filterBackend) GetBorBlockReceipt(ctx context.Context, hash common.Hash) (*types.Receipt, error) {
    14  	number := rawdb.ReadHeaderNumber(fb.db, hash)
    15  	if number == nil {
    16  		return nil, nil
    17  	}
    18  	receipt := rawdb.ReadRawBorReceipt(fb.db, hash, *number)
    19  	if receipt == nil {
    20  		return nil, nil
    21  	}
    22  
    23  	return receipt, nil
    24  }
    25  
    26  func (fb *filterBackend) GetBorBlockLogs(ctx context.Context, hash common.Hash) ([]*types.Log, error) {
    27  	receipt, err := fb.GetBorBlockReceipt(ctx, hash)
    28  	if err != nil || receipt == nil {
    29  		return nil, err
    30  	}
    31  
    32  	return receipt.Logs, nil
    33  }
    34  
    35  // SubscribeStateSyncEvent subscribes to state sync events
    36  func (fb *filterBackend) SubscribeStateSyncEvent(ch chan<- core.StateSyncEvent) event.Subscription {
    37  	return fb.bc.SubscribeStateSyncEvent(ch)
    38  }