state

package
v0.31.2-mocha Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2026 License: Apache-2.0 Imports: 33 Imported by: 6

Documentation

Overview

Package state provides a structure for celestia-node's ability to access state-relevant information from as well as submit transactions/messages to the celestia network.

This package contains one main interface, `Accessor`, that defines the methods available for both accessing and updating state on the celestia network.

`Accessor` will contain three different implementations:

  1. Implementation over a gRPC connection with a celestia-core node called `CoreAccess`.
  2. Implementation over a libp2p stream with a state-providing node.
  3. Implementation over a local running instance of the celestia-application (this feature will be implemented in *Full* nodes).

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidAmount = errors.New("state: amount must be greater than zero")
	ErrInvalidHeight = errors.New("state: height must be positive and fit in int64")
)
View Source
var (
	NewTxConfig           = txclient.NewTxConfig
	WithGas               = txclient.WithGas
	WithGasPrice          = txclient.WithGasPrice
	WithKeyName           = txclient.WithKeyName
	WithSignerAddress     = txclient.WithSignerAddress
	WithFeeGranterAddress = txclient.WithFeeGranterAddress
	WithMaxGasPrice       = txclient.WithMaxGasPrice
	WithTxPriority        = txclient.WithTxPriority
	DefaultGasPrice       = txclient.DefaultGasPrice
	DefaultMaxGasPrice    = txclient.DefaultMaxGasPrice
	TxPriorityLow         = txclient.TxPriorityLow
	TxPriorityMedium      = txclient.TxPriorityMedium
	TxPriorityHigh        = txclient.TxPriorityHigh

	ErrGasPriceExceedsLimit = txclient.ErrGasPriceExceedsLimit

	WithEstimatorService        = txclient.WithEstimatorService
	WithEstimatorServiceTLS     = txclient.WithEstimatorServiceTLS
	WithAdditionalCoreEndpoints = txclient.WithAdditionalCoreEndpoints
	WithTxWorkerAccounts        = txclient.WithTxWorkerAccounts
)

Functions

This section is empty.

Types

type AccAddress

type AccAddress = sdk.AccAddress

AccAddress is an alias to the AccAddress type from Cosmos-SDK.

type Address

type Address struct {
	sdk.Address
}

Address is an alias to the Address type from Cosmos-SDK. It is embedded into a struct to provide a non-interface type for JSON serialization.

func (Address) MarshalJSON added in v0.11.0

func (a Address) MarshalJSON() ([]byte, error)

func (*Address) UnmarshalJSON added in v0.11.0

func (a *Address) UnmarshalJSON(data []byte) error

type Balance

type Balance = sdk.Coin

Balance is an alias to the Coin type from Cosmos-SDK.

type ConfigOption added in v0.15.0

type ConfigOption = txclient.ConfigOption

Backward-compatible aliases for txClient types and functions.

type CoreAccessor

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

CoreAccessor implements service over a gRPC connection with a celestia-core node.

func NewCoreAccessor

func NewCoreAccessor(
	client TxClient,
	keyring keyring.Keyring,
	keyname string,
	getter libhead.Head[*header.ExtendedHeader],
	conn *grpc.ClientConn,
	network string,
) (*CoreAccessor, error)

NewCoreAccessor dials the given celestia-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 (ca *CoreAccessor) BalanceForAddress(ctx context.Context, addr Address) (*Balance, error)

func (*CoreAccessor) BeginRedelegate

func (ca *CoreAccessor) BeginRedelegate(
	ctx context.Context,
	srcValAddr,
	dstValAddr ValAddress,
	amount Int,
	cfg *TxConfig,
) (*TxResponse, error)

func (*CoreAccessor) CancelUnbondingDelegation

func (ca *CoreAccessor) CancelUnbondingDelegation(
	ctx context.Context,
	valAddr ValAddress,
	amount,
	height Int,
	cfg *TxConfig,
) (*TxResponse, error)

func (*CoreAccessor) Delegate

func (ca *CoreAccessor) Delegate(
	ctx context.Context,
	delAddr ValAddress,
	amount Int,
	cfg *TxConfig,
) (*TxResponse, error)

func (*CoreAccessor) GrantFee added in v0.14.0

func (ca *CoreAccessor) GrantFee(
	ctx context.Context,
	grantee AccAddress,
	amount Int,
	cfg *TxConfig,
) (*TxResponse, error)

func (*CoreAccessor) LastPayForBlob added in v0.11.0

func (ca *CoreAccessor) LastPayForBlob() int64

func (*CoreAccessor) PayForBlobCount added in v0.11.0

func (ca *CoreAccessor) PayForBlobCount() int64

func (*CoreAccessor) QueryDelegation

func (ca *CoreAccessor) QueryDelegation(
	ctx context.Context,
	valAddr ValAddress,
) (*stakingtypes.QueryDelegationResponse, error)

func (*CoreAccessor) QueryDelegationRewards added in v0.30.2

func (ca *CoreAccessor) QueryDelegationRewards(
	ctx context.Context,
	valAddr ValAddress,
) (*distributiontypes.QueryDelegationRewardsResponse, error)

func (*CoreAccessor) QueryRedelegations

func (ca *CoreAccessor) QueryRedelegations(
	ctx context.Context,
	srcValAddr,
	dstValAddr ValAddress,
) (*stakingtypes.QueryRedelegationsResponse, error)

func (*CoreAccessor) QueryUnbonding

func (*CoreAccessor) RevokeGrantFee added in v0.14.0

func (ca *CoreAccessor) RevokeGrantFee(
	ctx context.Context,
	grantee AccAddress,
	cfg *TxConfig,
) (*TxResponse, error)

func (*CoreAccessor) Start

func (ca *CoreAccessor) Start(ctx context.Context) error

func (*CoreAccessor) Stop

func (ca *CoreAccessor) Stop(_ context.Context) error

func (*CoreAccessor) SubmitPayForBlob added in v0.7.0

func (ca *CoreAccessor) SubmitPayForBlob(
	ctx context.Context,
	libBlobs []*libshare.Blob,
	cfg *TxConfig,
) (_ *TxResponse, err error)

SubmitPayForBlob builds, signs, and synchronously submits a MsgPayForBlob with additional options defined in `TxConfig`. It blocks until the transaction is committed and returns the TxResponse. The user can specify additional options that can bee applied to the Tx.

func (*CoreAccessor) Transfer

func (ca *CoreAccessor) Transfer(
	ctx context.Context,
	addr AccAddress,
	amount Int,
	cfg *TxConfig,
) (*TxResponse, error)

func (*CoreAccessor) Undelegate

func (ca *CoreAccessor) Undelegate(
	ctx context.Context,
	delAddr ValAddress,
	amount Int,
	cfg *TxConfig,
) (*TxResponse, error)

func (*CoreAccessor) WithdrawDelegatorReward added in v0.30.2

func (ca *CoreAccessor) WithdrawDelegatorReward(
	ctx context.Context,
	valAddr ValAddress,
	cfg *TxConfig,
) (*TxResponse, error)

type Int

type Int = math.Int

Int is an alias to the Int type from Cosmos-SDK.

type Option added in v0.14.0

type Option = txclient.Option

type Tx

type Tx = coretypes.Tx

Tx is an alias to the Tx type from celestia-core.

type TxClient

type TxClient interface {
	SubmitMessage(context.Context, sdktypes.Msg, *txclient.TxConfig) (*user.TxResponse, error)
	SubmitPayForBlob(context.Context, []*libshare.Blob, sdktypes.AccAddress, *txclient.TxConfig) (*user.TxResponse, error)
}

type TxConfig added in v0.15.0

type TxConfig = txclient.TxConfig

type TxPriority added in v0.22.1

type TxPriority = txclient.TxPriority

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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