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
|
// The (from, to) parameters are the sequence of blocks to search, which can go
|
||||||
// either forwards or backwards
|
// either forwards or backwards
|
||||||
func (api *DebugAPI) GetAccessibleState(from, to rpc.BlockNumber) (uint64, error) {
|
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()
|
db := api.eth.ChainDb()
|
||||||
var pivot uint64
|
var pivot uint64
|
||||||
if p := rawdb.ReadLastPivotNumber(db); p != nil {
|
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,
|
// 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).
|
// the node will flush trie after processing each block (effectively archive mode).
|
||||||
func (api *DebugAPI) SetTrieFlushInterval(interval string) error {
|
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)
|
t, err := time.ParseDuration(interval)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -431,6 +437,9 @@ func (api *DebugAPI) SetTrieFlushInterval(interval string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetTrieFlushInterval gets the current value of in-memory trie flush interval
|
// GetTrieFlushInterval gets the current value of in-memory trie flush interval
|
||||||
func (api *DebugAPI) GetTrieFlushInterval() string {
|
func (api *DebugAPI) GetTrieFlushInterval() (string, error) {
|
||||||
return api.eth.blockchain.GetTrieFlushInterval().String()
|
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