@ethereumjs/statemanager
Version:
An Ethereum statemanager implementation
36 lines (28 loc) • 762 B
text/typescript
import { isDebugEnabled } from '@ethereumjs/util'
import debugDefault from 'debug'
import type { Debugger } from 'debug'
export class Cache {
_debug: Debugger
_checkpoints = 0
_stats = {
size: 0,
reads: 0,
hits: 0,
writes: 0,
deletions: 0,
}
/**
* StateManager cache is run in DEBUG mode (default: false)
* Taken from DEBUG environment variable
*
* Safeguards on debug() calls are added for
* performance reasons to avoid string literal evaluation
* @hidden
*/
protected readonly DEBUG: boolean = false
constructor() {
// Skip DEBUG calls unless 'ethjs' included in environmental DEBUG variables
this.DEBUG = isDebugEnabled('ethjs')
this._debug = debugDefault('statemanager:cache')
}
}