Documentation
¶
Index ¶
- Variables
- func NewAddressGenerator(coordinator *shardCoordinator) (*addressGenerator, error)
- func NewProxy(args ArgsProxy) (*proxy, error)
- func NewQueryResponseError(code string, message string, function string, address string, ...) *queryResponseError
- func NewShardCoordinator(numOfShardsWithoutMeta uint32, currentShard uint32) (*shardCoordinator, error)
- func NewVmQueryGetter(args ArgsVmQueryGetter) (*vmQueryGetter, error)
- type ArgsProxy
- type ArgsVmQueryGetter
- type BlockDataCache
- type DisabledBlockDataCache
- type EndpointProvider
- type FinalityProvider
- type Proxy
Constants ¶
This section is empty.
Variables ¶
var ErrAddressesFromDifferentShards = errors.New("addresses belong to different shards")
ErrAddressesFromDifferentShards signals that the provided addresses belong to different shards
var ErrHTTPStatusCodeIsNotOK = errors.New("HTTP status code is not OK")
ErrHTTPStatusCodeIsNotOK signals that the returned HTTP status code is not OK
var ErrInvalidAddress = errors.New("invalid address")
ErrInvalidAddress signals that the provided address is invalid
var ErrInvalidAllowedDeltaToFinal = errors.New("invalid allowed delta to final value")
ErrInvalidAllowedDeltaToFinal signals that an invalid allowed delta to final value has been provided
var ErrInvalidBlockRange = errors.New("invalid block range: too many blocks to process")
ErrInvalidBlockRange signals that the provided block range is invalid
var ErrInvalidCacherDuration = errors.New("invalid caching duration")
ErrInvalidCacherDuration signals that the provided caching duration is invalid
var ErrInvalidEndpointProvider = errors.New("invalid endpoint provider")
ErrInvalidEndpointProvider signals that an invalid endpoint provider was provided
var ErrNilAddress = errors.New("nil address")
ErrNilAddress signals that the provided address is nil
var ErrNilEndpointProvider = errors.New("nil endpoint provider")
ErrNilEndpointProvider signals that a nil endpoint provider was provided
var ErrNilHTTPClientWrapper = errors.New("nil HTTP client wrapper")
ErrNilHTTPClientWrapper signals that a nil HTTP client wrapper was provided
var ErrNilNetworkConfigs = errors.New("nil network configs")
ErrNilNetworkConfigs signals that the provided network configs is nil
var ErrNilNetworkStatus = errors.New("nil network status")
ErrNilNetworkStatus signals that nil network status was received
var ErrNilProxy = errors.New("nil proxy")
ErrNilProxy signals that a nil proxy has been provided
var ErrNilRequest = errors.New("nil request")
ErrNilRequest signals that a nil request was provided
var ErrNilShardCoordinator = errors.New("nil shard coordinator")
ErrNilShardCoordinator signals that the provided shard coordinator is nil
var ErrNoBlockRangeProvided = errors.New("no block range specified")
ErrNoBlockRangeProvided signals that no block range was provided
var ErrNoShardOrAddressesProvided = errors.New("cannot compute shardID")
ErrNoShardOrAddressesProvided signals that no shard ID or addresses were provided, therefore shard ID cannot be computed
var ErrNotUint64Bytes = errors.New("provided bytes do not represent a valid uint64 number")
ErrNotUint64Bytes signals that the provided bytes do not represent a valid uint64 number
var ErrShardIDMismatch = errors.New("shard ID mismatch")
ErrShardIDMismatch signals that a shard ID mismatch has occurred
var ( // MaximumBlocksDelta is the maximum allowed delta between the final block and the current block MaximumBlocksDelta uint64 = 500 )
Functions ¶
func NewAddressGenerator ¶
func NewAddressGenerator(coordinator *shardCoordinator) (*addressGenerator, error)
NewAddressGenerator will create an address generator instance
func NewQueryResponseError ¶ added in v1.3.4
func NewQueryResponseError(code string, message string, function string, address string, arguments ...string) *queryResponseError
NewQueryResponseError creates a new instance of queryResponseError
func NewShardCoordinator ¶
func NewShardCoordinator(numOfShardsWithoutMeta uint32, currentShard uint32) (*shardCoordinator, error)
NewShardCoordinator returns a shard coordinator instance that is able to execute sharding-related operations
func NewVmQueryGetter ¶ added in v1.3.4
func NewVmQueryGetter(args ArgsVmQueryGetter) (*vmQueryGetter, error)
NewVmQueryGetter creates a new instance of the vmQueryGetter type
Types ¶
type ArgsProxy ¶
type ArgsProxy struct {
ProxyURL string
Client sdkHttp.Client
SameScState bool
ShouldBeSynced bool
FinalityCheck bool
AllowedDeltaToFinal int
CacheExpirationTime time.Duration
EntityType sdkCore.RestAPIEntityType
FilterQueryBlockCacher BlockDataCache
}
ArgsProxy is the DTO used in the multiversx proxy constructor
type ArgsVmQueryGetter ¶ added in v1.3.4
ArgsVmQueryGetter is the arguments DTO used in the NewvmQueryGetter constructor
type BlockDataCache ¶ added in v1.4.2
type BlockDataCache interface {
Get(key []byte) (value interface{}, ok bool)
Put(key []byte, value interface{}, sizeInBytes int) (evicted bool)
IsInterfaceNil() bool
}
BlockDataCache defines the methods required for a basic cache.
type DisabledBlockDataCache ¶ added in v1.4.2
type DisabledBlockDataCache struct{}
DisabledBlockDataCache is a no-op implementation of the BlockDataCache interface. It does nothing and always returns empty results.
func (*DisabledBlockDataCache) Get ¶ added in v1.4.2
func (n *DisabledBlockDataCache) Get(_ []byte) (interface{}, bool)
func (*DisabledBlockDataCache) IsInterfaceNil ¶ added in v1.4.2
func (n *DisabledBlockDataCache) IsInterfaceNil() bool
type EndpointProvider ¶
type EndpointProvider interface {
GetNetworkConfig() string
GetNetworkEconomics() string
GetRatingsConfig() string
GetEnableEpochsConfig() string
GetAccount(addressAsBech32 string) string
GetCostTransaction() string
GetSendTransaction() string
GetSendMultipleTransactions() string
GetTransactionStatus(hexHash string) string
GetTransactionInfo(hexHash string) string
GetHyperBlockByNonce(nonce uint64) string
GetHyperBlockByHash(hexHash string) string
GetVmValues() string
GetGenesisNodesConfig() string
GetRawStartOfEpochMetaBlock(epoch uint32) string
GetNodeStatus(shardID uint32) string
ShouldCheckShardIDForNodeStatus() bool
GetRawBlockByHash(shardID uint32, hexHash string) string
GetRawBlockByNonce(shardID uint32, nonce uint64) string
GetRawMiniBlockByHash(shardID uint32, hexHash string, epoch uint32) string
GetGuardianData(address string) string
GetRestAPIEntityType() core.RestAPIEntityType
GetValidatorsInfo(epoch uint32) string
GetProcessedTransactionStatus(hexHash string) string
GetESDTTokenData(addressAsBech32 string, tokenIdentifier string) string
GetNFTTokenData(addressAsBech32 string, tokenIdentifier string, nonce uint64) string
IsDataTrieMigrated(addressAsBech32 string) string
GetBlockByNonce(shardID uint32, nonce uint64) string
GetBlockByHash(shardID uint32, hash string) string
IsInterfaceNil() bool
}
EndpointProvider is able to return endpoint routes strings
type FinalityProvider ¶
type FinalityProvider interface {
CheckShardFinalization(ctx context.Context, targetShardID uint32, maxNoncesDelta uint64) error
IsInterfaceNil() bool
}
FinalityProvider is able to check the shard finalization status
type Proxy ¶
type Proxy interface {
GetNetworkConfig(ctx context.Context) (*data.NetworkConfig, error)
GetAccount(ctx context.Context, address core.AddressHandler) (*data.Account, error)
SendTransaction(ctx context.Context, tx *transaction.FrontendTransaction) (string, error)
SendTransactions(ctx context.Context, txs []*transaction.FrontendTransaction) ([]string, error)
GetGuardianData(ctx context.Context, address core.AddressHandler) (*api.GuardianData, error)
ExecuteVMQuery(ctx context.Context, vmRequest *data.VmValueRequest) (*data.VmValuesResponseData, error)
FilterLogs(ctx context.Context, filter *core.FilterQuery) ([]*transaction.Events, error)
IsInterfaceNil() bool
}
Proxy holds the primitive functions that the multiversx proxy engine supports & implements