forked from cerc-io/plugeth
eth: abort on api operations not available in pbss-mode (#28104)
eth: abort on api calls not supporting pbss
This commit is contained in:
parent
eb7438997b
commit
b9b99a12e5
@ -362,6 +362,9 @@ func (api *DebugAPI) getModifiedAccounts(startBlock, endBlock *types.Block) ([]c
|
||||
// The (from, to) parameters are the sequence of blocks to search, which can go
|
||||
// either forwards or backwards
|
||||
func (api *DebugAPI) GetAccessibleState(from, to rpc.BlockNumber) (uint64, error) {
|
||||
if api.eth.blockchain.TrieDB().Scheme() == rawdb.PathScheme {
|
||||
return 0, errors.New("state history is not yet available in path-based scheme")
|
||||
}
|
||||
db := api.eth.ChainDb()
|
||||
var pivot uint64
|
||||
if p := rawdb.ReadLastPivotNumber(db); p != nil {
|
||||
@ -422,6 +425,9 @@ func (api *DebugAPI) GetAccessibleState(from, to rpc.BlockNumber) (uint64, error
|
||||
// If the value is shorter than the block generation time, or even 0 or negative,
|
||||
// the node will flush trie after processing each block (effectively archive mode).
|
||||
func (api *DebugAPI) SetTrieFlushInterval(interval string) error {
|
||||
if api.eth.blockchain.TrieDB().Scheme() == rawdb.PathScheme {
|
||||
return errors.New("trie flush interval is undefined for path-based scheme")
|
||||
}
|
||||
t, err := time.ParseDuration(interval)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -431,6 +437,9 @@ func (api *DebugAPI) SetTrieFlushInterval(interval string) error {
|
||||
}
|
||||
|
||||
// GetTrieFlushInterval gets the current value of in-memory trie flush interval
|
||||
func (api *DebugAPI) GetTrieFlushInterval() string {
|
||||
return api.eth.blockchain.GetTrieFlushInterval().String()
|
||||
func (api *DebugAPI) GetTrieFlushInterval() (string, error) {
|
||||
if api.eth.blockchain.TrieDB().Scheme() == rawdb.PathScheme {
|
||||
return "", errors.New("trie flush interval is undefined for path-based scheme")
|
||||
}
|
||||
return api.eth.blockchain.GetTrieFlushInterval().String(), nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user