Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix relay submitting extra parachain headers during reorg #2839

Merged

Conversation

svyatonik
Copy link
Contributor

closes #2838

So what happens here:

  1. on-demand parachain relay starts and it finds RBH#17 ad R#32. Since there's no any RBH block at WBH, it decides to relay R#32 to WBH first;
  2. at some point on-demand finality relay relays mandatory R#41 to WBH;
  3. on-demand parachain finds that R#41 has RBH#26. So it decides to relay RBH#26 now;
  4. it results in setting max_head_id to 26, meaning that the parachains relay now need to relay RBH blocks up to RBH#26 to WBH;
  5. then reorg happens at WBH and now the best R block known to WBH is R#31 (another mandatory R block), which references the RBH#17. Since parachains relay goal is to sync up to the RBH#26, it decides to sync RBH#17;
  6. this tx with RBH#17 gets mined;
  7. then another tx with RBH#26 gets mined (because parachains relay keep doing what it needs to do).

What it means for us:

  1. for Rococo <> Westend and Polkadot <> Kusama it is (almost) irrelevant, because if complex+batch relay is used, then it can happen only during initialization. So losses, even if they happen are minimal. But let's fix it anyway;
  2. for complex+no-batch relay the issue is valid, because it may happen during regular operations, not only during initialization phase. We are using such relay in with-Bulletin chain bridge. But since bulletin chain is fee-free, it isn't a big issue there as well;
  3. for standalone relayers this is also not an issue - they are designed to relay everything.
2024-02-15 14:30:10 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingRelayHeader(32) using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: None, para_header_at_source: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), para_header_at_relay_header_at_target: Some(HeaderId(2, 0x2b8cb1295cad9b2e1d70eae413eb98f78c399adc5b48931ae3d13feb6219c15c)), relay_header_at_source: 32, relay_header_at_target: Some(15) }
2024-02-15 14:30:10 +00 INFO bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Starting on-demand-parachains relay task
2024-02-15 14:30:22 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingRelayHeader(32) using old state RelayingRelayHeader(32) and data RelayData { required_para_header: 0, para_header_at_target: None, para_header_at_source: Some(HeaderId(19, 0x622b8a6ec5b57883270392c0ab7acdfdb1d8c291e45ab8d58e30eaeb3139701d)), para_header_at_relay_header_at_target: Some(HeaderId(8, 0x6d750ffacadf8c6264cd22b603fa8ed4372c26ace1304971b1550b4921091f32)), relay_header_at_source: 34, relay_header_at_target: Some(21) }
2024-02-15 14:30:34 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingRelayHeader(32) using old state RelayingRelayHeader(32) and data RelayData { required_para_header: 0, para_header_at_target: None, para_header_at_source: Some(HeaderId(21, 0x47603640d396d95fbc513f2c9f0cb214ea66ff248a6c10be7941862cedc9523a)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 36, relay_header_at_target: Some(31) }
2024-02-15 14:30:46 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingRelayHeader(32) using old state RelayingRelayHeader(32) and data RelayData { required_para_header: 0, para_header_at_target: None, para_header_at_source: Some(HeaderId(23, 0x3a48b31170c3cd1196d962cd21ace95ee567cea9498e47662803c7fe8e35943d)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 38, relay_header_at_target: Some(31) }
2024-02-15 14:30:58 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingRelayHeader(32) using old state RelayingRelayHeader(32) and data RelayData { required_para_header: 0, para_header_at_target: None, para_header_at_source: Some(HeaderId(25, 0xba4d61d36512fc4d45bccd327a0659f82e9c72ea90dc94ea057635908187f9b7)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 40, relay_header_at_target: Some(31) }
2024-02-15 14:31:10 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingRelayHeader(32) using old state RelayingRelayHeader(32) and data RelayData { required_para_header: 0, para_header_at_target: None, para_header_at_source: Some(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 42, relay_header_at_target: Some(31) }
2024-02-15 14:31:22 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingRelayHeader(32) using old state RelayingRelayHeader(32) and data RelayData { required_para_header: 0, para_header_at_target: None, para_header_at_source: Some(HeaderId(28, 0x698a69878e14ce704d4b0c57815c53629deec5b267ef8271fd6d393798f9b8b2)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 44, relay_header_at_target: Some(31) }
2024-02-15 14:31:34 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) using old state RelayingRelayHeader(32) and data RelayData { required_para_header: 0, para_header_at_target: None, para_header_at_source: Some(HeaderId(30, 0x1ca248c2bf3804e8a0ca35c528d8da1ba7353fc0734a619a2822085d6729ecbc)), para_header_at_relay_header_at_target: Some(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)), relay_header_at_source: 46, relay_header_at_target: Some(41) }
2024-02-15 14:31:46 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) using old state RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) and data RelayData { required_para_header: 0, para_header_at_target: Some(17), para_header_at_source: Some(HeaderId(32, 0xc3b1ac3e8899ac1a3107f3937cdd4ee6a6a9312f8f02104ccc1e365107cb60c4)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 48, relay_header_at_target: Some(31) }
2024-02-15 14:31:58 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) using old state RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) and data RelayData { required_para_header: 0, para_header_at_target: Some(17), para_header_at_source: Some(HeaderId(34, 0xffde679c3e3cc74770715c58a86fc180f163fff62ff431c2bc1e4357de568f35)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 50, relay_header_at_target: Some(31) }
2024-02-15 14:32:10 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) using old state RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) and data RelayData { required_para_header: 0, para_header_at_target: Some(17), para_header_at_source: Some(HeaderId(35, 0x78ddcd236a66972e4a7a80cd98e5d285b6fce7f37de1733ca6766b6e89acd3af)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 52, relay_header_at_target: Some(31) }
2024-02-15 14:32:22 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) using old state RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) and data RelayData { required_para_header: 0, para_header_at_target: Some(17), para_header_at_source: Some(HeaderId(37, 0xb4c113fb3eb02dae25aab2adb62fed7f6c2de42b91818d93e974edac734be30d)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 54, relay_header_at_target: Some(31) }
2024-02-15 14:32:34 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) using old state RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) and data RelayData { required_para_header: 0, para_header_at_target: Some(17), para_header_at_source: Some(HeaderId(39, 0x15a39d3d7b0ee050ff64892de1a801857de7be5542a04ff76aacdb472b81b4c3)), para_header_at_relay_header_at_target: Some(HeaderId(17, 0x4bb2fb3ea8cae387e571e3ea67691a9d0a8fffd5af8724b0ba749e989ac444ca)), relay_header_at_source: 56, relay_header_at_target: Some(31) }
2024-02-15 14:32:46 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state RelayingParaHeader(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)) and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(41, 0x5d11433d870b361eda09c5c95871b43dd48c7805def6d37ffead136774d14b09)), para_header_at_relay_header_at_target: Some(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)), relay_header_at_source: 58, relay_header_at_target: Some(41) }
2024-02-15 14:32:58 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(43, 0x09a2d3aee597dbf1b6d28f4f49c282653d262383c18cc69598f99f95d0295407)), para_header_at_relay_header_at_target: Some(HeaderId(26, 0xd625b47b4d472c5840e8656f50b676215b698aa2d7e9b830c0bfc17cfbdf650e)), relay_header_at_source: 60, relay_header_at_target: Some(41) }
2024-02-15 14:33:10 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(44, 0xecf8c174d0db20dbdd650760ca23b9c4ee486830108d3c900d8d63e11dfa6576)), para_header_at_relay_header_at_target: Some(HeaderId(35, 0x78ddcd236a66972e4a7a80cd98e5d285b6fce7f37de1733ca6766b6e89acd3af)), relay_header_at_source: 62, relay_header_at_target: Some(51) }
2024-02-15 14:33:22 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(46, 0xbad94c15b304ad249e6520dec948cf94cd02dd08126131badc1300c249b7bdd6)), para_header_at_relay_header_at_target: Some(HeaderId(44, 0xecf8c174d0db20dbdd650760ca23b9c4ee486830108d3c900d8d63e11dfa6576)), relay_header_at_source: 64, relay_header_at_target: Some(61) }
2024-02-15 14:33:34 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(48, 0x0686db8c1cc6f6183d9f5129d1066daad70c4c1dc49278379d9567ba8c70dcf3)), para_header_at_relay_header_at_target: Some(HeaderId(44, 0xecf8c174d0db20dbdd650760ca23b9c4ee486830108d3c900d8d63e11dfa6576)), relay_header_at_source: 66, relay_header_at_target: Some(61) }
2024-02-15 14:33:46 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(50, 0x2fa75809406173699aa96564f182655eeba00ffa13785819b76b0e4de6036e51)), para_header_at_relay_header_at_target: Some(HeaderId(44, 0xecf8c174d0db20dbdd650760ca23b9c4ee486830108d3c900d8d63e11dfa6576)), relay_header_at_source: 68, relay_header_at_target: Some(61) }
2024-02-15 14:33:58 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(52, 0xbcd120b9b201b94b46d38d1dc47801421115cbd22fe3093849c71ff891aeaedd)), para_header_at_relay_header_at_target: Some(HeaderId(44, 0xecf8c174d0db20dbdd650760ca23b9c4ee486830108d3c900d8d63e11dfa6576)), relay_header_at_source: 70, relay_header_at_target: Some(61) }
2024-02-15 14:34:10 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), para_header_at_relay_header_at_target: Some(HeaderId(44, 0xecf8c174d0db20dbdd650760ca23b9c4ee486830108d3c900d8d63e11dfa6576)), relay_header_at_source: 72, relay_header_at_target: Some(61) }
2024-02-15 14:34:22 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(55, 0xe1be9563069d19dd6038ed26d584f86fd48149c568cf0e3a27a35ba3c667379e)), para_header_at_relay_header_at_target: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), relay_header_at_source: 74, relay_header_at_target: Some(71) }
2024-02-15 14:34:34 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(57, 0xea1106cd1400b4a825f3dc84633d3b15bf45dc9e72fdc182c3cd2349f47b7c44)), para_header_at_relay_header_at_target: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), relay_header_at_source: 76, relay_header_at_target: Some(71) }
2024-02-15 14:34:46 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(59, 0xe1b59ca964aa76dfa498ace70814b517ccabe2b1359e546baa5283cdfd690055)), para_header_at_relay_header_at_target: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), relay_header_at_source: 78, relay_header_at_target: Some(71) }
2024-02-15 14:34:58 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(61, 0x75cee67f60ed70101cdff4b9fec9a16087f05259dcf761308f53158637c6e205)), para_header_at_relay_header_at_target: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), relay_header_at_source: 80, relay_header_at_target: Some(71) }
2024-02-15 14:35:10 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(62, 0x5994f45f438a71af3220e0c053b77fac5d1602be6a487b01c15288fed3a73f7c)), para_header_at_relay_header_at_target: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), relay_header_at_source: 82, relay_header_at_target: Some(71) }
2024-02-15 14:35:22 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(64, 0xf32e7d17aeee5ebe0b08c96e33c8263feae068f816017f27b9bb45873d38ef71)), para_header_at_relay_header_at_target: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), relay_header_at_source: 84, relay_header_at_target: Some(71) }
2024-02-15 14:35:34 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(66, 0xe8a896293bfb64b6619444385c88def9a3c683dc7a903976d844e017582add1a)), para_header_at_relay_header_at_target: Some(HeaderId(62, 0x5994f45f438a71af3220e0c053b77fac5d1602be6a487b01c15288fed3a73f7c)), relay_header_at_source: 86, relay_header_at_target: Some(81) }
2024-02-15 14:35:46 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(68, 0xe9df74fa47ca9bb7d5c42a450358eb890d89c577d1f0dcafb649a1e376be12b1)), para_header_at_relay_header_at_target: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), relay_header_at_source: 88, relay_header_at_target: Some(71) }
2024-02-15 14:35:58 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(70, 0x85f627c02aa899e4d4ad01eed2f2fa4a71ffaae1ca882eac25a5434b890cff56)), para_header_at_relay_header_at_target: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), relay_header_at_source: 90, relay_header_at_target: Some(71) }
2024-02-15 14:36:10 +00 TRACE bridge [BridgeHubRococo-to-BridgeHubWestend-on-demand-parachain] Selected new relay state: Idle using old state Idle and data RelayData { required_para_header: 0, para_header_at_target: Some(26), para_header_at_source: Some(HeaderId(71, 0xd43322fcdd09502a51c3099ca965c8e191f220c4238a9eca058e22ecd3d4d1b5)), para_header_at_relay_header_at_target: Some(HeaderId(53, 0x46997431ea2a6ad1ebc597595e006a781666d64ce025ded3f357e35f6218598f)), relay_header_at_source: 92, relay_header_at_target: Some(71) }

@svyatonik svyatonik merged commit 8e7b471 into polkadot-staging Feb 16, 2024
13 checks passed
@svyatonik svyatonik deleted the sv-fix-relay-submitting-extra-parachain-headers branch February 16, 2024 08:07
svyatonik added a commit that referenced this pull request Feb 16, 2024
* fix on-demand parachain relay behavior during target chain reorgs

* fix compilation
svyatonik added a commit that referenced this pull request Feb 16, 2024
)

* fix on-demand parachain relay behavior during target chain reorgs

* fix compilation
serban300 pushed a commit to serban300/parity-bridges-common that referenced this pull request Mar 27, 2024
…#2839)

* fix on-demand parachain relay behavior during target chain reorgs

* fix compilation
serban300 pushed a commit to serban300/parity-bridges-common that referenced this pull request Apr 8, 2024
…#2839)

* fix on-demand parachain relay behavior during target chain reorgs

* fix compilation
bkontur pushed a commit that referenced this pull request May 7, 2024
)

* fix on-demand parachain relay behavior during target chain reorgs

* fix compilation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants