Merged
Conversation
c3f75df to
4b75f66
Compare
4d3f530 to
47ae6c3
Compare
9 tasks
AurelienFT
approved these changes
Mar 18, 2025
rymnc
approved these changes
Mar 18, 2025
Dentosal
approved these changes
Mar 18, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version 0.42.0
Breaking
fault_proving_headerthat contains a commitment to all transaction ids.BlockHeaderfields and replaced with methods instead, movedtx_id_commitmentto the application header ofBlockHeaderV2.random-walkjust don't specify it. Before it required to use--random-walk 0.relayer-min-duration-s->relayer-min-durationrelayer-eth-sync-call-freq-s->relayer-eth-sync-call-freqrelayer-eth-sync-log-freq-s->relayer-eth-sync-log-freqheartbeat-idle-durationwas changed from1sto100ms. So information about new block will be propagated faster by default.100ms,1s,1d, etc.) use as a flag argument instead of number of seconds:random-walkconnection-idle-timeoutinfo-intervalidentify-intervalrequest-timeoutconnection-keep-aliveheartbeat-send-durationheartbeat-idle-durationheartbeat-check-intervalheartbeat-max-avg-intervalheartbeat-max-time-since-lastrelayer-min-durationrelayer-eth-sync-call-freqrelayer-eth-sync-log-freqvm-backtraceis deprecated and does nothing. It will be removed in a future version offuel-core.The
extra_tx_checksfield was renamed intoforbid_fake_coinsthat affects JSON based serialization/deserialization.Renamed
extra_tx_checks_defaultfield intoforbid_fake_coins_default.Added
2150: Upgraded
libp2pto0.54.1and introducedConnectionLimiterto limit pending incoming/outgoing connections.2491: Storage read replays of historical blocks for execution tracing. Only available behind
--historical-executionflag.2619: Add possibility to submit list of changes to rocksdb.
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: Added GraphQL APIs to get contract storage and balances for current and past blocks.
2719: Merklized DA compression temporal registry tables.
2722: Service definition for state root service.
2724: Explicit error type for merkleized storage.
2726: Add a new gossip-sub message for transaction preconfirmations
2731: Include
TemporalRegistrytrait implementations for v2 tables.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: Added API crate for merkle root service.
2756: Add new service for managing pre-confirmations
2769: Added a new
assembleTxGraphQL endpoint. The endpoint can be used to assemble the transaction based on the provided requirements.The returned transaction contains:
required_balancesblock_horizonChangeorDestroyoutputs for all assets from the inputsVariableoutputs in the case they are required during the executionContractinputs and outputs in the case they are required during the execution64zeroesscriptis empty)estimate_predicates == trueReturns an error if:
the change is different, or one of the policies states about the destruction
of the token while the other does not). The
Changeoutput from the transactionalso count as a
ChangePolicy.2780: Add implementations for the pre-confirmation signing task
2784: Integrate the pre conf signature task into the main consensus task
2788: Scaffold dedicated compression service.
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-timeoutto control the block production timeout in the case if block producer stuck.--poa-open-periodset the block production mode toOpen. TheOpenmode starts the production of the next block immediately after the previous block. The block is open until theperiodpassed. The period is a duration represented by100ms,1s,1m, etc. The manual block production is disabled if this production mode is used.2802: Add a new cache with outputs extracted from the pool for the duration of the block.
2824: Introduce new
Try-like methods for theTaskNextAction2840: Added a new CLI arguments:
assemble-tx-dry-run-limit- The max number how many times script can be executed duringassemble_txGraphQL request. Default value is3times.assemble-tx-estimate-predicates-limit- The max number how many times predicates can be estimated duringassemble_txGraphQL request. Default values is10times.2841: Following endpoints allow estimation of predicates on submission of the transaction via new
estimatePredicatesargument:submitsubmit_and_awaitsubmit_and_await_statusThe change is backward compatible with all SDKs. The change is not forward-compatible with Rust SDK in the case of the
estiamte_predicatesflag set.2844: Implement DA compression in
fuel-core-compression-service.2845: New status to manage the pre confirmation status send in
TxUpdateSender.2855: Add an expiration interval check for pending pool and refactor extracted_outputs to not rely on block creation/process sequence.
2856: Add generic logic for managing the signatures and delegate keys for pre-confirmations signatures
2862: Derive
enum_iterator::Sequenceandstrum_macros::{EnumCount, IntoStaticStr}for MerkleizedColumn.Changed
max_response_sizefor the postcard codec used inRequestResponseprotocols has been changed fromusizetou64.extensionsobject to specify request/response metadata. A requestextensionsobject can contain an integer-valuedrequired_fuel_block_heightfield. When specified, the request will return an error unless the node's current fuel block height is at least the value specified in therequired_fuel_block_heightfield. All graphql responses now contain an integer-valuedcurrent_fuel_block_heightfield in theextensionsobject, which contains the block height of the last block processed by the node.create_contracttofuel_core_types::test_helpers::create_contract, and refactor test in proof_system/global_merkle_root crate to use this function.derivativecrate witheducecrate.--max-block-sizeand--max-transmit-sizeto 50 MBcurrent_consensus_parameters_versionandcurrent_stf_versionin theextensionssection.TransactionStatusto support pre-confirmations.ConsensusParametersProvidertoChainStateInfoProviderbecause it is now providing more than just info about consensus parameters.dryRunmutation. UsedryRunquery instead.TxStatusManagerservice which serves as a single source of truth regarding the current statuses of transactionsfuel-core-storageand made it easier to setup a set of columns that need merkleization.is_migration_in_progresswas 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.Errors in thePreConfirmationSignatureTaskstop the servicelog_backtracelogic from the executor. It is not needed anymore with the existence of the local debugger for the transactions.Success,Failure,SqueezedOut,PreConfirmationSqueezedOut. All other statuses will be considered transient.Fixed
tx_id_commitmentfeature flagged infuel-core-client.fuel-core-clientreceipt deserialization in the case if theContractIdis zero.Removed