From 4c65ef3a2f834b6563ce7ae89b4c2d356d6aac12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?= Date: Thu, 3 Feb 2022 09:52:44 +0000 Subject: [PATCH] Emit original bond as part of rewarding event --- .../cosmwasm-smart-contracts/mixnet-contract/src/events.rs | 7 +++++++ contracts/mixnet/src/rewards/transactions.rs | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/events.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/events.rs index f6034e801c..25f1a022a4 100644 --- a/common/cosmwasm-smart-contracts/mixnet-contract/src/events.rs +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/events.rs @@ -52,6 +52,8 @@ pub const NEW_MIXNODE_ACTIVE_SET_SIZE_KEY: &str = "new_mixnode_active_set_size"; pub const INTERVAL_ID_KEY: &str = "interval_id"; pub const TOTAL_MIXNODE_REWARD_KEY: &str = "total_node_reward"; pub const OPERATOR_REWARD_KEY: &str = "operator_reward"; +pub const TOTAL_PLEDGE_KEY: &str = "pledge"; +pub const TOTAL_DELEGATIONS_KEY: &str = "delegated"; pub const LAMBDA_KEY: &str = "lambda"; pub const SIGMA_KEY: &str = "sigma"; pub const DISTRIBUTED_DELEGATION_REWARDS_KEY: &str = "distributed_delegation_rewards"; @@ -271,10 +273,13 @@ pub fn new_zero_uptime_mix_operator_rewarding_event( .add_attribute(NO_REWARD_REASON_KEY, ZERO_UPTIME_VALUE) } +#[allow(clippy::too_many_arguments)] pub fn new_mix_operator_rewarding_event( interval_id: u32, identity: IdentityKeyRef<'_>, node_reward_result: NodeRewardResult, + node_pledge: Uint128, + node_delegation: Uint128, operator_reward: Uint128, delegation_rewards_distributed: Uint128, further_delegations: bool, @@ -282,6 +287,8 @@ pub fn new_mix_operator_rewarding_event( Event::new(OPERATOR_REWARDING_EVENT_TYPE) .add_attribute(INTERVAL_ID_KEY, interval_id.to_string()) .add_attribute(NODE_IDENTITY_KEY, identity) + .add_attribute(TOTAL_PLEDGE_KEY, node_pledge) + .add_attribute(TOTAL_DELEGATIONS_KEY, node_delegation) .add_attribute( TOTAL_MIXNODE_REWARD_KEY, node_reward_result.reward().to_string(), diff --git a/contracts/mixnet/src/rewards/transactions.rs b/contracts/mixnet/src/rewards/transactions.rs index e166155385..258fac586c 100644 --- a/contracts/mixnet/src/rewards/transactions.rs +++ b/contracts/mixnet/src/rewards/transactions.rs @@ -260,6 +260,9 @@ pub(crate) fn try_reward_mixnode( ); } + let node_pledge = current_bond.pledge_amount.amount; + let node_delegation = current_bond.total_delegation.amount; + // check if it has non-zero uptime if params.uptime() == 0 { storage::REWARDING_STATUS.save( @@ -315,6 +318,8 @@ pub(crate) fn try_reward_mixnode( interval_id, &mix_identity, node_reward_result, + node_pledge, + node_delegation, operator_reward, total_delegator_reward, further_delegations,