external

package
v1.1.66 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2021 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNilDelegatedListHandler = errors.New("nil delegated list handler")

ErrNilDelegatedListHandler signals that a nil delegated list handler has been provided

View Source
var ErrNilDirectStakeListHandler = errors.New("nil direct stake list handler")

ErrNilDirectStakeListHandler signals that a nil stake list handler has been provided

View Source
var ErrNilSCQueryService = errors.New("nil SC query service")

ErrNilSCQueryService signals that a nil SC query service has been provided

View Source
var ErrNilStatusMetrics = errors.New("nil status metrics handler")

ErrNilStatusMetrics signals that a nil status metrics was provided

View Source
var ErrNilTotalStakedValueHandler = errors.New("nil total staked value handler")

ErrNilTotalStakedValueHandler signals that a nil total staked value handler has been provided

View Source
var ErrNilTransactionCostHandler = errors.New("nil transaction cost handler")

ErrNilTransactionCostHandler signals that a nil transaction cost handler was provided

Functions

This section is empty.

Types

type ArgNodeApiResolver

type ArgNodeApiResolver struct {
	SCQueryService          SCQueryService
	StatusMetricsHandler    StatusMetricsHandler
	TxCostHandler           TransactionCostHandler
	TotalStakedValueHandler TotalStakedValueHandler
	DirectStakedListHandler DirectStakedListHandler
	DelegatedListHandler    DelegatedListHandler
}

ArgNodeApiResolver represents the DTO structure used in the NewNodeApiResolver constructor

type DelegatedListHandler

type DelegatedListHandler interface {
	GetDelegatorsList() ([]*api.Delegator, error)
	IsInterfaceNil() bool
}

DelegatedListHandler defines the behavior of a component able to return the complete delegated list

type DirectStakedListHandler

type DirectStakedListHandler interface {
	GetDirectStakedList() ([]*api.DirectStakedValue, error)
	IsInterfaceNil() bool
}

DirectStakedListHandler defines the behavior of a component able to return the direct stake list

type NodeApiResolver

type NodeApiResolver struct {
	// contains filtered or unexported fields
}

NodeApiResolver can resolve API requests

func NewNodeApiResolver

func NewNodeApiResolver(arg ArgNodeApiResolver) (*NodeApiResolver, error)

NewNodeApiResolver creates a new NodeApiResolver instance

func (*NodeApiResolver) ComputeTransactionGasLimit

func (nar *NodeApiResolver) ComputeTransactionGasLimit(tx *transaction.Transaction) (*transaction.CostResponse, error)

ComputeTransactionGasLimit will calculate how many gas a transaction will consume

func (*NodeApiResolver) ExecuteSCQuery

func (nar *NodeApiResolver) ExecuteSCQuery(query *process.SCQuery) (*vmcommon.VMOutput, error)

ExecuteSCQuery retrieves data stored in a SC account through a VM

func (*NodeApiResolver) GetDelegatorsList

func (nar *NodeApiResolver) GetDelegatorsList() ([]*api.Delegator, error)

GetDelegatorsList will return the delegators list

func (*NodeApiResolver) GetDirectStakedList

func (nar *NodeApiResolver) GetDirectStakedList() ([]*api.DirectStakedValue, error)

GetDirectStakedList will return the list for the direct staked addresses

func (*NodeApiResolver) GetTotalStakedValue

func (nar *NodeApiResolver) GetTotalStakedValue() (*api.StakeValues, error)

GetTotalStakedValue will return total staked value

func (*NodeApiResolver) IsInterfaceNil

func (nar *NodeApiResolver) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

func (*NodeApiResolver) StatusMetrics

func (nar *NodeApiResolver) StatusMetrics() StatusMetricsHandler

StatusMetrics returns an implementation of the StatusMetricsHandler interface

type SCQueryService

type SCQueryService interface {
	ExecuteQuery(query *process.SCQuery) (*vmcommon.VMOutput, error)
	ComputeScCallGasLimit(tx *transaction.Transaction) (uint64, error)
	IsInterfaceNil() bool
}

SCQueryService defines how data should be get from a SC account

type StatusMetricsHandler

type StatusMetricsHandler interface {
	StatusMetricsMapWithoutP2P() map[string]interface{}
	StatusP2pMetricsMap() map[string]interface{}
	StatusMetricsWithoutP2PPrometheusString() string
	EconomicsMetrics() map[string]interface{}
	ConfigMetrics() map[string]interface{}
	NetworkMetrics() map[string]interface{}
	IsInterfaceNil() bool
}

StatusMetricsHandler is the interface that defines what a node details handler/provider should do

type TotalStakedValueHandler

type TotalStakedValueHandler interface {
	GetTotalStakedValue() (*api.StakeValues, error)
	IsInterfaceNil() bool
}

TotalStakedValueHandler defines the behavior of a component able to return total staked value

type TransactionCostHandler

type TransactionCostHandler interface {
	ComputeTransactionGasLimit(tx *transaction.Transaction) (*transaction.CostResponse, error)
	IsInterfaceNil() bool
}

TransactionCostHandler defines the actions which should be handler by a transaction cost estimator

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL