Skip to content

Commit b314d91

Browse files
committed
fix(network): update rpc method and urls (#234)
* fix(network): update rpc method and urls * fix(frontend): align react-dom with react
1 parent 763df30 commit b314d91

6 files changed

Lines changed: 1097 additions & 1774 deletions

File tree

backend/crates/network/src/status.rs

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,24 @@ use super::types::{NetworkMonitoringContext, NetworkStatus, Status};
1212
use status_config::NetworkMonitoringConfig;
1313
use status_utils::{create_rpc_client, ExponentialBackoff};
1414

15-
/// Calls `strata_syncStatus` using `jsonrpsee`
15+
const STRATA_CHAIN_STATUS_METHOD: &str = "strata_getChainStatus";
16+
17+
fn is_chain_status_response_online(json: &serde_json::Value) -> bool {
18+
json.get("tip").is_some()
19+
}
20+
21+
/// Calls `strata_getChainStatus` using `jsonrpsee`.
1622
async fn call_rpc_status(client: &HttpClient, retry_policy: ExponentialBackoff) -> Status {
1723
let mut retry_count: u64 = 0;
1824

1925
loop {
20-
let response: Result<serde_json::Value, _> =
21-
client.request("strata_syncStatus", Vec::<()>::new()).await;
26+
let response: Result<serde_json::Value, _> = client
27+
.request(STRATA_CHAIN_STATUS_METHOD, Vec::<()>::new())
28+
.await;
2229
match response {
2330
Ok(json) => {
24-
info!(?json, method = "strata_syncStatus", "rpc response");
25-
if json.get("tip_height").is_some() {
31+
info!(?json, method = STRATA_CHAIN_STATUS_METHOD, "rpc response");
32+
if is_chain_status_response_online(&json) {
2633
return Status::Online;
2734
} else {
2835
return Status::Offline;
@@ -35,7 +42,7 @@ async fn call_rpc_status(client: &HttpClient, retry_policy: ExponentialBackoff)
3542
info!(
3643
delay_seconds,
3744
retry_count,
38-
method = "strata_syncStatus",
45+
method = STRATA_CHAIN_STATUS_METHOD,
3946
"retrying rpc status request"
4047
);
4148
sleep(Duration::from_secs(delay_seconds)).await;
@@ -44,7 +51,7 @@ async fn call_rpc_status(client: &HttpClient, retry_policy: ExponentialBackoff)
4451
} else {
4552
error!(
4653
error = %e,
47-
method = "strata_syncStatus",
54+
method = STRATA_CHAIN_STATUS_METHOD,
4855
"could not get network status"
4956
);
5057
return Status::Offline;
@@ -121,3 +128,34 @@ pub async fn get_network_status(
121128

122129
Ok(Json(context.status().await))
123130
}
131+
132+
#[cfg(test)]
133+
mod tests {
134+
use serde_json::json;
135+
136+
use super::is_chain_status_response_online;
137+
138+
#[test]
139+
fn chain_status_response_with_tip_is_online() {
140+
assert!(is_chain_status_response_online(&json!({
141+
"tip": {
142+
"blkid": "0x00",
143+
"slot": 1,
144+
"epoch": 0,
145+
"is_terminal": false
146+
},
147+
"confirmed": {},
148+
"finalized": {},
149+
"latest": {}
150+
})));
151+
}
152+
153+
#[test]
154+
fn chain_status_response_without_tip_is_offline() {
155+
assert!(!is_chain_status_response_online(&json!({
156+
"confirmed": {},
157+
"finalized": {},
158+
"latest": {}
159+
})));
160+
}
161+
}

backend/crates/wallets/Cargo.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
[dependencies]
1010
status-config.workspace = true
1111

12-
async-trait.workspace = true
13-
anyhow.workspace = true
12+
anyhow.workspace = true
13+
async-trait.workspace = true
1414
axum.workspace = true
15-
reqwest.workspace = true
16-
serde.workspace = true
17-
serde_json.workspace = true
15+
reqwest.workspace = true
16+
serde.workspace = true
17+
serde_json.workspace = true
1818
strata-tasks.workspace = true
19-
thiserror.workspace = true
20-
tokio.workspace = true
21-
tracing.workspace = true
19+
thiserror.workspace = true
20+
tokio.workspace = true
21+
tracing.workspace = true

backend/example-config.toml

Lines changed: 26 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,91 +8,79 @@ datadir = "data"
88

99
# Network monitoring configuration
1010
[network]
11-
bundler_url = "https://bundler.testnet.alpenlabs.io/health"
11+
bundler_url = "https://bundler-staging.testnet-v2.alpenlabs.io/health"
1212
initial_status_wait_timeout_s = 30
1313
retry_policy_max_retries = 5
1414
retry_policy_total_time_s = 60
15-
rpc_url = "https://rpc.testnet.alpenlabs.io"
16-
sequencer_url = "https://rpc.testnet.alpenlabs.io"
15+
rpc_url = "https://rpc-staging.testnet-v2.alpenlabs.io"
16+
sequencer_url = "https://rpc-staging.testnet-v2.alpenlabs.io"
1717
status_refetch_interval_s = 10
1818

1919
# Bridge monitoring configuration
2020
[bridge]
2121
esplora_request_timeout_s = 5
22-
esplora_url = "https://esplora.testnet.alpenlabs.io"
22+
esplora_url = "https://esplora-staging.testnet-v2.alpenlabs.io"
2323
initial_status_wait_timeout_s = 5
2424
max_tx_confirmations = 6
2525
status_refetch_interval_s = 120
2626
withdrawal_pairing_batch_size = 1_000
2727

2828
# Bridge operators configuration
2929
[[bridge.operators]]
30-
public_key = "0273441f2ba801b557b23c15829f4a87c02332d59a71499da1479048e6175ff4e0"
31-
rpc_url = "https://bridge.testnet.alpenlabs.io/1"
30+
public_key = "025f9bfac3b160a0b9129d558ce29ab2df66ebbdd85dec1f5a2faf2e9de07acdfd"
31+
rpc_url = "http://localhost:54231"
3232

3333
[[bridge.operators]]
34-
public_key = "026bc16ede3b4b30edd4b59ab3a7209de21b468508349983e17a08910ec7a82f5f"
35-
rpc_url = "https://bridge.testnet.alpenlabs.io/2"
34+
public_key = "027098a1e38159f586536fabcb5537cdbb1454b1464c5c4a1bfd48de6c794d28c4"
35+
rpc_url = "http://localhost:54232"
3636

3737
[[bridge.operators]]
38-
public_key = "022bc0e2a6dd1c80beefa363d8baf980101d0596d914d4ee2d73e2fcaff2e72dc6"
39-
rpc_url = "https://bridge.testnet.alpenlabs.io/3"
40-
41-
[[bridge.operators]]
42-
public_key = "02714fd9b1be011cbd31666a11b155a0d5d3103582b44a48ccc2014801a848a6e3"
43-
rpc_url = "https://bridge.testnet.alpenlabs.io/4"
38+
public_key = "0288610184701307eef5dbb81ce1d974bc6940d21601a9656b565dab485321a03f"
39+
rpc_url = "http://localhost:54233"
4440

4541
# Balance monitoring configuration
4642
[balance]
4743
refresh_interval_s = 300
4844

4945
[balance.faucet]
50-
l1_url = "https://faucet-api.testnet.alpenlabs.io/balance/l1"
51-
l2_url = "https://faucet-api.testnet.alpenlabs.io/balance/l2"
46+
l1_url = "https://faucet-api-staging.testnet-v2.alpenlabs.io/balance/l1"
47+
l2_url = "https://faucet-api-staging.testnet-v2.alpenlabs.io/balance/l2"
5248

5349
[balance.bridge_operators]
54-
esplora_url = "https://esplora.testnet.alpenlabs.io"
50+
esplora_url = "https://esplora-staging.testnet-v2.alpenlabs.io"
5551
general_addresses = [
5652
[
57-
"0273441f2ba801b557b23c15829f4a87c02332d59a71499da1479048e6175ff4e0",
58-
"tb1p9e8cemc7q7emc0s0gklwrlpl4jjh98en95as4pka35t0luv4dhjsdn098l",
59-
],
60-
[
61-
"026bc16ede3b4b30edd4b59ab3a7209de21b468508349983e17a08910ec7a82f5f",
62-
"tb1pkyy0wrpgjhtjtga6nh8jx9qq9l3vns3jcywyvyh3ms9p20f7zyfskvnvsj",
53+
"025f9bfac3b160a0b9129d558ce29ab2df66ebbdd85dec1f5a2faf2e9de07acdfd",
54+
"tb1phf7qfxjf7mntp8u5qma9xa20rjcaw65f5lly9h3auedghhsul7tqr7v672",
6355
],
6456
[
65-
"022bc0e2a6dd1c80beefa363d8baf980101d0596d914d4ee2d73e2fcaff2e72dc6",
66-
"tb1psmyffux46qmxxma3r23hn7ezam5ghur3e3j7g4lryqda9vthdyqsde0gw5",
57+
"027098a1e38159f586536fabcb5537cdbb1454b1464c5c4a1bfd48de6c794d28c4",
58+
"tb1p2q4f3dzeekkrpq7nkr6p0tmmvuht7uu8m4s7v3a5xsmw38vk75kqva55ea",
6759
],
6860
[
69-
"02714fd9b1be011cbd31666a11b155a0d5d3103582b44a48ccc2014801a848a6e3",
70-
"tb1plssru8qpturzq0xe6auesc0245nkzjk34mk4qldf4f3dqa2elyeq2sktyp",
61+
"0288610184701307eef5dbb81ce1d974bc6940d21601a9656b565dab485321a03f",
62+
"tb1pxhpgl0k5kyyua6uwh0gs49yl0zr3haqwgz8j4j8wla7rqyar9s0sene5a6",
7163
],
7264
]
7365
stake_chain_addresses = [
7466
[
75-
"0273441f2ba801b557b23c15829f4a87c02332d59a71499da1479048e6175ff4e0",
76-
"tb1p22v50hp20j5644m88yjs7de3mn5ju7llw44hc6gtqfr2nsu35nkqn2n4qq",
77-
],
78-
[
79-
"026bc16ede3b4b30edd4b59ab3a7209de21b468508349983e17a08910ec7a82f5f",
80-
"tb1pa042m8jz7622qdvydakxj3ufrhxsg7wlc6kp2rnzkld3t92rcghsdtg6wg",
67+
"025f9bfac3b160a0b9129d558ce29ab2df66ebbdd85dec1f5a2faf2e9de07acdfd",
68+
"tb1pgv6lntshs3mks847svugsfrugz3utp8ac8egfqqnh2tyekj8kuzqa05423",
8169
],
8270
[
83-
"022bc0e2a6dd1c80beefa363d8baf980101d0596d914d4ee2d73e2fcaff2e72dc6",
84-
"tb1ph6ln768aj6wv8mazd8k7t27sk935wxka6twraaxqrenln26kwlvshy4gdp",
71+
"027098a1e38159f586536fabcb5537cdbb1454b1464c5c4a1bfd48de6c794d28c4",
72+
"tb1pvpc0l8zyjqgy96709se9untaapqt8cww8rlxulaed3wl02a36fksdlvf23",
8573
],
8674
[
87-
"02714fd9b1be011cbd31666a11b155a0d5d3103582b44a48ccc2014801a848a6e3",
88-
"tb1pywhfaznzmw8mncx7ly779mps9wcnec75sep3my3ew8m00spyasms977ces",
75+
"0288610184701307eef5dbb81ce1d974bc6940d21601a9656b565dab485321a03f",
76+
"tb1p0mgezlwnqwjlh3c02cdt3mknr77scpg2wu0eltvlxkje2erndpysc4ul2p",
8977
],
9078
]
9179

9280
# Withdrawal-intent indexer configuration
9381
[withdrawal_indexer]
9482
batch_size = 1_000
95-
eth_rpc_url = "https://rpc.testnet.alpenlabs.io"
83+
eth_rpc_url = "https://alpen-staging.testnet-v2.alpenlabs.io"
9684
finality_lag = 12
9785
poll_interval_s = 10
9886
start_block = 0

0 commit comments

Comments
 (0)