What's Changed
- fix: race condition between Close() and background snapshot goroutine by @blindchaser in #2577
- Refactor DeliverTx ante by @codchen in #2569
- consensus WAL rewrite by @pompon0 in #2582
- Remove redundant mint protos left behind from Cosmos simulation logic by @masih in #2586
- Fix incorrect ldflag for app name by @masih in #2584
- add Cosmos simulation back by @codchen in #2574
- Flatten
sei-dbmodule by @masih in #2587 - removed support for secp256k1 and sr25519 as validator keys by @pompon0 in #2585
- Always set gas meter for every transaction by @codchen in #2583
- Add lock to protect SetPrices in price feeder by @stevenlanders in #2595
- fixed flaky consensus state test by @pompon0 in #2594
- Rebuild dynamic and static libwasmvm libs from code by @masih in #2597
- Fix flaky test for seidb by @yzang2019 in #2596
- Update dockerfile for caching efficiency and better libwasmvm handling by @masih in #2598
- perf: improve eth_getLogs performance with early rejection and backpressure by @blindchaser in #2591
- refactor: mempool: remove unused totalCheckTxCount by @arajasek in #2589
- Increase codecov change tolerance to 3% by @masih in #2602
- [CON-143] fix: deflake TestRouter_dialPeer_Reject by @arajasek in #2603
- Flatten
sei-wasmvmintosei-chaingo module by @masih in #2608 - Integrate UCI automatic backporting by @masih in #2607
- Remove out of date IBC docs by @masih in #2612
- [CON-76] fix: sei-tendermint: include all fields in CommitHash by @arajasek in #2600
- [CON-140] feat: add benchmark test for tx execution by @arajasek in #2599
- fix: mempool: enforce txBlacklisting for stupidly big txs by @arajasek in #2590
- [CON-145] fix: deflake TestNewAnyWithCustomTypeURLWithErrorNoAllocation by @arajasek in #2604
- Flatten
sei-ibc-gomodule intosei-chainby @masih in #2611 - Flatten
sei-wasmdintosei-chainmodule by @masih in #2622 - canonical encoding for protobuf by @pompon0 in #2592
- Add disable wasm test by @stevenlanders in #2609
- fix: cosmos: correctly lock when getting/setting config by @arajasek in #2620
- Change codecov patch target to
autoby @masih in #2625 - [CON-146] fix: deflake address test by @arajasek in #2619
- [CON-148] fix: tendermint: flaky state test by @arajasek in #2621
- Move
sei-iavlintosei-chainmono repo by @masih in #2624 - fix: app: defensively check for nil tx by @arajasek in #2628
- fix: state: safely handle access list reverts by @arajasek in #2627
- [CON-152] fix: state: safely set per-account maps when handling reverts by @arajasek in #2626
- Log the panic callstack for debugging purposes by @masih in #2632
- Add staking queries and distr events to precompiles by @codchen in #2623
- [CON-134][CON-135] Bump cosmwasm-vm version to include fixes by @udpatil in #2605
- [giga] add executor interfaces for VM by @codchen in #2601
- migrated ed25519 primitives from sei-v3 by @pompon0 in #2618
- [CON-151] fix: test: replace flaky Sleep with more predictable wait by @arajasek in #2642
- [CON-153] fix: lightclient: divergence detector should return upon sending error by @arajasek in #2634
- [CON-154] fix: test: ensure own precommit before adding votes by @arajasek in #2635
- fix: correct TestAsyncComputeMissingRanges by @arajasek in #2655
- feat: add live state LtHash library by @blindchaser in #2647
- Remove redundant copy from dockerfile by @masih in #2657
- feat: mempool: don't add pending txs to priority reservoir by @arajasek in #2641
- Seidb restructure by @yzang2019 in #2653
- Check storage is non-nil before attempting to close it by @masih in #2659
- Install CA certs on Ubuntu base image by @masih in #2658
- fix: cosmos: protect coin denom regexp with a lock by @arajasek in #2660
- Make SSTORE chain param height-aware by @jewei1997 in #2667
- feat: add generic KV interfaces + Pebble adapter by @blindchaser in #2666
- Add
seictlbinary toseidcontainer by @masih in #2673 - fix flaky staking integration test by @codchen in #2674
- Add CI workflow to publish containers to ECR by @masih in #2678
- Add upgrade handler 6.2 6.3 by @philipsu522 in #2661
- Fix rollback failure due to snapshot creation happened after app hash by @yzang2019 in #2680
- feat: mempool: return all EVM txs before others when reaping by @arajasek in #2669
- Remove Hash Range by @Kbhat1 in #2683
- Adjusted RPC http requests to use POST instead of GET by @monty-sei in #2675
- Refactor of p2p secret connection by @pompon0 in #2650
- [CON-176] fix: test: don't run TestEventsTestSuite in parallel by @arajasek in #2684
- [CON-102] fix: test: improve test failure conditions by @arajasek in #2685
- Update default
MaxGasWantedin testnet to match mainnet by @masih in #2688 - moved TCP buffering to SecretConnection. by @pompon0 in #2682
- fix double refund by @jewei1997 in #2692
- IBC Toggle Inbound + Outbound by @Kbhat1 in #2649
- Fix integration tests to run on release branch and clean up rules by @masih in #2696
- fix: lthash worker loop break; remove unreachable digest.Read fallback by @blindchaser in #2698
evmcVM andgigablock processors (sequential andOCC) by @pdrobnjak in #2654- Fix mac local cluster by @stevenlanders in #2702
- Add failfast precompile to detect interop by @codchen in #2670
- Refactor changelog to generic WAL by @yzang2019 in #2671
- Use relative URLs in landing page of tendermint API by @masih in #2636
- Upgrade to Go
v1.25.6by @masih in #2713 - Bootstrap
evmoneintegration with build tags by @pdrobnjak in #2705 - error handling for invalid curve25519 public keys by @pompon0 in #2709
- [giga] fork x/evm by @codchen in #2697
- Upgrade to PebbleDB v2 + Add DefaultComparer Config Option by @Kbhat1 in #2695
- [STO-237] remove unused cosmos invariants by @jewei1997 in #2719
- tcp multiplexer for sei giga by @pompon0 in #2679
- Made tcp connection context-aware by @pompon0 in #2718
- Add CI workflow to build libwasmvm dynamic libraries by @masih in #2724
- fix: set max packet msg payload default to 1MB by @blindchaser in #2725
- update: set MaxPacketMsgPayloadSize use MB unit by @blindchaser in #2729
- refactor giga tests by @codchen in #2716
- [giga] replace cosmos cachekv with Giga's impl by @codchen in #2717
- Update
cosmwasmto reftype fix via forkedwasmparserby @masih in #2723 - Log into dockerhub with RO credentials to avoid pull rate limiting by @masih in #2738
- Use
stablefoundry toolchain version for CI tests by @masih in #2736 - [STO-308] New receiptDB receipt-specific interface by @jewei1997 in #2701
- [giga] Add toEvmcError() for Go to EVMC error conversion by @pdrobnjak in #2743
- [giga] Add UseRegularStore flag to GigaEvmKeeper for testing fallback by @pdrobnjak in #2745
- Add go generate script to download evmone libraries on the fly by @masih in #2744
- feat: deflake TestMConnectionReadErrorUnknownChannel by @arajasek in #2750
- Fix workflow dispatch for libwasmvm job by @masih in #2727
- Add go bench for sc commit store by @yzang2019 in #2731
- feat(flatkv): introduce interface layer (Store/Iterator) and typed keys by @blindchaser in #2710
- [giga] Fix contract deploys and add integration test by @stevenlanders in #2730
- [giga] fork bank keeper by @codchen in #2737
- default SSTORE value back to original 20k by @jewei1997 in #2758
- [giga] honor configured sstore gas values by @stevenlanders in #2753
- Skip slow
sei-iavltests on PR if unchanged by @masih in #2761 - Support query latest state when SS disabled by @yzang2019 in #2762
- fix: support iavl.* pruning config keys with legacy fallback by @blindchaser in #2767
- Separate test coverage report from test wit race detector enabled by @masih in #2764
- Fixed flaky p2p test by @pompon0 in #2774
- feat(giga): add UseRegularStore in xbank keeper fork by @arajasek in #2760
- Add features & knobs to benchmark.sh by @codchen in #2770
- feat: Giga RPC node (sequential execution) by @arajasek in #2708
- Configure self-hosted runners for Go tests by @masih in #2715
- Upgrade to latest UCI workflows by @masih in #2783
- Fix typo in backport CI workflow name by @masih in #2784
- Add changelog for 6.2 and 6.3 by @philipsu522 in #2751
- Add Ethereum state test runner for Giga executor validation by @pdrobnjak in #2707
- add original cachekv as base layer by @codchen in #2780
- emit rewards withdrawn events for redelegate/undelegate by @codchen in #2781
- Add scenario capability to benchmark script by @stevenlanders in #2779
- Composite State Store part 1: EVM config and type definitions by @Kbhat1 in #2754
- Consolidate SC configurations and interface for Giga by @yzang2019 in #2786
- Added GigaRouter stub (CON-157) by @pompon0 in #2775
- fix and test by @pompon0 in #2712
- fix(store): preserve keys in nested CacheMultiStore by @arajasek in #2795
- [giga] avoid double signature decoding by @codchen in #2797
- feat: Giga RPC node (OCC execution) by @arajasek in #2768
- fix(test): force GC behaviour for determinism by @arajasek in #2807
- Composite State Store Part 2: EVM database implementation by @Kbhat1 in #2755
- feat: make snapshot prune async by @blindchaser in #2814
- fix: suppress expected ErrAggregateVoteExist error logs in gasless metrics by @blindchaser in #2796
- Cap pebble compaction concurrency in EVM storage by @masih in #2818
- Autobahn migrated from sei-v3 by @pompon0 in #2791
- feat: add configurable I/O rate limiting for snapshot writes by @blindchaser in #2816
- Add tps calculation based on instant blocks by @stevenlanders in #2813
- Update ledger-go dependency by @patrickjeremic in #2798
- emit rewards withdrawn events for delegate by @codchen in #2828
- perf(store): remove dead
sortedStorefield fromVersionIndexedStoreby @pdrobnjak in #2849 - Flatten
sei-tendermintgo mod intosei-chainby @masih in #2817 - perf(store): optimize
UpdateReadSetallocation pattern by @pdrobnjak in #2852 - feat: add ledger cache layer for receipt store by @jewei1997 in #2788
- fix: use MADV_RANDOM during loadtree by @blindchaser in #2857
- feat: embed genesis for well-known chains by @mojtaba-esk in #2835
- perf(store): lazy-init
sortedCacheincachekv.Storeby @pdrobnjak in #2804 - made the peer dialing less aggressive (backported #2799) by @pompon0 in #2872
- chore(refactor): drop unused code by @arajasek in #2811
- fix to halt due to reconstructing block from bad proposal (backported #2823) by @pompon0 in #2873
- fix: respect existing genesis file by @mojtaba-esk in #2868
- chore: remove wasm dir on unsafe-reset by @mojtaba-esk in #2875
- Made the consensus reactor rebroadcast NewValidBlockMessage by @pompon0 in #2874
- perf(cachemulti): lazy-init cachekv stores on first access by @pdrobnjak in #2876
- Fix inconsistent config for self remediation behind interval by @masih in #2883
- chore: guard config override in init with existing overwrite flag by @mojtaba-esk in #2878
- Composite State Store part 3: Read path implementation by @Kbhat1 in #2756
- skip LastResultsHash check if giga executor is on by @codchen in #2866
- Docs: clarify autobahn consensus vs avail roles by @wen-coding in #2864
- Fix: validate AppQC/CommitQC index alignment by @wen-coding in #2865
- fix(ledger): upgrade ledger-cosmos-go to v1.0.0 for Cosmos app v2.34+ compatibility by @besated in #2891
- Port sei-v3 PR #510: crash-safe consensus state persistence by @wen-coding in #2893
- fixed autorestart cooldown by @pompon0 in #2887
- Add --overwrite to benchmark script to satisfy new check by @stevenlanders in #2907
- fix: config issue since v6.3.0 upgrade by @mojtaba-esk in #2903
- feat: add parquet receipt store with DuckDB range queries by @jewei1997 in #2861
- feat(sei-db): add flatkv store implementation by @blindchaser in #2793
- Revert "feat(sei-db): add flatkv store implementation (#2793)" by @blindchaser in #2918
- removed tendermint binary and abciclient. by @pompon0 in #2909
- fix(giga): three fixes for v2-matching correctness by @arajasek in #2889
- chore: add init mode full default biding address by @mojtaba-esk in #2913
- Return proper error message when SS disabled by @yzang2019 in #2911
- fix: pruning goroutine lifecycle and prune failure snapshot by @blindchaser in #2800
- feat(sei-db): add flatkv store implementation by @blindchaser in #2919
- Add go bench for WAL by @yzang2019 in #2922
- Removed unused voteInfos from App. by @pompon0 in #2920
- Use composite SC for RootMultistore by @yzang2019 in #2930
- Flatten
sei-cosmosgo module intosei-chainby @masih in #2870 - fix(consensus): harden FullProposal.Verify and NewProposal against malicious proposals by @wen-coding in #2908
- fix: harden PushQC against stale QCs and unverified headers by @wen-coding in #2910
- Fix off-by-one in PushBlock that causes nil dereference panic by @wen-coding in #2924
- Use go version consistent with go mod in UCI lint by @masih in #2939
- chore: update integration test doc to the correct paths by @mojtaba-esk in #2915
- Verify LaneProposal signer and parent hash chain in PushBlock by @wen-coding in #2925
- Simplify CI test coverage and fix flaky tests by @masih in #2937
- Deflake test failures due to port already in use by @masih in #2942
- chore: delete outdated run node.py script by @mojtaba-esk in #2916
- flaky test fix by @pompon0 in #2940
- bugfix: make router load addresses from peerdb by @pompon0 in #2941
- Add FlatKV database to the benchmarking utility. by @cody-littley in #2936
- Fix
TestTimelyProposalflakiness by @masih in #2943 - IBC Update by @Kbhat1 in #2880
- Add Rate limit and concurrency control for RPC with proof queries by @masih in #2951
- Reduce SS changelog retention to use the async buffer size by @yzang2019 in #2954
- Fix flaky
TestRPCJSON-RPC test due to hardcoded port by @masih in #2945 - Fix flaky
TestClientMethodCallsby using eventual time assertion by @masih in #2946 - WAL wrapper improvements by @cody-littley in #2934
- replacing abci protobuf types with plain golang types (part 1) by @pompon0 in #2935
- Add metrics for historical proof success/failure rate by @yzang2019 in #2958
- Fix flaky
TestStateLock_POLSafety1by @masih in #2962 - Don't sync flatKV DBs when committing by @cody-littley in #2964
- Harden staking precompile test against CI flakiness by @masih in #2967
- fix: use correct EVM storage key prefix in benchmark key generation by @blindchaser in #2966
- [giga] clear up cache after Write by @codchen in #2827
- go bench read + write receipts/logs for parquet vs pebble by @jewei1997 in #2794
- Deflake
TestStateLock_NoPOLby widening propose timeout in test by @masih in #2969 - Reduce exposed tendermint RPC endpoint by @masih in #2968
- Fix Rocksdb MVCC read timestamp lifetime for iterators by @masih in #2971
- Add snapshot import for Giga Live State by @yzang2019 in #2970
- Fix hanging upgrade tests by adding timeouts to wait_for_height by @masih in #2976
- fix(giga): don't migrate balance on failed txs by @arajasek in #2961
- Fix race between file pruning and in-flight parquet queries by @masih in #2975
- merged unconditional and persistent peers status by @pompon0 in #2977
- added a config parameter to limit outbound p2p connections. by @pompon0 in #2974
- Harden
TestStateLock_NoPOLagainst proposal/timeout race by @masih in #2980 - Demote noisy gasless classification log to debug level by @masih in #2982
- Deflake mempool tests with Eventually-based block waits by @masih in #2983
- feat(flatkv): include legacyDB in ApplyChangeSets, LtHash, and read path by @blindchaser in #2978
- Add more metrics for snapshot and state sync by @yzang2019 in #2879
- Parquet remove last file if corrupted by @jewei1997 in #2981
- Fix flaky
TestPeerManager_MaxOutboundConnectionsForDialingby @masih in #2988 - Refine condecov config to avoid miss-leading drop on partial coverage by @masih in #2989
- perf: cache block-level constants in
executeEVMTxWithGigaExecutorby @pdrobnjak in #2899 - Fix
make lintby @masih in #2993 - feat(flatkv): add snapshot, WAL catchup, and rollback support by @blindchaser in #2972
- ERC20 simulation benchmark by @cody-littley in #2979
- Refactor StateStore for better readability and Giga support by @yzang2019 in #2984
- feat(evm): EVM RPC .io/.iox integration tests (spec fixtures) by @mojtaba-esk in #2985
- Deflake upgrade/downgrade tests by making restart deterministic by @masih in #2991
- Remove random address collisions in conn tracker tests by @masih in #2998
- Reduced number of addresses per NodeID in peermanager to 1 by @pompon0 in #2990
- Pex during handshake by @pompon0 in #2992
- Migrate tendermint logging to
slogand remove go-kit/log dependency by @masih in #2987 - feat(app): remove concept of prioritized txs by @arajasek in #2959
- Cody littley/cryptosim metrics by @cody-littley in #2986
- fix(giga): bail on wrong nonce as v2 does by @arajasek in #2963
- fix(flatkv): fix state sync panic on nil DB handles during snapshot restore by @blindchaser in #3003
- Extend DB benchmark to support state store (SS) backends by @Kbhat1 in #2995
- Add opts for scdual write by @yzang2019 in #3002
- fix: make GetCodeHash EVM-compliant by @arajasek in #3005
- Fix lock issue in cacheMultiStore by @yzang2019 in #3001
- fix(flatkv): prevent phantom MixOut for new accounts in LtHash by @blindchaser in #3000
- WAL utility tears itself down after the first error by @cody-littley in #3006
- Cryptosim: dormant account support by @cody-littley in #3008
- Remove go.work.sum accidentally added back by @masih in #3014
- Deflake TestNodeStartStop under CI coverage load by @masih in #3016
- Allow cryptosim benchmark to be suspended. by @cody-littley in #3007
- Convert cryptosim metrics to otel by @cody-littley in #3009
- Cody littley/db metrics by @cody-littley in #3010
- Automatically add dashboard by @yzang2019 in #3012
- fix(flatkv): sync SNAPSHOT_BASE on WriteSnapshot to avoid unnecessary WAL catchup on restart by @blindchaser in #3011
- Add more detailed phase metrics to flatKV by @cody-littley in #3018
- Show time spent per block in benchmark by @cody-littley in #3019
- Create parent dirs for RocksDB backend fully by @Kbhat1 in #3022
- Deflake async peer registration and harden PeerList.All by @masih in #2999
- Remove oracle price-feeder executable by @masih in #3015
- Remove dependency to zerolog in favour of slog by @masih in #3024
- perf(flatkv): parallelize per-DB batch commit by @blindchaser in #3020
- Fix cryptosim metrics, QOL scripting upgrades by @cody-littley in #3023
- [giga] remove Snapshot() call in Prepare() by @codchen in #2957
- do not create receipts for invisible txs by @codchen in #2997
- Source Go toolchain from official image and harden foundry install by @masih in #3031
- fix: use createdAt parameter instead of time.Now() in NewProposal by @wen-coding in #3030
- consensus: persist AppQC, blocks, and CommitQCs with async persistence by @wen-coding in #2896
- fix: carry PrepareQC lock across consecutive timeouts in voteTimeout by @wen-coding in #3029
- Update trace queue wait by timeout by @Kbhat1 in #3026
- Use latest go setup action to reduce flakes by @masih in #3040
- Parquet crash testing unit testing hooks by @jewei1997 in #3028
- feat(giga): implement iterator for the cachekv by @arajasek in #2994
- fix(giga): check whether txs follow Giga ordering by @arajasek in #2810
- Add receiptdb config option in app.toml by @jewei1997 in #3035
- Add config to enable lattice hash by @yzang2019 in #3043
- Add console logger and fix memiavl config for benchmark by @yzang2019 in #3046
- Remove codeQL from commit accept pipeline. by @cody-littley in #3048
- Background Transaction Generation by @cody-littley in #3021
- feat(flatkv): add read-only LoadVersion for state sync by @blindchaser in #3039
- Remove old codeql analysis take 2 by @masih in #3051
- feat(wal): expose AllowEmpty config and add TruncateAll method by @wen-coding in #3049
- Enable CI run for merge queue by @masih in #3052
- refactor: move benchmarks to benchmark/ and deduplicate init logic by @pdrobnjak in #2885
- Replace all loggers with package level
slogby @masih in #3050 - Fix flaky test: TestParquetFilePruning by @jewei1997 in #3053
- Add cursor context for EVM by @codchen in #3013
- Utility methods for FlatKV cache by @cody-littley in #3055
- Use semver comparator to compare upgrade names by @masih in #3059
- Fix flaky test caused by async WAL writes by @masih in #3063
- feat(flatkv): add comprehensive writing test coverage and centralize account-field semantics by @blindchaser in #3057
- chore: self-contained revert tests, contract reorg, and failure analysis by @mojtaba-esk in #3033
- chore: dcoument run RPC suite on legacy vs giga by @mojtaba-esk in #3041
- Add runtime log level control via gRPC admin service by @masih in #3062
- Fix flaky tendermint syncer test by @masih in #3065
- Refine logging to avoid printing expensive objects on hot path by @masih in #3066
- fix: restore PRs inadvertently reverted by #3039 squash-merge by @blindchaser in #3070
- Helper files for the flatKV cache implementation by @cody-littley in #3072
- Added clone method to canned random by @cody-littley in #3076
- fix(giga): match v2 correctness checks by @arajasek in #3071
- Add release 6.4 precompiles by @masih in #3079
- Backport
release/v6.4: Fix IBC Upgrade Params by @Seidroid[bot] in #3093 - Backport
release/v6.4: Fix seid version tagging logic for release branch by @Seidroid[bot] in #3094 - Backport
release/v6.4: Fix last commit hash missmatch during replay by @Seidroid[bot] in #3100 - Backport
release/v6.4: Fix SIGSEGV in historical RPC queries by @Seidroid[bot] in #3101 - Backport
release/v6.4: Fix composite snapshot import hang on EVM errors by @Seidroid[bot] in #3104 - Backport
release/v6.4: Disable zero copy for SC by @Seidroid[bot] in #3108 - Backport
release/v6.4: fixed ValidatorInfo json encoding by @Seidroid[bot] in #3115 - Backport
release/v6.4: Remove stale price snapshot creation from MidBlocker by @Seidroid[bot] in #3131 - Backport
release/v6.4: feat(giga): fallback to v2 for associations and migrations by @Seidroid[bot] in #3140 - Backport
release/v6.4: fix to ProposalPOLMessage poisoning (CON-222) by @Seidroid[bot] in #3139 - Backport
release/v6.4: Fix minor logging issues by @Seidroid[bot] in #3148 - Backport
release/v6.4: chore: sei legacy RPC deprecation by @Seidroid[bot] in #3141 - Backport
release/v6.4: Remove redundant makefiles, unused code and adjust docs by @Seidroid[bot] in #3152 - Backport
release/v6.4: Fix upgrade list comparison to respect semver by @Seidroid[bot] in #3156 - Backport
release/v6.4: Add warning message for IAVL deprecation by @Seidroid[bot] in #3161 - Backport
release/v6.4: Change default min valid per window to zero by @Seidroid[bot] in #3158 - Backport
release/v6.4: fix: sei legacy http batch by @Seidroid[bot] in #3166 - Backport
release/v6.4: Update v6.4 changelog in prep for cutting tag by @Seidroid[bot] in #3168 - Backport
release/v6.4: Fix gzip Content-Length parsing for flushed HTTP RPC responses by @Seidroid[bot] in #3173 - Backport
release/v6.4: Fix gzip double-close in EVM JSON-RPC responses by @Seidroid[bot] in #3177 - Backport
release/v6.4: Guard LastCommitID with rootmulti read lock by @Seidroid[bot] in #3186 - Backport
release/v6.4: Fix gzip corruption in EVM JSON-RPC responses via seiLegacyHTTPGate by @Seidroid[bot] in #3188 - Backport
release/v6.4: Debug Trace Speedup by @Seidroid[bot] in #3190 - Backport
release/v6.4: Make profiled block tracing opt-in by default by @Seidroid[bot] in #3189 - Backport
release/v6.4: hit ledger cache first then duckdb by @Seidroid[bot] in #3193 - Backport
release/v6.4: Fix changelog generator by @Seidroid[bot] in #3196
New Contributors
- @monty-sei made their first contribution in #2675
- @patrickjeremic made their first contribution in #2798
Full Changelog: v6.3.3...v6.4.0