Skip to content

Evm precompile maintenance skill - #2998

Open
UnArbosFour wants to merge 13 commits into
mainfrom
feat/add-evm-maintainer-skill
Open

Evm precompile maintenance skill#2998
UnArbosFour wants to merge 13 commits into
mainfrom
feat/add-evm-maintainer-skill

Conversation

@UnArbosFour

Copy link
Copy Markdown
Contributor

Adds public documentation for current and proposed EVM precompiles, including ABI lifecycle and subscription-based event reporting. Extends the EVM maintainer skill with focused guidance for ABI versioning, backwards compatibility, coverage, and regression testing—requiring migration before any mainnet change that would force hard deprecation.

@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
subtensor Ready Ready Preview Aug 6, 2026 1:44pm

Request Review

@UnArbosFour UnArbosFour added the skip-cargo-audit This PR fails cargo audit but needs to be merged anyway label Jul 27, 2026
@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

🛡️ AI Review — Skeptic (security review)

VERDICT: SAFE

VERY HIGH scrutiny: limited profile data and previously identified young account; repository write permission, no known Gittensor association, and branch targets main.

Static analysis found no runtime, dependency, workflow, credential, or AI-review trust-boundary changes. The prior unsafe blanket balance-conversion guidance remains corrected: released ABI units are preserved, and 10^9 scaling is limited to interfaces explicitly defined in 18-decimal EVM units.

Findings

No findings.

Conclusion

No security vulnerability or malicious behavior was found in the current diff.


🔍 AI Review — Auditor (domain review)

VERDICT: 👍

LIKELY Gittensor-associated; newer contributor with repository write access, so maintainer guidance received close correctness scrutiny.

The Auditor proposed a replacement PR description, but the current body is non-trivial; not overwriting. Maintainers: ask the Auditor to regenerate if you want it.

The prior blocking issue is fixed: reserved addresses are now explicitly distinguished from implemented precompiles. No competing duplicate was identified, and this documentation-only change requires neither a runtime build nor a spec_version bump.

Auto-fixed four end-of-file whitespace errors in the documentation. Two remaining trailing spaces in the read-only skill path are covered by inline suggestions.

Findings

Sev File Finding
LOW .agents/skills/evm-maintainer/references/state-exposure.md:6 Remove trailing whitespace inline
LOW .agents/skills/evm-maintainer/references/state-exposure.md:79 Remove trailing whitespace inline

Prior-comment reconciliation

  • d12899a2: addressed — The skill now says addresses 0x080f0x0813 are reserved and must be treated as implemented only after routing, tests, and runtime registration ship.

Conclusion

The guidance now preserves the distinction between reserved and deployed precompiles and is ready after the two whitespace suggestions are applied.


📜 Previous run (superseded)
Sev File Finding Status
HIGH .agents/skills/evm-maintainer/SKILL.md:114 Do not classify reserved precompiles as implemented ✅ Addressed
The skill now says addresses 0x080f0x0813 are reserved and must be treated as implemented only after routing, tests, and runtime registration ship.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md Outdated
Comment thread docs/guides/evm/precompiles/staking-v2.mdx
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👎

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/emv-maintainer/SKILL.md Outdated
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: VULNERABLE

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md Outdated
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: VULNERABLE

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md Outdated
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: VULNERABLE

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md Outdated
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: VULNERABLE

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md Outdated
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: VULNERABLE

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md Outdated
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: VULNERABLE

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: VULNERABLE

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md Outdated
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: VULNERABLE

@unarbos unarbos left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docs/skill-only (verified: no runtime/pallet/node Rust touched; only a docs-site React component). Skill guidance is consistent with the release process. Two stale wordings to reconcile in a follow-up now that #3018 ships the five precompiles it calls 'proposed', including the state-exposure classification of root-claim storage.

Co-authored-by: Cursor <cursoragent@cursor.com>

@unarbos unarbos left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approving after docs drift-gate regeneration (13 generated files, verified with generate.py --check).

@unarbos
unarbos marked this pull request as ready for review August 6, 2026 12:58

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md Outdated
Comment on lines +117 to +118
- Multiply Subtensor balances by `10^9` to match EVM's 18-decimal convention,
and divide by the same factor before passing balances to Subtensor pallets.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Do not apply 18-decimal scaling to every precompile balance

This blanket rule conflicts with released precompile interfaces that explicitly use rao, including staking and balance views. Following it would multiply returned values or divide call arguments by 10^9, silently changing economic semantics for existing contracts. Native EVM account-balance conversion is a distinct boundary; each precompile must preserve its released ABI units.

Suggested change
- Multiply Subtensor balances by `10^9` to match EVM's 18-decimal convention,
and divide by the same factor before passing balances to Subtensor pallets.
- Preserve each released precompile's documented balance units and scaling.
Apply `10^9` conversion only at the native EVM/Substrate balance boundary;
define and test conversions per selector before introducing a new ABI.

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: VULNERABLE

Address review: the maintainer skill instructed a blanket 10^9 scaling for
all precompile balances, which contradicts released rao/alpha-denominated
interfaces. Require preserving each released ABI's documented units and
name/annotate the staking-v2 amount parameters (rao in, alpha out). Also
update stale 'proposal' wording for the now-implemented 0x080f-0x0813
addresses.

Co-authored-by: Cursor <cursoragent@cursor.com>

@unarbos unarbos left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approved at 4f7a46d: drift-gate regeneration plus per-ABI unit-contract fix in the maintainer skill (blanket 18-decimal rule removed, staking-v2 amounts named and unit-annotated per the implementation).

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment thread .agents/skills/evm-maintainer/SKILL.md Outdated
Comment on lines +110 to +114
- Assign new Bittensor domain precompiles sequentially from the next unused
Bittensor address. Addresses `0x080f` through `0x0813` are implemented as
Scheduler, Drand, Timestamp, Runtime Configuration, and the Precompile
Registry, respectively. Add routing and tests that lock every implemented
address and selector before release.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Do not classify reserved precompiles as implemented

None of 0x080f0x0813 is routed or implemented in precompiles/src; the new public documentation also consistently marks all five as proposed and reserved. This executable guidance can therefore make future maintenance skip missing coverage or allocate the next domain at the wrong address.

Suggested change
- Assign new Bittensor domain precompiles sequentially from the next unused
Bittensor address. Addresses `0x080f` through `0x0813` are implemented as
Scheduler, Drand, Timestamp, Runtime Configuration, and the Precompile
Registry, respectively. Add routing and tests that lock every implemented
address and selector before release.
- Assign new Bittensor domain precompiles sequentially from the next unused
Bittensor address. The current proposal reserves `0x080f` through `0x0813`
for Scheduler, Drand, Timestamp, Runtime Configuration, and the Precompile
Registry, respectively. Add routing and tests that lock every implemented
address and selector before release.

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👎

…ipped

Co-authored-by: Cursor <cursoragent@cursor.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

This file lists concrete state variables, maps, and runtime constants and
classifies them as one of three classes:

1. Safe to expose directly, as is, or

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LOW] Remove trailing whitespace

git diff --check reports trailing whitespace here.

Suggested change
1. Safe to expose directly, as is, or
1. Safe to expose directly, as is, or


InactiveIssuance, the reserved, frozen, and flags portions of Account: Locks, Reserves, Holds, Freezes

### Pallet swap

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LOW] Remove trailing whitespace

git diff --check reports trailing whitespace here.

Suggested change
### Pallet swap
### Pallet swap

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-cargo-audit This PR fails cargo audit but needs to be merged anyway

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants