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.