mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-05 10:32:19 +00:00
3d6d2a7c25
Whitelisting calculation of the roothash should not be dependent on the bor api running. This will not always be the case, for example when erigon is configured with a separate rpc deamon. To fix this the calculation has been moved to Bor. Additionally the redundant Bor API code has been removed as this is not called by any code and the functionality looks to have migrated to the turbo/jsonrpc package.
41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package jsonrpc
|
|
|
|
import (
|
|
"github.com/ledgerwatch/erigon-lib/common"
|
|
"github.com/ledgerwatch/erigon-lib/kv"
|
|
|
|
"github.com/ledgerwatch/erigon/consensus/bor"
|
|
"github.com/ledgerwatch/erigon/consensus/bor/valset"
|
|
"github.com/ledgerwatch/erigon/rpc"
|
|
)
|
|
|
|
// BorAPI Bor specific routines
|
|
type BorAPI interface {
|
|
// Bor snapshot related (see ./bor_snapshot.go)
|
|
GetSnapshot(number *rpc.BlockNumber) (*Snapshot, error)
|
|
GetAuthor(number *rpc.BlockNumber) (*common.Address, error)
|
|
GetSnapshotAtHash(hash common.Hash) (*Snapshot, error)
|
|
GetSigners(number *rpc.BlockNumber) ([]common.Address, error)
|
|
GetSignersAtHash(hash common.Hash) ([]common.Address, error)
|
|
GetCurrentProposer() (common.Address, error)
|
|
GetCurrentValidators() ([]*valset.Validator, error)
|
|
GetSnapshotProposerSequence(blockNrOrHash *rpc.BlockNumberOrHash) (BlockSigners, error)
|
|
GetRootHash(start uint64, end uint64) (string, error)
|
|
}
|
|
|
|
// BorImpl is implementation of the BorAPI interface
|
|
type BorImpl struct {
|
|
*BaseAPI
|
|
db kv.RoDB // the chain db
|
|
bor *bor.Bor
|
|
}
|
|
|
|
// NewBorAPI returns BorImpl instance
|
|
func NewBorAPI(base *BaseAPI, db kv.RoDB, bor *bor.Bor) *BorImpl {
|
|
return &BorImpl{
|
|
BaseAPI: base,
|
|
db: db,
|
|
bor: bor,
|
|
}
|
|
}
|