← スキル一覧に戻る

aztec-e2e-testing
by critesjosh
Claude Code plugin for Aztec smart contract development
⭐ 2🍴 0📅 2026年1月22日
SKILL.md
name: aztec-e2e-testing description: Generate Jest end-to-end tests for Aztec contracts with real network interaction. Use when writing integration tests, testing contract deployments, or validating full transaction flows. allowed-tools: Read, Grep, Glob, Edit, Write, Bash
Aztec E2E Testing Skill
Generate Jest end-to-end tests for Aztec contracts against live networks.
Subskills
- Jest Setup - Jest configuration and test structure
- Test Patterns - Common E2E test patterns
- Sponsored Testing - Testing with sponsored fees
Quick Start: Basic E2E Test
import { MyContract } from "../../artifacts/MyContract.js";
import { SponsoredFeePaymentMethod } from '@aztec/aztec.js/fee/testing';
import { setupWallet } from "../../utils/setup_wallet.js";
import { getSponsoredFPCInstance } from "../../utils/sponsored_fpc.js";
import { SponsoredFPCContract } from "@aztec/noir-contracts.js/SponsoredFPC";
import { Fr, GrumpkinScalar } from "@aztec/aztec.js/fields";
import { AztecAddress } from "@aztec/stdlib/aztec-address";
import { TxStatus } from "@aztec/stdlib/tx";
import { TestWallet } from '@aztec/test-wallet/server';
import { AccountManager } from "@aztec/aztec.js/wallet";
import { getTimeouts } from "../../../config/config.js";
describe("MyContract", () => {
let wallet: TestWallet;
let account: AccountManager;
let contract: MyContract;
let paymentMethod: SponsoredFeePaymentMethod;
beforeAll(async () => {
// Setup wallet
wallet = await setupWallet();
// Setup sponsored fees
const sponsoredFPC = await getSponsoredFPCInstance();
await wallet.registerContract(sponsoredFPC, SponsoredFPCContract.artifact);
paymentMethod = new SponsoredFeePaymentMethod(sponsoredFPC.address);
// Create and deploy account
const secretKey = Fr.random();
const signingKey = GrumpkinScalar.random();
const salt = Fr.random();
account = await wallet.createSchnorrAccount(secretKey, salt, signingKey);
await (await account.getDeployMethod()).send({
from: AztecAddress.ZERO,
fee: { paymentMethod }
}).wait({ timeout: getTimeouts().deployTimeout });
// Deploy contract
contract = await MyContract.deploy(wallet, account.address).send({
from: account.address,
fee: { paymentMethod }
}).deployed({ timeout: getTimeouts().deployTimeout });
}, 600000);
it("should perform an action", async () => {
const tx = await contract.methods.myMethod(args).send({
from: account.address,
fee: { paymentMethod }
}).wait({ timeout: getTimeouts().txTimeout });
expect(tx.status).toBe(TxStatus.SUCCESS);
}, 60000);
});
Key Differences from Noir Tests
| Aspect | Noir (TestEnvironment) | TypeScript (Jest) |
|---|---|---|
| Network | Simulated | Real (local/devnet) |
| Fees | Not required | Required |
| Proofs | Simulated | Real (on devnet) |
| Speed | Fast | Slower |
| State | In-memory | Persistent |
When to Use E2E Tests
- Integration with real network behavior
- Fee payment verification
- Multi-account scenarios
- Full deployment pipeline testing
- Cross-contract interactions
- Production readiness validation
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です