Skip to content

test(evm-wallet-experiment): Add local docker e2e test#912

Draft
grypez wants to merge 6 commits intomainfrom
grypez/dock-stack-c-evm-wallet
Draft

test(evm-wallet-experiment): Add local docker e2e test#912
grypez wants to merge 6 commits intomainfrom
grypez/dock-stack-c-evm-wallet

Conversation

@grypez
Copy link
Copy Markdown
Contributor

@grypez grypez commented Apr 1, 2026

Add a Docker Compose stack for isolated E2E testing with five services:

  • evm: Anvil chain with EIP-7702 support + contract deployment
  • bundler: Pimlico Alto ERC-4337 bundler
  • llm: lightweight proxy forwarding to an upstream LLM
  • home: home kernel node (EOA + DeleGator smart account)
  • away: away kernel node (delegation recipient)

Supports three delegation modes, narrowed via DELEGATION_MODE env var:
bundler-7702, bundler-hybrid, and peer-relay.

image

@grypez grypez changed the title Grypez/dock stack c evm wallet test(evm-wallet-experiment): Add local docker e2e test Apr 1, 2026
@grypez grypez force-pushed the grypez/dock-stack-b-turbo branch from c77a70b to c21c392 Compare April 1, 2026 17:03
@grypez grypez force-pushed the grypez/dock-stack-c-evm-wallet branch from c4d8613 to ca1a2c5 Compare April 1, 2026 17:03
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 1, 2026

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 78.29%
🟰 ±0%
8507 / 10866
🔵 Statements 78.11%
🟰 ±0%
8643 / 11065
🔵 Functions 75.84%
⬇️ -0.01%
1981 / 2612
🔵 Branches 75.98%
⬇️ -0.09%
3652 / 4806
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
packages/evm-wallet-experiment/src/index.ts 100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
packages/evm-wallet-experiment/src/lib/keyring.ts 96.55%
⬆️ +0.13%
92.85%
⬆️ +1.19%
88.88%
🟰 ±0%
100%
🟰 ±0%
13
packages/evm-wallet-experiment/src/lib/sdk.ts 83.6%
⬇️ -4.86%
82.6%
⬇️ -3.11%
85%
⬇️ -3.88%
84.48%
⬇️ -5.31%
54, 101-105, 118-119, 400-419, 450
packages/evm-wallet-experiment/src/vats/coordinator-vat.ts 88.19%
⬇️ -0.02%
79.51%
⬇️ -0.55%
93.47%
⬆️ +0.07%
88.14%
⬇️ -0.01%
51, 75-77, 115-160, 357, 455-457, 484-487, 515, 571-573, 662-664, 684, 688, 881, 884, 920-922, 930, 945-949, 1112-1114, 1168-1170, 1176, 1191-1193, 1273, 1297-1300, 1309-1311, 1344-1347, 1366-1368, 1396-1399, 1411-1413, 1478, 1502, 1509, 1516, 1580, 1599-1601, 1730, 1765-1768, 1843, 1895-1896, 1932, 2037, 2113, 2149-2151, 2165-2167, 2197-2200, 2217, 2235, 2341-2347, 2436, 2510, 2528, 2613, 2630-2633, 2678-2681, 2686, 2700, 2750-2751, 2793, 2801, 2804-2806, 2822, 2842, 2939-2940, 2954-2957, 2992, 3001
packages/evm-wallet-experiment/src/vats/keyring-vat.ts 88%
🟰 ±0%
81.08%
⬇️ -1.77%
100%
🟰 ±0%
87.87%
🟰 ±0%
149, 160, 212, 227, 232, 249, 253, 261, 266, 270, 288, 292
Generated in workflow #4172 for commit c5476e1 by the Vitest Coverage Report Action

Base automatically changed from grypez/dock-stack-b-turbo to main April 1, 2026 17:53
@grypez grypez force-pushed the grypez/dock-stack-c-evm-wallet branch 3 times, most recently from ce8d6ee to f036a65 Compare April 1, 2026 21:41
… delegation redemption

- Add Compose stack: Anvil + contract deploy, Pimlico Alto, home/away kernels, optional LLM/Ollama profiles, interactive OpenClaw override

- Host-driven bootstrap: setup-wallets, scenarios (bundler-7702 / bundler-hybrid / peer-relay), docker-exec + wallet-setup helpers

- Vitest docker-e2e suite (yarn test:e2e:docker); daemon socket client for manual docker:delegate

- Shared delegation-transfer helper; setup-openclaw.mjs; docker-e2e-stack-constants (JSON)

- Coordinator: direct EIP-7702 delegation redemption; export sdk utilities as needed

- Kernel Docker image: strip postinstall, rebuild native addons, pin Alto/OpenClaw/EVM npm deps; MAINTAINERS.md

- Shell scripts and home-interactive Docker-friendly; vitest config avoids fetch mock in docker tests

Made-with: Cursor
@grypez grypez force-pushed the grypez/dock-stack-c-evm-wallet branch from eda0887 to 1f895b9 Compare April 2, 2026 15:14
grypez added 5 commits April 2, 2026 12:24
DelegationManager.redeemDelegations requires the leaf delegate to equal
msg.sender. Peer-relay redeems on the home wallet, so createDelegation
must use the home smart account address, not the away EOA.

Made-with: Cursor
Hybrid away redeems via ERC-4337; sendTransaction returns a UserOp hash, so
the burn address balance was read before inclusion. Extend callVat daemon
timeout for waitForUserOpReceipt and raise Docker Vitest test timeout.

Made-with: Cursor
- Add three home/away compose pairs (one per DELEGATION_MODE) with isolated QUIC ports; health checks list all required services.

- Support optional SRP addressIndex in keyring, keyring vat, and coordinator initializeKeyring (encrypted baggage preserves index).

- Docker E2E runs bundler-7702, bundler-hybrid, and peer-relay in one Vitest run; DELEGATION_MODE filters to a single mode.

- Per-pair home HD index on the Anvil test mnemonic avoids duplicate EOAs across parallel kernels.

Made-with: Cursor
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.

2 participants