Documentation ¶
Index ¶
- Constants
- func NewWrappedErrInvalidRequest(requestID uint64, message string) error
- func RequestActionDescriptionFromContent(content launchtypes.RequestContent) string
- func RequestActionResultDescriptionFromContent(content launchtypes.RequestContent) string
- func VerifyAddValidatorRequest(req *launchtypes.RequestContent_GenesisValidator) error
- func VerifyPeerFormat(peer launchtypes.Peer) bool
- func VerifyRequest(request Request) error
- type ChainLaunch
- type ChainShare
- type Cli
- type Coordinator
- type ErrInvalidRequest
- type GenesisAccount
- type GenesisInformation
- func (gi *GenesisInformation) AddGenesisAccount(acc GenesisAccount)
- func (gi *GenesisInformation) AddGenesisValidator(val GenesisValidator)
- func (gi *GenesisInformation) AddParamChange(pc ParamChange)
- func (gi *GenesisInformation) AddVestingAccount(acc VestingAccount)
- func (gi GenesisInformation) ApplyRequest(request Request) (GenesisInformation, error)
- func (gi GenesisInformation) ContainsGenesisAccount(address string) (bool, int)
- func (gi GenesisInformation) ContainsGenesisValidator(address string) (bool, int)
- func (gi GenesisInformation) ContainsParamChange(module, param string) (bool, int)
- func (gi GenesisInformation) ContainsVestingAccount(address string) (bool, int)
- func (gi *GenesisInformation) RemoveGenesisAccount(address string)
- func (gi *GenesisInformation) RemoveGenesisValidator(address string)
- func (gi *GenesisInformation) RemoveVestingAccount(address string)
- type GenesisValidator
- type MainnetAccount
- type Metadata
- type NetworkType
- type ParamChange
- type Profile
- type ProfileAcc
- type Project
- type ProjectChains
- type Request
- type Reward
- type RewardIBCInfo
- type Validator
- type VestingAccount
Constants ¶
const ( // SPNChainID name used as SPN chain id. SPNChainID = "spn-1" // SPN name used as an address prefix and as a home dir for chains to publish. SPN = "spn" // SPNDenom is the denom used for the spn chain native token. SPNDenom = "uspn" // SPNVersion is the spn ibc version used for the relayer connection. SPNVersion = "monitoring-1" // SPNPortID is the spn ibc port id used for the relayer connection. SPNPortID = "monitoringc" // ChainPortID is the chain ibc port id used for the relayer connection. ChainPortID = "monitoringp" // DefaultFee is the default fee to use when sending transactions. DefaultFee = "500uspn" )
const ( RequestActionAddAccount = "add account to the network" RequestActionAddValidator = "join the network as a validator" RequestActionAddVestingAccount = "add vesting account to the network" RequestActionRemoveAccount = "remove account from the network" RequestActionRemoveValidator = "remove validator from the network" RequestActionChangeParams = "change param on the network" RequestActionResultAddAccount = "account added to the network" RequestActionResultAddValidator = "Validator added to the network" RequestActionResultAddVestingAccount = "vesting account added to the network" RequestActionResultRemoveAccount = "account removed from network" RequestActionResultRemoveValidator = "validator removed from network" RequestActionResultChangeParams = "param changed on network" RequestActionUnrecognized = "<unrecognized request>" )
Request action descriptions
const Version = "1"
Version current version of the network plugin
Variables ¶
This section is empty.
Functions ¶
func NewWrappedErrInvalidRequest ¶
NewWrappedErrInvalidRequest returns a wrapped ErrInvalidRequest.
func RequestActionDescriptionFromContent ¶
func RequestActionDescriptionFromContent(content launchtypes.RequestContent) string
RequestActionDescriptionFromContent describes the action of the request from its content
func RequestActionResultDescriptionFromContent ¶
func RequestActionResultDescriptionFromContent(content launchtypes.RequestContent) string
RequestActionResultDescriptionFromContent describe the result of the action of the request from its content
func VerifyAddValidatorRequest ¶
func VerifyAddValidatorRequest(req *launchtypes.RequestContent_GenesisValidator) error
VerifyAddValidatorRequest verifies the validator request parameters.
func VerifyPeerFormat ¶
func VerifyPeerFormat(peer launchtypes.Peer) bool
VerifyPeerFormat checks if the peer address format is valid
func VerifyRequest ¶
VerifyRequest verifies the validity of the request from its content (static check).
Types ¶
type ChainLaunch ¶
type ChainLaunch struct { ID uint64 `json:"ID"` ConsumerRevisionHeight int64 `json:"ConsumerRevisionHeight"` ChainID string `json:"ChainID"` SourceURL string `json:"SourceURL"` SourceHash string `json:"SourceHash"` GenesisURL string `json:"GenesisURL"` GenesisHash string `json:"GenesisHash"` GenesisConfig string `json:"GenesisConfig"` LaunchTime time.Time `json:"LaunchTime"` ProjectID uint64 `json:"ProjectID"` LaunchTriggered bool `json:"LaunchTriggered"` Network NetworkType `json:"Network"` Reward string `json:"Reward,omitempty"` AccountBalance sdk.Coins `json:"AccountBalance"` Metadata Metadata `json:"Metadata"` }
ChainLaunch represents the launch of a chain on SPN.
func ToChainLaunch ¶
func ToChainLaunch(chain launchtypes.Chain) ChainLaunch
ToChainLaunch converts a chain launch data from SPN and returns a ChainLaunch object.
type Cli ¶
type Cli struct {
Version string `json:"version"`
}
Cli holds information about the CLI used to interact with the chain
type Coordinator ¶
type Coordinator struct { CoordinatorID uint64 `json:"ID"` Address string `json:"Address"` Active bool `json:"Active"` Identity string `json:"Identity"` Website string `json:"Website"` Details string `json:"Details"` }
Coordinator represents the Coordinator profile on SPN.
func ToCoordinator ¶
func ToCoordinator(coord profiletypes.Coordinator) Coordinator
ToCoordinator converts a Coordinator data from SPN and returns a Coordinator object.
func (Coordinator) ToProfile ¶
func (c Coordinator) ToProfile( projectID uint64, vouchers sdk.Coins, shares projecttypes.Shares, ) Profile
type ErrInvalidRequest ¶
type ErrInvalidRequest struct {
// contains filtered or unexported fields
}
ErrInvalidRequest is an error returned in methods manipulating requests when they are invalid.
func (ErrInvalidRequest) Error ¶
func (err ErrInvalidRequest) Error() string
Error implements error.
type GenesisAccount ¶
type GenesisAccount struct { Address string `json:"Address,omitempty"` Coins sdk.Coins `json:"Coins,omitempty"` }
GenesisAccount represents an account with initial coin allocation for the chain for the chain genesis.
func ToGenesisAccount ¶
func ToGenesisAccount(acc launchtypes.GenesisAccount) GenesisAccount
ToGenesisAccount converts genesis account from SPN.
type GenesisInformation ¶
type GenesisInformation struct { GenesisAccounts []GenesisAccount VestingAccounts []VestingAccount GenesisValidators []GenesisValidator ParamChanges []ParamChange }
GenesisInformation represents all information for a chain to construct the genesis. This structure indexes accounts and validators by their address for better performance.
func NewGenesisInformation ¶
func NewGenesisInformation( genAccs []GenesisAccount, vestingAccs []VestingAccount, genVals []GenesisValidator, paramChanges []ParamChange, ) (gi GenesisInformation)
NewGenesisInformation initializes new GenesisInformation.
func (*GenesisInformation) AddGenesisAccount ¶
func (gi *GenesisInformation) AddGenesisAccount(acc GenesisAccount)
func (*GenesisInformation) AddGenesisValidator ¶
func (gi *GenesisInformation) AddGenesisValidator(val GenesisValidator)
func (*GenesisInformation) AddParamChange ¶
func (gi *GenesisInformation) AddParamChange(pc ParamChange)
AddParamChange adds a ParamChange to the GenesisInformation. Appends if entry does not exist. Updates if it already exists.
func (*GenesisInformation) AddVestingAccount ¶
func (gi *GenesisInformation) AddVestingAccount(acc VestingAccount)
func (GenesisInformation) ApplyRequest ¶
func (gi GenesisInformation) ApplyRequest(request Request) (GenesisInformation, error)
ApplyRequest applies to the genesisInformation the changes implied by the approval of a request.
func (GenesisInformation) ContainsGenesisAccount ¶
func (gi GenesisInformation) ContainsGenesisAccount(address string) (bool, int)
ContainsGenesisAccount returns true if GenesisInformation contains given address. Returns index if true, -1 if false.
func (GenesisInformation) ContainsGenesisValidator ¶
func (gi GenesisInformation) ContainsGenesisValidator(address string) (bool, int)
ContainsGenesisValidator returns true if GenesisInformation contains given address. Returns index if true, -1 if false.
func (GenesisInformation) ContainsParamChange ¶
func (gi GenesisInformation) ContainsParamChange(module, param string) (bool, int)
ContainsParamChange returns true if GenesisInformation contains given module-param pair. Returns index if true, -1 if false.
func (GenesisInformation) ContainsVestingAccount ¶
func (gi GenesisInformation) ContainsVestingAccount(address string) (bool, int)
ContainsVestingAccount returns true if GenesisInformation contains given address. Returns index if true, -1 if false.
func (*GenesisInformation) RemoveGenesisAccount ¶
func (gi *GenesisInformation) RemoveGenesisAccount(address string)
func (*GenesisInformation) RemoveGenesisValidator ¶
func (gi *GenesisInformation) RemoveGenesisValidator(address string)
func (*GenesisInformation) RemoveVestingAccount ¶
func (gi *GenesisInformation) RemoveVestingAccount(address string)
type GenesisValidator ¶
type GenesisValidator struct { Address string `json:"Address,omitempty"` Gentx []byte `json:"Gentx,omitempty"` Peer launchtypes.Peer `json:"Peer,omitempty"` SelfDelegation sdk.Coin `json:"SelfDelegation,omitempty"` }
GenesisValidator represents a genesis validator associated with a gentx in the chain genesis.
func ToGenesisValidator ¶
func ToGenesisValidator(val launchtypes.GenesisValidator) GenesisValidator
ToGenesisValidator converts genesis validator from SPN.
type MainnetAccount ¶
type MainnetAccount struct { Address string `json:"Address"` }
MainnetAccount represents the project mainnet account of a chain on SPN.
func ToMainnetAccount ¶
func ToMainnetAccount(acc projecttypes.MainnetAccount) MainnetAccount
ToMainnetAccount converts a mainnet account data from SPN and returns a MainnetAccount object.
type Metadata ¶
type Metadata struct {
Cli Cli `json:"cli"`
}
Metadata is an object that contains the metadata of a chain the metadata represents generic data set by the coordinator these information can be formatted and interpreted by the CLI for specific purposes
func (Metadata) IsCurrentVersion ¶
IsCurrentVersion checks if the version of the CLI is equal to the current version
type NetworkType ¶
type NetworkType string
const ( NetworkTypeMainnet NetworkType = "mainnet" NetworkTypeTestnet NetworkType = "testnet" )
func (NetworkType) String ¶
func (n NetworkType) String() string
type ParamChange ¶
type ParamChange struct { Module string `json:"Module,omitempty"` Param string `json:"Param,omitempty"` Value []byte `json:"Value,omitempty"` }
ParamChange represents a parameter change to be applied to the chain genesis.
func ToParamChange ¶
func ToParamChange(pc launchtypes.ParamChange) ParamChange
ToParamChange converts param change from SPN.
type Profile ¶
type Profile struct { Address string `json:"Address"` ProjectID uint64 `json:"ProjectID,omitempty"` Identity string `json:"Identity,omitempty"` Website string `json:"Website,omitempty"` Details string `json:"Details,omitempty"` Moniker string `json:"Moniker,omitempty"` SecurityContact string `json:"SecurityContact,omitempty"` Vouchers sdk.Coins `json:"Vouchers,omitempty"` }
Profile represents the address profile on SPN.
type ProfileAcc ¶
type ProfileAcc interface { ToProfile( projectID uint64, vouchers sdk.Coins, shares projecttypes.Shares, ) Profile }
ProfileAcc represents the address profile method interface.
type Project ¶
type Project struct { ID uint64 `json:"ID"` Name string `json:"Name"` CoordinatorID uint64 `json:"CoordinatorID"` MainnetID uint64 `json:"MainnetID"` MainnetInitialized bool `json:"MainnetInitialized"` TotalSupply sdk.Coins `json:"TotalSupply"` Metadata string `json:"Metadata"` }
Project represents the project of a chain on SPN.
func ToProject ¶
func ToProject(project projecttypes.Project) Project
ToProject converts a project data from SPN and returns a Project object.
type ProjectChains ¶
ProjectChains represents the chains of a project on SPN.
func ToProjectChains ¶
func ToProjectChains(c projecttypes.ProjectChains) ProjectChains
ToProjectChains converts a project chains data from SPN and returns a ProjectChains object.
type Request ¶
type Request struct { LaunchID uint64 `json:"LaunchID"` RequestID uint64 `json:"RequestID"` Creator string `json:"Creator"` CreatedAt string `json:"CreatedAt"` Content launchtypes.RequestContent `json:"Content"` Status string `json:"Status"` }
Request represents the launch Request of a chain on SPN.
func RequestsFromRequestContents ¶
func RequestsFromRequestContents(launchID uint64, contents []launchtypes.RequestContent) []Request
RequestsFromRequestContents creates a list of requests from a list request contents to simulate requests that have not been sent to request pool yet The request ID is set to 0 for the first request and incremented for each request, other values are not set
func ToRequest ¶
func ToRequest(request launchtypes.Request) Request
ToRequest converts a request data from SPN and returns a Request object.
type Reward ¶
type Reward struct { ConsensusState spntypes.ConsensusState ValidatorSet spntypes.ValidatorSet RevisionHeight uint64 }
Reward is node reward info.
type RewardIBCInfo ¶
RewardIBCInfo holds IBC info to relay packets to claim rewards.
type Validator ¶
type Validator struct { Address string `json:"Address"` OperatorAddresses []string `json:"OperatorAddresses"` Identity string `json:"Identity"` Website string `json:"Website"` Details string `json:"Details"` Moniker string `json:"Moniker"` SecurityContact string `json:"SecurityContact"` }
Validator represents the Validator profile on SPN.
func ToValidator ¶
func ToValidator(val profiletypes.Validator) Validator
ToValidator converts a Validator data from SPN and returns a Validator object.
type VestingAccount ¶
type VestingAccount struct { Address string `json:"Address,omitempty"` TotalBalance sdk.Coins `json:"TotalBalance,omitempty"` Vesting sdk.Coins `json:"Vesting,omitempty"` EndTime int64 `json:"EndTime,omitempty"` }
VestingAccount represents a vesting account with initial coin allocation and vesting option for the chain genesis. VestingAccount supports currently only delayed vesting option.
func ToVestingAccount ¶
func ToVestingAccount(acc launchtypes.VestingAccount) (VestingAccount, error)
ToVestingAccount converts vesting account from SPN.