Skip to content

Conversation

@rymnc
Copy link
Member

@rymnc rymnc commented Apr 3, 2025

Linked Issues/PRs

Description

The most important changes include the addition of a new adapter for block importing with compression, the implementation of traits for managing block heights, and the synchronization of previously produced blocks in the compression service.

Enhancements to Block Importing and Compression:

Implementation of Traits for Managing Block Heights:

Synchronization of Previously Produced Blocks:

Checklist

  • Breaking changes are clearly marked as such in the PR description and changelog
  • New behavior is reflected in tests
  • The specification matches the implemented behavior (link update PR if changes are needed)

Before requesting review

  • I have reviewed the code myself
  • I have created follow-up issues caused by this PR and linked them here

After merging, notify other teams

[Add or remove entries as needed]

@rymnc rymnc added the no changelog Skip the CI check of the changelog modification label Apr 3, 2025
@MitchTurner
Copy link
Member

So the startup logic mentioned in the issue still needs to be done, right?

@rymnc
Copy link
Member Author

rymnc commented Apr 3, 2025

So the startup logic mentioned in the issue still needs to be done, right?

yes i was working on it

@rymnc rymnc changed the title fix(compression): exhaust block stream upon shutdown fix(compression): improve robustness on startup and shutdown Apr 3, 2025
@rymnc rymnc requested a review from Copilot April 4, 2025 00:53
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Comments suppressed due to low confidence (2)

crates/services/compression/src/service.rs:149

  • The comparison between canonical_height and storage_height (both Option) might be ambiguous if either value is None. Consider explicitly handling None cases to clarify the intended synchronization logic.
if canonical_height < storage_height {

crates/fuel-core/src/service/adapters/import_result_provider.rs:39

  • [nitpick] There is a duplicate definition of the BlockAt enum here and in the block_source module. Consider centralizing its definition to maintain consistency and reduce potential confusion.
pub enum BlockAt {

@rymnc rymnc self-assigned this Apr 4, 2025
@rymnc rymnc added bug Something isn't working fault-proving labels Apr 4, 2025
@rymnc rymnc marked this pull request as ready for review April 4, 2025 01:13
@rymnc rymnc requested a review from a team April 4, 2025 01:13
Comment on lines +51 to +52
/// The canonical height getter.
canonical_height: CH,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like you only use it during into_task function. So, it would be nice if we had either uninitialized and initialized types, or if you passed canonical_height via the TaskParams(maybe you can just pass the height)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same about block_source

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in e9d5b09.

I prefer to keep the canonical_height as a getter and not directly the height to ensure that we get the height before we start the sync loop. i don't want to assume here that no blocks will be produced before the service starts. (even though that is the case now but might not always be in the future if we change the behaviour)

Copy link
Collaborator

@xgreenx xgreenx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, highlighted small things to improve

@rymnc rymnc requested a review from xgreenx April 4, 2025 10:48
xgreenx
xgreenx previously approved these changes Apr 5, 2025
@rymnc rymnc enabled auto-merge (squash) April 7, 2025 05:26
@rymnc rymnc disabled auto-merge April 7, 2025 05:26
Copy link
Contributor

@netrome netrome left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some initial questions from me. Will continue reviewing after lunch

ImportResultProvider,
};

/// CompressionBlockImporterAdapter is a wrapper around BlockImporterAdapter
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment doesn't seem helpful. What is the extra functionality it brings as a wrapper? If it's "just" a wrapper, why does it also hold an import result provider?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in 1f0fc4f

Copy link
Contributor

@netrome netrome left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm, one thought.

async fn shutdown(self) -> anyhow::Result<()> {
async fn shutdown(mut self) -> anyhow::Result<()> {
// gracefully handle all the remaining blocks in the stream and then stop
while let Some(block_with_metadata) = self.block_stream.next().await {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if it would be nice to have a synchronous .flush_remaining() method on block_stream or something similar here. From this code, it's not apparent that this shutdown will ever terminate, if block_stream just continues to produce blocks.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that is an invariant we need to think of - if the block_stream continues to produce blocks, is it not the duty of the compression service to make sure they are compressed? as longs as blocks live in the stream, there should be compression performed on them afaiu

@rymnc rymnc requested a review from xgreenx April 7, 2025 13:32
@rymnc rymnc merged commit 6683ba2 into master Apr 7, 2025
34 checks passed
@rymnc rymnc deleted the fix/resync-compression-service branch April 7, 2025 14:20
@xgreenx xgreenx mentioned this pull request Apr 9, 2025
xgreenx pushed a commit that referenced this pull request Apr 9, 2025
## Version 0.43.0

### Breaking
- [2882](#2882): Changed the
type of the `resolved_outputs` for pre-confirmations. Now it also
includes `Utxoid`. `resolved_outputs` field contains only `Change` and
`Variable` outputs, so the `UtxoId` for them could be hard to derive, if
transaction has known inputs. This information should help to create
dependent transactions more easily.
- [2900](#2900): Get rid of
`Deref` impl on `ImportResult` by introducing wrapper type.
- [2909](#2909): Compressed
block headers now include a merkle root of the temporal registry after
compression was performed.
- [2931](#2931): In
`fuel-core-compression`, the `compress` function now takes a reference
to `Config` instead of the value.

### Added
- [2848](#2848): Link all
components of preconfirmations and add E2E tests.
- [2882](#2882): Listen to tx
status update from `TxStatusManager` in `TxPool`. Added logic to clean
up transactions from the pool if received squeezed out pre
confirmations. Added logic to promote transactions on sentry nodes when
receive pre-confirmation.
- [2885](#2885): Notify P2P
from `TxStatusManager` in case of bad preconfirmation message.
- [2901](#2901): New query
`dryRunRecordStorageReads` which works like `dryRun` but also returns
storage reads, allowing use of execution tracer or local debugger
- [2912](#2912): Add the
`allow_partial` parameter to the `coinsToSpend` query. The default value
of this parameters is `false` to preserve the old behavior. If set to
`true`, the query returns available coins instead of failing when the
requested amount is unavailable.
- [2914](#2914): Tests
ensuring the proof generation and validation of tables with sparse and
merklized blueprints work.

### Changed
- [2859](#2859): Swap out
off-chain worker compression for dedicated compression service in
`fuel-core-bin`.
- [2914](#2914): Break out
test logic to trait methods for `root_storage_tests` and
`basic_merkleized_storage_tests` test macros.
- [2925](#2925): Make
preconfirmation optional on API endpoints.

### Fixed
- [2918](#2918): Only cancel
background work if primary RocksDB instance is dropped
- [2935](#2935): The change
rejects transactions immediately, if they use spent coins. `TxPool` has
a SpentInputs LRU cache, storing all spent coins.

### Removed
- [2859](#2859): Removed DA
compression from off-chain worker in favor of dedicated compression
service in `fuel-core-bin`.

## What's Changed
* Rework `TxStatusManager` tests by @rafal-ch in
#2871
* fix(storage): custom impl of EnumCount for MerkleizedColumn by @rymnc
in #2875
* Update network versions on README by @github-actions in
#2889
* fix(version-compatibility): pin async-graphql to 7.0.15 by @rymnc in
#2891
* Fix proptest for tx status manager by @rafal-ch in
#2893
* fault_proving(compression): glue code for integ into fuel-core by
@rymnc in #2859
* Link and activate preconfirmations and add integrations tests by
@AurelienFT in #2848
* refactor: Get rid of `Deref` impl on `ImportResult` by introducing
wrapper type. by @netrome in
#2900
* fix(compression_service): post merge reviews by @rymnc in
#2895
* Listen status updates from in TxStatusManager in TxPool by @AurelienFT
in #2882
* chore(compression): include registry root in compressed block header
by @rymnc in #2909
* Improve TxStatusManager tests coverage by @AurelienFT in
#2911
* ci(benchmarks): run nightly benchmark and create PR by @rymnc in
#2915
* fix: Only cancel background work if primary RocksDB instance is
dropped by @netrome in #2918
* fix(ci): nightly benchmark by @rymnc in
#2922
* fix(ci): explicitly push before creating PR by @rymnc in
#2926
* Add allow_partial parameter to the "coins to spend" query by
@AurelienFT in #2912
* fix(compression): improve robustness on startup and shutdown by @rymnc
in #2923
* chore(compression): metrics for compression service by @rymnc in
#2920
* chore(compression): pass compression config by reference by @rymnc in
#2931
* Dry run execution tracing by @Dentosal in
#2901
* Make preconfirmation optional on API endpoints by @AurelienFT in
#2925
* Notify P2P in case of bad preconfirmation message by @AurelienFT in
#2885
* chore(1.85): 1.85.0 readiness by @rymnc in
#2937
* Reject transactions for already spent coins by @xgreenx in
#2935
* feat: add tests for sparse and merkleized blueprint proof generation
by @netrome in #2914


**Full Changelog**:
v0.42.0...v0.43.0

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
ChapmaBeerbohm added a commit to ChapmaBeerbohm/holo-kit that referenced this pull request Sep 26, 2025
## Version 0.43.0

### Breaking
- [2882](FuelLabs/fuel-core#2882): Changed the
type of the `resolved_outputs` for pre-confirmations. Now it also
includes `Utxoid`. `resolved_outputs` field contains only `Change` and
`Variable` outputs, so the `UtxoId` for them could be hard to derive, if
transaction has known inputs. This information should help to create
dependent transactions more easily.
- [2900](FuelLabs/fuel-core#2900): Get rid of
`Deref` impl on `ImportResult` by introducing wrapper type.
- [2909](FuelLabs/fuel-core#2909): Compressed
block headers now include a merkle root of the temporal registry after
compression was performed.
- [2931](FuelLabs/fuel-core#2931): In
`fuel-core-compression`, the `compress` function now takes a reference
to `Config` instead of the value.

### Added
- [2848](FuelLabs/fuel-core#2848): Link all
components of preconfirmations and add E2E tests.
- [2882](FuelLabs/fuel-core#2882): Listen to tx
status update from `TxStatusManager` in `TxPool`. Added logic to clean
up transactions from the pool if received squeezed out pre
confirmations. Added logic to promote transactions on sentry nodes when
receive pre-confirmation.
- [2885](FuelLabs/fuel-core#2885): Notify P2P
from `TxStatusManager` in case of bad preconfirmation message.
- [2901](FuelLabs/fuel-core#2901): New query
`dryRunRecordStorageReads` which works like `dryRun` but also returns
storage reads, allowing use of execution tracer or local debugger
- [2912](FuelLabs/fuel-core#2912): Add the
`allow_partial` parameter to the `coinsToSpend` query. The default value
of this parameters is `false` to preserve the old behavior. If set to
`true`, the query returns available coins instead of failing when the
requested amount is unavailable.
- [2914](FuelLabs/fuel-core#2914): Tests
ensuring the proof generation and validation of tables with sparse and
merklized blueprints work.

### Changed
- [2859](FuelLabs/fuel-core#2859): Swap out
off-chain worker compression for dedicated compression service in
`fuel-core-bin`.
- [2914](FuelLabs/fuel-core#2914): Break out
test logic to trait methods for `root_storage_tests` and
`basic_merkleized_storage_tests` test macros.
- [2925](FuelLabs/fuel-core#2925): Make
preconfirmation optional on API endpoints.

### Fixed
- [2918](FuelLabs/fuel-core#2918): Only cancel
background work if primary RocksDB instance is dropped
- [2935](FuelLabs/fuel-core#2935): The change
rejects transactions immediately, if they use spent coins. `TxPool` has
a SpentInputs LRU cache, storing all spent coins.

### Removed
- [2859](FuelLabs/fuel-core#2859): Removed DA
compression from off-chain worker in favor of dedicated compression
service in `fuel-core-bin`.

## What's Changed
* Rework `TxStatusManager` tests by @rafal-ch in
FuelLabs/fuel-core#2871
* fix(storage): custom impl of EnumCount for MerkleizedColumn by @rymnc
in FuelLabs/fuel-core#2875
* Update network versions on README by @github-actions in
FuelLabs/fuel-core#2889
* fix(version-compatibility): pin async-graphql to 7.0.15 by @rymnc in
FuelLabs/fuel-core#2891
* Fix proptest for tx status manager by @rafal-ch in
FuelLabs/fuel-core#2893
* fault_proving(compression): glue code for integ into fuel-core by
@rymnc in FuelLabs/fuel-core#2859
* Link and activate preconfirmations and add integrations tests by
@AurelienFT in FuelLabs/fuel-core#2848
* refactor: Get rid of `Deref` impl on `ImportResult` by introducing
wrapper type. by @netrome in
FuelLabs/fuel-core#2900
* fix(compression_service): post merge reviews by @rymnc in
FuelLabs/fuel-core#2895
* Listen status updates from in TxStatusManager in TxPool by @AurelienFT
in FuelLabs/fuel-core#2882
* chore(compression): include registry root in compressed block header
by @rymnc in FuelLabs/fuel-core#2909
* Improve TxStatusManager tests coverage by @AurelienFT in
FuelLabs/fuel-core#2911
* ci(benchmarks): run nightly benchmark and create PR by @rymnc in
FuelLabs/fuel-core#2915
* fix: Only cancel background work if primary RocksDB instance is
dropped by @netrome in FuelLabs/fuel-core#2918
* fix(ci): nightly benchmark by @rymnc in
FuelLabs/fuel-core#2922
* fix(ci): explicitly push before creating PR by @rymnc in
FuelLabs/fuel-core#2926
* Add allow_partial parameter to the "coins to spend" query by
@AurelienFT in FuelLabs/fuel-core#2912
* fix(compression): improve robustness on startup and shutdown by @rymnc
in FuelLabs/fuel-core#2923
* chore(compression): metrics for compression service by @rymnc in
FuelLabs/fuel-core#2920
* chore(compression): pass compression config by reference by @rymnc in
FuelLabs/fuel-core#2931
* Dry run execution tracing by @Dentosal in
FuelLabs/fuel-core#2901
* Make preconfirmation optional on API endpoints by @AurelienFT in
FuelLabs/fuel-core#2925
* Notify P2P in case of bad preconfirmation message by @AurelienFT in
FuelLabs/fuel-core#2885
* chore(1.85): 1.85.0 readiness by @rymnc in
FuelLabs/fuel-core#2937
* Reject transactions for already spent coins by @xgreenx in
FuelLabs/fuel-core#2935
* feat: add tests for sparse and merkleized blueprint proof generation
by @netrome in FuelLabs/fuel-core#2914


**Full Changelog**:
FuelLabs/fuel-core@v0.42.0...v0.43.0

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
GeorgeBake added a commit to GeorgeBake/pipeline-cli that referenced this pull request Sep 29, 2025
## Version 0.43.0

### Breaking
- [2882](FuelLabs/fuel-core#2882): Changed the
type of the `resolved_outputs` for pre-confirmations. Now it also
includes `Utxoid`. `resolved_outputs` field contains only `Change` and
`Variable` outputs, so the `UtxoId` for them could be hard to derive, if
transaction has known inputs. This information should help to create
dependent transactions more easily.
- [2900](FuelLabs/fuel-core#2900): Get rid of
`Deref` impl on `ImportResult` by introducing wrapper type.
- [2909](FuelLabs/fuel-core#2909): Compressed
block headers now include a merkle root of the temporal registry after
compression was performed.
- [2931](FuelLabs/fuel-core#2931): In
`fuel-core-compression`, the `compress` function now takes a reference
to `Config` instead of the value.

### Added
- [2848](FuelLabs/fuel-core#2848): Link all
components of preconfirmations and add E2E tests.
- [2882](FuelLabs/fuel-core#2882): Listen to tx
status update from `TxStatusManager` in `TxPool`. Added logic to clean
up transactions from the pool if received squeezed out pre
confirmations. Added logic to promote transactions on sentry nodes when
receive pre-confirmation.
- [2885](FuelLabs/fuel-core#2885): Notify P2P
from `TxStatusManager` in case of bad preconfirmation message.
- [2901](FuelLabs/fuel-core#2901): New query
`dryRunRecordStorageReads` which works like `dryRun` but also returns
storage reads, allowing use of execution tracer or local debugger
- [2912](FuelLabs/fuel-core#2912): Add the
`allow_partial` parameter to the `coinsToSpend` query. The default value
of this parameters is `false` to preserve the old behavior. If set to
`true`, the query returns available coins instead of failing when the
requested amount is unavailable.
- [2914](FuelLabs/fuel-core#2914): Tests
ensuring the proof generation and validation of tables with sparse and
merklized blueprints work.

### Changed
- [2859](FuelLabs/fuel-core#2859): Swap out
off-chain worker compression for dedicated compression service in
`fuel-core-bin`.
- [2914](FuelLabs/fuel-core#2914): Break out
test logic to trait methods for `root_storage_tests` and
`basic_merkleized_storage_tests` test macros.
- [2925](FuelLabs/fuel-core#2925): Make
preconfirmation optional on API endpoints.

### Fixed
- [2918](FuelLabs/fuel-core#2918): Only cancel
background work if primary RocksDB instance is dropped
- [2935](FuelLabs/fuel-core#2935): The change
rejects transactions immediately, if they use spent coins. `TxPool` has
a SpentInputs LRU cache, storing all spent coins.

### Removed
- [2859](FuelLabs/fuel-core#2859): Removed DA
compression from off-chain worker in favor of dedicated compression
service in `fuel-core-bin`.

## What's Changed
* Rework `TxStatusManager` tests by @rafal-ch in
FuelLabs/fuel-core#2871
* fix(storage): custom impl of EnumCount for MerkleizedColumn by @rymnc
in FuelLabs/fuel-core#2875
* Update network versions on README by @github-actions in
FuelLabs/fuel-core#2889
* fix(version-compatibility): pin async-graphql to 7.0.15 by @rymnc in
FuelLabs/fuel-core#2891
* Fix proptest for tx status manager by @rafal-ch in
FuelLabs/fuel-core#2893
* fault_proving(compression): glue code for integ into fuel-core by
@rymnc in FuelLabs/fuel-core#2859
* Link and activate preconfirmations and add integrations tests by
@AurelienFT in FuelLabs/fuel-core#2848
* refactor: Get rid of `Deref` impl on `ImportResult` by introducing
wrapper type. by @netrome in
FuelLabs/fuel-core#2900
* fix(compression_service): post merge reviews by @rymnc in
FuelLabs/fuel-core#2895
* Listen status updates from in TxStatusManager in TxPool by @AurelienFT
in FuelLabs/fuel-core#2882
* chore(compression): include registry root in compressed block header
by @rymnc in FuelLabs/fuel-core#2909
* Improve TxStatusManager tests coverage by @AurelienFT in
FuelLabs/fuel-core#2911
* ci(benchmarks): run nightly benchmark and create PR by @rymnc in
FuelLabs/fuel-core#2915
* fix: Only cancel background work if primary RocksDB instance is
dropped by @netrome in FuelLabs/fuel-core#2918
* fix(ci): nightly benchmark by @rymnc in
FuelLabs/fuel-core#2922
* fix(ci): explicitly push before creating PR by @rymnc in
FuelLabs/fuel-core#2926
* Add allow_partial parameter to the "coins to spend" query by
@AurelienFT in FuelLabs/fuel-core#2912
* fix(compression): improve robustness on startup and shutdown by @rymnc
in FuelLabs/fuel-core#2923
* chore(compression): metrics for compression service by @rymnc in
FuelLabs/fuel-core#2920
* chore(compression): pass compression config by reference by @rymnc in
FuelLabs/fuel-core#2931
* Dry run execution tracing by @Dentosal in
FuelLabs/fuel-core#2901
* Make preconfirmation optional on API endpoints by @AurelienFT in
FuelLabs/fuel-core#2925
* Notify P2P in case of bad preconfirmation message by @AurelienFT in
FuelLabs/fuel-core#2885
* chore(1.85): 1.85.0 readiness by @rymnc in
FuelLabs/fuel-core#2937
* Reject transactions for already spent coins by @xgreenx in
FuelLabs/fuel-core#2935
* feat: add tests for sparse and merkleized blueprint proof generation
by @netrome in FuelLabs/fuel-core#2914


**Full Changelog**:
FuelLabs/fuel-core@v0.42.0...v0.43.0

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
BugSeeker84 added a commit to BugSeeker84/fuel-core that referenced this pull request Nov 16, 2025
## Version 0.43.0

### Breaking
- [2882](FuelLabs/fuel-core#2882): Changed the
type of the `resolved_outputs` for pre-confirmations. Now it also
includes `Utxoid`. `resolved_outputs` field contains only `Change` and
`Variable` outputs, so the `UtxoId` for them could be hard to derive, if
transaction has known inputs. This information should help to create
dependent transactions more easily.
- [2900](FuelLabs/fuel-core#2900): Get rid of
`Deref` impl on `ImportResult` by introducing wrapper type.
- [2909](FuelLabs/fuel-core#2909): Compressed
block headers now include a merkle root of the temporal registry after
compression was performed.
- [2931](FuelLabs/fuel-core#2931): In
`fuel-core-compression`, the `compress` function now takes a reference
to `Config` instead of the value.

### Added
- [2848](FuelLabs/fuel-core#2848): Link all
components of preconfirmations and add E2E tests.
- [2882](FuelLabs/fuel-core#2882): Listen to tx
status update from `TxStatusManager` in `TxPool`. Added logic to clean
up transactions from the pool if received squeezed out pre
confirmations. Added logic to promote transactions on sentry nodes when
receive pre-confirmation.
- [2885](FuelLabs/fuel-core#2885): Notify P2P
from `TxStatusManager` in case of bad preconfirmation message.
- [2901](FuelLabs/fuel-core#2901): New query
`dryRunRecordStorageReads` which works like `dryRun` but also returns
storage reads, allowing use of execution tracer or local debugger
- [2912](FuelLabs/fuel-core#2912): Add the
`allow_partial` parameter to the `coinsToSpend` query. The default value
of this parameters is `false` to preserve the old behavior. If set to
`true`, the query returns available coins instead of failing when the
requested amount is unavailable.
- [2914](FuelLabs/fuel-core#2914): Tests
ensuring the proof generation and validation of tables with sparse and
merklized blueprints work.

### Changed
- [2859](FuelLabs/fuel-core#2859): Swap out
off-chain worker compression for dedicated compression service in
`fuel-core-bin`.
- [2914](FuelLabs/fuel-core#2914): Break out
test logic to trait methods for `root_storage_tests` and
`basic_merkleized_storage_tests` test macros.
- [2925](FuelLabs/fuel-core#2925): Make
preconfirmation optional on API endpoints.

### Fixed
- [2918](FuelLabs/fuel-core#2918): Only cancel
background work if primary RocksDB instance is dropped
- [2935](FuelLabs/fuel-core#2935): The change
rejects transactions immediately, if they use spent coins. `TxPool` has
a SpentInputs LRU cache, storing all spent coins.

### Removed
- [2859](FuelLabs/fuel-core#2859): Removed DA
compression from off-chain worker in favor of dedicated compression
service in `fuel-core-bin`.

## What's Changed
* Rework `TxStatusManager` tests by @rafal-ch in
FuelLabs/fuel-core#2871
* fix(storage): custom impl of EnumCount for MerkleizedColumn by @rymnc
in FuelLabs/fuel-core#2875
* Update network versions on README by @github-actions in
FuelLabs/fuel-core#2889
* fix(version-compatibility): pin async-graphql to 7.0.15 by @rymnc in
FuelLabs/fuel-core#2891
* Fix proptest for tx status manager by @rafal-ch in
FuelLabs/fuel-core#2893
* fault_proving(compression): glue code for integ into fuel-core by
@rymnc in FuelLabs/fuel-core#2859
* Link and activate preconfirmations and add integrations tests by
@AurelienFT in FuelLabs/fuel-core#2848
* refactor: Get rid of `Deref` impl on `ImportResult` by introducing
wrapper type. by @netrome in
FuelLabs/fuel-core#2900
* fix(compression_service): post merge reviews by @rymnc in
FuelLabs/fuel-core#2895
* Listen status updates from in TxStatusManager in TxPool by @AurelienFT
in FuelLabs/fuel-core#2882
* chore(compression): include registry root in compressed block header
by @rymnc in FuelLabs/fuel-core#2909
* Improve TxStatusManager tests coverage by @AurelienFT in
FuelLabs/fuel-core#2911
* ci(benchmarks): run nightly benchmark and create PR by @rymnc in
FuelLabs/fuel-core#2915
* fix: Only cancel background work if primary RocksDB instance is
dropped by @netrome in FuelLabs/fuel-core#2918
* fix(ci): nightly benchmark by @rymnc in
FuelLabs/fuel-core#2922
* fix(ci): explicitly push before creating PR by @rymnc in
FuelLabs/fuel-core#2926
* Add allow_partial parameter to the "coins to spend" query by
@AurelienFT in FuelLabs/fuel-core#2912
* fix(compression): improve robustness on startup and shutdown by @rymnc
in FuelLabs/fuel-core#2923
* chore(compression): metrics for compression service by @rymnc in
FuelLabs/fuel-core#2920
* chore(compression): pass compression config by reference by @rymnc in
FuelLabs/fuel-core#2931
* Dry run execution tracing by @Dentosal in
FuelLabs/fuel-core#2901
* Make preconfirmation optional on API endpoints by @AurelienFT in
FuelLabs/fuel-core#2925
* Notify P2P in case of bad preconfirmation message by @AurelienFT in
FuelLabs/fuel-core#2885
* chore(1.85): 1.85.0 readiness by @rymnc in
FuelLabs/fuel-core#2937
* Reject transactions for already spent coins by @xgreenx in
FuelLabs/fuel-core#2935
* feat: add tests for sparse and merkleized blueprint proof generation
by @netrome in FuelLabs/fuel-core#2914


**Full Changelog**:
FuelLabs/fuel-core@v0.42.0...v0.43.0

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working fault-proving no changelog Skip the CI check of the changelog modification

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(compression-service): provide helper to resync on startup

5 participants