github.com/tacshi/go-ethereum@v0.0.0-20230616113857-84a434e20921/core/state/statedb_arbitrum.go (about) 1 // Copyright 2014 The go-ethereum Authors 2 // This file is part of the go-ethereum library. 3 // 4 // The go-ethereum library is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU Lesser General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // The go-ethereum library is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU Lesser General Public License for more details. 13 // 14 // You should have received a copy of the GNU Lesser General Public License 15 // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. 16 17 // Package state provides a caching layer atop the Ethereum state trie. 18 package state 19 20 import ( 21 "math/big" 22 23 "github.com/tacshi/go-ethereum/common" 24 "github.com/tacshi/go-ethereum/core/types" 25 ) 26 27 func (s *StateDB) GetCurrentTxLogs() []*types.Log { 28 return s.logs[s.thash] 29 } 30 31 // GetUnexpectedBalanceDelta returns the total unexpected change in balances since the last commit to the database. 32 func (s *StateDB) GetUnexpectedBalanceDelta() *big.Int { 33 return new(big.Int).Set(s.unexpectedBalanceDelta) 34 } 35 36 func (s *StateDB) GetSuicides() []common.Address { 37 suicides := []common.Address{} 38 for addr := range s.journal.dirties { 39 obj, exist := s.stateObjects[addr] 40 if !exist { 41 continue 42 } 43 if obj.suicided { 44 suicides = append(suicides, addr) 45 } 46 } 47 return suicides 48 }