From c4ab45809c925de48634490cb395fe911ce16eb5 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Mon, 4 Nov 2024 19:02:42 +0400 Subject: [PATCH 01/24] pull/run gear node --- .github/workflows/ci.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b248c89b..c8ea5aa5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,6 +54,8 @@ jobs: run: cargo fmt -- --check tests: runs-on: kuberunner + env: + NAME: gear_node${{ github.run_id }}_${{ github.run_number }} steps: - name: Checkout uses: actions/checkout@v4 @@ -73,3 +75,12 @@ jobs: run: | cd ethereum forge test + - name: Pull & run Gear node container + run: | + docker pull ghcr.io/gear-tech/node:v1.6.2 + docker run --name $NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug + - name: Run `erc20-relay-app` tests + run: cargo test --release --package erc20-relay-app -- --nocapture --ignored || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } + - name: Stop Gear node container (if any) + continue-on-error: true + run: docker stop $NAME From af10b25c7a75ac0c0863bbbdc4ffc4cdab84ad26 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Mon, 4 Nov 2024 19:32:10 +0400 Subject: [PATCH 02/24] add synchronization to erc20-relay tests helping to avoid gclient/gsdk failures --- .../erc20-relay/app/tests/gclient.rs | 87 +++++++++++++++++-- 1 file changed, 82 insertions(+), 5 deletions(-) diff --git a/gear-programs/erc20-relay/app/tests/gclient.rs b/gear-programs/erc20-relay/app/tests/gclient.rs index ed3ef35a..3a9f2fc2 100644 --- a/gear-programs/erc20-relay/app/tests/gclient.rs +++ b/gear-programs/erc20-relay/app/tests/gclient.rs @@ -7,13 +7,90 @@ mod vft { use erc20_relay_client::traits::{Erc20Relay, Erc20RelayFactory}; use gclient::{Event, EventProcessor, GearApi, GearEvent}; use sails_rs::{calls::*, gclient::calls::*, prelude::*}; +use tokio::sync::Mutex; use vft::vft_gateway; -async fn spin_up_node() -> (GClientRemoting, GearApi, CodeId, GasUnit) { +static LOCK: Mutex<(u32, Option)> = Mutex::const_new((0, None)); + +async fn salt() -> [u8; 4] { + let mut lock = LOCK.lock().await; + let salt = lock.0; + lock.0 += 1; + + salt.to_le_bytes() +} + +// The struct purpose is to avoid the following error: +// GearSDK(Subxt(Rpc(ClientError(Call(Custom(ErrorObject { code: ServerError(1014), message: "Priority is too low: (16 vs 16)", data: Some(RawValue("The transaction has too low priority to replace another transaction already in the pool.")) })))))) +#[derive(Clone)] +struct TestRemoting(GClientRemoting); + +impl sails_rs::calls::Remoting for TestRemoting { + type Args = ::Args; + + async fn activate( + self, + code_id: CodeId, + salt: impl AsRef<[u8]>, + payload: impl AsRef<[u8]>, + gas_limit: Option, + value: ValueUnit, + args: Self::Args, + ) -> sails_rs::errors::Result< + impl future::Future)>>, + > { + let _lock = LOCK.lock().await; + + self.0 + .activate(code_id, salt, payload, gas_limit, value, args) + .await + } + + async fn message( + self, + target: ActorId, + payload: impl AsRef<[u8]>, + gas_limit: Option, + value: ValueUnit, + args: Self::Args, + ) -> sails_rs::errors::Result>>> + { + let _lock = LOCK.lock().await; + + self.0 + .message(target, payload, gas_limit, value, args) + .await + } + + async fn query( + self, + target: ActorId, + payload: impl AsRef<[u8]>, + gas_limit: Option, + value: ValueUnit, + args: Self::Args, + ) -> sails_rs::errors::Result> { + self.0.query(target, payload, gas_limit, value, args).await + } +} + +async fn spin_up_node() -> (impl Remoting + Clone, GearApi, CodeId, GasUnit) { let api = GearApi::dev().await.unwrap(); let gas_limit = api.block_gas_limit().unwrap(); let remoting = GClientRemoting::new(api.clone()); - let (code_id, _) = api.upload_code(erc20_relay::WASM_BINARY).await.unwrap(); + let remoting = TestRemoting(remoting); + let code_id = { + let mut lock = LOCK.lock().await; + match lock.1 { + Some(code_id) => code_id, + None => { + let (code_id, _) = api.upload_code(erc20_relay::WASM_BINARY).await.unwrap(); + lock.1 = Some(code_id); + + code_id + } + } + }; (remoting, api, code_id, gas_limit) } @@ -33,7 +110,7 @@ async fn gas_for_reply() { let program_id = factory .gas_calculation(1_000, 5_500_000_000) .with_gas_limit(gas_limit) - .send_recv(code_id, []) + .send_recv(code_id, salt().await) .await .unwrap(); @@ -106,7 +183,7 @@ async fn set_vft_gateway() { }, ) .with_gas_limit(gas_limit) - .send_recv(code_id, []) + .send_recv(code_id, salt().await) .await .unwrap(); @@ -181,7 +258,7 @@ async fn update_config() { }, ) .with_gas_limit(gas_limit) - .send_recv(code_id, []) + .send_recv(code_id, salt().await) .await .unwrap(); From 4b26be3860639a34013136f683c4a69a1ce31a47 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 5 Nov 2024 11:49:07 +0400 Subject: [PATCH 03/24] run remaining relayer tests --- .github/workflows/ci.yml | 2 + relayer/src/ethereum_checkpoints/tests/mod.rs | 162 ++++++++++++------ 2 files changed, 116 insertions(+), 48 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c8ea5aa5..bf109fdb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,6 +81,8 @@ jobs: docker run --name $NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug - name: Run `erc20-relay-app` tests run: cargo test --release --package erc20-relay-app -- --nocapture --ignored || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } + - name: Run remaining `relayer` tests + run: cargo test --release --package relayer -- --nocapture --ignored || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } - name: Stop Gear node container (if any) continue-on-error: true run: docker stop $NAME diff --git a/relayer/src/ethereum_checkpoints/tests/mod.rs b/relayer/src/ethereum_checkpoints/tests/mod.rs index 6d0704f7..6ecf7475 100644 --- a/relayer/src/ethereum_checkpoints/tests/mod.rs +++ b/relayer/src/ethereum_checkpoints/tests/mod.rs @@ -13,9 +13,14 @@ use checkpoint_light_client_io::{ }; use gclient::{EventListener, EventProcessor, GearApi, Result}; use parity_scale_codec::{Decode, Encode}; -use tokio::time::{self, Duration}; +use tokio::{ + sync::{Mutex, MutexGuard}, + time::{self, Duration}, +}; + +static LOCK: Mutex<()> = Mutex::const_new(()); -const RPC_URL: &str = "http://127.0.0.1:5052"; +const RPC_URL: &str = "http://34.159.93.103:50000"; const FINALITY_UPDATE_5_254_112: &[u8; 4_940] = include_bytes!("./sepolia-finality-update-5_254_112.json"); @@ -24,6 +29,38 @@ const FINALITY_UPDATE_5_263_072: &[u8; 4_941] = const UPDATE_640: &[u8; 57_202] = include_bytes!("./sepolia-update-640.json"); const BOOTSTRAP_640: &[u8; 54_328] = include_bytes!("./sepolia-bootstrap-640.json"); +struct Guard<'a> { + _lock: MutexGuard<'a, ()>, + pub client: &'a GearApi, +} + +// The struct purpose is to avoid the following error: +// GearSDK(Subxt(Rpc(ClientError(Call(Custom(ErrorObject { code: ServerError(1014), message: "Priority is too low: (16 vs 16)", data: Some(RawValue("The transaction has too low priority to replace another transaction already in the pool.")) })))))) +struct NodeClient(GearApi); + +impl NodeClient { + async fn new() -> Result { + Ok(Self(GearApi::dev().await?)) + } + + async fn calculate_handle_gas(&self, program_id: [u8; 32], payload: &Handle) -> Result { + Ok(self + .0 + .calculate_handle_gas(None, program_id.into(), payload.encode(), 0, true) + .await? + .min_limit) + } + + async fn lock(&self) -> Guard<'_> { + let _lock = LOCK.lock().await; + + Guard { + _lock, + client: &self.0, + } + } +} + async fn common_upload_program( client: &GearApi, code: Vec, @@ -64,8 +101,8 @@ async fn upload_program( Ok(program_id) } -async fn init(network: Network) -> Result<()> { - let beacon_client = BeaconClient::new(RPC_URL.to_string(), None) +async fn init(network: Network, rpc_url: String) -> Result<()> { + let beacon_client = BeaconClient::new(rpc_url, None) .await .expect("Failed to connect to beacon node"); @@ -117,36 +154,42 @@ async fn init(network: Network) -> Result<()> { update: sync_update, }; - let client = GearApi::dev().await?; - let mut listener = client.subscribe().await?; + let client = NodeClient::new().await?; + let program_id = { + let lock = client.lock().await; - let program_id = upload_program(&client, &mut listener, init).await?; + let mut listener = lock.client.subscribe().await?; + + upload_program(lock.client, &mut listener, init).await? + }; println!("program_id = {:?}", hex::encode(program_id)); Ok(()) } -#[ignore] -#[tokio::test] +// #[ignore] +// #[tokio::test] +#[allow(dead_code)] async fn init_sepolia() -> Result<()> { - init(Network::Sepolia).await + init(Network::Sepolia, RPC_URL.into()).await } #[ignore] #[tokio::test] async fn init_holesky() -> Result<()> { - init(Network::Holesky).await + init(Network::Holesky, RPC_URL.into()).await } #[ignore] #[tokio::test] async fn init_mainnet() -> Result<()> { - init(Network::Mainnet).await + init(Network::Mainnet, "https://www.lightclientdata.org".into()).await } -#[ignore] -#[tokio::test] +// #[ignore] +// #[tokio::test] +#[allow(dead_code)] async fn init_and_updating() -> Result<()> { let beacon_client = BeaconClient::new(RPC_URL.to_string(), None) .await @@ -288,8 +331,9 @@ async fn init_and_updating() -> Result<()> { Ok(()) } -#[ignore] -#[tokio::test] +// #[ignore] +// #[tokio::test] +#[allow(dead_code)] async fn replaying_back() -> Result<()> { let beacon_client = BeaconClient::new(RPC_URL.to_string(), None) .await @@ -344,17 +388,21 @@ async fn replaying_back() -> Result<()> { update: sync_update, }; - let client = GearApi::dev().await?; - let mut listener = client.subscribe().await?; + let client = NodeClient::new().await?; + let program_id = { + let lock = client.lock().await; - let program_id = upload_program(&client, &mut listener, init).await?; + let mut listener = lock.client.subscribe().await?; + + upload_program(lock.client, &mut listener, init).await? + }; println!("program_id = {:?}", hex::encode(program_id)); println!(); println!(); - let batch_size = 44 * SLOTS_PER_EPOCH; + let batch_size = 30 * SLOTS_PER_EPOCH; let mut slots_batch_iter = slots_batch::Iter::new(slot_start, slot_end, batch_size).unwrap(); // start to replay back if let Some((slot_start, slot_end)) = slots_batch_iter.next() { @@ -382,17 +430,22 @@ async fn replaying_back() -> Result<()> { headers, }; - let gas_limit = client - .calculate_handle_gas(None, program_id.into(), payload.encode(), 0, true) - .await? - .min_limit; + let gas_limit = client.calculate_handle_gas(program_id, &payload).await?; println!("ReplayBackStart gas_limit {gas_limit:?}"); - let (message_id, _) = client - .send_message(program_id.into(), payload, gas_limit, 0) - .await?; + let (_message_id, payload, _value) = { + let lock = client.lock().await; + + let mut listener = lock.client.subscribe().await?; + + let (message_id, _) = lock + .client + .send_message(program_id.into(), payload, gas_limit, 0) + .await?; + + listener.reply_bytes_on(message_id).await? + }; - let (_message_id, payload, _value) = listener.reply_bytes_on(message_id).await?; let result_decoded = HandleResult::decode(&mut &payload.unwrap()[..]).unwrap(); assert!(matches!( result_decoded, @@ -415,17 +468,22 @@ async fn replaying_back() -> Result<()> { let payload = Handle::ReplayBack(headers); - let gas_limit = client - .calculate_handle_gas(None, program_id.into(), payload.encode(), 0, true) - .await? - .min_limit; + let gas_limit = client.calculate_handle_gas(program_id, &payload).await?; println!("ReplayBack gas_limit {gas_limit:?}"); - let (message_id, _) = client - .send_message(program_id.into(), payload, gas_limit, 0) - .await?; + let (_message_id, payload, _value) = { + let lock = client.lock().await; + + let mut listener = lock.client.subscribe().await?; + + let (message_id, _) = lock + .client + .send_message(program_id.into(), payload, gas_limit, 0) + .await?; + + listener.reply_bytes_on(message_id).await? + }; - let (_message_id, payload, _value) = listener.reply_bytes_on(message_id).await?; let result_decoded = HandleResult::decode(&mut &payload.unwrap()[..]).unwrap(); assert!(matches!( result_decoded, @@ -438,8 +496,8 @@ async fn replaying_back() -> Result<()> { Ok(()) } +#[ignore] #[tokio::test] -#[ignore = "Fails for now"] async fn sync_update_requires_replaying_back() -> Result<()> { let finality_update: FinalityUpdateResponse = serde_json::from_slice(FINALITY_UPDATE_5_263_072).unwrap(); @@ -489,10 +547,14 @@ async fn sync_update_requires_replaying_back() -> Result<()> { update: sync_update, }; - let client = GearApi::dev().await?; - let mut listener = client.subscribe().await?; + let client = NodeClient::new().await?; + let program_id = { + let lock = client.lock().await; - let program_id = upload_program(&client, &mut listener, init).await?; + let mut listener = lock.client.subscribe().await?; + + upload_program(lock.client, &mut listener, init).await? + }; println!("program_id = {:?}", hex::encode(program_id)); @@ -513,17 +575,21 @@ async fn sync_update_requires_replaying_back() -> Result<()> { finality_update, )); - let gas_limit = client - .calculate_handle_gas(None, program_id.into(), payload.encode(), 0, true) - .await? - .min_limit; + let gas_limit = client.calculate_handle_gas(program_id, &payload).await?; println!("finality_update gas_limit {gas_limit:?}"); - let (message_id, _) = client - .send_message(program_id.into(), payload, gas_limit, 0) - .await?; + let (_message_id, payload, _value) = { + let lock = client.lock().await; + + let mut listener = lock.client.subscribe().await?; + let (message_id, _) = lock + .client + .send_message(program_id.into(), payload, gas_limit, 0) + .await?; + + listener.reply_bytes_on(message_id).await? + }; - let (_message_id, payload, _value) = listener.reply_bytes_on(message_id).await?; let result_decoded = HandleResult::decode(&mut &payload.unwrap()[..]).unwrap(); assert!( matches!( From adb6497d87603d265ce1b94e5240076259f7038e Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Wed, 6 Nov 2024 18:29:10 +0400 Subject: [PATCH 04/24] refactor init_and_updating test Rename to replay_back_and_updating --- relayer/src/ethereum_checkpoints/tests/mod.rs | 396 ++++++------------ .../sepolia-finality-update-5_254_112.json | 1 - 2 files changed, 121 insertions(+), 276 deletions(-) delete mode 100644 relayer/src/ethereum_checkpoints/tests/sepolia-finality-update-5_254_112.json diff --git a/relayer/src/ethereum_checkpoints/tests/mod.rs b/relayer/src/ethereum_checkpoints/tests/mod.rs index 6ecf7475..9482d0d0 100644 --- a/relayer/src/ethereum_checkpoints/tests/mod.rs +++ b/relayer/src/ethereum_checkpoints/tests/mod.rs @@ -1,13 +1,14 @@ -use crate::ethereum_beacon_client::{self, slots_batch, BeaconClient}; +use crate::ethereum_beacon_client::{slots_batch, utils, BeaconClient}; use checkpoint_light_client::WASM_BINARY; use checkpoint_light_client_io::{ ethereum_common::{ base_types::BytesFixed, + beacon::SyncAggregate, network::Network, utils::{self as eth_utils, BootstrapResponse, FinalityUpdateResponse, UpdateData}, SLOTS_PER_EPOCH, }, - replay_back, sync_update, + sync_update, tree_hash::TreeHash, Handle, HandleResult, Init, G2, }; @@ -22,8 +23,6 @@ static LOCK: Mutex<()> = Mutex::const_new(()); const RPC_URL: &str = "http://34.159.93.103:50000"; -const FINALITY_UPDATE_5_254_112: &[u8; 4_940] = - include_bytes!("./sepolia-finality-update-5_254_112.json"); const FINALITY_UPDATE_5_263_072: &[u8; 4_941] = include_bytes!("./sepolia-finality-update-5_263_072.json"); const UPDATE_640: &[u8; 57_202] = include_bytes!("./sepolia-update-640.json"); @@ -61,6 +60,14 @@ impl NodeClient { } } +#[track_caller] +fn decode(sync_aggregate: &SyncAggregate) -> G2 { + ::deserialize_compressed( + &sync_aggregate.sync_committee_signature.0 .0[..], + ) + .unwrap() +} + async fn common_upload_program( client: &GearApi, code: Vec, @@ -101,6 +108,30 @@ async fn upload_program( Ok(program_id) } +async fn calculate_gas_and_send( + program_id: [u8; 32], + payload: Handle, + client: &NodeClient, +) -> Result<(u64, HandleResult)> { + let gas_limit = client.calculate_handle_gas(program_id, &payload).await?; + + let (_message_id, payload, _value) = { + let lock = client.lock().await; + + let mut listener = lock.client.subscribe().await?; + + let (message_id, _) = lock + .client + .send_message(program_id.into(), payload, gas_limit, 0) + .await?; + + listener.reply_bytes_on(message_id).await? + }; + + let payload = payload.map_err(|e| anyhow::anyhow!("No payload: {e:?}"))?; + Ok((gas_limit, HandleResult::decode(&mut &payload[..])?)) +} + async fn init(network: Network, rpc_url: String) -> Result<()> { let beacon_client = BeaconClient::new(rpc_url, None) .await @@ -131,17 +162,11 @@ async fn init(network: Network, rpc_url: String) -> Result<()> { ); let bootstrap = beacon_client.get_bootstrap(&checkpoint_hex).await?; - - let signature = ::deserialize_compressed( - &update.sync_aggregate.sync_committee_signature.0 .0[..], - ) - .unwrap(); - let sync_update = ethereum_beacon_client::utils::sync_update_from_update(signature, update); + let sync_update = utils::sync_update_from_update(decode(&update.sync_aggregate), update); println!("bootstrap slot = {}", bootstrap.header.slot); - let pub_keys = - ethereum_beacon_client::utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); + let pub_keys = utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); let init = Init { network, sync_committee_current_pub_keys: pub_keys, @@ -168,13 +193,6 @@ async fn init(network: Network, rpc_url: String) -> Result<()> { Ok(()) } -// #[ignore] -// #[tokio::test] -#[allow(dead_code)] -async fn init_sepolia() -> Result<()> { - init(Network::Sepolia, RPC_URL.into()).await -} - #[ignore] #[tokio::test] async fn init_holesky() -> Result<()> { @@ -187,16 +205,15 @@ async fn init_mainnet() -> Result<()> { init(Network::Mainnet, "https://www.lightclientdata.org".into()).await } -// #[ignore] -// #[tokio::test] -#[allow(dead_code)] -async fn init_and_updating() -> Result<()> { - let beacon_client = BeaconClient::new(RPC_URL.to_string(), None) +#[ignore] +#[tokio::test] +async fn replay_back_and_updating() -> Result<()> { + let beacon_client = BeaconClient::new(RPC_URL.to_string(), Some(Duration::from_secs(120))) .await .expect("Failed to connect to beacon node"); // use the latest finality header as a checkpoint for bootstrapping - let finality_update = beacon_client.get_finality_update().await?; + let mut finality_update = beacon_client.get_finality_update().await?; let current_period = eth_utils::calculate_period(finality_update.finalized_header.slot); let mut updates = beacon_client.get_updates(current_period, 1).await?; @@ -219,17 +236,12 @@ async fn init_and_updating() -> Result<()> { ); let bootstrap = beacon_client.get_bootstrap(&checkpoint_hex).await?; - - let signature = ::deserialize_compressed( - &update.sync_aggregate.sync_committee_signature.0 .0[..], - ) - .unwrap(); - let sync_update = ethereum_beacon_client::utils::sync_update_from_update(signature, update); + let sync_update = utils::sync_update_from_update(decode(&update.sync_aggregate), update); + let slot_start = sync_update.finalized_header.slot; println!("bootstrap slot = {}", bootstrap.header.slot); - let pub_keys = - ethereum_beacon_client::utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); + let pub_keys = utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); let init = Init { network: Network::Holesky, sync_committee_current_pub_keys: pub_keys, @@ -242,152 +254,6 @@ async fn init_and_updating() -> Result<()> { update: sync_update, }; - let client = GearApi::dev().await?; - let mut listener = client.subscribe().await?; - - let program_id = upload_program(&client, &mut listener, init).await?; - - println!("program_id = {:?}", hex::encode(program_id)); - - println!(); - println!(); - - for _ in 0..30 { - let update = beacon_client.get_finality_update().await?; - - let slot: u64 = update.finalized_header.slot; - let current_period = eth_utils::calculate_period(slot); - let mut updates = beacon_client.get_updates(current_period, 1).await?; - match updates.pop() { - Some(update) if updates.is_empty() && update.data.finalized_header.slot >= slot => { - println!("update sync committee"); - let signature = - ::deserialize_compressed( - &update.data.sync_aggregate.sync_committee_signature.0 .0[..], - ) - .unwrap(); - let payload = Handle::SyncUpdate( - ethereum_beacon_client::utils::sync_update_from_update(signature, update.data), - ); - let gas_limit = client - .calculate_handle_gas(None, program_id.into(), payload.encode(), 0, true) - .await? - .min_limit; - println!("update gas_limit {gas_limit:?}"); - - let (message_id, _) = client - .send_message(program_id.into(), payload, gas_limit, 0) - .await?; - - let (_message_id, payload, _value) = listener.reply_bytes_on(message_id).await?; - let result_decoded = HandleResult::decode(&mut &payload.unwrap()[..]).unwrap(); - assert!( - matches!(result_decoded, HandleResult::SyncUpdate(result) if result.is_ok()) - ); - } - - _ => { - println!( - "slot = {slot:?}, attested slot = {:?}, signature slot = {:?}", - update.attested_header.slot, update.signature_slot - ); - let signature = ::deserialize_compressed( - &update.sync_aggregate.sync_committee_signature.0 .0[..], - ); - - let Ok(signature) = signature else { - println!("failed to deserialize point on G2"); - continue; - }; - - let payload = Handle::SyncUpdate( - ethereum_beacon_client::utils::sync_update_from_finality(signature, update), - ); - - let gas_limit = client - .calculate_handle_gas(None, program_id.into(), payload.encode(), 0, true) - .await? - .min_limit; - println!("finality_update gas_limit {gas_limit:?}"); - - let (message_id, _) = client - .send_message(program_id.into(), payload, gas_limit, 0) - .await?; - - let (_message_id, payload, _value) = listener.reply_bytes_on(message_id).await?; - let result_decoded = HandleResult::decode(&mut &payload.unwrap()[..]).unwrap(); - assert!( - matches!(result_decoded, HandleResult::SyncUpdate(result) if result.is_ok()) - ); - } - } - - println!(); - println!(); - - time::sleep(Duration::from_secs(6 * 60)).await; - } - - Ok(()) -} - -// #[ignore] -// #[tokio::test] -#[allow(dead_code)] -async fn replaying_back() -> Result<()> { - let beacon_client = BeaconClient::new(RPC_URL.to_string(), None) - .await - .expect("Failed to connect to beacon node"); - - let finality_update: FinalityUpdateResponse = - serde_json::from_slice(FINALITY_UPDATE_5_254_112).unwrap(); - let finality_update = finality_update.data; - println!( - "finality_update slot = {}", - finality_update.finalized_header.slot - ); - - // This SyncCommittee operated for about 13K slots, so we make adjustments - let current_period = eth_utils::calculate_period(finality_update.finalized_header.slot); - let mut updates = beacon_client.get_updates(current_period - 1, 1).await?; - - let update = match updates.pop() { - Some(update) if updates.is_empty() => update.data, - _ => unreachable!("Requested single update"), - }; - let checkpoint = update.finalized_header.tree_hash_root(); - let checkpoint_hex = hex::encode(checkpoint); - - let bootstrap = beacon_client.get_bootstrap(&checkpoint_hex).await?; - println!("bootstrap slot = {}", bootstrap.header.slot); - - println!("update slot = {}", update.finalized_header.slot); - let signature = ::deserialize_compressed( - &update.sync_aggregate.sync_committee_signature.0 .0[..], - ) - .unwrap(); - let sync_update = ethereum_beacon_client::utils::sync_update_from_update(signature, update); - let slot_start = sync_update.finalized_header.slot; - let slot_end = finality_update.finalized_header.slot; - println!( - "Replaying back from {slot_start} to {slot_end} ({} headers)", - slot_end - slot_start - ); - - let pub_keys = - ethereum_beacon_client::utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); - let init = Init { - network: Network::Sepolia, - sync_committee_current_pub_keys: pub_keys, - sync_committee_current_aggregate_pubkey: bootstrap.current_sync_committee.aggregate_pubkey, - sync_committee_current_branch: bootstrap - .current_sync_committee_branch - .into_iter() - .map(|BytesFixed(bytes)| bytes.0) - .collect(), - update: sync_update, - }; - let client = NodeClient::new().await?; let program_id = { let lock = client.lock().await; @@ -402,95 +268,98 @@ async fn replaying_back() -> Result<()> { println!(); println!(); - let batch_size = 30 * SLOTS_PER_EPOCH; - let mut slots_batch_iter = slots_batch::Iter::new(slot_start, slot_end, batch_size).unwrap(); - // start to replay back - if let Some((slot_start, slot_end)) = slots_batch_iter.next() { - let mut requests_headers = Vec::with_capacity(batch_size as usize); - for i in slot_start..slot_end { - requests_headers.push(beacon_client.get_block_header(i)); + // ensure finality update is different from the sync update + loop { + if finality_update.finalized_header.slot != slot_start { + break; } - let headers = futures::future::join_all(requests_headers) - .await - .into_iter() - .filter_map(|maybe_header| maybe_header.ok()) - .collect::>(); - - let signature = ::deserialize_compressed( - &finality_update.sync_aggregate.sync_committee_signature.0 .0[..], - ) - .unwrap(); + time::sleep(Duration::from_secs(6)).await; + finality_update = beacon_client.get_finality_update().await?; + } + // start to replay back + let mut slot_last = finality_update.finalized_header.slot; + let mut slots_batch_iter = + slots_batch::Iter::new(slot_start, slot_last, 30 * SLOTS_PER_EPOCH).unwrap(); + if let Some((slot_start, slot_end)) = slots_batch_iter.next() { let payload = Handle::ReplayBackStart { - sync_update: ethereum_beacon_client::utils::sync_update_from_finality( - signature, + sync_update: utils::sync_update_from_finality( + decode(&finality_update.sync_aggregate), finality_update, ), - headers, + headers: beacon_client.request_headers(slot_start, slot_end).await?, }; - let gas_limit = client.calculate_handle_gas(program_id, &payload).await?; + let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; println!("ReplayBackStart gas_limit {gas_limit:?}"); - let (_message_id, payload, _value) = { - let lock = client.lock().await; - - let mut listener = lock.client.subscribe().await?; - - let (message_id, _) = lock - .client - .send_message(program_id.into(), payload, gas_limit, 0) - .await?; - - listener.reply_bytes_on(message_id).await? - }; - - let result_decoded = HandleResult::decode(&mut &payload.unwrap()[..]).unwrap(); - assert!(matches!( - result_decoded, - HandleResult::ReplayBackStart(Ok(replay_back::StatusStart::InProgress)) - )); + assert!( + matches!(result, HandleResult::ReplayBackStart(Ok(_))), + "result = {result:?}" + ); } // replaying the blocks back for (slot_start, slot_end) in slots_batch_iter { - let mut requests_headers = Vec::with_capacity(batch_size as usize); - for i in slot_start..slot_end { - requests_headers.push(beacon_client.get_block_header(i)); + let payload = + Handle::ReplayBack(beacon_client.request_headers(slot_start, slot_end).await?); + let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; + println!("ReplayBack gas_limit {gas_limit:?}"); + + assert!( + matches!(result, HandleResult::ReplayBack(Some(_))), + "result = {result:?}" + ); + } + + // updating + const COUNT: usize = 1; + let mut processed = 0; + while processed < COUNT { + time::sleep(Duration::from_secs(6)).await; + + let update = beacon_client.get_finality_update().await?; + let slot: u64 = update.finalized_header.slot; + if slot == slot_last { + continue; } - let headers = futures::future::join_all(requests_headers) - .await - .into_iter() - .filter_map(|maybe_header| maybe_header.ok()) - .collect::>(); + slot_last = slot; + processed += 1; - let payload = Handle::ReplayBack(headers); + let current_period = eth_utils::calculate_period(slot); + let mut updates = beacon_client.get_updates(current_period, 1).await?; + let payload = Handle::SyncUpdate(match updates.pop() { + Some(update) if updates.is_empty() && update.data.finalized_header.slot >= slot => { + println!("update sync committee"); - let gas_limit = client.calculate_handle_gas(program_id, &payload).await?; - println!("ReplayBack gas_limit {gas_limit:?}"); + utils::sync_update_from_update(decode(&update.data.sync_aggregate), update.data) + } - let (_message_id, payload, _value) = { - let lock = client.lock().await; + _ => { + println!( + "slot = {slot:?}, attested slot = {:?}, signature slot = {:?}", + update.attested_header.slot, update.signature_slot + ); - let mut listener = lock.client.subscribe().await?; + utils::sync_update_from_finality(decode(&update.sync_aggregate), update) + } + }); - let (message_id, _) = lock - .client - .send_message(program_id.into(), payload, gas_limit, 0) - .await?; + let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; + println!("gas_limit {gas_limit:?}"); - listener.reply_bytes_on(message_id).await? - }; + assert!( + matches!( + result, + HandleResult::SyncUpdate(Ok(_) | Err(sync_update::Error::LowVoteCount)) + ), + "result = {result:?}" + ); - let result_decoded = HandleResult::decode(&mut &payload.unwrap()[..]).unwrap(); - assert!(matches!( - result_decoded, - HandleResult::ReplayBack(Some( - replay_back::Status::InProcess | replay_back::Status::Finished - )) - )); + println!(); + println!(); } Ok(()) @@ -527,14 +396,9 @@ async fn sync_update_requires_replaying_back() -> Result<()> { hex::encode(checkpoint_bootstrap) ); - let signature = ::deserialize_compressed( - &update.sync_aggregate.sync_committee_signature.0 .0[..], - ) - .unwrap(); - let sync_update = ethereum_beacon_client::utils::sync_update_from_update(signature, update); + let sync_update = utils::sync_update_from_update(decode(&update.sync_aggregate), update); - let pub_keys = - ethereum_beacon_client::utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); + let pub_keys = utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); let init = Init { network: Network::Sepolia, sync_committee_current_pub_keys: pub_keys, @@ -565,38 +429,20 @@ async fn sync_update_requires_replaying_back() -> Result<()> { "slot = {slot:?}, attested slot = {:?}, signature slot = {:?}", finality_update.attested_header.slot, finality_update.signature_slot ); - let signature = ::deserialize_compressed( - &finality_update.sync_aggregate.sync_committee_signature.0 .0[..], - ) - .unwrap(); - let payload = Handle::SyncUpdate(ethereum_beacon_client::utils::sync_update_from_finality( - signature, + let payload = Handle::SyncUpdate(utils::sync_update_from_finality( + decode(&finality_update.sync_aggregate), finality_update, )); - - let gas_limit = client.calculate_handle_gas(program_id, &payload).await?; + let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; println!("finality_update gas_limit {gas_limit:?}"); - let (_message_id, payload, _value) = { - let lock = client.lock().await; - - let mut listener = lock.client.subscribe().await?; - let (message_id, _) = lock - .client - .send_message(program_id.into(), payload, gas_limit, 0) - .await?; - - listener.reply_bytes_on(message_id).await? - }; - - let result_decoded = HandleResult::decode(&mut &payload.unwrap()[..]).unwrap(); assert!( matches!( - result_decoded, + result, HandleResult::SyncUpdate(Err(sync_update::Error::ReplayBackRequired { .. })) ), - "result_decoded = {result_decoded:?}" + "result = {result:?}" ); Ok(()) diff --git a/relayer/src/ethereum_checkpoints/tests/sepolia-finality-update-5_254_112.json b/relayer/src/ethereum_checkpoints/tests/sepolia-finality-update-5_254_112.json deleted file mode 100644 index 92738d8e..00000000 --- a/relayer/src/ethereum_checkpoints/tests/sepolia-finality-update-5_254_112.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"deneb","data":{"attested_header":{"beacon":{"slot":"5254183","proposer_index":"919","parent_root":"0xfcccc773a0738b170bb7254307dbff67ae93afd461c6d42da133acd6d9e0c845","state_root":"0x154722b9d2148e9c2156715fb0f757a915cf506c7f7dac19e514c568422d27cd","body_root":"0xd7b415d731808521e932c9ee94ec8b21218417a06927bbac667b1aee1ff928f3"},"execution":{"parent_hash":"0xdc4df214dde0c859f3fda8069c9a2ad807f58a235f3095667c02be344fc4d05a","fee_recipient":"0xe276bc378a527a8792b353cdca5b5e53263dfb9e","state_root":"0xcfcd8bb4c2703dd302e416c13bc98e77cc56fd6dabb04e4cee957aae274f308f","receipts_root":"0x4159706a6c777b188dfb1a92f30374bbfc561ad2dfef674741a63e509e4fe478","logs_bloom":"0x2aa304283918c704c51a4206281480e246102682122141106052183c9000908014087d21442aa2e4071a045d003e24800114132a6008b24200389b980a6040010687e06500540982520004ba8265048086015b10104a425089098834120810228c1400202a0c45200393041816012d0c220831a40c9210200889065481da097683803212c8b800202262156c0248841a80092820046a080900435381ad0040402a0880092000020c0cc0c1828170180e108124a0906025040b0262000c4b4261495f01a296fc31a08b91cc11199210d9020bc4ab1124a0d442621360006134248ad002504015198e28081254e0008a449348301d0802204b303500008151b002","prev_randao":"0x055ff0e0ea219f1f1798acd48d7c6ef04a7aa53ec1b31f1950f5caf47f99d9d8","block_number":"6139158","gas_limit":"30000000","gas_used":"10150933","timestamp":"1718783796","extra_data":"0x","base_fee_per_gas":"6486887","block_hash":"0x6a1c6cc1288590f860aad07caae1a0150844846e79f7328537754c9ffb51948a","transactions_root":"0xda08b27a3fb71dfd8b24e2d7bcff6539d66ddea393307424a5f51f56d5de9188","withdrawals_root":"0xfdfc4f7fac80825110865f82565d1070bf00ad5309a9dfa286038b759fab2b2e","blob_gas_used":"262144","excess_blob_gas":"393216"},"execution_branch":["0x3a9d60a272e0514b655755f5357b920d92f14cb6fa80434b821e028874ca111d","0x271e4477a4c6d2fc01625dfa2fe4fd786c74455e038669869e537cead45a06cb","0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71","0x0cf30679a2dc5a4f9ad5db4e601ec76b37c13273e0d30ff7a3c92fc1d3e4a3d6"]},"finalized_header":{"beacon":{"slot":"5254112","proposer_index":"1446","parent_root":"0x5f92903c1eded7983b75cdd969ffad3c20c1b37b3e12b57f45f29220a99bdeae","state_root":"0x4added61ed6e8b61e511da828c3f9c7d6e14c655045a8596460bea84e2212243","body_root":"0xb7e79c1e0d2ff6908151cdce8de26db289d3f11ac0701cd39ebf4d1446e6551f"},"execution":{"parent_hash":"0x3f22e88861faf94bb83b910a6499f9344f3d30ad2c288a9f06a99c0560f18fd1","fee_recipient":"0x0000000000000000000000000000000000000000","state_root":"0xd4f9756827fc1539fe3b719389a7ca5d7de029d5b8ebc14666043d16ef57fd9d","receipts_root":"0xc1f2d3ba7f01c3fa6c68df784ad304aff093bde30f5f19f0fe106ff8f65cfa27","logs_bloom":"0x208dc40f590e462a2cd04002710b06680048d210108400507b2061205172a3d80088632124d44ae2d51712cd452441a480bb3d2c1a2014030031b7180a24024915c6ec6f4506844751ad20dee6f39a869790524870c649508085049a2120220137a60625ba26a4002c4320a1280a6f88044921f044d802a5000a223110c0804786766004653c101c202b26490010600806192b882944f285c0010c164d8ac2900b4ae29ef08227c20871c917c8041648f3d246c86844af0b8d024f86425112618a06d00705690845a00118103b0741054082c484100613a5c68315638a4164001f5440902081083f01483482e1992f110a1930404c290633d61583268c9c4032","prev_randao":"0xb76d54a8a2cc93366a05bd5cd917d3668a9f9add7713e3bbabc35ec06dd8de63","block_number":"6139090","gas_limit":"30000000","gas_used":"14001456","timestamp":"1718782944","extra_data":"0xd883010e05846765746888676f312e32322e30856c696e7578","base_fee_per_gas":"2984276","block_hash":"0xe3d21a2b4f2ac8912b285e02ab5f5b88d2fe299f52ca59afa04dce827e3b74cd","transactions_root":"0xd60dd5ae29b0edc1f59e9d9c4c822d9547e02dfd8717d7d38c15c8b02b70edcd","withdrawals_root":"0xff715cd7143e1113f7ff634771b9ad3744c198c270c14f474dbd24f23b17c3a1","blob_gas_used":"0","excess_blob_gas":"0"},"execution_branch":["0xf2a180c996b4c4c66fda705bd1505c4a2bc20ff2223ef5777a9ce7676531f095","0xb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bb","0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71","0x2dcce09118b66600d68cc62a5288f3d79772eb63fd6a32e96f4ae675a249435c"]},"finality_branch":["0x5f81020000000000000000000000000000000000000000000000000000000000","0x3d4be5d019ba15ea3ef304a83b8a067f2e79f46a3fac8069306a6c814a0a35eb","0xf21d36e48716b3854a3fede50527a01ee933165c306bd858acb89139a5924308","0x80c208c9d177870fe677d031b558ace9a23702a424cdbd7a0ffbd721a082ab50","0x66582e9a176df6aa3e1fbd56742abf0cd4a341b74b53cfa2f585ef07f6e2be63","0xfdd89560d14da5ebe8e1e0d92632d5955a7b743e0d272ce4da1b548796e5e80a"],"sync_aggregate":{"sync_committee_bits":"0xf77fffffffffffffffffbfdfffbffffefffffffffbfffffffffffffbfbfffffdffbffffffffffdefffffffffbfbfbffffffffffffffbdffffedffffafffffffe","sync_committee_signature":"0xa97db0497cfb9bc298c7ae1cbec1641ec74aee0ef31dde16949de67bcb447c379a5d286c6149642564285d201fe71ab401af426af165d4486ff2f718d2aa34f482f1f96f410b67b3f93c433e690fc6c70eec3e44adb0e01f1e6083deaec36db0"},"signature_slot":"5254184"}} From 092e30dddfd8e648326218926316cc59232a9b2f Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Thu, 7 Nov 2024 09:49:05 +0400 Subject: [PATCH 05/24] set env vars to disable redundant wasm-builder actions --- .github/workflows/ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bf109fdb..be4fc720 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,6 +49,9 @@ jobs: with: version: nightly - name: Run clippy + env: + __GEAR_WASM_BUILDER_NO_BUILD: 1 + __GEAR_WASM_BUILDER_NO_FEATURES_TRACKING: 1 run: cargo clippy --release --all-targets -- -D warnings $(cat .lints | cut -f1 -d"#" | tr '\n' ' ') - name: Run rustfmt run: cargo fmt -- --check @@ -80,8 +83,12 @@ jobs: docker pull ghcr.io/gear-tech/node:v1.6.2 docker run --name $NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug - name: Run `erc20-relay-app` tests + env: + __GEAR_WASM_BUILDER_NO_FEATURES_TRACKING: 1 run: cargo test --release --package erc20-relay-app -- --nocapture --ignored || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } - name: Run remaining `relayer` tests + env: + __GEAR_WASM_BUILDER_NO_FEATURES_TRACKING: 1 run: cargo test --release --package relayer -- --nocapture --ignored || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } - name: Stop Gear node container (if any) continue-on-error: true From 210d530c66656fb2330f52b478911a91eed096de Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Thu, 7 Nov 2024 10:12:44 +0400 Subject: [PATCH 06/24] refactor --- .github/workflows/ci.yml | 24 ++++++------------- .../erc20-relay/app/tests/gclient.rs | 3 --- relayer/src/ethereum_checkpoints/tests/mod.rs | 4 ---- 3 files changed, 7 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index be4fc720..79fccccc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,6 +14,7 @@ concurrency: env: CARGO_TERM_COLOR: always + __GEAR_WASM_BUILDER_NO_FEATURES_TRACKING: 1 jobs: build: @@ -49,10 +50,7 @@ jobs: with: version: nightly - name: Run clippy - env: - __GEAR_WASM_BUILDER_NO_BUILD: 1 - __GEAR_WASM_BUILDER_NO_FEATURES_TRACKING: 1 - run: cargo clippy --release --all-targets -- -D warnings $(cat .lints | cut -f1 -d"#" | tr '\n' ' ') + run: __GEAR_WASM_BUILDER_NO_BUILD=1 cargo clippy --release --all-targets -- -D warnings $(cat .lints | cut -f1 -d"#" | tr '\n' ' ') - name: Run rustfmt run: cargo fmt -- --check tests: @@ -72,24 +70,16 @@ jobs: uses: foundry-rs/foundry-toolchain@v1 with: version: nightly + - name: Pull & run Gear node container + run: | + docker pull ghcr.io/gear-tech/node:v1.6.2 + docker run --name $NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug - name: Run tests - run: cargo test --release --all-targets + run: cargo test --release --all-targets --exclude erc20-relay-app && __GEAR_WASM_BUILDER_NO_BUILD=1 cargo test --release --package erc20-relay-app -- --nocapture || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } - name: Run solidity tests run: | cd ethereum forge test - - name: Pull & run Gear node container - run: | - docker pull ghcr.io/gear-tech/node:v1.6.2 - docker run --name $NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug - - name: Run `erc20-relay-app` tests - env: - __GEAR_WASM_BUILDER_NO_FEATURES_TRACKING: 1 - run: cargo test --release --package erc20-relay-app -- --nocapture --ignored || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } - - name: Run remaining `relayer` tests - env: - __GEAR_WASM_BUILDER_NO_FEATURES_TRACKING: 1 - run: cargo test --release --package relayer -- --nocapture --ignored || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } - name: Stop Gear node container (if any) continue-on-error: true run: docker stop $NAME diff --git a/gear-programs/erc20-relay/app/tests/gclient.rs b/gear-programs/erc20-relay/app/tests/gclient.rs index 3a9f2fc2..2e1857f2 100644 --- a/gear-programs/erc20-relay/app/tests/gclient.rs +++ b/gear-programs/erc20-relay/app/tests/gclient.rs @@ -96,7 +96,6 @@ async fn spin_up_node() -> (impl Remoting + Clone, GearApi, CodeId, GasUnit) { } #[tokio::test] -#[ignore = "Requires running node"] async fn gas_for_reply() { use erc20_relay_client::{traits::Erc20Relay as _, Erc20Relay, Erc20RelayFactory}; @@ -166,7 +165,6 @@ async fn gas_for_reply() { } #[tokio::test] -#[ignore = "Requires running node"] async fn set_vft_gateway() { use erc20_relay_client::Config; @@ -238,7 +236,6 @@ async fn set_vft_gateway() { } #[tokio::test] -#[ignore = "Requires running node"] async fn update_config() { use erc20_relay_client::Config; diff --git a/relayer/src/ethereum_checkpoints/tests/mod.rs b/relayer/src/ethereum_checkpoints/tests/mod.rs index 9482d0d0..43e95cfe 100644 --- a/relayer/src/ethereum_checkpoints/tests/mod.rs +++ b/relayer/src/ethereum_checkpoints/tests/mod.rs @@ -193,19 +193,16 @@ async fn init(network: Network, rpc_url: String) -> Result<()> { Ok(()) } -#[ignore] #[tokio::test] async fn init_holesky() -> Result<()> { init(Network::Holesky, RPC_URL.into()).await } -#[ignore] #[tokio::test] async fn init_mainnet() -> Result<()> { init(Network::Mainnet, "https://www.lightclientdata.org".into()).await } -#[ignore] #[tokio::test] async fn replay_back_and_updating() -> Result<()> { let beacon_client = BeaconClient::new(RPC_URL.to_string(), Some(Duration::from_secs(120))) @@ -365,7 +362,6 @@ async fn replay_back_and_updating() -> Result<()> { Ok(()) } -#[ignore] #[tokio::test] async fn sync_update_requires_replaying_back() -> Result<()> { let finality_update: FinalityUpdateResponse = From 92c9f8e1330300824ab39c71ba4774bf753d94ef Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Thu, 7 Nov 2024 11:22:01 +0400 Subject: [PATCH 07/24] debug cargo clippy --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed2de2d1..06270034 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,7 @@ jobs: run: forge build working-directory: ./ethereum - name: Run clippy - run: __GEAR_WASM_BUILDER_NO_BUILD=1 cargo clippy --release --all-targets -- -D warnings $(cat .lints | cut -f1 -d"#" | tr '\n' ' ') + run: __GEAR_WASM_BUILDER_NO_BUILD=1 cargo clippy --release --all-targets -vvvvvv -- -D warnings $(cat .lints | cut -f1 -d"#" | tr '\n' ' ') - name: Run rustfmt run: cargo fmt -- --check tests: @@ -84,7 +84,7 @@ jobs: docker pull ghcr.io/gear-tech/node:v1.6.2 docker run --name $NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug - name: Run tests - run: cargo test --release --all-targets --exclude erc20-relay-app && __GEAR_WASM_BUILDER_NO_BUILD=1 cargo test --release --package erc20-relay-app -- --nocapture || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } + run: cargo test --release --workspace --exclude erc20-relay-app && __GEAR_WASM_BUILDER_NO_BUILD=1 cargo test --release --package erc20-relay-app -- --nocapture || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } - name: Run solidity tests run: | cd ethereum From fcec78be0f648f3694998be26cb0d3a7f2b4ea7a Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Thu, 7 Nov 2024 11:49:23 +0400 Subject: [PATCH 08/24] remove env vars --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 06270034..789b5d97 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,7 @@ jobs: run: forge build working-directory: ./ethereum - name: Run clippy - run: __GEAR_WASM_BUILDER_NO_BUILD=1 cargo clippy --release --all-targets -vvvvvv -- -D warnings $(cat .lints | cut -f1 -d"#" | tr '\n' ' ') + run: cargo clippy --release --all-targets -- -D warnings $(cat .lints | cut -f1 -d"#" | tr '\n' ' ') - name: Run rustfmt run: cargo fmt -- --check tests: @@ -84,7 +84,7 @@ jobs: docker pull ghcr.io/gear-tech/node:v1.6.2 docker run --name $NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug - name: Run tests - run: cargo test --release --workspace --exclude erc20-relay-app && __GEAR_WASM_BUILDER_NO_BUILD=1 cargo test --release --package erc20-relay-app -- --nocapture || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } + run: cargo test --release --workspace --exclude erc20-relay-app --all-targets && cargo test --release --package erc20-relay-app -- --nocapture || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } - name: Run solidity tests run: | cd ethereum From a96dc909ad9b7eec27cef9c1cc5f1ced836d7d71 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 12 Nov 2024 14:33:40 +0400 Subject: [PATCH 09/24] fix review remarks --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 789b5d97..eb60a22f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,7 +62,7 @@ jobs: tests: runs-on: kuberunner env: - NAME: gear_node${{ github.run_id }}_${{ github.run_number }} + NODE_CONTAINER_NAME: gear_node${{ github.run_id }}_${{ github.run_number }} steps: - name: Checkout uses: actions/checkout@v4 @@ -82,13 +82,13 @@ jobs: - name: Pull & run Gear node container run: | docker pull ghcr.io/gear-tech/node:v1.6.2 - docker run --name $NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug + docker run --name $NODE_CONTAINER_NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug - name: Run tests - run: cargo test --release --workspace --exclude erc20-relay-app --all-targets && cargo test --release --package erc20-relay-app -- --nocapture || { exit_code=$?; if [ x$exit_code != x0 ]; then docker logs --details $NAME; docker stop $NAME; fi; exit $exit_code; } + run: cargo test --release --workspace --exclude erc20-relay-app --all-targets && cargo test --release --package erc20-relay-app -- --nocapture || { exit_code=$?; if [ x$exit_code != x0 ]; then docker stop $NODE_CONTAINER_NAME; fi; exit $exit_code; } - name: Run solidity tests run: | cd ethereum forge test - name: Stop Gear node container (if any) continue-on-error: true - run: docker stop $NAME + run: docker stop $NODE_CONTAINER_NAME From 985e32906d3465336f46d74f91bf1c0229e9030b Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Mon, 25 Nov 2024 18:52:22 +0400 Subject: [PATCH 10/24] use archived data instead of RPC --- Cargo.lock | 1 + Cargo.toml | 1 + relayer/Cargo.toml | 3 + .../tests/headers.json.zst | Bin 0 -> 452109 bytes .../tests/holesky-bootstrap-368.json.zst | Bin 0 -> 29297 bytes .../holesky-finality-update-3_016_736.json | 1 + .../holesky-finality-update-3_016_768.json | 1 + .../holesky-finality-update-3_016_799.json | 1 + .../tests/holesky-update-368.json.zst | Bin 0 -> 30468 bytes relayer/src/ethereum_checkpoints/tests/mod.rs | 331 +++++++++--------- 10 files changed, 171 insertions(+), 168 deletions(-) create mode 100644 relayer/src/ethereum_checkpoints/tests/headers.json.zst create mode 100644 relayer/src/ethereum_checkpoints/tests/holesky-bootstrap-368.json.zst create mode 100644 relayer/src/ethereum_checkpoints/tests/holesky-finality-update-3_016_736.json create mode 100644 relayer/src/ethereum_checkpoints/tests/holesky-finality-update-3_016_768.json create mode 100644 relayer/src/ethereum_checkpoints/tests/holesky-finality-update-3_016_799.json create mode 100644 relayer/src/ethereum_checkpoints/tests/holesky-update-368.json.zst diff --git a/Cargo.lock b/Cargo.lock index 0bc31c15..a15a0952 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9990,6 +9990,7 @@ dependencies = [ "prover", "rand 0.8.5", "reqwest 0.11.27", + "ruzstd", "sails-rs", "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 74b17a5c..23e0c4dd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -129,6 +129,7 @@ ring = { git = "https://github.com/gear-tech/ring.git", branch = "gear-v0.17.8", "alloc", ] } rlp = { version = "0.5.2", default-features = false } +ruzstd = "0.5.0" scale-info = { version = "2.10", default-features = false, features = [ "derive", ] } diff --git a/relayer/Cargo.toml b/relayer/Cargo.toml index 7bb4c112..a30935d1 100644 --- a/relayer/Cargo.toml +++ b/relayer/Cargo.toml @@ -49,3 +49,6 @@ utils-prometheus.workspace = true [build-dependencies] cgo_oligami.workspace = true + +[dev-dependencies] +ruzstd.workspace = true diff --git a/relayer/src/ethereum_checkpoints/tests/headers.json.zst b/relayer/src/ethereum_checkpoints/tests/headers.json.zst new file mode 100644 index 0000000000000000000000000000000000000000..bc2aa6277464ef6de7936c4d71d542a5a8e3a5ef GIT binary patch literal 452109 zcmV(zK<2+FwJ-go*r*c#d|(Bh;}2dS9$-fc2poXXY_xXR?Qkp3+nxK}SBIh~if+KZ z{sI-1AUz;JAe5bf_suC+Iz6eHR0D0GZ;18whM-uLFg4-XAAz%G)KiZ(bb~)w2vt8e zdcqyDB^0Mss5Zk;zaU=fOX51~T!97y>xQDN=cW+IbLM@mhL0ohe9RrqUcB-x*D%dh zL!6^HE;m2z`&~DiON0*(p=fVrC!sn+E5dWBDy40ohSdr!66i|IGVR)B!Z=1DfhO-8 z7FbCr-((atNQWq#N1%DTuWY0R3t=9)bmzp3v7I6I`VUJd!g7b8t+u;blBZw4HlJKa zK{(J4?qdaRu)Kz8M8_WHvEB6zzAE)B?`*Z=+G(`K@t_heyiwBR$tQ-*!!Y&cD*VhN z?!NU$XCZfn*W5h!L@;l6Ic#eMrs)h>MQXSKk0<0*QD6_hX~AuNf>;{Y5!!igD*c7k zK(8+!5jj?|dT7?Xxi&k+A$XrV*JwzJIGBA_osLxCCx)bS)O#*g$JzyziZiJ#t;t#nW=VR}AbdDuF&wk5+vnObBLY6gY`K zE!bzXsX|EtlV{(#?@u>yZs!&A%hqt7nC(~2b*)Xd&=qxpid&UVpqhl*>plwQ+~Jw) zL~5-$FD?T-S&&YN4Pnxe4qD+_3CM* zH$^=Y_7tvlHP}spZ+L%>DOQi4kvJKnWJT2qhI&b@f@rv7!6^_ zP%DVRAB8LI%_U5&GRG#_u_+N3W#Ebn6EjbHGrTMj-nZs9MMh%&J6tbnB?}#y3iX?K zA<9XhS9Xx6I|rJSstbWa2&B{W&61%*?Mz(or-X37e3Gi)v892Co3HP| zF-9Gx%eQ3OgU*dAwMzUeB5INO*IRHQmPf8QDQc&5kIRMJ=ypI0MR^qS5z2RCV**oz zRf4ew_1mKj#$IWt>)(QQa`$RJ>46$F@M?7^cihZumsKg6w42M`%_iz zw|>E0>JmXV#+gGecH;uW`aOk4b|;)grI?cB@T~r|!LHBD$B3*_Q-ZK@RwGPEqv?_d z#TV{0t#9yNti?H;j*3j(?s4w6$J*Zfc z8iMdx7*B$4(qZRtng<59R3#U>uaAjJ9qI7c6ND^nF8_)oh;Ny3zD|iA>%DykktsxVmhRHmdSN2<9Mi zU8(<)e7d(}4E96(U+y4+J+4{G_OU_oxhMGdi&2zSSch%5AuT$P%ej@LwvUHN1@JBhRMgUkWAF4me?F7{KTO>hy2iJg%M^&<1-Ok1BVsPW(svF`wj~TE4AQUa;;7Ge?VJZTVF}`!+=Er{gs3dWf3h` zn?4hUv}B)J7&~EnVTN9D*oZX#0&-b&md*ru>UAxTsOLo11>F!NBq3-�r^(oJ-@e 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

I7ybedC6C55pSvG7!>roLwOmB^ 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

HH^85!7!+mO3Oz66sLK+~P_M*~jK+ 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%0AuPvQ&Gs*4j|7ss9DL6U^M0cln=5E- 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

MV>5_V7rFI^GFEV1`_e!&Oj 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 = Mutex::const_new(()); -const RPC_URL: &str = "http://34.159.93.103:50000"; - -const FINALITY_UPDATE_5_263_072: &[u8; 4_941] = +const SEPOLIA_FINALITY_UPDATE_5_263_072: &[u8; 4_941] = include_bytes!("./sepolia-finality-update-5_263_072.json"); -const UPDATE_640: &[u8; 57_202] = include_bytes!("./sepolia-update-640.json"); -const BOOTSTRAP_640: &[u8; 54_328] = include_bytes!("./sepolia-bootstrap-640.json"); +const SEPOLIA_UPDATE_640: &[u8; 57_202] = include_bytes!("./sepolia-update-640.json"); +const SEPOLIA_BOOTSTRAP_640: &[u8; 54_328] = include_bytes!("./sepolia-bootstrap-640.json"); + +const HOLESKY_UPDATE_368: &[u8; 30_468] = include_bytes!("./holesky-update-368.json.zst"); +const HOLESKY_BOOTSTRAP_368: &[u8; 29_297] = include_bytes!("./holesky-bootstrap-368.json.zst"); +const HOLESKY_HEADERS: &[u8; 452_109] = include_bytes!("./headers.json.zst"); +const HOLESKY_FINALITY_UPDATE_3_014_736: &[u8; 4_893] = + include_bytes!("./holesky-finality-update-3_016_736.json"); +const HOLESKY_FINALITY_UPDATE_3_014_768: &[u8; 4_932] = + include_bytes!("./holesky-finality-update-3_016_768.json"); +const HOLESKY_FINALITY_UPDATE_3_014_799: &[u8; 4_980] = + include_bytes!("./holesky-finality-update-3_016_799.json"); struct Guard<'a> { _lock: MutexGuard<'a, ()>, @@ -132,14 +144,55 @@ async fn calculate_gas_and_send( Ok((gas_limit, HandleResult::decode(&mut &payload[..])?)) } -async fn init(network: Network, rpc_url: String) -> Result<()> { - let beacon_client = BeaconClient::new(rpc_url, None) +fn get_bootstrap_and_update() -> (Bootstrap, Update) { + let mut decoder = StreamingDecoder::new(&HOLESKY_BOOTSTRAP_368[..]).unwrap(); + let mut bootstrap = Vec::new(); + decoder.read_to_end(&mut bootstrap).unwrap(); + let BootstrapResponse { data: bootstrap } = serde_json::from_slice(&bootstrap[..]).unwrap(); + + let mut decoder = StreamingDecoder::new(&HOLESKY_UPDATE_368[..]).unwrap(); + let mut update = Vec::new(); + decoder.read_to_end(&mut update).unwrap(); + let mut updates: Vec = serde_json::from_slice(&update[..]).unwrap(); + + (bootstrap, updates.pop().map(|u| u.data).unwrap()) +} + +fn construct_init(network: Network, update: Update, bootstrap: Bootstrap) -> Init { + let checkpoint_update = update.finalized_header.tree_hash_root(); + let checkpoint_bootstrap = bootstrap.header.tree_hash_root(); + assert_eq!( + checkpoint_update, + checkpoint_bootstrap, + "checkpoint_update = {}, checkpoint_bootstrap = {}", + hex::encode(checkpoint_update), + hex::encode(checkpoint_bootstrap) + ); + + let sync_update = utils::sync_update_from_update(decode(&update.sync_aggregate), update); + let pub_keys = utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); + + Init { + network, + sync_committee_current_pub_keys: pub_keys, + sync_committee_current_aggregate_pubkey: bootstrap.current_sync_committee.aggregate_pubkey, + sync_committee_current_branch: bootstrap + .current_sync_committee_branch + .into_iter() + .map(|BytesFixed(bytes)| bytes.0) + .collect(), + update: sync_update, + } +} + +async fn live_init(network: Network, rpc_url: String) -> Result<()> { + let beacon_client = BeaconClient::new(rpc_url, Some(Duration::from_secs(120))) .await .expect("Failed to connect to beacon node"); - // use the latest finality header as a checkpoint for bootstrapping - let finality_update = beacon_client.get_finality_update().await?; - let slot = finality_update.finalized_header.slot; + // use the latest finalized block as a checkpoint for bootstrapping + let finalized_block = beacon_client.get_block_finalized().await?; + let slot = finalized_block.slot; let current_period = eth_utils::calculate_period(slot); let mut updates = beacon_client.get_updates(current_period, 1).await?; @@ -162,23 +215,9 @@ async fn init(network: Network, rpc_url: String) -> Result<()> { ); let bootstrap = beacon_client.get_bootstrap(&checkpoint_hex).await?; - let sync_update = utils::sync_update_from_update(decode(&update.sync_aggregate), update); - println!("bootstrap slot = {}", bootstrap.header.slot); - let pub_keys = utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); - let init = Init { - network, - sync_committee_current_pub_keys: pub_keys, - sync_committee_current_aggregate_pubkey: bootstrap.current_sync_committee.aggregate_pubkey, - sync_committee_current_branch: bootstrap - .current_sync_committee_branch - .into_iter() - .map(|BytesFixed(bytes)| bytes.0) - .collect(), - update: sync_update, - }; - + let init = construct_init(network, update, bootstrap); let client = NodeClient::new().await?; let program_id = { let lock = client.lock().await; @@ -195,61 +234,43 @@ async fn init(network: Network, rpc_url: String) -> Result<()> { #[tokio::test] async fn init_holesky() -> Result<()> { - init(Network::Holesky, RPC_URL.into()).await -} - -#[tokio::test] -async fn init_mainnet() -> Result<()> { - init(Network::Mainnet, "https://www.lightclientdata.org".into()).await -} + let (bootstrap, update) = get_bootstrap_and_update(); + let init = construct_init(Network::Holesky, update, bootstrap); -#[tokio::test] -async fn replay_back_and_updating() -> Result<()> { - let beacon_client = BeaconClient::new(RPC_URL.to_string(), Some(Duration::from_secs(120))) - .await - .expect("Failed to connect to beacon node"); - - // use the latest finality header as a checkpoint for bootstrapping - let mut finality_update = beacon_client.get_finality_update().await?; - let current_period = eth_utils::calculate_period(finality_update.finalized_header.slot); - let mut updates = beacon_client.get_updates(current_period, 1).await?; + let client = NodeClient::new().await?; + let program_id = { + let lock = client.lock().await; - println!( - "finality_update slot = {}, period = {}", - finality_update.finalized_header.slot, current_period - ); + let mut listener = lock.client.subscribe().await?; - let update = match updates.pop() { - Some(update) if updates.is_empty() => update.data, - _ => unreachable!("Requested single update"), + upload_program(lock.client, &mut listener, init).await? }; - let checkpoint = update.finalized_header.tree_hash_root(); - let checkpoint_hex = hex::encode(checkpoint); + println!("program_id = {:?}", hex::encode(program_id)); - println!( - "checkpoint slot = {}, hash = {}", - update.finalized_header.slot, checkpoint_hex - ); + Ok(()) +} - let bootstrap = beacon_client.get_bootstrap(&checkpoint_hex).await?; - let sync_update = utils::sync_update_from_update(decode(&update.sync_aggregate), update); - let slot_start = sync_update.finalized_header.slot; +#[ignore] +#[tokio::test] +async fn live_init_holesky() -> Result<()> { + live_init(Network::Holesky, "http://34.159.93.103:50000".to_string()).await +} - println!("bootstrap slot = {}", bootstrap.header.slot); +#[ignore] +#[tokio::test] +async fn live_init_mainnet() -> Result<()> { + live_init( + Network::Mainnet, + "https://www.lightclientdata.org".to_string(), + ) + .await +} - let pub_keys = utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); - let init = Init { - network: Network::Holesky, - sync_committee_current_pub_keys: pub_keys, - sync_committee_current_aggregate_pubkey: bootstrap.current_sync_committee.aggregate_pubkey, - sync_committee_current_branch: bootstrap - .current_sync_committee_branch - .into_iter() - .map(|BytesFixed(bytes)| bytes.0) - .collect(), - update: sync_update, - }; +#[tokio::test] +async fn replay_back_and_updating() -> Result<()> { + let (bootstrap, update) = get_bootstrap_and_update(); + let init = construct_init(Network::Holesky, update, bootstrap); let client = NodeClient::new().await?; let program_id = { @@ -265,84 +286,81 @@ async fn replay_back_and_updating() -> Result<()> { println!(); println!(); - // ensure finality update is different from the sync update - loop { - if finality_update.finalized_header.slot != slot_start { - break; - } + let finality_update: FinalityUpdateResponse = + serde_json::from_slice(HOLESKY_FINALITY_UPDATE_3_014_736).unwrap(); + let finality_update = finality_update.data; - time::sleep(Duration::from_secs(6)).await; - finality_update = beacon_client.get_finality_update().await?; - } + let mut decoder = StreamingDecoder::new(&HOLESKY_HEADERS[..]).unwrap(); + let mut headers = Vec::new(); + decoder.read_to_end(&mut headers).unwrap(); + + let headers: Vec = serde_json::from_slice(&headers[..]).unwrap(); // start to replay back - let mut slot_last = finality_update.finalized_header.slot; - let mut slots_batch_iter = - slots_batch::Iter::new(slot_start, slot_last, 30 * SLOTS_PER_EPOCH).unwrap(); - if let Some((slot_start, slot_end)) = slots_batch_iter.next() { - let payload = Handle::ReplayBackStart { - sync_update: utils::sync_update_from_finality( - decode(&finality_update.sync_aggregate), - finality_update, - ), - headers: beacon_client.request_headers(slot_start, slot_end).await?, - }; + let size_batch = 40 * SLOTS_PER_EPOCH as usize; + let payload = Handle::ReplayBackStart { + sync_update: utils::sync_update_from_finality( + decode(&finality_update.sync_aggregate), + finality_update, + ), + headers: headers + .iter() + .rev() + .take(size_batch) + .map(|r| r.data.header.message.clone()) + .collect(), + }; - let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; - println!("ReplayBackStart gas_limit {gas_limit:?}"); + let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; + println!("ReplayBackStart gas_limit {gas_limit:?}"); - assert!( - matches!(result, HandleResult::ReplayBackStart(Ok(_))), - "result = {result:?}" - ); - } + assert!( + matches!(result, HandleResult::ReplayBackStart(Ok(_))), + "result = {result:?}" + ); // replaying the blocks back - for (slot_start, slot_end) in slots_batch_iter { - let payload = - Handle::ReplayBack(beacon_client.request_headers(slot_start, slot_end).await?); - let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; - println!("ReplayBack gas_limit {gas_limit:?}"); + let payload = Handle::ReplayBack( + headers + .iter() + .rev() + .skip(size_batch) + .map(|r| r.data.header.message.clone()) + .collect(), + ); + let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; + println!("ReplayBack gas_limit {gas_limit:?}"); - assert!( - matches!(result, HandleResult::ReplayBack(Some(_))), - "result = {result:?}" - ); - } + assert!( + matches!(result, HandleResult::ReplayBack(Some(Status::Finished))), + "result = {result:?}" + ); // updating - const COUNT: usize = 1; - let mut processed = 0; - while processed < COUNT { - time::sleep(Duration::from_secs(6)).await; - - let update = beacon_client.get_finality_update().await?; - let slot: u64 = update.finalized_header.slot; - if slot == slot_last { - continue; - } - - slot_last = slot; - processed += 1; - - let current_period = eth_utils::calculate_period(slot); - let mut updates = beacon_client.get_updates(current_period, 1).await?; - let payload = Handle::SyncUpdate(match updates.pop() { - Some(update) if updates.is_empty() && update.data.finalized_header.slot >= slot => { - println!("update sync committee"); - - utils::sync_update_from_update(decode(&update.data.sync_aggregate), update.data) - } - - _ => { - println!( - "slot = {slot:?}, attested slot = {:?}, signature slot = {:?}", - update.attested_header.slot, update.signature_slot - ); + let finality_updates = vec![ + { + let finality_update: FinalityUpdateResponse = + serde_json::from_slice(HOLESKY_FINALITY_UPDATE_3_014_768).unwrap(); + + finality_update.data + }, + { + let finality_update: FinalityUpdateResponse = + serde_json::from_slice(HOLESKY_FINALITY_UPDATE_3_014_799).unwrap(); + + finality_update.data + }, + ]; + for update in finality_updates { + println!( + "slot = {:?}, attested slot = {:?}, signature slot = {:?}", + update.finalized_header.slot, update.attested_header.slot, update.signature_slot + ); - utils::sync_update_from_finality(decode(&update.sync_aggregate), update) - } - }); + let payload = Handle::SyncUpdate(utils::sync_update_from_finality( + decode(&update.sync_aggregate), + update, + )); let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; println!("gas_limit {gas_limit:?}"); @@ -365,7 +383,7 @@ async fn replay_back_and_updating() -> Result<()> { #[tokio::test] async fn sync_update_requires_replaying_back() -> Result<()> { let finality_update: FinalityUpdateResponse = - serde_json::from_slice(FINALITY_UPDATE_5_263_072).unwrap(); + serde_json::from_slice(SEPOLIA_FINALITY_UPDATE_5_263_072).unwrap(); let finality_update = finality_update.data; println!( "finality_update slot = {}", @@ -373,39 +391,16 @@ async fn sync_update_requires_replaying_back() -> Result<()> { ); let slot = finality_update.finalized_header.slot; - let mut updates: Vec = serde_json::from_slice(UPDATE_640).unwrap(); + let BootstrapResponse { data: bootstrap } = + serde_json::from_slice(SEPOLIA_BOOTSTRAP_640).unwrap(); + let mut updates: Vec = serde_json::from_slice(SEPOLIA_UPDATE_640).unwrap(); let update = match updates.pop() { Some(update) if updates.is_empty() => update.data, _ => unreachable!("Requested single update"), }; - let BootstrapResponse { data: bootstrap } = serde_json::from_slice(BOOTSTRAP_640).unwrap(); - - let checkpoint_update = update.finalized_header.tree_hash_root(); - let checkpoint_bootstrap = bootstrap.header.tree_hash_root(); - assert_eq!( - checkpoint_update, - checkpoint_bootstrap, - "checkpoint_update = {}, checkpoint_bootstrap = {}", - hex::encode(checkpoint_update), - hex::encode(checkpoint_bootstrap) - ); - - let sync_update = utils::sync_update_from_update(decode(&update.sync_aggregate), update); - - let pub_keys = utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); - let init = Init { - network: Network::Sepolia, - sync_committee_current_pub_keys: pub_keys, - sync_committee_current_aggregate_pubkey: bootstrap.current_sync_committee.aggregate_pubkey, - sync_committee_current_branch: bootstrap - .current_sync_committee_branch - .into_iter() - .map(|BytesFixed(bytes)| bytes.0) - .collect(), - update: sync_update, - }; + let init = construct_init(Network::Sepolia, update, bootstrap); let client = NodeClient::new().await?; let program_id = { From ec8968644142084ef2bc1b60895e65063391be7d Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 26 Nov 2024 18:15:30 +0400 Subject: [PATCH 11/24] use different accounts for tests --- Cargo.lock | 2 + gear-programs/erc20-relay/app/Cargo.toml | 1 + .../erc20-relay/app/tests/gclient.rs | 109 +++++---------- relayer/Cargo.toml | 1 + relayer/src/ethereum_checkpoints/tests/mod.rs | 125 +++++++----------- 5 files changed, 83 insertions(+), 155 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a15a0952..b3fef70f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3641,6 +3641,7 @@ dependencies = [ "lazy_static", "sails-client-gen", "sails-rs", + "sp-core 21.0.0", "tokio", ] @@ -9994,6 +9995,7 @@ dependencies = [ "sails-rs", "serde", "serde_json", + "sp-core 21.0.0", "thiserror", "tokio", "utils-prometheus", diff --git a/gear-programs/erc20-relay/app/Cargo.toml b/gear-programs/erc20-relay/app/Cargo.toml index f0fd8f25..b70e0341 100644 --- a/gear-programs/erc20-relay/app/Cargo.toml +++ b/gear-programs/erc20-relay/app/Cargo.toml @@ -20,6 +20,7 @@ futures.workspace = true gclient.workspace = true gstd.workspace = true sails-rs = { workspace = true, features = ["gclient"] } +sp-core = { workspace = true, features = ["std"] } tokio = { workspace = true, features = ["rt", "macros"] } hex-literal.workspace = true hex.workspace = true diff --git a/gear-programs/erc20-relay/app/tests/gclient.rs b/gear-programs/erc20-relay/app/tests/gclient.rs index 3e7fa0c8..b8bc6212 100644 --- a/gear-programs/erc20-relay/app/tests/gclient.rs +++ b/gear-programs/erc20-relay/app/tests/gclient.rs @@ -5,83 +5,20 @@ mod vft { } use erc20_relay_client::traits::{Erc20Relay, Erc20RelayFactory}; -use gclient::{Event, EventProcessor, GearApi, GearEvent}; +use gclient::{Event, EventProcessor, GearApi, GearEvent, WSAddress}; use sails_rs::{calls::*, gclient::calls::*, prelude::*}; +use sp_core::crypto::DEV_PHRASE; use tokio::sync::Mutex; use vft::vft_manager; static LOCK: Mutex<(u32, Option)> = Mutex::const_new((0, None)); -async fn salt() -> [u8; 4] { - let mut lock = LOCK.lock().await; - let salt = lock.0; - lock.0 += 1; - - salt.to_le_bytes() -} - -// The struct purpose is to avoid the following error: -// GearSDK(Subxt(Rpc(ClientError(Call(Custom(ErrorObject { code: ServerError(1014), message: "Priority is too low: (16 vs 16)", data: Some(RawValue("The transaction has too low priority to replace another transaction already in the pool.")) })))))) -#[derive(Clone)] -struct TestRemoting(GClientRemoting); - -impl sails_rs::calls::Remoting for TestRemoting { - type Args = ::Args; - - async fn activate( - self, - code_id: CodeId, - salt: impl AsRef<[u8]>, - payload: impl AsRef<[u8]>, - gas_limit: Option, - value: ValueUnit, - args: Self::Args, - ) -> sails_rs::errors::Result< - impl future::Future)>>, - > { - let _lock = LOCK.lock().await; - - self.0 - .activate(code_id, salt, payload, gas_limit, value, args) - .await - } - - async fn message( - self, - target: ActorId, - payload: impl AsRef<[u8]>, - gas_limit: Option, - value: ValueUnit, - args: Self::Args, - ) -> sails_rs::errors::Result>>> - { - let _lock = LOCK.lock().await; - - self.0 - .message(target, payload, gas_limit, value, args) - .await - } - - async fn query( - self, - target: ActorId, - payload: impl AsRef<[u8]>, - gas_limit: Option, - value: ValueUnit, - args: Self::Args, - ) -> sails_rs::errors::Result> { - self.0.query(target, payload, gas_limit, value, args).await - } -} - -async fn spin_up_node() -> (impl Remoting + Clone, GearApi, CodeId, GasUnit) { +async fn spin_up_node() -> (impl Remoting + Clone, GearApi, CodeId, GasUnit, [u8; 4]) { let api = GearApi::dev().await.unwrap(); let gas_limit = api.block_gas_limit().unwrap(); - let remoting = GClientRemoting::new(api.clone()); - let remoting = TestRemoting(remoting); - let code_id = { + let (api, code_id, salt) = { let mut lock = LOCK.lock().await; - match lock.1 { + let code_id = match lock.1 { Some(code_id) => code_id, None => { let (code_id, _) = api.upload_code(erc20_relay::WASM_BINARY).await.unwrap(); @@ -89,19 +26,39 @@ async fn spin_up_node() -> (impl Remoting + Clone, GearApi, CodeId, GasUnit) { code_id } - } + }; + + let salt = lock.0; + lock.0 += 1; + + let suri = format!("{DEV_PHRASE}//erc20-relay-{salt}:"); + let api2 = GearApi::init_with(WSAddress::dev(), suri).await.unwrap(); + + let account_id: &[u8; 32] = api2.account_id().as_ref(); + api.transfer_keep_alive((*account_id).into(), 100_000_000_000_000) + .await + .unwrap(); + + (api2, code_id, salt) }; - (remoting, api, code_id, gas_limit) + ( + GClientRemoting::new(api.clone()), + api, + code_id, + gas_limit, + salt.to_le_bytes(), + ) } +#[ignore] #[tokio::test] async fn gas_for_reply() { use erc20_relay_client::{traits::Erc20Relay as _, Erc20Relay, Erc20RelayFactory}; let route = ::ROUTE; - let (remoting, api, code_id, gas_limit) = spin_up_node().await; + let (remoting, api, code_id, gas_limit, salt) = spin_up_node().await; let account_id: ActorId = <[u8; 32]>::from(api.account_id().clone()).into(); let factory = Erc20RelayFactory::new(remoting.clone()); @@ -109,7 +66,7 @@ async fn gas_for_reply() { let program_id = factory .gas_calculation(1_000, 5_500_000_000) .with_gas_limit(gas_limit) - .send_recv(code_id, salt().await) + .send_recv(code_id, salt) .await .unwrap(); @@ -168,7 +125,7 @@ async fn gas_for_reply() { async fn set_vft_manager() { use erc20_relay_client::Config; - let (remoting, _api, code_id, gas_limit) = spin_up_node().await; + let (remoting, _api, code_id, gas_limit, salt) = spin_up_node().await; let factory = erc20_relay_client::Erc20RelayFactory::new(remoting.clone()); @@ -181,7 +138,7 @@ async fn set_vft_manager() { }, ) .with_gas_limit(gas_limit) - .send_recv(code_id, salt().await) + .send_recv(code_id, salt) .await .unwrap(); @@ -239,7 +196,7 @@ async fn set_vft_manager() { async fn update_config() { use erc20_relay_client::Config; - let (remoting, _api, code_id, gas_limit) = spin_up_node().await; + let (remoting, _api, code_id, gas_limit, salt) = spin_up_node().await; let factory = erc20_relay_client::Erc20RelayFactory::new(remoting.clone()); @@ -255,7 +212,7 @@ async fn update_config() { }, ) .with_gas_limit(gas_limit) - .send_recv(code_id, salt().await) + .send_recv(code_id, salt) .await .unwrap(); diff --git a/relayer/Cargo.toml b/relayer/Cargo.toml index a30935d1..caf6bd16 100644 --- a/relayer/Cargo.toml +++ b/relayer/Cargo.toml @@ -52,3 +52,4 @@ cgo_oligami.workspace = true [dev-dependencies] ruzstd.workspace = true +sp-core = { workspace = true, features = ["std"] } diff --git a/relayer/src/ethereum_checkpoints/tests/mod.rs b/relayer/src/ethereum_checkpoints/tests/mod.rs index 73704757..c822e057 100644 --- a/relayer/src/ethereum_checkpoints/tests/mod.rs +++ b/relayer/src/ethereum_checkpoints/tests/mod.rs @@ -14,16 +14,14 @@ use checkpoint_light_client_io::{ Handle, HandleResult, Init, G2, }; use ethereum_common::utils::{BeaconBlockHeaderResponse, Bootstrap, Update}; -use gclient::{EventListener, EventProcessor, GearApi, Result}; +use gclient::{EventListener, EventProcessor, GearApi, Result, WSAddress}; use parity_scale_codec::{Decode, Encode}; use ruzstd::StreamingDecoder; +use sp_core::crypto::DEV_PHRASE; use std::io::Read; -use tokio::{ - sync::{Mutex, MutexGuard}, - time::Duration, -}; +use tokio::{sync::Mutex, time::Duration}; -static LOCK: Mutex<()> = Mutex::const_new(()); +static LOCK: Mutex = Mutex::const_new(0); const SEPOLIA_FINALITY_UPDATE_5_263_072: &[u8; 4_941] = include_bytes!("./sepolia-finality-update-5_263_072.json"); @@ -40,18 +38,24 @@ const HOLESKY_FINALITY_UPDATE_3_014_768: &[u8; 4_932] = const HOLESKY_FINALITY_UPDATE_3_014_799: &[u8; 4_980] = include_bytes!("./holesky-finality-update-3_016_799.json"); -struct Guard<'a> { - _lock: MutexGuard<'a, ()>, - pub client: &'a GearApi, -} - -// The struct purpose is to avoid the following error: -// GearSDK(Subxt(Rpc(ClientError(Call(Custom(ErrorObject { code: ServerError(1014), message: "Priority is too low: (16 vs 16)", data: Some(RawValue("The transaction has too low priority to replace another transaction already in the pool.")) })))))) -struct NodeClient(GearApi); +struct NodeClient(pub GearApi); impl NodeClient { async fn new() -> Result { - Ok(Self(GearApi::dev().await?)) + let api = GearApi::dev().await?; + let mut lock = LOCK.lock().await; + + let salt = *lock; + *lock += 1; + + let suri = format!("{DEV_PHRASE}//ethereum_checkpoints{salt}:"); + let api2 = GearApi::init_with(WSAddress::dev(), suri).await?; + + let account_id: &[u8; 32] = api2.account_id().as_ref(); + api.transfer_keep_alive((*account_id).into(), 100_000_000_000_000) + .await?; + + Ok(Self(api2)) } async fn calculate_handle_gas(&self, program_id: [u8; 32], payload: &Handle) -> Result { @@ -61,15 +65,6 @@ impl NodeClient { .await? .min_limit) } - - async fn lock(&self) -> Guard<'_> { - let _lock = LOCK.lock().await; - - Guard { - _lock, - client: &self.0, - } - } } #[track_caller] @@ -127,20 +122,15 @@ async fn calculate_gas_and_send( ) -> Result<(u64, HandleResult)> { let gas_limit = client.calculate_handle_gas(program_id, &payload).await?; - let (_message_id, payload, _value) = { - let lock = client.lock().await; - - let mut listener = lock.client.subscribe().await?; - - let (message_id, _) = lock - .client - .send_message(program_id.into(), payload, gas_limit, 0) - .await?; - - listener.reply_bytes_on(message_id).await? - }; + let mut listener = client.0.subscribe().await?; + let (message_id, _) = client + .0 + .send_message(program_id.into(), payload, gas_limit, 0) + .await?; + let (_message_id, payload, _value) = listener.reply_bytes_on(message_id).await?; let payload = payload.map_err(|e| anyhow::anyhow!("No payload: {e:?}"))?; + Ok((gas_limit, HandleResult::decode(&mut &payload[..])?)) } @@ -217,34 +207,10 @@ async fn live_init(network: Network, rpc_url: String) -> Result<()> { let bootstrap = beacon_client.get_bootstrap(&checkpoint_hex).await?; println!("bootstrap slot = {}", bootstrap.header.slot); - let init = construct_init(network, update, bootstrap); let client = NodeClient::new().await?; - let program_id = { - let lock = client.lock().await; - - let mut listener = lock.client.subscribe().await?; - - upload_program(lock.client, &mut listener, init).await? - }; - - println!("program_id = {:?}", hex::encode(program_id)); - - Ok(()) -} - -#[tokio::test] -async fn init_holesky() -> Result<()> { - let (bootstrap, update) = get_bootstrap_and_update(); - let init = construct_init(Network::Holesky, update, bootstrap); - - let client = NodeClient::new().await?; - let program_id = { - let lock = client.lock().await; - - let mut listener = lock.client.subscribe().await?; - - upload_program(lock.client, &mut listener, init).await? - }; + let mut listener = client.0.subscribe().await?; + let init = construct_init(network, update, bootstrap); + let program_id = upload_program(&client.0, &mut listener, init).await?; println!("program_id = {:?}", hex::encode(program_id)); @@ -268,18 +234,25 @@ async fn live_init_mainnet() -> Result<()> { } #[tokio::test] -async fn replay_back_and_updating() -> Result<()> { +async fn init_holesky() -> Result<()> { let (bootstrap, update) = get_bootstrap_and_update(); + let client = NodeClient::new().await?; + let mut listener = client.0.subscribe().await?; let init = construct_init(Network::Holesky, update, bootstrap); + let program_id = upload_program(&client.0, &mut listener, init).await?; - let client = NodeClient::new().await?; - let program_id = { - let lock = client.lock().await; + println!("program_id = {:?}", hex::encode(program_id)); - let mut listener = lock.client.subscribe().await?; + Ok(()) +} - upload_program(lock.client, &mut listener, init).await? - }; +#[tokio::test] +async fn replay_back_and_updating() -> Result<()> { + let client = NodeClient::new().await?; + let mut listener = client.0.subscribe().await?; + let (bootstrap, update) = get_bootstrap_and_update(); + let init = construct_init(Network::Holesky, update, bootstrap); + let program_id = upload_program(&client.0, &mut listener, init).await?; println!("program_id = {:?}", hex::encode(program_id)); @@ -400,16 +373,10 @@ async fn sync_update_requires_replaying_back() -> Result<()> { _ => unreachable!("Requested single update"), }; - let init = construct_init(Network::Sepolia, update, bootstrap); - let client = NodeClient::new().await?; - let program_id = { - let lock = client.lock().await; - - let mut listener = lock.client.subscribe().await?; - - upload_program(lock.client, &mut listener, init).await? - }; + let mut listener = client.0.subscribe().await?; + let init = construct_init(Network::Sepolia, update, bootstrap); + let program_id = upload_program(&client.0, &mut listener, init).await?; println!("program_id = {:?}", hex::encode(program_id)); From b0cc0d6ccd5e70783522f36f82491dcf1785f2a3 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 26 Nov 2024 21:35:30 +0400 Subject: [PATCH 12/24] run all tests --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e40aa278..25025ea7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -82,9 +82,9 @@ jobs: - name: Pull & run Gear node container run: | docker pull ghcr.io/gear-tech/node:v1.6.2 - docker run --name $NODE_CONTAINER_NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external --log gear=debug,pallet_gear=debug,gwasm=debug + docker run --name $NODE_CONTAINER_NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external - name: Run tests - run: cargo test --release --workspace --exclude erc20-relay-app --all-targets && cargo test --release --package erc20-relay-app -- --nocapture || { exit_code=$?; if [ x$exit_code != x0 ]; then docker stop $NODE_CONTAINER_NAME; fi; exit $exit_code; } + run: cargo test --release --workspace --all-targets || { exit_code=$?; if [ x$exit_code != x0 ]; then docker stop $NODE_CONTAINER_NAME; fi; exit $exit_code; } - name: Run solidity tests run: | cd ethereum From e9cdc783cd198e1d2cb37bad2f6f36059d2d0d09 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 26 Nov 2024 21:39:07 +0400 Subject: [PATCH 13/24] fix review remark --- relayer/src/ethereum_checkpoints/tests/mod.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/relayer/src/ethereum_checkpoints/tests/mod.rs b/relayer/src/ethereum_checkpoints/tests/mod.rs index c822e057..cea1fee4 100644 --- a/relayer/src/ethereum_checkpoints/tests/mod.rs +++ b/relayer/src/ethereum_checkpoints/tests/mod.rs @@ -68,7 +68,7 @@ impl NodeClient { } #[track_caller] -fn decode(sync_aggregate: &SyncAggregate) -> G2 { +fn decode_signature(sync_aggregate: &SyncAggregate) -> G2 { ::deserialize_compressed( &sync_aggregate.sync_committee_signature.0 .0[..], ) @@ -159,7 +159,8 @@ fn construct_init(network: Network, update: Update, bootstrap: Bootstrap) -> Ini hex::encode(checkpoint_bootstrap) ); - let sync_update = utils::sync_update_from_update(decode(&update.sync_aggregate), update); + let sync_update = + utils::sync_update_from_update(decode_signature(&update.sync_aggregate), update); let pub_keys = utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); Init { @@ -273,7 +274,7 @@ async fn replay_back_and_updating() -> Result<()> { let size_batch = 40 * SLOTS_PER_EPOCH as usize; let payload = Handle::ReplayBackStart { sync_update: utils::sync_update_from_finality( - decode(&finality_update.sync_aggregate), + decode_signature(&finality_update.sync_aggregate), finality_update, ), headers: headers @@ -331,7 +332,7 @@ async fn replay_back_and_updating() -> Result<()> { ); let payload = Handle::SyncUpdate(utils::sync_update_from_finality( - decode(&update.sync_aggregate), + decode_signature(&update.sync_aggregate), update, )); @@ -389,7 +390,7 @@ async fn sync_update_requires_replaying_back() -> Result<()> { ); let payload = Handle::SyncUpdate(utils::sync_update_from_finality( - decode(&finality_update.sync_aggregate), + decode_signature(&finality_update.sync_aggregate), finality_update, )); let (gas_limit, result) = calculate_gas_and_send(program_id, payload, &client).await?; From a43471a134f551efce271cf18b37cbc51c33e453 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Mon, 2 Dec 2024 11:35:42 +0400 Subject: [PATCH 14/24] fix review remark --- .../tests/{ => chain-data}/headers.json.zst | Bin .../holesky-bootstrap-368.json.zst | Bin .../holesky-finality-update-3_016_736.json | 0 .../holesky-finality-update-3_016_768.json | 0 .../holesky-finality-update-3_016_799.json | 0 .../holesky-update-368.json.zst | Bin .../sepolia-bootstrap-640.json | 0 .../sepolia-finality-update-5_263_072.json | 0 .../{ => chain-data}/sepolia-update-640.json | 0 relayer/src/ethereum_checkpoints/tests/mod.rs | 18 +++++++++--------- 10 files changed, 9 insertions(+), 9 deletions(-) rename relayer/src/ethereum_checkpoints/tests/{ => chain-data}/headers.json.zst (100%) rename relayer/src/ethereum_checkpoints/tests/{ => chain-data}/holesky-bootstrap-368.json.zst (100%) rename relayer/src/ethereum_checkpoints/tests/{ => chain-data}/holesky-finality-update-3_016_736.json (100%) rename relayer/src/ethereum_checkpoints/tests/{ => chain-data}/holesky-finality-update-3_016_768.json (100%) rename relayer/src/ethereum_checkpoints/tests/{ => chain-data}/holesky-finality-update-3_016_799.json (100%) rename relayer/src/ethereum_checkpoints/tests/{ => chain-data}/holesky-update-368.json.zst (100%) rename relayer/src/ethereum_checkpoints/tests/{ => chain-data}/sepolia-bootstrap-640.json (100%) rename relayer/src/ethereum_checkpoints/tests/{ => chain-data}/sepolia-finality-update-5_263_072.json (100%) rename relayer/src/ethereum_checkpoints/tests/{ => chain-data}/sepolia-update-640.json (100%) diff --git a/relayer/src/ethereum_checkpoints/tests/headers.json.zst b/relayer/src/ethereum_checkpoints/tests/chain-data/headers.json.zst similarity index 100% rename from relayer/src/ethereum_checkpoints/tests/headers.json.zst rename to relayer/src/ethereum_checkpoints/tests/chain-data/headers.json.zst diff --git a/relayer/src/ethereum_checkpoints/tests/holesky-bootstrap-368.json.zst b/relayer/src/ethereum_checkpoints/tests/chain-data/holesky-bootstrap-368.json.zst similarity index 100% rename from relayer/src/ethereum_checkpoints/tests/holesky-bootstrap-368.json.zst rename to relayer/src/ethereum_checkpoints/tests/chain-data/holesky-bootstrap-368.json.zst diff --git a/relayer/src/ethereum_checkpoints/tests/holesky-finality-update-3_016_736.json b/relayer/src/ethereum_checkpoints/tests/chain-data/holesky-finality-update-3_016_736.json similarity index 100% rename from relayer/src/ethereum_checkpoints/tests/holesky-finality-update-3_016_736.json rename to relayer/src/ethereum_checkpoints/tests/chain-data/holesky-finality-update-3_016_736.json diff --git a/relayer/src/ethereum_checkpoints/tests/holesky-finality-update-3_016_768.json b/relayer/src/ethereum_checkpoints/tests/chain-data/holesky-finality-update-3_016_768.json similarity index 100% rename from relayer/src/ethereum_checkpoints/tests/holesky-finality-update-3_016_768.json rename to relayer/src/ethereum_checkpoints/tests/chain-data/holesky-finality-update-3_016_768.json diff --git a/relayer/src/ethereum_checkpoints/tests/holesky-finality-update-3_016_799.json b/relayer/src/ethereum_checkpoints/tests/chain-data/holesky-finality-update-3_016_799.json similarity index 100% rename from relayer/src/ethereum_checkpoints/tests/holesky-finality-update-3_016_799.json rename to relayer/src/ethereum_checkpoints/tests/chain-data/holesky-finality-update-3_016_799.json diff --git a/relayer/src/ethereum_checkpoints/tests/holesky-update-368.json.zst b/relayer/src/ethereum_checkpoints/tests/chain-data/holesky-update-368.json.zst similarity index 100% rename from relayer/src/ethereum_checkpoints/tests/holesky-update-368.json.zst rename to relayer/src/ethereum_checkpoints/tests/chain-data/holesky-update-368.json.zst diff --git a/relayer/src/ethereum_checkpoints/tests/sepolia-bootstrap-640.json b/relayer/src/ethereum_checkpoints/tests/chain-data/sepolia-bootstrap-640.json similarity index 100% rename from relayer/src/ethereum_checkpoints/tests/sepolia-bootstrap-640.json rename to relayer/src/ethereum_checkpoints/tests/chain-data/sepolia-bootstrap-640.json diff --git a/relayer/src/ethereum_checkpoints/tests/sepolia-finality-update-5_263_072.json b/relayer/src/ethereum_checkpoints/tests/chain-data/sepolia-finality-update-5_263_072.json similarity index 100% rename from relayer/src/ethereum_checkpoints/tests/sepolia-finality-update-5_263_072.json rename to relayer/src/ethereum_checkpoints/tests/chain-data/sepolia-finality-update-5_263_072.json diff --git a/relayer/src/ethereum_checkpoints/tests/sepolia-update-640.json b/relayer/src/ethereum_checkpoints/tests/chain-data/sepolia-update-640.json similarity index 100% rename from relayer/src/ethereum_checkpoints/tests/sepolia-update-640.json rename to relayer/src/ethereum_checkpoints/tests/chain-data/sepolia-update-640.json diff --git a/relayer/src/ethereum_checkpoints/tests/mod.rs b/relayer/src/ethereum_checkpoints/tests/mod.rs index cea1fee4..026600fa 100644 --- a/relayer/src/ethereum_checkpoints/tests/mod.rs +++ b/relayer/src/ethereum_checkpoints/tests/mod.rs @@ -24,19 +24,19 @@ use tokio::{sync::Mutex, time::Duration}; static LOCK: Mutex = Mutex::const_new(0); const SEPOLIA_FINALITY_UPDATE_5_263_072: &[u8; 4_941] = - include_bytes!("./sepolia-finality-update-5_263_072.json"); -const SEPOLIA_UPDATE_640: &[u8; 57_202] = include_bytes!("./sepolia-update-640.json"); -const SEPOLIA_BOOTSTRAP_640: &[u8; 54_328] = include_bytes!("./sepolia-bootstrap-640.json"); + include_bytes!("./chain-data/sepolia-finality-update-5_263_072.json"); +const SEPOLIA_UPDATE_640: &[u8; 57_202] = include_bytes!("./chain-data/sepolia-update-640.json"); +const SEPOLIA_BOOTSTRAP_640: &[u8; 54_328] = include_bytes!("./chain-data/sepolia-bootstrap-640.json"); -const HOLESKY_UPDATE_368: &[u8; 30_468] = include_bytes!("./holesky-update-368.json.zst"); -const HOLESKY_BOOTSTRAP_368: &[u8; 29_297] = include_bytes!("./holesky-bootstrap-368.json.zst"); -const HOLESKY_HEADERS: &[u8; 452_109] = include_bytes!("./headers.json.zst"); +const HOLESKY_UPDATE_368: &[u8; 30_468] = include_bytes!("./chain-data/holesky-update-368.json.zst"); +const HOLESKY_BOOTSTRAP_368: &[u8; 29_297] = include_bytes!("./chain-data/holesky-bootstrap-368.json.zst"); +const HOLESKY_HEADERS: &[u8; 452_109] = include_bytes!("./chain-data/headers.json.zst"); const HOLESKY_FINALITY_UPDATE_3_014_736: &[u8; 4_893] = - include_bytes!("./holesky-finality-update-3_016_736.json"); + include_bytes!("./chain-data/holesky-finality-update-3_016_736.json"); const HOLESKY_FINALITY_UPDATE_3_014_768: &[u8; 4_932] = - include_bytes!("./holesky-finality-update-3_016_768.json"); + include_bytes!("./chain-data/holesky-finality-update-3_016_768.json"); const HOLESKY_FINALITY_UPDATE_3_014_799: &[u8; 4_980] = - include_bytes!("./holesky-finality-update-3_016_799.json"); + include_bytes!("./chain-data/holesky-finality-update-3_016_799.json"); struct NodeClient(pub GearApi); From 5f7227221f6ec71bc6429fcdd23218b6219a30f5 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Mon, 2 Dec 2024 11:37:37 +0400 Subject: [PATCH 15/24] fix review remark --- gear-programs/erc20-relay/app/tests/gclient.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gear-programs/erc20-relay/app/tests/gclient.rs b/gear-programs/erc20-relay/app/tests/gclient.rs index b8bc6212..84a6b229 100644 --- a/gear-programs/erc20-relay/app/tests/gclient.rs +++ b/gear-programs/erc20-relay/app/tests/gclient.rs @@ -13,7 +13,7 @@ use vft::vft_manager; static LOCK: Mutex<(u32, Option)> = Mutex::const_new((0, None)); -async fn spin_up_node() -> (impl Remoting + Clone, GearApi, CodeId, GasUnit, [u8; 4]) { +async fn connect_to_node() -> (impl Remoting + Clone, GearApi, CodeId, GasUnit, [u8; 4]) { let api = GearApi::dev().await.unwrap(); let gas_limit = api.block_gas_limit().unwrap(); let (api, code_id, salt) = { @@ -58,7 +58,7 @@ async fn gas_for_reply() { let route = ::ROUTE; - let (remoting, api, code_id, gas_limit, salt) = spin_up_node().await; + let (remoting, api, code_id, gas_limit, salt) = connect_to_node().await; let account_id: ActorId = <[u8; 32]>::from(api.account_id().clone()).into(); let factory = Erc20RelayFactory::new(remoting.clone()); @@ -125,7 +125,7 @@ async fn gas_for_reply() { async fn set_vft_manager() { use erc20_relay_client::Config; - let (remoting, _api, code_id, gas_limit, salt) = spin_up_node().await; + let (remoting, _api, code_id, gas_limit, salt) = connect_to_node().await; let factory = erc20_relay_client::Erc20RelayFactory::new(remoting.clone()); @@ -196,7 +196,7 @@ async fn set_vft_manager() { async fn update_config() { use erc20_relay_client::Config; - let (remoting, _api, code_id, gas_limit, salt) = spin_up_node().await; + let (remoting, _api, code_id, gas_limit, salt) = connect_to_node().await; let factory = erc20_relay_client::Erc20RelayFactory::new(remoting.clone()); From eb293bdeb4872e8be5d8695515e08360125e36d7 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Mon, 2 Dec 2024 15:19:54 +0400 Subject: [PATCH 16/24] fix review remark: introduce tools/deploy-checkpoints --- Cargo.lock | 33 ++++ Cargo.toml | 3 + ethereum_beacon_client/Cargo.toml | 15 ++ .../src/lib.rs | 1 - .../src}/slots_batch.rs | 0 .../src}/utils.rs | 0 relayer/Cargo.toml | 1 + .../src/ethereum_checkpoints/replay_back.rs | 2 +- .../src/ethereum_checkpoints/sync_update.rs | 2 +- relayer/src/ethereum_checkpoints/tests/mod.rs | 69 +------ relayer/src/main.rs | 1 - .../ethereum/deposit_event_extractor.rs | 6 +- .../ethereum/message_paid_event_extractor.rs | 6 +- .../message_relayer/common/ethereum/mod.rs | 2 +- .../gear/message_sender/compose_payload.rs | 2 +- .../common/gear/message_sender/mod.rs | 6 +- .../eth_to_gear/all_token_transfers.rs | 20 +- .../eth_to_gear/paid_token_transfers.rs | 20 +- tools/deploy-checkpoints/Cargo.toml | 17 ++ tools/deploy-checkpoints/src/main.rs | 174 ++++++++++++++++++ 20 files changed, 278 insertions(+), 102 deletions(-) create mode 100644 ethereum_beacon_client/Cargo.toml rename relayer/src/ethereum_beacon_client/mod.rs => ethereum_beacon_client/src/lib.rs (99%) rename {relayer/src/ethereum_beacon_client => ethereum_beacon_client/src}/slots_batch.rs (100%) rename {relayer/src/ethereum_beacon_client => ethereum_beacon_client/src}/utils.rs (100%) create mode 100644 tools/deploy-checkpoints/Cargo.toml create mode 100644 tools/deploy-checkpoints/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index b3fef70f..e27d3c07 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3040,6 +3040,23 @@ dependencies = [ "parity-scale-codec", ] +[[package]] +name = "deploy-checkpoints" +version = "0.1.0" +dependencies = [ + "anyhow", + "ark-serialize 0.4.2", + "checkpoint_light_client", + "checkpoint_light_client-io", + "clap", + "dotenv", + "ethereum_beacon_client", + "gclient", + "hex", + "parity-scale-codec", + "tokio", +] + [[package]] name = "deploy-to-gear" version = "0.1.0" @@ -3751,6 +3768,21 @@ dependencies = [ "uint 0.9.5", ] +[[package]] +name = "ethereum_beacon_client" +version = "0.1.0" +dependencies = [ + "anyhow", + "ark-serialize 0.4.2", + "checkpoint_light_client-io", + "ethereum-common", + "futures", + "hex", + "reqwest 0.11.27", + "serde", + "serde_json", +] + [[package]] name = "ethereum_hashing" version = "0.6.0" @@ -9973,6 +10005,7 @@ dependencies = [ "erc20-relay-client", "ethereum-client", "ethereum-common", + "ethereum_beacon_client", "futures", "gclient", "gear-core 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/Cargo.toml b/Cargo.toml index 23e0c4dd..15c026de 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,6 +6,7 @@ members = [ "prover", "relayer", "circuits/*", + "ethereum_beacon_client", "ethereum-common", "gear-programs/bridging-payment", "gear-programs/bridging-payment/app", @@ -22,6 +23,7 @@ members = [ "gear-programs/wrapped-vara/app", "gear-programs/wrapped-vara/client", "utils-prometheus", + "tools/deploy-checkpoints", "tools/deploy-to-gear", "tools/genesis-config", ] @@ -41,6 +43,7 @@ plonky2_ed25519 = { path = "./circuits/plonky2_ed25519" } plonky2_ecdsa = { path = "./circuits/plonky2_ecdsa" } plonky2_u32 = { path = "./circuits/plonky2_u32" } ethereum-client = { path = "./ethereum/client" } +ethereum_beacon_client = { path = "ethereum_beacon_client" } ethereum-common = { path = "ethereum-common", default-features = false } bridging-payment = { path = "gear-programs/bridging-payment" } diff --git a/ethereum_beacon_client/Cargo.toml b/ethereum_beacon_client/Cargo.toml new file mode 100644 index 00000000..d2b0f02b --- /dev/null +++ b/ethereum_beacon_client/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "ethereum_beacon_client" +version.workspace = true +edition.workspace = true + +[dependencies] +anyhow.workspace = true +ark-serialize.workspace = true +checkpoint_light_client-io.workspace = true +ethereum-common.workspace = true +futures.workspace = true +hex.workspace = true +reqwest.workspace = true +serde.workspace = true +serde_json.workspace = true diff --git a/relayer/src/ethereum_beacon_client/mod.rs b/ethereum_beacon_client/src/lib.rs similarity index 99% rename from relayer/src/ethereum_beacon_client/mod.rs rename to ethereum_beacon_client/src/lib.rs index 5f3346af..f47a9910 100644 --- a/relayer/src/ethereum_beacon_client/mod.rs +++ b/ethereum_beacon_client/src/lib.rs @@ -175,7 +175,6 @@ impl BeaconClient { Err(anyhow!("Block was not found")) } - #[cfg(test)] pub async fn get_bootstrap( &self, checkpoint: &str, diff --git a/relayer/src/ethereum_beacon_client/slots_batch.rs b/ethereum_beacon_client/src/slots_batch.rs similarity index 100% rename from relayer/src/ethereum_beacon_client/slots_batch.rs rename to ethereum_beacon_client/src/slots_batch.rs diff --git a/relayer/src/ethereum_beacon_client/utils.rs b/ethereum_beacon_client/src/utils.rs similarity index 100% rename from relayer/src/ethereum_beacon_client/utils.rs rename to ethereum_beacon_client/src/utils.rs diff --git a/relayer/Cargo.toml b/relayer/Cargo.toml index caf6bd16..d0cb1158 100644 --- a/relayer/Cargo.toml +++ b/relayer/Cargo.toml @@ -24,6 +24,7 @@ clap.workspace = true derive_more.workspace = true dotenv.workspace = true erc20-relay-client.workspace = true +ethereum_beacon_client.workspace = true ethereum-common.workspace = true futures.workspace = true gear-core.workspace = true diff --git a/relayer/src/ethereum_checkpoints/replay_back.rs b/relayer/src/ethereum_checkpoints/replay_back.rs index 4f75d7e3..4c9c9f5b 100644 --- a/relayer/src/ethereum_checkpoints/replay_back.rs +++ b/relayer/src/ethereum_checkpoints/replay_back.rs @@ -1,5 +1,5 @@ use super::*; -use crate::ethereum_beacon_client::{self, BeaconClient}; +use ethereum_beacon_client::{self, BeaconClient}; #[allow(clippy::too_many_arguments)] pub async fn execute( diff --git a/relayer/src/ethereum_checkpoints/sync_update.rs b/relayer/src/ethereum_checkpoints/sync_update.rs index c5ed2a8b..c28d9c91 100644 --- a/relayer/src/ethereum_checkpoints/sync_update.rs +++ b/relayer/src/ethereum_checkpoints/sync_update.rs @@ -1,6 +1,6 @@ use super::*; -use crate::ethereum_beacon_client::{self, BeaconClient}; pub use checkpoint_light_client_io::sync_update::Error; +use ethereum_beacon_client::{self, BeaconClient}; use std::ops::ControlFlow::{self, *}; pub fn spawn_receiver(beacon_client: BeaconClient, sender: Sender) { diff --git a/relayer/src/ethereum_checkpoints/tests/mod.rs b/relayer/src/ethereum_checkpoints/tests/mod.rs index 026600fa..ccca163f 100644 --- a/relayer/src/ethereum_checkpoints/tests/mod.rs +++ b/relayer/src/ethereum_checkpoints/tests/mod.rs @@ -1,4 +1,3 @@ -use crate::ethereum_beacon_client::{utils, BeaconClient}; use checkpoint_light_client::WASM_BINARY; use checkpoint_light_client_io::{ ethereum_common::{ @@ -13,6 +12,7 @@ use checkpoint_light_client_io::{ tree_hash::TreeHash, Handle, HandleResult, Init, G2, }; +use ethereum_beacon_client::{utils, BeaconClient}; use ethereum_common::utils::{BeaconBlockHeaderResponse, Bootstrap, Update}; use gclient::{EventListener, EventProcessor, GearApi, Result, WSAddress}; use parity_scale_codec::{Decode, Encode}; @@ -26,10 +26,13 @@ static LOCK: Mutex = Mutex::const_new(0); const SEPOLIA_FINALITY_UPDATE_5_263_072: &[u8; 4_941] = include_bytes!("./chain-data/sepolia-finality-update-5_263_072.json"); const SEPOLIA_UPDATE_640: &[u8; 57_202] = include_bytes!("./chain-data/sepolia-update-640.json"); -const SEPOLIA_BOOTSTRAP_640: &[u8; 54_328] = include_bytes!("./chain-data/sepolia-bootstrap-640.json"); +const SEPOLIA_BOOTSTRAP_640: &[u8; 54_328] = + include_bytes!("./chain-data/sepolia-bootstrap-640.json"); -const HOLESKY_UPDATE_368: &[u8; 30_468] = include_bytes!("./chain-data/holesky-update-368.json.zst"); -const HOLESKY_BOOTSTRAP_368: &[u8; 29_297] = include_bytes!("./chain-data/holesky-bootstrap-368.json.zst"); +const HOLESKY_UPDATE_368: &[u8; 30_468] = + include_bytes!("./chain-data/holesky-update-368.json.zst"); +const HOLESKY_BOOTSTRAP_368: &[u8; 29_297] = + include_bytes!("./chain-data/holesky-bootstrap-368.json.zst"); const HOLESKY_HEADERS: &[u8; 452_109] = include_bytes!("./chain-data/headers.json.zst"); const HOLESKY_FINALITY_UPDATE_3_014_736: &[u8; 4_893] = include_bytes!("./chain-data/holesky-finality-update-3_016_736.json"); @@ -176,64 +179,6 @@ fn construct_init(network: Network, update: Update, bootstrap: Bootstrap) -> Ini } } -async fn live_init(network: Network, rpc_url: String) -> Result<()> { - let beacon_client = BeaconClient::new(rpc_url, Some(Duration::from_secs(120))) - .await - .expect("Failed to connect to beacon node"); - - // use the latest finalized block as a checkpoint for bootstrapping - let finalized_block = beacon_client.get_block_finalized().await?; - let slot = finalized_block.slot; - let current_period = eth_utils::calculate_period(slot); - let mut updates = beacon_client.get_updates(current_period, 1).await?; - - println!( - "finality_update slot = {}, period = {}", - slot, current_period - ); - - let update = match updates.pop() { - Some(update) if updates.is_empty() => update.data, - _ => unreachable!("Requested single update"), - }; - - let checkpoint = update.finalized_header.tree_hash_root(); - let checkpoint_hex = hex::encode(checkpoint); - - println!( - "checkpoint slot = {}, hash = {}", - update.finalized_header.slot, checkpoint_hex - ); - - let bootstrap = beacon_client.get_bootstrap(&checkpoint_hex).await?; - println!("bootstrap slot = {}", bootstrap.header.slot); - - let client = NodeClient::new().await?; - let mut listener = client.0.subscribe().await?; - let init = construct_init(network, update, bootstrap); - let program_id = upload_program(&client.0, &mut listener, init).await?; - - println!("program_id = {:?}", hex::encode(program_id)); - - Ok(()) -} - -#[ignore] -#[tokio::test] -async fn live_init_holesky() -> Result<()> { - live_init(Network::Holesky, "http://34.159.93.103:50000".to_string()).await -} - -#[ignore] -#[tokio::test] -async fn live_init_mainnet() -> Result<()> { - live_init( - Network::Mainnet, - "https://www.lightclientdata.org".to_string(), - ) - .await -} - #[tokio::test] async fn init_holesky() -> Result<()> { let (bootstrap, update) = get_bootstrap_and_update(); diff --git a/relayer/src/main.rs b/relayer/src/main.rs index 141fcae3..b39caa79 100644 --- a/relayer/src/main.rs +++ b/relayer/src/main.rs @@ -12,7 +12,6 @@ use prover::proving::GenesisConfig; use relay_merkle_roots::MerkleRootRelayer; use utils_prometheus::MetricsBuilder; -mod ethereum_beacon_client; mod ethereum_checkpoints; mod hex_utils; mod message_relayer; diff --git a/relayer/src/message_relayer/common/ethereum/deposit_event_extractor.rs b/relayer/src/message_relayer/common/ethereum/deposit_event_extractor.rs index 9e72d759..1f74c775 100644 --- a/relayer/src/message_relayer/common/ethereum/deposit_event_extractor.rs +++ b/relayer/src/message_relayer/common/ethereum/deposit_event_extractor.rs @@ -4,13 +4,11 @@ use futures::executor::block_on; use prometheus::IntCounter; use sails_rs::H160; +use ethereum_beacon_client::BeaconClient; use ethereum_client::{DepositEventEntry, EthApi}; use utils_prometheus::{impl_metered_service, MeteredService}; -use crate::{ - ethereum_beacon_client::BeaconClient, - message_relayer::common::{EthereumBlockNumber, TxHashWithSlot}, -}; +use crate::message_relayer::common::{EthereumBlockNumber, TxHashWithSlot}; use super::find_slot_by_block_number; diff --git a/relayer/src/message_relayer/common/ethereum/message_paid_event_extractor.rs b/relayer/src/message_relayer/common/ethereum/message_paid_event_extractor.rs index 6f4c7ecc..6c74d382 100644 --- a/relayer/src/message_relayer/common/ethereum/message_paid_event_extractor.rs +++ b/relayer/src/message_relayer/common/ethereum/message_paid_event_extractor.rs @@ -4,13 +4,11 @@ use futures::executor::block_on; use prometheus::IntCounter; use sails_rs::H160; +use ethereum_beacon_client::BeaconClient; use ethereum_client::{EthApi, FeePaidEntry}; use utils_prometheus::{impl_metered_service, MeteredService}; -use crate::{ - ethereum_beacon_client::BeaconClient, - message_relayer::common::{EthereumBlockNumber, TxHashWithSlot}, -}; +use crate::message_relayer::common::{EthereumBlockNumber, TxHashWithSlot}; use super::find_slot_by_block_number; diff --git a/relayer/src/message_relayer/common/ethereum/mod.rs b/relayer/src/message_relayer/common/ethereum/mod.rs index d62ee731..07ec491f 100644 --- a/relayer/src/message_relayer/common/ethereum/mod.rs +++ b/relayer/src/message_relayer/common/ethereum/mod.rs @@ -5,7 +5,7 @@ use alloy_eips::BlockNumberOrTag; use anyhow::anyhow; use ethereum_client::EthApi; -use crate::ethereum_beacon_client::BeaconClient; +use ethereum_beacon_client::BeaconClient; use super::{EthereumBlockNumber, EthereumSlotNumber}; diff --git a/relayer/src/message_relayer/common/gear/message_sender/compose_payload.rs b/relayer/src/message_relayer/common/gear/message_sender/compose_payload.rs index 12654135..98dd581b 100644 --- a/relayer/src/message_relayer/common/gear/message_sender/compose_payload.rs +++ b/relayer/src/message_relayer/common/gear/message_sender/compose_payload.rs @@ -1,4 +1,4 @@ -use crate::ethereum_beacon_client::BeaconClient; +use ethereum_beacon_client::BeaconClient; use alloy::{network::primitives::BlockTransactionsKind, primitives::TxHash, providers::Provider}; use alloy_eips::{BlockId, BlockNumberOrTag}; diff --git a/relayer/src/message_relayer/common/gear/message_sender/mod.rs b/relayer/src/message_relayer/common/gear/message_sender/mod.rs index 5ce36fac..3ff4fca9 100644 --- a/relayer/src/message_relayer/common/gear/message_sender/mod.rs +++ b/relayer/src/message_relayer/common/gear/message_sender/mod.rs @@ -11,12 +11,10 @@ use sails_rs::{ }; use erc20_relay_client::{traits::Erc20Relay as _, Erc20Relay}; +use ethereum_beacon_client::BeaconClient; use utils_prometheus::{impl_metered_service, MeteredService}; -use crate::{ - ethereum_beacon_client::BeaconClient, - message_relayer::common::{EthereumSlotNumber, TxHashWithSlot}, -}; +use crate::message_relayer::common::{EthereumSlotNumber, TxHashWithSlot}; mod compose_payload; diff --git a/relayer/src/message_relayer/eth_to_gear/all_token_transfers.rs b/relayer/src/message_relayer/eth_to_gear/all_token_transfers.rs index 60e51a57..ab3889d1 100644 --- a/relayer/src/message_relayer/eth_to_gear/all_token_transfers.rs +++ b/relayer/src/message_relayer/eth_to_gear/all_token_transfers.rs @@ -3,21 +3,19 @@ use std::iter; use gclient::GearApi as GclientGearApi; use primitive_types::{H160, H256}; +use ethereum_beacon_client::BeaconClient; use ethereum_client::EthApi; use gear_rpc_client::GearApi; use utils_prometheus::MeteredService; -use crate::{ - ethereum_beacon_client::BeaconClient, - message_relayer::common::{ - ethereum::{ - block_listener::BlockListener as EthereumBlockListener, - deposit_event_extractor::DepositEventExtractor, - }, - gear::{ - block_listener::BlockListener as GearBlockListener, - checkpoints_extractor::CheckpointsExtractor, message_sender::MessageSender, - }, +use crate::message_relayer::common::{ + ethereum::{ + block_listener::BlockListener as EthereumBlockListener, + deposit_event_extractor::DepositEventExtractor, + }, + gear::{ + block_listener::BlockListener as GearBlockListener, + checkpoints_extractor::CheckpointsExtractor, message_sender::MessageSender, }, }; diff --git a/relayer/src/message_relayer/eth_to_gear/paid_token_transfers.rs b/relayer/src/message_relayer/eth_to_gear/paid_token_transfers.rs index 338cfbef..7f4ed9ac 100644 --- a/relayer/src/message_relayer/eth_to_gear/paid_token_transfers.rs +++ b/relayer/src/message_relayer/eth_to_gear/paid_token_transfers.rs @@ -3,21 +3,19 @@ use std::iter; use gclient::GearApi as GclientGearApi; use primitive_types::{H160, H256}; +use ethereum_beacon_client::BeaconClient; use ethereum_client::EthApi; use gear_rpc_client::GearApi; use utils_prometheus::MeteredService; -use crate::{ - ethereum_beacon_client::BeaconClient, - message_relayer::common::{ - ethereum::{ - block_listener::BlockListener as EthereumBlockListener, - message_paid_event_extractor::MessagePaidEventExtractor, - }, - gear::{ - block_listener::BlockListener as GearBlockListener, - checkpoints_extractor::CheckpointsExtractor, message_sender::MessageSender, - }, +use crate::message_relayer::common::{ + ethereum::{ + block_listener::BlockListener as EthereumBlockListener, + message_paid_event_extractor::MessagePaidEventExtractor, + }, + gear::{ + block_listener::BlockListener as GearBlockListener, + checkpoints_extractor::CheckpointsExtractor, message_sender::MessageSender, }, }; diff --git a/tools/deploy-checkpoints/Cargo.toml b/tools/deploy-checkpoints/Cargo.toml new file mode 100644 index 00000000..1e56fb52 --- /dev/null +++ b/tools/deploy-checkpoints/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "deploy-checkpoints" +version.workspace = true +edition.workspace = true + +[dependencies] +anyhow.workspace = true +ark-serialize = { workspace = true, features = ["std"] } +checkpoint_light_client = { workspace = true, features = ["std"] } +checkpoint_light_client-io = { workspace = true, features = ["std"] } +clap.workspace = true +dotenv.workspace = true +ethereum_beacon_client.workspace = true +gclient.workspace = true +hex.workspace = true +parity-scale-codec.workspace = true +tokio.workspace = true diff --git a/tools/deploy-checkpoints/src/main.rs b/tools/deploy-checkpoints/src/main.rs new file mode 100644 index 00000000..a9b6fc6e --- /dev/null +++ b/tools/deploy-checkpoints/src/main.rs @@ -0,0 +1,174 @@ +use anyhow::{anyhow, Result as AnyResult}; +use checkpoint_light_client::WASM_BINARY; +use checkpoint_light_client_io::{ + ethereum_common::{base_types::BytesFixed, network::Network, utils as eth_utils}, + tree_hash::TreeHash, + Init, G2, +}; +use clap::Parser; +use ethereum_beacon_client::{utils, BeaconClient}; +use gclient::{EventListener, EventProcessor, GearApi, WSAddress}; +use parity_scale_codec::Encode; +use std::time::Duration; + +#[derive(Parser)] +#[command(author, version, about, long_about = None)] +#[command(propagate_version = true)] +struct Cli { + /// Address of the Gear RPC endpoint + #[arg( + long = "gear-endpoint", + default_value = "wss://testnet.vara.network", + env = "GEAR_RPC" + )] + gear_endpoint: String, + + /// Port of the Gear RPC endpoint + #[arg(long = "gear-port", default_value = "443", env = "GEAR_PORT")] + gear_port: u16, + + /// Substrate URI that identifies a user by a mnemonic phrase or + /// provides default users from the keyring (e.g., "//Alice", "//Bob", + /// etc.). The password for URI should be specified in the same `suri`, + /// separated by the ':' char + #[arg(long, default_value = "//Alice", env = "GEAR_SURI")] + gear_suri: String, + + /// Specify the endpoint providing Beacon API + #[arg( + long, + default_value = "https://www.lightclientdata.org", + env = "BEACON_ENDPOINT" + )] + beacon_endpoint: String, + + /// Specify the timeout in seconds for requests to the Beacon API endpoint + #[arg(long, default_value = "120", env = "BEACON_TIMEOUT")] + beacon_timeout: u64, + + /// Specify the Ethereum network (Mainnet, Holesky or Sepolia) + #[arg(long, default_value = "Mainnet", env = "NETWORK")] + network: String, +} + +#[tokio::main] +async fn main() -> AnyResult<()> { + let _ = dotenv::dotenv(); + + let cli = Cli::parse(); + let network = cli.network.to_lowercase(); + let network = if network == "mainnet" { + Network::Mainnet + } else if network == "holesky" { + Network::Holesky + } else if network == "sepolia" { + Network::Sepolia + } else { + return Err(anyhow!("Network '{network}' is not supported")); + }; + + let beacon_client = BeaconClient::new( + cli.beacon_endpoint, + Some(Duration::from_secs(cli.beacon_timeout)), + ) + .await?; + + // use the latest finalized block as a checkpoint for bootstrapping + let finalized_block = beacon_client.get_block_finalized().await?; + let slot = finalized_block.slot; + let current_period = eth_utils::calculate_period(slot); + let mut updates = beacon_client.get_updates(current_period, 1).await?; + + println!( + "finality_update slot = {}, period = {}", + slot, current_period + ); + + let update = match updates.pop() { + Some(update) if updates.is_empty() => update.data, + _ => unreachable!("Requested single update"), + }; + + let checkpoint = update.finalized_header.tree_hash_root(); + let checkpoint_hex = hex::encode(checkpoint); + + println!( + "checkpoint slot = {}, hash = {}", + update.finalized_header.slot, checkpoint_hex + ); + + let bootstrap = beacon_client.get_bootstrap(&checkpoint_hex).await?; + println!("bootstrap slot = {}", bootstrap.header.slot); + + let signature = ::deserialize_compressed( + &update.sync_aggregate.sync_committee_signature.0 .0[..], + ) + .map_err(|e| anyhow!("Failed to decode signature: {e:?}"))?; + + let sync_update = utils::sync_update_from_update(signature, update); + let pub_keys = utils::map_public_keys(&bootstrap.current_sync_committee.pubkeys); + + let init = Init { + network, + sync_committee_current_pub_keys: pub_keys, + sync_committee_current_aggregate_pubkey: bootstrap.current_sync_committee.aggregate_pubkey, + sync_committee_current_branch: bootstrap + .current_sync_committee_branch + .into_iter() + .map(|BytesFixed(bytes)| bytes.0) + .collect(), + update: sync_update, + }; + + let client = GearApi::builder() + .retries(3) + .suri(cli.gear_suri) + .build(WSAddress::new(&cli.gear_endpoint, cli.gear_port)) + .await?; + let mut listener = client.subscribe().await?; + let program_id = upload_program(&client, &mut listener, init).await?; + + println!("program_id = {:?}", hex::encode(program_id)); + + Ok(()) +} + +async fn common_upload_program( + client: &GearApi, + code: Vec, + payload: impl Encode, +) -> AnyResult<([u8; 32], [u8; 32])> { + let encoded_payload = payload.encode(); + let gas_limit = client + .calculate_upload_gas(None, code.clone(), encoded_payload, 0, true) + .await? + .min_limit; + println!("init gas {gas_limit:?}"); + let (message_id, program_id, _) = client + .upload_program( + code, + gclient::now_micros().to_le_bytes(), + payload, + gas_limit, + 0, + ) + .await?; + + Ok((message_id.into(), program_id.into())) +} + +async fn upload_program( + client: &GearApi, + listener: &mut EventListener, + payload: impl Encode, +) -> AnyResult<[u8; 32]> { + let (message_id, program_id) = + common_upload_program(client, WASM_BINARY.to_vec(), payload).await?; + + assert!(listener + .message_processed(message_id.into()) + .await? + .succeed()); + + Ok(program_id) +} From 9b7ac374cf7a818f58a98598e9143dbc89304e78 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Mon, 2 Dec 2024 15:34:53 +0400 Subject: [PATCH 17/24] cargo clippy --- relayer/src/ethereum_checkpoints/tests/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/relayer/src/ethereum_checkpoints/tests/mod.rs b/relayer/src/ethereum_checkpoints/tests/mod.rs index ccca163f..224d5deb 100644 --- a/relayer/src/ethereum_checkpoints/tests/mod.rs +++ b/relayer/src/ethereum_checkpoints/tests/mod.rs @@ -4,7 +4,7 @@ use checkpoint_light_client_io::{ base_types::BytesFixed, beacon::SyncAggregate, network::Network, - utils::{self as eth_utils, BootstrapResponse, FinalityUpdateResponse, UpdateData}, + utils::{BootstrapResponse, FinalityUpdateResponse, UpdateData}, SLOTS_PER_EPOCH, }, replay_back::Status, @@ -12,14 +12,14 @@ use checkpoint_light_client_io::{ tree_hash::TreeHash, Handle, HandleResult, Init, G2, }; -use ethereum_beacon_client::{utils, BeaconClient}; +use ethereum_beacon_client::utils; use ethereum_common::utils::{BeaconBlockHeaderResponse, Bootstrap, Update}; use gclient::{EventListener, EventProcessor, GearApi, Result, WSAddress}; use parity_scale_codec::{Decode, Encode}; use ruzstd::StreamingDecoder; use sp_core::crypto::DEV_PHRASE; use std::io::Read; -use tokio::{sync::Mutex, time::Duration}; +use tokio::sync::Mutex; static LOCK: Mutex = Mutex::const_new(0); From 960eadd31fa092c1acf9929243e9046ebaf7aa21 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Mon, 2 Dec 2024 16:58:51 +0400 Subject: [PATCH 18/24] set std feature --- ethereum_beacon_client/Cargo.toml | 10 +++++----- tools/deploy-checkpoints/Cargo.toml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ethereum_beacon_client/Cargo.toml b/ethereum_beacon_client/Cargo.toml index d2b0f02b..2498ebee 100644 --- a/ethereum_beacon_client/Cargo.toml +++ b/ethereum_beacon_client/Cargo.toml @@ -5,11 +5,11 @@ edition.workspace = true [dependencies] anyhow.workspace = true -ark-serialize.workspace = true -checkpoint_light_client-io.workspace = true -ethereum-common.workspace = true +ark-serialize = { workspace = true, features = ["std"] } +checkpoint_light_client-io = { workspace = true, features = ["std"] } +ethereum-common = { workspace = true, features = ["std"] } futures.workspace = true -hex.workspace = true +hex = { workspace = true, features = ["std"] } reqwest.workspace = true -serde.workspace = true +serde = { workspace = true, features = ["std"] } serde_json.workspace = true diff --git a/tools/deploy-checkpoints/Cargo.toml b/tools/deploy-checkpoints/Cargo.toml index 1e56fb52..a296206d 100644 --- a/tools/deploy-checkpoints/Cargo.toml +++ b/tools/deploy-checkpoints/Cargo.toml @@ -12,6 +12,6 @@ clap.workspace = true dotenv.workspace = true ethereum_beacon_client.workspace = true gclient.workspace = true -hex.workspace = true -parity-scale-codec.workspace = true +hex = { workspace = true, features = ["std"] } +parity-scale-codec = { workspace = true, features = ["std"] } tokio.workspace = true From c17b6b3a7bbdddd6976966e3fc2199b856d53d5a Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 3 Dec 2024 08:48:13 +0400 Subject: [PATCH 19/24] set wasm-binary feature --- gear-programs/bridging-payment/Cargo.toml | 2 +- gear-programs/vft-manager/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gear-programs/bridging-payment/Cargo.toml b/gear-programs/bridging-payment/Cargo.toml index 87389873..231b5601 100644 --- a/gear-programs/bridging-payment/Cargo.toml +++ b/gear-programs/bridging-payment/Cargo.toml @@ -16,7 +16,7 @@ bridging-payment = { path = ".", features = ["wasm-binary"] } bridging-payment-client = { path = "client" } vft-manager = { workspace = true, features = ["wasm-binary"] } vft-manager-client.workspace = true -extended-vft.workspace = true +extended-vft = { workspace = true, features = ["wasm-binary"] } extended-vft-client.workspace = true sails-rs = { workspace = true, features = ["gtest"] } diff --git a/gear-programs/vft-manager/Cargo.toml b/gear-programs/vft-manager/Cargo.toml index b4be2d12..be3ecd39 100644 --- a/gear-programs/vft-manager/Cargo.toml +++ b/gear-programs/vft-manager/Cargo.toml @@ -14,6 +14,7 @@ sails-idl-gen.workspace = true [dev-dependencies] vft-manager = { path = ".", features = ["wasm-binary"] } vft-manager-client = { path = "client" } +extended-vft = { workspace = true, features = ["wasm-binary"] } extended-vft-client.workspace = true alloy-consensus.workspace = true @@ -26,7 +27,6 @@ gear-core.workspace = true gtest.workspace = true parity-scale-codec.workspace = true scale-info.workspace = true -extended-vft.workspace = true gclient.workspace = true [features] From c595ec3c14b0322acb8a5a63dcbfb68fc89b95a8 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 3 Dec 2024 08:58:31 +0400 Subject: [PATCH 20/24] inspect build --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c3b0aa3e..bdc58c00 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: run: forge build working-directory: ./ethereum - name: Build - run: cargo build --release --all-targets + run: cargo build --release --all-targets -vvvvvvv || { echo; echo; env } lints: runs-on: kuberunner steps: From 2d4ccfe17fea1653ba133f279aba5312e586d28e Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 3 Dec 2024 09:05:28 +0400 Subject: [PATCH 21/24] fix command --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bdc58c00..9f80058d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: run: forge build working-directory: ./ethereum - name: Build - run: cargo build --release --all-targets -vvvvvvv || { echo; echo; env } + run: cargo build --release --all-targets -vvvvvvv || { echo; echo; env; } lints: runs-on: kuberunner steps: From ed1cd56bd5067074ada62ffb4260a51cbd3e0372 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 3 Dec 2024 10:24:37 +0400 Subject: [PATCH 22/24] prebuild vft-manager first --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f80058d..e9ba84f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: run: forge build working-directory: ./ethereum - name: Build - run: cargo build --release --all-targets -vvvvvvv || { echo; echo; env; } + run: cargo build --package vft-manager --release --all-targets && cargo build --release --all-targets lints: runs-on: kuberunner steps: From 1f96b062908a5b3854a9ba142a59febd49377859 Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 3 Dec 2024 10:52:27 +0400 Subject: [PATCH 23/24] workaround awkward bug of building crates dependency graph by cargo --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e9ba84f0..64c1af9c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,7 @@ jobs: run: forge build working-directory: ./ethereum - name: Run clippy - run: cargo clippy --release --all-targets -- -D warnings $(cat .lints | cut -f1 -d"#" | tr '\n' ' ') + run: cargo clippy --release --all-targets --package vft-manager -- -D warnings && cargo clippy --release --all-targets -- -D warnings $(cat .lints | cut -f1 -d"#" | tr '\n' ' ') - name: Run rustfmt run: cargo fmt -- --check tests: @@ -84,7 +84,7 @@ jobs: docker pull ghcr.io/gear-tech/node:v1.6.2 docker run --name $NODE_CONTAINER_NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external - name: Run tests - run: cargo test --release --workspace + run: cargo test --release --no-run --package vft-manager && cargo test --release --workspace --exclude prover --exclude plonky2_blake2b256 --exclude plonky2_ecdsa @@ -151,7 +151,7 @@ jobs: run: forge build --force --no-cache working-directory: ./ethereum - name: Build workspace - run: cargo build --release --all-targets + run: cargo build --package vft-manager --release --all-targets && cargo build --release --all-targets - name: Check that files match run: | stored=( From e3455309f2f3c5144a8b0b29726e098dbd0d9f0a Mon Sep 17 00:00:00 2001 From: Georgy Shepelev Date: Tue, 3 Dec 2024 14:08:50 +0400 Subject: [PATCH 24/24] fix review remark --- tools/deploy-checkpoints/src/main.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/deploy-checkpoints/src/main.rs b/tools/deploy-checkpoints/src/main.rs index a9b6fc6e..838687ba 100644 --- a/tools/deploy-checkpoints/src/main.rs +++ b/tools/deploy-checkpoints/src/main.rs @@ -11,6 +11,8 @@ use gclient::{EventListener, EventProcessor, GearApi, WSAddress}; use parity_scale_codec::Encode; use std::time::Duration; +const GEAR_API_RETRIES: u8 = 3; + #[derive(Parser)] #[command(author, version, about, long_about = None)] #[command(propagate_version = true)] @@ -121,7 +123,7 @@ async fn main() -> AnyResult<()> { }; let client = GearApi::builder() - .retries(3) + .retries(GEAR_API_RETRIES) .suri(cli.gear_suri) .build(WSAddress::new(&cli.gear_endpoint, cli.gear_port)) .await?;