Documentation
¶
Index ¶
- func ConstructModule(tp node.Type, cfg *Config) fx.Option
- func CoreAccessor(corecfg core.Config, signer *apptypes.KeyringSigner, sync *sync.Syncer) *state.CoreAccessor
- func Flags() *flag.FlagSet
- func Keyring(cfg Config, ks keystore.Keystore, net p2p.Network) (*apptypes.KeyringSigner, error)
- func ParseFlags(cmd *cobra.Command, cfg *Config)
- func WithKeyringSigner(signer *types.KeyringSigner) fx.Option
- type API
- func (api *API) AccountAddress(ctx context.Context) (state.Address, error)
- func (api *API) Balance(ctx context.Context) (*state.Balance, error)
- func (api *API) BalanceForAddress(ctx context.Context, addr state.Address) (*state.Balance, error)
- func (api *API) BeginRedelegate(ctx context.Context, srcValAddr, dstValAddr state.ValAddress, ...) (*state.TxResponse, error)
- func (api *API) CancelUnbondingDelegation(ctx context.Context, valAddr state.ValAddress, amount, height, fee state.Int, ...) (*state.TxResponse, error)
- func (api *API) Delegate(ctx context.Context, delAddr state.ValAddress, amount, fee state.Int, ...) (*state.TxResponse, error)
- func (api *API) IsStopped(ctx context.Context) bool
- func (api *API) QueryDelegation(ctx context.Context, valAddr state.ValAddress) (*types.QueryDelegationResponse, error)
- func (api *API) QueryRedelegations(ctx context.Context, srcValAddr, dstValAddr state.ValAddress) (*types.QueryRedelegationsResponse, error)
- func (api *API) QueryUnbonding(ctx context.Context, valAddr state.ValAddress) (*types.QueryUnbondingDelegationResponse, error)
- func (api *API) SubmitPayForData(ctx context.Context, nID namespace.ID, data []byte, fee state.Int, ...) (*state.TxResponse, error)
- func (api *API) SubmitTx(ctx context.Context, tx state.Tx) (*state.TxResponse, error)
- func (api *API) Transfer(ctx context.Context, to state.AccAddress, amount, fee state.Int, ...) (*state.TxResponse, error)
- func (api *API) Undelegate(ctx context.Context, delAddr state.ValAddress, amount, fee state.Int, ...) (*state.TxResponse, error)
- type Config
- type Module
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConstructModule ¶
ConstructModule provides all components necessary to construct the state service.
func CoreAccessor ¶
func CoreAccessor( corecfg core.Config, signer *apptypes.KeyringSigner, sync *sync.Syncer, ) *state.CoreAccessor
CoreAccessor constructs a new instance of state.Module over a celestia-core connection.
func ParseFlags ¶
ParseFlags parses State flags from the given cmd and saves them to the passed config.
func WithKeyringSigner ¶
func WithKeyringSigner(signer *types.KeyringSigner) fx.Option
WithKeyringSigner overrides the default keyring signer constructed by the node.
Types ¶
type API ¶ added in v0.5.0
type API struct {
Internal struct {
AccountAddress func(ctx context.Context) (state.Address, error) `perm:"read"`
IsStopped func(ctx context.Context) bool `perm:"public"`
Balance func(ctx context.Context) (*state.Balance, error) `perm:"read"`
BalanceForAddress func(ctx context.Context, addr state.Address) (*state.Balance, error) `perm:"public"`
Transfer func(
ctx context.Context,
to state.AccAddress,
amount,
fee state.Int,
gasLimit uint64,
) (*state.TxResponse, error) `perm:"write"`
SubmitTx func(ctx context.Context, tx state.Tx) (*state.TxResponse, error) `perm:"write"`
SubmitPayForData func(
ctx context.Context,
nID namespace.ID,
data []byte,
fee state.Int,
gasLim uint64,
) (*state.TxResponse, error) `perm:"write"`
CancelUnbondingDelegation func(
ctx context.Context,
valAddr state.ValAddress,
amount,
height,
fee state.Int,
gasLim uint64,
) (*state.TxResponse, error) `perm:"write"`
BeginRedelegate func(
ctx context.Context,
srcValAddr,
dstValAddr state.ValAddress,
amount,
fee state.Int,
gasLim uint64,
) (*state.TxResponse, error) `perm:"write"`
Undelegate func(
ctx context.Context,
delAddr state.ValAddress,
amount,
fee state.Int,
gasLim uint64,
) (*state.TxResponse, error) `perm:"write"`
Delegate func(
ctx context.Context,
delAddr state.ValAddress,
amount,
fee state.Int,
gasLim uint64,
) (*state.TxResponse, error) `perm:"write"`
QueryDelegation func(
ctx context.Context,
valAddr state.ValAddress,
) (*types.QueryDelegationResponse, error) `perm:"public"`
QueryUnbonding func(
ctx context.Context,
valAddr state.ValAddress,
) (*types.QueryUnbondingDelegationResponse, error) `perm:"public"`
QueryRedelegations func(
ctx context.Context,
srcValAddr,
dstValAddr state.ValAddress,
) (*types.QueryRedelegationsResponse, error) `perm:"public"`
}
}
API is a wrapper around Module for the RPC. TODO(@distractedm1nd): These structs need to be autogenerated.
func (*API) AccountAddress ¶ added in v0.5.0
func (*API) BalanceForAddress ¶ added in v0.5.0
func (*API) BeginRedelegate ¶ added in v0.5.0
func (*API) CancelUnbondingDelegation ¶ added in v0.5.0
func (*API) QueryDelegation ¶ added in v0.5.0
func (api *API) QueryDelegation(ctx context.Context, valAddr state.ValAddress) (*types.QueryDelegationResponse, error)
func (*API) QueryRedelegations ¶ added in v0.5.0
func (api *API) QueryRedelegations( ctx context.Context, srcValAddr, dstValAddr state.ValAddress, ) (*types.QueryRedelegationsResponse, error)
func (*API) QueryUnbonding ¶ added in v0.5.0
func (api *API) QueryUnbonding( ctx context.Context, valAddr state.ValAddress, ) (*types.QueryUnbondingDelegationResponse, error)
func (*API) SubmitPayForData ¶ added in v0.5.0
func (*API) Undelegate ¶ added in v0.5.0
type Config ¶
type Config struct {
KeyringAccName string
}
Config contains configuration parameters for constructing the node's keyring signer.
func DefaultConfig ¶
func DefaultConfig() Config
type Module ¶
type Module interface {
// IsStopped checks if the Module's context has been stopped
IsStopped(ctx context.Context) bool
// AccountAddress retrieves the address of the node's account/signer
AccountAddress(ctx context.Context) (state.Address, error)
// Balance retrieves the Celestia coin balance for the node's account/signer
// and verifies it against the corresponding block's AppHash.
Balance(ctx context.Context) (*state.Balance, error)
// BalanceForAddress retrieves the Celestia coin balance for the given address and verifies
// the returned balance against the corresponding block's AppHash.
//
// NOTE: the balance returned is the balance reported by the block right before
// the node's current head (head-1). This is due to the fact that for block N, the block's
// `AppHash` is the result of applying the previous block's transaction list.
BalanceForAddress(ctx context.Context, addr state.Address) (*state.Balance, error)
// Transfer sends the given amount of coins from default wallet of the node to the given account
// address.
Transfer(ctx context.Context, to state.AccAddress, amount, fee state.Int, gasLimit uint64) (*state.TxResponse, error)
// SubmitTx submits the given transaction/message to the
// Celestia network and blocks until the tx is included in
// a block.
SubmitTx(ctx context.Context, tx state.Tx) (*state.TxResponse, error)
// SubmitPayForData builds, signs and submits a PayForData transaction.
SubmitPayForData(
ctx context.Context,
nID namespace.ID,
data []byte,
fee state.Int,
gasLim uint64,
) (*state.TxResponse, error)
// CancelUnbondingDelegation cancels a user's pending undelegation from a validator.
CancelUnbondingDelegation(
ctx context.Context,
valAddr state.ValAddress,
amount,
height,
fee state.Int,
gasLim uint64,
) (*state.TxResponse, error)
// BeginRedelegate sends a user's delegated tokens to a new validator for redelegation.
BeginRedelegate(
ctx context.Context,
srcValAddr,
dstValAddr state.ValAddress,
amount,
fee state.Int,
gasLim uint64,
) (*state.TxResponse, error)
// Undelegate undelegates a user's delegated tokens, unbonding them from the current validator.
Undelegate(
ctx context.Context,
delAddr state.ValAddress,
amount, fee state.Int,
gasLim uint64,
) (*state.TxResponse, error)
// Delegate sends a user's liquid tokens to a validator for delegation.
Delegate(
ctx context.Context,
delAddr state.ValAddress,
amount, fee state.Int,
gasLim uint64,
) (*state.TxResponse, error)
// QueryDelegation retrieves the delegation information between a delegator and a validator.
QueryDelegation(ctx context.Context, valAddr state.ValAddress) (*types.QueryDelegationResponse, error)
// QueryUnbonding retrieves the unbonding status between a delegator and a validator.
QueryUnbonding(ctx context.Context, valAddr state.ValAddress) (*types.QueryUnbondingDelegationResponse, error)
// QueryRedelegations retrieves the status of the redelegations between a delegator and a validator.
QueryRedelegations(
ctx context.Context,
srcValAddr,
dstValAddr state.ValAddress,
) (*types.QueryRedelegationsResponse, error)
}
Module represents the behaviors necessary for a user to query for state-related information and submit transactions/ messages to the Celestia network.