I get an error
Error: The transaction does not satisfy the cycle minting canister payment protocol. Desciption: Intent in the block (0 == unrecognized: Memo(0)) different than in the notification (1095062083 == CreateCanister)
when trying to call CMC.notify_create_canister(...)
I send ICP using icrc1_transfer, so I need a memo in Blob, there are no problems with transfer, but I need a new icrc2_transfer_from to pay from other accounts. That’s why I started by using icrc1_transfer.
motoko code
let fromSubaccount : A.Subaccount = A.principalToSubaccount(invoice.owner);
let account : LedgerTypes.Account = {
owner = Principal.fromText(CYCLE_MINTING_CANISTER_ID);
subaccount = ?A.canisterToSubaccount(self);
};
let result = await Ledger.icrc1_transfer({
to = account;
fee = ?FEE;
memo = ?Text.encodeUtf8("CREA");
from_subaccount = ?fromSubaccount;
amount;
created_at_time = ?Nat64.fromNat(Int.abs(Time.now()));
});
Also I try directly with js, same error.
How to correctly specify memo for icrc1_* api?
I’m getting an error somewhere here, but I don’t understand how to get around it.