Browse Source

Remove StorageRoot from vm.Account

pull/123/head
Jae Kwon 10 years ago
parent
commit
1a5bc9eeb2
5 changed files with 16 additions and 30 deletions
  1. +5
    -6
      rpc/core/txs.go
  2. +0
    -9
      state/tx_cache.go
  3. +0
    -2
      state/tx_cache_test.go
  4. +4
    -5
      vm/test/fake_app_state.go
  5. +7
    -8
      vm/types.go

+ 5
- 6
rpc/core/txs.go View File

@ -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,
}
}


+ 0
- 9
state/tx_cache.go View File

@ -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
}
}


+ 0
- 2
state/tx_cache_test.go View File

@ -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)


+ 4
- 5
vm/test/fake_app_state.go View File

@ -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))


+ 7
- 8
vm/types.go View File

@ -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…
Cancel
Save