From 2ce7d6c3a06441e6ca412a6fe47608a86a0b092c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20W=C3=B3jcik?= Date: Wed, 6 Mar 2024 13:34:08 +0100 Subject: [PATCH] update test to include rewards distribution --- .../src/test/system_contracts/auction/bids.rs | 24 +++++++++++++++++-- types/src/system/auction/constants.rs | 2 ++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/execution_engine_testing/tests/src/test/system_contracts/auction/bids.rs b/execution_engine_testing/tests/src/test/system_contracts/auction/bids.rs index 742c7133da..d85f82e34e 100644 --- a/execution_engine_testing/tests/src/test/system_contracts/auction/bids.rs +++ b/execution_engine_testing/tests/src/test/system_contracts/auction/bids.rs @@ -1,4 +1,5 @@ use std::{collections::BTreeSet, iter::FromIterator}; +use std::collections::BTreeMap; use assert_matches::assert_matches; use num_traits::{One, Zero}; @@ -31,13 +32,15 @@ use casper_types::{ self, auction::{ self, BidsExt, DelegationRate, EraValidators, Error as AuctionError, UnbondingPurses, - ValidatorWeights, ARG_AMOUNT, ARG_DELEGATION_RATE, ARG_DELEGATOR, ARG_NEW_PUBLIC_KEY, - ARG_NEW_VALIDATOR, ARG_PUBLIC_KEY, ARG_VALIDATOR, ERA_ID_KEY, INITIAL_ERA_ID, + ValidatorWeights, ARG_AMOUNT, ARG_DELEGATION_RATE, ARG_DELEGATOR, ARG_ENTRY_POINT, + ARG_NEW_PUBLIC_KEY, ARG_NEW_VALIDATOR, ARG_PUBLIC_KEY, ARG_VALIDATOR, ERA_ID_KEY, + INITIAL_ERA_ID, METHOD_DISTRIBUTE, }, }, EntityAddr, EraId, GenesisAccount, GenesisConfigBuilder, GenesisValidator, Key, Motes, ProtocolVersion, PublicKey, SecretKey, U256, U512, }; +use casper_types::system::auction::ARG_REWARDS_MAP; const ARG_TARGET: &str = "target"; @@ -4632,4 +4635,21 @@ fn should_change_validator_bid_public_key() { .delegator_by_public_keys(&NON_FOUNDER_VALIDATOR_2_PK, &BID_ACCOUNT_2_PK) .expect("should have account2 delegation"); assert_eq!(delegator.staked_amount(), U512::from(DELEGATE_AMOUNT_2)); + + // distribute rewards + let total_payout = builder.base_round_reward(None); + let mut rewards = BTreeMap::new(); + rewards.insert(NON_FOUNDER_VALIDATOR_1_PK.clone(), total_payout); + let distribute_request = ExecuteRequestBuilder::contract_call_by_hash( + *SYSTEM_ADDR, + builder.get_auction_contract_hash(), + METHOD_DISTRIBUTE, + runtime_args! { + ARG_ENTRY_POINT => METHOD_DISTRIBUTE, + ARG_REWARDS_MAP => rewards + }, + ) + .build(); + + builder.exec(distribute_request).commit().expect_success(); } diff --git a/types/src/system/auction/constants.rs b/types/src/system/auction/constants.rs index b3cc177eaa..6daff9cd61 100644 --- a/types/src/system/auction/constants.rs +++ b/types/src/system/auction/constants.rs @@ -60,6 +60,8 @@ pub const ARG_ERA_END_TIMESTAMP_MILLIS: &str = "era_end_timestamp_millis"; pub const ARG_EVICTED_VALIDATORS: &str = "evicted_validators"; /// Named constant for `rewards_map`; pub const ARG_REWARDS_MAP: &str = "rewards_map"; +/// Named constant for `entry_point`; +pub const ARG_ENTRY_POINT: &str = "entry_point"; /// Named constant for method `get_era_validators`. pub const METHOD_GET_ERA_VALIDATORS: &str = "get_era_validators";