Skip to content

Commit

Permalink
Lint fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
mb1896 committed Mar 15, 2024
1 parent 0c28e79 commit 421582b
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 36 deletions.
4 changes: 2 additions & 2 deletions ipc/cli/src/commands/subnet/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ pub use crate::commands::subnet::leave::{LeaveSubnet, LeaveSubnetArgs};
use crate::commands::subnet::list_subnets::{ListSubnets, ListSubnetsArgs};
use crate::commands::subnet::rpc::{RPCSubnet, RPCSubnetArgs};
use crate::commands::subnet::send_value::{SendValue, SendValueArgs};
use crate::commands::subnet::set_federated_power::{SetFederatedPower, SetFederatedPowerArgs};
use crate::commands::subnet::show_gateway_contract_commit_sha::{
ShowGatewayContractCommitSha, ShowGatewayContractCommitShaArgs,
};
use crate::commands::subnet::validator::{ValidatorInfo, ValidatorInfoArgs};
use crate::{CommandLineHandler, GlobalArguments};
use clap::{Args, Subcommand};
use crate::commands::subnet::set_federated_power::{SetFederatedPower, SetFederatedPowerArgs};

use self::bootstrap::{AddBootstrap, AddBootstrapArgs, ListBootstraps, ListBootstrapsArgs};
use self::join::{StakeSubnet, StakeSubnetArgs, UnstakeSubnet, UnstakeSubnetArgs};
Expand All @@ -31,9 +31,9 @@ pub mod leave;
pub mod list_subnets;
pub mod rpc;
pub mod send_value;
mod set_federated_power;
pub mod show_gateway_contract_commit_sha;
mod validator;
mod set_federated_power;

#[derive(Debug, Args)]
#[command(
Expand Down
32 changes: 22 additions & 10 deletions ipc/cli/src/commands/subnet/set_federated_power.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
use std::str::FromStr;
use crate::commands::{get_ipc_provider, require_fil_addr_from_str};
use crate::{CommandLineHandler, GlobalArguments};
use async_trait::async_trait;
use clap::Args;
use fvm_shared::address::Address;
use ipc_api::subnet_id::SubnetID;
use crate::{CommandLineHandler, GlobalArguments};
use crate::commands::{get_ipc_provider, require_fil_addr_from_str};
use std::str::FromStr;

/// The command to set federated power.
pub struct SetFederatedPower;
Expand All @@ -19,17 +19,29 @@ impl CommandLineHandler for crate::commands::subnet::SetFederatedPower {
let provider = get_ipc_provider(global)?;
let subnet = SubnetID::from_str(&arguments.subnet)?;

let addresses: Vec<Address> = arguments.validator_addresses.iter().map(
|address| require_fil_addr_from_str(address).unwrap()
).collect();
let addresses: Vec<Address> = arguments
.validator_addresses
.iter()
.map(|address| require_fil_addr_from_str(address).unwrap())
.collect();

let public_keys: Vec<Vec<u8>> = arguments.validator_pubkeys.iter().map(
|key| hex::decode(key).unwrap()
).collect();
let public_keys: Vec<Vec<u8>> = arguments
.validator_pubkeys
.iter()
.map(|key| hex::decode(key).unwrap())
.collect();

let from_address = require_fil_addr_from_str(&arguments.from).unwrap();

let chain_epoch = provider.set_federated_power(&from_address, &subnet, &addresses, &public_keys, &arguments.validator_power).await?;
let chain_epoch = provider
.set_federated_power(
&from_address,
&subnet,
&addresses,
&public_keys,
&arguments.validator_power,
)
.await?;
println!("New federated power is set at epoch {chain_epoch}");

Ok(())
Expand Down
12 changes: 7 additions & 5 deletions ipc/provider/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -770,20 +770,22 @@ impl IpcProvider {
conn.manager().latest_parent_finality().await
}


pub async fn set_federated_power(
&self,
from: &Address,
subnet: &SubnetID,
validators: &Vec<Address>,
public_keys: &Vec<Vec<u8>>,
federated_power: &Vec<u128>) -> anyhow::Result<ChainEpoch> {
validators: &[Address],
public_keys: &[Vec<u8>],
federated_power: &[u128],
) -> anyhow::Result<ChainEpoch> {
let parent = subnet.parent().ok_or_else(|| anyhow!("no parent found"))?;
let conn = match self.connection(&parent) {
None => return Err(anyhow!("target parent subnet not found")),
Some(conn) => conn,
};
conn.manager().set_federated_power(from, subnet, validators, public_keys, federated_power).await
conn.manager()
.set_federated_power(from, subnet, validators, public_keys, federated_power)
.await
}
}

Expand Down
33 changes: 17 additions & 16 deletions ipc/provider/src/manager/evm/manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -803,33 +803,34 @@ impl SubnetManager for EthSubnetManager {
&self,
from: &Address,
subnet: &SubnetID,
validators: &Vec<Address>,
public_keys: &Vec<Vec<u8>>,
federated_power: &Vec<u128>,
validators: &[Address],
public_keys: &[Vec<u8>],
federated_power: &[u128],
) -> Result<ChainEpoch> {
let address = contract_address_from_subnet(&subnet)?;
log::info!(
"interacting with evm subnet contract: {address:}"
);
let address = contract_address_from_subnet(subnet)?;
log::info!("interacting with evm subnet contract: {address:}");

let contract = subnet_actor_manager_facet::SubnetActorManagerFacet::new(
address,
Arc::new(self.ipc_contract_info.provider.clone()),
);

let addresses: Vec<ethers::core::types::Address> = validators.iter().map(
|validator_address| payload_to_evm_address(validator_address.payload()).unwrap()
).collect();
let addresses: Vec<ethers::core::types::Address> = validators
.iter()
.map(|validator_address| payload_to_evm_address(validator_address.payload()).unwrap())
.collect();
log::debug!("converted addresses {:?}:", addresses);

let pubkeys: Vec<ethers::core::types::Bytes> = public_keys.iter().map(
|key| ethers::core::types::Bytes::from(key.clone())
).collect();
let pubkeys: Vec<ethers::core::types::Bytes> = public_keys
.iter()
.map(|key| ethers::core::types::Bytes::from(key.clone()))
.collect();
log::debug!("converted pubkeys {:?}:", pubkeys);

let power_u256: Vec<ethers::core::types::U256> = federated_power.iter().map(
|power| ethers::core::types::U256::from(*power)
).collect();
let power_u256: Vec<ethers::core::types::U256> = federated_power
.iter()
.map(|power| ethers::core::types::U256::from(*power))
.collect();
log::debug!("converted power {:?}:", power_u256);

log::debug!("from address {:?}:", from);
Expand Down
6 changes: 3 additions & 3 deletions ipc/provider/src/manager/subnet.rs
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,9 @@ pub trait SubnetManager: Send + Sync + TopDownFinalityQuery + BottomUpCheckpoint
&self,
from: &Address,
subnet: &SubnetID,
validators: &Vec<Address>,
public_keys: &Vec<Vec<u8>>,
federated_power: &Vec<u128>,
validators: &[Address],
public_keys: &[Vec<u8>],
federated_power: &[u128],
) -> Result<ChainEpoch>;
}

Expand Down

0 comments on commit 421582b

Please sign in to comment.