mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-24 13:46:43 +00:00
Merge f6cb834362 into 90f1fe0ed2
This commit is contained in:
commit
e8ab960846
4 changed files with 0 additions and 85 deletions
|
|
@ -87,10 +87,6 @@ type StateObject struct {
|
|||
dirty bool
|
||||
}
|
||||
|
||||
func (self *StateObject) Reset() {
|
||||
self.storage = make(Storage)
|
||||
}
|
||||
|
||||
func NewStateObject(address common.Address, db common.Database) *StateObject {
|
||||
object := &StateObject{db: db, address: address, balance: new(big.Int), gasPool: new(big.Int), dirty: true}
|
||||
object.trie = trie.NewSecure((common.Hash{}).Bytes(), db)
|
||||
|
|
@ -184,14 +180,6 @@ func (self *StateObject) Update() {
|
|||
}
|
||||
}
|
||||
|
||||
func (c *StateObject) GetInstr(pc *big.Int) *common.Value {
|
||||
if int64(len(c.code)-1) < pc.Int64() {
|
||||
return common.NewValue(0)
|
||||
}
|
||||
|
||||
return common.NewValueFromBytes([]byte{c.code[pc.Int64()]})
|
||||
}
|
||||
|
||||
func (c *StateObject) AddBalance(amount *big.Int) {
|
||||
c.SetBalance(new(big.Int).Add(c.balance, amount))
|
||||
|
||||
|
|
@ -268,10 +256,6 @@ func (self *StateObject) Copy() *StateObject {
|
|||
return stateObject
|
||||
}
|
||||
|
||||
func (self *StateObject) Set(stateObject *StateObject) {
|
||||
*self = *stateObject
|
||||
}
|
||||
|
||||
//
|
||||
// Attribute accessors
|
||||
//
|
||||
|
|
@ -280,20 +264,11 @@ func (self *StateObject) Balance() *big.Int {
|
|||
return self.balance
|
||||
}
|
||||
|
||||
func (c *StateObject) N() *big.Int {
|
||||
return big.NewInt(int64(c.nonce))
|
||||
}
|
||||
|
||||
// Returns the address of the contract/account
|
||||
func (c *StateObject) Address() common.Address {
|
||||
return c.address
|
||||
}
|
||||
|
||||
// Returns the initialization Code
|
||||
func (c *StateObject) Init() Code {
|
||||
return c.initCode
|
||||
}
|
||||
|
||||
func (self *StateObject) Trie() *trie.SecureTrie {
|
||||
return self.trie
|
||||
}
|
||||
|
|
@ -311,11 +286,6 @@ func (self *StateObject) SetCode(code []byte) {
|
|||
self.dirty = true
|
||||
}
|
||||
|
||||
func (self *StateObject) SetInitCode(code []byte) {
|
||||
self.initCode = code
|
||||
self.dirty = true
|
||||
}
|
||||
|
||||
func (self *StateObject) SetNonce(nonce uint64) {
|
||||
self.nonce = nonce
|
||||
self.dirty = true
|
||||
|
|
@ -354,19 +324,6 @@ func (c *StateObject) CodeHash() common.Bytes {
|
|||
return crypto.Sha3(c.code)
|
||||
}
|
||||
|
||||
func (c *StateObject) RlpDecode(data []byte) {
|
||||
decoder := common.NewValueFromBytes(data)
|
||||
c.nonce = decoder.Get(0).Uint()
|
||||
c.balance = decoder.Get(1).BigInt()
|
||||
c.trie = trie.NewSecure(decoder.Get(2).Bytes(), c.db)
|
||||
c.storage = make(map[string]common.Hash)
|
||||
c.gasPool = new(big.Int)
|
||||
|
||||
c.codeHash = decoder.Get(3).Bytes()
|
||||
|
||||
c.code, _ = c.db.Get(c.codeHash)
|
||||
}
|
||||
|
||||
// Storage change object. Used by the manifest for notifying changes to
|
||||
// the sub channels.
|
||||
type StorageState struct {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
package state
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"math/big"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
|
|
@ -276,10 +275,6 @@ func (self *StateDB) CreateAccount(addr common.Address) *StateObject {
|
|||
// Setting, copying of the state methods
|
||||
//
|
||||
|
||||
func (s *StateDB) Cmp(other *StateDB) bool {
|
||||
return bytes.Equal(s.trie.Root(), other.trie.Root())
|
||||
}
|
||||
|
||||
func (self *StateDB) Copy() *StateDB {
|
||||
state := New(common.Hash{}, self.db)
|
||||
state.trie = self.trie
|
||||
|
|
@ -311,22 +306,6 @@ func (s *StateDB) Root() common.Hash {
|
|||
return common.BytesToHash(s.trie.Root())
|
||||
}
|
||||
|
||||
func (s *StateDB) Trie() *trie.SecureTrie {
|
||||
return s.trie
|
||||
}
|
||||
|
||||
// Resets the trie and all siblings
|
||||
func (s *StateDB) Reset() {
|
||||
s.trie.Reset()
|
||||
|
||||
// Reset all nested states
|
||||
for _, stateObject := range s.stateObjects {
|
||||
stateObject.Reset()
|
||||
}
|
||||
|
||||
s.Empty()
|
||||
}
|
||||
|
||||
// Syncs the trie and all siblings
|
||||
func (s *StateDB) Sync() {
|
||||
// Sync all nested states
|
||||
|
|
|
|||
|
|
@ -33,10 +33,6 @@ import (
|
|||
|
||||
var ErrInvalidSig = errors.New("invalid v, r, s values")
|
||||
|
||||
func IsContractAddr(addr []byte) bool {
|
||||
return len(addr) == 0
|
||||
}
|
||||
|
||||
type Transaction struct {
|
||||
data txdata
|
||||
// caches
|
||||
|
|
|
|||
|
|
@ -25,20 +25,3 @@ import (
|
|||
|
||||
var OutOfGasError = errors.New("Out of gas")
|
||||
var DepthError = fmt.Errorf("Max call depth exceeded (%d)", params.CallCreateDepth)
|
||||
|
||||
type StackError struct {
|
||||
req, has int
|
||||
}
|
||||
|
||||
func StackErr(req, has int) StackError {
|
||||
return StackError{req, has}
|
||||
}
|
||||
|
||||
func (self StackError) Error() string {
|
||||
return fmt.Sprintf("stack error! require %v, have %v", self.req, self.has)
|
||||
}
|
||||
|
||||
func IsStackErr(err error) bool {
|
||||
_, ok := err.(StackError)
|
||||
return ok
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue