Skip to content

docs: v6.6.0 catch-up - #61

Draft
seidroid[bot] wants to merge 60 commits into
mainfrom
docs-bridge/release-v6.6.0
Draft

docs: v6.6.0 catch-up#61
seidroid[bot] wants to merge 60 commits into
mainfrom
docs-bridge/release-v6.6.0

Conversation

@seidroid

@seidroid seidroid Bot commented Aug 12, 2026

Copy link
Copy Markdown

Documentation catch-up for v6.6.0.

30 source PR(s) produced changes. Each is a separate commit, so this reviews commit-by-commit.

source PR pages touched summary
sei-protocol/sei-chain#3265 node/advanced-config-monitoring.mdx The EVM RPC layer adds new OpenTelemetry metrics (evmrpc_request_latency_seconds histogram and evmrpc_websocket_connects_total counter) alongside legacy Prometheus metrics, which node operators monitoring dashboards should know about.
sei-protocol/sei-chain#3366 node/advanced-config-monitoring.mdx, node/node-operators.mdx Adds OpenTelemetry metrics instrumentation across the FlatKV state store and introduces an EnablePebbleMetrics config knob that overrides per-DB EnableMetrics settings.
sei-protocol/sei-chain#3383 evm/reference.mdx, evm/transactions.mdx Giga executor now writes a status=0 receipt for EVM transactions 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#3401 node/index.mdx Introduces a new mock_block_validation Go build tag that bypasses AppHash and DataHash block validation, producing a separate seid Docker image tagged mock_block_validation-* for testing environments.
sei-protocol/sei-chain#3359 node/node-operators.mdx, evm/tracing/index.mdx Adds a new opt-in trace-baking feature configurable via new [evm] app.toml fields that pre-computes and caches debug_trace* results for RPC nodes.
sei-protocol/sei-chain#3417 node/troubleshooting.mdx Adds a new seidb import-flatkv-from-memiavl CLI command (plus 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#3410 node/technical-reference.mdx, node/node-operators.mdx Out-of-process ABCI support was removed (deprecating the --proxy-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#3450 evm/reference.mdx, evm/tracing/index.mdx The sei_getTransactionReceiptExcludeTraceFail and *ExcludeTraceFail 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#3459 evm/tracing/index.mdx, evm/reference.mdx The sei_getBlockByExcludeTraceFail and sei_traceBlockByExcludeTraceFail 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#3438 node/technical-reference.mdx, node/advanced-config-monitoring.mdx Adds EVM RPC transaction proxying/sharding across autobahn validators, 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#3463 evm/precompiles/distribution.mdx The distribution module now validates withdraw addresses against 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#3483 node/technical-reference.mdx Adds a new --persistent-state-dir flag to the tendermint gen-autobahn-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#3466 node/advanced-config-monitoring.mdx LittDB metrics were migrated from Prometheus client to the global OTel MeterProvider, removing the MetricsNamespace and MetricsRegistry config fields and renaming/re-unitting all exported metric names.
sei-protocol/sei-chain#3464 evm/differences-with-ethereum.mdx ProcessProposal now rejects blocks when any transaction fails to decode, and nil (decode-failure) transactions cause block gas checks to reject the proposal rather than being skipped.
sei-protocol/sei-chain#3501 evm/reference.mdx eth_getTransactionReceipt now returns null (instead of an error) 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#3476 node/node-operators.mdx, node/technical-reference.mdx The Tendermint mempool was substantially rewritten, changing TTL 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#3473 node/node-operators.mdx, node/technical-reference.mdx, node/giga-storage-migration.mdx Adds a new seidb migrate-evm-status CLI subcommand, a new sc-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#3515 evm/reference.mdx, node/advanced-config-monitoring.mdx The max block lookback guard for debug_trace* RPC methods now applies 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#3546 evm/reference.mdx The eth_getTransactionByHash RPC now looks up mempool transactions 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#3522 node/technical-reference.mdx, node/technical-reference.mdx, evm/reference.mdx The Autobahn (giga) config removes the mempool_size field and reworks 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#3429 node/index.mdx Introduces a new mock_chain_validation build tag (with new Docker 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#3545 node/giga-storage-migration.mdx Adds full support for the flatkv_only value of the sc-write-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#3567 node/node-operators.mdx, node/technical-reference.mdx, node/index.mdx Two mempool config fields (pending-ttl-duration and pending-ttl-num-blocks) are now deprecated and have no effect, and BroadcastTxCommit now respects the timeout-broadcast-tx-commit config value.
sei-protocol/sei-chain#3543 node/advanced-config-monitoring.mdx Adds new OpenTelemetry metrics for IBC transfer, client, connection, channel, and core packet operations that node operators can scrape for observability.
sei-protocol/sei-chain#3580 node/node-operators.mdx, node/giga-storage-migration.mdx The parquet/DuckDB receipt store backend and its associated config fields have been removed; pebbledb is now the only supported receipt-store backend.
sei-protocol/sei-chain#3216 evm/reference.mdx The EVM RPC methods eth_getBlockTransactionCountByNumber and eth_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#3593 node/advanced-config-monitoring.mdx Adds a new Iterator API plus GetOldestKey/GetNewestKey methods 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#3609 node/technical-reference.mdx Added a hard cap of 100 validators to the Autobahn/sei-tendermint committee and introduced wireguard size/count limits on consensus protobuf messages, changing acceptance/rejection behavior for oversized network payloads.
sei-protocol/sei-chain#3601 node/node-operators.mdx A new consensus config field unsafe-overrides-enabled was added that gates whether the Unsafe*TimeoutOverride fields take effect, changing how timeout overrides behave on nodes.
sei-protocol/sei-chain#3618 evm/tracing/index.mdx, node/node-operators.mdx The JSON-RPC endpoints sei_traceBlockByNumberExcludeTraceFail and sei_traceBlockByHashExcludeTraceFail have been removed from the EVM RPC server and legacy sei API allowlist.

Reviewer notes

  • feat(evmrpc): migrate RPC telemetry to OpenTelemetry Meter API sei-chain#3265 — The monitoring page currently documents only Tendermint/Cosmos metrics and generic Prometheus/Grafana setup; there is no existing coverage of EVM RPC metrics (legacy sei_rpc_request_latency_ms, sei_websocket_connect, or the new evmrpc_* OTEL metrics), so this is a new section rather than an update. The legacy sei_* metrics being deprecated (PLT-326) should be flagged for operators still relying on them. No migration step is required by node operators, but dashboard queries should be migrated from sei_* to evmrpc_* before the legacy metrics are removed.
  • metrics(flatkv): add FlatKV observability metrics and logs sei-chain#3366 — The new EnablePebbleMetrics config field must be surfaced with its documented default (the diff's test toggles it to false but does not reveal the DefaultConfig default; a reviewer should confirm the actual default value before finalizing edit content). No page currently documents FlatKV OpenTelemetry metrics; the existing EVM RPC OpenTelemetry Metrics section in advanced-config-monitoring.mdx is the natural home for the new flatkv_* metrics. No migration step is required.
  • fix(giga): write receipt for state-transition errors that bump the nonce (CON-256) sei-chain#3383 — The core change is a node-side behavior fix ensuring eth_getTransactionReceipt returns a failed receipt instead of null for nonce-bumping state-transition failures under the Giga executor. The most accurate place to document it is the eth_getTransactionReceipt method note in evm/reference.mdx. The EIP-7623 floor-data-gas nuance is Pectra-specific; evm/differences-with-ethereum.mdx notes Pectra support but a receipt-behavior note there is optional. Judgment call: the transaction-lifecycle/error-handling example pages describe status:0/reverted semantics generically and likely don't need changes.
  • feat: gate block-validation bypasses behind //go:build mock_block_validation sei-chain#3401 — This is a build-tag/Docker-image change for testing environments only. No user-facing config flag or endpoint is affected, and production behavior is unchanged (zero-value ConsensusPolicy enforces full validation). The sei-docs pages provided do not document build tags or the ECR/Docker testing images (mock_balances, mock_block_validation) at all, so coverage is minimal. The strongest candidate is node/index.mdx's Docker install section, but note the tagged images referenced in the PR go to an internal ECR registry (sei/sei-chain) rather than the public ghcr.io images documented there — so a reviewer should decide whether documenting an internal testing image is even appropriate for public docs. It may be reasonable to conclude no public docs change is warranted; flagging as a low-confidence gap.
  • TraceDB: Add async debug_trace caching sei-chain#3359 — The app.toml template in node/node-operators.mdx (AUTO-GENERATED block) already reflects the new trace_bake_* fields, including trace_bake_use_snapshot and trace_bake_snapshot_window fields that are NOT part of this PR's diff — suggesting the template is auto-synced separately. The documentation gap is in the human-written prose, not the generated template. The evm/reference.mdx debug_traceTransaction entry already mentions that callTracer/prestateTracer/flatCallTracer results are 'pre-baked/cached via TraceBaker,' so that page may already be adequately covered. No migration step is required since the feature is opt-in (default false), but operators should be warned about additional disk usage and the WAL flush on shutdown.
  • test(flatkv): Expands docker-level FlatKV coverage  sei-chain#3417 — The PR adds operator-facing seidb subcommands (import-flatkv-from-memiavl, memiavl-latest-version) and a dump-flatkv --bucket option. dump-flatkv --bucket is already documented in node/troubleshooting.mdx, so that flag is effectively covered; the main gap is that the two new subcommands and the FlatKV import/migration workflow are undocumented anywhere. The detailed OPERATIONS.md added in the PR is an in-repo design/roadmap doc describing future tooling (migrate-evm-status/verify/reconcile) that does not exist yet — do NOT mirror that speculative tooling into sei-docs; only document the commands actually shipped. Judgment call: giga-storage-migration.mdx is about the SS split, whereas this PR is about the SC-layer FlatKV import, so a dedicated section (or eventually a dedicated page) may be cleaner — flagged as add_section for now. Migration caveat worth surfacing to operators: import height must equal memiavl latest to avoid a destructive cosmos rollback via reconcileVersions, and --force is required to overwrite existing committed FlatKV data.
  • Removed callbacks from TxMempool sei-chain#3410 — The core change (removal of out-of-process ABCI, deprecation of --proxy-app/--abci/--address/--transport flags and proxy-app/abci config fields) is a node-operator concern; the migration doc lives in-repo at docs/migration/seiv2_config_migration.md, but the public sei-docs config references should still be updated. The config.toml block in node-operators.mdx is marked AUTO-GENERATED, so the fix there may need to flow from the generator/template rather than a manual edit. The eth_getTransactionCount pending-nonce reworking is an internal implementation detail; existing evm/reference.mdx already documents that the pending tag returns EvmNextPendingNonce from the mempool, so no doc gap exists for that behavioral change.
  • evmrpc: include reverts in *ExcludeTraceFail discriminator (CON-296) sei-chain#3450 — The core behavior change is in the *ExcludeTraceFail endpoints (sei_getTransactionReceiptExcludeTraceFail and the debug traceBlock ExcludeTraceFail variants). These are legacy/Sei-specific extensions that are only lightly referenced in the docs — the reference.mdx legacy methods table (which appears truncated in the provided content) is the most authoritative place. Judgment call: no dedicated page fully documents these endpoints' filtering logic, so the tracing overview is the best secondary spot to clarify semantics. No migration step is required; this is a behavioral fix that makes results more inclusive.
  • evmrpc: filter ante stubs from *ExcludeTraceFail (CON-296) sei-chain#3459 — The change affects the deprecated sei_* extension endpoints (block and trace ExcludeTraceFail variants). The tracing/index.mdx page is the most authoritative doc for ExcludeTraceFail filtering semantics and has a factual inaccuracy (only checks EffectiveGasPrice=0, missing the GasUsed==0 conjunct). Judgment call: the reference.mdx sei_* table is truncated in the provided content, so the exact ExcludeTraceFail descriptions there could not be fully verified — a reviewer should confirm whether that table's block/trace ExcludeTraceFail rows need wording updates. No new page or migration step is required.
  • rpc sharding by tx sender for autobahn sei-chain#3438 — The evmrpc transaction proxying behavior (eth_sendRawTransaction and pending eth_getTransactionCount forwarded to the shard-owning validator) is partially reflected in evm/reference.mdx, which already mentions EvmProxy forwarding for both eth_sendRawTransaction and eth_getTransactionCount pending nonce — so no update is strictly needed there, though a reviewer may wish to add a brief note describing the shard-based proxying mechanism. The migration note (each node directory now requires evmrpc_url.txt for gen-autobahn-config) is the most important gap; flag that operators running gen-autobahn-config must add this file or the command will error. The docker localnode script change is internal tooling and does not require doc changes.
  • Harden distribution withdraw address handling sei-chain#3463 — The change lives in the Cosmos distribution module but is surfaced to EVM users via the distribution precompile's setWithdrawAddress function, so evm/precompiles/distribution.mdx is the most relevant page. No dedicated Cosmos SDK distribution module doc page was provided (Cosmos SDK docs are deprecated), so the precompile page is the right place to document the behavior. No migration step is required, but reviewers should confirm the exact error surfaced to EVM callers (Solidity revert) when the recipient check fails.
  • autobahn: feed persistent_state_dir into data WAL (CON-256) sei-chain#3483 — The change adds a CLI flag and config field that affect on-disk layout (WALs persisted under data/autobahn) and behavior (persistence now on by default). The most relevant existing page is node/technical-reference.mdx, which already documents gen-autobahn-config and the config.toml autobahn-config-file reference. The File Locations tree in the same page could optionally mention the new data/autobahn WAL directory, but the primary gap is the missing --persistent-state-dir flag documentation. No migration step is required, but operators should be aware persistence is now enabled by default without action.
  • STO-533: Convert littdb to use otel sei-chain#3466 — The source PR migrates LittDB metrics from a Prometheus client to the global OTel MeterProvider and removes the MetricsNamespace and MetricsRegistry config fields while changing MetricsPort behavior. None of the supplied docs pages document LittDB config fields or its metric names, so there is no existing config-field doc to correct — the gap is purely in the monitoring/metrics reference. I recommended add_section on advanced-config-monitoring.mdx because it already hosts parallel 'EVM RPC OpenTelemetry Metrics' and 'FlatKV OpenTelemetry Metrics' sections, making it the natural home. If the LittDB Config fields (MetricsNamespace/MetricsRegistry/MetricsPort) are exposed to node operators anywhere in app.toml docs, that would need a config-field update too, but no such surface appears in the supplied pages — worth a human check. Migration note: dashboards/queries referencing the old namespaced names (e.g. {namespace}_read_latency_ms, {cacheName}_cache_weight) and any app config supplying MetricsRegistry/MetricsNamespace must be updated.
  • Tidy app gas accounting loop and tests sei-chain#3464 — The change is a proposal-processing behavior: any undecodable transaction now rejects the whole block proposal, and nil (decode-failure) txs cause block gas checks to reject rather than skip. This is closely related to the existing decode-rejection docs in evm/differences-with-ethereum.mdx ('Rejection of bloated (non-canonical) transaction bodies') and evm/transactions.mdx, where malformed/non-canonical decode failures are already described as being rejected — so the observable end-user effect (malformed txs rejected) is largely covered. The new, undocumented nuance is that the rejection now escalates to the entire block proposal during ProcessProposal rather than only affecting the single tx. This is an internal consensus mechanism detail; it is a judgment call whether it warrants a docs edit at all, since operators/developers cannot craft other users' block contents. No node/configuration flag, default value, or endpoint changed, so node/*.mdx pages are unaffected. If reviewers consider this purely internal, has_gap could reasonably be false.
  • evmrpc: return null from eth_getTransactionReceipt for blocks above safe latest sei-chain#3501 — The change makes eth_getTransactionReceipt return null (not an error) when the receipt's block is above the safe-latest watermark, aligning with eth_getBlockByNumber. The reference page already documents the related status=0 nonce-bump receipt behavior for this method, so this is a targeted addition to the same note. evm/transactions.mdx also discusses receipt behavior for failed transactions but focuses on the status=0 case; a reviewer may optionally consider a brief note there, though the RPC reference is the primary and most accurate place. No migration step required.
  • TxMempool rewrite (CON-305) sei-chain#3476 — The core change is in Tendermint mempool internals (TTL Option semantics, RemoveExpiredTxsFromQueue behavior, and a substantial rewrite affecting ordering/eviction/gossip). The docs config templates are auto-generated (AUTO-GENERATED:CONFIG_TOML) so they may regenerate from the source binary — however the human-readable comments describing TTL semantics ("if non-zero...") are now inaccurate, since zero now means disabled rather than a specific inline behavior. There is no dedicated mempool config reference page documenting RemoveExpiredTxsFromQueue explicitly; it currently only appears indirectly. Judgment call: the node/index.mdx mempool tuning snippets set ttl-duration/ttl-num-blocks to non-zero values so they are unaffected in practice, but operators relying on zero-to-mean-something should be warned. No migration step is strictly required, but operators who intentionally set TTL to 0 expecting the old behavior may see behavior change (TTL purging now disabled).
  • testing(flatkv): evm migration int testings sei-chain#3473 — The bulk of the diff is internal migration-manager plumbing (firstBatchInBlock semantics, hybrid-read fallback, old-DB iteration, DBWriter signature change, new seidb_migration_* OTel metrics) that is not currently surfaced in docs. Judgment calls: (1) GIGA_MIGRATE_FROM_MEMIAVL and the evm_stress -mode flag 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.
  • evmrpc: gate historical debug trace calls sei-chain#3515 — The lookback limit is governed by the existing max_trace_lookback_blocks config field (documented in node/advanced-config-monitoring app.toml as max_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.
  • UnconfirmedTxs improvements (CON-322) sei-chain#3546 — The core changes are internal implementation details (indexed EVM-hash mempool lookup, mempool duplicate-EVM-hash rejection, EVMHash required in CheckTx, and UnconfirmedTxs reading from a recent snapshot). These are largely invisible to end users of the documented RPC surface. The only user-facing doc touchpoint is the eth_getTransactionByHash prose in evm/reference.mdx, which is still broadly accurate but describes the old lookup mechanism. There is no dedicated sei-docs page for the Tendermint UnconfirmedTxs RPC or mempool internals, and the pagination/total-bytes semantics change and duplicate-EVM-hash rejection are not documented anywhere — arguably no user-facing doc gap exists for those, so no new page is strictly required. Judgment call: the reference update is optional/minor; if strict accuracy of the mechanism description is not required, this could be treated as has_gap: false.
  • autobahn mempool sei-chain#3522 — The removed mempool_size field is referenced in the seid gen-autobahn-config docs (node/technical-reference.mdx). The wanted vs estimated gas split (MaxGasWantedPerBlock/MaxGasEstimatedPerBlock derived from genesis MaxGasWanted/MaxGas) is a new config surface that is not documented anywhere; the technical-reference gas-limit description should be revisited. The unsafe_flush_mempool behavior change is a user-visible RPC error but is only lightly covered — evm/reference.mdx documents Autobahn RPC behaviors but does not currently mention unsafe_flush_mempool; verify whether a Tendermint RPC method list exists there before adding. These are all Autobahn/giga-only behaviors, so gate any doc edits to the giga context to avoid confusing non-giga node operators.
  • feat(consensus-policy): mock_chain_validation build tag — HandleError + replay-path fix (PLT-338) + CI image sei-chain#3429 — The mock_block_validation warning in node/index.mdx describes it as bypassing AppHash and DataHash validation, which is still accurate after this refactor (the swallow set is unchanged) — only the new mock_chain_validation variant needs adding. The build-tag/binary variants are not deeply documented anywhere; the Docker warning box is the closest existing surface, so it's used for both the new image and testing context. The sei_unsafe_validation_skipped_total metric is operator-facing but only meaningful on testing binaries; consider clarifying that in the added metrics section. No migration steps are required.
  • fix(flatkv): implement flatkv_only mode state-sync int testings sei-chain#3545 — The core change is a new supported value ('flatkv_only') for the existing sc-write-mode config field, which is only documented in node/giga-storage-migration.mdx's 'Write modes' subsection — that page is the clear home for it. The empty-value WAL-replay correctness fix is an internal bug fix with no user-facing config surface and does not itself require a doc change. app.toml default docs in node/node-operators.mdx do not enumerate sc-write-mode values, so no update is needed there. Judgment call: only add_section on the migration guide is warranted; no new page is needed.
  • mempool evm metadata cache (CON-342) sei-chain#3567 — The two mempool fields (pending-ttl-duration, pending-ttl-num-blocks) are deprecated and ignored per the config.go and mempool.go changes; docs currently present them as functional. The BroadcastTxCommit change makes it respect timeout-broadcast-tx-commit — the config field is already documented (default 10s) but its enforcement behavior for the RPC endpoint is a new detail worth a brief note. Note that under Giga/Autobahn mode BroadcastTxCommit routes through the producer mempool, but the timeout wrapping applies regardless; reviewer should confirm phrasing. No new page is needed.
  • feat(ibc): migrate sei-ibc-go metrics to OpenTelemetry with dual emission sei-chain#3543 — This page already documents other OpenTelemetry metric families (EVM RPC, FlatKV, LittDB) in the same style, so the new IBC metrics fit naturally as an additional section rather than a new page. Note that IBC/Cosmos functionality is being deprecated per SIP-3 (see cosmos-sdk/index.mdx) and IBC is disabled in both directions as of July 2026 — the reviewer may want to weigh whether documenting new IBC observability metrics is still warranted given the deprecation, though the metrics remain emitted by the node. The legacy telemetry counters these metrics parallel are marked for removal (TODO PLT-428), so this is a migration-in-progress situation worth flagging.
  • Remove unused parquet and duckdb receipt store sei-chain#3580 — The core config change lives in sei-db/config, but the docs that surface receipt-store backend options to operators are node/node-operators.mdx (default app.toml + Notes) and node/giga-storage-migration.mdx (Giga Storage FAQ). The node-operators.mdx app.toml block is AUTO-GENERATED and already shows only 'pebble (aka pebbledb)' in the generated section, but the hand-written [receipt-store] example and two Notes still reference parquet and TxIndexBackend and must be updated. No migration step is required for operators, but any node explicitly configured with rs-backend="parquet" or RECEIPT_BACKEND=parquet will now fail to start, which is worth flagging in the edits.
  • Include receipt store earliest height in watermark bounds to prevent silent undercount on pruned blocks sei-chain#3216 — The receipt-pruning behavior stems from the receipt store's KeepRecent being derivable from min-retain-blocks independently of ss-keep-recent (documented in node/node-operators.mdx and node/advanced-config-monitoring context). The primary doc gap is the RPC reference method descriptions; no new page is needed. Optionally, node/node-operators.mdx could note that a smaller receipt retention can cause these EVM RPC methods to fail for older blocks, but the RPC reference is the most relevant and precise place to document this behavior change.
  • LittDB iteration sei-chain#3593 — The change adds a public Iterator API plus GetOldestKey/GetNewestKey to the LittDB Table interface and a new litt_open_iterator_count metric. LittDB is an internal storage engine (sei-db/db_engine/litt); the only sei-docs surface that documents it is the 'LittDB OpenTelemetry Metrics' section of node/advanced-config-monitoring.mdx, which enumerates the litt_* metrics — that table needs the new gauge added. The Table interface methods (Iterator/GetOldestKey/GetNewestKey) and the GC-suspension behavior are internal Go APIs with no developer-facing docs page in sei-docs, so no doc update is warranted for those beyond the metric.
  • additional wireguard bounds for autobahn sei-chain#3609 — The change is primarily internal networking/consensus behavior (protobuf wireguard message size/count caps and a 100-validator committee cap). The most relevant existing docs are the Giga Mode / Autobahn sections in node/technical-reference.mdx, which already document per-block payload limits. The validator cap of 100 is operationally meaningful for anyone configuring an Autobahn committee via gen-autobahn-config, so a note there is warranted. The wireguard per-field size/count enforcement is largely an internal implementation detail (rejecting oversized network payloads during decode) and does not have a clean user-facing config surface; it is a judgment call whether to document it beyond mentioning the 100-validator committee cap. No migration step is required.
  • conditional deactivation of consensus timeout overrides in config sei-chain#3601 — The config.toml reference in node-operators.mdx is auto-generated (AUTO-GENERATED:CONFIG_TOML markers) from seid output, so the new unsafe-overrides-enabled field 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 set unsafe-overrides-enabled = true (or onchain params still equal the legacy pacific-1 badParams) — this backward-compat/migration nuance should be called out to operators.
  • [codex] remove sei debug trace exclude endpoints sei-chain#3618 — The evm/reference.mdx page describes sei_/sei2_ deprecation generally and its content was truncated, so it is unclear whether it enumerates the two removed trace endpoints specifically; a reviewer should verify the truncated Sei Custom Endpoints section does not list them. The node/node-operators.mdx app.toml block is marked AUTO-GENERATED, so the fix there may need to happen at the generator/source (evmrpc/config/config.go) rather than by hand-editing the mdx — flag for the docs sync pipeline.

⚠️ Possible self-contradictions

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-block default contradiction: In giga-storage-migration.mdx it states the default is 1024 and "must be > 0", but in node-operators.mdx the entire sc-write-mode / sc-keys-to-migrate-per-block config 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-mode removed vs. configurable: node-operators.mdx deletes the sc-write-mode field (with its valid values) from the app.toml template, while giga-storage-migration.mdx documents sc-write-mode extensively as an operator-set app.toml field ([state-commit] section) driving the migration. Described as both removed and configurable. (Category 3)

  • FlatKV directory path inconsistency: The dump-flatkv examples use two different DB dirs — $HOME/.sei/data/state_commit/flatkv (with underscore) in one example and $HOME/.sei/data/flatkv in another. Also technical-reference.mdx uses data/state_commit/flatkv. Inconsistent path for the same FlatKV directory. (Category 1)

  • min_valid_per_window / oracle default: technical-reference.mdx states the default "changed from 5%" to 0%. This is internally consistent (not a contradiction on its own) — noted only if paired elsewhere; no conflicting value appears. (No issue.)

  • evm-ss-db-directory default path: node-operators.mdx says it defaults to <home>/data/state_store/evm/{backend}, consistent with giga-storage-migration.mdx (data/state_store/evm/{backend}). (Consistent — no issue.)

  • data/autobahn persistence default: consistently described. (No issue.)

  • GIGA_STORAGE / RECEIPT_BACKEND default (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.

seidroid Bot added 30 commits August 12, 2026 04:25
…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)
…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)
seidroid Bot added 28 commits August 12, 2026 06:03
…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)
@seidroid seidroid Bot added the automated Automated PR from sei-docs-bridge label Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated Automated PR from sei-docs-bridge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants