From 5d034df67126c292a88390ede8062f99346e470e Mon Sep 17 00:00:00 2001 From: mpoke Date: Wed, 13 Dec 2023 21:48:43 +0100 Subject: [PATCH 1/5] fixing typos --- TESTING.md | 2 +- app/consumer-democracy/app.go | 4 ++-- app/params/doc.go | 2 +- docs/docs/consumer-development/changeover-procedure.md | 8 ++++---- .../consumer-genesis-transformation.md | 4 ++-- docs/old/quality_assurance.md | 2 +- docs/src/css/custom.css | 2 +- .../interchain_security/ccv/consumer/v1/genesis.proto | 2 +- proto/interchain_security/ccv/consumer/v1/query.proto | 2 +- .../interchain_security/ccv/provider/v1/genesis.proto | 2 +- .../interchain_security/ccv/provider/v1/provider.proto | 2 +- proto/interchain_security/ccv/v1/wire.proto | 2 +- tests/difference/core/docs/METHOD.md | 6 +++--- tests/difference/core/driver/setup.go | 2 +- tests/difference/core/model/src/common.ts | 4 ++-- tests/difference/core/quint_model/README.md | 2 +- tests/difference/core/quint_model/ccv.qnt | 2 +- tests/e2e/main.go | 2 +- tests/e2e/testnet-scripts/reconfigure-node.sh | 2 +- tests/e2e/testnet-scripts/start-chain.sh | 2 +- tests/e2e/testnet-scripts/start-changeover.sh | 2 +- tests/e2e/testnet-scripts/start-sovereign.sh | 2 +- tests/integration/slashing.go | 10 +++++----- tests/integration/stop_consumer.go | 2 +- tests/integration/throttle.go | 2 +- testutil/keeper/expectations.go | 2 +- x/ccv/consumer/keeper/changeover_test.go | 2 +- x/ccv/consumer/keeper/keeper.go | 2 +- x/ccv/consumer/keeper/validators.go | 2 +- x/ccv/provider/keeper/key_assignment.go | 2 +- x/ccv/types/expected_keepers.go | 2 +- 31 files changed, 43 insertions(+), 43 deletions(-) diff --git a/TESTING.md b/TESTING.md index bb05ff9f1c..af15f76617 100644 --- a/TESTING.md +++ b/TESTING.md @@ -94,7 +94,7 @@ NOTE: versions < v9.0.0 are not compatible with ICS. ## Linters and Static Analysis -Several analyzers are used on the code including [CodeQL](https://codeql.github.com/), [SonarCloud](https://sonarcloud.io/), [golangci-lint](https://golangci-lint.run/) and [gosec](https://github.com/securego/gosec). Some of these are run on github when committing to PRs ect, but some tools are also applicable locally, and are built into golang. +Several analyzers are used on the code including [CodeQL](https://codeql.github.com/), [SonarCloud](https://sonarcloud.io/), [golangci-lint](https://golangci-lint.run/) and [gosec](https://github.com/securego/gosec). Some of these are run on github when committing to PRs etc, but some tools are also applicable locally, and are built into golang. ```bash # gofmt to format and simplify code (https://pkg.go.dev/cmd/gofmt) diff --git a/app/consumer-democracy/app.go b/app/consumer-democracy/app.go index 7d5646f1dc..6b0979c83b 100644 --- a/app/consumer-democracy/app.go +++ b/app/consumer-democracy/app.go @@ -986,10 +986,10 @@ func GetMaccPerms() map[string][]string { func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, tkey storetypes.StoreKey) paramskeeper.Keeper { paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, key, tkey) - paramsKeeper.Subspace(authtypes.ModuleName).WithKeyTable(authtypes.ParamKeyTable()) //nolint:staticcheck // TODO: remove this temorary solution + paramsKeeper.Subspace(authtypes.ModuleName).WithKeyTable(authtypes.ParamKeyTable()) //nolint:staticcheck // TODO: remove this temporary solution paramsKeeper.Subspace(banktypes.ModuleName) paramsKeeper.Subspace(stakingtypes.ModuleName) - paramsKeeper.Subspace(minttypes.ModuleName).WithKeyTable(minttypes.ParamKeyTable()) //nolint:staticcheck // TODO: remove this temorary solution + paramsKeeper.Subspace(minttypes.ModuleName).WithKeyTable(minttypes.ParamKeyTable()) //nolint:staticcheck // TODO: remove this temporary solution paramsKeeper.Subspace(distrtypes.ModuleName) paramsKeeper.Subspace(slashingtypes.ModuleName) paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(gov.ProvideKeyTable()) diff --git a/app/params/doc.go b/app/params/doc.go index 7c6035cadc..e9ba900f13 100644 --- a/app/params/doc.go +++ b/app/params/doc.go @@ -5,7 +5,7 @@ It contains the default weights used for each transaction used on the module's simulation. These weights define the chance for a transaction to be simulated at any gived operation. -You can repace the default values for the weights by providing a params.json +You can replace the default values for the weights by providing a params.json file with the weights defined for each of the transaction operations: { diff --git a/docs/docs/consumer-development/changeover-procedure.md b/docs/docs/consumer-development/changeover-procedure.md index 0d8b6ec5ca..cdc5b05b92 100644 --- a/docs/docs/consumer-development/changeover-procedure.md +++ b/docs/docs/consumer-development/changeover-procedure.md @@ -56,7 +56,7 @@ RevisionNumber: 0, RevisionHeight: 111 * `distribution_transmission_channel` **should be set**. :::note -Populating `distribution_transmission_channel` will enable the standalone chain to re-use one of the existing channels to the provider for consumer chain rewards distribution. This will preserve the `ibc denom` that may already be in use. +Populating `distribution_transmission_channel` will enable the standalone chain to reuse one of the existing channels to the provider for consumer chain rewards distribution. This will preserve the `ibc denom` that may already be in use. If the parameter is not set, a new channel will be created. ::: @@ -84,7 +84,7 @@ Otherwise, the upgrade is indistinguishable from a regular on-chain upgrade prop ### 3. spawn time is reached -When the `spawn_time` is reached on the `provider` it will generate a `ConsumerGenesis` that contains the validator set that will supercede the `standalone` validator set. +When the `spawn_time` is reached on the `provider` it will generate a `ConsumerGenesis` that contains the validator set that will supersede the `standalone` validator set. This `ConsumerGenesis` must be available on the standalone chain during the on-chain upgrade. @@ -93,7 +93,7 @@ This `ConsumerGenesis` must be available on the standalone chain during the on-c Performing the on-chain upgrade on the standalone chain will add the `ccv/consumer` module and allow the chain to become a `consumer` of replicated security. :::caution -The `ConsumerGenesis` must be exported to a file and placed in the correct folder on the standalone chain before the upgade. +The `ConsumerGenesis` must be exported to a file and placed in the correct folder on the standalone chain before the upgrade. The file must be placed at the exact specified location, otherwise the upgrade will not be executed correctly. @@ -211,7 +211,7 @@ Example of a consumer chain addition proposal. // channel is created on top of the same connection as the CCV channel. // Note that transfer_channel_id is the ID of the channel end on the consumer chain. // it is most relevant for chains performing a standalone to consumer changeover - // in order to maintan the existing ibc transfer channel + // in order to maintain the existing ibc transfer channel "distribution_transmission_channel": "channel-123" // NOTE: use existing transfer channel if available } ``` diff --git a/docs/docs/consumer-development/consumer-genesis-transformation.md b/docs/docs/consumer-development/consumer-genesis-transformation.md index 8ccad34f16..2d0ac51e69 100644 --- a/docs/docs/consumer-development/consumer-genesis-transformation.md +++ b/docs/docs/consumer-development/consumer-genesis-transformation.md @@ -5,7 +5,7 @@ sidebar_position: 6 # Consumer Genesis Transformation Preparing a consumer chain for onboarding requires some information explaining how to run your chain. This includes a genesis file with CCV data where the CCV data is exported from the provider chain and added to the consumers genesis file (for more details check the documentation on [Onboarding](./onboarding.md) and [Changeover](./changeover-procedure.md)). -In case that the provider chain is running an older version of the InterChainSecurity (ICS) module than the consumer chain the exported CCV data might need to be transformed to the format supported by the ICS implementation run on the consumer chain. This is the case if the cosumer chain runs version 4 of ICS or later and the provider is running version 3 or older of the ICS module. +In case that the provider chain is running an older version of the InterChainSecurity (ICS) module than the consumer chain the exported CCV data might need to be transformed to the format supported by the ICS implementation run on the consumer chain. This is the case if the consumer chain runs version 4 of ICS or later and the provider is running version 3 or older of the ICS module. To transform such CCV data follow the instructions below @@ -15,7 +15,7 @@ To transform such CCV data follow the instructions below - interchain-security-cd application complies to the version run on the consumer chain ## 2. Export the CCV data -Export the CCV data from the provider chain as descibed in the [Onboarding](./onboarding.md) and [Changeover](./changeover-procedure.md)) your following. +Export the CCV data from the provider chain as described in the [Onboarding](./onboarding.md) and [Changeover](./changeover-procedure.md)) your following. As a result the CCV data will be stored in a file in JSON format. ## 3. Transform CCV data diff --git a/docs/old/quality_assurance.md b/docs/old/quality_assurance.md index 327e5acb7e..f1cad6c67a 100644 --- a/docs/old/quality_assurance.md +++ b/docs/old/quality_assurance.md @@ -86,7 +86,7 @@ The main concern addressed in this section is the correctness of the provider ch | 4.07 | A validator cannot get slashed multiple times for downtime on the same consumer chain without requesting to `Unjail` itself on the provider chain in between | `Scheduled` | `NA` | `Partial coverage`
[TestSendSlashPacket](../../tests/integration/slashing.go) | `Partial coverage` | `Scheduled` | `NA` | | 4.08 | A validator can be slashed multiple times for downtime on different chains | `Scheduled` | `NA` | `Future work` | `NA` | `Scheduled` | `NA` | | 4.09 | The provider chain can easily be restarted with IS enabled
- `ExportGenesis` & `InitGenesis`
- requires https://github.com/informalsystems/hermes/issues/1152| `Scheduled` | `Done`
[TestInitAndExportGenesis](../../x/ccv/provider/keeper/genesis_test.go#L20) | `Future work` | `Future work` | `Scheduled` | `NA` | -| 4.10 | The provider chain can graciously handle a CCV packet timing out (without shuting down)
- expected outcome: consumer chain shuts down and its state in provider CCV module is removed | `Scheduled` | `Scheduled` | `NA` | `Future work` | `Scheduled` | `NA` | +| 4.10 | The provider chain can graciously handle a CCV packet timing out (without shutting down)
- expected outcome: consumer chain shuts down and its state in provider CCV module is removed | `Scheduled` | `Scheduled` | `NA` | `Future work` | `Scheduled` | `NA` | | 4.11 | The provider chain can graciously handle a `ConsumerRemovalProposal`
- expected outcome: consumer chain shuts down and its state in provider CCV module is removed | `Scheduled` | `Done`
[TestHandleConsumerRemovalProposal](../../x/ccv/provider/keeper/proposal_test.go#L313) | `NA` | `Future work` | `Scheduled` | `NA` | | 4.12 | The provider chain can graciously handle a `ConsumerAdditionProposal`
- expected outcome: a consumer chain is registered and a client is created | `Scheduled` |`Done`
[TestHandleConsumerAdditionProposal](../../x/ccv/provider/keeper/proposal_test.go#L31) | `NA` | `Future work` | `Scheduled` | `NA` | diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 1ae22d5ec1..365f863e04 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -1,5 +1,5 @@ /* - Slighlty modified version of https://github.com/ignite/cli/blob/develop/docs/src/css/custom.css + Slightly modified version of https://github.com/ignite/cli/blob/develop/docs/src/css/custom.css */ @import "tailwindcss/base"; diff --git a/proto/interchain_security/ccv/consumer/v1/genesis.proto b/proto/interchain_security/ccv/consumer/v1/genesis.proto index bb33f34501..a9c33b196b 100644 --- a/proto/interchain_security/ccv/consumer/v1/genesis.proto +++ b/proto/interchain_security/ccv/consumer/v1/genesis.proto @@ -70,7 +70,7 @@ message OutstandingDowntime { string validator_consensus_address = 1; } // LastTransmissionBlockHeight is the last time validator holding // pools were transmitted to the provider chain. This type is used internally -// to the consumer CCV modul. +// to the consumer CCV module. message LastTransmissionBlockHeight { int64 height = 1; } // MaturingVSCPacket represents a vsc packet that is maturing internal to the diff --git a/proto/interchain_security/ccv/consumer/v1/query.proto b/proto/interchain_security/ccv/consumer/v1/query.proto index 3c56aed7ea..9e713c045c 100644 --- a/proto/interchain_security/ccv/consumer/v1/query.proto +++ b/proto/interchain_security/ccv/consumer/v1/query.proto @@ -44,7 +44,7 @@ message NextFeeDistributionEstimate { string distribution_fraction = 4; // total accruead fees at the time of querying string total = 5; - // amount distibuted to provider chain + // amount distributed to provider chain string toProvider = 6; // amount distributed (kept) by consumer chain string toConsumer = 7; diff --git a/proto/interchain_security/ccv/provider/v1/genesis.proto b/proto/interchain_security/ccv/provider/v1/genesis.proto index 2899c4e1f2..5209f154f1 100644 --- a/proto/interchain_security/ccv/provider/v1/genesis.proto +++ b/proto/interchain_security/ccv/provider/v1/genesis.proto @@ -77,7 +77,7 @@ message ConsumerState { } // ValsetUpdateIdToHeight defines the genesis information for the mapping -// of each valset udpate id to a block height +// of each valset update id to a block height message ValsetUpdateIdToHeight { uint64 valset_update_id = 1; uint64 height = 2; diff --git a/proto/interchain_security/ccv/provider/v1/provider.proto b/proto/interchain_security/ccv/provider/v1/provider.proto index f871a90e25..70d466e15e 100644 --- a/proto/interchain_security/ccv/provider/v1/provider.proto +++ b/proto/interchain_security/ccv/provider/v1/provider.proto @@ -81,7 +81,7 @@ message ConsumerAdditionProposal { // channel is created on top of the same connection as the CCV channel. // Note that transfer_channel_id is the ID of the channel end on the consumer // chain. it is most relevant for chains performing a sovereign to consumer - // changeover in order to maintan the existing ibc transfer channel + // changeover in order to maintain the existing ibc transfer channel string distribution_transmission_channel = 14; } diff --git a/proto/interchain_security/ccv/v1/wire.proto b/proto/interchain_security/ccv/v1/wire.proto index 57dcbc8847..ab133ce5b1 100644 --- a/proto/interchain_security/ccv/v1/wire.proto +++ b/proto/interchain_security/ccv/v1/wire.proto @@ -107,7 +107,7 @@ message SlashPacketDataV1 { InfractionType infraction = 3; } -// InfractionType indicates the infraction type a validator commited. +// InfractionType indicates the infraction type a validator committed. // Note ccv.InfractionType to maintain compatibility between ICS versions // using different versions of the cosmos-sdk and ibc-go modules. enum InfractionType { diff --git a/tests/difference/core/docs/METHOD.md b/tests/difference/core/docs/METHOD.md index 2e2efa613c..da14a42f9a 100644 --- a/tests/difference/core/docs/METHOD.md +++ b/tests/difference/core/docs/METHOD.md @@ -45,7 +45,7 @@ We have three major components, a model and driver, and the SUT. The creation of 2. Figure out which API calls influence that state. 3. Create the simplest possible implementation of those API calls that results in the correct state. This is the raw model. 4. Randomly make API calls against your model. You might need some heuristics or bespoke logic to make sure these random calls result in good coverage (see [Limitations](#limitations)). -5. Record the random API calls made ('actions') and obervations of the state made at regular intervals. Together this data forms a trace. Repeated many times from the zero state you obtain *traces*. +5. Record the random API calls made ('actions') and observations of the state made at regular intervals. Together this data forms a trace. Repeated many times from the zero state you obtain *traces*. 6. Create a 'driver': some code that wraps the API of the SUT and can interpret traces and 'test' those traces against the SUT. For each tested trace, setup the SUT to a suitable zero state, and make each API call as in the trace. For each state observation in the trace, check that the SUT state corresponds. ## Benefits @@ -99,7 +99,7 @@ The model could be the spec, if you want it to be. All the dependencies should b ### Creating many implementations from a single model -The same model can be used to create drivers for, and test, many different implementations of the system in any language, environment ect +The same model can be used to create drivers for, and test, many different implementations of the system in any language, environment etc ## Comparison to Model Based Testing @@ -109,7 +109,7 @@ Informal Systems uses the term model based testing to refer to, essentially diff Example languages: [TLA+](https://en.wikipedia.org/wiki/TLA%2B), [Quint](https://github.com/informalsystems/quint). Example semantic: [Temporal Logic of Actions](https://en.wikipedia.org/wiki/Temporal_logic_of_actions). Example techniques: [SAT Solving](https://en.wikipedia.org/wiki/SAT_solver), [Symbolic Model Checking](https://blog.acolyer.org/2019/11/29/tla-model-checking-made-symbolic/), [State Enumerating Model Checking](https://en.wikipedia.org/wiki/State_space_enumeration). Example tools: [TLC](https://github.com/tlaplus/tlaplus), [Apalache](https://apalache.informal.systems/). - The model is explored not by randomness and heuristics but by using a [*model checker*](https://en.wikipedia.org/wiki/Model_checking). Model checkers pull on a massive field of research and they're about applying efficient techniques for exploring program behaviors. While modern model checkers are highly optimized and capable, they are not silver bullets, as they all suffer from the [State Space Explosion Problem](https://en.wikipedia.org/wiki/Combinatorial_explosion). See [this wiki page](https://en.wikipedia.org/wiki/Model_checking#Techniques) for more info. -Why not use model checking? They require expert knowledge which is hard to onboard, the State Space Explosion Problem can be very real in practice, and the tooling e.g TLA+ is generally not industrial strength in terms of maintainability ect. +Why not use model checking? They require expert knowledge which is hard to onboard, the State Space Explosion Problem can be very real in practice, and the tooling e.g TLA+ is generally not industrial strength in terms of maintainability etc. Note that the Apalache team at Informal is working hard to make MBT a powerful practical tool. They have made leaps and bounds in the last year since diff testing began in April 2022. In particular they have created a new programming language called Quint which should be an industrial strength formal specification language. They have also added powerful exploration capabilities (see [::simulate](https://apalache.informal.systems/docs/apalache/running.html?highlight=simulate#running-the-tool)) which combines random exploration with optimized model checker based exploration. diff --git a/tests/difference/core/driver/setup.go b/tests/difference/core/driver/setup.go index cf9d5e470d..7114a3b26a 100644 --- a/tests/difference/core/driver/setup.go +++ b/tests/difference/core/driver/setup.go @@ -617,7 +617,7 @@ func GetZeroState( simibc.BeginBlock(b.consumer(), initState.BlockInterval) // Update clients to the latest header. Now everything is ready to go! - // Ignore errors for brevity. Everything is checked in Assuptions test. + // Ignore errors for brevity. Everything is checked in Assumptions test. _ = simibc.UpdateReceiverClient(b.consumerEndpoint(), b.providerEndpoint(), lastConsumerHeader) _ = simibc.UpdateReceiverClient(b.providerEndpoint(), b.consumerEndpoint(), lastProviderHeader) diff --git a/tests/difference/core/model/src/common.ts b/tests/difference/core/model/src/common.ts index c71c99473b..1ff002e6fc 100644 --- a/tests/difference/core/model/src/common.ts +++ b/tests/difference/core/model/src/common.ts @@ -9,7 +9,7 @@ enum Status { } /** - * All the data needed to represent an undelegation occuring + * All the data needed to represent an undelegation occurring * in the sdk staking module. */ interface Undelegation { @@ -25,7 +25,7 @@ interface Undelegation { /** * All the data needed to represent an unbonding validator - * occuring in the sdk staking module. + * occurring in the sdk staking module. */ interface Unval { val: Validator; diff --git a/tests/difference/core/quint_model/README.md b/tests/difference/core/quint_model/README.md index 0cef3bc632..a2c7d8a131 100644 --- a/tests/difference/core/quint_model/README.md +++ b/tests/difference/core/quint_model/README.md @@ -38,7 +38,7 @@ or all invariants one after another with the help of the script `run_invariants. Each invariant takes about a minute to run. Invariants are as follows: -- [X] ValidatorUpdatesArePropagatedInv: When a validator power update is comitted on chain, a packet containing that change in voting power is sent to all running consumers. +- [X] ValidatorUpdatesArePropagatedInv: When a validator power update is committed on chain, a packet containing that change in voting power is sent to all running consumers. - [X] ValidatorSetHasExistedInv: Every validator set on consumer chains is/was a validator set on the provider. - [X] SameVscPacketsInv: Ensure that consumer chains receive the same VscPackets in the same order. Because of nuances with starting/stopping consumers, this invariant is not as simple as it sounds. In detail: diff --git a/tests/difference/core/quint_model/ccv.qnt b/tests/difference/core/quint_model/ccv.qnt index 0e07b4476c..e084f98aff 100644 --- a/tests/difference/core/quint_model/ccv.qnt +++ b/tests/difference/core/quint_model/ccv.qnt @@ -42,7 +42,7 @@ module ccv_types { // e.g. there may be more modifications in the current block. currentValidatorSet: ValidatorSet, - // the latest timestamp that was comitted on chain + // the latest timestamp that was committed on chain lastTimestamp: Time, } diff --git a/tests/e2e/main.go b/tests/e2e/main.go index 21864ed650..13e3fae1e7 100644 --- a/tests/e2e/main.go +++ b/tests/e2e/main.go @@ -52,7 +52,7 @@ var ( selectedTests TestSet // map the test config names to their structs to allow for easy selection of test configs, - // and also to programatically set parameters, i.e. see DemocracyTestConfig + // and also to programmatically set parameters, i.e. see DemocracyTestConfig testConfigs = map[string]TestConfig{ "default": DefaultTestConfig(), "changeover": ChangeoverTestConfig(), diff --git a/tests/e2e/testnet-scripts/reconfigure-node.sh b/tests/e2e/testnet-scripts/reconfigure-node.sh index 6203202b8a..479176c787 100755 --- a/tests/e2e/testnet-scripts/reconfigure-node.sh +++ b/tests/e2e/testnet-scripts/reconfigure-node.sh @@ -1,6 +1,6 @@ #!/bin/bash -## Key assignment of a previosuly active validator is done as follows: +## Key assignment of a previously active validator is done as follows: # - stop node # - replace config/node_key.json # - replace config/priv_validator_key.json with keys to use on consumer chain diff --git a/tests/e2e/testnet-scripts/start-chain.sh b/tests/e2e/testnet-scripts/start-chain.sh index e3e6b6054f..50ac05f75b 100644 --- a/tests/e2e/testnet-scripts/start-chain.sh +++ b/tests/e2e/testnet-scripts/start-chain.sh @@ -96,7 +96,7 @@ BRIDGE_IP="$CHAIN_IP_PREFIX.254/24" ip addr add $BRIDGE_IP dev virtual-bridge # first we start a genesis.json with the first validator -# the first validator will also collect the gentx's once gnerated +# the first validator will also collect the gentx's once generated FIRST_VAL_ID=$(echo "$VALIDATORS" | jq -r ".[0].val_id") FIRST_VAL_IP_SUFFIX=$(echo "$VALIDATORS" | jq -r ".[0].ip_suffix") echo "$VALIDATORS" | jq -r ".[0].mnemonic" | $BIN init --home /$CHAIN_ID/validator$FIRST_VAL_ID --chain-id=$CHAIN_ID validator$FIRST_VAL_ID --recover > /dev/null diff --git a/tests/e2e/testnet-scripts/start-changeover.sh b/tests/e2e/testnet-scripts/start-changeover.sh index d28479a8e7..c8a8e698ae 100644 --- a/tests/e2e/testnet-scripts/start-changeover.sh +++ b/tests/e2e/testnet-scripts/start-changeover.sh @@ -40,7 +40,7 @@ pkill -f "^"interchain-security-sd &> /dev/null || true mkdir -p /root/.sovereign/config -# apply genesis changes to existing genesis -> this creates the changeover genesis file wih intial validator set +# apply genesis changes to existing genesis -> this creates the changeover genesis file with initial validator set jq "$GENESIS_TRANSFORM" /sover/validatoralice/config/genesis.json > /root/.sovereign/config/genesis.json diff --git a/tests/e2e/testnet-scripts/start-sovereign.sh b/tests/e2e/testnet-scripts/start-sovereign.sh index 9daed9a207..443b8ab6b0 100644 --- a/tests/e2e/testnet-scripts/start-sovereign.sh +++ b/tests/e2e/testnet-scripts/start-sovereign.sh @@ -67,7 +67,7 @@ BRIDGE_IP="$CHAIN_IP_PREFIX.254/24" ip addr add $BRIDGE_IP dev virtual-bridge # first we start a genesis.json with the first validator -# the first validator will also collect the gentx's once gnerated +# the first validator will also collect the gentx's once generated echo "$VALIDATORS" | jq -r ".[0].mnemonic" | $BIN init --home /$CHAIN_ID/validator$VAL_ID --chain-id=$CHAIN_ID validator$VAL_ID --recover > /dev/null # !!!!!!!!! IMPORTANT !!!!!!!!! # diff --git a/tests/integration/slashing.go b/tests/integration/slashing.go index 6e0269e268..a25e9f2540 100644 --- a/tests/integration/slashing.go +++ b/tests/integration/slashing.go @@ -60,7 +60,7 @@ func (s *CCVTestSuite) TestRelayAndApplyDowntimePacket() { s.Require().True(found) valOldBalance := stakingVal.Tokens - // Setup first val with mapped consensus addresss to be jailed on provider by setting signing info + // Setup first val with mapped consensus address to be jailed on provider by setting signing info // convert validator to TM type pk, err := stakingVal.ConsPubKey() s.Require().NoError(err) @@ -193,7 +193,7 @@ func (s *CCVTestSuite) TestRelayAndApplyDoubleSignPacket() { s.Require().True(found) valOldBalance := stakingVal.Tokens - // Setup first val with mapped consensus addresss to be jailed on provider by setting signing info + // Setup first val with mapped consensus address to be jailed on provider by setting signing info // convert validator to TM type pk, err := stakingVal.ConsPubKey() s.Require().NoError(err) @@ -475,7 +475,7 @@ func (suite *CCVTestSuite) TestValidatorDowntime() { res, _ := consumerSlashingKeeper.GetValidatorSigningInfo(ctx, consAddr) // expect increased jail time suite.Require().True(res.JailedUntil.Equal(ctx.BlockTime().Add(consumerSlashingKeeper.DowntimeJailDuration(ctx))), "did not update validator jailed until signing info") - // expect missed block counters reseted + // expect missed block counters reset suite.Require().Zero(res.MissedBlocksCounter, "did not reset validator missed block counter") suite.Require().Zero(res.IndexOffset) consumerSlashingKeeper.IterateValidatorMissedBlockBitArray(ctx, consAddr, func(_ int64, missed bool) bool { @@ -538,7 +538,7 @@ func (suite *CCVTestSuite) TestValidatorDoubleSigning() { channelID := suite.path.EndpointA.ChannelID // create a validator pubkey and address - // note that the validator wont't necessarily be in valset to due the TM delay + // note that the validator won't necessarily be in valset to due the TM delay pubkey := ed25519.GenPrivKey().PubKey() consAddr := sdk.ConsAddress(pubkey.Address()) @@ -564,7 +564,7 @@ func (suite *CCVTestSuite) TestValidatorDoubleSigning() { seq, ok := suite.consumerApp.GetIBCKeeper().ChannelKeeper.GetNextSequenceSend(ctx, ccv.ConsumerPortID, channelID) suite.Require().True(ok) - // construct slash packet data and get the expcted commit hash + // construct slash packet data and get the expected commit hash packetData := ccv.NewSlashPacketData( abci.Validator{Address: consAddr.Bytes(), Power: power}, // get VSC ID mapping to the infraction height with the TM delay subtracted diff --git a/tests/integration/stop_consumer.go b/tests/integration/stop_consumer.go index 452b28e3b1..c0468ede01 100644 --- a/tests/integration/stop_consumer.go +++ b/tests/integration/stop_consumer.go @@ -39,7 +39,7 @@ func (s *CCVTestSuite) TestStopConsumerChain() { // populate the provider chain states to setup the test using the following operations: // - setup CCV channel; establish CCV channel and set channelToChain, chainToChannel and initHeight mapping for the consumer chain ID - // - delegate the total bond amount to the chosed validator + // - delegate the total bond amount to the chose validator // - undelegate the shares in four consecutive blocks evenly; create UnbondigOp and UnbondingOpIndex entries for the consumer chain ID // - set SlashAck state for the consumer chain ID setupOperations := []struct { diff --git a/tests/integration/throttle.go b/tests/integration/throttle.go index eca27a71bc..5ff538dbc4 100644 --- a/tests/integration/throttle.go +++ b/tests/integration/throttle.go @@ -268,7 +268,7 @@ func (s *CCVTestSuite) TestMultiConsumerSlashPacketThrottling() { s.providerChain.NextBlock() s.providerChain.NextBlock() - // If one of the entires was handled, total power will be 2000 (1000 power was just slashed) + // If one of the entries was handled, total power will be 2000 (1000 power was just slashed) s.Require().Equal(int64(2000), providerStakingKeeper.GetLastTotalPower(s.providerCtx()).Int64()) diff --git a/testutil/keeper/expectations.go b/testutil/keeper/expectations.go index 9494b66936..b3c506339b 100644 --- a/testutil/keeper/expectations.go +++ b/testutil/keeper/expectations.go @@ -36,7 +36,7 @@ func GetMocksForCreateConsumerClient(ctx sdk.Context, mocks *MockedKeepers, createClientExp := mocks.MockClientKeeper.EXPECT().CreateClient( gomock.Any(), // Allows us to expect a match by field. These are the only two client state values - // that are dependant on parameters passed to CreateConsumerClient. + // that are dependent on parameters passed to CreateConsumerClient. extra.StructMatcher().Field( "ChainId", expectedChainID).Field( "LatestHeight", expectedLatestHeight, diff --git a/x/ccv/consumer/keeper/changeover_test.go b/x/ccv/consumer/keeper/changeover_test.go index fcd9a70459..968606213a 100644 --- a/x/ccv/consumer/keeper/changeover_test.go +++ b/x/ccv/consumer/keeper/changeover_test.go @@ -153,7 +153,7 @@ func TestChangeoverToConsumer(t *testing.T) { tmProtoPubKey, err := sdkcryptocodec.ToTmProtoPublicKey(ccvValPubKey) require.NoError(t, err) if returnedValUpdate.PubKey.Equal(tmProtoPubKey) { - // If val was already matched to a val update for new set, it's power wont be 0 + // If val was already matched to a val update for new set, it's power won't be 0 if found { continue } diff --git a/x/ccv/consumer/keeper/keeper.go b/x/ccv/consumer/keeper/keeper.go index 27076ac938..bb9ab34652 100644 --- a/x/ccv/consumer/keeper/keeper.go +++ b/x/ccv/consumer/keeper/keeper.go @@ -504,7 +504,7 @@ func (k Keeper) SetOutstandingDowntime(ctx sdk.Context, address sdk.ConsAddress) func (k Keeper) DeleteOutstandingDowntime(ctx sdk.Context, consAddress string) { consAddr, err := sdk.ConsAddressFromBech32(consAddress) if err != nil { - return // TODO: this should panic with appropriate tests to validate the panic wont happen in normal cases. + return // TODO: this should panic with appropriate tests to validate the panic won't happen in normal cases. } store := ctx.KVStore(k.storeKey) store.Delete(types.OutstandingDowntimeKey(consAddr)) diff --git a/x/ccv/consumer/keeper/validators.go b/x/ccv/consumer/keeper/validators.go index c3c9638b4d..b1f163908b 100644 --- a/x/ccv/consumer/keeper/validators.go +++ b/x/ccv/consumer/keeper/validators.go @@ -82,7 +82,7 @@ func (k Keeper) Validator(ctx sdk.Context, addr sdk.ValAddress) stakingtypes.Val panic("unimplemented on CCV keeper") } -// IsJailed returns the outstanding slashing flag for the given validator adddress +// IsJailed returns the outstanding slashing flag for the given validator address func (k Keeper) IsValidatorJailed(ctx sdk.Context, addr sdk.ConsAddress) bool { // if the changeover is not complete for prev standalone chain, // return the standalone staking keeper's jailed status diff --git a/x/ccv/provider/keeper/key_assignment.go b/x/ccv/provider/keeper/key_assignment.go index 46447790df..50d96a78d6 100644 --- a/x/ccv/provider/keeper/key_assignment.go +++ b/x/ccv/provider/keeper/key_assignment.go @@ -540,7 +540,7 @@ func (k Keeper) MustApplyKeyAssignmentToValUpdates( // If a key assignment replacement is not found, we check if the validator's key is assigned. // If it is, we replace the update containing the provider key with an update containing // the consumer key. - // Note that this will always be the brach taken when creating the genesis state + // Note that this will always be the branch taken when creating the genesis state // of a newly registered consumer chain. consumerKey, found := k.GetValidatorConsumerPubKey(ctx, chainID, providerAddr) if found { diff --git a/x/ccv/types/expected_keepers.go b/x/ccv/types/expected_keepers.go index 10546dff21..83b50bd173 100644 --- a/x/ccv/types/expected_keepers.go +++ b/x/ccv/types/expected_keepers.go @@ -133,7 +133,7 @@ type IBCTransferKeeper interface { Transfer(context.Context, *transfertypes.MsgTransfer) (*transfertypes.MsgTransferResponse, error) } -// IBCKeeper defines the expected interface needed for openning a +// IBCKeeper defines the expected interface needed for opening a // channel type IBCCoreKeeper interface { ChannelOpenInit( From bbb81585fb00a7efc09930a646357cd2608dc82b Mon Sep 17 00:00:00 2001 From: mpoke Date: Wed, 13 Dec 2023 21:49:33 +0100 Subject: [PATCH 2/5] run make proto-gen --- x/ccv/consumer/types/genesis.pb.go | 2 +- x/ccv/consumer/types/query.pb.go | 2 +- x/ccv/provider/types/genesis.pb.go | 2 +- x/ccv/provider/types/provider.pb.go | 2 +- x/ccv/types/wire.pb.go | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/x/ccv/consumer/types/genesis.pb.go b/x/ccv/consumer/types/genesis.pb.go index 66f3544a6c..0c9ec87b2a 100644 --- a/x/ccv/consumer/types/genesis.pb.go +++ b/x/ccv/consumer/types/genesis.pb.go @@ -301,7 +301,7 @@ func (m *OutstandingDowntime) GetValidatorConsensusAddress() string { // LastTransmissionBlockHeight is the last time validator holding // pools were transmitted to the provider chain. This type is used internally -// to the consumer CCV modul. +// to the consumer CCV module. type LastTransmissionBlockHeight struct { Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` } diff --git a/x/ccv/consumer/types/query.pb.go b/x/ccv/consumer/types/query.pb.go index e1dd01af4b..33be826aec 100644 --- a/x/ccv/consumer/types/query.pb.go +++ b/x/ccv/consumer/types/query.pb.go @@ -42,7 +42,7 @@ type NextFeeDistributionEstimate struct { DistributionFraction string `protobuf:"bytes,4,opt,name=distribution_fraction,json=distributionFraction,proto3" json:"distribution_fraction,omitempty"` // total accruead fees at the time of querying Total string `protobuf:"bytes,5,opt,name=total,proto3" json:"total,omitempty"` - // amount distibuted to provider chain + // amount distributed to provider chain ToProvider string `protobuf:"bytes,6,opt,name=toProvider,proto3" json:"toProvider,omitempty"` // amount distributed (kept) by consumer chain ToConsumer string `protobuf:"bytes,7,opt,name=toConsumer,proto3" json:"toConsumer,omitempty"` diff --git a/x/ccv/provider/types/genesis.pb.go b/x/ccv/provider/types/genesis.pb.go index a7e06b7b09..dd4285e0e1 100644 --- a/x/ccv/provider/types/genesis.pb.go +++ b/x/ccv/provider/types/genesis.pb.go @@ -288,7 +288,7 @@ func (m *ConsumerState) GetUnbondingOpsIndex() []VscUnbondingOps { } // ValsetUpdateIdToHeight defines the genesis information for the mapping -// of each valset udpate id to a block height +// of each valset update id to a block height type ValsetUpdateIdToHeight struct { ValsetUpdateId uint64 `protobuf:"varint,1,opt,name=valset_update_id,json=valsetUpdateId,proto3" json:"valset_update_id,omitempty"` Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` diff --git a/x/ccv/provider/types/provider.pb.go b/x/ccv/provider/types/provider.pb.go index e251053ef9..46f5103fb8 100644 --- a/x/ccv/provider/types/provider.pb.go +++ b/x/ccv/provider/types/provider.pb.go @@ -88,7 +88,7 @@ type ConsumerAdditionProposal struct { // channel is created on top of the same connection as the CCV channel. // Note that transfer_channel_id is the ID of the channel end on the consumer // chain. it is most relevant for chains performing a sovereign to consumer - // changeover in order to maintan the existing ibc transfer channel + // changeover in order to maintain the existing ibc transfer channel DistributionTransmissionChannel string `protobuf:"bytes,14,opt,name=distribution_transmission_channel,json=distributionTransmissionChannel,proto3" json:"distribution_transmission_channel,omitempty"` } diff --git a/x/ccv/types/wire.pb.go b/x/ccv/types/wire.pb.go index 82768cf805..b494464c49 100644 --- a/x/ccv/types/wire.pb.go +++ b/x/ccv/types/wire.pb.go @@ -57,7 +57,7 @@ func (ConsumerPacketDataType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_8fd0dc67df6b10ed, []int{0} } -// InfractionType indicates the infraction type a validator commited. +// InfractionType indicates the infraction type a validator committed. // Note ccv.InfractionType to maintain compatibility between ICS versions // using different versions of the cosmos-sdk and ibc-go modules. type InfractionType int32 From b05f688d5cd84704663490530b326a8eaca3b52b Mon Sep 17 00:00:00 2001 From: mpoke Date: Wed, 13 Dec 2023 21:51:00 +0100 Subject: [PATCH 3/5] more typos --- .changelog/epilogue.md | 2 +- CHANGELOG.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.changelog/epilogue.md b/.changelog/epilogue.md index 861dc712e3..20d175a08a 100644 --- a/.changelog/epilogue.md +++ b/.changelog/epilogue.md @@ -81,7 +81,7 @@ Some PRs from v2.0.0 may reappear from other releases below. This is due to the * (feat!) Add DistributionTransmissionChannel to ConsumerAdditionProposal [#965](https://github.com/cosmos/interchain-security/pull/965) * (feat/fix) limit vsc matured packets handled per endblocker [#1004](https://github.com/cosmos/interchain-security/pull/1004) -* (fix) cosumer key prefix order to avoid complex migrations [#963](https://github.com/cosmos/interchain-security/pull/963) and [#991](https://github.com/cosmos/interchain-security/pull/991). The latter PR is the proper fix. +* (fix) consumer key prefix order to avoid complex migrations [#963](https://github.com/cosmos/interchain-security/pull/963) and [#991](https://github.com/cosmos/interchain-security/pull/991). The latter PR is the proper fix. * (feat) v1->v2 migrations to accommodate a bugfix having to do with store keys, introduce new params, and deal with consumer genesis state schema changes [#975](https://github.com/cosmos/interchain-security/pull/975) and [#997](https://github.com/cosmos/interchain-security/pull/997) * (deps) Bump github.com/cosmos/ibc-go/v4 from 4.4.0 to 4.4.2 [#982](https://github.com/cosmos/interchain-security/pull/982) * (fix) partially revert key assignment type safety PR [#980](https://github.com/cosmos/interchain-security/pull/980) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea360f3039..8e57f73bbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -161,9 +161,9 @@ Date: June 1st, 2023 Unlike prior releases, the ICS `v2.0.0` release will be based on the main branch. `v2.0.0` will contain all the accumulated PRs from the various releases below, along with other PRs that were merged, but not released to production. After `v2.0.0`, we plan to revamp release practices, and how we modularize the repo for consumer/provider. -Upgrading a provider from `v1.1.0-multiden` to `v2.0.0` will require state migrations. See [migration.go](x/ccv/provider/keeper/migration.go). See the provider module's `ConsensusVersion` in [module](x/ccv/provider/module.go) +Upgrading a provider from `v1.1.0-multiden` to `v2.0.0` will require state migrations. See [migration.go](./x/ccv/provider/keeper/migration.go). See the provider module's `ConsensusVersion` in [module](./x/ccv/provider/module.go) -Upgrading a consumer from `v1.2.0-multiden` to `v2.0.0` will NOT require state migrations. See the consumer module's `ConsensusVersion` in [module](x/ccv/consumer/module.go) +Upgrading a consumer from `v1.2.0-multiden` to `v2.0.0` will NOT require state migrations. See the consumer module's `ConsensusVersion` in [module](./x/ccv/consumer/module.go) Some PRs from v2.0.0 may reappear from other releases below. This is due to the fact that ICS v1.1.0 deviates from the commit ordering of the main branch, and other releases thereafter are based on v1.1.0. @@ -178,7 +178,7 @@ Some PRs from v2.0.0 may reappear from other releases below. This is due to the * (feat!) Add DistributionTransmissionChannel to ConsumerAdditionProposal [#965](https://github.com/cosmos/interchain-security/pull/965) * (feat/fix) limit vsc matured packets handled per endblocker [#1004](https://github.com/cosmos/interchain-security/pull/1004) -* (fix) cosumer key prefix order to avoid complex migrations [#963](https://github.com/cosmos/interchain-security/pull/963) and [#991](https://github.com/cosmos/interchain-security/pull/991). The latter PR is the proper fix. +* (fix) consumer key prefix order to avoid complex migrations [#963](https://github.com/cosmos/interchain-security/pull/963) and [#991](https://github.com/cosmos/interchain-security/pull/991). The latter PR is the proper fix. * (feat) v1->v2 migrations to accommodate a bugfix having to do with store keys, introduce new params, and deal with consumer genesis state schema changes [#975](https://github.com/cosmos/interchain-security/pull/975) and [#997](https://github.com/cosmos/interchain-security/pull/997) * (deps) Bump github.com/cosmos/ibc-go/v4 from 4.4.0 to 4.4.2 [#982](https://github.com/cosmos/interchain-security/pull/982) * (fix) partially revert key assignment type safety PR [#980](https://github.com/cosmos/interchain-security/pull/980) From 0c4f06b4640eb2a445aeb20e06326de82e7f9c16 Mon Sep 17 00:00:00 2001 From: mpoke Date: Wed, 13 Dec 2023 21:56:27 +0100 Subject: [PATCH 4/5] and more typos --- app/params/doc.go | 2 +- docs/docs/validators/changeover-procedure.md | 2 +- tests/difference/core/model/src/properties.ts | 2 +- tests/e2e/actions.go | 2 +- tests/e2e/state.go | 2 +- tests/e2e/steps_consumer_misbehaviour.go | 2 +- x/ccv/consumer/keeper/genesis_test.go | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/params/doc.go b/app/params/doc.go index e9ba900f13..49b5f6d1e7 100644 --- a/app/params/doc.go +++ b/app/params/doc.go @@ -3,7 +3,7 @@ Package params defines the simulation parameters in the gaia. It contains the default weights used for each transaction used on the module's simulation. These weights define the chance for a transaction to be simulated at -any gived operation. +any given operation. You can replace the default values for the weights by providing a params.json file with the weights defined for each of the transaction operations: diff --git a/docs/docs/validators/changeover-procedure.md b/docs/docs/validators/changeover-procedure.md index 385060e7e3..c4dbd6e812 100644 --- a/docs/docs/validators/changeover-procedure.md +++ b/docs/docs/validators/changeover-procedure.md @@ -67,7 +67,7 @@ If you are validating both the `standalone` and the `provider`, you **can** use Yes. -Please assign your consensus key as stated aboce. +Please assign your consensus key as stated above. ### Can I set up a new node to validate the `standalone/consumer` chain after it transitions to replicated security? diff --git a/tests/difference/core/model/src/properties.ts b/tests/difference/core/model/src/properties.ts index 3b4e2d7218..c7c035d689 100644 --- a/tests/difference/core/model/src/properties.ts +++ b/tests/difference/core/model/src/properties.ts @@ -102,7 +102,7 @@ class PartialOrder { * * @param chain chain of block * @param height height of block - * @returns Returns the height of the least successing block on the counterparty + * @returns Returns the height of the least successor block on the counterparty * chain if it exists, else undefined. */ getLeastSucc = (chain: Chain, height: number): number | undefined => { diff --git a/tests/e2e/actions.go b/tests/e2e/actions.go index a54ea9ad27..2940eaab8d 100644 --- a/tests/e2e/actions.go +++ b/tests/e2e/actions.go @@ -1919,7 +1919,7 @@ func (tr TestConfig) assignConsumerPubKey(action AssignConsumerPubKeyAction, ver log.Fatalf("unexpected error during key assignment - output: %s, err: %s", string(bz), err) } - if action.ExpectError && !tr.useCometmock { // error report ony works with --gas auto, which does not work with CometMock, so ignore + if action.ExpectError && !tr.useCometmock { // error report only works with --gas auto, which does not work with CometMock, so ignore if err == nil || !strings.Contains(string(bz), action.ExpectedError) { log.Fatalf("expected error not raised: expected: '%s', got '%s'", action.ExpectedError, (bz)) } diff --git a/tests/e2e/state.go b/tests/e2e/state.go index 563ce1ff30..6578aad03a 100644 --- a/tests/e2e/state.go +++ b/tests/e2e/state.go @@ -524,7 +524,7 @@ func (tr TestConfig) getValPower(chain ChainID, validator ValidatorID) uint { votingPower, err := strconv.Atoi(val.VotingPower) if err != nil { - log.Fatalf("strconv.Atoi returned an error while convering validator voting power: %v, voting power string: %s, validator set: %s", err, val.VotingPower, pretty.Sprint(valset)) + log.Fatalf("strconv.Atoi returned an error while converting validator voting power: %v, voting power string: %s, validator set: %s", err, val.VotingPower, pretty.Sprint(valset)) } return uint(votingPower) diff --git a/tests/e2e/steps_consumer_misbehaviour.go b/tests/e2e/steps_consumer_misbehaviour.go index f63c070c84..4df7b9daec 100644 --- a/tests/e2e/steps_consumer_misbehaviour.go +++ b/tests/e2e/steps_consumer_misbehaviour.go @@ -154,7 +154,7 @@ func stepsStartChainsWithSoftOptOut(consumerName string) []Step { State: State{}, }, // delegate some token and relay the resulting VSC packets - // in oder to initiates the CCV channel + // in order to initiates the CCV channel { Action: DelegateTokensAction{ Chain: ChainID("provi"), diff --git a/x/ccv/consumer/keeper/genesis_test.go b/x/ccv/consumer/keeper/genesis_test.go index 93e856d6ef..b58dc6dac8 100644 --- a/x/ccv/consumer/keeper/genesis_test.go +++ b/x/ccv/consumer/keeper/genesis_test.go @@ -162,7 +162,7 @@ func TestInitGenesis(t *testing.T) { }, { "restart a chain with an established CCV channel", func(ctx sdk.Context, mocks testkeeper.MockedKeepers) { - // simulate a CCV channel handshake completition + // simulate a CCV channel handshake completion params.DistributionTransmissionChannel = "distribution-channel" params.ProviderFeePoolAddrStr = "provider-fee-pool-address" gomock.InOrder( From 1ca8be2a5e6fe76798afa47401c46bf508939773 Mon Sep 17 00:00:00 2001 From: mpoke Date: Wed, 13 Dec 2023 22:06:37 +0100 Subject: [PATCH 5/5] one more typo --- .github/workflows/deploy-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index c4bf213f61..8e36cd6cda 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -1,5 +1,5 @@ name: Deploy docs -# This job builds and deploys documenation to github pages. +# This job builds and deploys documentation to github pages. # It runs on every push to main with a change in the docs folder. on: workflow_dispatch: