Repository navigation
skills: v6.7.0 catch-up - #19
Conversation
…hash-only, --read-limit-mb) for computing/verifying lattice hashes and throttling scan throughput, and --output-dir is no longer required when using --lthash-only. (sei-protocol/sei-chain#3665)
…d param (migration.NumKeysToMigratePerBlock) set via ParameterChangeProposal instead of the removed sc-keys-to-migrate-per-block app.toml config, and a new sc-write-mode-enable-auto config (default true) now overrides explicit sc-write-mode to run nodes in auto mode. (sei-protocol/sei-chain#3650)
…t-block` and `compare` subcommands for inspecting and diffing hash log archives produced by the hashlogger. (sei-protocol/sei-chain#3676)
…backend, a new --memiavl-open-mode flag (snapshot/replay), and new --flatkv-dir/--memiavl-dir flags for comparing EVM logical state across backends on a migrating node. (sei-protocol/sei-chain#3711)
…ay use on debug_trace* endpoints, restricting to a native allowlist and disabling request-supplied JavaScript tracers by default. (sei-protocol/sei-chain#3718)
…rant, mint, params, slashing, upgrade) and extends the bank, distribution, and gov precompiles with many new view/query methods accessible from EVM contracts. (sei-protocol/sei-chain#3767)
…d allowing a validator operator to unjail their validator via the EVM precompile at the slashing precompile address. (sei-protocol/sei-chain#3825)
|
We truly appreciate your contribution and the time you’ve invested in this PR. |
Checked against the sei-chain v6.7.0 tag: - Query precompiles page: drop the Feegrant section. sei-chain#3958 removed the feegrant module and v6.7.0 asserts nothing is registered at 0x1010 (TestFeegrantPrecompileIsNotRegistered). Seven precompiles, first shipped in v6.7 (not v6.6). Slashing has four transaction methods, not one: unjail, unjailWithAuthorization, grantUnjailAuthorization, revokeUnjailAuthorization. Fix the empty PR citations and replace the example's undefined ABIs with human-readable fragments. - Precompile overview: add the seven v6.7 precompiles to the address table, note that 0x1010 is unassigned, and link the new page. Link it from SKILL.md and SKILL-CONTRACTS.md so flattened installs include it. - SeiDB: remove sc-keys-to-migrate-per-block (gone in v6.7.0) and describe sc-write-mode-enable-auto, which the new migration section relied on but node-operations.md contradicted. - Migration param: drop the seid export note (sei-chain#4489 removes seid export in v6.7.x) and restate pinning as the v6.7.0 config template does. Don't claim oversized values are rejected at submission: sei-cosmos only checks that the subspace and key exist then. - seidb: the fourth FlatKV bucket is "misc" in v6.7.0, not "legacy". Add the changelog open mode, --inspect-plan, and --json, and correct the inspect-mode open-mode restriction. - Cite sei-chain#3718/#3767/#3825/#3650 where the bot left "#" or cited the unrelated #3618, and remove stray blank lines. Co-authored-by: Cursor <cursoragent@cursor.com>
Found while checking #19's pages against the v6.7.0 precompile ABIs and sources. None of these were introduced by the catch-up; they predate it (the affected methods are unchanged since at least v6.6.3), but they sit in the files it edits and would make agent-written calls revert. - Distribution: withdrawDelegatorReward(address,string) does not exist. Document withdrawDelegationRewards(string), withdrawMultipleDelegation- Rewards, setWithdrawAddress, rewards, and the zero-argument withdrawValidatorCommission(), and fix every example that used them. - Staking: delegation() returns one Delegation struct (balance in usei); delegatorUnbondingDelegations takes (address, bytes); validators() needs a Cosmos BondStatus name such as "BOND_STATUS_BONDED" ("BONDED" reverts), and the testing.md ABI fragment had the wrong return shape. Payable staking/gov/CosmWasm methods require a whole number of usei. - Gov: submitProposal takes one proposalJSON string; getProposal and getProposals do not exist (v6.7 adds proposal/proposals). - Bank: balance/all_balances take an address; send() is pointer-only. - Addr: associate/associatePubKey return (seiAddr, evmAddr), and getSeiAddr reverts for an unassociated address instead of returning "". - Pointer: the methods are addCW20/CW721/CW1155/NativePointer and reject msg.value; there are no register* methods. Note that CosmWasm execute_batch is disabled (sei-chain#4074). - staking-governance.md: param-change has no --deposit flag; the deposit goes in the JSON file. Co-authored-by: Cursor <cursoragent@cursor.com>
v6.7.0 adds 18 transaction methods that the catch-up missed
(sei-chain#3893 "add scoped module authorizations", sei-chain#3846 "add
scoped vote authorization flow"): grant/revoke methods plus
*WithAuthorization variants on the staking, distribution, gov, and
slashing precompiles.
Add a "Scoped Authorizations" section to the precompile overview that
explains the model (native authz grants, Unix-second expirations that must
be in the future, MsgExec on the granter's behalf, "authorization not
found" on revoke) and what each grant covers, then list the signatures on
the staking/distribution and governance pages. Details checked against
precompiles/{staking,distribution,gov,slashing} and
precompiles/common/authorization.go: staking grants are StakeAuthorizations
with a validator allowlist (destination for redelegation) and a per-action
maxTokens budget in usei; vote grants cover MsgVote only and proposal
grants MsgSubmitProposal only; the payable variants spend the grantee's
msg.value for the granter.
Co-authored-by: Cursor <cursoragent@cursor.com>
The v6.7.0 catch-up skipped these, so main still describes removed methods as available. Checked against the v6.7.0 tag (evmrpc/sei_legacy.go, evmrpc/server.go, evmrpc/state.go) and live mainnet/testnet responses: - sei2_* namespace removed (sei-chain#3912); calls return the standard -32601 "does not exist". - Every sei_* method except sei_getSeiAddress, sei_getEVMAddress, and sei_getCosmosTx removed (sei-chain#3924, #3927, #3945), including the block/receipt getters and their ExcludeTraceFail variants, sei_sign, and sei_associate. Over HTTP the gate rejects any other sei_* name with -32601 / "legacy_sei_deprecated"; allowlisting a removed name does nothing. The sei namespace is HTTP-only. - eth_getProof now returns -32000 "eth_getProof is not supported yet..." (sei-chain#3926); drop the storage-key format notes. - addresses-wallets.md: replace the sei_associate gasless flow with a sponsor-submitted Addr precompile associate(). Co-authored-by: Cursor <cursoragent@cursor.com>
|
Checked this against the sei-chain v6.7.0 tag, since the bot's own verification ran out of time on all 11 pages, and pushed four commits on top. Mainnet runs v6.7.3 and testnet v6.7.2, so all of this is live. What held up: tracer gating, the seidb flags, the migration param, and the query-method signatures for the precompiles that actually exist.
Not covered here: changes in v6.7.1–v6.7.3, which are tracked separately in PLT-1580. Merges cleanly with |
PR SummaryLow Risk Overview EVM & RPC: Documents that Precompiles & contracts: Adds Node & ops: SC memiavl→FlatKV migration is governance-driven ( Reviewed by Cursor Bugbot for commit 56e3fdb. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
This docs-only catch-up for v6.7.0 hangs together well: the contradictions the generator flagged ("eight view-only" precompiles, sc-keys-to-migrate-per-block documented as both removed and configurable) are fixed in the final text, and I found no stale references left in the touched pages. However, none of the pages has been checked against the v6.7.0 tag, the diff goes well beyond the 7 source PRs listed in the description, and the new migration proposal example uses a deposit too small for pacific-1.
Findings: 0 blocking | 4 non-blocking | 1 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- [suggestion] The PR description says the final check against the
v6.7.0tag ran out of time for all 11 touched pages and "must be resolved before merging". Many claims here are very specific: exact error strings, ABI tuples (for example the 14-fieldValidatorinevm/testing.md), default values, and struct layouts. Someone should check them against the tag before merging, because an agent skill that teaches a wrong ABI or error string will produce broken code. - [suggestion] The diff covers much more than the 7 source PRs in the description. It also includes: removal of
sei_*/sei2_*/sei_associate(sei-chain#3912/#3924/#3927/#3945),eth_getProofbecoming unsupported (#3926), removal of feegrant (#3958), the scoped authz grant methods (#3846/#3893),execute_batchbeing disabled (#4074), and rewritten Pointer, Bank, Distribution and Gov ABIs (add*Pointer,withdrawDelegationRewards,submitProposal(string),BOND_STATUS_*), plus edits to files not in the table (addresses-wallets.md,rpc-providers.md,pointers/overview.md,foundry.md,SKILL*.md). Please list these in the description so reviewers know to check them against their source PRs. - [suggestion]
SKILL.mdandSKILL-CONTRACTS.mddrop Oracle from the "Using Sei precompiles" trigger list.precompiles/overview.mdstill links to the Oracle precompile docs (oracles.md#native-oracle-precompile), and nothing in the PR explains the removal. If Oracle was not removed in v6.7, restore it to the trigger list so the skill still activates for oracle precompile questions. - 1 suggestion(s)/nit(s) flagged inline on specific lines.
Inline comments (could not post inline; listed here)
skill/references/ecosystem/staking-governance.md:216(RIGHT) -- [suggestion] This example targets--chain-id pacific-1, but its deposit is10000000usei(10 SEI). TheMaxValidatorsexample just above uses3500000000usei, andprecompiles/governance.mdgives a 3,500 SEI minimum deposit on mainnet. As written, the proposal would stay in the deposit period and never reach a vote. The 10 SEI value looks copied from a localnet or test fixture. Suggest3500000000useito match the other example, or a note that the minimum deposit differs per network.
- Use the mainnet minimum deposit (3,500 SEI) in the pacific-1 migration param-change example; 10 SEI would never leave the deposit period. - Keep Oracle in the SKILL.md / SKILL-CONTRACTS.md precompile list, marked retired: v6.7.0's oracle precompile reverts with "oracle precompile is retired; oracle data queries are disabled", and agents should still pick the skill up for oracle questions and redirect them. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@seidroid review |
There was a problem hiding this comment.
Re-review of the v6.7.0 catch-up. All earlier findings are fixed. The pacific-1 migration proposal now uses a 3500000000usei deposit in the JSON file. The Oracle precompile is dropped from the trigger list with an explicit "retired" note, which matches oracles.md. The PR description now lists the extra source PRs and says each page was checked by hand against the tag. One linking gap remains: the new query-precompiles page is not linked from SKILL-ECOSYSTEM.md.
Findings: 0 blocking | 1 non-blocking | 0 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- [suggestion] The new
references/precompiles/auth-authz-and-query-precompiles.mdis linked fromSKILL.mdandSKILL-CONTRACTS.md, but not fromSKILL-ECOSYSTEM.md. Two pages that the ecosystem variant does include link to it:ecosystem/validators.md(for the EVMunjail/grantUnjailAuthorizationpath) andprecompiles/overview.md.install.shflatten mode only collectsreferences/**.mdpaths named in the entry point, so--agent … --variant ecosysteminstalls silently leave the page out and those cross-links point nowhere (REVIEW_GUIDELINES §2). Fix: add a link to it fromSKILL-ECOSYSTEM.md, for example next to the Validators or Precompiles entry.
validators.md and precompiles/overview.md, both part of the ecosystem variant, point validator operators at this page for the Slashing unjail and grant methods, but flattened ecosystem installs left it out (REVIEW.md §2). Addresses the seidroid re-review. Co-authored-by: Cursor <cursoragent@cursor.com>
Skill catch-up for v6.7.0.
7 source PR(s) produced changes across 7 commit(s). Each source PR is a separate commit, so this reviews commit-by-commit.
skill/references/cli/seid-cli.mdskill/references/ecosystem/staking-governance.mdskill/references/cli/seid-cli.mdhashlogcommand group to the seidb tool withget-blockandcomparesubcommands for inspecting and diffing hash log archives produced by the hashlogger.skill/references/cli/seid-cli.mdskill/references/cli/seid-cli.md,skill/references/ecosystem/node-operations.md,skill/references/evm/overview.md,skill/references/evm/testing.mdskill/references/precompiles/auth-authz-and-query-precompiles.md,skill/references/precompiles/cosmwasm-bridge.md,skill/references/precompiles/governance.md,skill/references/precompiles/staking-distribution.mdskill/references/ecosystem/validators.md,skill/references/precompiles/auth-authz-and-query-precompiles.md,skill/references/precompiles/overview.md⛔ Failed final verification against the release tag
Each touched page was re-checked claim-by-claim against the
v6.7.0checkout after all commits were assembled. The items below contradict what actually ships at the tag and must be resolved before merging.skill/references/cli/seid-cli.md— verification could not complete: not verified — run time budget exhaustedskill/references/ecosystem/node-operations.md— verification could not complete: not verified — run time budget exhaustedskill/references/ecosystem/staking-governance.md— verification could not complete: not verified — run time budget exhaustedskill/references/ecosystem/validators.md— verification could not complete: not verified — run time budget exhaustedskill/references/evm/overview.md— verification could not complete: not verified — run time budget exhaustedskill/references/evm/testing.md— verification could not complete: not verified — run time budget exhaustedskill/references/precompiles/auth-authz-and-query-precompiles.md— verification could not complete: not verified — run time budget exhaustedskill/references/precompiles/cosmwasm-bridge.md— verification could not complete: not verified — run time budget exhaustedskill/references/precompiles/governance.md— verification could not complete: not verified — run time budget exhaustedskill/references/precompiles/overview.md— verification could not complete: not verified — run time budget exhaustedskill/references/precompiles/staking-distribution.md— verification could not complete: not verified — run time budget exhaustedReviewer notes
Flagged by a review of every touched page's final text. 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 documents for the specified issues:
SSTORE gas value contradiction (evm/overview.md): The comparison table and migration checklist state SSTORE is 72,000 gas ("72,000 gas on both mainnet & testnet", "both networks charge 72k gas per write"), but the untouched "SSTORE and Storage Writes" code comment says "Both mainnet & testnet: 72,000 gas per cold write (pacific-1 Proposal #109..." — wait, these agree. However
testing.mdalso says 72k. All consistent. (No contradiction — retracted.)sc-keys-to-migrate-per-blockdescribed as both removed and configurable: Innode-operations.md(untouched SeiDB section) the setting is presented as a configurableapp.tomlkey:sc-keys-to-migrate-per-block = 1024. But the newly inserted section instaking-governance.mdstates "The formerstate-commit.sc-keys-to-migrate-per-blockfield was removed... the rate now lives in themigrationsubspace." The config is thus described as both removed and configurable.sc-write-modeauto vs. explicit contradiction (node-operations.md vs staking-governance.md):node-operations.mddocumentssc-write-mode = "memiavl_only"as the controlling key (and liststest_only_dual_writeas "test-only — never in production"). The inserted v6.7.0 note instaking-governance.mdsayssc-write-mode-enable-autodefaults totrueand ignores any explicitsc-write-mode— and liststest_only_dual_writeas a pinnable production value. This contradicts the untouched claim thatsc-write-modeis the single controlling key and thattest_only_dual_writeis never production.Slashing precompile count contradiction (auth-authz-and-query-precompiles.md): The page title and intro say "Eight view-only precompiles" and "All methods are
view...IsTransactionreturnsfalsefor every method." But the Slashing section later states Slashing "exposes one state-mutating transaction method (unjail); itsIsTransactionreturnstrueforunjail." Directly contradicts the intro.Giga SS Store version inconsistency: Not an identifier spelling issue — skip.
NONE of the remaining checks (misplaced FAQ insertions, identifier spelling) triggered beyond the above.
Generated by sei-docs-bridge. Every change is a proposal — verify against the source PRs before merging.