Documentation ¶
Index ¶
- func GetMutableAccount(getter AccountGetter, address acm.Address) (acm.MutableAccount, error)
- func GlobalAccountPermissions(getter AccountGetter) ptypes.AccountPermissions
- func GlobalPermissionsAccount(getter AccountGetter) acm.Account
- type AccountGetter
- type AccountIterable
- type AccountUpdater
- type Cache
- type CacheOption
- type Iterable
- type IterableWriter
- type MemoryState
- func (ms *MemoryState) GetAccount(address acm.Address) (acm.Account, error)
- func (ms *MemoryState) GetStorage(address acm.Address, key binary.Word256) (binary.Word256, error)
- func (ms *MemoryState) IterateAccounts(consumer func(acm.Account) (stop bool)) (stopped bool, err error)
- func (ms *MemoryState) IterateStorage(address acm.Address, consumer func(key, value binary.Word256) (stop bool)) (stopped bool, err error)
- func (ms *MemoryState) RemoveAccount(address acm.Address) error
- func (ms *MemoryState) SetStorage(address acm.Address, key, value binary.Word256) error
- func (ms *MemoryState) UpdateAccount(updatedAccount acm.Account) error
- type Reader
- type StorageGetter
- type StorageIterable
- type StorageSetter
- type Writer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetMutableAccount ¶
func GetMutableAccount(getter AccountGetter, address acm.Address) (acm.MutableAccount, error)
func GlobalAccountPermissions ¶
func GlobalAccountPermissions(getter AccountGetter) ptypes.AccountPermissions
Get global permissions from the account at GlobalPermissionsAddress
func GlobalPermissionsAccount ¶
func GlobalPermissionsAccount(getter AccountGetter) acm.Account
Types ¶
type AccountGetter ¶
type AccountIterable ¶
type AccountUpdater ¶
type Cache ¶
type Cache interface { Writer Sync(state Writer) error Reset(backend Iterable) Flush(state IterableWriter) error }
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.
type CacheOption ¶
type CacheOption func(*stateCache)
func Name ¶
func Name(name string) CacheOption
type Iterable ¶
type Iterable interface { Reader AccountIterable StorageIterable }
Read and list account and storage state
type IterableWriter ¶
type IterableWriter interface { Reader AccountUpdater StorageSetter AccountIterable StorageIterable }
type MemoryState ¶
type MemoryState struct { Accounts map[acm.Address]acm.Account Storage map[acm.Address]map[binary.Word256]binary.Word256 }
func (*MemoryState) GetAccount ¶
func (*MemoryState) GetStorage ¶
func (*MemoryState) IterateAccounts ¶
func (*MemoryState) IterateStorage ¶
func (*MemoryState) RemoveAccount ¶
func (ms *MemoryState) RemoveAccount(address acm.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 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 acm.Address, consumer func(key, value binary.Word256) (stop bool)) (stopped bool, err error) }
type StorageSetter ¶
type Writer ¶
type Writer interface { Reader AccountUpdater StorageSetter }
Read and write account and storage state
Click to show internal directories.
Click to hide internal directories.