Skip to content

Codex/deposit plan eip7702 permit#14

Merged
david30907d merged 26 commits into
mainfrom
codex/deposit-plan-eip7702-permit
May 16, 2026
Merged

Codex/deposit plan eip7702 permit#14
david30907d merged 26 commits into
mainfrom
codex/deposit-plan-eip7702-permit

Conversation

@david30907d
Copy link
Copy Markdown
Member

Summary

<1-2 sentences: what changed and why>

Changes

Test Plan

  • pnpm check:local passes locally
  • <App-specific verification, for example pnpm --filter @zapengine/frontend test:unit>
  • <Manual verification, if any>

Risk

<What could break? Include affected services and blast radius.>

Rollback

Checklist

  • Followed conventions in the relevant CLAUDE.md files
  • Updated .env.example if added env-var references
  • If touching strategy or signal code: ran pnpm --filter @zapengine/analytics-engine test:strategy-snapshot:fast
  • If touching cross-service contracts: confirmed pnpm contracts:check covers the change

david30907d and others added 6 commits May 14, 2026 21:32
…ze hex quantities

LI.FI's transactionRequest.value and gasLimit are hex-prefixed EVM quantities, which DepositPlanSchema's decimalStringSchema rejected with a Zod issues array surfaced as the 500 response message. Add toBaseUnitString helper (BigInt(input).toString(10)) and apply at value / gasLimit / meta.estimatedGas in mapQuoteToTransaction; update tests to mock the real hex format and add a regression test.

Separately, LI.FI quotes are currently unreliable for this environment. For the Base USDC -> Base Morpho stable vault case (fromToken === vault.asset()), no swap or bridge is needed: encode the ERC4626 deposit() call directly with viem in buildSupplyTx and skip LI.FI. composeDeposit now forces 100% source-chain allocation (no bridge legs) and derives the approval/permit spender from the stable vault rather than LIFI_DIAMOND_ADDRESS, so the EIP-7702 / permit-multicall3 / sequential execution tiers in useInvestStrategy can run end-to-end.

Cleanup: drop unused buildPermitRequest alias (knip duplicate), add missing entry: ['src/main.ts'] to account-engine knip config, ignore the workspace intent-engine dependency so knip --fix preserves it, remove unused createDepositPublicClientForChain alias, include knip.ts in account-engine's ESLint project config, and ignore Vite built-in import.meta.env flags in the env drift checker.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 15, 2026

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

Project Deployment Actions Updated (UTC)
zap-engine-frontend Ready Ready Preview, Comment May 16, 2026 1:55pm
zap-engine-landing-page Ready Ready Preview, Comment May 16, 2026 1:55pm

@david30907d david30907d merged commit 807a2b7 into main May 16, 2026
12 checks passed
@david30907d david30907d deleted the codex/deposit-plan-eip7702-permit branch May 16, 2026 14:36
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