Simplest / best way to make inter-canister calls in Motoko

Yes, it turns out the problem was class actor canisters can’t be imported with canister:, which is the only way I found the docs and examples made reference to:

By using the service pattern, it worked. In my case:

let icrc_token_canister = actor ("r7inp-6aaaa-aaaaa-aaabq-cai") : ICRCTypes.TokenInterface;

@Severin If you have any say in the docs / examples, I suggest making clear that

import AAA "canister:aaa";

does not and cannot work with class actors. I spent quite a while trying to make canister: work yesterday.

4 Likes