Releases: XinFinOrg/XDPoSChain
Releases · XinFinOrg/XDPoSChain
v2.5.0-beta1
Testnet Only
Change Summary
Performance Improvements
- Optimized VM execution by reducing allocations and redundant conversions.
- Avoided unnecessary map lookups for jump destination analysis.
- Refactored vm.Context into BlockContext and TxContext for better structure.
- Improved EVM reusability.
Ethereum EIPs Implementation
- Implemented EIP-1559 (fee market changes).
- Implemented EIP-2565 (lowering cost for modular exponentiation).
- Implemented EIP-3651 (warm coinbase for gas optimization).
- Implemented EIP-1153 (transient storage).
RPC & API Enhancements
- Added rpc-gascap flag and set RPC gas cap to 50M.
- Added xdpos_getBlockInfoByEpochNum API.
- Fixed wrong gas price calculation with empty blocks.
- Improved EstimateGas API.
- Added admin_addTrustedPeer and admin_removeTrustedPeer RPC methods.
Security & Bug Fixes
- Fixed block hash retrieval for eth_getLogs.
- Fixed high pending special transactions in core/txpool.
- Fixed various staticcheck warnings for better code quality.
- Fixed node.Node AccountsManager memory leak.
Code Refactoring & Cleanup
- Removed unused functions, redundant conversions, and unnecessary package imports.
- Migrated from ioutil to io and os.
- Standardized string formatting (0x%x → %#x).
- Replaced strings.Replace with strings.ReplaceAll.
- Removed whisper package.
Network & Node Adjustments
- Allowed WebSocket and HTTP to work on the same port.
- Increased default maxpeers to 50.
- Reduced mainnet and testnet timeout to 10s.
- Updated bootnodes list.
Development & Deployment Updates
- Upgraded to Go 1.22.
- Updated multiple core dependencies (common, crypto, metrics).
- Removed Android and iOS support.
- Reduced gas limit for devnet to 50M.
- Merged mining time patch from master.
What's Changed
- fix Byzantium precompile population by @gzliudan in #640
- avoid map lookups for accessing jumpdest analysis by @gzliudan in #629
- core/vm: marshall returnData as hexstring in trace logs by @gzliudan in #630
- split vm.Context into BlockContext and TxContext by @gzliudan in #638
- core/vm: replace function
precompile2
withprecompile
by @gzliudan in #641 - core/vm: less allocations and redundant conversions by @gzliudan in #627
- move fuzzers out of core by @gzliudan in #639
- all: replace uses of ioutil with io and os by @JukLee0ira in #648
- add flag rpc-gascap and set RPCGasCap to 50M by @pro100skm in #664
- return right blockHash for eth_getLogs (#650) by @gzliudan in #675
- all: change format 0x%x to %#x by @gzliudan in #644
- implement eip-2565 by @gzliudan in #645
- upgrade package core/vm by @gzliudan in #643
- remove block hash from statedb by @gzliudan in #649
- fix staticcheck warning SA1029: inappropriate key in call to context.WithValue by @gzliudan in #693
- metrics: fix staticcheck warning ST1017: don't use yoda conditions by @gzliudan in #691
- all: fix staticcheck warning S1039: unnecessary use of fmt.Sprintf by @gzliudan in #690
- all: fix staticcheck warning SA4006: never used value by @gzliudan in #692
- all: fix staticcheck warning ST1005 by @gzliudan in #689
- all: use unified emptyRootHash and emptyCodeHash by @gzliudan in #685
- fix staticcheck warning SA1012: pass nil Context to function by @gzliudan in #695
- all: fix staticcheck warning ST1006 by @gzliudan in #686
- all: fix staticcheck warning SA1006 by @gzliudan in #696
- feat: add api xdpos_getBlockInfoByEpochNum by @wgr523 in #674
- XDCxDAO: fix staticcheck warning S1034: use result of type assertion to simplify cases by @gzliudan in #697
- all: fix staticcheck warning ST1019: import package twice by @gzliudan in #701
- core, XDCxlending/lendingstate: fix staticcheck warning S1002: omit comparison to bool constant by @gzliudan in #709
- common: fix staticcheck warning S1001: replace loop with copy by @gzliudan in #710
- XDPoSChain, ethclient: fix staticcheck warning ST1012: rename NotFound to ErrNotFound by @gzliudan in #711
- crypto/bn256: fix staticcheck warning SA9009: ineffectual go compiler directive by @gzliudan in #712
- compression/rle: fix staticcheck warning SA9004: only the first constant has an explicit type by @gzliudan in #713
- core: fix staticcheck warning SA6005: should use strings.EqualFold by @gzliudan in #714
- XDCxDAO: fix staticcheck warning SA5007: infinite recursive call by @gzliudan in #715
- Merge master back to dev upgrade by @benjamin202410 in #716
- fix nil issues reported by nilness and staticcheck by @gzliudan in #688
- all: fix staticcheck warning ST1008: error should be last return value by @gzliudan in #698
- all: fix staticcheck warning SA4010: append result never used by @gzliudan in #700
- fix: staticcheck warning SA4003: every value of uint64 >= 0 by @gzliudan in #703
- core, XDCxlending/lendingstate: fix staticcheck warning SA5001 by @gzliudan in #704
- all: fix staticcheck warning SA2002: must call T.Fatalf in same goroutine by @gzliudan in #705
- all: fix staticcheck warning S1024: not use x.Sub(time.Now()) by @gzliudan in #706
- metrics/influxdb: fix staticcheck warning SA1015: replace time.Tick with time.NewTicker by @gzliudan in #707
- XDCxlending: fix staticcheck warning S1008: simplify returning boolean expression by @gzliudan in #708
- core: fix staticcheck warning S1006: use for {} for infinite loops by @gzliudan in #723
- eth/downloader: fix staticcheck warning S1033: unnecessary guard around call to delete by @gzliudan in #720
- contracts: fix staticcheck warning S1025: unnecessary fmt.Sprintf("%s", x) by @gzliudan in #721
- engines/engine_v2: fix staticcheck warning S1009: omit redundant nil check on slice by @gzliudan in #722
- p2p: fix staticcheck warning SA4030: rand.Intn(1) always returns 0 by @gzliudan in #717
- p2p: fix staticcheck warning SA4009: overwrite function argument before first use by @gzliudan in #718
- p2p/netutil: fix staticcheck warning SA1021: use bytes.Equal to compare two net.IP by @gzliudan in #719
- implement EIP-1559 by @gzliudan in #527
- cost saving downsize devnet rpc by @benjamin202410 in #724
- remove accidental file test.txt by @gzliudan in #725
- upgrade package node by @gzliudan in #726
- cmd/utils, node: increase default maxpeers to 50 by @gzliudan in #727
- core/txpool: fix very high pending special transactions by @gzliudan in #728
- eth/gasprice: fix wrong gas price with empty blocks by @gzliudan in #732
- rpc: add admin_addTrustedPeer and admin_removeTrustedPeer by @gzliudan in #731
- node: allow WebSocket and HTTP works on the same port by @gzliudan in #729
- whisper: remove package whisper by @JukLee0ira in #687
- upgrade package log to 2024-11-04 by @gzliudan in #734
- accounts, build, mobile: remove Android and iOS support by @JukLee0ira in #733
- all: implement EIP-1153(transient storage) by @gzliudan in #647
- core/vm: remove interface Interpreter by @gzliudan in #642
- update devnet 1559 block number by @benjamin202410 in #736
- core: fix preCheck for RandomizeSMC after EIP-1559 by @gzliudan in https://github.com/XinFinOrg/XDPoSChain...
v2.4.1
cicd: update bootnodes for mainnet #811
Full Changelog: v2.4.0...v2.4.1
v2.4.0
This is Mainnet Release
Key Change
Optimize mining time to help all miner get expected reward on every day.
What's Changed
- fix: reduce mine period reset (waiting) time by @wgr523 in #735
- increate timeout to 1 min for testnet by @benjamin202410 in #744
- Use safe timer reset method by @benjamin202410 in #757
- feat: reduce wait time when block time already large by @wgr523 in #753
- add buffer channel to unlock deadlock by @benjamin202410 in #766
- Fix tc cross epoch different masternode counts issue by @benjamin202410 in #770
- fix only timeout round exists in next epoch by @benjamin202410 in #772
- Get right tc epoch by @benjamin202410 in #773
- reduce mainnet and testnet timeout to 10s by @benjamin202410 in #784
- Testnet merge back to mainnet by @benjamin202410 in #787
- release mainnet 2.4.0 by @benjamin202410 in #789
Full Changelog: v2.3.0...v2.4.0
v2.4.6-beta1
What's Changed
- fix only timeout round exists in next epoch by @benjamin202410 in #772
- Get right tc epoch by @benjamin202410 in #773
Full Changelog: v2.4.5-beta1...v2.4.6-beta1
v2.4.5-beta1
What's Changed
- Fix tc cross epoch different masternode counts issue by @benjamin202410 in #770
Full Changelog: v2.4.4-beta1...v2.4.5-beta1
v2.4.4-beta1
What's Changed
- add buffer channel to unlock deadlock by @benjamin202410 in #766
Full Changelog: v2.4.3-beta1...v2.4.4-beta1
v2.4.3-beta1
This release is for Testnet Only
What's Changed
- Use safe timer reset method by @benjamin202410 in #757
- feat: reduce wait time when block time already large by @wgr523 in #753
Full Changelog: v2.4.2-beta1...v2.4.3-beta1
v2.4.2-beta1
This release is for Testnet Only
What's Changed
- increate timeout to 1 min for testnet by @benjamin202410 in #744
Full Changelog: v2.4.1-beta1...v2.4.2-beta1
v2.3.0
Main Update
- Reduce consensus timeout from 30 sec to 20 sec
- golang tracers, add golang callTracer
New API Support
- XDPoS_GetEpochNumbersBetween
- XDPoS_getBlockInfoByEpochNum
What's Changed
- increase mainnet rpc volume by @wanwiset25 in #552
- remove redundant error check in function getValidators by @JukLee0ira in #551
- remove admin for rpc and running node by @liam-lai in #554
- testnet: adjust enode_id for old bootnodes and add new bootnodes to list by @wanwiset25 in #555
- performance: remove extra conversions and optimize functions by @JukLee0ira in #553
- use errrors.New instead of empty fmt.Errorf by @JukLee0ira in #557
- remove swarm as unused like eth by @liam-lai in #537
- add step to trigger rpc deployment script update by @wanwiset25 in #556
- some PR before EIP-1559 by @gzliudan in #559
- fix issue #377 and a bug in queue by @gzliudan in #563
- Increase txsize by @wanwiset25 in #550
- scale down devnet from 108 to 90 by @liam-lai in #571
- downscale devnet by @liam-lai in #579
- update devnet deployment script by @liam-lai in #580
- scale down devnet from 90 to 73 by @liam-lai in #581
- Merge from master by @liam-lai in #589
- Merge from master for reorg bug fix by @liam-lai in #593
- lower the devnet cert to recover devnet by @liam-lai in #592
- lower the devnet cert to recover devnet again by @liam-lai in #594
- Scale down devnet from 73 to 62 by @liam-lai in #582
- make eth_call not timeout during UpdateM1 by @gzliudan in #595
- fix database corrupt when UpdateM1 fails during reorg by @gzliudan in #596
- Fix some panic cuased by nil block, statedb, header by @gzliudan in #578
- make leveldb configurable by @gzliudan in #576
- Improve the performance of eth_getLogs by @JukLee0ira in #583
- support for golang tracers + add golang callTracer by @wgr523 in #558
- Fix writeblock by @JukLee0ira in #601
- reduce devnet from 63 to 53 for cost saving by @liam-lai in #602
- remove legacy testnet validate masternode logic by @liam-lai in #603
- upgrade devnet rpc seems its cpu is reaching 100 by @liam-lai in #605
- remove ecs rpc node as we have ec2 ones by @liam-lai in #567
- fix a bug in PR #583: snapshot is not updated by @JukLee0ira in #604
- support both input and data in eth_call, eth_estimateGas, personal_sendTransaction by @JukLee0ira in #597
- hardcode stable image for rpc deployment (temporary) by @wanwiset25 in #612
- change Signer reward to debug by @gzliudan in #600
- Dev upgrade merge from master to fix rpc nodes by @liam-lai in #615
- fix race conditions in txpool by @gzliudan in #617
- Revert EIP 2464 by @wanwiset25 in #619
- update fastcache to v1.12.2 by @gzliudan in #613
- revert fixed image by @wanwiset25 in #621
- implement EIP-2681 by @gzliudan in #609
- update package common/lru and implement generic LRU by @gzliudan in #611
- implement EIP-3541 by @gzliudan in #614
- add missing unlock before panic in package event by @gzliudan in #624
- improve function EnableEIP in package vm by @gzliudan in #625
- feat: GetEpochNumbersBetween API by @wgr523 in #606
- fix sync issue for testnet by @gzliudan in #631
- Dev upgrade fix merge for #635 by @wanwiset25 in #637
- Monthly Merge Dev-Upgrade to Master Branch: September by @wanwiset25 in #635
- intro new timeout by @liam-lai in #651
- add last block number for epoch api by @benjamin202410 in #681
- Mainnet v2.3.0 merge hot fix branch and new epoch api by @benjamin202410 in #680
- cherry pick epoch api from dev-upgrade by @benjamin202410 in #699
Full Changelog: v2.2.5...v2.3.0
v2.2.5
Main Feature
- timeout to 30s
- fix eth_getCandidates and eth_getCandidatesStatus API
- Increase the default gas cap to 50000000
- add flag
--rpc-gascap
What's Changed
- cherry pick from #664 by @liam-lai in #666
- Fix getCandidateStatus API by @benjamin202410 in #663
- update timeout from 60s to 30s by @benjamin202410 in #669
- Update to version 2.2.5 by @liam-lai in #670
Full Changelog: v2.2.4...v2.2.5