Documentation
¶
Index ¶
- Constants
- Variables
- func ConstructModule(tp node.Type, cfg *Config, coreCfg *core.Config) fx.Option
- func Flags() *flag.FlagSet
- func KeyringSigner(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) 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) SubmitPayForBlob(ctx context.Context, fee state.Int, gasLim uint64, blobs []*blob.Blob) (*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 ¶
const DefaultAccountName = "my_celes_key"
Variables ¶
var ErrNoStateAccess = errors.New("node is running without state access. run with --core.ip <CORE NODE IP> to resolve")
Functions ¶
func ConstructModule ¶
ConstructModule provides all components necessary to construct the state service.
func KeyringSigner ¶ added in v0.7.0
func KeyringSigner(cfg Config, ks keystore.Keystore, net p2p.Network) (*apptypes.KeyringSigner, error)
KeyringSigner constructs a new keyring signer. NOTE: we construct keyring signer before constructing node for easier UX as having keyring-backend set to `file` prompts user for password.
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"`
Balance func(ctx context.Context) (*state.Balance, error) `perm:"read"`
BalanceForAddress func(ctx context.Context, addr state.Address) (*state.Balance, error) `perm:"read"`
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:"read"`
SubmitPayForBlob func(
ctx context.Context,
fee state.Int,
gasLim uint64,
blobs []*blob.Blob,
) (*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:"read"`
QueryUnbonding func(
ctx context.Context,
valAddr state.ValAddress,
) (*types.QueryUnbondingDelegationResponse, error) `perm:"read"`
QueryRedelegations func(
ctx context.Context,
srcValAddr,
dstValAddr state.ValAddress,
) (*types.QueryRedelegationsResponse, error) `perm:"read"`
}
}
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) SubmitPayForBlob ¶ added in v0.7.0
func (*API) Undelegate ¶ added in v0.5.0
type Config ¶
Config contains configuration parameters for constructing the node's keyring signer.
func DefaultConfig ¶
func DefaultConfig() Config
type Module ¶
type Module interface {
// 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)
// SubmitPayForBlob builds, signs and submits a PayForBlob transaction.
SubmitPayForBlob(
ctx context.Context,
fee state.Int,
gasLim uint64,
blobs []*blob.Blob,
) (*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.