Skip to content

feat(evm): re-export batched merkle payment surface from evmlib - #26

Draft
Nic-dorman wants to merge 1 commit into
mainfrom
feat/batched-merkle-reexports
Draft

feat(evm): re-export batched merkle payment surface from evmlib#26
Nic-dorman wants to merge 1 commit into
mainfrom
feat/batched-merkle-reexports

Conversation

@Nic-dorman

Copy link
Copy Markdown
Member

Linear issue

V2-990 — https://linear.app/autonominetwork/issue/V2-990 (parent V2-949)

Risk tier

  • T0 — docs / tooling / CI / pure UX-output. Repo CI only.
  • T1 — client-only, no network-facing behavior change. CI + prod compat smoke.
  • T2 — node/client logic with behavioral surface, no protocol/format/economics change. Dev testnet + ADR.
  • T3 — protocol / storage format / payments / routing. T2 evidence + adversarial testing.

Compatibility

  • Wire: none (pure re-export additions; no wire types touched)
  • Storage: none
  • API: additive — ant_protocol::evm gains MerkleTreePayment, MAX_TREES_PER_PAYMENT, MERKLE_TREES_PER_PAYMENT (re-exports of the batched payForMerkleTrees surface from feat(payment): pay N merkle trees in one tx (payForMerkleTrees) evmlib#15). Client-only surface, justified by the same version-pin rationale as the existing Wallet re-export: ant-client is forbidden a direct evmlib dep, so this gate is its only path to the batch types.

Semver impact

  • breaking
  • feature
  • fix

Caveat: proposed as minor (2.3.2 → 2.4.0) assuming evmlib releases the #15 surface on the 0.9.x line. If it releases as 0.10, the evmlib pin bump makes this a major instead — confirm at undraft.

Test evidence

  • cargo check --all-features, cargo clippy --all-targets --all-features -- -D warnings, cargo fmt --check all clean against the patched evmlib.
  • cargo test --lib: 79/79.
  • Consumed downstream by the ant-client draft PR for V2-990 (batched wallet path), which compiles and tests against this branch.

New dependency

none (a draft-only [patch.crates-io] git pin on evmlib branch feat/pay-for-merkle-trees makes CI compile before the evmlib release; it must be removed and the evmlib version bumped before undraft).

ADR

ADR-0011 (Proposed): docs/adr/ADR-0011-batched-merkle-tree-payments.md — filed via WithAutonomi/ant-node#213. (n/a strictly required for T1; linked for context.)

Mitigation / rollback

Re-exports only — nothing changes for existing consumers; rollback = revert. DRAFT until WithAutonomi/evmlib#15 merges and releases (this PR's patch pin cannot ship).

🤖 Generated with Claude Code

Adds MerkleTreePayment, MAX_TREES_PER_PAYMENT and MERKLE_TREES_PER_PAYMENT
to the ant_protocol::evm re-export gate so clients can drive the batched
payForMerkleTrees path without a direct evmlib dependency. Carries a
draft-only [patch.crates-io] git pin on evmlib#15 until that releases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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