Import “canister:someCanister” doesn’t work

Can’t seem to get this working. I tried mimicking the LinkedUp source too. Not sure what I’m missing.

The VS Code language service is also reporting

canister alias "usernameBucket" not definedMotoko

recreated topic. Wouldn’t let me edit last one.

//src/usernameBucket/main.mo

actor UsernameBucket {
    public query func greeta() : async Nat {
        1;
    };
};
//src/service/main.mo
import Usernames "canister:usernameBucket";

actor Service {
    public query func greet() : async Text {
        let someNumber : Nat = await Usernames.greeta();
        return "test";
    };
};
//errorstrong text
Stderr:
/home/steve/src/dfinity-vue-starter/src/service/main.mo:7.32-7.56: type error, misplaced await
//dfx.json
{
  "canisters": {
    "usernameBucket": {
      "main": "src/usernameBucket/main.mo",
      "type": "motoko"
    },
    "backend": {
      "main": "src/service/main.mo",
      "type": "motoko",
      "dependencies": [
        "usernameBucket"
    ]
    },
    "frontend": {
      "dependencies": [
        "backend"
      ],
      "frontend": {
        "entrypoint": "src/frontend/public/index.js"
      },
      "source": [
        "src/frontend/assets",
        "dist/frontend/"
      ],
      "type": "assets"
    }
  },
  "defaults": {
    "build": {
      "packtool": ""
    }
  },
  "dfx": "0.6.20",
  "networks": {
    "local": {
      "bind": "127.0.0.1:8000",
      "type": "ephemeral"
    },
    "tungsten": {
      "providers": [
        "https://gw.dfinity.network"
      ],
      "type": "persistent"
    }
  },
  "version": 1
}

The build error was resolved by dropping the query modifier from

Service::greet

The lang service error is still there though :frowning:

a canister query method cannot send messages.
1 Like

Yes that’s the issue, a query method cannot call out to another canister’s methods.