[BUG] dfx deploy

I have a project with a canister that expects arguments and another canister that is just a simple asset canister. When I’m trying to deploy only the the asset canister with the following command

dfx deploy --network ic assets

the command fails with the follwing error

Error: Invalid data: Expected arguments but found none.

I can deploy the asset canister when providing the arguments for the normal canister, which shouldn’t be necessary imo. I think the specification of the assets canister doesn’t trigger only deploying the assets canister, and still both canisters are being deployed. I believe this because I get the following output from the deploy command:

Module hash 202ec5edcf05fc3165213458ef0433547f8ebaa61f5a64fa54f2770670f0d37a is already installed.

The hash matches the non asset canisters WASM hash.

2 Likes

Thanks for this, let me ping folks

1 Like

Thanks for the bug report @cryptoschindler. I can reproduce it pretty easily and have filed a ticket.

Partial workaround(s) if you don’t want to specify arguments all the time:

  • dfx canister install (see --help for instructions how to do it) or
  • use icx-assets to upload your files. Installable via cargo install --git https://github.com/dfinity/agent-rs icx-assets
3 Likes