Skip to content

Use generic Verity ergonomics in UnlinkPool#69

Merged
Th0rgal merged 2 commits into
mainfrom
codex/unlink-use-generic-ergonomics
May 16, 2026
Merged

Use generic Verity ergonomics in UnlinkPool#69
Th0rgal merged 2 commits into
mainfrom
codex/unlink-use-generic-ergonomics

Conversation

@Th0rgal
Copy link
Copy Markdown
Member

@Th0rgal Th0rgal commented May 15, 2026

Summary

  • update UnlinkPool to use typed Circuit external-call returns
  • replace proof abiHeadWord slices with abiEncode txn.proof
  • use inline realNullifiers ... in event arguments
  • replace inlined relayer checks with generic with onlyRelayer modifier syntax
  • pin benchmark to the Verity feature commit from Add generic Solidity ergonomics to Verity macro verity#1883

Validation

  • lake build Benchmark.Cases.UnlinkXyz.Pool.Compile
  • lake build

Note

Medium Risk
Touches core deposit/transfer/withdraw flows and proof/circuit external-call wiring; behavior should be equivalent but mismatched ABI encoding or circuit shape handling could break verification at runtime.

Overview
Modernizes the UnlinkPool Verity model to use a typed Circuit struct for getCircuit results (plus *_try variants), and updates transfer/executeWithdrawal to validate input/output shapes and circuit status via circuit.* fields.

Refactors ZK proof verification calls to pass abiEncode txn.proof instead of manual abiHeadWord slicing, and simplifies event emission by inlining realNullifiers computation.

Replaces per-call-site relayer checks with a shared modifier onlyRelayer and applies it via with onlyRelayer on relayer-gated entrypoints. Updates the pinned verity dependency revision in lakefile.lean/lake-manifest.json.

Reviewed by Cursor Bugbot for commit d94775d. Bugbot is set up for automated code reviews on this repo. Configure here.

@Th0rgal Th0rgal merged commit d908ab4 into main May 16, 2026
3 checks passed
@Th0rgal Th0rgal deleted the codex/unlink-use-generic-ergonomics branch May 16, 2026 08:09
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