Documentation ¶
Index ¶
- func GlobalAccountPermissions(getter AccountGetter) permission.AccountPermissions
- func GlobalPermissionsAccount(getter AccountGetter) *acm.Account
- type AccountGetter
- type AccountIterable
- type AccountStats
- type AccountStatsGetter
- type AccountUpdater
- type Cache
- func (cache *Cache) Flush(output Writer, backend Reader) error
- func (cache *Cache) GetAccount(address crypto.Address) (*acm.Account, error)
- func (cache *Cache) GetStorage(address crypto.Address, key binary.Word256) (binary.Word256, error)
- func (cache *Cache) IterateCachedAccount(consumer func(*acm.Account) (stop bool)) (stopped bool, err error)
- func (cache *Cache) IterateCachedStorage(address crypto.Address, consumer func(key, value binary.Word256) error) error
- func (cache *Cache) RemoveAccount(address crypto.Address) error
- func (cache *Cache) Reset(backend Reader)
- func (cache *Cache) SetStorage(address crypto.Address, key binary.Word256, value binary.Word256) error
- func (cache *Cache) String() string
- func (cache *Cache) Sync(st Writer) error
- func (cache *Cache) UpdateAccount(account *acm.Account) error
- type CacheOption
- type DumpState
- type Iterable
- type IterableReader
- type IterableReaderWriter
- type IterableStatsReader
- type MemoryState
- func (ms *MemoryState) GetAccount(address crypto.Address) (*acm.Account, error)
- func (ms *MemoryState) GetStorage(address crypto.Address, key binary.Word256) (binary.Word256, error)
- func (ms *MemoryState) IterateAccounts(consumer func(*acm.Account) error) (err error)
- func (ms *MemoryState) IterateStorage(address crypto.Address, consumer func(key, value binary.Word256) error) (err error)
- func (ms *MemoryState) RemoveAccount(address crypto.Address) error
- func (ms *MemoryState) SetStorage(address crypto.Address, key, value binary.Word256) error
- func (ms *MemoryState) UpdateAccount(updatedAccount *acm.Account) error
- type Reader
- type ReaderWriter
- type StorageGetter
- type StorageIterable
- type StorageSetter
- type Writer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GlobalAccountPermissions ¶
func GlobalAccountPermissions(getter AccountGetter) permission.AccountPermissions
Get global permissions from the account at GlobalPermissionsAddress
func GlobalPermissionsAccount ¶
func GlobalPermissionsAccount(getter AccountGetter) *acm.Account
Types ¶
type AccountGetter ¶
type AccountIterable ¶
type AccountStats ¶
type AccountStatsGetter ¶
type AccountStatsGetter interface {
GetAccountStats() AccountStats
}
type AccountUpdater ¶
type Cache ¶
func NewCache ¶
func NewCache(backend Reader, options ...CacheOption) *Cache
Returns a Cache that wraps an underlying Reader to use on a cache miss, can write to an output Writer via Sync. Goroutine safe for concurrent access.
func (*Cache) GetAccount ¶
func (*Cache) GetStorage ¶
func (*Cache) IterateCachedAccount ¶
func (cache *Cache) IterateCachedAccount(consumer func(*acm.Account) (stop bool)) (stopped bool, err error)
Iterates over all cached accounts first in cache and then in backend until consumer returns true for 'stop'
func (*Cache) IterateCachedStorage ¶
func (cache *Cache) IterateCachedStorage(address crypto.Address, consumer func(key, value binary.Word256) error) error
Iterates over all cached storage items first in cache and then in backend until consumer returns true for 'stop'
func (*Cache) Reset ¶
Resets the cache to empty initialising the backing map to the same size as the previous iteration.
func (*Cache) SetStorage ¶
func (cache *Cache) SetStorage(address crypto.Address, key binary.Word256, value binary.Word256) error
NOTE: Set value to zero to remove.
type CacheOption ¶
var ReadOnly CacheOption = func(cache *Cache) *Cache { cache.readonly = true return cache }
func Named ¶
func Named(name string) CacheOption
type DumpState ¶
func (*DumpState) SetStorage ¶
type Iterable ¶
type Iterable interface { AccountIterable StorageIterable }
type IterableReader ¶
Read and list account and storage state
type IterableReaderWriter ¶
type IterableStatsReader ¶
type IterableStatsReader interface { Iterable Reader AccountStatsGetter }
type MemoryState ¶
type MemoryState struct { Accounts map[crypto.Address]*acm.Account Storage map[crypto.Address]map[binary.Word256]binary.Word256 }
func (*MemoryState) GetAccount ¶
func (*MemoryState) GetStorage ¶
func (*MemoryState) IterateAccounts ¶
func (ms *MemoryState) IterateAccounts(consumer func(*acm.Account) error) (err error)
func (*MemoryState) IterateStorage ¶
func (*MemoryState) RemoveAccount ¶
func (ms *MemoryState) RemoveAccount(address crypto.Address) error
func (*MemoryState) SetStorage ¶
func (*MemoryState) UpdateAccount ¶
func (ms *MemoryState) UpdateAccount(updatedAccount *acm.Account) error
type Reader ¶
type Reader interface { AccountGetter StorageGetter }
Read-only account and storage state
type ReaderWriter ¶
Read and write account and storage state
type StorageGetter ¶
type StorageIterable ¶
type StorageIterable interface { // Iterates through the storage of account ad address calling the passed function once per account, // if the iterator function returns true the iteration breaks and returns true to indicate it iteration // was escaped IterateStorage(address crypto.Address, consumer func(key, value binary.Word256) error) (err error) }
type StorageSetter ¶
type Writer ¶
type Writer interface { AccountUpdater StorageSetter }