From dd19a08417f9c8af5916e0704d40b9abd5f563c8 Mon Sep 17 00:00:00 2001 From: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> Date: Fri, 18 Oct 2024 12:04:33 +0000 Subject: [PATCH] chore: spelling errors fixes --- contrib/local-testnet.sh | 4 ++-- docs/docs/build/modules/02-provider.md | 22 +++++++++---------- docs/docs/build/modules/03-consumer.md | 6 ++--- .../hypha-consumer-start-process.excalidraw | 18 +++++++-------- scripts/test_doc/test_documentation.md | 2 +- tests/integration/slashing.go | 2 +- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/contrib/local-testnet.sh b/contrib/local-testnet.sh index 3aebbbe262..bb66a52532 100755 --- a/contrib/local-testnet.sh +++ b/contrib/local-testnet.sh @@ -69,7 +69,7 @@ do sleep 1 - # Create account keypair + # Create account key pair interchain-security-pd keys add $PROV_KEY --home ${PROV_NODE_DIR} --keyring-backend test --output json > ${PROV_NODE_DIR}/${PROV_KEY}.json 2>&1 sleep 1 @@ -393,7 +393,7 @@ do sleep 1 - # Create account keypair + # Create account key pair interchain-security-cd keys add $PROV_KEY --home ${CONS_NODE_DIR} --keyring-backend test --output json > ${CONS_NODE_DIR}/${PROV_KEY}.json 2>&1 sleep 1 diff --git a/docs/docs/build/modules/02-provider.md b/docs/docs/build/modules/02-provider.md index 431d32e8b6..6e3a2dcaa0 100644 --- a/docs/docs/build/modules/02-provider.md +++ b/docs/docs/build/modules/02-provider.md @@ -19,7 +19,7 @@ The provider module has the following functionalities: - The customization of the consumer chains validator sets. - The option for validators to opt in to validate the consumer chains they want. - The distribution of rewards from consumer chains to the opted in validators. -- The slashing and jailing of validators commiting infractions on consumer chains based on cryptographic evidence. +- The slashing and jailing of validators committing infractions on consumer chains based on cryptographic evidence. ## State @@ -144,7 +144,7 @@ Format: `byte(53) | len(clientId) | []byte(clientId) -> string` Format: `byte(14) | []byte(consumerId) -> ConsumerGenesisState` -### Key Assingment +### Key Assignment #### ConsumerValidators @@ -369,7 +369,7 @@ The consumer module is an IBC application that implements the [IBC module callba `OnChanOpenTry` validates the parameters of the _CCV channel_ -- an ordered IBC channel connected on the `provider` port and with the counterparty port set to `consumer` -- and asserts that the counterparty version matches the expected version -(only verions `1` is supported). +(only versions `1` is supported). If the validation passes, the provider module verifies that the underlying client is the expected client of the consumer chain (i.e., the client created during the consumer chain launch) and that no other CCV channel exists for this consumer chain. @@ -486,8 +486,8 @@ As a result, if the `power_shaping_parameters` are provided, then `power_shaping To create a top-n consumer chain, the following steps are require: - Create a opt-in consumer chain (via `MsgCreateConsumer`). -- Change the ownership of the consuemr chain to the gov module account address (via `MsgUpdateConsumer`). -- Change `power_shaping_parameters.top_N` to a value in `[50, 100]` trough a governance proposal with a `MsgUpdateConsumer` message. +- Change the ownership of the consumer chain to the gov module account address (via `MsgUpdateConsumer`). +- Change `power_shaping_parameters.top_N` to a value in `[50, 100]` through a governance proposal with a `MsgUpdateConsumer` message. If the `initialization_parameters` field is set and `initialization_parameters.spawn_time > 0`, then the consumer chain will be scheduled to launch at `spawn_time`. @@ -594,7 +594,7 @@ You can use the `list-consumer-chains` query to get the list of all consumer cha The `consumer_key` field is optional. It enables the validator to set the consensus public key to use on the consumer chain. -The validator can assing (or re-assing) this key also later via [MsgAssignConsumerKey](#msgassignconsumerkey). +The validator can assign (or re-assign) this key also later via [MsgAssignConsumerKey](#msgassignconsumerkey). :::warning Validators are strongly recommended to assign a separate key for each consumer chain @@ -746,7 +746,7 @@ message MsgSetConsumerCommissionRate { ### MsgSubmitConsumerMisbehaviour -`MsgSubmitConsumerMisbehaviour` enables users to submit to the provider evidence of a light client attack that occured on a consumer chain. +`MsgSubmitConsumerMisbehaviour` enables users to submit to the provider evidence of a light client attack that occurred on a consumer chain. This message can be submitted directly by users, e.g., via the CLI command `tx provider submit-consumer-misbehaviour`, or by a relayer that can be set to automatically detect consumer chain misbehaviors, e.g., [Hermes](https://github.com/informalsystems/hermes). @@ -756,7 +756,7 @@ the `chain_id` field is deprecated. Users should use `consumer_id` instead. You can use the `list-consumer-chains` query to get the list of all consumer chains and their consumer IDs. -For more details on reporting light client attacks that occured on consumer chains, check out the [guide on equivocation infractions](../../features/slashing.md#equivocation-infractions). +For more details on reporting light client attacks that occurred on consumer chains, check out the [guide on equivocation infractions](../../features/slashing.md#equivocation-infractions). ```proto message MsgSubmitConsumerMisbehaviour { @@ -775,7 +775,7 @@ message MsgSubmitConsumerMisbehaviour { ### MsgSubmitConsumerDoubleVoting -`MsgSubmitConsumerDoubleVoting` enables users to submit to the provider evidence of a double signing infraction that occured on a consumer chain. +`MsgSubmitConsumerDoubleVoting` enables users to submit to the provider evidence of a double signing infraction that occurred on a consumer chain. This message can be submitted directly by users, e.g., via the CLI command `tx provider submit-consumer-double-voting`, or by a relayer that can be set to automatically detect consumer chain misbehaviors, e.g., [Hermes](https://github.com/informalsystems/hermes). @@ -785,7 +785,7 @@ the `chain_id` field is deprecated. Users should use `consumer_id` instead. You can use the `list-consumer-chains` query to get the list of all consumer chains and their consumer IDs. -For more details on reporting double signing infractions that occured on consumer chains, check out the [guide on equivocation infractions](../../features/slashing.md#equivocation-infractions). +For more details on reporting double signing infractions that occurred on consumer chains, check out the [guide on equivocation infractions](../../features/slashing.md#equivocation-infractions). ```proto message MsgSubmitConsumerDoubleVoting { @@ -829,7 +829,7 @@ In the `EndBlock` of the provider module the following actions are performed: - Prune the no-longer needed public keys assigned by validators to use when validating on consumer chains. - Send validator updates to the consensus engine. The maximum number of validators is set through the [MaxProviderConsensusValidators](#maxproviderconsensusvalidators) param. -- At the begining of every epoch, +- At the beginning of every epoch, - for every launched consumer chain, compute the next consumer validator set and send it to the consumer chain via an IBC packet; - increment the VSC id. diff --git a/docs/docs/build/modules/03-consumer.md b/docs/docs/build/modules/03-consumer.md index 47ffdbcd76..145e7ddd79 100644 --- a/docs/docs/build/modules/03-consumer.md +++ b/docs/docs/build/modules/03-consumer.md @@ -213,7 +213,7 @@ The consumer module is an IBC application that implements the [IBC module callba `OnChanOpenInit` first verifies that the CCV channel was not already created. Then, it validates the channel parameters -- an ordered IBC channel connected on the `consumer` port and with the counterparty port set to `provider` -- and asserts that the version matches the expected version -(only verions `1` is supported). +(only versions `1` is supported). Finally, it verifies that the underlying client is the expected client of the provider chain (i.e., provided in the consumer module genesis state). @@ -226,7 +226,7 @@ Finally, it verifies that the underlying client is the expected client of the pr `OnChanOpenAck` first verifies that the CCV channel was not already created. Then it verifies that the counterparty version matches the expected version -(only verions `1` is supported). +(only versions `1` is supported). If the verification passes, it stores the [ProviderFeePoolAddr](#providerfeepooladdrstr) in the state. @@ -313,7 +313,7 @@ In the `EndBlock` of the consumer module the following actions are performed: that was just upgraded to include the consumer module, then execute the [changeover logic](../../consumer-development/changeover-procedure.md). - Otherwise, distribute block rewards internally and once every [BlocksPerDistributionTransmission](#blocksperdistributiontransmission) send ICS rewards to the provider chain. -- Send slash packets to the provider chain reporting infractions validators commited on the consumer chain. +- Send slash packets to the provider chain reporting infractions validators committed on the consumer chain. - Send to the consensus engine validator updates reveived from the provider chain. ## Hooks diff --git a/docs/figures/hypha-consumer-start-process.excalidraw b/docs/figures/hypha-consumer-start-process.excalidraw index 72a1b05445..387ad9b059 100644 --- a/docs/figures/hypha-consumer-start-process.excalidraw +++ b/docs/figures/hypha-consumer-start-process.excalidraw @@ -6117,11 +6117,11 @@ "locked": false, "fontSize": 20, "fontFamily": 1, - "text": "Hz\nwe get the \nevidence and \nslash", + "text": "Hz\new get the \nevidence and \nslash", "textAlign": "center", "verticalAlign": "middle", "containerId": "V2uHp_TDQ8ihrS_8j9zZZ", - "originalText": "Hz\nwe get the evidence and slash", + "originalText": "Hz\new get the evidence and slash", "autoResize": true, "lineHeight": 1.25 }, @@ -7482,7 +7482,7 @@ "locked": false, "fontSize": 16, "fontFamily": 1, - "text": "height at which \nwe receive\nthe evidence", + "text": "height at which \new receive\nthe evidence", "textAlign": "center", "verticalAlign": "middle", "containerId": "s48-4wXmB4eSn25hza5zD", @@ -17350,11 +17350,11 @@ "locked": false, "fontSize": 16, "fontFamily": 1, - "text": "LC figures\nout that\nconsumer chain\nbecame\nunsecore on\ntimestamp T\n\nThen, LC would need to\n\"deactivate\"\nof all headers that\nhave timestamp >= T.\n\nWe can keep getting\nupdates but not use \ntheir Merkle root. ", + "text": "LC figures\nout that\nconsumer chain\nbecame\nunsecore on\ntimestamp T\n\nThen, LC would need to\n\"deactivate\"\nof all headers that\nhave timestamp >= T.\n\new can keep getting\nupdates but not use \ntheir Merkle root. ", "textAlign": "left", "verticalAlign": "top", "containerId": null, - "originalText": "LC figures\nout that\nconsumer chain\nbecame\nunsecore on\ntimestamp T\n\nThen, LC would need to\n\"deactivate\"\nof all headers that\nhave timestamp >= T.\n\nWe can keep getting\nupdates but not use \ntheir Merkle root. ", + "originalText": "LC figures\nout that\nconsumer chain\nbecame\nunsecore on\ntimestamp T\n\nThen, LC would need to\n\"deactivate\"\nof all headers that\nhave timestamp >= T.\n\new can keep getting\nupdates but not use \ntheir Merkle root. ", "autoResize": true, "lineHeight": 1.25 }, @@ -33824,11 +33824,11 @@ "locked": false, "fontSize": 16, "fontFamily": 1, - "text": "bogus header\n4. Febuary 2023\nsigned by Vm", + "text": "bogus header\n4. February 2023\nsigned by Vm", "textAlign": "center", "verticalAlign": "middle", "containerId": "dr-C5qJTTjNBk139hzYmq", - "originalText": "bogus header\n4. Febuary 2023\nsigned by Vm", + "originalText": "bogus header\n4. February 2023\nsigned by Vm", "autoResize": true, "lineHeight": 1.25 }, @@ -39079,11 +39079,11 @@ "locked": false, "fontSize": 36, "fontFamily": 1, - "text": "powers and consumer\npublic keys the validators\nhad when they actually\nopted in to a\nconsumer chain at the\nbeginning of an epoch\nCurrently used by consumer\nchain.\nWE STORE THOSE for\neach validator", + "text": "powers and consumer\npublic keys the validators\nhad when they actually\nopted in to a\nconsumer chain at the\nbeginning of an epoch\nCurrently used by consumer\nchain.\new STORE THOSE for\neach validator", "textAlign": "center", "verticalAlign": "top", "containerId": null, - "originalText": "powers and consumer\npublic keys the validators\nhad when they actually\nopted in to a\nconsumer chain at the\nbeginning of an epoch\nCurrently used by consumer\nchain.\nWE STORE THOSE for\neach validator", + "originalText": "powers and consumer\npublic keys the validators\nhad when they actually\nopted in to a\nconsumer chain at the\nbeginning of an epoch\nCurrently used by consumer\nchain.\new STORE THOSE for\neach validator", "autoResize": true, "lineHeight": 1.25 }, diff --git a/scripts/test_doc/test_documentation.md b/scripts/test_doc/test_documentation.md index 1bdbaee73d..0fc8d024ec 100644 --- a/scripts/test_doc/test_documentation.md +++ b/scripts/test_doc/test_documentation.md @@ -85,7 +85,7 @@ |----------|-------------------| [TestRelayAndApplyDowntimePacket](../../tests/integration/slashing.go#L50) | TestRelayAndApplyDowntimePacket tests that downtime slash packets can be properly relayed from consumer to provider, handled by provider, with a VSC and jailing eventually effective on consumer and provider.
Details* Set up CCV channels and retrieve consumer validators.
* Select a validator and create its consensus address.
* Retrieve the provider consensus address that corresponds to the consumer consensus address of the validator.
* The validator's current state is also retrieved, including its token balance,
* Set validator's signing information is to ensure it will be jailed for downtime.
* Create the slashing packet and send it from the consumer chain to the provider chain with a specified timeout.
* Receive the packet and verify that the validator was removed from the provider validator set.
* Relay VSC packets from the provider chain to each consumer chain and verify that the consumer chains correctly process these packets.
* Check the validator's balance and status on the provider chain to ensure it was jailed correctly but not slashed,
and its unjailing time is updated.
* Reset the outstanding downtime flag on the consumer chain, and ensure that the consumer
chain acknowledges receipt of the packet from the provider chain.

Note: This method does not test the actual slash packet sending logic for downtime
and double-signing, see TestValidatorDowntime and TestValidatorDoubleSigning for
those types of tests.
| [TestSlashPacketAcknowledgement](../../tests/integration/slashing.go#L185) | TestSlashPacketAcknowledgement tests the handling of a slash packet acknowledgement.
Details* Set up a provider and consumer chain, with channel initialization between them performed.
* Send a slash packet with randomized fields from the consumer to the provider.
* The provider processes the packet
| - [TestHandleSlashPacketDowntime](../../tests/integration/slashing.go#L236) | TestHandleSlashPacketDowntime tests the handling of a downtime related slash packet, with integration tests.
Details* Retrieve a validator from provider chain's validators and checks if it's bonded.
* Set tThe signing information for the validator.
* The provider processes the downtime slashing packet from the consumer.
* Check that the validator has been jailed as a result of the downtime slashing packet being processed.
* Verify that the validator’s signing information is updated and that the jailing duration is set correctly.

Note that only downtime slash packets are processed by HandleSlashPacket.
| + [TestHandleSlashPacketDowntime](../../tests/integration/slashing.go#L236) | TestHandleSlashPacketDowntime tests the handling of a downtime related slash packet, with integration tests.
Details* Retrieve a validator from provider chain's validators and checks if it's bonded.
* Set the signing information for the validator.
* The provider processes the downtime slashing packet from the consumer.
* Check that the validator has been jailed as a result of the downtime slashing packet being processed.
* Verify that the validator’s signing information is updated and that the jailing duration is set correctly.

Note that only downtime slash packets are processed by HandleSlashPacket.
| [TestOnRecvSlashPacketErrors](../../tests/integration/slashing.go#L283) | TestOnRecvSlashPacketErrors tests errors for the OnRecvSlashPacket method in an integration testing setting.
Details* Set up all CCV channels and expect panic if the channel is not established via dest channel of packet.
* After the correct channelID is added to the packet, a panic shouldn't occur anymore.
* Create an instance of SlashPacketData and then verify correct processing and error handling
for slashing packets received by the provider chain.
TODO: Move to unit tests.
| [TestValidatorDowntime](../../tests/integration/slashing.go#L412) | TestValidatorDowntime tests if a slash packet is sent and if the outstanding slashing flag is switched when a validator has downtime on the slashing module.
Details* Set up all CCV channel and send an empty VSC packet, then retrieve the address of a validator.
* Validator signs blocks for the duration of the signedBlocksWindow and a slash packet is constructed to be sent and committed.
* Simulate the validator missing blocks and then verify that the validator is jailed and the jailed time is correctly updated.
* Ensure that the missed block counters are reset.
* Check that there is a pending slash packet in the queue, and then send the pending packets.
* Check if slash record is created and verify that the consumer queue still contains the packet since no
acknowledgment has been received from the provider.
* Verify that the slash packet was sent and check that the outstanding slashing flag prevents the jailed validator to keep missing block.
| [TestQueueAndSendSlashPacket](../../tests/integration/slashing.go#L533) | TestQueueAndSendSlashPacket tests the integration of QueueSlashPacket with SendPackets. In normal operation slash packets are queued in BeginBlock and sent in EndBlock.
Details* Set up all CCV channels and then queue slash packets for both downtime and double-signing infractions.
* Check that the correct number of slash requests are stored in the queue, including duplicates for downtime infractions.
* Prepare the CCV channel for sending actual slash packets.
* Send the slash packets and check that the outstanding downtime flags are correctly set for validators that were slashed
for downtime infractions.
* Ensure that the pending data packets queue is empty.
TODO: Move to unit tests.
| diff --git a/tests/integration/slashing.go b/tests/integration/slashing.go index 840821b12c..7c51ad9e96 100644 --- a/tests/integration/slashing.go +++ b/tests/integration/slashing.go @@ -227,7 +227,7 @@ func (s *CCVTestSuite) TestSlashPacketAcknowledgement() { // TestHandleSlashPacketDowntime tests the handling of a downtime related slash packet, with integration tests. // @Long Description@ // * Retrieve a validator from provider chain's validators and checks if it's bonded. -// * Set tThe signing information for the validator. +// * Set the signing information for the validator. // * The provider processes the downtime slashing packet from the consumer. // * Check that the validator has been jailed as a result of the downtime slashing packet being processed. // * Verify that the validator’s signing information is updated and that the jailing duration is set correctly.