diff --git a/.changes/added/2150.md b/.changes/added/2150.md deleted file mode 100644 index fa97776ea58..00000000000 --- a/.changes/added/2150.md +++ /dev/null @@ -1 +0,0 @@ -Upgraded `libp2p` to `0.54.1` and introduced `ConnectionLimiter` to limit pending incoming/outgoing connections. \ No newline at end of file diff --git a/.changes/added/2491.md b/.changes/added/2491.md deleted file mode 100644 index 2638131ee6d..00000000000 --- a/.changes/added/2491.md +++ /dev/null @@ -1 +0,0 @@ -Storage read replays of historical blocks for execution tracing. Only available behind `--historical-execution` flag. \ No newline at end of file diff --git a/.changes/added/2619.md b/.changes/added/2619.md deleted file mode 100644 index ee210f4f758..00000000000 --- a/.changes/added/2619.md +++ /dev/null @@ -1 +0,0 @@ -Add possibility to submit list of changes to rocksdb. \ No newline at end of file diff --git a/.changes/added/2666.md b/.changes/added/2666.md deleted file mode 100644 index f57fd2654a3..00000000000 --- a/.changes/added/2666.md +++ /dev/null @@ -1 +0,0 @@ -Added two new CLI arguments to control the GraphQL queries consistency: `--graphql-block-height-tolerance` (default: `10`) and `--graphql-block-height-min-timeout` (default: `30s`). If a request requires a specific block height and the node is slightly behind, it will wait instead of failing. \ No newline at end of file diff --git a/.changes/added/2682.md b/.changes/added/2682.md deleted file mode 100644 index c460b0634ad..00000000000 --- a/.changes/added/2682.md +++ /dev/null @@ -1 +0,0 @@ -Added GraphQL APIs to get contract storage and balances for current and past blocks. \ No newline at end of file diff --git a/.changes/added/2719.md b/.changes/added/2719.md deleted file mode 100644 index d0da14bf57a..00000000000 --- a/.changes/added/2719.md +++ /dev/null @@ -1 +0,0 @@ -Merklized DA compression temporal registry tables. diff --git a/.changes/added/2722.md b/.changes/added/2722.md deleted file mode 100644 index 8a26c6d3794..00000000000 --- a/.changes/added/2722.md +++ /dev/null @@ -1 +0,0 @@ -Service definition for state root service. \ No newline at end of file diff --git a/.changes/added/2724.md b/.changes/added/2724.md deleted file mode 100644 index 8786d2a2ed4..00000000000 --- a/.changes/added/2724.md +++ /dev/null @@ -1 +0,0 @@ -Explicit error type for merkleized storage. diff --git a/.changes/added/2726.md b/.changes/added/2726.md deleted file mode 100644 index cbfa5f0b760..00000000000 --- a/.changes/added/2726.md +++ /dev/null @@ -1 +0,0 @@ -Add a new gossip-sub message for transaction preconfirmations \ No newline at end of file diff --git a/.changes/added/2731.md b/.changes/added/2731.md deleted file mode 100644 index 77c97d90e30..00000000000 --- a/.changes/added/2731.md +++ /dev/null @@ -1 +0,0 @@ -Include `TemporalRegistry` trait implementations for v2 tables. \ No newline at end of file diff --git a/.changes/added/2733.md b/.changes/added/2733.md deleted file mode 100644 index 90efa4e9922..00000000000 --- a/.changes/added/2733.md +++ /dev/null @@ -1 +0,0 @@ -Add a pending pool transaction that allow transaction to wait a bit of time if an input is missing instead of direct delete. \ No newline at end of file diff --git a/.changes/added/2742.md b/.changes/added/2742.md deleted file mode 100644 index 362cb6f7588..00000000000 --- a/.changes/added/2742.md +++ /dev/null @@ -1 +0,0 @@ -Added API crate for merkle root service. diff --git a/.changes/added/2756.md b/.changes/added/2756.md deleted file mode 100644 index 242c23bcd9f..00000000000 --- a/.changes/added/2756.md +++ /dev/null @@ -1 +0,0 @@ -Add new service for managing pre-confirmations \ No newline at end of file diff --git a/.changes/added/2769.md b/.changes/added/2769.md deleted file mode 100644 index 4f5d0decf17..00000000000 --- a/.changes/added/2769.md +++ /dev/null @@ -1,24 +0,0 @@ -Added a new `assembleTx` GraphQL endpoint. -The endpoint can be used to assemble the transaction based on the provided requirements. - -The returned transaction contains: -- Input coins to cover `required_balances` -- Input coins to cover the fee of the transaction based on the gas price from `block_horizon` -- `Change` or `Destroy` outputs for all assets from the inputs -- `Variable` outputs in the case they are required during the execution -- `Contract` inputs and outputs in the case they are required during the execution -- Reserved witness slots for signed coins filled with `64` zeroes -- Set script gas limit(unless `script` is empty) -- Estimated predicates, if `estimate_predicates == true` - -Returns an error if: -- The number of required balances exceeds the maximum number of inputs allowed. -- The fee address index is out of bounds. -- The same asset has multiple change policies(either the receiver of - the change is different, or one of the policies states about the destruction - of the token while the other does not). The `Change` output from the transaction - also count as a `ChangePolicy`. -- The number of excluded coin IDs exceeds the maximum number of inputs allowed. -- Required assets have multiple entries. -- If accounts don't have sufficient amounts to cover the transaction requirements in assets. -- If a constructed transaction breaks the rules defined by consensus parameters. \ No newline at end of file diff --git a/.changes/added/2780.md b/.changes/added/2780.md deleted file mode 100644 index 2f85b354fcc..00000000000 --- a/.changes/added/2780.md +++ /dev/null @@ -1 +0,0 @@ -Add implementations for the pre-confirmation signing task \ No newline at end of file diff --git a/.changes/added/2784.md b/.changes/added/2784.md deleted file mode 100644 index f1d28b22bfc..00000000000 --- a/.changes/added/2784.md +++ /dev/null @@ -1 +0,0 @@ -Integrate the pre conf signature task into the main consensus task \ No newline at end of file diff --git a/.changes/added/2788.md b/.changes/added/2788.md deleted file mode 100644 index 605d4a77dd4..00000000000 --- a/.changes/added/2788.md +++ /dev/null @@ -1 +0,0 @@ -Scaffold dedicated compression service. diff --git a/.changes/added/2799.md b/.changes/added/2799.md deleted file mode 100644 index b7c277ef889..00000000000 --- a/.changes/added/2799.md +++ /dev/null @@ -1,5 +0,0 @@ -Add a transaction waiter to the executor to wait for potential new transactions inside the block production window. -Add a channel to send preconfirmation created by executor to the other modules -Added a new CLI arguments: -- `--production-timeout` to control the block production timeout in the case if block producer stuck. -- `--poa-open-period` set the block production mode to `Open`. The `Open` mode starts the production of the next block immediately after the previous block. The block is open until the `period` passed. The period is a duration represented by `100ms`, `1s`, `1m`, etc. The manual block production is disabled if this production mode is used. \ No newline at end of file diff --git a/.changes/added/2802.md b/.changes/added/2802.md deleted file mode 100644 index 213d9f88ff5..00000000000 --- a/.changes/added/2802.md +++ /dev/null @@ -1 +0,0 @@ -Add a new cache with outputs extracted from the pool for the duration of the block. \ No newline at end of file diff --git a/.changes/added/2824.md b/.changes/added/2824.md deleted file mode 100644 index e0382e27a68..00000000000 --- a/.changes/added/2824.md +++ /dev/null @@ -1 +0,0 @@ -Introduce new `Try`-like methods for the `TaskNextAction` \ No newline at end of file diff --git a/.changes/added/2840.md b/.changes/added/2840.md deleted file mode 100644 index cb9e5557d03..00000000000 --- a/.changes/added/2840.md +++ /dev/null @@ -1,3 +0,0 @@ -Added a new CLI arguments: -- `assemble-tx-dry-run-limit` - The max number how many times script can be executed during `assemble_tx` GraphQL request. Default value is `3` times. -- `assemble-tx-estimate-predicates-limit` - The max number how many times predicates can be estimated during `assemble_tx` GraphQL request. Default values is `10` times. \ No newline at end of file diff --git a/.changes/added/2841.md b/.changes/added/2841.md deleted file mode 100644 index af648a9f138..00000000000 --- a/.changes/added/2841.md +++ /dev/null @@ -1,6 +0,0 @@ -Following endpoints allow estimation of predicates on submission of the transaction via new `estimatePredicates` argument: -- `submit` -- `submit_and_await` -- `submit_and_await_status` - -The change is backward compatible with all SDKs. The change is not forward-compatible with Rust SDK in the case of the `estiamte_predicates` flag set. \ No newline at end of file diff --git a/.changes/added/2844.md b/.changes/added/2844.md deleted file mode 100644 index 6cec2b0bc31..00000000000 --- a/.changes/added/2844.md +++ /dev/null @@ -1 +0,0 @@ -Implement DA compression in `fuel-core-compression-service`. diff --git a/.changes/added/2845.md b/.changes/added/2845.md deleted file mode 100644 index 251bee8e7c8..00000000000 --- a/.changes/added/2845.md +++ /dev/null @@ -1 +0,0 @@ -New status to manage the pre confirmation status send in `TxUpdateSender`. \ No newline at end of file diff --git a/.changes/added/2855.md b/.changes/added/2855.md deleted file mode 100644 index 175fd3b7301..00000000000 --- a/.changes/added/2855.md +++ /dev/null @@ -1 +0,0 @@ -Add an expiration interval check for pending pool and refactor extracted_outputs to not rely on block creation/process sequence. \ No newline at end of file diff --git a/.changes/added/2856.md b/.changes/added/2856.md deleted file mode 100644 index 953d3c7b944..00000000000 --- a/.changes/added/2856.md +++ /dev/null @@ -1 +0,0 @@ -Add generic logic for managing the signatures and delegate keys for pre-confirmations signatures \ No newline at end of file diff --git a/.changes/added/2862.md b/.changes/added/2862.md deleted file mode 100644 index a49940d327b..00000000000 --- a/.changes/added/2862.md +++ /dev/null @@ -1 +0,0 @@ -Derive `enum_iterator::Sequence` and `strum_macros::{EnumCount, IntoStaticStr}` for MerkleizedColumn. diff --git a/.changes/breaking/2648.md b/.changes/breaking/2648.md deleted file mode 100644 index de12abbe831..00000000000 --- a/.changes/breaking/2648.md +++ /dev/null @@ -1 +0,0 @@ -Add feature-flagged field to block header `fault_proving_header` that contains a commitment to all transaction ids. \ No newline at end of file diff --git a/.changes/breaking/2678.md b/.changes/breaking/2678.md deleted file mode 100644 index bcb90419058..00000000000 --- a/.changes/breaking/2678.md +++ /dev/null @@ -1 +0,0 @@ -Removed public accessors for `BlockHeader` fields and replaced with methods instead, moved `tx_id_commitment` to the application header of `BlockHeaderV2`. \ No newline at end of file diff --git a/.changes/breaking/2746.md b/.changes/breaking/2746.md deleted file mode 100644 index 7e998ac6c0e..00000000000 --- a/.changes/breaking/2746.md +++ /dev/null @@ -1,22 +0,0 @@ -Breaking changes to the CLI arguments: -- To disable `random-walk` just don't specify it. Before it required to use `--random-walk 0`. -- Next CLI arguments were renamed: - - `relayer-min-duration-s` -> `relayer-min-duration` - - `relayer-eth-sync-call-freq-s` -> `relayer-eth-sync-call-freq` - - `relayer-eth-sync-log-freq-s` -> `relayer-eth-sync-log-freq` -- Default value for the `heartbeat-idle-duration` was changed from `1s` to `100ms`. So information about new block will be propagated faster by default. -- All CLI arguments below use time(like `100ms`, `1s`, `1d`, etc.) use as a flag argument instead of number of seconds: - - `random-walk` - - `connection-idle-timeout` - - `info-interval` - - `identify-interval` - - `request-timeout` - - `connection-keep-alive` - - `heartbeat-send-duration` - - `heartbeat-idle-duration` - - `heartbeat-check-interval` - - `heartbeat-max-avg-interval` - - `heartbeat-max-time-since-last` - - `relayer-min-duration` - - `relayer-eth-sync-call-freq` - - `relayer-eth-sync-log-freq` \ No newline at end of file diff --git a/.changes/breaking/2840.md b/.changes/breaking/2840.md deleted file mode 100644 index 37ed90ad5d2..00000000000 --- a/.changes/breaking/2840.md +++ /dev/null @@ -1,3 +0,0 @@ -CLI argument `vm-backtrace` is deprecated and does nothing. It will be removed in a future version of `fuel-core`. -The `extra_tx_checks` field was renamed into `forbid_fake_coins` that affects JSON based serialization/deserialization. -Renamed `extra_tx_checks_default` field into `forbid_fake_coins_default`. \ No newline at end of file diff --git a/.changes/changed/2388.md b/.changes/changed/2388.md deleted file mode 100644 index ea552cbaae4..00000000000 --- a/.changes/changed/2388.md +++ /dev/null @@ -1 +0,0 @@ -Rework the P2P service codecs to avoid unnecessary coupling between components. The refactoring makes it explicit that the Gossipsub and RequestResponse codecs only share encoding/decoding functionalities from the Postcard codec. It also makes handling Gossipsub and RequestResponse messages completely independent of each other. \ No newline at end of file diff --git a/.changes/changed/2460.md b/.changes/changed/2460.md deleted file mode 100644 index 0d13cf5b0f7..00000000000 --- a/.changes/changed/2460.md +++ /dev/null @@ -1 +0,0 @@ -The type of the `max_response_size`for the postcard codec used in `RequestResponse` protocols has been changed from `usize` to `u64`. \ No newline at end of file diff --git a/.changes/changed/2473.md b/.changes/changed/2473.md deleted file mode 100644 index 4a383d0f9f5..00000000000 --- a/.changes/changed/2473.md +++ /dev/null @@ -1 +0,0 @@ -Graphql requests and responses make use of a new `extensions` object to specify request/response metadata. A request `extensions` object can contain an integer-valued `required_fuel_block_height` field. When specified, the request will return an error unless the node's current fuel block height is at least the value specified in the `required_fuel_block_height` field. All graphql responses now contain an integer-valued `current_fuel_block_height` field in the `extensions` object, which contains the block height of the last block processed by the node. \ No newline at end of file diff --git a/.changes/changed/2618.md b/.changes/changed/2618.md deleted file mode 100644 index 79ce8a3014c..00000000000 --- a/.changes/changed/2618.md +++ /dev/null @@ -1 +0,0 @@ -Parallelize block/transaction changes creation in Importer \ No newline at end of file diff --git a/.changes/changed/2653.md b/.changes/changed/2653.md deleted file mode 100644 index 5fa01a8b422..00000000000 --- a/.changes/changed/2653.md +++ /dev/null @@ -1 +0,0 @@ -Added cleaner error for wasm-executor upon failed deserialization. diff --git a/.changes/changed/2656.md b/.changes/changed/2656.md deleted file mode 100644 index ed51cbb6113..00000000000 --- a/.changes/changed/2656.md +++ /dev/null @@ -1 +0,0 @@ -Migrate test helper function `create_contract` to `fuel_core_types::test_helpers::create_contract`, and refactor test in proof_system/global_merkle_root crate to use this function. diff --git a/.changes/changed/2659.md b/.changes/changed/2659.md deleted file mode 100644 index 63673301a59..00000000000 --- a/.changes/changed/2659.md +++ /dev/null @@ -1 +0,0 @@ -Replace `derivative` crate with `educe` crate. \ No newline at end of file diff --git a/.changes/changed/2705.md b/.changes/changed/2705.md deleted file mode 100644 index 604ddd5f23e..00000000000 --- a/.changes/changed/2705.md +++ /dev/null @@ -1 +0,0 @@ -Update the default value for `--max-block-size` and `--max-transmit-size` to 50 MB \ No newline at end of file diff --git a/.changes/changed/2715.md b/.changes/changed/2715.md deleted file mode 100644 index 2a051222370..00000000000 --- a/.changes/changed/2715.md +++ /dev/null @@ -1 +0,0 @@ -Each GraphQL response contains `current_consensus_parameters_version` and `current_stf_version` in the `extensions` section. \ No newline at end of file diff --git a/.changes/changed/2723.md b/.changes/changed/2723.md deleted file mode 100644 index 06cac9b81d2..00000000000 --- a/.changes/changed/2723.md +++ /dev/null @@ -1 +0,0 @@ -Change the way we are building the changelog to avoids conflicts. \ No newline at end of file diff --git a/.changes/changed/2725.md b/.changes/changed/2725.md deleted file mode 100644 index 14207fd2575..00000000000 --- a/.changes/changed/2725.md +++ /dev/null @@ -1 +0,0 @@ -New txpool worker to remove lock contention \ No newline at end of file diff --git a/.changes/changed/2752.md b/.changes/changed/2752.md deleted file mode 100644 index b85cd910511..00000000000 --- a/.changes/changed/2752.md +++ /dev/null @@ -1 +0,0 @@ -Extended the `TransactionStatus` to support pre-confirmations. \ No newline at end of file diff --git a/.changes/changed/2761.md b/.changes/changed/2761.md deleted file mode 100644 index 84ae2eb4d85..00000000000 --- a/.changes/changed/2761.md +++ /dev/null @@ -1 +0,0 @@ -Renamed `ConsensusParametersProvider` to `ChainStateInfoProvider` because it is now providing more than just info about consensus parameters. \ No newline at end of file diff --git a/.changes/changed/2767.md b/.changes/changed/2767.md deleted file mode 100644 index 36b2e571531..00000000000 --- a/.changes/changed/2767.md +++ /dev/null @@ -1 +0,0 @@ -Updated fuel-vm to v0.60.0, see [release notes](https://github.com/FuelLabs/fuel-vm/releases/tag/v0.60.0). \ No newline at end of file diff --git a/.changes/changed/2781.md b/.changes/changed/2781.md deleted file mode 100644 index 34ce51d765b..00000000000 --- a/.changes/changed/2781.md +++ /dev/null @@ -1 +0,0 @@ -Deprecate `dryRun` mutation. Use `dryRun` query instead. \ No newline at end of file diff --git a/.changes/changed/2791.md b/.changes/changed/2791.md deleted file mode 100644 index b8af4832206..00000000000 --- a/.changes/changed/2791.md +++ /dev/null @@ -1 +0,0 @@ -Added `TxStatusManager` service which serves as a single source of truth regarding the current statuses of transactions \ No newline at end of file diff --git a/.changes/changed/2793.md b/.changes/changed/2793.md deleted file mode 100644 index 2d18e6df1fb..00000000000 --- a/.changes/changed/2793.md +++ /dev/null @@ -1 +0,0 @@ -Moved common merkle storage trait implementations to `fuel-core-storage` and made it easier to setup a set of columns that need merkleization. diff --git a/.changes/changed/2799.md b/.changes/changed/2799.md deleted file mode 100644 index 495adc2125a..00000000000 --- a/.changes/changed/2799.md +++ /dev/null @@ -1 +0,0 @@ -Change the block production to not be trigger after an interval but directly after the creation of last block and let the executor run for the block time window. \ No newline at end of file diff --git a/.changes/changed/2800.md b/.changes/changed/2800.md deleted file mode 100644 index ee6a48b0f02..00000000000 --- a/.changes/changed/2800.md +++ /dev/null @@ -1 +0,0 @@ -Implement P2P adapter for preconfirmation broadcasting \ No newline at end of file diff --git a/.changes/changed/2802.md b/.changes/changed/2802.md deleted file mode 100644 index b315dde02fe..00000000000 --- a/.changes/changed/2802.md +++ /dev/null @@ -1 +0,0 @@ -Change new txs notifier to be notified only on executable transactions \ No newline at end of file diff --git a/.changes/changed/2811.md b/.changes/changed/2811.md deleted file mode 100644 index 60515746763..00000000000 --- a/.changes/changed/2811.md +++ /dev/null @@ -1 +0,0 @@ -When the state rewind window of 7d was triggered, the `is_migration_in_progress` was repeatedly called, resulting in multiple iterations over the empty ModificationsHistoryV1 table. Iteration was slow because compaction didn't have a chance to clean up V1 table. We removed iteration from the migration process. \ No newline at end of file diff --git a/.changes/changed/2824.md b/.changes/changed/2824.md deleted file mode 100644 index 00e76764a18..00000000000 --- a/.changes/changed/2824.md +++ /dev/null @@ -1 +0,0 @@ -Improve conditions where `Error`s in the `PreConfirmationSignatureTask` stop the service \ No newline at end of file diff --git a/.changes/changed/2840.md b/.changes/changed/2840.md deleted file mode 100644 index 242fa222745..00000000000 --- a/.changes/changed/2840.md +++ /dev/null @@ -1 +0,0 @@ -Removed `log_backtrace` logic from the executor. It is not needed anymore with the existence of the local debugger for the transactions. \ No newline at end of file diff --git a/.changes/changed/2865.md b/.changes/changed/2865.md deleted file mode 100644 index f489f8f83be..00000000000 --- a/.changes/changed/2865.md +++ /dev/null @@ -1 +0,0 @@ -Consider the following transaction statuses as final: `Success`, `Failure`, `SqueezedOut`, `PreConfirmationSqueezedOut`. All other statuses will be considered transient. diff --git a/.changes/fixed/2646.md b/.changes/fixed/2646.md deleted file mode 100644 index d41bd28ae2f..00000000000 --- a/.changes/fixed/2646.md +++ /dev/null @@ -1 +0,0 @@ -Improved performance of fetching block height by caching it when the view is created. diff --git a/.changes/fixed/2682.md b/.changes/fixed/2682.md deleted file mode 100644 index b68926801ba..00000000000 --- a/.changes/fixed/2682.md +++ /dev/null @@ -1 +0,0 @@ -Fixed the issue with RPC consistency feature for the subscriptions(without the fix first we perform the logic of the query, and only after verify the required height). \ No newline at end of file diff --git a/.changes/fixed/2730.md b/.changes/fixed/2730.md deleted file mode 100644 index 28385bc0553..00000000000 --- a/.changes/fixed/2730.md +++ /dev/null @@ -1 +0,0 @@ -Fixed RocksDB closing issue that potentially could panic. \ No newline at end of file diff --git a/.changes/fixed/2743.md b/.changes/fixed/2743.md deleted file mode 100644 index 23617ed03ac..00000000000 --- a/.changes/fixed/2743.md +++ /dev/null @@ -1 +0,0 @@ -Allow discovery of the peers when slots for functional connections are consumed. Reserved nodes are not affected by the limitation on connections anymore. \ No newline at end of file diff --git a/.changes/fixed/2746.md b/.changes/fixed/2746.md deleted file mode 100644 index 453ea42d96b..00000000000 --- a/.changes/fixed/2746.md +++ /dev/null @@ -1 +0,0 @@ -Fixed flaky part in the e2e tests and version compatibility tests. Speed up compatibility tests execution time. Decreased the default time between block height propagation throw the network. \ No newline at end of file diff --git a/.changes/fixed/2758.md b/.changes/fixed/2758.md deleted file mode 100644 index 80b8ee1f8d0..00000000000 --- a/.changes/fixed/2758.md +++ /dev/null @@ -1 +0,0 @@ -Made `tx_id_commitment` feature flagged in `fuel-core-client`. diff --git a/.changes/fixed/2832.md b/.changes/fixed/2832.md deleted file mode 100644 index 14ae74ecca9..00000000000 --- a/.changes/fixed/2832.md +++ /dev/null @@ -1,2 +0,0 @@ -- Trigger block production only when all other sub services are started. -- Fix relayer syncing issue causing block production to slow down occasionally. diff --git a/.changes/fixed/2840.md b/.changes/fixed/2840.md deleted file mode 100644 index b984cd1e6d6..00000000000 --- a/.changes/fixed/2840.md +++ /dev/null @@ -1 +0,0 @@ -Fixed `fuel-core-client` receipt deserialization in the case if the `ContractId` is zero. \ No newline at end of file diff --git a/.changes/removed/2863.md b/.changes/removed/2863.md deleted file mode 100644 index 9ed4edf2746..00000000000 --- a/.changes/removed/2863.md +++ /dev/null @@ -1 +0,0 @@ -Removed everything related to the state root service, as it has been moved to another repo. diff --git a/.github/workflows/create_version.yml b/.github/workflows/create_version.yml index 095d57d7e7b..c077058c95b 100644 --- a/.github/workflows/create_version.yml +++ b/.github/workflows/create_version.yml @@ -50,14 +50,19 @@ jobs: for file in "${files[@]}"; do filename=$(basename "$file" .md) content=$(cat "$file") + # Ident by two spaces every new line + content=$(echo -e "$content" | awk 'NR==1{print $0; next} {print " " $0}') VERSION_TEXT+="- [${filename}](https://github.com/FuelLabs/fuel-core/pull/${filename}): ${content}\n" done fi fi done + #Escape backquotes + VERSION_TEXT=$(echo "$VERSION_TEXT" | sed 's/`/\\`/g') + echo -e "$VERSION_TEXT" { echo 'VERSION_TEXT<> "$GITHUB_OUTPUT" diff --git a/CHANGELOG.md b/CHANGELOG.md index 0286127f6b4..bbc4e65ebb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,139 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased (see .changes folder)] +## [Version 0.42.0] + +### Breaking +- [2648](https://github.com/FuelLabs/fuel-core/pull/2648): Add feature-flagged field to block header `fault_proving_header` that contains a commitment to all transaction ids. +- [2678](https://github.com/FuelLabs/fuel-core/pull/2678): Removed public accessors for `BlockHeader` fields and replaced with methods instead, moved `tx_id_commitment` to the application header of `BlockHeaderV2`. +- [2746](https://github.com/FuelLabs/fuel-core/pull/2746): Breaking changes to the CLI arguments: + - To disable `random-walk` just don't specify it. Before it required to use `--random-walk 0`. + - Next CLI arguments were renamed: + - `relayer-min-duration-s` -> `relayer-min-duration` + - `relayer-eth-sync-call-freq-s` -> `relayer-eth-sync-call-freq` + - `relayer-eth-sync-log-freq-s` -> `relayer-eth-sync-log-freq` + - Default value for the `heartbeat-idle-duration` was changed from `1s` to `100ms`. So information about new block will be propagated faster by default. + - All CLI arguments below use time(like `100ms`, `1s`, `1d`, etc.) use as a flag argument instead of number of seconds: + - `random-walk` + - `connection-idle-timeout` + - `info-interval` + - `identify-interval` + - `request-timeout` + - `connection-keep-alive` + - `heartbeat-send-duration` + - `heartbeat-idle-duration` + - `heartbeat-check-interval` + - `heartbeat-max-avg-interval` + - `heartbeat-max-time-since-last` + - `relayer-min-duration` + - `relayer-eth-sync-call-freq` + - `relayer-eth-sync-log-freq` +- [2840](https://github.com/FuelLabs/fuel-core/pull/2840): CLI argument `vm-backtrace` is deprecated and does nothing. It will be removed in a future version of `fuel-core`. + The `extra_tx_checks` field was renamed into `forbid_fake_coins` that affects JSON based serialization/deserialization. + Renamed `extra_tx_checks_default` field into `forbid_fake_coins_default`. + +### Added +- [2150](https://github.com/FuelLabs/fuel-core/pull/2150): Upgraded `libp2p` to `0.54.1` and introduced `ConnectionLimiter` to limit pending incoming/outgoing connections. +- [2491](https://github.com/FuelLabs/fuel-core/pull/2491): Storage read replays of historical blocks for execution tracing. Only available behind `--historical-execution` flag. +- [2619](https://github.com/FuelLabs/fuel-core/pull/2619): Add possibility to submit list of changes to rocksdb. +- [2666](https://github.com/FuelLabs/fuel-core/pull/2666): Added two new CLI arguments to control the GraphQL queries consistency: `--graphql-block-height-tolerance` (default: `10`) and `--graphql-block-height-min-timeout` (default: `30s`). If a request requires a specific block height and the node is slightly behind, it will wait instead of failing. +- [2682](https://github.com/FuelLabs/fuel-core/pull/2682): Added GraphQL APIs to get contract storage and balances for current and past blocks. +- [2719](https://github.com/FuelLabs/fuel-core/pull/2719): Merklized DA compression temporal registry tables. +- [2722](https://github.com/FuelLabs/fuel-core/pull/2722): Service definition for state root service. +- [2724](https://github.com/FuelLabs/fuel-core/pull/2724): Explicit error type for merkleized storage. +- [2726](https://github.com/FuelLabs/fuel-core/pull/2726): Add a new gossip-sub message for transaction preconfirmations +- [2731](https://github.com/FuelLabs/fuel-core/pull/2731): Include `TemporalRegistry` trait implementations for v2 tables. +- [2733](https://github.com/FuelLabs/fuel-core/pull/2733): Add a pending pool transaction that allow transaction to wait a bit of time if an input is missing instead of direct delete. +- [2742](https://github.com/FuelLabs/fuel-core/pull/2742): Added API crate for merkle root service. +- [2756](https://github.com/FuelLabs/fuel-core/pull/2756): Add new service for managing pre-confirmations +- [2769](https://github.com/FuelLabs/fuel-core/pull/2769): Added a new `assembleTx` GraphQL endpoint. The endpoint can be used to assemble the transaction based on the provided requirements. + + - The returned transaction contains: + - Input coins to cover `required_balances` + - Input coins to cover the fee of the transaction based on the gas price from `block_horizon` + - `Change` or `Destroy` outputs for all assets from the inputs + - `Variable` outputs in the case they are required during the execution + - `Contract` inputs and outputs in the case they are required during the execution + - Reserved witness slots for signed coins filled with `64` zeroes + - Set script gas limit(unless `script` is empty) + - Estimated predicates, if `estimate_predicates == true` + + - Returns an error if: + - The number of required balances exceeds the maximum number of inputs allowed. + - The fee address index is out of bounds. + - The same asset has multiple change policies(either the receiver of + the change is different, or one of the policies states about the destruction + of the token while the other does not). The `Change` output from the transaction + also count as a `ChangePolicy`. + - The number of excluded coin IDs exceeds the maximum number of inputs allowed. + - Required assets have multiple entries. + - If accounts don't have sufficient amounts to cover the transaction requirements in assets. + - If a constructed transaction breaks the rules defined by consensus parameters. +- [2780](https://github.com/FuelLabs/fuel-core/pull/2780): Add implementations for the pre-confirmation signing task +- [2784](https://github.com/FuelLabs/fuel-core/pull/2784): Integrate the pre conf signature task into the main consensus task +- [2788](https://github.com/FuelLabs/fuel-core/pull/2788): Scaffold dedicated compression service. +- [2799](https://github.com/FuelLabs/fuel-core/pull/2799): Add a transaction waiter to the executor to wait for potential new transactions inside the block production window. + Add a channel to send preconfirmation created by executor to the other modules + Added a new CLI arguments: + - `--production-timeout` to control the block production timeout in the case if block producer stuck. + - `--poa-open-period` set the block production mode to `Open`. The `Open` mode starts the production of the next block immediately after the previous block. The block is open until the `period` passed. The period is a duration represented by `100ms`, `1s`, `1m`, etc. The manual block production is disabled if this production mode is used. +- [2802](https://github.com/FuelLabs/fuel-core/pull/2802): Add a new cache with outputs extracted from the pool for the duration of the block. +- [2824](https://github.com/FuelLabs/fuel-core/pull/2824): Introduce new `Try`-like methods for the `TaskNextAction` +- [2840](https://github.com/FuelLabs/fuel-core/pull/2840): Added a new CLI arguments: + - `assemble-tx-dry-run-limit` - The max number how many times script can be executed during `assemble_tx` GraphQL request. Default value is `3` times. + - `assemble-tx-estimate-predicates-limit` - The max number how many times predicates can be estimated during `assemble_tx` GraphQL request. Default values is `10` times. +- [2841](https://github.com/FuelLabs/fuel-core/pull/2841): Following endpoints allow estimation of predicates on submission of the transaction via new `estimatePredicates` argument: + - `submit` + - `submit_and_await` + - `submit_and_await_status` + + The change is backward compatible with all SDKs. The change is not forward-compatible with Rust SDK in the case of the `estiamte_predicates` flag set. +- [2844](https://github.com/FuelLabs/fuel-core/pull/2844): Implement DA compression in `fuel-core-compression-service`. +- [2845](https://github.com/FuelLabs/fuel-core/pull/2845): New status to manage the pre confirmation status send in `TxUpdateSender`. +- [2855](https://github.com/FuelLabs/fuel-core/pull/2855): Add an expiration interval check for pending pool and refactor extracted_outputs to not rely on block creation/process sequence. +- [2856](https://github.com/FuelLabs/fuel-core/pull/2856): Add generic logic for managing the signatures and delegate keys for pre-confirmations signatures +- [2862](https://github.com/FuelLabs/fuel-core/pull/2862): Derive `enum_iterator::Sequence` and `strum_macros::{EnumCount, IntoStaticStr}` for MerkleizedColumn. + +### Changed +- [2388](https://github.com/FuelLabs/fuel-core/pull/2388): Rework the P2P service codecs to avoid unnecessary coupling between components. The refactoring makes it explicit that the Gossipsub and RequestResponse codecs only share encoding/decoding functionalities from the Postcard codec. It also makes handling Gossipsub and RequestResponse messages completely independent of each other. +- [2460](https://github.com/FuelLabs/fuel-core/pull/2460): The type of the `max_response_size`for the postcard codec used in `RequestResponse` protocols has been changed from `usize` to `u64`. +- [2473](https://github.com/FuelLabs/fuel-core/pull/2473): Graphql requests and responses make use of a new `extensions` object to specify request/response metadata. A request `extensions` object can contain an integer-valued `required_fuel_block_height` field. When specified, the request will return an error unless the node's current fuel block height is at least the value specified in the `required_fuel_block_height` field. All graphql responses now contain an integer-valued `current_fuel_block_height` field in the `extensions` object, which contains the block height of the last block processed by the node. +- [2618](https://github.com/FuelLabs/fuel-core/pull/2618): Parallelize block/transaction changes creation in Importer +- [2653](https://github.com/FuelLabs/fuel-core/pull/2653): Added cleaner error for wasm-executor upon failed deserialization. +- [2656](https://github.com/FuelLabs/fuel-core/pull/2656): Migrate test helper function `create_contract` to `fuel_core_types::test_helpers::create_contract`, and refactor test in proof_system/global_merkle_root crate to use this function. +- [2659](https://github.com/FuelLabs/fuel-core/pull/2659): Replace `derivative` crate with `educe` crate. +- [2705](https://github.com/FuelLabs/fuel-core/pull/2705): Update the default value for `--max-block-size` and `--max-transmit-size` to 50 MB +- [2715](https://github.com/FuelLabs/fuel-core/pull/2715): Each GraphQL response contains `current_consensus_parameters_version` and `current_stf_version` in the `extensions` section. +- [2723](https://github.com/FuelLabs/fuel-core/pull/2723): Change the way we are building the changelog to avoids conflicts. +- [2725](https://github.com/FuelLabs/fuel-core/pull/2725): New txpool worker to remove lock contention +- [2752](https://github.com/FuelLabs/fuel-core/pull/2752): Extended the `TransactionStatus` to support pre-confirmations. +- [2761](https://github.com/FuelLabs/fuel-core/pull/2761): Renamed `ConsensusParametersProvider` to `ChainStateInfoProvider` because it is now providing more than just info about consensus parameters. +- [2767](https://github.com/FuelLabs/fuel-core/pull/2767): Updated fuel-vm to v0.60.0, see [release notes](https://github.com/FuelLabs/fuel-vm/releases/tag/v0.60.0). +- [2781](https://github.com/FuelLabs/fuel-core/pull/2781): Deprecate `dryRun` mutation. Use `dryRun` query instead. +- [2791](https://github.com/FuelLabs/fuel-core/pull/2791): Added `TxStatusManager` service which serves as a single source of truth regarding the current statuses of transactions +- [2793](https://github.com/FuelLabs/fuel-core/pull/2793): Moved common merkle storage trait implementations to `fuel-core-storage` and made it easier to setup a set of columns that need merkleization. +- [2799](https://github.com/FuelLabs/fuel-core/pull/2799): Change the block production to not be trigger after an interval but directly after the creation of last block and let the executor run for the block time window. +- [2800](https://github.com/FuelLabs/fuel-core/pull/2800): Implement P2P adapter for preconfirmation broadcasting +- [2802](https://github.com/FuelLabs/fuel-core/pull/2802): Change new txs notifier to be notified only on executable transactions +- [2811](https://github.com/FuelLabs/fuel-core/pull/2811): When the state rewind window of 7d was triggered, the `is_migration_in_progress` was repeatedly called, resulting in multiple iterations over the empty ModificationsHistoryV1 table. Iteration was slow because compaction didn't have a chance to clean up V1 table. We removed iteration from the migration process. +- [2824](https://github.com/FuelLabs/fuel-core/pull/2824): Improve conditions where `Error`s in the `PreConfirmationSignatureTask` stop the service +- [2840](https://github.com/FuelLabs/fuel-core/pull/2840): Removed `log_backtrace` logic from the executor. It is not needed anymore with the existence of the local debugger for the transactions. +- [2865](https://github.com/FuelLabs/fuel-core/pull/2865): Consider the following transaction statuses as final: `Success`, `Failure`, `SqueezedOut`, `PreConfirmationSqueezedOut`. All other statuses will be considered transient. + +### Fixed +- [2646](https://github.com/FuelLabs/fuel-core/pull/2646): Improved performance of fetching block height by caching it when the view is created. +- [2682](https://github.com/FuelLabs/fuel-core/pull/2682): Fixed the issue with RPC consistency feature for the subscriptions(without the fix first we perform the logic of the query, and only after verify the required height). +- [2730](https://github.com/FuelLabs/fuel-core/pull/2730): Fixed RocksDB closing issue that potentially could panic. +- [2743](https://github.com/FuelLabs/fuel-core/pull/2743): Allow discovery of the peers when slots for functional connections are consumed. Reserved nodes are not affected by the limitation on connections anymore. +- [2746](https://github.com/FuelLabs/fuel-core/pull/2746): Fixed flaky part in the e2e tests and version compatibility tests. Speed up compatibility tests execution time. Decreased the default time between block height propagation throw the network. +- [2758](https://github.com/FuelLabs/fuel-core/pull/2758): Made `tx_id_commitment` feature flagged in `fuel-core-client`. +- [2832](https://github.com/FuelLabs/fuel-core/pull/2832): - Trigger block production only when all other sub services are started. + - Fix relayer syncing issue causing block production to slow down occasionally. +- [2840](https://github.com/FuelLabs/fuel-core/pull/2840): Fixed `fuel-core-client` receipt deserialization in the case if the `ContractId` is zero. + +### Removed +- [2863](https://github.com/FuelLabs/fuel-core/pull/2863): Removed everything related to the state root service, as it has been moved to another repo. + ## [Version 0.41.9] ### Fixed diff --git a/Cargo.lock b/Cargo.lock index a7a1a1764d4..794775d8a88 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3354,7 +3354,7 @@ dependencies = [ [[package]] name = "fuel-core" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "assert_matches", @@ -3387,7 +3387,7 @@ dependencies = [ "fuel-core-trace", "fuel-core-tx-status-manager", "fuel-core-txpool", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "fuel-core-upgradable-executor", "futures", "hex", @@ -3442,7 +3442,7 @@ dependencies = [ "fuel-core-storage", "fuel-core-sync", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "hex", "itertools 0.12.1", @@ -3465,11 +3465,11 @@ dependencies = [ [[package]] name = "fuel-core-bft" -version = "0.41.9" +version = "0.42.0" [[package]] name = "fuel-core-bin" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "aws-config", @@ -3484,7 +3484,7 @@ dependencies = [ "fuel-core-metrics", "fuel-core-shared-sequencer", "fuel-core-storage", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "hex", "humantime", "itertools 0.12.1", @@ -3507,7 +3507,7 @@ dependencies = [ [[package]] name = "fuel-core-chain-config" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "bech32", @@ -3515,7 +3515,7 @@ dependencies = [ "educe", "fuel-core-chain-config", "fuel-core-storage", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "insta", "itertools 0.12.1", "parquet", @@ -3533,14 +3533,14 @@ dependencies = [ [[package]] name = "fuel-core-client" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "base64 0.22.1", "cynic", "derive_more 0.99.19", "eventsource-client", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "hex", "hyper-rustls 0.24.2", @@ -3557,23 +3557,23 @@ dependencies = [ [[package]] name = "fuel-core-client-bin" -version = "0.41.9" +version = "0.42.0" dependencies = [ "clap", "fuel-core-client", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "serde_json", "tokio", ] [[package]] name = "fuel-core-compression" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "enum_dispatch", "fuel-core-compression", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "paste", "postcard", "proptest", @@ -3586,7 +3586,7 @@ dependencies = [ [[package]] name = "fuel-core-compression-service" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -3596,7 +3596,7 @@ dependencies = [ "fuel-core-compression-service", "fuel-core-services", "fuel-core-storage", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "paste", "rand 0.8.5", @@ -3611,30 +3611,30 @@ dependencies = [ [[package]] name = "fuel-core-consensus-module" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "fuel-core-chain-config", "fuel-core-poa", "fuel-core-storage", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "test-case", ] [[package]] name = "fuel-core-database" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "derive_more 0.99.19", "fuel-core-storage", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", ] [[package]] name = "fuel-core-e2e-client" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "assert_cmd", @@ -3642,7 +3642,7 @@ dependencies = [ "fuel-core-chain-config", "fuel-core-client", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "hex", "humantime-serde", @@ -3660,12 +3660,12 @@ dependencies = [ [[package]] name = "fuel-core-executor" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "fuel-core-storage", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "parking_lot", "serde", "tracing", @@ -3673,7 +3673,7 @@ dependencies = [ [[package]] name = "fuel-core-gas-price-service" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -3681,7 +3681,7 @@ dependencies = [ "fuel-core-metrics", "fuel-core-services", "fuel-core-storage", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "fuel-gas-price-algorithm", "futures", "mockito", @@ -3701,14 +3701,14 @@ dependencies = [ [[package]] name = "fuel-core-importer" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "derive_more 0.99.19", "fuel-core-metrics", "fuel-core-storage", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "mockall", "rayon", "test-case", @@ -3718,18 +3718,18 @@ dependencies = [ [[package]] name = "fuel-core-keygen" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "clap", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "libp2p-identity", "serde", ] [[package]] name = "fuel-core-keygen-bin" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "atty", @@ -3742,7 +3742,7 @@ dependencies = [ [[package]] name = "fuel-core-metrics" -version = "0.41.9" +version = "0.42.0" dependencies = [ "once_cell", "parking_lot", @@ -3757,7 +3757,7 @@ dependencies = [ [[package]] name = "fuel-core-p2p" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -3767,7 +3767,7 @@ dependencies = [ "fuel-core-services", "fuel-core-storage", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "hex", "hickory-resolver", @@ -3790,17 +3790,17 @@ dependencies = [ [[package]] name = "fuel-core-parallel-executor" -version = "0.41.9" +version = "0.42.0" dependencies = [ "fuel-core-storage", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "fuel-core-upgradable-executor", "tokio", ] [[package]] name = "fuel-core-poa" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -3809,7 +3809,7 @@ dependencies = [ "fuel-core-services", "fuel-core-storage", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "mockall", "rand 0.8.5", "serde", @@ -3823,7 +3823,7 @@ dependencies = [ [[package]] name = "fuel-core-producer" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -3831,7 +3831,7 @@ dependencies = [ "fuel-core-producer", "fuel-core-storage", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "mockall", "proptest", "rand 0.8.5", @@ -3842,7 +3842,7 @@ dependencies = [ [[package]] name = "fuel-core-relayer" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -3856,7 +3856,7 @@ dependencies = [ "fuel-core-services", "fuel-core-storage", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "mockall", "once_cell", @@ -3875,7 +3875,7 @@ dependencies = [ [[package]] name = "fuel-core-services" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -3892,7 +3892,7 @@ dependencies = [ [[package]] name = "fuel-core-shared-sequencer" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -3900,7 +3900,7 @@ dependencies = [ "cosmos-sdk-proto", "cosmrs", "fuel-core-services", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "fuel-sequencer-proto", "futures", "postcard", @@ -3916,13 +3916,13 @@ dependencies = [ [[package]] name = "fuel-core-storage" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "derive_more 0.99.19", "enum-iterator", "fuel-core-storage", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "fuel-vm 0.60.0", "impl-tools", "itertools 0.12.1", @@ -3940,13 +3940,13 @@ dependencies = [ [[package]] name = "fuel-core-sync" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", "fuel-core-services", "fuel-core-trace", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "mockall", "rand 0.8.5", @@ -3981,7 +3981,7 @@ dependencies = [ "fuel-core-storage", "fuel-core-trace", "fuel-core-txpool", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "fuel-core-upgradable-executor", "futures", "hex", @@ -4009,7 +4009,7 @@ dependencies = [ [[package]] name = "fuel-core-trace" -version = "0.41.9" +version = "0.42.0" dependencies = [ "ctor", "tracing", @@ -4019,7 +4019,7 @@ dependencies = [ [[package]] name = "fuel-core-tx-status-manager" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -4027,7 +4027,7 @@ dependencies = [ "fuel-core-metrics", "fuel-core-services", "fuel-core-tx-status-manager", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "mockall", "parking_lot", @@ -4042,7 +4042,7 @@ dependencies = [ [[package]] name = "fuel-core-txpool" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "async-trait", @@ -4052,7 +4052,7 @@ dependencies = [ "fuel-core-storage", "fuel-core-trace", "fuel-core-txpool", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "mockall", "num-rational", @@ -4082,7 +4082,7 @@ dependencies = [ [[package]] name = "fuel-core-types" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "aws-config", @@ -4092,7 +4092,7 @@ dependencies = [ "ed25519", "ed25519-dalek", "educe", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "fuel-vm 0.60.0", "k256", "rand 0.8.5", @@ -4105,13 +4105,13 @@ dependencies = [ [[package]] name = "fuel-core-upgradable-executor" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "derive_more 0.99.19", "fuel-core-executor", "fuel-core-storage", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "fuel-core-wasm-executor", "futures", "parking_lot", @@ -4122,13 +4122,13 @@ dependencies = [ [[package]] name = "fuel-core-wasm-executor" -version = "0.41.9" +version = "0.42.0" dependencies = [ "anyhow", "fuel-core-executor", "fuel-core-storage", "fuel-core-types 0.35.0", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "postcard", "proptest", @@ -4199,7 +4199,7 @@ dependencies = [ [[package]] name = "fuel-gas-price-algorithm" -version = "0.41.9" +version = "0.42.0" dependencies = [ "proptest", "rand 0.8.5", @@ -9818,7 +9818,7 @@ dependencies = [ "fuel-core-storage", "fuel-core-trace", "fuel-core-txpool", - "fuel-core-types 0.41.9", + "fuel-core-types 0.42.0", "futures", "itertools 0.12.1", "rand 0.8.5", diff --git a/Cargo.toml b/Cargo.toml index cf6ae893678..7d749aa882a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,43 +60,43 @@ homepage = "https://fuel.network/" keywords = ["blockchain", "cryptocurrencies", "fuel-vm", "vm"] license = "BUSL-1.1" repository = "https://github.com/FuelLabs/fuel-core" -version = "0.41.9" +version = "0.42.0" [workspace.dependencies] # Workspace members -fuel-core = { version = "0.41.9", path = "./crates/fuel-core", default-features = false } -fuel-core-client-bin = { version = "0.41.9", path = "./bin/fuel-core-client" } -fuel-core-bin = { version = "0.41.9", path = "./bin/fuel-core" } -fuel-core-keygen = { version = "0.41.9", path = "./crates/keygen" } -fuel-core-keygen-bin = { version = "0.41.9", path = "./bin/keygen" } -fuel-core-chain-config = { version = "0.41.9", path = "./crates/chain-config", default-features = false } -fuel-core-client = { version = "0.41.9", path = "./crates/client" } -fuel-core-compression = { version = "0.41.9", path = "./crates/compression" } -fuel-core-database = { version = "0.41.9", path = "./crates/database" } -fuel-core-metrics = { version = "0.41.9", path = "./crates/metrics" } -fuel-core-services = { version = "0.41.9", path = "./crates/services" } -fuel-core-consensus-module = { version = "0.41.9", path = "./crates/services/consensus_module" } -fuel-core-bft = { version = "0.41.9", path = "./crates/services/consensus_module/bft" } -fuel-core-poa = { version = "0.41.9", path = "./crates/services/consensus_module/poa" } -fuel-core-shared-sequencer = { version = "0.41.9", path = "crates/services/shared-sequencer" } -fuel-core-executor = { version = "0.41.9", path = "./crates/services/executor", default-features = false } -fuel-core-importer = { version = "0.41.9", path = "./crates/services/importer" } -fuel-core-gas-price-service = { version = "0.41.9", path = "crates/services/gas_price_service" } -fuel-core-p2p = { version = "0.41.9", path = "./crates/services/p2p" } -fuel-core-parallel-executor = { version = "0.41.9", path = "./crates/services/parallel-executor" } -fuel-core-producer = { version = "0.41.9", path = "./crates/services/producer" } -fuel-core-relayer = { version = "0.41.9", path = "./crates/services/relayer" } -fuel-core-sync = { version = "0.41.9", path = "./crates/services/sync" } -fuel-core-txpool = { version = "0.41.9", path = "./crates/services/txpool_v2" } -fuel-core-tx-status-manager = { version = "0.41.9", path = "./crates/services/tx_status_manager" } -fuel-core-storage = { version = "0.41.9", path = "./crates/storage", default-features = false } -fuel-core-trace = { version = "0.41.9", path = "./crates/trace" } -fuel-core-types = { version = "0.41.9", path = "./crates/types", default-features = false } +fuel-core = { version = "0.42.0", path = "./crates/fuel-core", default-features = false } +fuel-core-client-bin = { version = "0.42.0", path = "./bin/fuel-core-client" } +fuel-core-bin = { version = "0.42.0", path = "./bin/fuel-core" } +fuel-core-keygen = { version = "0.42.0", path = "./crates/keygen" } +fuel-core-keygen-bin = { version = "0.42.0", path = "./bin/keygen" } +fuel-core-chain-config = { version = "0.42.0", path = "./crates/chain-config", default-features = false } +fuel-core-client = { version = "0.42.0", path = "./crates/client" } +fuel-core-compression = { version = "0.42.0", path = "./crates/compression" } +fuel-core-database = { version = "0.42.0", path = "./crates/database" } +fuel-core-metrics = { version = "0.42.0", path = "./crates/metrics" } +fuel-core-services = { version = "0.42.0", path = "./crates/services" } +fuel-core-consensus-module = { version = "0.42.0", path = "./crates/services/consensus_module" } +fuel-core-bft = { version = "0.42.0", path = "./crates/services/consensus_module/bft" } +fuel-core-poa = { version = "0.42.0", path = "./crates/services/consensus_module/poa" } +fuel-core-shared-sequencer = { version = "0.42.0", path = "crates/services/shared-sequencer" } +fuel-core-executor = { version = "0.42.0", path = "./crates/services/executor", default-features = false } +fuel-core-importer = { version = "0.42.0", path = "./crates/services/importer" } +fuel-core-gas-price-service = { version = "0.42.0", path = "crates/services/gas_price_service" } +fuel-core-p2p = { version = "0.42.0", path = "./crates/services/p2p" } +fuel-core-parallel-executor = { version = "0.42.0", path = "./crates/services/parallel-executor" } +fuel-core-producer = { version = "0.42.0", path = "./crates/services/producer" } +fuel-core-relayer = { version = "0.42.0", path = "./crates/services/relayer" } +fuel-core-sync = { version = "0.42.0", path = "./crates/services/sync" } +fuel-core-txpool = { version = "0.42.0", path = "./crates/services/txpool_v2" } +fuel-core-tx-status-manager = { version = "0.42.0", path = "./crates/services/tx_status_manager" } +fuel-core-storage = { version = "0.42.0", path = "./crates/storage", default-features = false } +fuel-core-trace = { version = "0.42.0", path = "./crates/trace" } +fuel-core-types = { version = "0.42.0", path = "./crates/types", default-features = false } fuel-core-tests = { version = "0.0.0", path = "./tests" } -fuel-core-upgradable-executor = { version = "0.41.9", path = "./crates/services/upgradable-executor" } -fuel-core-wasm-executor = { version = "0.41.9", path = "./crates/services/upgradable-executor/wasm-executor", default-features = false } +fuel-core-upgradable-executor = { version = "0.42.0", path = "./crates/services/upgradable-executor" } +fuel-core-wasm-executor = { version = "0.42.0", path = "./crates/services/upgradable-executor/wasm-executor", default-features = false } fuel-core-xtask = { version = "0.0.0", path = "./xtask" } -fuel-gas-price-algorithm = { version = "0.41.9", path = "crates/fuel-gas-price-algorithm" } +fuel-gas-price-algorithm = { version = "0.42.0", path = "crates/fuel-gas-price-algorithm" } # Fuel dependencies fuel-vm-private = { version = "0.60.0", package = "fuel-vm", default-features = false } diff --git a/README.md b/README.md index 13887bcfd0b..c53595e7770 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ git clone https://github.com/FuelLabs/fuel-core.git Go to the latest release tag for ignition on the `fuel-core` repository : ``` -git checkout v0.41.6 +git checkout v0.42.0 ``` Build your node binary: diff --git a/bin/fuel-core/chainspec/local-testnet/chain_config.json b/bin/fuel-core/chainspec/local-testnet/chain_config.json index 80b1efd4075..0890088b13f 100644 --- a/bin/fuel-core/chainspec/local-testnet/chain_config.json +++ b/bin/fuel-core/chainspec/local-testnet/chain_config.json @@ -304,7 +304,7 @@ "privileged_address": "9f0e19d6c2a6283a3222426ab2630d35516b1799b503f37b02105bebe1b8a3e9" } }, - "genesis_state_transition_version": 24, + "genesis_state_transition_version": 25, "consensus": { "PoAV2": { "genesis_signing_key": "e0a9fcde1b73f545252e01b30b50819eb9547d07531fa3df0385c5695736634d", diff --git a/crates/chain-config/src/config/snapshots/fuel_core_chain_config__config__chain__tests__snapshot_local_testnet_config.snap b/crates/chain-config/src/config/snapshots/fuel_core_chain_config__config__chain__tests__snapshot_local_testnet_config.snap index 56638a98d92..1e4b5d795ea 100644 --- a/crates/chain-config/src/config/snapshots/fuel_core_chain_config__config__chain__tests__snapshot_local_testnet_config.snap +++ b/crates/chain-config/src/config/snapshots/fuel_core_chain_config__config__chain__tests__snapshot_local_testnet_config.snap @@ -308,7 +308,7 @@ expression: json "privileged_address": "0000000000000000000000000000000000000000000000000000000000000000" } }, - "genesis_state_transition_version": 24, + "genesis_state_transition_version": 25, "consensus": { "PoAV2": { "genesis_signing_key": "22ec92c3105c942a6640bdc4e4907286ec4728e8cfc0d8ac59aad4d8e1ccaefb", diff --git a/crates/services/upgradable-executor/src/executor.rs b/crates/services/upgradable-executor/src/executor.rs index 8c7516871de..b27ec5a2694 100644 --- a/crates/services/upgradable-executor/src/executor.rs +++ b/crates/services/upgradable-executor/src/executor.rs @@ -201,7 +201,8 @@ impl Executor { ("0-41-8", 23), // This update has been performed on the branch release/v0.41.9 which // is on top of the branch release/v0.41.8 not on master. - ("0-41-9", LATEST_STATE_TRANSITION_VERSION), + ("0-41-9", 24), + ("0-42-0", LATEST_STATE_TRANSITION_VERSION), ]; pub fn new( diff --git a/crates/types/src/blockchain/header.rs b/crates/types/src/blockchain/header.rs index 74e38b2dcb3..d1a25dbd39d 100644 --- a/crates/types/src/blockchain/header.rs +++ b/crates/types/src/blockchain/header.rs @@ -328,7 +328,7 @@ pub type ConsensusParametersVersion = u32; pub type StateTransitionBytecodeVersion = u32; /// The latest version of the state transition bytecode. -pub const LATEST_STATE_TRANSITION_VERSION: StateTransitionBytecodeVersion = 24; +pub const LATEST_STATE_TRANSITION_VERSION: StateTransitionBytecodeVersion = 25; #[derive(Copy, Clone, Debug, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]