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