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) 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) 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"` 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"` 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:"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) 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 { // 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) // 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.