Skip to content

feat(evm): migrate virtualgroup precompile to native runtime base#341

Merged
phenix3443 merged 1 commit into
precompile-integrationfrom
precompile/virtualgroup-native
Jul 14, 2026
Merged

feat(evm): migrate virtualgroup precompile to native runtime base#341
phenix3443 merged 1 commit into
precompile-integrationfrom
precompile/virtualgroup-native

Conversation

@phenix3443

Copy link
Copy Markdown
Contributor

What

Completes subtask 3 (storage-series). Migrates the virtualgroup precompile onto x/evm/precompiles/base (switch-based dispatch, like bank).

Changes

  • Contract embeds base.Precompile; RunRunPrecompile; the method switch moves into Execute, routing + read-only write protection via base Dispatch/SetupABI and IsTransaction = !method.IsConstant().
  • Dropped the hand-rolled cache-context / snapshot / commit template.
  • Runtime alignment only: EOA-only guards + per-handler readonly checks kept; no balance handler.

Tests

  • go test ./x/evm/precompiles/virtualgroup -count=1 → ok (topic-encoding tests).
  • golangci-lint → 0 issues.
  • Base branch is precompile-integration.

With this, all four storage-series precompiles (storage, payment, storageprovider, virtualgroup) are on the native base.

Move the virtualgroup precompile onto x/evm/precompiles/base:
- embed base.Precompile; Run delegates to RunPrecompile; the method switch
  moves into Execute, with routing + read-only write protection via the base
  Dispatch (SetupABI) and IsTransaction = !method.IsConstant()
- drop the hand-rolled cache-context / snapshot / commit template

Runtime alignment only: EOA-only guards and per-handler readonly checks are
kept; no balance handler wired. Completes the storage-series migration
(storage, payment, storageprovider, virtualgroup).
@phenix3443 phenix3443 merged commit 92a12c5 into precompile-integration Jul 14, 2026
3 of 10 checks passed
@phenix3443 phenix3443 deleted the precompile/virtualgroup-native branch July 14, 2026 04:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant