Documentation ¶
Index ¶
- type RegisterAtHeight
- type RegistersAsyncStore
- type ScriptExecutor
- type Scripts
- func (s *Scripts) ExecuteAtBlockHeight(ctx context.Context, script []byte, arguments [][]byte, height uint64) ([]byte, error)
- func (s *Scripts) GetAccountAtBlockHeight(ctx context.Context, address flow.Address, height uint64) (*flow.Account, error)
- func (s *Scripts) GetAccountAvailableBalance(ctx context.Context, address flow.Address, height uint64) (uint64, error)
- func (s *Scripts) GetAccountBalance(ctx context.Context, address flow.Address, height uint64) (uint64, error)
- func (s *Scripts) GetAccountKey(ctx context.Context, address flow.Address, keyIndex uint64, height uint64) (*flow.AccountPublicKey, error)
- func (s *Scripts) GetAccountKeys(ctx context.Context, address flow.Address, height uint64) ([]flow.AccountPublicKey, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RegisterAtHeight ¶ added in v0.32.7
type RegisterAtHeight func(ID flow.RegisterID, height uint64) (flow.RegisterValue, error)
RegisterAtHeight returns register value for provided register ID at the block height. Even if the register wasn't indexed at the provided height, returns the highest height the register was indexed at. If the register with the ID was not indexed at all return nil value and no error. Expected errors: - storage.ErrHeightNotIndexed if the given height was not indexed yet or lower than the first indexed height.
type RegistersAsyncStore ¶ added in v0.32.10
type RegistersAsyncStore struct {
// contains filtered or unexported fields
}
RegistersAsyncStore wraps an underlying register store so it can be used before the index is initialized.
func NewRegistersAsyncStore ¶ added in v0.32.10
func NewRegistersAsyncStore() *RegistersAsyncStore
func (*RegistersAsyncStore) Initialize ¶ added in v0.33.9
func (r *RegistersAsyncStore) Initialize(registers storage.RegisterIndex) error
Initialize initializes the underlying storage.RegisterIndex This method can be called at any time after the RegisterStore object is created. and before RegisterValues is called since we can't disambiguate between the underlying store before bootstrapping or just simply being behind sync
func (*RegistersAsyncStore) RegisterValues ¶ added in v0.32.10
func (r *RegistersAsyncStore) RegisterValues(ids flow.RegisterIDs, height uint64) ([]flow.RegisterValue, error)
RegisterValues gets the register values from the underlying storage.RegisterIndex Expected errors:
- indexer.ErrIndexNotInitialized if the store is still bootstrapping
- storage.ErrHeightNotIndexed if the values at the height is not indexed yet
- storage.ErrNotFound if the register does not exist at the height
type ScriptExecutor ¶ added in v0.32.2
type ScriptExecutor interface { // ExecuteAtBlockHeight executes provided script against the block height. // A result value is returned encoded as byte array. An error will be returned if script // doesn't successfully execute. // Expected errors: // - storage.ErrNotFound if block or register value at height was not found. // - storage.ErrHeightNotIndexed if the data for the block height is not available ExecuteAtBlockHeight( ctx context.Context, script []byte, arguments [][]byte, height uint64, ) ([]byte, error) // GetAccountAtBlockHeight returns a Flow account by the provided address and block height. // Expected errors: // - storage.ErrHeightNotIndexed if the data for the block height is not available GetAccountAtBlockHeight(ctx context.Context, address flow.Address, height uint64) (*flow.Account, error) // GetAccountBalance returns a Flow account balance by the provided address and block height. // Expected errors: // - storage.ErrHeightNotIndexed if the data for the block height is not available GetAccountBalance(ctx context.Context, address flow.Address, height uint64) (uint64, error) // GetAccountAvailableBalance returns a Flow account available balance by the provided address and block height. // Expected errors: // - storage.ErrHeightNotIndexed if the data for the block height is not available GetAccountAvailableBalance(ctx context.Context, address flow.Address, height uint64) (uint64, error) // GetAccountKeys returns a Flow account public keys by the provided address and block height. // Expected errors: // - storage.ErrHeightNotIndexed if the data for the block height is not available GetAccountKeys(ctx context.Context, address flow.Address, height uint64) ([]flow.AccountPublicKey, error) // GetAccountKey returns a Flow account public key by the provided address, block height and index. // Expected errors: // - storage.ErrHeightNotIndexed if the data for the block height is not available GetAccountKey(ctx context.Context, address flow.Address, keyIndex uint64, height uint64) (*flow.AccountPublicKey, error) }
type Scripts ¶
type Scripts struct {
// contains filtered or unexported fields
}
func NewScripts ¶
func NewScripts( log zerolog.Logger, metrics module.ExecutionMetrics, chainID flow.ChainID, entropy query.EntropyProviderPerBlock, header storage.Headers, registerAtHeight RegisterAtHeight, queryConf query.QueryConfig, derivedChainData *derived.DerivedChainData, enableProgramCacheWrites bool, ) *Scripts
func (*Scripts) ExecuteAtBlockHeight ¶
func (s *Scripts) ExecuteAtBlockHeight( ctx context.Context, script []byte, arguments [][]byte, height uint64, ) ([]byte, error)
ExecuteAtBlockHeight executes provided script against the block height. A result value is returned encoded as byte array. An error will be returned if script doesn't successfully execute. Expected errors: - Script execution related errors - storage.ErrHeightNotIndexed if the data for the block height is not available
func (*Scripts) GetAccountAtBlockHeight ¶
func (s *Scripts) GetAccountAtBlockHeight(ctx context.Context, address flow.Address, height uint64) (*flow.Account, error)
GetAccountAtBlockHeight returns a Flow account by the provided address and block height. Expected errors: - Script execution related errors - storage.ErrHeightNotIndexed if the data for the block height is not available
func (*Scripts) GetAccountAvailableBalance ¶ added in v0.36.1
func (s *Scripts) GetAccountAvailableBalance(ctx context.Context, address flow.Address, height uint64) (uint64, error)
GetAccountAvailableBalance returns an available balance of Flow account by the provided address and block height. Expected errors: - Script execution related errors - storage.ErrHeightNotIndexed if the data for the block height is not available
func (*Scripts) GetAccountBalance ¶ added in v0.35.17
func (s *Scripts) GetAccountBalance(ctx context.Context, address flow.Address, height uint64) (uint64, error)
GetAccountBalance returns a balance of Flow account by the provided address and block height. Expected errors: - Script execution related errors - storage.ErrHeightNotIndexed if the data for the block height is not available
func (*Scripts) GetAccountKey ¶ added in v0.36.1
func (s *Scripts) GetAccountKey(ctx context.Context, address flow.Address, keyIndex uint64, height uint64) (*flow.AccountPublicKey, error)
GetAccountKey returns a public key of Flow account by the provided address, block height and index. Expected errors: - Script execution related errors - storage.ErrHeightNotIndexed if the data for the block height is not available
func (*Scripts) GetAccountKeys ¶ added in v0.35.17
func (s *Scripts) GetAccountKeys(ctx context.Context, address flow.Address, height uint64) ([]flow.AccountPublicKey, error)
GetAccountKeys returns a public keys of Flow account by the provided address and block height. Expected errors: - Script execution related errors - storage.ErrHeightNotIndexed if the data for the block height is not available