From 9786c4adaf02fbbb778103adec30f1b319a40586 Mon Sep 17 00:00:00 2001 From: katelyn martin Date: Tue, 12 Mar 2024 12:30:11 -0400 Subject: [PATCH 1/4] =?UTF-8?q?refactor(staking):=20=F0=9F=A4=9D=20bind=20?= =?UTF-8?q?`set=5Fdelegation=5Fchanges`=20params=20to=20variables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/component/stake/src/component/stake.rs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/crates/core/component/stake/src/component/stake.rs b/crates/core/component/stake/src/component/stake.rs index 78c74d0894..8b27074960 100644 --- a/crates/core/component/stake/src/component/stake.rs +++ b/crates/core/component/stake/src/component/stake.rs @@ -140,15 +140,12 @@ impl Component for Staking { ) { let state = Arc::get_mut(state).expect("state should be unique"); // Write the delegation changes for this block. - state - .set_delegation_changes( - end_block - .height - .try_into() - .expect("should be able to convert i64 into block height"), - state.get_delegation_changes_tally().clone(), - ) - .await; + let height = end_block + .height + .try_into() + .expect("should be able to convert i64 into block height"); + let changes = state.get_delegation_changes_tally().clone(); + state.set_delegation_changes(height, changes).await; } #[instrument(name = "staking", skip(state))] From 838887d69150847ee34ada08410f735f453a5ef8 Mon Sep 17 00:00:00 2001 From: katelyn martin Date: Tue, 12 Mar 2024 12:32:21 -0400 Subject: [PATCH 2/4] =?UTF-8?q?refactor(staking):=20=F0=9F=8D=B4=20remove?= =?UTF-8?q?=20needless=20`Clone::clone()`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/core/component/stake/src/component/stake.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/core/component/stake/src/component/stake.rs b/crates/core/component/stake/src/component/stake.rs index 8b27074960..dad4e30eb9 100644 --- a/crates/core/component/stake/src/component/stake.rs +++ b/crates/core/component/stake/src/component/stake.rs @@ -144,7 +144,7 @@ impl Component for Staking { .height .try_into() .expect("should be able to convert i64 into block height"); - let changes = state.get_delegation_changes_tally().clone(); + let changes = state.get_delegation_changes_tally(); state.set_delegation_changes(height, changes).await; } From 013e315e8d63e10921adc569a0273f156da9828e Mon Sep 17 00:00:00 2001 From: katelyn martin Date: Tue, 12 Mar 2024 13:18:53 -0400 Subject: [PATCH 3/4] =?UTF-8?q?chore(staking):=20=F0=9F=93=98=20doc=20comm?= =?UTF-8?q?ent=20for=20`end=5Fblock`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/core/component/stake/src/component/stake.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/core/component/stake/src/component/stake.rs b/crates/core/component/stake/src/component/stake.rs index dad4e30eb9..de4d5d97f3 100644 --- a/crates/core/component/stake/src/component/stake.rs +++ b/crates/core/component/stake/src/component/stake.rs @@ -133,18 +133,19 @@ impl Component for Staking { .expect("should be able to track uptime"); } + /// Writes the delegation changes for this block. #[instrument(name = "staking", skip(state, end_block))] async fn end_block( state: &mut Arc, end_block: &abci::request::EndBlock, ) { let state = Arc::get_mut(state).expect("state should be unique"); - // Write the delegation changes for this block. let height = end_block .height .try_into() .expect("should be able to convert i64 into block height"); let changes = state.get_delegation_changes_tally(); + state.set_delegation_changes(height, changes).await; } From 1d3cb9846437c3b8f7d1d9211d1a6e4cf0724773 Mon Sep 17 00:00:00 2001 From: katelyn martin Date: Tue, 12 Mar 2024 13:20:04 -0400 Subject: [PATCH 4/4] =?UTF-8?q?refactor(staking):=20=F0=9F=98=8A=20tracing?= =?UTF-8?q?=20telemetry=20for=20`set=5Fdelegation=5Fchanges`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/component/stake/src/component/stake.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/crates/core/component/stake/src/component/stake.rs b/crates/core/component/stake/src/component/stake.rs index de4d5d97f3..7b9e317e06 100644 --- a/crates/core/component/stake/src/component/stake.rs +++ b/crates/core/component/stake/src/component/stake.rs @@ -461,11 +461,19 @@ pub trait RateDataWrite: StateWrite { ); } + #[tracing::instrument( + level = "trace", + skip_all, + fields( + %height, + delegations = ?changes.delegations, + undelegations = ?changes.undelegations, + ) + )] async fn set_delegation_changes(&mut self, height: block::Height, changes: DelegationChanges) { - self.put( - state_key::chain::delegation_changes::by_height(height.value()), - changes, - ); + let key = state_key::chain::delegation_changes::by_height(height.value()); + tracing::trace!(%key, "setting delegation changes"); + self.put(key, changes); } }