Skip to content

Conversation

@rymnc
Copy link
Member

@rymnc rymnc commented Sep 3, 2024

Warning

🏗️ This PR is 1/2 of including block committer "da"ta in v1 of the gas price algo. We have a dependency on the api of the block committer, which can be included in a follow up PR when we have more details 🚧

Linked Issues/PRs

Description

This PR includes the following changes -

  • new trait DaCommitSource which specifies get_da_commit_details that returns the latest da commit details from the block committer
  • removed usages of std lib and replaced with core::*
  • refactored to make functions shorter and readable

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 force-pushed the feat/da-block-committer-data branch from a0c2757 to 765c173 Compare September 3, 2024 06:28
@rymnc rymnc self-assigned this Sep 3, 2024

#[async_trait::async_trait]
pub trait DaCommitSource: Send + Sync {
async fn get_da_commit_details(&mut self) -> Result<DaCommitDetails>;
Copy link
Member

Choose a reason for hiding this comment

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

I think this should actually be sync, not async. This is because we want it to return immediately every time. Usually it will return an empty range. So maybe this should also be Option to capture that?

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 9d68aa1

AlgorithmUpdater::V0(updater) => {
updater.update_l2_block_data(height, gas_used, capacity)?;
}
AlgorithmUpdater::V1(updater) => {
Copy link
Member

Choose a reason for hiding this comment

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

I think we should just throw an error on this branch for now. Just to be abundantly clear that it's WIP.

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 9d68aa1

@MitchTurner
Copy link
Member

This PR is also adding some work toward: #2140

That's fine. It's all related and partially interdependent.

MitchTurner
MitchTurner previously approved these changes Sep 3, 2024
@rymnc rymnc marked this pull request as ready for review September 3, 2024 08:44
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.

A few questions and suggestions, but mainly I'd like to see any todos linked to issues to understand how the plan forward looks.

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.

Sorry to be a pain in the butt, but even if the TODO relates to the same issue I'd like it to be visible from the code - because people reading just the code will not have the PR or issue for context otherwise.

@rymnc rymnc requested a review from netrome September 3, 2024 09:44
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.

Nice, thanks for bearing with me on all todo labels 😅

@rymnc rymnc enabled auto-merge (squash) September 3, 2024 09:53
@rymnc rymnc merged commit 6e6ca68 into master Sep 3, 2024
@rymnc rymnc deleted the feat/da-block-committer-data branch September 3, 2024 10:34
rymnc added a commit that referenced this pull request Sep 13, 2024
…d polling for da metadata (#2163)

> [!WARNING]
> 🏗️ This PR is 2/3 of including block committer "da"ta in v1 of the gas
price algo. We have a dependency on the api of the block committer,
which will warrant tweaking of the `DaMetadataResponse` type. The next
PR will hook it up with cli args 🚧



## Linked Issues/PRs
<!-- List of related issues/PRs -->
- follow up to: #2155
- #2139


## Description
<!-- List of detailed changes -->
- specified a Service that polls an ingestor at specified intervals to
fetch the da metadata in the background
- specified a "sync"/"non-expensive" api for the data, which marks it as
stale/None after fetching it

## Checklist
- [x] Breaking changes are clearly marked as such in the PR description
and changelog
- [x] New behavior is reflected in tests
- [x] [The specification](https://github.com/FuelLabs/fuel-specs/)
matches the implemented behavior (link update PR if changes are needed)

### Before requesting review
- [x] I have reviewed the code myself
- [x] 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]

- [ ] [Rust SDK](https://github.com/FuelLabs/fuels-rs/)
- [ ] [Sway compiler](https://github.com/FuelLabs/sway/)
- [ ] [Platform
documentation](https://github.com/FuelLabs/devrel-requests/issues/new?assignees=&labels=new+request&projects=&template=NEW-REQUEST.yml&title=%5BRequest%5D%3A+)
(for out-of-organization contributors, the person merging the PR will do
this)
- [ ] Someone else?

---------

Co-authored-by: Mitchell Turner <[email protected]>
@xgreenx xgreenx mentioned this pull request Sep 17, 2024
xgreenx added a commit that referenced this pull request Sep 18, 2024
## Version v0.36.0

### Added
- [2135](#2135): Added metrics
logging for number of blocks served over the p2p req/res protocol.
- [2151](#2151): Added
limitations on gas used during dry_run in API.
- [2188](#2188): Added the new
variant `V2` for the `ConsensusParameters` which contains the new
`block_transaction_size_limit` parameter.
- [2163](#2163): Added
runnable task for fetching block committer data.
- [2204](#2204): Added
`dnsaddr` resolution for TLD without suffixes.

### Changed

#### Breaking
- [2199](#2199): Applying
several breaking changes to the WASM interface from backlog:
- Get the module to execute WASM byte code from the storage first, an
fallback to the built-in version in the case of the
`FUEL_ALWAYS_USE_WASM`.
- Added `host_v1` with a new `peek_next_txs_size` method, that accepts
`tx_number_limit` and `size_limit`.
- Added new variant of the return type to pass the validation result. It
removes block serialization and deserialization and should improve
performance.
- Added a V1 execution result type that uses `JSONError` instead of
postcard serialized error. It adds flexibility of how variants of the
error can be managed. More information about it in
FuelLabs/fuel-vm#797. The change also moves
`TooManyOutputs` error to the top. It shows that `JSONError` works as
expected.
- [2145](#2145): feat:
Introduce time port in PoA service.
- [2155](#2155): Added trait
declaration for block committer data
- [2142](#2142): Added
benchmarks for varied forms of db lookups to assist in optimizations.
- [2158](#2158): Log the
public address of the signing key, if it is specified
- [2188](#2188): Upgraded the
`fuel-vm` to `0.57.0`. More information in the
[release](https://github.com/FuelLabs/fuel-vm/releases/tag/v0.57.0).

## What's Changed
* chore(p2p_service): add metrics for number of blocks requested over
p2p req/res protocol by @rymnc in
#2135
* Weekly `cargo update` by @github-actions in
#2149
* Debug V1 algorightm and use more realistic values in gas price
analysis by @MitchTurner in
#2129
* feat(gas_price_service): include trait declaration for block committer
data by @rymnc in #2155
* Convert gas price analysis tool to CLI by @MitchTurner in
#2156
* chore: add benchmarks for varied forms of lookups by @rymnc in
#2142
* Add label nochangelog on weekly cargo update by @AurelienFT in
#2152
* Log consensus-key signer address if specified by @acerone85 in
#2158
* chore(rocks_db): move ShallowTempDir to benches crate by @rymnc in
#2168
* chore(benches): conditional dropping of databases in benchmarks by
@rymnc in #2170
* feat: Introduce time port in PoA service by @netrome in
#2145
* Get DA costs from predefined data by @MitchTurner in
#2157
* chore(shallow_temp_dir): panic if not panicking by @rymnc in
#2172
* chore: Add initial CODEOWNERS file by @netrome in
#2179
* Weekly `cargo update` by @github-actions in
#2177
* fix(db_lookup_times): rework core logic of benchmark by @rymnc in
#2159
* Add verification on transaction dry_run that they don't spend more
than block gas limit by @AurelienFT in
#2151
* bug: fix algorithm overflow issues by @MitchTurner in
#2173
* feat(gas_price_service): create runnable task for expensive background
polling for da metadata by @rymnc in
#2163
* Weekly `cargo update` by @github-actions in
#2197
* Fix bug with gas price factor in V1 algorithm by @MitchTurner in
#2201
* Applying several breaking changes to the WASM interface from backlog
by @xgreenx in #2199
* chore(p2p): dnsaddr recursive resolution by @rymnc in
#2204

## New Contributors
* @acerone85 made their first contribution in
#2158

**Full Changelog**:
v0.35.0...v0.36.0
kuroki-yosuke added a commit to kuroki-yosuke/core-fuel that referenced this pull request Apr 5, 2025
…d polling for da metadata (#2163)

> [!WARNING]
> 🏗️ This PR is 2/3 of including block committer "da"ta in v1 of the gas
price algo. We have a dependency on the api of the block committer,
which will warrant tweaking of the `DaMetadataResponse` type. The next
PR will hook it up with cli args 🚧



## Linked Issues/PRs
<!-- List of related issues/PRs -->
- follow up to: FuelLabs/fuel-core#2155
- FuelLabs/fuel-core#2139


## Description
<!-- List of detailed changes -->
- specified a Service that polls an ingestor at specified intervals to
fetch the da metadata in the background
- specified a "sync"/"non-expensive" api for the data, which marks it as
stale/None after fetching it

## Checklist
- [x] Breaking changes are clearly marked as such in the PR description
and changelog
- [x] New behavior is reflected in tests
- [x] [The specification](https://github.com/FuelLabs/fuel-specs/)
matches the implemented behavior (link update PR if changes are needed)

### Before requesting review
- [x] I have reviewed the code myself
- [x] 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]

- [ ] [Rust SDK](https://github.com/FuelLabs/fuels-rs/)
- [ ] [Sway compiler](https://github.com/FuelLabs/sway/)
- [ ] [Platform
documentation](https://github.com/FuelLabs/devrel-requests/issues/new?assignees=&labels=new+request&projects=&template=NEW-REQUEST.yml&title=%5BRequest%5D%3A+)
(for out-of-organization contributors, the person merging the PR will do
this)
- [ ] Someone else?

---------

Co-authored-by: Mitchell Turner <[email protected]>
kuroki-yosuke added a commit to kuroki-yosuke/core-fuel that referenced this pull request Apr 5, 2025
## Version v0.36.0

### Added
- [2135](FuelLabs/fuel-core#2135): Added metrics
logging for number of blocks served over the p2p req/res protocol.
- [2151](FuelLabs/fuel-core#2151): Added
limitations on gas used during dry_run in API.
- [2188](FuelLabs/fuel-core#2188): Added the new
variant `V2` for the `ConsensusParameters` which contains the new
`block_transaction_size_limit` parameter.
- [2163](FuelLabs/fuel-core#2163): Added
runnable task for fetching block committer data.
- [2204](FuelLabs/fuel-core#2204): Added
`dnsaddr` resolution for TLD without suffixes.

### Changed

#### Breaking
- [2199](FuelLabs/fuel-core#2199): Applying
several breaking changes to the WASM interface from backlog:
- Get the module to execute WASM byte code from the storage first, an
fallback to the built-in version in the case of the
`FUEL_ALWAYS_USE_WASM`.
- Added `host_v1` with a new `peek_next_txs_size` method, that accepts
`tx_number_limit` and `size_limit`.
- Added new variant of the return type to pass the validation result. It
removes block serialization and deserialization and should improve
performance.
- Added a V1 execution result type that uses `JSONError` instead of
postcard serialized error. It adds flexibility of how variants of the
error can be managed. More information about it in
FuelLabs/fuel-vm#797. The change also moves
`TooManyOutputs` error to the top. It shows that `JSONError` works as
expected.
- [2145](FuelLabs/fuel-core#2145): feat:
Introduce time port in PoA service.
- [2155](FuelLabs/fuel-core#2155): Added trait
declaration for block committer data
- [2142](FuelLabs/fuel-core#2142): Added
benchmarks for varied forms of db lookups to assist in optimizations.
- [2158](FuelLabs/fuel-core#2158): Log the
public address of the signing key, if it is specified
- [2188](FuelLabs/fuel-core#2188): Upgraded the
`fuel-vm` to `0.57.0`. More information in the
[release](https://github.com/FuelLabs/fuel-vm/releases/tag/v0.57.0).

## What's Changed
* chore(p2p_service): add metrics for number of blocks requested over
p2p req/res protocol by @rymnc in
FuelLabs/fuel-core#2135
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2149
* Debug V1 algorightm and use more realistic values in gas price
analysis by @MitchTurner in
FuelLabs/fuel-core#2129
* feat(gas_price_service): include trait declaration for block committer
data by @rymnc in FuelLabs/fuel-core#2155
* Convert gas price analysis tool to CLI by @MitchTurner in
FuelLabs/fuel-core#2156
* chore: add benchmarks for varied forms of lookups by @rymnc in
FuelLabs/fuel-core#2142
* Add label nochangelog on weekly cargo update by @AurelienFT in
FuelLabs/fuel-core#2152
* Log consensus-key signer address if specified by @acerone85 in
FuelLabs/fuel-core#2158
* chore(rocks_db): move ShallowTempDir to benches crate by @rymnc in
FuelLabs/fuel-core#2168
* chore(benches): conditional dropping of databases in benchmarks by
@rymnc in FuelLabs/fuel-core#2170
* feat: Introduce time port in PoA service by @netrome in
FuelLabs/fuel-core#2145
* Get DA costs from predefined data by @MitchTurner in
FuelLabs/fuel-core#2157
* chore(shallow_temp_dir): panic if not panicking by @rymnc in
FuelLabs/fuel-core#2172
* chore: Add initial CODEOWNERS file by @netrome in
FuelLabs/fuel-core#2179
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2177
* fix(db_lookup_times): rework core logic of benchmark by @rymnc in
FuelLabs/fuel-core#2159
* Add verification on transaction dry_run that they don't spend more
than block gas limit by @AurelienFT in
FuelLabs/fuel-core#2151
* bug: fix algorithm overflow issues by @MitchTurner in
FuelLabs/fuel-core#2173
* feat(gas_price_service): create runnable task for expensive background
polling for da metadata by @rymnc in
FuelLabs/fuel-core#2163
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2197
* Fix bug with gas price factor in V1 algorithm by @MitchTurner in
FuelLabs/fuel-core#2201
* Applying several breaking changes to the WASM interface from backlog
by @xgreenx in FuelLabs/fuel-core#2199
* chore(p2p): dnsaddr recursive resolution by @rymnc in
FuelLabs/fuel-core#2204

## New Contributors
* @acerone85 made their first contribution in
FuelLabs/fuel-core#2158

**Full Changelog**:
FuelLabs/fuel-core@v0.35.0...v0.36.0
ChapmaBeerbohm added a commit to ChapmaBeerbohm/holo-kit that referenced this pull request Sep 26, 2025
…d polling for da metadata (#2163)

> [!WARNING]
> 🏗️ This PR is 2/3 of including block committer "da"ta in v1 of the gas
price algo. We have a dependency on the api of the block committer,
which will warrant tweaking of the `DaMetadataResponse` type. The next
PR will hook it up with cli args 🚧



## Linked Issues/PRs
<!-- List of related issues/PRs -->
- follow up to: FuelLabs/fuel-core#2155
- FuelLabs/fuel-core#2139


## Description
<!-- List of detailed changes -->
- specified a Service that polls an ingestor at specified intervals to
fetch the da metadata in the background
- specified a "sync"/"non-expensive" api for the data, which marks it as
stale/None after fetching it

## Checklist
- [x] Breaking changes are clearly marked as such in the PR description
and changelog
- [x] New behavior is reflected in tests
- [x] [The specification](https://github.com/FuelLabs/fuel-specs/)
matches the implemented behavior (link update PR if changes are needed)

### Before requesting review
- [x] I have reviewed the code myself
- [x] 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]

- [ ] [Rust SDK](https://github.com/FuelLabs/fuels-rs/)
- [ ] [Sway compiler](https://github.com/FuelLabs/sway/)
- [ ] [Platform
documentation](https://github.com/FuelLabs/devrel-requests/issues/new?assignees=&labels=new+request&projects=&template=NEW-REQUEST.yml&title=%5BRequest%5D%3A+)
(for out-of-organization contributors, the person merging the PR will do
this)
- [ ] Someone else?

---------

Co-authored-by: Mitchell Turner <[email protected]>
ChapmaBeerbohm added a commit to ChapmaBeerbohm/holo-kit that referenced this pull request Sep 26, 2025
## Version v0.36.0

### Added
- [2135](FuelLabs/fuel-core#2135): Added metrics
logging for number of blocks served over the p2p req/res protocol.
- [2151](FuelLabs/fuel-core#2151): Added
limitations on gas used during dry_run in API.
- [2188](FuelLabs/fuel-core#2188): Added the new
variant `V2` for the `ConsensusParameters` which contains the new
`block_transaction_size_limit` parameter.
- [2163](FuelLabs/fuel-core#2163): Added
runnable task for fetching block committer data.
- [2204](FuelLabs/fuel-core#2204): Added
`dnsaddr` resolution for TLD without suffixes.

### Changed

#### Breaking
- [2199](FuelLabs/fuel-core#2199): Applying
several breaking changes to the WASM interface from backlog:
- Get the module to execute WASM byte code from the storage first, an
fallback to the built-in version in the case of the
`FUEL_ALWAYS_USE_WASM`.
- Added `host_v1` with a new `peek_next_txs_size` method, that accepts
`tx_number_limit` and `size_limit`.
- Added new variant of the return type to pass the validation result. It
removes block serialization and deserialization and should improve
performance.
- Added a V1 execution result type that uses `JSONError` instead of
postcard serialized error. It adds flexibility of how variants of the
error can be managed. More information about it in
FuelLabs/fuel-vm#797. The change also moves
`TooManyOutputs` error to the top. It shows that `JSONError` works as
expected.
- [2145](FuelLabs/fuel-core#2145): feat:
Introduce time port in PoA service.
- [2155](FuelLabs/fuel-core#2155): Added trait
declaration for block committer data
- [2142](FuelLabs/fuel-core#2142): Added
benchmarks for varied forms of db lookups to assist in optimizations.
- [2158](FuelLabs/fuel-core#2158): Log the
public address of the signing key, if it is specified
- [2188](FuelLabs/fuel-core#2188): Upgraded the
`fuel-vm` to `0.57.0`. More information in the
[release](https://github.com/FuelLabs/fuel-vm/releases/tag/v0.57.0).

## What's Changed
* chore(p2p_service): add metrics for number of blocks requested over
p2p req/res protocol by @rymnc in
FuelLabs/fuel-core#2135
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2149
* Debug V1 algorightm and use more realistic values in gas price
analysis by @MitchTurner in
FuelLabs/fuel-core#2129
* feat(gas_price_service): include trait declaration for block committer
data by @rymnc in FuelLabs/fuel-core#2155
* Convert gas price analysis tool to CLI by @MitchTurner in
FuelLabs/fuel-core#2156
* chore: add benchmarks for varied forms of lookups by @rymnc in
FuelLabs/fuel-core#2142
* Add label nochangelog on weekly cargo update by @AurelienFT in
FuelLabs/fuel-core#2152
* Log consensus-key signer address if specified by @acerone85 in
FuelLabs/fuel-core#2158
* chore(rocks_db): move ShallowTempDir to benches crate by @rymnc in
FuelLabs/fuel-core#2168
* chore(benches): conditional dropping of databases in benchmarks by
@rymnc in FuelLabs/fuel-core#2170
* feat: Introduce time port in PoA service by @netrome in
FuelLabs/fuel-core#2145
* Get DA costs from predefined data by @MitchTurner in
FuelLabs/fuel-core#2157
* chore(shallow_temp_dir): panic if not panicking by @rymnc in
FuelLabs/fuel-core#2172
* chore: Add initial CODEOWNERS file by @netrome in
FuelLabs/fuel-core#2179
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2177
* fix(db_lookup_times): rework core logic of benchmark by @rymnc in
FuelLabs/fuel-core#2159
* Add verification on transaction dry_run that they don't spend more
than block gas limit by @AurelienFT in
FuelLabs/fuel-core#2151
* bug: fix algorithm overflow issues by @MitchTurner in
FuelLabs/fuel-core#2173
* feat(gas_price_service): create runnable task for expensive background
polling for da metadata by @rymnc in
FuelLabs/fuel-core#2163
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2197
* Fix bug with gas price factor in V1 algorithm by @MitchTurner in
FuelLabs/fuel-core#2201
* Applying several breaking changes to the WASM interface from backlog
by @xgreenx in FuelLabs/fuel-core#2199
* chore(p2p): dnsaddr recursive resolution by @rymnc in
FuelLabs/fuel-core#2204

## New Contributors
* @acerone85 made their first contribution in
FuelLabs/fuel-core#2158

**Full Changelog**:
FuelLabs/fuel-core@v0.35.0...v0.36.0
GeorgeBake added a commit to GeorgeBake/pipeline-cli that referenced this pull request Sep 29, 2025
…d polling for da metadata (#2163)

> [!WARNING]
> 🏗️ This PR is 2/3 of including block committer "da"ta in v1 of the gas
price algo. We have a dependency on the api of the block committer,
which will warrant tweaking of the `DaMetadataResponse` type. The next
PR will hook it up with cli args 🚧



## Linked Issues/PRs
<!-- List of related issues/PRs -->
- follow up to: FuelLabs/fuel-core#2155
- FuelLabs/fuel-core#2139


## Description
<!-- List of detailed changes -->
- specified a Service that polls an ingestor at specified intervals to
fetch the da metadata in the background
- specified a "sync"/"non-expensive" api for the data, which marks it as
stale/None after fetching it

## Checklist
- [x] Breaking changes are clearly marked as such in the PR description
and changelog
- [x] New behavior is reflected in tests
- [x] [The specification](https://github.com/FuelLabs/fuel-specs/)
matches the implemented behavior (link update PR if changes are needed)

### Before requesting review
- [x] I have reviewed the code myself
- [x] 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]

- [ ] [Rust SDK](https://github.com/FuelLabs/fuels-rs/)
- [ ] [Sway compiler](https://github.com/FuelLabs/sway/)
- [ ] [Platform
documentation](https://github.com/FuelLabs/devrel-requests/issues/new?assignees=&labels=new+request&projects=&template=NEW-REQUEST.yml&title=%5BRequest%5D%3A+)
(for out-of-organization contributors, the person merging the PR will do
this)
- [ ] Someone else?

---------

Co-authored-by: Mitchell Turner <[email protected]>
GeorgeBake added a commit to GeorgeBake/pipeline-cli that referenced this pull request Sep 29, 2025
## Version v0.36.0

### Added
- [2135](FuelLabs/fuel-core#2135): Added metrics
logging for number of blocks served over the p2p req/res protocol.
- [2151](FuelLabs/fuel-core#2151): Added
limitations on gas used during dry_run in API.
- [2188](FuelLabs/fuel-core#2188): Added the new
variant `V2` for the `ConsensusParameters` which contains the new
`block_transaction_size_limit` parameter.
- [2163](FuelLabs/fuel-core#2163): Added
runnable task for fetching block committer data.
- [2204](FuelLabs/fuel-core#2204): Added
`dnsaddr` resolution for TLD without suffixes.

### Changed

#### Breaking
- [2199](FuelLabs/fuel-core#2199): Applying
several breaking changes to the WASM interface from backlog:
- Get the module to execute WASM byte code from the storage first, an
fallback to the built-in version in the case of the
`FUEL_ALWAYS_USE_WASM`.
- Added `host_v1` with a new `peek_next_txs_size` method, that accepts
`tx_number_limit` and `size_limit`.
- Added new variant of the return type to pass the validation result. It
removes block serialization and deserialization and should improve
performance.
- Added a V1 execution result type that uses `JSONError` instead of
postcard serialized error. It adds flexibility of how variants of the
error can be managed. More information about it in
FuelLabs/fuel-vm#797. The change also moves
`TooManyOutputs` error to the top. It shows that `JSONError` works as
expected.
- [2145](FuelLabs/fuel-core#2145): feat:
Introduce time port in PoA service.
- [2155](FuelLabs/fuel-core#2155): Added trait
declaration for block committer data
- [2142](FuelLabs/fuel-core#2142): Added
benchmarks for varied forms of db lookups to assist in optimizations.
- [2158](FuelLabs/fuel-core#2158): Log the
public address of the signing key, if it is specified
- [2188](FuelLabs/fuel-core#2188): Upgraded the
`fuel-vm` to `0.57.0`. More information in the
[release](https://github.com/FuelLabs/fuel-vm/releases/tag/v0.57.0).

## What's Changed
* chore(p2p_service): add metrics for number of blocks requested over
p2p req/res protocol by @rymnc in
FuelLabs/fuel-core#2135
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2149
* Debug V1 algorightm and use more realistic values in gas price
analysis by @MitchTurner in
FuelLabs/fuel-core#2129
* feat(gas_price_service): include trait declaration for block committer
data by @rymnc in FuelLabs/fuel-core#2155
* Convert gas price analysis tool to CLI by @MitchTurner in
FuelLabs/fuel-core#2156
* chore: add benchmarks for varied forms of lookups by @rymnc in
FuelLabs/fuel-core#2142
* Add label nochangelog on weekly cargo update by @AurelienFT in
FuelLabs/fuel-core#2152
* Log consensus-key signer address if specified by @acerone85 in
FuelLabs/fuel-core#2158
* chore(rocks_db): move ShallowTempDir to benches crate by @rymnc in
FuelLabs/fuel-core#2168
* chore(benches): conditional dropping of databases in benchmarks by
@rymnc in FuelLabs/fuel-core#2170
* feat: Introduce time port in PoA service by @netrome in
FuelLabs/fuel-core#2145
* Get DA costs from predefined data by @MitchTurner in
FuelLabs/fuel-core#2157
* chore(shallow_temp_dir): panic if not panicking by @rymnc in
FuelLabs/fuel-core#2172
* chore: Add initial CODEOWNERS file by @netrome in
FuelLabs/fuel-core#2179
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2177
* fix(db_lookup_times): rework core logic of benchmark by @rymnc in
FuelLabs/fuel-core#2159
* Add verification on transaction dry_run that they don't spend more
than block gas limit by @AurelienFT in
FuelLabs/fuel-core#2151
* bug: fix algorithm overflow issues by @MitchTurner in
FuelLabs/fuel-core#2173
* feat(gas_price_service): create runnable task for expensive background
polling for da metadata by @rymnc in
FuelLabs/fuel-core#2163
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2197
* Fix bug with gas price factor in V1 algorithm by @MitchTurner in
FuelLabs/fuel-core#2201
* Applying several breaking changes to the WASM interface from backlog
by @xgreenx in FuelLabs/fuel-core#2199
* chore(p2p): dnsaddr recursive resolution by @rymnc in
FuelLabs/fuel-core#2204

## New Contributors
* @acerone85 made their first contribution in
FuelLabs/fuel-core#2158

**Full Changelog**:
FuelLabs/fuel-core@v0.35.0...v0.36.0
BugSeeker84 added a commit to BugSeeker84/fuel-core that referenced this pull request Nov 16, 2025
…d polling for da metadata (#2163)

> [!WARNING]
> 🏗️ This PR is 2/3 of including block committer "da"ta in v1 of the gas
price algo. We have a dependency on the api of the block committer,
which will warrant tweaking of the `DaMetadataResponse` type. The next
PR will hook it up with cli args 🚧



## Linked Issues/PRs
<!-- List of related issues/PRs -->
- follow up to: FuelLabs/fuel-core#2155
- FuelLabs/fuel-core#2139


## Description
<!-- List of detailed changes -->
- specified a Service that polls an ingestor at specified intervals to
fetch the da metadata in the background
- specified a "sync"/"non-expensive" api for the data, which marks it as
stale/None after fetching it

## Checklist
- [x] Breaking changes are clearly marked as such in the PR description
and changelog
- [x] New behavior is reflected in tests
- [x] [The specification](https://github.com/FuelLabs/fuel-specs/)
matches the implemented behavior (link update PR if changes are needed)

### Before requesting review
- [x] I have reviewed the code myself
- [x] 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]

- [ ] [Rust SDK](https://github.com/FuelLabs/fuels-rs/)
- [ ] [Sway compiler](https://github.com/FuelLabs/sway/)
- [ ] [Platform
documentation](https://github.com/FuelLabs/devrel-requests/issues/new?assignees=&labels=new+request&projects=&template=NEW-REQUEST.yml&title=%5BRequest%5D%3A+)
(for out-of-organization contributors, the person merging the PR will do
this)
- [ ] Someone else?

---------

Co-authored-by: Mitchell Turner <[email protected]>
BugSeeker84 added a commit to BugSeeker84/fuel-core that referenced this pull request Nov 16, 2025
## Version v0.36.0

### Added
- [2135](FuelLabs/fuel-core#2135): Added metrics
logging for number of blocks served over the p2p req/res protocol.
- [2151](FuelLabs/fuel-core#2151): Added
limitations on gas used during dry_run in API.
- [2188](FuelLabs/fuel-core#2188): Added the new
variant `V2` for the `ConsensusParameters` which contains the new
`block_transaction_size_limit` parameter.
- [2163](FuelLabs/fuel-core#2163): Added
runnable task for fetching block committer data.
- [2204](FuelLabs/fuel-core#2204): Added
`dnsaddr` resolution for TLD without suffixes.

### Changed

#### Breaking
- [2199](FuelLabs/fuel-core#2199): Applying
several breaking changes to the WASM interface from backlog:
- Get the module to execute WASM byte code from the storage first, an
fallback to the built-in version in the case of the
`FUEL_ALWAYS_USE_WASM`.
- Added `host_v1` with a new `peek_next_txs_size` method, that accepts
`tx_number_limit` and `size_limit`.
- Added new variant of the return type to pass the validation result. It
removes block serialization and deserialization and should improve
performance.
- Added a V1 execution result type that uses `JSONError` instead of
postcard serialized error. It adds flexibility of how variants of the
error can be managed. More information about it in
FuelLabs/fuel-vm#797. The change also moves
`TooManyOutputs` error to the top. It shows that `JSONError` works as
expected.
- [2145](FuelLabs/fuel-core#2145): feat:
Introduce time port in PoA service.
- [2155](FuelLabs/fuel-core#2155): Added trait
declaration for block committer data
- [2142](FuelLabs/fuel-core#2142): Added
benchmarks for varied forms of db lookups to assist in optimizations.
- [2158](FuelLabs/fuel-core#2158): Log the
public address of the signing key, if it is specified
- [2188](FuelLabs/fuel-core#2188): Upgraded the
`fuel-vm` to `0.57.0`. More information in the
[release](https://github.com/FuelLabs/fuel-vm/releases/tag/v0.57.0).

## What's Changed
* chore(p2p_service): add metrics for number of blocks requested over
p2p req/res protocol by @rymnc in
FuelLabs/fuel-core#2135
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2149
* Debug V1 algorightm and use more realistic values in gas price
analysis by @MitchTurner in
FuelLabs/fuel-core#2129
* feat(gas_price_service): include trait declaration for block committer
data by @rymnc in FuelLabs/fuel-core#2155
* Convert gas price analysis tool to CLI by @MitchTurner in
FuelLabs/fuel-core#2156
* chore: add benchmarks for varied forms of lookups by @rymnc in
FuelLabs/fuel-core#2142
* Add label nochangelog on weekly cargo update by @AurelienFT in
FuelLabs/fuel-core#2152
* Log consensus-key signer address if specified by @acerone85 in
FuelLabs/fuel-core#2158
* chore(rocks_db): move ShallowTempDir to benches crate by @rymnc in
FuelLabs/fuel-core#2168
* chore(benches): conditional dropping of databases in benchmarks by
@rymnc in FuelLabs/fuel-core#2170
* feat: Introduce time port in PoA service by @netrome in
FuelLabs/fuel-core#2145
* Get DA costs from predefined data by @MitchTurner in
FuelLabs/fuel-core#2157
* chore(shallow_temp_dir): panic if not panicking by @rymnc in
FuelLabs/fuel-core#2172
* chore: Add initial CODEOWNERS file by @netrome in
FuelLabs/fuel-core#2179
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2177
* fix(db_lookup_times): rework core logic of benchmark by @rymnc in
FuelLabs/fuel-core#2159
* Add verification on transaction dry_run that they don't spend more
than block gas limit by @AurelienFT in
FuelLabs/fuel-core#2151
* bug: fix algorithm overflow issues by @MitchTurner in
FuelLabs/fuel-core#2173
* feat(gas_price_service): create runnable task for expensive background
polling for da metadata by @rymnc in
FuelLabs/fuel-core#2163
* Weekly `cargo update` by @github-actions in
FuelLabs/fuel-core#2197
* Fix bug with gas price factor in V1 algorithm by @MitchTurner in
FuelLabs/fuel-core#2201
* Applying several breaking changes to the WASM interface from backlog
by @xgreenx in FuelLabs/fuel-core#2199
* chore(p2p): dnsaddr recursive resolution by @rymnc in
FuelLabs/fuel-core#2204

## New Contributors
* @acerone85 made their first contribution in
FuelLabs/fuel-core#2158

**Full Changelog**:
FuelLabs/fuel-core@v0.35.0...v0.36.0
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.

4 participants