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 v0.25.0
Fixed
iter_all_by_prefix
was not working for all tables. The change adds aRust
level filtering.Added
TransactionStatus
./health
endpoint.Changed
SpentMessages
andProcessedTransactions
.wasm32-unknown-unknown
target.ConsensusParameters
from the databaseBreaking
ChainConfig
. It guarantees the state transition's availability for the network's first blocks.The change has many minor improvements in different areas related to the state transition bytecode:
The state transition bytecode lies in its own file(
state_transition_bytecode.wasm
) along with the chain config file. TheChainConfig
loads it automatically whenChainConfig::load
is called and pushes it back whenChainConfig::write
is called.The
fuel-core
release bundle also contains thefuel-core-wasm-executor.wasm
file of the corresponding executor version.The regenesis process now considers the last block produced by the previous network. When we create a (re)genesis block of a new network, it has the
height = last_block_of_old_netowkr + 1
. It continues the old network and doesn't overlap blocks(before, we hadold_block.height == new_genesis_block.hegiht
).Along with the new block height, the regenesis process also increases the state transition bytecode and consensus parameters versions. It guarantees that a new network doesn't use values from the previous network and allows us not to migrate
StateTransitionBytecodeVersions
andConsensusParametersVersions
tables.Added a new CLI argument,
native-executor-version,
that allows overriding of the default version of the native executor. It can be useful for side rollups that have their own history of executor upgrades.Replaced:
with a:
because it is 100 times faster for big JSON files.
Updated all tests to use
Config::local_node_*
instead of working with theSnapshotReader
directly. It is the preparation of the tests for the futures bumps of theExecutor::VERSION
. When we increase the version, all tests continue to useGenesisBlock.state_transition_bytecode = 0
while the version is different, which forces the usage of the WASM executor, while for tests, we still prefer to test native execution. TheConfig::local_node_*
handles it and forces the executor to use the native version.Reworked the
build.rs
file of the upgradable executor. The script now caches WASM bytecode to avoid recompilation. Also, fixed the issue with outdated WASM bytecode. The script reacts on any modifications of thefuel-core-wasm-executor
and forces recompilation (it is why we need the cache), so WASM bytecode always is actual now.Create
transaction from debugger since it doesn't have any script to execute.fuel-vm 0.49.0
with new transactions types -Upgrade
andUpload
. Also addedmax_bytecode_subsections
field to theConsensusParameters
to limit the number of bytecode subsections in the state transition bytecode.wasm32-unknown-unknown
target.Before requesting review
After merging, notify other teams
What's Changed
iter_all_by_prefix
was not working for all tables by @xgreenx in Bugfix: theiter_all_by_prefix
was not working for all tables #1814/health
endpoint by @xgreenx in Added back support for/health
endpoint #1813ConsensusParameters
from the database by @xgreenx in FetchConsensusParameters
from the database #1809fuel-vm 0.49.0
with new transactions types by @xgreenx in Usefuel-vm 0.49.0
with new transactions types #1822TransactionStatus
by @xgreenx in Included the total gas and fee intoTransactionStatus
#1831SpentMessages
andProcessedTransactions
by @xgreenx in Regenesis ofSpentMessages
andProcessedTransactions
#1833Full Changelog: v0.24.2...v0.25.0