package vm import ( . "github.com/tendermint/tendermint2/common" ) const ( defaultDataStackCapacity = 10 ) type Account struct { Address Word256 Balance uint64 Code []byte Nonce uint64 StorageRoot Word256 Other interface{} // For holding all other data. } type Log struct { Address Word256 Topics []Word256 Data []byte Height uint64 } type AppState interface { // Accounts GetAccount(addr Word256) *Account UpdateAccount(*Account) RemoveAccount(*Account) CreateAccount(*Account) *Account // Storage GetStorage(Word256, Word256) Word256 SetStorage(Word256, Word256, Word256) // Setting to Zero is deleting. // Logs AddLog(*Log) } type Params struct { BlockHeight uint64 BlockHash Word256 BlockTime int64 GasLimit uint64 }