segregated_cache_provider.go 735 B

12345678910111213141516171819202122232425262728
  1. package privatecache
  2. import (
  3. "github.com/ethereum/go-ethereum/common"
  4. "github.com/ethereum/go-ethereum/core/state"
  5. "github.com/ethereum/go-ethereum/ethdb"
  6. "github.com/ethereum/go-ethereum/trie"
  7. )
  8. type segregatedCacheProvider struct {
  9. db ethdb.Database
  10. config *trie.Config
  11. }
  12. func (p *segregatedCacheProvider) GetCache() state.Database {
  13. return state.NewDatabase(p.db)
  14. }
  15. func (p *segregatedCacheProvider) GetCacheWithConfig() state.Database {
  16. return state.NewDatabaseWithConfig(p.db, p.config)
  17. }
  18. func (p *segregatedCacheProvider) Commit(db state.Database, hash common.Hash) error {
  19. return db.TrieDB().Commit(hash, false, nil)
  20. }
  21. func (p *segregatedCacheProvider) Reference(child, parent common.Hash) {
  22. // do nothing
  23. }