mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-10 12:01:18 +00:00
Remove StorageRoot from vm.Account
This commit is contained in:
parent
5230440141
commit
1a5bc9eeb2
@ -12,12 +12,11 @@ import (
|
||||
|
||||
func toVMAccount(acc *acm.Account) *vm.Account {
|
||||
return &vm.Account{
|
||||
Address: LeftPadWord256(acc.Address),
|
||||
Balance: acc.Balance,
|
||||
Code: acc.Code, // This is crazy.
|
||||
Nonce: int64(acc.Sequence),
|
||||
StorageRoot: LeftPadWord256(acc.StorageRoot),
|
||||
Other: acc.PubKey,
|
||||
Address: LeftPadWord256(acc.Address),
|
||||
Balance: acc.Balance,
|
||||
Code: acc.Code, // This is crazy.
|
||||
Nonce: int64(acc.Sequence),
|
||||
Other: acc.PubKey,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,6 @@ func (cache *TxCache) CreateAccount(creator *vm.Account) *vm.Account {
|
||||
Balance: 0,
|
||||
Code: nil,
|
||||
Nonce: 0,
|
||||
StorageRoot: Zero256,
|
||||
Permissions: cache.GetAccount(ptypes.GlobalPermissionsAddress256).Permissions,
|
||||
Other: nil,
|
||||
}
|
||||
@ -157,7 +156,6 @@ func toVMAccount(acc *acm.Account) *vm.Account {
|
||||
Balance: acc.Balance,
|
||||
Code: acc.Code, // This is crazy.
|
||||
Nonce: int64(acc.Sequence),
|
||||
StorageRoot: LeftPadWord256(acc.StorageRoot),
|
||||
Permissions: acc.Permissions, // Copy
|
||||
Other: acc.PubKey,
|
||||
}
|
||||
@ -170,19 +168,12 @@ func toStateAccount(acc *vm.Account) *acm.Account {
|
||||
pubKey = nil
|
||||
}
|
||||
|
||||
var storageRoot []byte
|
||||
if acc.StorageRoot.IsZero() {
|
||||
storageRoot = nil
|
||||
} else {
|
||||
storageRoot = acc.StorageRoot.Postfix(20)
|
||||
}
|
||||
return &acm.Account{
|
||||
Address: acc.Address.Postfix(20),
|
||||
PubKey: pubKey,
|
||||
Balance: acc.Balance,
|
||||
Code: acc.Code,
|
||||
Sequence: int(acc.Nonce),
|
||||
StorageRoot: storageRoot,
|
||||
Permissions: acc.Permissions, // Copy
|
||||
}
|
||||
}
|
||||
|
@ -4,13 +4,11 @@ import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
. "github.com/tendermint/tendermint/common"
|
||||
"github.com/tendermint/tendermint/wire"
|
||||
)
|
||||
|
||||
func TestStateToFromVMAccount(t *testing.T) {
|
||||
acmAcc1, _ := RandAccount(true, 456)
|
||||
acmAcc1.StorageRoot = RandBytes(20)
|
||||
vmAcc := toVMAccount(acmAcc1)
|
||||
acmAcc2 := toStateAccount(vmAcc)
|
||||
|
||||
|
@ -36,11 +36,10 @@ func (fas *FakeAppState) CreateAccount(creator *Account) *Account {
|
||||
account := fas.accounts[addr.String()]
|
||||
if account == nil {
|
||||
return &Account{
|
||||
Address: addr,
|
||||
Balance: 0,
|
||||
Code: nil,
|
||||
Nonce: 0,
|
||||
StorageRoot: Zero256,
|
||||
Address: addr,
|
||||
Balance: 0,
|
||||
Code: nil,
|
||||
Nonce: 0,
|
||||
}
|
||||
} else {
|
||||
panic(Fmt("Invalid account addr: %X", addr))
|
||||
|
15
vm/types.go
15
vm/types.go
@ -10,12 +10,11 @@ const (
|
||||
)
|
||||
|
||||
type Account struct {
|
||||
Address Word256
|
||||
Balance int64
|
||||
Code []byte
|
||||
Nonce int64
|
||||
StorageRoot Word256
|
||||
Other interface{} // For holding all other data.
|
||||
Address Word256
|
||||
Balance int64
|
||||
Code []byte
|
||||
Nonce int64
|
||||
Other interface{} // For holding all other data.
|
||||
|
||||
Permissions ptypes.AccountPermissions
|
||||
}
|
||||
@ -24,8 +23,8 @@ func (acc *Account) String() string {
|
||||
if acc == nil {
|
||||
return "nil-VMAccount"
|
||||
}
|
||||
return Fmt("VMAccount{%X B:%v C:%X N:%v S:%X}",
|
||||
acc.Address, acc.Balance, acc.Code, acc.Nonce, acc.StorageRoot)
|
||||
return Fmt("VMAccount{%X B:%v C:%X N:%v}",
|
||||
acc.Address, acc.Balance, acc.Code, acc.Nonce)
|
||||
}
|
||||
|
||||
// NOTE: This is serialized as an event from vm/vm.
|
||||
|
Loading…
x
Reference in New Issue
Block a user