Skip to content

Commit

Permalink
Use V17 fil actor state crates (#4856)
Browse files Browse the repository at this point in the history
  • Loading branch information
sudo-shashank authored Oct 8, 2024
1 parent 343a4b6 commit aef58ab
Show file tree
Hide file tree
Showing 12 changed files with 228 additions and 41 deletions.
56 changes: 28 additions & 28 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 12 additions & 12 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,18 +48,18 @@ directories = "5"
displaydoc = "0.2"
ethereum-types = "0.15"
ez-jsonrpc-types = "0.3"
fil_actor_account_state = { version = "16.0.1" }
fil_actor_cron_state = { version = "16.0.1" }
fil_actor_datacap_state = { version = "16.0.1" }
fil_actor_init_state = { version = "16.0.1" }
fil_actor_interface = { version = "16.0.1" }
fil_actor_market_state = { version = "16.0.1" }
fil_actor_miner_state = { version = "16.0.1" }
fil_actor_power_state = { version = "16.0.1" }
fil_actor_reward_state = { version = "16.0.1" }
fil_actor_system_state = { version = "16.0.1" }
fil_actor_verifreg_state = { version = "16.0.1" }
fil_actors_shared = { version = "16.0.1", features = ["json"] }
fil_actor_account_state = { version = "17.0.0" }
fil_actor_cron_state = { version = "17.0.0" }
fil_actor_datacap_state = { version = "17.0.0" }
fil_actor_init_state = { version = "17.0.0" }
fil_actor_interface = { version = "17.0.0" }
fil_actor_market_state = { version = "17.0.0" }
fil_actor_miner_state = { version = "17.0.0" }
fil_actor_power_state = { version = "17.0.0" }
fil_actor_reward_state = { version = "17.0.0" }
fil_actor_system_state = { version = "17.0.0" }
fil_actor_verifreg_state = { version = "17.0.0" }
fil_actors_shared = { version = "17.0.0", features = ["json"] }
flume = "0.11"
fs_extra = "1"
futures = "0.3"
Expand Down
1 change: 1 addition & 0 deletions src/rpc/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ from2internal! {
fil_actors_shared::v12::ActorError,
fil_actors_shared::v13::ActorError,
fil_actors_shared::v14::ActorError,
fil_actors_shared::v15::ActorError,
serde_json::Error,
jsonrpsee::core::client::error::Error,
}
Expand Down
11 changes: 10 additions & 1 deletion src/rpc/methods/f3.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ use ahash::{HashMap, HashSet};
use fil_actor_interface::{
convert::{
from_policy_v13_to_v10, from_policy_v13_to_v11, from_policy_v13_to_v12,
from_policy_v13_to_v14, from_policy_v13_to_v9,
from_policy_v13_to_v14, from_policy_v13_to_v15, from_policy_v13_to_v9,
},
miner, power,
};
Expand Down Expand Up @@ -380,6 +380,15 @@ impl RpcMethod<1> for GetPowerTable {
&from_policy_v13_to_v14(&ctx.chain_config().policy)
);
}
power::State::V15(s) => {
handle_miner_state_v12_on!(
v15,
id_power_worker_mappings,
&ts,
s,
&from_policy_v13_to_v15(&ctx.chain_config().policy)
);
}
}
let mut power_entries = vec![];
for (id, power, worker) in id_power_worker_mappings {
Expand Down
64 changes: 64 additions & 0 deletions src/rpc/methods/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,24 @@ impl RpcMethod<2> for StateLookupRobustAddress {
.context("Robust address not found")?;
Ok(robust_addr)
}
init::State::V15(state) => {
let map = fil_actor_init_state::v15::AddressMap::load(
&store,
&state.address_map,
fil_actors_shared::v15::DEFAULT_HAMT_CONFIG,
"address_map",
)
.context("Failed to load address map")?;
map.for_each(|addr, v| {
if *v == id_addr_decoded {
robust_addr = addr.into();
return Ok(());
}
Ok(())
})
.context("Robust address not found")?;
Ok(robust_addr)
}
}
} else {
Ok(Address::default())
Expand Down Expand Up @@ -794,6 +812,10 @@ impl RpcMethod<2> for StateMinerAvailableBalance {
let state = miner::State::load(ctx.store(), actor.code, actor.state)?;
let actor_balance: TokenAmount = actor.balance.clone().into();
let (vested, available): (TokenAmount, TokenAmount) = match &state {
miner::State::V15(s) => (
s.check_vested_funds(ctx.store(), ts.epoch())?.into(),
s.get_available_balance(&actor_balance.into())?.into(),
),
miner::State::V14(s) => (
s.check_vested_funds(ctx.store(), ts.epoch())?.into(),
s.get_available_balance(&actor_balance.into())?.into(),
Expand Down Expand Up @@ -879,6 +901,8 @@ impl RpcMethod<3> for StateMinerInitialPledgeCollateral {
pledge_collateral,
power_smoothed,
&circ_supply.fil_circulating.into(),
0,
0,
)?
.into();

Expand Down Expand Up @@ -1903,6 +1927,20 @@ impl StateSectorPreCommitInfo {
})
.context("failed to iterate over precommitted sectors")
}
miner::State::V15(s) => {
let precommitted = fil_actor_miner_state::v15::PreCommitMap::load(
store,
&s.pre_committed_sectors,
fil_actor_miner_state::v15::PRECOMMIT_CONFIG,
"precommits",
)?;
precommitted
.for_each(|_k, v| {
sectors.push(v.info.sector_number);
Ok(())
})
.context("failed to iterate over precommitted sectors")
}
}?;

Ok(sectors)
Expand Down Expand Up @@ -2003,6 +2041,20 @@ impl StateSectorPreCommitInfo {
})
.context("failed to iterate over precommitted sectors")
}
miner::State::V15(s) => {
let precommitted = fil_actor_miner_state::v15::PreCommitMap::load(
store,
&s.pre_committed_sectors,
fil_actor_miner_state::v15::PRECOMMIT_CONFIG,
"precommits",
)?;
precommitted
.for_each(|_k, v| {
infos.push(v.info.clone().into());
Ok(())
})
.context("failed to iterate over precommitted sectors")
}
}?;

Ok(infos)
Expand Down Expand Up @@ -2412,6 +2464,18 @@ impl StateGetAllocations {
Ok(())
})?;
}
init::State::V15(s) => {
let map = fil_actor_init_state::v15::AddressMap::load(
store,
&s.address_map,
fil_actors_shared::v15::DEFAULT_HAMT_CONFIG,
"address_map",
)?;
map.for_each(|_k, v| {
addresses.insert(Address::new_id(*v));
Ok(())
})?;
}
};
}

Expand Down
Loading

0 comments on commit aef58ab

Please sign in to comment.