v0.47.1
Version 0.47.1
Breaking
- 3014: Extend
CoinConfigto also support being configured with private keys. - 3050: - Used a new
fuel-vm 0.64.0release which brings breaking changes: https://github.com/FuelLabs/fuel-vm/releases/tag/v0.64.0- The default gas cost has been changed according to new optimizations and a new benchmark machine for a local node.
- Receipts now are behind an
Arcpointer to avoid unnecessary cloning. It affects transaction states and preconfirmations. - The
deploy_contract_with_idnow works with[u8]instead of theContracttype.
- 3083: Disable gossip subscription for transactions by default. It can be enabled using --subscribe-to-transactions flag.
- 3094: Fixed the bug where we charged for additional 40 entries on the GraphQL query
- 3099: Use hash-based
balance_rootandstate_rootfields in tx inputs and outputs - 3110: Bump Rust version to 1.90.0 and fuel-vm to 0.65.0
- 3117: The algorithm to calculate the genesis state root and the balance root was changed to not use SMTs. This change doesn't affect mainnet, testnet, and devnet, because these networks didn't use any balances or storage slots in the state config. But the change is breaking for anyone who used them.
Added
-
3023: Add a method to wait for
gas_priceto finish syncing upon receiving a new block, and modify the test accordingly. -
3049: Support awating of DA block height on pre defined block production.
-
3050: A new benchmarking group for
niopoperations in thealu.rsfile. The changes add comprehensive benchmarks for various operations (ADD,SUB,MUL,EXP,SLL,XNOR) across different operand widths (U8,U16,U32)Additions to benchmarking:
- A new
niopbenchmarking group was added to evaluate the performance of narrow integer operations (niop) with different operand widths (U8,U16,U32). - Introduced the
niop_benchmacro to simplify the creation of benchmarks for operations likeADD,SUB,MUL,EXP,SLL, andXNOR. - Benchmarks iterate over generated operand pairs for each width, ensuring a variety of test cases for each operation.
- A new
-
3059: Enable debug logging in predicates and scripts using ECAL. Upgrades fuel-vm to 0.63.0.
-
3085: Add scaffolding for the new block aggregator service
Changed
-
3050: Actualized benchmarks with the performance of the network. With this change we should be able to run benchmarks on nightly bases.
Added several optimizations to the code base:
- Executor now reuses the memory instance between blocks production and validation avoiding allocations.
- Receipts are not cloned anymore from the VM. Instead, they are extracted from the VM and stored ina s shared pointer.
- The gas usage for script is discovered in a faster way.
Createtransaction doesn't require a cloning of the contract bytecode anymore to calculate itsContractId.- Serialization and deserialization of the bytes became much faster for canonical,
postcard,bincodecodecs.
-
3104: Automatically adjust relayer log page size to prevent sync failures from oversized Ethereum RPC responses.
Removed
- 3117: Removed SMT usage from STF and benchmarks.
What's Changed
- feat: Support private keys in coin config and log these if present by @netrome in https://github.com/FuelLabs/fuel-core/pull/3014
- Update network versions on README by @github-actions[bot] in https://github.com/FuelLabs/fuel-core/pull/3076
- Support awating of DA block height on pre defined block production by @Guocork in https://github.com/FuelLabs/fuel-core/pull/3049
- Configurable --subscribe-to-transactions by @Dentosal in https://github.com/FuelLabs/fuel-core/pull/3083
- Update network versions on README by @github-actions[bot] in https://github.com/FuelLabs/fuel-core/pull/3082
- Block Aggregator Service Scaffolding by @MitchTurner in https://github.com/FuelLabs/fuel-core/pull/3085
- Update network versions on README by @github-actions[bot] in https://github.com/FuelLabs/fuel-core/pull/3095
- chore(gas_price_service): add a method to wait until storages are synced by @Guocork in https://github.com/FuelLabs/fuel-core/pull/3023
- Fixed calculation of complexity by @xgreenx in https://github.com/FuelLabs/fuel-core/pull/3094
- Block aggregator db adapter by @MitchTurner in https://github.com/FuelLabs/fuel-core/pull/3092
- Enable debug logging in predicates and scripts using ECAL by @Dentosal in https://github.com/FuelLabs/fuel-core/pull/3059
- Add new block subscription to inner service by @MitchTurner in https://github.com/FuelLabs/fuel-core/pull/3096
- Block source for aggregator by @MitchTurner in https://github.com/FuelLabs/fuel-core/pull/3097
- Fixed flaky syscall integration tests by @xgreenx in https://github.com/FuelLabs/fuel-core/pull/3103
- Add dynamic adjustment for relayer log page size. by @its-saeed in https://github.com/FuelLabs/fuel-core/pull/3104
- chore(benchmarks): add benchmarks for niop opcode in all operation modes by @rymnc in https://github.com/FuelLabs/fuel-core/pull/3050
- chore(codeowners): update with current codeowners by @rymnc in https://github.com/FuelLabs/fuel-core/pull/3114
- Bump rust to 1.90 and fuel-vm 0.65.0 by @zees-dev in https://github.com/FuelLabs/fuel-core/pull/3110
- Use hash-based balance_root and state_root fields by @Dentosal in https://github.com/FuelLabs/fuel-core/pull/3099
- Removed SMT usage from STF and benchmarks by @xgreenx in https://github.com/FuelLabs/fuel-core/pull/3117
- Release v0.47.0 by @xgreenx in https://github.com/FuelLabs/fuel-core/pull/3118
- Update cargo.toml by @MitchTurner in https://github.com/FuelLabs/fuel-core/pull/3119
- chore(gas_costs): new gas costs based on 0.47.0 benchmarks by @rymnc in https://github.com/FuelLabs/fuel-core/pull/3120
- Release v0.47.1 by @xgreenx in https://github.com/FuelLabs/fuel-core/pull/3121
- fix: use same runtime image as builder by @mchristopher in https://github.com/FuelLabs/fuel-core/pull/3124
New Contributors
- @its-saeed made their first contribution in https://github.com/FuelLabs/fuel-core/pull/3104
- @zees-dev made their first contribution in https://github.com/FuelLabs/fuel-core/pull/3110
Full Changelog: https://github.com/FuelLabs/fuel-core/compare/v0.46.0...v0.47.1