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:
- Implementation over a gRPC connection with a celestia-core node called `CoreAccess`.
- Implementation over a libp2p stream with a state-providing node.
- Implementation over a local running instance of the celestia-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) LastPayForBlob() int64
- func (ca *CoreAccessor) PayForBlobCount() int64
- 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, fee Int, gasLim uint64, blobs []*blob.Blob) (*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 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 (*Address) UnmarshalJSON ¶ added in v0.11.0
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( signer *apptypes.KeyringSigner, getter libhead.Head[*header.ExtendedHeader], coreIP, rpcPort string, grpcPort string, ) *CoreAccessor
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 (*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) 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) 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 ¶ added in v0.7.0
func (ca *CoreAccessor) SubmitPayForBlob( ctx context.Context, fee Int, gasLim uint64, blobs []*blob.Blob, ) (*TxResponse, error)
SubmitPayForBlob builds, signs, and synchronously submits a MsgPayForBlob. It blocks until the transaction is committed and returns the TxReponse. If gasLim is set to 0, the method will automatically estimate the gas limit. If the fee is negative, the method will use the nodes min gas price multiplied by the gas limit.
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.