Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add new rpc query function to check validators' liveness(uptime) #3899

Merged

Conversation

Jeongseup
Copy link
Contributor

Describe your changes

Hello, I'm Jeongseup from Cosmostation. I hope the Namada mainnet genesis launch is successful.

I believe it would be beneficial for each validator to monitor their own liveness(uptime) status during the current epoch to prevent slashsing or other penalties.

Therefore, I have implemented a new RPC query function that retrieves the liveness status of validators who are active in this epoch.

Checklist before merging

  • If this PR has some consensus breaking changes, I added the corresponding breaking:: labels
    • This will require 2 reviewers to approve the changes
  • If this PR requires changes to the docs or specs, a corresponding PR is opened in the namada-docs repo
    • Relevant PR if applies:
  • If this PR affects services such as namada-indexer or namada-masp-indexer, a corresponding PR is opened in that repo
    • Relevant PR if applies:

Copy link

codecov bot commented Oct 7, 2024

Codecov Report

Attention: Patch coverage is 5.00000% with 38 lines in your changes missing coverage. Please review.

Project coverage is 73.00%. Comparing base (36ca7c3) to head (6dbf635).
Report is 64 commits behind head on main.

Files with missing lines Patch % Lines
crates/sdk/src/queries/vp/pos.rs 0.00% 33 Missing ⚠️
crates/sdk/src/rpc.rs 0.00% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3899      +/-   ##
==========================================
- Coverage   73.04%   73.00%   -0.04%     
==========================================
  Files         340      340              
  Lines      104816   104856      +40     
==========================================
- Hits        76559    76554       -5     
- Misses      28257    28302      +45     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

@sirouk sirouk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥

@Jeongseup
Copy link
Contributor Author

@brentstone Thank you for checking my PR and improve the codes. I've learned rust from you 🙏

@brentstone brentstone added this to the v0.45.0 (or maybe 0.44.1) milestone Oct 10, 2024
@brentstone brentstone force-pushed the jeongseup/feature/get-validators-livenesses branch from 5266d30 to bdf352e Compare October 10, 2024 01:48
read_consensus_validator_set_addresses(ctx.state, epoch)?;
let params = read_pos_params::<_, governance::Store<_>>(ctx.state)?;

let mut result = vec![];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one more small thing, now that the size of this vec is same as consensus_validators.len() we can allocate it to its size

@tzemanovic tzemanovic added merge Ready to merge - mergifyio bot will add the PR to merge queue when all checks pass backport-44 labels Oct 11, 2024
mergify bot added a commit that referenced this pull request Oct 11, 2024
mergify bot added a commit that referenced this pull request Oct 11, 2024
@mergify mergify bot merged commit 0b089a2 into anoma:main Oct 11, 2024
22 of 24 checks passed
mergify bot pushed a commit that referenced this pull request Oct 11, 2024
(cherry picked from commit bdf352e)
mergify bot added a commit that referenced this pull request Oct 11, 2024
feat: Add new rpc query function to check validators' liveness(uptime) (backport #3899)
tzemanovic added a commit that referenced this pull request Oct 11, 2024
* 0.44.0:
  Namada 0.44.1
  Removes old reference to encrypted txs
  test/e2e/ibc: try to kill gaiad before running it
  Fixes broken assertions in integration tests
  Update crates/sdk/src/queries/vp/pos.rs
  small fix from comments
  changelog: add #3899
  fix up liveness queries
  Add new rpc query function to check validators' liveness(uptime) in this epoch
  test/e2e: try to forward Ctrl+C to the bg session
  Changelog for #3860
  feat: serde rename batch index into masp tx index
  Tries to drop bg process in tests
  mergify: unquote base branch name
  Changelog #3882
  Extends batch sections test to check duplicate sections
  Custom `PartialEq` impl for `SigningTxData`
  Fixes cmt reference in `add_inner_tx`
  Avoids duplicated sections when contructing a batch
  ci/mergify: unquote base name
  Increases timeout on epoch sleep
  Improves epoch sleeping in ibc tests and renames token variable
  Changelog #3866
  Sped up ibc token test
  Fixes ibc gas payment test
  Fixes typos and updates docstring
  e2e test for ibc token gas payment
  goveranance: let validator vote even if it doesn't have a self-bond
  changelog: add #3835
  tx: test tx sections api
  tx: improve the serialization api
  test/tx: add more unit tests
  tx: split out tx sections into dedicated mod
  tx: move signing related code into sign mod
  tx: rm unsued `SignedTxData`
  refactor and test signature index
  tx/types: rm unused code
  test/e2e: no dbg logs in shielded sync
  ci/mergify: add merge rule for backport to 0.44
  mergify: add backport strategy
  Changelog #3857
  Removes unused `Success` event
  Adds test for identical events in batch
  Adds batch events tests
  Removes eprintln from prepare proposal unit tests
  Adds tests for whitelisted tokens gas payment
  update hermes
  test/e2e: increase hermes timeout
  README: add notes about hermes
  update hermes
  ci: run checks on release branches
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-44 merge Ready to merge - mergifyio bot will add the PR to merge queue when all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants