Skip to content

Releases: Conflux-Chain/conflux-rust

Conflux v3.0.3-fix

19 May 08:44

Choose a tag to compare

Security Fix

  • Fix a possible panic under certain circumstances. Node operators are strongly recommended to upgrade.

Conflux v3.0.3-testnet-fix

19 May 08:44

Choose a tag to compare

Pre-release

Security Fix

  • Fix a possible panic under certain circumstances. Node operators are strongly recommended to upgrade.

Conflux v3.0.3

08 Apr 08:26

Choose a tag to compare

Bug Fixes

  • Fix CIP-78 sponsor flags: Fixed incorrect gasCoveredBySponsor and storageCoveredBySponsor receipt fields for reverted transactions in the cip78a→cip78b window during testnet replay (#3388)
  • Fix incorrect tx gas limit in packing pool: Fixed incorrect transaction gas limit maintenance in packing pool (#3383)
  • Fix fee_history deadlock: Use read_recursive to avoid reentrant deadlock in fee_history (#3374)
  • Fix PoS force-retire overflow: Fixed "subtract with overflow" panic when PoS force-retire happens early (#3343)
  • Fix eth_estimateGas for SenderDoesNotExist: Handle SenderDoesNotExist as insufficient funds error in eth_estimateGas (#3341)
  • Fix CPU mining: Fixed unexpected mining time in CPU mining (#3339)
  • Fix stratum: Remove peer from stratum worker if sending message failed (#3307)

New Features

CIP-166: Count Leading Zeros Opcode

State Dump Subcommand

  • Added dump subcommand to dump all eSpace accounts as JSON file (#3314)

RPC Changes

  • cfx_getTransactionReceipt: Include accumulatedGasUsed field (#3362)
  • Core space trace: Updated trace_epoch response type, removed Option wrapper for some fields (#3371, #3369)
  • Core space log: Added timeStamp to Core Space log object including light client get_logs (#3358)
  • Core space address verbose mode: Added configuration option rpc_address_simple_mode to control Core Space address verbose mode (#3356)
  • Transaction pool logging: Added debug RPCs and logging for transaction pool diagnostics (#3345)

Infrastructure & Dependencies

  • Bump Rust to 1.90 (#3333)
  • Bump revm and c-kzg to latest version (#3347)
  • Cargo deny: Resolved multiple dependency audit issues (#3346, #3363, #3370, #3376, #3381, #3384, #3386)
  • CI/CD: Added Linux, macOS, and Windows GitHub Actions build workflows with release artifact upload (#3351, #3364, #3365, #3367)
  • Fix Windows build: Upgraded vergen to vergen-git2 (#3361), fixed Windows compile issue from jemallocator upgrade (#3342)
  • Log configuration: Improved error hints for missing log config and TTY issues (#3357, #3359, #3360)
  • Upgrade solc-select: Fixed 403 error in integration tests (#3379, #3382)

Conflux v3.0.3-testnet

28 Feb 07:31

Choose a tag to compare

Pre-release

Bug Fixes

  • Fix CIP-78 sponsor flags: Fixed incorrect gasCoveredBySponsor and storageCoveredBySponsor receipt fields for reverted transactions in the cip78a→cip78b window during testnet replay (#3388)
  • Fix incorrect tx gas limit in packing pool: Fixed incorrect transaction gas limit maintenance in packing pool (#3383)
  • Fix fee_history deadlock: Use read_recursive to avoid reentrant deadlock in fee_history (#3374)
  • Fix PoS force-retire overflow: Fixed "subtract with overflow" panic when PoS force-retire happens early (#3343)
  • Fix eth_estimateGas for SenderDoesNotExist: Handle SenderDoesNotExist as insufficient funds error in eth_estimateGas (#3341)
  • Fix CPU mining: Fixed unexpected mining time in CPU mining (#3339)
  • Fix stratum: Remove peer from stratum worker if sending message failed (#3307)

New Features

CIP-166: Count Leading Zeros Opcode

State Dump Subcommand

  • Added dump subcommand to dump all eSpace accounts as JSON file (#3314)

RPC Changes

  • eth_blockByNumber: Added support for pending tag (#3368)
  • cfx_getTransactionReceipt: Include accumulatedGasUsed field (#3362)
  • Core space trace: Updated trace_epoch response type, removed Option wrapper for some fields (#3371, #3369)
  • Core space log: Added timeStamp to Core Space log object including light client get_logs (#3358)
  • Core space address verbose mode: Added configuration option rpc_address_simple_mode to control Core Space address verbose mode (#3356)
  • Transaction pool logging: Added debug RPCs and logging for transaction pool diagnostics (#3345)

Infrastructure & Dependencies

  • Bump Rust to 1.90 (#3333)
  • Bump revm and c-kzg to latest version (#3347)
  • Cargo deny: Resolved multiple dependency audit issues (#3346, #3363, #3370, #3376, #3381, #3384, #3386)
  • CI/CD: Added Linux, macOS, and Windows GitHub Actions build workflows with release artifact upload (#3351, #3364, #3365, #3367)
  • Fix Windows build: Upgraded vergen to vergen-git2 (#3361), fixed Windows compile issue from jemallocator upgrade (#3342)
  • Log configuration: Improved error hints for missing log config and TTY issues (#3357, #3359, #3360)
  • Upgrade solc-select: Fixed 403 error in integration tests (#3379, #3382)

Conflux v3.0.2

09 Jan 10:12

Choose a tag to compare

Bug Fixes

RPC

  • Fix eth_call coinbase opcode: Fixed bug where eth_call coinbase opcode was using a random address instead of the correct one

Others

  • Fix PoS reward reexecution: Fixed issue where PoS reward in DB was not checked if it's on pivot for reexecution

RPC Changes

New RPC Endpoints

  • debug_blockProperties: Added a custom eSpace RPC endpoint to return extra block property information for all transactions in an eSpace block. This is useful for services that require verification of transaction execution, as transactions within a single Conflux eSpace block may have different block contexts (coinbase, timestamp, difficulty) during execution. See documentation for details.

RPC Improvements

  • Log timestamp support: Added blockTimestamp field to eSpace log object (for methods like eth_getLogs and eth_getFilterLogs)
  • Block number type improvements:
    • Renamed RPC type BlockNumber to BlockId for better precision
    • RPC type BlockNumber now supports block hash case
  • Log format optimization: Optimized bytes log format from number array to hex string
  • Fix parity trace compatibility: Fixed parity trace error and result structure incompatibility issue
  • Fix block retrieval errors: Use new defined error types instead of strings for block retrieve methods
  • RPC configuration: Added configuration options for eSpace RPCs

Performance Improvements

  • Storage optimization: Optimized to only read from storage if entry is not occupied
  • eth_feeHistory: Optimized to only read header instead of full block for base price calculation

Infrastructure & Dependencies

Memory Management

  • jemalloc upgrade: Switched from jemallocator to tikv-jemallocator
  • Memory profiling: Added memory and CPU pprof support for profiling

Conflux v3.0.2-testnet

23 Dec 06:04

Choose a tag to compare

Pre-release

Bug Fixes

RPC

  • Fix eth_call coinbase opcode: Fixed bug where eth_call coinbase opcode was using a random address instead of the correct one

Others

  • Fix PoS reward reexecution: Fixed issue where PoS reward in DB was not checked if it's on pivot for reexecution

RPC Changes

New RPC Endpoints

  • debug_blockProperties: Added a custom eSpace RPC endpoint to return extra block property information for all transactions in an eSpace block. This is useful for services that require verification of transaction execution, as transactions within a single Conflux eSpace block may have different block contexts (coinbase, timestamp, difficulty) during execution. See documentation for details.

RPC Improvements

  • Log timestamp support: Added blockTimestamp field to eSpace log object (for methods like eth_getLogs and eth_getFilterLogs)
  • Block number type improvements:
    • Renamed RPC type BlockNumber to BlockId for better precision
    • RPC type BlockNumber now supports block hash case
  • Log format optimization: Optimized bytes log format from number array to hex string
  • Fix parity trace compatibility: Fixed parity trace error and result structure incompatibility issue
  • Fix block retrieval errors: Use new defined error types instead of strings for block retrieve methods
  • RPC configuration: Added configuration options for eSpace RPCs

Performance Improvements

  • Storage optimization: Optimized to only read from storage if entry is not occupied
  • eth_feeHistory: Optimized to only read header instead of full block for base price calculation

Infrastructure & Dependencies

Memory Management

  • jemalloc upgrade: Switched from jemallocator to tikv-jemallocator
  • Memory profiling: Added memory and CPU pprof support for profiling

Conflux v3.0.1

11 Aug 10:31

Choose a tag to compare

Improvements

  • Return a detailed version for conflux --version.

Bug Fix

  • Fix the bug of using wrong ws_address to open rpc endpoints.
  • Fix Mismatch between definition and access of rpc-args error.

RPC Changes

  • eth_getBlockByNumber returns null when parameter is bigger than latest block.

Note: The Windows version does not support opening the Core Space WebSocket port(jsonrpc_ws_port, jsonrpc_local_ws_port).

Conflux v3.0.1-testnet-fix

11 Aug 03:46

Choose a tag to compare

Pre-release

v3.0.1-testnet-fix introduces a new hardfork. All nodes should be upgraded before the epoch number reaches 229140000 (estimated on Aug 18).

Improvements

  • Return a detailed version for conflux --version.

Bug Fix

  • Fix incorrect implementation of CIP145.
  • Fix the bug of using wrong ws_address to open rpc endpoints.
  • Fix Mismatch between definition and access of rpc-args error.

RPC Changes

  • eth_getBlockByNumber returns null when parameter is bigger than latest block.

Note: The Windows version does not support opening the Core Space WebSocket port(jsonrpc_ws_port, jsonrpc_local_ws_port).

Conflux v3.0.0

01 Aug 02:05

Choose a tag to compare

This release introduces a new hardfork. All nodes should be upgraded before the epoch number reaches 129680000 (estimated on Sep 1). CIP-156 will be enabled when the PoS block number reaches 2754720 (estimated on Sep 1).

Conflux is planning to activate and implement modifications of 8 different CIPs (improvement proposals), including CIP-150, CIP-151, CIP-152, CIP-154, CIP-156, CIP-165, CIP-645 and CIP-7702, as well as related RPC updates in the next Hardfork system upgrade.

For more details, please refer to the following link: https://www.confluxdocs.com/docs/general/hardforks/v3.0

CIP Changes:

These CIPs are mainly divided into the following categories:

  • EVM Compatibility: CIP-150, CIP-151, CIP-152, CIP-165, CIP-645, CIP-7702

  • Bug Fix: CIP-154

  • Specification Adjustment: CIP-156

The following is a brief introduction of these CIPs.

CIP 150

This CIP replicates EIP-3541, which disallows deploying new code that starts with the 0xEF byte.

CIP 151

This CIP replicates EIP-6780, which prevents contracts from being destroyed by SELFDESTRUCT in most cases, with the only exception being the destruction of a contract within the same transaction as its creation.

CIP 152

This CIP replicates EIP-3607, which addresses a potential security issue where an EOA could share the same address as a contract due to a collision attack. Specifically designed EOAs with code (like EIP-7702), are not affected by this restriction.

CIP 154

This CIP addresses an implementation error in CIP-142, which incorrectly implemented the TLOAD opcode as SLOAD.

CIP 156

This CIP changes the penalty of PoS malicious behavior from permanent stake forfeiting to temporary stake locking.

CIP 165

Introduces precompiles for BLS12-381 curve operations as defined in EIP-2537, enabling efficient execution of tasks such as BLS signature verification.

CIP 645

This CIP proposes aligning Conflux eSpace's behavior with Ethereum's EVM to ensure compatibility with Ethereum development tools and provide a consistent experience for developers. It also addresses the impact of new EIPs on Conflux Core Space.

The following Ethereum Improvement Proposals (EIPs) are implemented or adapted:

Description Link
EIP-1108: Reduces gas costs for alt_bn128 precompile EIP-1108
EIP-1884: Reprices trie-size-dependent opcodes EIP-1884
EIP-2028: Reduces Calldata gas cost EIP-2028
EIP-2200: Rebalances net-metered SSTORE gas cost EIP-2200
EIP-2565: Reduces gas cost for modular exponentiation transactions EIP-2565
EIP-2929: Increases gas costs for opcode transactions to mitigate DDoS EIP-2929
EIP-3529: Removes gas refunds for SELFDESTRUCT and reduces SSTORE refunds EIP-3529
EIP-3651: Reduces gas fees for accessing COINBASE address EIP-3651
EIP-3860: Limits initcode size to 49152 EIP-3860

Additionally, this CIP addresses discrepancies found during Ethereum behavioral alignment tests, including:

CIP 7702

This CIP introduces EIP-7702 to Conflux eSpace.

RPC changelog

⚠️ Note: To enable the RPC service for eSpace, you need to open both the HTTP (jsonrpc_http_eth_port) and WebSocket (jsonrpc_ws_eth_port) ports in the configuration file.

Below RPC add support for EIP-7702 tx:

  1. eth_call & eth_estimateGas

  2. transaction related RPCs: eth_getTransactionByHash, eth_blockByNumber, eth_blockByHash

Misc changes:

  1. Support gasFee in transaction receipt for espace RPC

  2. eSpace block.gasLimit change to half of the consensus gas limit, add block.espaceGasLimit to return the real gas limit for eSpace transactions.

  3. eSpace parity style trace RPCs updates:

    a. Trace RPC methods now compatible with parity and erigon, including trace_blocktrace_transactiontrace_filter, this is a API breaking change

    b. Two new RPCs trace_get and trace_blockSetAuth are added

    c. trace_blockSetAuth is a Conflux specific RPC used to get the block set auth result, check trace doc for details.

    d. These trace methods now support SelfDestruct(Suicide) trace, to access historical selfdestruct transaction data, a resync of the data is required.

  4. eSpace now support geth style txpool namespace methods, including: txpool_statustxpool_inspecttxpool_contenttxpool_contentFrom

  5. eth_calleth_estimateGas add support for stateoverride feature.

Conflux v3.0.1-testnet

27 Jun 06:51

Choose a tag to compare

Pre-release

v3.0.0-testnet introduces a new hardfork. All nodes should be upgraded before the epoch number reaches 223340000 (estimated on Jul 1). CIP-156 will be enabled when the PoS block number reaches 2745000 (estimated on Jul 1).

Bug Fix

  • Fix suicide trace wrong traceAddress bug.
  • Fix the Windows binary crash issue.