Documentation
¶
Index ¶
- func ExecuteCommand(cmd *exec.Cmd, cmdName string)
- func ExecuteCommandWithVerbosity(cmd *exec.Cmd, cmdName string, verbose bool)
- type ChainCommands
- type ChainConfig
- type ChainID
- type ChainState
- type ChainStateCopy
- type ChainStateWithProposalTypes
- type ConsumerAdditionProposal
- type ConsumerModificationProposal
- type ConsumerRemovalProposal
- type ContainerConfig
- type IBCTransferParams
- type IBCTransferParamsProposal
- type Param
- type ParamsProposal
- type PlatformDriver
- type Proposal
- type ProposalAndType
- type Rewards
- type TargetDriver
- type TextProposal
- type UpgradeProposal
- type ValidatorConfig
- type ValidatorID
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExecuteCommand ¶
Executes a command with verbosity specified by CLI flag
Types ¶
type ChainCommands ¶
type ChainCommands interface {
GetBlockHeight(chain ChainID) uint
GetBalance(chain ChainID, validator ValidatorID) uint
GetConsumerChains(chain ChainID) map[ChainID]bool
GetConsumerAddress(consumerChain ChainID, validator ValidatorID) string
GetClientFrozenHeight(chain ChainID, clientID string) (RevisionNumber, RevisionHeight uint64)
GetHasToValidate(validator ValidatorID) []ChainID
GetIBCTransferParams(chain ChainID) IBCTransferParams
GetProposal(chain ChainID, proposal uint) Proposal
GetParam(chain ChainID, param Param) string
GetProviderAddressFromConsumer(consumerChain ChainID, validator ValidatorID) string
GetReward(chain ChainID, validator ValidatorID, blockHeight uint, isNativeDenom bool) float64
GetRegisteredConsumerRewardDenoms(chain ChainID) []string
GetSlashMeter() int64
GetPendingPacketQueueSize(chain ChainID) uint
GetProposedConsumerChains(chain ChainID) []string
GetQueryNode(chain ChainID) string
GetQueryNodeRPCAddress(chain ChainID) string
GetTrustedHeight(chain ChainID, clientID string, index int) (uint64, uint64)
GetValPower(chain ChainID, validator ValidatorID) uint
GetValStakedTokens(chain ChainID, validatorAddress string) uint
GetQueryNodeIP(chain ChainID) string
GetConsumerCommissionRate(chain ChainID, validator ValidatorID) float64
}
type ChainConfig ¶
type ChainConfig struct {
ChainId ChainID
// The account prefix configured on the chain. For example, on the Hub, this is "cosmos"
AccountPrefix string
// Must be unique per chain
IpPrefix string
VotingWaitTime uint
// Any transformations to apply to the genesis file of all chains instantiated with this chain config, as a jq string.
// Example: ".app_state.gov.params.voting_period = \"5s\" | .app_state.slashing.params.signed_blocks_window = \"2\" | .app_state.slashing.params.min_signed_per_window = \"0.500000000000000000\""
GenesisChanges string
BinaryName string
// binary to use after upgrade height
UpgradeBinary string
}
Attributes that are unique to a chain. Allows us to map (part of) the set of strings defined above to a set of viable chains
type ChainState ¶
type ChainState struct {
ValBalances *map[ValidatorID]uint
Proposals *map[uint]Proposal
ProposedConsumerChains *[]string
ValPowers *map[ValidatorID]uint
StakedTokens *map[ValidatorID]uint
IBCTransferParams *IBCTransferParams
Params *[]Param
Rewards *Rewards
ConsumerChains *map[ChainID]bool
AssignedKeys *map[ValidatorID]string
ProviderKeys *map[ValidatorID]string // validatorID: validator provider key
ConsumerPendingPacketQueueSize *uint // Only relevant to consumer chains
RegisteredConsumerRewardDenoms *[]string
ClientsFrozenHeights *map[string]clienttypes.Height
HasToValidate *map[ValidatorID][]ChainID // only relevant to provider chain
ConsumerCommissionRates *map[ValidatorID]float64
}
func (ChainState) MarshalJSON ¶
func (c ChainState) MarshalJSON() ([]byte, error)
MarshalJSON transforms the ChainState into a ChainStateWithProposalTypes by adding type info to the proposals
func (*ChainState) UnmarshalJSON ¶
func (c *ChainState) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the ChainStateWithProposalTypes into a ChainState by removing the type info from the proposals and getting back standard proposals
type ChainStateCopy ¶
type ChainStateCopy ChainState
to have a ChainState object that does not have the overridden Marshal/Unmarshal method
type ChainStateWithProposalTypes ¶
type ChainStateWithProposalTypes struct {
ChainStateCopy
Proposals *map[uint]ProposalAndType // the only thing changed from the real ChainState
}
duplicated from the ChainState with a minor change to the Proposals field
type ConsumerModificationProposal ¶ added in v5.1.0
type ConsumerRemovalProposal ¶
type ContainerConfig ¶
type ContainerConfig struct {
ContainerName string
InstanceName string
CcvVersion string
Now time.Time
}
TODO: this should not be here. mv 'Now' to a better suited type here and then move ContainerConfig back
type IBCTransferParams ¶
type IBCTransferParamsProposal ¶
type IBCTransferParamsProposal struct {
Title string
Deposit uint
Status string
Params IBCTransferParams
}
type ParamsProposal ¶
type PlatformDriver ¶
type PlatformDriver interface {
ExecCommand(name string, arg ...string) *exec.Cmd
// ExecDetachedCommand: when executed the command will be run in the background and call will return immediately
ExecDetachedCommand(name string, args ...string) *exec.Cmd
GetTestScriptPath(isConsumer bool, script string) string
}
TODO: replace ExecutionTarget with new TargetDriver interface
type Proposal ¶
type Proposal interface {
// contains filtered or unexported methods
}
func UnmarshalProposalWithType ¶
func UnmarshalProposalWithType(inputMap json.RawMessage, proposalType string) (Proposal, error)
UnmarshalProposalWithType takes a JSON object and a proposal type and marshals into an object of the corresponding proposal.
type ProposalAndType ¶
type ProposalAndType struct {
RawProposal json.RawMessage
Type string
}
stores a proposal as a raw json, together with its type
type Rewards ¶
type Rewards struct {
IsRewarded map[ValidatorID]bool
// if true it will calculate if the validator/delegator is rewarded between 2 successive blocks,
// otherwise it will calculate if it received any rewards since the 1st block
IsIncrementalReward bool
// if true checks rewards for "stake" token, otherwise checks rewards from
// other chains (e.g. false is used to check if provider received rewards from a consumer chain)
IsNativeDenom bool
}
type TargetDriver ¶
type TargetDriver interface {
// ChainCommands
ChainCommands
PlatformDriver
}
type TextProposal ¶
type UpgradeProposal ¶
type ValidatorConfig ¶
type ValidatorConfig struct {
// Seed phrase to generate a secp256k1 key used by the validator on the provider
Mnemonic string
// Validator account address on provider marshaled to string using Bech32
// with Bech32Prefix = ProviderAccountPrefix
DelAddress string
// Validator account address on provider marshaled to string using Bech32
// with Bech32Prefix = ConsumerAccountPrefix
DelAddressOnConsumer string
// Validator operator address on provider marshaled to string using Bech32
// with Bech32Prefix = ProviderAccountPrefix
ValoperAddress string
// Validator operator address on provider marshaled to string using Bech32
// with Bech32Prefix = ConsumerAccountPrefix
ValoperAddressOnConsumer string
// Validator consensus address on provider marshaled to string using Bech32
// with Bech32Prefix = ProviderAccountPrefix. It matches the PrivValidatorKey below.
ValconsAddress string
// Validator consensus address on provider marshaled to string using Bech32
// with Bech32Prefix = ConsumerAccountPrefix.
ValconsAddressOnConsumer string
// Key used for consensus on provider
PrivValidatorKey string
NodeKey string
// Must be an integer greater than 0 and less than 253
IpSuffix string
// Seed phrase to generate a secp256k1 key used by the validator on the consumer
ConsumerMnemonic string
// Validator account address on consumer marshaled to string using Bech32
// with Bech32Prefix = ConsumerAccountPrefix
ConsumerDelAddress string
// Validator account address on consumer marshaled to string using Bech32
// with Bech32Prefix = ProviderAccountPrefix
ConsumerDelAddressOnProvider string
// Validator operator address on consumer marshaled to string using Bech32
// with Bech32Prefix = ConsumerAccountPrefix
ConsumerValoperAddress string
// Validator operator address on consumer marshaled to string using Bech32
// with Bech32Prefix = ProviderAccountPrefix
ConsumerValoperAddressOnProvider string
// Validator consensus address on consumer marshaled to string using Bech32
// with Bech32Prefix = ConsumerAccountPrefix. It matches the PrivValidatorKey below.
ConsumerValconsAddress string
// Validator consensus address on consumer marshaled to string using Bech32
// with Bech32Prefix = ProviderAccountPrefix.
ConsumerValconsAddressOnProvider string
ConsumerValPubKey string
// Key used for consensus on consumer
ConsumerPrivValidatorKey string
ConsumerNodeKey string
UseConsumerKey bool // if true the validator node will start with consumer key
}
Attributes that are unique to a validator. Allows us to map (part of) the set of strings defined above to a set of viable validators
type ValidatorID ¶
type ValidatorID string