forked from cerc-io/plugeth
ethtrie => trie
This commit is contained in:
parent
af8f5f0b69
commit
af34749a6b
@ -8,9 +8,9 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/ethtrie"
|
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
"github.com/ethereum/go-ethereum/state"
|
"github.com/ethereum/go-ethereum/state"
|
||||||
|
"github.com/ethereum/go-ethereum/trie"
|
||||||
)
|
)
|
||||||
|
|
||||||
type BlockInfo struct {
|
type BlockInfo struct {
|
||||||
@ -137,7 +137,7 @@ func CreateBlock(root interface{},
|
|||||||
}
|
}
|
||||||
block.SetUncles([]*Block{})
|
block.SetUncles([]*Block{})
|
||||||
|
|
||||||
block.state = state.New(ethtrie.New(ethutil.Config.Db, root))
|
block.state = state.New(trie.New(ethutil.Config.Db, root))
|
||||||
|
|
||||||
return block
|
return block
|
||||||
}
|
}
|
||||||
@ -294,7 +294,7 @@ func (self *Block) setHeader(header *ethutil.Value) {
|
|||||||
self.PrevHash = header.Get(0).Bytes()
|
self.PrevHash = header.Get(0).Bytes()
|
||||||
self.UncleSha = header.Get(1).Bytes()
|
self.UncleSha = header.Get(1).Bytes()
|
||||||
self.Coinbase = header.Get(2).Bytes()
|
self.Coinbase = header.Get(2).Bytes()
|
||||||
self.state = state.New(ethtrie.New(ethutil.Config.Db, header.Get(3).Val))
|
self.state = state.New(trie.New(ethutil.Config.Db, header.Get(3).Val))
|
||||||
self.TxSha = header.Get(4).Bytes()
|
self.TxSha = header.Get(4).Bytes()
|
||||||
self.ReceiptSha = header.Get(5).Bytes()
|
self.ReceiptSha = header.Get(5).Bytes()
|
||||||
self.LogsBloom = header.Get(6).Bytes()
|
self.LogsBloom = header.Get(6).Bytes()
|
||||||
@ -315,7 +315,7 @@ func NewUncleBlockFromValue(header *ethutil.Value) *Block {
|
|||||||
return block
|
return block
|
||||||
}
|
}
|
||||||
|
|
||||||
func (block *Block) Trie() *ethtrie.Trie {
|
func (block *Block) Trie() *trie.Trie {
|
||||||
return block.state.Trie
|
return block.state.Trie
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package chain
|
package chain
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/ethereum/go-ethereum/ethtrie"
|
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
|
"github.com/ethereum/go-ethereum/trie"
|
||||||
)
|
)
|
||||||
|
|
||||||
type DerivableList interface {
|
type DerivableList interface {
|
||||||
@ -11,7 +11,7 @@ type DerivableList interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func DeriveSha(list DerivableList) []byte {
|
func DeriveSha(list DerivableList) []byte {
|
||||||
trie := ethtrie.New(ethutil.Config.Db, "")
|
trie := trie.New(ethutil.Config.Db, "")
|
||||||
for i := 0; i < list.Len(); i++ {
|
for i := 0; i < list.Len(); i++ {
|
||||||
trie.Update(string(ethutil.NewValue(i).Encode()), string(list.GetRlp(i)))
|
trie.Update(string(ethutil.NewValue(i).Encode()), string(list.GetRlp(i)))
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,9 @@ package state
|
|||||||
import (
|
import (
|
||||||
"math/big"
|
"math/big"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/ethtrie"
|
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
"github.com/ethereum/go-ethereum/logger"
|
"github.com/ethereum/go-ethereum/logger"
|
||||||
|
"github.com/ethereum/go-ethereum/trie"
|
||||||
)
|
)
|
||||||
|
|
||||||
var statelogger = logger.NewLogger("STATE")
|
var statelogger = logger.NewLogger("STATE")
|
||||||
@ -17,7 +17,7 @@ var statelogger = logger.NewLogger("STATE")
|
|||||||
// * Accounts
|
// * Accounts
|
||||||
type State struct {
|
type State struct {
|
||||||
// The trie for this structure
|
// The trie for this structure
|
||||||
Trie *ethtrie.Trie
|
Trie *trie.Trie
|
||||||
|
|
||||||
stateObjects map[string]*StateObject
|
stateObjects map[string]*StateObject
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ type State struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create a new state from a given trie
|
// Create a new state from a given trie
|
||||||
func New(trie *ethtrie.Trie) *State {
|
func New(trie *trie.Trie) *State {
|
||||||
return &State{Trie: trie, stateObjects: make(map[string]*StateObject), manifest: NewManifest(), refund: make(map[string]*big.Int)}
|
return &State{Trie: trie, stateObjects: make(map[string]*StateObject), manifest: NewManifest(), refund: make(map[string]*big.Int)}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -300,7 +300,7 @@ func (self *State) Update() {
|
|||||||
|
|
||||||
// FIXME trie delete is broken
|
// FIXME trie delete is broken
|
||||||
if deleted {
|
if deleted {
|
||||||
valid, t2 := ethtrie.ParanoiaCheck(self.Trie)
|
valid, t2 := trie.ParanoiaCheck(self.Trie)
|
||||||
if !valid {
|
if !valid {
|
||||||
statelogger.Infof("Warn: PARANOIA: Different state root during copy %x vs %x\n", self.Trie.Root, t2.Root)
|
statelogger.Infof("Warn: PARANOIA: Different state root during copy %x vs %x\n", self.Trie.Root, t2.Root)
|
||||||
|
|
||||||
|
@ -5,8 +5,8 @@ import (
|
|||||||
"math/big"
|
"math/big"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/ethtrie"
|
|
||||||
"github.com/ethereum/go-ethereum/ethutil"
|
"github.com/ethereum/go-ethereum/ethutil"
|
||||||
|
"github.com/ethereum/go-ethereum/trie"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Code []byte
|
type Code []byte
|
||||||
@ -62,7 +62,7 @@ func NewStateObject(addr []byte) *StateObject {
|
|||||||
address := ethutil.Address(addr)
|
address := ethutil.Address(addr)
|
||||||
|
|
||||||
object := &StateObject{address: address, balance: new(big.Int), gasPool: new(big.Int)}
|
object := &StateObject{address: address, balance: new(big.Int), gasPool: new(big.Int)}
|
||||||
object.State = New(ethtrie.New(ethutil.Config.Db, ""))
|
object.State = New(trie.New(ethutil.Config.Db, ""))
|
||||||
object.storage = make(Storage)
|
object.storage = make(Storage)
|
||||||
object.gasPool = new(big.Int)
|
object.gasPool = new(big.Int)
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ func NewStateObject(addr []byte) *StateObject {
|
|||||||
func NewContract(address []byte, balance *big.Int, root []byte) *StateObject {
|
func NewContract(address []byte, balance *big.Int, root []byte) *StateObject {
|
||||||
contract := NewStateObject(address)
|
contract := NewStateObject(address)
|
||||||
contract.balance = balance
|
contract.balance = balance
|
||||||
contract.State = New(ethtrie.New(ethutil.Config.Db, string(root)))
|
contract.State = New(trie.New(ethutil.Config.Db, string(root)))
|
||||||
|
|
||||||
return contract
|
return contract
|
||||||
}
|
}
|
||||||
@ -129,7 +129,7 @@ func (self *StateObject) SetState(k []byte, value *ethutil.Value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Iterate over each storage address and yield callback
|
// Iterate over each storage address and yield callback
|
||||||
func (self *StateObject) EachStorage(cb ethtrie.EachCallback) {
|
func (self *StateObject) EachStorage(cb trie.EachCallback) {
|
||||||
// First loop over the uncommit/cached values in storage
|
// First loop over the uncommit/cached values in storage
|
||||||
for key, value := range self.storage {
|
for key, value := range self.storage {
|
||||||
// XXX Most iterators Fns as it stands require encoded values
|
// XXX Most iterators Fns as it stands require encoded values
|
||||||
@ -158,7 +158,7 @@ func (self *StateObject) Sync() {
|
|||||||
self.SetAddr([]byte(key), value)
|
self.SetAddr([]byte(key), value)
|
||||||
}
|
}
|
||||||
|
|
||||||
valid, t2 := ethtrie.ParanoiaCheck(self.State.Trie)
|
valid, t2 := trie.ParanoiaCheck(self.State.Trie)
|
||||||
if !valid {
|
if !valid {
|
||||||
statelogger.Infof("Warn: PARANOIA: Different state storage root during copy %x vs %x\n", self.State.Trie.Root, t2.Root)
|
statelogger.Infof("Warn: PARANOIA: Different state storage root during copy %x vs %x\n", self.State.Trie.Root, t2.Root)
|
||||||
|
|
||||||
@ -321,7 +321,7 @@ func (c *StateObject) RlpDecode(data []byte) {
|
|||||||
|
|
||||||
c.Nonce = decoder.Get(0).Uint()
|
c.Nonce = decoder.Get(0).Uint()
|
||||||
c.balance = decoder.Get(1).BigInt()
|
c.balance = decoder.Get(1).BigInt()
|
||||||
c.State = New(ethtrie.New(ethutil.Config.Db, decoder.Get(2).Interface()))
|
c.State = New(trie.New(ethutil.Config.Db, decoder.Get(2).Interface()))
|
||||||
c.storage = make(map[string]*ethutil.Value)
|
c.storage = make(map[string]*ethutil.Value)
|
||||||
c.gasPool = new(big.Int)
|
c.gasPool = new(big.Int)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package ethtrie
|
package trie
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
@ -1,4 +1,4 @@
|
|||||||
package ethtrie
|
package trie
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
@ -1,4 +1,4 @@
|
|||||||
package ethtrie
|
package trie
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
@ -1,4 +1,4 @@
|
|||||||
package ethtrie
|
package trie
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
@ -1,4 +1,4 @@
|
|||||||
package ethtrie
|
package trie
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
@ -1,4 +1,4 @@
|
|||||||
package ethtrie
|
package trie
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
Loading…
Reference in New Issue
Block a user