Skip to content

Commit

Permalink
review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
ischasny committed Aug 20, 2024
1 parent bb2fcc7 commit 97fb0a7
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 61 deletions.
78 changes: 39 additions & 39 deletions core/node/base_token_adjuster/src/base_token_ratio_persister.rs
Original file line number Diff line number Diff line change
Expand Up @@ -83,51 +83,51 @@ impl BaseTokenRatioPersister {
let new_ratio = self.retry_fetch_ratio().await?;
self.persist_ratio(new_ratio).await?;

if let Some(l1_params) = &self.l1_params {
let max_attempts = self.config.l1_tx_sending_max_attempts;
let sleep_duration = self.config.l1_tx_sending_sleep_duration();
let mut result: anyhow::Result<()> = Ok(());
let mut prev_base_fee_per_gas: Option<u64> = None;
let mut prev_priority_fee_per_gas: Option<u64> = None;
let Some(l1_params) = &self.l1_params else {
return Ok(());
};

let max_attempts = self.config.l1_tx_sending_max_attempts;
let sleep_duration = self.config.l1_tx_sending_sleep_duration();
let mut result: anyhow::Result<()> = Ok(());
let mut prev_base_fee_per_gas: Option<u64> = None;
let mut prev_priority_fee_per_gas: Option<u64> = None;

for attempt in 0..max_attempts {
let (base_fee_per_gas, priority_fee_per_gas) =
self.get_eth_fees(&l1_params, prev_base_fee_per_gas, prev_priority_fee_per_gas);
for attempt in 0..max_attempts {
let (base_fee_per_gas, priority_fee_per_gas) =
self.get_eth_fees(&l1_params, prev_base_fee_per_gas, prev_priority_fee_per_gas);

result = self
.send_ratio_to_l1(
&l1_params,
new_ratio,
base_fee_per_gas,
priority_fee_per_gas,
)
.await;
if let Some(err) = result.as_ref().err() {
tracing::info!(
"Failed to update base token multiplier on L1, attempt {}, base_fee_per_gas {}, priority_fee_per_gas {}: {}",
attempt + 1,
result = self
.send_ratio_to_l1(
&l1_params,
new_ratio,
base_fee_per_gas,
priority_fee_per_gas,
err
);
tokio::time::sleep(sleep_duration).await;
prev_base_fee_per_gas = Some(base_fee_per_gas);
prev_priority_fee_per_gas = Some(priority_fee_per_gas);
} else {
tracing::info!(
"Updated base token multiplier on L1: numerator {}, denominator {}, base_fee_per_gas {}, priority_fee_per_gas {}",
new_ratio.numerator.get(),
new_ratio.denominator.get(),
base_fee_per_gas,
priority_fee_per_gas
);
return result;
}
)
.await;
if let Some(err) = result.as_ref().err() {
tracing::info!(
"Failed to update base token multiplier on L1, attempt {}, base_fee_per_gas {}, priority_fee_per_gas {}: {}",
attempt + 1,
base_fee_per_gas,
priority_fee_per_gas,
err
);
tokio::time::sleep(sleep_duration).await;
prev_base_fee_per_gas = Some(base_fee_per_gas);
prev_priority_fee_per_gas = Some(priority_fee_per_gas);
} else {
tracing::info!(
"Updated base token multiplier on L1: numerator {}, denominator {}, base_fee_per_gas {}, priority_fee_per_gas {}",
new_ratio.numerator.get(),
new_ratio.denominator.get(),
base_fee_per_gas,
priority_fee_per_gas
);
return result;
}
result
} else {
Ok(())
}
result
}

fn get_eth_fees(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,29 +83,31 @@ impl WiringLayer for BaseTokenRatioPersisterLayer {
.base_token_addr
.expect("base token address is not set");

let mut l1_params: Option<BaseTokenRatioPersisterL1Params> = None;
if let Some(token_multiplier_setter) = self.wallets_config.token_multiplier_setter {
let tms_private_key = token_multiplier_setter.wallet.private_key();
let tms_address = token_multiplier_setter.wallet.address();
let EthInterfaceResource(query_client) = input.eth_client;
let l1_params =
self.wallets_config
.token_multiplier_setter
.map(|token_multiplier_setter| {
let tms_private_key = token_multiplier_setter.wallet.private_key();
let tms_address = token_multiplier_setter.wallet.address();
let EthInterfaceResource(query_client) = input.eth_client;

let signing_client = PKSigningClient::new_raw(
tms_private_key.clone(),
self.contracts_config.diamond_proxy_addr,
self.config.default_priority_fee_per_gas,
#[allow(clippy::useless_conversion)]
self.l1_chain_id.into(),
query_client.clone().for_component("base_token_adjuster"),
);
l1_params = Some(BaseTokenRatioPersisterL1Params {
eth_client: Box::new(signing_client),
gas_adjuster: input.tx_params.0,
token_multiplier_setter_account_address: tms_address,
chain_admin_contract: chain_admin_contract(),
diamond_proxy_contract_address: self.contracts_config.diamond_proxy_addr,
chain_admin_contract_address: self.contracts_config.chain_admin_addr,
});
}
let signing_client = PKSigningClient::new_raw(
tms_private_key.clone(),
self.contracts_config.diamond_proxy_addr,
self.config.default_priority_fee_per_gas,
#[allow(clippy::useless_conversion)]
self.l1_chain_id.into(),
query_client.clone().for_component("base_token_adjuster"),
);
BaseTokenRatioPersisterL1Params {
eth_client: Box::new(signing_client),
gas_adjuster: input.tx_params.0,
token_multiplier_setter_account_address: tms_address,
chain_admin_contract: chain_admin_contract(),
diamond_proxy_contract_address: self.contracts_config.diamond_proxy_addr,
chain_admin_contract_address: self.contracts_config.chain_admin_addr,
}
});

let persister = BaseTokenRatioPersister::new(
master_pool,
Expand Down

0 comments on commit 97fb0a7

Please sign in to comment.