diff options
author | Péter Szilágyi <peterke@gmail.com> | 2016-09-27 18:13:13 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2016-09-28 18:32:12 +0800 |
commit | f50c2a5c70525ddedb12beeafea5af4ae203658c (patch) | |
tree | b2e8870786a0cbb43489a5fc787e4bfe77aac623 /core/blockchain.go | |
parent | ddadf402fcb49a4c9624441897c77de3e8cce50f (diff) | |
download | go-tangerine-f50c2a5c70525ddedb12beeafea5af4ae203658c.tar go-tangerine-f50c2a5c70525ddedb12beeafea5af4ae203658c.tar.gz go-tangerine-f50c2a5c70525ddedb12beeafea5af4ae203658c.tar.bz2 go-tangerine-f50c2a5c70525ddedb12beeafea5af4ae203658c.tar.lz go-tangerine-f50c2a5c70525ddedb12beeafea5af4ae203658c.tar.xz go-tangerine-f50c2a5c70525ddedb12beeafea5af4ae203658c.tar.zst go-tangerine-f50c2a5c70525ddedb12beeafea5af4ae203658c.zip |
[release/1.4.14] core, eth, trie: reuse trie journals in all our code
(cherry picked from commit 710435b51b97b4c688b70bda35ab9d1aa704a988)
Diffstat (limited to 'core/blockchain.go')
-rw-r--r-- | core/blockchain.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/blockchain.go b/core/blockchain.go index 5fc6b2190..9a8a72d0b 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -357,7 +357,12 @@ func (self *BlockChain) AuxValidator() pow.PoW { return self.pow } // State returns a new mutable state based on the current HEAD block. func (self *BlockChain) State() (*state.StateDB, error) { - return state.New(self.CurrentBlock().Root(), self.chainDb) + return self.StateAt(self.CurrentBlock().Root()) +} + +// StateAt returns a new mutable state based on a particular point in time. +func (self *BlockChain) StateAt(root common.Hash) (*state.StateDB, error) { + return self.stateCache.New(root) } // Reset purges the entire blockchain, restoring it to its genesis state. |