Skip to content

feat: support native v1 transactions and gasless execution - #1766

Draft
bmuddha wants to merge 4 commits into
refactor/committor-remove-legacy-tasksfrom
feat/er-v1-transactions
Draft

bmuddha wants to merge 4 commits into
refactor/committor-remove-legacy-tasksfrom
feat/er-v1-transactions

Conversation

@bmuddha

@bmuddha bmuddha commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

We now accept native v1 transactions through ER RPC and preserve their signed bytes and resource configuration through execution, ledger persistence, replay, and history. ER transaction fees are always zero; base-layer settlement fees and program-specific commit charges are unchanged.

  • Submission, simulation, and getFeeForMessage use native message and transaction encoding. Signature, replay, blockhash, authority, and sanitization checks remain in place; v0 address lookup tables remain unsupported.
  • The additive protobuf config field distinguishes v1 even when empty and preserves all four resource options. Existing legacy/v0 records keep their interpretation. History honors maxSupportedTransactionVersion and reports unsupported encoding/version errors rather than returning null.
  • Native committor builders replace the handwritten v1 shim and supply their execution budgets explicitly.
  • Both Cargo workspaces pin all four SVM fork crates to 112182c143702d05a593101abaa7d437a0abb484, the Agave 4.2.2 port in SVM #34. Neither workspace depends on a sibling SVM checkout.
  • Integration CI builds and runs against Agave v4.2.2 by default. Existing v4.0.3 overrides for loader-v4 compatibility coverage remain unchanged.

Closes #1751.

Breaking Changes

  • None
  • Yes — remove --basefee, validator.basefee, and equivalent environment overrides. Remove these settings from deployments; ER fees are no longer configurable. Runtime/test-helper fee arguments and local committor v1 shim types are also removed. Consumers must align with the Agave 4.2.2 SDK/runtime baseline.

Test Plan

  • Targeted native wire/protobuf round trip covers legacy, v0, and v1 with empty/populated configuration.
  • Targeted gasless v1 RPC coverage exercises simulation, submission, zero fee estimates, version-gated history, and unchanged payer balances on successful and failed execution.
  • Targeted signature, replay, blockhash, full program-index range, and confined-account rollback regressions.
  • Locked integration compilation for committor and ledger-restore consumers; both locked dependency graphs resolve the same immutable SVM revision.
  • Locked validator compilation, focused committor priority-fee rounding/ALT fallback regressions, formatting, and workflow YAML validation.

Reviewer notes

This PR is based on #1764 and depends on SVM #34. Prior coordinated validation covered both workspaces, the full unit suite, and mixed-version ledger replay across restart; the published dependency pin and updated parent are checked with targeted validation here. Broad post-rebase coverage belongs in CI.

Critical-path costs have not been benchmarked. Trusted raw builtin account mutation remains outside normal runtime resize guards; the SVM port retains that trust boundary.

@bmuddha bmuddha self-assigned this Oct 6, 2026
@bmuddha bmuddha linked an issue Oct 6, 2026 that may be closed by this pull request
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.

Support transaction v1 through ER RPC

1 participant