docs: v6.6.0 catch-up - #61
Draft
seidroid[bot] wants to merge 60 commits into
Draft
Conversation
…ionCountByHash now recognize the genesis block hash and return the genesis block (and a tx count of 0), keeping hash-based lookups consistent with eth_getBlockByNumber("0x0"). (sei-protocol/sei-chain#3069)
…ull (instead of an error) for empty or non-existent block hashes, matching Ethereum RPC spec. (sei-protocol/sei-chain#3067)
…the config field 'max-outbound-connections' changed type/behavior and its default logic, and the RouterOptions MaxPeers/MaxConnected/MaxConcurrentDials fields were replaced by MaxInbound/MaxOutbound, affecting node connection tuning. (sei-protocol/sei-chain#3037)
… checks on signature values, access lists, auth lists, and Cosmos wrapper fields, plus a new transaction body bloat rejection that may reject previously-accepted transactions. (sei-protocol/sei-chain#3073)
…des a pub_key field (with a zero/empty public key for non-validator nodes) for CosmJS compatibility, changing the status response output. (sei-protocol/sei-chain#3114)
…tBlockByNumber returns null (not an error) for future/non-existent numeric block heights, and eth_getProof works across additional store backends (tracekv, Giga cache, other proof-capable stores) instead of only classic IAVL. (sei-protocol/sei-chain#3119)
…ctionCountByHash RPC methods now return counts consistent with getBlockByNumber, filtering EVM txs by receipt availability and including wasm execute and bank send messages. (sei-protocol/sei-chain#3125)
…sc-enable-lattice-hash) were removed from the node config TOML template, and split_write mode now requires lattice hash to be enabled. (sei-protocol/sei-chain#3128)
… from 5% to 0% because the Oracle Price Feeder is retired. (sei-protocol/sei-chain#3157)
…arnings urging users to migrate to SeiDB to avoid data corruption or panic. (sei-protocol/sei-chain#3159)
…h requests by forwarding only the allowed subset and merging responses by id, and the HTTP request body limit was lowered from 32MiB to 5MiB to match go-ethereum's default. (sei-protocol/sei-chain#3160)
…commit (SC) is now mandatory; multiple CLI commands and config fields tied to IAVL/pruning have been removed, and the node will panic if SC is not enabled. (sei-protocol/sei-chain#3146)
… generate an Autobahn (GigaRouter) JSON config from node pubkey files, plus new side-effect files (validator_pubkey.txt, node_pubkey.txt) written when saving keys. (sei-protocol/sei-chain#3220)
…receipt store retention is now always derived from the global `min-retain-blocks` flag. (sei-protocol/sei-chain#3237)
…the node now disables the mempool gossip reactor, consensus reactor, state sync, and block sync, and the Autobahn block producer sources transactions directly from the mempool with new per-block limits (max 2000 txs, ~2MB total). (sei-protocol/sei-chain#3224)
…C 2.0 notification rules: notifications (requests without an id) produce no response entries, so merged batch responses are no longer 1:1 with the request, and an all-notification/empty result returns an empty HTTP body instead of an empty array []. (sei-protocol/sei-chain#3246)
…array [] instead of null when there are no matching logs, aligning with the Ethereum JSON-RPC spec. (sei-protocol/sei-chain#3292)
…ubdirectory layout (data/state_commit, data/state_store, data/ledger, data/tendermint) for new nodes, with automatic backward-compatible fallback to legacy flat paths for existing nodes. (sei-protocol/sei-chain#3155)
…ed, receipt-by-tx-hash lookups that miss the cache now fail fast with an error instead of falling back to a full parquet scan, affecting operators who run nodes with the tx index disabled. (sei-protocol/sei-chain#3294)
…quet (previously unchanged), though callers can still override with an explicit RECEIPT_BACKEND env var. (sei-protocol/sei-chain#3298)
…eturns trace results with detailed timing/store-access profiling, plus a new seidb trace-profile-report CLI command to run it across a block range. (sei-protocol/sei-chain#3267)
…ck_height` field in SyncInfo, and under Autobahn the status endpoint populates height/app-hash from the app layer instead of the CometBFT block store. (sei-protocol/sei-chain#3309)
…l are now treated as normal requests (receiving a response) instead of as notifications; only requests omitting the "id" member are treated as notifications. (sei-protocol/sei-chain#3303)
…ded to sei-tendermint as a temporary disaster-recovery mechanism for chain stalls, requiring validator majority coordination to enable. (sei-protocol/sei-chain#3305)
…ults to true, and the coordination semantics are inverted so validators must coordinate to set it to false. (sei-protocol/sei-chain#3318)
… flag to the `state-size` command for analyzing FlatKV stores. (sei-protocol/sei-chain#3312)
…eprecated and ignored; stateless leader election is always enabled regardless of the value set. (sei-protocol/sei-chain#3319)
…with one extra element (the projected child base fee for the block after the newest block), matching go-ethereum/execution-apis semantics. (sei-protocol/sei-chain#3321)
…/block_by_hash, /block_results, and /validators now serve data via the GigaRouter's in-memory state instead of returning empty/failing responses when the CometBFT BlockStore/StateStore is unpopulated. (sei-protocol/sei-chain#3310)
…aRouter block execution path to prevent valid out-of-order EVM nonce transactions from being evicted and stalling throughput to one tx per block per sender. (sei-protocol/sei-chain#3372)
…s that fail during state transition (e.g. EIP-7623 floor-data-gas check), so eth_getTransactionReceipt returns a receipt instead of null for nonce-bumping failed txs. (sei-protocol/sei-chain#3383)
…sses AppHash and DataHash block validation, producing a separate `seid` Docker image tagged `mock_block_validation-*` for testing environments. (sei-protocol/sei-chain#3401)
…m] app.toml fields that pre-computes and caches debug_trace* results for RPC nodes. (sei-protocol/sei-chain#3359)
… `memiavl-latest-version`) and a new `dump-flatkv --bucket` option for migrating/importing EVM state from memiavl into FlatKV, along with the KVImporter Abort/Err lifecycle used by that tool. (sei-protocol/sei-chain#3417)
…y-app/--abci/--address/--transport flags and proxy-app/abci config fields), the EVM mempool nonce/pending logic was reworked, and eth_getTransactionCount pending nonce is now served via a new mempool endpoint. (sei-protocol/sei-chain#3410)
…Fail trace endpoints changed their filtering logic so that reverted/OOG transactions (which ran in the VM and produce traces) are now included, while only ante-rejected and synthetic txs are excluded. (sei-protocol/sei-chain#3450)
…eTraceFail endpoints now use a broader discriminator so they drop ante-deferred stub transactions (e.g. insufficient-funds/fee failures with EffectiveGasPrice==0 && GasUsed==0), whereas regular eth_getBlockBy* responses still include them. (sei-protocol/sei-chain#3459)
…dators, requiring a new evmrpc_url.txt file per node and a new evmrpc field in the autobahn config, plus a new evmrpc_redirected_requests_total metric. (sei-protocol/sei-chain#3438)
…t bank's CanSendTo check, rejecting SetWithdrawAddr for recipients not allowed to receive external funds and falling back to the delegator address when a stored withdraw address becomes invalid. (sei-protocol/sei-chain#3463)
…tobahn-config command that controls where autobahn consensus and data WALs are persisted, defaulting to data/autobahn (persistence on) with an empty value disabling persistence for in-memory-only operation. (sei-protocol/sei-chain#3483)
…al OTel MeterProvider, removing the MetricsNamespace and MetricsRegistry config fields and renaming/re-unitting all exported metric names. (sei-protocol/sei-chain#3466)
…o decode, and nil (decode-failure) transactions cause block gas checks to reject the proposal rather than being skipped. (sei-protocol/sei-chain#3464)
…) when a transaction's block is above the safe-latest watermark, aligning with the Ethereum JSON-RPC spec's 'not yet mined' signal. (sei-protocol/sei-chain#3501)
…L config semantics and behavior around expired-tx pruning, cache handling, and recheck; TTLDuration/TTLNumBlocks now default to being disabled when zero and RemoveExpiredTxsFromQueue behavior is clarified. (sei-protocol/sei-chain#3476)
…-keys-to-migrate-per-block` app.toml config field, a `GIGA_MIGRATE_FROM_MEMIAVL` cluster env var, and a `-mode` flag to the evm_stress tool, all supporting the FlatKV EVM migration flow. (sei-protocol/sei-chain#3473)
…pplies consistently across debug_traceTransaction, debug_traceBlockByNumber, debug_traceBlockByHash, debug_traceCall, debug_traceStateAccess, and debug_traceTransactionProfile, rejecting requests targeting historical blocks beyond the configured lookback. (sei-protocol/sei-chain#3515)
…ons via an indexed EVM-hash store instead of paginating unconfirmed txs, and UnconfirmedTxs RPC now reads from a recent mempool snapshot changing pagination/total-bytes semantics. (sei-protocol/sei-chain#3546)
…eworks gas params into wanted/estimated variants, and the giga RPC path now rejects unsafe_flush_mempool and changes some mempool-related behaviors. (sei-protocol/sei-chain#3522)
…er images) that swallows most consensus validation failures, and adds a new sei_unsafe_validation_skipped_total metric emitted by non-default consensus policies. (sei-protocol/sei-chain#3429)
…mode` config field, enabling nodes to boot directly in the post-migration FlatKV-only steady state with correct state-sync and snapshot behavior. (sei-protocol/sei-chain#3545)
…-num-blocks) are now deprecated and have no effect, and BroadcastTxCommit now respects the timeout-broadcast-tx-commit config value. (sei-protocol/sei-chain#3567)
…tion, channel, and core packet operations that node operators can scrape for observability. (sei-protocol/sei-chain#3543)
…fig fields have been removed; pebbledb is now the only supported receipt-store backend. (sei-protocol/sei-chain#3580)
…h_getBlockTransactionCountByHash now return a 'receipts have been pruned' error when the requested block's receipts have been pruned from the receipt store. (sei-protocol/sei-chain#3216)
…to the LittDB Table interface, along with a new litt_open_iterator_count metric, enabling developers to scan keys/values and query boundary keys. (sei-protocol/sei-chain#3593)
…nt committee and introduced wireguard size/count limits on consensus protobuf messages, changing acceptance/rejection behavior for oversized network payloads. (sei-protocol/sei-chain#3609)
…ed that gates whether the Unsafe*TimeoutOverride fields take effect, changing how timeout overrides behave on nodes. (sei-protocol/sei-chain#3601)
…nd sei_traceBlockByHashExcludeTraceFail have been removed from the EVM RPC server and legacy sei API allowlist. (sei-protocol/sei-chain#3618)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documentation catch-up for v6.6.0.
30 source PR(s) produced changes. Each is a separate commit, so this reviews commit-by-commit.
node/advanced-config-monitoring.mdxnode/advanced-config-monitoring.mdx,node/node-operators.mdxevm/reference.mdx,evm/transactions.mdxnode/index.mdxmock_block_validationGo build tag that bypasses AppHash and DataHash block validation, producing a separateseidDocker image taggedmock_block_validation-*for testing environments.node/node-operators.mdx,evm/tracing/index.mdxnode/troubleshooting.mdxseidb import-flatkv-from-memiavlCLI command (plusmemiavl-latest-version) and a newdump-flatkv --bucketoption for migrating/importing EVM state from memiavl into FlatKV, along with the KVImporter Abort/Err lifecycle used by that tool.node/technical-reference.mdx,node/node-operators.mdxevm/reference.mdx,evm/tracing/index.mdxevm/tracing/index.mdx,evm/reference.mdxnode/technical-reference.mdx,node/advanced-config-monitoring.mdxevm/precompiles/distribution.mdxnode/technical-reference.mdxnode/advanced-config-monitoring.mdxevm/differences-with-ethereum.mdxevm/reference.mdxnode/node-operators.mdx,node/technical-reference.mdxnode/node-operators.mdx,node/technical-reference.mdx,node/giga-storage-migration.mdxmigrate-evm-statusCLI subcommand, a newsc-keys-to-migrate-per-blockapp.toml config field, aGIGA_MIGRATE_FROM_MEMIAVLcluster env var, and a-modeflag to the evm_stress tool, all supporting the FlatKV EVM migration flow.evm/reference.mdx,node/advanced-config-monitoring.mdxevm/reference.mdxnode/technical-reference.mdx,node/technical-reference.mdx,evm/reference.mdxnode/index.mdxnode/giga-storage-migration.mdxflatkv_onlyvalue of thesc-write-modeconfig field, enabling nodes to boot directly in the post-migration FlatKV-only steady state with correct state-sync and snapshot behavior.node/node-operators.mdx,node/technical-reference.mdx,node/index.mdxnode/advanced-config-monitoring.mdxnode/node-operators.mdx,node/giga-storage-migration.mdxevm/reference.mdxnode/advanced-config-monitoring.mdxnode/technical-reference.mdxnode/node-operators.mdxunsafe-overrides-enabledwas added that gates whether the Unsafe*TimeoutOverride fields take effect, changing how timeout overrides behave on nodes.evm/tracing/index.mdx,node/node-operators.mdxReviewer notes
GIGA_MIGRATE_FROM_MEMIAVLand the evm_stress-modeflag are test/CI-only tooling not covered in operator docs, so no doc gap is flagged for them beyond the migration-flow context. (2) The new seidb_migration_* metrics could warrant an entry in node/advanced-config-monitoring.mdx if operators are expected to scrape them, but the diff does not indicate these are operator-facing production metrics (migration is a one-time flow), so I did not flag that page — reviewer may reconsider if migration metrics should be documented alongside FlatKV/LittDB metrics. (3) The FlatKV EVM SC migration is a distinct concept from the SS-store migration in giga-storage-migration.mdx; a reviewer may prefer a new dedicated page rather than extending that guide, but no existing page cleanly covers the SC-side FlatKV EVM migration so add_section on the closest page is the conservative call.max_trace_lookback_blocksconfig field (documented in node/advanced-config-monitoring app.toml asmax_trace_lookback_blocks, default 10000, -1 for unlimited). The behavior change is that this guard now applies to all debug_trace* endpoints, not just debug_traceBlockByNumber — worth clarifying in the reference. The evm/tracing/index.mdx overview page lists all trace methods but describes cache behavior, not lookback limits, so it likely does not need an update, though a reviewer may consider adding a note there about historical block rejection.unsafe-overrides-enabledfield and updated override comments will likely appear once regenerated — but the surrounding prose/descriptions of override behavior still need a manual correction. The config.toml content was truncated in the supplied page right at the[consensus]Unsafe Timeout Overrides section, so verify the exact insertion point. node/technical-reference.mdx also shows a partial[consensus]config.toml block but its unsafe-override fields were truncated; if that block lists the override fields it may also need the new field/behavior note. Migration note for reviewers: nodes relying on Unsafe*TimeoutOverride will silently stop applying overrides after upgrade unless they setunsafe-overrides-enabled = true(or onchain params still equal the legacy pacific-1 badParams) — this backward-compat/migration nuance should be called out to operators.Flagged by a review of the assembled diff. Each source PR was analysed in isolation, so these were invisible to the per-PR checks. Verify before merging — the checker cannot tell which side of a contradiction is correct.
Analyzing the diff for the three categories of issues:
sc-keys-to-migrate-per-blockdefault contradiction: Ingiga-storage-migration.mdxit states the default is1024and "must be> 0", but innode-operators.mdxthe entiresc-write-mode/sc-keys-to-migrate-per-blockconfig block is removed from the template. This makes the setting described as both removed (from the app.toml template) and configurable (documented knob in the migration flow). (Category 3)sc-write-moderemoved vs. configurable:node-operators.mdxdeletes thesc-write-modefield (with its valid values) from the app.toml template, whilegiga-storage-migration.mdxdocumentssc-write-modeextensively as an operator-setapp.tomlfield ([state-commit]section) driving the migration. Described as both removed and configurable. (Category 3)FlatKV directory path inconsistency: The
dump-flatkvexamples use two different DB dirs —$HOME/.sei/data/state_commit/flatkv(with underscore) in one example and$HOME/.sei/data/flatkvin another. Alsotechnical-reference.mdxusesdata/state_commit/flatkv. Inconsistent path for the same FlatKV directory. (Category 1)min_valid_per_window/ oracle default:technical-reference.mdxstates the default "changed from 5%" to0%. This is internally consistent (not a contradiction on its own) — noted only if paired elsewhere; no conflicting value appears. (No issue.)evm-ss-db-directorydefault path:node-operators.mdxsays it defaults to<home>/data/state_store/evm/{backend}, consistent withgiga-storage-migration.mdx(data/state_store/evm/{backend}). (Consistent — no issue.)data/autobahnpersistence default: consistently described. (No issue.)GIGA_STORAGE/RECEIPT_BACKENDdefault (pebble) and parquet removal: consistently described across files. (No issue.)Generated by sei-docs-bridge. Every change is a proposal — verify against the source PRs before merging.