integration

package
v5.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2024 License: Apache-2.0 Imports: 23 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateValidators

func CreateValidators(n int, chainId string) (
	*tmtypes.ValidatorSet, []types.ValidatorUpdate, map[string]tmtypes.PrivValidator, error,
)

CreateValidators creates a set of validators for testing purposes and returns the validator set, validator updates, and a map of signers by address n is the number of validators to create chainId is the chain id to use for the private keys. it is only important to get different private keys for different chains, so it is fine to not have this chainId match the chainId in the context where the validators will be used, but the same string shouldn't be repeated across different invocations of this in the same scope.

func ToValidatorUpdates

func ToValidatorUpdates(valSet *tmtypes.ValidatorSet) (valUpdates []types.ValidatorUpdate, err error)

Types

type ConsumerApp

type ConsumerApp interface {
	ibctesting.TestingApp

	// BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
	GetConsumerKeeper() consumerkeeper.Keeper
	GetSubspace(moduleName string) paramstypes.Subspace

	// Returns a bank keeper interface with more capabilities than the expected_keepers interface
	GetTestBankKeeper() TestBankKeeper
	// Tests an account keeper interface with more capabilities than the expected_keepers interface
	GetTestAccountKeeper() TestAccountKeeper
	// Tests a slashing keeper interface with more capabilities than the expected_keepers interface
	GetTestSlashingKeeper() TestSlashingKeeper
	// Tests an evidence keeper interface with more capabilities than the expected_keepers interface
	GetTestEvidenceKeeper() evidencekeeper.Keeper
}

The interface that any consumer app must implement to be compatible with integration tests This is a wrapper around the ibc testing app interface with additional constraints.

type DemocConsumerApp

type DemocConsumerApp interface {
	ConsumerApp
	// Returns a distribution keeper interface with more capabilities than the expected_keepers interface
	GetTestDistributionKeeper() TestDistributionKeeper
	// Tests a staking keeper interface with more capabilities than the expected_keepers interface
	GetTestStakingKeeper() TestStakingKeeper
	// Tests a mint keeper interface with more capabilities than the expected_keepers interface
	GetTestMintKeeper() mintkeeper.Keeper

	// @MSalopek -> on v50 we need to access the Params collection which does not have a getter
	GetTestGovKeeper() govkeeper.Keeper
}

type ProviderApp

type ProviderApp interface {
	ibctesting.TestingApp
	GetSubspace(moduleName string) paramstypes.Subspace

	GetProviderKeeper() providerkeeper.Keeper
	// Returns a staking keeper interface with more capabilities than the expected_keepers interface
	GetTestStakingKeeper() TestStakingKeeper
	// Returns a bank keeper interface with more capabilities than the expected_keepers interface
	GetTestBankKeeper() TestBankKeeper
	// Returns a slashing keeper interface with more capabilities than the expected_keepers interface
	GetTestSlashingKeeper() TestSlashingKeeper
	// Returns a distribution keeper interface with more capabilities than the expected_keepers interface
	GetTestDistributionKeeper() TestDistributionKeeper
	// Returns an account keeper interface with more capabilities than the expected_keepers interface
	GetTestAccountKeeper() TestAccountKeeper

	GetTestGovKeeper() *govkeeper.Keeper
}

The interface that any provider app must implement to be compatible with ccv integration tests. This is a wrapper around the ibc testing app interface with additional constraints.

type TestAccountKeeper

type TestAccountKeeper interface {
	ccvtypes.AccountKeeper
	GetParams(context.Context) authtypes.Params
}

type TestBankKeeper

type TestBankKeeper interface {
	ccvtypes.BankKeeper
	SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress,
		recipientModule string, amt sdk.Coins) error
	SendCoinsFromModuleToAccount(ctx context.Context, senderModule string,
		recipientAddr sdk.AccAddress, amt sdk.Coins) error
}

type TestDistributionKeeper

type TestDistributionKeeper interface {
	// NOTE: @MSalopek deprecated in v50
	// GetFeePoolCommunityCoins(ctx sdk.Context) sdk.DecCoins
	GetDistributionAccount(ctx context.Context) sdk.ModuleAccountI
	GetValidatorOutstandingRewards(ctx context.Context, val sdk.ValAddress) (rewards distributiontypes.ValidatorOutstandingRewards, err error)
	GetCommunityTax(ctx context.Context) (math.LegacyDec, error)
	WithdrawValidatorCommission(ctx context.Context, valAddr sdk.ValAddress) (sdk.Coins, error)
}

type TestGovKeeper added in v5.1.0

type TestGovKeeper interface {
	GetParams(ctx sdk.Context) govv1.Params
	SetParams(ctx sdk.Context, params govv1.Params) error
	SubmitProposal(ctx sdk.Context, messages []sdk.Msg, metadata, title, summary string, proposer sdk.AccAddress) (govv1.Proposal, error)
	AddDeposit(ctx sdk.Context, proposalID uint64, depositorAddr sdk.AccAddress, depositAmount sdk.Coins) (bool, error)
	AddVote(ctx sdk.Context, proposalID uint64, voterAddr sdk.AccAddress, options govv1.WeightedVoteOptions, metadata string) error
}

type TestMintKeeper added in v5.1.0

type TestMintKeeper interface {
	GetParams(ctx sdk.Context) (params minttypes.Params)
}

type TestSlashingKeeper

type TestSlashingKeeper interface {
	ccvtypes.SlashingKeeper
	SetValidatorSigningInfo(ctx context.Context, address sdk.ConsAddress, info slashingtypes.ValidatorSigningInfo) error
	SignedBlocksWindow(ctx context.Context) (int64, error)
	HandleValidatorSignature(ctx context.Context, addr cryptotypes.Address, power int64, signed comet.BlockIDFlag) error
	MinSignedPerWindow(ctx context.Context) (int64, error)
	// NOTE: @MSalopek deprecated in v50
	// IterateValidatorMissedBlockBitArray(ctx sdk.Context,
	// address sdk.ConsAddress, handler func(index int64, missed bool) (stop bool))
	IterateMissedBlockBitmap(ctx context.Context, addr sdk.ConsAddress, cb func(index int64, missed bool) (stop bool)) error
}

type TestStakingKeeper

type TestStakingKeeper interface {
	ccvtypes.StakingKeeper
	Delegate(
		ctx context.Context, delAddr sdk.AccAddress, bondAmt math.Int, tokenSrc stakingtypes.BondStatus,
		validator stakingtypes.Validator, subtractAccount bool,
	) (newShares math.LegacyDec, err error)
	Undelegate(ctx context.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, sharesAmount math.LegacyDec,
	) (time.Time, math.Int, error)
	BeginRedelegation(
		ctx context.Context, delAddr sdk.AccAddress, valSrcAddr, valDstAddr sdk.ValAddress, sharesAmount math.LegacyDec,
	) (completionTime time.Time, err error)
	GetUnbondingDelegationByUnbondingID(ctx context.Context, id uint64) (ubd stakingtypes.UnbondingDelegation, err error)
	GetRedelegations(ctx context.Context, delegator sdk.AccAddress, maxRetrieve uint16) (redelegations []stakingtypes.Redelegation, err error)
	GetUnbondingDelegation(ctx context.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) (ubd stakingtypes.UnbondingDelegation, err error)
	GetAllValidators(ctx context.Context) (validators []stakingtypes.Validator, err error)
	GetValidatorSet() stakingtypes.ValidatorSet
	GetParams(ctx context.Context) (stakingtypes.Params, error)
	SetParams(ctx context.Context, p stakingtypes.Params) error
	ApplyAndReturnValidatorSetUpdates(ctx context.Context) (updates []abci.ValidatorUpdate, err error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL