From b2cb7c878a11ce8b2dc867da307563810827a0e2 Mon Sep 17 00:00:00 2001 From: Amin Moghaddam Date: Wed, 1 May 2024 13:19:37 +0200 Subject: [PATCH] fix(fortuna): Fortuna improvements (#1529) * More logging on failure of deserialization * Log chain id if the provider registration is failing * Fix sample config * Fix dysfunctional rpc address from blast --- apps/fortuna/Cargo.lock | 2 +- apps/fortuna/Cargo.toml | 2 +- apps/fortuna/config.sample.yaml | 1 + apps/fortuna/src/command/run.rs | 9 ++++++++- apps/fortuna/src/command/setup_provider.rs | 17 ++++++++++++++--- contract_manager/store/chains/EvmChains.yaml | 2 +- 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/apps/fortuna/Cargo.lock b/apps/fortuna/Cargo.lock index 20b11c0152..3573d7fb62 100644 --- a/apps/fortuna/Cargo.lock +++ b/apps/fortuna/Cargo.lock @@ -1488,7 +1488,7 @@ dependencies = [ [[package]] name = "fortuna" -version = "5.1.0" +version = "5.1.1" dependencies = [ "anyhow", "axum", diff --git a/apps/fortuna/Cargo.toml b/apps/fortuna/Cargo.toml index 2fc238b451..4259f6933c 100644 --- a/apps/fortuna/Cargo.toml +++ b/apps/fortuna/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fortuna" -version = "5.1.0" +version = "5.1.1" edition = "2021" [dependencies] diff --git a/apps/fortuna/config.sample.yaml b/apps/fortuna/config.sample.yaml index cbfad0d4c3..3f4bee1b43 100644 --- a/apps/fortuna/config.sample.yaml +++ b/apps/fortuna/config.sample.yaml @@ -4,3 +4,4 @@ chains: contract_addr: 0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a reveal_delay_blocks: 0 legacy_tx: true + gas_limit: 500000 diff --git a/apps/fortuna/src/command/run.rs b/apps/fortuna/src/command/run.rs index 234133fada..d3eaea961c 100644 --- a/apps/fortuna/src/command/run.rs +++ b/apps/fortuna/src/command/run.rs @@ -143,7 +143,14 @@ pub async fn run(opts: &RunOptions) -> Result<()> { let provider_info = contract.get_provider_info(opts.provider).call().await?; let latest_metadata = - bincode::deserialize::(&provider_info.commitment_metadata)?; + bincode::deserialize::(&provider_info.commitment_metadata) + .map_err(|e| { + anyhow!( + "Chain: {} - Failed to deserialize commitment metadata: {}", + &chain_id, + e + ) + })?; provider_commitments.push(Commitment { seed: latest_metadata.seed, diff --git a/apps/fortuna/src/command/setup_provider.rs b/apps/fortuna/src/command/setup_provider.rs index 8fc5729b26..71d0a35f18 100644 --- a/apps/fortuna/src/command/setup_provider.rs +++ b/apps/fortuna/src/command/setup_provider.rs @@ -16,7 +16,10 @@ use { PebbleHashChain, }, }, - anyhow::Result, + anyhow::{ + anyhow, + Result, + }, ethers::{ abi::Bytes as AbiBytes, signers::{ @@ -66,7 +69,14 @@ pub async fn setup_provider(opts: &SetupProviderOptions) -> Result<()> { register = true; } else { let metadata = - bincode::deserialize::(&provider_info.commitment_metadata)?; + bincode::deserialize::(&provider_info.commitment_metadata) + .map_err(|e| { + anyhow!( + "Chain: {} - Failed to deserialize commitment metadata: {}", + &chain_id, + e + ) + })?; let hash_chain = PebbleHashChain::from_config( &secret, @@ -105,7 +115,8 @@ pub async fn setup_provider(opts: &SetupProviderOptions) -> Result<()> { fee: opts.fee, uri, }) - .await?; + .await + .map_err(|e| anyhow!("Chain: {} - Failed to register provider: {}", &chain_id, e))?; tracing::info!("{}: registered", &chain_id); } else { if provider_info.fee_in_wei != opts.fee { diff --git a/contract_manager/store/chains/EvmChains.yaml b/contract_manager/store/chains/EvmChains.yaml index b72ad43b6d..db913dfd82 100644 --- a/contract_manager/store/chains/EvmChains.yaml +++ b/contract_manager/store/chains/EvmChains.yaml @@ -450,7 +450,7 @@ type: EvmChain - id: blast_s2_testnet mainnet: false - rpcUrl: https://blast-sepolia.blockpi.network/v1/rpc/public + rpcUrl: https://sepolia.blast.io networkId: 168587773 type: EvmChain - id: hedera_testnet