Documentation
¶
Index ¶
- Variables
- func AwaitTxAccepted(c *Client, ctx context.Context, txID ids.ID, freq time.Duration, ...) error
- func GetDeactivationOwners(c *Client, ctx context.Context, validationIDs ...ids.ID) (map[ids.ID]fx.Owner, error)
- func GetOwners(c *Client, ctx context.Context, subnetIDs []ids.ID, validationIDs []ids.ID) (map[ids.ID]fx.Owner, error)
- func GetSubnetOwners(c *Client, ctx context.Context, subnetIDs ...ids.ID) (map[ids.ID]fx.Owner, error)
- func NewStateWrapper(s state.State) pvalidators.State
- func NewUptimeManager(state state.State, clock *mockable.Clock) uptimeManager
- type APIBlockchain
- type APISubnet
- type Client
- func (c *Client) GetAtomicUTXOs(ctx context.Context, addrs []ids.ShortID, sourceChain string, limit uint32, ...) ([][]byte, ids.ShortID, ids.ID, error)
- func (c *Client) GetBalance(ctx context.Context, addrs []ids.ShortID, options ...rpc.Option) (*GetBalanceResponse, error)deprecated
- func (c *Client) GetBlock(ctx context.Context, blockID ids.ID, options ...rpc.Option) ([]byte, error)
- func (c *Client) GetBlockByHeight(ctx context.Context, height uint64, options ...rpc.Option) ([]byte, error)
- func (c *Client) GetBlockchainStatus(ctx context.Context, blockchainID string, options ...rpc.Option) (status.BlockchainStatus, error)
- func (c *Client) GetBlockchains(ctx context.Context, options ...rpc.Option) ([]APIBlockchain, error)deprecated
- func (c *Client) GetCurrentSupply(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (uint64, uint64, error)
- func (c *Client) GetCurrentValidators(ctx context.Context, subnetID ids.ID, nodeIDs []ids.NodeID, ...) ([]ClientPermissionlessValidator, error)
- func (c *Client) GetFeeConfig(ctx context.Context, options ...rpc.Option) (*gas.Config, error)
- func (c *Client) GetFeeState(ctx context.Context, options ...rpc.Option) (gas.State, gas.Price, time.Time, error)
- func (c *Client) GetHeight(ctx context.Context, options ...rpc.Option) (uint64, error)
- func (c *Client) GetL1Validator(ctx context.Context, validationID ids.ID, options ...rpc.Option) (L1Validator, uint64, error)
- func (c *Client) GetMinStake(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (uint64, uint64, error)
- func (c *Client) GetProposedHeight(ctx context.Context, options ...rpc.Option) (uint64, error)
- func (c *Client) GetRewardUTXOs(ctx context.Context, args *api.GetTxArgs, options ...rpc.Option) ([][]byte, error)deprecated
- func (c *Client) GetStake(ctx context.Context, addrs []ids.ShortID, validatorsOnly bool, ...) (map[ids.ID]uint64, [][]byte, error)deprecated
- func (c *Client) GetStakingAssetID(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (ids.ID, error)
- func (c *Client) GetSubnet(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (GetSubnetClientResponse, error)
- func (c *Client) GetSubnets(ctx context.Context, ids []ids.ID, options ...rpc.Option) ([]ClientSubnet, error)deprecated
- func (c *Client) GetTimestamp(ctx context.Context, options ...rpc.Option) (time.Time, error)
- func (c *Client) GetTotalStake(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (uint64, error)
- func (c *Client) GetTx(ctx context.Context, txID ids.ID, options ...rpc.Option) ([]byte, error)
- func (c *Client) GetTxStatus(ctx context.Context, txID ids.ID, options ...rpc.Option) (*GetTxStatusResponse, error)
- func (c *Client) GetUTXOs(ctx context.Context, addrs []ids.ShortID, limit uint32, ...) ([][]byte, ids.ShortID, ids.ID, error)
- func (c *Client) GetValidatorFeeConfig(ctx context.Context, options ...rpc.Option) (*fee.Config, error)
- func (c *Client) GetValidatorFeeState(ctx context.Context, options ...rpc.Option) (gas.Gas, gas.Price, time.Time, error)
- func (c *Client) GetValidatorsAt(ctx context.Context, subnetID ids.ID, height platformapi.Height, ...) (map[ids.NodeID]*validators.GetValidatorOutput, error)
- func (c *Client) IssueTx(ctx context.Context, txBytes []byte, options ...rpc.Option) (ids.ID, error)
- func (c *Client) SampleValidators(ctx context.Context, subnetID ids.ID, sampleSize uint16, options ...rpc.Option) ([]ids.NodeID, error)
- func (c *Client) ValidatedBy(ctx context.Context, blockchainID ids.ID, options ...rpc.Option) (ids.ID, error)
- func (c *Client) Validates(ctx context.Context, subnetID ids.ID, options ...rpc.Option) ([]ids.ID, error)
- type ClientDelegator
- type ClientL1Validator
- type ClientOwner
- type ClientPermissionlessValidator
- type ClientStaker
- type ClientSubnet
- type Factory
- type GetBalanceRequest
- type GetBalanceResponse
- type GetBlockchainStatusArgs
- type GetBlockchainStatusReply
- type GetBlockchainsResponse
- type GetCurrentSupplyArgs
- type GetCurrentSupplyReply
- type GetCurrentValidatorsArgs
- type GetCurrentValidatorsReply
- type GetFeeStateReply
- type GetL1ValidatorArgs
- type GetL1ValidatorReply
- type GetMinStakeArgs
- type GetMinStakeReply
- type GetRewardUTXOsReply
- type GetStakeArgs
- type GetStakeReply
- type GetStakingAssetIDArgs
- type GetStakingAssetIDResponse
- type GetSubnetArgs
- type GetSubnetClientResponse
- type GetSubnetResponse
- type GetSubnetsArgs
- type GetSubnetsResponse
- type GetTimestampReply
- type GetTotalStakeArgs
- type GetTotalStakeReply
- type GetTxStatusArgs
- type GetTxStatusResponse
- type GetValidatorFeeStateReply
- type GetValidatorsAtArgs
- type GetValidatorsAtReply
- type Index
- type L1Validator
- type SampleValidatorsArgs
- type SampleValidatorsReply
- type Service
- func (s *Service) GetBalance(_ *http.Request, args *GetBalanceRequest, response *GetBalanceResponse) error
- func (s *Service) GetBlock(_ *http.Request, args *api.GetBlockArgs, response *api.GetBlockResponse) error
- func (s *Service) GetBlockByHeight(_ *http.Request, args *api.GetBlockByHeightArgs, ...) error
- func (s *Service) GetBlockchainStatus(r *http.Request, args *GetBlockchainStatusArgs, ...) error
- func (s *Service) GetBlockchains(_ *http.Request, _ *struct{}, response *GetBlockchainsResponse) error
- func (s *Service) GetCurrentSupply(r *http.Request, args *GetCurrentSupplyArgs, reply *GetCurrentSupplyReply) error
- func (s *Service) GetCurrentValidators(request *http.Request, args *GetCurrentValidatorsArgs, ...) error
- func (s *Service) GetFeeConfig(_ *http.Request, _ *struct{}, reply *gas.Config) error
- func (s *Service) GetFeeState(_ *http.Request, _ *struct{}, reply *GetFeeStateReply) error
- func (s *Service) GetHeight(r *http.Request, _ *struct{}, response *api.GetHeightResponse) error
- func (s *Service) GetL1Validator(r *http.Request, args *GetL1ValidatorArgs, reply *GetL1ValidatorReply) error
- func (s *Service) GetMinStake(_ *http.Request, args *GetMinStakeArgs, reply *GetMinStakeReply) error
- func (s *Service) GetProposedHeight(r *http.Request, _ *struct{}, reply *api.GetHeightResponse) error
- func (s *Service) GetRewardUTXOs(_ *http.Request, args *api.GetTxArgs, reply *GetRewardUTXOsReply) error
- func (s *Service) GetStake(_ *http.Request, args *GetStakeArgs, response *GetStakeReply) error
- func (s *Service) GetStakingAssetID(_ *http.Request, args *GetStakingAssetIDArgs, ...) error
- func (s *Service) GetSubnet(_ *http.Request, args *GetSubnetArgs, response *GetSubnetResponse) error
- func (s *Service) GetSubnets(_ *http.Request, args *GetSubnetsArgs, response *GetSubnetsResponse) error
- func (s *Service) GetTimestamp(_ *http.Request, _ *struct{}, reply *GetTimestampReply) error
- func (s *Service) GetTotalStake(_ *http.Request, args *GetTotalStakeArgs, reply *GetTotalStakeReply) error
- func (s *Service) GetTx(_ *http.Request, args *api.GetTxArgs, response *api.GetTxReply) error
- func (s *Service) GetTxStatus(_ *http.Request, args *GetTxStatusArgs, response *GetTxStatusResponse) error
- func (s *Service) GetUTXOs(_ *http.Request, args *api.GetUTXOsArgs, response *api.GetUTXOsReply) error
- func (s *Service) GetValidatorFeeConfig(_ *http.Request, _ *struct{}, reply *fee.Config) error
- func (s *Service) GetValidatorFeeState(_ *http.Request, _ *struct{}, reply *GetValidatorFeeStateReply) error
- func (s *Service) GetValidatorsAt(r *http.Request, args *GetValidatorsAtArgs, reply *GetValidatorsAtReply) error
- func (s *Service) IssueTx(_ *http.Request, args *api.FormattedTx, response *api.JSONTxID) error
- func (s *Service) SampleValidators(_ *http.Request, args *SampleValidatorsArgs, reply *SampleValidatorsReply) error
- func (s *Service) ValidatedBy(r *http.Request, args *ValidatedByArgs, response *ValidatedByResponse) error
- func (s *Service) Validates(_ *http.Request, args *ValidatesArgs, response *ValidatesResponse) error
- type VM
- func (vm *VM) Clock() *mockable.Clock
- func (vm *VM) CodecRegistry() codec.Registry
- func (vm *VM) Connected(ctx context.Context, nodeID ids.NodeID, version *version.Application) error
- func (vm *VM) CreateHandlers(context.Context) (map[string]http.Handler, error)
- func (vm *VM) Disconnected(ctx context.Context, nodeID ids.NodeID) error
- func (vm *VM) GetBlock(_ context.Context, blkID ids.ID) (linearblock.Block, error)
- func (vm *VM) GetBlockIDAtHeight(_ context.Context, height uint64) (ids.ID, error)
- func (vm *VM) HealthCheck(context.Context) (interface{}, error)
- func (vm *VM) Initialize(ctx context.Context, chainCtx *quasar.Context, db database.Database, ...) error
- func (vm *VM) LastAccepted(context.Context) (ids.ID, error)
- func (vm *VM) Logger() log.Logger
- func (*VM) NewHTTPHandler(context.Context) (http.Handler, error)
- func (vm *VM) ParseBlock(_ context.Context, b []byte) (linearblock.Block, error)
- func (vm *VM) SetPreference(_ context.Context, blkID ids.ID) error
- func (vm *VM) SetState(_ context.Context, state quasar.State) error
- func (vm *VM) Shutdown(context.Context) error
- func (*VM) Version(context.Context) (string, error)
- type ValidatedByArgs
- type ValidatedByResponse
- type ValidatesArgs
- type ValidatesResponse
Constants ¶
This section is empty.
Variables ¶
var (
ErrUnknownState = errors.New("unknown state")
)
Functions ¶
func AwaitTxAccepted ¶
func GetDeactivationOwners ¶
func GetDeactivationOwners( c *Client, ctx context.Context, validationIDs ...ids.ID, ) (map[ids.ID]fx.Owner, error)
GetDeactivationOwners returns a map of validation ID to deactivation owners
func GetOwners ¶
func GetOwners( c *Client, ctx context.Context, subnetIDs []ids.ID, validationIDs []ids.ID, ) (map[ids.ID]fx.Owner, error)
GetOwners returns the union of GetSubnetOwners and GetDeactivationOwners.
func GetSubnetOwners ¶
func GetSubnetOwners( c *Client, ctx context.Context, subnetIDs ...ids.ID, ) (map[ids.ID]fx.Owner, error)
GetSubnetOwners returns a map of subnet ID to current subnet's owner
func NewStateWrapper ¶
func NewStateWrapper(s state.State) pvalidators.State
NewStateWrapper creates a new state wrapper that implements validators.State
Types ¶
type APIBlockchain ¶
type APIBlockchain struct {
// Blockchain's ID
ID ids.ID `json:"id"`
// Blockchain's (non-unique) human-readable name
Name string `json:"name"`
// Subnet that validates the blockchain
SubnetID ids.ID `json:"subnetID"`
// Virtual Machine the blockchain runs
VMID ids.ID `json:"vmID"`
}
APIBlockchain is the representation of a blockchain used in API calls
type APISubnet ¶
type APISubnet struct {
// ID of the subnet
ID ids.ID `json:"id"`
// Each element of [ControlKeys] the address of a public key.
// A transaction to add a validator to this subnet requires
// signatures from [Threshold] of these keys to be valid.
ControlKeys []string `json:"controlKeys"`
Threshold avajson.Uint32 `json:"threshold"`
}
APISubnet is a representation of a subnet used in API calls
type Client ¶
type Client struct {
Requester rpc.EndpointRequester
}
func (*Client) GetAtomicUTXOs ¶
func (c *Client) GetAtomicUTXOs( ctx context.Context, addrs []ids.ShortID, sourceChain string, limit uint32, startAddress ids.ShortID, startUTXOID ids.ID, options ...rpc.Option, ) ([][]byte, ids.ShortID, ids.ID, error)
GetAtomicUTXOs returns the byte representation of the atomic UTXOs controlled by addrs from sourceChain.
func (*Client) GetBalance
deprecated
func (*Client) GetBlock ¶
func (c *Client) GetBlock(ctx context.Context, blockID ids.ID, options ...rpc.Option) ([]byte, error)
GetBlock returns blockID.
func (*Client) GetBlockByHeight ¶
func (c *Client) GetBlockByHeight(ctx context.Context, height uint64, options ...rpc.Option) ([]byte, error)
GetBlockByHeight returns the block at the given height.
func (*Client) GetBlockchainStatus ¶
func (c *Client) GetBlockchainStatus(ctx context.Context, blockchainID string, options ...rpc.Option) (status.BlockchainStatus, error)
GetBlockchainStatus returns the current status of blockchainID.
func (*Client) GetBlockchains
deprecated
func (*Client) GetCurrentSupply ¶
func (c *Client) GetCurrentSupply(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (uint64, uint64, error)
GetCurrentSupply returns an upper bound on the supply of LUX in the system along with the chain height.
func (*Client) GetCurrentValidators ¶
func (c *Client) GetCurrentValidators( ctx context.Context, subnetID ids.ID, nodeIDs []ids.NodeID, options ...rpc.Option, ) ([]ClientPermissionlessValidator, error)
GetCurrentValidators returns the list of current validators for subnetID.
func (*Client) GetFeeConfig ¶
GetFeeConfig returns the dynamic fee config.
func (*Client) GetFeeState ¶
func (c *Client) GetFeeState(ctx context.Context, options ...rpc.Option) ( gas.State, gas.Price, time.Time, error, )
GetFeeState returns the current fee state.
func (*Client) GetL1Validator ¶
func (c *Client) GetL1Validator( ctx context.Context, validationID ids.ID, options ...rpc.Option, ) (L1Validator, uint64, error)
GetL1Validator returns the requested L1 validator with validationID and the height at which it was calculated.
func (*Client) GetMinStake ¶
func (c *Client) GetMinStake(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (uint64, uint64, error)
GetMinStake returns the minimum staking amount in nLUX for validators and delegators respectively.
func (*Client) GetProposedHeight ¶
GetProposedHeight returns the current height of this node's proposer VM.
func (*Client) GetStake
deprecated
func (c *Client) GetStake( ctx context.Context, addrs []ids.ShortID, validatorsOnly bool, options ...rpc.Option, ) (map[ids.ID]uint64, [][]byte, error)
GetStake returns the amount of nLUX that addrs have cumulatively staked on the Primary Network.
Deprecated: Stake should be calculated using GetTx and GetCurrentValidators.
func (*Client) GetStakingAssetID ¶
func (c *Client) GetStakingAssetID(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (ids.ID, error)
GetStakingAssetID returns the assetID of the asset used for staking on the subnet corresponding to subnetID.
func (*Client) GetSubnet ¶
func (c *Client) GetSubnet(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (GetSubnetClientResponse, error)
GetSubnet returns information about the specified subnet.
func (*Client) GetSubnets
deprecated
func (*Client) GetTimestamp ¶
GetTimestamp returns the current chain timestamp.
func (*Client) GetTotalStake ¶
func (c *Client) GetTotalStake(ctx context.Context, subnetID ids.ID, options ...rpc.Option) (uint64, error)
GetTotalStake returns the total amount (in nLUX) staked on the network.
func (*Client) GetTxStatus ¶
func (c *Client) GetTxStatus(ctx context.Context, txID ids.ID, options ...rpc.Option) (*GetTxStatusResponse, error)
GetTxStatus returns the status of txID.
func (*Client) GetUTXOs ¶
func (c *Client) GetUTXOs( ctx context.Context, addrs []ids.ShortID, limit uint32, startAddress ids.ShortID, startUTXOID ids.ID, options ...rpc.Option, ) ([][]byte, ids.ShortID, ids.ID, error)
GetUTXOs returns the byte representation of the UTXOs controlled by addrs.
func (*Client) GetValidatorFeeConfig ¶
func (c *Client) GetValidatorFeeConfig(ctx context.Context, options ...rpc.Option) (*fee.Config, error)
GetValidatorFeeConfig returns the validator fee config.
func (*Client) GetValidatorFeeState ¶
func (c *Client) GetValidatorFeeState(ctx context.Context, options ...rpc.Option) ( gas.Gas, gas.Price, time.Time, error, )
GetValidatorFeeState returns the current validator fee state.
func (*Client) GetValidatorsAt ¶
func (c *Client) GetValidatorsAt( ctx context.Context, subnetID ids.ID, height platformapi.Height, options ...rpc.Option, ) (map[ids.NodeID]*validators.GetValidatorOutput, error)
GetValidatorsAt returns the weights of the validator set of a provided subnet at the specified height or at proposerVM height if set to platformapi.ProposedHeight.
func (*Client) IssueTx ¶
func (c *Client) IssueTx(ctx context.Context, txBytes []byte, options ...rpc.Option) (ids.ID, error)
IssueTx issues the transaction and returns its txID.
func (*Client) SampleValidators ¶
func (c *Client) SampleValidators(ctx context.Context, subnetID ids.ID, sampleSize uint16, options ...rpc.Option) ([]ids.NodeID, error)
SampleValidators returns the nodeIDs of a sample of sampleSize validators from the current validator set for subnetID.
type ClientDelegator ¶
type ClientDelegator struct {
ClientStaker
RewardOwner *ClientOwner
PotentialReward *uint64
}
ClientDelegator is the repr. of a delegator sent over client
type ClientL1Validator ¶
type ClientL1Validator struct {
ValidationID *ids.ID
RemainingBalanceOwner *ClientOwner
DeactivationOwner *ClientOwner
MinNonce *uint64
Balance *uint64
}
type ClientOwner ¶
ClientOwner is the repr. of a reward owner sent over client
type ClientPermissionlessValidator ¶
type ClientPermissionlessValidator struct {
ClientStaker
ClientL1Validator
ValidationRewardOwner *ClientOwner
DelegationRewardOwner *ClientOwner
PotentialReward *uint64
AccruedDelegateeReward *uint64
DelegationFee float32
// Uptime is deprecated for Subnet Validators.
// It will be available only for Primary Network Validators.
Uptime *float32
// Connected is deprecated for Subnet Validators.
// It will be available only for Primary Network Validators.
Connected *bool
Signer *signer.ProofOfPossession
// The delegators delegating to this validator
DelegatorCount *uint64
DelegatorWeight *uint64
Delegators []ClientDelegator
}
ClientPermissionlessValidator is the repr. of a permissionless validator sent over client
type ClientStaker ¶
type ClientStaker struct {
// the txID of the transaction that added this staker.
TxID ids.ID
// the Unix time when they start staking
StartTime uint64
// the Unix time when they are done staking
EndTime uint64
// the validator weight when sampling validators
Weight uint64
// the node ID of the staker
NodeID ids.NodeID
}
ClientStaker is the representation of a staker sent via client.
type ClientSubnet ¶
type ClientSubnet struct {
// ID of the subnet
ID ids.ID
// Each element of [ControlKeys] the address of a public key.
// A transaction to add a validator to this subnet requires
// signatures from [Threshold] of these keys to be valid.
ControlKeys []ids.ShortID
Threshold uint32
}
ClientSubnet is a representation of a subnet used in client methods
type GetBalanceRequest ¶
type GetBalanceRequest struct {
Addresses []string `json:"addresses"`
}
type GetBalanceResponse ¶
type GetBalanceResponse struct {
// Balance, in nLUX, of the address
Balance avajson.Uint64 `json:"balance"`
Unlocked avajson.Uint64 `json:"unlocked"`
LockedStakeable avajson.Uint64 `json:"lockedStakeable"`
LockedNotStakeable avajson.Uint64 `json:"lockedNotStakeable"`
Balances map[ids.ID]avajson.Uint64 `json:"balances"`
Unlockeds map[ids.ID]avajson.Uint64 `json:"unlockeds"`
LockedStakeables map[ids.ID]avajson.Uint64 `json:"lockedStakeables"`
LockedNotStakeables map[ids.ID]avajson.Uint64 `json:"lockedNotStakeables"`
UTXOIDs []*lux.UTXOID `json:"utxoIDs"`
}
Note: We explicitly duplicate LUX out of the maps to ensure backwards compatibility.
type GetBlockchainStatusArgs ¶
type GetBlockchainStatusArgs struct {
BlockchainID string `json:"blockchainID"`
}
GetBlockchainStatusArgs is the arguments for calling GetBlockchainStatus [BlockchainID] is the ID of or an alias of the blockchain to get the status of.
type GetBlockchainStatusReply ¶
type GetBlockchainStatusReply struct {
Status status.BlockchainStatus `json:"status"`
}
GetBlockchainStatusReply is the reply from calling GetBlockchainStatus [Status] is the blockchain's status.
type GetBlockchainsResponse ¶
type GetBlockchainsResponse struct {
// blockchains that exist
Blockchains []APIBlockchain `json:"blockchains"`
}
GetBlockchainsResponse is the response from a call to GetBlockchains
type GetCurrentSupplyArgs ¶
GetCurrentSupplyArgs are the arguments for calling GetCurrentSupply
type GetCurrentSupplyReply ¶
type GetCurrentSupplyReply struct {
Supply avajson.Uint64 `json:"supply"`
Height avajson.Uint64 `json:"height"`
}
GetCurrentSupplyReply are the results from calling GetCurrentSupply
type GetCurrentValidatorsArgs ¶
type GetCurrentValidatorsArgs struct {
// Subnet we're listing the validators of
// If omitted, defaults to primary network
SubnetID ids.ID `json:"subnetID"`
// NodeIDs of validators to request. If [NodeIDs]
// is empty, it fetches all current validators. If
// some nodeIDs are not currently validators, they
// will be omitted from the response.
NodeIDs []ids.NodeID `json:"nodeIDs"`
}
GetCurrentValidatorsArgs are the arguments for calling GetCurrentValidators
type GetCurrentValidatorsReply ¶
type GetCurrentValidatorsReply struct {
Validators []any `json:"validators"`
}
GetCurrentValidatorsReply are the results from calling GetCurrentValidators. Each validator contains a list of delegators to itself.
type GetFeeStateReply ¶
type GetL1ValidatorArgs ¶
type GetL1ValidatorReply ¶
type GetL1ValidatorReply struct {
platformapi.APIL1Validator
SubnetID ids.ID `json:"subnetID"`
// Height is the height of the last accepted block
Height avajson.Uint64 `json:"height"`
}
type GetMinStakeArgs ¶
GetMinStakeArgs are the arguments for calling GetMinStake.
type GetMinStakeReply ¶
type GetMinStakeReply struct {
// The minimum amount of tokens one must bond to be a validator
MinValidatorStake avajson.Uint64 `json:"minValidatorStake"`
// Minimum stake, in nLUX, that can be delegated on the primary network
MinDelegatorStake avajson.Uint64 `json:"minDelegatorStake"`
}
GetMinStakeReply is the response from calling GetMinStake.
type GetRewardUTXOsReply ¶
type GetRewardUTXOsReply struct {
// Number of UTXOs returned
NumFetched avajson.Uint64 `json:"numFetched"`
// The UTXOs
UTXOs []string `json:"utxos"`
// Encoding specifies the encoding format the UTXOs are returned in
Encoding formatting.Encoding `json:"encoding"`
}
GetRewardUTXOsReply defines the GetRewardUTXOs replies returned from the API
type GetStakeArgs ¶
type GetStakeArgs struct {
api.JSONAddresses
ValidatorsOnly bool `json:"validatorsOnly"`
Encoding formatting.Encoding `json:"encoding"`
}
type GetStakeReply ¶
type GetStakeReply struct {
Staked avajson.Uint64 `json:"staked"`
Stakeds map[ids.ID]avajson.Uint64 `json:"stakeds"`
// String representation of staked outputs
// Each is of type lux.TransferableOutput
Outputs []string `json:"stakedOutputs"`
// Encoding of [Outputs]
Encoding formatting.Encoding `json:"encoding"`
}
GetStakeReply is the response from calling GetStake.
type GetStakingAssetIDArgs ¶
GetStakingAssetIDArgs are the arguments to GetStakingAssetID
type GetStakingAssetIDResponse ¶
GetStakingAssetIDResponse is the response from calling GetStakingAssetID
type GetSubnetArgs ¶
type GetSubnetArgs struct {
// ID of the subnet to retrieve information about
SubnetID ids.ID `json:"subnetID"`
}
GetSubnetArgs are the arguments to GetSubnet
type GetSubnetClientResponse ¶
type GetSubnetClientResponse struct {
// whether it is permissioned or not
IsPermissioned bool
// subnet auth information for a permissioned subnet
ControlKeys []ids.ShortID
Threshold uint32
Locktime uint64
// subnet transformation tx ID for a permissionless subnet
SubnetTransformationTxID ids.ID
// subnet conversion information for an L1
ConversionID ids.ID
ManagerChainID ids.ID
ManagerAddress []byte
}
GetSubnetClientResponse is the response from calling GetSubnet on the client
type GetSubnetResponse ¶
type GetSubnetResponse struct {
// whether it is permissioned or not
IsPermissioned bool `json:"isPermissioned"`
// subnet auth information for a permissioned subnet
ControlKeys []string `json:"controlKeys"`
Threshold avajson.Uint32 `json:"threshold"`
Locktime avajson.Uint64 `json:"locktime"`
// subnet transformation tx ID for an elastic subnet
SubnetTransformationTxID ids.ID `json:"subnetTransformationTxID"`
// subnet conversion information for an L1
ConversionID ids.ID `json:"conversionID"`
ManagerChainID ids.ID `json:"managerChainID"`
ManagerAddress types.JSONByteSlice `json:"managerAddress"`
}
GetSubnetResponse is the response from calling GetSubnet
type GetSubnetsArgs ¶
type GetSubnetsArgs struct {
// IDs of the subnets to retrieve information about
// If omitted, gets all subnets
IDs []ids.ID `json:"ids"`
}
GetSubnetsArgs are the arguments to GetSubnets
type GetSubnetsResponse ¶
type GetSubnetsResponse struct {
// Each element is a subnet that exists
// Null if there are no subnets other than the primary network
Subnets []APISubnet `json:"subnets"`
}
GetSubnetsResponse is the response from calling GetSubnets
type GetTimestampReply ¶
GetTimestampReply is the response from GetTimestamp
type GetTotalStakeArgs ¶
type GetTotalStakeArgs struct {
// Subnet we're getting the total stake
// If omitted returns Primary network weight
SubnetID ids.ID `json:"subnetID"`
}
GetTotalStakeArgs are the arguments for calling GetTotalStake
type GetTotalStakeReply ¶
type GetTotalStakeReply struct {
// Deprecated: Use Weight instead.
Stake avajson.Uint64 `json:"stake"`
Weight avajson.Uint64 `json:"weight"`
}
GetTotalStakeReply is the response from calling GetTotalStake.
type GetTxStatusArgs ¶
type GetTxStatusResponse ¶
type GetValidatorsAtArgs ¶
type GetValidatorsAtArgs struct {
Height platformapi.Height `json:"height"`
SubnetID ids.ID `json:"subnetID"`
}
GetValidatorsAtArgs is the response from GetValidatorsAt
type GetValidatorsAtReply ¶
type GetValidatorsAtReply struct {
Validators map[ids.NodeID]*validators.GetValidatorOutput
}
GetValidatorsAtReply is the response from GetValidatorsAt
func (*GetValidatorsAtReply) MarshalJSON ¶
func (v *GetValidatorsAtReply) MarshalJSON() ([]byte, error)
func (*GetValidatorsAtReply) UnmarshalJSON ¶
func (v *GetValidatorsAtReply) UnmarshalJSON(b []byte) error
type Index ¶
type Index struct {
Address string `json:"address"` // The address as a string
UTXO string `json:"utxo"` // The UTXO ID as a string
}
Index is an address and an associated UTXO. Marks a starting or stopping point when fetching UTXOs. Used for pagination.
type L1Validator ¶
type L1Validator struct {
SubnetID ids.ID
NodeID ids.NodeID
PublicKey *bls.PublicKey
RemainingBalanceOwner *secp256k1fx.OutputOwners
DeactivationOwner *secp256k1fx.OutputOwners
StartTime uint64
Weight uint64
MinNonce uint64
// Balance is the remaining amount of LUX this L1 validator has for paying
// the continuous fee.
Balance uint64
}
L1Validator is the response from calling GetL1Validator on the API client.
type SampleValidatorsArgs ¶
type SampleValidatorsArgs struct {
// Number of validators in the sample
Size avajson.Uint16 `json:"size"`
// ID of subnet to sample validators from
// If omitted, defaults to the primary network
SubnetID ids.ID `json:"subnetID"`
}
SampleValidatorsArgs are the arguments for calling SampleValidators
type SampleValidatorsReply ¶
SampleValidatorsReply are the results from calling Sample
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service defines the API calls that can be made to the platform chain
func (*Service) GetBalance ¶
func (s *Service) GetBalance(_ *http.Request, args *GetBalanceRequest, response *GetBalanceResponse) error
GetBalance gets the balance of an address
func (*Service) GetBlock ¶
func (s *Service) GetBlock(_ *http.Request, args *api.GetBlockArgs, response *api.GetBlockResponse) error
func (*Service) GetBlockByHeight ¶
func (s *Service) GetBlockByHeight(_ *http.Request, args *api.GetBlockByHeightArgs, response *api.GetBlockResponse) error
GetBlockByHeight returns the block at the given height.
func (*Service) GetBlockchainStatus ¶
func (s *Service) GetBlockchainStatus(r *http.Request, args *GetBlockchainStatusArgs, reply *GetBlockchainStatusReply) error
GetBlockchainStatus gets the status of a blockchain with the ID [args.BlockchainID].
func (*Service) GetBlockchains ¶
func (s *Service) GetBlockchains(_ *http.Request, _ *struct{}, response *GetBlockchainsResponse) error
GetBlockchains returns all of the blockchains that exist
func (*Service) GetCurrentSupply ¶
func (s *Service) GetCurrentSupply(r *http.Request, args *GetCurrentSupplyArgs, reply *GetCurrentSupplyReply) error
GetCurrentSupply returns an upper bound on the supply of LUX in the system
func (*Service) GetCurrentValidators ¶
func (s *Service) GetCurrentValidators(request *http.Request, args *GetCurrentValidatorsArgs, reply *GetCurrentValidatorsReply) error
GetCurrentValidators returns the current validators. If a single nodeID is provided, full delegators information is also returned. Otherwise only delegators' number and total weight is returned.
func (*Service) GetFeeConfig ¶
GetFeeConfig returns the dynamic fee config of the chain.
func (*Service) GetFeeState ¶
func (s *Service) GetFeeState(_ *http.Request, _ *struct{}, reply *GetFeeStateReply) error
GetFeeState returns the current fee state of the chain.
func (*Service) GetL1Validator ¶
func (s *Service) GetL1Validator(r *http.Request, args *GetL1ValidatorArgs, reply *GetL1ValidatorReply) error
GetL1Validator returns the L1 validator if it exists
func (*Service) GetMinStake ¶
func (s *Service) GetMinStake(_ *http.Request, args *GetMinStakeArgs, reply *GetMinStakeReply) error
GetMinStake returns the minimum staking amount in nLUX.
func (*Service) GetProposedHeight ¶
func (s *Service) GetProposedHeight(r *http.Request, _ *struct{}, reply *api.GetHeightResponse) error
GetProposedHeight returns the current ProposerVM height
func (*Service) GetRewardUTXOs ¶
func (s *Service) GetRewardUTXOs(_ *http.Request, args *api.GetTxArgs, reply *GetRewardUTXOsReply) error
GetRewardUTXOs returns the UTXOs that were rewarded after the provided transaction's staking period ended.
func (*Service) GetStake ¶
func (s *Service) GetStake(_ *http.Request, args *GetStakeArgs, response *GetStakeReply) error
GetStake returns the amount of nLUX that [args.Addresses] have cumulatively staked on the Primary Network.
This method assumes that each stake output has only owner This method assumes only LUX can be staked This method only concerns itself with the Primary Network, not subnets TODO: Improve the performance of this method by maintaining this data in a data structure rather than re-calculating it by iterating over stakers
func (*Service) GetStakingAssetID ¶
func (s *Service) GetStakingAssetID(_ *http.Request, args *GetStakingAssetIDArgs, response *GetStakingAssetIDResponse) error
GetStakingAssetID returns the assetID of the token used to stake on the provided subnet
func (*Service) GetSubnet ¶
func (s *Service) GetSubnet(_ *http.Request, args *GetSubnetArgs, response *GetSubnetResponse) error
func (*Service) GetSubnets ¶
func (s *Service) GetSubnets(_ *http.Request, args *GetSubnetsArgs, response *GetSubnetsResponse) error
GetSubnets returns the subnets whose ID are in [args.IDs] The response will include the primary network
func (*Service) GetTimestamp ¶
func (s *Service) GetTimestamp(_ *http.Request, _ *struct{}, reply *GetTimestampReply) error
GetTimestamp returns the current timestamp on chain.
func (*Service) GetTotalStake ¶
func (s *Service) GetTotalStake(_ *http.Request, args *GetTotalStakeArgs, reply *GetTotalStakeReply) error
GetTotalStake returns the total amount staked on the Primary Network
func (*Service) GetTxStatus ¶
func (s *Service) GetTxStatus(_ *http.Request, args *GetTxStatusArgs, response *GetTxStatusResponse) error
GetTxStatus gets a tx's status
func (*Service) GetUTXOs ¶
func (s *Service) GetUTXOs(_ *http.Request, args *api.GetUTXOsArgs, response *api.GetUTXOsReply) error
GetUTXOs returns the UTXOs controlled by the given addresses
func (*Service) GetValidatorFeeConfig ¶
GetValidatorFeeConfig returns the validator fee config of the chain.
func (*Service) GetValidatorFeeState ¶
func (s *Service) GetValidatorFeeState(_ *http.Request, _ *struct{}, reply *GetValidatorFeeStateReply) error
GetValidatorFeeState returns the current validator fee state of the chain.
func (*Service) GetValidatorsAt ¶
func (s *Service) GetValidatorsAt(r *http.Request, args *GetValidatorsAtArgs, reply *GetValidatorsAtReply) error
GetValidatorsAt returns the weights of the validator set of a provided subnet at the specified height.
func (*Service) SampleValidators ¶
func (s *Service) SampleValidators(_ *http.Request, args *SampleValidatorsArgs, reply *SampleValidatorsReply) error
SampleValidators returns a sampling of the list of current validators
func (*Service) ValidatedBy ¶
func (s *Service) ValidatedBy(r *http.Request, args *ValidatedByArgs, response *ValidatedByResponse) error
ValidatedBy returns the ID of the Subnet that validates [args.BlockchainID]
func (*Service) Validates ¶
func (s *Service) Validates(_ *http.Request, args *ValidatesArgs, response *ValidatesResponse) error
Validates returns the IDs of the blockchains validated by [args.SubnetID]
type VM ¶
type VM struct {
config.Internal
blockbuilder.Builder
*network.Network
validators.State
// contains filtered or unexported fields
}
func (*VM) CodecRegistry ¶
func (*VM) CreateHandlers ¶
CreateHandlers returns a map where: * keys are API endpoint extensions * values are API handlers
func (*VM) GetBlockIDAtHeight ¶
func (*VM) Initialize ¶
func (vm *VM) Initialize( ctx context.Context, chainCtx *quasar.Context, db database.Database, genesisBytes []byte, _ []byte, configBytes []byte, _ []*core.Fx, appSender core.AppSender, ) error
Initialize this blockchain. [vm.ChainManager] and [vm.vdrMgr] must be set before this function is called.
func (*VM) LastAccepted ¶
LastAccepted returns the block most recently accepted
func (*VM) ParseBlock ¶
func (*VM) SetPreference ¶
SetPreference sets the preferred block to be the one with ID [blkID]
type ValidatedByArgs ¶
type ValidatedByArgs struct {
// ValidatedBy returns the ID of the Subnet validating the blockchain with this ID
BlockchainID ids.ID `json:"blockchainID"`
}
ValidatedByArgs is the arguments for calling ValidatedBy
type ValidatedByResponse ¶
type ValidatedByResponse struct {
// ID of the Subnet validating the specified blockchain
SubnetID ids.ID `json:"subnetID"`
}
ValidatedByResponse is the reply from calling ValidatedBy
type ValidatesArgs ¶
ValidatesArgs are the arguments to Validates
type ValidatesResponse ¶
ValidatesResponse is the response from calling Validates
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package block is a generated GoMock package.
|
Package block is a generated GoMock package. |
|
executor/executormock
Package executormock is a generated GoMock package.
|
Package executormock is a generated GoMock package. |
|
fxmock
Package fxmock is a generated GoMock package.
|
Package fxmock is a generated GoMock package. |
|
signermock
Package signermock is a generated GoMock package.
|
Package signermock is a generated GoMock package. |
|
Package state is a generated GoMock package.
|
Package state is a generated GoMock package. |
|
fee
TODO: Before Etna, address all TODOs in this package and ensure LP-103 compliance.
|
TODO: Before Etna, address all TODOs in this package and ensure LP-103 compliance. |
|
utxomock
Package utxomock is a generated GoMock package.
|
Package utxomock is a generated GoMock package. |