persistent-ai

@persistent-ai/fireflow-overcast-aztec (0.39.1)

Published 2026-10-08 00:16:24 +00:00 by ak

Installation

@persistent-ai:registry=
npm install @persistent-ai/fireflow-overcast-aztec@0.39.1
"@persistent-ai/fireflow-overcast-aztec": "0.39.1"

About this package

@persistent-ai/fireflow-overcast-aztec

License

The Aztec runtime behind the FireFlow Overcast nodes: wallets, PXE, transaction building, simulation and submission, artifact repair, and the x402 payment helpers. The nodes themselves — their ports, schemas and titles — live in @persistent-ai/fireflow-overcast, which carries no Aztec code and is what every FireFlow process loads to deserialise a flow.

Where it runs

Importing this package registers the runtime the nodes call at execute time, through the registry in @persistent-ai/fireflow-overcast/nodes. The only place that import exists is the execution worker's aztec entry, apps/fireflow-execution-worker/src/index-aztec.ts, which Vite bundles into dist/index-aztec.js. The worker's plain entry, dist/index.js, registers the node declarations alone; an Overcast node executed there fails with a sentence saying which entry to run. A deployment that does not use Overcast runs the plain entry and installs none of @aztec/*.

To run the aztec entry from a thin install, install this package next to the worker: its dependencies are what dist/index-aztec.js imports, as bare specifiers. That works where the install hoists them next to the worker (npm, yarn, the Docker image's hoisted store); under pnpm's strict layout the worker's own manifest would have to name them.

Aztec version

Pinned to @aztec/* 5.0.1 (was 4.2.0), matching the version the public testnet and mainnet run. The AIP-20 token comes from @aztec-foundation/aztec-standards@5.0.1, whose own config.aztecVersion is 5.0.1 — SDK and artifact are built against the same release. 5.2.0 changed the arity of proveTx and simulateTx, and src/utils/aztec-pxe-wallet.ts does not compile against it.

aztec-standards moved to AztecProtocol and now publishes under the @aztec-foundation scope. The old @defi-wonderland scope has no stable v5.

Two consequences worth knowing:

  • Every account address changed with v5, and v4 accounts are unusable. v5 reworked the key hierarchy (PublicKeys now exposes poseidon2 hashes), added immutablesHash to address derivation, and switched Schnorr from blake2s/pedersen to Poseidon2. A Schnorr account deployed under v4 cannot be controlled by v5 code — accounts must be redeployed.
  • The signing key is required. It is the root of the key hierarchy, so it can no longer be derived from the account secret (deriveSigningKey was removed). The key lives inside the aztec-account vault secret that Aztec Ensure Account writes; Aztec Account Signer decrypts it from the AztecAccountRef pointer. Flows must not pass a signing key (or any account scalar) on a port.
  • Accounts are initializerless Schnorr. Sandbox genesis accounts (and the Account Signer) use createSchnorrInitializerlessAccount: signing keys are materialised locally, with no signing_public_key note to discover. Loading a genesis account via the note-backed createSchnorrAccount fails with Failed to get a note.

The token's constructor_with_minter takes an auth_contract argument. Pass AztecAddress.ZERO to disable it. It is the token's own authorization hook, not the standard auth registry — passing the registry address makes every transfer revert.

Tests

Integration tests

Requires a local Aztec sandbox running at http://localhost:8080:

pnpm --filter @persistent-ai/fireflow-overcast-aztec test:integration

Testnet account measurement (opt-in)

pnpm --filter @persistent-ai/fireflow-overcast-aztec measure:testnet-account

Manual UI testing

Deploy local Aztec fixtures (accounts, Sponsored FPC, Token contract, Alice mint) and print copy-paste values for wiring Overcast nodes in the FireFlow editor.

Prerequisite: local Aztec sandbox at http://localhost:8080 (same as integration tests).

pnpm --filter @persistent-ai/fireflow-overcast-aztec deploy:local

After deployment, check Alice and Bob private balances anytime:

pnpm --filter @persistent-ai/fireflow-overcast-aztec balances:local <address-from-deploy-output>

Alternatively, pass the token address via environment variable:

TOKEN_CONTRACT_ADDRESS=<address-from-deploy-output> \
  pnpm --filter @persistent-ai/fireflow-overcast-aztec balances:local

Optional environment overrides:

Variable Default Description
MINT_AMOUNT 1000 Private tokens minted to Alice
TOKEN_CONTRACT_ADDRESS (CLI arg preferred) Token contract from deploy:local output (fallback if no CLI arg)

Wire flows using the printed values and docs/specification.md:

  1. Aztec Ensure Account → Aztec Account Signer — AztecAccountRef from Ensure Account, plus discoverNotesFrom for Alice or Bob. Do not wire secret/salt/signing-key ports; those no longer exist.
  2. Parse Contract Artifact → Aztec Smart Contract — store TokenContract.artifact as a JSON file in the workspace, then set Parse's workspaceId / branch / path (or type those coordinates on Smart Contract's nested artifact port). Network Local, token address from script output.
  3. Get Fee Payer — method SponsoredFPC, FPC address from script output (no signer input)
  4. Aztec Transaction Builder / Simulate Transaction / Submit Aztec Transaction — e.g. balance_of_private or transfer_private_to_private

Suggested test flow: read Alice balance → transfer to Bob → read both balances.

Unit tests

pnpm --filter @persistent-ai/fireflow-overcast-aztec test              # unit, forks pool
pnpm --filter @persistent-ai/fireflow-overcast-aztec test:integration  # against a local sandbox
pnpm --filter @persistent-ai/fireflow-overcast-aztec deploy:local      # deploy the fixtures

The unit suite runs in the forks pool because @aztec/* native bindings SIGSEGV on threads worker teardown; the root vitest.config.ts keeps this package in its own project for the same reason.

Dependencies

Dependencies

ID Version
@aztec-foundation/aztec-standards 5.0.1
@aztec/accounts 5.0.1
@aztec/aztec.js 5.0.1
@aztec/bb.js 5.0.1
@aztec/constants 5.0.1
@aztec/noir-contracts.js 5.0.1
@aztec/stdlib 5.0.1
@aztec/wallet-sdk 5.0.1
@aztec/wallets 5.0.1
@galactica-net/x402-client ^1.1.2
@galactica-net/x402-core ^1.1.2
@galactica-net/x402-mechanism ^1.1.2
@galactica-net/x402-middleware ^1.1.2
@persistent-ai/fireflow-overcast 0.39.1
@persistent-ai/fireflow-types 0.39.1

Development Dependencies

ID Version
@persistent-ai/typescript-config 0.39.1
@types/node ^26.6.2
tsx ^4.23.15
vitest ^5.0.1
Details
npm
2026-10-08 00:16:24 +00:00
0
Apache-2.0
75 KiB
Assets (1)
Versions (19) View all
0.40.5 2026-10-08
0.39.1 2026-10-08
0.39.0 2026-10-07
0.38.1 2026-09-30
0.37.1 2026-09-29