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

PoS state machine test #1191

Merged
merged 19 commits into from
Mar 13, 2023
Merged

PoS state machine test #1191

merged 19 commits into from
Mar 13, 2023

Conversation

tzemanovic
Copy link
Member

@tzemanovic tzemanovic commented Mar 2, 2023

based on merge of #1195 needed to use nightly for tests build

This PR add a state machine test for PoS which was used to reproduce and fix an issue that occurred in the testnet, in which a validator's stake and validator sets data gets into an invalid state (duplicate records with incorrect values).

The issue was caused by incorrect impl of the update_data functions on the new Epoched and EpochedDelta types.

Additionally:

  • In the makefile, unit tests are now set to use nightly compiler with unstable feature (I've used some in this test for VecDeque)
  • done some janitor work on the new PoS library code introduced in PoS: lazy map epoched data #740 to replace prints with tracing::debug, removed outdated comments and irrelevant commented out code.

@tzemanovic tzemanovic force-pushed the tomas/pos-sm-test branch 5 times, most recently from 34c49c4 to 133e2cd Compare March 6, 2023 15:50
@tzemanovic tzemanovic marked this pull request as ready for review March 9, 2023 10:19
@tzemanovic
Copy link
Member Author

pls update wasm

juped added a commit that referenced this pull request Mar 13, 2023
* tag 'v0.14.2':
  Namada 0.14.2
  changelog: add #1191
  test/pos/sm: fix init-validator and bond pre-conditions
  [ci] wasm checksums update
  ci: use nightly version for e2e test
  test/pos/sm: add the rest of the conditions
  pos: improve withdrawal logs
  test/pos/sm: add another bonds post-cond
  test/pos/sm: generate InitValidator transitions
  test/pos: fix the bonds test
  test/pos: reduce the bond token amounts to cover cases with same amounts
  bug fix: `update_validator_set` precisely checks if validator in consensus set
  pos: remove the `init` function to just use `set` instead
  make: add unstable-options to `check-abcipp` recipe
  pos: turn prints into tracing::debug, tidy up code
  pos/epoched: fix the update_data logic
  test/pos: add a state machine test
  test/core/address: fix address generator to be deterministic
  core/token: re-export `token::Change` type from storage_api mod
  make: use unstable-options to build unit tests
  changelog: add #1197
  [ci] wasm checksums update
  pos: ensure that validator consensus keys are unique
  core/storage: impl KeySeg for common::PublicKey
  test/lazy_set: add `try_insert` to state machine test
  core/lazy_set: add `try_insert` method
  small documentation edits
  changelog: add #1196
  [ci] wasm checksums update
  test: add a state machine test for lazy set collection
  core/storage_api: add LazySet
  changelog: #1182
  test/e2e: wait for a first block before client cmds
  wl_storage: remove commit_genesis method
  test/e2e: put ledger to bg to avoid it getting stuck
  gov/parameters: init via storage_api write log
  parameters: init chain parameters via storage_api write log
  init-chain: fix ibc to go via wl_storage
  [chore]:Added a doc warning
  [feat]: Dont' persist storage changes at genesis
  test/init_chain: ensure that init-chain doesn't commit to DB
  test/storage: reduce arb key length
  [ci] wasm checksums update
  changelog: add #1141
  bug fix: reliable deterministic ordering of keys in wl_storage PrefixIter that fixes apply_inflation bug
  test/core/wl_storage: add test for `prefix_iter_pre`/`prefix_iter_post`
@juped juped merged commit bce318a into main Mar 13, 2023
@juped juped deleted the tomas/pos-sm-test branch March 13, 2023 21:34
bengtlofgren pushed a commit that referenced this pull request May 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants