github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/gossip/evmstore/store_block_cache.go (about) 1 package evmstore 2 3 import ( 4 "github.com/unicornultrafoundation/go-helios/native/idx" 5 "github.com/unicornultrafoundation/go-u2u/common" 6 7 "github.com/unicornultrafoundation/go-u2u/evmcore" 8 ) 9 10 func (s *Store) GetCachedEvmBlock(n idx.Block) *evmcore.EvmBlock { 11 c, ok := s.cache.EvmBlocks.Get(n) 12 if !ok { 13 return nil 14 } 15 16 return c.(*evmcore.EvmBlock) 17 } 18 19 func (s *Store) SetCachedEvmBlock(n idx.Block, b *evmcore.EvmBlock) { 20 var empty = common.Hash{} 21 if b.EvmHeader.TxHash == empty { 22 panic("You have to cache only completed blocks (with txs)") 23 } 24 s.cache.EvmBlocks.Add(n, b, uint(b.EstimateSize())) 25 }