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

RPC: add PoS queries #570

Merged
merged 9 commits into from
Nov 30, 2022
Merged

RPC: add PoS queries #570

merged 9 commits into from
Nov 30, 2022

Conversation

tzemanovic
Copy link
Member

@tzemanovic tzemanovic commented Oct 7, 2022

closes #19

based on v0.9.0

This PR adds new PoS sub-router (https://github.com/anoma/namada/blob/tomas/rpc-sub-vp-pos/shared/src/ledger/queries/vp/pos.rs#L15) with handlers implemented using trait PosReadOnly. These are then used to replace the gov utils functions for on-chain proposal votes and tallying and client tx/rpc for offline proposals to hide PoS implementation details.

@tzemanovic tzemanovic force-pushed the tomas/rpc-sub-vp-pos branch 3 times, most recently from 638c3e7 to b3c373d Compare October 24, 2022 15:31
@tzemanovic
Copy link
Member Author

pls update wasm

@tzemanovic tzemanovic marked this pull request as ready for review October 24, 2022 16:26
tzemanovic added a commit that referenced this pull request Oct 24, 2022
* tomas/rpc-sub-vp-pos:
  [ci] wasm checksums update
  queries: add more PoS queries and use them for gov
  RPC: add PoS is_validator and bond_amount queries
  shared: implement PosReadOnly for Storage
@tzemanovic tzemanovic mentioned this pull request Oct 24, 2022
9 tasks
tzemanovic added a commit that referenced this pull request Nov 2, 2022
* tomas/rpc-sub-vp-pos:
  wasm: update checksums
  queries/shell: refactor to single def
  queries/router: rm dbg prints
  queries: add more PoS queries and use them for gov
  RPC: add PoS is_validator and bond_amount queries
  shared: implement PosReadOnly for Storage
Fraccaman
Fraccaman previously approved these changes Nov 2, 2022
apps/src/lib/client/tx.rs Outdated Show resolved Hide resolved
Comment on lines +783 to +810
) -> HashSet<Address> {
// Filter delegations by their validator's vote concurrently
let delegations = futures::future::join_all(
delegations
.into_iter()
// we cannot use `filter/filter_map` directly because we want to
// return a future
.map(|validator_address| async {
let vote_key = gov_storage::get_vote_proposal_key(
proposal_id,
validator_address.to_owned(),
validator_address.to_owned(),
);

delegation_addresses
if let Some(validator_vote) =
rpc::query_storage_value::<ProposalVote>(client, &vote_key)
.await
{
if &validator_vote == delegator_vote {
return None;
}
}
Some(validator_address)
}),
)
.await;
// Take out the `None`s
delegations.into_iter().flatten().collect()
Copy link
Member

Choose a reason for hiding this comment

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

very nice!

Copy link
Contributor

Choose a reason for hiding this comment

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

interesting pattern, to turn an iterator into a future. I'll try to use this whenever I can :D

apps/src/lib/client/tx.rs Outdated Show resolved Hide resolved
@tzemanovic
Copy link
Member Author

pls update wasm

@tzemanovic tzemanovic added this to the v0.11.0 milestone Nov 16, 2022
tzemanovic added a commit that referenced this pull request Nov 16, 2022
* tomas/rpc-sub-vp-pos:
  changelog: add #570
  [ci] wasm checksums update
  Update apps/src/lib/client/tx.rs
  shared/queries: refactor prefix iter using storage_api
  queries/shell: refactor to single def
  queries/router: rm dbg prints
  queries: add more PoS queries and use them for gov
  RPC: add PoS is_validator and bond_amount queries
  shared: implement PosReadOnly for Storage
@tzemanovic tzemanovic mentioned this pull request Nov 16, 2022
@juped juped merged commit 75f2e1b into main Nov 30, 2022
@juped juped deleted the tomas/rpc-sub-vp-pos branch November 30, 2022 07:46
tzemanovic added a commit that referenced this pull request Dec 1, 2022
Namada 0.11.0

* tag 'v0.11.0': (195 commits)
  Namada 0.11.0
  wasm: update checksums.json
  wasm_for_tests: rebuild all
  fix default chain IDs lengths
  make fmt
  s/anoma/namada in all files
  apps: s/anoma/namada/ in paths
  wasm: update checksums.json
  [ci] wasm checksums update
  changelog: add #733
  docs/overview: update deps graph and add a generated one too
  pos: replace generic types with concrete types from core
  update paths for core split and apply many small fixes
  add new crate "namada_core" for core types, storage_api, tx_env, vp_env
  proto/types: remove an & to placate 1.65 clippy
  changelog: add #807
  tx: sign hash of code rather than full code blob
  maint: fix incorrect clippy placation in previous merge
  fix: use multitoken credit_tokens() in tests
  maint: patch funty 1.2.0
  ci: update rust/docker image
  Fix changelog
  Fix up for namada v0.10.1
  Add changelog
  Add check-abcipp command
  Use ferveo-tpke flag to stop tendermint-rpc being pulled into wasm
  First attempt at fixing shared abcipp
  deleted out of date TS docs
  changelog: add #797
  [ci] wasm checksums update
  changelog: add #707
  remove comments to self
  convert to tm voting power in `update_epoch`
  client: replace voting power with bonded stake in queries, etc
  fix pos state machine test
  clean up naming of "validator total deltas" -> "validator deltas"
  fix client voting power query
  fix `TendermintValidator::power`
  clippy: suppress unused validation vars (may need later)
  fmt + cleanup after cherrypicking commits from #388
  more voting_power removal and accurate variable renaming
  keep voting_power as a possible client query
  change `validator_total_deltas` -> `validator_deltas`
  Update wasm tx_(un)bond with VotingPower removal
  refactor VotingPower out of PoS VP
  continue refactoring away VotingPower
  refactor out VotingPower(Delta) in pos crate, distinguish total and validator deltas
  rename slash rate params with `min`, update default `PosParam` values
  Update tests/src/vm_host_env/tx.rs
  Update shared/src/ledger/parameters/mod.rs
  changelog: add #775
  [feat]: Renamed 'fee' CLI arguments to 'gas'.
  make: clean any existing WASM files before WASM build
  changelog: add #719
  changelog: add #674
  pos: use  method
  governance: added  method, fmt, clippy
  changelog: add #570
  [ci] wasm checksums update
  changelog: add #708
  remove `min_duration` from `ParametersConfig`
  remove `staked_ratio` and `pos_inflation_amount` from `ParametersConfig`
  update comments
  [ci] wasm checksums update
  fmt and includes
  updates to accommodate `tm_votes_per_token` relative to namnam
  Update rewards parameters and distribution
  update toml files with latest parameters and values
  fix arb_amount to max out at max tm voting power (fix wasm test bug)
  storage change: last inflation rate -> last inflation token amount
  fix: write all fields in Parameters storage in `init_storage`
  fix initial staked ratio parameter at genesis
  update rust_decimal version + fmt
  clean comments and toml files of basis points
  fix correct inner type of ValidationError::TotalVotingPowerTooLarge
  more decimal_mult function uses
  add fns to multiply Decimal and integer type, return truncated integer
  remove BasisPoints and change relevant parameters to Decimal type
  documentation updates + unused imports removal
  rename reward_rate -> inflation_rate for pos
  specify read or write intentions for parameters storage keys
  add target_staked_ratio to PoS params
  update max inflation rate in params (formerly max_staking_rewards_rate)
  rename `votes_per_token` to `tm_votes_per_token` since this will only be used to interface with tendermint
  add new parameters needed for rewards PD controller to the Parameters storage
  add max_staking_reward_rate to PosParams
  clarify+rename 'epoch_storage_key' as 'epoch_duration_storage_key'
  changelog: add #695
  [ci] wasm checksums update
  addressing 2nd round of review comments
  async tx to change validator commission rate
  [ci] wasm checksums update
  changelog: add #763
  pos/vp: do not return early on unknown permitted key
  changelog: add #582
  add vp validator to wasms
  fix: critical flaw in pos VP that was prematurely returning true
  add max commission rate info to validation and pos state machine test
  validator VP that checks source and signature for a commission rate change tx
  changes in response to review comments
  ...
tzemanovic added a commit that referenced this pull request Dec 2, 2022
Namada 0.11.0

* tag 'v0.11.0': (195 commits)
  Namada 0.11.0
  wasm: update checksums.json
  wasm_for_tests: rebuild all
  fix default chain IDs lengths
  make fmt
  s/anoma/namada in all files
  apps: s/anoma/namada/ in paths
  wasm: update checksums.json
  [ci] wasm checksums update
  changelog: add #733
  docs/overview: update deps graph and add a generated one too
  pos: replace generic types with concrete types from core
  update paths for core split and apply many small fixes
  add new crate "namada_core" for core types, storage_api, tx_env, vp_env
  proto/types: remove an & to placate 1.65 clippy
  changelog: add #807
  tx: sign hash of code rather than full code blob
  maint: fix incorrect clippy placation in previous merge
  fix: use multitoken credit_tokens() in tests
  maint: patch funty 1.2.0
  ci: update rust/docker image
  Fix changelog
  Fix up for namada v0.10.1
  Add changelog
  Add check-abcipp command
  Use ferveo-tpke flag to stop tendermint-rpc being pulled into wasm
  First attempt at fixing shared abcipp
  deleted out of date TS docs
  changelog: add #797
  [ci] wasm checksums update
  changelog: add #707
  remove comments to self
  convert to tm voting power in `update_epoch`
  client: replace voting power with bonded stake in queries, etc
  fix pos state machine test
  clean up naming of "validator total deltas" -> "validator deltas"
  fix client voting power query
  fix `TendermintValidator::power`
  clippy: suppress unused validation vars (may need later)
  fmt + cleanup after cherrypicking commits from #388
  more voting_power removal and accurate variable renaming
  keep voting_power as a possible client query
  change `validator_total_deltas` -> `validator_deltas`
  Update wasm tx_(un)bond with VotingPower removal
  refactor VotingPower out of PoS VP
  continue refactoring away VotingPower
  refactor out VotingPower(Delta) in pos crate, distinguish total and validator deltas
  rename slash rate params with `min`, update default `PosParam` values
  Update tests/src/vm_host_env/tx.rs
  Update shared/src/ledger/parameters/mod.rs
  changelog: add #775
  [feat]: Renamed 'fee' CLI arguments to 'gas'.
  make: clean any existing WASM files before WASM build
  changelog: add #719
  changelog: add #674
  pos: use  method
  governance: added  method, fmt, clippy
  changelog: add #570
  [ci] wasm checksums update
  changelog: add #708
  remove `min_duration` from `ParametersConfig`
  remove `staked_ratio` and `pos_inflation_amount` from `ParametersConfig`
  update comments
  [ci] wasm checksums update
  fmt and includes
  updates to accommodate `tm_votes_per_token` relative to namnam
  Update rewards parameters and distribution
  update toml files with latest parameters and values
  fix arb_amount to max out at max tm voting power (fix wasm test bug)
  storage change: last inflation rate -> last inflation token amount
  fix: write all fields in Parameters storage in `init_storage`
  fix initial staked ratio parameter at genesis
  update rust_decimal version + fmt
  clean comments and toml files of basis points
  fix correct inner type of ValidationError::TotalVotingPowerTooLarge
  more decimal_mult function uses
  add fns to multiply Decimal and integer type, return truncated integer
  remove BasisPoints and change relevant parameters to Decimal type
  documentation updates + unused imports removal
  rename reward_rate -> inflation_rate for pos
  specify read or write intentions for parameters storage keys
  add target_staked_ratio to PoS params
  update max inflation rate in params (formerly max_staking_rewards_rate)
  rename `votes_per_token` to `tm_votes_per_token` since this will only be used to interface with tendermint
  add new parameters needed for rewards PD controller to the Parameters storage
  add max_staking_reward_rate to PosParams
  clarify+rename 'epoch_storage_key' as 'epoch_duration_storage_key'
  changelog: add #695
  [ci] wasm checksums update
  addressing 2nd round of review comments
  async tx to change validator commission rate
  [ci] wasm checksums update
  changelog: add #763
  pos/vp: do not return early on unknown permitted key
  changelog: add #582
  add vp validator to wasms
  fix: critical flaw in pos VP that was prematurely returning true
  add max commission rate info to validation and pos state machine test
  validator VP that checks source and signature for a commission rate change tx
  changes in response to review comments
  ...
tzemanovic added a commit that referenced this pull request Dec 2, 2022
Namada 0.11.0

* tag 'v0.11.0': (195 commits)
  Namada 0.11.0
  wasm: update checksums.json
  wasm_for_tests: rebuild all
  fix default chain IDs lengths
  make fmt
  s/anoma/namada in all files
  apps: s/anoma/namada/ in paths
  wasm: update checksums.json
  [ci] wasm checksums update
  changelog: add #733
  docs/overview: update deps graph and add a generated one too
  pos: replace generic types with concrete types from core
  update paths for core split and apply many small fixes
  add new crate "namada_core" for core types, storage_api, tx_env, vp_env
  proto/types: remove an & to placate 1.65 clippy
  changelog: add #807
  tx: sign hash of code rather than full code blob
  maint: fix incorrect clippy placation in previous merge
  fix: use multitoken credit_tokens() in tests
  maint: patch funty 1.2.0
  ci: update rust/docker image
  Fix changelog
  Fix up for namada v0.10.1
  Add changelog
  Add check-abcipp command
  Use ferveo-tpke flag to stop tendermint-rpc being pulled into wasm
  First attempt at fixing shared abcipp
  deleted out of date TS docs
  changelog: add #797
  [ci] wasm checksums update
  changelog: add #707
  remove comments to self
  convert to tm voting power in `update_epoch`
  client: replace voting power with bonded stake in queries, etc
  fix pos state machine test
  clean up naming of "validator total deltas" -> "validator deltas"
  fix client voting power query
  fix `TendermintValidator::power`
  clippy: suppress unused validation vars (may need later)
  fmt + cleanup after cherrypicking commits from #388
  more voting_power removal and accurate variable renaming
  keep voting_power as a possible client query
  change `validator_total_deltas` -> `validator_deltas`
  Update wasm tx_(un)bond with VotingPower removal
  refactor VotingPower out of PoS VP
  continue refactoring away VotingPower
  refactor out VotingPower(Delta) in pos crate, distinguish total and validator deltas
  rename slash rate params with `min`, update default `PosParam` values
  Update tests/src/vm_host_env/tx.rs
  Update shared/src/ledger/parameters/mod.rs
  changelog: add #775
  [feat]: Renamed 'fee' CLI arguments to 'gas'.
  make: clean any existing WASM files before WASM build
  changelog: add #719
  changelog: add #674
  pos: use  method
  governance: added  method, fmt, clippy
  changelog: add #570
  [ci] wasm checksums update
  changelog: add #708
  remove `min_duration` from `ParametersConfig`
  remove `staked_ratio` and `pos_inflation_amount` from `ParametersConfig`
  update comments
  [ci] wasm checksums update
  fmt and includes
  updates to accommodate `tm_votes_per_token` relative to namnam
  Update rewards parameters and distribution
  update toml files with latest parameters and values
  fix arb_amount to max out at max tm voting power (fix wasm test bug)
  storage change: last inflation rate -> last inflation token amount
  fix: write all fields in Parameters storage in `init_storage`
  fix initial staked ratio parameter at genesis
  update rust_decimal version + fmt
  clean comments and toml files of basis points
  fix correct inner type of ValidationError::TotalVotingPowerTooLarge
  more decimal_mult function uses
  add fns to multiply Decimal and integer type, return truncated integer
  remove BasisPoints and change relevant parameters to Decimal type
  documentation updates + unused imports removal
  rename reward_rate -> inflation_rate for pos
  specify read or write intentions for parameters storage keys
  add target_staked_ratio to PoS params
  update max inflation rate in params (formerly max_staking_rewards_rate)
  rename `votes_per_token` to `tm_votes_per_token` since this will only be used to interface with tendermint
  add new parameters needed for rewards PD controller to the Parameters storage
  add max_staking_reward_rate to PosParams
  clarify+rename 'epoch_storage_key' as 'epoch_duration_storage_key'
  changelog: add #695
  [ci] wasm checksums update
  addressing 2nd round of review comments
  async tx to change validator commission rate
  [ci] wasm checksums update
  changelog: add #763
  pos/vp: do not return early on unknown permitted key
  changelog: add #582
  add vp validator to wasms
  fix: critical flaw in pos VP that was prematurely returning true
  add max commission rate info to validation and pos state machine test
  validator VP that checks source and signature for a commission rate change tx
  changes in response to review comments
  ...
tzemanovic added a commit that referenced this pull request Dec 2, 2022
Namada 0.11.0

* tag 'v0.11.0': (195 commits)
  Namada 0.11.0
  wasm: update checksums.json
  wasm_for_tests: rebuild all
  fix default chain IDs lengths
  make fmt
  s/anoma/namada in all files
  apps: s/anoma/namada/ in paths
  wasm: update checksums.json
  [ci] wasm checksums update
  changelog: add #733
  docs/overview: update deps graph and add a generated one too
  pos: replace generic types with concrete types from core
  update paths for core split and apply many small fixes
  add new crate "namada_core" for core types, storage_api, tx_env, vp_env
  proto/types: remove an & to placate 1.65 clippy
  changelog: add #807
  tx: sign hash of code rather than full code blob
  maint: fix incorrect clippy placation in previous merge
  fix: use multitoken credit_tokens() in tests
  maint: patch funty 1.2.0
  ci: update rust/docker image
  Fix changelog
  Fix up for namada v0.10.1
  Add changelog
  Add check-abcipp command
  Use ferveo-tpke flag to stop tendermint-rpc being pulled into wasm
  First attempt at fixing shared abcipp
  deleted out of date TS docs
  changelog: add #797
  [ci] wasm checksums update
  changelog: add #707
  remove comments to self
  convert to tm voting power in `update_epoch`
  client: replace voting power with bonded stake in queries, etc
  fix pos state machine test
  clean up naming of "validator total deltas" -> "validator deltas"
  fix client voting power query
  fix `TendermintValidator::power`
  clippy: suppress unused validation vars (may need later)
  fmt + cleanup after cherrypicking commits from #388
  more voting_power removal and accurate variable renaming
  keep voting_power as a possible client query
  change `validator_total_deltas` -> `validator_deltas`
  Update wasm tx_(un)bond with VotingPower removal
  refactor VotingPower out of PoS VP
  continue refactoring away VotingPower
  refactor out VotingPower(Delta) in pos crate, distinguish total and validator deltas
  rename slash rate params with `min`, update default `PosParam` values
  Update tests/src/vm_host_env/tx.rs
  Update shared/src/ledger/parameters/mod.rs
  changelog: add #775
  [feat]: Renamed 'fee' CLI arguments to 'gas'.
  make: clean any existing WASM files before WASM build
  changelog: add #719
  changelog: add #674
  pos: use  method
  governance: added  method, fmt, clippy
  changelog: add #570
  [ci] wasm checksums update
  changelog: add #708
  remove `min_duration` from `ParametersConfig`
  remove `staked_ratio` and `pos_inflation_amount` from `ParametersConfig`
  update comments
  [ci] wasm checksums update
  fmt and includes
  updates to accommodate `tm_votes_per_token` relative to namnam
  Update rewards parameters and distribution
  update toml files with latest parameters and values
  fix arb_amount to max out at max tm voting power (fix wasm test bug)
  storage change: last inflation rate -> last inflation token amount
  fix: write all fields in Parameters storage in `init_storage`
  fix initial staked ratio parameter at genesis
  update rust_decimal version + fmt
  clean comments and toml files of basis points
  fix correct inner type of ValidationError::TotalVotingPowerTooLarge
  more decimal_mult function uses
  add fns to multiply Decimal and integer type, return truncated integer
  remove BasisPoints and change relevant parameters to Decimal type
  documentation updates + unused imports removal
  rename reward_rate -> inflation_rate for pos
  specify read or write intentions for parameters storage keys
  add target_staked_ratio to PoS params
  update max inflation rate in params (formerly max_staking_rewards_rate)
  rename `votes_per_token` to `tm_votes_per_token` since this will only be used to interface with tendermint
  add new parameters needed for rewards PD controller to the Parameters storage
  add max_staking_reward_rate to PosParams
  clarify+rename 'epoch_storage_key' as 'epoch_duration_storage_key'
  changelog: add #695
  [ci] wasm checksums update
  addressing 2nd round of review comments
  async tx to change validator commission rate
  [ci] wasm checksums update
  changelog: add #763
  pos/vp: do not return early on unknown permitted key
  changelog: add #582
  add vp validator to wasms
  fix: critical flaw in pos VP that was prematurely returning true
  add max commission rate info to validation and pos state machine test
  validator VP that checks source and signature for a commission rate change tx
  changes in response to review comments
  ...
tzemanovic added a commit that referenced this pull request Dec 6, 2022
Namada 0.11.0

* tag 'v0.11.0': (195 commits)
  Namada 0.11.0
  wasm: update checksums.json
  wasm_for_tests: rebuild all
  fix default chain IDs lengths
  make fmt
  s/anoma/namada in all files
  apps: s/anoma/namada/ in paths
  wasm: update checksums.json
  [ci] wasm checksums update
  changelog: add #733
  docs/overview: update deps graph and add a generated one too
  pos: replace generic types with concrete types from core
  update paths for core split and apply many small fixes
  add new crate "namada_core" for core types, storage_api, tx_env, vp_env
  proto/types: remove an & to placate 1.65 clippy
  changelog: add #807
  tx: sign hash of code rather than full code blob
  maint: fix incorrect clippy placation in previous merge
  fix: use multitoken credit_tokens() in tests
  maint: patch funty 1.2.0
  ci: update rust/docker image
  Fix changelog
  Fix up for namada v0.10.1
  Add changelog
  Add check-abcipp command
  Use ferveo-tpke flag to stop tendermint-rpc being pulled into wasm
  First attempt at fixing shared abcipp
  deleted out of date TS docs
  changelog: add #797
  [ci] wasm checksums update
  changelog: add #707
  remove comments to self
  convert to tm voting power in `update_epoch`
  client: replace voting power with bonded stake in queries, etc
  fix pos state machine test
  clean up naming of "validator total deltas" -> "validator deltas"
  fix client voting power query
  fix `TendermintValidator::power`
  clippy: suppress unused validation vars (may need later)
  fmt + cleanup after cherrypicking commits from #388
  more voting_power removal and accurate variable renaming
  keep voting_power as a possible client query
  change `validator_total_deltas` -> `validator_deltas`
  Update wasm tx_(un)bond with VotingPower removal
  refactor VotingPower out of PoS VP
  continue refactoring away VotingPower
  refactor out VotingPower(Delta) in pos crate, distinguish total and validator deltas
  rename slash rate params with `min`, update default `PosParam` values
  Update tests/src/vm_host_env/tx.rs
  Update shared/src/ledger/parameters/mod.rs
  changelog: add #775
  [feat]: Renamed 'fee' CLI arguments to 'gas'.
  make: clean any existing WASM files before WASM build
  changelog: add #719
  changelog: add #674
  pos: use  method
  governance: added  method, fmt, clippy
  changelog: add #570
  [ci] wasm checksums update
  changelog: add #708
  remove `min_duration` from `ParametersConfig`
  remove `staked_ratio` and `pos_inflation_amount` from `ParametersConfig`
  update comments
  [ci] wasm checksums update
  fmt and includes
  updates to accommodate `tm_votes_per_token` relative to namnam
  Update rewards parameters and distribution
  update toml files with latest parameters and values
  fix arb_amount to max out at max tm voting power (fix wasm test bug)
  storage change: last inflation rate -> last inflation token amount
  fix: write all fields in Parameters storage in `init_storage`
  fix initial staked ratio parameter at genesis
  update rust_decimal version + fmt
  clean comments and toml files of basis points
  fix correct inner type of ValidationError::TotalVotingPowerTooLarge
  more decimal_mult function uses
  add fns to multiply Decimal and integer type, return truncated integer
  remove BasisPoints and change relevant parameters to Decimal type
  documentation updates + unused imports removal
  rename reward_rate -> inflation_rate for pos
  specify read or write intentions for parameters storage keys
  add target_staked_ratio to PoS params
  update max inflation rate in params (formerly max_staking_rewards_rate)
  rename `votes_per_token` to `tm_votes_per_token` since this will only be used to interface with tendermint
  add new parameters needed for rewards PD controller to the Parameters storage
  add max_staking_reward_rate to PosParams
  clarify+rename 'epoch_storage_key' as 'epoch_duration_storage_key'
  changelog: add #695
  [ci] wasm checksums update
  addressing 2nd round of review comments
  async tx to change validator commission rate
  [ci] wasm checksums update
  changelog: add #763
  pos/vp: do not return early on unknown permitted key
  changelog: add #582
  add vp validator to wasms
  fix: critical flaw in pos VP that was prematurely returning true
  add max commission rate info to validation and pos state machine test
  validator VP that checks source and signature for a commission rate change tx
  changes in response to review comments
  ...
tzemanovic added a commit that referenced this pull request Dec 9, 2022
* bat/eth-0.11.0-merge: (205 commits)
  tiny refactor vote_extensions
  [chore]: Added some docstrings
  Makefile: add core to clippy-abcipp and test-unit-abcipp and fix shared
  [fix] abcipp ethereum_events unit test
  [feat]: Fixed up the abcipp feature flag
  [fix]: Fixed FinalizeBlock method
  more abcipp fixes
  fix `make check-abcipp` and `make clippy-abcipp`
  fix 0.11.0 merge
  move eth-bridge types and storage mods to core
  Namada 0.11.0
  wasm: update checksums.json
  wasm_for_tests: rebuild all
  fix default chain IDs lengths
  make fmt
  s/anoma/namada in all files
  apps: s/anoma/namada/ in paths
  wasm: update checksums.json
  [ci] wasm checksums update
  changelog: add #733
  docs/overview: update deps graph and add a generated one too
  pos: replace generic types with concrete types from core
  update paths for core split and apply many small fixes
  add new crate "namada_core" for core types, storage_api, tx_env, vp_env
  proto/types: remove an & to placate 1.65 clippy
  changelog: add #807
  tx: sign hash of code rather than full code blob
  maint: fix incorrect clippy placation in previous merge
  fix: use multitoken credit_tokens() in tests
  maint: patch funty 1.2.0
  ci: update rust/docker image
  Fix changelog
  Fix up for namada v0.10.1
  Add changelog
  Add check-abcipp command
  Use ferveo-tpke flag to stop tendermint-rpc being pulled into wasm
  First attempt at fixing shared abcipp
  deleted out of date TS docs
  changelog: add #797
  [ci] wasm checksums update
  changelog: add #707
  remove comments to self
  convert to tm voting power in `update_epoch`
  client: replace voting power with bonded stake in queries, etc
  fix pos state machine test
  clean up naming of "validator total deltas" -> "validator deltas"
  fix client voting power query
  fix `TendermintValidator::power`
  clippy: suppress unused validation vars (may need later)
  fmt + cleanup after cherrypicking commits from #388
  more voting_power removal and accurate variable renaming
  keep voting_power as a possible client query
  change `validator_total_deltas` -> `validator_deltas`
  Update wasm tx_(un)bond with VotingPower removal
  refactor VotingPower out of PoS VP
  continue refactoring away VotingPower
  refactor out VotingPower(Delta) in pos crate, distinguish total and validator deltas
  rename slash rate params with `min`, update default `PosParam` values
  Update tests/src/vm_host_env/tx.rs
  Update shared/src/ledger/parameters/mod.rs
  changelog: add #775
  [feat]: Renamed 'fee' CLI arguments to 'gas'.
  make: clean any existing WASM files before WASM build
  changelog: add #719
  changelog: add #674
  pos: use  method
  governance: added  method, fmt, clippy
  changelog: add #570
  [ci] wasm checksums update
  changelog: add #708
  remove `min_duration` from `ParametersConfig`
  remove `staked_ratio` and `pos_inflation_amount` from `ParametersConfig`
  update comments
  [ci] wasm checksums update
  fmt and includes
  updates to accommodate `tm_votes_per_token` relative to namnam
  Update rewards parameters and distribution
  update toml files with latest parameters and values
  fix arb_amount to max out at max tm voting power (fix wasm test bug)
  storage change: last inflation rate -> last inflation token amount
  fix: write all fields in Parameters storage in `init_storage`
  fix initial staked ratio parameter at genesis
  update rust_decimal version + fmt
  clean comments and toml files of basis points
  fix correct inner type of ValidationError::TotalVotingPowerTooLarge
  more decimal_mult function uses
  add fns to multiply Decimal and integer type, return truncated integer
  remove BasisPoints and change relevant parameters to Decimal type
  documentation updates + unused imports removal
  rename reward_rate -> inflation_rate for pos
  specify read or write intentions for parameters storage keys
  add target_staked_ratio to PoS params
  update max inflation rate in params (formerly max_staking_rewards_rate)
  rename `votes_per_token` to `tm_votes_per_token` since this will only be used to interface with tendermint
  add new parameters needed for rewards PD controller to the Parameters storage
  add max_staking_reward_rate to PosParams
  clarify+rename 'epoch_storage_key' as 'epoch_duration_storage_key'
  changelog: add #695
  [ci] wasm checksums update
  addressing 2nd round of review comments
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PoS - refactor the crate's API
4 participants