Skip to content

Commit

Permalink
chore: no network in policies + use v13 as export
Browse files Browse the repository at this point in the history
  • Loading branch information
LesnyRumcajs committed May 14, 2024
1 parent 6ab7a3c commit 89f740e
Show file tree
Hide file tree
Showing 10 changed files with 166 additions and 213 deletions.
38 changes: 20 additions & 18 deletions fil_actor_interface/src/builtin/miner/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -139,20 +139,22 @@ impl State {
) -> anyhow::Result<()> {
match self {
State::V8(st) => st.load_deadlines(&store)?.for_each(
&from_policy_v10_to_v9(policy),
&from_policy_v13_to_v9(policy),
&store,
|idx, dl| f(idx, Deadline::V8(dl)),
),
State::V9(st) => st.load_deadlines(&store)?.for_each(
&from_policy_v10_to_v9(policy),
&from_policy_v13_to_v9(policy),
&store,
|idx, dl| f(idx, Deadline::V9(dl)),
),
State::V10(st) => st
.load_deadlines(&store)?
.for_each(policy, &store, |idx, dl| f(idx, Deadline::V10(dl))),
State::V10(st) => st.load_deadlines(&store)?.for_each(
&from_policy_v13_to_v10(policy),
&store,
|idx, dl| f(idx, Deadline::V10(dl)),
),
State::V11(st) => st.load_deadlines(&store)?.for_each(
&from_policy_v10_to_v11(policy),
&from_policy_v13_to_v11(policy),
&store,
|idx, dl| f(idx, Deadline::V11(dl)),
),
Expand All @@ -175,19 +177,19 @@ impl State {
match self {
State::V8(st) => Ok(st
.load_deadlines(store)?
.load_deadline(&from_policy_v10_to_v9(policy), store, idx)
.load_deadline(&from_policy_v13_to_v9(policy), store, idx)
.map(Deadline::V8)?),
State::V9(st) => Ok(st
.load_deadlines(store)?
.load_deadline(&from_policy_v10_to_v9(policy), store, idx)
.load_deadline(&from_policy_v13_to_v9(policy), store, idx)
.map(Deadline::V9)?),
State::V10(st) => Ok(st
.load_deadlines(store)?
.load_deadline(policy, store, idx)
.load_deadline(&from_policy_v13_to_v10(policy), store, idx)
.map(Deadline::V10)?),
State::V11(st) => Ok(st
.load_deadlines(store)?
.load_deadline(&from_policy_v10_to_v11(policy), store, idx)
.load_deadline(&from_policy_v13_to_v11(policy), store, idx)
.map(Deadline::V11)?),
State::V12(st) => Ok(st
.load_deadlines(store)?
Expand Down Expand Up @@ -344,21 +346,21 @@ impl State {
pub fn deadline_info(&self, policy: &Policy, current_epoch: ChainEpoch) -> DeadlineInfo {
match self {
State::V8(st) => st
.deadline_info(&from_policy_v10_to_v9(policy), current_epoch)
.deadline_info(&from_policy_v13_to_v9(policy), current_epoch)
.into(),
State::V9(st) => st
.deadline_info(&from_policy_v10_to_v9(policy), current_epoch)
.deadline_info(&from_policy_v13_to_v9(policy), current_epoch)
.into(),
State::V10(st) => st
.deadline_info(&from_policy_v13_to_v10(policy), current_epoch)
.into(),
State::V10(st) => st.deadline_info(policy, current_epoch).into(),
State::V11(st) => st
.deadline_info(&from_policy_v10_to_v11(policy), current_epoch)
.deadline_info(&from_policy_v13_to_v11(policy), current_epoch)
.into(),
State::V12(st) => st
.deadline_info(&from_policy_v10_to_v12(policy), current_epoch)
.into(),
State::V13(st) => st
.deadline_info(&from_policy_v10_to_v13(policy), current_epoch)
.deadline_info(&from_policy_v13_to_v12(policy), current_epoch)
.into(),
State::V13(st) => st.deadline_info(policy, current_epoch).into(),
}
}
}
Expand Down
20 changes: 10 additions & 10 deletions fil_actor_interface/src/builtin/power/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -209,41 +209,41 @@ impl State {
) -> anyhow::Result<bool> {
match self {
State::V8(st) => st.miner_nominal_power_meets_consensus_minimum(
&from_policy_v10_to_v9(policy),
&from_policy_v13_to_v9(policy),
&s,
miner,
),
State::V9(st) => st.miner_nominal_power_meets_consensus_minimum(
&from_policy_v10_to_v9(policy),
&from_policy_v13_to_v9(policy),
&s,
miner,
),
State::V10(st) => st
.miner_nominal_power_meets_consensus_minimum(policy, &s, miner.id()?)
.miner_nominal_power_meets_consensus_minimum(
&from_policy_v13_to_v10(policy),
&s,
miner.id()?,
)
.map(|(_, bool_val)| bool_val)
.map_err(|e| anyhow::anyhow!("{}", e)),
State::V11(st) => st
.miner_nominal_power_meets_consensus_minimum(
&from_policy_v10_to_v11(policy),
&from_policy_v13_to_v11(policy),
&s,
miner.id()?,
)
.map(|(_, bool_val)| bool_val)
.map_err(|e| anyhow::anyhow!("{}", e)),
State::V12(st) => st
.miner_nominal_power_meets_consensus_minimum(
&from_policy_v10_to_v12(policy),
&from_policy_v13_to_v12(policy),
&s,
miner.id()?,
)
.map(|(_, bool_val)| bool_val)
.map_err(|e| anyhow::anyhow!("{}", e)),
State::V13(st) => st
.miner_nominal_power_meets_consensus_minimum(
&from_policy_v10_to_v13(policy),
&s,
miner.id()?,
)
.miner_nominal_power_meets_consensus_minimum(policy, &s, miner.id()?)
.map(|(_, bool_val)| bool_val)
.map_err(|e| anyhow::anyhow!("{}", e)),
}
Expand Down
14 changes: 7 additions & 7 deletions fil_actor_interface/src/builtin/reward/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
// SPDX-License-Identifier: Apache-2.0, MIT

use crate::convert::{
from_padded_piece_size_v2_to_v3, from_padded_piece_size_v2_to_v4, from_policy_v10_to_v11,
from_policy_v10_to_v12, from_policy_v10_to_v13, from_token_v2_to_v3, from_token_v2_to_v4,
from_token_v3_to_v2, from_token_v4_to_v2,
from_padded_piece_size_v2_to_v3, from_padded_piece_size_v2_to_v4, from_policy_v13_to_v11,
from_policy_v13_to_v12, from_token_v2_to_v3, from_token_v2_to_v4, from_token_v3_to_v2,
from_token_v4_to_v2,
};
use crate::io::get_obj;
use anyhow::Context;
Expand All @@ -24,7 +24,7 @@ use num::BigInt;
use serde::Serialize;
use std::cmp::max;

use fil_actors_shared::v10::runtime::Policy;
use crate::Policy;

/// Reward actor address.
pub const ADDRESS: Address = Address::new_id(2);
Expand Down Expand Up @@ -227,7 +227,7 @@ impl State {
),
State::V11(_) => {
let (min, max) = deal_provider_collateral_bounds_v11(
&from_policy_v10_to_v11(policy),
&from_policy_v13_to_v11(policy),
from_padded_piece_size_v2_to_v3(size),
raw_byte_power,
baseline_power,
Expand All @@ -237,7 +237,7 @@ impl State {
}
State::V12(_) => {
let (min, max) = deal_provider_collateral_bounds_v12(
&from_policy_v10_to_v12(policy),
&from_policy_v13_to_v12(policy),
from_padded_piece_size_v2_to_v4(size),
raw_byte_power,
baseline_power,
Expand All @@ -247,7 +247,7 @@ impl State {
}
State::V13(_) => {
let (min, max) = deal_provider_collateral_bounds_v13(
&from_policy_v10_to_v13(policy),
policy,
from_padded_piece_size_v2_to_v4(size),
raw_byte_power,
baseline_power,
Expand Down
89 changes: 58 additions & 31 deletions fil_actor_interface/src/convert.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@
use fil_actors_shared::v10::runtime::Policy as PolicyV10;
use fil_actors_shared::v11::runtime::Policy as PolicyV11;
use fil_actors_shared::v11::runtime::ProofSet as ProofSetV11;
use fil_actors_shared::v12::runtime::policy_constants;
use fil_actors_shared::v12::runtime::Policy as PolicyV12;
use fil_actors_shared::v12::runtime::ProofSet as ProofSetV12;
use fil_actors_shared::v13::runtime::Policy as PolicyV13;
use fil_actors_shared::v13::runtime::ProofSet as ProofSetV13;
use fil_actors_shared::v9::runtime::Policy as PolicyV9;
use fvm_shared::address::Address as AddressV2;
use fvm_shared::econ::TokenAmount as TokenAmountV2;
Expand Down Expand Up @@ -147,7 +145,25 @@ pub fn from_filter_estimate_v4_to_v2(fe: FilterEstimateV4) -> FilterEstimateV2 {
}
}

pub fn from_policy_v10_to_v9(policy: &PolicyV10) -> PolicyV9 {
pub fn from_policy_v13_to_v9(policy: &PolicyV13) -> PolicyV9 {
let valid_post_proof_type = policy
.valid_post_proof_type
.clone()
.into_inner()
.iter()
.enumerate()
.filter_map(|(i, &p)| if p { Some((i as i64).into()) } else { None })
.collect();

let valid_pre_commit_proof_type = policy
.valid_pre_commit_proof_type
.clone()
.into_inner()
.iter()
.enumerate()
.filter_map(|(i, &p)| if p { Some((i as i64).into()) } else { None })
.collect();

PolicyV9 {
max_aggregated_sectors: policy.max_aggregated_sectors,
min_aggregated_sectors: policy.min_aggregated_sectors,
Expand Down Expand Up @@ -181,16 +197,8 @@ pub fn from_policy_v10_to_v9(policy: &PolicyV10) -> PolicyV9 {
consensus_fault_ineligibility_duration: policy.consensus_fault_ineligibility_duration,
new_sectors_per_period_max: policy.new_sectors_per_period_max,
chain_finality: policy.chain_finality,
valid_post_proof_type: policy
.valid_post_proof_type
.iter()
.map(|proof| from_reg_post_proof_v3_to_v2(*proof))
.collect(),
valid_pre_commit_proof_type: policy
.valid_pre_commit_proof_type
.iter()
.map(|proof| from_reg_seal_proof_v3_to_v2(*proof))
.collect(),
valid_post_proof_type,
valid_pre_commit_proof_type,
minimum_verified_allocation_size: policy.minimum_verified_allocation_size.clone(),
minimum_verified_allocation_term: policy.minimum_verified_allocation_term,
maximum_verified_allocation_term: policy.maximum_verified_allocation_term,
Expand All @@ -204,18 +212,26 @@ pub fn from_policy_v10_to_v9(policy: &PolicyV10) -> PolicyV9 {
}
}

pub fn from_policy_v10_to_v11(policy: &PolicyV10) -> PolicyV11 {
let mut valid_post_proof_type = ProofSetV11::default_post_proofs();
let mut valid_pre_commit_proof_type = ProofSetV11::default_post_proofs();
policy
pub fn from_policy_v13_to_v10(policy: &PolicyV13) -> PolicyV10 {
let valid_post_proof_type = policy
.valid_post_proof_type
.clone()
.into_inner()
.iter()
.for_each(|proof| valid_post_proof_type.insert(*proof));
policy
.enumerate()
.filter_map(|(i, &p)| if p { Some((i as i64).into()) } else { None })
.collect();

let valid_pre_commit_proof_type = policy
.valid_pre_commit_proof_type
.clone()
.into_inner()
.iter()
.for_each(|proof| valid_pre_commit_proof_type.insert(*proof));
PolicyV11 {
.enumerate()
.filter_map(|(i, &p)| if p { Some((i as i64).into()) } else { None })
.collect();

PolicyV10 {
max_aggregated_sectors: policy.max_aggregated_sectors,
min_aggregated_sectors: policy.min_aggregated_sectors,
max_aggregated_proof_size: policy.max_aggregated_proof_size,
Expand Down Expand Up @@ -263,18 +279,24 @@ pub fn from_policy_v10_to_v11(policy: &PolicyV10) -> PolicyV11 {
}
}

pub fn from_policy_v10_to_v12(policy: &PolicyV10) -> PolicyV12 {
let mut valid_post_proof_type = ProofSetV12::default_post_proofs();
let mut valid_pre_commit_proof_type = ProofSetV12::default_post_proofs();
pub fn from_policy_v13_to_v11(policy: &PolicyV13) -> PolicyV11 {
let mut valid_post_proof_type = ProofSetV11::default();
policy
.valid_post_proof_type
.clone()
.into_inner()
.iter()
.for_each(|proof| valid_post_proof_type.insert(*proof));

let mut valid_pre_commit_proof_type = ProofSetV11::default();
policy
.valid_pre_commit_proof_type
.clone()
.into_inner()
.iter()
.for_each(|proof| valid_pre_commit_proof_type.insert(*proof));
PolicyV12 {

PolicyV11 {
max_aggregated_sectors: policy.max_aggregated_sectors,
min_aggregated_sectors: policy.min_aggregated_sectors,
max_aggregated_proof_size: policy.max_aggregated_proof_size,
Expand All @@ -295,7 +317,6 @@ pub fn from_policy_v10_to_v12(policy: &PolicyV10) -> PolicyV12 {
addressed_partitions_max: policy.addressed_partitions_max,
declarations_max: policy.declarations_max,
addressed_sectors_max: policy.addressed_sectors_max,
posted_partitions_max: policy_constants::POSTED_PARTITIONS_MAX,
max_pre_commit_randomness_lookback: policy.max_pre_commit_randomness_lookback,
pre_commit_challenge_delay: policy.pre_commit_challenge_delay,
wpost_challenge_lookback: policy.wpost_challenge_lookback,
Expand Down Expand Up @@ -323,18 +344,24 @@ pub fn from_policy_v10_to_v12(policy: &PolicyV10) -> PolicyV12 {
}
}

pub fn from_policy_v10_to_v13(policy: &PolicyV10) -> PolicyV13 {
let mut valid_post_proof_type = ProofSetV13::default_post_proofs();
let mut valid_pre_commit_proof_type = ProofSetV13::default_post_proofs();
pub fn from_policy_v13_to_v12(policy: &PolicyV13) -> PolicyV12 {
let mut valid_post_proof_type = ProofSetV12::default();
policy
.valid_post_proof_type
.clone()
.into_inner()
.iter()
.for_each(|proof| valid_post_proof_type.insert(*proof));

let mut valid_pre_commit_proof_type = ProofSetV12::default();
policy
.valid_pre_commit_proof_type
.clone()
.into_inner()
.iter()
.for_each(|proof| valid_pre_commit_proof_type.insert(*proof));
PolicyV13 {

PolicyV12 {
max_aggregated_sectors: policy.max_aggregated_sectors,
min_aggregated_sectors: policy.min_aggregated_sectors,
max_aggregated_proof_size: policy.max_aggregated_proof_size,
Expand All @@ -355,7 +382,6 @@ pub fn from_policy_v10_to_v13(policy: &PolicyV10) -> PolicyV13 {
addressed_partitions_max: policy.addressed_partitions_max,
declarations_max: policy.declarations_max,
addressed_sectors_max: policy.addressed_sectors_max,
posted_partitions_max: policy_constants::POSTED_PARTITIONS_MAX,
max_pre_commit_randomness_lookback: policy.max_pre_commit_randomness_lookback,
pre_commit_challenge_delay: policy.pre_commit_challenge_delay,
wpost_challenge_lookback: policy.wpost_challenge_lookback,
Expand All @@ -380,5 +406,6 @@ pub fn from_policy_v10_to_v13(policy: &PolicyV10) -> PolicyV13 {
prov_collateral_percent_supply_denom: policy.prov_collateral_percent_supply_denom,
market_default_allocation_term_buffer: policy.market_default_allocation_term_buffer,
minimum_consensus_power: policy.minimum_consensus_power.clone(),
posted_partitions_max: policy.posted_partitions_max,
}
}
2 changes: 1 addition & 1 deletion fil_actor_interface/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ mod r#mod;

pub use self::builtin::*;
pub use builtin::ActorCids;
pub use fil_actors_shared::v10::runtime::Policy;
pub use fil_actors_shared::v13::runtime::Policy;
pub use r#mod::NetworkManifest;
Loading

0 comments on commit 89f740e

Please sign in to comment.