Skip to content

aztec-wallet deploy: --universal without -f fails for multi-call deploys #23629

@dbanks12

Description

@dbanks12

aztec-wallet deploy --universal without -f is meant to support deploying a universal contract without naming a sender (with fees paid via sponsored FPC or similar). It fails today because the no-sender path uses DefaultEntrypoint, which only wraps a single call:

Error: Expected a single call, got 4
    at DefaultEntrypoint.createTxExecutionRequest

A normal deploy has 4 calls (class registration + instance publish + initializer + fee payment), so the entrypoint rejects it.

Fix

In yarn-project/cli-wallet/src/utils/wallet.ts (the NO_FROM branch of simulateViaEntrypoint), swap new DefaultEntrypoint() for new DefaultMultiCallEntrypoint(). The latter already exists and routes through the MultiCallEntrypoint standard contract.

Repro

aztec-wallet deploy token_contract@Token --args ... --universal --payment method=fpc-sponsored,fpc=contracts:sponsoredFPC

Current workaround

Pass -f <account> alongside --universal. The contract still gets a universal (deployer=0x0) address; -f just names who pays.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions