Documentation ¶
Overview ¶
Package state provides a structure for elysium-node's ability to access state-relevant information from as well as submit transactions/messages to the elysium network.
This package contains one main interface, `Accessor`, that defines the methods available for both accessing and updating state on the elysium network.
`Accessor` will contain three different implementations:
- Implementation over a gRPC connection with a elysium-core node called `CoreAccess`.
- Implementation over a libp2p stream with a state-providing node.
- Implementation over a local running instance of the elysium-application (this feature will be implemented in *Full* nodes).
Index ¶
- Variables
- func WithMetrics(ca *CoreAccessor)
- type AccAddress
- type Address
- type Balance
- type CoreAccessor
- func (ca *CoreAccessor) AccountAddress(context.Context) (Address, error)
- func (ca *CoreAccessor) Balance(ctx context.Context) (*Balance, error)
- func (ca *CoreAccessor) BalanceForAddress(ctx context.Context, addr Address) (*Balance, error)
- func (ca *CoreAccessor) BeginRedelegate(ctx context.Context, srcValAddr, dstValAddr ValAddress, amount, fee Int, ...) (*TxResponse, error)
- func (ca *CoreAccessor) CancelUnbondingDelegation(ctx context.Context, valAddr ValAddress, amount, height, fee Int, ...) (*TxResponse, error)
- func (ca *CoreAccessor) Delegate(ctx context.Context, delAddr ValAddress, amount Int, fee Int, gasLim uint64) (*TxResponse, error)
- func (ca *CoreAccessor) IsStopped(context.Context) bool
- func (ca *CoreAccessor) QueryDelegation(ctx context.Context, valAddr ValAddress) (*stakingtypes.QueryDelegationResponse, error)
- func (ca *CoreAccessor) QueryRedelegations(ctx context.Context, srcValAddr, dstValAddr ValAddress) (*stakingtypes.QueryRedelegationsResponse, error)
- func (ca *CoreAccessor) QueryUnbonding(ctx context.Context, valAddr ValAddress) (*stakingtypes.QueryUnbondingDelegationResponse, error)
- func (ca *CoreAccessor) Start(ctx context.Context) error
- func (ca *CoreAccessor) Stop(context.Context) error
- func (ca *CoreAccessor) SubmitPayForBlob(ctx context.Context, nID namespace.ID, data []byte, fee Int, gasLim uint64) (*TxResponse, error)
- func (ca *CoreAccessor) SubmitTx(ctx context.Context, tx Tx) (*TxResponse, error)
- func (ca *CoreAccessor) SubmitTxWithBroadcastMode(ctx context.Context, tx Tx, mode sdktx.BroadcastMode) (*TxResponse, error)
- func (ca *CoreAccessor) Transfer(ctx context.Context, addr AccAddress, amount, fee Int, gasLim uint64) (*TxResponse, error)
- func (ca *CoreAccessor) Undelegate(ctx context.Context, delAddr ValAddress, amount, fee Int, gasLim uint64) (*TxResponse, error)
- type Int
- type Tx
- type TxResponse
- type ValAddress
Constants ¶
This section is empty.
Variables ¶
var (
ErrInvalidAmount = errors.New("state: amount must be greater than zero")
)
Functions ¶
func WithMetrics ¶
func WithMetrics(ca *CoreAccessor)
Types ¶
type AccAddress ¶
type AccAddress = sdk.AccAddress
AccAddress is an alias to the AccAddress type from Cosmos-SDK.
type CoreAccessor ¶
type CoreAccessor struct {
// contains filtered or unexported fields
}
CoreAccessor implements service over a gRPC connection with a elysium-core node.
func NewCoreAccessor ¶
func NewCoreAccessor( signer *apptypes.KeyringSigner, getter libhead.Head[*header.ExtendedHeader], coreIP, rpcPort string, grpcPort string, ) *CoreAccessor
NewCoreAccessor dials the given elysium-core endpoint and constructs and returns a new CoreAccessor (state service) with the active connection.
func (*CoreAccessor) AccountAddress ¶
func (ca *CoreAccessor) AccountAddress(context.Context) (Address, error)
func (*CoreAccessor) Balance ¶
func (ca *CoreAccessor) Balance(ctx context.Context) (*Balance, error)
func (*CoreAccessor) BalanceForAddress ¶
func (*CoreAccessor) BeginRedelegate ¶
func (ca *CoreAccessor) BeginRedelegate( ctx context.Context, srcValAddr, dstValAddr ValAddress, amount, fee Int, gasLim uint64, ) (*TxResponse, error)
func (*CoreAccessor) CancelUnbondingDelegation ¶
func (ca *CoreAccessor) CancelUnbondingDelegation( ctx context.Context, valAddr ValAddress, amount, height, fee Int, gasLim uint64, ) (*TxResponse, error)
func (*CoreAccessor) Delegate ¶
func (ca *CoreAccessor) Delegate( ctx context.Context, delAddr ValAddress, amount Int, fee Int, gasLim uint64, ) (*TxResponse, error)
func (*CoreAccessor) QueryDelegation ¶
func (ca *CoreAccessor) QueryDelegation( ctx context.Context, valAddr ValAddress, ) (*stakingtypes.QueryDelegationResponse, error)
func (*CoreAccessor) QueryRedelegations ¶
func (ca *CoreAccessor) QueryRedelegations( ctx context.Context, srcValAddr, dstValAddr ValAddress, ) (*stakingtypes.QueryRedelegationsResponse, error)
func (*CoreAccessor) QueryUnbonding ¶
func (ca *CoreAccessor) QueryUnbonding( ctx context.Context, valAddr ValAddress, ) (*stakingtypes.QueryUnbondingDelegationResponse, error)
func (*CoreAccessor) SubmitPayForBlob ¶
func (ca *CoreAccessor) SubmitPayForBlob( ctx context.Context, nID namespace.ID, data []byte, fee Int, gasLim uint64, ) (*TxResponse, error)
func (*CoreAccessor) SubmitTx ¶
func (ca *CoreAccessor) SubmitTx(ctx context.Context, tx Tx) (*TxResponse, error)
func (*CoreAccessor) SubmitTxWithBroadcastMode ¶
func (ca *CoreAccessor) SubmitTxWithBroadcastMode( ctx context.Context, tx Tx, mode sdktx.BroadcastMode, ) (*TxResponse, error)
func (*CoreAccessor) Transfer ¶
func (ca *CoreAccessor) Transfer( ctx context.Context, addr AccAddress, amount, fee Int, gasLim uint64, ) (*TxResponse, error)
func (*CoreAccessor) Undelegate ¶
func (ca *CoreAccessor) Undelegate( ctx context.Context, delAddr ValAddress, amount, fee Int, gasLim uint64, ) (*TxResponse, error)
type TxResponse ¶
type TxResponse = sdk.TxResponse
TxResponse is an alias to the TxResponse type from Cosmos-SDK.
type ValAddress ¶
type ValAddress = sdk.ValAddress
ValAddress is an alias to the ValAddress type from Cosmos-SDK.