diff --git a/.github/actions/build_env/action.yaml b/.github/actions/build_env/action.yaml index 0b37b9f8b..ad45751de 100644 --- a/.github/actions/build_env/action.yaml +++ b/.github/actions/build_env/action.yaml @@ -3,7 +3,6 @@ description: initialize ubuntu environment runs: using: composite steps: - - name: free disk space uses: jlumbroso/free-disk-space@main with: diff --git a/README.md b/README.md index 1f343c28a..fb518badd 100644 --- a/README.md +++ b/README.md @@ -23,4 +23,4 @@ In general, we have a light touch approach with our upstream dependencies, and o Smart Contract Devs should [start here](./docs/publishing_smart_contracts.md). -Core Devs should [start here](./docs/core_devs/dev_quick_start.md). \ No newline at end of file +Core Devs should [start here](./docs/core_devs/dev_quick_start.md). diff --git a/framework/libra-framework/sources/ol_sources/epoch_boundary.move b/framework/libra-framework/sources/ol_sources/epoch_boundary.move index 61521c28c..7a96626f2 100644 --- a/framework/libra-framework/sources/ol_sources/epoch_boundary.move +++ b/framework/libra-framework/sources/ol_sources/epoch_boundary.move @@ -268,19 +268,21 @@ module diem_framework::epoch_boundary { // since we reserved some fees to go to the oracle miners // we take the NET REWARD of the validators, since it is the equivalent of what the validator would earn net of entry fee. - let net_val_reward = nominal_reward_to_vals - entry_fee; - - if (coin::value(&all_fees) > net_val_reward) { - let oracle_budget = coin::extract(&mut all_fees, net_val_reward); - status.oracle_budget = coin::value(&oracle_budget); - - let (count, amount) = oracle::epoch_boundary(root, &mut oracle_budget); - status.oracle_pay_count = count; - status.oracle_pay_amount = amount; - status.oracle_pay_success = (amount > 0); - // in case there is any dust left - ol_account::merge_coins(&mut all_fees, oracle_budget); - }; + if (nominal_reward_to_vals > entry_fee) { + let net_val_reward = nominal_reward_to_vals - entry_fee; + + if (coin::value(&all_fees) > net_val_reward) { + let oracle_budget = coin::extract(&mut all_fees, net_val_reward); + status.oracle_budget = coin::value(&oracle_budget); + + let (count, amount) = oracle::epoch_boundary(root, &mut oracle_budget); + status.oracle_pay_count = count; + status.oracle_pay_amount = amount; + status.oracle_pay_success = (amount > 0); + // in case there is any dust left + ol_account::merge_coins(&mut all_fees, oracle_budget); + }; + }; // remainder gets burnt according to fee maker preferences let (b_success, b_fees) = burn::epoch_burn_fees(root, &mut all_fees); diff --git a/framework/libra-framework/sources/ol_sources/grade.move b/framework/libra-framework/sources/ol_sources/grade.move index 70993ec64..4e68a0dec 100644 --- a/framework/libra-framework/sources/ol_sources/grade.move +++ b/framework/libra-framework/sources/ol_sources/grade.move @@ -90,7 +90,7 @@ module ol_framework::grade { let net = proposed - failed; let net_props_vs_leader= fixed_point32::create_from_rational(net, highest_net_props); - fixed_point32::multiply_u64(100, net_props_vs_leader) > FAILED_PROPS_THRESHOLD_PCT + fixed_point32::multiply_u64(100, net_props_vs_leader) > TRAILING_VALIDATOR_THRESHOLD } else { false } } }