From 8b1bf02103b8c90ce3ef2ba715214fb452b99885 Mon Sep 17 00:00:00 2001 From: Green Baneling Date: Sun, 16 Jun 2024 20:56:09 +0200 Subject: [PATCH] Release v0.30.0 (#1977) ## Version v0.30.0 ### Added - [#1975](https://github.com/FuelLabs/fuel-core/pull/1975): Added `DependentCost` benchmarks for the `cfe` and `cfei` opcodes. - [#1975](https://github.com/FuelLabs/fuel-core/pull/1975): Added `DependentCost` for the `cfe` opcode to the `GasCosts` endpoint. - [#1974](https://github.com/FuelLabs/fuel-core/pull/1974): Optimized the work of `InMemoryTransaction` for lookups and empty insertion. ### Changed - [#1973](https://github.com/FuelLabs/fuel-core/pull/1973): Updated VM initialization benchmark to include many inputs and outputs. #### Breaking - [#1975](https://github.com/FuelLabs/fuel-core/pull/1975): Updated gas prices according to new release. - [#1975](https://github.com/FuelLabs/fuel-core/pull/1975): Changed `GasCosts` endpoint to return `DependentCost` for the `cfei` opcode via `cfeiDependentCost`. - [#1975](https://github.com/FuelLabs/fuel-core/pull/1975): Use `fuel-vm 0.54.0`. More information in the [release](https://github.com/FuelLabs/fuel-vm/releases/tag/v0.54.0). ## What's Changed * Add `creation_instant` as second sort key in tx pool. by @AurelienFT in https://github.com/FuelLabs/fuel-core/pull/1964 * Updated VM initialization benchmark to include many inputs and outputs by @xgreenx in https://github.com/FuelLabs/fuel-core/pull/1973 * Fixes the error message for incorrect keypair's path by @xgreenx in https://github.com/FuelLabs/fuel-core/pull/1962 * Optimized the work of `InMemoryTransaction` for lookups and empty insertion by @xgreenx in https://github.com/FuelLabs/fuel-core/pull/1974 * Weekly `cargo update` by @github-actions in https://github.com/FuelLabs/fuel-core/pull/1976 * Use `fuel-vm 0.54.0` by @xgreenx in https://github.com/FuelLabs/fuel-core/pull/1975 **Full Changelog**: https://github.com/FuelLabs/fuel-core/compare/v0.29.0...v0.30.0 --- CHANGELOG.md | 2 + Cargo.lock | 86 +++++++++--------- Cargo.toml | 56 ++++++------ .../chainspec/local-testnet/chain_config.json | 2 +- .../state_transition_bytecode.wasm | Bin 2012005 -> 2011952 bytes ..._tests__snapshot_local_testnet_config.snap | 2 +- .../upgradable-executor/src/executor.rs | 3 +- crates/types/src/blockchain/header.rs | 2 +- 8 files changed, 78 insertions(+), 75 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0cee28f4d..d936ead5d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [Version 0.30.0] + ### Added - [#1975](https://github.com/FuelLabs/fuel-core/pull/1975): Added `DependentCost` benchmarks for the `cfe` and `cfei` opcodes. - [#1975](https://github.com/FuelLabs/fuel-core/pull/1975): Added `DependentCost` for the `cfe` opcode to the `GasCosts` endpoint. diff --git a/Cargo.lock b/Cargo.lock index 2496480ea1..2a2256cec9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2809,9 +2809,9 @@ dependencies = [ [[package]] name = "fuel-asm" -version = "0.54.0" +version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f597e26bdb31e9280dc73f3cf7fabecc40c9bb4a8fd860304c6cf7358820722e" +checksum = "7239ac2ecda5c5cf0bbfb407e7ab59142593cd4625da2d3d7100e7ace8d3e49c" dependencies = [ "bitflags 2.5.0", "fuel-types", @@ -2821,7 +2821,7 @@ dependencies = [ [[package]] name = "fuel-core" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "assert_matches", @@ -2910,11 +2910,11 @@ dependencies = [ [[package]] name = "fuel-core-bft" -version = "0.29.0" +version = "0.30.0" [[package]] name = "fuel-core-bin" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "async-trait", @@ -2947,7 +2947,7 @@ dependencies = [ [[package]] name = "fuel-core-chain-config" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "bech32", @@ -2973,7 +2973,7 @@ dependencies = [ [[package]] name = "fuel-core-client" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "cynic", @@ -2996,7 +2996,7 @@ dependencies = [ [[package]] name = "fuel-core-client-bin" -version = "0.29.0" +version = "0.30.0" dependencies = [ "clap 4.5.7", "fuel-core-client", @@ -3007,7 +3007,7 @@ dependencies = [ [[package]] name = "fuel-core-consensus-module" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "fuel-core-chain-config", @@ -3019,7 +3019,7 @@ dependencies = [ [[package]] name = "fuel-core-database" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "derive_more", @@ -3030,7 +3030,7 @@ dependencies = [ [[package]] name = "fuel-core-e2e-client" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "assert_cmd", @@ -3056,7 +3056,7 @@ dependencies = [ [[package]] name = "fuel-core-executor" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "fuel-core-storage", @@ -3070,7 +3070,7 @@ dependencies = [ [[package]] name = "fuel-core-gas-price-service" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "async-trait", @@ -3084,7 +3084,7 @@ dependencies = [ [[package]] name = "fuel-core-importer" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "derive_more", @@ -3101,7 +3101,7 @@ dependencies = [ [[package]] name = "fuel-core-keygen" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "clap 4.5.7", @@ -3112,7 +3112,7 @@ dependencies = [ [[package]] name = "fuel-core-keygen-bin" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "atty", @@ -3125,7 +3125,7 @@ dependencies = [ [[package]] name = "fuel-core-metrics" -version = "0.29.0" +version = "0.30.0" dependencies = [ "axum", "once_cell", @@ -3138,7 +3138,7 @@ dependencies = [ [[package]] name = "fuel-core-p2p" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "async-trait", @@ -3174,7 +3174,7 @@ dependencies = [ [[package]] name = "fuel-core-poa" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "async-trait", @@ -3193,7 +3193,7 @@ dependencies = [ [[package]] name = "fuel-core-producer" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "async-trait", @@ -3211,7 +3211,7 @@ dependencies = [ [[package]] name = "fuel-core-relayer" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "async-trait", @@ -3243,7 +3243,7 @@ dependencies = [ [[package]] name = "fuel-core-services" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "async-trait", @@ -3257,7 +3257,7 @@ dependencies = [ [[package]] name = "fuel-core-storage" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "derive_more", @@ -3281,7 +3281,7 @@ dependencies = [ [[package]] name = "fuel-core-sync" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "async-trait", @@ -3338,7 +3338,7 @@ dependencies = [ [[package]] name = "fuel-core-trace" -version = "0.29.0" +version = "0.30.0" dependencies = [ "ctor", "tracing", @@ -3348,7 +3348,7 @@ dependencies = [ [[package]] name = "fuel-core-txpool" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "async-trait", @@ -3373,7 +3373,7 @@ dependencies = [ [[package]] name = "fuel-core-types" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "bs58", @@ -3390,7 +3390,7 @@ dependencies = [ [[package]] name = "fuel-core-upgradable-executor" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "fuel-core-executor", @@ -3406,7 +3406,7 @@ dependencies = [ [[package]] name = "fuel-core-wasm-executor" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "fuel-core-executor", @@ -3419,9 +3419,9 @@ dependencies = [ [[package]] name = "fuel-crypto" -version = "0.54.0" +version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b9ad845ae4df9df1a712ebb336da14cab8e7b4b11cddf7d9ae8c2520179a85" +checksum = "55716f388824a64be7a18bd5f2b06549717dbd9fdad8af02546e889c78b07327" dependencies = [ "coins-bip32", "coins-bip39", @@ -3440,9 +3440,9 @@ dependencies = [ [[package]] name = "fuel-derive" -version = "0.54.0" +version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e686a197980339166865a653472dbe2e058b8930b6b0e3f8df6903c8f185b8b" +checksum = "a8324301ea89931f544f63cd5907e414bfd1bfb3013f5b99afa9dda00504b194" dependencies = [ "proc-macro2", "quote", @@ -3452,9 +3452,9 @@ dependencies = [ [[package]] name = "fuel-merkle" -version = "0.54.0" +version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1198fed87bdfb19906e217e9dcde8684460b07d0e852dbb5d2805f6f736017" +checksum = "18f0b623f77576fcfa60a624c56ebf310bf7433da6d8fa6407dfb7e95ebeb8c3" dependencies = [ "derive_more", "digest 0.10.7", @@ -3467,15 +3467,15 @@ dependencies = [ [[package]] name = "fuel-storage" -version = "0.54.0" +version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdfa264dfccb7bf130b62b42e56860685b7d5ef13b28cf1bf085e340a93fd636" +checksum = "8be80f1cf059ac87c63fa21b5fa3036472bdb4757c3ba5bae16f0256651e37a1" [[package]] name = "fuel-tx" -version = "0.54.0" +version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6a5f47e048cf5c32fed61e1518d811e885c8936da0a43d51ad8238485734eb" +checksum = "e6142c7fd2bf2b1686dee63eb06a06fbb41e453ecb74a4a0c9031156669086f5" dependencies = [ "bitflags 2.5.0", "derivative", @@ -3496,9 +3496,9 @@ dependencies = [ [[package]] name = "fuel-types" -version = "0.54.0" +version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5297a63f9c3c41e19ba77202af059b6312394c187214ffb7b70d3ba8c0f1a7cc" +checksum = "38056e7a2b4def574a02e5c9859ffc084e17e565525b5e4a93af6249137d9ca0" dependencies = [ "fuel-derive", "hex", @@ -3508,9 +3508,9 @@ dependencies = [ [[package]] name = "fuel-vm" -version = "0.54.0" +version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f672a0c552c0e6297fa914711b23491a84b3cfd69cd8b512930813ec131e96f" +checksum = "6f050af48f6028f2edcc5469e9522ce12b5be6d0761c3cfe7175dea9784e9596" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index dc7ebd4470..f3cbfcc556 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,41 +49,41 @@ homepage = "https://fuel.network/" keywords = ["blockchain", "cryptocurrencies", "fuel-vm", "vm"] license = "BUSL-1.1" repository = "https://github.com/FuelLabs/fuel-core" -version = "0.29.0" +version = "0.30.0" [workspace.dependencies] # Workspace members -fuel-core = { version = "0.29.0", path = "./crates/fuel-core", default-features = false } -fuel-core-client-bin = { version = "0.29.0", path = "./bin/fuel-core-client" } -fuel-core-bin = { version = "0.29.0", path = "./bin/fuel-core" } -fuel-core-keygen = { version = "0.29.0", path = "./crates/keygen" } -fuel-core-keygen-bin = { version = "0.29.0", path = "./bin/keygen" } -fuel-core-chain-config = { version = "0.29.0", path = "./crates/chain-config", default-features = false } -fuel-core-client = { version = "0.29.0", path = "./crates/client" } -fuel-core-database = { version = "0.29.0", path = "./crates/database" } -fuel-core-metrics = { version = "0.29.0", path = "./crates/metrics" } -fuel-core-services = { version = "0.29.0", path = "./crates/services" } -fuel-core-consensus-module = { version = "0.29.0", path = "./crates/services/consensus_module" } -fuel-core-bft = { version = "0.29.0", path = "./crates/services/consensus_module/bft" } -fuel-core-poa = { version = "0.29.0", path = "./crates/services/consensus_module/poa" } -fuel-core-executor = { version = "0.29.0", path = "./crates/services/executor", default-features = false } -fuel-core-importer = { version = "0.29.0", path = "./crates/services/importer" } -fuel-core-gas-price-service = { version = "0.29.0", path = "crates/services/gas_price_service" } -fuel-core-p2p = { version = "0.29.0", path = "./crates/services/p2p" } -fuel-core-producer = { version = "0.29.0", path = "./crates/services/producer" } -fuel-core-relayer = { version = "0.29.0", path = "./crates/services/relayer" } -fuel-core-sync = { version = "0.29.0", path = "./crates/services/sync" } -fuel-core-txpool = { version = "0.29.0", path = "./crates/services/txpool" } -fuel-core-storage = { version = "0.29.0", path = "./crates/storage", default-features = false } -fuel-core-trace = { version = "0.29.0", path = "./crates/trace" } -fuel-core-types = { version = "0.29.0", path = "./crates/types", default-features = false } +fuel-core = { version = "0.30.0", path = "./crates/fuel-core", default-features = false } +fuel-core-client-bin = { version = "0.30.0", path = "./bin/fuel-core-client" } +fuel-core-bin = { version = "0.30.0", path = "./bin/fuel-core" } +fuel-core-keygen = { version = "0.30.0", path = "./crates/keygen" } +fuel-core-keygen-bin = { version = "0.30.0", path = "./bin/keygen" } +fuel-core-chain-config = { version = "0.30.0", path = "./crates/chain-config", default-features = false } +fuel-core-client = { version = "0.30.0", path = "./crates/client" } +fuel-core-database = { version = "0.30.0", path = "./crates/database" } +fuel-core-metrics = { version = "0.30.0", path = "./crates/metrics" } +fuel-core-services = { version = "0.30.0", path = "./crates/services" } +fuel-core-consensus-module = { version = "0.30.0", path = "./crates/services/consensus_module" } +fuel-core-bft = { version = "0.30.0", path = "./crates/services/consensus_module/bft" } +fuel-core-poa = { version = "0.30.0", path = "./crates/services/consensus_module/poa" } +fuel-core-executor = { version = "0.30.0", path = "./crates/services/executor", default-features = false } +fuel-core-importer = { version = "0.30.0", path = "./crates/services/importer" } +fuel-core-gas-price-service = { version = "0.30.0", path = "crates/services/gas_price_service" } +fuel-core-p2p = { version = "0.30.0", path = "./crates/services/p2p" } +fuel-core-producer = { version = "0.30.0", path = "./crates/services/producer" } +fuel-core-relayer = { version = "0.30.0", path = "./crates/services/relayer" } +fuel-core-sync = { version = "0.30.0", path = "./crates/services/sync" } +fuel-core-txpool = { version = "0.30.0", path = "./crates/services/txpool" } +fuel-core-storage = { version = "0.30.0", path = "./crates/storage", default-features = false } +fuel-core-trace = { version = "0.30.0", path = "./crates/trace" } +fuel-core-types = { version = "0.30.0", path = "./crates/types", default-features = false } fuel-core-tests = { version = "0.0.0", path = "./tests" } -fuel-core-upgradable-executor = { version = "0.29.0", path = "./crates/services/upgradable-executor" } -fuel-core-wasm-executor = { version = "0.29.0", path = "./crates/services/upgradable-executor/wasm-executor", default-features = false } +fuel-core-upgradable-executor = { version = "0.30.0", path = "./crates/services/upgradable-executor" } +fuel-core-wasm-executor = { version = "0.30.0", path = "./crates/services/upgradable-executor/wasm-executor", default-features = false } fuel-core-xtask = { version = "0.0.0", path = "./xtask" } # Fuel dependencies -fuel-vm-private = { version = "0.54.0", package = "fuel-vm", default-features = false } +fuel-vm-private = { version = "0.54.1", package = "fuel-vm", default-features = false } # Common dependencies anyhow = "1.0" diff --git a/bin/fuel-core/chainspec/local-testnet/chain_config.json b/bin/fuel-core/chainspec/local-testnet/chain_config.json index 4c494d2d4c..51d6075f1a 100644 --- a/bin/fuel-core/chainspec/local-testnet/chain_config.json +++ b/bin/fuel-core/chainspec/local-testnet/chain_config.json @@ -279,7 +279,7 @@ "privileged_address": "9f0e19d6c2a6283a3222426ab2630d35516b1799b503f37b02105bebe1b8a3e9" } }, - "genesis_state_transition_version": 3, + "genesis_state_transition_version": 4, "consensus": { "PoA": { "signing_key": "e0a9fcde1b73f545252e01b30b50819eb9547d07531fa3df0385c5695736634d" diff --git a/bin/fuel-core/chainspec/local-testnet/state_transition_bytecode.wasm b/bin/fuel-core/chainspec/local-testnet/state_transition_bytecode.wasm index 74a989a115152b6a2113ab5251946df654b82e33..4c036eeaa25df0aede82c667559f556fd27a36dd 100755 GIT binary patch delta 48737 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 mjdGvhBhYz_`whDkNfT?h5fQJGJA}^a Executor { ("0-26-0", StateTransitionBytecodeVersion::MIN), ("0-27-0", 1), ("0-28-0", 2), - ("0-29-0", LATEST_STATE_TRANSITION_VERSION), + ("0-29-0", 3), + ("0-30-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 6c7555a598..543ef5a08c 100644 --- a/crates/types/src/blockchain/header.rs +++ b/crates/types/src/blockchain/header.rs @@ -163,7 +163,7 @@ pub type ConsensusParametersVersion = u32; pub type StateTransitionBytecodeVersion = u32; /// The latest version of the state transition bytecode. -pub const LATEST_STATE_TRANSITION_VERSION: StateTransitionBytecodeVersion = 3; +pub const LATEST_STATE_TRANSITION_VERSION: StateTransitionBytecodeVersion = 4; #[derive(Copy, Clone, Debug, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]