Releases: Conflux-Chain/conflux-rust
Conflux v1.1.6-fix
Bug fix
- Fix an issue that may cause the node to stop receiving network messages.
Improvement
- Optimize transaction pool to avoid replacing a transaction with a lower gas-price one after garbage collection.
Conflux v1.1.6
Improvements
- Improve transaction execution performance when a non-existent account is accessed.
- Improve txpool garbage collection behavior.
- Add
txpool
RPC group for querying transaction-pool-related information. - Enable block number index by default.
Bug fixes
Conflux v1.1.5
Improvements
RPC Improvements
- Fix incorrect responses of
cfx_getBlockRewardInfo
. If the node needs to serve this RPC, it needs to clear all data and resync the chain. - Simplify EVM revert reason in RPC responses. This may cause incompatible issues if the user was decoding the error messages manually.
- Add new RPC
cfx_getBlockByBlockNumber
. - Add
blockNumber
to the returned JSON object incfx_getBlockByHash
,cfx_getBlockByEpochNumber
, andcfx_getBlockByHashWithPivotAssumption
. - Accept pivot hash in
cfx_getEpochReceipts
. - Raise error in
cfx_getBlockByHashWithPivotAssumption
if the provided block hash does not belong to the provided epoch. - Fix returnData format of CallResult.
- Fix incorrect
firstTxStatus
response ofcfx_getAccountPendingTransactions
ifstart_nonce
is provided. - Update
cfx_getCode
so that it returns an empty hex0x
if the account does not exist instead of raising an error.
Configuration Improvement
- Add
persist_block_number_index
to persist block number indices. It allows responding to block-number-related RPC requests for old epochs. - Add
storage_max_open_mpt_count
to configure maximal number of opened MPT.
Conflux v1.1.5-testnet
Improvements
RPC Improvements
- Fix incorrect responses of
cfx_getBlockRewardInfo
. If the node needs to serve this RPC, it needs to clear all data and resync the chain. - Simplify EVM revert reason in RPC responses. This may cause incompatible issues if the user was decoding the error messages manually.
- Add new RPC
cfx_getBlockByBlockNumber
. - Add
blockNumber
to the returned JSON object incfx_getBlockByHash
,cfx_getBlockByEpochNumber
, andcfx_getBlockByHashWithPivotAssumption
. - Accept pivot hash in
cfx_getEpochReceipts
. - Raise error in
cfx_getBlockByHashWithPivotAssumption
if the provided block hash does not belong to the provided epoch. - Fix returnData format of CallResult.
- Fix incorrect
firstTxStatus
response ofcfx_getAccountPendingTransactions
ifstart_nonce
is provided. - Update
cfx_getCode
so that it returns an empty hex0x
if the account does not exist instead of raising an error.
Configuration Improvement
- Add
persist_block_number_index
to persist block number indices. It allows responding to block-number-related RPC requests for old epochs. - Add
storage_max_open_mpt_count
to configure maximal number of opened MPT.
Conflux v1.1.4
Incompatible Changes: Some error messages stored in receipts/traces are changed. This will affect the return message format of some RPCs. Please read this for details: Conflux-Chain/CIPs#70
Improvements
RPC Improvements
- Add a new RPC
cfx_getAccountPendingTransactions
to get pending transactions of a given account. - Make VM tracer records reasons for a fail execution.
- Make
cfx_estimateGasAndCollateral
return an error stack in case an error happens in sub-call. - Use random miner address in virtual calls (
cfx_call
andcfx_estimateGasAndCollateral
)
instead of a special null address.
Configuration Improvements
- Allow setting maximum WebSocket response payload size using
jsonrpc_ws_max_payload_bytes
. The default is 30MB.
Bug fixes
- Fix a bug that causes repacking useless transactions.
- Fix a bug that causes the configuration
sync_state_starting_epoch
not effective on archive nodes. - Fix a bug that may make
cfx_getStatus
return unexpected error.
Conflux v1.1.4-testnet
Incompatible Changes: Some error messages stored in receipts/traces are changed. This will affect the return message format of some RPCs. Please read this for details: Conflux-Chain/CIPs#70
Improvements
RPC Improvements
- Add a new RPC
cfx_getAccountPendingTransactions
to get pending transactions of a given account. - Make VM tracer records reasons for a fail execution.
- Make
cfx_estimateGasAndCollateral
return an error stack in case an error happens in sub-call. - Use random miner address in virtual calls (
cfx_call
andcfx_estimateGasAndCollateral
)
instead of a special null address.
Configuration Improvements
- Allow setting maximum WebSocket response payload size using
jsonrpc_ws_max_payload_bytes
. The default is 30MB.
Bug fixes
- Fix a bug that causes repacking useless transactions.
- Fix a bug that causes the configuration
sync_state_starting_epoch
not effective on archive nodes. - Fix a bug that may make
cfx_getStatus
return unexpected error.
Conflux v1.1.3
Improvements
RPC Improvements
- Include
blockHash
,epochHash
,epochNumber
,transactionHash
, andtransactionPosition
for trace RPCs.
Note that the data format returned bytrace_block
is incompatible with old versions. - Add new field
offset
in log filters used incfx_getLogs
.
If specified, the response will skip the lastoffset
logs.
For instance, with 10 matching logs (0..9
) andoffset=0x1, limit=0x5
, the response will contain logs4..8
.
Note: Even if you specifyoffset
, the corresponding logs still need to be processed by the node,
so a filter withoffset=10000, limit=10
has about the same performance as a filter withoffset=0, limit=100010
. - Add a new parameter
subscription_epoch
to theepochs
pubsub.
The supported values are"latest_mined"
(default) and"latest_state"
. - Add
cfx_getAccountPendingInfo
to get pending transaction info for some account for better investigating pending tx problems.
Configuration Improvements
- Allow immediately packing sent transactions in
dev
mode by keepingdev_block_interval_ms
unset.
Note that settingdev_block_interval_ms
will disable this immediate packing and generate blocks only periodically.
Performance Improvements
- Optimize the state implementation for better cache performance.
Bug fix
- Fix a bug that makes running nodes in
dev
mode not generate blocks automatically.
Conflux v1.1.3-testnet
Improvements
RPC Improvements
- Include
blockHash
,epochHash
,epochNumber
,transactionHash
, andtransactionPosition
for trace RPCs.
Note that the data format returned bytrace_block
is incompatible with old versions. - Add new field
offset
in log filters used incfx_getLogs
.
If specified, the response will skip the lastoffset
logs.
For instance, with 10 matching logs (0..9
) andoffset=0x1, limit=0x5
, the response will contain logs4..8
.
Note: Even if you specifyoffset
, the corresponding logs still need to be processed by the node,
so a filter withoffset=10000, limit=10
has about the same performance as a filter withoffset=0, limit=100010
. - Add a new parameter
subscription_epoch
to theepochs
pubsub.
The supported values are"latest_mined"
(default) and"latest_state"
. - Add
cfx_getAccountPendingInfo
to get pending transaction info for some account for better investigating pending tx problems.
Configuration Improvements
- Allow immediately packing sent transactions in
dev
mode by keepingdev_block_interval_ms
unset.
Note that settingdev_block_interval_ms
will disable this immediate packing and generate blocks only periodically.
Performance Improvements
- Optimize the state implementation for better cache performance.
Bug fix
- Fix a bug that makes running nodes in
dev
mode not generate blocks automatically.
Conflux v1.1.2
IMPORTANT NOTE: The Trace
data are incompatible with v1.1.1
or older versions, and the old data might be incorrect. If you were running a node with executive_trace=true
, please clear the data and resync the chain.
Improvements
Configuration Improvements
- Change the default node type to
full
node instead ofarchive
node. And allow setting the node type in the
configuration file with the entrynode_type
. - Add parameters to independently configure the garbage collection time of different kinds of data (like receipts,
transactions, block traces, state, e.t.c.). Check theadditional_maintained_*
entries inrun/tethys.toml
. - If
block_db_dir
ornetconf_dir
is not set, put the default directory in the one configured withconflux_data_dir
.
The old behavior is to be put in the hard-coded./blockchain_data
. - Add a parameter
public_rpc_apis
to control the publicly available RPC interface sets.
The access totest
anddebug
RPCs is no longer related tomode
. - Remove the parameter
enable_tracing
because it has been included in the newpublic_rpc_apis
.
RPC Improvements
- Add new local RPC
cfx_getEpochReceipts
to allow querying receipts based on an epoch number. - Add new trace RPC
trace_filter
to allow querying traces based on epochs/types/offset. - Add new trace RPC
trace_transaction
. - Use hex encoding for the returned bytes in trace-related RPCs.
- Add new fields
latestCheckpoint
,latestConfirmed
, andlatestState
incfx_getStatus
. - Improve some RPC error reporting.
Performance Optimization
- Reduce the memory usage for maintaining more snapshots with the configuration
additional_maintained_snapshot_count
.
Bug Fixes
- Fix a possible OOM error when a full node is catching up.
- Fix a possible OOM error in transaction pool when an archive node is catching up.
- Return correct
block_number
incfx_getStatus
. - Fix a bug that makes the configuration
mining_author
require extra quotes to use a CIP-37 base32 address. - Fix a bug that the block traces may be incorrect if the pivot chain switches frequently.
Conflux v1.1.2-testnet-fix
IMPORTANT NOTE: The Trace
data are incompatible with v1.1.1
or older versions, and the old data might be incorrect. If you were running a node with executive_trace=true
, please clear the data and resync the chain.
Bug Fixes
- Fix a possible OOM error in transaction pool when an archive node is catching up.
Improvements
- Add new trace RPC
trace_transaction
. - Use hex encoding for the returned bytes in trace-related RPCs.